Garry's Mod Logo
Changes Header

Changes

What’s changed in Garry's Mod in each patch.

handyman

Fixed

  • Fixed a crash related to rendering static props
  • Case insensitive search for singleplayer files
  • Fixed addons breaking properties system clientside
  • Fixed a server crash when maxplayers is set in server.cfg and the command line
  • Made Combine Gunship aim at player's center so it can actually hit players
  • Fixed Combine APC bullet tracer coming from the wrong attachment
  • Fixed combine APC rockets going over player's head with certain hold types
  • Fixed a crash with DMX unserializer when external references are used
add_circle

Features

  • Added ability to invert colors in Colour Modify in spawnmenu
arrow_circle_up

Improvements

  • Experimental: Completely removed Lua file limit for singleplayer
  • Game binaries are now code signed on windows
  • Better names for Texturize shader options in spawnmenu (Community Contribution)
  • Delete materials/temp/ and sounds/temp/ folders on game launch and shutdown
  • Added gmod_delete_temp_files, defaults to 1, which controls the behavior above
  • Refresh main menu subscription lists (addons, dupes, etc) if they are open when subscriptions change
handyman

Fixed

  • Create a world entity for naughty maps that are engineered to crash on load by not spawning the worldspawn entity
  • Fixed a crash when deleting npc_manhack too early
  • Batch server Workshop download queries to 50 addons at a time, which should fix addons past 100 not loading when joining servers
  • Fixed "Join Game" feature not working due to recent Steam update
add_circle

Features

  • Added Half-Life: Source difficulty configuration files
  • Added filter_activator_context and filter_activator_model entities
  • Changing skill level with Lua or the convar also runs/loads the appropriate skill config files
  • Added full support for Static Prop Lightmaps
  • Added $phong, $envmapLightScale and $envmapLightScaleMinMax parameter support for LightmappedGeneric shader
  • Added $phongAlbedoBoost parameter to VertexLitGeneric shader
  • Added $phongDisableHalfLambert parameter to VertexLitGeneric shader
  • Added $pp_colour_inv to g_colourmodify shader
  • Added $envmapsphere parameter to VertexLitGeneric, which restores how Half-Life: Source chrome materials render
  • Added input/output descriptions to "Entity Properties" window in Hammer
  • Added prop_sphere to Hammer and added radius keyvalue to it
  • Added func_friction to Hammer
  • Added 6 new inputs to all entities - SetLocalOrigin, SetLocalAngles, DisableDraw, EnableDraw, DisableReceivingFlashlight, EnableReceivingFlashlight
  • Added "Disable flashlight" keyvalue to all entities in Hammer
  • Added new inputs to func_tracktrain - SetMaxSpeed, MoveToPathNode, TeleportToPathNode, LockOrientation, UnlockOrientation
  • Added new output to func_tracktrain - OnArrivedAtDestinationNode
  • Added the following particle initializers - Position Along Ring, Position Along Epitrochoid, Position Modify Place On Ground, Position From Chaotic Attractor, Scalar Random, Vector Random, Vector Component Random, Set Hitbox to Closest Hitbox, Set Hitbox Position on Model, Velocity Set from Control Point, Remap Particle Count to Scalar
  • Added the following particle operators - Remap Direction to CP to Vector
  • Added the following global particle attributes - screen space effect, normal, Visibility input dot min/max, Visibility input distance min/max
  • Added "render models" particle renderer
  • Added "hitbox" and "hitbox set" parameters to - Movement Lock to Bone (operator), Cull relative to model (operator), as well as Position on Model Random (initializer) whose "hitbox scale" is now "model hitbox scale"
arrow_circle_up

Improvements

  • Do not set PANEL.ClassName in vgui.CreateFromTable to a missing variable (Community Contribution)
  • Minor tweaks to cvars library internals (Community Contribution)
  • Increased view model networking limitations, notably bodygroup combinations
  • Editable Entities editing now uses net.WriteEntity, not a 32bit net.WriteUInt (Community Contribution)
  • Doubled particle precache limit
handyman

