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

1393 commits

Author SHA1 Message Date
gus
5388c25e64 Fix or lockpicks. 2013-04-28 11:55:50 +01:00
gus
766d1efa84 Render weapon and shield. Only shield can be seen right now as weapons need to be drawed out. 2013-04-28 11:41:01 +01:00
Chris Robinson
ce7bc20fa1 Avoid special-casing player rotation 2013-04-28 01:14:58 -07:00
Chris Robinson
ab52e68c05 Merge remote-tracking branch 'zini/master' into animations 2013-04-27 05:16:15 -07:00
Chris Robinson
137017b325 Don't allow forcing vanity mode 2013-04-27 01:24:36 -07:00
Marc Zinnschlag
32138dbb0f silenced a warning 2013-04-26 13:33:47 +02:00
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
Chris Robinson
274f3c7b77 Force character state to update after switching view modes 2013-04-25 07:08:11 -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
Chris Robinson
76c8e81908 Merge remote-tracking branch 'zini/master' into nifogre 2013-04-25 01:35:21 -07: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
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
Marc Zinnschlag
87ce2110dc hotfix for CharacterPreview destructor 2013-04-25 02:31:38 +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
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
scrawl
3ef952172d Z-up conversion: water, sky 2013-02-26 10:38:48 +01:00
scrawl
3cb3ec91c0 Z-up conversion: camera 2013-02-26 09:12:35 +01:00
scrawl
a5451eb9d9 Z-up conversion: terrain, objects 2013-02-26 08:30:06 +01:00
Chris Robinson
a576e9e430 Set the race selection character preview in a valid (idle) pose. 2013-02-25 16:40:08 -08:00
scrawl
8aff033a0c Atmosphere no longer does "real" alpha blending to blend with the horizon, this is in preparation for proper underwater viewport BG / fog 2013-02-25 18:29:11 +01:00
scrawl
b1fc68d44d Merge branch 'master' into graphics 2013-02-25 17:36:33 +01:00
scrawl
355390429e Fix World::isUnderwater to use dynamic waterlevel 2013-02-25 17:27:50 +01:00
scrawl
cacdb33b42 Merge branch 'master' into graphics
Conflicts:
	apps/openmw/CMakeLists.txt
	apps/openmw/mwrender/npcanimation.cpp
	apps/openmw/mwrender/sky.cpp
2013-02-25 15:12:03 +01:00
Chris Robinson
74b8095fc7 Use default parameters where appropriate 2013-02-24 14:43:20 -08:00
Chris Robinson
5267d17408 Revert "forgot to destroy child scene nodes"
This reverts commit f1a3309392.

Unneeded. The caller already calls this which destroys the children recursively
2013-02-24 14:14:08 -08:00
ChrisKCat
9e7b559b09 Merge pull request #6 from scrawl/lights
For light objects without an AttachLight bone, attach the light to the c...
2013-02-24 14:12:53 -08:00
scrawl
f1a3309392 forgot to destroy child scene nodes 2013-02-24 19:03:25 +01:00
scrawl
1ae2d3c6ab For light objects without an AttachLight bone, attach the light to the center of the object instead of the origin. 2013-02-24 19:00:06 +01:00
greye
6a8c532244 fix and unify object cell change update in mwrender 2013-02-24 15:04:56 +04:00
Chris Robinson
8e59ea4941 Use a separate method to handle animation events 2013-02-23 14:39:01 -08:00
Chris Robinson
d77d035d3a Handle the "sound" events in runAnimation 2013-02-23 14:15:11 -08:00
Chris Robinson
d208422ca7 Add a method to update an Animation's Ptr object 2013-02-23 10:12:36 -08:00
Chris Robinson
a2eaec7878 Avoiding holding the InventoryStore in the NpcAnimation class 2013-02-23 08:03:52 -08:00
Chris Robinson
0d0e75fe0b Don't set animation sources for models that don't have a skeleton 2013-02-23 07:36:11 -08:00
Chris Robinson
0148db8ccf Merge remote-tracking branch 'zini/master' into animation2
Conflicts:
	apps/openmw/mwrender/npcanimation.cpp
	apps/openmw/mwrender/npcanimation.hpp
