Garry's Mod

Garry's Mod

2,351 ratings
[wOS] DynaBase - Dynamic Animation Manager
2
3
3
2
   
Award
Favorite
Favorited
Unfavorite
Content Type: Addon
Addon Type: Model
Addon Tags: Fun, Roleplay
File Size
Posted
Updated
23.480 MB
Jan 11, 2023 @ 12:53pm
Jan 5 @ 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
40 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 (4)
61
Jul 13 @ 10:38pm
PINNED: BUG REPORTING
King David™
5
Jan 18, 2023 @ 6:34pm
Anyone knows how to mount and un-mount? (like the pictures shown)
CSGModFan2012
5
Mar 2 @ 11:13pm
PINNED: READ THIS AFTER SUBSCRIBING
King David™
233 Comments
King David™  [author] Jul 22 @ 7:53pm 
@Reveloper The collection has no clear maps
@Robbentotta You'd have to program the part of it, there's no ingame means of just clicking an animation and playing it on a model
Robbentotta Jul 21 @ 6:26am 
is there a way to play a specific animation that is listed on the menu?
Reveloper Jul 16 @ 5:24am 
Okay It Just Crashes Durning Lua Started Maybe Some Mods Causing That Just Check My Collection If You Could Help I Would Glad

https://steamcommunity.com/sharedfiles/filedetails/?id=3284914011
King David™  [author] Jul 14 @ 11:45am 
That's not actionable, re-read the request
Reveloper Jul 14 @ 4:27am 
It Simply Crashes In Many Maps Sometimes When In Multiplayer
King David™  [author] Jul 13 @ 10:38pm 
SOunds like a good idea. Also in the bug reports thread can you give me the custom maps so I can test them?
Reveloper Jul 13 @ 9:32am 
Also Addon Crashing In Custom Maps Even Maybe On Multiplayer
Reveloper Jul 11 @ 12:36pm 
Please Don't Say No Because I Think It's Necessary
Reveloper Jul 11 @ 12:35pm 
Add Saving To This Addon So I Don't Will Need To Do Animation List
AXONIS Jun 30 @ 11:24am 
Hey, does this Have conflicts with the Modern Warfare Gun Mod Made By Viper?.My Character keeps on stretching and glitching when i equip a gun from that mod.Any causes for that?