Garry's Mod Logo
Changes Header

Changes

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

add_circle

Features

  • Added CNewParticleEffect:SetShouldSimulate/CNewParticleEffect:GetShouldSimulate
  • Added game.GetMapChangeCount
  • Added render.IsTakingScreenshot
  • Added new STUDIO_ flags argument to WEAPON:ViewModelDrawn, GM:PreDrawViewModel, GM:PostDrawViewModel, GM:PreDrawPlayerHands and GM:PostDrawPlayerHands
  • Added Entity:CopyBoneMatrix
  • Added COLLISION_GROUP_HL2_SPIT enum.
  • Added more data to util.GetSunInfo, such as size, material and color
  • Added game.GetWindSpeed
  • Added game.Get3DSkyboxInfo
  • Added ActivityWeight/ActivityID fields to util.GetModelInfo sequences
  • Added surface.GetScissorRect (Faster than surface.GetPanelPaintState)
  • Added mesh.BoneData
  • Added second argument to Mesh - boneWeights
  • Added IMesh:DrawSkinned (Lua mesh hardware skinning support)
  • Implemented Panel:Clear for DPropertySheet and DCollapsibleCategory
  • Added ENTITY:ResolveCustomFlyCollision( trace, vecVel )
  • Added ProjectedTexture:SetSkipShadowUpdates/ProjectedTexture:GetSkipShadowUpdates
  • Added ability for vehicles in spawnmenu to set health on spawn
  • Added ability for Spawnmenu NPCs (Sandbox) to randomize their model on spawn (Community Contribution)
  • Added PhysObj:GetBuoyancyRatio
arrow_circle_up

Improvements

  • Reset effects of render.WorldMaterialOverride, render.ModelMaterialOverride and render.BrushMaterialOverride on disconnect
  • Prevent entity precaches on map start from calling GM:OnEntityCreated/Removed hooks
  • Add more entities to protected list (cannot be parented, overwritten or removed) - gmod_gamerules, ai_network, soundent, instanced_scripted_scene, ai_ally_speech_manager, scene_manager, npc_barnacle_tongue_tip
  • Entity:GetModel force lowercases weapon world models too (It was already forcing lowercase on all other entities)
  • Reenabled net message buffer limiters so net.BytesLeft should now work as expected
  • Apply some random-ish patches from LuaJIT repo, including a memory allocator fix
  • Made Entity:SetLightingOriginEntity use model illumination position when given an entity with a model
  • RichText:SetText now discards \r and \0 characters - this is consistent behavior with RichText:AppendText and fixes Panel:GetText not working correctly after SetText and AppendText calls in that order
  • Player:Spawn will now force exit the player from their vehicle
  • Allow GM:PrePlayerDraw/GM:PostPlayerDraw recursion up to 10 deep
  • Micro optimizations for Matrix & Entity:GetBoneMatrix
  • Micro optimizations for Vector, and __div, __mul, Mul Vector methods
  • Entity:SetCollisionGroup once again allows HL2 specific collision groups
  • Queue simple timers to next frame if called from a simple timer callback (if using the same callback function we are currently executing)
  • Micro optimization for sql.QueryValue (Community Contribution)
  • GM:HUDShouldDraw now gets called for cl_showfps panel (when active)
  • Applied correct rendering matrices for GM:PreDrawHUD and GM:PostDrawHUD, so calling cam.Start2D is no longer necessary
  • Moved calling of GM:PreDrawHUD slightly later, so it renders in the 2D view, just like GM:PostDrawHUD does
  • Moved GM:PostDrawEffects to be called slightly sooner than before, so it is called in the 3D view, not after it, and also is consistently called only when GM:PreDrawEffects is, not at all times.
  • Make game.GetMapVersion also return the BSP version
  • Allowed render.Capture to run with console open when a custom render target is set
  • chat.AddText now handles numbers like expected
  • Player:PlayStepSound volume argument now defaults to 1
  • Minor optimizations for Matrix() and Angle() global functions
  • Clamped animation playback rate to networking limits when set by Nextbot:BodyMoveXY internally
  • More strict type checking for table members, for tables passed to engine functions (Will throw non halting Lua errors)
  • Potential micro optimization for trace filter tables
  • mesh.Begin now throws errors with invalid primitive counts
  • Apply name restrictions to concommand.Add for certain invalid characters
  • Make joystick input add to mouse delta, not replace it - since the player can still use both at the same time (CUserCmd:GetMouseX)
  • Pass GM:AdjustMouseSensitivity's arguments to WEAPON:AdjustMouseSensitivity (Community Contribution)
  • IMesh:BuildFromTriangles will now read weights from util.GetModelMeshes - It will only read 2 weights max (as per hardware skinning limtiation), while util.GetModelMeshes can return up to 3!
  • concommand.Add now errors when given invalid parameter types
  • Added type checking to Entity:PhysicsInitConvex's second argument
  • render.ModelMaterialOverride will no longer override current override type
