scrawl
5049f3b134
Fix the group for creature attack animations
2014-01-17 20:18:35 +01:00
mrcheko
a11a6b616b
Merge remote-tracking branch 'upstream/master'
2014-01-17 21:00:55 +02:00
scrawl
9b32b1403b
Feature #960 : Implement Creature::hit
2014-01-17 17:19:08 +01:00
scrawl
228254c890
Handle creature attack animations in character controller
2014-01-17 16:31:27 +01:00
scrawl
c548dcee13
Quick keys menu: make sure selected spell still exists
2014-01-17 15:20:22 +01:00
mrcheko
f2ad1c18f2
fix merging problem/some logic fixes
2014-01-16 22:24:05 +02:00
mrcheko
d5f794d4fb
update to combat ai behaviour
2014-01-15 22:56:55 +02:00
scrawl
d544551f61
Added getSkill to Class interface, since creatures also have skills (which are provided by generalized Combat, Magic and Stealth attributes which substitute for the specific skills, in the same way as specialization)
...
Information provided by Hrnchamd.
2014-01-15 15:50:45 +01:00
scrawl
7534fc968d
Minor acrobatics fixes
2014-01-15 14:53:30 +01:00
scrawl
da3295d69c
Closes #1106 : Move stance to CreatureStats, since creatures also have separate run/walk animations.
2014-01-15 14:53:29 +01:00
scrawl
de64c57179
Fix some typos and accidental commit
2014-01-15 14:53:28 +01:00
scrawl
52b9ebff9d
Closes #1092 : Implement sleep interruption. Fix levelled list flags for creatures. Change World::copyObjectToCell to search for the correct cell.
2014-01-14 07:42:03 +01:00
scrawl
83872f6bf5
Knockdown / hit recovery improvements. Use formula and GMSTs from research wiki for knockdown determination. Hand-to-hand automatically knocks out when fatigue empty.
2014-01-13 10:18:02 +01:00
scrawl
767c72e619
Fix diagonal movement being faster than forward movement
2014-01-12 10:04:06 +01:00
scrawl
921ef6cd9c
Closes #1093 : Show weapon when initializing the character controller with a weapon equipped
2014-01-12 00:42:27 +01:00
scrawl
44b2380874
Closes #947 : Decrease fatigue when running, swimming and attacking
2014-01-11 22:28:50 +01:00
Marc Zinnschlag
1b03eec63e
Merge remote-tracking branch 'scrawl/master'
2014-01-11 11:43:12 +01:00
scrawl
3896c88403
Use VFX_DefaultCast / VFX_DefaultHit if the magic effect does not specify any
2014-01-11 05:58:05 +01:00
Marc Zinnschlag
f62497dfdc
Merge remote-tracking branch 'mrcheko/master'
2014-01-10 19:08:35 +01:00
mrcheko
ffcb7fb280
fix for bug scrawl mentioned
2014-01-10 19:04:07 +02:00
mrcheko
d41f27451b
appropriate camera vanity<>preview mode switch + hit recoils fix
2014-01-09 23:36:40 +02:00
Marc Zinnschlag
85707b5e3e
Merge remote-tracking branch 'scrawl/master'
2014-01-09 09:35:54 +01:00
scrawl
098f9712f1
Add getPlayerPtr() utility method. Reduces dependencies a lot.
2014-01-08 18:39:44 +01:00
mrcheko
46519062d3
hit recoils/knockdowns feature
2014-01-08 16:05:14 +02:00
mrcheko
2591ff2d5a
bug repairing
2014-01-06 22:00:01 +02:00
scrawl
62774fcc4a
Merge branch 'master' into HEAD
...
Conflicts:
apps/openmw/mwbase/world.hpp
apps/openmw/mwinput/inputmanagerimp.cpp
apps/openmw/mwmechanics/actors.cpp
apps/openmw/mwworld/worldimp.cpp
apps/openmw/mwworld/worldimp.hpp
components/esm/loadtes3.cpp
2014-01-06 00:23:17 +01:00
mrcheko
7002412760
resolve conflict in character.cpp
2014-01-04 17:55:09 +02:00
scrawl
b22dd40b41
Implement Paralyze magic effect
2014-01-03 17:06:05 +01:00
mrcheko
79e972bdb6
resolved accompanying minor problems
2014-01-02 21:54:41 +02:00
mrcheko
16e10cc702
error fix
2014-01-01 22:46:29 +02:00
mrcheko
09a0a69b04
more improvements
2014-01-01 21:40:31 +02:00
mrcheko
a8fb1ae51c
improved, added knockdown after falling
2013-12-31 17:55:04 +02:00
mrcheko
d6345bce91
added npc hit reactions
2013-12-31 13:24:20 +02:00
scrawl
79a440e94a
Many additions to 900bc06d2c
:
...
- Fix indentation
- Consider any kind of light, not just torch_infinite_time
- Hostile NPCs should also wear lights, if they have nothing else that could use the slot (or a twohanded weapon)
- Remove redundant code and don't add additional lights to the inventory
- World::isDark returns false for interiors which are unaffected by weather
2013-12-30 17:57:41 +01:00
Marc Zinnschlag
6de39a7329
Merge remote-tracking branch 'lgro/issue845_NPCs_hold_torches_whole_day'
...
Conflicts:
apps/openmw/mwmechanics/character.cpp
2013-12-29 15:00:31 +01:00
scrawl
17ff8165d2
Closes #1065 : Don't apply fall damage when landing in water
2013-12-29 00:36:36 +01:00
scrawl
85ec80100c
Bug #1005 : Hide torches/shields during spellcasting and hand-to-hand combat
2013-12-27 22:00:16 +01:00
scrawl
7265b427fe
Bug #1013 : Rewrote fall height detection
2013-12-27 21:21:18 +01:00
scrawl
a3017e16d4
Don't allow changing the spell that is being cast mid-animation
2013-12-26 22:32:39 +01:00
scrawl
5054d8e6c1
Bug #1055 : Check power use and mana before starting cast animation
2013-12-26 22:06:13 +01:00
Lukasz Gromanowski
900bc06d2c
Fixes #845 : NPCs hold torches during the day
...
Moved 'equipping torches at night and unequipping at day' code from Character
to Actors class.
Removed unneeded showLights method (introduced in previous commits)
from animation/npcanimation classes.
Since this commit autoEquip() method doesn't automatically equip lights.
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-20 22:38:23 +01:00
Lukasz Gromanowski
abc126e2af
Fixes #845 : NPCs hold torches during the day
...
Added check for Player character so it won't be affected by showing,
or hidding torches.
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-20 01:01:30 +01:00
Lukasz Gromanowski
6eb674e4e5
Fixes #845 : NPCs hold torches during the day
...
Added equipping/unequipping torches.
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-20 00:18:34 +01:00
Lukasz Gromanowski
92072d968b
Fixes #845 : NPCs hold torches during the day
...
Simplified a bit code which shows and hides light.
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-19 21:11:07 +01:00
mrcheko
3816a09c6f
bug 428 ask to load recent saved game
2013-12-19 22:08:34 +02:00
mrcheko
f50ff0b1c4
reworked http://bugs.openmw.org/issues/428
2013-12-16 15:40:47 +02:00
mrcheko
fd9f8c34f6
bug fix http://bugs.openmw.org/issues/428
2013-12-15 18:50:25 +02:00
Lukasz Gromanowski
91a4d9a2eb
Fixes #845 : NPCs hold torches during the day
...
Added method in WeatherManger and World which returns true if it is night.
This method is used later in character controller to show torches
(or other sources of light) at night and hide them at day.
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-10 23:48:49 +01:00
Marc Zinnschlag
77a2179d1e
Merge remote-tracking branch 'scrawl/master'
2013-12-09 18:39:34 +01:00
scrawl
0bc3a13c0f
Break invisibility on Use or Activate
2013-12-08 23:36:37 +01:00
scrawl
37a7ee8fcd
Set alpha value of character animations according to Invisibility / Chameleon effects.
2013-12-08 23:05:21 +01:00
Lukasz Gromanowski
bfd79bfbe6
Various fixes for CppCheck warnings.
...
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-06 07:36:16 +01:00
scrawl
d2ed77f3f2
Fix shields being visible during spellcasting
2013-11-23 20:24:52 +01:00
scrawl
0dc2e829dd
Lots of cleanup. Implemented Absorb and Resist. Implemented several instant effects. Added hand VFX.
2013-11-17 23:31:08 +01:00
scrawl
fc268bf302
Initialize mFallHeight
2013-11-17 23:31:08 +01:00
scrawl
2a11618ee7
Make sure the equipped weapon HUD icon is updated properly
2013-11-17 23:31:07 +01:00
scrawl
d49b6f19ff
Don't advance acrobatics skill for NPCs
2013-11-16 02:11:11 +01:00
scrawl
9c5847e2f4
Fix VFX not getting removed when an actor dies
2013-11-14 14:52:30 +01:00
scrawl
0b5f5351b5
Fix continuous FX getting removed instantly
2013-11-14 13:30:48 +01:00
scrawl
a6e2f43b75
Stop continuous VFX when the effect is no longer active.
2013-11-13 15:44:43 +01:00
scrawl
9b0e82a37f
Projectile models are now spawned (no movement or impact yet). Refactored trap activation to apply range types properly. Handle ContinuousVFX for magic effects (note they aren't stopped yet when the effect ends)
2013-11-13 14:02:15 +01:00
scrawl
ffdb91bb21
Add particles for Cast + Hit. Not looking quite right yet.
2013-11-11 23:43:28 +01:00
scrawl
cbe96a2170
Refactor ActiveSpells to track range type. Added basic self range magic.
2013-11-09 07:51:46 +01:00
Emanuel Guevel
2abe5c1c9a
Acrobatics: do not apply fall damages when slowfalling spell effect is active
...
If spell effect ends up in mid-air, calculate fall height from then.
2013-10-02 23:34:25 +02:00
Emanuel Guevel
6e09a5fb4a
Acrobatics: reinit fall height at current height rather than zero
...
To prevent problems.
2013-10-02 23:34:25 +02:00
Emanuel Guevel
2b992ef3b5
Acrobatics: use calculated fatigueTerm
2013-10-02 23:34:24 +02:00
Emanuel Guevel
4c151e59a2
Acrobatics: do not touch modified stats
2013-10-02 23:34:24 +02:00
Emanuel Guevel
4860514865
Acrobatics: cosmetic changes
2013-10-02 23:34:24 +02:00
Emanuel Guevel
b8c60dabb3
Reintroduce Acrobatics changes made by Glorf
...
Advance Acrobatics skill on jump and on landing,
apply fall damage on landing.
2013-10-01 23:35:34 +02:00
Chris Robinson
cf6e3ab933
Fix a potential divide-by-zero
2013-08-19 09:36:51 -07:00
Chris Robinson
2ec39f3622
Don't start the jump animation until after the actor is airborn
...
A bit counter-intuitive, but otherwise certain jump animations will improperly
add an offset to the initial inertia.
2013-08-19 08:24:47 -07:00
Chris Robinson
ac3d3df9fc
Implement jumping animations
2013-08-19 08:10:18 -07:00
Chris Robinson
6e9f15793d
Implement a jumping state
2013-08-18 23:42:56 -07:00
Chris Robinson
b0f8045c72
Improve mid-air control
2013-08-18 05:59:06 -07:00
Chris Robinson
9d56e2d86d
Apply movement by queueing it to do later
2013-08-17 22:34:38 -07:00
Chris Robinson
6fd4cdb5fb
Play randomized werewolf sounds
2013-08-11 00:53:17 -07:00
Chris Robinson
180f0d0fe9
Restart from the loop point if replaying the same animation
2013-08-09 21:25:28 -07:00
Chris Robinson
a28c36de17
Don't count as running if not actually moving along (local) X/Y
2013-08-09 06:53:07 -07:00
Chris Robinson
c2d8eb377f
Play some appropriate sounds in werewolf form
2013-08-09 06:40:16 -07:00
Chris Robinson
eab4e09566
Handle the pick/probe in the character controller
2013-08-06 19:48:59 -07:00
scrawl
4caac0d859
Fix idle animations repeating
2013-08-05 02:06:23 +02:00
vorenon
76a1abe9fa
Don't allow the use of the "jump" key while sneaking - Update
2013-08-04 20:10:33 +02:00
vorenon
aa45127895
Adjusted swish sounds
...
Sorry Chris, I was wrong. The game actually uses SwishM for every attack, but at a different pitch depending on the force of the attack. I realized it after testing your changes.
2013-08-02 16:33:39 +02:00
Chris Robinson
f57c829cba
Play the appropriate swish sound and follow-up animation
2013-08-02 00:21:02 -07:00
scrawl
7dc30a01cd
Some changes suggested by cppcheck
2013-07-31 18:46:32 +02:00
Chris Robinson
4ad28ed369
Don't play a weapon-down sound when unreadying a spell
2013-07-25 00:46:20 -07:00
Chris Robinson
0db02af807
Set up the weapon state in the CharacterController constructor
2013-07-24 21:08:16 -07:00
Chris Robinson
705498ec24
Play a swish sound when attacking
2013-07-24 10:34:53 -07:00
Chris Robinson
bf1d907d07
Don't play casting animations for enchantments
2013-07-24 05:39:15 -07:00
Chris Robinson
cc8e8c1272
Use the attack strength as determined by how long the attack was held
2013-07-24 03:18:53 -07:00
Chris Robinson
11b094559f
Play the appropriate casting animation sound
2013-07-23 11:12:19 -07:00
Chris Robinson
17282c69b1
Handle spell-casting animation sequences
2013-07-23 07:30:54 -07:00
Chris Robinson
4d157cb19a
Handle marksmen weapon attack sequences
2013-07-23 06:13:08 -07:00
Chris Robinson
d5d832846e
Rename the follow-up upper character state enum
2013-07-23 04:56:49 -07:00
Chris Robinson
24567294ff
Move NPC state update handling into a separate method
2013-07-23 03:26:24 -07:00
Chris Robinson
22e07968af
Store the current weapon group name
2013-07-23 02:50:52 -07:00
Chris Robinson
0240efa6cf
Improve weapon attack logic to better handle picks, probes, and h2h
2013-07-23 02:28:58 -07:00
Marc Zinnschlag
ec575200e3
Merge remote-tracking branch 'gus/MeleeCombat2'
...
Conflicts:
apps/openmw/mwrender/animation.cpp
2013-07-23 09:12:23 +02:00
Chris Robinson
9c13568bb7
Remove idles from the state list and rename it
2013-07-18 01:49:53 -07:00
Chris Robinson
e803cdbe7f
Handle swimdeath and missing death animations
2013-07-18 01:13:53 -07:00
Chris Robinson
f01b0b48cc
Don't start with an idle state if dead
2013-07-18 00:35:03 -07:00
Chris Robinson
e78bdd2a5d
Clear 'swim' from the animation name as a backup instead of 'sneak'
2013-07-18 00:22:40 -07:00
Chris Robinson
0cd4df3edf
Stop playing idles on death
2013-07-17 02:19:22 -07:00
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
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
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).
2013-01-18 14:25:32 -08:00
Chris Robinson
5cafc24ee2
Rename CharState_Alive back to CharState_Idle
2013-01-18 13:43:45 -08:00
Chris Robinson
a94947029e
Check the marker name before deciding what to do with it
...
Also, don't force 'idle' after a playgroup
2013-01-18 00:59:48 -08:00
Chris Robinson
9d7ccfda1f
Rename CharState_Idle to CharState_Alive
2013-01-17 21:07:36 -08:00
Chris Robinson
8720433fa9
Do not automatically loop animations
...
There are 0 length idle animations that break this
2013-01-17 17:54:09 -08:00
Chris Robinson
8fa1b56efc
Loop the current animation if there's nothing more queued
2013-01-17 16:34:26 -08:00
Chris Robinson
7cce44290e
Handle the animation queue in mwmechanics
2013-01-17 13:18:40 -08:00
Chris Robinson
47c157303a
Filter events that do not belong to the current group
2013-01-17 11:03:58 -08:00
Chris Robinson
da4f17859e
Recognize soundgen animation markers
2013-01-17 10:16:36 -08:00
Chris Robinson
7ee389f3b2
Handle animation skipping in the character controller
2013-01-16 21:25:50 -08:00
Chris Robinson
852aa214cc
Store the available animation names in the character controller
2013-01-16 21:16:22 -08:00
Chris Robinson
afbc9f3e41
Keep track of the animation group currently playing
2013-01-16 20:44:37 -08:00
Chris Robinson
685f219560
Return a movement vector from the character controller update
2013-01-16 18:56:13 -08:00
Chris Robinson
d2f5a886c7
Handle playgroup and skipanim through mwmechanics
2013-01-16 17:53:18 -08:00
Chris Robinson
46fc61a4c1
Run animations from the character controller
2013-01-16 16:31:09 -08:00
Chris Robinson
46728ab27f
Handle "sound:" animation events
2013-01-16 15:52:03 -08:00
Chris Robinson
3c32385e17
Avoid trying to animate things that don't have animations
2013-01-16 15:00:06 -08:00
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.
2013-01-16 14:37:32 -08:00
Chris Robinson
d2fc3c7b33
Add a method to tell the character controller of new text keys
2013-01-16 13:09:21 -08:00
Chris Robinson
f46587c383
Store an character controller in the animation
2013-01-16 11:01:08 -08:00
Chris Robinson
3c487e6019
Play an animation when changing states
2013-01-16 10:45:18 -08:00
Chris Robinson
771a5f7316
Add the beginnings of a character controller
2013-01-10 08:35:24 -08:00