Alex "rainChu" Haddad
30ee3c5cf6
Equipped torches and lights run out of fuel
2013-10-15 21:50:14 -04:00
Emanuel Guevel
dcfff79460
Regenerate fatigue over time
2013-10-13 00:40:27 +02:00
Marc Zinnschlag
458c752425
Merge remote-tracking branch 'mckibbenta/tgm'
2013-10-12 13:38:10 +02:00
gus
94069e3a7e
bugfix
2013-10-07 20:30:12 +02:00
gus
1ac3d99c78
pathfinding now works in AICombat.
2013-10-07 10:20:02 +02: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
mckibbenta
857deb3723
Merge branch 'master' into tgm
2013-10-02 13:54:03 -04:00
mckibbenta
073f64c8bb
stop weapon condition degredation (for the player) with tgm on
2013-10-02 13:46:33 -04: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
gus
83a375b55d
AI now continue to hit you.
...
TODO: change the way time is handled
2013-09-28 21:17:06 +02:00
gus
2537384c50
bug fix
2013-09-28 12:25:37 +02:00
gus
9353f4d14f
WIP AI combat
2013-09-25 18:01:36 +02:00
Marc Zinnschlag
94bb97e766
replacing tabs with spaces
2013-09-21 08:40:00 +02:00
Marc Zinnschlag
96b181bb54
Merge remote-tracking branch 'xethik/master'
2013-09-21 08:07:00 +02:00
Xethik
094e4d93b7
Generally speaking, you should never compare iterators from two different compilers
...
http://stackoverflow.com/questions/4657513/comparing-iterators-from-different-containers
It seems like this was just an overlook that happened to work on most systems. I was not able to thoroughly test this change, but it fixed an issue I was having in VC10.
It's possible the prev.end() was a copy paste error that was meant to be new.end() anyways.
2013-09-20 21:38:10 -04:00
mckibbenta
6bb6ba6372
added god mode comment
2013-09-15 16:12:59 -04:00
mckibbenta
89b7d6121d
Initial toggleGodMod/tgm instruction. Currently only affects player health.
2013-09-12 08:30:00 -04:00
gus
f9bfbc8764
Merge branch 'master' of https://github.com/zinnschlag/openmw.git into AICombat
2013-09-10 16:18:39 +02:00
gus
46a734852b
adding script instruction getLOS + some test about AI
2013-09-10 16:16:13 +02:00
mckibbenta
e545f49807
Merge branch 'master' of https://github.com/zinnschlag/openmw into tgm
2013-09-02 18:40:37 -04:00
Chris Robinson
82a09a988b
Minor pathfinding cleanup
2013-08-29 19:17:27 -07:00
Chris Robinson
9499ac4fd5
Increase the distance for reaching a path node
2013-08-29 17:41:20 -07:00
Chris Robinson
f9dbce685a
Avoid killing AIWander and AITravel when far away
...
This fixes the problem of certain NPCs not wandering because they
happened to spawn near a cell border away from the player, which
immediately "completed" the wander package.
AIWander can't cause NPCs to cross cell boundaries, so there's no risk
of them walking into an unloaded to. AITravel will now simply stop
moving, and resume later when the cell is loaded.
2013-08-29 17:41:20 -07:00
mckibbenta
f65172bdca
Merge branch 'master' of https://github.com/zinnschlag/openmw into tgm
2013-08-29 20:26:36 -04:00
mckibbenta
eef9df504a
fiddlings
2013-08-29 20:25:36 -04:00
Chris Robinson
84d259ab8e
Avoid reconstructing strings for updating the dynamic stats
...
Attributes still do this, but they change infrequently enough that it doesn't
matter.
2013-08-28 10:50:29 -07:00
Chris Robinson
92082dae66
Modify the current magicka and fatigue when the base changes
2013-08-27 22:44:52 -07:00
Chris Robinson
305b5fec0f
Avoid needlessly copying the MagicEffects
2013-08-27 21:40:31 -07:00
Chris Robinson
281fdbd81b
Cleanup some redundancy
2013-08-27 17:56:47 -07:00
Chris Robinson
33c173a23a
Update the watched Ptr when changing it
2013-08-27 17:22:07 -07:00
Chris Robinson
39af9a13fa
Remove some unused functions
2013-08-27 17:13:49 -07:00
Chris Robinson
189541aa72
Apply drowning damage based on the update duration
...
1 damage every 0.33 seconds is 3 damage a second. Applying it this way avoid
having to track another stat.
2013-08-27 17:08:23 -07: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
2353ac1739
Properly implement SetWerewolfAcrobatics
2013-08-13 04:54:41 -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
5968165de0
Merge remote-tracking branch 'zini/master' into werewolf
...
Conflicts:
apps/openmw/mwgui/windowmanagerimp.cpp
2013-08-09 07:00:00 -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
ae183cb3e4
Handle werewolf stats
2013-08-09 05:14:58 -07:00
Chris Robinson
46bc7bd9c8
Some cleanup since NpcStats is now also CreatureStats
...
This isn't a thorough cleaning, so keep an eye out for more
2013-08-09 01:14:08 -07:00
Chris Robinson
75b6515915
Inherit NpcStats from CreatureStats
2013-08-08 23:28:02 -07:00
PLkolek
86020ad94d
Added underwater and drowning sounds.
2013-08-08 20:57:15 +02:00
Chris Robinson
2bac4566c0
Merge remote-tracking branch 'PotatoesMaster/werewolf' into werewolf
...
Conflicts:
apps/openmw/mwmechanics/actors.cpp
apps/openmw/mwscript/statsextensions.cpp
2013-08-08 00:09:29 -07:00
PLkolek
8f4506f5b6
Implemented drowning.
...
Currently no visual effects on losing health, the breathing sound doesn't change (we don't have one),
the breath bar doesn't turn red when no breath left and it doesn't pulse from black to red.
2013-08-07 16:46:46 +02:00
Emanuel Guevel
48d2554ac3
Auto-equip when items are added to the inventory
...
We limit that to armor pieces and clothing items.
No auto-equiping for the player nor werewolves.
2013-08-07 15:17:55 +02:00
Emanuel Guevel
e0d0cdd18a
Do not auto-equip items continuously
...
This was called every couple of frames.
2013-08-07 14:30:13 +02:00
Chris Robinson
8f69c51b24
Avoid some unnecessary references
2013-08-06 19:49:00 -07:00
Chris Robinson
eab4e09566
Handle the pick/probe in the character controller
2013-08-06 19:48:59 -07:00
Emanuel Guevel
20d40c4368
Implement MWWorld::World::setWerewolf()
2013-08-06 12:34:35 +02: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
scrawl
982f743ddd
Fix wrong idle animations played
2013-08-03 13:13: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
Chris Robinson
b70975a74d
Move getEvasion to CreatureStats
2013-08-02 00:21:01 -07:00
scrawl
7dc30a01cd
Some changes suggested by cppcheck
2013-07-31 18:46:32 +02:00
scrawl
16cacb338a
Initialize MWMechanics::AiSequence from ESM::AiPackageList
2013-07-31 00:55:08 +02:00
Chris Robinson
3298eb1b37
Implement HitOnMe script function
2013-07-26 10:50:23 -07: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
Emanuel Guevel
48f0e64ec3
Fix health calculation at character creation
2013-07-21 11:02:03 +02:00
Emanuel Guevel
2356e6218e
Complete health increase on level up
2013-07-20 22:14:10 +02:00
Emanuel Guevel
2a0644a7c3
Move some levelup logic from mwgui to mwmechanics
2013-07-20 22:14:10 +02:00
Emanuel Guevel
7837dcdc19
Calculate NPC health on loading instead of updating it continually
...
Only NPC with auto-calculated stats are concerned.
2013-07-20 22:14:10 +02:00
Emanuel Guevel
074e241c32
MWMechanics::DynamicStat: fix members initialization
2013-07-20 22:14:09 +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
d6324d71bf
Ensure mechanics actors/objects are cleared before adding them
2013-07-17 21:39:21 -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
3a1facefdf
Store a pointer to the character controller for non-actor objects
2013-07-15 23:47:04 -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
Chris Robinson
7883087586
Store a pointer to the character controller in the map
2013-07-12 22:31:50 -07: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
Marc Zinnschlag
f586eef604
Merge remote-tracking branch 'torben/pathfindingoverhaul'
2013-06-01 10:44:23 +02:00
Torben Carrington
09beafd044
Pathfinding Overhaul - Master cleanup! Cleaned pathfinding entirely, all AI packages that are implemented as well, Increased buffer! This makes the intro guard no longer walk into you or go to far into the room (not tested against vanilla distances but it seems accurate enough until the next itteration of pathfinding fixes).
2013-05-31 17:49:52 -07:00
Torben Carrington
a4caec56cf
Pathfinding Overhaul - Fixed selecting cells that are inaccessable from AIWander and pathfinding in general (sadly requires minor effort on the AI Packages implementation but it is the quickest way I can see), minor cleanup again (there is a lot to cleanup, this will prolly be in every commit).
2013-05-31 17:01:42 -07:00
scrawl
8bd712cc95
Fix being able to move slowly when over encumbered
2013-05-31 04:08:44 +02:00
Torben Carrington
73a9671742
Pathfinding Overhaul - Changed the name of checkIfNextPointReached to a more intuitive name considering what it does (checkPathCompleted) and fixed a minor bug in it, modified buildPath() to take one final parameter, a bool which dictates whether or not to always use pathfinding (like AIWander should be doing) or to allow for "shortcuts", modified all ai packages to work with these two changes.
2013-05-29 20:05:17 -07:00
Torben Carrington
c080785235
Pathfinding Overhaul - Finished cleaning, removed unnecessary parameter in one function, fixed use of the function in ai packages and added use of clearPath() function in aiwander, fixed algorithms and got rid of excess subtractions in getDistance functions (thanks to Chris!).
2013-05-29 19:26:45 -07:00
Torben Carrington
7b465ae4f1
Pathfinding Overhaul - Even more cleanup and spacing corrections, small renaming (more to come), removed a few unnecessary actions that wasted CPU time and tmp RAM.
2013-05-29 17:33:33 -07:00
Torben Carrington
96fdaf7410
Pathfinding Overhaul - More cleanup.
2013-05-29 16:10:15 -07:00
Torben Carrington
4838678944
Pathfinding Overhaul - Cleanup, removed unnecessary include, fixed spacing, added a function for clearing a path, overall preperation to begin working on fixing pathfinding.
2013-05-29 15:59:23 -07:00
Miroslav Puda
dc17fa1636
Removal of duplicit enumeration and unnecessary conditions.
2013-05-29 00:01:18 +02:00
Marc Zinnschlag
bbec3680c6
Merge remote-tracking branch 'pakanek/enchanting-mechanics'
2013-05-28 10:02:03 +02:00
Miroslav Puda
7a4a386cbe
Removal of tab characters.
2013-05-27 20:47:53 +02:00
Torben Carrington
dbbc96f600
AIWander Segmentation Fault Fix - Fixes the segmentation fault that used to occur when there was no pathgrid in the cell and a range was passed to AIWander.
2013-05-27 11:44:46 -07:00
Miroslav Puda
b40e24c50c
Refactorization
2013-05-27 20:23:04 +02:00
Miroslav Puda
4e17bc1499
Fix for display of cast cost decimal value
2013-05-27 20:16:57 +02:00
Miroslav Puda
9a9b075a02
Correct cast cost for enchantments.
2013-05-27 18:08:12 +02:00
Torben Carrington
ebc1fdd017
AIWander Patch - fixed another possibility of a bug occuring, best to fix it now then wait until it happens.
2013-05-27 09:05:42 -07:00
Miroslav Puda
1c7b94e94f
Switching in nextCastStyle() is now based on enum CastingStyle.
2013-05-27 16:08:58 +02:00
Miroslav Puda
252a1d9223
Replacement of some magical constants
2013-05-27 15:50:47 +02:00
Miroslav Puda
9e1eb8b3b1
Merge branch 'master' of https://github.com/zinnschlag/openmw into enchanting-mechanics
2013-05-27 14:45:22 +02:00
Miroslav Puda
4788b5e226
Better formula for enchantment cost and code refactorization.
2013-05-27 14:42:08 +02:00
Miroslav Puda
56edc1b213
Correction of getting spell range "Target".
2013-05-27 12:26:06 +02:00
Torben Carrington
bd6d54cc8f
AIWander Minor Patch - Forgot an else statement and another check on an empty node vector, previously no nodes in range or only one would cause the AIWander to not do anything, now they will play idles correctly still.
2013-05-27 03:24:41 -07:00
Marc Zinnschlag
bd8344b387
Merge remote-tracking branch 'torben/aiwander'
2013-05-27 10:16:37 +02:00
Torben Carrington
3b43ee751e
AI Execute Fix - May as well not create the object either to save extra time.
2013-05-26 19:54:59 -07:00
Torben Carrington
feb180724c
AI Execution Fix - Preiovusly AiExecute was being called even when in a menu, this was not correct behavior.
2013-05-26 19:33:45 -07:00
Torben Carrington
fd96d47fe4
AIWander Completed. Replicates vanilla as best possible, pathfinding needs fixing before this looks correct but once the pathfinding files are edited this will behave pretty much exactly as vanilla. Major credit to Hrnchamd for major research.
2013-05-26 11:30:42 -07:00
Torben Carrington
96daad7a22
AIWander - shortened some if statements and made super minor optimizations to others, now using proper GMST to load proper idlechance instead of hacky set value."
2013-05-26 09:31:56 -07:00
Torben Carrington
e37324b967
AIWander everything works. only two things to do: Implement limiting selection on z axis, and correcting decision algorithm.
2013-05-26 08:49:44 -07:00
Marc Zinnschlag
5fac75845c
Merge remote-tracking branch 'torben/aiescortclean'
2013-05-25 15:35:56 +02:00
Torben Carrington
ddf28ca201
AIEscort Cleanup - Fixed spacing, removed unnecessary includes, fixed branch itself. The other pull requests were fine, it was just this one with the problem.
2013-05-25 04:36:21 -07:00
Marc Zinnschlag
94474e8952
Merge remote-tracking branch 'torben/checkidlecomplete'
2013-05-25 12:35:34 +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
Torben Carrington
56b1384c90
AITravel Cleanup - Removed unnecessary includes and other varius cleanups.
2013-05-24 18:16:35 -07:00
Torben Carrington
1cfe037d6b
AIWander - Added support for the Repeat parameter to mimic vanilla.
2013-05-24 04:49:20 -07:00
scrawl
d9dd02c610
Security fixes
2013-05-20 12:42:11 +02:00
scrawl
2715520d6f
Cleanup Security class
2013-05-19 23:19:48 +02:00
scrawl
5173779f4b
Add sounds for security skill
2013-05-19 19:48:51 +02:00
scrawl
7a2d1cd8ce
Security skill
2013-05-19 18:40:37 +02: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
6c6200efef
Merge remote-tracking branch 'zini/master' into animations
2013-05-15 16:34:51 -07:00
scrawl
c41f119ba6
Added new game button
2013-05-15 17:54:18 +02: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
74ed1f73b4
Merge remote-tracking branch 'zini/master' into animations
2013-05-09 13:53:38 -07:00
Torben Carrington
4928c9d079
Removed sqrt function call (minor optimization thanks to Chris)
2013-05-08 20:47:31 -07:00
Torben Carrington
d20178dd56
Removed unnecessary std::cout messages
2013-05-08 20:05:45 -07:00
Torben Carrington
133964f0e4
AIEscort complete
2013-05-08 20:02:24 -07:00
Torben Carrington
c03dca47f5
AIEscort implemented and working - only touchups are needed.
2013-05-08 17:19:47 -07:00
Torben Carrington
10840765d9
Framework - duration and pathing implemented, no waiting for follower yet.
2013-05-08 15:27:20 -07:00
Marc Zinnschlag
51067698a8
minor cleanup
2013-05-08 21:26:39 +02: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
gus
006f25d1c0
First try to improve AI. Does not work yet due to strange bug in physicsystem
2013-05-06 00:46:50 +01:00
gus
7fe7111c19
Fargoth quest almost works. There is still a sall problem as the path taken is not exactly the same. I need to copy the exact way morrowind do pathfinding...
2013-05-03 17:09:09 +01: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
78596cad83
Fix enchantment points value
2013-04-29 10:19:09 +02: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
Marc Zinnschlag
1b764e5d3c
Merge remote-tracking branch 'gus/AI'
2013-04-18 22:17:49 +02:00
Glorf
f9deb593d1
Bugfix #578
2013-04-18 21:37:58 +02:00
gus
c753eb4c28
another way to do pathfinding. Slightly less powerfull algorithme in theory, but morrowind pathgrids are so simple it shouldn't be a problem. Hope it solves the bug for KittyCat
2013-04-18 18:35:01 +01:00
scrawl
2693b78536
Add initial player inventory when new game is started
2013-04-15 02:56:23 +02:00
scrawl
a57fbbb168
Fix wrong detection of diseases
2013-04-14 17:51:17 +02:00
gus
905cff2a94
anonymous namespace
2013-04-11 18:02:12 +01:00
gus
0a187e56aa
bugfix
2013-04-11 17:58:11 +01:00
gus
6934b20abd
actors are now updates every frame. This should not be the case, but this is a quickfix for AI.
2013-04-11 17:57:58 +01:00
gus
b5b0e7a656
Merge branch 'master' of https://github.com/zinnschlag/openmw.git into AI
2013-04-11 16:15:32 +01:00
Marc Zinnschlag
beb1858a57
Merge remote-tracking branch 'glorf/bugfix'
2013-04-10 17:39:19 +02:00
Glorf
194ca2584d
Small azura's star fix
2013-04-08 17:53:41 +02:00
Chris Robinson
3768e04a0c
Merge remote-tracking branch 'zini/master' into nifogre
2013-04-07 17:24:47 -07:00
scrawl
8bbfba3f43
Fix fatigue not being set to its maximum value when player is rebuilt
2013-04-07 16:18:40 +02:00
Chris Robinson
41e410347e
Merge remote-tracking branch 'zini/master' into nifogre
2013-04-06 10:35:01 -07:00
Chris Robinson
1d934e3112
Reduce some stdout spam
2013-04-06 04:46:28 -07:00
Glorf
48d9885554
Started bugfix #691
2013-04-05 15:42:05 +02:00
Marc Zinnschlag
18e046e628
cleaned up race record struct
2013-04-04 13:50:36 +02:00
Glorf
08e9bb0236
Another small enchanting fix
2013-04-03 18:25:40 +02:00
Glorf
ae3e4ecf8b
Finished enchanting
2013-04-03 18:02:30 +02:00
Glorf
7b7d3353a6
Exception for enchanting with Azura Star
2013-04-02 22:23:38 +02:00
Glorf
369cf0b4ca
Enchanting price mechanics
2013-04-02 20:46:48 +02:00
Marc Zinnschlag
df658d29f0
Merge branch 'faction'
2013-04-02 14:21:51 +02:00
Marc Zinnschlag
f9f520df34
adjusted faction record to increase consistency with other records
2013-04-02 13:59:45 +02:00
gus
6a33170ca2
More bugfix, but I don't like this one.
2013-04-01 17:44:06 +00:00
gus
20af7d89a2
post master-merge fixes. Looks a little odd.
2013-04-01 17:30:40 +00:00
gus
2be9405c96
the sgn function is no longer in the global namespace
2013-04-01 15:44:08 +00:00
Marc Zinnschlag
751c679255
Merge remote-tracking branch 'glorf/enchanting'
2013-04-01 17:35:04 +02:00
Marc Zinnschlag
9dbd024076
another minor fix
2013-04-01 17:30:54 +02:00
Glorf
1bff6ed872
Enchaning values import, fixed constness
2013-04-01 17:12:47 +02:00
gus
1eb3d3e10e
Merge branch 'master' of https://github.com/zinnschlag/openmw.git into AI
...
Conflicts:
apps/openmw/CMakeLists.txt
2013-04-01 14:10:19 +00:00
gus
47cc945ef4
more refactoring
2013-04-01 12:38:13 +00:00
Marc Zinnschlag
26db983599
minor fix
2013-04-01 10:46:08 +02:00
Chris Robinson
d0703efd69
Another place to check the class' isActor method
2013-03-31 17:32:39 -07:00
Chris Robinson
04aeb3dd07
Rename Mechanics' Activators to Objects
2013-03-31 17:32:38 -07:00
Chris Robinson
10d04c928c
Use the object's class to check if it's an actor
2013-03-31 17:32:38 -07:00
Glorf
d29a42dcbe
Fixed enchanting mechanics
2013-03-31 23:18:23 +02:00
gus
63424ade56
refactoring
2013-03-31 17:30:03 +00:00
scrawl
1a2daa3bc1
Merge branch 'master' of git://github.com/zinnschlag/openmw into companion
2013-03-31 14:50:03 +02:00
scrawl
b0199c703c
Companion UI
2013-03-31 13:13:46 +02: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
Glorf
7dbc779c3a
Self-enchanting mechanics
2013-03-30 19:08:42 +01:00
scrawl
e7af718b55
Remove unnecessary WindowManager::messageBox arguments
2013-03-30 12:56:37 +01:00
Marc Zinnschlag
573368849b
Merge remote-tracking branch 'glorf/enchanting'
...
Conflicts:
apps/openmw/CMakeLists.txt
2013-03-29 16:48:21 +01:00
Glorf
86275e5bd4
Some enchanting fixes
2013-03-29 12:00:09 +01:00
Glorf
cc8f7f238e
Enchanted item base ptr fix
2013-03-29 00:55:29 +01:00
Glorf
eb88463b94
Some enchanting fixes
2013-03-28 23:39:20 +01:00
Glorf
6643fe789c
Enchanting system
2013-03-28 17:41:00 +01:00
scrawl
efe6a3ebee
Fix compile error & warnings
2013-03-26 18:01:01 +01:00
scrawl
2ecd2f4ecd
Merge branch 'next' into HEAD
2013-03-26 17:44:53 +01:00
scrawl
a2ca679beb
Added PC repair feature
2013-03-23 08:16:46 +01:00
Marc Zinnschlag
fd2c07a6f4
delete death events on adding an actor to the scene
2013-03-18 10:54:47 +01:00
Marc Zinnschlag
61cb0f98a6
keep track of death events
2013-03-18 10:47:09 +01:00
scrawl
95e1cdc07d
Move getArmorRating to MWWorld::Class.
2013-03-17 22:29:12 +01:00
scrawl
dd57eabc3e
Better use an enum for magic effect IDs
2013-03-16 23:28:26 +01:00
scrawl
1666bc7740
Armor rating
2013-03-16 22:53:33 +01:00
gus
9efb073617
clean up + correct a bug
2013-03-14 18:05:00 +00:00
gus
80804fac35
check if the NPC is close from a non loaded cell. If yes, AITravel is simply ended.
2013-03-14 17:16:37 +00:00
gus
f943580138
Somehow manages to get from one cell to another, but this looks wrong... And I don't know how morrowind do it, because aitravel is completly buggy
2013-03-12 17:44:22 +00:00
gus
bbc4c23f7e
AITravel now works correctly on exterior cells. As long as NPC don't try to leave cell, it's ok.
2013-03-10 15:07:22 +00:00
Emanuel Guevel
c020665cf2
Fix appending int to string in an exception message
2013-03-09 01:00:03 +01:00
gus
01908dbcc2
little improvement
2013-03-06 21:17:33 +00:00
gus
5fc7103425
First attempt at pathfinding using boost::graph
2013-03-06 20:31:47 +00:00
scrawl
8be9627c8d
Fix method signatures
2013-03-06 21:26:41 +01:00
scrawl
f7d8f6456f
Stats should never go below 0
2013-03-06 20:45:11 +01:00
scrawl
268bb23590
Implemented sneaking animation
2013-03-06 16:58:56 +01:00
scrawl
6f05c4229f
Implemented potion & ingredient effect stacking
2013-03-03 12:41:37 +01:00
scrawl
cf87708c1f
Magic effect icons for spells
2013-03-03 12:01:19 +01:00
Chris Robinson
000128d084
Merge remote-tracking branch 'zini/master' into misc-cleanup
2013-02-25 10:38:08 -08: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
Marc Zinnschlag
88e8659a49
minor cleanup
2013-02-25 16:52:31 +01:00
scrawl
73d48a95f6
Add message box when the player tries to move when being overencumbered.
2013-02-25 16:31:48 +01: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
3348e8a436
Clarify a comment
2013-02-14 22:41:14 -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
0a4568bd11
Move the PtrMovementList typedef to MWWorld
...
Use it for the doPhysics parameter, too
2013-02-05 11:03:39 -08:00
Chris Robinson
d50832081c
Remove the unneeded PhysicActor field from MovementSolver
2013-02-05 09:37:02 -08:00
Chris Robinson
a782a9109b
Store the vertical velocity in the physic actor
2013-02-05 09:24:22 -08:00
Chris Robinson
82e4da4e64
Get the half-extents from the physicactor
2013-02-05 07:41:57 -08:00
Chris Robinson
1c604445ba
Store movement vectors as they get returned
2013-02-05 06:59:01 -08:00
Chris Robinson
5ee298cdc1
Make sure the player updates last
2013-02-04 14:08:38 -08:00
Chris Robinson
2f8affc955
Make sure the player's controller is properly updated when they change
2013-02-04 12:58:06 -08:00
Chris Robinson
ee9b19d2ed
Make sure to remove a Ptr from the activators when requested
2013-02-04 12:04:06 -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
d4ddaa3d95
Only register activators that have a MWRender::Animation object
2013-01-29 01:08:52 -08:00
Chris Robinson
fdabef65a1
Use a method to update an object's cell in the mechanics manager
...
This prevents destroying and recreating the object's character controller (and
messing up the current animation) when moving between cells.
2013-01-29 00:19:24 -08:00
Chris Robinson
8d98f3649c
Use a separate class to handle activator mechanics
2013-01-28 23:39:11 -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
daad8d9859
Don't update the character controller while paused
2013-01-16 18:03:39 -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