handyman

Fixed

  • Fixed Player:DropObject not working for Physics Gun without its first argument
  • Rework how trace whitelist works - it now better respects the collision group/mask, using it when testing for whitelist, instead of inverting it after the entity failed to pass the whitelist
  • Fixed a material refcount issue with render.MaterialOverride - occurred with dupe icon generator where the outline became missing texture with bigger dupes
  • Fixed potential refcount issues with render.MaterialOverrideByIndex, render.WorldMaterialOverride, render.ModelMaterialOverride, render.BrushMaterialOverride
  • Fixed IMaterial:GetShader on Linux SRCDS always returning "shader_error"
  • Fixed "Error" and "ErrorNoHalt" not firing GM:OnLuaError on dedicated servers
  • Fixed EmitSound not firing GM:EntityEmitSound
  • Prevent infinite loops with GM:EntityEmitSound hook
  • Fixed Player:PlayStepSound not really doing anything in multiplayer
  • Make effects.BubbleTrail not turn start/end pos into mins/maxs, unexpectedly affecting the effect
  • Fixed vertex limit checking for mesh.Begin when using an IMesh object (65535 now, instead of 32768)
  • Fixed crashes with improper usage of SavePresets
  • Fixed potential crashing issues with util.GetModelMeshes
  • Fixed util.SpriteTrail leaking entities when given invalid arguments and throwing Lua errors
  • Fixed GM:AdjustMouseSensitivity returning nothing still affecting sensitivity
  • Fixed navmesh.GetNavAreaCount not matching navmesh.GetAllNavAreas return count
  • Fixed drive system not fully working in TTT
remove_circle

Removed

  • Blocked write access to fs_ convars from Lua
  • Blocked write access to mat_texture_list_txlod_sync and building_cubemaps convars
  • Blocked setinfo concommand
  • Disallowed Entity:PhysicsInit* functions on players
add_circle

Features

  • Added weapon group spawnflags to ttt_random_weapon (Community Contribution)
  • Added TTTRadarScan hook (Community Contribution)
  • Added equipment menu sorting options (Community Contribution)
arrow_circle_up

Improvements

  • Made "Confirm Death" button get disabled if pressed, like "Call Detective" button already does
  • Improvements to translate-ability of TTT gamemode (Community Contribution)
  • Use Garry's Mod language setting by default (Community Contribution)
handyman

Fixed

  • Fixed auto weapon spawning on non-TTT maps (Community Contribution)
  • Visual fixes for TTT weapons in singleplayer (Community Contribution)
  • Fixed hover visuals for credits store icons getting stuck
arrow_circle_up

Improvements

  • Re-add model scale to prop_dynamic in Hammer
  • Limit physics rescaling to prop_physics and sent_anim
  • Combine Mine now respects Ignore Player and Disable AI settings
  • Combine Mine no longer attacks Combine Gunship, Manhacks and Stalkers
  • Combine Mine now always always attacks Barnacles and Xen Aliens from Half-Life 1
  • Reworked internals of Player:Kick and game.KickID to be consistent with each other
  • Reimplemented kickid console command from scratch to hopefully resolve corrupted kick reasons issue
  • Don't try to load save files from mountable games
handyman

Fixed

  • Fixed decals not rendering in Hammer
  • Fixed server Lua error when using "" for rope material
  • Fixed Resistance Mine name in killfeed
  • Added Cable_DX8 to rope shader whitelist which is used by some default materials
  • Fixed client D.O.G. ragdolls leaving behind ropes on removal
  • Set default m_flUseLookAtAngle for func_button to 0.8 (was 0) in engine
  • Set min_use_angle to 0.8 (was 0) for func_button in Hammer
  • Fixed certain NPCs (such as Alyx and Citizens) firing 2 bullets per pistol shot
  • Fixed Alyx firing the .357 Magnum also spawning reload shells
  • Fixed crashing on loading Source Engine saves when Nextbots are present in the save file
  • Fixed map load crashes to do with corrupted maps (corrupted overlays)
  • Fixed prop gibs stopping spawning after the 300th in multiplayer
  • Fixed func_proprrespawnzone not being tracked properly clientside
  • Prevent recreating tool GhostEntity every tick with some tools (Community Contribution)
  • Fixed Motor tool torque axis being wrong if the motor was rotated after creation and before first activation (Community Contribution)
  • Fixed Lua errors when trying to open spawnmenu in Sandbox derived gamemodes with Spawnmenu disabled
  • Fixed main menu Lua errors when starting certain maps
  • Fixed a regression with CBasePlayer::Kick that resulted in weird kick reasons
  • Fixed floating addons failing to mount on Linux systems
  • Fixed a regression with Entity:CreateParticleEffect when using tables
  • Fixed models/cs_fix.mdl not loading due to it being corrupted
  • Updated Zombine and Combine Soldier without armor player models to fix their animations
