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

184 commits

Author SHA1 Message Date
Chris Robinson
e2e278d06d Fix some animations not playing properly
Default movement animation speed multiplier should be 1, not 0. Only
randomize death1...death5 for NPCs.
2013-07-17 02:06:31 -07:00
scrawl
dfe912dcab Enum renaming 2013-07-16 23:38:55 +02:00
scrawl
91e95e1404 Use the correct slash, chop or thrust animation 2013-07-16 23:32:41 +02:00
gus
66e3eacace fix bows 2013-07-16 15:14:34 +01:00
gus
701ff94887 bugfix for lockpick 2013-07-16 14:46:44 +01:00
gus
20341ae8b7 simplification + taking into account weapon speed. Seems too fast, but i'm not sure 2013-07-16 14:10:14 +01:00
gus
8fc6e73649 post-merge fix 2013-07-16 11:51:18 +01:00
gus
ee47e99dad Merge branch 'master' of https://github.com/zinnschlag/openmw.git into MeleeCombat2
Conflicts:
	apps/openmw/mwmechanics/character.cpp
	apps/openmw/mwmechanics/character.hpp
2013-07-16 11:40:19 +01:00
gus
f6e3445414 Jittering gone + bugfix: chop animation works!
TODO: fix this unequip stuff
2013-07-16 09:50:59 +01:00
Chris Robinson
a932a89e02 Specify the velocity-based animation speed multiplier when playing it 2013-07-16 01:30:03 -07:00
Chris Robinson
f296d13c20 Add a speed multiplier to the animation state 2013-07-16 00:43:31 -07:00
Chris Robinson
06e631f213 Track death separately in the character controller 2013-07-15 23:43:33 -07:00
Chris Robinson
4ae65c20e6 Separate movement and idle states
This allows us to better handle cases of "missing" animations. Mainly for
first-person, but also for spells and certain weapon types.
2013-07-15 22:56:23 -07:00
gus
f7f23ac5d8 improvement of the chop animation. Still some jittering. 2013-07-15 17:18:16 +01:00
gus
076f98cbba change way animations keys are handled (thanks KittyCat!) 2013-07-15 16:37:25 +01:00
gus
3947f44aa3 Porting old work 2013-07-13 22:24:52 +01:00
Vincent Heuken
b095c24854 resize actor collision boxes on death 2013-06-27 14:11:20 -07:00
Glorf
88f8637145 Bugfix #795 2013-06-26 22:20:24 +02:00
scrawl
8bd712cc95 Fix being able to move slowly when over encumbered 2013-05-31 04:08:44 +02:00
Torben Carrington
c8c1ddd927 Adds functionality for checking if the animation group passed is currently playing on the actor passed. This is needed for AIWander. 2013-05-24 20:10:07 -07:00
Chris Robinson
e8bbb755c3 Play the left-arm torch animation when it's equipped 2013-05-17 06:21:59 -07:00
Chris Robinson
4b9a888d74 Use the PickProbe animation group as appropriate 2013-05-17 01:46:51 -07:00
Chris Robinson
6201cb0093 Add a method to clear the animation queue 2013-05-16 06:59:41 -07:00
Chris Robinson
e069215583 Don't clear the last queued animation when it stops 2013-05-15 06:32:20 -07:00
Chris Robinson
66f55b3178 Play the item up/down sound when readying/unreadying weapons 2013-05-15 01:45:47 -07:00
Chris Robinson
b459a010b0 Fix vec.z being applied while not in the air 2013-05-14 23:03:28 -07:00
Chris Robinson
e8661794fe Avoid trying to find a state for non-actors.
They're only ever play idles, unless PlayGroup is called.
2013-05-14 07:29:07 -07:00
Chris Robinson
8ec722ac92 Use std::find_if instead of ugly for loops 2013-05-13 04:08:36 -07:00
Chris Robinson
f83ee5d316 Play ready/unready animations on the upper body 2013-05-13 03:32:00 -07:00
Chris Robinson
70dc2f77ad Move the priority enum to MWMechanics 2013-05-13 00:54:44 -07:00
Chris Robinson
7ba2508556 add a priority for death animations, and store it in the state list 2013-05-12 19:19:21 -07:00
Chris Robinson
4e389b5a8f Store whether a given animation loops in the state table 2013-05-12 05:59:39 -07:00
Chris Robinson
bbb38c61cc Fix queued animations 2013-05-12 05:08:01 -07:00
Chris Robinson
2c556e4036 Be smarter about handling non-moving animations
Don't rely on being told by the play method, so the animation can
automatically change without impacting the character controller.
2013-05-12 04:29:42 -07:00
Chris Robinson
6b8a687a79 Add methods to disable an animation
And rename WeaponState to WeaponType
2013-05-10 22:22:39 -07:00
Chris Robinson
abc676eedd Allow specifying which bone groups to play an animation on 2013-05-10 20:05:09 -07:00
Chris Robinson
7c3b014193 Figure out which animations to play based on priority
Bone group will also be taken into account later.
2013-05-10 18:37:44 -07:00
Chris Robinson
ccff364b52 Use a map of active layers instead of an array
A bit of an upheaval. Each animation is now a "layer", instead of each layer
having an animation. Incidentally, this is much closer to how Ogre handles
animation states.

