Garry's Mod Logo
schedule 29 May 2018
Update

May 2018 Update

Faceposer, 3rd person animations and HL campaign improvements

This update brings a bunch of additions, improvements and fixes to the Lua API for developers to take advantage of as usual, but also adds a few new features for players, some of which are long overdue.

Add to favorites button

This update adds a "Add current server to Favorites" button to the main menu that will appear on the bottom at all times when you are on a server.

Faceposer changes

There were a few major updates to Faceposer this update. Highlights include a new quick filter feature: Right clicking models no longer breaks their faces, and same goes for the Clear preset. And you can now middle mouse click (mouse wheel click) on slider knobs to reset their values to defaults.

Other improvements

There are also a few improvements to the Half-Life campaigns. Fixes towards Half-Life Source enemies, such as Tentacle monsters not dealing damage and scientists not having their proper skins in the Half-Life Source intro levels, as well as a fix for when entering a loading screen in a vehicle in Half-Life 2 campaign would make you invisible to NPCs. And a few changes to the 3rd person animations: Switching weapons now will cancel any reload animations currently playing, and crouching in third person better represents view movement in first person.
add_circle

Features

  • Added "Favourite this server" button to the bottom bar of the main menu when you are on a server
  • Eye Poser and Finger Poser Tools can now be used on Effects
  • Added vid_sound 1/0 to control sound recording of gm_video (Community Contribution)
  • Bone manipulation will now properly affect hit boxes of Players and NPCs
  • 3rd person reload animations are now automatically stopped when switching weapons
arrow_circle_up

Improvements

  • Updated default spawnlists: Portal 1, Builder and HL2: Characters categories, added Garry's Mod category. This only affects new players
  • Updated some HL2 map icons to be more recognizable
  • Changed Toolgun's holdtype from pistol to revolver to match the view model (Community Contribution)
  • Bone manipulation now works properly on players
  • Improved 3rd person crouching animations to better represent what happens in 1st person
  • Medkit Weapon now heals up to max health properly, and lag compensates when used by players (Community Contribution)
  • Slightly improved performance of player animations (Community Contribution)
  • Updated language files
handyman

Fixed

  • Restored functionality of env_wind
  • Fixed pick up HUD ( ammo, weapons, etc ) not working properly for some time after HL2 campaign loading screens
  • Restored functionality of monster_mortar to fix a crash issue on a Half-Life Source map
  • Fixed entities inside player clip brushes not being usable by +use for Half Life Source maps
  • Fixed Paint Tool's reload not removing the duplicator entity modifiers (Community Contribution)
  • Reduced lag with a very huge amount of Sandbox notifications
  • Reduced probability of the game crashing when saving a dupe
  • Fixed Half-Life: Source Scientists always having random skins
  • Fixed Half-Life: Source Tentacles not dealing damage
  • Half-Life: Source Headcrabs no longer break Half-Life 2 Headcrabs and vice versa
add_circle

Features

  • You can now middle mouse click on a slider's knob to reset the slider to its default value
  • Faceposer now has a quick filter feature, allowing to quickly search through flexes by name
arrow_circle_up

Improvements

  • Improved the flex list so that the text is not cut off on the bottom
  • Flex names are now prettier
  • Better placement of the orange ring around the face, so it is no longer in the stomach of certain TF2 models
handyman

Fixed

  • Context panel now properly clears itself when targeted entity becomes invalid
  • Right clicking a model will no longer break the face on certain models like HWM TF2 models or Alyx
  • Clear function of the Faceposer will now properly reset all values to their defaults, so faces are no longer broken
  • Faceposer now supports 128 flexes not just 64
  • The secondary presets (pictures) no longer occupy 3 rows if only 2 or even 1 row is populated
add_circle