add_circle

Features

  • Added NPC support for MP5 from Half-Life: Source
  • Added sv_pause_sp - allows singleplayer game to not be paused automatically when pressing ESC/opening console or the Steam overlay
  • Added option to hide outdated servers to the server browser (Community Contribution)
  • Added ability to toggle spawn menu & context menu, option for it can be found in Spawnmenu => Utilities menu, disabled by default
  • Added ability to select what weapon Creator Tool spawns NPCs with from the NPC icon right click menu (Spawn with toolgun option)
  • Added resistance-hacked combine mine to the spawnmenu
  • Added ability to middle click Keybinder UI element in Sandbox to reset it to default value, just like tool sliders already do
  • Added ability to randomize or clear only one category in Faceposer
arrow_circle_up

Improvements

  • Enable Jalopy idle animation (Engine "jiggle" animation) without hl2_episodic console variable having to be set to 1 (This applies to all vehicles, even modded ones, if they have an animation bound to ACT_IDLE_STIMULATED)
  • Unhide Jalopy seat and Flechette Gun when not mounting HL2, since we now ship content needed for those by default
  • Unhide CS:S thruster models by default (Community Contribution)
  • Kleiner, Mossman, Eli, Breen and Magnusson can now spawn with guns, Vortigaunts and Half-Life: Source G-Man can no longer spawn with guns
  • Enable "Spawn with Weapon" UI for Eli, Mossman, Breen, Magnusson, Kleiner (when right clicking their NPC spawn icons)
  • Added icons to NPC weapon selection in spawnmenu NPC tab and on NPC spawn icon right click
  • Also group weapons in NPC spawnicon right click by category like it is in other places
  • Digitally sign .exe files (in addition to .dll files which was done a while ago)
  • Improved invalid model detection - fixes crashes when loading models from a specific addon
  • Updated Day of Defeat: Source player model texture fallbacks to be full resolution
  • Added missing map icons for new Team Fortress 2 maps
  • Added lua_strict convar checkbox to Lua problems menu
  • Minor visual adjustments to alignment of certain elements in the start new game options menu (Community Contribution)
  • Minor optimization and fixes for main menu new game and addon pages (Community Contribution)
  • Adjust colors in the server browser to be consistent with each other, and be slightly darker for better contrast with white text
  • Slightly adjusted visuals of Spawnmenu Dupes and Saves tabs
  • Automatically close spawn and context menus when the main menu is open, as well as prevent F1 from opening the spawn menu when main menu is open
  • Use better max values for "Utilities => Sandbox" limit sliders, derived from default convar values
  • Respawning while "entity driving" will no longer snap view angles to the spawnpoint
  • gm_construct water now reflects 3D skybox
  • Implemented visual placeholder entities for dod_control_point, prop_exploding_barrel (CS:GO) and team_control_point (TF2)
  • Disallowed spawning (as in at crosshair, not equipping) SWEPs without models via spawnmenu, such as the Fists weapon
  • Sped up entry animations for the 3 airboat seats with different animations, from 3 seconds to 1 second to match the other seats
  • Server rating penalty for outdated servers that cannot be joined anyway (Community Contribution)
  • Do not draw Tool Gun help and HUD in vehicles if entered the vehicle with the toolgun equipped, and weapons are not allowed in vehicles
  • Dead players who are not admins can no longer spawn stuff from the spawnmenu
  • Updated localization files
  • Trying to load a save while playing on a server no longer disconnects the player from the server
  • firstperson console command now disables camortho (Community Contribution from TF2 SDK)
  • ESC closes chat box even if the chat message text entry is not focused (Community Contribution from TF2 SDK)
  • Faceposer sliders and groups now appear in the same order as they are stored in the model, allowing model makers full control
