Garry's Mod Logo
Changes Header

Changes

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

add_circle

Features

  • Added current material count to mat_texture_list when expanded
  • point_teleport - Added the episodic "Teleport into crouch" spawnflag, Added TeleportEntity & TeleportToCurrentPos inputs (Hammer Editor included)
  • Added mat_dumptextures console command - dumps all used textures by the engine, for debugging
arrow_circle_up

Improvements

  • Sandbox persistence now trims whitespace on input so you don't end up with files that the game refuses to write to/read from
  • Minor improvement for addonsystem from x64
  • Delete physics object of Toolgun ghost as it doesn't need physics at all
  • Added filename to "steamworks.DownloadUGC: Failed to read addon file" console message
  • Increased MAXSTUDIOFLEXVERTS to 65536
  • Switched GM:GetFallDamage to use GetConVar() over GetConVarNumber() in base gamemode (Community Contribution)
  • Broken Patch materials fallback to LightmappedGeneric, instead of Wireframe, reducing invisible walls, floors, etc
  • Increased MAX_MAP_MODELS to 4096
  • Quadrupled console history log if game is started with "developer 1" or higher
  • "Something is creating script errors" message now also shows the folder addon names, instead of falling back to the default "Something is creating script errors"
handyman

Fixed

  • Fixed a rare Javascript error with the server browser
  • Fixed materials without a valid shader becoming completely inivisible, now appear as wireframe
  • Fixed a typo in a certain gm_save console message (Community Contribution)
  • Fixed prop_physics_respawnable not respawning as expected
  • Fixed loading of .png textures after a map change trying to load non existent .vtf versions of the textures
  • Fixed mounting Portal 2 making models/player.mdl spawn as an unmovable, uninteractable object
  • Fixed servers trying to send a random Lua file to clients if there is no files needed to be sent
  • Fixed some procedural textures allocating a material slot every time they are reloaded, for example spawnmenu icons on spawnmenu_reload/map reload and Material() calls with backslashes
  • npc_barnacle clears the entities it spawns when removed
  • trigger_weapon_dissolve no longer crashes the game if one of the weapons it is meant to delete got removed prematurely by something else
  • npc_barnacle no longer crashes the game if it is missing its "tongue" entities
  • Shadow rendering doesn't crash when it encounters a null renderable
  • Potential fix for crashing with Inverse Kinematics on certain models
  • Fixed decal related crashes on world geometry (brushes/displacements) when the material they are applied to/rendering with is unmounted
  • More crash safeguards when loading localization files
  • Fixed gamemode ConVars being recreated multiple times during map loading, possibly leaking memory
remove_circle

Removed

  • Hide mat_texture_limit console variable
add_circle

Features

  • Added GM:PlayerAmmoChanged
  • Added GM:PreDrawViewModels
  • Added SANDBOX:CanArmDupe
  • Added Player.GetUseEntity
  • Added Player.PickupWeapon
  • Added NPC.PickupWeapon
  • Added NPC.GetWeapons
  • Added NPC.GetWeapon
  • Added NPC.SelectWeapon
  • Added NPC.RememberUnreachable, to give NPC.IsUnreachable a reason to exist
  • Added NPC.HasEnemyEluded
  • Added NPC.HasEnemyMemory
  • Added NPC.GetEnemyLastKnownPos
  • Added NPC.GetEnemyLastSeenPos
  • Added NPC.GetEnemyLastTimeSeen
  • Added NPC.GetEnemyFirstTimeSeen
  • Added NPC.SetIdealYawAndUpdate
  • Added ENT:OnChangeActivity for base_ai entities
  • Added Entity.SetLayerSequence
  • Added Entity.GetLayerSequence
  • Added utf8.sub and utf8.GetChar (Community Contribution)
  • Added GM:PlayerCheckLimit (Community Contribution)
  • Added GM:CanUndo (Community Contribution)
  • Added PLAYER:Death (Community Contribution)
  • Added optional argument to render.DrawScreenQuad() - Apply poster corrections
  • Added optional argument to NPC.MarkEnemyAsEluded and NPC.ClearEnemyMemory - Enemy entity override
  • Added .vmt to file.Write whitelist
  • Current value is passed to DTextEntry's OnEnter callback (Community Contribution)
arrow_circle_up

Improvements

  • controlpanel.Get will no longer return panels that are about to be deleted (in the next frame)
  • Vector.__div now type checks its second argument
  • Angle/Vector.__newindex now type checks its 3rd argument
  • Added a non-halting error message when mods are trying to send an overflowed net message
  • Entity.Set/GetLayerDuration, Entity.Set/GetLayerCycle, Entity.SetLayerBlendIn, Entity.SetLayerBlendOut, Entity.IsValidLayer are now shared
  • render.Capture now accepts "jpg" as an alias of "jpeg" format
handyman

