Garry's Mod Wiki

Revision Difference

Update_Preview_Changelog#568261

<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) * 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⤶ * Combine Dropship NPC is no longer invincible in Sandbox⤶ * 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 (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) * 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⤶ ## 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 * 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 HL2 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 AR2 default clip to match its clipsize to be consistent with SMG1 and original HL2 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 why they can't spawn something⤶ ## 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) * Swap fonts on Linux (Community Contribution)⤶ * Updated Russian localization (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) * Enable `dumpstringtables <table>` support to only print specific table (since it can print clientside only strings)⤶ ## 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 * Potential Linux/MacOS crash fixes for community shaders⤶ * 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) * Fixed most gamemode hooks in C++ trying to read a boolean return value from Lua and then never use 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_texutre_list` tiles⤶ * 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_effect` in 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 `DToolTip` and `DMenuOption` spamming panel layouts every frame⤶ ## 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 * Made sounds played via surface.PlaySound not be spatialized (so the UI sounds don't have echo, etc)⤶ * Replaced a bunch ARCHIVE flags with CHEAT flags for debug convars⤶ * 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_ResolvedFullFrameDepth` texture use IMAGE_FORMAT_R32F⤶ * Micro optimizations for table lookups in Sandbox tools and TTT spawnpoint selection (Community Contribution)⤶ * Clamp server's bot player count to total player count in the server list⤶ * `r_visualizetraces 2` now 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)⤶ * Micro optimization for prop_effect initialization (Community Contribution)⤶ * Minor adjustment to CBaseCombatCharacter::Weapon_Switch - Call CBaseCombatCharacter::OnChangeActiveWeapon⤶ * Make `dsp_reload` a cheat⤶ * Reduced DMenuBar spacing, removing it from the left side⤶ ## 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 unused/useless convars - `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`⤶ * 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) * Removed r_raindensity, r_drawvgui, mat_norendering, vgui_message_dialog_modal, voice_debugfeedback⤶ * Removed r_flashlightscissor entirely - It was already disabled in-engine, but was duplicated in model rendering and did basically nothing if enabled, and was always disabled on game start anyway⤶ * Removed Logitech G15 integration leftovers and its convars - We never shipped the .dll for it work, so I think it was always unusable, so just get rid of it entirely⤶ * Removed HL2 start new game dialog code - It was already made inaccessible prior, but now removed entirely⤶ * Removed more XBox GameUI stuff⤶ * Removed FCVAR_ARCHIVE from sv_skyname - Since it is reset on map load every time anyway⤶ * Removed HL2 menu game logo and menu button code⤶ * Removed mat_software_aa* convars, related to an Xbox360-locked feature⤶ * Removed sv_unlockedchapters convar, stop reading `scripts/ChapterBackgrounds.txt` on game start⤶ # 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. * 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⤶ ## Map Compile Tools * Added support for `-embed` to VBSP * Enable BSPZIP.exe compression (-repack argument ported from TF2 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 `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 * Added <page>Entity:EmitStepSound</page>⤶ * Added <page>CNavArea:GetLightIntensity</page> - nav meshes must be updated with `nav_update_lighting` to generate necessary data * Implement <page>ENTITY:OnTraceAttack</page> for `ai` and `anim` type SENTs * Added <page>util.IntersectRayWithTriangle</page>⤶ * Added 2nd return to <page>util.IntersectRayWithPlane</page> - dist * Added <page>language.FormatPhrase</page>⤶ * Added <page>player_manager.GetAllPlayerModels</page>() that includes categories/nice names⤶ * Added 2 new arguments to <page>player_manager.AddValidModel</page> - nice name and category⤶ * Added <page>util.IsPlayerSpeaking</page>⤶ * Added <page>DColorMixer:SetPaletteName</page>⤶ * Added <page>player_manager.RemoveValidModel</page>⤶ ## 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 * Fixed <page>cookie.GetString</page> not returning consistent types, not returning values set right after cookie deletion (Community Contribution) * Fixed <page>Entity:Remove</page> removing stuff prematurely when crazy physics is involved * Made bone manipulations not hijack <page>Entity:SetRenderBounds</page> calls, nullifying them⤶ * Fixed returning from <page>GM:PreDrawSkyBox</page> causing area portals to flicker⤶ * Fixed <page>DPanelList</page> ownLine handling⤶ * Fixed <page>DPanelSelect</page> re-running ConVars for each added item on creation⤶ * Fixed <page>DColorMixer:GetVector</page> being always 1 change behind - This changes GetColor in DColorMixer:ValueChanged to be the new value⤶ * Try to make <page>Entity:IsPlayerHolding</page> more reliable⤶ * <page>Global.ColorToHSV</page> no longer truncates returned hue to integer⤶ * Fixed <page>DLabel:SetDisabled</page> always calling Panel:InvalidateLayout, even when the enabled value did not change⤶ ## 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 * Make <page>render.ComputeLighting</page> 2nd argument optional * Optimized file path related functions in <page>string</page> library (Community Contribution) * <page>sound.Add</page> throws errors when given no "name" or "sound" fields * Optimizations for <page>Vector:ToColor</page> (Community Contribution)⤶ * Narrow down <page>PhysObj:SetMass</page> input checks to prevent crashes (from 0 to 0.1 as minimum)⤶ * <page>GM:PlayerStartVoice</page> & <page>GM:PlayerEndVoice</page> now get called consistently even if the player entity does not exist. They also both consistently get the PlayerIndex argument⤶ * Make <page>DHorizontalDivider</page> work with percentages instead of raw pixel values - This helps when resizing of the parent panel, and when screen resolution changes between game sessions⤶ * Make <page>DColorMixer</page> palette centered and attempt to size it correctly to fit even amount of colors per row⤶ * <page>render.SetLocalModelLights</page> 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 <page>GM:PreRender</page> return value (kill all game rendering) while main menu is open⤶ * Made Lua VGUI panels never overlap the main menu when it is open⤶ ## Deletions * Make `vcr_verbose` convar blocked from Lua and a cheat * Block some `snd_` and `dsp_` cvars that save across sessions * Added a bunch of other FCVAR_ARCHIVE cvars to Lua blocklist⤶ * Removed built-in "VehicleMemDupe" entity modifier - Appears to really just do nothing useful⤶ ⤶ ⤶ # network_test beta exclusive changes⤶ ⤶ # 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.