handyman

Fixed

  • Default Sandbox fonts are now "extended" for better rendering of non Latin characters (Community Contribution)
  • Combine NPCs no longer T-pose with pistols, instead use rifle animations
  • Improved crouch support for NPCs using pistols and rifles - NPCs wont crouch to shoot for 0.3 seconds and then stand back up
  • RPG/Crossbow animation support improvements for citizens
  • Support for Combine Soldiers firing the RPG Launcher
  • Improve metropolice weapon support for Shotguns, AR2, RPGs
  • Fixed Combine Soldiers not walking/running with pistols/RPG/melee weapons or no weapon equipped
  • Metrocops now draw other types of pistols from their holster, not just the default Pistol
  • Fixed Enemy Rebels refusing to use RPG against the player
  • Fixed Enemy Rebels commenting on player's death as if they weren't hating them
  • Fixed NPCs being unable to shoot the Alyx Gun
  • Fixed certain NPCs constantly lowering their weapons after each weapon burst
  • Fixed Eli, Magnusson, Kleiner, Mossman and Breen shooting from their feet
  • Fixed NPCs being able to shoot some guns forever, without reloading, such as the AR2
  • Main menu: Check box labels are now clickable (Community Contribution)
  • Fixed regression with FindUseEntity behavior making players unable to use some entities
  • Fixed addon dependencies not showing on install due to regressive Pull Request the previous update
  • Fixed kill credit for strider kills with the Magnusson device
  • Fixed Combine Gunship, Helicopter, Ceiling Turret, Camera, Sniper and Antlion Grub not appearing in the kill feed when killed by the player
  • Fixed certain gibs (from Manhacks, Scanners, Attack Helicopter) never fading out
  • Fixed gibs that should be ragdolls not being ragdolls in multiplayer (cardboard boxes)
  • Fixed Strider still shooting the player with ignore players or disable AI enabled
  • Fixed AR2 impact effects appearing when shooting the skybox
  • Fixed "P2P: Friends only" setting resetting after starting a game (Community Contribution)
  • Fixed some missing Server Browser localization strings, added chat prefix localizations (Community Contribution)
  • Fixed a visual inconsistency with text indentation in spawnicon resize menu
  • Update Source Engine IME candidate menu size to fit updated text when typing
  • Fixed respawning while "entity driving" a prop putting you back to the death position instead of at the respawn point
  • Fixed the 2 PHX bomb models not igniting from explosive damage like they used to
  • Fixed a number of materials for Day of Defeat maps
  • Fixed localization files not loading correctly on Linux
  • Fixed potential Lua errors when spawning props while the server is at the entity limit
  • Fixed not being able to duplicate Half-Life 2 entities and weapons as a non-admin player (while playing in multiplayer basically)
  • Fixed Portal Cores reverting to wrong type in saves and duplications (not retroactive)
  • Fixed Tree Sway causing graphical glitches when lit up by player's flashlight, lamps or other projected textures
  • Added map icons for new TF2 maps
  • Ragdolls now inherit sub-materials from their parent entities (NPCs)
  • Zombie gibs and spawned headcrabs inherit materials and render mode of the original zombie
  • Fixed saving dupes not updating "My Dupes" screen immediately
  • Tools (with weapons in vehicles allowed) and spawnmenu spawning now ignores player's current vehicle when placing props while in a vehicle
  • Fixed swimming animations for the Passive hold type not working correctly
  • Fixed physics models for light_cagelight01_off.mdl, windmill_blade004b.mdl, dock_broken01a.mdl and utilityconnecter006b/d.mdl
remove_circle

Removed

  • Delete unused DLL files - DataModel.dll, DMSerializers.DLL, VTex.DLL
  • Removed fallback textures for CSS player models, since we now ship those textures in full resolution
add_circle

Features

  • Added custom radio button support and extra default sounds (Community Contribution)
  • Added optional translation parameters when adding radio sound names (Community Contribution)
arrow_circle_up

Improvements

  • Set Attacker and Inflictor in usages of SWEP:FireBullets (Community Contribution)
  • Raise passive equipment item limit from 16 to 32 (Community Contribution)
  • Russian and Turkish localization updates (Community Contributions)
handyman

Fixed

  • Fixed "Tried to create font 'X' from a game font 'Y'" warnings
  • Prevent the round start info box from stacking when restarting rounds rapidly
remove_circle

Removed

  • Remove "Missing CS:S" chat warning (Community Contribution)