Garry's Mod Wiki

Revision Difference

Update_Preview_Changelog#561852

<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 `physcannon_instant` (defaults to 1) * Exactly as it sounds, makes the gravity gun be able to be used instantly after switching to it, bypassing deploy animation (and `sv_defaultdeplyspeed`). The default value preserves the original HL2/GMod behavior * Spawnmenu addon spawnlist generator for right click menu, similar to the one for mounted games * Added some existing models to the Lamp Tool, for more variety * Added the ability to auto join full servers when they get a free slot to the default server browser * Added the ability to add servers to favorites by IP to the default server browser * New spawnicon editor options - Move speed customization, FOV precise control, camera position copy/paste, quick rotate model +/- 45deg, Fixed selecting text in spawnicon editor only working on second try, forced LOD to highest * Display SENT/SWEP usage info in spawnmenu tooltip ## Fixes * Fixed playermodel drifting away in `prop_vehicle_crane` when holding W or S * Fixed Winch right click not setting rope color correctly * Fixed inflator tool no longer working on NPCs * Fixed NPC kill related achievements not working * Fixed Lua being able to make the main menu fully black on disconnect * Fixed toolgun ghost entity fading out at distance in singleplayer on some maps * Fixed Color Modify post processing effect defaults not resetting invert * Fixed `fsd-overrun-toy.mdl` physics mesh being rotated 90 degrees (Community Contribution) & reduced its mass * Fixed spawning normal combine soldiers from spawnmenu with shotguns having their skin set to the shotgunner one * Fixed portal turret playing its disintegration sound twice when disintegrated via mods * Fixed player disconnection message sometimes not appearing, due to the player object being gone too soon * Fixed volume of certain sounds not being set briefly when first loading into a map - This fixes game making sounds when not focused when the option to specifically prevent that is enabled * Fixed auto generated spawnlists from mountable games disappearing on reload because they were incorrectly having "needs app" being set to the app ID, and not the app folder. ## Changes * Fixed tiny amount of damage (less than 0.1) taking a whole armor point * Do not render first person Physics Gun effects during skybox pass * Updated localization files * Change "Filter" label on console to better represent what it does * Strip certain unicode character groups from server & gamemode names - It's mostly the obnoxious box characters * Moved extracted .gmas from addons/ to cache/workshop/ - This simplifies code and allows this: * Reworked menu_cleanupgmas to take into account server downloads - Meaning, Workshop files downloaded from servers and extracted, then deleted by Steam in 2 weeks, now get detected as useless extracted versions and are prompted for deletion * Do not fully disable the crosshair if player is dead, so it is visible when spectating a player in first person view, or flying around the map in spectate mode and cl_observercrosshair is set to 1 (default) * Strip certain Unicode character groups from server & gamemode names - It's mostly the obnoxious box characters * Moved extracted `.gmas` from addons/ to cache/workshop/ - This simplifies code and allows this: * Reworked `menu_cleanupgmas` to take into account server downloads - Meaning, Workshop files downloaded from servers and extracted, then deleted by Steam in 2 weeks, now get detected as useless extracted versions and are prompted for deletion * Do not fully disable the crosshair if player is dead, so it is visible when spectating a player in first person view, or flying around the map in spectate mode and `cl_observercrosshair` is set to 1 (default) * Visually and physically disable (but not hide) disabled Sandbox tools - https://files.facepunch.com/rubat/1b0311b1/dLCCdKRb8T.png * Display a warning when trying to activate tools without a toolgun * Force spawnlist file names to lower case on save * Moved "Delete multiple items" in spawnmenu multi-select right click to the bottom - This is consistent with normal spawnicon right click item order * Moved `"Delete multiple items"` in spawnmenu multi-select right click to the bottom - This is consistent with normal spawnicon right click item order * Do not try to render and save icons for models without meshes - This mostly applies to character animation files. They will appear as "ERROR" models * Limit certain old addon whitelist entries to old addons only * Reworked default Half-Life 2 spawnlists to include most models that are shipped with the game without requring mounting, as well as re-grouped similar models together in the 2 topmost default spawnlists. * Reworked default Half-Life 2 spawnlists to include most models that are shipped with the game without requiring mounting, as well as re-grouped similar models together in the 2 topmost default spawnlists. * Also added default spawnlists for Half-Life 2 episodes and Lost Coast, which will appear if those games are mounted * Updated default spawnlists will not appear if you already have played the game before the update - to get them you will need to delete your existing spawnlists completely (and save changes) * Also updated/added hundreds of default spawnicons * If a spawnicon does not exist, try to look in addons first before generating one - This makes it so that you can still edit icon, but if you do not have a spawnicon rendered, and a workshop addon provides one, the game will use the workshop one as a fallback * Add subscriptions as "Unknown Addon' while we fetch their details - they will not be mounted as they could be banned/backdoored ## TTT Changes * Added TTTShowSearchScreen hook (Community Contribution) * Added `TTTShowSearchScreen` hook (Community Contribution) * Optimized ragdoll search network traffic * Fixed disconnected player networking (Community Contribution) * Updated Russian localization (Community Contribution) * Replace deprecated GetConVarNumber/GetConVarString usage (Community Contribution) * Replace deprecated `GetConVarNumber`/`GetConVarString` usage (Community Contribution) # Technical Changes ## Additions * Build vbspinfo.exe * Added `sv_maxunlag` convar * Added `sv_log_client_errors` (defaults to 1) - Allows to disable logging of them to a file * Added `sv_npc_full_pvs_checks` (Default to 1) - Fixes some NPCs flicking in multiplayer with more than 1 player on the server * Added `host_workshop_autoupdate` (defaults to 1) - Set to 0 to disable dedicated server workshop auto updates. ## Fixes * Fixed a longstanding crash with `CSoundPatch` usage * Fixed a crash on exit to do with panels * Fixed a crash with `gameui_show_dialog` and remove the concommand⤶ * Fixed a crash with `gameui_show_dialog` and remove the console command⤶ * Potential crash fixes to do with traces * Fixed a crash due to missing attacker in player takedamage hook * Fixed a crash due to missing attacker in player take damage hook * Fixed a crash related to static props on map load for certain maps * Fixed some crashes with DSPs * Fixes towards crashes with poster command and insane size values * Fixed crashes with huge font blur values * Fixed a self-crash with `+vgui_drawtree` * Fixed a crash with multicore rendering and logging * Properly handle mounted addons disappearing (unmounted) - This fixes a crash with BASS.DLL trying to play addon files that are no longer there. * Fixed a crash to do with static props when they change models - I.e. when a static prop goes from error.mdl to a more complex one. * Fixed a crash to do with static props when they change models - i.e. when a static prop goes from `error.mdl` to a more complex one. * Move various crash fixes & security improvements * Restored `"gamemenucommand RestartWithNewLanguage"` * Fixed a warning about `"Invalid texture id -1"` on disconnect * Fixed `env_blood` color setting, and add new colors, as well as fixed missing textures for some settings and restored hidden settings * Fixed certain detail props not rendering on maps with more than 65k of them * Prevent `ent_create player` to avoid issues from doing so * Fixed a memory leak with serverlist.Query⤶ * Fixed a memory leak with <page>serverlist.Query</page>⤶ * Implemented a workaround for animation event IDs on listen servers being set to "invalid" values (client vs server conflicts) ## Changes * Increase default value of `budget_panel_height` to `800` * Allow `prop_vehicle_crane` to receive damage events when player hitbox is not hit * Base Lua code clean ups * Some minor memory usage optimizations * Added convar descriptions to many default Lua-defined convars * Hide `mod_load_*_async` convars - They are linked to a game hang when enabled, and they are disabled by default anyway * Reset ammo types on map shutdown as well, so they are gone by the time another map is loaded * Move some hardcoded values of `weapon_fists` to SWEP.* variables * Default `cl_detail_allow_vertex_lighting` to 1 * Added `"resource/overviews/*.txt"` to BSP whitelist * Ignore `\n` and `\t` in player names * Optimized skypaint matproxy (Community Contribution) * Reworked Portal Rocket Turret targeting to make the SetTarget input work * Do not prevent C_BaseAnimating entities from rendering if sequence is set to -1 * Do not run animations on prop_prisoner_pod if its empty, to potentially save on network bandwidth * Reworked Portal Rocket Turret targeting to make the `SetTarget` input work * Do not prevent `C_BaseAnimating` entities from rendering if sequence is set to -1 * Do not run animations on `prop_prisoner_pod` if its empty, to potentially save on network bandwidth * Allowed custom (private) activity IDs on client to be registered on model load * Restored "permanent failure" check on SRCDS steam logon failure - Basically will login anonymously if provided GLST is invalid * Block more URLs that crash awesomium - .mov, .mp4 - This is not ideal, but there isn't a better way * Micro optimizations with weapon_base & GM:DrawDeathNotice (Community Contribution) ## Deletions * Removed `mat_stub` * Removed full paths from "Adding Filesystem Addon" console messages ## Developer tool changes * Ported `-blocksize` for VBSP.EXE from CS:GO * Minor fixes to map compile tool output text⤶ * Added Ambient Occlusion for VRAD (CS:GO version) (-aoscale, -ambientocclusion) * Fixed Hammer's expert config files not being treated as userconfig by Steam, thereforce getting wiped on validation * VRAD: Add more info to "Patch Sample Radius Clamped" warning⤶ * Ported `-blocksize` for `vbsp` from CS:GO * Minor fixes to map compile tool output text not having new lines in some cases⤶ * Added Ambient Occlusion for `vrad` (CS:GO version) (`-aoscale`, `-ambientocclusion`) * Fixed Hammer's expert config files not being treated as userconfig by Steam, therefore getting wiped on validation * Added more info to `"Patch Sample Radius Clamped"` warning in `vrad`⤶ * Alternative fix for traces not hitting transparent displacements * Better consistency with brushes that use same materials - does not cast shadow and traces hit them * Improve verbosity and detection of "CMaterial::Draw(): StretchDIBits failed" in hammer * Use ints, not shorts for leafs in map compile tools - I think this affects VRAD only, fixes warnings/issues on some complex maps * Improve verbosity and detection of `"CMaterial::Draw(): StretchDIBits failed"` in hammer * Use integers, not shorts for leafs in map compile tools - I think this affects VRAD only, fixes warnings/issues on some complex maps * Fixed improper model removal handling for LODs in studiomdl.exe, resulting in a crash ## Hammer changes * More logical defaults for `func_button` in Hammer * Fixed default detail types (Hammer Editor) having missing models and textures * Fixed a crash with Hammer Model Viewer and bad models * Hammer: Increase size of "size" status bar to be able to fit the entire text * Increased size of "size" status bar to be able to fit the entire text * Added a bunch of new options for Hammer's Run Map dialog so they are not hidden from the average user https://files.facepunch.com/rubat/1b0411b1/sXVENkgcR7.png * Hammer: Fixed "Point At" button always writing to "angles" KV instead of the selected KV⤶ * Fixed `"Point At"` button always writing to `"angles"` key-value pair instead of the selected key-value pair⤶ # Lua API Changes ## Additions * Added `ENT.PhysicsSounds` for `anim` type SENTs - If set to true, re-enables physics impact sounds for the entity * Added vgui.GetAll() - Internal, returns only Lua created panels. Used to fix PANEL:PreAutoRefresh() and PANEL:PostAutoRefresh() not working * Middle mouse click for DColorCube/Mixer to reset to convar defaults * Adds DColorCube.GetDefaultColor/DColorCube.SetDefaultColor⤶ * Adds DSlider:ResetToDefaultValue (Was previously exclusive to DNumSlider) * Added `"content_descriptors"` to steamworks.FileInfo result * Added <page>vgui.GetAll</page> - Internal, returns only Lua created panels. Used to fix PANEL:PreAutoRefresh() and PANEL:PostAutoRefresh() not working * Middle mouse click for <page>DColorCube</page>/<page>DColorMixer</page> to reset to convar defaults * Adds <page>DColorCube:GetDefaultColor</page>/<page>DColorCube:SetDefaultColor</page>⤶ * Adds <page>DSlider:ResetToDefaultValue</page> (Was previously exclusive to DNumSlider) * Added `"content_descriptors"` to <page>steamworks.FileInfo</page> result * Added private activity functions * util.GetActivityNameByID⤶ * util.GetActivityIDByName⤶ * util.GetAnimEventIDByName⤶ * util.GetAnimEventNameByID is now also shared * Added Panel:SetCookieName support for DNumSlider, DCheckbox(Label)⤶ * Added DAdjustableModelPanel:Get/SetMovementScale⤶ * <page>util.GetActivityNameByID</page>⤶ * <page>util.GetActivityIDByName</page>⤶ * <page>util.GetAnimEventIDByName</page>⤶ * <page>util.GetAnimEventNameByID</page> is now also shared * Added <page>Panel:SetCookieName</page> support for <page>DNumSlider</page>, <page>DCheckbox</page>, <page>DCheckboxLabel</page>⤶ * Added <page>DAdjustableModelPanel:GetMovementScale</page>/<page>DAdjustableModelPanel:SetMovementScale</page>⤶ ## Fixes * Fixed <page>PhysObj:GetFrictionSnapshot</page> only returning 1 entry * Fixed crashes with ENT.RenderGroup = RENDERGROUP_STATIC(_HUGE)* Fixed a crash with Entity:PhysicsInitConvex and invalid input * Potential fix for a crash with Nextbot:BodyMoveXY()⤶ * Fixed render.SetLocalModelLights ignoring last light * Fixed IMaterial:GetKeyValues sometimes returning nothing on srcds * Fixed crashes with `ENT.RenderGroup = RENDERGROUP_STATIC(_HUGE)`⤶ * Fixed a crash with <page>Entity:PhysicsInitConvex</page> and invalid input * Potential fix for a crash with<page>Nextbot:BodyMoveXY</page>⤶ * Fixed <page>render.SetLocalModelLights</page> ignoring last light * Fixed <page>IMaterial:GetKeyValues</page> sometimes returning nothing on srcds ## Changes * Increase the limit of ManipulateBoneScale to 512 (from 32) * Material() function can use .cache files from steamworks.Download⤶ * DCollapsibleCategory items support disabled styles * More consistent Vector/Angle optional argument handling - You can now do Vector( nil, 1, 2 ) and get the expected output. If you need to do that for some reason.⤶ * Made new vgui.Create errors non halting to prevent breaking existing mods that are badly coded * Increase the limit of <page>Entity:ManipulateBoneScale</page> to 512 (from 32) * <page>Global.Material<page> function can use `.cache` files from <page>steamworks.Download</page>⤶ * <page>DCollapsibleCategory</page> items support disabled styles * More consistent Vector/Angle optional argument handling - You can now do `Vector( nil, 1, 2 )` and get the expected output⤶ * Made new <page>vgui.Create</page> errors non halting to prevent breaking existing mods that are badly coded * Block `mem_force_flush` from Lua access just in case - Having this enabled in autoexec causes issues, so lets disallow servers to force it on players * Changed Matrix memory management to match Vector/Angle - This aims to fix stuttering when GCing lots of matrices, for example in rendering hooks * Try to make sure SENTs are initialized clientside before processing net messages, to avoid a race conditions with sending newly spawned SENTS to clients ## Deletions * Nothing so far.