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