News
Changelist
Support
Buy Garry's Mod
Changes
What’s changed in Garry's Mod in each patch.
arrow_left
arrow_right
1
...
21
22
23
24
25
...
42
Patch Name
February 2019 Update
Changelist Title
3
date_range
Monday, February 18, 2019
add_circle
Features
•
Added input.WasMouseReleased( key )
•
Added surface.GetAlphaMultiplier()
•
Added surface.GetDrawColor()
•
Added surface.GetTextColor()
•
Added Entity.IsMarkedForDeletion()
•
Added hook GM:PlayerClassChanged
•
Added hook PANEL.OnSizeChanged( newW, newH )
•
Added hook NextBot.FireAnimationEvent clientside hook
•
Added hook NextBot:HandleAnimEvent
•
Added 4th argument to DComboBox.AddChoice - icon (Community Contribution)
arrow_circle_up
Improvements
•
Added names to the "A net message is already started" message to help pinpoint the message source
•
PANEL.OnScreenSizeChanged now has 2 arguments - the old width and height
•
ModelImage.SetSpawnIcon will no longer display an error image when given non-existent .png, now displays the usual broken image material
•
Wordclicker view model animations now use proper variables for 2nd and 3rd viewmodels, instead of using the variable for the 1st view model
•
Entity.EnableConstraints( false ) now deletes the constraints (experimental)
•
DModelPanel now properly works when being dragged by the drag'n'drop system
•
Deletion of orphaned entities no longer deletes world or players
•
You can no longer call Entity.SetParent on world
•
PNG and JPG textures are now loaded without automatic conversion to Power of 2 sizes
•
Panel.IsEnabled now visibly affects DMenuOption
•
Invisible children of DHorizontalScroller will no longer affect position of the visible panels
•
Entity.Fire and Entity.Input also support booleans just like GM:AcceptInput
•
Player classes are set on all clients automatically clientside
•
Player classes are initialized as soon as they are set on a player, instead of whenever a first hook call happens
•
Display a message when an scripted entity was refused to be loaded due to missing Base and Type keys
•
Display a console warning when scripted_ents library was overridden and is no longer a table instead of silently doing nothing
•
More friendly errors when the weapons library is overridden with a non table
handyman
Fixed
•
Fixed Player.Say appending a trailing space
•
Fixed ViewModelFlip stopping worldclicker aiming animation for view models
•
Fixed SpawnIcon's SetSize affecting the child element's size too late
•
Fixed a crash issue with ModelImage.SetSpawnIcon
•
Fixed EmitSentence() not working on clients
•
DLabel and its derivatives can be properly dropped with drag'n'drop when they are not initially pressed
•
Invalid panels for tooltips will no longer create errors
•
Fixed table.GetWinningKey with keys lower than -10000 (Community Contribution)
•
Fixes for toolgun Think not running in edge cases (Community Contribution)
•
Fixed gmod_(admin_)cleanup not updating Player.GetCount on clients properly
•
Fixed Entity.GetTable being recreated when one already exists upon loading the entity table from .lua file
•
Fixed engine.ActiveGamemode() not returning current gamemode correctly in clientside autorun scripts
•
Fixed Panel.GetTextSize() only working after the text has been rendered at least once
Patch Name
December 2018 Hotfix
Changelist Title
2
date_range
Saturday, December 15, 2018
handyman
Fixed
•
Fixed an exploit to do with gm_giveswep
•
Fixed an exploit relating to SQLite
Patch Name
December 2018 Hotfix
Changelist Title
Change List
date_range
Thursday, December 6, 2018
arrow_circle_up
Improvements
•
Changed Lua file hashing algorithm to improve security
handyman
Fixed
•
Fixed a crash with decals on high poly models
•
Fixed a crash with Projected Textures
•
Fixed crash issues on some TF2 maps
•
Fixed crash issue with physenv.AddSufraceData()
•
Fixed not being able to start a new game with too many game.AddDecal() calls
•
Fixed a crash issue with env_fog_controller
•
Fixed crash exploits with parenting of unremovable entities to removable ones and deleting them this way
•
Fixed certain players not being able to be muted on servers with large populations
Patch Name
October 2018 Update
Changelist Title
Engine/General Changes
date_range
Wednesday, October 17, 2018
add_circle
Features
•
Keys in mount.cfg are now marked as mounted ( for IsMounted() ), if they are in the list of mountable games
•
Restored Gib Model functionality of func_breakable from HL1
•
mountdepots.txt will now be automatically created if it doesn't exist so dedicated server owners can edit it
arrow_circle_up
Improvements
•
Nav file errors now properly displays the actual error by name, not error ID
•
Updated surfaceproperites.txt to remove some entries to fit the 128 entry limit
•
Bumped maxiumum key length of key values in bsp to 64 (from 32)
handyman
Fixed
•
Fixed nav file error 4 (out of date) being displayed when the nav file is in fact up to date
Patch Name
October 2018 Update
Changelist Title
Lua API Changes
date_range
Wednesday, October 17, 2018
add_circle
Features
•
Added CTakeDamageInfo.__tostring
•
Added CNavArea.GetPlace()
•
Added CNavArea.SetPlace()
•
Added PhysObj.GetPositionMatrix()
•
Added Entity.GetWorldTransformMatrix()
•
Added DMG_SNIPER and DMG_MISSILEDEFENSE
•
Added util.GetSurfaceData()
•
Added Half-Life: Source CLASS_ enums
•
Added input.GetKeyCode(), works opposite of input.GetKeyName
•
Added ProjectedTexture:SetQuadraticAttenuation()
•
Added ProjectedTexture:SetLinearAttenuation()
•
Added ProjectedTexture:SetConstantAttenuation()
•
Added ProjectedTexture:GetQuadraticAttenuation()
•
Added ProjectedTexture:GetLinearAttenuation()
•
Added ProjectedTexture:GetConstantAttenuation()
•
Added player.GetByAccountID( id ) ( Community Contribution )
•
Added render.WorldMaterialOverride
•
Added return value to DColumnSheet.AddSheet (Community Contribution)
•
Added player_connect_client gameevent
arrow_circle_up
Improvements
•
Added voice_overdrive, volume and _restart on client to the blocked console command list
•
prop_vehicle and prop_vehicle_driveable are now considered Vehicles by Lua
•
Entity.GetSaveTable now works properly with most array fields, they will show up as 1-based table in Lua
•
Entity.SetSaveValue can now handle array fields, just like GetSaveTable()
•
Entity.GetInternalVariable now supports all field types as GetSaveTable/SetSaveValue does
•
CLuaEmitter.Add will now also initallize startSize
•
util.GetSurfacePropName now returns "" for out of bounds input
•
IGModAudioChannel:IsValid now properly reflects the validity of the sound channel instead of testing existence of the Lua objecct
•
Most IGModAudioChannel functions now also check for channel validity
•
DoModal no longer works without cursor visible for all panels, not just "Frame"
•
Vector.WithinAABox now orders vectors on its own
•
Entity.GetAttachments, Entity.GetBodyGroups and Entity.GetMaterials will now return an empty table where they used to return nil
•
util.(De)Compress and util.Base64Encode error on no input and return an empty string when given an empty string
•
Failed-to-send net messages now reset current net message
•
Calling net.Start() while a net message is already active now displays a message
•
You can no longer send net messages with no players on the server
•
Entity.GetSaveTable and Entity.GetInternalVariable no longer iterate over Inputs and Outputs
•
Entity.SetHitboxSet no longer assigns non existent hitbox sets when using a string as the first argument resulting in a console warning spam
•
You can no longer remove player_manager entity
•
Made DLabelURL's color functions work consistently to DLabel's
•
Vehicle.GetVehicleViewPosition's only argument is now optional
•
Entity.SetModelScale is now limited to +-400 on server (unchanged on client)
handyman
Fixed
•
Fixed FL_ANIMDUCKING not resetting when entering a vehicle
•
Fixed HTTP() cutting off post body at the NULL byte
•
Fixed func_breakable_surf crashing when damaged by DMG_BLAST with no inflictor
•
Fixed crash issues with CNewParticleEffect.AddControlPoint and CNewParticleEffect.StopEmissionAndDestroyImmediately functions
•
Fixed Player and Entity.__newindex crashing the game when assigning non string keys onto those entities
•
CTakeDamageInfo.GetDamageType now properly returns an unsigned int
•
JSON functions now can handle NULL bytes properly
•
IGModAudioChannel.__gc no longer crashes the game in some cases
•
Fixed an error with empty nextbox NPCs (Community Contribution)
•
SWEP Holdtype is now updated clientside whenever server sends a holdtype update
•
PlayerUse no longer blocks using when Lua doesn't return a value or returns a non boolean
•
Fixed DMenu's non self deleting submenus not opening in some cases
•
Player.Kick no longer fails with reasons too long ( now cuts them off at ~512 )
•
util.SpriteTrail no longer crashes the game if you do not give the material ".vmt" extension
•
util.SpriteTrail no longer silently fails halfway through when not given a color
•
Dragginig/Resizing DFrame as a child element now works properly (Community Contribution)
•
Consistent caching between Entity.GetEyeTraceNoCursor and Entity.GetEyeTrace (Community Contribution)
•
Fixed a crash issue with Vehicle.GetVehicleViewPosition
•
Fixed a few Vehicle functions returning garbage in certain cases ( GetVehicleViewPosition, GetPassengerSeatPoint, GetWheelContactPoint )
•
Fixed RebuildSpawnIcon() not taking bodygroups into account
arrow_left
arrow_right
1
...
21
22
23
24
25
...
42