1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-11 00:39:59 +00:00
Commit Graph

369 Commits

Author SHA1 Message Date
scrawl
6d27ebabb6 Integrate AddGlow with material controllers 2013-12-26 20:53:45 +01:00
scrawl
19e5978a01 Merge branch 'master' of https://github.com/zinnschlag/openmw
Conflicts:
	apps/openmw/main.cpp
2013-12-16 13:35:31 +01:00
scrawl
0c3c3ed8e9 Fix wind gravity affector 2013-12-11 15:15:30 +01:00
Marc Zinnschlag
77a2179d1e Merge remote-tracking branch 'scrawl/master' 2013-12-09 18:39:34 +01:00
scrawl
57a33c957e Add possibly missing include 2013-12-09 14:26:08 +01:00
scrawl
37a7ee8fcd Set alpha value of character animations according to Invisibility / Chameleon effects. 2013-12-08 23:05:21 +01:00
scrawl
9fcb4fad5c Implement NiFlipController 2013-12-08 18:51:56 +01:00
scrawl
51a9f0111c Implement NiAlphaController and NiMaterialColorController 2013-12-08 16:38:13 +01:00
scrawl
1624e0fd8a Rename ObjectList to ObjectScene. Wrap it in a SharedPtr so we can automate the destruction routine. 2013-12-07 20:15:39 +01:00
Marc Zinnschlag
ef8c0fab73 Merge remote-tracking branch 'scrawl/master' 2013-12-07 16:26:52 +01:00
scrawl
c5e543b91b Implement NiGeomMorpherController 2013-12-07 14:10:33 +01:00
Marc Zinnschlag
07f692bdd2 Merge remote-tracking branch 'scrawl/master' 2013-12-05 16:04:50 +01:00
scrawl
062ea627b3 Add parallax mapping for objects 2013-12-05 15:51:07 +01:00
Alexander "Ace" Olofsson
47c60a7037 Fix C4716 (Must return a value) error on Windows MSVC 2013-12-04 21:48:25 +01:00
scrawl
6b81fd78f1 Particle improvements: Handle LocalSpace flag. Attach particle systems to the base node, since they need to be relative to that when LocalSpace is enabled. Get the bone in emitters/affectors so that resulting particle positions are the same. TODO: Fix Controllers to affect particle systems. 2013-11-25 13:50:33 +01:00
scrawl
7fd5f1df83 Change setKeepParticlesInLocalSpace to false. Not correct for all particles, but the opposite isn't either. Plus it breaks pretty much all magic VFX. 2013-11-17 23:31:08 +01:00
scrawl
ffdb91bb21 Add particles for Cast + Hit. Not looking quite right yet. 2013-11-11 23:43:28 +01:00
scrawl
636d399c7f Refactored Ogre initialisation into a component 2013-10-30 14:04:33 +01:00
Chris Robinson
57fb065a86 Add Ogre::Light objects to the object list
Note that NIFs actually have NiLight-based light records which could be
used to create Ogre::Light objects. However, no Morrowind NIF uses them,
as far as I can tell.
2013-08-06 19:49:01 -07:00
Chris Robinson
b7e81dbc5b Ignore controllers on the root NiNode
I wonder if we should ignore the root NiNode completely.
2013-07-28 04:20:33 -07:00
Chris Robinson
8e24cab935 Strip trailing whitespace from textkeys 2013-07-24 23:21:19 -07:00
Chris Robinson
eb4daaf512 Build a skeleton for Nifs that have a matching .kf file 2013-05-08 01:03:57 -07:00
Chris Robinson
bf94ffb839 Only support NiSequenceStreamHelper as a Kf root
Newer versions of the Nif foramt may have other record types, but we don't
support those.
2013-05-07 18:26:22 -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
Chris Robinson
6a3ba41170 Don't store camera nodes, we don't need them. 2013-05-06 21:46:11 -07:00
Chris Robinson
68a9a4de5f Fix setting and getting KeyframeController transforms 2013-04-24 04:12:27 -07:00
Chris Robinson
26cc86ffdc Use the Nif node's transform for skinned fixups 2013-04-24 00:42:45 -07:00
Chris Robinson
6f0b9a5f2c Avoid unnecessary multimap copies 2013-04-23 21:42:59 -07:00
Chris Robinson
512ff3687a Don't create Ogre animations for skeletons 2013-04-23 20:42:54 -07:00
Chris Robinson
634b0fd067 Fix for controller delta time going below start time 2013-04-23 17:57:40 -07:00
Chris Robinson
020bc410bf Merge remote-tracking branch 'zini/master' into nifogre 2013-04-23 16:57:59 -07:00
scrawl
44ac0a7c18 Use one vertex buffer for all UV coordinates 2013-04-23 22:47:57 +02:00
Chris Robinson
adc6a948c7 Add methods to get the rotation, translation, and scale from a NodeTargetValue 2013-04-22 03:41:38 -07:00
Chris Robinson
59137d93c9 Partially handle NiGeomMorpherController
The morphs aren't actually applied yet, but the Ogre controller is set up so
all that has to be done is to implement the setValue method.
2013-04-22 03:24:02 -07:00
Chris Robinson
d936291dbf Remove an unused ostream operator<< 2013-04-22 02:53:32 -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
ace7d647e5 Add a method to apply a NodeTargetValue-based controller to a specified node. 2013-04-20 15:35:19 -07:00
Chris Robinson
f37a71f025 Use a separate method to build node-based controllers 2013-04-19 23:56:47 -07:00
Chris Robinson
3def2a0f45 Treat the particle random values as the max differential 2013-04-16 19:16:45 -07:00
Chris Robinson
36170c5374 Use flag enums instead of hard-coded hex values 2013-04-16 01:20:32 -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
7000a1aa3e Add a ParticleSystemController 2013-04-14 13:50:55 -07:00
Chris Robinson
bf8bc989fc Recognize and partly handle NiBSParticleNode 2013-04-14 12:52:20 -07:00
Chris Robinson
f4695ec4ac Cleanup NIFObjectLoader some 2013-04-14 00:06:40 -07:00
Chris Robinson
acb1b5f002 Try to handle NiBSAnimationNode
This is still incomplete guess work. Currently it seems as though flag 0x20
specifies whether the controllers auto-play (if on), rather than follow the
object's animation time.
2013-04-13 22:54:32 -07:00
Chris Robinson
0b363ba36e Handle NiParticleColorModifier with Ogre's ColourInterpolator
Note that Ogre's ColourInterpolator has a maximum of six color stages. This
seems to be fine so far, but if we want anything better, we'll need a custom
affector for it.
2013-04-13 16:42:32 -07:00
Chris Robinson
80a4345787 Keep particles in local space 2013-04-13 16:26:34 -07:00
Chris Robinson
dd981077b9 Handle the vertical and horizontal parameters of Nif particles
Note that 'horizontal' is mapped to rotate around the Z axis, not Y. The Nif
particle parameters seem to be set up to expect a normal OpenGL (Direct3D?)
orientation, rather than the 90-degree pitch offset of the game.
2013-04-13 16:16:57 -07:00