Commit Graph

199 Commits (0.7.0)

Author SHA1 Message Date
scrawl 45d2a00717 Fixes #1293: Allow interpolation type 0 in case of 0 keys 11 years ago
Bret Curtis ab224f93c9 remove our stdint.h version that uses boost and force usage of system stdint.h 11 years ago
scrawl bbd15b185d Skip inactive controllers. Fixes those bloody bone boots again. 11 years ago
scrawl 254eba350e Not handling interpolation type should be an error, since it will fail reading the next record if it hasn't read the previous one completely. 11 years ago
scrawl 5931fdcbde Implement NiBillboardNode. Flags not handled yet. 11 years ago
scrawl 9fcb4fad5c Implement NiFlipController 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
Xethik 9f533dbbe4 Fixed "most vexing parse" issue. 11 years ago
Chris Robinson fb0ee7f2fc Improve constness of the Nif RecordPtr structs 12 years ago
Chris Robinson 4cedf0fbab Avoid colliding with AvoidNodes
These are placed under the RootCollisionNode hierarchy, but the shapes they
hold aren't collided with. Their exact function is unknown, but seems to be
related to lava? Maybe damage avoidance info for the AI.
12 years ago
Chris Robinson 1051fa51a7 Recognize NiFlipController 12 years ago
Chris Robinson 36170c5374 Use flag enums instead of hard-coded hex values 12 years ago
Chris Robinson bf8bc989fc Recognize and partly handle NiBSParticleNode 12 years ago
Chris Robinson d26ffe9de0 Move a method to the Node class 12 years ago
Chris Robinson 3970407772 Use actual classes for properties 12 years ago
Chris Robinson 6c6750342c Specified particle size is actually the radius 12 years ago
Chris Robinson 23097ac9dc Minor cleanup of NiMorphData 12 years ago
Chris Robinson c6c67a1bb4 Read NiGravity fields 12 years ago
Chris Robinson ebcb4c66c3 Properly read and use the NIF root record list 12 years ago
Chris Robinson f764f243d2 Fix the particle quota 12 years ago
Chris Robinson 41ce5464c9 Recognize NiBSAnimationNode as a record type
And don't warn about animated nodes without textkeys
12 years ago
Chris Robinson bf0ae3ae72 Read NiVisData info 12 years ago
Chris Robinson ac10c5f05c Even more particle information 12 years ago
Chris Robinson 2f6ae4a915 Read more particle information 12 years ago
Chris Robinson ee0a20f9ce Read some missing particle data from NIFs 12 years ago
scrawl a9b56eedc3 Support NIF "glow maps", which are basically an emissive channel. 12 years ago
scrawl 5625d73d84 Bump texture support 12 years ago
Nathan Jeffords d3c1f5e7b2 renamed low-level NIF related files and include guards to conform to naming convention 12 years ago
Nathan Jeffords 0ed2015319 refactored NIFFile parse to get better code/data seperation 12 years ago
Nathan Jeffords 6de6d9ff6e Factored a NIFStream class out of the NIFFile class.
Split NIFFile into two parts, NIFFile which is cached and is a container
for a parsed NIF, and NIFStream which is a class specialized for parsing
NIFs. This required a semi-sweeping change to make all record classes
accept a NIFStream instead of a NIFFile as an agurment to their read
functions.
12 years ago
Chris Robinson 2786cc67f6 Fix loading empty NiTriShapeData records 12 years ago
Sergey Shambir 03ca7f6123 NIF: added NiStencilProperty record handling
NiStencilProperty appears in Better Clothes plugin. If it not handled,
some parts of NPCs bodies will be not rendered.
12 years ago
greye 82595e66b2 another missing header for #576 12 years ago
Chris Robinson b23fcb260c Use the record index for finding the NiTriShape instead of the name 12 years ago
Chris Robinson 660d73fd88 Store the NIF index in the Record object 12 years ago
scrawl 31e6d28b19 Close NIF file resource after loading it into memory 12 years ago
Nathan Jeffords d5ebd6654d cache loaded NIF files to eliminate reloads
Created a NIF file caching mechanism to prevent the system from
reloading a NIF during a startup and cell changes.
12 years ago
Nathan Jeffords 0989b44b41 spread some const around NIF loading 12 years ago
Marc Zinnschlag d684b3ae11 fixed getString function in NIF loader 12 years ago
Marc Zinnschlag dbcd4a8b5b compatibility fix 13 years ago
Edmondo Tommasina 20deb97a09 nif_file.hpp: add stdint.h include to fix build
It fixes such compile errors as:
* error: ‘uint8_t’ does not name a type
* error: ‘uint16_t’ does not name a type
* error: ‘uint32_t’ does not name a type
13 years ago
Edmondo Tommasina 32b167ce2b Revert "nif_file.hpp: include type definitions to fix build"
This reverts commit b0b3ebe123.
13 years ago
Edmondo Tommasina b0b3ebe123 nif_file.hpp: include type definitions to fix build 13 years ago
Chris Robinson 6047dc6a0c Merge remote branch 'zini/master' into nif-cleanup
Conflicts:
	apps/openmw/mwrender/animation.cpp
	apps/openmw/mwrender/animation.hpp
	apps/openmw/mwrender/creatureanimation.cpp
	apps/openmw/mwrender/npcanimation.cpp
	apps/openmw/mwrender/npcanimation.hpp
	components/nifogre/ogre_nif_loader.hpp
