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 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 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)
- Added Hacked Manhack NPC to spawnmenu
- Added "Enable Stereo Enhancements" option to Audio options tab - This was previously only silently enabled if player chose "High" audio quality and "Headphones" Speaker Configuration
- Added ability to localize player model names, and categorize them
- Overhauled the default Player Model Selector - make it bigger, display player model categories and player-friendly names, improve model rendering
- Added right click menu with "reset to default color" and "copy to clipboard" options to Color Selection, Key Binder and Slider UI elements (when available, such as in the Player Model Editor and Sandbox tools)
Fixes
- Combine mines now ignore dead players
- Fixed some prediction errors for built-in weapons (Half-Life: Source .357 Revolver, Hornet Gun, Crossbow, Half-Life 2 Crossbow, SLAM)
- Fixed SLAM weapon not using world clicker angles, and some other bugs with it
- Restore
hud_draw_fixed_reticleconvar 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_floordying multiple times when shot while it's dying - Fixed SuperDOF tiling with
postercommand (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_episodicConVar set to1 - 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
- Health/Armor HUD width now expands to 4 digits at 1000 instead of 999
- 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_infernobell 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)
- Fixed regular Manhacks who are set hate each other via mods not being able to damage each other
- Fixed Creator tool ("Spawn with Tool Gun") not respecting world clicker aiming for props and not remembering prop skin and bodygroups
- Fixed water material on d2_coast_10
- Fixed freezes and crashes due to losing all audio devices (Windows)
- Fixed glowing foreheads on combine soldier player model
- Fixed Metrocop NPC model not having any specular reflections
- Improved reliability of the default voice chat HUD
- Fixed capitalization inconsistencies in English localization (Community Contribution)
- Fixed suit glove admire animation being invisible (only plays when player has no weapons)
- Make jeep animation seat default the steering animation to center instead of turning left
- Fixed content icons in spawnmenu search sometimes not having images (Community Contribution)
- Fixed Inflator tool being able to hit empty air around NPCs (their bounding box)
- Fixed inflator tool setting/maintaining fire rate only for left click
- Fixed only some Sandbox entities not spawning when looking very far away into the distance, now all entities consistently spawn at a certain distance away
- Fixed
Group03m/male_05.mdlplayer model using wrong texture directory and therefore wrong materials
Changes
- Combine Dropship NPC is no longer invincible in Sandbox
- NPCs now ignore spectating players that are alive
- Improved loading screen dialog to show more details when downloading workshop content
- Remove
engine_no_focus_sleepconvar, addfps_max_menuandfps_max_nofocusconvars - easier to understand "Max FPS" than "sleep time". - Try to scale NPC eye pupil size with head/model scale
- 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
- 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_pelletsConVar for primary fire - Allowed loading
.navfiles 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
- Change Weapon_*.Empty soundscript channels so the weapon empty sounds don't interfere with firing sounds or the reload sounds
- Update model light origin on a bunch more built-in train track models
- Try using a hull trace for "Can we reach ladder" LOS check - fixes the ability to attach to a Half-Life 2 ladder through certain walls with tiny gaps
- Do a Line of Sight trace when searching for ladder dismount entities, so players can't dismount through walls
- Reduced default clip of AR2 to match its clip size, and to be consistent with SMG1 and original Half-Life 2 behavior. This affects how much ammo you get when picking up the weapon from ground. (from 60 to 30)
- Updated spawnmenu search to support multiple search terms (Community Contribution)
- Make citizens use "canon" max ammo value when deciding whether to give player some ammo
- Make citizens hate gunships, dropships and helicopters if they have an RPG equipped, so they'd shoot at them
- Increase Hydraulic tool's speed slider range so its default value isn't out of bounds
- Added experimental error handling for Sandbox spawn related console commands to let the player know why they can't spawn something
- Updated medic rebel player models to support player colors (Community Contribution)
- Various improvements to Spawn Icon Editor - light presets, bigger size, more correct preview
- Implemented CTRL+Backspace and CTRL+Delete key combinations for text entries
- When hitting a Sandbox limit rapidly (such as when spawning a dupe), try to display only a single "you have hit the X limit" notification
Deletions
- None so far.
TTT Changes
- Added a check for if
GetHeadshotMultiplierfunction exists on carried weapon (Community Contribution) - Updated localization (Community Contributions)
- Fixed prepare state hooks running before map cleanup (Community Contribution)
- Fixed undefined variables and malformed patterns (Community Contribution)
- Fixed multi part "End of Round report" network transfer (Community Contribution)
- Micro optimization for some distance checks (Community Contribution)
- Made health station recharge timer per-entity, not global (Community Contribution)
- Swap fonts on Linux (Community Contribution)
- Restore original arctic playermodel color while in "serious mode" (Community Contribution)
- Handle failed entity creations without creating Lua errors (Community Contribution)
Technical Changes
Additions
- Added
ToggleHammer input to func_nav_avoid and func_nav_prefer - Added new Hammer inputs from Team Fortress 2 for all model entities -
SetModel,SetCycle,SetPlaybackRate - Enabled Half-Life 2: Episode 2
phys_slideconstraintnotifications for constraint sounds support - Added
sv_log_storetimeconvar (defaults to 0) - A number of hours to keep log files in/logs/for - Added
enable_fast_mathconvar (enabled by default) - Added
sv_standable_normalconvar
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_clwhen timer names are very long - Fixed cl_showents and some other console commands crashing when ran on SRCDS
- Fixed a crash when running
ai_test_losin multiplayer - Fixed rare Lua state corruption due to async Lua events after level change
- Left 4 Dead 1 & 2 .nav files can now successfully load
- 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_pistolprediction errors due to double CurTime changes that appeared only on dedicated servers - Fixed ammo/net library not resetting serverside on disconnect
- Fixed
func_conveyorapplying infinity as force to entities, causing physics engine crashes - Fixed certain maps having wrong fog colors due to
env_fog_controllermalicious blinding check - Fixed
GameState.txtbeing empty all the time - Fixed some instances of SRCDS trying to use clientside Steamworks APIs - Fixes [SAPI FAIL] messages
- Fixed game hang when
func_ladderis spawned via console commands - Restored ability to store generated VPROF reports to a file
- Fixed a crash with
DebugDrawPhysCollide - Fixed a crash issue with bone follower physics object management
- Do not render
$no_drawmaterials 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_lightingalways 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
VERTEXTEXTUREflag from textures when loading from disk, to prevent associated graphics bugs on Linux/MacOS - Potential Linux/MacOS crash fixes for community shaders
- Enforce
NOLODandNOMIPflags for.vtffiles without mipmaps, to prevent certain community textures refusing to load with low texture setting - Fixed a crash with vehicles on level transitions when precached entities are being deleted
- Fixed a different
Ctrl + LeftArrowkey combo crash withTextEntryUI component - Fixed crash dump console log for console messages without newlines (Msg, MsgC lua functions)
- Fixed most gamemode hooks in C++ trying to read a boolean return value from Lua and then never using it
- Implemented clientside string index search, so ParticleEffect can just work with clientside-only precaches now
- Potential fix for BaseAnimatingOverlay animation layers resetting on server join
- Fixes for potential client shadow manager crashes
- Fixed alignment of textures in
mat_texture_listtiles - Fixed another decal related crash
- Fixed numerous crashes when the server is at entity limit
- Fixed Combine Dropship being able to remove players
- Fixed
prop_effectin Sandbox dupes having wrong bounding boxes, causing dupe icons to generate too zoomed in - Fixed a crash in bone cache system
- Fixed a minor memory leak with CEF implementation
- Fixed Lua error in main menu when unsubbing from a workshop item after game start but before the main menu is fully initialized
- Fixed a few cases of FileFindHandle_t leaks
- Fixed BADDONCONTENT search paths not being removed on folder addon refresh
- Fixed clientside CGrabController crash
- Fixed
DToolTipandDMenuOptionspamming panel layouts every frame - Fixed potential crashes with ragdolls
- Apply potential fix for procedural bone sizing issues with complex community models
- Potential fix for cubemaps breaking when rendering spawnicons
- Resolve a bunch of bugs introduced by switch to double curtime, mostly to do with NPCs
- Fixed a crash to do with CalcDamageForceVector
- Fixed spawning NPCs too early (before world precache) breaking all NPCs until level change
- Fixed sound of the hidden Leafblower tool being spammed (Community Contribution)
- Prevent Lua errors when running
gmod_admin_cleanupcommand twice in a tick (Community Contribution) - Potential fixes for vphysics crazy position crashes to do with players exiting vehicles
- Fixed infinite recursion crash with ragdoll teleportation
- Fixed a number of crashes with npc_hunter if its physics object is deleted
- Try to prevent game breaking states when giving invalid values to m_yaw/m_pitch convars
Changes
- Enable
STUDIO_DRAW_NO_SHADOWSflag for PCF particle model renderer - Turn
host_state.interval_per_tickinto double - Update Steamworks API to version 1.64
- Disable player flashlight offsets when using viewmodel attachment for flashlight position
- Micro optimizations for the main menu, prop_effect initialization, table lookups in Sandbox tools, TTT spawnpoint selection, Thruster effects, Sandbox Light entity rendering, and halo library when rendering models with decals (Community Contributions)
- Minor changes to prop_effect rendering for better integration with community addons (Community Contribution)
- Swap colors in
snd_showdisplay for server and client sounds to match GMod error colors, add SV/CL prefix - Reduced
cl_detaildistto 3k from 4k by default to improve performance on some maps - Do not try to initialize
vaudio_speexvoice codec when using Steam voice system - Prevent player.CreateNextBot and
botcommand in singleplayer, so you are not kicked for "server is full" in singleplayer - 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 Team Fortress 2 SDK - Makes prediction errors with weapons not reset every predictable variable, causing player position jolt. This is what Half-Life 2: Deathmatch does already.
- Cleanup contents of the cache/workshop/ folder on dedicated servers for no longer used/installed addons
- Delete Lua error log files if they are over 100MB
- Set
sv_logdownloadlistto 0 by default, preventing generation of useless files ingarrysmod/DownloadLists/ - Moved
demoheader.tmpfile tocache/folder (safe to delete) - Moved
media/mapkeys.restosettings/mapkeys.res,media/folder now no longer needed on game installs - Improved default server log filename format to
L-YYYY-MM-DD-IIInow, wasLMMDDIIIwhich is incomprehensible at a glance - Prevented
sv_puredefaulting to mode 0, and dedicated servers trying to read files we don't ship every server startup - Improved error handling when failing to load Steamworks library, now should reliably say what the failure is as reported by Steamworks library itself
- 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_ARCHIVEflag fromdsp_volumeConVar - 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>.txtfiles - 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 it is 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 to be placed in the local area (Community Contribution)
- Improve Holly library related error handling - The game no longer crashes (64bit builds) when Holly.dll is missing
- Update
config_default.cfgto set ConVars to their defaults - mp_decals and sensitivity. Were set to 2x their default, now set to the actual default - 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
- Made sounds played via surface.PlaySound not be spatialized (so the UI sounds don't have echo, etc)
- Added some requested silkicon flag icons - IC, JE, GG, fixed EH flag to not be mirrored
- Make prop_physics WaterLevel code apply to all animating entities (SENTs) for more consistent WaterLevel results
- Make
_rt_ResolvedFullFrameDepthtexture use IMAGE_FORMAT_R32F - Clamp server's bot player count to total player count in the server list
r_visualizetraces 2now visualizes hull trace sizes- Clear all previous dismount spots when searching for ladder dismount spots, in case the ladder moved or something (addons)
- Apply crazy physics entity removal to movetype FLY(GRAVITY) entities - This fixes crossbow and SMG1 projectiles spamming warnings infinitely when they somehow fall outside of the map
- Improve "TWOPASS" brush rendering in shadow passes
- Removed unused NW vars in gmod_thruster code + switch remaining ones to DTVars system (Community Contribution)
- Minor adjustment to CBaseCombatCharacter::Weapon_Switch - Call CBaseCombatCharacter::OnChangeActiveWeapon
- Make
dsp_reloadconvar a cheat - Reduced DMenuBar spacing, removing it from the left side
- Enable
dumpstringtables <table>support to only print specific table (since it can print clientside only strings) - Enable localization for Information/Purpose/Instructions fields in spawnmenu tooltips on SWEPs/SENTs/etc (Community Contribution)
- Improved smoothness of various game systems at high curtime/uptime, such as certain NPCs firing, flying and certain types of entity animations
- Make playermodel editor sliders work consistently with other sliders - the value of the slider now actually matches the visual preview (Community Contribution)
- Display Lua net messages in the Net Graph with a separate color
- Automatically scale the Net Graph if it goes higher than half of the screen, so it doesn't cover it entirely
- Added fallbacks for SurfaceGGX and WorldGGX shaders (for mountable games)
- Moved "dynamic shadow poke through" community fix to opt in convar (r_shadow_clip) since it causes unwanted behavior sometimes
- Try preventing "non positional" control points bloating particle system bounding box - This should help with particle sorting
- Stopped some pointless materials being loaded on game start up
- Removed FCVAR_ARCHIVE from
sv_loadingurl- Don't want this to be saved on game clients - Removed FCVAR_ARCHIVE from
sv_skyname- Since it is reset on map load every time anyway
Deletions
- Removed unused steam client libraries on Linux
- Removed
linux_server_cycle.sh(unused) - Removed
dxsupport_sp.cfganddxsupport_episodic.cfg(unused files) - Removed
bin/vtex.ico- unnecessary file - Removed
glview.exe,height2normal.exeandheight2ssbump.exedev tools (unused or useless) - Removed
con_logfileconvar from code - fixes warnings about it missing when running certain console commands - Disable support for
dxsupport_override.cfg(unnecessary for GMod) - Removed
point_bonusmaps_accessorentity - Removed
env_debughistoryentity and its associated console commands (did nothing) - Removed unused/useless convars -
mat_software_aa*,r_flashlightscissor,hud_jeephint_numentries,hud_takesshots,filesystem_report_buffered_io,r_shader_srgbread,r_raindensity,r_drawvgui,mat_norendering,vgui_message_dialog_modal,voice_debugfeedback,g_ragdoll_lvfadespeed,hud_drawhistory_time,player_limit_jump_speed,tf_escort_score_rate,hud_airboathint_numentries,sv_hudhint_sound,striderbuster_magnetic_force_hunter,sniper_xbox_delay,systemlinkport,matchmakingport,xmove,xlook,cl_drawleaf,sv_dumpstringtables,sensor_smooth - Removed
sv_no_ain_filesconvar and just do not auto send.navand.ainfiles to clients at all - Removed
sv_unlockedchaptersconvar, stop readingscripts/ChapterBackgrounds.txton game start - Removed
test_freezeframeconcommand - Removed
CHudVoiceSelfStatusHUD element - Removed Half-Life 2 menu game logo and menu button code, and the inaccessible start new game dialog
- Removed
CTextStatsMgrinternal unused system that writes an unnecessary empty text file called "stats.txt" - 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 Half-Life 2/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 the unused Ragdoll Low Violence manager
- Removed some stub XBox related presence system, removes
user_contextanduser_propertyconcommands - Removed Logitech G15 integration leftovers and its convars - We never shipped the .dll for it to work, so I think it was always unusable, so just get rid of it entirely
- Removed PyroVision leftovers - the shader, the overlay render code, the
CReplacementProxy(replace_proxy) material proxy and a bunch ofpyro_*convars - Removed
r_sse2convar as there's no reason for this to be touched by players - Removed serverside
mat_hdr_tonemapscaleConVar - Removed
SetTonemapScaleandBlendTonemapScalehammer inputs fromenv_tonemap_controllerentity. These 2 inputs never actually functioned, especially in multiplayer, since they setmat_hdr_tonemapscaleConVar which is never read anywhere, and is reset every frame. - Removed unnecessary material override for Half-Life 2: Episode 2 Antlion Guard (Community Contribution)
Developer tool changes
Hammer
- Prevented Hammer unnecessarily writing raytraced preview to .tga files
- Added
env_detail_controllerentity to FGD (Community Contribution) - Improved GUI scaling with DPI in various areas
- Prevent spam about missing
$spriteFramematerial 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_spriteentities 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_decalpreviews - Fixed Hammer Entity KeyValue names in Object Properties drawing over the second column
info_particle_systemuses itseffect_namekeyvalue in Entity Report window- Made Map Errors and Entity Report dialogs wider
- Reduced flickering of camera view mode selectors in Hammer
- Added "Portal Visualization Width" option to Hammer 3D settings - Changes how thick "Load Portal File" lines are. Default is 2.
- Fixed Hammer crash when giving sprites a .mdl model
- Fixed Hammer crash when rendering certain materials
- Fixed some Hammer toolbar buttons not having descriptions/tooltips
- Fixed Detail Objects not rendering on brushes at all in Hammer
- Fixed an infinite loop with
TokenReader::IgnoreTill, causing custom malformed .fgd files to lock up Hammer on start up - Removed
"Hinge Axis (Non functional)"field fromprop_door_rotating - Added
"session_begin_ignore_version"hammer command - Removed "ReleaseVideoMemory" commands from Hammer
- Fixed Hammer material list leaking file search handles
Map Compile Tools
- Added support for
-embedto VBSP - Enable BSPZIP.exe compression (-repack argument ported from Team Fortress 2 version)
- VBSP: Fixed detail props not appearing on WorldVertexTransition materials when they are applied to brushes and not displacements
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
- Fixed HLMV not working when used as "Open file with" program in Windows
- 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
noforceloopfor 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/texcoords/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 physenv.SetTimeScale & physenv.GetTimeScale
- Added Player:GetFlashlightColor
- Added 5th optional argument to Entity:Dissolve - delay
- Added 2 new STUDIO enum flags - STUDIO_SKIP_FLEXES, STUDIO_SKIP_DECALS
- Added math.Sign (Community Contribution)
- Added new optional argument to steamworks.GetList - search string
- Added cam.GetProjectionMatrix and cam.GetViewMatrix
- Added CSoundPatch:GetSoundName
- Added 3 new formats for render.Capture - "rgba", "rgb" and "bgra"
- Added timer.IsPaused
- Added new argument to steamworks.FileInfo - bool extraInfo
- Added Entity:EmitStepSound
- Added CNavArea:GetLightIntensity - nav meshes must be updated with
nav_update_lightingto generate necessary data - Implement ENTITY:OnTraceAttack for
aiandanimtype SENTs - Added util.IntersectRayWithTriangle
- Added 2nd return to util.IntersectRayWithPlane - dist
- Added language.FormatPhrase
- Added player_manager.GetAllPlayerModels that includes categories/nice names
- Added 2 new arguments to player_manager.AddValidModel - nice name and category
- Added util.IsPlayerSpeaking
- Added DColorMixer:SetPaletteName
- Added player_manager.RemoveValidModel
- Added render.BindLocalCubemap
- Panel:RebuildSpawnIconEx now accepts "lightbox" and "lights" keys
Fixes
- Player:UnSpectate now fully cleans up values set on the player by Player:Spectate
- Fixed Player:Spectate sending 3 useless usermessages to the player
- Fixed "all keys are 0" check in util.KeyValuesToTablePreserveOrder to work like intended
- Fixed GM:Think 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
- Made bone manipulations not hijack Entity:SetRenderBounds calls, nullifying them
- Fixed returning from GM:PreDrawSkyBox causing area portals to flicker
- Fixed DPanelList ownLine handling
- Fixed DPanelSelect re-running ConVars for each added item on creation
- Fixed DColorMixer:GetVector being always 1 change behind - This changes GetColor in DColorMixer:ValueChanged to be the new value
- Try to make Entity:IsPlayerHolding more reliable
- ColorToHSV no longer truncates returned hue to integer
- Fixed DLabel:SetDisabled always calling Panel:InvalidateLayout, even when the enabled value did not change
- Fixed string.FormattedTime returning incorrect millisecond value (divided by 10)
- Fixed couple potential Lua stack corruption issues with GM:CreateClientsideRagdoll and GM:EntityEmitSound hooks
- Fixed IMesh:BuildFromTriangles reading bone weights from the wrong table
Changes
- GM:PostPlayerDraw now throws a non halting error when an infinite loop is broken to let developers know there's an issue
- string.ToColor can now accept inputs without alpha channel (Community Contribution)
- Added cyclic table reference test to net.WriteTable and util.TableToKeyValues to prevent game hangs and developer confusion
- Reworked cvars.AddChangeCallback 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 surface.SetAlphaMultiplier every frame
- Switched Lua timers to use double precision curtime
- resource.AddWorkshop 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 file path related functions in string library (Community Contribution)
- sound.Add throws errors when given no "name" or "sound" fields
- Optimizations for Vector:ToColor and Entity:BeingLookedAtByLocalPlayer (Community Contributions)
- Narrow down PhysObj:SetMass input checks to prevent crashes (from 0 to 0.1 as minimum)
- GM:PlayerStartVoice & GM:PlayerEndVoice now get called consistently even if the player entity does not exist. They also both consistently get the PlayerIndex argument
- Make DHorizontalDivider work with percentages instead of raw pixel values - This helps when resizing the parent panel, and when screen resolution changes between game sessions
- Make DColorMixer palette centered and attempt to size it correctly to fit an even number of colors per row
- render.SetLocalModelLights sets missing lights in the input table to disabled state
- Changed order of GM:DrawOverlay, GM:PostRenderVGUI and GM:PostRender hooks so they cannot cover up the main menu when it is open
- Disabled GM:PreRender return value (kill all game rendering) while main menu is open
- Made Lua VGUI panels never overlap the main menu when it is open
- Allow Lua matproxies without a
bindfunction (so only init is ran per material instance) - Apply "10+ loop deep" error to GM:PrePlayerDraw as well (Was only activated for GM:PostPlayerDraw before)
- Do not clamp flexes of
C_BaseFlexentities when set from Lua on clientside only entities
Deletions
- Blocked various convars (ones that save between sessions) from being modifiable by Lua
- Removed built-in "VehicleMemDupe" entity modifier - Appears to really just do nothing useful
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