Commit Graph

267 Commits (master)

Author SHA1 Message Date
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