Garry's Mod Logo
schedule 25 January 2023
Update

January 2023 Update

Improved Eye Poser, new Lua features, and many bug fixes.

add_circle

Features

  • Added "Select Page" option in Addons menu
  • Added Half-Life 1 .357 Handgun & Shotgun to NPC usable weapon list (Community Contribution)
  • Added links to Server and Modding guidelines to Legal tab in Options (Community Contribution)
  • Improved Eye Poser (Community Contribution)
arrow_circle_up

Improvements

  • Group NPC weapon overrides by category
  • Improved ladder prediction
  • Made NPC vs NPC killicon behavior consistent with NPC vs Player deaths
  • Switched Outdated tags in server browser to use the network version, not the build version, better representing if a server can be joined or not due to an update
  • Updated the server browser to no longer be limited to 256 servers per gamemode
  • Display disconnect reason in a pop up when encountering a host error in singleplayer
  • Reload spawnmenu on language change (Community Contribution)
  • Made givecurrentammo always give secondary ammo
  • If HUD is disabled, don't display "Something is creating script errors" overlay (Community Contribution)
  • Improve word break for addon descriptions in the Addons menu (Community Contribution)
  • Updated language files
  • Removed the "Sorry! You can't spawn that NPC!" message when the server did not have requested NPC, to match behavior of other spawn functions
  • Implemented automatic cleanup & limit translations, when they are missing (Community Contribution)
handyman

Fixed

  • Fixed a visual bug in Lua Errors section of Problems menu
  • Fixed Gravity Gun ignoring spin_none interaction for props
  • Fixed Gravity Gun preferred carry angles ignoring player's pitch angles
  • Fixed vehicle collision group not being saved by duplicator
  • Fixed addon size display when its over 2.1GB
  • Fixed tooltip position with tall text (Community Contribution)
arrow_circle_up

Improvements

  • TTT: Updated localization
handyman

Fixed

  • TTT: Fixed zoom keybind handling (Community Contribution)
add_circle

Features

  • Added ClearAllOutputs input to all entities
arrow_circle_up

Improvements

  • Added some crash checks to CShaderSystem::TakeSnapshot
  • Added a message to dedicated server console when not having GSLT about its impact on server ranking
  • Default weapon selection checks GMod's localization files
  • Added more info to Overflow error writing string table baseline host error for debugging
  • Defaulted scr_centertime to 5
  • Replaced self.Owner with self:GetOwner() in base game (Community Contribution)
  • Improved DAdjustableModelPanel movement (Community Contribution)
  • * Removal of hard-coded keys
  • * The cursor is no longer displayed when moving
  • * Fixed a bug where the pitch did not stay between -90 and 90 degrees, which resulted in an inverted yaw
  • * Space and control keys are no longer relative to viewing angle
  • Toolgun improvements (Community Contribution)
  • * toolmode_allow_ convars are now properly replicated to clients
  • * Fixed TOOL:Holster being called twice in the name of releasing ghost entities
  • * Fixed a bug where the toolgun does not call TOOL:Deploy on the first tool that is selected
handyman

Fixed

  • Fixed workshop fonts spamming pointless console messages trying to load from the .gma directly which won't work
  • Fixed effects/base.lua being included twice
  • Fixed ai_debug_enemies (and probably other NPC debug stuff) spewing nonsense to console
  • Fixed crashes when trying get model sprite size with a null sprite/model (and when trying to get model bounds of null model)
  • Fixed a crash when trying to spawn ai_node too early
  • Fixed a crash when calling Spawn() on an entity that deletes itself in the Spawn() function
  • Fixed crashes when an entity has negative skin value
  • Fixed a crash with base NPC when holstering weapon and having no weapon
  • Fixed NPC_CraneDriver crashing when the crane's magnet is removing
  • Fixed prop_dynamic crashing the game when given invalid break usermessage names
  • Added (Cheap)BreakModel user messages that some maps use
  • Fixed Hammer Inputs/Outputs duplicating from base classes
  • Fixed legacy CBaseEntity::FireBullets not setting attacker
  • Fixed FCVAR_REPLICATED cvars resetting to default/keeping server value when joining a server and leaving
  • Unspecified security improvements
  • Fixed a crash on malformed maps to do with overlays on displacements
  • Prop Spawn effect restores original Entity.RenderOverrides
  • Fixed a bug with SCHED_HOLD_RALLY_POINT
  • Fixed potential crashes to do with sounds
  • Optimized some Lua code (Community Contribution)
  • Removed usage of useless varargs (Community Contribution)
  • Don't re-register net receiver for editvariable multiple times (Community Contribution)
add_circle