Fixed

  • Fixed "last known CNavArea" not updating for players, which is used by some internal nextbot functionality, and some navmesh editing functionality
  • Potential fix for sv_parallel_sendsnapshot and sv_parallel_packentities crashing the server randomly
  • Spawnmenu search properly invalid input from addons, instead of erroring
  • Workaround fix for "../data/whatever" Material paths not working on Linux when garrysmod/materials/ folder is missing
  • Fixed gmpublish on Linux not working out of the box
  • Fixed Particle Editor Model Picker not applying picked model
  • Fixed certain NPCs that create entities crashing when the server is at the entity limit
  • Prevent Lua errors in Sandbox tools & constraint library when the server is at the entity limit
  • removeid concommand now works as expected with RunConsoleCommand
  • Fixed toggle_duck console command in multiplayer
add_circle

Features

  • Added ProjectedTexture:SetLightWorld and ProjectedTexture:GetLightWorld
  • Added CreateParticleSystemNoEntity
  • Added CNavArea:GetSpotEncounters
  • Added CNavArea:GetVisibleAreas
  • Added surface.GetTextPos
  • Added engine.AbsoluteFrameTime
  • Added render.RenderFlashlights
  • Added flags of the world to DIconBrowser (Community Contribution)
  • Added EF_NOFLASHLIGHT
  • Added Weapon:GetDeploySpeed to all weapons
  • Added Weapon:SetDeploySpeed to all weapons
arrow_circle_up

Improvements

  • Made util.IsOBBIntersectingOBB shared
  • game.CleanUpMap now respects the EFL_KEEP_ON_RECREATE_ENTITIES flag
  • Made Entity:SetHealth have an effect clientside for prediction purposes
  • Entity:FireBullets calls WEAPON:DoImpactEffect on active weapon serverside to mimic clientside behavior
  • Added safeguards against not popping render.PushCustomClipPlanes
  • util.GetModelMeshes now accepts "00000000" format bodygroups
  • CNewParticleEffect:SetControlPointOrientation can now accept an Angle instead of 3 directional Vectors
  • Made FrameNumber shared
  • DGrid now works correctly with Panel:Clear, and ignores invisible items (Community Contribution)
  • DListView_Column:SetFixedWidth sets the column width immediately (Community Contribution)
  • Player:IsWorldClickingDisabled is now properly networked to client
  • Removed networking limits for Player:SetFrags and Player:SetDeaths
  • Reduced net.WriteEntity/net.ReadEntity from 16 bits to 13 bits (Community Contribution)
  • Made Entity:CreatedByMap, Entity:MapCreationID and Entity:GetCreationID networked and shared
  • Entity:SetFriction now affects players
  • Reverted "Allowed weapons and entities to set their own classname" as it was causing issues
  • Following functions will no longer return nil when used on invalid entities, and will return 0 instead - Entity:GetNumPoseParameters , Entity:GetHitBoxGroupCount, Entity:GetHitBoxCount, Entity:GetBodygroupCount, Entity:GetSkin, Entity:GetSequence, Entity:GetNumBodyGroups, Entity:GetSequenceGroundSpeed, Entity:GetSequenceMoveDist, Entity:GetModelContents, Entity:GetLayerDuration, Entity:GetLayerWeight
  • Following functions will no longer return nil when used on invalid entities, and will return an empty string instead - Entity:GetPoseParameterName, Entity:GetSequenceName, Entity:GetSequenceActivityName
  • Entity:GetBoneCount - used to return -1 on failure, now returns 0
  • Entity:GetPlaybackRate - returns 1 on failure
  • Entity:GetBoneName - returns __INVALIDBONE__ on failure
  • Entity:GetSequenceActivity - returns -1 on failure
  • Entity:GetSequenceVelocity - returns vector_origin on failure
  • Entity:GetLayerPlaybackRate - returns 1 on failure
handyman

Fixed

  • Fixed file.Find ignoring "Copy (" files
  • Fixed game.SetSkillLevel always being forced to the value of 'skill' convar
  • Apply cyclic parent hierarchy stack overflow fix to clientside Entity:SetParent
  • Reset value of render.SetLightingMode on map shutdown
  • Reset render.EnableClipping to false on map shutdown
  • Make file.Exists return correct values for folders in Lua paths
  • util.DecalEx now also affects static props
  • Increased networked bits for player flags so Player:HasGodMode is now networked to clients properly
arrow_circle_up

Improvements

  • Update Steamworks API to v1.57
  • Added sv_cheats requirement to some console commands and variables that are either unuseful, or should only be used for development
handyman

Fixed

  • Fixed a Lua error about "derma_icon_browser.lua"
  • Fixed a regression with language getting reset to Steam's language if your chosen in-game language is English
  • Fixed an issue with handling of asset:// URLs
  • Fixed various crashes