In the future, each layer will have a priority, which will be used to determine
which one affects a given bone group (which we currently only have one of).
2013-05-10 03:08:07 -07:00
Chris Robinson
90e29c83c0 Merge remote-tracking branch 'zini/master' into animations
Conflicts:
	apps/openmw/mwmechanics/character.cpp
2013-05-06 19:17:39 -07:00
kpp
dcccfd9f22 Initialize values 2013-05-02 22:43:21 +04:00
Chris Robinson
a120653c38 Implement handling weapon states 2013-05-01 10:19:16 -07:00
Marc Zinnschlag
95eeea2a27 Revert "Merge remote-tracking branch 'glorf/acrobatics'"
This reverts commit 089ef7a2a0, reversing
changes made to 67422c397c.
2013-05-01 16:56:16 +02:00
Glorf
b8630239d7 Code cleanup 2013-05-01 12:25:02 +02:00
Glorf
236ec3409f Finished acrobatics 2013-05-01 12:21:59 +02:00
Chris Robinson
4b15da076b Move getStateInfo into the character controller 2013-04-30 19:26:41 -07:00
Glorf
d30e43784a Fatigue decrease when jumping, live decrease when falling 2013-04-30 23:39:56 +02:00
Glorf
5a8c1661be Jump acrobatics working, started falling acrobatics implementation 2013-04-30 20:44:17 +02:00
Glorf
add3cd6456 Advance acrobatics on jump 2013-04-30 18:22:59 +02:00
Chris Robinson
05060e57ec Add a weapon state to the character controller 2013-04-29 13:07:49 -07:00
scrawl
07891fa213 Athletics skill increase 2013-04-28 07:53:04 +02:00
Chris Robinson
274f3c7b77 Force character state to update after switching view modes 2013-04-25 07:08:11 -07:00
Chris Robinson
e4eb4b7e30 Keep track of the character looping state 2013-04-25 06:29:17 -07:00
Chris Robinson
9da2c9153e Don't store the animation group string in the character controller 2013-04-25 06:12:37 -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
b80891099e Don't use the character controller to handle text keys
The Animation class has the Ptr and can call to whatever subsystem is needed.
2013-04-24 06:48:34 -07:00
Chris Robinson
e8cabc9434 Pass the loop count from loopgroup to the play method
Instead of queueing each iteration separately.
2013-04-24 06:32:11 -07:00
Chris Robinson
c58dfbe921 Specify the loop count to Animation::play 2013-04-24 04:56:39 -07:00
Chris Robinson
8782ae6976 Separate some Animation fields into a separate AnimLayer class 2013-04-22 23:52:28 -07:00
Chris Robinson
bb64efc18e Improve looping behavior 2013-04-22 05:08:52 -07:00
Chris Robinson
6c85d6763a Pass "loop stop" to the character controller 2013-04-21 18:38:25 -07:00
Chris Robinson
d0703efd69 Another place to check the class' isActor method 2013-03-31 17:32:39 -07:00
Chris Robinson
4836ba16f7 Implement turning states 2013-03-31 03:50:20 -07:00
Chris Robinson
7b02ec411b Apply the rotation when updating the character controller 2013-03-31 01:29:24 -07:00
Chris Robinson
466c0086b8 Use a full Movement to hand off to the world physics update 2013-03-31 00:13:56 -07:00
Chris Robinson
0ce188b7cc Store the position and rotation in MWMechanics::Movement 2013-03-30 19:00:46 -07:00
Chris Robinson
af65ecd841 Pass the movement vector in as a parameter to CharacterController::update 2013-03-30 18:37:40 -07:00
scrawl
268bb23590 Implemented sneaking animation 2013-03-06 16:58:56 +01:00
Chris Robinson
48271e49ec Properly update the Ptr object in the mechanics manager when moving across cells 2013-02-25 09:57:34 -08:00
Chris Robinson
89d4c245e9 Better calculate jump velocity
The fatigue term isn't currently used correctly
2013-02-24 03:30:33 -08:00
Chris Robinson
d77d035d3a Handle the "sound" events in runAnimation 2013-02-23 14:15:11 -08:00
Chris Robinson
e6da9dfae5 Specify the animation key to stop playing at 2013-02-23 05:15:10 -08:00
Chris Robinson
f841576bba Don't override animations played with playgroup 2013-02-23 01:54:46 -08:00
Chris Robinson
7fcca180b6 Implement rudimentary jumping 2013-02-20 20:08:04 -08:00
Chris Robinson
1399a06c76 Update animation looping when setting the same state 2013-02-19 04:01:33 -08:00
Chris Robinson
17200cb226 Don't try to move when there's no speed 2013-02-18 20:43:55 -08:00
Chris Robinson
627b866744 Don't try to set a new state when dead 2013-02-18 06:29:16 -08:00
Chris Robinson
f2948ced23 Allow diagonal movement 2013-02-18 03:07:31 -08:00
Chris Robinson
e4341525c8 Add a jump state
Currently unused
2013-02-15 04:45:28 -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
cbaf489eb6 Add running states 2013-02-06 16:53:52 -08:00
Chris Robinson
fc307e64b0 Add swimming states 2013-02-05 19:05:07 -08:00
Chris Robinson
8c0bb1ff4d Rotate movement in the movement solver 2013-02-05 14:02:14 -08:00
Chris Robinson
f7f1adfb9d Don't accumulate animations with activators 2013-02-05 12:55:06 -08:00
Chris Robinson
2c39760bd5 Move the movement solver code to mwworld's physics system 2013-02-05 12:45:10 -08:00
Chris Robinson
82e4da4e64 Get the half-extents from the physicactor 2013-02-05 07:41:57 -08:00
Chris Robinson
39cf7b0b42 Pass the Ptr of the object being moved to the move method
This prevents having to store another copy of it, which risks getting out of
sync.
2013-02-04 11:17:48 -08:00
Chris Robinson
1a5cb8760d Rotate movement vector to world space before passing to the movement solver 2013-02-04 11:04:20 -08:00
Chris Robinson
6b32fa7999 Use the correct position for the actor 2013-02-04 09:48:21 -08:00
Chris Robinson
1747c1e01a Integrate a new movement solver to handle object movement and collisions
Temporary, and pretty breoken. Needs some serious integration fixes.
2013-02-04 07:10:14 -08:00
Chris Robinson
91513206a0 Don't use per-animation accumulation values
This breaks walking diagonally and "jumping" (which technically wasn't jumping
anyway).
2013-02-03 12:02:51 -08:00
Chris Robinson
51d5efeeb2 Work out the state in the character controller update method 2013-02-03 07:15:34 -08:00
Chris Robinson
7fe877d8ea Add a couple more character states 2013-02-03 00:19:22 -08:00
Chris Robinson
007a5963de Handle most state changes in the character controller when setting the movement vector 2013-02-02 23:39:43 -08:00
Chris Robinson
04d4c125ba Print when an animation event is unhandled 2013-01-29 02:00:42 -08:00
Chris Robinson
37fe1bd3f0 Handle looping in the Animation object 2013-01-21 22:51:13 -08:00
Chris Robinson
e956a1cbc0 Merge SpecialIdle character state into Idle 2013-01-21 03:24:52 -08:00
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.
2013-01-21 02:59:12 -08:00
Chris Robinson
85ca1e993f Properly check if an animation exists before playing it 2013-01-19 21:55:04 -08:00