Garry’s mod has been around for quite some time now – 14 years to be exact. Since then, Face Punch has continuously been ironing out bugs and adding (small) features to a game that is an essential for any Steam user. addon after addon has kept the game alive and will most likely do so for the next millennium. Earlier last week, Facepunch unveiled the latest changes which are due out this Wednesday. These include everything from minor bug fixes to being able to set NPCs on fire. Below is a full list of the changes:
Game Changes
- Added quick search to Material tool
- You can now ignite ragdolls
- Downloading workshop items when joining servers now deletes the useless .compressed files that waste space
- Added proper distance and entity validity checks for all default properties to stop them from being exploited by clientside scripts
- Added support for $treesway shader paramters, which is affected by env_wind entities on existing maps
- Restored Half-Life 1 turret entities
- npc_sniper no longer becomes pacifist after one player kill
- Fixed a crash issue with monster_flyer
- Fixed a crash issue with Half-Life: Source monster_*_dead NPCs
- Fixed model of monster_hevsuit_dead
- Fixed HL2 barney appearing on HL1 map c1a1
- Fixed HL1 and HL2 episodes not displaying their chapter titles and other on-screen text
- Fixed purple blood color on HL1 aliens
- Fixed a crash on srcds when combine soldiers with smg1 die and there isn’t a player in first server slot
- Fixed a rare crash with npc_combie_s trying to shoot a gun they don’t have
- Fixed HL1 turret damage
- Fixed sound conflicts with HL2 and HL1 turrets
- Fixed a potential AI pathfinding crash
- Reenabled monster_bigmomma hp recovery system
- Fixed npc_barnacle not picking up players from vehicles
- Fixed chatbox filters looking weird
- Fixed default join messages not working on dedicated servers
- Fixed some scenes not playing
- Smooth scrape sounds are no longer repalced by rough scrape sounds for glass and tile textures
- Fixed flashlight sound stopping weapon sounds
- Fixed some effects (mostly on NPCs) not working in multiplayer
- Fixed some NPCs not talking in multiplayer
- Updated language files (Community Contribution)
- Updated TTT to its latest version
- Addon entities (“anim” type SENTS) are now properly credited as inflictor and not the attacker when thrown into a player with a gravity gun
- Spawnmenu Icons no longer save images of missing models to disk
- Minor changes to NPC difficulty to match Half-Life games (Community Contribution)
Lua API Changes
- 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
- 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
- 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)
Engine/General Changes
- 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
- Nav file errors now properly displays the actual error by name, not error ID
- Fixed nav file error 4 (out of date) being displayed when the nav file is in fact up to date
- Updated surfaceproperites.txt to remove some entries to fit the 128 entry limit
It’s worth noting that not all changes seen in this list will be featured in the update. If you wish to try this update now, navigate to the beta tab on the game’s properties and select the ‘Pre-Release’ branch.
While an update is always welcome, questions have sprung up about the state of mods will work with the latest version as mods are effectively the life and soul of the game. Facepunch has given no comment on this issue. Fans were also angry to see a HTML 5 bug which disables watching videos has been in the game for quite some time now and players are frustrated to say the very least.
Started as a mod for Half Life 2 in 2004, Garry’s Mod quickly became one of the best selling PC games of all time thanks to its sandbox gameplay and mountains of mods. Today, thousands still play popular game modes such as DarkRP and TTT while some choose to play with friends (or alone) with thousands upon thousands of mods (known as addons) at their disposal. Theoretically, you can do anything in Gmod provided there’s an addon for it.
Garry’s Mod is out now on Steam.
Did you know you can report news for us too? Anyone can report the news, or post a review on gamelust.com, AND have a chance to become featured on our homepage! All you need to do is log in or register with us and add your voice today!