Garry's Mod Logo
add_circle

Features

  • Added DSlider.Set/GetNotchColor
  • Added SKIN.colNumSliderNotch
  • Added 2 new arguments to CanTool hooks - the toolobject and the button used (left/right/reload = 1/2/3)
  • Added missing ACT_ enums used by the default player model animations
  • Added NPC:GetBestSoundHint( types = all of them ) = table or nil
  • Added sound.GetLoudestSoundHint( type, pos ) = table or nil
  • Added ENT:GetSoundInterests for "ai" type SENTs
  • Added PhysObj.SetAngleVelocityInstantaneous
  • Added PhysObj.SetAngleVelocity
  • Implemented ENT:OnTakeDamage for nextbots
  • Added Player.Get/SetVoiceVolumeScale(0 .. 1) - Clientside only, sets the desired voice volume multiplier per player
  • Added Player.LocalEyeAngles(), which returns eye angles unmodified by being parented to a different entity (such as while being in a vehicle)
  • Added a 3rd argument to Pre/PostDrawTranslucent/OpaqueRenderables - isRendering3DSky
  • Added CMoveData.Set/Get for: ConstraintWidth, ConstraintSpeedScale, ConstraintCenter, FinalIdealVelocity, FinalJumpVelocity, FinalStepHeight
  • Added permissions library
arrow_circle_up

Improvements

  • Use ErrorNoHaltWithStack for numpad.OnDown/OnUp errors when given an invalid key
  • Added con_filter*, gm_video, mat_dxlevel and the new voice cvars to blocked cvar list
  • Switched Think, OnRemove and RunAI entity hooks to use the Lua string pool for "anim" and "ai" SENTs
  • Made Player.IsSpeaking shared (on server, it will return true within 0.1s of the last voice packet from a player, no packets are sent when the voice chat button is held but the player is not talking)
  • Reduced update rate of PlayerCanHearPlayersVoice when nobody is talking to 5 seconds
  • PathFollower functions can now accept player.CreateNextbot() entities instead of the NextBot SENTs. They will also throw proper errors when given invalid entities
  • Made DrawBokehDOF function available to addons, i.e. it is no longer a local function (Community Contribution)
  • Apply PhysObj.EnableMotion to all PhysObjects of a Jeep (it also works on Jeeps now)
  • Entity.GetModelMaterials will now return a complete list of materials if used on a brush model, including the map. Maximum for models is reduced to 128 (from 256) which matches other places in the engine when it comes to models
  • Micro optimization to player:__index (Community Contribution)
  • Forcibly disallow the resource library from adding .xbox.vtx and .sw.vtx files to the server's downloadables list
  • Make sound.Add soundscripts treated as overrides so they are cleaned up/restored on disconnect
  • gma.MountGMA now also clears list of missing materials
handyman

Fixed

  • sound.Generate now flushes its cache on level shutdown (And also with snd_restart)
  • Fixed dedicated server crashing when trying to reference invalid SteamAPI pointers after using the map console command, such as the HTTP functions
  • Fixed sounds not working correctly (playing everywhere) with clientside only entities: Footstep sounds, _G.CreateSound, Entity.EmitSound, Entity.StopSound, Entity.StartLoopingSound
  • Fixed ClientsideRagdoll crashing if called too early
  • CSpawnIcon::RebuildIcon(Ex) now clears the cached spawnicon material like it did before (so the spawnicon appears in its “loading” state again)
  • Fixed Entity.FollowBone glitching around clientside in certain cases
  • Fixed srcds workshop addons missing some fields in engine.GetAddons()
  • SteamID functions return the correct(-ish, the steam universe is hardcoded to "Public" one) value in singleplayer for the player serverside (It was already correct on client)
  • Fixed GetTouchTrace() crashing the game when the entity in the cached trace result no longer exists
  • render.RenderView now resets the "ShouldDrawLocalPlayer" cache, allowing the hook to be called again for those renders, fixing ShouldDrawLocalPlayer not working properly with multiple renders within a frame.
  • Prevent weld constraint assigning a global variable with the last created weld (Community Contribution)
  • Fixed performance discrepancy of Entity:GetMaterials() between different models
  • Fixed GM:PlayerLeaveVehicle not being called when the player is forced into a vehicle while being in a different vehicle
  • Entity.SetAngles properly sets angles on jeeps, they no longer snap back to old angles
  • Fixed some entities (such as props) reporting "took damage" as false in PostEntityTakeDamage when they are killed
  • Fixed some constraint library functions (such as HasConstraints, GetAllConstrainedEntities, etc) not functioning with the world entity
  • Fixed gmsave library (Spawnmenu save system) not saving constraints that are attached to the world entity on both ends (such as ropes)
  • Fixed duplicator library's Min/Max calculations for dupes