Garry's Mod Logo
Changes Header

Changes

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

add_circle

Features

  • Added Entity.GetParentWorldTransformMatrix
  • Added Panel:IsWorldClicker
  • Added Player.GetAmmo
  • Added CLuaLocomotion.GetNextBot
  • Added PathFollower.GetGoalTolerance
  • Added PathFollower.GetMinLookAheadDistance
  • Added CNavArea.AddHidingSpot
  • Added list.HasEntry (Community Contribution)
  • Added SF_LUA_RUN_ON_SPAWN global for addons (lua_run entity)
  • Added util.GetModelMeshes( strModel, lod = 0, bodygroupMask = 0 ) (Community Contribution)
  • net.BytesLeft and net.BytesWritten now return 2 values - second being the bit value
  • Added ability to disable the tooltip via argument to SetColor for DColorButton panel (Community Contribution)
  • DynamicLight now as a second parameter to allocate ELights when set to true - Used for Sandbox Light tool
  • CNavArea.GetHidingSpots how has an optional 1st argument - flags
  • Entity.GibBreakClient now has an optional second argument, to override the gib color
  • VectorRand and AngleRand now have optional min and max arguments (Community Contribution)
  • Added GM:OnPhysgunPickup hook, called after PhysgunPickup after a successful pickup has happened, to mimic GravGunPickupAllowed and GravGunOnPickedUp
  • Giving Matrix() another matrix will now copy its values, instead of erroring
arrow_circle_up

Improvements

  • Corrected BASS.DLL error code names (sound.PlayURL/File)
  • prop_vehicle_crane is now considered a vehicle by Lua
  • ENT:HandleAnimEvent now works for "ai" NPCs too
  • Fixed ENT:Use not working for "ai" SENTs
  • surface.CreateFont()'s maximum size is now 255 (from 128)
  • Limited blursize of surface.CreateFont to 0-80 (inclusive) to avoid crashes
  • Enabled BASS_CONFIG_NET_PREBUF_WAIT to improve sound.PlayURL reliability
  • Fixed file searches (file.Find included) ignoring addons sometimes
  • util.JSONToTable now ignores the UTF-8 Byte Order Mark (BOM)
  • The 1st argument of CNavArea.IsBlocked is now optional
  • table.ToString handles colors better (Community Contribution)
  • math.Clamp nano optimization (Community Contribution)
  • RunString will display a better stack trace on error
  • Moved where DTextEntry.AllowInput is called from so it also catches pasted text
  • Blocked running "gamemenucommand quitnoconfirm" from non-menu state
  • Better physenv.AddSurfaceData, util.KeyValuesToTable and util.KeyValuesToTablePreserveOrder errors in console on failure
  • Beam functions in the render library were rewritten to be less insane
  • SendLua/BroadcastLua/lua_run_cl will print its code to console on Lua error to help track down the problem source if the developer ConVar is set to non 0
handyman

Fixed

  • Fixed ai.GetTaskID returning values on wrong scale
  • Changes to Vehicle.CheckExitPoint to make it functional
  • DHorizontalScroller no longer errors when its children are missing the ApplySchemeSettings hook definition
  • Fixed a crash issue when steamworks.FileInfo does not successfully complete
  • Spawnmenu and Contextmenu hook fixes (Community Contribution)
  • Restored SetNWVarProxy to working condition (both clientside and serverside, moved previous SetNWVarProxy stuff to SetNW2VarProxy, etc.)
  • Entity.Remove will no longer crash trying to make crazy physics objects non solid
  • Entity.RemoveAllDecals works on brush entities too now (Community Contribution)
add_circle

Features

  • Added icons to Spawnlist right click menus
  • Added Hints for spawnmenu editing features
  • Added No Collide option to Weld tool (Community Contribution)
  • Added Toggle option to Hydraulic tool
  • DPropertySheet tabs can now be right clicked to quickly switch between tabs when they overflow DPropertySheet's width
  • Added Legal tab to Options menu
arrow_circle_up

Improvements

  • Automatically enable and disable hl2_episodic on map load depending on map prefix, to improve/fix gameplay on maps from Half-Life 2 Episodes
  • Updated TTT (Community Contribution)
  • Updated AI nodegraphs for gm_construct and gm_flatgrass
  • Minor changes to Spawnicon Editor - Added tab icons and sligltly improved performance
  • Updated language files (Community Contribution)
handyman