Features

  • Added surface.GetTextureNameByID
  • Added NPC:SetMaxLookDistance
  • Added NPC:GetMaxLookDistance
  • Added Entity:ClearAllOutputs
  • Added Entity:SetSurroundingBounds
  • Added Entity:SetSurroundingBoundsType
  • Added Entity:GetSurroundingBounds
  • Added optional surfaceprop argument to Entity:PhysicsInitMultiConvex, Entity:PhysicsInitConvex, Entity:PhysicsFromMesh, Entity:PhysicsInitBox. All of them now also get correct physical volume set which helps physics behave correctly
  • Added util.IsBinaryModuleInstalled (Community Contribution)
  • Added string.StartsWith (alias of string.StartWith, for consistency with string.EndsWith) (Community Contribution)
  • Added an option to player_manager.AddValidHands to match hands skin to player model selected skin automatically (Community Contribution)
  • Added "readonly" option to DProperties properties, for editable entities editor (Community Contribution)
  • Added Panel:SetTextSelectionColors for RichText panels
  • Added physenv.GetLastSimulationTime
  • Added Player:DisableWorldClicking & Player:IsWorldClickingDisabled (Not currently networked)
  • Added second argument to string.Comma (Community Contribution)
  • Added Tool:RebuildControlPanel
  • Added Tool:GetClientBool
  • Weapons and Entities can now set their own classname via ClassName property (Community Contribution)
  • Added string.Interpolate (Community Contribution)
  • Added DSlider ConVar support
  • Added DSlider:OnValueChanged
arrow_circle_up

Improvements

  • Made player_manager.AddValidHands skin/body arguments optional
  • Added gmod_language to blocked convars (can still read it)
  • Added sv_password to list of convars Lua cannot read
  • WEAPON:HUDShouldDraw is no longer required to return true to not break HUD (Community Contribution)
  • Minor adjustment to DCheckBox:Toggle's internals (Community Contribution)
  • String extension optimizations (Community Contribution)
  • Cache ConVars created by tools (in TOOL.ClientConVars and TOOL.ServerConVars ) and use them in Tool:GetClientInfo/Tool:GetClientNumber/Tool:GetServerInfo in appropriate realms
handyman

Fixed

  • Fixed NPC:AddEntityRelationship priority argument reading from the wrong argument. Also made it optional (defaults to 0)
  • Fixed non halting Lua error when Derma_Install_Convar_Functions panels attempt to set empty console variable
  • Fixed static CLuaParticles not updating their lighting
  • Fixed a crash when setting player's hull size to nothing
  • Potential fix for a crash with steamworks.DownloadUGC
  • Fixed a bug with Panel:SetCaretPos
  • Fixed IRestore:ReadString having a limit on string length, affecting weapons and others on map transition
  • Fixed potential Lua error in Derma drag'n'drop system (Community Contribution)
  • Added color support and fixed a bug with table.Sanitise/table.DeSanitise (Community Contribution)
  • Made ents.FindByModel support wildcards, and work better clientside
  • Fixed VMatrix:GetTransposed implementation
  • Fixed certain old addons failing to extract with steamworks.DownloadUGC
  • Fixed a crash in DListView with fractional column width
  • Fixed markup text alignment inconsistency (Community Contribution)
  • Made sure Panel:GetChildren table is always sequential
  • Fixed TOOL.Information being modified by code that uses it
handyman

Fixed

  • Fixed procedural textures of size 32768 trying to allocate way too much memory
  • Disallow loading of procedural textures above 64k on any side (with a warning)
  • Added more info to "CFontTextureRegen: Failed to allocate X bytes" warning (and should also be less crash prone when it happens)
  • Simplified gmod_tool concommand code
  • Call TOOL:ReleaseGhostEntity on holster even when TOOL:Holster doesn't
  • TGA loading: do not try to read data if overflowed - Simply displays better warning, it wasn't actually reading any data
  • Made string.ToTable work with numbers again
  • Fixed timer spam from medkit weapon (Community Contribution)
  • Unspecified security patch
arrow_circle_up

Improvements

  • Update Steamworks API to v1.57
  • Added sv_cheats requirement to some console commands and variables that are either unuseful, or should only be used for development
handyman

Fixed

  • Fixed a Lua error about "derma_icon_browser.lua"
  • Fixed a regression with language getting reset to Steam's language if your chosen in-game language is English
  • Fixed an issue with handling of asset:// URLs
  • Fixed various crashes
add_circle

Features

  • Added Panel:Set/GetTooltipDelay (Community Contribution)
  • Added vgui.Exists (Community Contribution)
  • Added the Derma Icon Browser (derma_icon_browser console command) (Community Contribution)
arrow_circle_up

Improvements

  • Refresh language files on gamemode change
  • Reworked how workshop item info timeout works for server downloads to hopefully make it work more reliably
  • Throttled CreateFragmentsFromFile messages to 1 a second to avoid lag
  • Expanded the 'Your map differs from the servers' kick reason with more info
  • IncludeCS now returns result of include() (Community Contribution)
  • Use snd_musicvolume instead of volume for loading screens (Community Contribution)
  • Contain DButton's image size if it's too big (Community Contribution)
  • Refactored weapon_medkit so it is easier to change/extend (Community Contribution)
  • Security fixes
handyman

Fixed

  • Fixed ToolGun:GetToolObject returning local players values for other players clientside
  • Fixed potential Lua errors with PropSpawn effect
  • Fixed an infinite loop with util.TableToJSON when a table has __index that always gives non-nil output
  • Fixed crashes when barnacle m_hTongueTip's m_pSpring is null
  • Fixed a server crash to do with invalid vehicle scripts for airboats
  • Fixed a crash when accessing self.loco of a deleted nextbot
  • Try to prevent crashing when (re)loading textures from .png
  • Menu support for util.IsBinaryModuleInstalled (Community Contribution)
  • TTT: Fixed ironsight position when in singleplayer (Community Contribution)