Garry's Mod Logo
schedule 17 April 2017
Devblog

April 2017 Update

Bug fixes and faster shadows.

Hey everyone, the update is going live right now. The most notable changes here are probably bug fixes and performance improvements related to shadows. The update will be automatically downloaded through Steam when you restart your game. Players will still be able to join servers that have not updated, but I strongly suggest server owners install the update anyway. Third-Party binary modules (or cheats) that use the internal ILuaInterface interface may no longer function after this update. Any binary modules using the official ILuaBase interface should not be affected.
add_circle

Features

  • Added missing TF2 icons
  • Added cl_downloadfilter noworkshop - disables only all of the workshop downloads
arrow_circle_up

Improvements

  • Set r_radiosity default value back to 4
  • Increased lightcache size from 200 to 8287
  • Updated localization files
  • Updated Steamworks SDK to v1.38a
  • Switched SRCDS Steam Workshop to ISteamUGC API
  • Moved SRCDS workshop files to cache/srcds/id.gma, from addons/ds_id.gma
  • BASS error messages now print the actual error names instead of error IDs
  • Only display warnings about unused .gmas when there are such .gmas
  • Default screen resolution is now your desktop resolution
  • GMod will no longer try to send Lua errors to errors.garrysmod.com
  • Improved crazy physics detection to avoid more crashes
  • Updated LuaJIT to 2.0.4
  • Multiple optimizations and multicore rendering fixes
handyman

Fixed

  • Fixed a problem with the addon system when using "Subscribing to All" on a collection with items that you are already subscribed to
  • Fixed a potential crash/memory leak when loading compressed TF2 maps
  • Fixed certain CS:GO textures failing to load
  • File download process no longer get stuck if a single download fails in CNetChan::HandleUpload
  • Fixed GMad.exe stopping writing the .gma once it encounters an empty file
  • Fixed hlfaceposer.exe and hlmv.exe (Model Viewer) not working out of the box
  • Fixed a problem where soundscripts would be precached as sound files causing lag
  • Fixed floating addons not being mounted on dedicated servers in the root folder
  • Fixed multiple various crash issues
add_circle

Features

  • Addon spawnlists are now separated
  • Added episodic effects for env_screeneffect
  • Spawnmenu NPCs are now capable of more actions
arrow_circle_up

Improvements

  • Gonarch (monster_bigmomma) can now be killed on maps that are not from Half-Life: Source
  • Updated default damage for HL:S 9mmAmmo type to their proper values
  • Renamed flechette gun icon so it properly appears in the spawnmenu
  • Don't load new images background when in-game
  • Background images are now unloaded on change
  • Godmode is no longer enabled by default in Sbox MP
  • sbox_persist changes are now applied as the convar changes
  • Player model selector will always fit game window
  • All props can now be ignited
  • More entities can now be selected by holding C & right clicking on stuff
  • Attack Helicopter now takes 6 or so rockets to die in Sandbox
  • Increased max Field Of View from 90 to 100
  • Resized all backgrounds to be under or equal to 1080p
  • Updated hitboxes on the fast zombie player model
  • Slightly improved performance of player animations
handyman

Fixed

  • Fixed certain HL:S npcs having broken materials
  • Fixed regresssion when player dies on a ladder
  • Fixed a possible regression with Favorites server list
  • Fixed an issue with Paint Tool where paitning below your feet didn't work
  • Fixed pulley constraints in maps being completely broken
  • Fixed physgun's controller not releasing entities properly when the physgun is removed
  • Fixed CRC comparison errors with autorefresh and AddCSLuaFile() calls
  • Fixed drag'n'drop in spawnmenu get stuck to the cursor in a certain case
add_circle