Features

  • Added render.OverrideBlend (replaces render.OverrideBlendFunc)
  • Added Entity.GetSequenceMovement
  • Added Player.IsSprinting
  • Added Vector.Div
  • Added Angle.Div & Angle.__div
  • Added Angle.Mul
  • Added Angle.Add
  • Added Angle.Sub
  • Added serverlist.AddCurrentServerToFavorites
  • Added CanAddServerToFavorites
  • Added CreatePhysCollidesFromModel
  • Added CNavLadder.GetTop
  • Added CNavLadder.GetBottom
  • Added CNavLadder.GetWidth
  • Added PhysObj.ApplyTorqueCenter
  • Added PhysObj.GetShadowPos
  • Added PhysObj.GetShadowAngles
  • Added PhysObj.GetVelocityAtPoint
  • Added PhysObj.SetContents
  • Added PhysObj.GetContents
  • Added DNumSlider.GetDefaultValue
  • Added DNumSlider.SetDefaultValue
  • Added DNumSlider.ResetToDefaultValue
  • Added navmesh.GetGroundHeight
  • Added engine.TickCount
  • Added file.Rename, same restrictions as file.Write/file.Open apply
  • Added BLENDFUNC enums
  • Added game.GetAmmoNPCDamage
  • Added game.GetAmmoPlayerDamage
  • Added game.GetAmmoForce
  • Added game.GetAmmoDamageType
  • Added ents.FindAlongRay
  • Added TYPE_PHYSCOLLIDE enum
  • Added PLAYERANIMEVENT_CANCEL_RELOAD enum
  • Implemented DNumSlider.GetText
  • Added support for BodyGroups in Sandbox NPC list
  • Added ConVar support for plydmg, npcdmg and maxcarry keys of game.AddAmmoType
arrow_circle_up

Improvements

  • Entity.AddCallback will now error instead of silently failing when given not a function on its 2nd argument
  • Vector/Angle.Mul and Div methods now have correct type checking and errors
  • util.TableToJSON returns nil unless top-most element is an object or array
  • file.Exists and file.IsDir will return false where it used to return nil
  • ScriptedEntityType field will now work equally on all entity types
  • Added better bounds checking to Entity:GetSequenceActivity
  • GetCreator now returns NULL for no creator, instead of nil (Community Contribution)
  • IsValid micro optimisation (Community Contribution)
  • Improvements to Entity.GetKeyValues() - Vectors actually work now, added support for FIELD_SOUNDNAME and FIELD_EHANDLE
  • FL_ANIMDUCKING is now used and set automatically
  • Return type consistency for Player.TraceHullAttack, Player.GetObserverTarget, Player.GetRagdollEntity, NPC.GetBlockingEntity, NPC.GIve, Entity.GetRagdollOwner, they now return NULL entity where they used to return nil
  • Better/Faster implementations of SortedPairs and similar functions (Community Contribution)
  • PrintTable will no longer try to print the table its currently printing (Community Contribution)
  • DNumberScratch decimal changes for the pop up window (Community Contribution)
handyman

Fixed

  • Entity.DeleteOnRemove() can no longer remove players or the world
  • Fixed a stack overflow in DListView
  • Entity.IsRagdoll will attempt to return proper value when the entity is marked for deletion
  • render.DrawSphere will no longer draws one less longitude step than specified
  • game.CleanUpMap() will no longer crash on LZMA compressed maps
  • Fixed util.DecalEx's scale arguments not working
  • Fixed util.DecalEx using inverted normal for non brush entities
  • Fixed game.AddDecal not precaching added decals resulting in util.DecalMaterial not working as expected in some cases
  • Fixed util.DecalEx not working on entities with brush models
  • Fixed util.Base64Encode output for 0 and 1 byte inputs
  • Fixed Entity.GetAnimInfo not working at all
  • Fixed Entity.SetGravity resetting on players when they use ladders
  • Player.IsFullyAuthenticated no longer returns the player object in some cases
  • Fixed prediction errors caused by using Player.SetHull(Ducked)
  • Player.SetAmmo now has proper ammo typeID bounds check, as well as proper max ammo check (0-9999)
  • Fixed calling Player.Spawn() on a player inside a vehicle putting the player in an invalid state where NPCs can't see them
arrow_circle_up

Improvements

  • Added Entity Classname and Index to the "Changing collision rules within a callback is likely to cause crashes!" error message
  • Updated .fgd files (for Hammer) to include GMod specific Sandbox key values
  • Moved the Map and Source Engine Version text when console is open a bit down so it can be read
  • Changed the default value of r_hunkalloclightmaps to 0
  • GMPublish now works better with big addons
handyman

Fixed

  • Fixed a crash having to do with playing sounds
remove_circle

Removed

  • Removed game/bin/sdk.fgd, as it was unused and contained non-existent/duplicate entities