Skip to content
Snippets Groups Projects
Commit f36a9dfc authored by Shon Ferguson's avatar Shon Ferguson
Browse files

Managed to fix the structure generation.

Moved all generated files to gen sub directory.
Renamed some generated files.
parent f139cab3
No related branches found
No related tags found
No related merge requests found
File moved
File moved
File moved
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for licence. */
#include "AVObject.h"
#include "obj/NiAVObject.h"
//Constructor
AVObject::AVObject() : object(NULL) {};
//Destructor
AVObject::~AVObject() {};
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for licence. */
#ifndef _AVOBJECT_H_
#define _AVOBJECT_H_
#include "NIF_IO.h"
#include "Ref.h"
//Forward Declarations
class NiAVObject;
/*!
* Used in NiDefaultAVObjectPalette.
*/
struct AVObject {
/*! Default Constructor */
AVObject();
/*! Default Destructor */
~AVObject();
/*!
* Object name.
*/
string name;
/*!
* Object reference.
*/
NiAVObject * object;
};
#endif
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for licence. */
#include "Bones.h"
#include "obj/NiNode.h"
//Constructor
Bones::Bones() : numBones((uint)0) {};
//Destructor
Bones::~Bones() {};
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for licence. */
#ifndef _BONES_H_
#define _BONES_H_
#include "NIF_IO.h"
#include "Ref.h"
//Forward Declarations
class NiNode;
/*!
* This is a list of bone influences. It points to blocks higher in the
* hierarchy so ints are used to represent the indices.
*/
struct Bones {
/*! Default Constructor */
Bones();
/*! Default Destructor */
~Bones();
/*!
* The number of node bones referenced as influences.
*/
uint numBones;
/*!
* Block indicies of the bones.
*/
vector<NiNode * > bones;
};
#endif
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for licence. */
#include "BoundingBox.h"
//Constructor
BoundingBox::BoundingBox() : unknownInt((uint)1) {};
//Destructor
BoundingBox::~BoundingBox() {};
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for licence. */
#ifndef _BOUNDINGBOX_H_
#define _BOUNDINGBOX_H_
#include "NIF_IO.h"
/*!
* Bounding box.
*/
struct BoundingBox {
/*! Default Constructor */
BoundingBox();
/*! Default Destructor */
~BoundingBox();
/*!
* Usually 1.
*/
uint unknownInt;
/*!
* Translation vector.
*/
Vector3 translation;
/*!
* Rotation matrix.
*/
Matrix33 rotation;
/*!
* Radius, per direction.
*/
Vector3 radius;
};
#endif
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for licence. */
#include "ByteArray.h"
//Constructor
ByteArray::ByteArray() : dataSize((uint)0), unknownInt((uint)0) {};
//Destructor
ByteArray::~ByteArray() {};
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for licence. */
#ifndef _BYTEARRAY_H_
#define _BYTEARRAY_H_
#include "NIF_IO.h"
/*!
* An array of bytes.
*/
struct ByteArray {
/*! Default Constructor */
ByteArray();
/*! Default Destructor */
~ByteArray();
/*!
* The number of bytes in this array
*/
uint dataSize;
/*!
* Unknown.
*/
uint unknownInt;
/*!
* The bytes which make up the array
*/
vector<byte > data;
};
#endif
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for licence. */
#include "ControllerLink.h"
#include "obj/NiInterpolator.h"
#include "obj/NiObject.h"
#include "obj/NiObject.h"
#include "obj/NiStringPalette.h"
//Constructor
ControllerLink::ControllerLink() : interpolator(NULL), unknownLink1(NULL), unknownLink2(NULL), unknownShort0((ushort)0), priority_((byte)0), stringPalette(NULL), nodeNameOffset((uint)0), propertyTypeOffset((uint)0), controllerTypeOffset((uint)0), variableOffset1((uint)0), variableOffset2((uint)0) {};
//Destructor
ControllerLink::~ControllerLink() {};
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for licence. */
#ifndef _CONTROLLERLINK_H_
#define _CONTROLLERLINK_H_
#include "NIF_IO.h"
#include "Ref.h"
//Forward Declarations
class NiInterpolator;
class NiObject;
class NiObject;
class NiStringPalette;
/*!
* In a .kf file, this links to a controllable block, via its name (or
* for version 10.2.0.0 and up, a link and offset to a NiStringPalette
* that contains the name), and a sequence of interpolators that apply to
* this controllable block, via links.
*/
struct ControllerLink {
/*! Default Constructor */
ControllerLink();
/*! Default Destructor */
~ControllerLink();
/*!
* Name of a controllable block in another NIF file.
*/
string name;
/*!
* Link to an interpolator.
*/
Ref<NiInterpolator > interpolator;
/*!
* Unknown link. Usually -1.
*/
Ref<NiObject > unknownLink1;
/*!
* Unknown.
*/
Ref<NiObject > unknownLink2;
/*!
* Unknown.
*/
ushort unknownShort0;
/*!
* Idle animations tend to have low values for this, and blocks that have
* high values tend to correspond with the important parts of the
* animation. WARNING: BREAKS CIV4 NIF FILES! Only observed in Oblivion
* NIF files so far.
*/
byte priority_;
/*!
* Refers to the NiStringPalette which contains the name of the
* controlled block.
*/
Ref<NiStringPalette > stringPalette;
/*!
* The name of the animated node.
*/
string nodeName;
/*!
* Offset in the string palette where the name of the controlled node
* (NiNode, NiTriShape, ...) starts.
*/
uint nodeNameOffset;
/*!
* Name of the property (NiMaterialProperty, ...), if this controller
* controls a property.
*/
string propertyType;
/*!
* Offset in the string palette where the property (NiMaterialProperty,
* ...) starts, if this controller controls a property. Otherwise, -1.
*/
uint propertyTypeOffset;
/*!
* Probably the block type name of the controller in the NIF file that is
* child of the controlled block.
*/
string controllerType;
/*!
* Apparently the offset in the string palette of some type of controller
* related to Interpolator (for example, a 'NiTransformInterpolator' will
* have here a 'NiTransformController', etc.). Sometimes the type of
* controller that links to the interpolator. Probably it refers to the
* controller in the NIF file that is child of the controlled block, via
* its type name.
*/
uint controllerTypeOffset;
/*!
* Some variable string (such as 'SELF_ILLUM', '0-0-TT_TRANSLATE_U',
* 'tongue_out', etc.).
*/
string variable1;
/*!
* Offset in the string palette where some variable string starts (such
* as 'SELF_ILLUM', '0-0-TT_TRANSLATE_U', 'tongue_out', etc.). Usually,
* -1.
*/
uint variableOffset1;
/*!
* Another variable string, apparently used for particle system
* controllers.
*/
string variable2;
/*!
* Offset in the string palette where some variable string starts (so far
* only 'EmitterActive' and 'BirthRate' have been observed in official
* files, used for particle system controllers). Usually, -1.
*/
uint variableOffset2;
};
#endif
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for licence. */
#include "Footer.h"
#include "obj/NiAVObject.h"
//Constructor
Footer::Footer() : numRoots((uint)0) {};
//Destructor
Footer::~Footer() {};
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for licence. */
#ifndef _FOOTER_H_
#define _FOOTER_H_
#include "NIF_IO.h"
#include "Ref.h"
//Forward Declarations
class NiAVObject;
/*!
* The NIF file footer.
*/
struct Footer {
/*! Default Constructor */
Footer();
/*! Default Destructor */
~Footer();
/*!
* The number of root references.
*/
uint numRoots;
/*!
* List of root blocks. If there is a camera, for 1st person view, then
* this block is referred to as well in this list, even if it is not a
* root block (usually we want the camera to be attached to the Bip Head
* node).
*/
vector<Ref<NiAVObject > > roots;
};
#endif
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for licence. */
#include "FurniturePosition.h"
//Constructor
FurniturePosition::FurniturePosition() : unknownShort((ushort)0), positionRef1_((byte)0), positionRef2_((byte)0) {};
//Destructor
FurniturePosition::~FurniturePosition() {};
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for licence. */
#ifndef _FURNITUREPOSITION_H_
#define _FURNITUREPOSITION_H_
#include "NIF_IO.h"
/*!
* Describes a furniture position?
*/
struct FurniturePosition {
/*! Default Constructor */
FurniturePosition();
/*! Default Destructor */
~FurniturePosition();
/*!
* Unknown. Position?
*/
Vector3 unknownVector;
/*!
* Unknown.
*/
ushort unknownShort;
/*!
* This might refer to a furnituremarkerxx.nif file.
*/
byte positionRef1_;
/*!
* This might also refer to a furnituremarkerxx.nif file.
*/
byte positionRef2_;
};
#endif
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for licence. */
#include "Header.h"
//Constructor
Header::Header() : version((uint)0x04000002), endianType((byte)1), userVersion((uint)0), numBlocks((uint)0), unknownInt1((uint)0), unknownInt3((uint)0), numBlockTypes((ushort)0), unknownInt2((uint)0) {};
//Destructor
Header::~Header() {};
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for licence. */
#ifndef _HEADER_H_
#define _HEADER_H_
#include "NIF_IO.h"
#include "gen/ShortString.h"
#include "gen/ShortString.h"
#include "gen/ShortString.h"
/*!
* The NIF file header.
*/
struct Header {
/*! Default Constructor */
Header();
/*! Default Destructor */
~Header();
/*!
* 'NetImmerse File Format x.x.x.x' (versions <= 10.0.1.2) or 'Gamebryo
* File Format x.x.x.x' (versions >= 10.1.0.0), with x.x.x.x the version
* written out. Ends with a newline character (0x0A).
*/
HeaderString headerString;
/*!
* The NIF version, in hexadecimal notation: 0x04000002, 0x0401000C,
* 0x04020002, 0x04020100, 0x04020200, 0x0A000100, 0x0A010000,
* 0x0A020000, 0x14000004, ...
*/
uint version;
/*!
* Determines the endian-ness of the data. 1 = little endian (default) 0
* = big endian
*/
byte endianType;
/*!
* An extra version number, for companies that decide to modify the file
* format.
*/
uint userVersion;
/*!
* Number of file blocks.
*/
uint numBlocks;
/*!
* Unknown.
*/
uint unknownInt1;
/*!
* Unknown.
*/
uint unknownInt3;
/*!
* Could be the name of the creator of the NIF file?
*/
ShortString creator_;
/*!
* Unknown. Can be something like 'TriStrip Process Script'.
*/
ShortString exportType_;
/*!
* Unknown. Possibly the selected option of the export script. Can be
* something like 'Default Export Script'.
*/
ShortString exportScript_;
/*!
* Number of block types in this NIF file.
*/
ushort numBlockTypes;
/*!
* List of all block types used in this NIF file.
*/
vector<string > blockTypes;
/*!
* Maps file blocks on their corresponding type: first file block is of
* type block_types[block_type_index[0]], the second of
* block_types[block_type_index[1]], etc.
*/
vector<ushort > blockTypeIndex;
/*!
* Unknown.
*/
uint unknownInt2;
};
#endif
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for licence. */
#include "KeyGroup.h"
//Constructor
template <class T >
KeyGroup<T>::KeyGroup() : numKeys((uint)0), interpolation((KeyType)0) {};
//Destructor
template <class T >
KeyGroup<T>::~KeyGroup() {};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment