Garry's Mod Logo
Changes Header

Changes

What’s changed in Garry's Mod in each patch.

add_circle

Features

  • status console command now also prints server & map uptime
  • Implemented Lightmapped_4WayBlend shader with full tools support
  • Implemented new Water shader features - lightmapped water fog, flow maps and ability to reflect 3D skybox ($reflect3dskybox), envmaps for expensive water, support for $reflect2dskybox
  • Use gmod_flashlight attachment for flashlight if it exists - this works for player models, world models and view models
  • Added sv_nomap_timeout convar - Closes a dedicated server if it is running without a map for given amount of seconds.
  • Added "Restore" input to func_breakable_surf entity
  • Added $PortalColorGradientDark and $PortalColorGradientLight to PortalRefract shader
  • Added new parameters to SpriteCard shader
  • $AimAtCamera, $OrientationMatrix ($Orientation 2)
  • $Orientation now supports modes 3 and 4
  • $basetexturetransform support for DepthWrite shader (for alpha tested materials)
arrow_circle_up

Improvements

  • Prevent silly values in fog_controller (malicious map "protection"), as well as prevent map reload loop via player_loadsaved entity
  • Improvements to multiplayer player getters
  • FindEntityProcedural !pvsplayer multiplayer support improvement
  • UTIL_GetLocalPlayer micro optimizations
  • UTIL_FindClientInPVS now tries to get the closest client
  • Changed "exe version" to "network version" in output of "version" console command to avoid confusion
  • Removed newline from "Disconnect by server." kick message, so server console log is less messy. No other kick reason adds a new line at the end.
  • Micro optimization for GM:HUDDrawTargetID (Community Contribution)
  • Enable Episode 2 behavior for npc_combine_s (Some sort of "march" mode)
  • Allow .PCF as valid network transfer extension (FastDL)
  • SRCDS workshop addon cache also caches titles - Also display a warning when that cache will be used
  • Make "No account token specified" message in SRCDS console a warning
  • Unhide sv_soundscape_printdebuginfo
  • Reset render library's internal "last material" vartiable on map shutdown
  • Fallback "VertexBeckman" shader to "VertexLitGeneric" (PVK2 game)
  • Improve free edict detection during entity creation, so allocated edict count cannot pass the internal buffer amount and prevent creation of entities until map restart
  • Clean-up doubleclicking code in the main menu (Community Contribution)
  • Internal rework of main menu's bottom bar (Community Contribution)
  • Make zombies/metrocops propagate their "use lag compensation" state to spawned child NPCs (headcrabs and manhacks)
  • Dynamically calculate max autocomplete items for the console based on available space
  • Added SteamID64 to "Dropped %s player from server" console message
  • Enabled CEF credits button in the Options
  • Limit static prop counts to safe values to prevent crashes
  • Minor VPK support changes from CS:GO - potential memory usage improvement
  • Add description to g_ragdoll_maxcount convar, update descriptions for gm_snapangles and gm_snapgrid
  • Give prop_active_gib* convars descriptions and more sane values - 100 active gibs should be plenty (was 999999)
  • Add a better crash message when getting vertex size 0 to help catch source of the crash
  • Alias dz_door (CS:GO danger zone map doors) to prop_door_rotating
  • Prevent item_item_crate from spawning certain entities that could cause game crashes
  • Throw an engine error when trying to request invalid shader parameter, instead of cryptic crashing
  • Changed whereis to print path of missing files (useful for mat_texture_list 1)
  • Improved several console warnings and crash popups with extra information to help diagnose the underlying issues
  • Improved .nav file error handling to prevent game crashes and freezes, as well as error reporting
  • Do not save or load mat_specular/mat_bumpmap convars across game sessions - These are debugging convars, they do not need to save and cause persistent visual downgrade with no video options enabling them back.
  • Increase max lightmap dimensions to 128 for brushes (from 32)
  • Renamed npc_tf2_ghost to nb_example, and moved it from base gamemode to Sandbox
  • Alias sdk_lightmappedgeneric_dx9 shader to lightmappedgeneric for content from some Source Engine games/mods
  • Potentially improved console variable related performance
  • Remove main menu's reliance on RUNLUA: hack through console.log
  • Use consistent search paths for textures and some model code - makes textures load from consistent location of disk, just like models and materials
  • Make gm_spawn only work for .mdl files
  • Fixed crashes to do with a certain demo files that play on the wrong map (compared to the one it was recorded on)
  • Clear "material is missing" flag on all materials when a map is started loading
  • Initialize 3rd person camera on map load, to fix behavior change after first disconnect
  • Defer gameevent/OnRequestFullUpdate game event if not in main thread (instead of dropping it)
  • Reject non .vtf customization files
  • Optimized Sandbox Widgets system, especially when none are used on the entire server (Community Contribution)
  • Minor optimizations for GM:PlayerSelectSpawn (Community Contribution)
  • Minor loading screen cleanups (Community Contribution)
  • Optimized some internal engine functions to do with looping over player list, so they no longer loop over the player list
  • Added function locations to output of lua_find(hooks) commands and adjusted formatting and colors so its easier to read
  • Adjusted formatting of lua_dumptimers commands so its easier to read
  • Updated gmod_physiterations description to specifically mention constraints
  • Default presets in Utilities tab dynamically load convar defaults instead of being hardcoded
  • Allow fractional tickrates (i.e. 66.666), and clamp the result between 1ms and 100ms
  • Constraint library - Change the rope material shader blacklist to a whitelist (of UnlitGeneric, SplineRope and Cable shaders), and disallow materials that do not exist
  • Prevent player's view roll from being changed by bad actor maps either by spawning or teleporting the player
