Garry's Mod Logo
schedule 17 October 2018
Update

October 2018 Update

Crash fixes and minor improvements across the board

This update brings a bunch of smaller changes while we are working on bigger things. We have made many small improvements to the Lua API as well as the Half-Life campaign compatibility with Garry's Mod, and fixed a bunch of crashes. There are multiple improvements to Half-Life NPCs, such as fixing Combine Snipers not shooting at players in some cases, a fix for Barnacles not picking up players from vehicles and a fix for a bunch of effects not working in multiplayer in some cases on NPCs like the Combine Gunship's. We have also added Half-Life: Source turrets to the game, so they will now appear on Half-Life: Source maps. We also improved the game's disk space usage, so over time less files will be created from things like spawnicons of error models, and Worskhop Addons no longer store both the compressed and uncompressed versions of each addon downloaded from servers you play on. There's also support for the $treesway shader parameter, which should enable addon creators to make more immersive maps: You will find full changelist below.
add_circle

Features

  • Added quick search to Material tool
  • You can now ignite ragdolls
  • Restored Half-Life 1 turret entities
  • Added support for $treesway shader paramters, which is affected by env_wind entities on existing maps
arrow_circle_up

Improvements

  • Updated language files (Community Contribution)
  • Updated TTT to its latest version
  • Added proper distance and entity validity checks for all default properties to stop them from being exploited by clientside scripts
  • Spawnmenu Icons no longer save images of missing models to disk
  • Minor changes to NPC difficulty to match Half-Life games (Community Contribution)
handyman

Fixed

  • Downloading workshop items when joining servers now deletes the useless .compressed files that waste space
  • 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 alien NPCs
  • 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 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 HL1 NPCs not talking in multiplayer
  • Addon entities ("anim" type SENTS) are now properly credited as inflictor and not the attacker when thrown into a player with a gravity gun
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
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