Garry's Mod

Garry's Mod

Animated Props
Showing 1-5 of 5 entries
Update: 18 Oct, 2024 @ 9:26am

  • Fixed BuildBonePositions not running on ents that already existed before the player connected to the server
  • Networking optimizations
    • (AdvBone) Make "AdvBone_ResetBoneChangeTime_SendToCl" use unreliable channel and only send once per tick per entity
    • Made a few other spammy net messages use unreliable too (too much net traffic will omit them instead of crashing)

  • Effect physics now account for constraints properly, while also ignoring non-physics constraints (fixes floaty movement when they're welded to something)
  • Better move-above-parent code on unmerge: uses proper rotated bounds instead of arbitrary padding

  • Disabled self:SetSurroundingBoundsType(BOUNDS_HITBOXES) for static_prop models, this either did nothing or broke physgun hit detection on models like HL2 bridges
  • Fixed backwards compatibility for old animprops applying entity modifiers twice
  • Fixed backwards compatibility not spawning tank treads in the right place (AdvBonemerge func was missing an arg, so they weren't attaching correctly)
  • Fixed net.Receive for "AnimProp_OpenEditMenu_SendToCl" using a nil player for the gamemode.Call("CanProperty", ...) check instead of the local player
  • Use new Entity:Dissolve function for ragdollize-on-death instead of spawning a dissolver entity
  • Minor editor fixes
    • Resize keypad disable text so it isn't cut off when it says "release" any more
    • Edit menu input code rework: use a string table instead of the stupid way we were doing it before, declutter the ReadUInt calls for layer ID

Update: 24 May, 2024 @ 12:07pm

  • Fixed an issue where the BuildBonePositions function (used for bone manips, remapping, ragdollizing, and advbonemerge stuff) wouldn't work at all on specific models (office workers from Black Mesa Character Expansion (https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2082334251)) because the function couldn't retrieve the default bone matrix for their bone 0 - previously, it couldn't get the matrix for bone 0 and assumed the model wasn't rendering yet and would wait forever; now it checks for both bone 0 and the last bone, and if it can get the matrix for at least one of them, then it runs normally and uses placeholder values for the bad bone 0; this looks kind of bad for remapping but at least it's functional now

Update: 26 Apr, 2024 @ 7:26pm

  • Added "ragdollize on damage" option - if enabled, taking any kind of damage (including physics collisions) will kill the prop and turn it into a ragdoll, using the exact same damage and physics forces as killing an NPC (using painstakingly recreated Valve code - none of this stuff is included by default on scripted NPCs)

  • If an entity has props merged to it with the Easy Bonemerge Tool or Composite Bonemerge Tool addons, and then that entity is converted to an animprop, the constraints are now properly transfered over to the prop; stuff attached with the Bone Merger is still just removed since I couldn't get it to work
  • Entities can now carry over their animation and model scale when converted into an animprop

  • Fixed props being completely broken clientside (not rendering or opening a window) if using a model with 0 hitboxes (now checks for hitboxes before calling self:SetSurroundingBoundsType(BOUNDS_HITBOXES))
  • Fixed a false positive that would force some models to use box physics instead of prop physics (the check for physmodels that would lag the game if resized now checks for meshes with too many vertices on a single convex piece, instead of on the whole mesh; still catches actual problem models like phx balls and tf2 boxing gloves, but no longer catches models like phx pipes and ep2 advisor pod, which have a lot of vertices but spread across many convex pieces, and are completely safe to resize)
  • Fixed a timer that could cause errors if an animprop with a parent was spawned and then deleted too fast (timer didn't check IsValid)

Update: 6 Apr, 2024 @ 7:50pm

  • Fixed ragdollize not working with remapping or bone manips (it wasn't running the BuildBonePositions func because that DoBuildBonePositions thing added at the last minute was mistaking it for a redundant call and clobbering it)
  • Fixed a case where puppeteers could cause lua errors (if GetSequenceInfo returns nil for whatever reason when computing their render bounds, they now use model bounds as a fallback)

Update: 6 Apr, 2024 @ 9:58am

  • Uploaded to the Steam Workshop