Garry's Mod Logo
schedule 14 October 2020
Update

October 2020 Update

Addon presets, menu tweaks, new Sandbox options, and more!

This update brings a much requested Addon Presets feature into the game: The updated "Addons" menu now contains a new section accessible from the bottom right corner which has new options for sorting and the new addon presets, which allow you to save groups of addons and enable or disable them quickly. We also added "Followed" and "Favorite" sections to the "Addons" menu, which will list Workshop Items published by Steam users you follow and the Workshop Items that you have favorited. The main menu got a few more tweaks besides that, such as the ability to hide the news list in the main menu: (Please keep in mind that you will not be able to hide the news if there's a new blogpost that was published within the last 7 days.) The Sandbox's Hoverball tool now has a new feature to Toggle the Hoverball as per community request: Some other tools have also been slightly improved. The Super Gravity Gun has been restored to its full glory: (It can be turned on and off with physcannon_mega_enabled console variable, requiring sv_cheats) In addition to these changes there has been a number new features for developers as always, which includes new Lua functions and fixes, improvements to Hammer and map compiling tools, as well as general stability and other improvements. You will find the full change list for this update below.
add_circle

Features

  • Added "Addon Presets" feature
  • Added "Toggle" keybind for Hoverball tool
  • Added "Playback rate" slider for Spawn Icon editor
  • You can now undo Weapons spawned through Spawnmenu with middle mouse click or the Creator tool (Community Contribution)
  • Hoverball now shows its "Strength" value in the tooltip
  • Dynamite now shows its "Delay" value in the tooltip
  • Added "Followed" and "Favorite" sections to Addons menu
  • Subscribing to addons with addon dependencies from in-game now displays a nice message telling you which addons you should also install with quick buttons to do so
  • Added ability to hide news in main menu (News posts younger than 7 days are still force shown)
  • Banned/invalid addons now appear in the addon list to give users a chance to uninstall them and to tell them why they are not loaded
  • Added support for the new Left 4 Dead 2 DLC
  • Added 4 map icons from the Team Fortress 2 Halloween 2020 update
  • Added "enable realistic fall damage" option to "start new game" for Sandbox
arrow_circle_up

Improvements

  • Implemented full effects for the Super Gravity Gun
  • It should no longer be possible for the Gravity Gun effects to break when overwriting Garry's Mod files
  • Gravity gun effects now look closer to how they look in Half-Life 2
  • Reduced the minimum value for Light tool brightness to -10 from 0, which makes the light dimmer (-6 in UI)
  • Improvements to prevent spawning props partially inside walls/ground
  • Translated "Unfrozen X objects" and "Undone X" (experimental) hints
  • Added default keybinds to Lamp and Light tools
  • Given Hoverball tool more sensible defaults
  • Revised Hoverball visuals and placement angles
  • Improved UGC (addons/dupes/etc) pagination: Added page number for easy sharing, now works better on extremely small screens and can go beyond page 32
  • Reduced minimum amount of UGC icons to 1 so the UGC menus are at least functional on tiny screens
  • Light tool rope attaches closer to the top of the model like expected
  • Localized Workshop subscription Download/Extraction window
  • Do not display "ServerContent" addons in Latest/Popular/Trending categories in-game
  • Updated Light tool model - color tool applies color only to parts that are meant to be colored similarly to Lamp tool models
  • Finger poser improvements: New background image, scales better with custom tool panel width, holding SHIFT should now make it easier to position fingers
  • Changing spawnicon skin/bodygroups in the spawnmenu triggers "Save Changes" button to show
  • Experimental spawnicon loading 'queue' - prevent complete freezes when opening spawnlists, load spawnicons until we reach 30 FPS or 1 per frame
handyman

Fixed

  • Fixed right clicking or middle mouse clicking on text entries in spawnmenu forcing the spawnmenu to stay hanging unable to be closed with Q
  • Fixed not being able to +use pickup hl2 grenades
  • Fixed not being able to +use pickup weapons (as in, physics pickup)
  • Weapons no longer disappear when you pick up 0 ammo from them with gmod_ammo 0
  • Fixed Half-Life 2 credits not working
  • Don't count "no workshop id" as a workshop id for server browser gamemode list, potentially hiding the install gamemode button
  • Fixed not being able to send large dupes (arm them) to server while being able to download large dupes from server. Dupe anti spam is now per-player on server and also exists on client.
  • Fixed Gravity Gun leaving held prop stuck mid air on client when the Gravity Gun is switched away too quickly
  • physcannon_mega_enabled now works as expected
  • Fixed Gravity Gun launch/punt effects coming from the wrong place in 3rd person for local player
  • Fixed "Cleanup Scripted Weapons" button only cleaning up Scripted Entities and not Weapons (now does both), Added missing translation for "#Cleaned_Sents"
  • Resizing spawnmenu Dupes/Saves tabs now properly updates the icons to fit within the new size
  • Players are no longer in the sit animation in 3rd person when exiting vehicles
  • Fixed Lamp/Light tool effects not rendering
  • Fixed Thruster not working at all if it was turned on while frozen by the Physics Gun
  • Fixed being able to "store an attack" using the Fists SWEP by switching away after pressing LMB and before the attack is performed
  • Fixed entering a vehicle while crouched saving and restoring the crouched view offset when exiting the vehicle even though the player is forced to un-crouch
  • Properly align checkbox labels in New Game settings
  • Partially resolve explosive barrels exploding when catching them and lightly touching ground after throwing
arrow_circle_up

Improvements

  • Updated Portuguese translation for TTT (Community Contribution)
add_circle

Features

  • Hammer: Allow right click on 3D view to activate FPS camera controls, on tools where right click in 3D view is not used
  • Added point_viewcontrol features from CSGO: SetTarget/SetTargetAttachment/ReturnToEyes/TeleportToView/SetTrackSpeed/SetPath inputs, "fov" "trackspeed "fov_rate" keyvalues, Set FOV spawnflag
  • Added env_sprite_clientside
  • env_projectedtexture: Added "style" and "pattern" keyvalues/inputs, SetNear/FarZ inputs and more
  • Added simple multiplayer support for color_correction_volume
  • Added info_particle_target as alias of info_target
  • Added prop_dynamic_glow as alias of prop_dynamic
arrow_circle_up

Improvements

  • Replaced a bunch of Color( 255, 255, 255 ) cases with color_white, etc
  • Hammer: Made the "Default to 15 degree rotations" setting invert what SHIFT does during rotation, not outright enable/disable it
  • Restored invalid model file header checks for VRAD
  • More descriptive error messages when Msg* functions fail to call tostring()
  • Avoid kicking players for "Connection rejected by game"
  • Crash with a nicer message on maps that have (purposefully) corrupted first lump
  • Better Orbit camera for DAdjustableModelPanel
  • Added server related steam error code translations
  • Minor improvements to PrintTable() (Community Contribution)
  • Switched steamworks.GetList to ISteamUGC
  • Better error handling for compressed map lump loading
  • The game no longer loads "Do not mount" state for unsubscribed addons
  • Combined the two loops in weapons.Register into one
  • Print a console message when game is started with -noaddons
  • Increased precision of rotation for all entities to fix prediction errors (lagginess) when walking on frozen props at not straight angles
  • Doubled maximum ammo types
handyman

Fixed

  • Fixed a crash related to shadow rendering
  • Fixed DNumberScratch's value going out of bounds of the blue background with huge values
  • Preventative fix for large Lua files causing clients to get stuck on loading or completely breaking a server with autorefresh
  • Fixed GMOD_SendToClient having inflated buffer sizes
  • Do not rebuild Derma skin on ALL panels when some single panel gets its skin set
  • Dtooltip inherits derma skin from the panel it is opened for
  • Fixed Hammer not loading vgui language files
  • Fixed certain labels/buttons in Hammer model picker being cut off
  • Fixed HLMV not being able to open VPK folders (and potentially other places not detecting VPK folders)
  • VRAD no longer crashes with invalid model versions on static props (i.e. Portal 2/CSGO models)
  • VRAD no longer bails compiling vertex lighting for static props with invalid model versions
  • VRAD now uses DX90 (used DX8 versions before) vertex format for vertex lighting of static props
  • Fixed "snap to grid" display in Hammer not updating when it should
  • Fixed "Browse" for func_instance in Hammer not filling the field properly when map .vmf is not located in the GarrysMod/garrysmod/maps folder
  • Fixed (env_)explosions not respecting the NODLIGHTS flag
  • Fixed a crash to do with built-in weapons
  • env_projectedtexture shadows can now be turned on while the projected texture is on (previously required the projected texture to be turned off)
  • Fixed hover state of DSlider's draggable "knob"
  • Overflowing serverside sound precache no longer boots you to main menu/crashes the server
  • Fixed MP3/OGG sounds being cached even when they don't exist/failed to load
  • Fixed Lua errors when thrusters are trying to use NULL particle emitters
  • Force disconnecting players to leave their current vehicle properly
  • Fixed Icon Editor erroring when editing a spawnicon which was removed (spawnmenu_reload)
  • Hammer and entity templates can now properly handle post Left 4 Dead 1 map entity Input/Output (ESC delimiter instead of a comma)
  • Fixed a crash with npc_alyx shooting on a server with no players
  • Changed bodygroups to use unsigned integers over signed integers to prevent crashing and increase the bodygroup combination limit somewhat
  • npc_combinegunship's ground attack spawnflag and inputs work now
  • trigger_teleport ejects player from a vehicle when teleporting with the "Only Players In Vehicles" spawnflag
  • Hammer: Fixed .fgd flag/array values inheritance, so spawnflags on trigger_teleport are no longer missing (possibly fixes other entities too)
  • Fixed an infinite loop with CAI_TrackPather on ep2_outland_11a (and possibly other maps/places)
remove_circle

Removed

  • Removed usage of SendLua in the undo library
  • Removed some unused variables from Sandbox entities
  • Removed internal STUDIO_TWOPASS hack for Lua entities to hopefully fix the render order issues for good
  • Rollback render.ClearDepth change for DModelPanel as it causes issues for addons
add_circle

Features

  • Added new argument to Entity.EmitSound - flags, and fixed type checking for the other optional arguments, including pitch and volume arguments not working if soundlevel argument is not given
  • Added 5th optional argument for surface.DrawOutlinedRect - thickness
  • Added ENT/SWEP.IconOverride (Also works for NPCs/Vehicles)
  • Added sound.EmitHint( SOUND_ enum, position, volume, duration, owner = NULL )
  • Added SOUND_ enums
  • Added "NiceName" read only field to Undo structure, contains the text shown in player's undo list UI (Community Contribution)
  • Added basic soundscript support for EmitSound global
  • Added "size" and "updated" (date) keys to engine.GetAddons()
  • Added new optional argument to Entity.DrawModel() - flags (STUDIO_)
  • PrePlayerDraw/PostPlayerDraw now have 2nd argument - flags (STUDIO_)
  • DrawWorldModelTranslucent/DrawWorldModel now have 2nd argument - flags (STUDIO_)
  • RenderOverride now also has 2nd argument - flags (STUDIO_)
  • Added DSP argument to entity.EmitSound and EmitSound global
  • Added 3 new types for steamworks.GetList() - "followed", "friend_favs", "favorite"
  • New optional argument for surface.DrawText - bool - force additive/not additive, defaults to font default
  • Added CTakeDamageInfo.SetBaseDamage
  • Added PlayerHandleAnimEvent and PlayerFireAnimationEvent hooks
  • Added maps/*.lmp to Workshop whitelist
  • Added list.GetTable() (Community Contribution)
  • Better click "animation" for DImageButton depression, added DImageButton:SetDepressImage() (Community Contribution)
  • Added Player.SetMaxArmor
  • Added Player.GetMaxArmor
  • Added render.GetHDREnabled()
  • Added Player.SetViewPunchVelocity
  • Added Player.GetViewPunchVelocity
  • Added player_manager.GetPlayerClasses() and PLAYER:ClassChanged() (Community Contribution)
arrow_circle_up

Improvements

  • Made NPC.NavSetGoal()'s 3rd argument to default to 100 to prevent old addons from erroring
  • Use a faster method of ignoring newlines in Base64decode
  • Allowed various Draw* global functions related to Post Processing to work directly with RenderTargets (Community Contribution)
handyman

Fixed

  • TOOL.ServerConVar actually creates the convars
  • Fixed draw.RoundedBox(Ex) with border value larger than the box height causing the box to render larger than intended
  • HTTP global always returns a boolean, not only on success
  • Fixed nextbots not respecting EF_NOSHADOW
  • Fixed an issue with SWEP:OwnerChanged clientside not being called when initially dropping a weapon
  • Entity.GibBreakServer is no longer affected by breakable_multiplayer convar (Aka it works now)
  • Fixed util.GetModelMeshes returning data for the error.mdl for models that don't actually exist
  • Entity.GetModel() clientside should now return more correct result
  • language.GetPhrase now translates strings starting with #
  • Player.PrintMessage serverside now translates messages like expected
  • Fixed DTree_Node.ExpandRecurse producing Lua errors
  • CSoundPatch:SetDSP now works while the sound is playing
  • Fixed addon spawnlists not supporting subcategories
  • Fixed DNumberScratch (and DNumSlider) constantly firing it's OnValueChanged callback when the value didn't actually change
  • Fixed collision/movement issues with Player.SetModelScale