handyman

Fixed

  • Fixed "TraceAttackToTriggers" system for bullets causing the shot entity to have a separate damage event for each pellet of a shotgun shot
  • Fixed func_lookdoor in multiplayer only reacting to the first player on the server (now reacts to the closest player)
  • Multiple improvements to error handling of particle sheet loading
  • weapon_fists sets Weapon in DamageInfo (Community Contribution)
  • Prevent crashes due to net_graph trying to draw too much at a time
  • Fix Error() in C not exiting the game with a nice message when multicore rendering is enabled
  • Fixed sv_lagcompensationforcerestore not really doing what it says in its description
  • Fixed soundscapes not working with duplicate sounds
  • Fixed Entity:FireBullets causing "CLuaObject:GetType with invalid lua state" warnings after a changelevel when using FireBullet callbacks
  • Restore rope texture scaling to Half-Life 2 values when they are spawned by the map
  • Prevent potential Lua errors with weapon_base when owner dies during firing bullets
  • Fixed some IMaterial functions complaining in console about "$basetexture not being a texture". (Non multicore rendering only)
  • Fixed server crash when mounting ladders at edict limit
  • Prevent crash to do with CSpatialPartition invalid handles
  • Fixed edict exhaustion prevention affecting nextbot players, and crashing the server
  • Fixed a crash when using gm_load on dedicated server
  • Fixed a crash with clientside ropes on props
  • Fixed server crashes to do with Gonarch NPC
  • Fixed many server crashes when trying to spawn gibs at edict limit
  • Make prop water level changes actually work, and apply on clientside too
  • MsgC no longer outputs empty strings when first argument is a color, preventing console message deduplication
  • Fixed fall damage constants being inconsistent between client/server
  • Prevent "bone write access" warnings with ClientsideRagdoll
  • Fixed CLC_Move::ToString numbers being flipped
  • Fixed CBaseFileSystem::ReadLine not working for workshop files at all
  • Fixed VPK file.Find issues with folder searching
  • Fixed BSP file.Find not really working well
  • Fixed Lua errors with DProperty_VectorColor when deleting the associated editable entity
  • Prevent misleading "X used to create wrong class type" warning that happened at edict limit when spawning gibs
  • Try to prevent Half-Life: Source gibs from falling out of the world
  • Fixed an issue with GM:HUDShouldDraw that allowed blocking access to main menu
  • Fixed some weird v7.4 VTF cubemap textures not loading due to missing sphere map
  • Fixed clientside prediction breaking hull traces against local player in multiplayer
  • Do not complain about missing "$refracttexture" when polling water material for its requirements
  • Fixed kickid via SteamID64 not working on dedicated servers
  • Prevent crashes in engine tracing code to do with BSP models
  • Fixed maps compiled without VVIS not rendering any water surfaces (and when noclipping outside of the map)
  • Fixed 'status' console command showing IP address for -p2p dedicated servers
  • Fixed sun glow overlay not rendering in water reflections
  • Fixed a nullptr crash on game exit to do with models
  • Prevent crashes with vertexSize of 0 on materials - will now use error material instead, and throw a warning about what material is wrong
  • Fixed spam about "Trying to use Map as if it were a variable" on GUI dedicated server
  • Try to improve static props fading out randomly for CS:GO maps
  • Fixed render.RenderView affecting FOV for worldclicker, including the context menu
  • Fixed (near?) infinite loops/game freezes in when listing entities in a box with negative bounds
  • Fixed a potential issue with bad BSP embedded files
  • Prevent potential crashes on map change to do with color correction entities
  • asset:// sets correct mime type for .svg files (Community Contribution)
  • Fixed an obscure crash with LuaJIT
  • Fixed an null pointer crash with sv_debug_player_use convar
  • Fix Un-Statue property bypassing GM:CanProperty serverside
  • Fixed ATI1N and ATI2N names being swapped in the texture list
  • Made env_smoketrail entity not add its velocity to its particles, SMG1 grenade trail works as expected
  • Improved handling of v7.5 texture image formats
  • Fixed exit game crash to do with procedural sounds
  • Fixed some theoretical, extremely tiny memory leaks to do with Key Values parsing (Community Contribution from TF2 SDK)
  • Fixed pose parameter support for CMDLPanel (Community Contribution from TF2 SDK)
  • Fixed asset://mapimage/ URLs using wrong mime type (Community Contribution)
  • Fixed a exit game crash to do with -multirun
  • Applied potential fix for retry command for local server host not working correctly when other players are present on the server
  • Applied a potential fix for r_flushlod crashing the game (Community Contribution)
  • Fixed -tools mode spamming about "Too many popups!" when many particle previews are on screen
  • Fixed crashes to do with IK in certain models
