Garry's Mod Logo
Changes Header

Changes

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

add_circle

Features

  • Added PANEL:OnKeyCodeReleased() hook
  • Added CRecepientFilter support for net.Send
  • Added IGModAudioChannel:GetAverageBitRate()
  • Added Player.AccountID
  • Added Panel:GetDockMargin & Panel:GetDockPadding - both return 4 numbers
  • Added IMaterial:GetVector that returns proper 'unclamped' values
  • Added ProjectedTexture:SetOrthographic
  • Added ProjectedTexture:GetOrthographic
  • Added CNewParticleEffect.Render()
  • Added CNewParticleEffect.SetShouldDraw( bool )
  • Added CNavArea.__eq
  • Added FFT_32768
arrow_circle_up

Improvements

  • render.RedownloadAllLightmaps now updates lighting on static props as well
  • EffectData() now resets its member values
  • Vector() * nil will now error instead of returning empty vector
  • Proper NULL checks for most Vehicle class functions to prevent crashes
  • game.LoadNextMap, game.SetTimeScale, game.SetSkillLevel, game.GetTimeScale, game.GetSkillLevel no longer crash when g_pGameRules = null
  • Weapon.GetPrintName is now shared
  • Renamed IMaterial:GetVector to IMaterial:GetVectorLinear
  • Panel.Remove now causes parent to InvalidateLayout
  • Panel.SizeToChildren does not fail to resize to 0 values
  • Angle() global function now works the same way as Vector() global, i.e. Giving it an Angle object will return a copy of it, etc
  • gmod_tool:CheckLimit() is now shared
handyman

Fixed

  • steamworks library will no longer cause crashes when called shortly before the Lua state is destroyed
  • Fixed timer library in menu state temporarily ceasing to work after starting a new map
  • Fixed Entity:SetEyeTarget() having no effect on "anim" type SENTs
  • Fixed '/**/' being treated as '/*/' in lua lexer (not closing the comment)
  • Fixed not being able to create more than one font with different scanline sizes but otherwise identical parameters
  • Entity.GibBreakClient will no longer crash when used on brush entities ( Can only be called on non BaseAnimating entities )
  • cam.Start now supports "poster" console command in 3D mode
add_circle

Features

  • Added an option to mute all players if you are dead
  • Added missing translations for weapon menu
  • Added a ShouldScore() query at the point where deaths get added. (This helps some addons like the Power Round Addon.)
  • Added hook to set scoreboard row color per player (GM:TTTScoreboardRowColorForPlayer)
arrow_circle_up

Improvements

  • Bumped TTT version
  • Replaced deprecated function calls with non-deprecated alternatives
  • Major optimizations to start round and WEPS.ForcePrecache
  • Improved Autocomplete
  • Replaced most UniqueID usage with SteamID
  • Updated Traditional Chinese translation
  • Updated German translation
  • Improved some German translations
  • Switched some entities to use new Lua API
  • Corrected some strings in German translation
handyman

Fixed

  • Fixed radio calling out dead players
  • Fixed spectators being able to own weapons
  • Fixed possible script error
  • Fixed rare cl_hudpick error
  • Fixed error when using "wepswitch" concommand
  • Fixed identation in some weapon files
  • Fixed up weapon base file
  • Fixed a small issue and remove some unused things
  • Fixed an issue with the Newton Launcher
  • Fixed hiding crosshair breaking Help UI
  • Fixed Beacon item
remove_circle

Removed

  • Removed some unused variables and fixed some smaller things
  • Removed old fretta leftovers
  • Removed unused things
  • Removed unused variable and fixed a small issue
add_circle

Features

  • Added PrintNames to sandbox entities
  • Added snow with normal friction
  • Added derma_controls_menu ConCommand
  • Added Newline support for notification library
  • GWEN* functions now accept material override
  • New spawnmenu hover/selected graphics
  • Added support for mods to be able to add custom Thruster effects
arrow_circle_up

