Skip to content
Snippets Groups Projects
Commit e6ede8c6 authored by Tazpn's avatar Tazpn
Browse files

niflib: synchronize to latest nif.xml

parent 9180d97b
No related branches found
No related tags found
No related merge requests found
Showing
with 1010 additions and 30 deletions
......@@ -79,6 +79,7 @@ OBJ_FILES = \
src/gen/OblivionSubShape.o \
src/gen/OldSkinData.o \
src/gen/Particle.o \
src/gen/ParticleDesc.o \
src/gen/physXMaterialRef.o \
src/gen/Polygon.o \
src/gen/QuaternionXYZW.o \
......@@ -388,6 +389,17 @@ OBJ_FILES = \
src/obj/NiWireframeProperty.o \
src/obj/NiZBufferProperty.o \
src/obj/RootCollisionNode.o \
src/obj/NiLightIntensityController.o \
src/obj/NiPortal.o \
src/obj/NiPSysAirFieldModifier.o \
src/obj/NiPSysDragFieldModifier.o \
src/obj/NiPSysFieldMagnitudeCtlr.o \
src/obj/NiPSysFieldModifier.o \
src/obj/NiPSysGravityFieldModifier.o \
src/obj/NiPSysTurbulenceFieldModifier.o \
src/obj/NiPSysVortexFieldModifier.o \
src/obj/NiRoom.o \
src/obj/NiRoomGroup.o \
src/RefObject.o \
src/Type.o \
TriStripper/connectivity_graph.o \
......
......@@ -32,8 +32,8 @@ struct OblivionSubShape {
* of this part in a linked body list.
*/
byte colFilter;
/*! Unknown. */
unsigned short unknownShort;
/*! Vertex Wielding Type? */
unsigned short wieldingType_;
/*! The number of vertices that form this sub shape. */
unsigned int numVertices;
/*! The material of the subshape. */
......
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for license. */
//---THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT---//
//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
#ifndef _PARTICLEDESC_H_
#define _PARTICLEDESC_H_
#include "../NIF_IO.h"
namespace Niflib {
/*! Particle Description. */
struct ParticleDesc {
/*! Default Constructor */
NIFLIB_API ParticleDesc();
/*! Default Destructor */
NIFLIB_API ~ParticleDesc();
/*! Copy Constructor */
NIFLIB_API ParticleDesc( const ParticleDesc & src );
/*! Copy Operator */
NIFLIB_API ParticleDesc & operator=( const ParticleDesc & src );
/*! Unknown. */
Vector3 translation;
/*! Unknown. */
array<3,float > unknownFloats1;
/*! Unknown. */
float unknownFloat1;
/*! Unknown. */
float unknownFloat2;
/*! Unknown. */
float unknownFloat3;
/*! Unknown. */
int unknownInt1;
};
}
#endif
......@@ -25,8 +25,8 @@ struct hkTriangle {
NIFLIB_API hkTriangle & operator=( const hkTriangle & src );
/*! The triangle. */
Triangle triangle;
/*! Another short, doesn't look like a vertex index. */
unsigned short unknownShort;
/*! Additional welding info computed when subshapes are in use. */
unsigned short weldingInformation_;
/*! This is the triangle's normal. */
Vector3 normal;
};
......
......@@ -671,8 +671,8 @@ struct Float4 {
NIFLIB_API Float4( float f1, float f2, float f3, float f4 ) {
data[0] = f1;
data[1] = f2;
data[3] = f3;
data[4] = f4;
data[2] = f3;
data[3] = f4;
}
/*! This constructor can be used to initialize this Float4 with a Vector4
......@@ -689,8 +689,8 @@ struct Float4 {
NIFLIB_API void Set( float f1, float f2, float f3, float f4 ) {
data[0] = f1;
data[1] = f2;
data[3] = f3;
data[4] = f4;
data[2] = f3;
data[3] = f4;
}
};
......
......@@ -101,16 +101,12 @@ public:
//--END CUSTOM CODE--//
protected:
/*! Unknown. 0,0,0,0 or 1,0,0,0. */
array<4,byte > unknown4Bytes;
/*! Point to calculate distance from for switching? */
Vector3 lodCenter;
/*! Number of levels of detail. */
mutable unsigned int numLodLevels;
/*! The ranges of distance that each level of detail applies in. */
vector<LODRange > lodLevels;
/*! Zero? */
unsigned short unknownShort;
/*! Refers to LOD level information, either distance or screen size based. */
Ref<NiLODData > lodLevelData;
public:
......
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for license. */
//-----------------------------------NOTICE----------------------------------//
// Some of this file is automatically filled in by a Python script. Only //
// add custom code in the designated areas or it will be overwritten during //
// the next update. //
//-----------------------------------NOTICE----------------------------------//
#ifndef _NILIGHTINTENSITYCONTROLLER_H_
#define _NILIGHTINTENSITYCONTROLLER_H_
//--BEGIN FILE HEAD CUSTOM CODE--//
//--END CUSTOM CODE--//
#include "NiFloatInterpController.h"
namespace Niflib {
class NiLightIntensityController;
typedef Ref<NiLightIntensityController> NiLightIntensityControllerRef;
/*! Unknown controller */
class NiLightIntensityController : public NiFloatInterpController {
public:
/*! Constructor */
NIFLIB_API NiLightIntensityController();
/*! Destructor */
NIFLIB_API virtual ~NiLightIntensityController();
/*!
* A constant value which uniquly identifies objects of this type.
*/
NIFLIB_API static const Type TYPE;
/*!
* A factory function used during file reading to create an instance of this type of object.
* \return A pointer to a newly allocated instance of this type of object.
*/
NIFLIB_API static NiObject * Create();
/*!
* Summarizes the information contained in this object in English.
* \param[in] verbose Determines whether or not detailed information about large areas of data will be printed out.
* \return A string containing a summary of the information within the object in English. This is the function that Niflyze calls to generate its analysis, so the output is the same.
*/
NIFLIB_API virtual string asString( bool verbose = false ) const;
/*!
* Used to determine the type of a particular instance of this object.
* \return The type constant for the actual type of the object.
*/
NIFLIB_API virtual const Type & GetType() const;
//--BEGIN MISC CUSTOM CODE--//
//--END CUSTOM CODE--//
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const;
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
};
//--BEGIN FILE FOOT CUSTOM CODE--//
//--END CUSTOM CODE--//
} //End Niflib namespace
#endif
......@@ -60,14 +60,14 @@ public:
//--BEGIN MISC CUSTOM CODE--//
//--END CUSTOM CODE--//
protected:
/*! Repeat of Vertex Count? */
unsigned int numVertices2;
/*! Unknown. Possible vertex count but probably not. */
unsigned int unknownInt2;
/*! Unknown. 0? */
byte unknownByte3;
/*! Unknown. 1? */
unsigned int unknownInt2;
/*! Repeat of Vertex Count? */
unsigned int numVertices3;
/*! Unknown. */
mutable unsigned int numUnknownInts1;
/*! Unknown integers */
vector<unsigned int > unknownInts1;
/*! Unknown NiNode. */
Ref<NiNode > unknownNode;
public:
......
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for license. */
//-----------------------------------NOTICE----------------------------------//
// Some of this file is automatically filled in by a Python script. Only //
// add custom code in the designated areas or it will be overwritten during //
// the next update. //
//-----------------------------------NOTICE----------------------------------//
#ifndef _NIPSYSAIRFIELDMODIFIER_H_
#define _NIPSYSAIRFIELDMODIFIER_H_
//--BEGIN FILE HEAD CUSTOM CODE--//
//--END CUSTOM CODE--//
#include "NiPSysFieldModifier.h"
namespace Niflib {
class NiPSysAirFieldModifier;
typedef Ref<NiPSysAirFieldModifier> NiPSysAirFieldModifierRef;
/*!
* Particle system modifier, used for controlling the particle velocity in a field
* like wind.
*/
class NiPSysAirFieldModifier : public NiPSysFieldModifier {
public:
/*! Constructor */
NIFLIB_API NiPSysAirFieldModifier();
/*! Destructor */
NIFLIB_API virtual ~NiPSysAirFieldModifier();
/*!
* A constant value which uniquly identifies objects of this type.
*/
NIFLIB_API static const Type TYPE;
/*!
* A factory function used during file reading to create an instance of this type of object.
* \return A pointer to a newly allocated instance of this type of object.
*/
NIFLIB_API static NiObject * Create();
/*!
* Summarizes the information contained in this object in English.
* \param[in] verbose Determines whether or not detailed information about large areas of data will be printed out.
* \return A string containing a summary of the information within the object in English. This is the function that Niflyze calls to generate its analysis, so the output is the same.
*/
NIFLIB_API virtual string asString( bool verbose = false ) const;
/*!
* Used to determine the type of a particular instance of this object.
* \return The type constant for the actual type of the object.
*/
NIFLIB_API virtual const Type & GetType() const;
//--BEGIN MISC CUSTOM CODE--//
//--END CUSTOM CODE--//
protected:
/*! Direction of the particle velocity */
Vector3 direction;
/*! Unknown */
float unknownFloat2;
/*! Unknown */
float unknownFloat3;
/*! Unknown */
bool unknownBoolean1;
/*! Unknown */
bool unknownBoolean2;
/*! Unknown */
bool unknownBoolean3;
/*! Unknown */
float unknownFloat4;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const;
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
};
//--BEGIN FILE FOOT CUSTOM CODE--//
//--END CUSTOM CODE--//
} //End Niflib namespace
#endif
......@@ -14,6 +14,9 @@ All rights reserved. Please see niflib.h for license. */
//--END CUSTOM CODE--//
#include "NiRotatingParticlesData.h"
// Include structures
#include "../gen/ParticleDesc.h"
namespace Niflib {
class NiPSysData;
......@@ -56,23 +59,15 @@ public:
//--END CUSTOM CODE--//
protected:
/*! Unknown. */
vector< array<10,float > > unknownFloats2;
vector<ParticleDesc > particleDescriptions;
/*! Unknown. */
bool hasUnknownFloats3;
/*! Unknown */
vector<float > unknownFloats3;
/*! Unknown. */
bool hasUnknownFloats4;
/*! Unknown. */
vector< array<4,float > > unknownFloats4;
/*! Unknown. */
vector< array<7,float > > unknownFloats5;
/*! Unknown. */
bool hasUnknownFloats6;
vector<float > unknownFloats3;
/*! Unknown. */
vector<float > unknownFloats6;
unsigned short unknownShort1;
/*! Unknown. */
unsigned int unknownInt1;
unsigned short unknownShort2;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
......
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for license. */
//-----------------------------------NOTICE----------------------------------//
// Some of this file is automatically filled in by a Python script. Only //
// add custom code in the designated areas or it will be overwritten during //
// the next update. //
//-----------------------------------NOTICE----------------------------------//
#ifndef _NIPSYSDRAGFIELDMODIFIER_H_
#define _NIPSYSDRAGFIELDMODIFIER_H_
//--BEGIN FILE HEAD CUSTOM CODE--//
//--END CUSTOM CODE--//
#include "NiPSysFieldModifier.h"
namespace Niflib {
class NiPSysDragFieldModifier;
typedef Ref<NiPSysDragFieldModifier> NiPSysDragFieldModifierRef;
/*!
* Particle system modifier, used for controlling the particle velocity in drag
* space warp.
*/
class NiPSysDragFieldModifier : public NiPSysFieldModifier {
public:
/*! Constructor */
NIFLIB_API NiPSysDragFieldModifier();
/*! Destructor */
NIFLIB_API virtual ~NiPSysDragFieldModifier();
/*!
* A constant value which uniquly identifies objects of this type.
*/
NIFLIB_API static const Type TYPE;
/*!
* A factory function used during file reading to create an instance of this type of object.
* \return A pointer to a newly allocated instance of this type of object.
*/
NIFLIB_API static NiObject * Create();
/*!
* Summarizes the information contained in this object in English.
* \param[in] verbose Determines whether or not detailed information about large areas of data will be printed out.
* \return A string containing a summary of the information within the object in English. This is the function that Niflyze calls to generate its analysis, so the output is the same.
*/
NIFLIB_API virtual string asString( bool verbose = false ) const;
/*!
* Used to determine the type of a particular instance of this object.
* \return The type constant for the actual type of the object.
*/
NIFLIB_API virtual const Type & GetType() const;
//--BEGIN MISC CUSTOM CODE--//
//--END CUSTOM CODE--//
protected:
/*! Whether to use the direction field? */
bool useDirection_;
/*! Direction of the particle velocity */
Vector3 direction;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const;
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
};
//--BEGIN FILE FOOT CUSTOM CODE--//
//--END CUSTOM CODE--//
} //End Niflib namespace
#endif
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for license. */
//-----------------------------------NOTICE----------------------------------//
// Some of this file is automatically filled in by a Python script. Only //
// add custom code in the designated areas or it will be overwritten during //
// the next update. //
//-----------------------------------NOTICE----------------------------------//
#ifndef _NIPSYSFIELDMAGNITUDECTLR_H_
#define _NIPSYSFIELDMAGNITUDECTLR_H_
//--BEGIN FILE HEAD CUSTOM CODE--//
//--END CUSTOM CODE--//
#include "NiPSysModifierFloatCtlr.h"
namespace Niflib {
class NiPSysFieldMagnitudeCtlr;
typedef Ref<NiPSysFieldMagnitudeCtlr> NiPSysFieldMagnitudeCtlrRef;
/*! Particle system controller, used for ???. */
class NiPSysFieldMagnitudeCtlr : public NiPSysModifierFloatCtlr {
public:
/*! Constructor */
NIFLIB_API NiPSysFieldMagnitudeCtlr();
/*! Destructor */
NIFLIB_API virtual ~NiPSysFieldMagnitudeCtlr();
/*!
* A constant value which uniquly identifies objects of this type.
*/
NIFLIB_API static const Type TYPE;
/*!
* A factory function used during file reading to create an instance of this type of object.
* \return A pointer to a newly allocated instance of this type of object.
*/
NIFLIB_API static NiObject * Create();
/*!
* Summarizes the information contained in this object in English.
* \param[in] verbose Determines whether or not detailed information about large areas of data will be printed out.
* \return A string containing a summary of the information within the object in English. This is the function that Niflyze calls to generate its analysis, so the output is the same.
*/
NIFLIB_API virtual string asString( bool verbose = false ) const;
/*!
* Used to determine the type of a particular instance of this object.
* \return The type constant for the actual type of the object.
*/
NIFLIB_API virtual const Type & GetType() const;
//--BEGIN MISC CUSTOM CODE--//
//--END CUSTOM CODE--//
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const;
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
};
//--BEGIN FILE FOOT CUSTOM CODE--//
//--END CUSTOM CODE--//
} //End Niflib namespace
#endif
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for license. */
//-----------------------------------NOTICE----------------------------------//
// Some of this file is automatically filled in by a Python script. Only //
// add custom code in the designated areas or it will be overwritten during //
// the next update. //
//-----------------------------------NOTICE----------------------------------//
#ifndef _NIPSYSFIELDMODIFIER_H_
#define _NIPSYSFIELDMODIFIER_H_
//--BEGIN FILE HEAD CUSTOM CODE--//
//--END CUSTOM CODE--//
#include "NiPSysModifier.h"
// Include structures
#include "../Ref.h"
namespace Niflib {
// Forward define of referenced NIF objects
class NiAVObject;
class NiPSysFieldModifier;
typedef Ref<NiPSysFieldModifier> NiPSysFieldModifierRef;
/*! Base for all force field particle modifiers. */
class NiPSysFieldModifier : public NiPSysModifier {
public:
/*! Constructor */
NIFLIB_API NiPSysFieldModifier();
/*! Destructor */
NIFLIB_API virtual ~NiPSysFieldModifier();
/*!
* A constant value which uniquly identifies objects of this type.
*/
NIFLIB_API static const Type TYPE;
/*!
* A factory function used during file reading to create an instance of this type of object.
* \return A pointer to a newly allocated instance of this type of object.
*/
NIFLIB_API static NiObject * Create();
/*!
* Summarizes the information contained in this object in English.
* \param[in] verbose Determines whether or not detailed information about large areas of data will be printed out.
* \return A string containing a summary of the information within the object in English. This is the function that Niflyze calls to generate its analysis, so the output is the same.
*/
NIFLIB_API virtual string asString( bool verbose = false ) const;
/*!
* Used to determine the type of a particular instance of this object.
* \return The type constant for the actual type of the object.
*/
NIFLIB_API virtual const Type & GetType() const;
//--BEGIN MISC CUSTOM CODE--//
//--END CUSTOM CODE--//
protected:
/*! Force Field Object */
Ref<NiAVObject > fieldObject;
/*! Magnitude of the force */
float magnitude;
/*! Controls how quick the field diminishes */
float attenuation;
/*! Unknown */
bool unknownBoolean1;
/*! Unknown value, perhaps maximum effect distance */
float unknownFloat1;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const;
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
};
//--BEGIN FILE FOOT CUSTOM CODE--//
//--END CUSTOM CODE--//
} //End Niflib namespace
#endif
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for license. */
//-----------------------------------NOTICE----------------------------------//
// Some of this file is automatically filled in by a Python script. Only //
// add custom code in the designated areas or it will be overwritten during //
// the next update. //
//-----------------------------------NOTICE----------------------------------//
#ifndef _NIPSYSGRAVITYFIELDMODIFIER_H_
#define _NIPSYSGRAVITYFIELDMODIFIER_H_
//--BEGIN FILE HEAD CUSTOM CODE--//
//--END CUSTOM CODE--//
#include "NiPSysFieldModifier.h"
namespace Niflib {
class NiPSysGravityFieldModifier;
typedef Ref<NiPSysGravityFieldModifier> NiPSysGravityFieldModifierRef;
/*!
* Particle system modifier, used for controlling the particle velocity in gravity
* field.
*/
class NiPSysGravityFieldModifier : public NiPSysFieldModifier {
public:
/*! Constructor */
NIFLIB_API NiPSysGravityFieldModifier();
/*! Destructor */
NIFLIB_API virtual ~NiPSysGravityFieldModifier();
/*!
* A constant value which uniquly identifies objects of this type.
*/
NIFLIB_API static const Type TYPE;
/*!
* A factory function used during file reading to create an instance of this type of object.
* \return A pointer to a newly allocated instance of this type of object.
*/
NIFLIB_API static NiObject * Create();
/*!
* Summarizes the information contained in this object in English.
* \param[in] verbose Determines whether or not detailed information about large areas of data will be printed out.
* \return A string containing a summary of the information within the object in English. This is the function that Niflyze calls to generate its analysis, so the output is the same.
*/
NIFLIB_API virtual string asString( bool verbose = false ) const;
/*!
* Used to determine the type of a particular instance of this object.
* \return The type constant for the actual type of the object.
*/
NIFLIB_API virtual const Type & GetType() const;
//--BEGIN MISC CUSTOM CODE--//
//--END CUSTOM CODE--//
protected:
/*! Direction of the particle velocity */
Vector3 direction;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const;
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
};
//--BEGIN FILE FOOT CUSTOM CODE--//
//--END CUSTOM CODE--//
} //End Niflib namespace
#endif
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for license. */
//-----------------------------------NOTICE----------------------------------//
// Some of this file is automatically filled in by a Python script. Only //
// add custom code in the designated areas or it will be overwritten during //
// the next update. //
//-----------------------------------NOTICE----------------------------------//
#ifndef _NIPSYSTURBULENCEFIELDMODIFIER_H_
#define _NIPSYSTURBULENCEFIELDMODIFIER_H_
//--BEGIN FILE HEAD CUSTOM CODE--//
//--END CUSTOM CODE--//
#include "NiPSysFieldModifier.h"
namespace Niflib {
class NiPSysTurbulenceFieldModifier;
typedef Ref<NiPSysTurbulenceFieldModifier> NiPSysTurbulenceFieldModifierRef;
/*!
* Particle system modifier, used for controlling the particle velocity in drag
* space warp.
*/
class NiPSysTurbulenceFieldModifier : public NiPSysFieldModifier {
public:
/*! Constructor */
NIFLIB_API NiPSysTurbulenceFieldModifier();
/*! Destructor */
NIFLIB_API virtual ~NiPSysTurbulenceFieldModifier();
/*!
* A constant value which uniquly identifies objects of this type.
*/
NIFLIB_API static const Type TYPE;
/*!
* A factory function used during file reading to create an instance of this type of object.
* \return A pointer to a newly allocated instance of this type of object.
*/
NIFLIB_API static NiObject * Create();
/*!
* Summarizes the information contained in this object in English.
* \param[in] verbose Determines whether or not detailed information about large areas of data will be printed out.
* \return A string containing a summary of the information within the object in English. This is the function that Niflyze calls to generate its analysis, so the output is the same.
*/
NIFLIB_API virtual string asString( bool verbose = false ) const;
/*!
* Used to determine the type of a particular instance of this object.
* \return The type constant for the actual type of the object.
*/
NIFLIB_API virtual const Type & GetType() const;
//--BEGIN MISC CUSTOM CODE--//
//--END CUSTOM CODE--//
protected:
/*! Unknown */
float unknownFloat2;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const;
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
};
//--BEGIN FILE FOOT CUSTOM CODE--//
//--END CUSTOM CODE--//
} //End Niflib namespace
#endif
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for license. */
//-----------------------------------NOTICE----------------------------------//
// Some of this file is automatically filled in by a Python script. Only //
// add custom code in the designated areas or it will be overwritten during //
// the next update. //
//-----------------------------------NOTICE----------------------------------//
#ifndef _NIPSYSVORTEXFIELDMODIFIER_H_
#define _NIPSYSVORTEXFIELDMODIFIER_H_
//--BEGIN FILE HEAD CUSTOM CODE--//
//--END CUSTOM CODE--//
#include "NiPSysFieldModifier.h"
namespace Niflib {
class NiPSysVortexFieldModifier;
typedef Ref<NiPSysVortexFieldModifier> NiPSysVortexFieldModifierRef;
/*!
* Particle system modifier, used for controlling the particle velocity in force
* field.
*/
class NiPSysVortexFieldModifier : public NiPSysFieldModifier {
public:
/*! Constructor */
NIFLIB_API NiPSysVortexFieldModifier();
/*! Destructor */
NIFLIB_API virtual ~NiPSysVortexFieldModifier();
/*!
* A constant value which uniquly identifies objects of this type.
*/
NIFLIB_API static const Type TYPE;
/*!
* A factory function used during file reading to create an instance of this type of object.
* \return A pointer to a newly allocated instance of this type of object.
*/
NIFLIB_API static NiObject * Create();
/*!
* Summarizes the information contained in this object in English.
* \param[in] verbose Determines whether or not detailed information about large areas of data will be printed out.
* \return A string containing a summary of the information within the object in English. This is the function that Niflyze calls to generate its analysis, so the output is the same.
*/
NIFLIB_API virtual string asString( bool verbose = false ) const;
/*!
* Used to determine the type of a particular instance of this object.
* \return The type constant for the actual type of the object.
*/
NIFLIB_API virtual const Type & GetType() const;
//--BEGIN MISC CUSTOM CODE--//
//--END CUSTOM CODE--//
protected:
/*! Direction of the particle velocity */
Vector3 direction;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const;
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
};
//--BEGIN FILE FOOT CUSTOM CODE--//
//--END CUSTOM CODE--//
} //End Niflib namespace
#endif
......@@ -78,6 +78,14 @@ protected:
bool hasRotations1;
/*! The individual particle rotations. */
vector<Quaternion > rotations1;
/*! Unknown in Warhammer. Guess at version. */
bool hasUnknownFloats2;
/*! Unknown */
vector<float > unknownFloats2;
/*! Unknown. */
bool hasUnknownVertices1;
/*! Unknown */
vector<Vector3 > unknownVertices1;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
......
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for license. */
//-----------------------------------NOTICE----------------------------------//
// Some of this file is automatically filled in by a Python script. Only //
// add custom code in the designated areas or it will be overwritten during //
// the next update. //
//-----------------------------------NOTICE----------------------------------//
#ifndef _NIPORTAL_H_
#define _NIPORTAL_H_
//--BEGIN FILE HEAD CUSTOM CODE--//
//--END CUSTOM CODE--//
#include "NiAVObject.h"
namespace Niflib {
// Forward define of referenced NIF objects
class NiNode;
class NiPortal;
typedef Ref<NiPortal> NiPortalRef;
/*! A Portal */
class NiPortal : public NiAVObject {
public:
/*! Constructor */
NIFLIB_API NiPortal();
/*! Destructor */
NIFLIB_API virtual ~NiPortal();
/*!
* A constant value which uniquly identifies objects of this type.
*/
NIFLIB_API static const Type TYPE;
/*!
* A factory function used during file reading to create an instance of this type of object.
* \return A pointer to a newly allocated instance of this type of object.
*/
NIFLIB_API static NiObject * Create();
/*!
* Summarizes the information contained in this object in English.
* \param[in] verbose Determines whether or not detailed information about large areas of data will be printed out.
* \return A string containing a summary of the information within the object in English. This is the function that Niflyze calls to generate its analysis, so the output is the same.
*/
NIFLIB_API virtual string asString( bool verbose = false ) const;
/*!
* Used to determine the type of a particular instance of this object.
* \return The type constant for the actual type of the object.
*/
NIFLIB_API virtual const Type & GetType() const;
//--BEGIN MISC CUSTOM CODE--//
//--END CUSTOM CODE--//
protected:
/*! Unknown flags. */
unsigned short unknownFlags;
/*! Unknown */
short unknownShort1;
/*! Number of vertices in this polygon */
mutable unsigned short numVertices;
/*! Vertices */
vector<Vector3 > vertices;
/*! Target portal or room */
NiNode * target;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const;
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
};
//--BEGIN FILE FOOT CUSTOM CODE--//
//--END CUSTOM CODE--//
} //End Niflib namespace
#endif
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for license. */
//-----------------------------------NOTICE----------------------------------//
// Some of this file is automatically filled in by a Python script. Only //
// add custom code in the designated areas or it will be overwritten during //
// the next update. //
//-----------------------------------NOTICE----------------------------------//
#ifndef _NIROOM_H_
#define _NIROOM_H_
//--BEGIN FILE HEAD CUSTOM CODE--//
//--END CUSTOM CODE--//
#include "NiNode.h"
namespace Niflib {
// Forward define of referenced NIF objects
class NiPortal;
class NiAVObject;
class NiRoom;
typedef Ref<NiRoom> NiRoomRef;
/*! Grouping node for nodes in a Portal */
class NiRoom : public NiNode {
public:
/*! Constructor */
NIFLIB_API NiRoom();
/*! Destructor */
NIFLIB_API virtual ~NiRoom();
/*!
* A constant value which uniquly identifies objects of this type.
*/
NIFLIB_API static const Type TYPE;
/*!
* A factory function used during file reading to create an instance of this type of object.
* \return A pointer to a newly allocated instance of this type of object.
*/
NIFLIB_API static NiObject * Create();
/*!
* Summarizes the information contained in this object in English.
* \param[in] verbose Determines whether or not detailed information about large areas of data will be printed out.
* \return A string containing a summary of the information within the object in English. This is the function that Niflyze calls to generate its analysis, so the output is the same.
*/
NIFLIB_API virtual string asString( bool verbose = false ) const;
/*!
* Used to determine the type of a particular instance of this object.
* \return The type constant for the actual type of the object.
*/
NIFLIB_API virtual const Type & GetType() const;
//--BEGIN MISC CUSTOM CODE--//
//--END CUSTOM CODE--//
protected:
/*! Number of walls in a room? */
mutable int numWalls;
/*! Face normal and unknown value. */
vector<Vector4 > wallPlane;
/*! Number of doors into room */
mutable int numInPortals;
/*! Number of portals into room */
vector<NiPortal * > inPortals;
/*! Number of doors out of room */
mutable int numPortals2;
/*! Number of portals out of room */
vector<NiPortal * > portals2;
/*! Number of unknowns */
mutable int numItems;
/*! All geometry associated with room. */
vector<NiAVObject * > items;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const;
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
};
//--BEGIN FILE FOOT CUSTOM CODE--//
//--END CUSTOM CODE--//
} //End Niflib namespace
#endif
/* Copyright (c) 2006, NIF File Format Library and Tools
All rights reserved. Please see niflib.h for license. */
//-----------------------------------NOTICE----------------------------------//
// Some of this file is automatically filled in by a Python script. Only //
// add custom code in the designated areas or it will be overwritten during //
// the next update. //
//-----------------------------------NOTICE----------------------------------//
#ifndef _NIROOMGROUP_H_
#define _NIROOMGROUP_H_
//--BEGIN FILE HEAD CUSTOM CODE--//
//--END CUSTOM CODE--//
#include "NiNode.h"
namespace Niflib {
// Forward define of referenced NIF objects
class NiNode;
class NiRoom;
class NiRoomGroup;
typedef Ref<NiRoomGroup> NiRoomGroupRef;
/*! Grouping node for nodes in a Portal */
class NiRoomGroup : public NiNode {
public:
/*! Constructor */
NIFLIB_API NiRoomGroup();
/*! Destructor */
NIFLIB_API virtual ~NiRoomGroup();
/*!
* A constant value which uniquly identifies objects of this type.
*/
NIFLIB_API static const Type TYPE;
/*!
* A factory function used during file reading to create an instance of this type of object.
* \return A pointer to a newly allocated instance of this type of object.
*/
NIFLIB_API static NiObject * Create();
/*!
* Summarizes the information contained in this object in English.
* \param[in] verbose Determines whether or not detailed information about large areas of data will be printed out.
* \return A string containing a summary of the information within the object in English. This is the function that Niflyze calls to generate its analysis, so the output is the same.
*/
NIFLIB_API virtual string asString( bool verbose = false ) const;
/*!
* Used to determine the type of a particular instance of this object.
* \return The type constant for the actual type of the object.
*/
NIFLIB_API virtual const Type & GetType() const;
//--BEGIN MISC CUSTOM CODE--//
//--END CUSTOM CODE--//
protected:
/*! Outer Shell Geometry Node? */
NiNode * shellLink;
/*! Number of rooms in this group */
mutable int numRooms;
/*! Rooms associated with this group. */
vector<NiRoom * > rooms;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const;
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
};
//--BEGIN FILE FOOT CUSTOM CODE--//
//--END CUSTOM CODE--//
} //End Niflib namespace
#endif
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