Garry's Mod Wiki

Update Preview Changelog

This page contains upcoming changes to the game in the next update. The update date is available on the Steam News section for Garry's Mod.

The update is already accessible on the dev beta branch, and possibly on the prerelease beta branch.

Game Changes

Additions

  • Added 3 new props from Half-Life 2 sources related to the cargo containers
  • Added 9 new combine related props variations from licensee repo

Fixes

  • Fixed double notifications when hitting Sandbox vehicle limit
  • Fixed demo-to-video feature on 64bit Windows builds
  • Fixed Hacked Rollermines ignoring Combine Hunters
  • Added fallback CS:S hostage pain sounds
  • Fixed normals on a few more built-in models
  • Fixed model tangents on cargo container props to make bump-mapping to work correctly
  • Prevent gmod_tool related Lua error when having addon tools in non Sandbox gamemodes
  • Fixed Zombies creating double ragdolls with keep corpses on
  • Restored functionality of sk_auto_reload_time - Requires gmod_suit set to 1. Value of 0 or below disables the feature.
  • Handle right click menus making Lua errors in Sandbox when "originator" panel (such as spawnicons) is removed
  • Fixed subscribed dupes/saves/demos being treated as addons when they only have a single workshop tag
  • Adjusted combine_booth_tall01b.vmt to be less extremely glossy
  • Fixed missing material on that one CS:S lamp prop and EP1 stalker pod prop
  • Fixed some missing textures on Half-Life 2: Episode 2 props
  • Fixed Last Played map not saving correctly if the map filename has the semicolon symbol
  • Try to account for info_ladder_dismount entities being placed inside ground during Line of Sight checks when trying to dismount from ladders
  • Fixed bloodied male rebels texture being blurrier than intended
  • Added icons for the 5 new Team Fortress 2 maps
  • Fixed "IsPlayerAlly" detection in multiplayer - Fixes Alyx not picking up shotgun in multiplayer in a scripted scene on ep1_c17_02a and many other behaviors
  • Fixed dropship containers taking double damage

Changes

  • Removed half-working spawnmenu-only check for citizen RPG usage, just enable all citizens with RPGs to attack gunships, even in Half-Life 2 campaign
  • Updated a whole bunch of built-in spawnicons
  • Update default spawnlists to include new props and group similar props together in Counter-Strike, Team Fortress 2 and L4D1 spawnlists
  • Forced 64bit builds to be the default on Windows (-force32bit can be used on gmod.exe to force 32bit builds)
  • Disable panel drag'n'drop with mouse 3/4/5 to prevent accidental drag'n'drops
  • Enabled ALT+F4 closing the game (with confirmation prompt)
  • Garry's Mod Linux client now runs using Steam Runtime 4. This means you may need a newer Operating System version to run it.
  • Reworked Paint tool UI to have image previews instead of a textual list
  • "load" console command no longer exits to main menu if the save game specified does not exist
  • Included higher quality Eli Vance face texture from Half-Life 2 sources
  • Workshop items from blocked players (blocked on Steam by the local player) will now appear visually different in-game, to match Steam Workshop website
  • Added "32-bit" label to 32 bit game client to help identify it and avoid ambiguity

Deletions

  • Removed bin/vidcfg.bin and bin/basehaptics.txt (useless files)
  • Removed some client related files from dedicated server distributions

TTT Changes

  • None so far.

Technical Changes

Additions

  • Added ability to load Workshop IDs from a file on dedicated servers instead of a Steam Workshop collection
  • Added p2p_force_reliable convar to optionally force all network messages to go through the reliable channel
  • Added UpdateScreenEffectTexture material proxy, for use on models that show what is currently on screen
  • Added OnChangedFromMin/OnChangedFromMax outputs and SetMaxValueNoFire/SetMinValueNoFire inputs to math_counter entity
  • Added "-condebug_filename" command line parameter - Allows changing file name of console.log

Fixes

  • Fixed a crash with SourceTV/HLTV
  • Fixed various potential crash issues when creating or searching for entities in-engine
  • Fixed bone cache always caching root bone but sometimes not calculating it, leading to corrupted values
  • Attempt a different fix for CBaseAnimatiing overlay layers resetting on server (re)join
  • Force Lua panels to think & enable clipping when main menu is open, to maintain same behavior as when the main menu is not open
  • Prevent Lua errors when using prop_effect in base gamemode
  • Added more decompression self checks
  • Material reading crash fixes
  • Fixed potential npc_alyx related crashes to do with NPC sound hints
  • Fixed a crash with constraint notification system on that one CS:S map
  • Make dedicated server workshop cleanup do it in the correct folder (cache/srcds/ instead of cache/workshop/)
  • Fixed ropes being invisible when multicore rendering is enabled but multicore rope rendering is disabled
  • Fixed missing data in NPC weapon list (from addons) bricking the spawnmenu
  • Applied fixes for getmetatable(), math.ceil and math.floor from LuaJIT repository
  • Fixed sounds sometimes being cut off when played through an env_microphone entity
  • Fixed a couple memory leaks with multicore rendering
  • Fixed ZFunc not being set when overriding depth testing. This fixes issues with 3D2D rendering on certain maps
  • Removed unnecessary usage of a Think hook in Depth of Field post processing effect (Community Contribution)
  • Fixed a crash with map logic inputs firing from removed triggers
  • Fixed 0 byte model files crashing the game
  • Fixed memory leak with auto refresh on Windows when using symbolic links
  • Improved error handling of the Auto Refresh, with more verbose console messages
  • Fixed wrong lookup function used in Hunter NPC code, causing stagger animation to work improperly
  • Fixed Folder addons being searched in mountable games and platform folder on Linux
  • Fixed console command auto complete for lua_refresh_file

