Chris Robinson
91513206a0
Don't use per-animation accumulation values
...
This breaks walking diagonally and "jumping" (which technically wasn't jumping
anyway).
12 years ago
Chris Robinson
51d5efeeb2
Work out the state in the character controller update method
12 years ago
Chris Robinson
7fe877d8ea
Add a couple more character states
12 years ago
Chris Robinson
007a5963de
Handle most state changes in the character controller when setting the movement vector
12 years ago
Chris Robinson
04d4c125ba
Print when an animation event is unhandled
12 years ago
Chris Robinson
37fe1bd3f0
Handle looping in the Animation object
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
85ca1e993f
Properly check if an animation exists before playing it
12 years ago
Chris Robinson
68779375b2
Implement WalkLeft and WalkRight character states
12 years ago
Chris Robinson
a7b07ee5cf
Don't reset the animation when setting the same state
...
Unless looping is being toggled on.
12 years ago
Chris Robinson
e0541b52c4
Use a list to store and get state information
12 years ago
Chris Robinson
de2d084e61
Add a looping property to handle if an animation should loop
12 years ago
Chris Robinson
0b68953f0d
Scale animation speed using the direction length
...
The direction length doesn't currently give a good speed, but it's something.
12 years ago
Chris Robinson
aecfc0829a
Implement WalkForward and WalkBack character states
12 years ago
Chris Robinson
e33f59e0fe
Ensure the direction vector is initialized and copied properly
12 years ago
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.
12 years ago
Chris Robinson
9235fba770
Store the movement vector in the character controller
12 years ago
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.
12 years ago
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
12 years ago
Chris Robinson
c7684cb979
Pass the key time to markerEvent
12 years ago
Chris Robinson
3e9b0a333c
Allow specifying the accumulation for animations
...
Animations that move a character may do so either visually or physically. An
axis' accumuluation value specifies whether the movement is visual (0) or
physical (1). Idle animations, for instance, typically don't physically move a
character, while death animations may physically move them along the X and Y
planes, but not along Z (the vertical movement is purely visual).
12 years ago
Chris Robinson
5cafc24ee2
Rename CharState_Alive back to CharState_Idle
12 years ago
Chris Robinson
a94947029e
Check the marker name before deciding what to do with it
...
Also, don't force 'idle' after a playgroup
12 years ago
Chris Robinson
9d7ccfda1f
Rename CharState_Idle to CharState_Alive
12 years ago
Chris Robinson
8720433fa9
Do not automatically loop animations
...
There are 0 length idle animations that break this
12 years ago
Chris Robinson
8fa1b56efc
Loop the current animation if there's nothing more queued
12 years ago
Chris Robinson
7cce44290e
Handle the animation queue in mwmechanics
12 years ago
Chris Robinson
47c157303a
Filter events that do not belong to the current group
12 years ago
Chris Robinson
da4f17859e
Recognize soundgen animation markers
12 years ago
Chris Robinson
7ee389f3b2
Handle animation skipping in the character controller
12 years ago
Chris Robinson
852aa214cc
Store the available animation names in the character controller
12 years ago
Chris Robinson
afbc9f3e41
Keep track of the animation group currently playing
12 years ago
Chris Robinson
685f219560
Return a movement vector from the character controller update
12 years ago
Chris Robinson
d2f5a886c7
Handle playgroup and skipanim through mwmechanics
12 years ago
Chris Robinson
46fc61a4c1
Run animations from the character controller
12 years ago
Chris Robinson
46728ab27f
Handle "sound:" animation events
12 years ago
Chris Robinson
3c32385e17
Avoid trying to animate things that don't have animations
12 years ago
Chris Robinson
94b93227d3
Treat activators as actors for rendering and mechanics
...
Kinda hacky, but it's the only way to get animated activators (flags, silt
striders, etc) to work properly.
12 years ago
Chris Robinson
d2fc3c7b33
Add a method to tell the character controller of new text keys
12 years ago
Chris Robinson
f46587c383
Store an character controller in the animation
12 years ago
Chris Robinson
3c487e6019
Play an animation when changing states
12 years ago
Chris Robinson
771a5f7316
Add the beginnings of a character controller
12 years ago