Garry's Mod Logo
add_circle

Features

  • Added a whole bunch of particle system operators and initializers from CS:GO, including additional properties to existing ones
  • Added SetTarget1-SetTarget4 map inputs to logic_choreographed_scene/scene_entity
  • Added hide_server convar, which when set to 1 will hide the server from the server browser
  • Implemented experimental auto-refresh support for weapons in spawnmenu - changing weapon info (including adding a new weapon) will update/add the weapon in spawnmenu automatically
  • Added disable_on_remove key-value to logic_collision_pair
  • Added "Toggle" input to env_projectedtexture
  • Added "Start Disabled" spawnflag for env_projectedtexture (also rearranged options in Hammer in order of usefulness)
  • Implemented networking for scaled props spawning scaled prop gibs
  • Added `SetLifetime` input to prop_combine_ball - 0 or negative values makes it infinite
  • Added BallCaught and OnBallCaught input/output for portal energy ball entities (from Portal 2)
arrow_circle_up

Improvements

  • player.CreateNextBot sets the bot name by the time player_activate event is called
  • Bump max Source Engine save game size to 12M (from 3) - so the game is not stuck in a (near) infinite loop when trying to load malformed saves during level transitions
  • Bump "cvarlist" buffers from 128 to 1024, so console command/variable descriptions fit
  • Linux: Do not try to execute threaded tasks if there are no tasks - this addresses significant slowdowns on Linux (srcds?) to do with the filesystem
  • Removing point_spotlight will now also remove entities it created
  • More safeguards against loading malformed .gma files
  • Fixed weapon tracer spread on Y axis not being taken into account at all when the effect is fired serverside
  • Micro optimizations to spawnicon and static prop rendering
  • PhysModelCreateBox doesn't reset solid parameters
  • Replace missing .png/.jpg image data with solid white color - this would happen when a Material()'d .png file goes missing (is deleted). It used to be undefined behavior
  • func_smokevolume removes its particles when dormant (when not seen by the player), so the particles can be used by other entities since there's a global limit
  • Mount floating .GMA files before fetching info about subscriptions - so they load in time if launching the game with +map
  • Always mount folder addons before Workshop system (so that the workshop system can find floating .gmas in addons/ folders consistently)
  • Do not hide servers with out of bounds data such as impossible player counts, clamp the data instead
  • Mention valid sample rates in "Invalid sample rate X for sound Y" warning
  • Unblock mp_flashlight console variable in menu state (for use by gamemode convar settings)
  • mat_texture_list - Don't display alpha channel for formats without alpha channel (RGB888, etc)
  • Navmesh auto-blocking checks now run on map start/cleanup
  • Rework how spawnpoint entities are added in base gamemode - one file now, not 25 duplicated files
  • Move default console position to the left a bit so it does not obstruct certain main menu UI elements by default
  • Code cleanup: Replace debug.getregistry usage with RegisterMetaTable where appropriate (Community Contribution)
  • Code cleanup: Use math.tau in some places instead of 2 * math.pi (Community Contribution)
  • Use m_yaw/m_pitch convars instead of hardcoded values in the built-in taunt cam (Community Contribution)
  • Use 4-number overload of surface.SetDrawColor in base game for performance (Community Contribution)
  • `teamonly` in `player_say` game event is now networked to clients
  • npc_combinecamera now fires OnLostEnemy output on losing its target
  • Changed how SWEPs store ViewModel/WorldModel/PrintName - To get rid of 80 character limit for all 3 fields
  • Network gravity scale for players, for prediction
  • Reduced networked bit counts for player's driving mode ID, player class ID and team ID (from 32bit)
  • Network "Sprint Enabled" state to players for prediction (Player:SprintDisable)
  • Do not initialize the scaled prop physics objects as physics shadows for clientside only entities
  • Do not network duplicate health/velocity for players - Since it is already done for all entities
  • Do not set collision bounds on physgun beam to save network bandwidth
  • Increased `modelprecache` maximum size to 8192 (from 4096)
handyman

Fixed

  • Fixed potential crashes to do with textures
  • Fixed a crash to do with decals and r_maxmodeldecal 0
  • Fixed crashes with sniper_proto (Half-Life 2 Sniper)
  • Fixed potential bug with CBaseAnimating::IsOnFire
  • Fixed G-String game icon
  • Fixed the game always mounting folders that it's only supposed to on local builds
  • Fixed TEXTUREFLAGS_POINTSAMPLE not respecting TEXTUREFLAGS_NOMIP
  • Fixed erroring material in Half-Life 2: Episode 1 causing console spam (Stalker teeth)
  • Fixed Close Caption HUD being disabled by SetHUDVisibility MapIO input
  • Fixed Lua errors when loading a (Source Engine) save that had add-on Sandbox tools that are no longer present after the save was made
  • Prevent crashes with wireframe model rendering and high vertex models (Mostly applies to Hammer, simply does not render such models)
  • Entities that block radius (explosion) damage (such as doors), don't block it on themselves
  • Fixed a Linux Dedicated Server crash with sv_showlagcompensation
  • Fixed a crash to do with teleporting constrained entities
  • Fixed missing wooden ladder sounds (Half-Life 2: Episode 2)
  • Fixed a few ways malicious clients could lag servers
  • Adjust how we disable self-unblocking for Lua-blocked nav areas to avoid negatively affecting other nav blocking entities
  • Prevent crashes to do with removal of world entity (another method)
  • Replace usage of "devshots_screenshot" with "screenshot" (for -makedevshots)
  • Fixed weapon_snark network types
remove_circle

Removed

  • Deleted constraints.lua - unused file
  • Removed -nulldevice command line switch
  • Remove respawn_entities concommand - we have gmod_admin_cleanup
  • Removed unused bodyque entity
  • Remvoed unused vote_controller entity
  • Remove unused networked field from gmod_gamerules entity
  • Completely remove the unused Source Engine commentary system, its UI stuff and entities
  • Remove test_traceline entity
  • Remove unused properties/fields on engine SWEP implementation
  • Removed unused stringtables - "GModGameInfo", "ServerMapCycle" and "InfoPanel"