1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 00:19:56 +00:00
Commit graph

121 commits

Author SHA1 Message Date
Chris Robinson
e85bc8b2cd Only load one Nif for Animation objects
This breaks quite a bit, but it's needed for the transition to using the
.kf files.
2013-05-06 23:11:26 -07:00
gus
766d1efa84 Render weapon and shield. Only shield can be seen right now as weapons need to be drawed out. 2013-04-28 11:41:01 +01:00
Chris Robinson
9a2a32f2a5 Add a method to clear all Animation sources except the first
The first needs to remain, since that's where any mSkelBase entity comes from,
and where any retrieved nodes are from.
2013-04-25 05:02:11 -07:00
Chris Robinson
09fc50948b Add methods to disable and get info for a layer 2013-04-25 00:08:16 -07:00
Chris Robinson
24f1eba902 Keep track of whether an animation supplies movement
Also handle it when it doesn't.
2013-04-24 22:45:43 -07:00
Chris Robinson
0817d59f23 Allow specifying where to start in an animation 2013-04-24 19:09:36 -07:00
Chris Robinson
333354fe62 Remove the character controller from the Animation class 2013-04-24 07:10:41 -07:00
Chris Robinson
b482d5be09 Add a method to check if a given layer is playing 2013-04-24 05:23:45 -07:00
Chris Robinson
c58dfbe921 Specify the loop count to Animation::play 2013-04-24 04:56:39 -07:00
Chris Robinson
7241267d5c Make an AnimationValue for each animation layer 2013-04-24 04:41:52 -07:00
Chris Robinson
102b3bdef9 Update position by reference 2013-04-24 01:57:51 -07:00
Chris Robinson
c4806f01f8 Use a separate list of controllers to update
This should make it easier to figure out what controllers need to be updated
for various animation sources and layers.
2013-04-23 04:08:09 -07:00
Chris Robinson
e4c5aac966 Keep track of the animation layers a given object list is animating on
This only tracks layers they explicitly animate on. They may animate on other
layers as well, if nothing else is animating on them.
2013-04-23 02:48:11 -07:00
Chris Robinson
8782ae6976 Separate some Animation fields into a separate AnimLayer class 2013-04-22 23:52:28 -07:00
Chris Robinson
7279e015e9 Search the textkeys to check if an animation group exists 2013-04-22 20:59:55 -07:00
Chris Robinson
a2fc43c7df Use reset to check that the animation exists and has the right markers 2013-04-22 20:41:54 -07:00
Chris Robinson
bb64efc18e Improve looping behavior 2013-04-22 05:08:52 -07:00
Chris Robinson
cc70c6263b Use the NodeTargetValue for the NonAccum root 2013-04-22 04:10:46 -07:00
Chris Robinson
9485a4aa6d Look through the whole animation stack to find the "velocity" 2013-04-22 01:40:41 -07:00
Chris Robinson
2345b5e8b3 Avoid storing text keys for each animation 2013-04-21 22:56:40 -07:00
Chris Robinson
d7c9df16f8 Store the current animation group 2013-04-21 18:32:34 -07:00
Chris Robinson
835ff8eb1e Avoid creating an AnimationValue per ObjectList 2013-04-20 17:13:27 -07:00
Chris Robinson
50bb92beb3 Use a method to set the visibility flags and render queue. 2013-04-19 02:01:50 -07:00
Chris Robinson
4ce98e9bd6 Store iterators for start and stop keys 2013-04-15 20:37:10 -07:00
Chris Robinson
1b1f9f7921 Allow multiple ObjectLists to be created for Animations.
addObjectList may not currently be called outside of the related constructor.
2013-04-15 18:55:28 -07:00
Chris Robinson
69084139aa Use an array of objectlists, instead of one base objectlist and an array of 'animation sources' 2013-04-14 17:58:21 -07:00
Chris Robinson
f9dee25fd1 Store the base skeleton entity in MWRender::Animation 2013-04-14 16:56:35 -07:00
Chris Robinson
caff28e20a Move NIFSkeletonLoader to a separate file 2013-04-10 19:58:17 -07:00
Chris Robinson
08d43fe217 Make the getHeadNode method more general 2013-04-08 05:48:52 -07:00
Chris Robinson
7baca30a1d Only get the non-accum root's keyframe when updating positions
The actual animation pose is now handled by the controllers, based on the
current animation time.
2013-04-07 16:21:45 -07:00
Chris Robinson
261ea1fe5e Implement a KeyframeController 2013-04-07 14:56:23 -07:00
Chris Robinson
2362e920f3 Use an unconnected object list for animation sources
We'll want the controllers, as the plan is to use their keyframe controllers
to animate the actual skeleton used for the meshes.
2013-04-07 12:41:27 -07:00
Chris Robinson
2db72ae607 Rename EntityList to ObjectList 2013-04-07 01:52:35 -07:00
Chris Robinson
0631b28646 Prepare for supporting controller objects 2013-04-05 10:13:54 -07:00
Nathan Jeffords
109dff2d29 renamed high level NIF files... 2013-03-02 13:23:09 -08:00
Chris Robinson
8e59ea4941 Use a separate method to handle animation events 2013-02-23 14:39:01 -08:00
Chris Robinson
d208422ca7 Add a method to update an Animation's Ptr object 2013-02-23 10:12:36 -08:00
Chris Robinson
e6da9dfae5 Specify the animation key to stop playing at 2013-02-23 05:15:10 -08:00
Chris Robinson
b8f5813609 Set all animation sources at once 2013-02-23 03:34:03 -08:00
Chris Robinson
9dee2a72cd Use a separate method to calculate animation velocity 2013-02-22 09:22:06 -08:00
Chris Robinson
1399a06c76 Update animation looping when setting the same state 2013-02-19 04:01:33 -08:00
Chris Robinson
ff0099fa6e Scale the animation speed based on the animation velocity and movement speed
This may not be totoally correct since it takes the whole animation into
account, rather than just the looping portion. But it's good enough for now.
2013-02-15 02:15:39 -08:00
Chris Robinson
8d6f017f17 Remove an unneeded Animation field 2013-02-09 13:25:39 -08:00
Chris Robinson
600fe06f00 Use a vector of skeletons to handle animation sources 2013-02-05 16:29:51 -08:00
Chris Robinson
23acf4b130 Don't break right away when the animation time remaining is 0 2013-02-03 01:38:42 -08:00
Chris Robinson
fc7590694d Revert "Revert "Use a child scene node for the accumulation root""
This reverts commit 376dfed15b.

I was wrong. It's needed at least for NPCs since they're attaching multiple
animated skeletons to an object, and they all need to be offset correctly.

Would be nice to use a Node, Bone, or TagPoint instead of a hefty SceneNode,
though.
2013-02-02 05:43:37 -08:00
Chris Robinson
376dfed15b Revert "Use a child scene node for the accumulation root"
This reverts commit d6f923f274.

We don't need it for any of the NIFs we're currently handling. As long as
there's no NIF files that would break it, we should require a stationary root
if an animation wants to accumulate. If we must, a better idea may be to inject
an extra bone into the skeleton instance and make that the accumulation root.
2013-02-01 08:50:32 -08:00
Chris Robinson
d6f923f274 Use a child scene node for the accumulation root 2013-01-30 22:28:18 -08:00
Chris Robinson
b6354c6282 Don't share skeleton instances between bounded parts on an NPC
However, a skeleton instance will still be shared between entities in an entity
list.
2013-01-30 09:29:16 -08:00
Chris Robinson
5c3a7f7d52 Avoid handling animation states
We don't need them anymore
2013-01-30 07:34:07 -08:00