Fixed

  • Fixed Half-Life 2 barnacle putting players into an invalid state if they are being eaten and the barnacle gets removed
  • Fixed Flechette Gun console spam and multiplayer effects
  • Left 4 Dead 1 map geometry no longer flickers (Unsupported $detailblendmode modes fallback to 0)
  • Fixed cables on Left 4 Dead 1 maps ( and probably post L4D1 maps too ) being invisible. SplineRope shader fallbacks to Cable shader
  • Half-Life 1 NPCs no longer can talk to acting NPCs, putting them into invalid state
  • Fixed particles with material proxies crashing the game
  • func_breakable will drop *_hl1 versions of the Half-Life 1 weapons
  • Fixed a small issue with Hydraulic tool which required players to press the button twice after initial spawn
  • Unknown Windows languages no longer crash the game when right clicking text areas
  • npc_metropoilce will acknowledge existence of multiple players in multiplayer
  • Certain player weapons (hl1, bugbait, etc) are no longer removed on map cleanup
add_circle

Features

  • Added support for $treeswaystatic
  • Middle Mouse Click on Hammer 3D view now acts as mouse look
  • Added SetWindDir( int ) input to env_wind
arrow_circle_up

Improvements

  • CBaseVPhysicsTrigger-based triggers set their solidity when their physics are created depending on whether they are enabled or not
  • Some minor fixes to triggers from newer Source Engine (Don't try to hurn disconnected players, trigger push lagcomp change, dead players can no longer touch triggers)
  • Switched Lag Compensation back to local coordinates from absolute ones to fix vehicle seat position shifting
  • Better multiplayer support for env_zoom and point_viewcontrol
  • env_screenoverlay will now disable its overlay if it was enabled when it is removed
  • Updated BASS.DLL to 2.4.14-mp3free
  • Some (Inputs/Outputs/targetnames) Hammer Drop Downs will size themselves to fit up to 15 elements at the same time instead of the old random 5 to 9
  • Adjusted colors of Source Engine checkboxes for better contrast
  • VRAD and VBSP no longer check for model versions (but still display warnings)
  • Use table.IsEmpty instead of table.Count where possible (Community Contribution)
  • Updated VRAD to the latest TF2 version we have (Feb 2016)
  • gmad.exe now auto ignores thumbs.db and desktop.ini
  • lua_error_url is reset when player starts a local multiplayer game and will receive the proper GMod version
  • Reset active gamemode on client after exiting a server to prevent crashing when starting a new game
  • Forced net_maxroutable to its default value on level init to hopefully fix getting stuck on the loading screen
handyman

Fixed

  • Fixed func_detail smoothing groups not working (Community Contribution)
  • Fixed OnFlashlightOn/Off not working for logic_playerproxy
  • Removing physics object of a Jeep or Airboat will no longer crash the game server, but you still shouldn't do it
  • Prisoner Pods/Chairs and Airboats update water level of their drivers just like Jeeps do
  • Fixed Hammer crashing when trying to load over 1024 models at the same time and other stability improvements
  • Fixed a server crash issue when an entity has "angle" key value (opposed to "angles")
  • Fixed a server crash issue when Player.SendLua has created a Lua error
  • Fixed "starts locked" spawnflag not working on spawn for func_rot_button
  • Clientside Lua errors will no longer be sent to servers from previous client connection
  • Fixed crash exploit when overriding material with certain naughty materials
add_circle

Features

  • Added SURF_SKY2D
  • Added DISPSURF_ enums
  • Added SurfaceFlags and DispFlags to TraceResult
  • Added net.BytesLeft
  • Added ImageCheckBox.Set/GetChecked
  • Added Entity.GetModelContents() = int
  • Added table.IsEmpty (Community Contribution)
  • Nextbot.BecomeRagdoll returns the ragdoll it created, if one was created
  • Added Panel.GetTooltip() and Panel.GetTooltipPanel() (Community Contribution)
  • Added MarkupObject to the registry (Community Contribution)
  • Player.Set/RemovePData() now return whether they were successful or not (Community Contribution)
  • Added PathFollower.PriorSegment
  • Added PathFollower.NextSegment
  • Added DNumberWang.Get/SetInterval (Community Contribution)
  • Added ENT.MaxWorldTipDistance and improved implementation of ENT:BeingLookedAtByLocalPlayer (Community Contribution)
  • Added DHorizontalScroller.GetCanvas
  • Added DHorizontalScroller.ScrollToChild
  • Added DHorizontalScroller.SetScroll
  • Added support for ENT:DoImpactEffect for "anim" entities
  • Added ents.CreateClientside
  • Added Entity.GetEntityInUse
arrow_circle_up

Improvements

  • Switched steamworks.FileInfo to ISteamUGC and added "children" and "error" keys (error will only appear as the only key in case of an error)
  • point_viewcontrol is no longer filetered from game.CleanUpMap()
  • halo.Add() with no entities will no longer try to draw empty halo
  • PlayerSilentDeath is called at a time which is more consistent with PlayerDeath hook
  • Panel.SizeToChildren() and Panel.ChildrenSize() no longer count panels marked for deletion
  • Panels marked for deletion will also no longer affect Dock()ing, just like invisible panels don't
  • file.Rename now forces filenames lowercase (both arguments)
  • file.Open now forces filenames lowercase for writing and reading from the data folder
  • file.* functions automatically remove double or more consecutive slashes
  • Error and ErrorNoHalt no longer have the 512 character limit
  • OnEntityCreated is now called when it is expected - when the entity is created (instead of when the entity is first pushed to Lua, which sometimes was never)
handyman

Fixed

  • Entity.GetBrushPlane no longer returns garbage for non brush models
  • error() no longer crashes with certain inputs and no longer cuts off text weirdly before and after symbol "]"
  • SWEP.DrawAmmo now disables correct HUD elements
  • DCategoryList.SetBackgroundColor now has an effect
remove_circle

Removed

  • Removed MarkupObject:Create (Community Contribution)
add_circle

Features

  • Added basic Steam Rich Presence support
  • Added Half-Life: Source Turrets to the spawnmenu
  • Added more Half-Life: Source entities, including all the weapons
  • Added right click option to tool material and model selectors to be able to copy the model and material paths
  • Added icons to most right click menus in the spawnmenu
  • Sandbox hint notifications now support dynamic keybind display
  • Added recent news feed to the main menu
  • Added Blade Symphony map to its proper category (Community Contribution)
  • Added spawn effect for spawned SWEPs
  • Added Borderless Windowed setting to the Options menu
arrow_circle_up

Improvements

  • Doubled the amount of servers shown per gamemode in the server list
  • Blood decals from shooting NPCs and Players can now be stuck to props too, not just world
  • Main menu backgrounds no longer load while in the loading screen
  • Updated TTT
  • Updated some Team Fortress 2 map icons and added missing ones
  • Last played map will now scroll into view when opening new game menu
  • Improvements to player animations on longer uptime servers, so they won't look weird/buggy
  • Finger Poser can now be used on any entity
  • Changed Half-Life: Source Turret translations to not include the "Ceiling" part
  • Half-Life: Source Turrets & Barnacle now react properly to Disable AI and Ignore Players settings
  • Updated language files, translated context menu bar and most Spawnmenu right click menus
  • "Wireframe" and "Minecraftify" now properly display their sv_cheats requirement
  • "gmod_drawtooleffects" now also hides the toolgun tracer effects
  • "notarget" and "god" console commands can now be used in multiplayer (Still require sv_cheats)
  • Fixed some sounds not playing on Half-Life: Source maps
  • Updated Options menu keybinds to be more descriptive
  • Spawnmenu icon editor no longer displays an empty Bodygroups tab
  • Server list stops refreshing upon joining a server or switching between server list types (Internet, LAN, Favorites, etc)
  • "Stop Refreshing" button is no longer hidden while browsing servers of a gamemode
  • Reduced ranking impact of empty servers, increased ranking impact of full servers
  • Server ranking based on player count now starts earlier, enabling smaller servers to be more noticeable
  • npc_sniper's laser will properly represent the maximum distance the sniper can see for
  • Adjusted Half-Life: Source NPCs difficulty settings to their "Normal" values
  • Half-Life: Source Scientists will talk more with each other to match the original game
handyman

Fixed

  • Fixes toward console warnings without any mounted games
  • Fixed prop_effect not being duplicatable
  • Fixed some addon entities not being targetable by the properties system
  • Houndeyes and Human Grunts no longer use same squad names causing console spam and slowing down servers
  • Fixed Combine APC placing a red laser dot on players
  • Fixed Half-Life: Source NPCs crashing the game server in some cases
  • Changed Half-Life: Source leech to use its Half-Life: Source model
  • Fixed localization breaking when the game has too many search paths (addons)
  • Fixed props in certain case (like on some Half-Life: Source maps) not receiving light from flashlights
  • Fixed not being able to delete presets
  • Fixed Half-Life 2 Pistol accuracy for NPCs to be like in Half-Life 2
  • Fixed func_breakable drop table on Half-Life: Source maps
  • Fixed Half-Life: Source headcrab sounds
  • Fixed Half-Life: Source doors being silent when locked compared to the original game
  • Fixed Half-Life 2 Suit Charger animations with the citadel flag
  • Fixes made so mods and players can adjust Half-Life: Source NPC difficulty settings via their console variables (sk_*)
  • Fixed last flex being hidden unintentionally in the Faceposer Tool