Garry's Mod Logo
schedule 10 October 2016
Devblog

October 2016 Update

A new update has been released! This update brings the following to Garry's Mod:
  • Peer-To-Peer friends only mode - Enable this to only allow friends to join your games
  • Substantial updates & optimization to Sandbox and User Interface
  • NPC networking optimizations
  • Numerous crash & security fixes
  • New main menu backgrounds created by the community
  • Numerous Physics gun improvements
The update will be automatically downloaded when you restart your game. All servers will need to be updated before you can play on them. Thanks to everybody who helped with testing the update and reported bugs/problems.
add_circle

Features

  • Mouse sensitivity can no longer be set greater than 10,000
arrow_circle_up

Improvements

  • Updated SQLite version from 3.6.23.1 to 3.12.2
  • Updated FreeImage version from 3.15.3 to 3.17.0
  • Updated BASS to version 2.4.12
  • Client->Server bandwidth is no longer constantly increased whilst keys are being held down
  • SENT/SWEP render groups now default to the engine's default instead of OPAQUE
  • Lua console commands are now removed on disconnection/level change
  • Receiving non-existant replicated ConVars no longer spams the console with warnings
  • VGUI panels created by the engine can no longer be removed by Lua
  • Entities now have the modelscale keyvalue and SetModelScale input from newer versions of Source
  • NPC IK calculations are no longer networked from clients to the server, this means having a bunch of NPCs won't disconnect/lag clients horrifically
  • Clientside auto-refresh no longer depends on the placement of serverside AddCSLuaFile calls
  • Updated SourceSDK/HL2 content
  • g_sky shader can now display up to 3 star layers
  • env_skypaint positions star textures based on the client's time instead of the server's time (fixes some jittery movement for internet games)
  • ClientLeafSystem can now contain many more entries
  • PNG/JPEG textures/materials are now properly garbage collected and will be free'd on a level change
  • Certain addons will no longer cause water reflections/refraction to stop working properly
  • Sprites now render facing the correct direction in mirrors and water reflections/refraction
handyman

Fixed

  • Trying to load a texture with an empty name no longer leaks memory
  • Vehicles no longer crash the server when attempting to disable their engines too soon after being spawned
  • Manhacks without a valid physics object will no longer crash the game
  • prop_dynamics entities no longer crash the game when created too early
  • func_precipitation no longer crashes when using an unsupported precipitation type (fixes issues on some L4D maps)
  • Multiple issues caused by weapons with having no owners no longer crash the game
  • menu_cleanupgmas console command no longer crashes when the game is launched with -noworkshop
  • menu_cleanupgmas console command no longer freaks out when the client has 0 subscriptions
  • Auto-Refresh will no longer crash the game when files with a strange include-pattern exist, such as two files that load each other
  • Fixed dumpstringtable* console commands being registered multiple times
remove_circle

Removed

  • Removed auto generated files to fix the "1 file failed to pass validation" on Steam after starting the game
  • Removed FCVAR_ARCHIVE from npc_height_adjust ConVar
  • Removed the func_physbox hack for d1_trainstation_05 as it seems to work without it now
add_circle

Features

  • Added new main menu backgrounds
  • env_skypaint now has an option to change the number of star layers rendered
  • Added reload_legacy_addons console command
  • Added gmod_drawtooleffects ConVar to hide certain tool UI and Effects
  • Added p2p_friendsonly ConVar
  • Added -noaddons command-line parameter which will disable legacy/folder addons when set
arrow_circle_up

Improvements

  • Added missing TF2 & L4D1 map icons
  • Updated all default spawnicons
  • Updated seats/chair models - more accurate physics mesh and additional Hitboxes to allow getting damaged in those seats
  • Updated Crossbow materials to remove pixelated reflections from the scope
handyman

Fixed

  • NPCs no longer become invisible when a player noclips in to them
  • Certain vehicles/NPCs are no longer silent when spawned outside of the client's audible area
  • Fixed some PHX materials becoming completely invisible when they are rendered with an alpha less than 255
  • Fixed physics mesh for models\props_phx\gears\bevel90_24.md, arm_base_b.mdl & metal_plate_pipe.mdll
  • RPG launcher no longer spams sounds on first equip in multiplayer
  • Fixed Model Viewer background for Hammer
