1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-20 11:53:53 +00:00
Commit graph

4745 commits

Author SHA1 Message Date
Chris Robinson
b666f1d551 Work around a problem with MWRender::Player::renderPlayer
NpcAnimation::setViewMode makes a call to the character controller, in the
mechanics manager, to forcefully update the character's state. This in turn
makes a call to the player's old NpcAniamtion object that was just deleted.

The mechanics manager will eventually remove and reinsert the player, so the
old character controller will be removed and a new one will get the right
Animation object again, but not in time for the setViewMode call.

There's many factors that all contribute to this run-around, which needs
discussion on how to best fix.
2013-04-26 01:30:36 -07:00
Chris Robinson
55ee4e65a9 Clean up the slotlist struct 2013-04-25 23:42:20 -07:00
scrawl
7821610ec6 Make OnDeath work with explicit reference 2013-04-26 02:08:53 +02:00
scrawl
a373f53988 Added SetAtStart 2013-04-26 02:02:51 +02:00
Marc Zinnschlag
4e45222a63 Merge remote-tracking branch 'glorf/rotate-update1' 2013-04-25 20:57:24 +02:00
Glorf
240217ae42 Fixed rotations more than 360 degrees 2013-04-25 20:52:38 +02:00
Marc Zinnschlag
1e9656ee9c Merge remote-tracking branch 'glorf/rotate-update1' 2013-04-25 20:22:40 +02:00
Glorf
7cd4dd0c91 Improved local rotations 2013-04-25 19:14:10 +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
849335d8cc Merge remote-tracking branch 'zini/master' into nifogre 2013-04-25 05:35:33 -07:00
Chris Robinson
2769adcee0 Implement switching to and from first-person animations
Note that the current animation gets interrupted, so switching to first person
may break movement until you stop and try to move again. This can be fixed by
alerting the character controller in the mechanics manager to force a state
update when switching POV.
2013-04-25 05:23:05 -07:00
Chris Robinson
9a2a32f2a5 Add a method to clear all Animation sources except the first
The first needs to remain, since that's where any mSkelBase entity comes from,
and where any retrieved nodes are from.
2013-04-25 05:02:11 -07:00
Chris Robinson
9be20b90f1 Fix potential infinite loop when layer 0 is empty 2013-04-25 03:35:40 -07:00
Marc Zinnschlag
08e2254628 Merge remote-tracking branch 'pvdk/spacefix' 2013-04-25 12:15:35 +02:00
pvdk
d5d14c5147 Fixes issue with multiple spaces in plugin filename not being read correctly 2013-04-25 11:04:12 +02:00
Chris Robinson
76c8e81908 Merge remote-tracking branch 'zini/master' into nifogre 2013-04-25 01:35:21 -07:00
Marc Zinnschlag
247a76766d fixed a typo in a doxygen comment 2013-04-25 10:27:43 +02:00
Marc Zinnschlag
71fc8f5830 Merge remote-tracking branch 'scrawl/item' into next 2013-04-25 10:21:14 +02:00
Chris Robinson
86fda1bff6 Only set mSkelBase from the first objectlist 2013-04-25 00:52:26 -07:00
Chris Robinson
7eac37be23 Make sure the old layer is cleared before starting the next 2013-04-25 00:18:02 -07:00
Chris Robinson
09fc50948b Add methods to disable and get info for a layer 2013-04-25 00:08:16 -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
Nathan Jeffords
7db6447a00 dropped the I infront of the journal view model interfaces 2013-04-24 21:53:25 -07:00
Nathan Jeffords
36a6806faf drop the leading 'I' from the book page control interfaces 2013-04-24 21:44:29 -07:00
Nathan Jeffords
4c22afc29b made a pass at conforming to established naming convention 2013-04-24 20:22:57 -07:00
Nathan Jeffords
c7ede9b523 port code to C++03 2013-04-24 20:22:57 -07:00
Nathan Jeffords
718af692c9 reworked journal to match bethesda's implemenation 2013-04-24 20:20:01 -07:00
Nathan Jeffords
f02a53b121 Created a helper class to format books for display from the journal
view-model data.
2013-04-24 20:20:01 -07:00
Nathan Jeffords
50d688c2fc Created a view-model to present journal data to the UI in the form it
intends to display it.
2013-04-24 20:20:00 -07:00
Nathan Jeffords
55ca037411 Created a MyGUI widget to present a page of formatted text. 2013-04-24 20:20:00 -07:00
Nathan Jeffords
8dad04eef1 hid JournalWindow behind IJournalWindow interface, and put its entire
implementation, class definition and all, into journalwindow.cpp
2013-04-24 20:20:00 -07:00
scrawl
9e3917881d Don't fail on nonexistent items in a levelled list 2013-04-25 04:44:30 +02:00
Chris Robinson
0817d59f23 Allow specifying where to start in an animation 2013-04-24 19:09:36 -07:00
scrawl
933f894148 Added Blind and Night Eye effects 2013-04-25 02:31:51 +02:00
scrawl
baa7a9160c Rank condition should always fail if NPC is not in a faction 2013-04-25 02:31:39 +02:00
scrawl
a7092ef2d7 Fix activation not working sometimes
The current player cell was only being updated when the reference was not empty, causing it
to incorrectly detect a cell change the first time something was activated in a newly visited cell, immediately closing the opened dialogue again.
2013-04-25 02:31:39 +02:00
Nathan Jeffords
2dc01fe56b fixed the type of iterator uses in MWWorld::Store
The containers type used to declare some iterators was not an exact match for the type of the container the iterator was being initialized from. This was causing build failure on windows.
2013-04-25 02:31:39 +02:00
scrawl
51580ead4f Fix consecutive dialogue choices 2013-04-25 02:31:39 +02:00
Marc Zinnschlag
87ce2110dc hotfix for CharacterPreview destructor 2013-04-25 02:31:38 +02:00
scrawl
cd57e3f896 Auto calculate attributes if there are not specified in the NPC record 2013-04-25 02:31:38 +02:00
Glorf
53fb17da10 Rotation system fixes 2013-04-24 21:42:04 +02: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
b482d5be09 Add a method to check if a given layer is playing 2013-04-24 05:23:45 -07:00
Chris Robinson
c58dfbe921 Specify the loop count to Animation::play 2013-04-24 04:56:39 -07:00
Chris Robinson
7241267d5c Make an AnimationValue for each animation layer 2013-04-24 04:41:52 -07:00
Chris Robinson
102b3bdef9 Update position by reference 2013-04-24 01:57:51 -07:00
Chris Robinson
9e05ee53da Avoid looking for the controller if there is no NonAccum node
Also, make sure there is a controller before updating the position.
2013-04-24 01:18:08 -07:00
Chris Robinson
544011e096 Fix 'start' text key fallback lookup 2013-04-24 00:40:58 -07:00
Chris Robinson
7e2995bc2f Fix setting up active controllers 2013-04-23 19:43:26 -07:00
Chris Robinson
6a67a5e650 Merge remote-tracking branch 'zini/next' into nifogre 2013-04-23 16:57:48 -07:00
Chris Robinson
8c9e2e0ee9 Improve handling of reaching the stop animation text key 2013-04-23 05:34:08 -07:00
Chris Robinson
c4806f01f8 Use a separate list of controllers to update
This should make it easier to figure out what controllers need to be updated
for various animation sources and layers.
2013-04-23 04:08:09 -07:00
greye
cfccf0981d update IndexedStore::setUp() for multiple datafile support 2013-04-23 14:36:38 +04:00
Chris Robinson
e4c5aac966 Keep track of the animation layers a given object list is animating on
This only tracks layers they explicitly animate on. They may animate on other
layers as well, if nothing else is animating on them.
2013-04-23 02:48:11 -07:00
Chris Robinson
e378176937 Don't update controllers that have already been updated 2013-04-23 00:15:31 -07:00
Chris Robinson
8782ae6976 Separate some Animation fields into a separate AnimLayer class 2013-04-22 23:52:28 -07:00
Chris Robinson
c3ce49798a Fix animation velocity calculation 2013-04-22 21:34:39 -07:00
Chris Robinson
7279e015e9 Search the textkeys to check if an animation group exists 2013-04-22 20:59:55 -07:00
Chris Robinson
a2fc43c7df Use reset to check that the animation exists and has the right markers 2013-04-22 20:41:54 -07:00
Chris Robinson
507d72ede5 Merge remote-tracking branch 'zini/master' into nifogre 2013-04-22 18:44:28 -07:00
Chris Robinson
bb64efc18e Improve looping behavior 2013-04-22 05:08:52 -07:00
Chris Robinson
cc70c6263b Use the NodeTargetValue for the NonAccum root 2013-04-22 04:10:46 -07:00
Chris Robinson
9485a4aa6d Look through the whole animation stack to find the "velocity" 2013-04-22 01:40:41 -07:00
Marc Zinnschlag
29cb076113 Merge remote-tracking branch 'scrawl/rank' 2013-04-22 09:52:28 +02:00
Marc Zinnschlag
3fa35af796 Merge remote-tracking branch 'scrawl/master' 2013-04-22 09:52:24 +02:00
Chris Robinson
a7776e124c Only set mNonAccumRoot from mSkelBase 2013-04-22 00:22:31 -07:00
Chris Robinson
a3511c62cf Don't store textkeys in user object bindings
It's a bit unwieldy to have them stored in the 'skeleton master' instead
of the skeleton instance. And although the text keys are extracted for
each created instance now, this shouldn't be much worse than the
multimap copying going on before.