Fixed

  • ENT:StoreOutput() works for newer Source Engine map IO format
  • Fixed OBS_MODE_FIXED/CHASE/IN_EYE having bad spectator behavior due to the player's movetype being set to NONE
  • Fixed SWEP:OwnerChanged being very unreliable and inconsistent
  • Fixed ents.CreateClientside entities not receiving projected textures
  • Fixed returning true in GM:EntityEmitSound hook when the Entity is a clientside only entity causing the ent index to be read incorrectly, which in turn caused infinite scrape sounds for gibs
  • Fixed effects.BeamRingPoint having its blue and green color channels swapped
  • Fixed NPC.Give() being able to give an NPC multiple copies of the same weapon, now returns the existing copy
  • Fixed double "expected" in VMatrix.__mul type error message
  • Fixed PANEL:OnMouse* and PANEL:OnCursor* hooks not working on panels derived from RichText
  • Fixed cvars.AddChangeCallback's identifier not working as intended (Community Contribution)
  • base_gmodentity.GetPlayer() now properly returns the player object after player reconnected to the server for base_gmodentity derived entities (Community Contribution)
  • Fixed loading of .png materials with different material parameters not working properly
  • Fixed Entity.AdvanceFrame crashing the game with invalid sequences
  • Fixed Lua errors from PositionSpawnIcon() with bad entities
  • Fixed Entity.NetworkVarElement not saving/restoring properly
  • Fixed NWVars not updating properly on clients when joining a server/reconnecting
  • Fixed an exploit with presets.Add (Thanks to Deyvan)
add_circle

Features

  • Added Fistful of Frags mounting support
  • Added The Stanley Parable mounting support
  • Added "Steam Voice Options" to Voice tab in Options
  • Added "sbox_search_maxresults" console variable, affects Sandbox search result limit
arrow_circle_up

Improvements

  • "Players have godmode" setting (sbox_godmode) works in singleplayer
  • You can now use tools like Balloons on brush entities such as gm_construct's colorable room and the mirror
  • Throwing props at NPCs/Players using the Physics Gun now correctly gives kill credit to the player who threw the prop, not the prop itself
  • "fps_max" console command can now be changed while in a server
  • Some sounds are now properly muted if game loses focus and snd_mute_losefocus is set to 1
  • Increased voice chat sample rate to 44100Hz to improve voice chat quality
  • Added expected download size for Workshop files when connecting to servers. This is a rough estimate of how much disk space will be used, not bandwidth which will always be lower
  • Added icons for the 2 new CS:GO maps and for maps from new mountable games
  • Updated Facepunch logo on the intro screen
  • Sandbox Balloons, Buttons and Emitters can now be made transparent via the Color tool
  • Translated right click menu for spawnlist headers and added icon to match existing right click menus
  • Translated right click menus for Tools in spawnlists & multi selection right click menu (Community Contribution)
  • Post Processing icons can now be deleted from spawnlists
  • Tool search in spawnlists now works with localization
  • Added a warning about certain options doing nothing in singleplayer to the Utilities > Sandbox Settings menu
  • Spawnicons and spawnlist tools now obey read only parents (such as spawnlist Search)
  • Right-clicking non selected spawnmenu icons while having some selected will not override right click menus of non selected spawnmenu icons
  • ".mdl" part of models paths is no longer being searched in Spawnmenu search
  • Tool menu quick filter now expands the categories if they were collapsed by the player
  • DCollapsibleCategory (Tool categories) now show a tiny icon when it is collapsed, telling the player it is collapsed and not just empty
  • Spawnmenu Header panels obey parents read only state by not allowing its text to be edited
  • Spawnmenu search prop indexer now uses a notification with a progress bar over the blue progress bar
  • Having your spawnmenu closed during search will automatically update search results next time you open it if necessary
  • Custom addon spawnlists, Game props and Addon props lists are now read only (i.e. you can't delete icons from them)
  • Reduced default voice chat gain/multiplication (voice_maxgain) from 10x to 2x to improve voice chat quality
handyman

Fixed

  • "Enable PvP" option being disabled (sbox_playershurtplayers) no longer unexpectedly disables self damage
  • "Make Persistent" property is now properly hidden if persistence is disabled
  • weapon_base no longer creates Lua error when given to NPCs
  • Fixed suit death voice lines playing on respawn with gmod_suit 1
  • Models that exceed MAXSTUDIOFLEXVERTS no longer crash the game, such as SFM models
  • Weapons dropped by players no longer give extra reserve ammo when picked back up
  • Undoing in TextEntry (CTRL+Z) also restores the scroll amount, fixing weird behavior in certain cases (issues/1588)
  • Fixed view model hands sometimes floating in the direction of map origin, notably when exiting vehicles
arrow_circle_up

Improvements

  • TTT: Fixed GetEyeTrace override, potentially improving performance (Community Contribution)
  • TTT: Removed unnecessary GetWeapons and HasWeapon overrides (Community Contribution)
  • TTT: Updated language files (Community Contribution)
  • TTT: Added Italian translation (Community Contribution)
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