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
Chris Robinson
68779375b2
Implement WalkLeft and WalkRight character states
2013-01-19 16:19:47 -08:00
Chris Robinson
a7b07ee5cf
Don't reset the animation when setting the same state
...
Unless looping is being toggled on.
2013-01-19 15:46:22 -08:00
Chris Robinson
e0541b52c4
Use a list to store and get state information
2013-01-19 14:56:24 -08:00
Chris Robinson
de2d084e61
Add a looping property to handle if an animation should loop
2013-01-19 14:22:15 -08:00
Chris Robinson
0b68953f0d
Scale animation speed using the direction length
...
The direction length doesn't currently give a good speed, but it's something.
2013-01-18 21:40:47 -08:00
Chris Robinson
aecfc0829a
Implement WalkForward and WalkBack character states
2013-01-18 18:04:00 -08:00
Chris Robinson
e33f59e0fe
Ensure the direction vector is initialized and copied properly
2013-01-18 17:41:36 -08:00
Chris Robinson
1cdd64cd9b
Return the animation movement from the character controller.
...
Consequently, dead actors don't move anymore. The doPhysics call apparently
isn't moving them.
2013-01-18 17:05:58 -08:00
Chris Robinson
9235fba770
Store the movement vector in the character controller
2013-01-18 16:00:51 -08:00
Chris Robinson
40f8e75763
Use a SpecialIdle state for PlayGroup/LoopGroup invoked animations
...
Note that actors will *not* automatically resume a normal idle state afterward.
Their AI will need to control what to do when the special idle is finished.
2013-01-18 15:39:28 -08:00
Chris Robinson
a527cb8349
Loop the current animation when not dead
...
This should be better, but it's not perfect. It misses the case where
start < loop start == loop stop <= stop
2013-01-18 15:22:14 -08:00
Chris Robinson
c7684cb979
Pass the key time to markerEvent
2013-01-18 14:50:55 -08:00