Plus, proper serialization can help for future optimizations.
2013-04-22 00:01:30 -07:00
scrawl
56b871e362 Rank condition should always fail if NPC is not in a faction 2013-04-22 07:57:53 +02:00
Chris Robinson
2345b5e8b3 Avoid storing text keys for each animation 2013-04-21 22:56:40 -07:00
Chris Robinson
7d59340ed6 Don't clip out the group name from the textkeys 2013-04-21 22:13:49 -07:00
Chris Robinson
6c85d6763a Pass "loop stop" to the character controller 2013-04-21 18:38:25 -07:00
Chris Robinson
d7c9df16f8 Store the current animation group 2013-04-21 18:32:34 -07:00
scrawl
8bf1149cec Fix activation not working sometimes
The current player cell was only being updated when the reference was not empty, causing it
to incorrectly detect a cell change the first time something was activated in a newly visited cell, immediately closing the opened dialogue again.
2013-04-21 21:24:48 +02:00
Nathan Jeffords
19325f9d40 fixed the type of iterator uses in MWWorld::Store
The containers type used to declare some iterators was not an exact match for the type of the container the iterator was being initialized from. This was causing build failure on windows.
2013-04-21 11:41:09 -07:00
Chris Robinson
835ff8eb1e Avoid creating an AnimationValue per ObjectList 2013-04-20 17:13:27 -07:00
Chris Robinson
4122b0b55f Merge remote-tracking branch 'zini/master' into nifogre 2013-04-20 00:25:00 -07:00
scrawl
a8e3acd6c4 Fix consecutive dialogue choices 2013-04-19 17:57:22 +02:00
Marc Zinnschlag
f13b0c884f hotfix for CharacterPreview destructor 2013-04-19 14:41:26 +02:00
Chris Robinson
50bb92beb3 Use a method to set the visibility flags and render queue. 2013-04-19 02:01:50 -07:00
Marc Zinnschlag
9c1e280614 Merge remote-tracking branch 'scrawl/master' 2013-04-19 00:23:24 +02:00
Chris Robinson
434f3ac8c8 Merge remote-tracking branch 'zini/next' into nifogre 2013-04-18 15:14:28 -07:00
scrawl
ef9afeb53e Auto calculate attributes if there are not specified in the NPC record 2013-04-18 23:51:43 +02: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
3c5e4ceefd Workaround for ambiguous "Chargen_plank" ID in chargen script (one at -22,16 and one at -2,-9) 2013-04-18 16:46:32 +02:00
Chris Robinson
6d59325bff Merge remote-tracking branch 'zini/master' into nifogre 2013-04-17 23:21:17 -07:00
Britt Mathis
1dff1fabdb Fixed race.cpp 2013-04-17 19:38:13 -04:00
Britt Mathis
7eee86ab66 No more using namespace 2013-04-17 18:56:48 -04:00
scrawl
c519fc360d Move away from fixed record names for body parts 2013-04-18 00:19:34 +02:00
scrawl
0341a9e778 Fix a gcc 4.8 warning 2013-04-17 20:57:22 +02:00
scrawl
547f77031d Fix crash when disabling objects in a previously loaded cell, then coming back to that cell and leaving again 2013-04-17 17:06:30 +02:00
Bret Curtis
c1ec16986b add cmake fix for compiling with binutils >= 2.23 which requires explicit linking for dl<friends> and Xt 2013-04-17 12:04:05 +02:00
Marc Zinnschlag
5bbab1abd9 Merge remote-tracking branch 'galdor557/master' 2013-04-17 09:52:58 +02:00
Britt Mathis
60fadaeaf0 Cleaned up includes in implementation files 2013-04-16 20:16:22 -04:00
Glorf
e3a9f73eb6 Improved getangle script behaviour 2013-04-16 21:40:34 +02:00
Glorf
1fd59d0ce0 Removed useless include 2013-04-16 21:21:54 +02:00
Glorf
1e92ffc314 Added rotation layer 2013-04-16 21:17:19 +02:00
Chris Robinson
cac793758b Merge remote-tracking branch 'zini/master' into nifogre 2013-04-16 11:52:19 -07:00
Chris Robinson
4ce98e9bd6 Store iterators for start and stop keys 2013-04-15 20:37:10 -07:00
Chris Robinson
1b1f9f7921 Allow multiple ObjectLists to be created for Animations.
addObjectList may not currently be called outside of the related constructor.
2013-04-15 18:55:28 -07:00
Glorf
e0357c7b7c Merge rotate 2013-04-15 20:29:38 +02:00
Glorf
763308868d Fixed rotation speed 2013-04-15 17:45:18 +02:00
Glorf
972481f63f Working rotate, rotateworld 2013-04-15 16:45:53 +02:00
scrawl
7fcaffefb0 Fixed travel window to use the rotation part of ESM::Position 2013-04-15 03:13:25 +02:00
Chris Robinson
69084139aa Use an array of objectlists, instead of one base objectlist and an array of 'animation sources' 2013-04-14 17:58:21 -07:00
scrawl
2693b78536 Add initial player inventory when new game is started 2013-04-15 02:56:23 +02:00
Chris Robinson
f9dee25fd1 Store the base skeleton entity in MWRender::Animation 2013-04-14 16:56:35 -07:00
Glorf
4e0233cf06 Base local rotations implementation 2013-04-14 21:42:37 +02:00
Marc Zinnschlag
9bc07e6221 Merge remote-tracking branch 'scrawl/diseasefix' 2013-04-14 19:45:55 +02:00
Marc Zinnschlag
615ce0b199 Merge remote-tracking branch 'scrawl/master' 2013-04-14 19:45:33 +02:00
Marc Zinnschlag
b2b953d2a8 added region column to cell table 2013-04-14 19:34:55 +02:00
scrawl
a57fbbb168 Fix wrong detection of diseases 2013-04-14 17:51:17 +02:00
scrawl
48f46e505c Look in exterior cells first (chargen_crate_01_empty is in the prison ship but also outside of it, the one outside needs to be disabled) 2013-04-14 17:37:39 +02:00
Marc Zinnschlag
71148121a2 added flag columns to cell table 2013-04-14 17:10:37 +02:00
Marc Zinnschlag
0c33dd86d5 added basic cell table 2013-04-14 17:04:55 +02:00
Marc Zinnschlag
62aa563466 Merge remote-tracking branch 'scrawl/scale' 2013-04-13 10:32:09 +02:00
Marc Zinnschlag
41744818bb Merge remote-tracking branch 'scrawl/master' 2013-04-13 10:23:35 +02:00
scrawl
d50150ad71 Scale adjustment factor should not be written back to cellref scale 2013-04-13 00:13:56 +02:00
scrawl
2eb9395661 Do some padding with zeros on the resource group name to avoid priority problems with more than 10 resource groups. 2013-04-13 00:05:31 +02:00
scrawl
86bac7aa92 Fix wrong BSA group name typo 2013-04-12 23:40:30 +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
5bfa691f14 Merge branch 'script' 2013-04-11 10:50:46 +02:00
Marc Zinnschlag
f17cebde0a syntax colouring for comments 2013-04-11 10:50:35 +02:00
Marc Zinnschlag
31289237ce Merge remote-tracking branch 'kcat/nifogre' 2013-04-11 10:16:48 +02:00
Marc Zinnschlag
3f846a50d9 Merge remote-tracking branch 'galdor557/master'
Conflicts:
	apps/openmw/mwgui/travelwindow.cpp
