scrawl
60563afc10
Fix a new game crash, reset camera
2013-05-17 22:53:43 +02:00
Chris Robinson
e8bbb755c3
Play the left-arm torch animation when it's equipped
2013-05-17 06:21:59 -07:00
Chris Robinson
ee585046ac
Don't show weapons in first-person
2013-05-17 01:56:16 -07:00
Chris Robinson
71d39c2fa0
Merge remote-tracking branch 'zini/master' into animations
2013-05-15 06:36:06 -07:00
Chris Robinson
3c5c10144a
Remove a duplicate showWeapons call
2013-05-14 19:38:57 -07:00
Marc Zinnschlag
56b2b05f9a
Merge remote-tracking branch 'glorf/weather'
2013-05-14 22:56:26 +02:00
Glorf
39c7bc8363
Corrected celestical object sizes
2013-05-14 20:34:40 +02:00
Chris Robinson
355f653614
Use AnimationAlloc instead of AnimationAllocatedObject
2013-05-14 01:30:01 -07:00
Chris Robinson
47a9a4cdff
Clean up a for loop
2013-05-14 01:29:15 -07:00
scrawl
96e3b3b7c2
Fix a compile error, OGRE_NEW only works for classes derived from AllocatedObject
2013-05-13 21:03:53 +02:00
scrawl
ac4fa1941d
Fix the frame update not getting called on the first frame
2013-05-13 20:08:12 +02:00
Chris Robinson
f83ee5d316
Play ready/unready animations on the upper body
2013-05-13 03:32:00 -07:00
Chris Robinson
a9928bb842
Split up the UpperBody group
...
Also recognize the [un]equip start and stop text keys.
2013-05-13 02:09:22 -07:00
Chris Robinson
70dc2f77ad
Move the priority enum to MWMechanics
2013-05-13 00:54:44 -07:00
Chris Robinson
7ba2508556
add a priority for death animations, and store it in the state list
2013-05-12 19:19:21 -07:00
Chris Robinson
bbb38c61cc
Fix queued animations
2013-05-12 05:08:01 -07:00
Chris Robinson
3988866ecd
Make sure active groups are updated after a state is auto-disabled
2013-05-12 04:34:37 -07:00
Chris Robinson
2c556e4036
Be smarter about handling non-moving animations
...
Don't rely on being told by the play method, so the animation can
automatically change without impacting the character controller.
2013-05-12 04:29:42 -07:00
Chris Robinson
4ea347ac52
Use shared pointers to store animation sources
...
This ensures references to the sources stay valid as long it the object
is, rather than becoming invalidated whenever one is added or removed.
2013-05-11 19:38:23 -07:00
Chris Robinson
6b8a687a79
Add methods to disable an animation
...
And rename WeaponState to WeaponType
2013-05-10 22:22:39 -07:00
Chris Robinson
6605aa7dec
Create three bone groups
...
This still won't work as expected. Currently there is only one priority level,
and only one animation state per priority level can be active at a time.
It's close, though.
2013-05-10 20:45:09 -07:00
Chris Robinson
abc676eedd
Allow specifying which bone groups to play an animation on
2013-05-10 20:05:09 -07:00
Chris Robinson
56eede2610
Search more aggressively for an animation velocity
2013-05-10 19:31:33 -07:00
Chris Robinson
5a9c1e1245
Don't explicitly track the last position
2013-05-10 18:58:14 -07:00
Chris Robinson
7c3b014193
Figure out which animations to play based on priority
...
Bone group will also be taken into account later.
2013-05-10 18:37:44 -07:00
Chris Robinson
921f534980
Parameterize the number of bone groups
2013-05-10 16:35:43 -07:00
Chris Robinson
8a9b0eb5f7
Store the AnimSource in the animation state
2013-05-10 15:27:29 -07:00
Chris Robinson
58efce5008
Rename animation layers to animation states
2013-05-10 04:01:30 -07:00
Chris Robinson
ccff364b52
Use a map of active layers instead of an array
...
A bit of an upheaval. Each animation is now a "layer", instead of each layer
having an animation. Incidentally, this is much closer to how Ogre handles
animation states.
In the future, each layer will have a priority, which will be used to determine
which one affects a given bone group (which we currently only have one of).
2013-05-10 03:08:07 -07:00
Chris Robinson
d5490b0f8f
Fix an outdated comment
2013-05-09 23:07:50 -07:00
Chris Robinson
74ed1f73b4
Merge remote-tracking branch 'zini/master' into animations
2013-05-09 13:53:38 -07:00
Chris Robinson
8e38dc410f
Allow loading multiple animation sources
...
Animation sources are treated differently from base objects. When given
"path\file.nif", base objects will look for "path\xfile.nif" and use that
if it exists (falling back to the original name if not found). Animation
sources will instead use "path\xfile.kf", ignoring it if the file doesn't
exist.
2013-05-07 16:59:32 -07:00
scrawl
301efb411e
Fix exit crash
2013-05-07 19:15:28 +02:00
scrawl
8845c0cee1
Camera relative sky rendering. Now we no longer need to keep sky position in sync with camera.
2013-05-07 17:38:24 +02:00
Chris Robinson
e85bc8b2cd
Only load one Nif for Animation objects
...
This breaks quite a bit, but it's needed for the transition to using the
.kf files.
2013-05-06 23:11:26 -07:00
Chris Robinson
6a3ba41170
Don't store camera nodes, we don't need them.
2013-05-06 21:46:11 -07:00
Chris Robinson
90e29c83c0
Merge remote-tracking branch 'zini/master' into animations
...
Conflicts:
apps/openmw/mwmechanics/character.cpp
2013-05-06 19:17:39 -07:00
scrawl
062ff189a2
Merge branch 'master' into memory
2013-05-04 23:04:33 +02:00
scrawl
75dcf52552
Sync extern/shiny, set memory budgets for texture and mesh managers (however this has no effect yet and depends on changes in Ogre being made)
2013-05-03 13:55:57 +02:00
greye
a8b1706678
init pointer value to prevent segfault
2013-05-03 10:51:42 +04:00
kpp
dcccfd9f22
Initialize values
2013-05-02 22:43:21 +04:00
Chris Robinson
d01351431c
Merge remote-tracking branch 'zini/master' into animations
2013-04-30 19:27:55 -07:00
Chris Robinson
4b15da076b
Move getStateInfo into the character controller
2013-04-30 19:26:41 -07:00
scrawl
91c89e5db4
Use sphere cast instead of ray for camera distance adjustment; use the box orientation value in newtrace
2013-04-30 20:26:59 +02:00
Chris Robinson
020e3e8a8e
Show the equipped weapon in the inventory screen
...
And use the proper pose based on what's equipped.
2013-04-29 12:08:43 -07:00
Chris Robinson
854de1c6c1
Make sure the weapon is in the proper group
2013-04-29 11:43:37 -07:00
Chris Robinson
15a2eeebb8
Merge remote-tracking branch 'zini/master' into animations
...
Conflicts:
apps/openmw/mwworld/worldimp.cpp
2013-04-29 10:16:29 -07:00
Chris Robinson
063322b081
Declare some variables closer to where they're used
2013-04-29 10:12:50 -07:00
Chris Robinson
0cf531ba12
Make sure to update parts when the weapon changes
2013-04-29 09:53:36 -07:00
Chris Robinson
a15758ac85
Fix preview and vanity cameras
2013-04-29 08:48:45 -07:00
Chris Robinson
d17e1e83d5
Rename MWRender's Player to Camera
2013-04-29 05:50:40 -07:00
Chris Robinson
dbba126344
Use a method to check if the view should be first person
2013-04-29 04:40:28 -07:00
Chris Robinson
bb8277920b
Manage the player's NpcAnimation object in the RenderingManager
...
It may be more appropriate to manage it in MWRender::Actors with the other
Animation-based objects, but that will need some (minor) interface changes.
2013-04-29 03:31:46 -07:00
scrawl
9648804af5
Fix terrain material leak, this should in theory allow the terrain to free its temporary resources
2013-04-29 10:20:38 +02:00
Chris Robinson
ba3a67f84b
Don't store the player base node in MWRender::Player
2013-04-28 23:44:44 -07:00
Chris Robinson
24e503330b
Merge remote-tracking branch 'zini/master' into animations
2013-04-28 09:41:31 -07:00
gus
3d9ceede77
little fix (weapons disapeared when tab was pressed)
2013-04-28 12:33:41 +01:00
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