Garry's Mod Logo
Changes Header

Changes

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

add_circle

Features

  • Added team.SetColor(index, color)
  • Added Angle:SnapTo(component, degrees)
  • Added IsColor(), net.WriteColor(), net.ReadColor()
arrow_circle_up

Improvements

  • Post Process effects are no longer saved across restarts
  • Hidden some useless HL2 maps
  • Updated jQuery/AngularJS
  • draw.SimpleTextOutlined now returns same thing as draw.SimpleText
  • Lua errors notification only stays for 10 seconds instead of 30
  • Clicking "Resize" in spawnicon right click menu no longer automatically rerenders the icon.
  • Fancified Bouncy Ball
  • Updated server browser looks
  • Bots are no longer counted towards player count in server browser
  • Sort addons and games alphabetically in Browse
  • Made player_manager.TranslateToPlayerModelName case insensitive
  • Tweaked some tools
  • Improved context menu properties in various ways
handyman

Fixed

  • Fixed vehicle third person affecting cameras
  • Fixed shipped weapons creating errors when given to NPCs
  • Fixed SimpleDoF to properly work with cameras
  • Fixed return values of draw.SimpleText
  • Fixed big numbers not sending properly with net.WriteTable
  • Fixed gmod_admin_cleanup/gmod_cleanup errors when run in a dedicated server console
  • Fixed vehicles not duplicating their skin, bodygroups, etc
  • Fixed derma.SkinTexture
  • Fixed longstanding thruster crash exploit
  • Fixed pasted ragdolls with duplicator being in T pose until you touch them (still happens for saves though, sorry)
  • Fixed snow footsteps
  • Fixed some base weapons (Alyx gun, HL1 grenade) being .357 clones
add_circle

Features

  • Entity:PhysicsDestroy
  • Weapon:GetHoldType
  • util.SharedRandom
  • util.BlastDamageInfo
  • Entity:SetLOD
  • Entity:SetLagCompensated
  • Entity:IsLagCompensated
  • Player:SetAllowWeaponsInVehicle
  • Player:GetAllowWeaponsInVehicle
  • CSoundPatch:SetDSP
  • CSoundPatch:GetDSP
  • IGModAudioChannel:EnableLooping
  • IGModAudioChannel:PlayFile
  • Entity:SetPhysicsAttacker
  • game.SetSkillLevel
  • EFFECT:StartTouch
  • CUserCmd:SelectWeapon
  • Added __tostring to CNavArea, CSoundPatch, IGModAudioChannel, PhysObj, dlight_t metatables
  • PhysObj:GetName
  • CNavArea:Draw
  • CNavArea:GetZ
  • CNavArea:IsOverlapping
  • CNavArea:Contains
  • CNavArea:IsCoplanar
  • CNavArea:GetClosestPointOnArea
  • CNavArea:IsVisible
  • CNavArea:GetCorner
  • navmesh.GetNavAreaCount
  • navmesh.GetNavArea
  • navmesh.GetNavAreaByID
  • navmesh.BeginGeneration
  • navmesh.IsGenerating
  • navmesh.GetPlayerSpawnName
  • navmesh.SetPlayerSpawnName
  • navmesh.AddWalkableSeed
  • navmesh.ClearWalkableSeeds
  • Entity:IsDormant
  • ENTITY:Blocked
  • Color:ToHSV
  • gui.InternalKeyTyped
arrow_circle_up

