Commit graph

1212 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Chris Robinson
6d59325bff Merge remote-tracking branch 'zini/master' into nifogre 2013-04-17 23:21:17 -07: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
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
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
Chris Robinson
f9dee25fd1 Store the base skeleton entity in MWRender::Animation 2013-04-14 16:56:35 -07:00
Chris Robinson
caff28e20a Move NIFSkeletonLoader to a separate file 2013-04-10 19:58:17 -07: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
Tom Mason
6ca2b1af74 fix for turning animations playing when in vanity mode 2013-04-09 19:24:41 +01:00
Chris Robinson
029d565727 Avoid calling setVisible for character previews 2013-04-09 09:23:07 -07:00
Chris Robinson
9f9d978b0f Use an enum to specify the NPC's view mode (normal, head only) 2013-04-09 09:07:05 -07:00
Chris Robinson
08d43fe217 Make the getHeadNode method more general 2013-04-08 05:48:52 -07:00
Chris Robinson
3768e04a0c Merge remote-tracking branch 'zini/master' into nifogre 2013-04-07 17:24:47 -07:00
Chris Robinson
7baca30a1d Only get the non-accum root's keyframe when updating positions
The actual animation pose is now handled by the controllers, based on the
current animation time.
2013-04-07 16:21:45 -07:00
Chris Robinson
261ea1fe5e Implement a KeyframeController 2013-04-07 14:56:23 -07:00
Chris Robinson
f69a8259e1 Update animation source controller targets 2013-04-07 13:51:04 -07:00
Chris Robinson
7494f90301 Remove an unneeded function 2013-04-07 13:02:46 -07:00
Chris Robinson
2362e920f3 Use an unconnected object list for animation sources
We'll want the controllers, as the plan is to use their keyframe controllers
to animate the actual skeleton used for the meshes.
2013-04-07 12:41:27 -07:00
Chris Robinson
80a1abd48a Clear the old text keys when setting new animation sources 2013-04-07 11:09:55 -07:00
scrawl
755a80a522 Fix camera shaking when near the pitch limit. 2013-04-07 15:52:43 +02:00
Chris Robinson
be419bc891 Handle NiCamera nodes 2013-04-07 02:28:15 -07:00
Chris Robinson
878b4c15c5 Set visibility flags and the render queue group for particles 2013-04-07 02:08:33 -07:00
Chris Robinson
2db72ae607 Rename EntityList to ObjectList 2013-04-07 01:52:35 -07:00
Chris Robinson
59f1d4b047 Add support for NiUVController on meshes 2013-04-06 09:44:10 -07:00
Chris Robinson
0631b28646 Prepare for supporting controller objects 2013-04-05 10:13:54 -07:00
Chris Robinson
af2a38db38 Fix looping anims that dont have "loop start" 2013-04-05 08:27:26 -07:00
Chris Robinson
4d14fe0d95 Merge remote-tracking branch 'zini/master' into nifogre 2013-04-04 22:06:27 -07:00
scrawl
2e7d5377f4 Fix crash when moving npcs to an inactive cell 2013-04-04 16:51:22 +02:00
Chris Robinson
77ba0fbe73 Prepare for creating particles
This adds a vector of ParticleSystems to the EntityList, and modifies
corresponding code to handle it. It also loads the ParticleFX plugin so
particles can be created (although they aren't yet).
2013-04-04 05:10:52 -07:00
scrawl
ebaf80d539 Trace actors onto the ground after load, when moved to a different cell by the console or on player cell change. 2013-04-03 23:55:57 +02:00
Chris Robinson
63af72c315 Avoid converting to and from quaternions 2013-03-30 17:31:16 -07:00
scrawl
5e7e9fd26a Properly calculate light activation range 2013-03-29 20:21:37 +01:00
Marc Zinnschlag
e7684c4677 some random cleanup 2013-03-29 09:04:02 +01:00
Chris Robinson
c5f0556451 Handle light linear/quadratic settings 2013-03-28 20:57:33 -07:00
Marc Zinnschlag
08f6d04960 constness fixes 2013-03-18 08:29:40 +01:00
Glorf
6165cd2c6b Moons fallbacks partially implemented 2013-03-17 14:22:30 +01:00
scrawl
485b6c855a Fix NPC race height not being applied 2013-03-15 16:44:35 +01:00
Glorf
521bebd2f4 Fallback system rewritten, added light fallbacks 2013-03-15 10:17:30 +01:00
scrawl
bcdab2aeab Fix wrong padding breaking local map for cells where the bounds center is far from the origin 2013-03-11 19:32:39 +01:00
scrawl
d7c4a622cf Create a separate rigid body / shape with full details for raycasting, remove the occlusion query hack 2013-03-08 23:46:25 +01:00
scrawl
285b4bf726 Allow zooming camera in vanity or preview mode with the mousewheel 2013-03-08 00:12:56 +01:00
Marc Zinnschlag
7e100c36b5 Merge remote-tracking branch 'gus/AI' 2013-03-06 19:05:55 +01:00
gus
5938e19362 Clean up 2013-03-06 17:31:57 +00:00
scrawl
66d2d3522f Race selection preview: render only the head, and focus the camera on its node 2013-03-06 18:03:47 +01:00
gus
d3bf3812a4 changing rotation order (fix some misoriented objects) 2013-03-05 20:16:57 +00:00
gus
8b6f0e0770 Correct orientation sign 2013-03-05 18:28:57 +00:00
scrawl
fe7b2732d8 Avoid manually updating render targets from within frameRenderingQueued 2013-03-05 14:24:29 +01:00
scrawl
2486ec6cb9 Material fixes (vertex colors, alpha) 2013-03-05 13:51:48 +01:00
scrawl
ca707aa65f Transparency should be evaluated per subentity, not per NIF 2013-03-04 16:57:00 +01:00
scrawl
cab5315a8e Disable mipmaps generation 2013-03-04 16:28:20 +01:00
scrawl
f1d35b73b8 Cleanup 2013-03-03 19:52:20 +01:00
scrawl
c9fefc7f5d Simpler, more lightweight underwater effect, changed colors to match vanilla better 2013-03-03 19:28:11 +01:00
scrawl
05bd94effb Merge branch 'master' of git://github.com/zinnschlag/openmw into graphics 2013-03-03 15:14:20 +01:00
scrawl
002830e13b Make sure render textures are inactive when in a cell without water 2013-03-03 15:11:45 +01:00
scrawl
867b22ce19 Fix a terrain glitch 2013-03-03 15:11:19 +01:00
gus
e1882dce32 correcting a bug: player orientation wasn't stored correctly, and objects orientation wasn't properly retrived. 2013-03-03 13:02:41 +00:00
scrawl
0f6fd80294 Merge branch 'master' of git://github.com/zinnschlag/openmw into graphics
Conflicts:
	apps/openmw/mwgui/windowmanagerimp.cpp
	apps/openmw/mwrender/npcanimation.cpp
	files/mygui/openmw_settings_window.layout
2013-03-03 11:02:38 +01:00
Nathan Jeffords
109dff2d29 renamed high level NIF files... 2013-03-02 13:23:09 -08:00
Chris Robinson
e6b547b9ba Merge remote-tracking branch 'zini/master' into transparency-fixes 2013-03-01 13:32:30 -08:00
Chris Robinson
238a8feb18 Fix transparency checks 2013-03-01 13:27:25 -08:00
scrawl
1d988676fe Local map: the obtained bounding box wasn't exactly accurate, getWorldBoundingBox seems to solve this. 2013-02-28 22:56:29 +01:00
Chris Robinson
1168f15361 Don't disable depth writes when blending is enabled 2013-02-28 12:17:58 -08:00
scrawl
3efbb5e728 Don't try to render a map in empty cells 2013-02-28 20:27:35 +01:00
Chris Robinson
bfe80bb8dc Avoid duplicating skeletons due to casing issues
Manually created resource names are apparently always case sensitive, causing
some skeletons to get loaded multiple times.
2013-02-27 12:33:36 -08:00
scrawl
369f881170 Merge branch 'master' of https://github.com/zinnschlag/openmw into graphics 2013-02-27 09:25:44 +01:00
scrawl
9b0ac4e299 NPCs / creatures can now emit ripples 2013-02-27 09:20:42 +01:00
Chris Robinson
ceafcc2ebb Support float samples with ffmpeg
Requires the AL_EXT_FLOAT32 extension in OpenAL
2013-02-26 10:19:33 -08:00
scrawl
d4264353a3 Merge branch 'z-up' into graphics
Conflicts:
	apps/openmw/mwrender/localmap.cpp
	apps/openmw/mwrender/renderingmanager.cpp
	apps/openmw/mwrender/water.cpp
	files/materials/water.shader
2013-02-26 14:54:53 +01:00
Marc Zinnschlag
dc445844d2 Merge remote-tracking branch 'scrawl/z-up' 2013-02-26 14:37:50 +01:00
scrawl
cc9b72b9b1 Removing some leftovers of mwRoot node 2013-02-26 14:01:10 +01:00
scrawl
341f9b96e2 Local map: restore zHigh 2013-02-26 13:53:23 +01:00
scrawl
284ba58e1e Z-up conversion: global map, shader fix 2013-02-26 13:52:01 +01:00
scrawl
2e7bc1a368 Z-up conversion: local map, fix tcg 2013-02-26 13:39:10 +01:00