Chris Robinson
3e9b0a333c
Allow specifying the accumulation for animations
...
Animations that move a character may do so either visually or physically. An
axis' accumuluation value specifies whether the movement is visual (0) or
physical (1). Idle animations, for instance, typically don't physically move a
character, while death animations may physically move them along the X and Y
planes, but not along Z (the vertical movement is purely visual).
2013-01-18 14:25:32 -08:00
Chris Robinson
fef6284f15
Only reset the animation time if a new state was set
2013-01-17 15:47:25 -08:00
Chris Robinson
fc0f9e2159
The animation state tracks the animation time for us
2013-01-17 14:49:42 -08:00
Chris Robinson
7cce44290e
Handle the animation queue in mwmechanics
2013-01-17 13:18:40 -08:00
Chris Robinson
82d549e22f
Don't update the animation if time is the same
2013-01-16 21:39:14 -08:00
Chris Robinson
7ee389f3b2
Handle animation skipping in the character controller
2013-01-16 21:25:50 -08:00
Chris Robinson
852aa214cc
Store the available animation names in the character controller
2013-01-16 21:16:22 -08:00
Chris Robinson
4dd01b81c6
Update mTime when updating or reseting the animation, and refactor the animation loop
2013-01-16 20:14:49 -08:00
Chris Robinson
3c32385e17
Avoid trying to animate things that don't have animations
2013-01-16 15:00:06 -08:00
Chris Robinson
94b93227d3
Treat activators as actors for rendering and mechanics
...
Kinda hacky, but it's the only way to get animated activators (flags, silt
striders, etc) to work properly.
2013-01-16 14:37:32 -08:00
Chris Robinson
d2fc3c7b33
Add a method to tell the character controller of new text keys
2013-01-16 13:09:21 -08:00
Chris Robinson
0a2f92f679
Keep track of the current text key in the animation
2013-01-16 11:57:08 -08:00
Chris Robinson
f46587c383
Store an character controller in the animation
2013-01-16 11:01:08 -08:00
Chris Robinson
c4c8295e0b
Rename NIFLoader to Loader, and update some comments
2013-01-09 09:10:59 -08:00
Chris Robinson
1e38e381a4
Use text keys for each animation
2013-01-09 03:30:55 -08:00
Chris Robinson
bb98542c5a
Build separate animations for each group
2013-01-09 01:40:38 -08:00
Chris Robinson
e44729cd43
Make the text keys lower-case when extracting them
...
I think it's safe to assume all text keys are treated in a case-insensitive
manner. So far the only known NiTextKeyExtraData records are for animation
keys, which effectively are.
2013-01-09 00:17:42 -08:00
Chris Robinson
2a9dc5ad94
Ensure mCurGroup always has valid iterators, and only get the animation state when animation keys exist
2013-01-07 21:00:21 -08:00
Chris Robinson
d8dbd5e206
Store text key iterators for the start and stop times
2013-01-07 05:56:03 -08:00
Chris Robinson
d3e949f5c6
Make the animation text keys lower case to help lookup
2013-01-07 05:23:44 -08:00
Chris Robinson
5f668976a8
Improve resetting the animation position
2013-01-07 04:48:59 -08:00
Chris Robinson
648e3331f5
Don't try to move objects that aren't in a cell
2013-01-06 23:20:20 -08:00
Chris Robinson
5b3a20ef69
Update the object position as the animation moves
2013-01-06 21:18:48 -08:00
Chris Robinson
910619eb21
Store the NonAccum animation root from the skeleton instance
...
Currently this is assumed to be the node with the animation text keys.
2013-01-06 17:31:53 -08:00
Chris Robinson
b96a979719
Store an MWWorld::Ptr with the Animation
2013-01-06 17:05:48 -08:00
Chris Robinson
58d35dbfcf
Have createEntities' caller retrieve the text keys as needed
2013-01-05 04:01:11 -08:00
Chris Robinson
818a24cdd6
Hold on to the AnimationState being used for animating
2013-01-05 00:03:14 -08:00
Chris Robinson
6e84d4bcdd
Add a helper method to load entity objects
2013-01-04 23:19:48 -08:00
greye
50867e8d87
fix gender selection update, main model visibility and couple of crashes
2012-11-10 19:57:50 +04:00
Chris Robinson
41f80908d9
Simplify getting the stop time when playing all animation groups
2012-09-29 01:10:49 -07:00
Chris Robinson
cd8515396a
Use a multimap to store the text keys
2012-09-28 23:20:15 -07:00
scrawl
2793096b50
Merge branch 'externalrendering' of https://github.com/zinnschlag/openmw into characterpreview
...
Conflicts:
apps/openmw/CMakeLists.txt
apps/openmw/mwbase/world.hpp
apps/openmw/mwrender/renderingmanager.cpp
apps/openmw/mwrender/renderingmanager.hpp
apps/openmw/mwworld/worldimp.cpp
apps/openmw/mwworld/worldimp.hpp
2012-09-15 00:57:29 +02:00
Chris Robinson
9f0c1eeb7b
Support playgroup mode 0
2012-07-24 14:54:12 -07:00
Chris Robinson
13ab2baef0
Use a struct to hold the current animation times and remaining loop count
2012-07-24 14:42:01 -07:00
Chris Robinson
fd1e3f6ec5
Add support for playgroup mode 2
2012-07-24 14:14:32 -07:00
Chris Robinson
20121f3b0a
Remove some unused stuff
2012-07-24 13:56:28 -07:00
Chris Robinson
9a7a629d0f
Add support for playing animation groups
2012-07-24 13:51:48 -07:00
Chris Robinson
77446a0d58
Fix skipAnim, only skip one animation update
2012-07-21 17:39:57 -07:00
Chris Robinson
81ce8dbe12
Combine animation handling into the base class
2012-07-21 14:41:26 -07:00
Chris Robinson
2db80a1504
Rename a couple methods to match their scripting counterparts
2012-07-20 00:53:12 -07:00
Chris Robinson
66860825cf
Remove some unused and unneeded bits from the Animation class
2012-07-20 00:36:52 -07:00
Chris Robinson
02d39080c8
Destroy entities when they're done with.
2012-07-18 00:17:39 -07:00
Chris Robinson
0a4a141f2e
Support multiple meshes for creatures
2012-07-17 11:23:34 -07:00
Chris Robinson
6047dc6a0c
Merge remote branch 'zini/master' into nif-cleanup
...
Conflicts:
apps/openmw/mwrender/animation.cpp
apps/openmw/mwrender/animation.hpp
apps/openmw/mwrender/creatureanimation.cpp
apps/openmw/mwrender/npcanimation.cpp
apps/openmw/mwrender/npcanimation.hpp
components/nifogre/ogre_nif_loader.hpp
2012-07-17 10:57:15 -07:00
Carl Maxwell
e4d046f69c
Prepending m to the name of every member variable.
...
I made a bunch of changes in apps/openmw/mwrender/animation.cpp
because the scope brackets didn't line up in a bunch of places
npcanimations.cpp & creatureanimations.cpp were the same kind of
thing
2012-07-13 03:51:58 -07:00
Chris Robinson
ecdd4ee23f
Load NiMorphData and NiKeyframeData using proper key lists
2012-07-12 20:56:47 -07:00
Chris Robinson
386ac56bda
Remove the NIF loader and code to manually transform the vertices
...
This currently breaks just about everything. They should come back as it's all
reimplemented, though.
2012-07-12 20:12:18 -07:00
Marc Zinnschlag
c85aaafac2
more include cleanup (most removing Ogre.h)
2012-07-03 15:32:38 +02:00
Marc Zinnschlag
35f478071e
Issue #255 : deleted the old environment class and using the new one instead
2012-04-23 15:27:03 +02:00
Jason Hooks
bc8bb9c57e
Reserve; skirts
2012-04-15 14:22:55 -04:00