Garry's Mod Logo
Changes Header

Changes

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

add_circle

Features

  • Added "sv_timeout_signon" for servers, affects how much time a player has to connect to the server before getting kicked for timing out
  • Added "Activator only" flag for env_fade in Hammer Editor
  • Added "Max Fog Density" to sky_camera in Hammer Editor
  • resource/localization/ files now load from addons properly
arrow_circle_up

Improvements

  • npc_launcher and its grenades no longer try to play NULL sounds causing performance problems
  • npc_launcher defaults to RPG rocket model and 500 launch speed if those keyvalues are unset
  • env_entity_dissolver will no longer remove players, will apply dissolve effect to players as expected, and will not credit its kills to a random player
  • Reduced spam from mount.cfg in console, moved certain fs_tellmeyoursecrets messages to fs_tellmeyoursecrets 2
  • Blacklisted servers display why they were blacklisted in console
  • Changed RENDERMODE_TRANSALPHA to TRANSCOLOR in Sandbox stuff like it should always have been
  • Missing localization now falls back to English rather than nothing
  • Add more explanations about comments in the mount.cfg itself to maybe hopefully help people figure out why it "doesn't work"
handyman

Fixed

  • Gamemodes with malformed gamemode.txt file no longer produce Lua errors in the main menu (Community Contribution)
  • RichText - Fixed links getting previous link signals in certain cases, fixed multi-line links going beyond panel bounds
  • Main menu no longer errors if we failed to load API manifest or its fields changed
  • Scripted entities clientside (SWEPS) update their Lua data before calling Initialize, not after
  • env_fade no longer crashes the game with its hidden activator only flag set and and the activator is null
add_circle

Features

  • Added IGModAudioChannel.GetPan
  • Added IGModAudioChannel.SetPan
  • Added IMesh.IsValid
  • Added PANEL:TestHover( x, y ) hook
  • Added SentenceDuration( name )
  • Added IGModAudioChannel.GetTagsHTTP()
  • Added IGModAudioChannel.GetTagsVendor()
  • Added IGModAudioChannel.GetTagsOGG()
  • Added IGModAudioChannel.GetTagsMeta()
  • Added IGModAudioChannel.GetTagsID3()
  • Added GM:OnScreenSizeChanged hook
  • Added GetPredictionPlayer()
  • Added effects.BeamRingPoint
  • Added effects.BubbleTrail
  • Added effects.Bubbles
  • Added util.Base64Decode
  • Added input.TranslateAlias( str )
  • "gmod_language" is now passed to loading screens
  • New members for PhysicsCollide hooks - OurSurfaceProps, TheirSurfaceProps, HitSpeed, OurNewVelocity, TheirNewVelocity, OurOldAngularVelocity, TheirOldAngularVelocity
  • Added 5th argument to SWEP:FireAnimationEvent - source entity, which will be the viewmodel entity on client and the weapon itself on server
  • search.GetResults now has a 3rd optional argument - maximum results to return
  • notification.AddProgress now has an optional 3rd argument - fraction - 0 to 1 value overriding the progress bar animation to show a desired value
  • Added Panel:SetTooltipPanelOverride
  • Added Entity.IsSequenceFinished()
  • Added effects.GetList() (Community Contribution)
  • Added BASSCHANNEL:Set3DEnabled()
  • Added BASSCHANNEL:Get3DEnabled()
  • Entity.PlayScene now has a second return value - the scene entity, removing which will stop stopping the scene
arrow_circle_up

Improvements

  • Entity.SetPhysicsAttacker works on more entities now, such as "anim" type SENTs and vehicles
  • ENT:TestCollision now reacts to "true" return value - allows the entity to collide as it normally would
  • Use floats for LuaParticle start/end sizes, fixing extremely small particle sizes not working (<1)
  • Adjusted visuals for notification.AddProgress and made them truly infinite
  • Entity.GetSequenceMovement() cycle arguments are now optional and default to start=0, and end=1
  • game.AddAmmoType() no longer fails silently if given bad ammo type name, and the ammo type name is no longer case sensitive (Community Contribution)
  • steamworks.FileInfo's fileid is 0 instead of internal InvalidID value for SteamUGC items
