Garry's Mod Logo
add_circle

Features

  • •
    Added DSlider.Set/GetNotchColor
  • •
    Added SKIN.colNumSliderNotch
  • •
    Added 2 new arguments to CanTool hooks - the toolobject and the button used (left/right/reload = 1/2/3)
  • •
    Added missing ACT_ enums used by the default player model animations
  • •
    Added NPC:GetBestSoundHint( types = all of them ) = table or nil
  • •
    Added sound.GetLoudestSoundHint( type, pos ) = table or nil
  • •
    Added ENT:GetSoundInterests for "ai" type SENTs
  • •
    Added PhysObj.SetAngleVelocityInstantaneous
  • •
    Added PhysObj.SetAngleVelocity
  • •
    Implemented ENT:OnTakeDamage for nextbots
  • •
    Added Player.Get/SetVoiceVolumeScale(0 .. 1) - Clientside only, sets the desired voice volume multiplier per player
  • •
    Added Player.LocalEyeAngles(), which returns eye angles unmodified by being parented to a different entity (such as while being in a vehicle)
  • •
    Added a 3rd argument to Pre/PostDrawTranslucent/OpaqueRenderables - isRendering3DSky
  • •
    Added CMoveData.Set/Get for: ConstraintWidth, ConstraintSpeedScale, ConstraintCenter, FinalIdealVelocity, FinalJumpVelocity, FinalStepHeight
  • •
    Added permissions library
arrow_circle_up

Improvements

  • •
    Use ErrorNoHaltWithStack for numpad.OnDown/OnUp errors when given an invalid key
  • •
    Added con_filter*, gm_video, mat_dxlevel and the new voice cvars to blocked cvar list
  • •
    Switched Think, OnRemove and RunAI entity hooks to use the Lua string pool for "anim" and "ai" SENTs
  • •
    Made Player.IsSpeaking shared (on server, it will return true within 0.1s of the last voice packet from a player, no packets are sent when the voice chat button is held but the player is not talking)
  • •
    Reduced update rate of PlayerCanHearPlayersVoice when nobody is talking to 5 seconds
  • •
    PathFollower functions can now accept player.CreateNextbot() entities instead of the NextBot SENTs. They will also throw proper errors when given invalid entities
  • •
    Made DrawBokehDOF function available to addons, i.e. it is no longer a local function (Community Contribution)
  • •
    Apply PhysObj.EnableMotion to all PhysObjects of a Jeep (it also works on Jeeps now)
  • •
    Entity.GetModelMaterials will now return a complete list of materials if used on a brush model, including the map. Maximum for models is reduced to 128 (from 256) which matches other places in the engine when it comes to models
  • •
    Micro optimization to player:__index (Community Contribution)
  • •
    Forcibly disallow the resource library from adding .xbox.vtx and .sw.vtx files to the server's downloadables list
  • •
    Make sound.Add soundscripts treated as overrides so they are cleaned up/restored on disconnect
  • •
    gma.MountGMA now also clears list of missing materials
handyman

Fixed

  • •
    sound.Generate now flushes its cache on level shutdown (And also with snd_restart)
  • •
    Fixed dedicated server crashing when trying to reference invalid SteamAPI pointers after using the map console command, such as the HTTP functions
  • •
    Fixed sounds not working correctly (playing everywhere) with clientside only entities: Footstep sounds, _G.CreateSound, Entity.EmitSound, Entity.StopSound, Entity.StartLoopingSound
  • •
    Fixed ClientsideRagdoll crashing if called too early
  • •
    CSpawnIcon::RebuildIcon(Ex) now clears the cached spawnicon material like it did before (so the spawnicon appears in its “loading” state again)
  • •
    Fixed Entity.FollowBone glitching around clientside in certain cases
  • •
    Fixed srcds workshop addons missing some fields in engine.GetAddons()
  • •
    SteamID functions return the correct(-ish, the steam universe is hardcoded to "Public" one) value in singleplayer for the player serverside (It was already correct on client)
  • •
    Fixed GetTouchTrace() crashing the game when the entity in the cached trace result no longer exists
  • •
    render.RenderView now resets the "ShouldDrawLocalPlayer" cache, allowing the hook to be called again for those renders, fixing ShouldDrawLocalPlayer not working properly with multiple renders within a frame.
  • •
    Prevent weld constraint assigning a global variable with the last created weld (Community Contribution)
  • •
    Fixed performance discrepancy of Entity:GetMaterials() between different models
  • •
    Fixed GM:PlayerLeaveVehicle not being called when the player is forced into a vehicle while being in a different vehicle
  • •
    Entity.SetAngles properly sets angles on jeeps, they no longer snap back to old angles
  • •
    Fixed some entities (such as props) reporting "took damage" as false in PostEntityTakeDamage when they are killed
  • •
    Fixed some constraint library functions (such as HasConstraints, GetAllConstrainedEntities, etc) not functioning with the world entity
  • •
    Fixed gmsave library (Spawnmenu save system) not saving constraints that are attached to the world entity on both ends (such as ropes)
  • •
    Fixed duplicator library's Min/Max calculations for dupes