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
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
greye
2a86432887
store birthsign in MWWorld::Player
2012-11-08 18:50:23 +04:00
gugus
0a883f4492
The player can now barter with merchants
2012-11-08 13:38:20 +01:00
greye
83e758ee50
clean up interfaces
2012-11-08 16:37:57 +04:00
greye
9dc9098fa7
update MWBase::World interface since records contains own id
2012-11-08 01:52:34 +04:00
greye
5b9621bca5
store player record data in ESMStore
2012-11-08 01:36:43 +04:00
gugus
bf98b95955
bugfix
2012-11-06 13:10:54 +01:00
greye
620184a009
fix typos
2012-11-06 14:44:56 +04:00
greye
b3ad872845
new interface in manualref, fix various typos
2012-11-06 13:43:48 +04:00
gugus
2841d831a6
Disposition is now updated everyframe
2012-11-05 23:16:37 +01:00
gugus
9ebe9cb40c
Disposition is now calculated according to the Wiki. But: bouty and deacease are not implemented (for disposition at least), and there is still no temporary/permanent dispositons changes
2012-11-05 19:55:06 +01:00
greye
86ad7a96f4
applying new interface vol.2, inconsistent
2012-11-05 21:19:22 +04:00
greye
bd1bb2e55d
applying new interface vol.1, inconsistent
2012-11-05 18:39:42 +04:00
greye
d205723a17
resolving m prefix/ESMStore movement
2012-11-05 18:02:47 +04:00
greye
8691eac557
resolve Script::mData.mName -> mId, resolve moving ESMStore
2012-11-05 17:41:36 +04:00
greye
2057f5619e
move ESMStore to MWWorld
2012-11-05 17:18:01 +04:00