2013-02-23 05:59:35 -08:00
scrawl
4b51184ec4 Merge branch 'master' of https://github.com/zinnschlag/openmw into graphics 2013-02-23 14:37:28 +01:00
Chris Robinson
e6da9dfae5 Specify the animation key to stop playing at 2013-02-23 05:15:10 -08:00
greye
ac7095537f remove insertMesh() call on object cell change 2013-02-23 16:50:37 +04:00
greye
9659b4a95e update NpcAnimation inventory reference on cell change 2013-02-23 16:45:55 +04:00
Chris Robinson
b8f5813609 Set all animation sources at once 2013-02-23 03:34:03 -08:00
scrawl
01102f9c73 Don't emit if there wasn't enough movement 2013-02-23 05:53:20 +01:00
scrawl
5b099393fa Fix time factor 2013-02-23 04:43:51 +01:00
scrawl
f17ea109ca Fix light positions 2013-02-23 04:06:05 +01:00
Chris Robinson
b12c6a4c16 Fix character preview 2013-02-22 11:16:00 -08:00
Chris Robinson
ecbf1568a1 Fix NPC part attachment 2013-02-22 10:15:29 -08:00
Chris Robinson
9dee2a72cd Use a separate method to calculate animation velocity 2013-02-22 09:22:06 -08:00
Chris Robinson
7ec73c29f2 Do not return the player's Animation object for non-players 2013-02-22 01:27:26 -08:00
Chris Robinson
617158afcd Ensure updated skeleton bone placement matches in world space
Objects attached to actors (shirts, robes, etc) do not require the same node
hierarchy as the character root. So to ensure proper placement, we need to set
the bone target's derived transformation using the source bone's derived
transformation (which in turn means we need to work up from the root, to ensure
the bone's parents are properly placed).
2013-02-20 02:41:46 -08:00
Chris Robinson
8196694c08 Avoid applying the animation when resetting it 2013-02-19 06:04:25 -08:00
Chris Robinson
f8349a04bf Use the looping portion of the animation to calculate the velocity 2013-02-19 05:26:58 -08:00
Chris Robinson
1399a06c76 Update animation looping when setting the same state 2013-02-19 04:01:33 -08:00
scrawl
427152c518 Disabled ripples until we can properly trigger them from the new character controller. 2013-02-19 03:15:31 +01:00
scrawl
6cceb04adf When a custom near clip plane is used, we need to fix up a second viewproj matrix manually to get proper depth values in the vertex shader. This fixes fog on reflections. 2013-02-19 03:08:00 +01:00
scrawl
32b837ebd4 Merge branch 'next' of https://github.com/zinnschlag/openmw into graphics 2013-02-19 00:15:54 +01:00
scrawl
42883ec64b cleanup 2013-02-18 02:33:53 +01:00
scrawl
791d16bbdb Use infinite AAB for sky meshes to fix them from disappearing from underwater refraction, while still taking advantage of CPU culling for other meshes 2013-02-17 18:12:38 +01:00
scrawl
7ffcfa3622 Water and clouds no longer depend on timescale. 2013-02-17 16:23:55 +01: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
scrawl
6a49ea9b4f Cleaning out some old bits 2013-02-13 18:39:36 +01:00
Chris Robinson
6a9755778e Merge remote-tracking branch 'zini/next' into animation2 2013-02-12 18:14:46 -08:00
scrawl
de90b911c9 Near clip plane corrections 2013-02-12 20:56:00 +01:00
scrawl
d213ff680f Disabled terrain LOD 2013-02-12 20:55:45 +01:00
Marc Zinnschlag
5e3529783d Merge remote-tracking branch 'ace/win-fixes' into next 2013-02-12 15:42:45 +01:00
Alexander "Ace" Olofsson
bbb845824d Added typedef for ssize_t in windows and fixed a use of __PRETTY_FUNCTION__ 2013-02-12 13:59:24 +01:00
Chris Robinson
4ee5857bae Filter accumulation axis for mLastPosition as needed 2013-02-09 19:09:56 -08:00
Chris Robinson
8d6f017f17 Remove an unneeded Animation field 2013-02-09 13:25:39 -08:00
Chris Robinson
34ddf69a31 Merge remote-tracking branch 'zini/next' into animation2 2013-02-09 09:46:57 -08:00
scrawl
d47090b312 Merge branch 'next' of https://github.com/zinnschlag/openmw into graphics 2013-02-09 16:40:10 +01:00
Mark Siewert
55bd9eef66 Merge remote-tracking branch 'upstream/master' into multiple_esm_esp 2013-02-09 13:03:35 +01:00
Chris Robinson
923d0d6eb4 Fix up some header includes 2013-02-06 21:47:09 -08:00
Chris Robinson
18b7008409 Better fix some scaling issues 2013-02-05 18:25:09 -08:00
Chris Robinson
535cd8360f Load extra animations for NPCs 2013-02-05 18:09:43 -08:00
Chris Robinson
8b1e7b95ba Attempt to load the skeleton source if it doesn't yet exist 2013-02-05 17:55:12 -08:00
Chris Robinson
c839502743 Setup base_anim.nif as an initial skeleton source for biped creatures 2013-02-05 17:16:45 -08:00
Chris Robinson
054ef3113a Check existing skeleton sources if the current one has no animation root 2013-02-05 17:15:40 -08:00
Chris Robinson
16933e3926 Scale the accumulation root translation 2013-02-05 16:59:20 -08:00
Chris Robinson
600fe06f00 Use a vector of skeletons to handle animation sources 2013-02-05 16:29:51 -08:00
scrawl
608c112f34 Supply the new render window to mygui 2013-02-05 20:48:25 +01:00
scrawl
31f760ccce Fixing issues from last commit: restored input and occlusion queries 2013-02-05 20:26:13 +01:00
scrawl
c4d518132f With the 1x1 background window trick, we can apply VSync without restart. Some issues left though. 2013-02-05 19:22:08 +01:00
scrawl
499f3ac0d1 Slightly better ripple normal blending. Not physically accurate at all, but looks good. 2013-02-05 16:40:41 +01:00
scrawl
3772cd9257 Refraction can be disabled separately now 2013-02-05 14:29:46 +01:00
Chris Robinson
786cb6e928 Merge remote-tracking branch 'zini/master' into animation2 2013-02-05 02:57:02 -08:00
Chris Robinson
bd4fdf47a3 Merge remote-tracking branch 'zini/master' into animation2
Conflicts:
	apps/openmw/mwrender/sky.cpp
2013-02-05 02:27:57 -08:00
scrawl
a29919d02d restored global map 2013-02-05 00:39:56 +01:00
scrawl
35b5fdab5d Merge branch 'terrainfix' into graphics 2013-02-05 00:28:59 +01:00
scrawl
09180666b2 Merge branch 'master' of git://github.com/zinnschlag/openmw into terrainfix 2013-02-05 00:21:42 +01:00
scrawl
58cf182db2 better place for syncing 2013-02-05 00:21:29 +01:00
scrawl
bb1f23875d Merge branch 'terrainfix' into graphics 2013-02-04 23:16:11 +01:00
scrawl
596628d339 Fix terrain derived data update (bug 534, bug 544) 2013-02-04 23:13:01 +01:00
scrawl
0f37c24d5f Merge branch 'master' of git://github.com/zinnschlag/openmw into graphics 2013-02-04 21:55:41 +01:00
scrawl
bf037b7d29 Removed problematic ModVertexAlpha method, now done in shader 2013-02-04 18:03:03 +01:00
scrawl
fa07288b15 tweaked map light color 2013-02-03 20:29:50 +01:00
scrawl
5cc8af0f14 fix map positions 2013-02-03 20:06:03 +01:00
scrawl
a44dfcd2ac Now that refraction is separated out, we don't have to worry about rendering order. Should fix transparency blending issues around water (eg waterfalls) for good. 2013-02-03 19:28:31 +01:00
scrawl
979a874220 Fixed the custom near clip planes 2013-02-03 19:01:59 +01:00
scrawl
5334934612 Listen to render window updates and properly activate/deactivate occlusion queries pre/post update. 2013-02-03 18:03:09 +01:00
scrawl
15e51b76de Experimental: Directional shading on local map, separated out refraction render, no longer uses screen depth 2013-02-03 15:46:23 +01:00
Chris Robinson
23acf4b130 Don't break right away when the animation time remaining is 0 2013-02-03 01:38:42 -08:00
Chris Robinson
60a75cb5ee Make sure to keep the character preview animation updated 2013-02-03 00:54:50 -08:00
Chris Robinson
c23a96d606 Run an aniamtion update after "playing" the inventory idle
This is so all the NPC parts get updated correctly.
2013-02-02 06:08:03 -08:00
Chris Robinson
fc7590694d Revert "Revert "Use a child scene node for the accumulation root""
This reverts commit 376dfed15b.

I was wrong. It's needed at least for NPCs since they're attaching multiple
animated skeletons to an object, and they all need to be offset correctly.

Would be nice to use a Node, Bone, or TagPoint instead of a hefty SceneNode,
though.
2013-02-02 05:43:37 -08:00
Chris Robinson
7f87c1873b Use an array to store the entity parts 2013-02-02 02:53:22 -08:00
scrawl
a461b282c1 water ripples (experimental) 2013-02-01 23:43:23 +01:00
Chris Robinson
376dfed15b Revert "Use a child scene node for the accumulation root"
This reverts commit d6f923f274.

We don't need it for any of the NIFs we're currently handling. As long as
there's no NIF files that would break it, we should require a stationary root
if an animation wants to accumulate. If we must, a better idea may be to inject
an extra bone into the skeleton instance and make that the accumulation root.
2013-02-01 08:50:32 -08:00
scrawl
3ec703e6af Merge branch 'master' of git://github.com/zinnschlag/openmw into graphics 2013-02-01 16:25:54 +01:00
Chris Robinson
d6f923f274 Use a child scene node for the accumulation root 2013-01-30 22:28:18 -08:00
Chris Robinson
b6354c6282 Don't share skeleton instances between bounded parts on an NPC
However, a skeleton instance will still be shared between entities in an entity
list.
2013-01-30 09:29:16 -08:00
Chris Robinson
5c3a7f7d52 Avoid handling animation states
We don't need them anymore
2013-01-30 07:34:07 -08:00
Chris Robinson
360f7bfac8 Apply animations to bones manually
Couple reasons for this:

* This paves the way for allowing animations specified in other skeletons to
be applied to the character (NPCs and certain creatures can have multiple
animation sources, but Ogre is incredibly strict when it comes to sharing
animations between skeletons).

* It will allow for entities to be animated based on the character's skeleton,
without having to duplicate the mesh for each skeleton it can be used on.

This doesn't impact Ogre's ability to efficiently deform skinned meshes, nor
does it get in the way of hardware skinning.
2013-01-30 07:04:18 -08:00
Chris Robinson
600d3bf9eb Make sure the player node's visibility cascades 2013-01-30 02:38:50 -08:00
Chris Robinson
99efe4e494 Remove an unnecessary class member 2013-01-29 01:02:55 -08:00
Chris Robinson
879359f39d Set the animation state loop flag as appropriate 2013-01-29 00:50:52 -08:00
Chris Robinson
92d0c55f32 Add a flag to specify if an animation should be playing 2013-01-29 00:43:42 -08:00
Chris Robinson
7df4d0d19f Remove an unnecessary cast 2013-01-28 21:41:51 -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
Mark Siewert
dca8dc4fdb Merge remote-tracking branch 'upstream/master' into multiple_esm_esp
Conflicts:
	apps/openmw/engine.cpp
	apps/openmw/mwworld/cellstore.cpp
	apps/openmw/mwworld/store.hpp
	apps/openmw/mwworld/worldimp.cpp
	apps/openmw/mwworld/worldimp.hpp
	components/esm/esmreader.hpp

- Quick hack: OMW::Engine::prepareEngine only loads translation data for the first master file.
2013-01-25 18:22:01 +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
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
Mark Siewert
713d324eeb - Minor code cleanup 2013-01-20 19:07:33 +01:00
Chris Robinson
85ca1e993f Properly check if an animation exists before playing it 2013-01-19 21:55:04 -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
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
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
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
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