Garry's Mod Logo
schedule 29 April 2020
Update

April 2020 Update

Voice chat improvements and new mountable games

This update brings 2 new mountable games to Garry's Mod: The Stanley Parable and Fistful of Frags. You can now mount them into your game directly from the main menu, provided you own them on Steam and have them installed. This update also addresses a long standing issue of voice chat quality. With the changes in this update hopefully voice chat in Garry's Mod will sound much better than it used to. The new changes may cause the voice chat to be quieter than it used to be, but this is something that people will need to adjust in either the updated Voice options tab or in their PC microphone settings. It is necessary to be this way to improve audio quality. As usual this update also brings a whole host of new features and improvements for modders and players alike. You will find the entire change list below.
add_circle

Features

  • Added Fistful of Frags mounting support
  • Added The Stanley Parable mounting support
  • Added "Steam Voice Options" to Voice tab in Options
  • Added "sbox_search_maxresults" console variable, affects Sandbox search result limit
arrow_circle_up

Improvements

  • "Players have godmode" setting (sbox_godmode) works in singleplayer
  • You can now use tools like Balloons on brush entities such as gm_construct's colorable room and the mirror
  • Throwing props at NPCs/Players using the Physics Gun now correctly gives kill credit to the player who threw the prop, not the prop itself
  • "fps_max" console command can now be changed while in a server
  • Some sounds are now properly muted if game loses focus and snd_mute_losefocus is set to 1
  • Increased voice chat sample rate to 44100Hz to improve voice chat quality
  • Added expected download size for Workshop files when connecting to servers. This is a rough estimate of how much disk space will be used, not bandwidth which will always be lower
  • Added icons for the 2 new CS:GO maps and for maps from new mountable games
  • Updated Facepunch logo on the intro screen
  • Sandbox Balloons, Buttons and Emitters can now be made transparent via the Color tool
  • Translated right click menu for spawnlist headers and added icon to match existing right click menus
  • Translated right click menus for Tools in spawnlists & multi selection right click menu (Community Contribution)
  • Post Processing icons can now be deleted from spawnlists
  • Tool search in spawnlists now works with localization
  • Added a warning about certain options doing nothing in singleplayer to the Utilities > Sandbox Settings menu
  • Spawnicons and spawnlist tools now obey read only parents (such as spawnlist Search)
  • Right-clicking non selected spawnmenu icons while having some selected will not override right click menus of non selected spawnmenu icons
  • ".mdl" part of models paths is no longer being searched in Spawnmenu search
  • Tool menu quick filter now expands the categories if they were collapsed by the player
  • DCollapsibleCategory (Tool categories) now show a tiny icon when it is collapsed, telling the player it is collapsed and not just empty
  • Spawnmenu Header panels obey parents read only state by not allowing its text to be edited
  • Spawnmenu search prop indexer now uses a notification with a progress bar over the blue progress bar
  • Having your spawnmenu closed during search will automatically update search results next time you open it if necessary
  • Custom addon spawnlists, Game props and Addon props lists are now read only (i.e. you can't delete icons from them)
  • Reduced default voice chat gain/multiplication (voice_maxgain) from 10x to 2x to improve voice chat quality
handyman

Fixed

  • "Enable PvP" option being disabled (sbox_playershurtplayers) no longer unexpectedly disables self damage
  • "Make Persistent" property is now properly hidden if persistence is disabled
  • weapon_base no longer creates Lua error when given to NPCs
  • Fixed suit death voice lines playing on respawn with gmod_suit 1
  • Models that exceed MAXSTUDIOFLEXVERTS no longer crash the game, such as SFM models
  • Weapons dropped by players no longer give extra reserve ammo when picked back up
  • Undoing in TextEntry (CTRL+Z) also restores the scroll amount, fixing weird behavior in certain cases (issues/1588)
  • Fixed view model hands sometimes floating in the direction of map origin, notably when exiting vehicles
arrow_circle_up

Improvements

  • TTT: Fixed GetEyeTrace override, potentially improving performance (Community Contribution)
  • TTT: Removed unnecessary GetWeapons and HasWeapon overrides (Community Contribution)
  • TTT: Updated language files (Community Contribution)
  • TTT: Added Italian translation (Community Contribution)
add_circle

Features

  • Added "sv_timeout_signon" for servers, affects how much time a player has to connect to the server before getting kicked for timing out
  • Added "Activator only" flag for env_fade in Hammer Editor
  • Added "Max Fog Density" to sky_camera in Hammer Editor
  • resource/localization/ files now load from addons properly
arrow_circle_up

Improvements

  • npc_launcher and its grenades no longer try to play NULL sounds causing performance problems
  • npc_launcher defaults to RPG rocket model and 500 launch speed if those keyvalues are unset
  • env_entity_dissolver will no longer remove players, will apply dissolve effect to players as expected, and will not credit its kills to a random player
  • Reduced spam from mount.cfg in console, moved certain fs_tellmeyoursecrets messages to fs_tellmeyoursecrets 2
  • Blacklisted servers display why they were blacklisted in console
  • Changed RENDERMODE_TRANSALPHA to TRANSCOLOR in Sandbox stuff like it should always have been
  • Missing localization now falls back to English rather than nothing
  • Add more explanations about comments in the mount.cfg itself to maybe hopefully help people figure out why it "doesn't work"
handyman

Fixed

  • Gamemodes with malformed gamemode.txt file no longer produce Lua errors in the main menu (Community Contribution)
  • RichText - Fixed links getting previous link signals in certain cases, fixed multi-line links going beyond panel bounds
  • Main menu no longer errors if we failed to load API manifest or its fields changed
  • Scripted entities clientside (SWEPS) update their Lua data before calling Initialize, not after
  • env_fade no longer crashes the game with its hidden activator only flag set and and the activator is null
add_circle

Features

  • Added IGModAudioChannel.GetPan
  • Added IGModAudioChannel.SetPan
  • Added IMesh.IsValid
  • Added PANEL:TestHover( x, y ) hook
  • Added SentenceDuration( name )
  • Added IGModAudioChannel.GetTagsHTTP()
  • Added IGModAudioChannel.GetTagsVendor()
  • Added IGModAudioChannel.GetTagsOGG()
  • Added IGModAudioChannel.GetTagsMeta()
  • Added IGModAudioChannel.GetTagsID3()
  • Added GM:OnScreenSizeChanged hook
  • Added GetPredictionPlayer()
  • Added effects.BeamRingPoint
  • Added effects.BubbleTrail
  • Added effects.Bubbles
  • Added util.Base64Decode
  • Added input.TranslateAlias( str )
  • "gmod_language" is now passed to loading screens
  • New members for PhysicsCollide hooks - OurSurfaceProps, TheirSurfaceProps, HitSpeed, OurNewVelocity, TheirNewVelocity, OurOldAngularVelocity, TheirOldAngularVelocity
  • Added 5th argument to SWEP:FireAnimationEvent - source entity, which will be the viewmodel entity on client and the weapon itself on server
  • search.GetResults now has a 3rd optional argument - maximum results to return
  • notification.AddProgress now has an optional 3rd argument - fraction - 0 to 1 value overriding the progress bar animation to show a desired value
  • Added Panel:SetTooltipPanelOverride
  • Added Entity.IsSequenceFinished()
  • Added effects.GetList() (Community Contribution)
  • Added BASSCHANNEL:Set3DEnabled()
  • Added BASSCHANNEL:Get3DEnabled()
  • Entity.PlayScene now has a second return value - the scene entity, removing which will stop stopping the scene
arrow_circle_up

Improvements

  • Entity.SetPhysicsAttacker works on more entities now, such as "anim" type SENTs and vehicles
  • ENT:TestCollision now reacts to "true" return value - allows the entity to collide as it normally would
  • Use floats for LuaParticle start/end sizes, fixing extremely small particle sizes not working (<1)
  • Adjusted visuals for notification.AddProgress and made them truly infinite
  • Entity.GetSequenceMovement() cycle arguments are now optional and default to start=0, and end=1
  • game.AddAmmoType() no longer fails silently if given bad ammo type name, and the ammo type name is no longer case sensitive (Community Contribution)
  • steamworks.FileInfo's fileid is 0 instead of internal InvalidID value for SteamUGC items
handyman

Fixed

  • Fixed net.Start's ErrorNoHalt crashing the game
  • Fixed Player.GetEyeTraceNoCursor caching & switched Player.GetEyeTrace(NoCursor) to use FrameNumber() over CurTime() (Community Contribution)
  • Derma Skin PaintShadow & PaintFrame no longer uses global SKIN and uses self instead (Community Contribution)
  • Entity.GetSequenceInfo now try to fill the activity field in case the model it is used on didn't use the ACT_ stuff yet
  • Negative playback rate now properly affects viewmodels
  • util.IsValidModel no longer returns false for precached clientside only dynamic models
  • ents.CreateClientProp's entity properly initializes its world matrix on creation
  • ents.CreateClientProp automatically precaches the model it is given
  • Calling ents.CreateClientProp with a model with no physics or no model and setting it later will no longer bail mid initialization and cause problems such as the prop not receiving projected textures, etc
  • Constraint library minor improvements and fixes
  • Entity.Remove() no longer sets FSOLID_NOT_SOLID while in a Physics callback, potentially causing crashing issues