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

niflib: Update to latest xml file

parent e4e54cff
No related branches found
No related tags found
No related merge requests found
Showing
with 87 additions and 157 deletions
......@@ -10,6 +10,8 @@ All rights reserved. Please see niflib.h for license. */
#include "../NIF_IO.h"
// Include structures
#include "../Ref.h"
namespace Niflib {
// Forward define of referenced NIF objects
......@@ -29,7 +31,7 @@ struct SkinShape {
/*! The shape. */
NiTriBasedGeom * shape;
/*! Skinning instance for the shape? */
NiSkinInstance * skinInstance;
Ref<NiSkinInstance > skinInstance;
};
}
......
......@@ -359,6 +359,22 @@ enum CoordGenType {
ostream & operator<<( ostream & out, CoordGenType const & val );
/*!
* The type of animation interpolation (blending) that will be used on the
* associated key frames.
*/
enum BSShaderType {
SHADER_TALL_GRASS = 0, /*!< Tall Grass Shader */
SHADER_DEFAULT = 1, /*!< Standard Lighting Shader */
SHADER_SKY = 10, /*!< Sky Shader */
SHADER_WATER = 17, /*!< Water Shader */
SHADER_LIGHTING30 = 29, /*!< Lighting 3.0 Shader */
SHADER_TILE = 32, /*!< Tiled Shader */
SHADER_NOLIGHTING = 33, /*!< No Lighting Shader */
};
ostream & operator<<( ostream & out, BSShaderType const & val );
/*! An unsigned 32-bit integer, describing the apply mode of a texture. */
enum ApplyMode {
APPLY_REPLACE = 0, /*!< Replaces existing color */
......
......@@ -142,6 +142,12 @@ void NifStream( CoordGenType & val, istream& in, const NifInfo & info = NifInfo(
void NifStream( CoordGenType const & val, ostream& out, const NifInfo & info = NifInfo() );
//---BSShaderType---//
void NifStream( BSShaderType & val, istream& in, const NifInfo & info = NifInfo() );
void NifStream( BSShaderType const & val, ostream& out, const NifInfo & info = NifInfo() );
//---ApplyMode---//
void NifStream( ApplyMode & val, istream& in, const NifInfo & info = NifInfo() );
......
......@@ -14,14 +14,14 @@ All rights reserved. Please see niflib.h for license. */
//--END CUSTOM CODE--//
#include "NiShadeProperty.h"
#include "BSShaderProperty.h"
namespace Niflib {
class BSDistantTreeShaderProperty;
typedef Ref<BSDistantTreeShaderProperty> BSDistantTreeShaderPropertyRef;
/*! Bethesda-specific node. */
class BSDistantTreeShaderProperty : public NiShadeProperty {
class BSDistantTreeShaderProperty : public BSShaderProperty {
public:
/*! Constructor */
NIFLIB_API BSDistantTreeShaderProperty();
......
......@@ -14,14 +14,14 @@ All rights reserved. Please see niflib.h for license. */
//--END CUSTOM CODE--//
#include "NiProperty.h"
#include "BSShaderProperty.h"
namespace Niflib {
class BSShaderLightingProperty;
typedef Ref<BSShaderLightingProperty> BSShaderLightingPropertyRef;
/*! Bethesda-specific property. */
class BSShaderLightingProperty : public NiProperty {
class BSShaderLightingProperty : public BSShaderProperty {
public:
/*! Constructor */
NIFLIB_API BSShaderLightingProperty();
......@@ -57,28 +57,8 @@ public:
//--END CUSTOM CODE--//
protected:
/*! Unknown */
unsigned short flags;
/*! Unknown */
int unknownInt1;
/*! Unknown */
int unknownInt2;
/*! Unknown */
int unknownInt3;
/*! Unknown */
float unknownFloat1;
/*! Unknown */
int unknownInt5;
/*! The normal string. */
string fileName;
/*! Unknown */
int unknownInt6;
/*! Unknown */
int unknownInt7;
/*! Unknown */
int unknownInt8;
/*! 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 );
......
......@@ -14,14 +14,14 @@ All rights reserved. Please see niflib.h for license. */
//--END CUSTOM CODE--//
#include "NiProperty.h"
#include "BSShaderLightingProperty.h"
namespace Niflib {
class BSShaderNoLightingProperty;
typedef Ref<BSShaderNoLightingProperty> BSShaderNoLightingPropertyRef;
/*! Bethesda-specific property. */
class BSShaderNoLightingProperty : public NiProperty {
class BSShaderNoLightingProperty : public BSShaderLightingProperty {
public:
/*! Constructor */
NIFLIB_API BSShaderNoLightingProperty();
......@@ -57,28 +57,19 @@ public:
//--END CUSTOM CODE--//
protected:
/*! Unknown */
unsigned short flags;
/*! Unknown */
int unknownInt1;
/*! Unknown */
int unknownInt2;
/*! Unknown */
int unknownInt3;
/*! Unknown */
float unknownFloat1;
/*! Unknown */
int unknownInt5;
/*! The normal string. */
/*! The texture glow map. */
string fileName;
/*! Unknown */
int unknownInt6;
/*! Unknown */
int unknownInt7;
float unknownFloat2;
/*!
* Normally what appears to be a junk value (0xB33BBD2E). Appears to be related to
* glow when Unk Flags is (0x82000148).
*/
float unknownFloat3;
/*! Unknown */
int unknownInt8;
float unknownFloat4;
/*! Unknown */
float unknownFloat2;
float unknownFloat5;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
......
......@@ -14,7 +14,7 @@ All rights reserved. Please see niflib.h for license. */
//--END CUSTOM CODE--//
#include "NiShadeProperty.h"
#include "BSShaderLightingProperty.h"
// Include structures
#include "../Ref.h"
......@@ -26,7 +26,7 @@ class BSShaderPPLightingProperty;
typedef Ref<BSShaderPPLightingProperty> BSShaderPPLightingPropertyRef;
/*! Bethesda-specific Shade node. */
class BSShaderPPLightingProperty : public NiShadeProperty {
class BSShaderPPLightingProperty : public BSShaderLightingProperty {
public:
/*! Constructor */
NIFLIB_API BSShaderPPLightingProperty();
......@@ -62,26 +62,16 @@ public:
//--END CUSTOM CODE--//
protected:
/*! Unknown */
int unknownInt1;
/*! Unknown */
int unknownInt2;
/*! Unknown */
int unknownInt3;
/*! Unknown */
int unknownInt4;
/*! Unknown */
int unknownInt5;
/*! Texture Set */
Ref<BSShaderTextureSet > textureSet;
/*! Unknown */
int unknownInt6;
float unknownFloat2;
/*! Unknown */
int unknownInt7;
float unknownFloat3;
/*! Unknown */
int unknownInt8;
float unknownFloat4;
/*! Unknown */
int unknownInt9;
float unknownFloat5;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
......
......@@ -56,6 +56,17 @@ public:
//--BEGIN MISC CUSTOM CODE--//
//--END CUSTOM CODE--//
protected:
/*! Unknown */
unsigned short flags;
/*! Unknown (Set to 0x21 for NoLighting, 0x11 for Water) */
BSShaderType shaderType;
/*! Unknown */
unsigned int unknownFlags1;
/*! Unknown */
int unknownInt2;
/*! Unknown */
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 );
......
......@@ -57,7 +57,7 @@ public:
//--END CUSTOM CODE--//
protected:
/*! Object name. */
/*! Number of Textures */
mutable int numTextures;
/*! Textures */
vector<string > textures;
......
......@@ -14,14 +14,14 @@ All rights reserved. Please see niflib.h for license. */
//--END CUSTOM CODE--//
#include "NiShadeProperty.h"
#include "BSShaderProperty.h"
namespace Niflib {
class DistantLODShaderProperty;
typedef Ref<DistantLODShaderProperty> DistantLODShaderPropertyRef;
/*! Bethesda-specific node. */
class DistantLODShaderProperty : public NiShadeProperty {
class DistantLODShaderProperty : public BSShaderProperty {
public:
/*! Constructor */
NIFLIB_API DistantLODShaderProperty();
......
......@@ -14,14 +14,14 @@ All rights reserved. Please see niflib.h for license. */
//--END CUSTOM CODE--//
#include "NiShadeProperty.h"
#include "BSShaderProperty.h"
namespace Niflib {
class HairShaderProperty;
typedef Ref<HairShaderProperty> HairShaderPropertyRef;
/*! Bethesda-specific node. */
class HairShaderProperty : public NiShadeProperty {
class HairShaderProperty : public BSShaderProperty {
public:
/*! Constructor */
NIFLIB_API HairShaderProperty();
......
......@@ -14,14 +14,14 @@ All rights reserved. Please see niflib.h for license. */
//--END CUSTOM CODE--//
#include "NiShadeProperty.h"
#include "BSShaderPPLightingProperty.h"
namespace Niflib {
class Lighting30ShaderProperty;
typedef Ref<Lighting30ShaderProperty> Lighting30ShaderPropertyRef;
/*! Bethesda-specific node. */
class Lighting30ShaderProperty : public NiShadeProperty {
class Lighting30ShaderProperty : public BSShaderPPLightingProperty {
public:
/*! Constructor */
NIFLIB_API Lighting30ShaderProperty();
......@@ -56,27 +56,6 @@ public:
//--BEGIN MISC CUSTOM CODE--//
//--END CUSTOM CODE--//
protected:
/*! Unknown */
int unknownInt1;
/*! Unknown */
float unknownFloat1;
/*! Unknown */
int unknownInt2;
/*! Unknown */
float unknownFloat2;
/*! Unknown */
int unknownInt3;
/*! Unknown */
int unknownInt4;
/*! Unknown */
int unknownInt5;
/*! Unknown */
int unknownInt6;
/*! Unknown */
float unknownFloat3;
/*! 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 );
......
......@@ -7,8 +7,8 @@ All rights reserved. Please see niflib.h for license. */
// the next update. //
//-----------------------------------NOTICE----------------------------------//
#ifndef _NiControllerSequence_H_
#define _NiControllerSequence_H_
#ifndef _NICONTROLLERSEQUENCE_H_
#define _NICONTROLLERSEQUENCE_H_
//--BEGIN FILE HEAD CUSTOM CODE--//
namespace Niflib {
......
......@@ -217,11 +217,10 @@ protected:
bool hasVertices;
/*! The mesh vertices. */
vector<Vector3 > vertices;
/*!
* Methods for saving binormals and tangents saved in upper byte. Texture flags in
* lower byte.
*/
mutable unsigned short numUvSets;
/*! Texture flags in lower byte. */
mutable byte numUvSets;
/*! Methods for saving binormals and tangents saved in upper byte. */
byte tspaceFlag;
/*!
* Do we have lighting normals? These are essential for proper lighting: if not
* present, the model will only be influenced by ambient light.
......
......@@ -75,11 +75,10 @@ protected:
bool hasVertices;
/*! The mesh vertices. */
vector<Vector3 > vertices;
/*!
* Methods for saving binormals and tangents saved in upper byte. Texture flags in
* lower byte.
*/
mutable unsigned short numUvSets;
/*! Texture flags in lower byte. */
mutable byte numUvSets;
/*! Methods for saving binormals and tangents saved in upper byte. */
byte tspaceFlag;
/*!
* Do we have lighting normals? These are essential for proper lighting: if not
* present, the model will only be influenced by ambient light.
......
......@@ -14,14 +14,14 @@ All rights reserved. Please see niflib.h for license. */
//--END CUSTOM CODE--//
#include "NiProperty.h"
#include "BSShaderProperty.h"
namespace Niflib {
class SkyShaderProperty;
typedef Ref<SkyShaderProperty> SkyShaderPropertyRef;
/*! Bethesda-specific node? Found in Fallout3 */
class SkyShaderProperty : public NiProperty {
class SkyShaderProperty : public BSShaderProperty {
public:
/*! Constructor */
NIFLIB_API SkyShaderProperty();
......@@ -57,21 +57,9 @@ public:
//--END CUSTOM CODE--//
protected:
/*! Unknown */
short unknownShort1;
/*! Unknown */
short unknownShort2;
/*! Unknown */
int unknownInt1;
/*! Unknown */
int unknownInt2;
/*! Unknown */
int unknownInt3;
/*! Unknown */
int unknownInt4;
/*! Unknown */
short unknownShort3;
/*! The normal string. */
/*! The texture. */
string fileName;
/*! Unknown */
int unknownInt5;
......
......@@ -14,14 +14,14 @@ All rights reserved. Please see niflib.h for license. */
//--END CUSTOM CODE--//
#include "NiShadeProperty.h"
#include "BSShaderProperty.h"
namespace Niflib {
class TallGrassShaderProperty;
typedef Ref<TallGrassShaderProperty> TallGrassShaderPropertyRef;
/*! Bethesda-specific node. */
class TallGrassShaderProperty : public NiShadeProperty {
class TallGrassShaderProperty : public BSShaderProperty {
public:
/*! Constructor */
NIFLIB_API TallGrassShaderProperty();
......@@ -57,15 +57,7 @@ public:
//--END CUSTOM CODE--//
protected:
/*! Unknown */
int unknownInt1;
/*! Unknown */
int unknownInt2;
/*! Unknown */
int unknownInt3;
/*! Unknown */
int unknownFloat1;
/*! The normal string. */
/*! Texture file name */
string fileName;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
......
......@@ -14,14 +14,14 @@ All rights reserved. Please see niflib.h for license. */
//--END CUSTOM CODE--//
#include "NiShadeProperty.h"
#include "BSShaderLightingProperty.h"
namespace Niflib {
class TileShaderProperty;
typedef Ref<TileShaderProperty> TileShaderPropertyRef;
/*! Bethesda-specific node. */
class TileShaderProperty : public NiShadeProperty {
class TileShaderProperty : public BSShaderLightingProperty {
public:
/*! Constructor */
NIFLIB_API TileShaderProperty();
......@@ -57,17 +57,7 @@ public:
//--END CUSTOM CODE--//
protected:
/*! Unknown */
int unknownInt1;
/*! Unknown */
int unknownInt2;
/*! Unknown */
int unknownInt3;
/*! Unknown */
float unknownFloat1;
/*! Unknown */
int unknownInt5;
/*! The normal string. */
/*! Texture file name */
string fileName;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
......
......@@ -14,14 +14,14 @@ All rights reserved. Please see niflib.h for license. */
//--END CUSTOM CODE--//
#include "NiShadeProperty.h"
#include "BSShaderProperty.h"
namespace Niflib {
class VolumetricFogShaderProperty;
typedef Ref<VolumetricFogShaderProperty> VolumetricFogShaderPropertyRef;
/*! Bethesda-specific node. */
class VolumetricFogShaderProperty : public NiShadeProperty {
class VolumetricFogShaderProperty : public BSShaderProperty {
public:
/*! Constructor */
NIFLIB_API VolumetricFogShaderProperty();
......
......@@ -14,14 +14,14 @@ All rights reserved. Please see niflib.h for license. */
//--END CUSTOM CODE--//
#include "NiProperty.h"
#include "BSShaderProperty.h"
namespace Niflib {
class WaterShaderProperty;
typedef Ref<WaterShaderProperty> WaterShaderPropertyRef;
/*! Bethesda-specific node? Found in Fallout3 */
class WaterShaderProperty : public NiProperty {
class WaterShaderProperty : public BSShaderProperty {
public:
/*! Constructor */
NIFLIB_API WaterShaderProperty();
......@@ -56,19 +56,6 @@ public:
//--BEGIN MISC CUSTOM CODE--//
//--END CUSTOM CODE--//
protected:
/*! Unknown */
short unknownShort1;
/*! Unknown */
int unknownInt1;
/*! Unknown */
short unknownShort2;
/*! Unknown */
unsigned short unknownUshort1;
/*! Unknown */
int unknownInt2;
/*! Unknown */
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 );
......
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