Features

  • player.GetCount()
  • ents.GetCount()
  • Added a second parameter for Player.Give - boolean, set to true to not give any ammo ( at all ) when the weapon is given
  • Scrollbar - Allowed to have no up/down buttons
  • Override spawnlist NPC health option
  • Added FireBulletsInfo.IgnoreEntity
  • 3000-range anim events from SWEPs are now passed to SWEP:FireAnimationEvent
  • game.GetGlobalState
  • game.GetGlobalCounter
  • game.SetGlobalState
  • game.SetGlobalCounter
  • Weapon.SetLastShootTime
  • render.OverrideBlendFunc
  • BLEND_*
  • GLOBAL_*
  • Added EF_FOLLOWBONE enumeration to Lua
  • Added a 4th argument to util.Decal - ignore entity
  • Added 2 more types to GM:ChatText - servermsg and teamchange
  • Added DFrame.GetTitle()
  • Add headers argument to http library functions
arrow_circle_up

Improvements

  • Made SWEP.PrintName shared
  • game.AddAmmoType now overrides duplicate names
  • math.IntToBin micro optimisation
  • Prevented Player:CanUseFlashlight() from returning nil
  • Improved Entity:GetKeyValues to show actual values of keys and to show ALL keys
  • Angle() can now also accept only 1 argument, to match the Vector()
  • Optimized draw.RoundedBox(Ex) a bit
  • Optimized DNumberScratch
  • Minor optimisation of GM:MouthMoveAnimation default action
  • timer.Exists will now return false for timers with deleteme flag
  • Player.SetEyeAngles will now only work on local players when used clientside
  • Entity.GetKeyValues will convert boolean values to integers instead, for compatibility with SetKeyValue
  • Entity.IsRagdoll no longer throws Lua errors when used on invalid/NULL entities, returns false instead
  • Entity.IsRagdoll nows return false where it used to return no value
  • Moved Material() extension to shared
  • If Steam says the a game is not installed - it is not installed. ( Mountable games list )
  • Entity.PrintMessage clientside will appear as type "none" in GM:ChatText
  • Increased maximum panel size, position and clipping data sizes to fix a problem with spawnmenu addon list breaking when trying to show too many addons
  • <gamemode>.txt convars now have LUA_SERVER flag and can be hooked onto with cvars.AddCallback
  • Panel.OpenURL now also works with "about:blank"
  • Clamped possible values of render.SetLightingMode to 0-2 to avoid crashes
  • render.Capture now has an "alpha" option ( default true ) that allows to disable alpha on the captured image
  • Player.ScreenFade is now shared
  • GM:RenderScreenspaceEffects will no longer be called with ViewData.dopostprocess set to false
handyman

Fixed

  • Fixed a little issue with DCheckbox convar support
  • DNumSlider.IsHovered now works properly
  • Fixed widget_base producing Lua errors
  • Fixed changing Lua variables of SWEPs in hooks such as GM:WeaponEquip not being applied to engine functions instantly
  • Fixed first HUD_PRINTCENTER message being wrong color
  • Fixed a crash issue with Panel.GetChild
  • Fixed Entity.GetPoseParameterName crashing the game with invalid values
  • Fixed an issue with string.GetFileFromFilename
  • Fixed Weapon.LastShootTime being always 0 serverside
  • Player.SetMuted()'s first argument now actually works
  • DComboBox.Clear now resets the selected item
add_circle

Features

  • Added hooks to allow easier modification of corpse id/search behavior
  • Added check if player is alive when testing players
  • Added C4 Hooks
  • Added some useful things
  • Added check if player can carry loadout weapons
  • Added GenerateNewEquipmentID() to avoid overriding Equipment IDs
  • Added new "TTTCanOrderEquipment" hook to prevent people from buying equipment
  • Added new "TTTSelectRoles" Hook
arrow_circle_up

Improvements

  • Streamlined and better options
  • Force all players to innocents on preparing
  • Micro-optimization
  • Call GM:PlayerLoadout as hook
handyman

Fixed

  • Fixed C4 wire cut sound error
  • Fixed very old C4 Bug
  • Fixed for traitor buttons having awkward init/render behavior
  • Fixed missing background of score panel
  • Fixed enter button for disguiser
  • Fixed a Lua error regarding weaponry
  • Fixed Anti-AFK Exploit
  • Fixed End Round Timer not stopping when forcing round restart
  • Fixed spectator mode not syncing after level change
  • Fixed silenced pistol retaining sights despite holstering
remove_circle

Removed

  • Removed fingerprint functionality from beacons