Commit Graph

37 Commits (03d377ec541de18d2b892e48f062cec70dfc0d70)

Author SHA1 Message Date
scrawl 9b27ec4945 Remove redundant and ambiguous NiNode::makeBone()
Ambiguous because a skeleton can have multiple skinned meshes, with their own bone weights/bind matrix each.
8 years ago
scrawl 3ebfb47983 Do not discard root node transformations if the root node is named 'bip01' (Bug #3118) 9 years ago
scrawl 626281977e Read NiLODNode (Bug #3008) 9 years ago
scrawl 236d628884 Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	apps/opencs/model/doc/document.cpp
	apps/opencs/model/doc/documentmanager.cpp
	components/CMakeLists.txt
	components/bsa/resources.cpp
	components/nif/data.hpp
	components/nif/node.cpp
	components/nifogre/mesh.hpp
	components/nifogre/ogrenifloader.cpp
	components/nifogre/particles.cpp
10 years ago
scrawl 46cbec9a4a Add skinning auto-detection in nifosg loader 10 years ago
dteviot 407cd50890 fixed warning C4099:
type name first seen using 'class' now seen using 'struct'
10 years ago
scrawl f6f37e02df NIF Transformation redundancy fix and include fixes 10 years ago
scrawl 8c10d4badb NIF reader compiles without Ogre 10 years ago
scrawl b650338d69 Implement drawMode of NiStencilProperty (Feature #1057) 10 years ago
Arthur Moore 38bcff2622 Moved base NIF classes into a separate file.
This resolves the dependency mess, and makes things more readable.
The dependency tree for nif records now looks like this:
Record.hpp
--base.hpp
----controlled.hpp
----controller.hpp
----data.hpp
----effect.hpp
----extra.hpp
----node.hpp

Node.hpp has many extra dependencies because nifogre only includes it instead of each of these files.
That should be fixed.
10 years ago
Arthur Moore 8be6aefd95 Moved functions from niffile.cpp to where they belong.
Also cleaned up some #includes

Removed a few asserts.  Vector already throws an out_of_range error.
11 years ago
scrawl bbd15b185d Skip inactive controllers. Fixes those bloody bone boots again. 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
Chris Robinson 36170c5374 Use flag enums instead of hard-coded hex values 12 years ago
Chris Robinson d26ffe9de0 Move a method to the Node class 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 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
Nathan Jeffords 0989b44b41 spread some const around NIF loading 12 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 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 86b37c6c11 Move the velocity out of the transformation object 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 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 ca37706b34 Use Ogre types for Matrix and Vector objects 13 years ago
Chris Robinson 10072f74b4 Remove NIFFile::getType 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 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
Marc Zinnschlag 9b910dda94 clean up 13 years ago
Jason Hooks 0712bba49b Changing a few things around with handleshapes 13 years ago
Jason Hooks e8ec9093f8 More NIFLoader code 13 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