13 years ago
guidoj 0549e949ba Mostly removal of unnecessary #include's and a little clean up 13 years ago
Chris Robinson 63e40d6e92 Fix world transform calculation 13 years ago
Chris Robinson b1f7fd9f7b Pre-transform the mesh vertices when there's no skinning or skeleton 13 years ago
Chris Robinson 61f32eca77 Add methods to get a node's local and full transform as a 4x4 matrix 13 years ago
Chris Robinson 9caa264074 Merge remote branch 'zini/master' into nif-cleanup 13 years ago
scrawl 5345d4eeef fix a warning 13 years ago
Chris Robinson 5a381006e5 Fix parsing of some key lists
It seems some still want you to read the interpolation type even when there's
no keys.
13 years ago
Chris Robinson 9436ca4b0c Use vectors for ShapeData properties 13 years ago
Chris Robinson ecdd4ee23f Load NiMorphData and NiKeyframeData using proper key lists 13 years ago
Chris Robinson 386ac56bda Remove the NIF loader and code to manually transform the vertices
This currently breaks just about everything. They should come back as it's all
reimplemented, though.
13 years ago
Chris Robinson 9995dff943 Use a key list for NiColorData 13 years ago
Chris Robinson 3f11b6b1ae Cleanup a couple unneeded misc component references 13 years ago
Chris Robinson 86b37c6c11 Move the velocity out of the transformation object 13 years ago
Chris Robinson b292665de9 Use key lists to store some NIF data types 13 years ago
Chris Robinson b7b9f11333 Add generic classes to help deal with NIF keys 13 years ago
Chris Robinson 645b507ba0 Return a reference to the RecordPtr from operator[] for consistency
RecordListT is supposed to be a list of RecordPtrT objects.
13 years ago
Chris Robinson 7e8c146de6 Constify some RecordListT methods 13 years ago
Chris Robinson 8e324c90dc Constify some RecordPtrT methods 13 years ago
Chris Robinson 395a7600fd Initialize identify transform when declaring the identity object 13 years ago
Chris Robinson dddf1b4ee5 Rename getMatrix->getMatrix3 and getVector->getVector3 13 years ago
Chris Robinson d30f64650a Make the read_* methods private and remove the generic load() methods 13 years ago
Chris Robinson 930459365b Rename getShort->getUShort and getByte->getChar 13 years ago
Chris Robinson 95b804a104 Remove NIFFile::getArrayLen 13 years ago
Chris Robinson ca37706b34 Use Ogre types for Matrix and Vector objects 13 years ago
Chris Robinson 10072f74b4 Remove NIFFile::getType 13 years ago
Chris Robinson b3aa453f9a Use Ogre data streams for loading NIFs 13 years ago
Chris Robinson 0143cacd2b Avoid returning pointers from NIFFile 13 years ago
Chris Robinson d3a31a24ce Use proper strings and vectors instead of slice arrays for NIF files
Slice arrays use pre-allocated pointers whose memory is managed externally. This is
unnecessary and ultimately detrimental since it prevents any kind of data fixup
(e.g. little endian to big endian, p[adding handling), and it also makes it difficult
to use Ogre data streams.
13 years ago
Chris Robinson d8d00123ea Watch for empty children node refs when setting parents 13 years ago
Chris Robinson 832247bff2 Merge remote branch 'zini/master' into nif-cleanup
Conflicts:
	components/nif/data.hpp
13 years ago
Marc Zinnschlag c85aaafac2 more include cleanup (most removing Ogre.h) 13 years ago
Chris Robinson 291599c609 Store the parents of NIF's nodes 13 years ago
Chris Robinson 046e9686f9 Cleanup RecordPtrT
This moves the index resolution into a separate post method instead of always
checking when access. As a result, it reduces the size of it down to the size
of a pointer, as opposed to 2 pointers + 1 int. The appropriate methods are
added to the various node types to make sure they're resolved.
13 years ago
Roman Melnik e6c55c144c Fix tabulation/formatting 13 years ago
Roman Melnik 6d33ad248d Fix memory leak in getIdentity method
Replace static pointer and new() operator with normal static variable
13 years ago
Roman Melnik ebc49de851 Fix Bug #1: "Meshes rendered with wrong orientation"
Discard the tranformation of the root NiNode when loading nif files
(set the 'identity' transformation instead).

After applying the fix test the following types of interiors:

 - Dwemer ruins (the bug was common here before the fix)

 - Ancestral tombs (the bug was common here before the fix)

 - Daedric shrines

 - Caves/grottos

 - Dunmer strongholds

 - Telvanni, imperial, redoran houses/towers/castles

Also checked exteriors (although it is hard to do without terrain
rendering)
13 years ago
Marc Zinnschlag 5b378e820d warning level adjustments and some related fixes 13 years ago
Lukasz Gromanowski 8829d46bda Clean up compilation warnings.
Clan up compilation warnings like "variable ... set but not used" introduced
in some older and recent commits.

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
13 years ago
Marc Zinnschlag 9b910dda94 clean up 13 years ago
Jason Hooks 0712bba49b Changing a few things around with handleshapes 13 years ago
Jason Hooks baa3f51886 Trying to fix errors 13 years ago
Jason Hooks cef2f5e927 Trying to get code to conform with older c++ 13 years ago
Jason Hooks 7bd911b401 Problems with handles 13 years ago
Jason Hooks e8ec9093f8 More NIFLoader code 13 years ago
Marc Zinnschlag 8446619ac4 Merge branch 'components_namespaces' into next
Conflicts:
	apps/openmw/mwrender/interior.cpp
	components/bsa/bsa_archive.cpp
14 years ago
Lukasz Gromanowski 90985e849e Mantis: #18 - Move components from global namespace into their own namespace.
Moving classes from components/misc into Misc namespace.

Note: Misc namespace introduced conflict with ESM::Misc and MWClass::Misc
classes, so both of them are renamed to ESM::Miscellaneous
and MWClass::Miscellaneous.

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
14 years ago
Marc Zinnschlag 0f2df4e2b8 more cleanup 14 years ago
Jason Hooks d035441876 Reintroducing animation 14 years ago
Jan-Peter Nilsson a94de76801 Whitespace changes only tabs->spaces and removal of traling space (including mangle and openengline) 14 years ago
gugus a8ade56c80 Add a bullet Shape Loader 14 years ago
Nicolay Korslund 0eae9d1504 Removed -Werror again 15 years ago
Nicolay Korslund e30306f7c3 Removed redundant custom exception class 15 years ago
athile 59a2e8dcf7 Merge upstream 15 years ago
athile 819c146ad1 Project clean-up: move 'misc' into the platform lib, update CMake to build 'platform' as a lib, and various fixes for Visual Studio compiler warnings 15 years ago
Marc Zinnschlag e4f85cb3e6 directory structure reorganisation (still missing the mangle stuff) 15 years ago