handyman

Fixed

  • Fixed net.Start's ErrorNoHalt crashing the game
  • Fixed Player.GetEyeTraceNoCursor caching & switched Player.GetEyeTrace(NoCursor) to use FrameNumber() over CurTime() (Community Contribution)
  • Derma Skin PaintShadow & PaintFrame no longer uses global SKIN and uses self instead (Community Contribution)
  • Entity.GetSequenceInfo now try to fill the activity field in case the model it is used on didn't use the ACT_ stuff yet
  • Negative playback rate now properly affects viewmodels
  • util.IsValidModel no longer returns false for precached clientside only dynamic models
  • ents.CreateClientProp's entity properly initializes its world matrix on creation
  • ents.CreateClientProp automatically precaches the model it is given
  • Calling ents.CreateClientProp with a model with no physics or no model and setting it later will no longer bail mid initialization and cause problems such as the prop not receiving projected textures, etc
  • Constraint library minor improvements and fixes
  • Entity.Remove() no longer sets FSOLID_NOT_SOLID while in a Physics callback, potentially causing crashing issues
arrow_circle_up

Improvements

  • Sandbox's prop_effect will now change its color if the player is looking at it, indicating which/if prop_effect will be picked up via Physics Gun/Tool Gun
  • Only allow vehicle boost/"nitro" in forward direction and only if we are not recovering from previous boost
  • Added closecaptions and subtitles for all languages supported by Half-Life 2 games
  • Switch spawnicon editor skins/bodygroups to sliders from dropdowns
  • Updated language files
  • Translated drag'n'drop right click drag dropdown menu
  • You can no longer modify unmodifiable Spawnmenu tabs (NPCs, Weapons, etc), but you can still copy from them to your spawnlists as usual
  • Display a console warning during addon mounting when an addon contains a Lua file already mounted from another addon
  • "Missing map somemap.bsp, disconnecting" error now tells the player if their cl_downloadfilter is set to not download maps and how to fix it
  • Renamed Other tab back to Multiplayer in the Options menu
  • Added "Do not download Workshop addons" option to the download filter in Multiplayer Options menu
  • Spawnmenu resizes save between sessions
  • Added "Revert changes" button when editing spawnlists
  • Sprinting and clicking on spawnicons no longer selects them and allows the player to spawn things
  • Area selection while holding Shift key only adds to current selection, while holding Control will invert current selection (old behavior)
  • Holding control key (CTRL) now also toggles multi-selection in spawnmenu
  • Adjusted minimum sizes for spawnmenu areas to work better on extremely small resolutions
  • Increased brightness on some map icons (Half-Life Source) so you can actually see what's on them and added some missing icons for Left 4 Dead and Counter-Strike: Global Offensive maps
  • Moved certain community made maps from Counter-Strike games into their own category (aim, fy, awp, etc)
  • Renamed certain games in the mountable games list to more closely match their actual names on Steam
  • Do not complain about undefined water overlays in console
  • TTT: Updated Portuguese translation (Community Contribution)
handyman

Fixed

  • Fixed func_breakable being misaligned on Half-Life: Source maps
  • Fixed Half-Life: Source snarks not attacking anything when spawned from spawnmenu on flat surfaces
  • Fixed Faceposer tool forcing hidden "useless" flex controllers to 0 causing problems with other flexcontrollers, such as eyelid control on Team Fortress 2 player models
  • Half-Life: Source turrets start in retracted animation rather than in the firing? animation
  • Restored close caption support
  • Fixed certain build-in chat messages getting cut off if player's name is too long
  • Very tall disconnect messages are no longer being cut off vertically midway and don't go off screen
  • Fixed a progression stopper on d2_coast_11.bsp if "Keep Corpses" option is turned on
  • Fixed a progression stopper on c2a5g.bsp (not being able to use the airstrike controls)
  • Level transitions (as well as loading engine saves) no longer resets Suit Power as well as Crouched and Flashlight states
  • Combine Soldiers, Metrocops, Stalkers, Zombine, Eli and Antlion Guards get their custom footsteps back
  • Death ragdolls copy dead NPC/Player's flex and bone manipulations, as well as RenderFX and targetname (serverside ragdolls)