2013-04-11 10:15:42 +02:00
Chris Robinson
82091e3d07 Merge remote-tracking branch 'zini/master' into nifogre 2013-04-10 23:20:28 -07:00
Britt Mathis
6128b9276f Removed non-essential includes from all MWGui header files. 2013-04-11 00:21:56 -04:00
Chris Robinson
caff28e20a Move NIFSkeletonLoader to a separate file 2013-04-10 19:58:17 -07:00
Glorf
106ef4c936 Rotate script 2013-04-10 22:53:03 +02:00
Marc Zinnschlag
74145410f2 basic syntax highlighting in script subview 2013-04-10 22:49:22 +02:00
Marc Zinnschlag
3a87b12baf delete script subview on script deletion 2013-04-10 21:31:14 +02:00
Britt Mathis
f7383905b7 Finally eliminated calls to MWBase::WindowManager in constructors 2013-04-10 14:46:21 -04:00
Marc Zinnschlag
d61ec1063e added script editor 2013-04-10 20:14:10 +02:00
Britt Mathis
d768f6b57e Deleted *_* files in MwGui, builds. 2013-04-10 13:05:15 -04:00
Marc Zinnschlag
beb1858a57 Merge remote-tracking branch 'glorf/bugfix' 2013-04-10 17:39:19 +02:00
Glorf
ad49d1ecab Sixth minor fix 2013-04-10 15:24:20 +02:00
Britt Mathis
ce9bc6d9ba MwGui windowManager calls fixed to use MWBase::Environment::get().getWindowManager, filenames in MwGui now comply with naming conventions 2013-04-10 00:32:05 -04:00
Chris Robinson
50d8353a8d Fix a hack so arms dont show in first-person 2013-04-09 16:51:04 -07:00
Chris Robinson
9d29921913 Merge remote-tracking branch 'zini/master' into nifogre 2013-04-09 15:12:19 -07:00
Chris Robinson
a700c50e84 Add a first-person view mode to NpcAnimation
And use it instead of showing/hiding the player.
2013-04-09 15:10:14 -07:00
Marc Zinnschlag
a2ab43be7e Merge remote-tracking branch 'scrawl/master' 2013-04-09 21:22:38 +02:00
scrawl
0e7d555cdf Terrain material now uses multiple passes if required, which means it can support an arbitrary number of layers. Also re-enables PSSM. 2013-04-09 20:31:00 +02:00