Garry's Mod Logo
Changes Header

Changes

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

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
add_circle

Features

  • Added Panel:Set/GetTooltipDelay (Community Contribution)
  • Added vgui.Exists (Community Contribution)
  • Added the Derma Icon Browser (derma_icon_browser console command) (Community Contribution)
arrow_circle_up

Improvements

  • Refresh language files on gamemode change
  • Reworked how workshop item info timeout works for server downloads to hopefully make it work more reliably
  • Throttled CreateFragmentsFromFile messages to 1 a second to avoid lag
  • Expanded the 'Your map differs from the servers' kick reason with more info
  • IncludeCS now returns result of include() (Community Contribution)
  • Use snd_musicvolume instead of volume for loading screens (Community Contribution)
  • Contain DButton's image size if it's too big (Community Contribution)
  • Refactored weapon_medkit so it is easier to change/extend (Community Contribution)
  • Security fixes
handyman

Fixed

  • Fixed ToolGun:GetToolObject returning local players values for other players clientside
  • Fixed potential Lua errors with PropSpawn effect
  • Fixed an infinite loop with util.TableToJSON when a table has __index that always gives non-nil output
  • Fixed crashes when barnacle m_hTongueTip's m_pSpring is null
  • Fixed a server crash to do with invalid vehicle scripts for airboats
  • Fixed a crash when accessing self.loco of a deleted nextbot
  • Try to prevent crashing when (re)loading textures from .png
  • Menu support for util.IsBinaryModuleInstalled (Community Contribution)
  • TTT: Fixed ironsight position when in singleplayer (Community Contribution)
handyman

Fixed

  • Fixed procedural textures of size 32768 trying to allocate way too much memory
  • Disallow loading of procedural textures above 64k on any side (with a warning)
  • Added more info to "CFontTextureRegen: Failed to allocate X bytes" warning (and should also be less crash prone when it happens)
  • Simplified gmod_tool concommand code
  • Call TOOL:ReleaseGhostEntity on holster even when TOOL:Holster doesn't
  • TGA loading: do not try to read data if overflowed - Simply displays better warning, it wasn't actually reading any data
  • Made string.ToTable work with numbers again
  • Fixed timer spam from medkit weapon (Community Contribution)
  • Unspecified security patch
add_circle

Features

  • Added "Select Page" option in Addons menu
  • Added Half-Life 1 .357 Handgun & Shotgun to NPC usable weapon list (Community Contribution)
  • Added links to Server and Modding guidelines to Legal tab in Options (Community Contribution)
  • Improved Eye Poser (Community Contribution)
arrow_circle_up

Improvements

  • Group NPC weapon overrides by category
  • Improved ladder prediction
  • Made NPC vs NPC killicon behavior consistent with NPC vs Player deaths
  • Switched Outdated tags in server browser to use the network version, not the build version, better representing if a server can be joined or not due to an update
  • Updated the server browser to no longer be limited to 256 servers per gamemode
  • Display disconnect reason in a pop up when encountering a host error in singleplayer
  • Reload spawnmenu on language change (Community Contribution)
  • Made givecurrentammo always give secondary ammo
  • If HUD is disabled, don't display "Something is creating script errors" overlay (Community Contribution)
  • Improve word break for addon descriptions in the Addons menu (Community Contribution)
  • Updated language files
  • Removed the "Sorry! You can't spawn that NPC!" message when the server did not have requested NPC, to match behavior of other spawn functions
  • Implemented automatic cleanup & limit translations, when they are missing (Community Contribution)
handyman

Fixed

  • Fixed a visual bug in Lua Errors section of Problems menu
  • Fixed Gravity Gun ignoring spin_none interaction for props
  • Fixed Gravity Gun preferred carry angles ignoring player's pitch angles
  • Fixed vehicle collision group not being saved by duplicator
  • Fixed addon size display when its over 2.1GB
  • Fixed tooltip position with tall text (Community Contribution)