Chris Robinson
d208422ca7
Add a method to update an Animation's Ptr object
2013-02-23 10:12:36 -08:00
Chris Robinson
a2eaec7878
Avoiding holding the InventoryStore in the NpcAnimation class
2013-02-23 08:03:52 -08:00
Chris Robinson
0d0e75fe0b
Don't set animation sources for models that don't have a skeleton
2013-02-23 07:36:11 -08:00
Chris Robinson
0148db8ccf
Merge remote-tracking branch 'zini/master' into animation2
...
Conflicts:
apps/openmw/mwrender/npcanimation.cpp
apps/openmw/mwrender/npcanimation.hpp
2013-02-23 05:59:35 -08:00
Chris Robinson
e6da9dfae5
Specify the animation key to stop playing at
2013-02-23 05:15:10 -08:00
greye
ac7095537f
remove insertMesh() call on object cell change
2013-02-23 16:50:37 +04:00
greye
9659b4a95e
update NpcAnimation inventory reference on cell change
2013-02-23 16:45:55 +04:00
Chris Robinson
b8f5813609
Set all animation sources at once
2013-02-23 03:34:03 -08:00
scrawl
f17ea109ca
Fix light positions
2013-02-23 04:06:05 +01:00
Chris Robinson
b12c6a4c16
Fix character preview
2013-02-22 11:16:00 -08:00
Chris Robinson
ecbf1568a1
Fix NPC part attachment
2013-02-22 10:15:29 -08:00
Chris Robinson
9dee2a72cd
Use a separate method to calculate animation velocity
2013-02-22 09:22:06 -08:00
Chris Robinson
7ec73c29f2
Do not return the player's Animation object for non-players
2013-02-22 01:27:26 -08:00
Chris Robinson
617158afcd
Ensure updated skeleton bone placement matches in world space
...
Objects attached to actors (shirts, robes, etc) do not require the same node
hierarchy as the character root. So to ensure proper placement, we need to set
the bone target's derived transformation using the source bone's derived
transformation (which in turn means we need to work up from the root, to ensure
the bone's parents are properly placed).
2013-02-20 02:41:46 -08:00
Chris Robinson
8196694c08
Avoid applying the animation when resetting it
2013-02-19 06:04:25 -08:00
Chris Robinson
f8349a04bf
Use the looping portion of the animation to calculate the velocity
2013-02-19 05:26:58 -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
6a9755778e
Merge remote-tracking branch 'zini/next' into animation2
2013-02-12 18:14:46 -08:00
Marc Zinnschlag
5e3529783d
Merge remote-tracking branch 'ace/win-fixes' into next
2013-02-12 15:42:45 +01:00
Alexander "Ace" Olofsson
bbb845824d
Added typedef for ssize_t in windows and fixed a use of __PRETTY_FUNCTION__
2013-02-12 13:59:24 +01:00
Chris Robinson
4ee5857bae
Filter accumulation axis for mLastPosition as needed
2013-02-09 19:09:56 -08:00
Chris Robinson
8d6f017f17
Remove an unneeded Animation field
2013-02-09 13:25:39 -08:00
Chris Robinson
34ddf69a31
Merge remote-tracking branch 'zini/next' into animation2
2013-02-09 09:46:57 -08:00
Mark Siewert
55bd9eef66
Merge remote-tracking branch 'upstream/master' into multiple_esm_esp
2013-02-09 13:03:35 +01:00
Chris Robinson
923d0d6eb4
Fix up some header includes
2013-02-06 21:47:09 -08:00
Chris Robinson
18b7008409
Better fix some scaling issues
2013-02-05 18:25:09 -08:00
Chris Robinson
535cd8360f
Load extra animations for NPCs
2013-02-05 18:09:43 -08:00
Chris Robinson
8b1e7b95ba
Attempt to load the skeleton source if it doesn't yet exist
2013-02-05 17:55:12 -08:00
Chris Robinson
c839502743
Setup base_anim.nif as an initial skeleton source for biped creatures
2013-02-05 17:16:45 -08:00
Chris Robinson
054ef3113a
Check existing skeleton sources if the current one has no animation root
2013-02-05 17:15:40 -08:00
Chris Robinson
16933e3926
Scale the accumulation root translation
2013-02-05 16:59:20 -08:00
Chris Robinson
600fe06f00
Use a vector of skeletons to handle animation sources
2013-02-05 16:29:51 -08:00
Chris Robinson
786cb6e928
Merge remote-tracking branch 'zini/master' into animation2
2013-02-05 02:57:02 -08:00
Chris Robinson
bd4fdf47a3
Merge remote-tracking branch 'zini/master' into animation2
...
Conflicts:
apps/openmw/mwrender/sky.cpp
2013-02-05 02:27:57 -08:00
scrawl
09180666b2
Merge branch 'master' of git://github.com/zinnschlag/openmw into terrainfix
2013-02-05 00:21:42 +01:00
scrawl
58cf182db2
better place for syncing
2013-02-05 00:21:29 +01:00
scrawl
596628d339
Fix terrain derived data update (bug 534, bug 544)
2013-02-04 23:13:01 +01:00
scrawl
bf037b7d29
Removed problematic ModVertexAlpha method, now done in shader
2013-02-04 18:03:03 +01: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
60a75cb5ee
Make sure to keep the character preview animation updated
2013-02-03 00:54:50 -08:00
Chris Robinson
c23a96d606
Run an aniamtion update after "playing" the inventory idle
...
This is so all the NPC parts get updated correctly.
2013-02-02 06:08:03 -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
7f87c1873b
Use an array to store the entity parts
2013-02-02 02:53:22 -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
Chris Robinson
360f7bfac8
Apply animations to bones manually
...
Couple reasons for this:
* This paves the way for allowing animations specified in other skeletons to
be applied to the character (NPCs and certain creatures can have multiple
animation sources, but Ogre is incredibly strict when it comes to sharing
animations between skeletons).
* It will allow for entities to be animated based on the character's skeleton,
without having to duplicate the mesh for each skeleton it can be used on.
This doesn't impact Ogre's ability to efficiently deform skinned meshes, nor
does it get in the way of hardware skinning.
2013-01-30 07:04:18 -08:00
Chris Robinson
600d3bf9eb
Make sure the player node's visibility cascades
2013-01-30 02:38:50 -08:00