Improvements

  • Updated LuaJIT to version 2.0.3
  • Reverted Entity:IsValid to its old behaviour
  • Changed Entity:PhysicsInitBox behaviour to be more consistent with Entity:PhysicsInitConvex (no longer creates a broken physics object in some cases)
  • game.GetWorld is now shared
  • Player:HasWeapon and Player:GetWeapon are now shared
  • Entity
  • Entities can now have up to 64 DT vars of each type (except strings)
  • Player:Kick and Player:Ban kick/ban reasons are now optional and may contain newlines
  • SWEP holdtypes are now properly networked
  • Vector and angle access using a numerical index rather than x/y/z is now slightly faster
  • gui.OpenURL now clamps URLs to 511 characters max
  • Added safeguards to mesh library functions
  • Entity:GetMaxHealth is now shared again and properly networked
  • Entity:DrawViewModel now takes an optional second argument which controls which viewmodel to show/hide (defaults to 0)
  • Moved Entity:Disposition, GetActivity, IsNPCMoving, IsUnreachable to NPC:Disposition, GetActivity, IsMoving, IsUnreachable
  • Trace tables now accept an "output" parameter which may contain the table the trace results should be written into
  • sound.PlayFile and sound.PlayURL callbacks now receive an error ID and error name as their second and third parameters if an error occurs
  • Weapon:CallOnClient second argument is now optional (defaults to "")
  • Moved Player:PlayScene, NPC:PlayScene and NextBot:PlayScene to Entity metatable
  • Entity:PlayScene second argument (delay) is now optional (defaults to 0)
  • MsgC can now print text with several colors in a single call
  • Moved Player:Freeze, Player:GodEnable, Player:GodDisable, Player:IsFrozen, Player:HasGodMode to Lua
  • Clamped pitch between -90 and 90 instead of -180 and 180 for AngleRand
  • util.KeyValuesToTable and util.KeyValuesToTablePreserveOrder now accept a third parameter which prevents keys from becoming lowercased when set to true
  • vgui.LoadControlsFromFile/LoadControlsFromString now properly creates scripted panels
  • Improved vgui.LoadControlsFromString (no longer writes to a temporary file)
handyman

Fixed

  • Fixed Entity:PhysicsFromMesh building a deformed collision mesh
  • Fixed PhysicsCollide entity callback missing information about the entity which was collided with
  • Fixed IMaterial:GetMatrix crashing the game
  • Fixed sound.Add not working on dedicated servers
  • Fixed ents.FindByClass not interpreting wildcards correctly
  • Fixed util.CRC not working correctly on strings with embedded zeroes
  • Fixed util.JSONToTable losing precision for large integer values
  • Fixed Entity:GetBoneController returning a truncated value
  • Fixed Entity:SetHitboxSet not working properly with an integer parameter
  • Fixed NPC:FoundEnemySound, LostEnemySound, FearSound, IdleSound and AlertSound not calling their appropriate equivalent in the engine
  • DynamicLight
  • Fixed util.TableToJSON crashing when passed a table containing keys that aren't strings or numbers
  • Fixed GM:OnReloaded being called more than once on most gamemodes
remove_circle

Removed

  • Removed "loop" flag from sound.PlayURL
  • Removed support for vm_origin and vm_angles from GM:CalcView
add_circle

Features

  • Added IGModAudioChannel:IsBlockStreamed
arrow_circle_up

Improvements

  • IGModAudioChannel:SetTime now prints a warning if it is called on a non block streamed channel
handyman

Fixed

  • TTT: Fixed ironsights being broken due to changes from last update
  • Fixed .mp3 and .ogg playback becoming very expensive due to changes from last update
  • Fixed Father Grigori not being the king of animals
  • Entity:FireBullets no longer inflicts ammo-specific damage if the damage is 0 unless an ammo type is explicitly specified
add_circle

Features

  • Added clientside convar cl_steamoverlay_pos
arrow_circle_up

Improvements

  • Improved mounting system, no more texture issues on changelevels
  • sv_kickerrornum now defaults to 0 and its value is now saved to the config file
  • sv_allowcslua is now saved to the config file
  • Clientside Lua is now always allowed in singleplayer
  • Improved some spawn icons
  • TextEntry panels no longer filter '\t' characters
  • Restored old damage force behaviour
  • Singleplayer jump boost from HL2 is now implemented in Lua as a sandbox feature and works in multiplayer as well
handyman