Improvements

  • Moved Tool Gun's PrintName Shared
  • Saves will now save vertical angles and noclip state
  • Improved NPC and ragdoll dupe support
  • Loading saves in singleplayer now restores position
  • Improved Inflator
  • Improved handling of horizontal divider in Q menu
  • Auto refresh now also reloads SWEP bases
  • Updated dragndrop library
  • Renamed DLabelEditable.OnTextChanged to DLabelEditable.OnLabelTextChanged
  • Do not allow editing of nodes that don't save
  • Do not rebuild the search results so often
  • Prop search now auto updates the search results
  • Cleaned up DPropertySheet + PropSelect
  • Populate spawnmenu tabs as soon as possible
  • Cleaned up more vgui panels
  • Improvements to DCollapsibleCategory
  • Given DAdjustableModelPanel an example
  • Updated DCollapsibleCategory rendering
  • Improved Main Menu scaling for small screens
  • Improved the "bad model" filter for Sandbox
  • Updated color mixer alpha background
  • Improved default spawnicon generation angles
  • Remove prop_effect if its prop_dynamic is deleted
  • Clamped Rope tools' addlength argument
  • Improved sandbox search
  • Alphabetized cleanup/max menus
  • Fixed some NPCs not being able to be duplicated
  • Better Enabled/Disabled support for DTextEntry
  • Updated Spawnicon generation for certain models
  • Updated Spawnicon Editor
handyman

Fixed

  • Fixed thruster rendering
  • Fixed Sandbox hints being misplaced on low FPS
  • Fixed DTileLayout in derma_controls
  • Fixed spawnmenu dragndrop leaving cursor enabled
  • Fixed CtrlNumPad firing PerformLayout too often
  • Fixed spawnmenu_reload duplicating spawnlists
  • Fixed DTileLayouts SpaceX/Y & Border
  • Fixed OnRowSelected not being called for SHIFT selecting
  • Fixed PropSelect not restoring PaintOver functions
  • Fixed an issue with Browse section
  • Fixed Panel.DoModal breaking DComboBox functionality
  • Fixed main menu map names overflowing
  • Fixed Tool Ghosts being left behind in multiplayer
  • Fixed a stack overflow with DListView
  • Player.CheckLimit will no longer error clientside
  • Fixed string.ToColor with invalid string input
  • Fixed some problems with the cookie library
add_circle

Features

  • DIconLayout - Added SetStretchWidth & SetStretchHeight to enable/disable auto stretch of the panel
  • DBinder - Added OnChange hook
  • DColorPalette - added ResetSavedColors & better Paint function to account for children & "networking" of the palette changes
  • DComboBox - Proper sorting and ability to disable it
  • DAlphaBar - better background grid code for super tall sizes
  • DColorMixer - DColorPalette got new right click menu with ability to reset the palette
arrow_circle_up

Improvements

  • DHorizontalDivider - Many IsValid checks, better handling of resizing to prevent firing PerformLayout every frame
  • DNumSlider - SetDecimals now refreshes the displayed number
handyman

Fixed

  • DScrollPanel - Fixed up resizing putting scroll position too far down in some cases
  • MatSelect - Fixed the panel not rebuilding when needed and fixed child size calculation for child sizes less than 1 to take into account spacing and padding
  • DFileBrowser - Fixed Clear() leaving some variables to a chance of inheriting values of a global variable named "_"
  • DPanelSelect - Fixed the panel not restoring old PaintOver()s
  • DTree_Node - Fixed wildcard not properly applying to child elements
  • DListView - Fixed white line in the middle of a line when line height is set to high values
  • DTree_Node (DTree) first expansion will no longer try to expand to a size higher than necessary
  • DLabelEditable - You can no longer use translated strings with this panel (sort of)
  • PropSelect - Auto vertical height support
add_circle

Features

  • Added mat_requires_rt_alloc_first ConVar from upstream.
arrow_circle_up

Improvements

  • Lua console commands are now removed when disconnecting from a server/changing level.
handyman

Fixed

  • Replicated Lua ConVars are now properly synched with the server.
  • Scripted weapons now function correctly when switching to a weapon with no ammo.
  • Clients will no longer be disconnected with the reason "CL_CopyExistingEntity: missing client entity".
  • Crouch-jumping will no longer cause the screen to flicker after a certain amount of server up-time.
  • Fixed rare crash that occurs when increasing the outgoing network buffer size for game-state snapshots.
  • Ropes no longer cause the game to not properly close on exit.
  • Fixed issue that could cause the "GetLuaTable != TABLE" crash to occur on level change.
  • file.Find
  • HTTP
  • Some security fixes.