Changes

  • Added some bone cache bounds checking
  • Added feedback message to host_writeconfig_lua concommand when ran
  • Made "failed to dlopen" console print skips case insensitive on Linux/MacOS
  • Use more dynamic fallback for Infected shader - instead of shipping edited materials with shader swapped out, we do it in code
  • Make r_DrawBeams 2 affect sprite trails (to draw in wireframe)
  • Prediction errors on arrays include array index for integers and floats
  • Added more user-friendly crash messages when encountering corrupted map files
  • Improved console command input system on Linux Dedicated Servers
  • Added class name to CUtlRBTree overflow crash message to help pinpoint the source
  • Don't force validate game in launch failure if +developer is in the command line

Deletions

  • Stop HLTV clients running hidden "spectate" console command which was removed
  • Remove CExampleEffect screen space effect from builds
  • Removed .ain from network transfer extension whitelist, since it's a useless for the client format that is no longer automatically sent anyway

Developer tool changes

Hammer

  • None so far.

Map Compile Tools

  • Removed some map compile tool parameters
    • -novconfig - was non functional basically
    • -vproject - same as -game, irrelevant for GMod
    • -x360, -nox360 - never existed
    • -xbox - Same as -nodrawtriggers + one other pointless option
    • Moved -tmpout from VVIS (doesn't exist) to VBSP (exists)
    • VBSP's -virtualdispphysics - never worked/doesn't exist
    • Document some undocumented VBSP params (Already documented on VDC, so nothing new)
  • Added -noTJuncsDetail to VBSP from Team Fortress 2
  • Applied T-Junction limit softcap (instead of crashing) (Community Contribution)
  • Bumped MAX_MAP_TEXINFO to the new TF2 limit (16k>32k)
  • Other map compile tool related changes (Community Contribution)
    • Removed redundant VRAD code + fix VRAD potentially adding new planes to the map
    • Increased limit of detail sprites added by VBSP to its new TF2 limit (2mil=>2bil)

Other

  • Removed some pointless/broken options from StudioMDL, those being -x360, -nox360, -nop4, -sky, -coring and -ihvtest

Lua API Changes

Additions

Fixes

  • Fixed usage SWEP:CustomAmmoDisplay causing UI overlaps when hiding/unhiding the secondary ammo display
  • Re-enable setting filter entities via Entity:SetSaveValue, as well as m_hStoredPathTarget, m_hGoalEnt, m_hPhysicsEnt, m_hKiller, m_hZoomOwner, m_hHackTarget
  • Fixed engine.LightStyle only updating static prop lighting once (Community Contribution)
  • Fixed engine.CloseServer falsely claiming the server is shutting down when ran without any of the pre-requisite command line switches
  • Fixed IN_MOVERIGHT/LEFT not activating for Player:KeyDown when moving using a controller
  • Fixed clientside Player:KeyDown in singleplayer not detecting movement IN_ enums when using a controller to move
  • Fixed Entity:SetNWVarProxy callback's old value being the new value
  • Fixed a crash with render.UpdateScreenEffectTexture
  • Fixed "is3DSkybox" variable not resetting when returning from some render hooks
  • Fixed wrongful error with IMesh:DrawSkinned with 52 bones
  • Fixed a crash with Vehicle:SetWheelFriction
  • Improved error handling of error calls with non strings
  • Fixed file.AsyncRead not calling the callback on early failure

Changes

  • Add more entities to Lua override-able list - filter_activator_context, game_player_equip, trigger_push, ambient_generic, item_battery, item_healthkit, item_suit, item_longjump, func_pushable, func_healthcharger, func_recharge, Half-Life: Source ammo entities, weaponbox, speaker, Satchel entities, func_tankmortar, trigger_portal_cleanser
  • Make surface.DrawPoly throw an error when giving it less than 3 verts
  • Updated file.Read blocklist so it doesn't affect file and folder names in DATA path
  • Improved DImage's shader replacement system to support SubRect shaders
  • Made ENTITY:StoreOutput treat times=0 same as times=-1, making it consistent with engine entities (Community Contribution)
  • mesh.BoneData can now be called with bone index 2 (Weight value is ignored in this case)
  • Mesh global now allows 3 bone weights
  • IMesh:BuildFromTriangles will now read up to 3 weights, depending on the bone weight count given to Mesh
  • Strings can now be used as trace classname filters
  • Remove / from file.Find results

Deletions

  • Blocked envmap and lightprobe console commands from Lua
  • Removed widgets.RenderMe and properties.GetHovered serverside

network_test beta exclusive changes

The network_test beta includes changes that are not network compatible with other versions of the game, i.e. you will not be able to join existing servers on that beta. They are put on a separate beta to be able to be tested by the community without inconveniencing players of other beta versions.

Additions

  • None so far.

Fixes

  • None so far.

Changes

  • None so far.

Deletions

  • None so far.