Fixed

  • Fixed viewmodel bobbing snapping when jumping or noclipping
  • Fixed flashlight getting duplicated when receiving a full packet update
  • Fixed spawnicons not always regenerating at the correct resolution when resized
  • Fixed "Dopwnload finished" typo in console output
  • Fixed lamps projecting backwards!
  • Fixed gamemode name reported by Steam not being updated after a changelevel
  • Fixed key bindings not working correctly in the main menu
  • Fixed GMod decals not working when used on props
  • Fixed debug textures not being precached (brings mat_wireframe 1 back to its former glory)
  • Fixed rendering artifacts when some particle effects are rendered in front of the skybox
  • Fixed nav files remaining open after loading a map
  • Fixed shell ejection issues on the HL2 pistol and SMG
  • Fixed players colliding with other players while noclipping
  • Fixed viewmodel jittering when overwriting viewmodel position
  • Fixed viewmodel prediction errors when switching to thirdperson and back
  • Fixed sound spam with weapon_rpg when no ammo is left
  • Fixed jigglebones occasionally snapping into impossible positions when rapidly moving
  • Fixed keyframe_rope ignoring attachment points (this fixes various issues such as the cable from prop_vehicle_crane)
  • Fixed combine balls not colliding with players
  • Fixed env_zoom not working at all (i.e. HL2 intro)
  • Fixed choppy MP3 sound playback in some cases
  • Fixed metrocops holding the stunstick going into a T-pose when attacked
  • Fixed metrocops not turning their stunstick on before attacking
  • Fixed NPCs not receiving the appropriate amount of damage from HL2 weapons
add_circle

Features

  • Added new overlays, trails, materials, emitters
  • Added OS X and Linux icons
  • Added a horizontal divider for the spawnmenu
  • Added new options to menubar Drawing menu
  • Added Gravity Gun, Zombine Grenade, Physgun, Toolgun and Camera to the spawnmenu
  • Added presets field for all PP effects and made the convars save
  • Added 6 new NPCs to spawnmenu
  • TTT: Added two new scoreboard hooks: TTTScoreboardColumns, TTTScoreboardMenu
  • TTT: Added functions PANEL:AddColumn( label, func ) to scoreboard panels
arrow_circle_up

Improvements

  • Centered drag’n’drop dragged panels
  • Static camera has nocollide by default
  • Restricted Jalopy Seat to be spawnable only when EP2 is mounted (missing texture)
  • Fancy game names in spawnmenus Browse tree
  • Removed test NextBot from entities tab and renamed it in NPCs tab
  • Made context menu text fields a bit higher
  • Updated language files
  • Changed default killer for NPCs to worldspawn
  • Disallowed giving weapons from spawnmenu when not the player is dead
  • Fists SWEP is now properly predicted in multiplayer
  • Better view model hands system for developers
  • Converted usermessages in base gamemode to use net messages
handyman

Fixed

  • Fixed text updating from menu/history in DTextEntry
  • Fixed Trails Tool undo
  • Fixed some bugs with the Medkit SWEP
  • Fixed Camera tool duplicator support
  • Updated swimming animations
  • Fixed a bug with ToyTown PP effect
  • Fixed main menu not having focus when created
  • Fixed two crash exploits with the Wheel tool
  • Fixed derma_controls concommand
  • Fixed country flag for Taiwan
  • Fixed Muscle tool "Start on" option not doing anything
  • Fixed Elastic tool creating a rope even if no elastic constraint were created
  • Fixed DProperties + sign not updating
  • Partially fixed DFileBrowser
  • Fixed tools in spawnlists not opening contentmenu and not saving properly
  • Fixed numeric checking on DTextEntry and children
  • Fixed crash exploit with NPC weapons
  • Fixed editing presets removing default tool presets
  • Fixed crash exploit with Thruster tool
  • Fixed Spawnmenu Save button sometimes not showing
  • TTT: Fixed propspec
  • TTT: Fixed reload with full clip making the zooming spazz out on M16 and Rifle
  • TTT: Fixed being able to use ironsights on shotgun while reloading
  • TTT: Fixed pressing reload with full clip switching off ironsights
  • TTT: Fixed colour issues if not all players have same model
remove_circle

Removed

  • Removed one of the useless seats from PHX
  • Removed npc_bullseye deaths from the kill feed (dummy NPC)