Chris Robinson
7b71b4eb31
Add a missing include
2013-01-27 03:03:48 -08:00
Chris Robinson
0cd3880b20
Merge remote-tracking branch 'zini/master' into animation2
2013-01-26 04:54:52 -08:00
Chris Robinson
b1ffdf855f
Reset the initial state of animated nodes on the skeleton instances
...
This is so the animation specifies node keyframe data based on the node's
parent. This will also be necessary for applying animations from different
skeleton sources, as they can have different binding positions (even native
.skeleton resources will need to specify animation data this way).
2013-01-26 04:48:53 -08:00
Emanuel Guevel
19dff822f4
Dialogue: do not filter on disposition for creatures
2013-01-24 19:43:21 +01:00
Emanuel Guevel
ed9a9904b4
Dialogue filter: search script variables case-insensitively
2013-01-24 19:39:31 +01:00
Marc Zinnschlag
90d05858ef
disabling dialogue sub-views for now
2013-01-22 11:50:08 +01:00
Marc Zinnschlag
cd662af634
Merge branch 'globals'
2013-01-22 11:47:24 +01:00
Chris Robinson
05f8b8c283
Specify the text key to reset animations to
2013-01-22 00:31:45 -08:00
Chris Robinson
37fe1bd3f0
Handle looping in the Animation object
2013-01-21 22:51:13 -08:00
Marc Zinnschlag
2756d3ee94
Merge remote-tracking branch 'wheybags/containerscripts'
2013-01-21 23:02:45 +01:00
Tom Mason
f5f3c2e62d
enabling / disabling should not affect scripts
2013-01-21 20:06:08 +00: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
536f8104e6
Do not create an 'all' animation.
2013-01-20 17:24:43 -08:00
Chris Robinson
e1e76bde76
Combine a loop into another where it's used
2013-01-20 15:39:43 -08:00
Tom Mason
31c71c029d
objects with scripts attached, that are inside containers will behave correctly when the container is moved
2013-01-20 17:01:30 +00:00
Emanuel Guevel
736e471613
Print a fallback text when no topic response is found
2013-01-20 17:44:09 +01:00
Emanuel Guevel
43e85ea0c6
Disallow redirection to info refusal for greetings
2013-01-20 17:44:09 +01:00
Emanuel Guevel
05796d85a4
NPC: take stats from NPDT12 into account
...
Some available stats (level, reputation and disposition) were not used
for NPC with auto-calculated stats.
2013-01-20 17:44:08 +01:00
Emanuel Guevel
951eb1b236
Dialogue: return a response from "Info Refusal" when disposition is not satisfied
2013-01-20 17:44:08 +01:00
Tom Mason
23dada0ee4
moved script handling on enable / disable into their own functions
2013-01-20 16:38:56 +00:00
Tom Mason
28c580d280
disabling and enabling containers causes scripts on contents to be disabled and enabled accordingly
2013-01-20 15:43:52 +00:00
Tom Mason
abe25c5f66
removed use of c++11 auto
2013-01-20 14:24:55 +00:00
Tom Mason
665a530e10
renamed realAdd to addImp
2013-01-20 14:14:34 +00:00
Tom Mason
3c6ddd7fa7
fixed isInCell method
2013-01-20 14:10:04 +00:00
Chris Robinson
85ca1e993f
Properly check if an animation exists before playing it
2013-01-19 21:55:04 -08:00
Nathan Jeffords
f55da17933
made some journal accessor methods constant
2013-01-19 16:21:41 -08:00
Nathan Jeffords
4c7ae3d1ff
prevent duplicate journal entries from being recorded
2013-01-19 16:21:15 -08:00
Nathan Jeffords
528c3da6da
record heard topics in journal
2013-01-19 16:20:22 -08:00
Chris Robinson
68779375b2
Implement WalkLeft and WalkRight character states
2013-01-19 16:19:47 -08:00
Nathan Jeffords
d6b956cdcf
fixed swapped day & month fields when created a stamped journal entry
2013-01-19 16:19:03 -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
Marc Zinnschlag
2d96f52864
select correct record when opening a dialogue sub view
2013-01-19 14:29:14 +01: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
9123f4f2af
Return the movement vector from runAnimation
2013-01-18 16:21:29 -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
613529f1d6
Merge remote-tracking branch 'zini/master' into animation2
2013-01-18 01:02:53 -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
00879ab20e
Fix player rendering
2013-01-17 15:48:09 -08:00
Chris Robinson
fef6284f15
Only reset the animation time if a new state was set
2013-01-17 15:47:25 -08:00
Chris Robinson
fc0f9e2159
The animation state tracks the animation time for us
2013-01-17 14:49:42 -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
Marc Zinnschlag
82b790770d
Merge remote-tracking branch 'potatoesmaster/dialogue-creatures'
2013-01-17 10:21:01 +01:00
Chris Robinson
82d549e22f
Don't update the animation if time is the same
2013-01-16 21:39:14 -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
4dd01b81c6
Update mTime when updating or reseting the animation, and refactor the animation loop
2013-01-16 20:14:49 -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
Emanuel Guevel
4feaa66897
Do not open the dialogue window if no greeting is found
2013-01-17 01:58:44 +01: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
Marc Zinnschlag
7b568cbb15
Merge remote-tracking branch 'potatoesmaster/dialogue'
2013-01-16 22:03:40 +01:00
Chris Robinson
0a2f92f679
Keep track of the current text key in the animation
2013-01-16 11:57:08 -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
63e685ea39
Add a method to get the Animation from a Ptr
2013-01-16 09:59:19 -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
1ce8eaf52c
Merge remote-tracking branch 'zini/master' into animation2
...
Conflicts:
apps/openmw/mwrender/actors.cpp
apps/openmw/mwrender/actors.hpp
2013-01-16 07:36:56 -08:00
Marc Zinnschlag
312f68bf9c
Merge remote-tracking branch 'thoronador/fix-spelling'
2013-01-16 12:28:33 +01:00
Thoronador
3220330ce0
fix spelling in comment
2013-01-16 04:19:16 +01: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
Emanuel Guevel
9e00c6694f
Allow only ID filtered topics for dialogue with creatures
2013-01-15 21:40:44 +01:00
Chris Robinson
8a073c113e
Use const references where appropriate
2013-01-15 12:07:15 -08:00
Chris Robinson
8361192b64
Use typedefs for some maps and some cleanup
2013-01-15 11:10:41 -08:00
Marc Zinnschlag
3053440462
Issue #539 : fixed AiWander
2013-01-15 12:40:44 +01:00
Emanuel Guevel
82287445af
DialogueWindow: do not execute onFrame() when not visible
2013-01-15 00:59:48 +01:00
Emanuel Guevel
f1f9173f24
Prevent closing dialogue window when an answer is expected
2013-01-15 00:53:32 +01:00
Tom Mason
6fc64e8a4e
scripts run for items added to containers, and scripted items in player inv handled correctly
2013-01-13 19:49:56 +00:00
Tom Mason
7c8b3f1239
Merge remote-tracking branch 'real/master'
2013-01-13 17:07:18 +00:00
Tom Mason
c138e00aa2
objects scripts are now stopped when they are removed from a container
2013-01-13 17:05:12 +00:00
Marc Zinnschlag
654cd3ab9b
Issue #479 : Use magnitude specified when adding disease
2013-01-13 14:52:55 +01:00
Tom Mason
d4ca954d47
scripts on items in containers added to script list on cell change
2013-01-12 18:31:57 +00: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
scrawl
ed3c23ad9a
Fixed crash on changing cell due to Utf8Encoder going out of scope
2013-01-12 01:18:36 +01:00