Garry's Mod

Garry's Mod

5,084 ratings
[wOS] DynaBase - Dynamic Animation Manager
3
3
2
2
2
13
   
Award
Favorite
Favorited
Unfavorite
Content Type: Addon
Addon Type: Model
Addon Tags: Fun, Roleplay
File Size
Posted
Updated
23.480 MB
11 Jan, 2023 @ 12:53pm
5 Jan, 2024 @ 7:34am
14 Change Notes ( view )

Subscribe to download
[wOS] DynaBase - Dynamic Animation Manager

In 2 collections by King David™
[wOS] Advanced Lightsaber Combat Requirements
15 items
Supported DynaBase Addons
51 items
Description
The beauty of the ValveBiped form at your fingertips

This is a wiltOS Week "Back to 2022" Item:
www.wiltostech.com/wosweek/2022/1

Description
The DynaBase is an animation base that gives full animation control to the player, the server, and the developers of the community. Change what animations are enabled, what order, or even decide to mount your own custom animations through a menu. Best of all, it will all update immediately so you can make tweaks and continue onward.

Pro-Tips

This already supports every wiltOS Animation Extension. Please subscribe to the legacy addon in the required content to add quick support for xDR. This is simply so you can actually use them within the menu and customize it.

YOU MUST UNSUBSCRIBE FROM ALL OTHER ANIMATION BASES, INCLUDING THE WILTOS ANIMATION BASE (FULL) AND XDREANIMATION BASE, FOR THIS TO WORK!

THIS ADDON IS CONSIDERED IN TESTING SO REPORT BUGS OR CRASHES IMMEDIATELY

Why is this a big deal?
Short Answer:
You could never dynamically load animations onto models. Developers can now use IncludeModel( MODEL_PATH ) in lua to add whatever they want, including animations from existing models like NPCs, directly onto the player. Updating it in-game is just a bonus.

Long Answer:
Previous iterations of animation bases for Garry's Mod, hell the source engine, hinged on not being able to dynamically change model and animation data which meant you were stuck with what you were given in terms of slots. Additionally, you would have to constantly restart and hope you had the exact same content otherwise you would see issues. Developers couldn't even use the ACTIVITY system, something built into animations, reliably because the ORDER of animations addons can ruin everything. As this was iterated with both the wiltOS Animation Base and xdReanimationBase, the inability to merge the server and client so they can work together became increasingly clear. So now, leveraging a lot of things we probably shouldn't be able to, you can do it.

How is it done?
What I discovered is that there's a fun source engine quirk that allows you to mount any kind of files into includemodel, no matter where it is, including data files. It simply needs to pass the inspection of a valid model pointer. Getting it to do that requires some custom model compilation, but once it's done it will work. However, you cannot flush m/f/z_anm.mdl's because they are considered protected data now. If you include a model however, you can refresh THAT, and data files are not protected. So if you run r_flushlod it will re-assemble everything. Combine all the concepts, we are basically making fake modelptrs in the data folder with whatever the developers are giving us, that are pointing to real models, in the most amazing double dutch you've ever seen.

The only problem left is r_flushlod is a usually unstable function that crashes clients. While it has been made a little more reliable in recent years, it still needs some work. By preventing anything from accessing the data during the refresh, it greatly reduces the chances of crashing even on repeat usage.

FEATURES
Power to the Player
- Ability to manage your own animations, or mount your own local models in game with a user mounting system
- Animations will work on any server, even those that don't have the animation base, as long as they don't force you to download a conflicting base
- Modify how your animations behave per-server, utilizing the server's own whitelisting system or your own

Power to the Server
- Animation syncing between server and client
- Ability to set content permissions, such as which animation extensions or re-animations are allowed, and in the exact order you want them to be
- Ability to restrict client mounting permissions. Should they be able to mount animations? Re-animations? Neither?
- Ability to disable user mounting to ensure everyone has the same experience

Power to Developers
- No limitation on what you can or can't include. No asking for animation slots, no worrying about naming the model correctly. Just include it and you're done
- IncludeModel now exposed to lua, and hooks for dynamic insertion to models
- Registration of models for easy in-game configuration and compatibility checking
- Level One animation correction, so there is no ACT collisions. Meaning you can mount NPC models without any problems

Fun Other Stuff (WIP)
- Automatically fixes itself if another animation base is installed, without you having to do a single restart!

Documentation
All the documentation on this animation base will be on our community wiki, which I will post about here when I update it: https://wiki.wiltostech.com/3/DYNABASE

You fill find installation instructions here: https://wiki.wiltostech.com/3/DYNABASE/Installation

Since this is the first time people are probably hearing about it, this is a free developer wiki for anyone, not just me, to use. If you want to read more, you can do that here: https://knockout.chat/thread/43942

Closing Remarks
This is a start to a long journey now. I have been experimenting with a lot of ideas for a few years but there is only so much one person can test alone. I'm hoping people are going to help catch problems and edge cases that may exist with the way this addon is made so we can push the tech forward. With this idea alone it will be possible, with some more work, to mount SMD files directly into models, in-game animation retargeting pre-inclusion, or allow each player to have a unique player model with it's own custom animations. I know, because these are the very same ideas I played with some time back. But before we get there, we need to make sure the foundation is right. Regardless of this does or doesn't work out, it will be a learning experience for everyone.

Need live help using the addon? Want to keep up to date with wiltOS Technologies? Consider joining our Community Discord![discord.gg]
Popular Discussions View All (9)
96
5 Jun @ 3:16pm
PINNED: BUG REPORTING
King David™
6
23 Sep, 2025 @ 6:20pm
PINNED: READ THIS AFTER SUBSCRIBING
King David™
1
21 Jan @ 7:37pm
Need some help :/
coolguyVicaso
390 Comments
6 Jul @ 7:56pm 
i found a fix for it in the bug report sticky lol, probably should have read that first sorry, deleting the wos folder in found in progamx86/steam/steamapps/common/garrysmod/data fixed this
6 Jul @ 7:48pm 
shouldnt*
6 Jul @ 7:48pm 
I tried to mount a model in game and when i enabled the mount the game crashed, now i cant get back into the game without it crashing. any fix for this? i wasnt even sure what mounting does i should have tried it...
3 Jul @ 10:28am 
breaks viewmodel...
3 Jul @ 2:38am 
how to use on NPC? or ragdols or prop...
i can't see animations in animation menu "easy animation maker"
27 Jun @ 12:43pm 
why is my playermodels t-pose
18 Jun @ 10:20am 
does not crash whenever i open dynabase menu, it just takes an absurd amount of time to load (game freezes for up to 10+ minutes sometimes before it opens)
King David™  [author]
4 Jun @ 10:34am 
Yeah seems like any mod that messes with the .phy of the ragdolls is a surefire crash.

@gc_is_cool Thank you for the words :), I'll keep putting my best foot forward in finding a workaround for now

@Hari I'm trying to figure out if just shipping my own .phy that does nothing will work but it's not ending the way I'd like, and we can't "unload" a specific file without a binary
3 Jun @ 3:05am 
It seems like this mod crashes the game when its used with realistic inertia redux https://steamcommunity.com/sharedfiles/filedetails/?id=3536988266
29 May @ 6:23am 
Thank you very much, King David™ (the author). Although I seem to find no solution, it is really your positive response to the community that touched me. I wish you all the best, and yes, I will continue following this mod until the issue is fixed.