remove_circle

Removed

  • Removed pointless "PREP OK" console message during map loading
  • Removed "HudBloodSplat" effect. (It did nothing at all)
  • Removed mat_remoteshadercompile console variable
  • Removed GMOD_Player::ViewPunch, Weapon_Drop and OnTakeDamage overrides (did nothing), m_iCallSpawnTimer and m_iStartTick which were unused at all
  • Removed CHL2_Player::GetAutoaimVector, ShouldKeepLockedAutoaimTarget, BumpWeapon, Weapon_CanUse (all were doing nothing, or were Xbox only)
  • Removed autoaim_unlock_target convar which is now unused
add_circle

Features

  • Added MakeRegularAlly/MakeGameEndAlly inputs for GMan/Mossman/Monk/Fisherman in Hammer
  • Added new .QC commands to studiomdl.exe - $maxverts, $phyname, $internalname, $qcassert, $lcaseallsequences, $defaultfadein, $defaultfadeout, $appendsource, $redefineattachment, $skinnedLODs
  • Mount CSS/Episodic VPKs in tools (Hammer & compilers)
  • Implemented color preview for models in Hammer
  • Added color keyvalue to prop_door_rotating in Hammer
  • Added ability to paint 4-way blend materials in Hammer (Supported materials only!)
  • Implemented particle picker for Hammer
  • Added file metadata to map and model compiler exes (version, description, product name, etc.), and given them an icon
  • Added -SunSamplesAreaLight option for VRad (Community Contribution)
  • Reenable -maxlightmapdim and -defaultluxelsize for VBsp, and them add to help text
  • Water materials with $lightmapwaterfog (and flowmaps) will now receive lightmaps on map compile
arrow_circle_up

