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 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
Fixes
- Make default Sandbox fonts extended for better rendering of non Latin characters (Community Contribution)
- Improve NPC animation support for pistols and rifles
- 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 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: Make check box labels clickable (Community Contribution)
- Fixed regression with
FindUseEntitybehavior 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 Gunship and Sniper 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 at 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 using flashlight or lamps or other projected textures
- Added map icons for new TF2 maps
Changes
- Enable Jalopy idle animation (Engine "jiggle" animation) without
hl2_episodicconsole 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)
- Try to make NPCs shoot slower with the .357
- 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
.exefiles (in addition to.dllfiles 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_strictcheckbox to Lua problems menu - Minor visual adjustments to alignment of certain elements in the start new game options menu (Community Contribution)
- Adjust blue colors in the server browser to be consistent with each other, and be slightly darker for better contrast with white text
- 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) andteam_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)
Deletions
- 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
TTT Changes
- Updated Turkish localization (Community Contribution)
- Set Attacker and Inflictor to usages of SWEP:FireBullets (Community Contribution)
- Raise passive equipment item limit from 16 to 32 (Community Contribution)
- Remove "Missing CS:S" chat warning (Community Contribution)
- Custom radio button support and extra default sounds (Community Contribution)
- Russian and Turskish language updates (Community Contributions)
- Prevent the round start info box from stacking when restarting rounds rapidly
- Fixed "Tried to create font 'X' from a game font 'Y'" warnings
- Added optional translation parameters when adding radio sound names (Community Contribution)
Technical Changes
Additions
statusconsole command now also prints server & map uptime- Implemented
Lightmapped_4WayBlendshader with full tools support - Implemented new
Watershader features - lightmapped water fog, flow maps and ability to reflect 3D skybox ($reflect3dskybox), envmaps for expensive water, support for$reflect2dskybox - Use
gmod_flashlightattachment for flashlight if it exists - this works for player models, world models and view models - Added
sv_nomap_timeoutconvar - Closes a dedicated server if it is running without a map for given amount of seconds. - Added "Restore" input to
func_breakable_surfentity - Added
$PortalColorGradientDarkand$PortalColorGradientLighttoPortalRefractshader - Added new parameters to
SpriteCardshader$AimAtCamera,$OrientationMatrix($Orientation 2)$Orientationnow supports modes 3 and 4
$basetexturetransformsupport forDepthWriteshader (for alpha tested materials)
Fixes
- Fixed "TraceAttackToTriggers" system for bullets causing the shot entity to have a separate damage event for each pellet of a shotgun shot
- Fixed
func_lookdoorin multiplayer only reacting to the first player on the server (now reacts to the closest player) - Multiple improvements to error handling of particle sheet loading
weapon_fistssets Weapon in DamageInfo (Community Contribution)- Prevent crashes due to
net_graphtrying to draw too much at a time - Fix
Error()in C not exiting the game with a nice message when multicore rendering is enabled - Fixed
sv_lagcompensationforcerestorenot really doing what it says in its description - Fixed soundscapes not working with duplicate sounds
- Fixed
Entity:FireBulletscausing"CLuaObject:GetType with invalid lua state"warnings after a changelevel when using FireBullet callbacks - Restore rope texture scaling to Half-Life 2 values when they are spawned by the map
- Prevent potential Lua errors with
weapon_basewhen owner dies during firing bullets - Fixed some IMaterial functions complaining in console about "$basetexture not being a texture". (Non multicore rendering only)
- Fixed server crash when mounting ladders at edict limit
- Prevent crash to do with CSpatialPartition invalid handles
- Fixed edict exhaustion prevention affecting nextbot players, and crashing the server
- Fixed a crash when using
gm_loadon dedicated server - Fixed a crash with clientside ropes on props
- Fixed server crashes to do with Gonarch NPC
- Fixed many server crashes when trying to spawn gibs at edict limit
- Make prop water level changes actually work, and apply on clientside too
MsgCno longer outputs empty strings when first argument is a color, preventing console message deduplication- Fixed fall damage constants being inconsistent between client/server
- Prevent
"bone write access"warnings with ClientsideRagdoll - Fixed
CLC_Move::ToStringnumbers being flipped - Fixed
CBaseFileSystem::ReadLinenot working for workshop files at all - Fixed VPK file.Find issues with folder searching
- Fixed BSP file.Find not really working well
- Fixed Lua errors with DProperty_VectorColor when deleting the associated editable entity
- Prevent misleading
"X used to create wrong class type"warning that happened at edict limit when spawning gibs - Try to prevent Half-Life: Source gibs from falling out of the world
- Fixed an issue with GM:HUDShouldDraw that allowed blocking access to main menu
- Fixed some weird v7.4 VTF cubemap textures not loading due to missing sphere map
- Fixed clientside prediction breaking hull traces against local player in multiplayer
- Do not complain about missing
"$refracttexture"when polling water material for its requirements - Fixed
kickidvia SteamID64 not working on dedicated servers - Prevent crashes in engine tracing code to do with BSP models
- Fixed maps compiled without VVIS not rendering any water surfaces (and when noclipping outside of the map)
- Fixed
'status'console command showing IP address for-p2pdedicated servers - Fixed sun glow overlay not rendering in water reflections
- Fixed a nullptr crash on game exit to do with models
- Prevent crashes with vertexSize of 0 on materials - will now use error material instead, and throw a warning about what material is wrong
- Fixed spam about "Trying to use Map as if it were a variable" on GUI dedicated server
- Try to improve static props fading out randomly for CS:GO maps
- Fixed render.RenderView affecting FOV for worldclicker, including the context menu
- Fixed (near?) infinite loops/game freezes in when listing entities in a box with negative bounds
- Fixed a potential issue with bad BSP embedded files
- Prevent potential crashes on map change to do with color correction entities
asset://sets correct mime type for.svgfiles (Community Contribution)- Fixed an obscure crash with LuaJIT
- Fixed an null pointer crash with
sv_debug_player_useconvar - Fix Un-Statue property bypassing GM:CanProperty serverside
Changes
- Prevent silly values in
fog_controller(malicious map "protection"), as well as prevent map reload loop viaplayer_loadsavedentity - Improvements to multiplayer player getters
FindEntityProcedural!pvsplayermultiplayer support improvementUTIL_GetLocalPlayermicro optimizationsUTIL_FindClientInPVSnow tries to get the closest client
- Changed "exe version" to "network version" in output of "
version" console command to avoid confusion - Removed newline from
"Disconnect by server."kick message, so server console log is less messy. No other kick reason adds a new line at the end. - Micro optimization for
GM:HUDDrawTargetID(Community Contribution) - Enable Episode 2 behavior for
npc_combine_s(Some sort of "march" mode) - Allow .PCF as valid network transfer extension (FastDL)
- SRCDS workshop addon cache also caches titles - Also display a warning when that cache will be used
- Make "No account token specified" message in SRCDS console a warning
- Unhide
sv_soundscape_printdebuginfo - Reset render library's internal "last material" vartiable on map shutdown
- Fallback "VertexBeckman" shader to "VertexLitGeneric" (PVK2 game)
- Improve free edict detection during entity creation, so allocated edict count cannot pass the internal buffer amount and prevent creation of entities until map restart
- Clean-up doubleclicking code in the main menu (Community Contribution)
- Internal rework of main menu's bottom bar (Community Contribution)
- Make zombies/metrocops propagate their "use lag compensation" state to spawned child NPCs (headcrabs and manhacks)
- Dynamically calculate max autocomplete items for the console based on available space
- Added SteamID64 to
"Dropped %s player from server"console message - Enabled CEF credits button in the Options
- Limit static prop counts to safe values to prevent crashes
- Minor VPK support changes from CS:GO - potential memory usage improvement
- Add description to
g_ragdoll_maxcountconvar, update descriptions forgm_snapanglesandgm_snapgrid - Give
prop_active_gib*convars descriptions and more sane values - 100 active gibs should be plenty (was 999999) - Add a better crash message when getting vertex size 0 to help catch source of the crash
- Alias
dz_door(CS:GO danger zone map doors) toprop_door_rotating - Prevent
item_item_cratefrom spawning certain entities that could cause game crashes - Throw an engine error when trying to request invalid shader parameter, instead of cryptic crashing
- Changed
whereisto print path of missing files (useful format_texture_list 1) - Improved several console warnings and crash popups with extra information to help diagnose the underlying issues
- Improved
.navfile error handling to prevent game crashes and freezes, as well as error reporting - Do not save or load
mat_specular/mat_bumpmapconvars across game sessions - These are debugging convars, they do not need to save and cause persistent visual downgrade with no video options enabling them back. - Increase max lightmap dimensions to 128 for brushes (from 32)
- Renamed
npc_tf2_ghosttonb_example, and moved it from base gamemode to Sandbox - Alias
sdk_lightmappedgeneric_dx9shader tolightmappedgenericfor content from some Source Engine games/mods - Potentially improved console variable related performance
- Remove main menu's reliance on
RUNLUA:hack throughconsole.log - Use consistent search paths for textures and some model code - makes textures load from consistent location of disk, just like models and materials
- Make
gm_spawnonly work for .mdl files - Fixed crashes to do with a certain demo files that play on the wrong map (compared to the one it was recorded on)
- Clear "material is missing" flag on all materials when a map is started loading
- Initialize 3rd person camera on map load, to fix behavior change after first disconnect
- Defer gameevent/OnRequestFullUpdate game event if not in main thread (instead of dropping it)
- Reject non
.vtfcustomization files - Optimized Sandbox Widgets system, especially when none are used on the entire server (Community Contribution)
- Minor optimizations for GM:PlayerSelectSpawn (Community Contribution)
- Minor loading screen cleanups (Community Contribution)
- Optimized some internal engine functions to do with looping over player list, so they no longer loop over the player list
Deletions
- Removed pointless
"PREP OK"console message during map loading - Removed "
HudBloodSplat" effect. (It did nothing at all) - Removed
mat_remoteshadercompileconsole variable
Developer tool changes
Hammer
- Update FGD - Add descriptions to light entity keyvalue properties
- Mount CSS/Episodic VPKs in tools (Hammer & compilers)
- Implemented color preview for models
- Added color keyvalue to
prop_door_rotating - Added ability to paint 4-way blend materials. (Supported materials only!)
- Fixed some entities such as
info_ladder_dismountnot using colors defined in the FGD files - Disallowed creating "Auto" visgroup manually
- Implemented particle picker for Hammer
- Fixed visual and undo bugs with
CMapSweptPlayerHull(func_useableladder)
Map Compile Tools
- Added file metadata to map and model compiler exes (version, description, product name, etc.), and given them an icon
- VRAD: Added
-SunSamplesAreaLightoption (Community Contribution) - Enable VRAD compile stats without
-verboseflag - Make
tools/toolsinvisibleladdernot create visleaves during map compilation - VBSP: Reenable
-maxlightmapdimand-defaultluxelsize, and them add to help text - Water materials with
$lightmapwaterfogwill now receive lightmaps on map compile - Adjusted VRAD's post-compile stats to show data size limits in correct places, as well as bump max data size for entity lump
- VRAD: Enable static prop lighting (vertex & lightmap) with
-fast- Since it is already controlled by
-StaticPropLightingno reason to disable it with-fast.-fastmakes static prop lightmaps generate much faster. - Mention -StaticPropLighting requirement for vertex lighting on static props in the FGD (
Disable Vertex Lightingfield)
- Since it is already controlled by
Other
- Added new .QC commands to studiomdl.exe -
$maxverts, $phyname, $internalname, $qcassert, $lcaseallsequences, $defaultfadein, $defaultfadeout, $appendsource, $redefineattachment, $skinnedLODs - Update StudioMDL usage info when given no parameters - added previously unmentioned command line options, dump supported .qc command list.
HLMV.exeimprovements- Fixed crashes when doing stuff without a model selected
- When a material is missing, include the missing material name in "VMTs loaded" section
- Fixed extremely slow "Take screenshot" performance
- Images are now saved as .bmp instead of
.tga
- Images are now saved as .bmp instead of
- Change Shader display to a read only text entry, so it can be copied
- Display selected material in a text box, so it can be copied
Lua API Changes
Additions
- Added Entity:FindGestureLayer
- Added Entity:FindGestureSequenceLayer
- Added Entity:RemoveLayer
- Added Entity:SetLayerAutokill
- Added GM:OnNPCDropItem
- Added NPC:IsCrouching
- Added NPC:SetForceCrouch
- Added 2 new optional args to mesh.TexCoord
- Added NPC:CapabilitiesHas
- Added NPC:ConditionID
- Added NPC:IsUnforgettable
- Added NPC:MoveGroundStep
- Added effects.TracerSound
- Added sequence events to util.GetModelInfo
- Added util.IsBoxIntersectingBox
- Added
MATERIAL_CULLMODE_NONEfor render.CullMode - Added new arguments to Entity:DropToFloor
- Added new argument to HTML:ConsoleMessage
- Added Panel:SetTextHidden
- Added
MAX_PLAYER_BITSglobal - Added MainEyePos and MainEyeAngles
- Added IGModAudioChannel:GetTagsWMA & IGModAudioChannel:GetTagsMP4
- Added render.GetFogMaxDensity
- Added skin parameter to util.GetModelMeshes + up to 15% optimization
Fixes
- Fixed clientside sounds not firing WEAPON:FireAnimationEvent
- Fixed render.SetShadowsDisabled setting the shadow distance instead of disabling shadows
- Fixed duplicate HTTP headers being discarded instead of being joined with a comma like previously
- Fixed Player:Flashlight playing sounds when disabling a disabled flashlight, etc.
- Fixed list.GetEntry erroring when used
- Fixed infinite loops when calling Entity:DrawModel from GM:PrePlayerDraw/GM:PostPlayerDraw
Changes
- Blocked
editdemoconsole command from Lua just in case - Made ClientsideModel able to be hit by clientside only traces after initializing physics on it post creation
- When using physics. Collision bounds must be set manually if model changes.
- Try to end mesh.Begin when a mesh wasn't ended. (i.e. after a Lua error) It will still error afterwards like it did before. Prevents game hang, hopefully without side effects
- Change ents.CreateClientRope
slackparameter to work better - Make ents.CreateClientRope ropes despawn if any of its entities are removed
- Allow giving ents.CreateClientRope local vectors instead of attachment IDs
- Made Entity:PhysicsInitBox/Sphere set solidity before setting the physics object
- This improves behavior for those functions with ClientsideModel and is consistent with PhysicsInit()
- Validate input range for File:Read and File:Write, so the game does not crash with negative bytes to read
- Improved handling of BSP model names for Lua clientside entities (sets the model index so tracing code can work better)
- Improved handling of infinite loops with Entity:WaterLevel when called from the water level change hook
- Switch debugoverlay functions to better optional argument checking with type checking
- util.IsValidModel returns false if extension is not .mdl
- Changed render.DrawQuadEasy to use better optional argument handling (potentially breaking)
- Sandbox gamemode: Do not store the
NPCTable/VehicleTabletables on the entities (The name is still stored) - Player:GetPunchAngle will now error with
lua_strictset to 1 (deprecation warning) - Allow mesh.TexCoord to only accept 1 tex coord
- End current Lua mesh (if there is one) on Lua error - preventing game crashes and graphical glitches
- Optimizations for usage of GM:PlayerCanHearPlayersVoice - it will no longer be called for non speaking players
- Minor optimizations for most Lua functions returning a sequential table
- Minor adjustment to WEAPON:OnRemove for consistency of execution time with other
OnRemovehooks, no functional change expected
Deletions
- Nothing so far
Garry's Mod
Rust
Steamworks
Wiki Help