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

337 commits

Author SHA1 Message Date
Chris Robinson
a9dca21d05 Create the Animation SceneNode in the constructor 2013-08-06 19:49:05 -07:00
Chris Robinson
48784c7e2f Use for_each and functors to avoid some for loops 2013-08-06 19:49:05 -07:00
Chris Robinson
8984d8f8ee Use a map to simplify NPC part referencing 2013-08-06 19:49:02 -07:00
Chris Robinson
e976bb16c5 Add a light for torches 2013-08-06 19:49:02 -07:00
Chris Robinson
1f436f9886 Render torches 2013-08-06 19:49:01 -07:00
scrawl
7dc30a01cd Some changes suggested by cppcheck 2013-07-31 18:46:32 +02:00
Chris Robinson
45302f9e25 Handle controllers in the NPC's bound object parts 2013-07-23 22:05:03 -07:00
scrawl
61661c8653 Fix first person meshes casting shadows 2013-07-14 14:55:07 +02:00
Chris Robinson
3771e5839e Allow some more third person fallbacks in first person 2013-07-13 17:03:10 -07:00
Chris Robinson
2d7620e774 Rotate the neck when looking up and down in first-person 2013-07-13 12:39:06 -07:00
Chris Robinson
4df1f198a7 Avoid a map lookup for every skin body part when updating 2013-07-12 22:32:09 -07:00
Chris Robinson
6de56615aa Avoid casting shadows in first-person view 2013-07-12 22:32:05 -07:00
Chris Robinson
025fa4e0d5 Use a multimap for the bodypart map 2013-07-12 22:32:04 -07:00
Chris Robinson
a5e4faaed2 Show arms and body parts in first person
This isn't yet fully correct. The arms need to rotate up and down with
the camera, and the mesh's bounding box is causing them to blink out at
certain angles since they don't fit the animation.
2013-07-12 22:31:59 -07:00
Chris Robinson
908f010c74 Reset the NPC object root when switching POV
When in first person, the skeleton in the .1st.nif file is used. In
particular, these have extra finger bones that are used by the first
person models.
2013-07-12 22:31:57 -07:00
scrawl
7a2d1cd8ce Security skill 2013-05-19 18:40:37 +02:00
Chris Robinson
ee585046ac Don't show weapons in first-person 2013-05-17 01:56:16 -07:00
Chris Robinson
3c5c10144a Remove a duplicate showWeapons call 2013-05-14 19:38:57 -07:00
Chris Robinson
47a9a4cdff Clean up a for loop 2013-05-14 01:29:15 -07:00
Chris Robinson
8e38dc410f Allow loading multiple animation sources
Animation sources are treated differently from base objects. When given
"path\file.nif", base objects will look for "path\xfile.nif" and use that
if it exists (falling back to the original name if not found). Animation
sources will instead use "path\xfile.kf", ignoring it if the file doesn't
exist.
2013-05-07 16:59:32 -07:00
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
Chris Robinson
854de1c6c1 Make sure the weapon is in the proper group 2013-04-29 11:43:37 -07:00
Chris Robinson
063322b081 Declare some variables closer to where they're used 2013-04-29 10:12:50 -07:00
Chris Robinson
0cf531ba12 Make sure to update parts when the weapon changes 2013-04-29 09:53:36 -07:00
gus
3d9ceede77 little fix (weapons disapeared when tab was pressed) 2013-04-28 12:33:41 +01:00
gus
5388c25e64 Fix or lockpicks. 2013-04-28 11:55:50 +01: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
Marc Zinnschlag
32138dbb0f silenced a warning 2013-04-26 13:33:47 +02:00
Chris Robinson
55ee4e65a9 Clean up the slotlist struct 2013-04-25 23:42:20 -07:00
Chris Robinson
274f3c7b77 Force character state to update after switching view modes 2013-04-25 07:08:11 -07:00
Chris Robinson
2769adcee0 Implement switching to and from first-person animations
Note that the current animation gets interrupted, so switching to first person
may break movement until you stop and try to move again. This can be fixed by
alerting the character controller in the mechanics manager to force a state
update when switching POV.
2013-04-25 05:23:05 -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
50bb92beb3 Use a method to set the visibility flags and render queue. 2013-04-19 02:01:50 -07:00
Chris Robinson
6d59325bff Merge remote-tracking branch 'zini/master' into nifogre 2013-04-17 23:21:17 -07:00
scrawl
c519fc360d Move away from fixed record names for body parts 2013-04-18 00:19:34 +02: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
50d8353a8d Fix a hack so arms dont show in first-person 2013-04-09 16:51:04 -07:00
Chris Robinson
a700c50e84 Add a first-person view mode to NpcAnimation
And use it instead of showing/hiding the player.
2013-04-09 15:10:14 -07:00
Chris Robinson
9f9d978b0f Use an enum to specify the NPC's view mode (normal, head only) 2013-04-09 09:07:05 -07:00
Chris Robinson
08d43fe217 Make the getHeadNode method more general 2013-04-08 05:48:52 -07:00
Chris Robinson
7494f90301 Remove an unneeded function 2013-04-07 13:02:46 -07:00
Chris Robinson
be419bc891 Handle NiCamera nodes 2013-04-07 02:28:15 -07:00
Chris Robinson
878b4c15c5 Set visibility flags and the render queue group for particles 2013-04-07 02:08:33 -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
Chris Robinson
77ba0fbe73 Prepare for creating particles
This adds a vector of ParticleSystems to the EntityList, and modifies
corresponding code to handle it. It also loads the ParticleFX plugin so
particles can be created (although they aren't yet).
2013-04-04 05:10:52 -07:00
scrawl
485b6c855a Fix NPC race height not being applied 2013-03-15 16:44:35 +01:00
scrawl
66d2d3522f Race selection preview: render only the head, and focus the camera on its node 2013-03-06 18:03:47 +01:00
scrawl
ca707aa65f Transparency should be evaluated per subentity, not per NIF 2013-03-04 16:57:00 +01:00
scrawl
0f6fd80294 Merge branch 'master' of git://github.com/zinnschlag/openmw into graphics
Conflicts:
	apps/openmw/mwgui/windowmanagerimp.cpp
	apps/openmw/mwrender/npcanimation.cpp
	files/mygui/openmw_settings_window.layout
2013-03-03 11:02:38 +01:00
Chris Robinson
238a8feb18 Fix transparency checks 2013-03-01 13:27:25 -08:00
Chris Robinson
1168f15361 Don't disable depth writes when blending is enabled 2013-02-28 12:17:58 -08:00
scrawl
cacdb33b42 Merge branch 'master' into graphics
Conflicts:
	apps/openmw/CMakeLists.txt
	apps/openmw/mwrender/npcanimation.cpp
	apps/openmw/mwrender/sky.cpp
2013-02-25 15:12:03 +01:00
Chris Robinson
a2eaec7878 Avoiding holding the InventoryStore in the NpcAnimation class 2013-02-23 08:03:52 -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
scrawl
4b51184ec4 Merge branch 'master' of https://github.com/zinnschlag/openmw into graphics 2013-02-23 14:37:28 +01: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
Chris Robinson
ecbf1568a1 Fix NPC part attachment 2013-02-22 10:15:29 -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
scrawl
15e51b76de Experimental: Directional shading on local map, separated out refraction render, no longer uses screen depth 2013-02-03 15:46:23 +01:00
Chris Robinson
7f87c1873b Use an array to store the entity parts 2013-02-02 02:53:22 -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
9123f4f2af Return the movement vector from runAnimation 2013-01-18 16:21:29 -08:00
Chris Robinson
23ac1c2de5 Merge remote-tracking branch 'zini/master' into animation2
Conflicts:
	components/nifogre/ogre_nif_loader.cpp
2013-01-09 20:52:12 -08:00
eduard
2dc0064cc2 more string lowercase 2013-01-09 20:51:52 +01:00
Chris Robinson
c4c8295e0b Rename NIFLoader to Loader, and update some comments 2013-01-09 09:10:59 -08:00
Chris Robinson
be74859f05 Avoid some unnecessary copying when calling addPartGroup 2013-01-09 08:03:28 -08:00
Chris Robinson
625a538f03 Combine part selection into a single loop 2013-01-09 07:43:10 -08:00
Chris Robinson
b96a979719 Store an MWWorld::Ptr with the Animation 2013-01-06 17:05:48 -08:00
Chris Robinson
2b1fe7dc44 Add part info for weapons and shields 2013-01-06 05:39:39 -08:00
Chris Robinson
976b042cca Use a list to reduce some repeating code 2013-01-06 02:14:19 -08:00
Chris Robinson
6e84d4bcdd Add a helper method to load entity objects 2013-01-04 23:19:48 -08:00
greye
c3f0dc0dfb m prefix for NpcAnimation members 2012-11-08 23:11:43 +04:00
greye
932a9dc6f9 applying new interface vol.8, inconsistent 2012-11-06 11:53:00 +04:00
greye
d205723a17 resolving m prefix/ESMStore movement 2012-11-05 18:02:47 +04:00
greye
2057f5619e move ESMStore to MWWorld 2012-11-05 17:18:01 +04:00
greye
3c2ce25f5f m prefix for mwworld/cellstore.hpp 2012-11-05 16:07:59 +04:00
greye
18cc435aa1 resolving conflicts 2012-09-21 13:13:11 +04:00
Marc Zinnschlag
4abb9a00da Merge remote-tracking branch 'jhooks/physicsaedra3' into next 2012-09-18 11:25:09 +02:00
greye
7606ebafd6 resolving conflicts, minor update 2012-09-17 11:37:50 +04: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
scrawl
35f7216f2f fixed some things 2012-09-14 17:25:32 +02:00
scrawl
6ac2a12296 item selection working on the preview 2012-09-14 14:34:18 +02:00
scrawl
eef750e6b0 race selection preview 2012-09-13 19:03:31 +02:00
scrawl
4f3eb3c34a character preview WIP 2012-09-13 00:54:32 +02:00
Jason Hooks
c5b25ef70b Very basic actor physics (no set scale/rotate functions) 2012-09-10 20:29:24 -04:00
Jason Hooks
083e3537b4 post merge 2012-08-09 17:21:59 -04:00
Jason Hooks
cacf0bd10d Basic collision with npcs 2012-08-04 15:43:33 -04:00
Chris Robinson
f953d7f8c0 Store text keys from base NIF animations 2012-07-23 17:27:35 -07:00
Chris Robinson
36be1536d9 Return text keys from NIFs when creating entities 2012-07-23 17:20:47 -07:00
Chris Robinson
e81fc42daa Remove the beast-race special cases from updateParts
The special handling should happen at a much lower level, and prevent the
objects from being equipped in the first place.
2012-07-21 17:12:41 -07:00
Chris Robinson
c5b9098517 Remove an unused field from EntityList 2012-07-21 17:09:16 -07:00
Chris Robinson
81ce8dbe12 Combine animation handling into the base class 2012-07-21 14:41:26 -07:00
Chris Robinson
fcaa8aae06 Don't skip animation state updates for NPCs 2012-07-21 11:26:09 -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
8b5b74f9ee Add a quick hack to let "playgroup all" work on creatures and NPCs 2012-07-19 22:34:26 -07:00
Chris Robinson
a86ed46ec4 Use the race ID specified in the ref base's record instead of the race record
The latter is localized and doesn't match with international versions.
2012-07-19 11:00:26 -07:00
Chris Robinson
6caa39629d Reimplement the skirt part 2012-07-18 22:32:26 -07:00
Chris Robinson
b505d4ace0 Fix feet and entity part detachment 2012-07-18 21:39:50 -07:00
Chris Robinson
4af1bce659 Restore and fix some missing parts 2012-07-18 20:14:23 -07:00
Chris Robinson
d9b64b77ec Attach skinned parts to the scene node instead of the named bone 2012-07-18 18:38:55 -07:00
Chris Robinson
db948969c9 Attach NPC parts to the proper bone 2012-07-18 11:14:13 -07:00
Chris Robinson
04e496a6ca Store the entity lists for NPC parts 2012-07-18 10:26:25 -07:00
Chris Robinson
6611b0b317 Use an array instead of a bunch of nearly-identical if blocks 2012-07-18 10:09:16 -07:00
Chris Robinson
02d39080c8 Destroy entities when they're done with. 2012-07-18 00:17:39 -07:00
Chris Robinson
4109d0d923 Destroy entities removed from the NPC 2012-07-17 22:47:56 -07:00
Chris Robinson
92546ca18d Move the last bits of code to createEntities 2012-07-17 20:23:09 -07:00
Chris Robinson
94f3e7a6c0 Store the entity list in the object 2012-07-17 16:00:03 -07:00
Chris Robinson
a590db2cf4 Create entities when loading NIFs for the NPC base 2012-07-17 15:43:40 -07:00
Chris Robinson
c6cc82a51a Handle multiple entities per NPC part 2012-07-17 12:20:52 -07:00
Chris Robinson
89cfe778f0 Support multiple entities for the NPC base 2012-07-17 11:38:50 -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
Chris Robinson
939d0d2fc5 Return a list of meshes and the skeleton from NIFLoader::load 2012-07-13 20:01: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
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
5a7b95bf7a Issue #107: cleaned up includes in apps/openmw/mwworld/class.hpp 2012-07-03 13:15:20 +02:00
Marc Zinnschlag
4c39fefd1e Issue #107: World is accessed only through the interface class from now on; some include cleanup 2012-07-03 12:30:50 +02:00
Marc Zinnschlag
7fcd41c69d Issue #107: Detemplateised CellStore; some include cleanup 2012-06-29 18:54:23 +02:00
Marc Zinnschlag
76174098c7 Issue #107: CellStore moved from ESMS to MWWorld 2012-06-29 16:48:50 +02:00
scrawl
c85c794c86 fixed some cppcheck issues 2012-06-06 20:29:30 +02:00
Marc Zinnschlag
7ac9523e0c Merge branch 'master' into next 2012-04-23 15:32:02 +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
Marc Zinnschlag
cc86998281 removing some cout spam 2012-04-21 10:12:59 +02:00
Marc Zinnschlag
14ddcc1204 Merge remote branch 'jhooks/clothingarmor' 2012-04-17 00:26:39 +02:00
Jason Hooks
950378ff65 Khajiit male foot fix 2012-04-16 17:25:55 -04:00
Marc Zinnschlag
7483c78b4a Merge remote branch 'jhooks/clothingarmor'
Conflicts:
	apps/openmw/mwrender/npcanimation.cpp
2012-04-16 14:06:27 +02:00
Jason Hooks
0c9c253778 Fix for some types of boots 2012-04-15 22:49:17 -04:00
scrawl
268b7cd6fc replaced typename checks 2012-04-15 22:05:33 +02:00
Marc Zinnschlag
afa859a6a6 Merge remote branch 'jhooks/clothingarmor'
Conflicts:
	apps/openmw/mwrender/npcanimation.cpp
2012-04-15 22:06:05 +02:00
Jason Hooks
65c9cf565c Skirt and robe part blanking 2012-04-15 15:16:48 -04:00
Jason Hooks
85ac658cac Adding tons of skin body parts 2012-04-14 22:52:05 -04:00
Jason Hooks
5e1ac0cca1 Gloves, Gauntlets, Boots, Shoes 2012-04-14 20:32:46 -04:00
Jason Hooks
940a90e3ba Pauldrons 2012-04-14 19:21:14 -04:00
Jason Hooks
e5becb1f50 Group add function;Greaves 2012-04-14 18:58:52 -04:00
Jason Hooks
5d4ad4cd81 Shirts and Cuirasses 2012-04-14 16:44:46 -04:00
scrawl
4b0099fb5b npc visibility flags fix 2012-04-14 16:10:47 +02:00
Jason Hooks
7551926afd Adding helmets 2012-04-13 23:25:15 -04:00
Jason Hooks
e869433b07 Add or replace individual parts 2012-04-12 22:16:02 -04:00
Jason Hooks
1f566fc93a Another remove function 2012-04-12 20:59:30 -04:00
Jason Hooks
a885f3e942 Remove part function 2012-04-12 20:40:11 -04:00
Jason Hooks
7fce57f335 Getting started with a new branch 2012-04-11 20:16:22 -04:00
Jason Hooks
c0f52fef48 one more change 2012-04-09 00:51:10 -04:00
Jason Hooks
80afcb2eac small change 2012-04-08 20:44:44 -04:00
Jason Hooks
74deb5588d Post merge 2012-04-08 20:41:49 -04:00
Jason Hooks
6bdfdf379b Trying iterators 2012-04-08 17:27:56 -04:00
Jason Hooks
ebab98a8a0 Restructuring things 2012-04-07 22:02:20 -04:00
scrawl
6442d49e16 render queue groups, sky fix 2012-04-04 18:53:40 +02:00
scrawl
8aea311797 added visibility flags for everything 2012-04-03 15:13:47 +02:00
Jason Hooks
57299571d5 Preparing for clothes/armor 2012-04-02 22:08:46 -04:00
Jason Hooks
a81ecb5f65 Bug 210 fix 2012-03-03 18:26:11 -05:00
Jason Hooks
8d7a5f469b a few changes 2012-02-26 21:27:54 -05:00
Jason Hooks
38a0d1d1c5 Merging in master 2012-02-19 15:39:12 -05:00
Lukasz Gromanowski
8829d46bda Clean up compilation warnings.
Clan up compilation warnings like "variable ... set but not used" introduced
in some older and recent commits.

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2012-02-12 15:45:08 +01:00
Jason Hooks
1da519a914 Some cleanup 2012-01-29 00:42:55 -05:00
Jason Hooks
6de0847b86 Slightly better performance on animation 2012-01-25 01:21:30 -05:00
Marc Zinnschlag
4b6cd582a7 removed some redundant (and misplaced) functions 2012-01-24 10:45:40 +01:00
Jason Hooks
bcf3e45ff6 Proper buffer designation 2012-01-18 22:00:03 -05:00
Marc Zinnschlag
9b910dda94 clean up 2012-01-17 15:10:53 +01:00
Jason Hooks
d1793bc4bd Animation files in the correct directory 2012-01-12 20:09:55 -05:00
Jason Hooks
7fde576dd9 actor physics again 2012-01-07 23:21:19 -05:00
Jason Hooks
0715f9b6ab Preparing to use text indices 2012-01-06 00:55:02 -05:00
Jason Hooks
595d0b1192 Cleanup; warnings 2012-01-05 21:45:17 -05:00
Jason Hooks
c2fa82326d Animation with physics attempt 2012-01-04 23:48:25 -05:00
Jason Hooks
45c57721ff Turning off hardware skinning2 2012-01-04 20:30:06 -05:00
Jason Hooks
1d2e77d947 Turning off hardware skinning 2012-01-04 19:47:06 -05:00
Jason Hooks
762727308e Hardware skinning working (YESgit add components --allgit add components --allgit add components --allgit add components --allgit add components --allgit add components --allgit add components --allgit add components --allgit add components --allgit add components --allgit add components --all) 2012-01-02 23:06:10 -05:00
Jason Hooks
a4c6d948d4 Disabling normal updates 2012-01-01 20:51:26 -05:00
Jason Hooks
289b8f667e Various npc heights 2012-01-01 17:28:46 -05:00
Jason Hooks
f7d26b2695 Scaling for wood elves 2012-01-01 00:05:21 -05:00
Jason Hooks
497d994525 female argonian fix 2011-12-31 02:41:26 -05:00
Jason Hooks
42e7ff9b13 Introducing loops; SkipAnim; Skeleton reset bug fixed 2011-12-28 21:52:05 -05:00
Jason Hooks
8c3127367a Npc Optimization 2011-12-27 22:35:22 -05:00
Jason Hooks
1a90f4241b Npc Animation Working 2011-12-27 00:25:52 -05:00
Jason Hooks
a6b88b48ec A different way 2011-12-27 00:20:14 -05:00
Jason Hooks
653d999ac4 Animation creatures 2011-12-26 19:23:46 -05:00
Jason Hooks
88c427543b Deleting animations; Empty Functions/Planning 2011-12-25 22:37:26 -05:00
Jason Hooks
6d10c76b06 Unique Identifiers for Creatures and NPC Free Parts 2011-12-17 01:29:08 -05:00
Jason Hooks
d51dfebde1 NPCs fully rendered 2011-12-15 00:33:10 -05:00
Jason Hooks
47112ad7f9 Changing a lot of things 2011-12-13 23:49:03 -05:00
Jason Hooks
509009e5c1 Putting the actors in a list 2011-12-11 23:42:39 -05:00
Jason Hooks
0902a3db89 Filled out NpcAnimation and CreatureAnimation classes 2011-12-11 22:40:00 -05:00
Jason Hooks
16ff2a7a1b Changing to Actors;NPCAnimation;CreatureAnimation 2011-11-24 01:48:54 -05:00