Improvements

  • Add descriptions to light entity keyvalue properties in Hammer
  • Update StudioMDL usage info when given no parameters - added previously unmentioned command line options, dump supported .qc command list
  • Move modelscale keyvalue from Breakable to specifically prop_physics and its variants in Hammer to better represent what entities support the feature
  • Make tools/toolsinvisibleladder not create visleaves during map compilation
  • Adjusted VRAD's post-compile stats to show data size limits in correct places, as well as bump max data size for entity lump
  • Enable static prop lighting (vertex & lightmap) for VRAD with -fast (Since it is already controlled by -StaticPropLighting)
  • Mention -StaticPropLighting requirement for vertex lighting on static props in Hammer (Disable Vertex Lighting field)
  • Images are now saved as .bmp instead of .tga in HLMV
  • Change Shader display to a read only text entry in HLMV, so it can be copied
  • Display selected material in a text box in HLMV, so it can be copied
handyman

Fixed

  • Fixed default model for physics_cannister, npc_launcher, npc_missiledefense (now a box) and weapon_bugbait in Hammer
  • Fixed some entities such as info_ladder_dismount not using colors in Hammer as defined in the FGD files
  • Fixed visual and undo bugs with CMapSweptPlayerHull (func_useableladder) in Hammer
  • Enable VRAD compile stats without -verbose flag
  • Fixed StudioMDL crashing when creating folders for the model
  • Fixed HLMV crashes when doing stuff without a model selected
  • Fixed extremely slow "Take screenshot" performance in HLMV
  • When a material is missing in HLMV, include the missing material name in "VMTs loaded" section
remove_circle

Removed

  • Remove non existent key-values from env_smoketrail in Hammer
  • Removed non existent entities from Hammer - Weapon_Brickbat, env_rotorwash, references to weapon_beerbottle, test_sidelist, npc_crabsynth, env_terrainmorph
  • Remove non existent entities from BreakableBrush "spawn on break" keyvalue in Hammer
  • Disallowed creating "Auto" visgroup in Hammer manually
add_circle

Features

  • Added Entity:FindGestureLayer
  • Added Entity:FindGestureSequenceLayer
  • Added Entity:RemoveLayer
  • Added Entity:SetLayerAutokill
  • Added GM:OnNPCDropItem
  • Added NPC:IsCrouching
  • Added NPC:SetForceCrouch
  • Added 2 new optional args to mesh.TexCoord
  • Added NPC:CapabilitiesHas
  • Added NPC:ConditionID
  • Added NPC:IsUnforgettable
  • Added NPC:MoveGroundStep
  • Added effects.TracerSound
  • Added sequence events to util.GetModelInfo
  • Added util.IsBoxIntersectingBox
  • Added MATERIAL_CULLMODE_NONE for render.CullMode
  • Added new arguments to Entity:DropToFloor
  • Added new argument to HTML:ConsoleMessage
  • Added Panel:SetTextHidden
  • Added MAX_PLAYER_BITS global
  • Added MainEyePos and MainEyeAngles
  • Added IGModAudioChannel:GetTagsWMA & IGModAudioChannel:GetTagsMP4
  • Added render.GetFogMaxDensity
  • Added skin parameter to util.GetModelMeshes + up to 15% optimization
arrow_circle_up

