Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
N
Niflib
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Grant Kim
Niflib
Commits
2e95cea8
Commit
2e95cea8
authored
18 years ago
by
Amorilia
Browse files
Options
Downloads
Patches
Plain Diff
Fixed more compilation errors.
parent
bc6b46d2
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
SConstruct
+1
-1
1 addition, 1 deletion
SConstruct
xml_extract.h
+318
-337
318 additions, 337 deletions
xml_extract.h
with
319 additions
and
338 deletions
SConstruct
+
1
−
1
View file @
2e95cea8
...
...
@@ -42,7 +42,7 @@ You can get it from http://www.swig.org/"""
Exit
(
1
)
# build niflib and python wrapper
niflib
=
env
.
StaticLibrary
(
'
niflib
'
,
Split
(
'
niflib.cpp nif_math.cpp NIF_IO.cpp kfm.cpp obj
\
NiObject.cpp obj
\
AInterpolator.cpp obj
\
ABlendInterpolator.cpp obj
\
ABSplineCompInterpolator.cpp obj
\
AKeyedData.cpp obj
\
AParticleModifier.cpp obj
\
APSysModifier.cpp obj
\
APSysEmitter.cpp obj
\
APSysVolumeEmitter.cpp obj
\
b
hkRefObject.cpp obj
\
b
hkSerializable.cpp obj
\
AbhkConstraint.cpp obj
\
AbhkRagdollConstraint.cpp obj
\
b
hkShape.cpp obj
\
AbhkShapeCollection.cpp obj
\
b
hkSphereRepShape.cpp obj
\
b
hkConvexShape.cpp obj
\
b
hkWorldObject.cpp obj
\
b
hkEntity.cpp obj
\
NiCollisionObject.cpp obj
\
NiExtraData.cpp obj
\
NiObjectNET.cpp obj
\
NiAVObject.cpp obj
\
NiDynamicEffect.cpp obj
\
NiLight.cpp obj
\
NiProperty.cpp obj
\
NiTimeController.cpp obj
\
ABoneLODController.cpp obj
\
NiSingleInterpolatorController.cpp obj
\
APSysCtlr.cpp obj
\
NiTriBasedGeom.cpp obj
\
TriBasedGeomData.cpp obj
\
APSysData.cpp obj
\
b
hkBlendCollisionObject.cpp obj
\
b
hkBlendController.cpp obj
\
b
hkBoxShape.cpp obj
\
b
hkCapsuleShape.cpp obj
\
b
hkCollisionObject.cpp obj
\
b
hkConvexVerticesShape.cpp obj
\
b
hkHingeConstraint.cpp obj
\
b
hkLimitedHingeConstraint.cpp obj
\
b
hkListShape.cpp obj
\
b
hkMalleableConstraint.cpp obj
\
b
hkMoppBvTreeShape.cpp obj
\
b
hkMultiSphereShape.cpp obj
\
b
hkNiTriStripsShape.cpp obj
\
b
hkPackedNiTriStripsShape.cpp obj
\
b
hkPrismaticConstraint.cpp obj
\
b
hkRagdollConstraint.cpp obj
\
b
hkRigidBody.cpp obj
\
b
hkRigidBodyT.cpp obj
\
b
hkSimpleShapePhantom.cpp obj
\
b
hkSPCollisionObject.cpp obj
\
b
hkSphereShape.cpp obj
\
b
hkStiffSpringConstraint.cpp obj
\
b
hkTransformShape.cpp obj
\
b
hkConvexTransformShape.cpp obj
\
BSBound.cpp obj
\
BSFurnitureMarker.cpp obj
\
BSParentVelocityModifier.cpp obj
\
BSPSysArrayEmitter.cpp obj
\
BSXFlags.cpp obj
\
hkPackedNiTriStripsData.cpp obj
\
NiAlphaController.cpp obj
\
NiAlphaProperty.cpp obj
\
NiAmbientLight.cpp obj
\
NiAutoNormalParticlesData.cpp obj
\
NiBinaryExtraData.cpp obj
\
NiBlendBoolInterpolator.cpp obj
\
NiBlendFloatInterpolator.cpp obj
\
NiBlendPoint3Interpolator.cpp obj
\
NiBlendTransformInterpolator.cpp obj
\
NiBoneLODController.cpp obj
\
NiBoolData.cpp obj
\
NiBooleanExtraData.cpp obj
\
NiBoolInterpolator.cpp obj
\
NiBoolTimelineInterpolator.cpp obj
\
NiBSBoneLODController.cpp obj
\
NiBSplineBasisData.cpp obj
\
NiBSplineCompFloatInterpolator.cpp obj
\
NiBSplineCompPoint3Interpolator.cpp obj
\
NiBSplineCompTransformInterpolator.cpp obj
\
NiBSplineData.cpp obj
\
NiCamera.cpp obj
\
NiCollisionData.cpp obj
\
NiColorData.cpp obj
\
NiColorExtraData.cpp obj
\
NiControllerManager.cpp obj
\
NiControllerSequence.cpp obj
\
NiDefaultAVObjectPalette.cpp obj
\
NiDirectionalLight.cpp obj
\
NiDitherProperty.cpp obj
\
NiFlipController.cpp obj
\
NiFloatData.cpp obj
\
NiFloatExtraData.cpp obj
\
NiFloatExtraDataController.cpp obj
\
NiFloatInterpolator.cpp obj
\
NiFloatsExtraData.cpp obj
\
NiFogProperty.cpp obj
\
NiGeomMorpherController.cpp obj
\
NiGravity.cpp obj
\
NiIntegerExtraData.cpp obj
\
NiIntegersExtraData.cpp obj
\
NiKeyframeController.cpp obj
\
BSKeyframeController.cpp obj
\
NiKeyframeData.cpp obj
\
NiLightColorController.cpp obj
\
NiLightDimmerController.cpp obj
\
NiLookAtController.cpp obj
\
NiLookAtInterpolator.cpp obj
\
NiMaterialColorController.cpp obj
\
NiMaterialProperty.cpp obj
\
NiMeshPSysData.cpp obj
\
NiMorphData.cpp obj
\
NiMultiTargetTransformController.cpp obj
\
NiNode.cpp obj
\
AvoidNode.cpp obj
\
FxWidget.cpp obj
\
FxButton.cpp obj
\
FxRadioButton.cpp obj
\
NiBillboardNode.cpp obj
\
NiBSAnimationNode.cpp obj
\
NiBSParticleNode.cpp obj
\
NiLODNode.cpp obj
\
NiPalette.cpp obj
\
NiParticleBomb.cpp obj
\
NiParticleColorModifier.cpp obj
\
NiParticleGrowFade.cpp obj
\
NiParticleMeshModifier.cpp obj
\
NiParticleRotation.cpp obj
\
NiParticles.cpp obj
\
NiAutoNormalParticles.cpp obj
\
NiParticleMeshes.cpp obj
\
NiParticlesData.cpp obj
\
NiParticleMeshesData.cpp obj
\
NiParticleSystem.cpp obj
\
NiMeshParticleSystem.cpp obj
\
NiParticleSystemController.cpp obj
\
NiBSPArrayController.cpp obj
\
NiPathController.cpp obj
\
NiPathInterpolator.cpp obj
\
NiPixelData.cpp obj
\
NiPlanarCollider.cpp obj
\
NiPoint3Interpolator.cpp obj
\
NiPointLight.cpp obj
\
NiPosData.cpp obj
\
NiPSysAgeDeathModifier.cpp obj
\
NiPSysBombModifier.cpp obj
\
NiPSysBoundUpdateModifier.cpp obj
\
NiPSysBoxEmitter.cpp obj
\
NiPSysColliderManager.cpp obj
\
NiPSysColorModifier.cpp obj
\
NiPSysCylinderEmitter.cpp obj
\
NiPSysData.cpp obj
\
NiPSysDragModifier.cpp obj
\
NiPSysEmitterCtlr.cpp obj
\
NiPSysEmitterCtlrData.cpp obj
\
NiPSysEmitterDeclinationCtlr.cpp obj
\
NiPSysEmitterDeclinationVarCtlr.cpp obj
\
NiPSysEmitterInitialRadiusCtlr.cpp obj
\
NiPSysEmitterLifeSpanCtlr.cpp obj
\
NiPSysEmitterSpeedCtlr.cpp obj
\
NiPSysGravityModifier.cpp obj
\
NiPSysGravityStrengthCtlr.cpp obj
\
NiPSysGrowFadeModifier.cpp obj
\
NiPSysMeshEmitter.cpp obj
\
NiPSysMeshUpdateModifier.cpp obj
\
NiPSysModifierActiveCtlr.cpp obj
\
NiPSysPlanarCollider.cpp obj
\
NiPSysPositionModifier.cpp obj
\
NiPSysResetOnLoopCtlr.cpp obj
\
NiPSysRotationModifier.cpp obj
\
NiPSysSpawnModifier.cpp obj
\
NiPSysSphereEmitter.cpp obj
\
NiPSysUpdateCtlr.cpp obj
\
NiRangeLODData.cpp obj
\
NiRotatingParticles.cpp obj
\
NiRotatingParticlesData.cpp obj
\
NiScreenLODData.cpp obj
\
NiSequenceStreamHelper.cpp obj
\
NiShadeProperty.cpp obj
\
NiSkinData.cpp obj
\
NiSkinInstance.cpp obj
\
NiSkinPartition.cpp obj
\
NiSourceTexture.cpp obj
\
NiSpecularProperty.cpp obj
\
NiSphericalCollider.cpp obj
\
NiSpotLight.cpp obj
\
NiStencilProperty.cpp obj
\
NiStringExtraData.cpp obj
\
NiStringPalette.cpp obj
\
NiStringsExtraData.cpp obj
\
NiTextKeyExtraData.cpp obj
\
NiTextureEffect.cpp obj
\
NiTextureTransformController.cpp obj
\
NiTexturingProperty.cpp obj
\
NiTransformController.cpp obj
\
NiTransformData.cpp obj
\
NiTransformInterpolator.cpp obj
\
NiTriShape.cpp obj
\
NiTriShapeData.cpp obj
\
NiTriStrips.cpp obj
\
NiTriStripsData.cpp obj
\
NiUVController.cpp obj
\
NiUVData.cpp obj
\
NiVectorExtraData.cpp obj
\
NiVertexColorProperty.cpp obj
\
NiVertWeightsExtraData.cpp obj
\
NiVisController.cpp obj
\
NiVisData.cpp obj
\
NiWireframeProperty.cpp obj
\
NiZBufferProperty.cpp obj
\
RootCollisionNode.cpp
'
),
CPPPATH
=
'
.
'
,
CPPFLAGS
=
cppflags
)
niflib
=
env
.
StaticLibrary
(
'
niflib
'
,
Split
(
'
niflib.cpp nif_math.cpp NIF_IO.cpp kfm.cpp obj
/
NiObject.cpp obj
/
AInterpolator.cpp obj
/
ABlendInterpolator.cpp obj
/
ABSplineCompInterpolator.cpp obj
/
AKeyedData.cpp obj
/
AParticleModifier.cpp obj
/
APSysModifier.cpp obj
/
APSysEmitter.cpp obj
/
APSysVolumeEmitter.cpp obj
/
bhkRefObject.cpp obj
/
bhkSerializable.cpp obj
/
AbhkConstraint.cpp obj
/
AbhkRagdollConstraint.cpp obj
/
bhkShape.cpp obj
/
AbhkShapeCollection.cpp obj
/
bhkSphereRepShape.cpp obj
/
bhkConvexShape.cpp obj
/
bhkWorldObject.cpp obj
/
bhkEntity.cpp obj
/
NiCollisionObject.cpp obj
/
NiExtraData.cpp obj
/
NiObjectNET.cpp obj
/
NiAVObject.cpp obj
/
NiDynamicEffect.cpp obj
/
NiLight.cpp obj
/
NiProperty.cpp obj
/
NiTimeController.cpp obj
/
ABoneLODController.cpp obj
/
NiSingleInterpolatorController.cpp obj
/
APSysCtlr.cpp obj
/
NiTriBasedGeom.cpp obj
/
TriBasedGeomData.cpp obj
/
APSysData.cpp obj
/
bhkBlendCollisionObject.cpp obj
/
bhkBlendController.cpp obj
/
bhkBoxShape.cpp obj
/
bhkCapsuleShape.cpp obj
/
bhkCollisionObject.cpp obj
/
bhkConvexVerticesShape.cpp obj
/
bhkHingeConstraint.cpp obj
/
bhkLimitedHingeConstraint.cpp obj
/
bhkListShape.cpp obj
/
bhkMalleableConstraint.cpp obj
/
bhkMoppBvTreeShape.cpp obj
/
bhkMultiSphereShape.cpp obj
/
bhkNiTriStripsShape.cpp obj
/
bhkPackedNiTriStripsShape.cpp obj
/
bhkPrismaticConstraint.cpp obj
/
bhkRagdollConstraint.cpp obj
/
bhkRigidBody.cpp obj
/
bhkRigidBodyT.cpp obj
/
bhkSimpleShapePhantom.cpp obj
/
bhkSPCollisionObject.cpp obj
/
bhkSphereShape.cpp obj
/
bhkStiffSpringConstraint.cpp obj
/
bhkTransformShape.cpp obj
/
bhkConvexTransformShape.cpp obj
/
BSBound.cpp obj
/
BSFurnitureMarker.cpp obj
/
BSParentVelocityModifier.cpp obj
/
BSPSysArrayEmitter.cpp obj
/
BSXFlags.cpp obj
/
hkPackedNiTriStripsData.cpp obj
/
NiAlphaController.cpp obj
/
NiAlphaProperty.cpp obj
/
NiAmbientLight.cpp obj
/
NiAutoNormalParticlesData.cpp obj
/
NiBinaryExtraData.cpp obj
/
NiBlendBoolInterpolator.cpp obj
/
NiBlendFloatInterpolator.cpp obj
/
NiBlendPoint3Interpolator.cpp obj
/
NiBlendTransformInterpolator.cpp obj
/
NiBoneLODController.cpp obj
/
NiBoolData.cpp obj
/
NiBooleanExtraData.cpp obj
/
NiBoolInterpolator.cpp obj
/
NiBoolTimelineInterpolator.cpp obj
/
NiBSBoneLODController.cpp obj
/
NiBSplineBasisData.cpp obj
/
NiBSplineCompFloatInterpolator.cpp obj
/
NiBSplineCompPoint3Interpolator.cpp obj
/
NiBSplineCompTransformInterpolator.cpp obj
/
NiBSplineData.cpp obj
/
NiCamera.cpp obj
/
NiCollisionData.cpp obj
/
NiColorData.cpp obj
/
NiColorExtraData.cpp obj
/
NiControllerManager.cpp obj
/
NiControllerSequence.cpp obj
/
NiDefaultAVObjectPalette.cpp obj
/
NiDirectionalLight.cpp obj
/
NiDitherProperty.cpp obj
/
NiFlipController.cpp obj
/
NiFloatData.cpp obj
/
NiFloatExtraData.cpp obj
/
NiFloatExtraDataController.cpp obj
/
NiFloatInterpolator.cpp obj
/
NiFloatsExtraData.cpp obj
/
NiFogProperty.cpp obj
/
NiGeomMorpherController.cpp obj
/
NiGravity.cpp obj
/
NiIntegerExtraData.cpp obj
/
NiIntegersExtraData.cpp obj
/
NiKeyframeController.cpp obj
/
BSKeyframeController.cpp obj
/
NiKeyframeData.cpp obj
/
NiLightColorController.cpp obj
/
NiLightDimmerController.cpp obj
/
NiLookAtController.cpp obj
/
NiLookAtInterpolator.cpp obj
/
NiMaterialColorController.cpp obj
/
NiMaterialProperty.cpp obj
/
NiMeshPSysData.cpp obj
/
NiMorphData.cpp obj
/
NiMultiTargetTransformController.cpp obj
/
NiNode.cpp obj
/
AvoidNode.cpp obj
/
FxWidget.cpp obj
/
FxButton.cpp obj
/
FxRadioButton.cpp obj
/
NiBillboardNode.cpp obj
/
NiBSAnimationNode.cpp obj
/
NiBSParticleNode.cpp obj
/
NiLODNode.cpp obj
/
NiPalette.cpp obj
/
NiParticleBomb.cpp obj
/
NiParticleColorModifier.cpp obj
/
NiParticleGrowFade.cpp obj
/
NiParticleMeshModifier.cpp obj
/
NiParticleRotation.cpp obj
/
NiParticles.cpp obj
/
NiAutoNormalParticles.cpp obj
/
NiParticleMeshes.cpp obj
/
NiParticlesData.cpp obj
/
NiParticleMeshesData.cpp obj
/
NiParticleSystem.cpp obj
/
NiMeshParticleSystem.cpp obj
/
NiParticleSystemController.cpp obj
/
NiBSPArrayController.cpp obj
/
NiPathController.cpp obj
/
NiPathInterpolator.cpp obj
/
NiPixelData.cpp obj
/
NiPlanarCollider.cpp obj
/
NiPoint3Interpolator.cpp obj
/
NiPointLight.cpp obj
/
NiPosData.cpp obj
/
NiPSysAgeDeathModifier.cpp obj
/
NiPSysBombModifier.cpp obj
/
NiPSysBoundUpdateModifier.cpp obj
/
NiPSysBoxEmitter.cpp obj
/
NiPSysColliderManager.cpp obj
/
NiPSysColorModifier.cpp obj
/
NiPSysCylinderEmitter.cpp obj
/
NiPSysData.cpp obj
/
NiPSysDragModifier.cpp obj
/
NiPSysEmitterCtlr.cpp obj
/
NiPSysEmitterCtlrData.cpp obj
/
NiPSysEmitterDeclinationCtlr.cpp obj
/
NiPSysEmitterDeclinationVarCtlr.cpp obj
/
NiPSysEmitterInitialRadiusCtlr.cpp obj
/
NiPSysEmitterLifeSpanCtlr.cpp obj
/
NiPSysEmitterSpeedCtlr.cpp obj
/
NiPSysGravityModifier.cpp obj
/
NiPSysGravityStrengthCtlr.cpp obj
/
NiPSysGrowFadeModifier.cpp obj
/
NiPSysMeshEmitter.cpp obj
/
NiPSysMeshUpdateModifier.cpp obj
/
NiPSysModifierActiveCtlr.cpp obj
/
NiPSysPlanarCollider.cpp obj
/
NiPSysPositionModifier.cpp obj
/
NiPSysResetOnLoopCtlr.cpp obj
/
NiPSysRotationModifier.cpp obj
/
NiPSysSpawnModifier.cpp obj
/
NiPSysSphereEmitter.cpp obj
/
NiPSysUpdateCtlr.cpp obj
/
NiRangeLODData.cpp obj
/
NiRotatingParticles.cpp obj
/
NiRotatingParticlesData.cpp obj
/
NiScreenLODData.cpp obj
/
NiSequenceStreamHelper.cpp obj
/
NiShadeProperty.cpp obj
/
NiSkinData.cpp obj
/
NiSkinInstance.cpp obj
/
NiSkinPartition.cpp obj
/
NiSourceTexture.cpp obj
/
NiSpecularProperty.cpp obj
/
NiSphericalCollider.cpp obj
/
NiSpotLight.cpp obj
/
NiStencilProperty.cpp obj
/
NiStringExtraData.cpp obj
/
NiStringPalette.cpp obj
/
NiStringsExtraData.cpp obj
/
NiTextKeyExtraData.cpp obj
/
NiTextureEffect.cpp obj
/
NiTextureTransformController.cpp obj
/
NiTexturingProperty.cpp obj
/
NiTransformController.cpp obj
/
NiTransformData.cpp obj
/
NiTransformInterpolator.cpp obj
/
NiTriShape.cpp obj
/
NiTriShapeData.cpp obj
/
NiTriStrips.cpp obj
/
NiTriStripsData.cpp obj
/
NiUVController.cpp obj
/
NiUVData.cpp obj
/
NiVectorExtraData.cpp obj
/
NiVertexColorProperty.cpp obj
/
NiVertWeightsExtraData.cpp obj
/
NiVisController.cpp obj
/
NiVisData.cpp obj
/
NiWireframeProperty.cpp obj
/
NiZBufferProperty.cpp obj
/
RootCollisionNode.cpp
'
),
CPPPATH
=
'
.
'
,
CPPFLAGS
=
cppflags
)
#nifshlib = env.SharedLibrary('_niflib', 'pyniflib.i', LIBS=['niflib'] + python_lib, LIBPATH=['.'] + python_libpath, SWIGFLAGS = '-c++ -python', CPPPATH = ['.'] + python_include, CPPFLAGS = cppflags, SHLIBPREFIX='')
# makes sure niflib.lib is built before trying to build _niflib.dll
#env.Depends(nifshlib, niflib)
...
...
This diff is collapsed.
Click to expand it.
xml_extract.h
+
318
−
337
View file @
2e95cea8
...
...
@@ -82,7 +82,7 @@ class NiLight;
class
NiProperty
;
class
NiTimeController
;
class
ABoneLODController
;
class
A
SingleInterpolatorController
;
class
Ni
SingleInterpolatorController
;
class
APSysCtlr
;
class
NiTriBasedGeom
;
class
TriBasedGeomData
;
...
...
@@ -544,11 +544,7 @@ struct ControllerLink {
* Offset in the string palette where the name of the controlled node
* (NiNode, NiTriShape, ...) starts.
*/
ushort
nodeNameOffset
;
/*!
* Unknown, always 0.
*/
ushort
unknownShort1
;
uint
nodeNameOffset
;
/*!
* Name of the property (NiMaterialProperty, ...), if this controller
* controls a property.
...
...
@@ -558,11 +554,7 @@ struct ControllerLink {
* Offset in the string palette where the property (NiMaterialProperty,
* ...) starts, if this controller controls a property. Otherwise, -1.
*/
ushort
propertyTypeOffset
;
/*!
* Unknown, usually 0, but sometimes also 0xFFFF.
*/
ushort
unknownShort2
;
uint
propertyTypeOffset
;
/*!
* Probably the block type name of the controller in the NIF file that is
* child of the controlled block.
...
...
@@ -576,11 +568,7 @@ struct ControllerLink {
* controller in the NIF file that is child of the controlled block, via
* its type name.
*/
ushort
controllerTypeOffset
;
/*!
* Unknown, always 0.
*/
ushort
unknownShort3
;
uint
controllerTypeOffset
;
/*!
* Some variable string (such as 'SELF_ILLUM', '0-0-TT_TRANSLATE_U',
* 'tongue_out', etc.).
...
...
@@ -591,11 +579,7 @@ struct ControllerLink {
* as 'SELF_ILLUM', '0-0-TT_TRANSLATE_U', 'tongue_out', etc.). Usually,
* -1.
*/
ushort
variableOffset1
;
/*!
* Unknown, usually 0, but sometimes 0xFFFF.
*/
ushort
unknownShort4
;
uint
variableOffset1
;
/*!
* Another variable string, apparently used for particle system
* controllers.
...
...
@@ -606,11 +590,7 @@ struct ControllerLink {
* only 'EmitterActive' and 'BirthRate' have been observed in official
* files, used for particle system controllers). Usually, -1.
*/
ushort
variableOffset2
;
/*!
* Unknown, usually 0, but sometimes 0xFFFF.
*/
ushort
unknownShort5
;
uint
variableOffset2
;
};
/*!
...
...
@@ -1331,6 +1311,7 @@ bool active; \
#define A_P_SYS_MODIFIER_CONSTRUCT \
#define A_P_SYS_MODIFIER_READ \
uint block_num; \
NiObject::Read( in, link_stack, version ); \
NifStream( name, in, version ); \
NifStream( order, in, version ); \
...
...
@@ -1435,6 +1416,7 @@ NiNode * emitterObject; \
#define A_P_SYS_VOLUME_EMITTER_CONSTRUCT \
#define A_P_SYS_VOLUME_EMITTER_READ \
uint block_num; \
APSysEmitter::Read( in, link_stack, version ); \
if ( version >= 0x14000004 ) { \
NifStream( block_num, in, version ); \
...
...
@@ -1516,6 +1498,7 @@ uint priority; \
: priority(1) \
#define ABHK_CONSTRAINT_READ \
uint block_num; \
bhkSerializable::Read( in, link_stack, version ); \
uint numBodies; \
NifStream( numBodies, in, version ); \
...
...
@@ -1717,28 +1700,28 @@ bhkSphereRepShape::FixLinks( objects, link_stack, version ); \
#define BHK_WORLD_OBJECT_MEMBERS \
#define BHK_WORLD_OBJECT_INCLUDE "bhkS
erializabl
e.h" \
#define BHK_WORLD_OBJECT_INCLUDE "bhkS
hap
e.h" \
#define BHK_WORLD_OBJECT_PARENT bhkS
erializabl
e \
#define BHK_WORLD_OBJECT_PARENT bhkS
hap
e \
#define BHK_WORLD_OBJECT_CONSTRUCT \
#define BHK_WORLD_OBJECT_READ \
bhkS
erializabl
e::Read( in, link_stack, version ); \
bhkS
hap
e::Read( in, link_stack, version ); \
#define BHK_WORLD_OBJECT_WRITE \
bhkS
erializabl
e::Write( out, link_map, version ); \
bhkS
hap
e::Write( out, link_map, version ); \
#define BHK_WORLD_OBJECT_STRING \
stringstream out; \
out << bhkS
erializabl
e::asString(); \
out << bhkS
hap
e::asString(); \
return out.str(); \
#define BHK_WORLD_OBJECT_FIXLINKS \
bhkS
erializabl
e::FixLinks( objects, link_stack, version ); \
bhkS
hap
e::FixLinks( objects, link_stack, version ); \
#define BHK_ENTITY_MEMBERS \
Ref<bhkS
phereRepS
hape > shape; \
Ref<bhkShape > shape; \
uint layer; \
#define BHK_ENTITY_INCLUDE "bhkWorldObject.h" \
...
...
@@ -1768,7 +1751,7 @@ return out.str(); \
#define BHK_ENTITY_FIXLINKS \
bhkWorldObject::FixLinks( objects, link_stack, version ); \
shape = DynamicCast<bhkS
phereRepS
hape>(objects[link_stack.front()]); \
shape = DynamicCast<bhkShape>(objects[link_stack.front()]); \
link_stack.pop_front(); \
#define NI_COLLISION_OBJECT_MEMBERS \
...
...
@@ -1932,7 +1915,7 @@ controller = DynamicCast<NiTimeController>(objects[link_stack.front()]); \
link_stack.pop_front(); \
#define NI_A_V_OBJECT_MEMBERS \
Flags
flags; \
unsigned short
flags; \
Vector3 translation; \
Matrix33 rotation; \
float scale; \
...
...
@@ -1941,6 +1924,7 @@ vector<Ref<NiProperty > > properties; \
bool hasBoundingBox; \
BoundingBox boundingBox; \
Ref<NiCollisionData > collisionData; \
Ref<NiCollisionObject > collisionObject; \
#define NI_A_V_OBJECT_INCLUDE "NiObjectNET.h" \
...
...
@@ -1975,7 +1959,11 @@ if ( version <= 0x04020200 ) { \
NifStream( boundingBox.radius, in, version ); \
}; \
}; \
if ( version >= 0x0A000100 ) { \
if ( ( version >= 0x0A000100 ) && ( version <= 0x14000004 ) ) { \
NifStream( block_num, in, version ); \
link_stack.push_back( block_num ); \
}; \
if ( version >= 0x14000005 ) { \
NifStream( block_num, in, version ); \
link_stack.push_back( block_num ); \
}; \
...
...
@@ -2004,9 +1992,12 @@ if ( version <= 0x04020200 ) { \
NifStream( boundingBox.radius, out, version ); \
}; \
}; \
if ( version >= 0x0A000100 ) { \
if (
(
version >= 0x0A000100 )
&& ( version <= 0x14000004 ) )
{ \
NifStream( link_map[StaticCast<NiObject>(collisionData)], out, version ); \
}; \
if ( version >= 0x14000005 ) { \
NifStream( link_map[StaticCast<NiObject>(collisionObject)], out, version ); \
}; \
#define NI_A_V_OBJECT_STRING \
stringstream out; \
...
...
@@ -2028,6 +2019,7 @@ if ( hasBoundingBox != 0 ) { \
out << " Radius: " << boundingBox.radius << endl; \
}; \
out << "Collision Data: " << collisionData << endl; \
out << "Collision Object: " << collisionObject << endl; \
return out.str(); \
#define NI_A_V_OBJECT_FIXLINKS \
...
...
@@ -2042,10 +2034,14 @@ if ( version <= 0x04020200 ) { \
if ( hasBoundingBox != 0 ) { \
}; \
}; \
if ( version >= 0x0A000100 ) { \
if (
(
version >= 0x0A000100 )
&& ( version <= 0x14000004 ) )
{ \
collisionData = DynamicCast<NiCollisionData>(objects[link_stack.front()]); \
link_stack.pop_front(); \
}; \
if ( version >= 0x14000005 ) { \
collisionObject = DynamicCast<NiCollisionObject>(objects[link_stack.front()]); \
link_stack.pop_front(); \
}; \
#define NI_DYNAMIC_EFFECT_MEMBERS \
bool hasAffectedNodeList_; \
...
...
@@ -2192,12 +2188,12 @@ NiObjectNET::FixLinks( objects, link_stack, version ); \
#define NI_TIME_CONTROLLER_MEMBERS \
Ref<NiTimeController > nextController; \
Flags
flags; \
unsigned short
flags; \
float frequency; \
float phase; \
float startTime; \
float stopTime; \
Ni
AV
Object * target; \
NiObject * target; \
#define NI_TIME_CONTROLLER_INCLUDE "NiObject.h" \
...
...
@@ -2244,7 +2240,7 @@ return out.str(); \
NiObject::FixLinks( objects, link_stack, version ); \
nextController = DynamicCast<NiTimeController>(objects[link_stack.front()]); \
link_stack.pop_front(); \
target = DynamicCast<Ni
AV
Object>(objects[link_stack.front()]); \
target = DynamicCast<NiObject>(objects[link_stack.front()]); \
link_stack.pop_front(); \
#define A_BONE_L_O_D_CONTROLLER_MEMBERS \
...
...
@@ -2315,16 +2311,16 @@ for (uint i0 = 0; i0 < numNodeGroups; i0++) { \
}; \
}; \
#define
A
_SINGLE_INTERPOLATOR_CONTROLLER_MEMBERS \
#define
NI
_SINGLE_INTERPOLATOR_CONTROLLER_MEMBERS \
Ref<AInterpolator > interpolator; \
#define
A
_SINGLE_INTERPOLATOR_CONTROLLER_INCLUDE "NiTimeController.h" \
#define
NI
_SINGLE_INTERPOLATOR_CONTROLLER_INCLUDE "NiTimeController.h" \
#define
A
_SINGLE_INTERPOLATOR_CONTROLLER_PARENT NiTimeController \
#define
NI
_SINGLE_INTERPOLATOR_CONTROLLER_PARENT NiTimeController \
#define
A
_SINGLE_INTERPOLATOR_CONTROLLER_CONSTRUCT \
#define
NI
_SINGLE_INTERPOLATOR_CONTROLLER_CONSTRUCT \
#define
A
_SINGLE_INTERPOLATOR_CONTROLLER_READ \
#define
NI
_SINGLE_INTERPOLATOR_CONTROLLER_READ \
uint block_num; \
NiTimeController::Read( in, link_stack, version ); \
if ( version >= 0x0A020000 ) { \
...
...
@@ -2332,19 +2328,19 @@ if ( version >= 0x0A020000 ) { \
link_stack.push_back( block_num ); \
}; \
#define
A
_SINGLE_INTERPOLATOR_CONTROLLER_WRITE \
#define
NI
_SINGLE_INTERPOLATOR_CONTROLLER_WRITE \
NiTimeController::Write( out, link_map, version ); \
if ( version >= 0x0A020000 ) { \
NifStream( link_map[StaticCast<NiObject>(interpolator)], out, version ); \
}; \
#define
A
_SINGLE_INTERPOLATOR_CONTROLLER_STRING \
#define
NI
_SINGLE_INTERPOLATOR_CONTROLLER_STRING \
stringstream out; \
out << NiTimeController::asString(); \
out << "Interpolator: " << interpolator << endl; \
return out.str(); \
#define
A
_SINGLE_INTERPOLATOR_CONTROLLER_FIXLINKS \
#define
NI
_SINGLE_INTERPOLATOR_CONTROLLER_FIXLINKS \
NiTimeController::FixLinks( objects, link_stack, version ); \
if ( version >= 0x0A020000 ) { \
interpolator = DynamicCast<AInterpolator>(objects[link_stack.front()]); \
...
...
@@ -2354,28 +2350,28 @@ if ( version >= 0x0A020000 ) { \
#define A_P_SYS_CTLR_MEMBERS \
string modifierName; \
#define A_P_SYS_CTLR_INCLUDE "
A
SingleInterpolatorController.h" \
#define A_P_SYS_CTLR_INCLUDE "
Ni
SingleInterpolatorController.h" \
#define A_P_SYS_CTLR_PARENT
A
SingleInterpolatorController \
#define A_P_SYS_CTLR_PARENT
Ni
SingleInterpolatorController \
#define A_P_SYS_CTLR_CONSTRUCT \
#define A_P_SYS_CTLR_READ \
A
SingleInterpolatorController::Read( in, link_stack, version ); \
Ni
SingleInterpolatorController::Read( in, link_stack, version ); \
NifStream( modifierName, in, version ); \
#define A_P_SYS_CTLR_WRITE \
A
SingleInterpolatorController::Write( out, link_map, version ); \
Ni
SingleInterpolatorController::Write( out, link_map, version ); \
NifStream( modifierName, out, version ); \
#define A_P_SYS_CTLR_STRING \
stringstream out; \
out <<
A
SingleInterpolatorController::asString(); \
out <<
Ni
SingleInterpolatorController::asString(); \
out << "Modifier Name: " << modifierName << endl; \
return out.str(); \
#define A_P_SYS_CTLR_FIXLINKS \
A
SingleInterpolatorController::FixLinks( objects, link_stack, version ); \
Ni
SingleInterpolatorController::FixLinks( objects, link_stack, version ); \
#define NI_TRI_BASED_GEOM_MEMBERS \
Ref<TriBasedGeomData > data; \
...
...
@@ -3071,7 +3067,7 @@ return out.str(); \
AbhkRagdollConstraint::FixLinks( objects, link_stack, version ); \
#define BHK_LIST_SHAPE_MEMBERS \
vector<Ref<bhkS
phereRepS
hape > > subShapes; \
vector<Ref<bhkShape > > subShapes; \
uint material; \
vector<float > unknownFloats; \
vector<uint > unknownInts; \
...
...
@@ -3143,7 +3139,7 @@ return out.str(); \
#define BHK_LIST_SHAPE_FIXLINKS \
AbhkShapeCollection::FixLinks( objects, link_stack, version ); \
for (uint i0 = 0; i0 < numSubShapes; i0++) { \
subShapes[i0] = DynamicCast<bhkS
phereRepS
hape>(objects[link_stack.front()]); \
subShapes[i0] = DynamicCast<bhkShape>(objects[link_stack.front()]); \
link_stack.pop_front(); \
}; \
for (uint i0 = 0; i0 < 6; i0++) { \
...
...
@@ -3479,7 +3475,7 @@ for (uint i0 = 0; i0 < numUnknownInts3; i0++) { \
#define BHK_PACKED_NI_TRI_STRIPS_SHAPE_MEMBERS \
vector<vector<uint > > unknownInts; \
vector<float > unknownFloats; \
Ref<NiTriStripsData > data; \
Ref<
hkPacked
NiTriStripsData > data; \
#define BHK_PACKED_NI_TRI_STRIPS_SHAPE_INCLUDE "AbhkShapeCollection.h" \
...
...
@@ -3545,7 +3541,7 @@ for (uint i0 = 0; i0 < numUnknownInts; i0++) { \
}; \
for (uint i0 = 0; i0 < 13; i0++) { \
}; \
data = DynamicCast<NiTriStripsData>(objects[link_stack.front()]); \
data = DynamicCast<
hkPacked
NiTriStripsData>(objects[link_stack.front()]); \
link_stack.pop_front(); \
#define BHK_PRISMATIC_CONSTRAINT_MEMBERS \
...
...
@@ -4080,60 +4076,52 @@ return out.str(); \
bhkTransformShape::FixLinks( objects, link_stack, version ); \
#define B_S_BOUND_MEMBERS \
string name; \
vector<float > unknownFloats; \
#define B_S_BOUND_INCLUDE "Ni
Object
.h" \
#define B_S_BOUND_INCLUDE "Ni
ExtraData
.h" \
#define B_S_BOUND_PARENT Ni
Object
\
#define B_S_BOUND_PARENT Ni
ExtraData
\
#define B_S_BOUND_CONSTRUCT \
#define B_S_BOUND_READ \
NiObject::Read( in, link_stack, version ); \
NifStream( name, in, version ); \
NiExtraData::Read( in, link_stack, version ); \
unknownFloats.resize(6); \
for (uint i0 = 0; i0 < 6; i0++) { \
NifStream( unknownFloats[i0], in, version ); \
}; \
#define B_S_BOUND_WRITE \
NiObject::Write( out, link_map, version ); \
NifStream( name, out, version ); \
NiExtraData::Write( out, link_map, version ); \
for (uint i0 = 0; i0 < 6; i0++) { \
NifStream( unknownFloats[i0], out, version ); \
}; \
#define B_S_BOUND_STRING \
stringstream out; \
out << NiObject::asString(); \
out << "Name: " << name << endl; \
out << NiExtraData::asString(); \
for (uint i0 = 0; i0 < 6; i0++) { \
out << " Unknown Floats[" << i0 << "]: " << unknownFloats[i0] << endl; \
}; \
return out.str(); \
#define B_S_BOUND_FIXLINKS \
Ni
Object
::FixLinks( objects, link_stack, version ); \
Ni
ExtraData
::FixLinks( objects, link_stack, version ); \
for (uint i0 = 0; i0 < 6; i0++) { \
}; \
#define B_S_FURNITURE_MARKER_MEMBERS \
string name; \
vector<FurniturePosition > positions; \
#define B_S_FURNITURE_MARKER_INCLUDE "Ni
Object
.h" \
#define B_S_FURNITURE_MARKER_INCLUDE "Ni
ExtraData
.h" \
#define B_S_FURNITURE_MARKER_PARENT Ni
Object
\
#define B_S_FURNITURE_MARKER_PARENT Ni
ExtraData
\
#define B_S_FURNITURE_MARKER_CONSTRUCT \
#define B_S_FURNITURE_MARKER_READ \
Ni
Object
::Read( in, link_stack, version ); \
Ni
ExtraData
::Read( in, link_stack, version ); \
uint numPositions; \
if ( version <= 0x14000005 ) { \
NifStream( name, in, version ); \
}; \
NifStream( numPositions, in, version ); \
positions.resize(numPositions); \
for (uint i0 = 0; i0 < numPositions; i0++) { \
...
...
@@ -4144,12 +4132,9 @@ for (uint i0 = 0; i0 < numPositions; i0++) { \
}; \
#define B_S_FURNITURE_MARKER_WRITE \
Ni
Object
::Write( out, link_map, version ); \
Ni
ExtraData
::Write( out, link_map, version ); \
uint numPositions; \
numPositions = uint(positions.size()); \
if ( version <= 0x14000005 ) { \
NifStream( name, out, version ); \
}; \
NifStream( numPositions, out, version ); \
for (uint i0 = 0; i0 < numPositions; i0++) { \
NifStream( positions[i0].unknownVector, out, version ); \
...
...
@@ -4160,8 +4145,7 @@ for (uint i0 = 0; i0 < numPositions; i0++) { \
#define B_S_FURNITURE_MARKER_STRING \
stringstream out; \
out << NiObject::asString(); \
out << "Name: " << name << endl; \
out << NiExtraData::asString(); \
out << "Num Positions: " << numPositions << endl; \
for (uint i0 = 0; i0 < numPositions; i0++) { \
out << " Unknown Vector: " << positions[i0].unknownVector << endl; \
...
...
@@ -4172,9 +4156,7 @@ for (uint i0 = 0; i0 < numPositions; i0++) { \
return out.str(); \
#define B_S_FURNITURE_MARKER_FIXLINKS \
NiObject::FixLinks( objects, link_stack, version ); \
if ( version <= 0x14000005 ) { \
}; \
NiExtraData::FixLinks( objects, link_stack, version ); \
for (uint i0 = 0; i0 < numPositions; i0++) { \
}; \
...
...
@@ -4227,35 +4209,30 @@ return out.str(); \
APSysVolumeEmitter::FixLinks( objects, link_stack, version ); \
#define B_S_X_FLAGS_MEMBERS \
string name; \
uint flags; \
#define B_S_X_FLAGS_INCLUDE "Ni
Object
.h" \
#define B_S_X_FLAGS_INCLUDE "Ni
ExtraData
.h" \
#define B_S_X_FLAGS_PARENT Ni
Object
\
#define B_S_X_FLAGS_PARENT Ni
ExtraData
\
#define B_S_X_FLAGS_CONSTRUCT \
: name("BSX") \
#define B_S_X_FLAGS_READ \
NiObject::Read( in, link_stack, version ); \
NifStream( name, in, version ); \
NiExtraData::Read( in, link_stack, version ); \
NifStream( flags, in, version ); \
#define B_S_X_FLAGS_WRITE \
NiObject::Write( out, link_map, version ); \
NifStream( name, out, version ); \
NiExtraData::Write( out, link_map, version ); \
NifStream( flags, out, version ); \
#define B_S_X_FLAGS_STRING \
stringstream out; \
out << NiObject::asString(); \
out << "Name: " << name << endl; \
out << NiExtraData::asString(); \
out << "Flags: " << flags << endl; \
return out.str(); \
#define B_S_X_FLAGS_FIXLINKS \
Ni
Object
::FixLinks( objects, link_stack, version ); \
Ni
ExtraData
::FixLinks( objects, link_stack, version ); \
#define HK_PACKED_NI_TRI_STRIPS_DATA_MEMBERS \
vector<hkTriangle > triangles; \
...
...
@@ -4326,41 +4303,41 @@ for (uint i0 = 0; i0 < numVertices; i0++) { \
#define NI_ALPHA_CONTROLLER_MEMBERS \
Ref<NiFloatData > data; \
#define NI_ALPHA_CONTROLLER_INCLUDE "
A
SingleInterpolatorController.h" \
#define NI_ALPHA_CONTROLLER_INCLUDE "
Ni
SingleInterpolatorController.h" \
#define NI_ALPHA_CONTROLLER_PARENT
A
SingleInterpolatorController \
#define NI_ALPHA_CONTROLLER_PARENT
Ni
SingleInterpolatorController \
#define NI_ALPHA_CONTROLLER_CONSTRUCT \
#define NI_ALPHA_CONTROLLER_READ \
uint block_num; \
A
SingleInterpolatorController::Read( in, link_stack, version ); \
Ni
SingleInterpolatorController::Read( in, link_stack, version ); \
if ( version <= 0x0A010000 ) { \
NifStream( block_num, in, version ); \
link_stack.push_back( block_num ); \
}; \
#define NI_ALPHA_CONTROLLER_WRITE \
A
SingleInterpolatorController::Write( out, link_map, version ); \
Ni
SingleInterpolatorController::Write( out, link_map, version ); \
if ( version <= 0x0A010000 ) { \
NifStream( link_map[StaticCast<NiObject>(data)], out, version ); \
}; \
#define NI_ALPHA_CONTROLLER_STRING \
stringstream out; \
out <<
A
SingleInterpolatorController::asString(); \
out <<
Ni
SingleInterpolatorController::asString(); \
out << "Data: " << data << endl; \
return out.str(); \
#define NI_ALPHA_CONTROLLER_FIXLINKS \
A
SingleInterpolatorController::FixLinks( objects, link_stack, version ); \
Ni
SingleInterpolatorController::FixLinks( objects, link_stack, version ); \
if ( version <= 0x0A010000 ) { \
data = DynamicCast<NiFloatData>(objects[link_stack.front()]); \
link_stack.pop_front(); \
}; \
#define NI_ALPHA_PROPERTY_MEMBERS \
Flags
flags; \
unsigned short
flags; \
byte threshold; \
#define NI_ALPHA_PROPERTY_INCLUDE "NiProperty.h" \
...
...
@@ -5243,6 +5220,7 @@ vector<float > unknown8; \
#define NI_COLLISION_DATA_CONSTRUCT \
#define NI_COLLISION_DATA_READ \
uint block_num; \
NiObject::Read( in, link_stack, version ); \
NifStream( block_num, in, version ); \
link_stack.push_back( block_num ); \
...
...
@@ -5513,35 +5491,30 @@ if ( version <= 0x0A010000 ) { \
}; \
if ( version >= 0x0A020000 ) { \
NifStream( textKeys.nodeNameOffset, in, version ); \
NifStream( textKeys.unknownShort1, in, version ); \
}; \
if ( ( version >= 0x0A01006A ) && ( version <= 0x0A01006A ) ) { \
NifStream( textKeys.propertyType, in, version ); \
}; \
if ( version >= 0x0A020000 ) { \
NifStream( textKeys.propertyTypeOffset, in, version ); \
NifStream( textKeys.unknownShort2, in, version ); \
}; \
if ( ( version >= 0x0A01006A ) && ( version <= 0x0A01006A ) ) { \
NifStream( textKeys.controllerType, in, version ); \
}; \
if ( version >= 0x0A020000 ) { \
NifStream( textKeys.controllerTypeOffset, in, version ); \
NifStream( textKeys.unknownShort3, in, version ); \
}; \
if ( ( version >= 0x0A01006A ) && ( version <= 0x0A01006A ) ) { \
NifStream( textKeys.variable1, in, version ); \
}; \
if ( version >= 0x0A020000 ) { \
NifStream( textKeys.variableOffset1, in, version ); \
NifStream( textKeys.unknownShort4, in, version ); \
}; \
if ( ( version >= 0x0A01006A ) && ( version <= 0x0A01006A ) ) { \
NifStream( textKeys.variable2, in, version ); \
}; \
if ( version >= 0x0A020000 ) { \
NifStream( textKeys.variableOffset2, in, version ); \
NifStream( textKeys.unknownShort5, in, version ); \
}; \
}; \
NifStream( numControlledBlocks, in, version ); \
...
...
@@ -5576,35 +5549,30 @@ for (uint i0 = 0; i0 < numControlledBlocks; i0++) { \
}; \
if ( version >= 0x0A020000 ) { \
NifStream( controlledBlocks[i0].nodeNameOffset, in, version ); \
NifStream( controlledBlocks[i0].unknownShort1, in, version ); \
}; \
if ( ( version >= 0x0A01006A ) && ( version <= 0x0A01006A ) ) { \
NifStream( controlledBlocks[i0].propertyType, in, version ); \
}; \
if ( version >= 0x0A020000 ) { \
NifStream( controlledBlocks[i0].propertyTypeOffset, in, version ); \
NifStream( controlledBlocks[i0].unknownShort2, in, version ); \
}; \
if ( ( version >= 0x0A01006A ) && ( version <= 0x0A01006A ) ) { \
NifStream( controlledBlocks[i0].controllerType, in, version ); \
}; \
if ( version >= 0x0A020000 ) { \
NifStream( controlledBlocks[i0].controllerTypeOffset, in, version ); \
NifStream( controlledBlocks[i0].unknownShort3, in, version ); \
}; \
if ( ( version >= 0x0A01006A ) && ( version <= 0x0A01006A ) ) { \
NifStream( controlledBlocks[i0].variable1, in, version ); \
}; \
if ( version >= 0x0A020000 ) { \
NifStream( controlledBlocks[i0].variableOffset1, in, version ); \
NifStream( controlledBlocks[i0].unknownShort4, in, version ); \
}; \
if ( ( version >= 0x0A01006A ) && ( version <= 0x0A01006A ) ) { \
NifStream( controlledBlocks[i0].variable2, in, version ); \
}; \
if ( version >= 0x0A020000 ) { \
NifStream( controlledBlocks[i0].variableOffset2, in, version ); \
NifStream( controlledBlocks[i0].unknownShort5, in, version ); \
}; \
}; \
if ( version >= 0x0A01006A ) { \
...
...
@@ -5656,19 +5624,14 @@ out << "Priority?: " << textKeys.priority_ << endl; \
out << "String Palette: " << textKeys.stringPalette << endl; \
out << "Node Name: " << textKeys.nodeName << endl; \
out << "Node Name Offset: " << textKeys.nodeNameOffset << endl; \
out << "Unknown Short 1: " << textKeys.unknownShort1 << endl; \
out << "Property Type: " << textKeys.propertyType << endl; \
out << "Property Type Offset: " << textKeys.propertyTypeOffset << endl; \
out << "Unknown Short 2: " << textKeys.unknownShort2 << endl; \
out << "Controller Type: " << textKeys.controllerType << endl; \
out << "Controller Type Offset: " << textKeys.controllerTypeOffset << endl; \
out << "Unknown Short 3: " << textKeys.unknownShort3 << endl; \
out << "Variable 1: " << textKeys.variable1 << endl; \
out << "Variable Offset 1: " << textKeys.variableOffset1 << endl; \
out << "Unknown Short 4: " << textKeys.unknownShort4 << endl; \
out << "Variable 2: " << textKeys.variable2 << endl; \
out << "Variable Offset 2: " << textKeys.variableOffset2 << endl; \
out << "Unknown Short 5: " << textKeys.unknownShort5 << endl; \
out << "Num Controlled Blocks: " << numControlledBlocks << endl; \
out << "Unknown Int 1: " << unknownInt1 << endl; \
for (uint i0 = 0; i0 < numControlledBlocks; i0++) { \
...
...
@@ -5681,19 +5644,14 @@ for (uint i0 = 0; i0 < numControlledBlocks; i0++) { \
out << " String Palette: " << controlledBlocks[i0].stringPalette << endl; \
out << " Node Name: " << controlledBlocks[i0].nodeName << endl; \
out << " Node Name Offset: " << controlledBlocks[i0].nodeNameOffset << endl; \
out << " Unknown Short 1: " << controlledBlocks[i0].unknownShort1 << endl; \
out << " Property Type: " << controlledBlocks[i0].propertyType << endl; \
out << " Property Type Offset: " << controlledBlocks[i0].propertyTypeOffset << endl; \
out << " Unknown Short 2: " << controlledBlocks[i0].unknownShort2 << endl; \
out << " Controller Type: " << controlledBlocks[i0].controllerType << endl; \
out << " Controller Type Offset: " << controlledBlocks[i0].controllerTypeOffset << endl; \
out << " Unknown Short 3: " << controlledBlocks[i0].unknownShort3 << endl; \
out << " Variable 1: " << controlledBlocks[i0].variable1 << endl; \
out << " Variable Offset 1: " << controlledBlocks[i0].variableOffset1 << endl; \
out << " Unknown Short 4: " << controlledBlocks[i0].unknownShort4 << endl; \
out << " Variable 2: " << controlledBlocks[i0].variable2 << endl; \
out << " Variable Offset 2: " << controlledBlocks[i0].variableOffset2 << endl; \
out << " Unknown Short 5: " << controlledBlocks[i0].unknownShort5 << endl; \
}; \
out << "Weight: " << weight << endl; \
out << "Text Keys 2: " << textKeys2 << endl; \
...
...
@@ -5825,6 +5783,7 @@ vector<AVObject > objects; \
#define NI_DEFAULT_A_V_OBJECT_PALETTE_CONSTRUCT \
#define NI_DEFAULT_A_V_OBJECT_PALETTE_READ \
uint block_num; \
NiObject::Read( in, link_stack, version ); \
uint numObjects; \
NifStream( unknownInt, in, version ); \
...
...
@@ -5888,7 +5847,7 @@ return out.str(); \
NiLight::FixLinks( objects, link_stack, version ); \
#define NI_DITHER_PROPERTY_MEMBERS \
Flags
flags; \
unsigned short
flags; \
#define NI_DITHER_PROPERTY_INCLUDE "NiProperty.h" \
...
...
@@ -5919,15 +5878,15 @@ uint unknownInt2; \
float delta; \
vector<Ref<NiSourceTexture > > sources; \
#define NI_FLIP_CONTROLLER_INCLUDE "
A
SingleInterpolatorController.h" \
#define NI_FLIP_CONTROLLER_INCLUDE "
Ni
SingleInterpolatorController.h" \
#define NI_FLIP_CONTROLLER_PARENT
A
SingleInterpolatorController \
#define NI_FLIP_CONTROLLER_PARENT
Ni
SingleInterpolatorController \
#define NI_FLIP_CONTROLLER_CONSTRUCT \
#define NI_FLIP_CONTROLLER_READ \
uint block_num; \
A
SingleInterpolatorController::Read( in, link_stack, version ); \
Ni
SingleInterpolatorController::Read( in, link_stack, version ); \
uint numSources; \
NifStream( textureSlot, in, version ); \
if ( version <= 0x0A010000 ) { \
...
...
@@ -5942,7 +5901,7 @@ for (uint i0 = 0; i0 < numSources; i0++) { \
}; \
#define NI_FLIP_CONTROLLER_WRITE \
A
SingleInterpolatorController::Write( out, link_map, version ); \
Ni
SingleInterpolatorController::Write( out, link_map, version ); \
uint numSources; \
numSources = uint(sources.size()); \
NifStream( textureSlot, out, version ); \
...
...
@@ -5957,7 +5916,7 @@ for (uint i0 = 0; i0 < numSources; i0++) { \
#define NI_FLIP_CONTROLLER_STRING \
stringstream out; \
out <<
A
SingleInterpolatorController::asString(); \
out <<
Ni
SingleInterpolatorController::asString(); \
out << "Texture Slot: " << textureSlot << endl; \
out << "Unknown Int 2: " << unknownInt2 << endl; \
out << "Delta: " << delta << endl; \
...
...
@@ -5968,7 +5927,7 @@ for (uint i0 = 0; i0 < numSources; i0++) { \
return out.str(); \
#define NI_FLIP_CONTROLLER_FIXLINKS \
A
SingleInterpolatorController::FixLinks( objects, link_stack, version ); \
Ni
SingleInterpolatorController::FixLinks( objects, link_stack, version ); \
if ( version <= 0x0A010000 ) { \
}; \
for (uint i0 = 0; i0 < numSources; i0++) { \
...
...
@@ -6167,7 +6126,7 @@ for (uint i0 = 0; i0 < numFloats; i0++) { \
}; \
#define NI_FOG_PROPERTY_MEMBERS \
Flags
flags; \
unsigned short
flags; \
float fogDepth; \
Color3 fogColor; \
...
...
@@ -6855,55 +6814,51 @@ link_stack.pop_front(); \
#define NI_MATERIAL_COLOR_CONTROLLER_MEMBERS \
ushort unknown; \
Ref<NiColorData > data; \
ushort unknownShort; \
#define NI_MATERIAL_COLOR_CONTROLLER_INCLUDE "Ni
Time
Controller.h" \
#define NI_MATERIAL_COLOR_CONTROLLER_INCLUDE "Ni
SingleInterpolator
Controller.h" \
#define NI_MATERIAL_COLOR_CONTROLLER_PARENT Ni
Time
Controller \
#define NI_MATERIAL_COLOR_CONTROLLER_PARENT Ni
SingleInterpolator
Controller \
#define NI_MATERIAL_COLOR_CONTROLLER_CONSTRUCT \
#define NI_MATERIAL_COLOR_CONTROLLER_READ \
uint block_num; \
Ni
Time
Controller::Read( in, link_stack, version ); \
if (
(
version >= 0x0A010000 )
&& ( version <= 0x0A010000 ) )
{ \
Ni
SingleInterpolator
Controller::Read( in, link_stack, version ); \
if ( version >= 0x0A010000 ) { \
NifStream( unknown, in, version ); \
}; \
NifStream( block_num, in, version ); \
link_stack.push_back( block_num ); \
if ( version >= 0x0A020000 ) { \
NifStream( unknownShort, in, version ); \
if ( version <= 0x0A010000 ) { \
NifStream( block_num, in, version ); \
link_stack.push_back( block_num ); \
}; \
#define NI_MATERIAL_COLOR_CONTROLLER_WRITE \
Ni
Time
Controller::Write( out, link_map, version ); \
if (
(
version >= 0x0A010000 )
&& ( version <= 0x0A010000 ) )
{ \
Ni
SingleInterpolator
Controller::Write( out, link_map, version ); \
if ( version >= 0x0A010000 ) { \
NifStream( unknown, out, version ); \
}; \
NifStream( link_map[StaticCast<NiObject>(data)], out, version ); \
if ( version >= 0x0A020000 ) { \
NifStream( unknownShort, out, version ); \
if ( version <= 0x0A010000 ) { \
NifStream( link_map[StaticCast<NiObject>(data)], out, version ); \
}; \
#define NI_MATERIAL_COLOR_CONTROLLER_STRING \
stringstream out; \
out << Ni
Time
Controller::asString(); \
out << Ni
SingleInterpolator
Controller::asString(); \
out << "Unknown: " << unknown << endl; \
out << "Data: " << data << endl; \
out << "Unknown Short: " << unknownShort << endl; \
return out.str(); \
#define NI_MATERIAL_COLOR_CONTROLLER_FIXLINKS \
Ni
Time
Controller::FixLinks( objects, link_stack, version ); \
if (
(
version >= 0x0A010000 )
&& ( version <= 0x0A010000 ) )
{ \
Ni
SingleInterpolator
Controller::FixLinks( objects, link_stack, version ); \
if ( version >= 0x0A010000 ) { \
}; \
data = DynamicCast<NiColorData>(objects[link_stack.front()]);
\
link_stack.
pop_
front(); \
if ( version >= 0x0A020000 ) {
\
if ( version <= 0x0A010000 ) {
\
data = DynamicCast<NiColorData>(objects[
link_stack.front()
])
; \
link_stack.pop_front();
\
}; \
#define NI_MATERIAL_PROPERTY_MEMBERS \
Flags
flags; \
unsigned short
flags; \
Color3 ambientColor; \
Color3 diffuseColor; \
Color3 specularColor; \
...
...
@@ -7183,11 +7138,13 @@ for (uint i0 = 0; i0 < numMorphs; i0++) { \
if ( version >= 0x0A01006A ) { \
NifStream( morphs[i0].frameName, in, version ); \
}; \
NifStream( morphs_numMorphKeys, in, version ); \
NifStream( morphs[i0].morphInterpolation, in, version ); \
morphs[i0].morphKeys.resize(morphs_numMorphKeys); \
for (uint i1 = 0; i1 < morphs_numMorphKeys; i1++) { \
NifStream( morphs[i0].morphKeys[i1], in, version ); \
if ( version <= 0x0A000102 ) { \
NifStream( morphs_numMorphKeys, in, version ); \
NifStream( morphs[i0].morphInterpolation, in, version ); \
morphs[i0].morphKeys.resize(morphs_numMorphKeys); \
for (uint i2 = 0; i2 < morphs_numMorphKeys; i2++) { \
NifStream( morphs[i0].morphKeys[i2], in, version ); \
}; \
}; \
if ( ( version >= 0x0A01006A ) && ( version <= 0x0A01006A ) ) { \
NifStream( morphs[i0].unknownInt, in, version ); \
...
...
@@ -7211,10 +7168,12 @@ for (uint i0 = 0; i0 < numMorphs; i0++) { \
if ( version >= 0x0A01006A ) { \
NifStream( morphs[i0].frameName, out, version ); \
}; \
NifStream( morphs_numMorphKeys, out, version ); \
NifStream( morphs[i0].morphInterpolation, out, version ); \
for (uint i1 = 0; i1 < morphs_numMorphKeys; i1++) { \
NifStream( morphs[i0].morphKeys[i1], out, version ); \
if ( version <= 0x0A000102 ) { \
NifStream( morphs_numMorphKeys, out, version ); \
NifStream( morphs[i0].morphInterpolation, out, version ); \
for (uint i2 = 0; i2 < morphs_numMorphKeys; i2++) { \
NifStream( morphs[i0].morphKeys[i2], out, version ); \
}; \
}; \
if ( ( version >= 0x0A01006A ) && ( version <= 0x0A01006A ) ) { \
NifStream( morphs[i0].unknownInt, out, version ); \
...
...
@@ -7249,7 +7208,9 @@ NiObject::FixLinks( objects, link_stack, version ); \
for (uint i0 = 0; i0 < numMorphs; i0++) { \
if ( version >= 0x0A01006A ) { \
}; \
for (uint i1 = 0; i1 < morphs_numMorphKeys; i1++) { \
if ( version <= 0x0A000102 ) { \
for (uint i2 = 0; i2 < morphs_numMorphKeys; i2++) { \
}; \
}; \
if ( ( version >= 0x0A01006A ) && ( version <= 0x0A01006A ) ) { \
}; \
...
...
@@ -7267,6 +7228,7 @@ vector<NiNode * > extraTargets; \
#define NI_MULTI_TARGET_TRANSFORM_CONTROLLER_CONSTRUCT \
#define NI_MULTI_TARGET_TRANSFORM_CONTROLLER_READ \
uint block_num; \
NiTimeController::Read( in, link_stack, version ); \
ushort numExtraTargets; \
NifStream( numExtraTargets, in, version ); \
...
...
@@ -8102,9 +8064,8 @@ unknownLink2 = DynamicCast<NiTriBasedGeom>(objects[link_stack.front()]); \
link_stack.pop_front(); \
#define NI_PARTICLE_SYSTEM_MEMBERS \
bool hasModifiers; \
uint numModifiers; \
vector<Ref<AParticleModifier > > modifiers; \
bool unknownBool; \
vector<Ref<APSysModifier > > modifiers; \
#define NI_PARTICLE_SYSTEM_INCLUDE "NiParticles.h" \
...
...
@@ -8115,50 +8076,45 @@ vector<Ref<AParticleModifier > > modifiers; \
#define NI_PARTICLE_SYSTEM_READ \
uint block_num; \
NiParticles::Read( in, link_stack, version ); \
uint numModifiers; \
if ( version >= 0x0A010000 ) { \
NifStream( hasModifiers, in, version ); \
if ( hasModifiers != 0 ) { \
NifStream( numModifiers, in, version ); \
modifiers.resize(hasModifiers); \
for (uint i2 = 0; i2 < hasModifiers; i2++) { \
NifStream( block_num, in, version ); \
link_stack.push_back( block_num ); \
}; \
NifStream( unknownBool, in, version ); \
NifStream( numModifiers, in, version ); \
modifiers.resize(numModifiers); \
for (uint i1 = 0; i1 < numModifiers; i1++) { \
NifStream( block_num, in, version ); \
link_stack.push_back( block_num ); \
}; \
}; \
#define NI_PARTICLE_SYSTEM_WRITE \
NiParticles::Write( out, link_map, version ); \
uint numModifiers; \
numModifiers = uint(modifiers.size()); \
if ( version >= 0x0A010000 ) { \
NifStream( hasModifiers, out, version ); \
if ( hasModifiers != 0 ) { \
NifStream( numModifiers, out, version ); \
for (uint i2 = 0; i2 < hasModifiers; i2++) { \
NifStream( link_map[StaticCast<NiObject>(modifiers[i2])], out, version ); \
}; \
NifStream( unknownBool, out, version ); \
NifStream( numModifiers, out, version ); \
for (uint i1 = 0; i1 < numModifiers; i1++) { \
NifStream( link_map[StaticCast<NiObject>(modifiers[i1])], out, version ); \
}; \
}; \
#define NI_PARTICLE_SYSTEM_STRING \
stringstream out; \
out << NiParticles::asString(); \
out << "Has Modifiers: " << hasModifiers << endl; \
if ( hasModifiers != 0 ) { \
out << " Num Modifiers: " << numModifiers << endl; \
for (uint i1 = 0; i1 < hasModifiers; i1++) { \
out << " Modifiers[" << i1 << "]: " << modifiers[i1] << endl; \
}; \
out << "Unknown Bool: " << unknownBool << endl; \
out << "Num Modifiers: " << numModifiers << endl; \
for (uint i0 = 0; i0 < numModifiers; i0++) { \
out << " Modifiers[" << i0 << "]: " << modifiers[i0] << endl; \
}; \
return out.str(); \
#define NI_PARTICLE_SYSTEM_FIXLINKS \
NiParticles::FixLinks( objects, link_stack, version ); \
if ( version >= 0x0A010000 ) { \
if ( hasModifiers != 0 ) { \
for (uint i2 = 0; i2 < hasModifiers; i2++) { \
modifiers[i2] = DynamicCast<AParticleModifier>(objects[link_stack.front()]); \
link_stack.pop_front(); \
}; \
for (uint i1 = 0; i1 < numModifiers; i1++) { \
modifiers[i1] = DynamicCast<APSysModifier>(objects[link_stack.front()]); \
link_stack.pop_front(); \
}; \
}; \
...
...
@@ -8951,6 +8907,7 @@ vector<uint > unknownInts2; \
#define NI_P_SYS_BOMB_MODIFIER_CONSTRUCT \
#define NI_P_SYS_BOMB_MODIFIER_READ \
uint block_num; \
APSysModifier::Read( in, link_stack, version ); \
NifStream( block_num, in, version ); \
link_stack.push_back( block_num ); \
...
...
@@ -9336,6 +9293,7 @@ float rangeFalloff; \
#define NI_P_SYS_DRAG_MODIFIER_CONSTRUCT \
#define NI_P_SYS_DRAG_MODIFIER_READ \
uint block_num; \
APSysModifier::Read( in, link_stack, version ); \
NifStream( block_num, in, version ); \
link_stack.push_back( block_num ); \
...
...
@@ -9368,7 +9326,7 @@ parent = DynamicCast<NiObject>(objects[link_stack.front()]); \
link_stack.pop_front(); \
#define NI_P_SYS_EMITTER_CTLR_MEMBERS \
Ref<
NiPSysData > data
; \
Ref<
AInterpolator > visibilityInterpolator
; \
#define NI_P_SYS_EMITTER_CTLR_INCLUDE "APSysCtlr.h" \
...
...
@@ -9384,17 +9342,17 @@ link_stack.push_back( block_num ); \
#define NI_P_SYS_EMITTER_CTLR_WRITE \
APSysCtlr::Write( out, link_map, version ); \
NifStream( link_map[StaticCast<NiObject>(
data
)], out, version ); \
NifStream( link_map[StaticCast<NiObject>(
visibilityInterpolator
)], out, version ); \
#define NI_P_SYS_EMITTER_CTLR_STRING \
stringstream out; \
out << APSysCtlr::asString(); \
out << "
Data: " << data
<< endl; \
out << "
Visibility Interpolator: " << visibilityInterpolator
<< endl; \
return out.str(); \
#define NI_P_SYS_EMITTER_CTLR_FIXLINKS \
APSysCtlr::FixLinks( objects, link_stack, version ); \
data
= DynamicCast<
NiPSysData
>(objects[link_stack.front()]); \
visibilityInterpolator
= DynamicCast<
AInterpolator
>(objects[link_stack.front()]); \
link_stack.pop_front(); \
#define NI_P_SYS_EMITTER_CTLR_DATA_MEMBERS \
...
...
@@ -9592,6 +9550,7 @@ float turbulenceScale; \
: turbulenceScale(1.0f) \
#define NI_P_SYS_GRAVITY_MODIFIER_READ \
uint block_num; \
APSysModifier::Read( in, link_stack, version ); \
NifStream( block_num, in, version ); \
link_stack.push_back( block_num ); \
...
...
@@ -10263,7 +10222,7 @@ return out.str(); \
NiObjectNET::FixLinks( objects, link_stack, version ); \
#define NI_SHADE_PROPERTY_MEMBERS \
Flags
flags; \
unsigned short
flags; \
#define NI_SHADE_PROPERTY_INCLUDE "NiProperty.h" \
...
...
@@ -10807,11 +10766,15 @@ for (uint i0 = 0; i0 < numSkinPartitionBlocks; i0++) { \
}; \
#define NI_SOURCE_TEXTURE_MEMBERS \
TexSource textureSource; \
byte useExternal; \
string fileName; \
Ref<NiObject > unknownLink; \
byte unknownByte; \
string originalFileName_; \
Ref<NiPixelData > pixelData; \
PixelLayout pixelLayout; \
MipMapFormat useMipmaps; \
AlphaFormat alphaFormat; \
byte unknownByte; \
byte unknownByte2; \
#define NI_SOURCE_TEXTURE_INCLUDE "NiObjectNET.h" \
...
...
@@ -10819,32 +10782,32 @@ byte unknownByte2; \
#define NI_SOURCE_TEXTURE_PARENT NiObjectNET \
#define NI_SOURCE_TEXTURE_CONSTRUCT \
: u
nknownByte(1
), unknownByte2(1) \
: u
seExternal(1), pixelLayout(5), useMipmaps(2), alphaFormat(3
), unknownByte2(1) \
#define NI_SOURCE_TEXTURE_READ \
uint block_num; \
NiObjectNET::Read( in, link_stack, version ); \
NifStream(
textureSource.
useExternal, in, version ); \
if (
textureSource.
useExternal == 1 ) { \
NifStream(
textureSource.
fileName, in, version ); \
NifStream( useExternal, in, version ); \
if ( useExternal == 1 ) { \
NifStream( fileName, in, version ); \
}; \
if ( version >= 0x0A010000 ) { \
if (
textureSource.
useExternal == 1 ) { \
if ( useExternal == 1 ) { \
NifStream( block_num, in, version ); \
link_stack.push_back( block_num ); \
}; \
}; \
if ( version <= 0x0A000100 ) { \
if (
textureSource.
useExternal == 0 ) { \
NifStream(
textureSource.
unknownByte, in, version ); \
if ( useExternal == 0 ) { \
NifStream( unknownByte, in, version ); \
}; \
}; \
if ( version >= 0x0A010000 ) { \
if (
textureSource.
useExternal == 0 ) { \
NifStream(
textureSource.
originalFileName_, in, version ); \
if ( useExternal == 0 ) { \
NifStream( originalFileName_, in, version ); \
}; \
}; \
if (
textureSource.
useExternal == 0 ) { \
if ( useExternal == 0 ) { \
NifStream( block_num, in, version ); \
link_stack.push_back( block_num ); \
}; \
...
...
@@ -10858,27 +10821,27 @@ if ( version >= 0x0A01006A ) { \
#define NI_SOURCE_TEXTURE_WRITE \
NiObjectNET::Write( out, link_map, version ); \
NifStream(
textureSource.
useExternal, out, version ); \
if (
textureSource.
useExternal == 1 ) { \
NifStream(
textureSource.
fileName, out, version ); \
NifStream( useExternal, out, version ); \
if ( useExternal == 1 ) { \
NifStream( fileName, out, version ); \
}; \
if ( version >= 0x0A010000 ) { \
if (
textureSource.
useExternal == 1 ) { \
NifStream( link_map[StaticCast<NiObject>(
textureSource.
unknownLink)], out, version ); \
if ( useExternal == 1 ) { \
NifStream( link_map[StaticCast<NiObject>(unknownLink)], out, version ); \
}; \
}; \
if ( version <= 0x0A000100 ) { \
if (
textureSource.
useExternal == 0 ) { \
NifStream(
textureSource.
unknownByte, out, version ); \
if ( useExternal == 0 ) { \
NifStream( unknownByte, out, version ); \
}; \
}; \
if ( version >= 0x0A010000 ) { \
if (
textureSource.
useExternal == 0 ) { \
NifStream(
textureSource.
originalFileName_, out, version ); \
if ( useExternal == 0 ) { \
NifStream( originalFileName_, out, version ); \
}; \
}; \
if (
textureSource.
useExternal == 0 ) { \
NifStream( link_map[StaticCast<NiObject>(
textureSource.
pixelData)], out, version ); \
if ( useExternal == 0 ) { \
NifStream( link_map[StaticCast<NiObject>(pixelData)], out, version ); \
}; \
NifStream( pixelLayout, out, version ); \
NifStream( useMipmaps, out, version ); \
...
...
@@ -10891,15 +10854,15 @@ if ( version >= 0x0A01006A ) { \
#define NI_SOURCE_TEXTURE_STRING \
stringstream out; \
out << NiObjectNET::asString(); \
out << "Use External: " <<
textureSource.
useExternal << endl; \
if (
textureSource.
useExternal == 1 ) { \
out << " File Name: " <<
textureSource.
fileName << endl; \
out << " Unknown Link: " <<
textureSource.
unknownLink << endl; \
out << "Use External: " << useExternal << endl; \
if ( useExternal == 1 ) { \
out << " File Name: " << fileName << endl; \
out << " Unknown Link: " << unknownLink << endl; \
}; \
if (
textureSource.
useExternal == 0 ) { \
out << " Unknown Byte: " <<
textureSource.
unknownByte << endl; \
out << " Original File Name?: " <<
textureSource.
originalFileName_ << endl; \
out << " Pixel Data: " <<
textureSource.
pixelData << endl; \
if ( useExternal == 0 ) { \
out << " Unknown Byte: " << unknownByte << endl; \
out << " Original File Name?: " << originalFileName_ << endl; \
out << " Pixel Data: " << pixelData << endl; \
}; \
out << "Pixel Layout: " << pixelLayout << endl; \
out << "Use Mipmaps: " << useMipmaps << endl; \
...
...
@@ -10910,31 +10873,31 @@ return out.str(); \
#define NI_SOURCE_TEXTURE_FIXLINKS \
NiObjectNET::FixLinks( objects, link_stack, version ); \
if (
textureSource.
useExternal == 1 ) { \
if ( useExternal == 1 ) { \
}; \
if ( version >= 0x0A010000 ) { \
if (
textureSource.
useExternal == 1 ) { \
textureSource.
unknownLink = DynamicCast<NiObject>(objects[link_stack.front()]); \
if ( useExternal == 1 ) { \
unknownLink = DynamicCast<NiObject>(objects[link_stack.front()]); \
link_stack.pop_front(); \
}; \
}; \
if ( version <= 0x0A000100 ) { \
if (
textureSource.
useExternal == 0 ) { \
if ( useExternal == 0 ) { \
}; \
}; \
if ( version >= 0x0A010000 ) { \
if (
textureSource.
useExternal == 0 ) { \
if ( useExternal == 0 ) { \
}; \
}; \
if (
textureSource.
useExternal == 0 ) { \
textureSource.
pixelData = DynamicCast<NiPixelData>(objects[link_stack.front()]); \
if ( useExternal == 0 ) { \
pixelData = DynamicCast<NiPixelData>(objects[link_stack.front()]); \
link_stack.pop_front(); \
}; \
if ( version >= 0x0A01006A ) { \
}; \
#define NI_SPECULAR_PROPERTY_MEMBERS \
Flags
flags; \
unsigned short
flags; \
#define NI_SPECULAR_PROPERTY_INCLUDE "NiProperty.h" \
...
...
@@ -11036,7 +10999,7 @@ return out.str(); \
NiPointLight::FixLinks( objects, link_stack, version ); \
#define NI_STENCIL_PROPERTY_MEMBERS \
Flags
flags; \
unsigned short
flags; \
bool stencilEnabled; \
uint stencilFunction; \
uint stencilRef; \
...
...
@@ -11051,6 +11014,7 @@ uint drawMode; \
#define NI_STENCIL_PROPERTY_PARENT NiProperty \
#define NI_STENCIL_PROPERTY_CONSTRUCT \
: stencilMask(4294967295) \
#define NI_STENCIL_PROPERTY_READ \
NiProperty::Read( in, link_stack, version ); \
...
...
@@ -11349,15 +11313,15 @@ uint textureSlot; \
uint operation; \
Ref<NiFloatData > data; \
#define NI_TEXTURE_TRANSFORM_CONTROLLER_INCLUDE "
A
SingleInterpolatorController.h" \
#define NI_TEXTURE_TRANSFORM_CONTROLLER_INCLUDE "
Ni
SingleInterpolatorController.h" \
#define NI_TEXTURE_TRANSFORM_CONTROLLER_PARENT
A
SingleInterpolatorController \
#define NI_TEXTURE_TRANSFORM_CONTROLLER_PARENT
Ni
SingleInterpolatorController \
#define NI_TEXTURE_TRANSFORM_CONTROLLER_CONSTRUCT \
#define NI_TEXTURE_TRANSFORM_CONTROLLER_READ \
uint block_num; \
A
SingleInterpolatorController::Read( in, link_stack, version ); \
Ni
SingleInterpolatorController::Read( in, link_stack, version ); \
NifStream( unknown2, in, version ); \
NifStream( textureSlot, in, version ); \
NifStream( operation, in, version ); \
...
...
@@ -11367,7 +11331,7 @@ if ( version <= 0x0A010000 ) { \
}; \
#define NI_TEXTURE_TRANSFORM_CONTROLLER_WRITE \
A
SingleInterpolatorController::Write( out, link_map, version ); \
Ni
SingleInterpolatorController::Write( out, link_map, version ); \
NifStream( unknown2, out, version ); \
NifStream( textureSlot, out, version ); \
NifStream( operation, out, version ); \
...
...
@@ -11377,7 +11341,7 @@ if ( version <= 0x0A010000 ) { \
#define NI_TEXTURE_TRANSFORM_CONTROLLER_STRING \
stringstream out; \
out <<
A
SingleInterpolatorController::asString(); \
out <<
Ni
SingleInterpolatorController::asString(); \
out << "Unknown2: " << unknown2 << endl; \
out << "Texture Slot: " << textureSlot << endl; \
out << "Operation: " << operation << endl; \
...
...
@@ -11385,14 +11349,14 @@ out << "Data: " << data << endl; \
return out.str(); \
#define NI_TEXTURE_TRANSFORM_CONTROLLER_FIXLINKS \
A
SingleInterpolatorController::FixLinks( objects, link_stack, version ); \
Ni
SingleInterpolatorController::FixLinks( objects, link_stack, version ); \
if ( version <= 0x0A010000 ) { \
data = DynamicCast<NiFloatData>(objects[link_stack.front()]); \
link_stack.pop_front(); \
}; \
#define NI_TEXTURING_PROPERTY_MEMBERS \
Flags
flags; \
unsigned short
flags; \
ApplyMode applyMode; \
uint textureCount; \
bool hasBaseTexture; \
...
...
@@ -11414,8 +11378,7 @@ bool hasDecal0Texture; \
TexDesc decal0Texture; \
bool hasDecal1Texture; \
TexDesc decal1Texture; \
uint numShaderTextures; \
ShaderTexDesc shaderTextures; \
vector<ShaderTexDesc > shaderTextures; \
#define NI_TEXTURING_PROPERTY_INCLUDE "NiProperty.h" \
...
...
@@ -11427,6 +11390,7 @@ ShaderTexDesc shaderTextures; \
#define NI_TEXTURING_PROPERTY_READ \
uint block_num; \
NiProperty::Read( in, link_stack, version ); \
uint numShaderTextures; \
if ( version <= 0x0A000102 ) { \
NifStream( flags, in, version ); \
}; \
...
...
@@ -11641,36 +11605,41 @@ if ( version >= 0x14000004 ) { \
}; \
if ( version >= 0x0A000100 ) { \
NifStream( numShaderTextures, in, version ); \
NifStream( shaderTextures.isUsed, in, version ); \
if ( shaderTextures.isUsed != 0 ) { \
NifStream( block_num, in, version ); \
link_stack.push_back( block_num ); \
NifStream( shaderTextures.textureData.clampMode, in, version ); \
NifStream( shaderTextures.textureData.filterMode, in, version ); \
NifStream( shaderTextures.textureData.textureSet, in, version ); \
if ( version <= 0x0A020000 ) { \
NifStream( shaderTextures.textureData.ps2L, in, version ); \
NifStream( shaderTextures.textureData.ps2K, in, version ); \
}; \
if ( version <= 0x0401000C ) { \
NifStream( shaderTextures.textureData.unknown1, in, version ); \
}; \
if ( version >= 0x0A010000 ) { \
NifStream( shaderTextures.textureData.hasTextureTransform, in, version ); \
if ( shaderTextures.textureData.hasTextureTransform != 0 ) { \
NifStream( shaderTextures.textureData.translation, in, version ); \
NifStream( shaderTextures.textureData.tiling, in, version ); \
NifStream( shaderTextures.textureData.wRotation, in, version ); \
NifStream( shaderTextures.textureData.transformType_, in, version ); \
NifStream( shaderTextures.textureData.centerOffset, in, version ); \
shaderTextures.resize(numShaderTextures); \
for (uint i1 = 0; i1 < numShaderTextures; i1++) { \
NifStream( shaderTextures[i1].isUsed, in, version ); \
if ( shaderTextures[i1].isUsed != 0 ) { \
NifStream( block_num, in, version ); \
link_stack.push_back( block_num ); \
NifStream( shaderTextures[i1].textureData.clampMode, in, version ); \
NifStream( shaderTextures[i1].textureData.filterMode, in, version ); \
NifStream( shaderTextures[i1].textureData.textureSet, in, version ); \
if ( version <= 0x0A020000 ) { \
NifStream( shaderTextures[i1].textureData.ps2L, in, version ); \
NifStream( shaderTextures[i1].textureData.ps2K, in, version ); \
}; \
if ( version <= 0x0401000C ) { \
NifStream( shaderTextures[i1].textureData.unknown1, in, version ); \
}; \
if ( version >= 0x0A010000 ) { \
NifStream( shaderTextures[i1].textureData.hasTextureTransform, in, version ); \
if ( shaderTextures[i1].textureData.hasTextureTransform != 0 ) { \
NifStream( shaderTextures[i1].textureData.translation, in, version ); \
NifStream( shaderTextures[i1].textureData.tiling, in, version ); \
NifStream( shaderTextures[i1].textureData.wRotation, in, version ); \
NifStream( shaderTextures[i1].textureData.transformType_, in, version ); \
NifStream( shaderTextures[i1].textureData.centerOffset, in, version ); \
}; \
}; \
NifStream( shaderTextures[i1].unknownInt, in, version ); \
}; \
NifStream( shaderTextures.unknownInt, in, version ); \
}; \
}; \
#define NI_TEXTURING_PROPERTY_WRITE \
NiProperty::Write( out, link_map, version ); \
uint numShaderTextures; \
numShaderTextures = uint(shaderTextures.size()); \
if ( version <= 0x0A000102 ) { \
NifStream( flags, out, version ); \
}; \
...
...
@@ -11877,30 +11846,32 @@ if ( version >= 0x14000004 ) { \
}; \
if ( version >= 0x0A000100 ) { \
NifStream( numShaderTextures, out, version ); \
NifStream( shaderTextures.isUsed, out, version ); \
if ( shaderTextures.isUsed != 0 ) { \
NifStream( link_map[StaticCast<NiObject>(shaderTextures.textureData.source)], out, version ); \
NifStream( shaderTextures.textureData.clampMode, out, version ); \
NifStream( shaderTextures.textureData.filterMode, out, version ); \
NifStream( shaderTextures.textureData.textureSet, out, version ); \
if ( version <= 0x0A020000 ) { \
NifStream( shaderTextures.textureData.ps2L, out, version ); \
NifStream( shaderTextures.textureData.ps2K, out, version ); \
}; \
if ( version <= 0x0401000C ) { \
NifStream( shaderTextures.textureData.unknown1, out, version ); \
}; \
if ( version >= 0x0A010000 ) { \
NifStream( shaderTextures.textureData.hasTextureTransform, out, version ); \
if ( shaderTextures.textureData.hasTextureTransform != 0 ) { \
NifStream( shaderTextures.textureData.translation, out, version ); \
NifStream( shaderTextures.textureData.tiling, out, version ); \
NifStream( shaderTextures.textureData.wRotation, out, version ); \
NifStream( shaderTextures.textureData.transformType_, out, version ); \
NifStream( shaderTextures.textureData.centerOffset, out, version ); \
for (uint i1 = 0; i1 < numShaderTextures; i1++) { \
NifStream( shaderTextures[i1].isUsed, out, version ); \
if ( shaderTextures[i1].isUsed != 0 ) { \
NifStream( link_map[StaticCast<NiObject>(shaderTextures[i1].textureData.source)], out, version ); \
NifStream( shaderTextures[i1].textureData.clampMode, out, version ); \
NifStream( shaderTextures[i1].textureData.filterMode, out, version ); \
NifStream( shaderTextures[i1].textureData.textureSet, out, version ); \
if ( version <= 0x0A020000 ) { \
NifStream( shaderTextures[i1].textureData.ps2L, out, version ); \
NifStream( shaderTextures[i1].textureData.ps2K, out, version ); \
}; \
if ( version <= 0x0401000C ) { \
NifStream( shaderTextures[i1].textureData.unknown1, out, version ); \
}; \
if ( version >= 0x0A010000 ) { \
NifStream( shaderTextures[i1].textureData.hasTextureTransform, out, version ); \
if ( shaderTextures[i1].textureData.hasTextureTransform != 0 ) { \
NifStream( shaderTextures[i1].textureData.translation, out, version ); \
NifStream( shaderTextures[i1].textureData.tiling, out, version ); \
NifStream( shaderTextures[i1].textureData.wRotation, out, version ); \
NifStream( shaderTextures[i1].textureData.transformType_, out, version ); \
NifStream( shaderTextures[i1].textureData.centerOffset, out, version ); \
}; \
}; \
NifStream( shaderTextures[i1].unknownInt, out, version ); \
}; \
NifStream( shaderTextures.unknownInt, out, version ); \
}; \
}; \
...
...
@@ -12060,24 +12031,26 @@ if ( (textureCount == 8) && (hasDecal1Texture != 0) ) { \
}; \
}; \
out << "Num Shader Textures: " << numShaderTextures << endl; \
out << "Is Used: " << shaderTextures.isUsed << endl; \
if ( shaderTextures.isUsed != 0 ) { \
out << " Source: " << shaderTextures.textureData.source << endl; \
out << " Clamp Mode: " << shaderTextures.textureData.clampMode << endl; \
out << " Filter Mode: " << shaderTextures.textureData.filterMode << endl; \
out << " Texture Set: " << shaderTextures.textureData.textureSet << endl; \
out << " PS2 L: " << shaderTextures.textureData.ps2L << endl; \
out << " PS2 K: " << shaderTextures.textureData.ps2K << endl; \
out << " Unknown1: " << shaderTextures.textureData.unknown1 << endl; \
out << " Has Texture Transform: " << shaderTextures.textureData.hasTextureTransform << endl; \
if ( shaderTextures.textureData.hasTextureTransform != 0 ) { \
out << " Translation: " << shaderTextures.textureData.translation << endl; \
out << " Tiling: " << shaderTextures.textureData.tiling << endl; \
out << " W Rotation: " << shaderTextures.textureData.wRotation << endl; \
out << " Transform Type?: " << shaderTextures.textureData.transformType_ << endl; \
out << " Center Offset: " << shaderTextures.textureData.centerOffset << endl; \
}; \
out << " Unknown Int: " << shaderTextures.unknownInt << endl; \
for (uint i0 = 0; i0 < numShaderTextures; i0++) { \
out << " Is Used: " << shaderTextures[i0].isUsed << endl; \
if ( shaderTextures[i0].isUsed != 0 ) { \
out << " Source: " << shaderTextures[i0].textureData.source << endl; \
out << " Clamp Mode: " << shaderTextures[i0].textureData.clampMode << endl; \
out << " Filter Mode: " << shaderTextures[i0].textureData.filterMode << endl; \
out << " Texture Set: " << shaderTextures[i0].textureData.textureSet << endl; \
out << " PS2 L: " << shaderTextures[i0].textureData.ps2L << endl; \
out << " PS2 K: " << shaderTextures[i0].textureData.ps2K << endl; \
out << " Unknown1: " << shaderTextures[i0].textureData.unknown1 << endl; \
out << " Has Texture Transform: " << shaderTextures[i0].textureData.hasTextureTransform << endl; \
if ( shaderTextures[i0].textureData.hasTextureTransform != 0 ) { \
out << " Translation: " << shaderTextures[i0].textureData.translation << endl; \
out << " Tiling: " << shaderTextures[i0].textureData.tiling << endl; \
out << " W Rotation: " << shaderTextures[i0].textureData.wRotation << endl; \
out << " Transform Type?: " << shaderTextures[i0].textureData.transformType_ << endl; \
out << " Center Offset: " << shaderTextures[i0].textureData.centerOffset << endl; \
}; \
out << " Unknown Int: " << shaderTextures[i0].unknownInt << endl; \
}; \
}; \
return out.str(); \
...
...
@@ -12186,15 +12159,17 @@ if ( version >= 0x14000004 ) { \
}; \
}; \
if ( version >= 0x0A000100 ) { \
if ( shaderTextures.isUsed != 0 ) { \
shaderTextures.textureData.source = DynamicCast<NiSourceTexture>(objects[link_stack.front()]); \
link_stack.pop_front(); \
if ( version <= 0x0A020000 ) { \
}; \
if ( version <= 0x0401000C ) { \
}; \
if ( version >= 0x0A010000 ) { \
if ( shaderTextures.textureData.hasTextureTransform != 0 ) { \
for (uint i1 = 0; i1 < numShaderTextures; i1++) { \
if ( shaderTextures[i1].isUsed != 0 ) { \
shaderTextures[i1].textureData.source = DynamicCast<NiSourceTexture>(objects[link_stack.front()]); \
link_stack.pop_front(); \
if ( version <= 0x0A020000 ) { \
}; \
if ( version <= 0x0401000C ) { \
}; \
if ( version >= 0x0A010000 ) { \
if ( shaderTextures[i1].textureData.hasTextureTransform != 0 ) { \
}; \
}; \
}; \
}; \
...
...
@@ -12202,25 +12177,25 @@ if ( version >= 0x0A000100 ) { \
#define NI_TRANSFORM_CONTROLLER_MEMBERS \
#define NI_TRANSFORM_CONTROLLER_INCLUDE "
A
SingleInterpolatorController.h" \
#define NI_TRANSFORM_CONTROLLER_INCLUDE "
Ni
SingleInterpolatorController.h" \
#define NI_TRANSFORM_CONTROLLER_PARENT
A
SingleInterpolatorController \
#define NI_TRANSFORM_CONTROLLER_PARENT
Ni
SingleInterpolatorController \
#define NI_TRANSFORM_CONTROLLER_CONSTRUCT \
#define NI_TRANSFORM_CONTROLLER_READ \
A
SingleInterpolatorController::Read( in, link_stack, version ); \
Ni
SingleInterpolatorController::Read( in, link_stack, version ); \
#define NI_TRANSFORM_CONTROLLER_WRITE \
A
SingleInterpolatorController::Write( out, link_map, version ); \
Ni
SingleInterpolatorController::Write( out, link_map, version ); \
#define NI_TRANSFORM_CONTROLLER_STRING \
stringstream out; \
out <<
A
SingleInterpolatorController::asString(); \
out <<
Ni
SingleInterpolatorController::asString(); \
return out.str(); \
#define NI_TRANSFORM_CONTROLLER_FIXLINKS \
A
SingleInterpolatorController::FixLinks( objects, link_stack, version ); \
Ni
SingleInterpolatorController::FixLinks( objects, link_stack, version ); \
#define NI_TRANSFORM_DATA_MEMBERS \
...
...
@@ -12717,7 +12692,7 @@ return out.str(); \
NiExtraData::FixLinks( objects, link_stack, version ); \
#define NI_VERTEX_COLOR_PROPERTY_MEMBERS \
Flags
flags; \
unsigned short
flags; \
VertMode vertexMode; \
LightMode lightingMode; \
...
...
@@ -12798,32 +12773,38 @@ for (uint i0 = 0; i0 < numVertices; i0++) { \
#define NI_VIS_CONTROLLER_MEMBERS \
Ref<NiVisData > data; \
#define NI_VIS_CONTROLLER_INCLUDE "Ni
Time
Controller.h" \
#define NI_VIS_CONTROLLER_INCLUDE "Ni
SingleInterpolator
Controller.h" \
#define NI_VIS_CONTROLLER_PARENT Ni
Time
Controller \
#define NI_VIS_CONTROLLER_PARENT Ni
SingleInterpolator
Controller \
#define NI_VIS_CONTROLLER_CONSTRUCT \
#define NI_VIS_CONTROLLER_READ \
uint block_num; \
NiTimeController::Read( in, link_stack, version ); \
NifStream( block_num, in, version ); \
link_stack.push_back( block_num ); \
NiSingleInterpolatorController::Read( in, link_stack, version ); \
if ( version <= 0x0A010000 ) { \
NifStream( block_num, in, version ); \
link_stack.push_back( block_num ); \
}; \
#define NI_VIS_CONTROLLER_WRITE \
NiTimeController::Write( out, link_map, version ); \
NifStream( link_map[StaticCast<NiObject>(data)], out, version ); \
NiSingleInterpolatorController::Write( out, link_map, version ); \
if ( version <= 0x0A010000 ) { \
NifStream( link_map[StaticCast<NiObject>(data)], out, version ); \
}; \
#define NI_VIS_CONTROLLER_STRING \
stringstream out; \
out << Ni
Time
Controller::asString(); \
out << Ni
SingleInterpolator
Controller::asString(); \
out << "Data: " << data << endl; \
return out.str(); \
#define NI_VIS_CONTROLLER_FIXLINKS \
NiTimeController::FixLinks( objects, link_stack, version ); \
data = DynamicCast<NiVisData>(objects[link_stack.front()]); \
link_stack.pop_front(); \
NiSingleInterpolatorController::FixLinks( objects, link_stack, version ); \
if ( version <= 0x0A010000 ) { \
data = DynamicCast<NiVisData>(objects[link_stack.front()]); \
link_stack.pop_front(); \
}; \
#define NI_VIS_DATA_MEMBERS \
vector<Key<byte > > visKeys; \
...
...
@@ -12867,7 +12848,7 @@ for (uint i0 = 0; i0 < numVisKeys; i0++) { \
}; \
#define NI_WIREFRAME_PROPERTY_MEMBERS \
Flags
flags; \
unsigned short
flags; \
#define NI_WIREFRAME_PROPERTY_INCLUDE "NiProperty.h" \
...
...
@@ -12893,7 +12874,7 @@ return out.str(); \
NiProperty::FixLinks( objects, link_stack, version ); \
#define NI_Z_BUFFER_PROPERTY_MEMBERS \
Flags
flags; \
unsigned short
flags; \
uint function; \
#define NI_Z_BUFFER_PROPERTY_INCLUDE "NiProperty.h" \
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment