Garry's Mod Logo
Changes Header

Changes

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

add_circle

Features

  • Added point_spotlight features from Alien Swarm - SetColor and ForceUpdate inputs
  • Added beam_spotlight entity from newer Source Engine games
  • Added info_target features from Alien Swarm - "Spawnflag 2 - always transmit"
  • Added spawnflag 1 to lua_run entity - Run code on Spawn (Community Contribution)
  • Added 262144 spawnflag to Nihilanth to automatically enable his attacks (Used by the spawnmenu)
  • prop_dynamic additions from newer Source Engine games - new HoldAnimation & AnimateEveryFrame keyvalues, new SetAnimationNoReset, BecomeRagdoll and FadeAndKill inputs
  • prop_door_rotating will automatically block nav areas when its locked
  • prop_door_rotating new input: MoveToRotationDistance, new output: OnRotationDone, new spawnflag: 524288 - Start breakable (unset by default)
arrow_circle_up

Improvements

  • RCON no longer accepts clients and reads from them when there is no RCON password set on the server
  • RCON will drop connections that try to send too much data
  • Added safeguards for Player.GetVehicle not returning a vehicle in properties system (Community Contribution)
  • Minor optimizations by replacing table.Count comparisons in TTT and Duplicator icon generation (Community Contribution)
  • Restore active gamemode when disconnecting from a server more thoroughly
  • Replaced usage of type( var ) == "type" with is<type>( var ) (Community Contribution)
  • Do not empty Lua cache on disconnect, it causes problems with retry command in local multiplayer
  • The Undo system will no longer add empty Undos onto its list
  • SetHealth input on NPCs will pass the activator as attacker to try to improve kill feed messages
handyman

Fixed

  • Fixed bspzip.exe not working properly
  • dumpgamestringtable no longer crashes the game
  • Fixed muzzleflashes sometimes not displaying at all when they should
  • Restored MAX_DOWNLOADABLE_FILES to 8192 from 4096
  • DListBoxItem now properly checks its IsSelected() state for drawing selected state rather than relying on DListBox not having mutliple selections and testing whether the selected item has the same text as its own text
  • Fixed console errors related to saving of weapon_gauss
  • The game will no longer crash if it doesn't have a matrix to render a model with
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)