Garry's Mod Logo
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