Improvements

  • ClientsideModel is now able to be hit by clientside only traces after initializing physics on it post creation (Collision bounds must be set manually if model changes)
  • Try to end mesh.Begin when a mesh wasn't ended when the function is called. (i.e. after a Lua error) It will still error afterwards like it did before, but now prevents game hanging, hopefully without side effects
  • End current Lua mesh (if there is one) on Lua error - preventing game crashes and graphical glitches
  • Change ents.CreateClientRope slack parameter to work better
  • ents.CreateClientRope ropes now despawn if any of its attached entities are removed
  • Allow giving ents.CreateClientRope local vectors instead of attachment IDs
  • Made Entity:PhysicsInitBox/Sphere set solidity before setting the physics object - this improves behavior for those functions with ClientsideModel and is consistent with PhysicsInit()
  • Validate input range for File:Read and File:Write, so the game does not crash with negative bytes to read
  • Improved handling of BSP model names for Lua clientside entities (sets the model index so tracing code can work better)
  • Improved handling of infinite loops with Entity:WaterLevel when called from the water level change hook
  • Switch debugoverlay functions to better optional argument checking with type checking
  • util.IsValidModel returns false if extension is not .mdl
  • Changed render.DrawQuadEasy to use better optional argument handling (potentially breaking)
  • Sandbox gamemode: Do not store the NPCTable/VehicleTable tables on the entities (The name is still stored)
  • Player:GetPunchAngle will now error with lua_strict set to 1 (deprecation warning)
  • Allow mesh.TexCoord to only accept 1 texture coordinate
  • Optimizations for usage of GM:PlayerCanHearPlayersVoice - it will no longer be called for non speaking players
  • Minor optimizations for most Lua functions returning a sequential table
  • Minor adjustment to WEAPON:OnRemove for consistency of execution time with other OnRemove hooks, no functional change expected
  • Validate input ranges for sound.Generate (will error)
  • Validate input ranges for most Lua functions that use enumerations in arguments (will silently clamp the value)
  • Entity:GetCycle now returns 0 instead of nil for invalid entities
handyman

Fixed

  • Fixed clientside sounds not firing WEAPON:FireAnimationEvent
  • Fixed render.SetShadowsDisabled setting the shadow distance instead of disabling shadows
  • Fixed duplicate HTTP headers being discarded instead of being joined with a comma like it did previously
  • Fixed Player:Flashlight playing sounds when disabling a disabled flashlight, etc.
  • Fixed list.GetEntry erroring when used
  • Fixed infinite loops when calling Entity:DrawModel from GM:PrePlayerDraw/GM:PostPlayerDraw
remove_circle

Removed

  • Blocked editdemo console command from Lua just in case
  • Removed obsolete/undocumented/useless panel types from vgui.Create
  • Disabled vmevent API (jit.attach)
add_circle

Features

  • Added most of Counter-Strike: Source and Half-Life 2 Episodic content to Garry's Mod (excluding voice over and music due to licensing issues, as well as excluding maps)
  • Enabled Episodic spawnmenu content (NPCs/Vehicle/Entity) by default
  • Added a confirmation dialog when trying to load a save that would change current map
arrow_circle_up

Improvements

  • Prevent throwing props immediately when using +USE pickup if holding left or right mouse buttons while picking up something
  • Made Combine Energy Balls bounce from frozen props in a more consistent fashion
  • Made crossbow bolts bounce from indestructible props, frozen and unfrozen
  • Faceposer uses localized string for "Other" category
  • Minor optimizations to Problems panel, ability to close it via ESC key or clicking empty space around it (Community Contribution)
  • Updated browser implementation on Windows to support much newer features
  • "Edit Entity" window in Sandbox now shows prettier entity names (instead of the internal names) (Community Contribution)
  • Made r_pixelfog require sv_cheats 1 to prevent players disabling fog
  • Increase physgun_maxrange maximum value to 32k (from 8k)
  • Localize old spawnmenu category names for addon-added entities, weapons, etc (Community Contribution)
  • Updated Dedicated Server UI on Windows - added workshop collection entry box, gamemode selection, removed mandatory RCON password (blank=disable RCON) and replaced Steam icon with a Garry's Mod one
handyman

