Garry's Mod Logo
schedule 16 December 2015
Devblog

December 2015 Update

An update has been released! This update includes a lot of exploit, crash and Half-Life 2 campaign fixes, as well as other minor bug fixes and Lua API improvements. Thanks to the following people for helping us out and reporting dangerous exploits: Willox, Leystryku, Python1320, MeepDarknessM/Meepen and ogniK. And thanks to everyone who helped testing the update and reported bugs/problems. As usual, servers will need to be restarted. The update will be automatically downloaded when you restart your game. You can check out the full change log below:
add_circle

Features

  • •
    Added localization for leafblower
arrow_circle_up

Improvements

  • •
    Optimized menu map retrieval
  • •
    Clamped physgun color to above 0
handyman

Fixed

  • •
    Fix utf8.len() for empty inputs
  • •
    Fixed utf8.codes to abide to Lua 5.3's implementation
  • •
    Fixed utf8.force dying on empty input
  • •
    Fixed GM:AddDeathNotice's incorrect internal parameter naming
remove_circle

Removed

  • •
    Removed old test file
add_circle

Features

  • •
    Added new TF2 map prefixes
arrow_circle_up

Improvements

  • •
    Updated Bouncy Ball & NetworkVar dupe support
handyman

Fixed

  • •
    Fixed Singleplayer crash with Light Tool
  • •
    Fixed Saves/Dupes tab exploit
arrow_circle_up

Improvements

  • •
    Updated language files to be gender neutral
handyman

Fixed

  • •
    Fixed instant defusal exploit
add_circle