remove_circle

Removed

  • Removed the "VehicleType:prop_vehicle_jeep" console message when entering vehicles
add_circle

Features

  • Added physgun_maxrange ConVar
handyman

Fixed

  • Physgun beams no longer lag behind when moving non-MOVETYPE_VPHYSICS entities
  • Physgun angle-snapping no longer jitters between snapped/unsnapped when releasing shift/use
  • The Physgun can now only rotate NPCs without physics objects around their yaw axis
  • The Physgun no longer encounters gimbal lock when rotating around pitch axis
add_circle

Features

  • All tools now use the new help system
  • All tools (where applicable) are now using model whitelists to prevent abuse
  • The paint tool now clears decals on the target entity when the reload key is pressed
  • Added limit to the Camera tool (defaults to 10)
  • Added a new Hoverball model
  • Added Partial "Right Click > Edit Properties" support for Balloon, Button, Dynamite, Emitter, Hoverball, Lamp and Light tools
arrow_circle_up

Improvements

  • The color tool copies the target entity's color on right-click and resets the color on reload
  • The material tool now copies the target entity's material on right-click and resets the material on reload
  • The inflator tool now scales adjacent bones properly
  • The faceposer tool can now be used on prop_effect entities
  • Increased the limit of lights created by the light tool
  • Dynamite damage is now clamped properly and cannot be bypassed
  • Duplicator will now transfer data in parts instead of failing when the dupe is too large
handyman

Fixed

  • The inflator tool should no longer freak out on high latency servers
  • The paint tool no longer applies the decals twice on client and it no longer plays the sound twice in multiplayer
  • The muscle tool's "Start On" option is now functional
  • Fixed being able to bypass the light tool's multiplayer limit with Duplicator
  • Fixed being able to bypass the "Cleanup" menu with duplicator
  • Fixed the camera tool adding 1 extra undo when duplicated
add_circle

Features

  • Auto Stretch UI for Paint Tool
  • All prop select panels are now auto sizing in height
arrow_circle_up

Improvements

  • Changed the material tool's context menu to show 4 materials per row
  • Lamp Tool - MatSelect is now 4 images tall
  • Rearranged some controls for tool settings to be more consistent
  • Many improvements to Spawnmenu UI to be less laggy, better scaling, ability to manually resize spawnmenu parts, etc
add_circle

Features

  • Added Undone_Manhack and Undone_Rollermine language strings
  • Added duplicator support to the Eye Poser tool
  • Added large ammo entities to the spawnlist
  • Added alpha support for DModelPanel
arrow_circle_up

Improvements

  • Moved DTabs in DPropertySheet a bit to fix a visual glitch
  • Replaced deprecated function calls with non-deprecated alternatives
  • SBox+Base: Replaced deprecated function calls with non-deprecated alternatives
  • Refactored DTab height to its own method
  • Made DMenu.AddSpacer use the SKIN:PaintMenuSpacer hook
  • Renamed table for entity outputs in base entity
  • Optimized string.Explode and string.Replace
  • Optimized math.Approach
  • Reversed math.Dist and math.Distance definitions
  • Reused CEffectData in selection_indicator effect
handyman

Fixed

  • Fixed a typo in a comment
  • Fixed a tiny spelling mistake in a comment
  • Fixed backwards bunnyhopping
  • Fixed entity autoreload not updating children
  • Fixed DCollapsibleCategory animation sometimes not finishing
  • Fixed multiple issues with DCollapsibleCategory
  • Fixed SKIN:PaintListView not respecting PaintBackground property
  • Fixed debug.Trace formatting
  • Fixed TOOL.GetClientNumber accepting strings as the default value
  • Fixed DImage erroring while being drag'n'dropped
  • Fixed info_player_deathmatch having a higher chance of being selected as a spawnpoint
  • Fixed a problem with Bodygroups property and its interaction with 3rd party mods
remove_circle

Removed

  • Removed SWEP.Precache
  • Removed unused variable
  • Removed useless nil check in DNumSlider
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