Revision Difference
Update_Preview_Changelog#568255
<cat>Play</cat>
<title>Update Preview Changelog</title>
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](Dev_Branch), and possibly on the `prerelease` beta branch.
# Game Changes
## Additions
* Added Insurgency (Standalone) to mountable games list
* Added "Downloaded" category to Addons menu
* This lists ALL locally downloaded workshop items that are not currently subscribed to, such as those from server downloads (WorkshopDL) and steamworks.DownloadUGC
* You are able to mark stuff unused from the menu without having to wait for 2 weeks to for Steam to automatically delete the server downloaded content
* 64-bit builds of the game client, Hammer and dedicated server are now available on Windows
* Build and ship srcds_console.exe (Windows only) - srcds.exe variation that does not create a new console window every time and reuses existing one
* Ability to hide disabled Sandbox tools (Community Contribution)⤶
* Implemented sub categories for Spawnmenu content (entities, NPCs, weapons, etc) (Community Contribution)⤶
## Fixes
* Combine mines now ignore dead players
* Fixed some prediction errors for built-in weapons (HL1 357, Hornet Gun, Crossbow, HL2 Crossbow, SLAM)
* Fixed SLAM weapon not using world clicker angles, and some other bugs with it
* Restore `hud_draw_fixed_reticle` convar as an alternative texture for default crosshair
* Implement fade time for ragdoll gibs from props in multiplayer - also fixes them not being cleaned up on map cleanup
* Fixed SpawnIcon positioning for certain models with bounds only in positive space on each axis (Community Contribution)
* Fixed Crossbow bolts, RPG rockets and SMG1 grenades hitting surrounding bounds of weapons, ammo and similar entities
* Make hitting invulnerable props with Crossbow bolts apply physics force to them
* Fixed `npc_turret_floor` dying multiple times when shot while its dying
* Fixed SuperDOF tiling with `poster` command (will still be blurry as it just stretches the texture)
* Fixed SuperDOF final result texture not rendering while main menu is open
* Fixed legacy server browser launching server refresh on game start if last tab was not "Internet"
* Spawnmenu search now works for localized names (Community Contribution)
* Fixed Fast Headcrabs using Normal Headcrab health convar
* Fixed level transitions inside a vehicle resetting player's move type - this was causing the player to drift away from vehicles on collisions
* Make Player's MaxArmor save across level transitions⤶
* Fixed armor being stripped on level change with `hl2_episodic` ConVar set to `1`⤶
* Make player model Alyx use separate head material - Fixes Alyx NPC losing phong detail on the head material⤶
* Fixed vertex normals on Crossbow and Gravity Gun (LOD 1) world models⤶
* Fixed some Black Mesa map sounds not playing, such as the voice lines⤶
* Fixed Health/Armor HUD width extending to 4 digits at 999 and not at 1000⤶
* Fixed Hornet Gun giving 1000s of ammo on spawn/equip for high uptime games⤶
* Made Hornet Gun regenerate ammo only up to canonical max value of 8 (can still get 9999 ammo, just not through regen)⤶
* Added missing CS:S `de_inferno` bell sound scripts (Community Contribution)⤶
* Added "impactsoft" sound to "watermelon", "dirt" and "carpet" material types (Community Contribution)⤶
* Fixed potential Lua errors when the server is at the entity limit (Community Contribution)⤶
* Fixed display of the friendly state of NPCs in kill feed when they kill a player (Community Contribution)⤶
## Changes
* NPCs now ignore spectating players that are alive
* Improved loading screen dialog to show more details when downloading workshop content
* Remove `engine_no_focus_sleep` convar, add `fps_max_menu` and `fps_max_nofocus` convars - easier to understand "Max FPS" than "sleep time".
* Try to scale NPC eye pupil size with head/model scale
* Fixed Inflator tool being able to hit NPC bounding box
* Updated the Inflator effect so you are able to see what you are doing. It will also look different between inflating/deflating
* Combine APC vehicle tweaks
* Replace the vehicle entity with the big gib in undo/cleanup systems when the APC explodes
* APC can now explode without a driver
* Prevent potential crashes at entity limit
* Implemented chained command (e.g. cmd1;cmd2) auto complete for in-game console (Community Contribution)
* Barnacle NPC tweaks
* Prevent barnacles trying to grab PhysGun frozen props since they'd be unable to grab those props and will just keep tugging at them forever
* Heavy and frozen props will cause barnacle tongue to float above said props, not go through them
* Try to prevent rare barnacle crash
* Make Half-Life 2 Shotgun use `sk_plr_num_shotgun_pellets` ConVar for primary fire⤶
* Allowed loading `.nav` files from mountable games as a fallback (addons take precedence)⤶
* Try to cancel active Steam Workshop downloads when disconnecting from a server mid-download⤶
* Added ability to add dupes/saves/demos to favorites, and display of whether an item was upvoted or not⤶
* Try waiting for Steam Workshop mounts when loading a map - specifically when starting a new game, aimed at usage of "+map" in command line parameter, so Workshop content is present when map loading finishes⤶
* Moved Black Mesa Deathmatch maps into Black Mesa category, added remaining Black Mesa map icons⤶
* Added sub categories to Half-Life 2 ammo/consumable entities in spawn menu⤶
* Adjusted TextEntry UI component scrolling to take into account language ID box, so it doesn't cover text⤶
## Deletions
* None so far.
## TTT Changes
* Added a check for if `GetHeadshotMultiplier` function exists on carried weapon (Community Contribution)
* Turkish localization improvements (Community Contribution)
* Fixed prepare state hooks running before map cleanup (Community Contribution)⤶
* Use squared distance checks instead of regular distance checks where possible (micro optimization) (Community Contribution)⤶
* Fixed undefined variables and malformed patterns (Community Contribution)⤶
* Fixed multi part "End of Round report" network transfer (Community Contribution)⤶
* Made health station recharge timer per-entity, not global (Community Contribution)⤶
# Technical Changes
## Additions
* Added `Toggle` Hammer input to Func_NavCost
* Added new Hammer inputs from TF2 for all model entities - `SetModel`, `SetCycle`, `SetPlaybackRate`
* Enabled Half-Life 2: Episode 2 `phys_slideconstraint` notifications for constraint sounds support
* Added `sv_log_storetime` (defaults to 0) - A number of hours to keep log files in `/logs/` for
* Added `enable_fast_math` (enabled by default)
## Fixes
* Fixed "Render models" particle renderer not setting up model lighting
* Fixed Faceposer tool creating one extra convar
* Prevent "`give`" console command creating certain forbidden entities that would crash the game
* Cache sound durations to avoid file parsing every time a sound is played (especially on dedicated servers)
* Fixed a crash with `lua_dumptimers_cl` when timer names are very long
* Fixed cl_showents and some other console commands crashing when ran on SRCDS
* Fixed rare Lua state corruption due to async Lua events after level change
* L4D1 & L4D2 .nav files can now successfully load (but are still not mounted)
* Fixed double "scripted_ents library is not a table." warnings
* Fixed potential crashes with Lightmapped_4WayBlend in DirectX 8 mode
* Fixed DxSupport system not working correctly, breaking per-GPU graphics presets
* Fixed Max Health not updating correctly in singleplayer for local player clientside
* Fixed Airboat water wake effect drawing in the depth pass
* Fixed local player volume being NaN for a split second when starting to talk
* Fixed `weapon_pistol` prediction errors due to double CurTime changes that appeared only on dedicated servers
* Fixed a crash with when running `ai_test_los` in multiplayer
* Fixed ammo/net library not resetting serverside on disconnect
* Fixed `func_conveyor` applying infinity as force to entities, causing physics engine crashes
* Fixed certain maps having wrong fog colors due to `env_fog_controller` malicious blinding check
* Fixed `GameState.txt` being empty all the time
* Fixed some instances of SRCDS trying to use clientside Steamworks APIs - Fixes [SAPI FAIL] messages
* Fixed game hang when `func_ladder` is spawned via console commands
* Restored ability to store generated VPROF reports to a file
* Fixed an NPE crash with `DebugDrawPhysCollide`⤶
* Fixed a crash issue with bone follower physics object management⤶
* Do not render `$no_draw` materials on models in depth pass⤶
* Fixed a crash with `game.MountGMA`⤶
* Fixed NPC footsteps not using leg positions for trace start location, so now the footsteps should be more accurate to the surface under each foot⤶
* Fixed NPC footsteps not respecting intended footstep sound volume⤶
* Fixed `nav_update_lighting` always applying black color to the nav areas, now correctly samples map data⤶
* Do not search for spray file cache (other people's sprays) in addons/mountable games⤶
* Fixed an infinite loop in the client shadow system⤶
* Fixed procedural bones not working correctly (being applied twice)⤶
* Fixed a crash with `"decals/rendermodelshadow"` material (its material proxy)⤶
* Fixed minor logic errors in base game Lua code (Community Contribution)⤶
* Fixed warnings about "LuaParticles non 0 refcount on removal"⤶
* Remove `VERTEXTEXTURE` flag from textures when loading from disk, to prevent associated graphics bugs on Linux/MacOS⤶
* Enforce `NOLOD` and `NOMIP` flags for `.vtf` files without mipmaps, to prevent certain community textures refusing to load with low texture setting⤶
* Fixed a crash with vehicles on level transitions and precached entities being deleted⤶
* Fixed a different `Ctlr + LeftArrow` key combo crash with `TextEntry` UI component⤶
* Fixed crash dump console log for console messages without newlines (Msg, MsgC lua functions)⤶
## Changes
* Enable `STUDIO_DRAW_NO_SHADOWS` for for PCF particle model renderer
* Turn `host_state.interval_per_tick` into double
* Update Steamworks API to version 1.64
* Disable player flashlight offsets when using viewmodel attachment for flashlight position
* Micro optimizations for Thruster effects (Community Contribution)
* Minor changes to prop_effect rendering for better integration with community addons (Community Contribution)
* Swap colors in `snd_show` display for server and client sounds to match GMod error colors, add SV/CL prefix
* Reduced `cl_detaildist` to 3k from 4k by default to improve performance on some maps
* Do not try to initialize `vaudio_speex` voice codec when using Steam voice system
* Prevent player.CreateNextBot and `bot` command in singleplayer, so you are not kicked for "serevr is full" in singleplayer
* Mark all `g_debug_*` convars as cheats consistently
* Micro optimization for halo library when rendering models with decals (Community Contribution)
* Removed trailing newline from certain disconnect messages for consistency
* Marked a bunch of debug console commands and console variables as cheats for consistency
* Implemented partial prediction latch resets from TF2 SDK/CS:GO - Makes prediction errors with weapons not reset every predictable variable, causing player position jolt. This is what HL2DM does already.
* Cleanup contents cache/workshop/ folder on dedicated servers for no longer used/installed addons
* Delete Lua error log files if they are over 100MB
* Set `sv_logdownloadlist` to 0 by default, preventing generation of useless files in `garrysmod/DownloadLists/`
* Moved `demoheader.tmp` file to `cache/` folder (safe to delete)
* Moved `media/mapkeys.res` to `settings/mapkeys.res`, `media/` folder now no longer needed on game all installs
* Improved default server log filename format to `L-YYYY-MM-DD-III` now, was `LMMDDIII` which is incomprehensible at a glance
* Prevented `sv_pure` defaulting to mode 0, and dedicated servers trying to read files we don't ship every server startup
* Improved error handing when failing to load Steamworks library, now should reliably say what the failure is as reported by Steamworks library itself
* Micro optimizations for `gmod_light` entity rendering (Community Contribution)
* Consistent stripping of bogus characters from server names (Community Contribution)
* Lua implementations of TypeID and is[type] global functions for improved execution speed (Community Contribution)
* Switched texture memory debug variables to 64bit integers⤶
* Removed `FCVAR_ARCHIVE` flag from `dsp_volume` ConVar⤶
* Reset MaxArmor on player spawn to match MaxHealth⤶
* Adjust texture list panel header to scale with screen width⤶
* Updated gm_flagrass and gm_construct navmeshes with lighting info⤶
* Added VPROF scopes to various community requested areas for performance profiling⤶
* Don't treat `"workshop"` and `""` as valid addon names for "files in this addon" searches⤶
* Prevent main menu backgrounds scanning 2 paths on each file open, one always having nothing.⤶
* Improved error handling with missing data in `<gamemode>.txt` files⤶
* Don't fruitlessly search workshop content for every mounted path - only search in addons for each Workshop path⤶
* Do not mount `gamemodes/` for menu state Lua, since its unused there⤶
* Updated Sandbox Undo system UI code to be more self contained and flicker less on refresh⤶
* Refactor cleanup tool UI to be more self contained (Community Contribution)⤶
* Added dormancy check to Sandbox Lights, so lights outside of PVS no longer produce light, allowing more lights be placed on local area (Community Contribution)⤶
* Micro optimizations for the main menu (Community Contribution)⤶
* Micro optimization: Use `ents.Iterator` instead of `ents.GetAll` in a couple of places (Community Contribution)⤶
* Improve Holly library related error handing - The game no longer crashes (64bit builds) when Holly.dll is missing⤶
* Update `config_default.cfg` to set ConVars to their defaults - mp_decals and sensitivity. Were set to 2x their default, now set to the actual default⤶
* Entity.BeingLookedAtByLocalPlayer optimizations (Community Contribution)⤶
* Reset stale gamemode details on server list refresh (Community Contribution)⤶
* Added some decal related nullptr checks⤶
* Prevent invisible Projected Textures (brightness 0) from trying to render projected shadows⤶
## Deletions
* Removed unused steam client libraries on Linux
* Removed `linux_server_cycle.sh` (unused)
* Removed `height2normal.exe` & `height2ssbumb.exe` (unused)
* Removed `con_logfile` from code - fixes warnings about it missing when running certain commands
* Removed `dxsupport_sp.cfg` and `dxsupport_episodic.cfg` (unused files)
* Disable support for `dxsupport_override.cfg` (unnecessary for GMod)
* Removed `bin/vtex.ico` - unnecessary file
* Stop some pointless materials being loaded on game start up
* Removed a bunch more Xbox360 GameUI code
* Removed `point_bonusmaps_accessor` entity
* Removed `hud_drawhistory_time`, `player_limit_jump_speed` convar (unused)
* Removed `test_freezeframe` concommand
* Removed FCVAR_ARCHIVE from `sv_loadingurl` - Don't want this to be saved on game clients
* Removed `CHudVoiceSelfStatus` HUD element
* Removed unused/useless convars - `tf_escort_score_rate`, `hud_airboathint_numentries`, `sv_hudhint_sound`, `striderbuster_magnetic_force_hunter`, `sniper_xbox_delay`, `systemlinkport`, `matchmakingport`, `xmove`, `xlook`
* Removed `glview.exe` as it appears useless
* Removed `CTextStatsMgr` internal unused system that writes an unnecessary empty text file called "stats.txt"
* Removed `sv_no_ain_files` and just do not auto send `.nav` and `.ain` files to clients
* Disabled startup videos system - It was non functional anyway, but now we don't ship an empty file in `media/` and read it on every game start up
* Disabled dedicated server status bar on Windows - causes issues with console history
* Removed the HL2/Portal demo code - It was calling some clientside Steamworks APIs on the game server
* Disable MMX and 3DNow code - it was never really used by modern computers and was only implemented for 32bit Windows
* Removed `r_sse2` convar as there's no reason for it to be touched
* Removed serverside `mat_hdr_tonemapscale` ConVar & some related entity IO⤶
* Removed `SetTonemapScale` and `BlendTonemapScale` hammer inputs from `env_tonemap_controller` entity. These 2 inputs never actually functioned, especially in multiplayer, since they set `mat_hdr_tonemapscale` ConVar which is never read anywhere, and is reset every frame.⤶
* Removed the unused Ragdoll Low Violence manager⤶
* Removed `g_ragdoll_lvfadespeed` ConVar⤶
* Removed `env_debughistory` entity and its associated console commands (did nothing)⤶
* Blocked some more archived (to disk) convars⤶
* Removed hud_jeephint_numentries, hud_takesshots, filesystem_report_buffered_io, r_shader_srgbread - unused⤶
* Removed some stub XBox related presence system, removes `user_context` and `user_property` concommands⤶
* Removed PyroVision leftovers⤶
* Removed shader, removed the overlay render code, removed `CReplacementProxy` material proxy (`replace_proxy`)⤶
* Removed a bunch of `pyro_*` convars⤶
* Removed unnecessary material override for Half-Life 2: Episode 2 Antlion Guard (Community Contribution)⤶
# Developer tool changes
## Hammer
* Prevented Hammer from writing raytraced preview to .tga files (seems unnecessary?)
* Added `env_detail_controller` entity to FGD (Community Contribution)
* Improved GUI scaling with DPI in various areas
* Prevent spam about missing `$spriteFrame` material parameter
* Fixed sprites with the same material only ever rendering with one render mode, even if different sprite entities use different render modes with the same material
* Sprite helpers inherit entity color, so `env_sprite` entities show correct sprite color
* Fixed Hammer Carve command wiping all overlay faces, even if they are not carved
* Prompt the user for a new name if picking an entity that has no name
* Fixed up/down arrows in "Make hollow" popup not doing anything
* Fixed undo breaking `info_decal` previews
* Fixed Hammer Entity KeyValue names in Object Properties drawing over the second column
* `info_particle_system` uses its `effect_name` keyvalue in Entity Report window
* Made Map Errors and Entity Report dialogs wider
* Reduced flickering of camera view mode selectors in Hammer
* Added "Portal Vizualization Width" option to Hammer 3D settings - Changes how thick "Load Portal File" lines are. Default is 2.
## Map Compile Tools
* Added support for `-embed` to VBSP
* Enable BSPZIP.exe compression (-repack argument ported from TF2 version)
## Other
* HLMV tweaks
* Make frame slider taller
* Enable Middle Mouse to translate the camera
* Fixed error spam if using certain previews before loading a model
* Origin Axis can draw without a model
* Improve default camera angle (on launch, when no model)
* Update HLMV control panel layout to be less claustrophobic
* Fixed HLMV crashes when there are no hitbox sets
* Fixed HLMV sliders not scrolling expected amount
* StudioMDL tweaks
* Fixed engine (studiomdl.exe) failing to run DMXConvert on any files with spaces in the file path
* Made StudioMDL errors red color
* Added support for `noforceloop` for animations, `$appendblankbodygroup`, `$preservetriangleorder`, `$bboxonlyverts`
* Some better error reporting
* Increased StudioMDL file buffer size from 32MB to 128MB so large models can be written without crashing
* Fixed a StudioMDL crash to do with DMX imported models
* Removed hardcoded limits from StudioMDL DMX support for normals/textcoords/faces specifically
* Fixed some issues with HLfaceposer.exe - fixed a crash, missing textures
* Ship our own builds of vtf2tga, splitskybox, captioncompiler and elementviewer binaries (previously were pre-built 2013 versions)
# Lua API Changes
## Additions
* Added <page>physenv.SetTimeScale</page> & <page>physenv.GetTimeScale</page>
* Added <page>Player:GetFlashlightColor</page>
* Added 5th optional argument to <page>Entity:Dissolve</page> - delay
* Added 2 new <page>Enums/STUDIO</page> flags - STUDIO_SKIP_FLEXES, STUDIO_SKIP_DECALS
* Added <page>math.Sign</page> (Community Contribution)
* Added new optional argument to <page>steamworks.GetList</page> - search string
* Added <page>cam.GetProjectionMatrix</page> and <page>cam.GetViewMatrix</page>
* Added <page>CSoundPatch:GetSoundName</page>
* Added 3 new formats for <page>render.Capture</page> - "rgba", "rgb" and "bgra"
* Added <page>timer.IsPaused</page>
* Added new argument to <page>steamworks.FileInfo</page> - bool extraInfo
* Added Entity:EmitStepSound⤶
* Added CNavArea:GetLightIntensity - nav meshes must be updated with `nav_update_lighting` to generate necessary data⤶
* Implement ENTITY:OnTraceAttack for `ai` and `anim` type SENTs⤶
* Added util.IntersectRayWithTriangle⤶
* Added 2nd return to util.IntersectRayWithPlane - dist⤶
## Fixes
* <page>Player:UnSpectate</page> now fully cleans up values set on the player by <page>Player:Spectate</page>.
* Fixed <page>Player:Spectate</page> sending 3 useless usermessages to the player
* Fixed "all keys are 0" check in <page>util.KeyValuesToTablePreserveOrder</page> to work like intended
* Fixed <page>GM:Think</page> hook serverside running when server is paused (double curtime to float truncation issue)
* Fixed cookie.GetString not returning consistent types, not returning values set right after cookie deletion (Community Contribution)⤶
* Fixed Entity:Remove removing stuff prematurely when crazy physics is involved⤶
## Changes
* <page>GM:PostPlayerDraw</page> now throws a non halting error when an infinite loop is broken to let developers know there's an issue
* <page>string.ToColor</page> can now accept inputs without alpha channel (Community Contribution)
* Added cyclic table reference test to <page>net.WriteTable</page> and <page>util.TableToKeyValues</page> to prevent game hangs and developer confusion
* Reworked <page>cvars.AddChangeCallback</page> filter
* Convars that cannot be identified as server only or client only now run the callback in both realms
* FCVAR_PROTECTED convars no longer run this callback at all
* Reset <page>surface.SetAlphaMultiplier</page> every frame
* <page>string.ToColor</page> can now accept inputs without alpha channel (Community Contribution)
* Switched Lua timers to use double precision curtime
* <page>resource.AddWorkshop</page> bails when given empty input or input that is too short - Also throws non halting error with `lua_strict 1`⤶
* Make render.ComputeLighting 2nd argument optional⤶
* Optimized path functions in string library (Community Contribution)⤶
* sound.Add throws errors when given no "name" or "sound" fields⤶
## Deletions
* Make `vcr_verbose` convar blocked from Lua and a cheat
* Block some `snd_` and `dsp_` cvars that save across sessions
# 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.
Garry's Mod
Rust
Steamworks
Wiki Help