Fixed

  • Fixed leading spaces in a console command not adding it to the console autocomplete history
  • Updated Metrocop player model so the model actually has a shadow
  • Fixed Metrocop player model gloves having unintended white texture bits
  • Physics Gun rotation and Camera zoom/roll now work consistently independent of client FPS
  • Fixed Resistance Turrets being in Combine Overwatch NPC squad (Spawn menu)
  • Fixed pink or green artifacts appearing on certain decals when spammed in one place a lot
  • Bonemerged models inherit lighting origin from parent - makes view model hands match lighting of the view model itself
  • Fixed incorrect player aiming animations for other players sitting in vehicles
  • Restored functionality of m_filter (No longer forced to 1)
  • Fixed non ASCII characters in "Unknown command X" console message appearing as "?"
  • Update RPG Launcher world model to fix muzzle flashes not playing, or playing at incorrect times
  • Fixed changing video settings always forcing a map reload
  • Fixed missing Trails tool undo message localization
  • Fixed missing Antlion Guard step sounds
  • Fixed CS:S Leet playermodel coloring area overlapping the belt
  • Ship Half-Life 2: Episode 2 override of barricade001a.mdl with fixed physics mesh
  • Fixed Hacked Rollermine not respecting ignore players flag
  • Fixed d2_coast_09 not changing fog color when coming out of the tunnel
  • Fixed visual 1px overlap in SWEP info tooltip during fade out (Community Contribution)
  • Fixed being unable to damage partially submerged props with explosions from above the water surface
  • Improve how death is handled when NPC is killed by a harpoon. Fixes killing Antlion Guard on d2_coast_11 with a harpoon not progressing the map
  • Fixed some map surfaces (that use built-in materials, across Half-Life 2, Episode 2 and CS:S maps) having incorrect surface properties, making footstep sounds not match the surface
  • Fixed decals from the Paint tool that were not working or working poorly when applied on models
remove_circle

Removed

  • Removed "Use Bloom" checkbox from Video options, as it was not bound to any convar or setting, meaning it did nothing
  • Removed "No HDR but use bloom" setting from Video Options since it doesn't do anything
  • Remove duplicate "Black and White" color modify preset (Community Contribution)
add_circle

Features

  • Added -mountcfgfile launch parameter that allows overriding filename of cfg/mount.cfg file to be loaded as mount.cfg (for example, -mountcfgfile mount2.cfg would load cfg/mount2.cfg)
  • Added host_writeconfig_lua console command (blocked from Lua)
  • kickid supports kicking players by SteamID64
arrow_circle_up

Improvements

  • Tell the player if garrysmod.ver is read only, which could lead to inability to join servers
  • Log workshop addon mounts (count only) in console for debugging purposes
  • Micro optimization for cam.Start2D (Community Contribution)
  • Remove most of usage of deprecated CSteamAPIContext on the client
  • Apply more strict checking of invalid Lua states in CLuaObject
  • Make Lua print() and error() text colors in console the same
  • AvatarImage keeps track of textures it creates and reuses them, preventing exhaustion of texture name symbol list
  • Add WriteTempEntities overflow warning from CS:GO
  • Do not force "rate" cvar to 100000 on start up (from 1000000), and remove archive flag from it
  • When dealing physics stress damage on characters, set inflictor and attacker if possible - will try to set the inflictor/attacker to something more useful than "World". In case of multiple props, it will be the first entity doing the stress damage
  • Truncate killfeed names to 512 bytes to prevent net message overflows
  • Register private animation events as client events too, so they call the clientside SENT hook for model animation events
  • Reject empty or near empty .gma files with a nice message
  • Bump internal render data buffer from 64k to 80k to prevent rare? crashes
  • Improve performance/memory usage of Lua mat proxies
  • Added some sanity checks around for unclosed Lua ISave/IRestore blocks
  • Prop fading changes when the fade distance is below 500, to prevent the prop looking transparent at all times
  • Draw console notify text over all other panels (with developer convar above 0)
  • Added background to text output of cl_pdump cvar
  • Update lights.rad to its up to date Half-Life 2 version with HDR and episodes support (Community Contribution)
  • Use player.iterator instead of player.GetAll in some base game functions (Community Contribution)
  • The game now ships updated copies of vpk.exe, soundsystem.dll and vtex.exe
  • Reduced OBS_MODE_DEATHCAM interpolation time from 3 seconds to 1 second
  • More strict shader loading file whitelist (Requiring to be in shaders/fxc/ rather than shaders/)
  • Try to provide some useful info to "hit surface has no samples" warning
  • Increased MAX_NODES (Max AI nodes on a map) from 4096 to 8192
  • Only allow sound precache on level transitions/game load - this should help with sound precache overflows in single player games while still not breaking engine saves and level transitions
  • Added description to sv_sticktoground console variable
  • Changed description of bot_zombie console variable to explain what it does
  • Unhide *.ain (AI Nodes) loading errors (previously required developer 1), make them warnings
  • Moved map.pack to cache/map_pack.bsp
  • Updated "AI node graph is out of date" warning to include version number
  • Hide "Soundscape: <name>" message if soundscape_debug convar is 0
  • Disable sv_parallel_sendsnapshot by default - apparently still causes random unreproducible crashes that need solving first
  • Disable mouse3/4/5 input on DAdjustableModelPanel (Community Contribution)
