Commit Graph

5573 Commits (65081f5520b733b235b87a9b98e5f6afbb331962)
 

Author SHA1 Message Date
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.
12 years ago
Chris Robinson e6e7c69013 Fix handling of filtered entities 12 years ago
Marc Zinnschlag 827261e8b4 increased version number 12 years ago
Marc Zinnschlag 85697e4628 reverted to C++03 12 years ago
Chris Robinson 7f87c1873b Use an array to store the entity parts 12 years ago
Nathan Jeffords 4e46f403a9 added some more warning to ignore in MSVC 12 years ago
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.
12 years ago
Michal Sciubidlo 492482de7f Add "open" option in opencs. 12 years ago
Tom Mason 0f58e03343 Unequipping items will reset OnPCEquip variable 12 years ago
Tom Mason 9ad08520fd Implemented OnPCDrop special variable
Scripts are responsible for resetting to 0, as investigation showed that is how vanilla handled it.
12 years ago
Tom Mason 0fc5ee5149 allow OnPCEquip special variable to be of any type 12 years ago
Chris Robinson c6a9ea5007 Use the skeleton as defined in the NIF model
The avoids having to duplicate models that get attached to different character
skeletons.
12 years ago
Chris Robinson d6f923f274 Use a child scene node for the accumulation root 12 years ago
Tom Mason 09f9557ecb Implemented OnPCEquip special variable 12 years ago
Tom Mason dc91211b12 Fixed Small bug where scripts were being removed when they shouldn't be.
Scripts should only be removed when the item is being moved to another cell, otherwise they should remain active.
12 years ago
Michal Sciubidlo ac62dd050d Rename datafilespage to datafileslist 12 years ago
Michal Sciubidlo f029a9011a Move datafilespage to shared space. 12 years ago
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.
12 years ago
Chris Robinson 5c3a7f7d52 Avoid handling animation states
We don't need them anymore
12 years ago
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.
12 years ago
Chris Robinson 600d3bf9eb Make sure the player node's visibility cascades 12 years ago
Chris Robinson 04d4c125ba Print when an animation event is unhandled 12 years ago
Chris Robinson 0853fa335c Avoid redundant string concatenations 12 years ago
Chris Robinson d4ddaa3d95 Only register activators that have a MWRender::Animation object 12 years ago
Chris Robinson 99efe4e494 Remove an unnecessary class member 12 years ago
Chris Robinson 879359f39d Set the animation state loop flag as appropriate 12 years ago
Chris Robinson 92d0c55f32 Add a flag to specify if an animation should be playing 12 years ago
Chris Robinson fdabef65a1 Use a method to update an object's cell in the mechanics manager
This prevents destroying and recreating the object's character controller (and
messing up the current animation) when moving between cells.
12 years ago
Chris Robinson 8d98f3649c Use a separate class to handle activator mechanics 12 years ago
Chris Robinson 487c83e943 Rename nonaccum to animroot 12 years ago
Chris Robinson 7df4d0d19f Remove an unnecessary cast 12 years ago
Chris Robinson e1d3933145 Remove an unused struct 12 years ago
Chris Robinson 7b71b4eb31 Add a missing include 12 years ago
Chris Robinson 0cd3880b20 Merge remote-tracking branch 'zini/master' into animation2 12 years ago
Chris Robinson b1ffdf855f Reset the initial state of animated nodes on the skeleton instances
This is so the animation specifies node keyframe data based on the node's
parent. This will also be necessary for applying animations from different
skeleton sources, as they can have different binding positions (even native
.skeleton resources will need to specify animation data this way).
12 years ago
Mark Siewert dca8dc4fdb Merge remote-tracking branch 'upstream/master' into multiple_esm_esp
Conflicts:
	apps/openmw/engine.cpp
	apps/openmw/mwworld/cellstore.cpp
	apps/openmw/mwworld/store.hpp
	apps/openmw/mwworld/worldimp.cpp
	apps/openmw/mwworld/worldimp.hpp
	components/esm/esmreader.hpp

- Quick hack: OMW::Engine::prepareEngine only loads translation data for the first master file.
12 years ago
Mark Siewert 854eff321f - Some time ago, upstream/master did merge the submodule 'shiny' into upstream/master. This branch now does this as well. 12 years ago
Emanuel Guevel 19dff822f4 Dialogue: do not filter on disposition for creatures 12 years ago
Emanuel Guevel ed9a9904b4 Dialogue filter: search script variables case-insensitively 12 years ago
scrawl cac68c9e87 Removed an outdated section from CMakeLists 12 years ago
Marc Zinnschlag 90d05858ef disabling dialogue sub-views for now 12 years ago
Marc Zinnschlag cd662af634 Merge branch 'globals' 12 years ago
Chris Robinson 05f8b8c283 Specify the text key to reset animations to 12 years ago
Chris Robinson d836b3d0ff Don't try to create animations if there's no text keys and nonaccum node.
Such meshes apparently use NiBSAnimationNode, a Bethesda-specific extension
which has animation-related info in its flags (values currently unknown).
12 years ago
Chris Robinson 37fe1bd3f0 Handle looping in the Animation object 12 years ago
Marc Zinnschlag 2756d3ee94 Merge remote-tracking branch 'wheybags/containerscripts' 12 years ago
Tom Mason f5f3c2e62d enabling / disabling should not affect scripts 12 years ago
Chris Robinson e956a1cbc0 Merge SpecialIdle character state into Idle 12 years ago
Chris Robinson 6905bd18ba Filter out the group name from the text keys
It's already in the animation name, and the text keys are animation-specific
anyway.
12 years ago
Chris Robinson 8e8900e422 Use the first bone with text keys as the nonaccum root. 12 years ago