Features

  • •
    Added gameui_show_dialog, buildcubemaps, voice_ and some snd_ commands to blocked cvar list
  • •
    Added support for L4D1 & Retail Black Mesa Source maps
  • •
    Added maps/*_particles.txt for HL2:EP2 maps
  • •
    Added new TF2 map icons and a few L4D1 map icons
  • •
    Added menu_cleanupgmas that cleans up unused .gma files
  • •
    Added ACT_HL2MP_SWIM_IDLE & ACT_HL2MP_SWIM to Lua
  • •
    Added new soundscript stuff from TF2 update
  • •
    Added 2 new parameters for Entity.RestartGesture - autokill=true, addIfMissing=true
  • •
    Added 6 missing silkicons
  • •
    Added cfg/mapcycle.txt to stop invalid map version spam
  • •
    Added -noworkshop command line parameter
  • •
    Added possible ragdoll related physics crash prevention/fix
  • •
    Added support for Steam game server accounts
  • •
    Added font name to the "There was an error creating the font!"
  • •
    Added Vehicle.IsValid - returns whether the actual VEHICLE is valid or not
  • •
    Added Vehicle.SetPos( vector ) - Actually working SetPos for vehicles
  • •
    system.IsWindowed
  • •
    input.LookupKeyBinding
  • •
    ENT:FireAnimationEvent
  • •
    ENT:HandleAnimEvent
  • •
    CNavArea.SetAttributes
  • •
    CNavArea.GetCostSoFar
  • •
    CNavArea.ComputeAdjacentConnectionHeightChange
  • •
    CNavLadder.GetLength
  • •
    navmesh.IsLoaded
  • •
    navmesh.SetMarkedArea
  • •
    navmesh.GetMarkedArea
  • •
    navmesh.SetMarkedLadder
  • •
    navmesh.GetMarkedLadder
  • •
    navmesh.GetEditCursorPosition
  • •
    navmesh.Reset
  • •
    navmesh.Load
  • •
    navmesh.Save
  • •
    CLuaLocomotion.IsAreaTraversable
  • •
    CLuaLocomotion.GetMaxJumpHeight
  • •
    PathFollower.ResetAge
  • •
    PathFollower.MoveCursorToClosestPosition
  • •
    PathFollower.GetHindrance
  • •
    PathFollower.GetCursorData
  • •
    PathFollower.GetCurrentGoal
  • •
    PathFollower.FirstSegment
  • •
    PathFollower.LastSegment
  • •
    ismatrix
  • •
    halo.RenderedEntity
  • •
    Entity.IsPlayingGesture
  • •
    Entity.AddGesture
  • •
    Entity.AddGestureSequence
  • •
    Entity.AddLayeredSequence
  • •
    Entity.IsValidLayer
  • •
    Entity.GetLayerDuration
  • •
    Entity.SetLayerDuration
  • •
    Entity.SetLayerPriority
  • •
    Entity.RemoveGesture
  • •
    Entity.RemoveAllGestures
  • •
    Entity.SetLayerCycle
  • •
    Entity.GetLayerCycle
  • •
    Entity.SetLayerPlaybackRate
  • •
    Entity.SetLayerWeight
  • •
    Entity.GetLayerWeight
  • •
    Entity.SetLayerBlendIn
  • •
    Entity.SetLayerBlendOut
  • •
    Entity.SetLayerLooping
  • •
    Entity.StopAndDestroyParticles
  • •
    Entity.StopParticlesNamed
  • •
    Entity.StopParticlesWithNameAndAttachment
  • •
    Weapon.GetWeaponViewModel
  • •
    Weapon.GetWeaponWorldModel
  • •
    Weapon.GetWeight
  • •
    Weapon.HasAmmo
  • •
    Weapon.AllowsAutoSwitchTo
  • •
    Weapon.AllowsAutoSwitchFrom
  • •
    CreateParticleSystem
  • •
    CNewParticleEffect.IsValid
  • •
    CNewParticleEffect.SetControlPoint
  • •
    CNewParticleEffect.SetControlPointOrientation
  • •
    CNewParticleEffect.SetSortOrigin
  • •
    CNewParticleEffect.GetEffectName
  • •
    CNewParticleEffect.StartEmission
  • •
    CNewParticleEffect.StopEmission
  • •
    CNewParticleEffect.GetOwner
  • •
    CNewParticleEffect.AddControlPoint
  • •
    CNewParticleEffect.StopEmissionAndDestroyImmediately
  • •
    Added CNewParticleEffect.__tostring()
  • •
    Added CNewParticleEffect.IsFinished
  • •
    Added CNewParticleEffect.IsViewModelEffect
  • •
    Added CNewParticleEffect.SetIsViewModelEffect
  • •
    Added CNewParticleEffect.SetControlPointEntity
  • •
    Added CNewParticleEffect.SetControlPointForwardVector
  • •
    Added CNewParticleEffect.SetControlPointRightVector
  • •
    Added CNewParticleEffect.SetControlPointUpVector
  • •
    Added CNewParticleEffect.SetControlPointParent
  • •
    Added CNewParticleEffect.GetHighestControlPoint
  • •
    Added CNewParticleEffect.GetAutoUpdateBBox
  • •
    Added CNewParticleEffect.Restart
arrow_circle_up

Improvements

  • •
    Made the "DirectX Out of Date" message open the Support webpage and changed its text
  • •
    Updated Awesomium to 1.7.5.1
  • •
    PathFollower.Compute( pos, nextbot, function ) now has a third paramter - function( area, areafrom, ladder, elevator, length )
  • •
    input.LookupBinding() now has a second parameter - exact
  • •
    net.ReadData no longer tries to read 0-length or negative length data
  • •
    sv_logsdir can no longer be used to write any file with any extension anywhere on your PC
  • •
    file.Remove no longer can delete any file on your PC in menu state
  • •
    Updated net_graph, sv_log(sdir), Orange Box .pcf particle system & bunch more things to their latest TF2 version
  • •
    Updated All NPC/AI weapons except for Crossbow
  • •
    Increased precision of integers for util.KeyValuesToTable
  • •
    Enabled a some EP2 Alyx stuff - Entering Jalopy, etc.
  • •
    Entity.RestartGesture() is now serverside only ( It never did anything on client )
  • •
    Entity.SetWeaponModel()'s Weapon argument is now optional
  • •
    Improved AI player detection in multiplayer ( It used to detect the last player on server, now properly detects the closest one )
  • •
    Updated propdata.txt to contain Episodic stuff
  • •
    Updated Steamworks API to latest version
  • •
    Updated localization files
  • •
    Moved some files from garrysmod.vpk to fallbacks.vpk ( HLS gibs, Alyx Gun epsodic sounds )
  • •
    Some of gravity gun convars are no longer cheat only
  • •
    Moved GetConVarNumber and GetConVarString to Lua for better performance
  • •
    Ground speed for NPCs now takes model scale into account
  • •
    Slightly improved player movement on moving props so they are less likely to be ejected
  • •
    Moved some steamworks.* Lua functions to ISteamUGC
  • •
    Entity.CreateParticleEffect() now returns the particle object it creates
handyman

Fixed

  • •
    Fixed Vehicle.IsBoosting crashing the game when used on a seat
  • •
    Fixed physenv.AddSurfaceData only working once per map
  • •
    Fixed TF2 .nav files crashing the game on map load
  • •
    Fixed GetSaveTable() not properly handling some entity fields
  • •
    Fixed RPG sound spam #2
  • •
    Fixed triggerable soundscapes being removed when cleaning up the map
  • •
    Fixed combine mines not detecting players in Single Player ( And player in the last player slot in multiplayer )
  • •
    Fixed util.TraceLine and Entity:FireBullets not hitting player hitboxes outside of their hull if there is a prop behind said hitbox
  • •
    Fixed gravity gun not calling OnFailedPhysGunPickup on any entity
  • •
    Fixed not being able to grab a Magnusson Device from Jalopy's back
  • •
    Fixed Jalopy's radar and added multiplayer support
  • •
    Fixes d3_breen01 map getting stuck
  • •
    Fixed Combine Mine leaving looping sound behind if removed while the sound is playing
  • •
    Fixed a bug with Bugbait and Grenade weapons where you can have both stuck in unusable state
  • •
    Fixed SF_TRIG_TOUCH_DEBRIS not working in any trigger entity
  • •
    Fixed Weapon.GetActivity() not returning any values
  • •
    Fixed unhandled usermessage 21
  • •
    Fixed scripted entity names being restricted to 32 characters. ( Now restricted to 64 )
  • •
    Fixed Player:GetEyeTrace not working correctly with lag compensation
  • •
    Fixed prediction errors when walking or attempting to sprint while crouched
  • •
    Fixed particle systems not obeying some attach types correctly
  • •
    Fixed scenes not playing in some cases
  • •
    Fixed some issues with player movement prediction
  • •
    Fixed a client crash issue with some ragdoll models ( unreasonable position )
  • •
    Fixed some things printing twice on Linux srcds
  • •
    Fixed yet another DDoS exploit
  • •
    Fixed some DoS exploits having to do with server log output
  • •
    Fixed a security exploit
  • •
    Fixed splitpacket server crash exploit
  • •
    Fixed net library server crash exploit
  • •
    Fixed yet another server crash exploit
  • •
    Fixed CreateMaterial exploit
  • •
    Fixed Player.Say exploit
  • •
    Fixed an exploit/a bug that allowed people to get the "Play X days/months" achievements faster ( or slower )
remove_circle

Removed

  • •
    Removed Panel.OnMousePressed method
  • •
    Removed RawConsoleCommand
  • •
    Removed the 8192 .lua file limit for singleplayer. (The limit still exists for multiplayer)
  • •
    Removed the 20 character addon name limit for engine.GetAddons()
  • •
    Removed soundscapes from fallbacks, they are all shipped in garrysmod.vpk now
  • •
    Got rid of unnecessary Steam.dll dependency