handyman

Fixed

  • Fixed a case where voice chat would cease to work if voice_enable is set to 0 and back to 1
  • Fixed clientside errors happening before LevelInit not being sent to the server
  • Fixed commas in AddOutput map IO input causing the input text to be truncated (Now uses the special ESC symbol internally, like Hammer VMFs do)
  • Automatically delay HTTP calls until SteamHTTP is ready (for dedicated servers)
  • Queue lua_error_url messages until SteamHTTP is available (for dedicated servers)
  • Do not render drag'n'drop overlay for engine panels when UI mouse input is not active
  • Fixed ragdoll boogie (flopping around due to being touched my mega gravity gun) happening from +USE pickups/throws through Lua
  • Prevent crashes when trying to write too much data into a small texture
  • Fixed an infinite loop in weapon selection HUD with certain weapon names
  • Fixed mat_luxels 1 producing unusable results
  • Fixed a crash issue with close caption HUD
  • Fixed crashes to do with PCF loading due to weird formats
  • Fixed crashes with PCFs using ELEMENT_INDEX_EXTERNAL
  • Fixed crashes with point_worldtext during saving
  • Fixed particle related crashes when attached to an entity
  • Improvements for >2GB file support on non-Windows OSes
  • Prevent ToGL crashes on Linux when encountering a debugger break
  • Implemented cubemap seam/edge blending for HDR cubemaps
  • Added some sanity checks when loading VTF files and possibly running out of memory
  • Fixed HTLV clients getting kicked for reliable snapshot overflow in certain cases
  • Fixed some more minor memory leaks (from TF2 SDK)
  • Clean up g_SBoxObjects table in Sandbox gamemode when entities get deleted, to prevent potential memory leak
  • Fixed Player:GetCount not updating on entity delete (undo) after rejoin
  • Fixed a crash when using -hijack command line parameter
  • Fixed env_fog_controller.SetColorHDR map input not working
  • Fixed a NPE crash with CLuaInterface::IsType that can only happen with binary modules
  • More accurate water level for props, so props half submerged are no longer considered fully submerged
  • Fixed a crash when reloading materials
  • Fixed version console command not having proper Steam Beta branch value
remove_circle

Removed

  • Removed Novint Haptics Device integration
  • Remove voice_modenable in favor of voice_enable. There's no reason to have both, it only creates confusion.
  • Removed unused console variables that did nothing to prevent confusing players: r_fastzrejectdisp, mat_shadowstate, mat_maxframelatency, mp_usehwmvcds, mp_usehwmmodels, r_threaded_client_shadow_manager, r_threaded_renderables, r_decal_cullsize, r_drawopaquestaticpropslast, r_threaded_renderables, snd_mix_async, mat_parallaxmap, mp_teamlist, mp_teamoverride, mp_defaultteam, mp_allowNPCs, mat_disablehwmorph, sv_contact, sv_consistency, joy_yawsensitivity_default, joy_pitchsensitivity_default, option_duck_method_default, sv_stickysprint_default, mp_autocrosshair, mp_allowspectators, mp_friendlyfire, mp_fadetoblack, mp_chattime, mp_waitingforplayers_time, mp_waitingforplayers_restart, mp_waitingforplayers_cancel, mp_clan_readyrestart, mp_clan_ready_signal, mp_readyrestart, mp_ready_signal, mp_forcerespawn, mp_fraglimit, cl_burninggibs, r_propsmaxdist, cl_first_person_uses_world_model, mat_max_worldmesh_vertices, showparticlecounts, cl_team, cl_class, cl_SetupAllBones, cl_forcepreload, hud_centerid, hud_showtargetid
  • Removed -preload launch parameter
  • Delete replay.dll/replay.so which are unused