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

326 commits

Author SHA1 Message Date
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
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
b378bc92a0 Store an animation object in the character controller 2013-01-16 10:16:37 -08:00
Chris Robinson
c1b32d6006 Remove outdated comments 2013-01-16 08:24:20 -08:00
Chris Robinson
3c02e1ccc9 Run physics right after updating the actors 2013-01-16 08:22:38 -08:00
Chris Robinson
94e30199d1 Merge remote-tracking branch 'zini/master' into animation2
Conflicts:
	components/nifogre/ogre_nif_loader.cpp
2013-01-15 14:59:30 -08:00
Marc Zinnschlag
654cd3ab9b Issue #479: Use magnitude specified when adding disease 2013-01-13 14:52:55 +01:00
Chris Robinson
94b24f07e1 Keep track of the state in the character controller, and don't remove dead actors from the map 2013-01-12 10:10:27 -08:00
Chris Robinson
4890d901a2 Store an MWWorld::Ptr in the character controller 2013-01-12 08:49:08 -08:00
Chris Robinson
35d17fdaf6 Associate a character controller with each MWWorld::Ptr 2013-01-12 07:12:12 -08:00
Marc Zinnschlag
f4ee8e2642 Issue #479: Added additional magnitude parameter to known spells 2013-01-12 13:10:20 +01:00
Chris Robinson
771a5f7316 Add the beginnings of a character controller 2013-01-10 08:35:24 -08:00
eduard
2dc0064cc2 more string lowercase 2013-01-09 20:51:52 +01:00
scrawl
a5ef669eb6 Merge branch 'master' of git://github.com/zinnschlag/openmw into HEAD
Conflicts:
	apps/openmw/mwscript/aiextensions.cpp
	apps/openmw/mwscript/docs/vmformat.txt
2013-01-03 02:34:31 +01:00
Marc Zinnschlag
de4a03081c fixed skill level type in skill level up message 2012-12-10 11:04:21 +01:00
Marc Zinnschlag
5f5addf052 fixed an enum 2012-12-09 00:12:24 +01:00
Marc Zinnschlag
0e7ba008ad another skill gain fix 2012-12-08 14:28:56 +01:00
Marc Zinnschlag
a70a5282f4 fixed an overzealous skill gain error check 2012-12-08 13:37:43 +01:00
greye
682fd23aea fix wrong increment 2012-12-02 21:18:59 +04:00
rpopovici
7079b9062f add AI script functions 2012-11-30 02:16:16 +02:00
scrawl
1def60dbe1 PcExpell, PcExpelled, PcClearExpelled, RaiseRank, LowerRank 2012-11-28 02:15:34 +01:00
scrawl
0db48b29c7 GetSpellEffects, GetRace 2012-11-25 01:26:29 +01:00
Marc Zinnschlag
a092deaee8 various fixes 2012-11-16 20:28:20 +01:00
Marc Zinnschlag
3dc013ceae Merge remote-tracking branch 'gohan/Gohan' 2012-11-16 20:15:58 +01:00
marcin
51027c541e Feature #391 Dummy AI package classes 2012-11-16 18:38:15 +01:00
marcin
bed0280ba1 Feature #391 Dummy AI package classes 2012-11-15 22:33:50 +01:00
marcin
99ddc63e2c Feature #391 Dummy AI package classes 2012-11-15 22:32:15 +01:00
marcin
515419ae0b Feature #391 Dummy AI package classes 2012-11-15 22:22:44 +01:00
marcin
4b939c7521 Feature #391 Dummy AI package classes 2012-11-15 22:15:20 +01:00
Marc Zinnschlag
9669eed083 Issue #219: added last missing function filters 2012-11-15 20:00:27 +01:00
marcin
e6c8e1f0d7 Feature #391 Dummy AI package classes 2012-11-14 18:42:04 +01:00
Marc Zinnschlag
77ba8c5117 Issue #219: implemented rank requirement filter 2012-11-12 13:23:25 +01:00
Marc Zinnschlag
75f64aa38b Merge branch 'master' into dialogue
Conflicts:
	apps/openmw/mwdialogue/dialoguemanagerimp.hpp
	apps/openmw/mwmechanics/npcstats.cpp
	apps/openmw/mwmechanics/npcstats.hpp
2012-11-10 15:44:44 +01:00
Marc Zinnschlag
0ab4068fbd Merge remote-tracking branch 'scrawl/persuasion' into next 2012-11-10 14:59:52 +01:00
Marc Zinnschlag
7e8d4bb3c9 Issue #219: added various creature and NPC stats; implemented respective filters 2012-11-10 13:21:38 +01:00
Marc Zinnschlag
d15eb6cd17 Merge remote-tracking branch 'greye/player-model' into next 2012-11-10 12:36:01 +01:00
Marc Zinnschlag
e97f3003ab Issue #219: added expelled status tracking; implemented expelled filter 2012-11-10 12:28:40 +01:00
Marc Zinnschlag
ceaf1677ce Issue #219: rewrote AI settings and implemented AI settings filters 2012-11-10 11:38:37 +01:00
Marc Zinnschlag
a752536cea Issue #219: added function decoding and moved same faction function from DialogueManager to Filter 2012-11-10 09:35:50 +01:00
greye
b1ef0026a9 race selection/inventory preview character model update 2012-11-10 11:41:12 +04:00
scrawl
553ea08eae consider temporary disposition change when trading 2012-11-10 00:42:31 +01:00
scrawl
33b4b29fbc persuasion mechanics, added reputation 2012-11-10 00:29:36 +01:00
scrawl
ace9ee9c83 persuasion dialog 2012-11-09 20:18:38 +01:00
scrawl
f6a9029c4b bounty & disease disposition effect 2012-11-09 18:33:11 +01:00
Marc Zinnschlag
be1334b202 disease tests 2012-11-09 18:16:29 +01:00
Marc Zinnschlag
0727d943b1 Merge branch 'next' into bountydisease
Conflicts:
	apps/openmw/mwmechanics/npcstats.cpp
2012-11-09 18:04:44 +01:00
scrawl
d53a7ade1e method names, disposition uint->int 2012-11-09 14:42:09 +01:00
Marc Zinnschlag
39ff2f06ce added bounty to NpcStats 2012-11-09 14:31:38 +01:00
scrawl
b2afb1fd5c Merge branch 'next' of git://github.com/zinnschlag/openmw into MercantilImprovement
Conflicts:
	apps/openmw/mwbase/mechanicsmanager.hpp
	apps/openmw/mwclass/npc.cpp
	apps/openmw/mwdialogue/dialoguemanagerimp.cpp
	apps/openmw/mwgui/spellbuyingwindow.cpp
	apps/openmw/mwgui/trainingwindow.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
2012-11-08 23:16:40 +01:00
scrawl
322faf13e4 cleanup 2012-11-08 22:37:59 +01:00
scrawl
bf4e855260 fixed creatures 2012-11-08 22:31:08 +01:00