scrawl
7252cb63a6
Fix cppcheck issues
10 years ago
scrawl
4d6ebfb496
Allow KeyFrameControllers on the RootCollisionNode and its children (Bug #1934 )
10 years ago
Rohit Nirmal
e315a72582
Remove extra semicolons at the end of some lines.
10 years ago
scrawl
819234cdfe
Use rbegin() instead of --end()
10 years ago
scrawl
9809748eba
Store NIF keys mapped by time and use lower_bound for searches
10 years ago
scrawl
c2a91148f3
Implement multiple emitter nodes for NiBSPArrayController
...
The particles for the flame, frost and storm atronachs work correctly now.
11 years ago
scrawl
1a8acac40a
Share keyframe data in NIF resource ( Fixes #908 )
11 years ago
scrawl
2b407a9995
Refactor NIF cache
...
- Remove broken cache locking mechanism
This was supposed to unload NIFFiles after a cell transition completes, but it was never working due to a mistake on the line if (--sLockLevel), should have been if (--sLockLevel == 0). Repairing this would increase load times (NIF files would have to be reloaded more frequently), so just removed it for now.
- Decouple cache from NIFFile (now a new nifcache component)
- Add API for future background loading
- Provide a reliable way (SharedPtr) to hold on to loaded NIFFiles. This will be useful to avoid deep copies of keyframe and text key data, which is currently a performance bottleneck.
11 years ago
scrawl
83037a1a91
Move fast-forward of particle systems outside of OgreNifLoader ( Fixes #1830 )
...
Particle systems were being fast-forwarded before the skeleton base was attached, so particles without the LocalSpace flag would spawn at an incorrect position.
11 years ago
scrawl
6c6b3bd890
Remove extra setVisibilityFlags on SkelBase
...
SkelBase is already contained in mEntities.
11 years ago
MiroslavR
4d403ed747
Rename and move functions for texture path correction
11 years ago
Marc Zinnschlag
1e6d557089
Merge branch 'visibility'
11 years ago
Marc Zinnschlag
a25758c3b1
fixed visibility flags setting
11 years ago
scrawl
7dfb624ee2
Support loading text keys for objects without a skeleton
...
This means we can no longer map them to bone IDs, but they are unused anyway.
Required to load text keys from the default head models (such as Talk: Start/Stop and Blink: Start/Stop)
11 years ago
scrawl
1320ac6983
Ensure non-negative particle life time, add size assertion
11 years ago
scrawl
30be59c029
Implement auto-adjusting of particle emit rate
...
This makes ashcloud.nif and blightcloud.nif work properly.
11 years ago
scrawl
c69a311ad8
Disable lighting for particles
...
Fixes magic cast visuals being too dark depending on the environment.
11 years ago
scrawl
e51300989c
Handle NiBSPArrayController as alias for NiParticleSystemController
...
The differences (if any) are unknown.
NiBSPArrayController is used by the Atronach_Fire.nif model. Its particles are now visible, but they don't look right yet. Need to handle NiAutoNormalParticlesData?
11 years ago
megaton
50af9bc0d3
General perfomance optimizations.
11 years ago
scrawl
edb5a54092
Include some more required Ogre headers explicitely.
11 years ago
scrawl
2c0d46525b
Fast-forward particle systems to make cell loads less obvious.
11 years ago
scrawl
cf3812188f
Fix bounding box assertions due to negative particle life time
...
Other parts of the code could not deal with negative life times and produced negative particle sizes as a result (which Ogre could not handle)
11 years ago
scrawl
bbd15b185d
Skip inactive controllers. Fixes those bloody bone boots again.
11 years ago
scrawl
5b300c1052
Handle controllers for the root node. Fixes #1147 (incorrect dwemer crossbow rotation)
11 years ago
scrawl
305a471c5a
Fix VisController in ascended sleeper's death animation
11 years ago
scrawl
bd34b61f2a
Set all keyframe-controlled bones as manually controlled
11 years ago
scrawl
aa855e9524
Include some required Ogre headers explicitely
11 years ago
scrawl
4ad43fdf92
Closes #1088 : Quick&dirty fix for NIF filters not working properly with some mods
11 years ago
scrawl
29acc3f722
Fix particles being too small. Looks like this should actually be size*2.
11 years ago
scrawl
764ec9bc5f
Closes #716 : Use the particle controller's size instead of NiAutoNormalParticlesData particle radius. Same as NifSkope now.
11 years ago
scrawl
07a9b7623a
Enable skeleton-based bounding boxes added in Ogre 1.10
11 years ago
scrawl
c0dba2834b
Closes #855 : Don't try to look up bone if there's no skeleton
11 years ago
scrawl
6d47d710a0
Reimplement NiGeomMorpherController using Ogre's pose animation system
11 years ago
scrawl
a9526622b1
Particle improvements: particle systems now move with the particle bone, not the scene node. This difference is not noticable if the particle bone is static, but it makes the code *much* nicer and mirrors more closely what NifSkope does.
11 years ago
scrawl
9877db413c
Connect particle systems to the particle node, not the emitter node
11 years ago
scrawl
eab2c89346
Issue #983 : Fix controllers to affect objects attached to the base node
11 years ago
scrawl
5931fdcbde
Implement NiBillboardNode. Flags not handled yet.
11 years ago
scrawl
0c3c3ed8e9
Fix wind gravity affector
11 years ago
scrawl
37a7ee8fcd
Set alpha value of character animations according to Invisibility / Chameleon effects.
11 years ago
scrawl
9fcb4fad5c
Implement NiFlipController
11 years ago
scrawl
51a9f0111c
Implement NiAlphaController and NiMaterialColorController
11 years ago
scrawl
1624e0fd8a
Rename ObjectList to ObjectScene. Wrap it in a SharedPtr so we can automate the destruction routine.
11 years ago
scrawl
c5e543b91b
Implement NiGeomMorpherController
11 years ago
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.
11 years ago
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.
11 years ago
scrawl
ffdb91bb21
Add particles for Cast + Hit. Not looking quite right yet.
11 years ago
Chris Robinson
b7e81dbc5b
Ignore controllers on the root NiNode
...
I wonder if we should ignore the root NiNode completely.
12 years ago
Chris Robinson
8e24cab935
Strip trailing whitespace from textkeys
12 years ago
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.
12 years ago
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.
12 years ago