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