remove_circle

Removed

  • Disabled overview_mode completely (Counter-Strike like radar), it was used to cheat, and is completely replaceable by Lua
arrow_circle_up

Improvements

  • Minor changes to Workshop subscriptions
  • Workshop server downloads: Also try to mount the old steamworks.Download files if they exist
  • Include Workshop file ID for the "There is no file to mount" console error message
  • Improved Offline Mode for workshop addons - now uses the cached subscribed list from Steam
  • Do not mount already mounted Workshop files when joining servers
handyman

Fixed

  • Do not try to mount Workshop files we failed to rename when joining a server and mount the old file instead
  • Fonts are now properly extracted from Workshop addons when joining severs
  • Resolved some issues with stuck download prevention for server Workshop downloads
  • Subscribing to addons with missing Type tags while in-game no longer fails
add_circle

Features

  • Loading Screens are now passed game volume via GameDetails() (Community Contribution)
  • Added new CLIP tool textures with custom step sounds to mimic Counter-Strike: Global Offensive
  • Allowed usage of multiple unique clip brush textures in vbsp.exe to enable custom footsteps on them
  • Added -nocrc option to gmad.exe which will skip CRC calculations when creating addons to help with very big addons
arrow_circle_up

Improvements

  • Force lowercase map names on changelevel/map
  • Updated "DefaultUnderline" font to match "Default" font's weight so that RichText URLs and text look consistent
  • Made Menu Lua errors appear mostly like Client/Server errors appear (formatting)
  • Made ErrorNoHalt w/ trace and menu errors trigger the "Something is creating script errors" message
  • Minor changes to config_default.cfg - mp_decals & r_decals set to 2048 (from 5000), sensitivity set to 6 (from 8) and removed spawnmenu_icon_precache since it doesnt exist (Community Contribution)
  • WaterLevel() for non player entities will report WL_Eyes(3) if touching water, rather than WL_Feet(1) when fully submerged
  • Do not add models/*.sw.vtx files to the server download list automatically
  • Fixed Dedicated servers not being able to read unlisted collections
  • "Connection to Steam servers lost" message now also displays user friendly error messages
  • Fixed Lua autorefresh on Linux causing Lua errors with big files and SFTP
  • Added position printout to vrad.exe's "Zero area child patch" message
  • Added Toggle input for func_brush in base.fgd
  • gmad.exe will complain and bail if it fails to get file's size instead of writing 0 causing malformed addon files being created
  • Reduced amount of "Failed to grow buffer" errors with gmad.exe
  • Skip newline as first character when copying text from RichText
handyman

Fixed

  • Do not reset angles/position/speed when unparenting entities since it causes unexpected results
  • $decalfadeduration now works on world brushes & displacements (Jeep gauss gun hit marks now fade away like intended)
  • Changing RT no longer sometimes clamps viewport bounds to backbuffer bounds
  • Fixed a crash issue with prop_combine_ball when it's missing its physics object
  • Clientside crazy physics: Delete the entity AFTER simulating all of its physics objects to avoid crashing
  • Fixed an infinite loop with decal cleanup
  • Striders no longer leave entities they created behind slowly filling up server entity limit
  • buildcubemaps no longer crashes the game in main menu
  • Fixed RichText selection being offset from cursor with clickable text using a different font to the rest of the text
  • Fixed RichText clickable text becoming unclickable if the currently rendering text ranges start with a clickable text
  • RichText now uses clickable text font height for clickable text overlay panels
  • RichText's default color is now black, not fully transparent
  • Fixed RichText clickable panels never being clickable if the first character is a new line
  • Fixed RichText crashing when containing a lot of text without a newline and with the same color