From e246e65c8d82a1550b2193aec2f7c74d01729766 Mon Sep 17 00:00:00 2001 From: Shon Ferguson <shonferg@users.sourceforge.net> Date: Sat, 5 May 2007 21:06:12 +0000 Subject: [PATCH] Objects now have a Create methods and register themselves in the global object map with pre-main initialization, making obj_factories.cpp obsolete. --- include/obj/ABoneLODController.h | 1 + include/obj/AKeyedData.h | 1 + include/obj/APSysCtlr.h | 1 + include/obj/APSysData.h | 1 + include/obj/AParticleModifier.h | 1 + include/obj/AbhkConstraint.h | 1 + include/obj/AbhkRagdollConstraint.h | 1 + include/obj/AbhkShapeCollection.h | 1 + include/obj/AvoidNode.h | 1 + include/obj/BSBound.h | 1 + include/obj/BSFurnitureMarker.h | 1 + include/obj/BSKeyframeController.h | 1 + include/obj/BSPSysArrayEmitter.h | 1 + include/obj/BSParentVelocityModifier.h | 1 + include/obj/BSXFlags.h | 1 + include/obj/FxButton.h | 1 + include/obj/FxRadioButton.h | 1 + include/obj/FxWidget.h | 1 + include/obj/NiAVObject.h | 1 + include/obj/NiAlphaController.h | 1 + include/obj/NiAlphaProperty.h | 1 + include/obj/NiAmbientLight.h | 1 + include/obj/NiAutoNormalParticles.h | 1 + include/obj/NiAutoNormalParticlesData.h | 1 + include/obj/NiBSAnimationNode.h | 1 + include/obj/NiBSBoneLODController.h | 1 + include/obj/NiBSPArrayController.h | 1 + include/obj/NiBSParticleNode.h | 1 + include/obj/NiBSplineBasisData.h | 1 + include/obj/NiBSplineCompFloatInterpolator.h | 1 + include/obj/NiBSplineCompPoint3Interpolator.h | 1 + .../obj/NiBSplineCompTransformInterpolator.h | 1 + include/obj/NiBSplineData.h | 1 + include/obj/NiBSplineInterpolator.h | 1 + include/obj/NiBillboardNode.h | 1 + include/obj/NiBinaryExtraData.h | 1 + include/obj/NiBlendBoolInterpolator.h | 1 + include/obj/NiBlendFloatInterpolator.h | 1 + include/obj/NiBlendInterpolator.h | 1 + include/obj/NiBlendPoint3Interpolator.h | 1 + include/obj/NiBlendTransformInterpolator.h | 1 + include/obj/NiBoneLODController.h | 1 + include/obj/NiBoolData.h | 1 + include/obj/NiBoolInterpolator.h | 1 + include/obj/NiBoolTimelineInterpolator.h | 1 + include/obj/NiBooleanExtraData.h | 1 + include/obj/NiCamera.h | 1 + include/obj/NiClod.h | 1 + include/obj/NiClodData.h | 1 + include/obj/NiClodSkinInstance.h | 1 + include/obj/NiCollisionData.h | 1 + include/obj/NiCollisionObject.h | 1 + include/obj/NiColorData.h | 1 + include/obj/NiColorExtraData.h | 1 + include/obj/NiControllerManager.h | 1 + include/obj/NiControllerSequence.h | 1 + include/obj/NiDefaultAVObjectPalette.h | 1 + include/obj/NiDirectionalLight.h | 1 + include/obj/NiDitherProperty.h | 1 + include/obj/NiDynamicEffect.h | 1 + include/obj/NiExtraData.h | 1 + include/obj/NiFlipController.h | 1 + include/obj/NiFloatData.h | 1 + include/obj/NiFloatExtraData.h | 1 + include/obj/NiFloatExtraDataController.h | 1 + include/obj/NiFloatInterpolator.h | 1 + include/obj/NiFloatsExtraData.h | 1 + include/obj/NiFogProperty.h | 1 + include/obj/NiGeomMorpherController.h | 1 + include/obj/NiGeometry.h | 1 + include/obj/NiGeometryData.h | 1 + include/obj/NiGravity.h | 1 + include/obj/NiImage.h | 1 + include/obj/NiIntegerExtraData.h | 1 + include/obj/NiIntegersExtraData.h | 1 + include/obj/NiInterpolator.h | 1 + include/obj/NiKeyframeController.h | 1 + include/obj/NiKeyframeData.h | 1 + include/obj/NiLODData.h | 1 + include/obj/NiLODNode.h | 1 + include/obj/NiLight.h | 1 + include/obj/NiLightColorController.h | 1 + include/obj/NiLightDimmerController.h | 1 + include/obj/NiLookAtController.h | 1 + include/obj/NiLookAtInterpolator.h | 1 + include/obj/NiMaterialColorController.h | 1 + include/obj/NiMaterialProperty.h | 1 + include/obj/NiMeshPSysData.h | 1 + include/obj/NiMeshParticleSystem.h | 1 + include/obj/NiMorphData.h | 1 + .../obj/NiMultiTargetTransformController.h | 1 + include/obj/NiNode.h | 1 + include/obj/NiObject.h | 1 + include/obj/NiObjectNET.h | 1 + include/obj/NiPSysAgeDeathModifier.h | 1 + include/obj/NiPSysBombModifier.h | 1 + include/obj/NiPSysBoundUpdateModifier.h | 1 + include/obj/NiPSysBoxEmitter.h | 1 + include/obj/NiPSysColliderManager.h | 1 + include/obj/NiPSysColorModifier.h | 1 + include/obj/NiPSysCylinderEmitter.h | 1 + include/obj/NiPSysData.h | 1 + include/obj/NiPSysDragModifier.h | 1 + include/obj/NiPSysEmitter.h | 1 + include/obj/NiPSysEmitterCtlr.h | 1 + include/obj/NiPSysEmitterCtlrData.h | 1 + include/obj/NiPSysEmitterDeclinationCtlr.h | 1 + include/obj/NiPSysEmitterDeclinationVarCtlr.h | 1 + include/obj/NiPSysEmitterInitialRadiusCtlr.h | 1 + include/obj/NiPSysEmitterLifeSpanCtlr.h | 1 + include/obj/NiPSysEmitterSpeedCtlr.h | 1 + include/obj/NiPSysGravityModifier.h | 1 + include/obj/NiPSysGravityStrengthCtlr.h | 1 + include/obj/NiPSysGrowFadeModifier.h | 1 + include/obj/NiPSysMeshEmitter.h | 1 + include/obj/NiPSysMeshUpdateModifier.h | 1 + include/obj/NiPSysModifier.h | 1 + include/obj/NiPSysModifierActiveCtlr.h | 1 + include/obj/NiPSysPlanarCollider.h | 1 + include/obj/NiPSysPositionModifier.h | 1 + include/obj/NiPSysResetOnLoopCtlr.h | 1 + include/obj/NiPSysRotationModifier.h | 1 + include/obj/NiPSysSpawnModifier.h | 1 + include/obj/NiPSysSphereEmitter.h | 1 + include/obj/NiPSysUpdateCtlr.h | 1 + include/obj/NiPSysVolumeEmitter.h | 1 + include/obj/NiPalette.h | 1 + include/obj/NiParticleBomb.h | 1 + include/obj/NiParticleColorModifier.h | 1 + include/obj/NiParticleGrowFade.h | 1 + include/obj/NiParticleMeshModifier.h | 1 + include/obj/NiParticleMeshes.h | 1 + include/obj/NiParticleMeshesData.h | 1 + include/obj/NiParticleRotation.h | 1 + include/obj/NiParticleSystem.h | 1 + include/obj/NiParticleSystemController.h | 1 + include/obj/NiParticles.h | 1 + include/obj/NiParticlesData.h | 1 + include/obj/NiPathController.h | 1 + include/obj/NiPathInterpolator.h | 1 + include/obj/NiPixelData.h | 1 + include/obj/NiPlanarCollider.h | 1 + include/obj/NiPoint3Interpolator.h | 1 + include/obj/NiPointLight.h | 1 + include/obj/NiPosData.h | 1 + include/obj/NiProperty.h | 1 + include/obj/NiRangeLODData.h | 1 + include/obj/NiRotatingParticles.h | 1 + include/obj/NiRotatingParticlesData.h | 1 + include/obj/NiScreenLODData.h | 1 + include/obj/NiSequenceStreamHelper.h | 1 + include/obj/NiShadeProperty.h | 1 + include/obj/NiSingleInterpolatorController.h | 1 + include/obj/NiSkinData.h | 1 + include/obj/NiSkinInstance.h | 1 + include/obj/NiSkinPartition.h | 1 + include/obj/NiSourceTexture.h | 1 + include/obj/NiSpecularProperty.h | 1 + include/obj/NiSphericalCollider.h | 1 + include/obj/NiSpotLight.h | 1 + include/obj/NiStencilProperty.h | 1 + include/obj/NiStringExtraData.h | 1 + include/obj/NiStringPalette.h | 1 + include/obj/NiStringsExtraData.h | 1 + include/obj/NiTextKeyExtraData.h | 1 + include/obj/NiTextureEffect.h | 1 + include/obj/NiTextureModeProperty.h | 1 + include/obj/NiTextureProperty.h | 1 + include/obj/NiTextureTransformController.h | 1 + include/obj/NiTexturingProperty.h | 1 + include/obj/NiTimeController.h | 1 + include/obj/NiTransformController.h | 1 + include/obj/NiTransformData.h | 1 + include/obj/NiTransformInterpolator.h | 1 + include/obj/NiTriBasedGeom.h | 1 + include/obj/NiTriBasedGeomData.h | 1 + include/obj/NiTriShape.h | 1 + include/obj/NiTriShapeData.h | 1 + include/obj/NiTriStrips.h | 1 + include/obj/NiTriStripsData.h | 1 + include/obj/NiUVController.h | 1 + include/obj/NiUVData.h | 1 + include/obj/NiVectorExtraData.h | 1 + include/obj/NiVertWeightsExtraData.h | 1 + include/obj/NiVertexColorProperty.h | 1 + include/obj/NiVisController.h | 1 + include/obj/NiVisData.h | 1 + include/obj/NiWireframeProperty.h | 1 + include/obj/NiZBufferProperty.h | 1 + include/obj/RootCollisionNode.h | 1 + include/obj/bhkBlendCollisionObject.h | 1 + include/obj/bhkBlendController.h | 1 + include/obj/bhkBoxShape.h | 1 + include/obj/bhkCapsuleShape.h | 1 + include/obj/bhkCollisionObject.h | 1 + include/obj/bhkConvexShape.h | 1 + include/obj/bhkConvexTransformShape.h | 1 + include/obj/bhkConvexVerticesShape.h | 1 + include/obj/bhkEntity.h | 1 + include/obj/bhkHingeConstraint.h | 1 + include/obj/bhkLimitedHingeConstraint.h | 1 + include/obj/bhkListShape.h | 1 + include/obj/bhkMalleableConstraint.h | 1 + include/obj/bhkMoppBvTreeShape.h | 1 + include/obj/bhkMultiSphereShape.h | 1 + include/obj/bhkNiTriStripsShape.h | 1 + include/obj/bhkPackedNiTriStripsShape.h | 1 + include/obj/bhkPrismaticConstraint.h | 1 + include/obj/bhkRagdollConstraint.h | 1 + include/obj/bhkRefObject.h | 1 + include/obj/bhkRigidBody.h | 1 + include/obj/bhkRigidBodyT.h | 1 + include/obj/bhkSPCollisionObject.h | 1 + include/obj/bhkSerializable.h | 1 + include/obj/bhkShape.h | 1 + include/obj/bhkSimpleShapePhantom.h | 1 + include/obj/bhkSphereRepShape.h | 1 + include/obj/bhkSphereShape.h | 1 + include/obj/bhkStiffSpringConstraint.h | 1 + include/obj/bhkTransformShape.h | 1 + include/obj/bhkWorldObject.h | 1 + include/obj/hkPackedNiTriStripsData.h | 1 + niflib.vcproj | 4 - src/gen/obj_factories.cpp | 579 ------------------ src/niflib.cpp | 14 +- src/obj/ABoneLODController.cpp | 24 + src/obj/AKeyedData.cpp | 24 + src/obj/APSysCtlr.cpp | 24 + src/obj/APSysData.cpp | 24 + src/obj/AParticleModifier.cpp | 24 + src/obj/AbhkConstraint.cpp | 24 + src/obj/AbhkRagdollConstraint.cpp | 24 + src/obj/AbhkShapeCollection.cpp | 24 + src/obj/AvoidNode.cpp | 24 + src/obj/BSBound.cpp | 24 + src/obj/BSFurnitureMarker.cpp | 24 + src/obj/BSKeyframeController.cpp | 24 + src/obj/BSPSysArrayEmitter.cpp | 24 + src/obj/BSParentVelocityModifier.cpp | 24 + src/obj/BSXFlags.cpp | 24 + src/obj/FxButton.cpp | 24 + src/obj/FxRadioButton.cpp | 24 + src/obj/FxWidget.cpp | 24 + src/obj/NiAVObject.cpp | 24 + src/obj/NiAlphaController.cpp | 24 + src/obj/NiAlphaProperty.cpp | 24 + src/obj/NiAmbientLight.cpp | 24 + src/obj/NiAutoNormalParticles.cpp | 24 + src/obj/NiAutoNormalParticlesData.cpp | 24 + src/obj/NiBSAnimationNode.cpp | 24 + src/obj/NiBSBoneLODController.cpp | 24 + src/obj/NiBSPArrayController.cpp | 24 + src/obj/NiBSParticleNode.cpp | 24 + src/obj/NiBSplineBasisData.cpp | 24 + src/obj/NiBSplineCompFloatInterpolator.cpp | 24 + src/obj/NiBSplineCompPoint3Interpolator.cpp | 24 + .../NiBSplineCompTransformInterpolator.cpp | 24 + src/obj/NiBSplineData.cpp | 24 + src/obj/NiBSplineInterpolator.cpp | 24 + src/obj/NiBillboardNode.cpp | 24 + src/obj/NiBinaryExtraData.cpp | 24 + src/obj/NiBlendBoolInterpolator.cpp | 24 + src/obj/NiBlendFloatInterpolator.cpp | 24 + src/obj/NiBlendInterpolator.cpp | 24 + src/obj/NiBlendPoint3Interpolator.cpp | 24 + src/obj/NiBlendTransformInterpolator.cpp | 24 + src/obj/NiBoneLODController.cpp | 24 + src/obj/NiBoolData.cpp | 24 + src/obj/NiBoolInterpolator.cpp | 24 + src/obj/NiBoolTimelineInterpolator.cpp | 24 + src/obj/NiBooleanExtraData.cpp | 24 + src/obj/NiCamera.cpp | 24 + src/obj/NiClod.cpp | 24 + src/obj/NiClodData.cpp | 24 + src/obj/NiClodSkinInstance.cpp | 24 + src/obj/NiCollisionData.cpp | 24 + src/obj/NiCollisionObject.cpp | 24 + src/obj/NiColorData.cpp | 24 + src/obj/NiColorExtraData.cpp | 24 + src/obj/NiControllerManager.cpp | 24 + src/obj/NiControllerSequence.cpp | 24 + src/obj/NiDefaultAVObjectPalette.cpp | 24 + src/obj/NiDirectionalLight.cpp | 24 + src/obj/NiDitherProperty.cpp | 24 + src/obj/NiDynamicEffect.cpp | 24 + src/obj/NiExtraData.cpp | 24 + src/obj/NiFlipController.cpp | 24 + src/obj/NiFloatData.cpp | 24 + src/obj/NiFloatExtraData.cpp | 24 + src/obj/NiFloatExtraDataController.cpp | 24 + src/obj/NiFloatInterpolator.cpp | 24 + src/obj/NiFloatsExtraData.cpp | 24 + src/obj/NiFogProperty.cpp | 24 + src/obj/NiGeomMorpherController.cpp | 24 + src/obj/NiGeometry.cpp | 24 + src/obj/NiGeometryData.cpp | 24 + src/obj/NiGravity.cpp | 24 + src/obj/NiImage.cpp | 24 + src/obj/NiIntegerExtraData.cpp | 24 + src/obj/NiIntegersExtraData.cpp | 24 + src/obj/NiInterpolator.cpp | 24 + src/obj/NiKeyframeController.cpp | 24 + src/obj/NiKeyframeData.cpp | 24 + src/obj/NiLODData.cpp | 24 + src/obj/NiLODNode.cpp | 24 + src/obj/NiLight.cpp | 24 + src/obj/NiLightColorController.cpp | 24 + src/obj/NiLightDimmerController.cpp | 24 + src/obj/NiLookAtController.cpp | 24 + src/obj/NiLookAtInterpolator.cpp | 24 + src/obj/NiMaterialColorController.cpp | 24 + src/obj/NiMaterialProperty.cpp | 24 + src/obj/NiMeshPSysData.cpp | 24 + src/obj/NiMeshParticleSystem.cpp | 24 + src/obj/NiMorphData.cpp | 24 + src/obj/NiMultiTargetTransformController.cpp | 24 + src/obj/NiNode.cpp | 24 + src/obj/NiObject.cpp | 25 + src/obj/NiObjectNET.cpp | 24 + src/obj/NiPSysAgeDeathModifier.cpp | 24 + src/obj/NiPSysBombModifier.cpp | 24 + src/obj/NiPSysBoundUpdateModifier.cpp | 24 + src/obj/NiPSysBoxEmitter.cpp | 24 + src/obj/NiPSysColliderManager.cpp | 24 + src/obj/NiPSysColorModifier.cpp | 24 + src/obj/NiPSysCylinderEmitter.cpp | 24 + src/obj/NiPSysData.cpp | 24 + src/obj/NiPSysDragModifier.cpp | 24 + src/obj/NiPSysEmitter.cpp | 24 + src/obj/NiPSysEmitterCtlr.cpp | 24 + src/obj/NiPSysEmitterCtlrData.cpp | 24 + src/obj/NiPSysEmitterDeclinationCtlr.cpp | 24 + src/obj/NiPSysEmitterDeclinationVarCtlr.cpp | 24 + src/obj/NiPSysEmitterInitialRadiusCtlr.cpp | 24 + src/obj/NiPSysEmitterLifeSpanCtlr.cpp | 24 + src/obj/NiPSysEmitterSpeedCtlr.cpp | 24 + src/obj/NiPSysGravityModifier.cpp | 24 + src/obj/NiPSysGravityStrengthCtlr.cpp | 24 + src/obj/NiPSysGrowFadeModifier.cpp | 24 + src/obj/NiPSysMeshEmitter.cpp | 24 + src/obj/NiPSysMeshUpdateModifier.cpp | 24 + src/obj/NiPSysModifier.cpp | 24 + src/obj/NiPSysModifierActiveCtlr.cpp | 24 + src/obj/NiPSysPlanarCollider.cpp | 24 + src/obj/NiPSysPositionModifier.cpp | 24 + src/obj/NiPSysResetOnLoopCtlr.cpp | 24 + src/obj/NiPSysRotationModifier.cpp | 24 + src/obj/NiPSysSpawnModifier.cpp | 24 + src/obj/NiPSysSphereEmitter.cpp | 24 + src/obj/NiPSysUpdateCtlr.cpp | 24 + src/obj/NiPSysVolumeEmitter.cpp | 24 + src/obj/NiPalette.cpp | 24 + src/obj/NiParticleBomb.cpp | 24 + src/obj/NiParticleColorModifier.cpp | 24 + src/obj/NiParticleGrowFade.cpp | 24 + src/obj/NiParticleMeshModifier.cpp | 24 + src/obj/NiParticleMeshes.cpp | 24 + src/obj/NiParticleMeshesData.cpp | 24 + src/obj/NiParticleRotation.cpp | 24 + src/obj/NiParticleSystem.cpp | 24 + src/obj/NiParticleSystemController.cpp | 24 + src/obj/NiParticles.cpp | 24 + src/obj/NiParticlesData.cpp | 24 + src/obj/NiPathController.cpp | 24 + src/obj/NiPathInterpolator.cpp | 24 + src/obj/NiPixelData.cpp | 24 + src/obj/NiPlanarCollider.cpp | 24 + src/obj/NiPoint3Interpolator.cpp | 24 + src/obj/NiPointLight.cpp | 24 + src/obj/NiPosData.cpp | 24 + src/obj/NiProperty.cpp | 24 + src/obj/NiRangeLODData.cpp | 24 + src/obj/NiRotatingParticles.cpp | 24 + src/obj/NiRotatingParticlesData.cpp | 24 + src/obj/NiScreenLODData.cpp | 24 + src/obj/NiSequenceStreamHelper.cpp | 24 + src/obj/NiShadeProperty.cpp | 24 + src/obj/NiSingleInterpolatorController.cpp | 24 + src/obj/NiSkinData.cpp | 24 + src/obj/NiSkinInstance.cpp | 24 + src/obj/NiSkinPartition.cpp | 24 + src/obj/NiSourceTexture.cpp | 24 + src/obj/NiSpecularProperty.cpp | 24 + src/obj/NiSphericalCollider.cpp | 24 + src/obj/NiSpotLight.cpp | 24 + src/obj/NiStencilProperty.cpp | 24 + src/obj/NiStringExtraData.cpp | 24 + src/obj/NiStringPalette.cpp | 24 + src/obj/NiStringsExtraData.cpp | 24 + src/obj/NiTextKeyExtraData.cpp | 24 + src/obj/NiTextureEffect.cpp | 24 + src/obj/NiTextureModeProperty.cpp | 24 + src/obj/NiTextureProperty.cpp | 24 + src/obj/NiTextureTransformController.cpp | 24 + src/obj/NiTexturingProperty.cpp | 24 + src/obj/NiTimeController.cpp | 24 + src/obj/NiTransformController.cpp | 24 + src/obj/NiTransformData.cpp | 24 + src/obj/NiTransformInterpolator.cpp | 24 + src/obj/NiTriBasedGeom.cpp | 24 + src/obj/NiTriBasedGeomData.cpp | 24 + src/obj/NiTriShape.cpp | 24 + src/obj/NiTriShapeData.cpp | 24 + src/obj/NiTriStrips.cpp | 24 + src/obj/NiTriStripsData.cpp | 24 + src/obj/NiUVController.cpp | 24 + src/obj/NiUVData.cpp | 24 + src/obj/NiVectorExtraData.cpp | 24 + src/obj/NiVertWeightsExtraData.cpp | 24 + src/obj/NiVertexColorProperty.cpp | 24 + src/obj/NiVisController.cpp | 24 + src/obj/NiVisData.cpp | 24 + src/obj/NiWireframeProperty.cpp | 24 + src/obj/NiZBufferProperty.cpp | 24 + src/obj/RootCollisionNode.cpp | 24 + src/obj/bhkBlendCollisionObject.cpp | 24 + src/obj/bhkBlendController.cpp | 24 + src/obj/bhkBoxShape.cpp | 24 + src/obj/bhkCapsuleShape.cpp | 24 + src/obj/bhkCollisionObject.cpp | 24 + src/obj/bhkConvexShape.cpp | 24 + src/obj/bhkConvexTransformShape.cpp | 24 + src/obj/bhkConvexVerticesShape.cpp | 24 + src/obj/bhkEntity.cpp | 24 + src/obj/bhkHingeConstraint.cpp | 24 + src/obj/bhkLimitedHingeConstraint.cpp | 24 + src/obj/bhkListShape.cpp | 24 + src/obj/bhkMalleableConstraint.cpp | 24 + src/obj/bhkMoppBvTreeShape.cpp | 24 + src/obj/bhkMultiSphereShape.cpp | 24 + src/obj/bhkNiTriStripsShape.cpp | 24 + src/obj/bhkPackedNiTriStripsShape.cpp | 24 + src/obj/bhkPrismaticConstraint.cpp | 24 + src/obj/bhkRagdollConstraint.cpp | 24 + src/obj/bhkRefObject.cpp | 24 + src/obj/bhkRigidBody.cpp | 24 + src/obj/bhkRigidBodyT.cpp | 24 + src/obj/bhkSPCollisionObject.cpp | 24 + src/obj/bhkSerializable.cpp | 24 + src/obj/bhkShape.cpp | 24 + src/obj/bhkSimpleShapePhantom.cpp | 24 + src/obj/bhkSphereRepShape.cpp | 24 + src/obj/bhkSphereShape.cpp | 24 + src/obj/bhkStiffSpringConstraint.cpp | 24 + src/obj/bhkTransformShape.cpp | 24 + src/obj/bhkWorldObject.cpp | 24 + src/obj/hkPackedNiTriStripsData.cpp | 24 + 447 files changed, 5554 insertions(+), 594 deletions(-) delete mode 100644 src/gen/obj_factories.cpp diff --git a/include/obj/ABoneLODController.h b/include/obj/ABoneLODController.h index 29127e8f..a06790e1 100644 --- a/include/obj/ABoneLODController.h +++ b/include/obj/ABoneLODController.h @@ -26,6 +26,7 @@ public: NIFLIB_API ~ABoneLODController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/AKeyedData.h b/include/obj/AKeyedData.h index d9f60623..e37e3a7a 100644 --- a/include/obj/AKeyedData.h +++ b/include/obj/AKeyedData.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~AKeyedData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/APSysCtlr.h b/include/obj/APSysCtlr.h index 39ecbc0b..8ec0c42c 100644 --- a/include/obj/APSysCtlr.h +++ b/include/obj/APSysCtlr.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~APSysCtlr(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/APSysData.h b/include/obj/APSysData.h index 41191aca..461b6d26 100644 --- a/include/obj/APSysData.h +++ b/include/obj/APSysData.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~APSysData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/AParticleModifier.h b/include/obj/AParticleModifier.h index e0cdcc20..920fc2ef 100644 --- a/include/obj/AParticleModifier.h +++ b/include/obj/AParticleModifier.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~AParticleModifier(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/AbhkConstraint.h b/include/obj/AbhkConstraint.h index b01bd53f..e075a901 100644 --- a/include/obj/AbhkConstraint.h +++ b/include/obj/AbhkConstraint.h @@ -25,6 +25,7 @@ public: NIFLIB_API ~AbhkConstraint(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/AbhkRagdollConstraint.h b/include/obj/AbhkRagdollConstraint.h index 6dcc7e81..cd769777 100644 --- a/include/obj/AbhkRagdollConstraint.h +++ b/include/obj/AbhkRagdollConstraint.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~AbhkRagdollConstraint(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/AbhkShapeCollection.h b/include/obj/AbhkShapeCollection.h index 5b0c18ae..84478cdf 100644 --- a/include/obj/AbhkShapeCollection.h +++ b/include/obj/AbhkShapeCollection.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~AbhkShapeCollection(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/AvoidNode.h b/include/obj/AvoidNode.h index 9a4097b8..2c20b1c8 100644 --- a/include/obj/AvoidNode.h +++ b/include/obj/AvoidNode.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~AvoidNode(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/BSBound.h b/include/obj/BSBound.h index 0dccd0e2..d841bc80 100644 --- a/include/obj/BSBound.h +++ b/include/obj/BSBound.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~BSBound(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/BSFurnitureMarker.h b/include/obj/BSFurnitureMarker.h index 7d128de4..4b841bf1 100644 --- a/include/obj/BSFurnitureMarker.h +++ b/include/obj/BSFurnitureMarker.h @@ -26,6 +26,7 @@ public: NIFLIB_API ~BSFurnitureMarker(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/BSKeyframeController.h b/include/obj/BSKeyframeController.h index 0fc0f7fe..42b42603 100644 --- a/include/obj/BSKeyframeController.h +++ b/include/obj/BSKeyframeController.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~BSKeyframeController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/BSPSysArrayEmitter.h b/include/obj/BSPSysArrayEmitter.h index fa69f7bd..4fbc83e0 100644 --- a/include/obj/BSPSysArrayEmitter.h +++ b/include/obj/BSPSysArrayEmitter.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~BSPSysArrayEmitter(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/BSParentVelocityModifier.h b/include/obj/BSParentVelocityModifier.h index 86cc9bfa..01b34b9a 100644 --- a/include/obj/BSParentVelocityModifier.h +++ b/include/obj/BSParentVelocityModifier.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~BSParentVelocityModifier(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/BSXFlags.h b/include/obj/BSXFlags.h index b00f4759..dcf023e9 100644 --- a/include/obj/BSXFlags.h +++ b/include/obj/BSXFlags.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~BSXFlags(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/FxButton.h b/include/obj/FxButton.h index a398e027..3a609680 100644 --- a/include/obj/FxButton.h +++ b/include/obj/FxButton.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~FxButton(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/FxRadioButton.h b/include/obj/FxRadioButton.h index 88559fee..da88e343 100644 --- a/include/obj/FxRadioButton.h +++ b/include/obj/FxRadioButton.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~FxRadioButton(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/FxWidget.h b/include/obj/FxWidget.h index 8bd4ad4f..2d7c1cd6 100644 --- a/include/obj/FxWidget.h +++ b/include/obj/FxWidget.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~FxWidget(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiAVObject.h b/include/obj/NiAVObject.h index 20c2bfbf..33599cac 100644 --- a/include/obj/NiAVObject.h +++ b/include/obj/NiAVObject.h @@ -31,6 +31,7 @@ public: NIFLIB_API ~NiAVObject(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiAlphaController.h b/include/obj/NiAlphaController.h index f609fe31..465d46bd 100644 --- a/include/obj/NiAlphaController.h +++ b/include/obj/NiAlphaController.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiAlphaController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiAlphaProperty.h b/include/obj/NiAlphaProperty.h index 1aef9043..68562c83 100644 --- a/include/obj/NiAlphaProperty.h +++ b/include/obj/NiAlphaProperty.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiAlphaProperty(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiAmbientLight.h b/include/obj/NiAmbientLight.h index 5cbfb6f7..36f2d056 100644 --- a/include/obj/NiAmbientLight.h +++ b/include/obj/NiAmbientLight.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiAmbientLight(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiAutoNormalParticles.h b/include/obj/NiAutoNormalParticles.h index 77a0ed0c..ba8f36f2 100644 --- a/include/obj/NiAutoNormalParticles.h +++ b/include/obj/NiAutoNormalParticles.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiAutoNormalParticles(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiAutoNormalParticlesData.h b/include/obj/NiAutoNormalParticlesData.h index f1afdc9e..940511f7 100644 --- a/include/obj/NiAutoNormalParticlesData.h +++ b/include/obj/NiAutoNormalParticlesData.h @@ -24,6 +24,7 @@ public: NIFLIB_API ~NiAutoNormalParticlesData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBSAnimationNode.h b/include/obj/NiBSAnimationNode.h index 5496e740..2b78cbc6 100644 --- a/include/obj/NiBSAnimationNode.h +++ b/include/obj/NiBSAnimationNode.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiBSAnimationNode(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBSBoneLODController.h b/include/obj/NiBSBoneLODController.h index 5ebce2ef..67e67707 100644 --- a/include/obj/NiBSBoneLODController.h +++ b/include/obj/NiBSBoneLODController.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiBSBoneLODController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBSPArrayController.h b/include/obj/NiBSPArrayController.h index d147fd04..07d9793c 100644 --- a/include/obj/NiBSPArrayController.h +++ b/include/obj/NiBSPArrayController.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiBSPArrayController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBSParticleNode.h b/include/obj/NiBSParticleNode.h index c4fe79b2..8939bf20 100644 --- a/include/obj/NiBSParticleNode.h +++ b/include/obj/NiBSParticleNode.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiBSParticleNode(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBSplineBasisData.h b/include/obj/NiBSplineBasisData.h index 5db389ab..5cc5f2cc 100644 --- a/include/obj/NiBSplineBasisData.h +++ b/include/obj/NiBSplineBasisData.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiBSplineBasisData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBSplineCompFloatInterpolator.h b/include/obj/NiBSplineCompFloatInterpolator.h index b150dfc4..84f9d894 100644 --- a/include/obj/NiBSplineCompFloatInterpolator.h +++ b/include/obj/NiBSplineCompFloatInterpolator.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiBSplineCompFloatInterpolator(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBSplineCompPoint3Interpolator.h b/include/obj/NiBSplineCompPoint3Interpolator.h index 1f0a41ca..bd230999 100644 --- a/include/obj/NiBSplineCompPoint3Interpolator.h +++ b/include/obj/NiBSplineCompPoint3Interpolator.h @@ -25,6 +25,7 @@ public: NIFLIB_API ~NiBSplineCompPoint3Interpolator(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBSplineCompTransformInterpolator.h b/include/obj/NiBSplineCompTransformInterpolator.h index f67b7ae6..eaf36c16 100644 --- a/include/obj/NiBSplineCompTransformInterpolator.h +++ b/include/obj/NiBSplineCompTransformInterpolator.h @@ -24,6 +24,7 @@ public: NIFLIB_API ~NiBSplineCompTransformInterpolator(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBSplineData.h b/include/obj/NiBSplineData.h index 14b27ff8..150e5aac 100644 --- a/include/obj/NiBSplineData.h +++ b/include/obj/NiBSplineData.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiBSplineData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBSplineInterpolator.h b/include/obj/NiBSplineInterpolator.h index 68ffc586..404ba2c9 100644 --- a/include/obj/NiBSplineInterpolator.h +++ b/include/obj/NiBSplineInterpolator.h @@ -26,6 +26,7 @@ public: NIFLIB_API ~NiBSplineInterpolator(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBillboardNode.h b/include/obj/NiBillboardNode.h index c32facf0..84ee53ca 100644 --- a/include/obj/NiBillboardNode.h +++ b/include/obj/NiBillboardNode.h @@ -24,6 +24,7 @@ public: NIFLIB_API ~NiBillboardNode(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBinaryExtraData.h b/include/obj/NiBinaryExtraData.h index 696335ae..a3829bee 100644 --- a/include/obj/NiBinaryExtraData.h +++ b/include/obj/NiBinaryExtraData.h @@ -25,6 +25,7 @@ public: NIFLIB_API ~NiBinaryExtraData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBlendBoolInterpolator.h b/include/obj/NiBlendBoolInterpolator.h index 30f99784..1b77f2a8 100644 --- a/include/obj/NiBlendBoolInterpolator.h +++ b/include/obj/NiBlendBoolInterpolator.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiBlendBoolInterpolator(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBlendFloatInterpolator.h b/include/obj/NiBlendFloatInterpolator.h index f783fc32..cdfb23ac 100644 --- a/include/obj/NiBlendFloatInterpolator.h +++ b/include/obj/NiBlendFloatInterpolator.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiBlendFloatInterpolator(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBlendInterpolator.h b/include/obj/NiBlendInterpolator.h index fd386fa9..5d977df4 100644 --- a/include/obj/NiBlendInterpolator.h +++ b/include/obj/NiBlendInterpolator.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiBlendInterpolator(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBlendPoint3Interpolator.h b/include/obj/NiBlendPoint3Interpolator.h index c8a0d0e8..b9aea723 100644 --- a/include/obj/NiBlendPoint3Interpolator.h +++ b/include/obj/NiBlendPoint3Interpolator.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiBlendPoint3Interpolator(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBlendTransformInterpolator.h b/include/obj/NiBlendTransformInterpolator.h index 5dd7e8c4..f791927b 100644 --- a/include/obj/NiBlendTransformInterpolator.h +++ b/include/obj/NiBlendTransformInterpolator.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiBlendTransformInterpolator(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBoneLODController.h b/include/obj/NiBoneLODController.h index 6bc472bd..2fbcb18d 100644 --- a/include/obj/NiBoneLODController.h +++ b/include/obj/NiBoneLODController.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~NiBoneLODController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBoolData.h b/include/obj/NiBoolData.h index c6a3b640..b86c8b28 100644 --- a/include/obj/NiBoolData.h +++ b/include/obj/NiBoolData.h @@ -24,6 +24,7 @@ public: NIFLIB_API ~NiBoolData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBoolInterpolator.h b/include/obj/NiBoolInterpolator.h index b3d3bd9d..4bd83ee5 100644 --- a/include/obj/NiBoolInterpolator.h +++ b/include/obj/NiBoolInterpolator.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiBoolInterpolator(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBoolTimelineInterpolator.h b/include/obj/NiBoolTimelineInterpolator.h index c2bd4689..e020983e 100644 --- a/include/obj/NiBoolTimelineInterpolator.h +++ b/include/obj/NiBoolTimelineInterpolator.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiBoolTimelineInterpolator(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiBooleanExtraData.h b/include/obj/NiBooleanExtraData.h index c5ccb760..64a2d286 100644 --- a/include/obj/NiBooleanExtraData.h +++ b/include/obj/NiBooleanExtraData.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiBooleanExtraData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiCamera.h b/include/obj/NiCamera.h index 0bc365a0..5e914980 100644 --- a/include/obj/NiCamera.h +++ b/include/obj/NiCamera.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiCamera(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiClod.h b/include/obj/NiClod.h index 7bb65198..a24d1b35 100644 --- a/include/obj/NiClod.h +++ b/include/obj/NiClod.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiClod(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiClodData.h b/include/obj/NiClodData.h index 59c51185..3c3c5795 100644 --- a/include/obj/NiClodData.h +++ b/include/obj/NiClodData.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiClodData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiClodSkinInstance.h b/include/obj/NiClodSkinInstance.h index 8a1d8aea..6a14fde7 100644 --- a/include/obj/NiClodSkinInstance.h +++ b/include/obj/NiClodSkinInstance.h @@ -24,6 +24,7 @@ public: NIFLIB_API ~NiClodSkinInstance(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiCollisionData.h b/include/obj/NiCollisionData.h index 74ede186..38d3b628 100644 --- a/include/obj/NiCollisionData.h +++ b/include/obj/NiCollisionData.h @@ -25,6 +25,7 @@ public: NIFLIB_API ~NiCollisionData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiCollisionObject.h b/include/obj/NiCollisionObject.h index 07303f15..cf26860d 100644 --- a/include/obj/NiCollisionObject.h +++ b/include/obj/NiCollisionObject.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~NiCollisionObject(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiColorData.h b/include/obj/NiColorData.h index 8de64eec..3833fa8c 100644 --- a/include/obj/NiColorData.h +++ b/include/obj/NiColorData.h @@ -24,6 +24,7 @@ public: NIFLIB_API ~NiColorData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiColorExtraData.h b/include/obj/NiColorExtraData.h index 2c034e93..5452b694 100644 --- a/include/obj/NiColorExtraData.h +++ b/include/obj/NiColorExtraData.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiColorExtraData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiControllerManager.h b/include/obj/NiControllerManager.h index 264fdf57..cbf5692a 100644 --- a/include/obj/NiControllerManager.h +++ b/include/obj/NiControllerManager.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~NiControllerManager(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiControllerSequence.h b/include/obj/NiControllerSequence.h index c8d4a544..45b9ad93 100644 --- a/include/obj/NiControllerSequence.h +++ b/include/obj/NiControllerSequence.h @@ -32,6 +32,7 @@ public: NIFLIB_API ~NiControllerSequence(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiDefaultAVObjectPalette.h b/include/obj/NiDefaultAVObjectPalette.h index 527aa3a5..4ec328ec 100644 --- a/include/obj/NiDefaultAVObjectPalette.h +++ b/include/obj/NiDefaultAVObjectPalette.h @@ -27,6 +27,7 @@ public: NIFLIB_API ~NiDefaultAVObjectPalette(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiDirectionalLight.h b/include/obj/NiDirectionalLight.h index 0fc79ddd..f8cfab3d 100644 --- a/include/obj/NiDirectionalLight.h +++ b/include/obj/NiDirectionalLight.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiDirectionalLight(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiDitherProperty.h b/include/obj/NiDitherProperty.h index aa124fe8..7313c753 100644 --- a/include/obj/NiDitherProperty.h +++ b/include/obj/NiDitherProperty.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiDitherProperty(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiDynamicEffect.h b/include/obj/NiDynamicEffect.h index f348ac36..679ac192 100644 --- a/include/obj/NiDynamicEffect.h +++ b/include/obj/NiDynamicEffect.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiDynamicEffect(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiExtraData.h b/include/obj/NiExtraData.h index 84916951..e0d4cf5f 100644 --- a/include/obj/NiExtraData.h +++ b/include/obj/NiExtraData.h @@ -25,6 +25,7 @@ public: NIFLIB_API ~NiExtraData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiFlipController.h b/include/obj/NiFlipController.h index 47efe7c1..e8d50c88 100644 --- a/include/obj/NiFlipController.h +++ b/include/obj/NiFlipController.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiFlipController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiFloatData.h b/include/obj/NiFloatData.h index 5d0c0483..de46879a 100644 --- a/include/obj/NiFloatData.h +++ b/include/obj/NiFloatData.h @@ -24,6 +24,7 @@ public: NIFLIB_API ~NiFloatData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiFloatExtraData.h b/include/obj/NiFloatExtraData.h index 77284aff..662bc69f 100644 --- a/include/obj/NiFloatExtraData.h +++ b/include/obj/NiFloatExtraData.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiFloatExtraData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiFloatExtraDataController.h b/include/obj/NiFloatExtraDataController.h index 2f7c9b39..5d19feef 100644 --- a/include/obj/NiFloatExtraDataController.h +++ b/include/obj/NiFloatExtraDataController.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiFloatExtraDataController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiFloatInterpolator.h b/include/obj/NiFloatInterpolator.h index 9e2f25c3..460a34bd 100644 --- a/include/obj/NiFloatInterpolator.h +++ b/include/obj/NiFloatInterpolator.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiFloatInterpolator(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiFloatsExtraData.h b/include/obj/NiFloatsExtraData.h index d0b6082c..ff815c3e 100644 --- a/include/obj/NiFloatsExtraData.h +++ b/include/obj/NiFloatsExtraData.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiFloatsExtraData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiFogProperty.h b/include/obj/NiFogProperty.h index b6d26ea5..c71ffbf0 100644 --- a/include/obj/NiFogProperty.h +++ b/include/obj/NiFogProperty.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiFogProperty(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiGeomMorpherController.h b/include/obj/NiGeomMorpherController.h index 2cad8ec0..ebc05808 100644 --- a/include/obj/NiGeomMorpherController.h +++ b/include/obj/NiGeomMorpherController.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~NiGeomMorpherController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiGeometry.h b/include/obj/NiGeometry.h index f1f77c93..00e8c031 100644 --- a/include/obj/NiGeometry.h +++ b/include/obj/NiGeometry.h @@ -34,6 +34,7 @@ public: NIFLIB_API ~NiGeometry(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiGeometryData.h b/include/obj/NiGeometryData.h index e18a6cc1..b268864f 100644 --- a/include/obj/NiGeometryData.h +++ b/include/obj/NiGeometryData.h @@ -32,6 +32,7 @@ public: NIFLIB_API ~NiGeometryData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiGravity.h b/include/obj/NiGravity.h index bec76a57..39f0fe74 100644 --- a/include/obj/NiGravity.h +++ b/include/obj/NiGravity.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiGravity(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiImage.h b/include/obj/NiImage.h index 641a21e5..59819636 100644 --- a/include/obj/NiImage.h +++ b/include/obj/NiImage.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiImage(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiIntegerExtraData.h b/include/obj/NiIntegerExtraData.h index 93932ae2..1b12207f 100644 --- a/include/obj/NiIntegerExtraData.h +++ b/include/obj/NiIntegerExtraData.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiIntegerExtraData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiIntegersExtraData.h b/include/obj/NiIntegersExtraData.h index 51421ecb..1e46530b 100644 --- a/include/obj/NiIntegersExtraData.h +++ b/include/obj/NiIntegersExtraData.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiIntegersExtraData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiInterpolator.h b/include/obj/NiInterpolator.h index 97259320..032582e7 100644 --- a/include/obj/NiInterpolator.h +++ b/include/obj/NiInterpolator.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiInterpolator(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiKeyframeController.h b/include/obj/NiKeyframeController.h index 2dfac325..2c0e43ee 100644 --- a/include/obj/NiKeyframeController.h +++ b/include/obj/NiKeyframeController.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~NiKeyframeController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiKeyframeData.h b/include/obj/NiKeyframeData.h index f198f58e..c764107a 100644 --- a/include/obj/NiKeyframeData.h +++ b/include/obj/NiKeyframeData.h @@ -24,6 +24,7 @@ public: NIFLIB_API ~NiKeyframeData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiLODData.h b/include/obj/NiLODData.h index 349c94c4..28c077bc 100644 --- a/include/obj/NiLODData.h +++ b/include/obj/NiLODData.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiLODData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiLODNode.h b/include/obj/NiLODNode.h index 47c559d0..152b027e 100644 --- a/include/obj/NiLODNode.h +++ b/include/obj/NiLODNode.h @@ -31,6 +31,7 @@ public: NIFLIB_API ~NiLODNode(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiLight.h b/include/obj/NiLight.h index dbbaa8d2..e4995223 100644 --- a/include/obj/NiLight.h +++ b/include/obj/NiLight.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiLight(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiLightColorController.h b/include/obj/NiLightColorController.h index 2544f8a0..7cb4fd21 100644 --- a/include/obj/NiLightColorController.h +++ b/include/obj/NiLightColorController.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~NiLightColorController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiLightDimmerController.h b/include/obj/NiLightDimmerController.h index 04d45aa0..1b99c983 100644 --- a/include/obj/NiLightDimmerController.h +++ b/include/obj/NiLightDimmerController.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiLightDimmerController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiLookAtController.h b/include/obj/NiLookAtController.h index 4f8dae86..88826508 100644 --- a/include/obj/NiLookAtController.h +++ b/include/obj/NiLookAtController.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~NiLookAtController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiLookAtInterpolator.h b/include/obj/NiLookAtInterpolator.h index e525e06c..2651e3b5 100644 --- a/include/obj/NiLookAtInterpolator.h +++ b/include/obj/NiLookAtInterpolator.h @@ -30,6 +30,7 @@ public: NIFLIB_API ~NiLookAtInterpolator(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiMaterialColorController.h b/include/obj/NiMaterialColorController.h index 2ca593b7..cd1c902f 100644 --- a/include/obj/NiMaterialColorController.h +++ b/include/obj/NiMaterialColorController.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiMaterialColorController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiMaterialProperty.h b/include/obj/NiMaterialProperty.h index 96bb073c..374ae6ff 100644 --- a/include/obj/NiMaterialProperty.h +++ b/include/obj/NiMaterialProperty.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiMaterialProperty(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiMeshPSysData.h b/include/obj/NiMeshPSysData.h index d97b4041..389f58e6 100644 --- a/include/obj/NiMeshPSysData.h +++ b/include/obj/NiMeshPSysData.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~NiMeshPSysData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiMeshParticleSystem.h b/include/obj/NiMeshParticleSystem.h index bcc234d1..3c203f46 100644 --- a/include/obj/NiMeshParticleSystem.h +++ b/include/obj/NiMeshParticleSystem.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiMeshParticleSystem(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiMorphData.h b/include/obj/NiMorphData.h index cc95c43e..0e22d64a 100644 --- a/include/obj/NiMorphData.h +++ b/include/obj/NiMorphData.h @@ -24,6 +24,7 @@ public: NIFLIB_API ~NiMorphData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiMultiTargetTransformController.h b/include/obj/NiMultiTargetTransformController.h index 9689358c..05cb0662 100644 --- a/include/obj/NiMultiTargetTransformController.h +++ b/include/obj/NiMultiTargetTransformController.h @@ -26,6 +26,7 @@ public: NIFLIB_API ~NiMultiTargetTransformController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiNode.h b/include/obj/NiNode.h index 910e4cfd..ef8fc8d5 100644 --- a/include/obj/NiNode.h +++ b/include/obj/NiNode.h @@ -31,6 +31,7 @@ public: NIFLIB_API ~NiNode(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiObject.h b/include/obj/NiObject.h index 51c6eb8a..aef9fddc 100644 --- a/include/obj/NiObject.h +++ b/include/obj/NiObject.h @@ -130,6 +130,7 @@ public: NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info ) {} NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); private: mutable unsigned int _ref_count; diff --git a/include/obj/NiObjectNET.h b/include/obj/NiObjectNET.h index e06dd403..03f05770 100644 --- a/include/obj/NiObjectNET.h +++ b/include/obj/NiObjectNET.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~NiObjectNET(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysAgeDeathModifier.h b/include/obj/NiPSysAgeDeathModifier.h index e604f686..b7b93400 100644 --- a/include/obj/NiPSysAgeDeathModifier.h +++ b/include/obj/NiPSysAgeDeathModifier.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiPSysAgeDeathModifier(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysBombModifier.h b/include/obj/NiPSysBombModifier.h index 0784f2b5..0b4683e6 100644 --- a/include/obj/NiPSysBombModifier.h +++ b/include/obj/NiPSysBombModifier.h @@ -25,6 +25,7 @@ public: NIFLIB_API ~NiPSysBombModifier(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysBoundUpdateModifier.h b/include/obj/NiPSysBoundUpdateModifier.h index 91e67eb4..c93c67e0 100644 --- a/include/obj/NiPSysBoundUpdateModifier.h +++ b/include/obj/NiPSysBoundUpdateModifier.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiPSysBoundUpdateModifier(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysBoxEmitter.h b/include/obj/NiPSysBoxEmitter.h index 3858e39d..6245aa20 100644 --- a/include/obj/NiPSysBoxEmitter.h +++ b/include/obj/NiPSysBoxEmitter.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiPSysBoxEmitter(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysColliderManager.h b/include/obj/NiPSysColliderManager.h index 61b95d1c..89074efb 100644 --- a/include/obj/NiPSysColliderManager.h +++ b/include/obj/NiPSysColliderManager.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiPSysColliderManager(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysColorModifier.h b/include/obj/NiPSysColorModifier.h index 6ca73a1b..5b9b404f 100644 --- a/include/obj/NiPSysColorModifier.h +++ b/include/obj/NiPSysColorModifier.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiPSysColorModifier(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysCylinderEmitter.h b/include/obj/NiPSysCylinderEmitter.h index c3f2c5c3..86316579 100644 --- a/include/obj/NiPSysCylinderEmitter.h +++ b/include/obj/NiPSysCylinderEmitter.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiPSysCylinderEmitter(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysData.h b/include/obj/NiPSysData.h index 8621b1dc..fe7e5acc 100644 --- a/include/obj/NiPSysData.h +++ b/include/obj/NiPSysData.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiPSysData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysDragModifier.h b/include/obj/NiPSysDragModifier.h index 10cf987f..b9c6aa1c 100644 --- a/include/obj/NiPSysDragModifier.h +++ b/include/obj/NiPSysDragModifier.h @@ -25,6 +25,7 @@ public: NIFLIB_API ~NiPSysDragModifier(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysEmitter.h b/include/obj/NiPSysEmitter.h index 91614700..824f700e 100644 --- a/include/obj/NiPSysEmitter.h +++ b/include/obj/NiPSysEmitter.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiPSysEmitter(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysEmitterCtlr.h b/include/obj/NiPSysEmitterCtlr.h index cb74e99c..d2a26de2 100644 --- a/include/obj/NiPSysEmitterCtlr.h +++ b/include/obj/NiPSysEmitterCtlr.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~NiPSysEmitterCtlr(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysEmitterCtlrData.h b/include/obj/NiPSysEmitterCtlrData.h index ec7c66d0..6c22d0e0 100644 --- a/include/obj/NiPSysEmitterCtlrData.h +++ b/include/obj/NiPSysEmitterCtlrData.h @@ -26,6 +26,7 @@ public: NIFLIB_API ~NiPSysEmitterCtlrData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysEmitterDeclinationCtlr.h b/include/obj/NiPSysEmitterDeclinationCtlr.h index 2b811111..b8d5c46a 100644 --- a/include/obj/NiPSysEmitterDeclinationCtlr.h +++ b/include/obj/NiPSysEmitterDeclinationCtlr.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiPSysEmitterDeclinationCtlr(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysEmitterDeclinationVarCtlr.h b/include/obj/NiPSysEmitterDeclinationVarCtlr.h index 6b6729a7..e5ccc027 100644 --- a/include/obj/NiPSysEmitterDeclinationVarCtlr.h +++ b/include/obj/NiPSysEmitterDeclinationVarCtlr.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiPSysEmitterDeclinationVarCtlr(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysEmitterInitialRadiusCtlr.h b/include/obj/NiPSysEmitterInitialRadiusCtlr.h index e567d29b..e83f1ec3 100644 --- a/include/obj/NiPSysEmitterInitialRadiusCtlr.h +++ b/include/obj/NiPSysEmitterInitialRadiusCtlr.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiPSysEmitterInitialRadiusCtlr(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysEmitterLifeSpanCtlr.h b/include/obj/NiPSysEmitterLifeSpanCtlr.h index 01f54fc5..f48ea390 100644 --- a/include/obj/NiPSysEmitterLifeSpanCtlr.h +++ b/include/obj/NiPSysEmitterLifeSpanCtlr.h @@ -26,6 +26,7 @@ public: NIFLIB_API ~NiPSysEmitterLifeSpanCtlr(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysEmitterSpeedCtlr.h b/include/obj/NiPSysEmitterSpeedCtlr.h index 8578233c..72e72afe 100644 --- a/include/obj/NiPSysEmitterSpeedCtlr.h +++ b/include/obj/NiPSysEmitterSpeedCtlr.h @@ -25,6 +25,7 @@ public: NIFLIB_API ~NiPSysEmitterSpeedCtlr(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysGravityModifier.h b/include/obj/NiPSysGravityModifier.h index e590eb08..3cd6a8e6 100644 --- a/include/obj/NiPSysGravityModifier.h +++ b/include/obj/NiPSysGravityModifier.h @@ -25,6 +25,7 @@ public: NIFLIB_API ~NiPSysGravityModifier(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysGravityStrengthCtlr.h b/include/obj/NiPSysGravityStrengthCtlr.h index 6ea0d147..96cb7fa5 100644 --- a/include/obj/NiPSysGravityStrengthCtlr.h +++ b/include/obj/NiPSysGravityStrengthCtlr.h @@ -25,6 +25,7 @@ public: NIFLIB_API ~NiPSysGravityStrengthCtlr(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysGrowFadeModifier.h b/include/obj/NiPSysGrowFadeModifier.h index 970a0f2b..864347ee 100644 --- a/include/obj/NiPSysGrowFadeModifier.h +++ b/include/obj/NiPSysGrowFadeModifier.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiPSysGrowFadeModifier(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysMeshEmitter.h b/include/obj/NiPSysMeshEmitter.h index a6facb02..54b1cdfa 100644 --- a/include/obj/NiPSysMeshEmitter.h +++ b/include/obj/NiPSysMeshEmitter.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiPSysMeshEmitter(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysMeshUpdateModifier.h b/include/obj/NiPSysMeshUpdateModifier.h index e70660ac..c32e856c 100644 --- a/include/obj/NiPSysMeshUpdateModifier.h +++ b/include/obj/NiPSysMeshUpdateModifier.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiPSysMeshUpdateModifier(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysModifier.h b/include/obj/NiPSysModifier.h index f82b1ddc..b73f947c 100644 --- a/include/obj/NiPSysModifier.h +++ b/include/obj/NiPSysModifier.h @@ -25,6 +25,7 @@ public: NIFLIB_API ~NiPSysModifier(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysModifierActiveCtlr.h b/include/obj/NiPSysModifierActiveCtlr.h index de7a623b..f968c46c 100644 --- a/include/obj/NiPSysModifierActiveCtlr.h +++ b/include/obj/NiPSysModifierActiveCtlr.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiPSysModifierActiveCtlr(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysPlanarCollider.h b/include/obj/NiPSysPlanarCollider.h index 3a24aef7..55e503d6 100644 --- a/include/obj/NiPSysPlanarCollider.h +++ b/include/obj/NiPSysPlanarCollider.h @@ -30,6 +30,7 @@ public: NIFLIB_API ~NiPSysPlanarCollider(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysPositionModifier.h b/include/obj/NiPSysPositionModifier.h index ce5e0490..0c3ea45b 100644 --- a/include/obj/NiPSysPositionModifier.h +++ b/include/obj/NiPSysPositionModifier.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiPSysPositionModifier(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysResetOnLoopCtlr.h b/include/obj/NiPSysResetOnLoopCtlr.h index a063da9e..067b7c7f 100644 --- a/include/obj/NiPSysResetOnLoopCtlr.h +++ b/include/obj/NiPSysResetOnLoopCtlr.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiPSysResetOnLoopCtlr(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysRotationModifier.h b/include/obj/NiPSysRotationModifier.h index 0e1f7449..cede80f3 100644 --- a/include/obj/NiPSysRotationModifier.h +++ b/include/obj/NiPSysRotationModifier.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiPSysRotationModifier(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysSpawnModifier.h b/include/obj/NiPSysSpawnModifier.h index 699b3f3b..3f68f38c 100644 --- a/include/obj/NiPSysSpawnModifier.h +++ b/include/obj/NiPSysSpawnModifier.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiPSysSpawnModifier(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysSphereEmitter.h b/include/obj/NiPSysSphereEmitter.h index 084d280d..4df9cbee 100644 --- a/include/obj/NiPSysSphereEmitter.h +++ b/include/obj/NiPSysSphereEmitter.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiPSysSphereEmitter(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysUpdateCtlr.h b/include/obj/NiPSysUpdateCtlr.h index 33bc64ce..c631f4f1 100644 --- a/include/obj/NiPSysUpdateCtlr.h +++ b/include/obj/NiPSysUpdateCtlr.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiPSysUpdateCtlr(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPSysVolumeEmitter.h b/include/obj/NiPSysVolumeEmitter.h index 823848a8..285248d8 100644 --- a/include/obj/NiPSysVolumeEmitter.h +++ b/include/obj/NiPSysVolumeEmitter.h @@ -25,6 +25,7 @@ public: NIFLIB_API ~NiPSysVolumeEmitter(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPalette.h b/include/obj/NiPalette.h index e0351327..c28d8197 100644 --- a/include/obj/NiPalette.h +++ b/include/obj/NiPalette.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiPalette(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiParticleBomb.h b/include/obj/NiParticleBomb.h index df1c2827..434466ed 100644 --- a/include/obj/NiParticleBomb.h +++ b/include/obj/NiParticleBomb.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiParticleBomb(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiParticleColorModifier.h b/include/obj/NiParticleColorModifier.h index 19d53eb9..c5b88ecd 100644 --- a/include/obj/NiParticleColorModifier.h +++ b/include/obj/NiParticleColorModifier.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiParticleColorModifier(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiParticleGrowFade.h b/include/obj/NiParticleGrowFade.h index ff61ff6a..37787c8f 100644 --- a/include/obj/NiParticleGrowFade.h +++ b/include/obj/NiParticleGrowFade.h @@ -26,6 +26,7 @@ public: NIFLIB_API ~NiParticleGrowFade(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiParticleMeshModifier.h b/include/obj/NiParticleMeshModifier.h index 5c6cbfd8..0c35e1e3 100644 --- a/include/obj/NiParticleMeshModifier.h +++ b/include/obj/NiParticleMeshModifier.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiParticleMeshModifier(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiParticleMeshes.h b/include/obj/NiParticleMeshes.h index 8df65504..7209940a 100644 --- a/include/obj/NiParticleMeshes.h +++ b/include/obj/NiParticleMeshes.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiParticleMeshes(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiParticleMeshesData.h b/include/obj/NiParticleMeshesData.h index defe206b..84017669 100644 --- a/include/obj/NiParticleMeshesData.h +++ b/include/obj/NiParticleMeshesData.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiParticleMeshesData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiParticleRotation.h b/include/obj/NiParticleRotation.h index f9a400fe..5f3c808e 100644 --- a/include/obj/NiParticleRotation.h +++ b/include/obj/NiParticleRotation.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiParticleRotation(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiParticleSystem.h b/include/obj/NiParticleSystem.h index 9332a7c2..ee7cba94 100644 --- a/include/obj/NiParticleSystem.h +++ b/include/obj/NiParticleSystem.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiParticleSystem(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiParticleSystemController.h b/include/obj/NiParticleSystemController.h index a02c2ed2..a8f8da7f 100644 --- a/include/obj/NiParticleSystemController.h +++ b/include/obj/NiParticleSystemController.h @@ -31,6 +31,7 @@ public: NIFLIB_API ~NiParticleSystemController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiParticles.h b/include/obj/NiParticles.h index 08cfef00..20987056 100644 --- a/include/obj/NiParticles.h +++ b/include/obj/NiParticles.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiParticles(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiParticlesData.h b/include/obj/NiParticlesData.h index e3b002d5..9b3b258f 100644 --- a/include/obj/NiParticlesData.h +++ b/include/obj/NiParticlesData.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiParticlesData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPathController.h b/include/obj/NiPathController.h index 2cf97588..2a031ac6 100644 --- a/include/obj/NiPathController.h +++ b/include/obj/NiPathController.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~NiPathController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPathInterpolator.h b/include/obj/NiPathInterpolator.h index 0aedd3a8..44c2aa22 100644 --- a/include/obj/NiPathInterpolator.h +++ b/include/obj/NiPathInterpolator.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~NiPathInterpolator(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPixelData.h b/include/obj/NiPixelData.h index d323760e..3675ffbe 100644 --- a/include/obj/NiPixelData.h +++ b/include/obj/NiPixelData.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~NiPixelData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPlanarCollider.h b/include/obj/NiPlanarCollider.h index baf35fb4..b0ddb27d 100644 --- a/include/obj/NiPlanarCollider.h +++ b/include/obj/NiPlanarCollider.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiPlanarCollider(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPoint3Interpolator.h b/include/obj/NiPoint3Interpolator.h index dfc9b5fc..797b835b 100644 --- a/include/obj/NiPoint3Interpolator.h +++ b/include/obj/NiPoint3Interpolator.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiPoint3Interpolator(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPointLight.h b/include/obj/NiPointLight.h index 181f54b5..fd53384e 100644 --- a/include/obj/NiPointLight.h +++ b/include/obj/NiPointLight.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiPointLight(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiPosData.h b/include/obj/NiPosData.h index b800ee8d..f44a48c7 100644 --- a/include/obj/NiPosData.h +++ b/include/obj/NiPosData.h @@ -24,6 +24,7 @@ public: NIFLIB_API ~NiPosData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiProperty.h b/include/obj/NiProperty.h index 6f42d068..9f443741 100644 --- a/include/obj/NiProperty.h +++ b/include/obj/NiProperty.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiProperty(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiRangeLODData.h b/include/obj/NiRangeLODData.h index 238eca14..ef26bda0 100644 --- a/include/obj/NiRangeLODData.h +++ b/include/obj/NiRangeLODData.h @@ -27,6 +27,7 @@ public: NIFLIB_API ~NiRangeLODData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiRotatingParticles.h b/include/obj/NiRotatingParticles.h index 63cf99d5..d16fcd22 100644 --- a/include/obj/NiRotatingParticles.h +++ b/include/obj/NiRotatingParticles.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiRotatingParticles(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiRotatingParticlesData.h b/include/obj/NiRotatingParticlesData.h index e8dd5576..7865d0e0 100644 --- a/include/obj/NiRotatingParticlesData.h +++ b/include/obj/NiRotatingParticlesData.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiRotatingParticlesData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiScreenLODData.h b/include/obj/NiScreenLODData.h index b58fc7a3..2d1bfc30 100644 --- a/include/obj/NiScreenLODData.h +++ b/include/obj/NiScreenLODData.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiScreenLODData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiSequenceStreamHelper.h b/include/obj/NiSequenceStreamHelper.h index e0a2d8bb..64c3be50 100644 --- a/include/obj/NiSequenceStreamHelper.h +++ b/include/obj/NiSequenceStreamHelper.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiSequenceStreamHelper(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiShadeProperty.h b/include/obj/NiShadeProperty.h index 5ee61161..aef3e932 100644 --- a/include/obj/NiShadeProperty.h +++ b/include/obj/NiShadeProperty.h @@ -24,6 +24,7 @@ public: NIFLIB_API ~NiShadeProperty(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiSingleInterpolatorController.h b/include/obj/NiSingleInterpolatorController.h index 7a99f2c7..39671b7c 100644 --- a/include/obj/NiSingleInterpolatorController.h +++ b/include/obj/NiSingleInterpolatorController.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~NiSingleInterpolatorController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiSkinData.h b/include/obj/NiSkinData.h index 8d3ecff2..163cab4d 100644 --- a/include/obj/NiSkinData.h +++ b/include/obj/NiSkinData.h @@ -37,6 +37,7 @@ public: //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiSkinInstance.h b/include/obj/NiSkinInstance.h index c46927b6..2502e3e3 100644 --- a/include/obj/NiSkinInstance.h +++ b/include/obj/NiSkinInstance.h @@ -39,6 +39,7 @@ public: NIFLIB_API ~NiSkinInstance(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiSkinPartition.h b/include/obj/NiSkinPartition.h index 201e0788..1ea93476 100644 --- a/include/obj/NiSkinPartition.h +++ b/include/obj/NiSkinPartition.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~NiSkinPartition(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiSourceTexture.h b/include/obj/NiSourceTexture.h index 1581fd0c..30180bc8 100644 --- a/include/obj/NiSourceTexture.h +++ b/include/obj/NiSourceTexture.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~NiSourceTexture(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiSpecularProperty.h b/include/obj/NiSpecularProperty.h index 2795333d..c98a0b87 100644 --- a/include/obj/NiSpecularProperty.h +++ b/include/obj/NiSpecularProperty.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiSpecularProperty(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiSphericalCollider.h b/include/obj/NiSphericalCollider.h index 50416284..195da308 100644 --- a/include/obj/NiSphericalCollider.h +++ b/include/obj/NiSphericalCollider.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiSphericalCollider(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiSpotLight.h b/include/obj/NiSpotLight.h index cf7e1cab..9dff8aab 100644 --- a/include/obj/NiSpotLight.h +++ b/include/obj/NiSpotLight.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiSpotLight(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiStencilProperty.h b/include/obj/NiStencilProperty.h index 713f5ec1..7cf7e12b 100644 --- a/include/obj/NiStencilProperty.h +++ b/include/obj/NiStencilProperty.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiStencilProperty(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiStringExtraData.h b/include/obj/NiStringExtraData.h index e44a0800..a080f1bc 100644 --- a/include/obj/NiStringExtraData.h +++ b/include/obj/NiStringExtraData.h @@ -25,6 +25,7 @@ public: NIFLIB_API ~NiStringExtraData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiStringPalette.h b/include/obj/NiStringPalette.h index 608f30da..46c1baed 100644 --- a/include/obj/NiStringPalette.h +++ b/include/obj/NiStringPalette.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiStringPalette(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiStringsExtraData.h b/include/obj/NiStringsExtraData.h index 6ea62a3e..9b48c549 100644 --- a/include/obj/NiStringsExtraData.h +++ b/include/obj/NiStringsExtraData.h @@ -24,6 +24,7 @@ public: NIFLIB_API ~NiStringsExtraData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiTextKeyExtraData.h b/include/obj/NiTextKeyExtraData.h index 4d693baf..dda54a96 100644 --- a/include/obj/NiTextKeyExtraData.h +++ b/include/obj/NiTextKeyExtraData.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiTextKeyExtraData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiTextureEffect.h b/include/obj/NiTextureEffect.h index 019e4acb..05729670 100644 --- a/include/obj/NiTextureEffect.h +++ b/include/obj/NiTextureEffect.h @@ -31,6 +31,7 @@ public: NIFLIB_API ~NiTextureEffect(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiTextureModeProperty.h b/include/obj/NiTextureModeProperty.h index 161d5938..52c467d2 100644 --- a/include/obj/NiTextureModeProperty.h +++ b/include/obj/NiTextureModeProperty.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiTextureModeProperty(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiTextureProperty.h b/include/obj/NiTextureProperty.h index 20b6c475..dceb90b4 100644 --- a/include/obj/NiTextureProperty.h +++ b/include/obj/NiTextureProperty.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiTextureProperty(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiTextureTransformController.h b/include/obj/NiTextureTransformController.h index eaa73d4d..8c95b230 100644 --- a/include/obj/NiTextureTransformController.h +++ b/include/obj/NiTextureTransformController.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiTextureTransformController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiTexturingProperty.h b/include/obj/NiTexturingProperty.h index 74cb5a19..d5ae063f 100644 --- a/include/obj/NiTexturingProperty.h +++ b/include/obj/NiTexturingProperty.h @@ -25,6 +25,7 @@ public: NIFLIB_API ~NiTexturingProperty(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiTimeController.h b/include/obj/NiTimeController.h index 711794df..cd0f5a28 100644 --- a/include/obj/NiTimeController.h +++ b/include/obj/NiTimeController.h @@ -27,6 +27,7 @@ public: NIFLIB_API ~NiTimeController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiTransformController.h b/include/obj/NiTransformController.h index 1c0be2c4..e264f00c 100644 --- a/include/obj/NiTransformController.h +++ b/include/obj/NiTransformController.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiTransformController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiTransformData.h b/include/obj/NiTransformData.h index 2b0e1f0d..a6a0cf13 100644 --- a/include/obj/NiTransformData.h +++ b/include/obj/NiTransformData.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiTransformData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiTransformInterpolator.h b/include/obj/NiTransformInterpolator.h index 0e93ad3f..4b3af546 100644 --- a/include/obj/NiTransformInterpolator.h +++ b/include/obj/NiTransformInterpolator.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiTransformInterpolator(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiTriBasedGeom.h b/include/obj/NiTriBasedGeom.h index 13d1a698..7ddab476 100644 --- a/include/obj/NiTriBasedGeom.h +++ b/include/obj/NiTriBasedGeom.h @@ -27,6 +27,7 @@ public: NIFLIB_API ~NiTriBasedGeom(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiTriBasedGeomData.h b/include/obj/NiTriBasedGeomData.h index 269499b3..d8f0a842 100644 --- a/include/obj/NiTriBasedGeomData.h +++ b/include/obj/NiTriBasedGeomData.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiTriBasedGeomData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiTriShape.h b/include/obj/NiTriShape.h index 9da6d1cb..8aadbfb8 100644 --- a/include/obj/NiTriShape.h +++ b/include/obj/NiTriShape.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiTriShape(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiTriShapeData.h b/include/obj/NiTriShapeData.h index 9c3f43ab..27ca73cf 100644 --- a/include/obj/NiTriShapeData.h +++ b/include/obj/NiTriShapeData.h @@ -24,6 +24,7 @@ public: NIFLIB_API ~NiTriShapeData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiTriStrips.h b/include/obj/NiTriStrips.h index 21be4b11..8ae7b2e9 100644 --- a/include/obj/NiTriStrips.h +++ b/include/obj/NiTriStrips.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiTriStrips(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiTriStripsData.h b/include/obj/NiTriStripsData.h index 5a47319a..1e372570 100644 --- a/include/obj/NiTriStripsData.h +++ b/include/obj/NiTriStripsData.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~NiTriStripsData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiUVController.h b/include/obj/NiUVController.h index 88cd2e83..235ca5b8 100644 --- a/include/obj/NiUVController.h +++ b/include/obj/NiUVController.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiUVController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiUVData.h b/include/obj/NiUVData.h index a91de141..2f16adb4 100644 --- a/include/obj/NiUVData.h +++ b/include/obj/NiUVData.h @@ -25,6 +25,7 @@ public: NIFLIB_API ~NiUVData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiVectorExtraData.h b/include/obj/NiVectorExtraData.h index f2a580b7..898e3925 100644 --- a/include/obj/NiVectorExtraData.h +++ b/include/obj/NiVectorExtraData.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiVectorExtraData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiVertWeightsExtraData.h b/include/obj/NiVertWeightsExtraData.h index b6d2362e..7fb48405 100644 --- a/include/obj/NiVertWeightsExtraData.h +++ b/include/obj/NiVertWeightsExtraData.h @@ -24,6 +24,7 @@ public: NIFLIB_API ~NiVertWeightsExtraData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiVertexColorProperty.h b/include/obj/NiVertexColorProperty.h index a75cc26a..44876c4d 100644 --- a/include/obj/NiVertexColorProperty.h +++ b/include/obj/NiVertexColorProperty.h @@ -26,6 +26,7 @@ public: NIFLIB_API ~NiVertexColorProperty(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiVisController.h b/include/obj/NiVisController.h index ee33e77f..4eaf5537 100644 --- a/include/obj/NiVisController.h +++ b/include/obj/NiVisController.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~NiVisController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiVisData.h b/include/obj/NiVisData.h index d3ccc21f..95394921 100644 --- a/include/obj/NiVisData.h +++ b/include/obj/NiVisData.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiVisData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiWireframeProperty.h b/include/obj/NiWireframeProperty.h index 0bbabff6..9b01c1b3 100644 --- a/include/obj/NiWireframeProperty.h +++ b/include/obj/NiWireframeProperty.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~NiWireframeProperty(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/NiZBufferProperty.h b/include/obj/NiZBufferProperty.h index 1b173b4e..d89a8f82 100644 --- a/include/obj/NiZBufferProperty.h +++ b/include/obj/NiZBufferProperty.h @@ -24,6 +24,7 @@ public: NIFLIB_API ~NiZBufferProperty(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/RootCollisionNode.h b/include/obj/RootCollisionNode.h index cdb25cdc..0684cc76 100644 --- a/include/obj/RootCollisionNode.h +++ b/include/obj/RootCollisionNode.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~RootCollisionNode(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkBlendCollisionObject.h b/include/obj/bhkBlendCollisionObject.h index 90888849..e0e11b6b 100644 --- a/include/obj/bhkBlendCollisionObject.h +++ b/include/obj/bhkBlendCollisionObject.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~bhkBlendCollisionObject(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkBlendController.h b/include/obj/bhkBlendController.h index 668664c9..6572a59b 100644 --- a/include/obj/bhkBlendController.h +++ b/include/obj/bhkBlendController.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~bhkBlendController(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkBoxShape.h b/include/obj/bhkBoxShape.h index dc0c9cd1..2c8cab68 100644 --- a/include/obj/bhkBoxShape.h +++ b/include/obj/bhkBoxShape.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~bhkBoxShape(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkCapsuleShape.h b/include/obj/bhkCapsuleShape.h index c1846858..fbc15ae7 100644 --- a/include/obj/bhkCapsuleShape.h +++ b/include/obj/bhkCapsuleShape.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~bhkCapsuleShape(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkCollisionObject.h b/include/obj/bhkCollisionObject.h index c677d3b4..ebca9670 100644 --- a/include/obj/bhkCollisionObject.h +++ b/include/obj/bhkCollisionObject.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~bhkCollisionObject(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; NIFLIB_API virtual string asString( bool verbose = false ) const; diff --git a/include/obj/bhkConvexShape.h b/include/obj/bhkConvexShape.h index 57ab99ac..da88b9ed 100644 --- a/include/obj/bhkConvexShape.h +++ b/include/obj/bhkConvexShape.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~bhkConvexShape(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkConvexTransformShape.h b/include/obj/bhkConvexTransformShape.h index b2132e6d..1e81df15 100644 --- a/include/obj/bhkConvexTransformShape.h +++ b/include/obj/bhkConvexTransformShape.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~bhkConvexTransformShape(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkConvexVerticesShape.h b/include/obj/bhkConvexVerticesShape.h index c96bf167..d269e333 100644 --- a/include/obj/bhkConvexVerticesShape.h +++ b/include/obj/bhkConvexVerticesShape.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~bhkConvexVerticesShape(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkEntity.h b/include/obj/bhkEntity.h index 381e3b98..399a3767 100644 --- a/include/obj/bhkEntity.h +++ b/include/obj/bhkEntity.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~bhkEntity(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkHingeConstraint.h b/include/obj/bhkHingeConstraint.h index c29b028f..125b970c 100644 --- a/include/obj/bhkHingeConstraint.h +++ b/include/obj/bhkHingeConstraint.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~bhkHingeConstraint(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkLimitedHingeConstraint.h b/include/obj/bhkLimitedHingeConstraint.h index 31aa5da0..54543383 100644 --- a/include/obj/bhkLimitedHingeConstraint.h +++ b/include/obj/bhkLimitedHingeConstraint.h @@ -26,6 +26,7 @@ public: NIFLIB_API ~bhkLimitedHingeConstraint(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkListShape.h b/include/obj/bhkListShape.h index 8e19ba45..5cd4e494 100644 --- a/include/obj/bhkListShape.h +++ b/include/obj/bhkListShape.h @@ -28,6 +28,7 @@ public: NIFLIB_API ~bhkListShape(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkMalleableConstraint.h b/include/obj/bhkMalleableConstraint.h index ddf1cb5e..0633a856 100644 --- a/include/obj/bhkMalleableConstraint.h +++ b/include/obj/bhkMalleableConstraint.h @@ -30,6 +30,7 @@ public: NIFLIB_API ~bhkMalleableConstraint(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkMoppBvTreeShape.h b/include/obj/bhkMoppBvTreeShape.h index 86f47fcc..af5cb7a1 100644 --- a/include/obj/bhkMoppBvTreeShape.h +++ b/include/obj/bhkMoppBvTreeShape.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~bhkMoppBvTreeShape(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkMultiSphereShape.h b/include/obj/bhkMultiSphereShape.h index 2526c995..96f7bf53 100644 --- a/include/obj/bhkMultiSphereShape.h +++ b/include/obj/bhkMultiSphereShape.h @@ -25,6 +25,7 @@ public: NIFLIB_API ~bhkMultiSphereShape(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkNiTriStripsShape.h b/include/obj/bhkNiTriStripsShape.h index 07d582c4..3cc4678e 100644 --- a/include/obj/bhkNiTriStripsShape.h +++ b/include/obj/bhkNiTriStripsShape.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~bhkNiTriStripsShape(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkPackedNiTriStripsShape.h b/include/obj/bhkPackedNiTriStripsShape.h index adc897fc..7ac6d9ca 100644 --- a/include/obj/bhkPackedNiTriStripsShape.h +++ b/include/obj/bhkPackedNiTriStripsShape.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~bhkPackedNiTriStripsShape(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkPrismaticConstraint.h b/include/obj/bhkPrismaticConstraint.h index b83f6659..b0bd1255 100644 --- a/include/obj/bhkPrismaticConstraint.h +++ b/include/obj/bhkPrismaticConstraint.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~bhkPrismaticConstraint(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkRagdollConstraint.h b/include/obj/bhkRagdollConstraint.h index 2e9825b2..8dbddac1 100644 --- a/include/obj/bhkRagdollConstraint.h +++ b/include/obj/bhkRagdollConstraint.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~bhkRagdollConstraint(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkRefObject.h b/include/obj/bhkRefObject.h index 6b6be611..2c32d648 100644 --- a/include/obj/bhkRefObject.h +++ b/include/obj/bhkRefObject.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~bhkRefObject(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkRigidBody.h b/include/obj/bhkRigidBody.h index 13b1b1d7..32f66e4b 100644 --- a/include/obj/bhkRigidBody.h +++ b/include/obj/bhkRigidBody.h @@ -29,6 +29,7 @@ public: NIFLIB_API ~bhkRigidBody(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkRigidBodyT.h b/include/obj/bhkRigidBodyT.h index b3f741c4..ab9fa631 100644 --- a/include/obj/bhkRigidBodyT.h +++ b/include/obj/bhkRigidBodyT.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~bhkRigidBodyT(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkSPCollisionObject.h b/include/obj/bhkSPCollisionObject.h index 8be90ee1..c10f6ac1 100644 --- a/include/obj/bhkSPCollisionObject.h +++ b/include/obj/bhkSPCollisionObject.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~bhkSPCollisionObject(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkSerializable.h b/include/obj/bhkSerializable.h index 9db9ecdc..90a68003 100644 --- a/include/obj/bhkSerializable.h +++ b/include/obj/bhkSerializable.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~bhkSerializable(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkShape.h b/include/obj/bhkShape.h index 9c47449c..f5c207a2 100644 --- a/include/obj/bhkShape.h +++ b/include/obj/bhkShape.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~bhkShape(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkSimpleShapePhantom.h b/include/obj/bhkSimpleShapePhantom.h index ed5a5556..a1dd86fc 100644 --- a/include/obj/bhkSimpleShapePhantom.h +++ b/include/obj/bhkSimpleShapePhantom.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~bhkSimpleShapePhantom(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkSphereRepShape.h b/include/obj/bhkSphereRepShape.h index 991b281f..36235578 100644 --- a/include/obj/bhkSphereRepShape.h +++ b/include/obj/bhkSphereRepShape.h @@ -24,6 +24,7 @@ public: NIFLIB_API ~bhkSphereRepShape(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkSphereShape.h b/include/obj/bhkSphereShape.h index 020f5f9e..2626286a 100644 --- a/include/obj/bhkSphereShape.h +++ b/include/obj/bhkSphereShape.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~bhkSphereShape(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkStiffSpringConstraint.h b/include/obj/bhkStiffSpringConstraint.h index 1aa51ab9..a72c49a1 100644 --- a/include/obj/bhkStiffSpringConstraint.h +++ b/include/obj/bhkStiffSpringConstraint.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~bhkStiffSpringConstraint(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkTransformShape.h b/include/obj/bhkTransformShape.h index 5d12b154..35d522e5 100644 --- a/include/obj/bhkTransformShape.h +++ b/include/obj/bhkTransformShape.h @@ -23,6 +23,7 @@ public: NIFLIB_API ~bhkTransformShape(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/bhkWorldObject.h b/include/obj/bhkWorldObject.h index 4f84705b..2c523ee2 100644 --- a/include/obj/bhkWorldObject.h +++ b/include/obj/bhkWorldObject.h @@ -22,6 +22,7 @@ public: NIFLIB_API ~bhkWorldObject(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/include/obj/hkPackedNiTriStripsData.h b/include/obj/hkPackedNiTriStripsData.h index fb6cdf75..9c6f3652 100644 --- a/include/obj/hkPackedNiTriStripsData.h +++ b/include/obj/hkPackedNiTriStripsData.h @@ -26,6 +26,7 @@ public: NIFLIB_API ~hkPackedNiTriStripsData(); //Run-Time Type Information NIFLIB_API static const Type TYPE; + NIFLIB_API static NiObject * Create(); NIFLIB_API virtual const Type & GetType() const; NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ); NIFLIB_HIDDEN virtual void Write( ostream& out, const map<NiObjectRef,unsigned int> & link_map, const NifInfo & info ) const; diff --git a/niflib.vcproj b/niflib.vcproj index 5ed78846..a5a2c597 100644 --- a/niflib.vcproj +++ b/niflib.vcproj @@ -1298,10 +1298,6 @@ RelativePath=".\src\gen\NodeGroup.cpp" > </File> - <File - RelativePath=".\src\gen\obj_factories.cpp" - > - </File> <File RelativePath=".\src\gen\obj_impl.cpp" > diff --git a/src/gen/obj_factories.cpp b/src/gen/obj_factories.cpp deleted file mode 100644 index 8a9e4316..00000000 --- a/src/gen/obj_factories.cpp +++ /dev/null @@ -1,579 +0,0 @@ -/* 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/nifxml_niflib.py Python script. - -#include "../../include/obj/NiObject.h" -using namespace Niflib; -using namespace std; -namespace Niflib { -typedef NiObject*(*blk_factory_func)(); -extern map<string, blk_factory_func> global_object_map; -} - -#include "../../include/obj/bhkBlendCollisionObject.h" -NiObject * CreatebhkBlendCollisionObject() { return new bhkBlendCollisionObject; } -#include "../../include/obj/bhkBlendController.h" -NiObject * CreatebhkBlendController() { return new bhkBlendController; } -#include "../../include/obj/bhkBoxShape.h" -NiObject * CreatebhkBoxShape() { return new bhkBoxShape; } -#include "../../include/obj/bhkCapsuleShape.h" -NiObject * CreatebhkCapsuleShape() { return new bhkCapsuleShape; } -#include "../../include/obj/bhkCollisionObject.h" -NiObject * CreatebhkCollisionObject() { return new bhkCollisionObject; } -#include "../../include/obj/bhkConvexVerticesShape.h" -NiObject * CreatebhkConvexVerticesShape() { return new bhkConvexVerticesShape; } -#include "../../include/obj/bhkHingeConstraint.h" -NiObject * CreatebhkHingeConstraint() { return new bhkHingeConstraint; } -#include "../../include/obj/bhkLimitedHingeConstraint.h" -NiObject * CreatebhkLimitedHingeConstraint() { return new bhkLimitedHingeConstraint; } -#include "../../include/obj/bhkListShape.h" -NiObject * CreatebhkListShape() { return new bhkListShape; } -#include "../../include/obj/bhkMalleableConstraint.h" -NiObject * CreatebhkMalleableConstraint() { return new bhkMalleableConstraint; } -#include "../../include/obj/bhkMoppBvTreeShape.h" -NiObject * CreatebhkMoppBvTreeShape() { return new bhkMoppBvTreeShape; } -#include "../../include/obj/bhkMultiSphereShape.h" -NiObject * CreatebhkMultiSphereShape() { return new bhkMultiSphereShape; } -#include "../../include/obj/bhkNiTriStripsShape.h" -NiObject * CreatebhkNiTriStripsShape() { return new bhkNiTriStripsShape; } -#include "../../include/obj/bhkPackedNiTriStripsShape.h" -NiObject * CreatebhkPackedNiTriStripsShape() { return new bhkPackedNiTriStripsShape; } -#include "../../include/obj/bhkPrismaticConstraint.h" -NiObject * CreatebhkPrismaticConstraint() { return new bhkPrismaticConstraint; } -#include "../../include/obj/bhkRagdollConstraint.h" -NiObject * CreatebhkRagdollConstraint() { return new bhkRagdollConstraint; } -#include "../../include/obj/bhkRigidBody.h" -NiObject * CreatebhkRigidBody() { return new bhkRigidBody; } -#include "../../include/obj/bhkRigidBodyT.h" -NiObject * CreatebhkRigidBodyT() { return new bhkRigidBodyT; } -#include "../../include/obj/bhkSimpleShapePhantom.h" -NiObject * CreatebhkSimpleShapePhantom() { return new bhkSimpleShapePhantom; } -#include "../../include/obj/bhkSPCollisionObject.h" -NiObject * CreatebhkSPCollisionObject() { return new bhkSPCollisionObject; } -#include "../../include/obj/bhkSphereShape.h" -NiObject * CreatebhkSphereShape() { return new bhkSphereShape; } -#include "../../include/obj/bhkStiffSpringConstraint.h" -NiObject * CreatebhkStiffSpringConstraint() { return new bhkStiffSpringConstraint; } -#include "../../include/obj/bhkTransformShape.h" -NiObject * CreatebhkTransformShape() { return new bhkTransformShape; } -#include "../../include/obj/bhkConvexTransformShape.h" -NiObject * CreatebhkConvexTransformShape() { return new bhkConvexTransformShape; } -#include "../../include/obj/BSBound.h" -NiObject * CreateBSBound() { return new BSBound; } -#include "../../include/obj/BSFurnitureMarker.h" -NiObject * CreateBSFurnitureMarker() { return new BSFurnitureMarker; } -#include "../../include/obj/BSParentVelocityModifier.h" -NiObject * CreateBSParentVelocityModifier() { return new BSParentVelocityModifier; } -#include "../../include/obj/BSPSysArrayEmitter.h" -NiObject * CreateBSPSysArrayEmitter() { return new BSPSysArrayEmitter; } -#include "../../include/obj/BSXFlags.h" -NiObject * CreateBSXFlags() { return new BSXFlags; } -#include "../../include/obj/hkPackedNiTriStripsData.h" -NiObject * CreatehkPackedNiTriStripsData() { return new hkPackedNiTriStripsData; } -#include "../../include/obj/NiAlphaController.h" -NiObject * CreateNiAlphaController() { return new NiAlphaController; } -#include "../../include/obj/NiAlphaProperty.h" -NiObject * CreateNiAlphaProperty() { return new NiAlphaProperty; } -#include "../../include/obj/NiAmbientLight.h" -NiObject * CreateNiAmbientLight() { return new NiAmbientLight; } -#include "../../include/obj/NiAutoNormalParticlesData.h" -NiObject * CreateNiAutoNormalParticlesData() { return new NiAutoNormalParticlesData; } -#include "../../include/obj/NiBinaryExtraData.h" -NiObject * CreateNiBinaryExtraData() { return new NiBinaryExtraData; } -#include "../../include/obj/NiBlendBoolInterpolator.h" -NiObject * CreateNiBlendBoolInterpolator() { return new NiBlendBoolInterpolator; } -#include "../../include/obj/NiBlendFloatInterpolator.h" -NiObject * CreateNiBlendFloatInterpolator() { return new NiBlendFloatInterpolator; } -#include "../../include/obj/NiBlendPoint3Interpolator.h" -NiObject * CreateNiBlendPoint3Interpolator() { return new NiBlendPoint3Interpolator; } -#include "../../include/obj/NiBlendTransformInterpolator.h" -NiObject * CreateNiBlendTransformInterpolator() { return new NiBlendTransformInterpolator; } -#include "../../include/obj/NiBoneLODController.h" -NiObject * CreateNiBoneLODController() { return new NiBoneLODController; } -#include "../../include/obj/NiBoolData.h" -NiObject * CreateNiBoolData() { return new NiBoolData; } -#include "../../include/obj/NiBooleanExtraData.h" -NiObject * CreateNiBooleanExtraData() { return new NiBooleanExtraData; } -#include "../../include/obj/NiBoolInterpolator.h" -NiObject * CreateNiBoolInterpolator() { return new NiBoolInterpolator; } -#include "../../include/obj/NiBoolTimelineInterpolator.h" -NiObject * CreateNiBoolTimelineInterpolator() { return new NiBoolTimelineInterpolator; } -#include "../../include/obj/NiBSBoneLODController.h" -NiObject * CreateNiBSBoneLODController() { return new NiBSBoneLODController; } -#include "../../include/obj/NiBSplineBasisData.h" -NiObject * CreateNiBSplineBasisData() { return new NiBSplineBasisData; } -#include "../../include/obj/NiBSplineCompFloatInterpolator.h" -NiObject * CreateNiBSplineCompFloatInterpolator() { return new NiBSplineCompFloatInterpolator; } -#include "../../include/obj/NiBSplineCompPoint3Interpolator.h" -NiObject * CreateNiBSplineCompPoint3Interpolator() { return new NiBSplineCompPoint3Interpolator; } -#include "../../include/obj/NiBSplineCompTransformInterpolator.h" -NiObject * CreateNiBSplineCompTransformInterpolator() { return new NiBSplineCompTransformInterpolator; } -#include "../../include/obj/NiBSplineData.h" -NiObject * CreateNiBSplineData() { return new NiBSplineData; } -#include "../../include/obj/NiCamera.h" -NiObject * CreateNiCamera() { return new NiCamera; } -#include "../../include/obj/NiCollisionData.h" -NiObject * CreateNiCollisionData() { return new NiCollisionData; } -#include "../../include/obj/NiColorData.h" -NiObject * CreateNiColorData() { return new NiColorData; } -#include "../../include/obj/NiColorExtraData.h" -NiObject * CreateNiColorExtraData() { return new NiColorExtraData; } -#include "../../include/obj/NiControllerManager.h" -NiObject * CreateNiControllerManager() { return new NiControllerManager; } -#include "../../include/obj/NiControllerSequence.h" -NiObject * CreateNiControllerSequence() { return new NiControllerSequence; } -#include "../../include/obj/NiDefaultAVObjectPalette.h" -NiObject * CreateNiDefaultAVObjectPalette() { return new NiDefaultAVObjectPalette; } -#include "../../include/obj/NiDirectionalLight.h" -NiObject * CreateNiDirectionalLight() { return new NiDirectionalLight; } -#include "../../include/obj/NiDitherProperty.h" -NiObject * CreateNiDitherProperty() { return new NiDitherProperty; } -#include "../../include/obj/NiFlipController.h" -NiObject * CreateNiFlipController() { return new NiFlipController; } -#include "../../include/obj/NiFloatData.h" -NiObject * CreateNiFloatData() { return new NiFloatData; } -#include "../../include/obj/NiFloatExtraData.h" -NiObject * CreateNiFloatExtraData() { return new NiFloatExtraData; } -#include "../../include/obj/NiFloatExtraDataController.h" -NiObject * CreateNiFloatExtraDataController() { return new NiFloatExtraDataController; } -#include "../../include/obj/NiFloatInterpolator.h" -NiObject * CreateNiFloatInterpolator() { return new NiFloatInterpolator; } -#include "../../include/obj/NiFloatsExtraData.h" -NiObject * CreateNiFloatsExtraData() { return new NiFloatsExtraData; } -#include "../../include/obj/NiFogProperty.h" -NiObject * CreateNiFogProperty() { return new NiFogProperty; } -#include "../../include/obj/NiGeomMorpherController.h" -NiObject * CreateNiGeomMorpherController() { return new NiGeomMorpherController; } -#include "../../include/obj/NiGravity.h" -NiObject * CreateNiGravity() { return new NiGravity; } -#include "../../include/obj/NiIntegerExtraData.h" -NiObject * CreateNiIntegerExtraData() { return new NiIntegerExtraData; } -#include "../../include/obj/NiIntegersExtraData.h" -NiObject * CreateNiIntegersExtraData() { return new NiIntegersExtraData; } -#include "../../include/obj/NiKeyframeController.h" -NiObject * CreateNiKeyframeController() { return new NiKeyframeController; } -#include "../../include/obj/BSKeyframeController.h" -NiObject * CreateBSKeyframeController() { return new BSKeyframeController; } -#include "../../include/obj/NiKeyframeData.h" -NiObject * CreateNiKeyframeData() { return new NiKeyframeData; } -#include "../../include/obj/NiLightColorController.h" -NiObject * CreateNiLightColorController() { return new NiLightColorController; } -#include "../../include/obj/NiLightDimmerController.h" -NiObject * CreateNiLightDimmerController() { return new NiLightDimmerController; } -#include "../../include/obj/NiLookAtController.h" -NiObject * CreateNiLookAtController() { return new NiLookAtController; } -#include "../../include/obj/NiLookAtInterpolator.h" -NiObject * CreateNiLookAtInterpolator() { return new NiLookAtInterpolator; } -#include "../../include/obj/NiMaterialColorController.h" -NiObject * CreateNiMaterialColorController() { return new NiMaterialColorController; } -#include "../../include/obj/NiMaterialProperty.h" -NiObject * CreateNiMaterialProperty() { return new NiMaterialProperty; } -#include "../../include/obj/NiMeshPSysData.h" -NiObject * CreateNiMeshPSysData() { return new NiMeshPSysData; } -#include "../../include/obj/NiMorphData.h" -NiObject * CreateNiMorphData() { return new NiMorphData; } -#include "../../include/obj/NiMultiTargetTransformController.h" -NiObject * CreateNiMultiTargetTransformController() { return new NiMultiTargetTransformController; } -#include "../../include/obj/NiNode.h" -NiObject * CreateNiNode() { return new NiNode; } -#include "../../include/obj/AvoidNode.h" -NiObject * CreateAvoidNode() { return new AvoidNode; } -#include "../../include/obj/FxWidget.h" -NiObject * CreateFxWidget() { return new FxWidget; } -#include "../../include/obj/FxButton.h" -NiObject * CreateFxButton() { return new FxButton; } -#include "../../include/obj/FxRadioButton.h" -NiObject * CreateFxRadioButton() { return new FxRadioButton; } -#include "../../include/obj/NiBillboardNode.h" -NiObject * CreateNiBillboardNode() { return new NiBillboardNode; } -#include "../../include/obj/NiBSAnimationNode.h" -NiObject * CreateNiBSAnimationNode() { return new NiBSAnimationNode; } -#include "../../include/obj/NiBSParticleNode.h" -NiObject * CreateNiBSParticleNode() { return new NiBSParticleNode; } -#include "../../include/obj/NiLODNode.h" -NiObject * CreateNiLODNode() { return new NiLODNode; } -#include "../../include/obj/NiPalette.h" -NiObject * CreateNiPalette() { return new NiPalette; } -#include "../../include/obj/NiParticleBomb.h" -NiObject * CreateNiParticleBomb() { return new NiParticleBomb; } -#include "../../include/obj/NiParticleColorModifier.h" -NiObject * CreateNiParticleColorModifier() { return new NiParticleColorModifier; } -#include "../../include/obj/NiParticleGrowFade.h" -NiObject * CreateNiParticleGrowFade() { return new NiParticleGrowFade; } -#include "../../include/obj/NiParticleMeshModifier.h" -NiObject * CreateNiParticleMeshModifier() { return new NiParticleMeshModifier; } -#include "../../include/obj/NiParticleRotation.h" -NiObject * CreateNiParticleRotation() { return new NiParticleRotation; } -#include "../../include/obj/NiParticles.h" -NiObject * CreateNiParticles() { return new NiParticles; } -#include "../../include/obj/NiAutoNormalParticles.h" -NiObject * CreateNiAutoNormalParticles() { return new NiAutoNormalParticles; } -#include "../../include/obj/NiParticleMeshes.h" -NiObject * CreateNiParticleMeshes() { return new NiParticleMeshes; } -#include "../../include/obj/NiParticlesData.h" -NiObject * CreateNiParticlesData() { return new NiParticlesData; } -#include "../../include/obj/NiParticleMeshesData.h" -NiObject * CreateNiParticleMeshesData() { return new NiParticleMeshesData; } -#include "../../include/obj/NiParticleSystem.h" -NiObject * CreateNiParticleSystem() { return new NiParticleSystem; } -#include "../../include/obj/NiMeshParticleSystem.h" -NiObject * CreateNiMeshParticleSystem() { return new NiMeshParticleSystem; } -#include "../../include/obj/NiParticleSystemController.h" -NiObject * CreateNiParticleSystemController() { return new NiParticleSystemController; } -#include "../../include/obj/NiBSPArrayController.h" -NiObject * CreateNiBSPArrayController() { return new NiBSPArrayController; } -#include "../../include/obj/NiPathController.h" -NiObject * CreateNiPathController() { return new NiPathController; } -#include "../../include/obj/NiPathInterpolator.h" -NiObject * CreateNiPathInterpolator() { return new NiPathInterpolator; } -#include "../../include/obj/NiPixelData.h" -NiObject * CreateNiPixelData() { return new NiPixelData; } -#include "../../include/obj/NiPlanarCollider.h" -NiObject * CreateNiPlanarCollider() { return new NiPlanarCollider; } -#include "../../include/obj/NiPoint3Interpolator.h" -NiObject * CreateNiPoint3Interpolator() { return new NiPoint3Interpolator; } -#include "../../include/obj/NiPointLight.h" -NiObject * CreateNiPointLight() { return new NiPointLight; } -#include "../../include/obj/NiPosData.h" -NiObject * CreateNiPosData() { return new NiPosData; } -#include "../../include/obj/NiPSysAgeDeathModifier.h" -NiObject * CreateNiPSysAgeDeathModifier() { return new NiPSysAgeDeathModifier; } -#include "../../include/obj/NiPSysBombModifier.h" -NiObject * CreateNiPSysBombModifier() { return new NiPSysBombModifier; } -#include "../../include/obj/NiPSysBoundUpdateModifier.h" -NiObject * CreateNiPSysBoundUpdateModifier() { return new NiPSysBoundUpdateModifier; } -#include "../../include/obj/NiPSysBoxEmitter.h" -NiObject * CreateNiPSysBoxEmitter() { return new NiPSysBoxEmitter; } -#include "../../include/obj/NiPSysColliderManager.h" -NiObject * CreateNiPSysColliderManager() { return new NiPSysColliderManager; } -#include "../../include/obj/NiPSysColorModifier.h" -NiObject * CreateNiPSysColorModifier() { return new NiPSysColorModifier; } -#include "../../include/obj/NiPSysCylinderEmitter.h" -NiObject * CreateNiPSysCylinderEmitter() { return new NiPSysCylinderEmitter; } -#include "../../include/obj/NiPSysData.h" -NiObject * CreateNiPSysData() { return new NiPSysData; } -#include "../../include/obj/NiPSysDragModifier.h" -NiObject * CreateNiPSysDragModifier() { return new NiPSysDragModifier; } -#include "../../include/obj/NiPSysEmitterCtlr.h" -NiObject * CreateNiPSysEmitterCtlr() { return new NiPSysEmitterCtlr; } -#include "../../include/obj/NiPSysEmitterCtlrData.h" -NiObject * CreateNiPSysEmitterCtlrData() { return new NiPSysEmitterCtlrData; } -#include "../../include/obj/NiPSysEmitterDeclinationCtlr.h" -NiObject * CreateNiPSysEmitterDeclinationCtlr() { return new NiPSysEmitterDeclinationCtlr; } -#include "../../include/obj/NiPSysEmitterDeclinationVarCtlr.h" -NiObject * CreateNiPSysEmitterDeclinationVarCtlr() { return new NiPSysEmitterDeclinationVarCtlr; } -#include "../../include/obj/NiPSysEmitterInitialRadiusCtlr.h" -NiObject * CreateNiPSysEmitterInitialRadiusCtlr() { return new NiPSysEmitterInitialRadiusCtlr; } -#include "../../include/obj/NiPSysEmitterLifeSpanCtlr.h" -NiObject * CreateNiPSysEmitterLifeSpanCtlr() { return new NiPSysEmitterLifeSpanCtlr; } -#include "../../include/obj/NiPSysEmitterSpeedCtlr.h" -NiObject * CreateNiPSysEmitterSpeedCtlr() { return new NiPSysEmitterSpeedCtlr; } -#include "../../include/obj/NiPSysGravityModifier.h" -NiObject * CreateNiPSysGravityModifier() { return new NiPSysGravityModifier; } -#include "../../include/obj/NiPSysGravityStrengthCtlr.h" -NiObject * CreateNiPSysGravityStrengthCtlr() { return new NiPSysGravityStrengthCtlr; } -#include "../../include/obj/NiPSysGrowFadeModifier.h" -NiObject * CreateNiPSysGrowFadeModifier() { return new NiPSysGrowFadeModifier; } -#include "../../include/obj/NiPSysMeshEmitter.h" -NiObject * CreateNiPSysMeshEmitter() { return new NiPSysMeshEmitter; } -#include "../../include/obj/NiPSysMeshUpdateModifier.h" -NiObject * CreateNiPSysMeshUpdateModifier() { return new NiPSysMeshUpdateModifier; } -#include "../../include/obj/NiPSysModifierActiveCtlr.h" -NiObject * CreateNiPSysModifierActiveCtlr() { return new NiPSysModifierActiveCtlr; } -#include "../../include/obj/NiPSysPlanarCollider.h" -NiObject * CreateNiPSysPlanarCollider() { return new NiPSysPlanarCollider; } -#include "../../include/obj/NiPSysPositionModifier.h" -NiObject * CreateNiPSysPositionModifier() { return new NiPSysPositionModifier; } -#include "../../include/obj/NiPSysResetOnLoopCtlr.h" -NiObject * CreateNiPSysResetOnLoopCtlr() { return new NiPSysResetOnLoopCtlr; } -#include "../../include/obj/NiPSysRotationModifier.h" -NiObject * CreateNiPSysRotationModifier() { return new NiPSysRotationModifier; } -#include "../../include/obj/NiPSysSpawnModifier.h" -NiObject * CreateNiPSysSpawnModifier() { return new NiPSysSpawnModifier; } -#include "../../include/obj/NiPSysSphereEmitter.h" -NiObject * CreateNiPSysSphereEmitter() { return new NiPSysSphereEmitter; } -#include "../../include/obj/NiPSysUpdateCtlr.h" -NiObject * CreateNiPSysUpdateCtlr() { return new NiPSysUpdateCtlr; } -#include "../../include/obj/NiRangeLODData.h" -NiObject * CreateNiRangeLODData() { return new NiRangeLODData; } -#include "../../include/obj/NiScreenLODData.h" -NiObject * CreateNiScreenLODData() { return new NiScreenLODData; } -#include "../../include/obj/NiRotatingParticles.h" -NiObject * CreateNiRotatingParticles() { return new NiRotatingParticles; } -#include "../../include/obj/NiRotatingParticlesData.h" -NiObject * CreateNiRotatingParticlesData() { return new NiRotatingParticlesData; } -#include "../../include/obj/NiSequenceStreamHelper.h" -NiObject * CreateNiSequenceStreamHelper() { return new NiSequenceStreamHelper; } -#include "../../include/obj/NiShadeProperty.h" -NiObject * CreateNiShadeProperty() { return new NiShadeProperty; } -#include "../../include/obj/NiSkinData.h" -NiObject * CreateNiSkinData() { return new NiSkinData; } -#include "../../include/obj/NiSkinInstance.h" -NiObject * CreateNiSkinInstance() { return new NiSkinInstance; } -#include "../../include/obj/NiClodSkinInstance.h" -NiObject * CreateNiClodSkinInstance() { return new NiClodSkinInstance; } -#include "../../include/obj/NiSkinPartition.h" -NiObject * CreateNiSkinPartition() { return new NiSkinPartition; } -#include "../../include/obj/NiSourceTexture.h" -NiObject * CreateNiSourceTexture() { return new NiSourceTexture; } -#include "../../include/obj/NiSpecularProperty.h" -NiObject * CreateNiSpecularProperty() { return new NiSpecularProperty; } -#include "../../include/obj/NiSphericalCollider.h" -NiObject * CreateNiSphericalCollider() { return new NiSphericalCollider; } -#include "../../include/obj/NiSpotLight.h" -NiObject * CreateNiSpotLight() { return new NiSpotLight; } -#include "../../include/obj/NiStencilProperty.h" -NiObject * CreateNiStencilProperty() { return new NiStencilProperty; } -#include "../../include/obj/NiStringExtraData.h" -NiObject * CreateNiStringExtraData() { return new NiStringExtraData; } -#include "../../include/obj/NiStringPalette.h" -NiObject * CreateNiStringPalette() { return new NiStringPalette; } -#include "../../include/obj/NiStringsExtraData.h" -NiObject * CreateNiStringsExtraData() { return new NiStringsExtraData; } -#include "../../include/obj/NiTextKeyExtraData.h" -NiObject * CreateNiTextKeyExtraData() { return new NiTextKeyExtraData; } -#include "../../include/obj/NiTextureEffect.h" -NiObject * CreateNiTextureEffect() { return new NiTextureEffect; } -#include "../../include/obj/NiTextureTransformController.h" -NiObject * CreateNiTextureTransformController() { return new NiTextureTransformController; } -#include "../../include/obj/NiTextureModeProperty.h" -NiObject * CreateNiTextureModeProperty() { return new NiTextureModeProperty; } -#include "../../include/obj/NiImage.h" -NiObject * CreateNiImage() { return new NiImage; } -#include "../../include/obj/NiTextureProperty.h" -NiObject * CreateNiTextureProperty() { return new NiTextureProperty; } -#include "../../include/obj/NiTexturingProperty.h" -NiObject * CreateNiTexturingProperty() { return new NiTexturingProperty; } -#include "../../include/obj/NiTransformController.h" -NiObject * CreateNiTransformController() { return new NiTransformController; } -#include "../../include/obj/NiTransformData.h" -NiObject * CreateNiTransformData() { return new NiTransformData; } -#include "../../include/obj/NiTransformInterpolator.h" -NiObject * CreateNiTransformInterpolator() { return new NiTransformInterpolator; } -#include "../../include/obj/NiTriShape.h" -NiObject * CreateNiTriShape() { return new NiTriShape; } -#include "../../include/obj/NiTriShapeData.h" -NiObject * CreateNiTriShapeData() { return new NiTriShapeData; } -#include "../../include/obj/NiTriStrips.h" -NiObject * CreateNiTriStrips() { return new NiTriStrips; } -#include "../../include/obj/NiTriStripsData.h" -NiObject * CreateNiTriStripsData() { return new NiTriStripsData; } -#include "../../include/obj/NiClod.h" -NiObject * CreateNiClod() { return new NiClod; } -#include "../../include/obj/NiClodData.h" -NiObject * CreateNiClodData() { return new NiClodData; } -#include "../../include/obj/NiUVController.h" -NiObject * CreateNiUVController() { return new NiUVController; } -#include "../../include/obj/NiUVData.h" -NiObject * CreateNiUVData() { return new NiUVData; } -#include "../../include/obj/NiVectorExtraData.h" -NiObject * CreateNiVectorExtraData() { return new NiVectorExtraData; } -#include "../../include/obj/NiVertexColorProperty.h" -NiObject * CreateNiVertexColorProperty() { return new NiVertexColorProperty; } -#include "../../include/obj/NiVertWeightsExtraData.h" -NiObject * CreateNiVertWeightsExtraData() { return new NiVertWeightsExtraData; } -#include "../../include/obj/NiVisController.h" -NiObject * CreateNiVisController() { return new NiVisController; } -#include "../../include/obj/NiVisData.h" -NiObject * CreateNiVisData() { return new NiVisData; } -#include "../../include/obj/NiWireframeProperty.h" -NiObject * CreateNiWireframeProperty() { return new NiWireframeProperty; } -#include "../../include/obj/NiZBufferProperty.h" -NiObject * CreateNiZBufferProperty() { return new NiZBufferProperty; } -#include "../../include/obj/RootCollisionNode.h" -NiObject * CreateRootCollisionNode() { return new RootCollisionNode; } - -namespace Niflib { -//This function registers the factory functions with global_object_map which is used by CreateNiObject -void RegisterObjectFactories() { - global_object_map["bhkBlendCollisionObject"] = CreatebhkBlendCollisionObject; - global_object_map["bhkBlendController"] = CreatebhkBlendController; - global_object_map["bhkBoxShape"] = CreatebhkBoxShape; - global_object_map["bhkCapsuleShape"] = CreatebhkCapsuleShape; - global_object_map["bhkCollisionObject"] = CreatebhkCollisionObject; - global_object_map["bhkConvexVerticesShape"] = CreatebhkConvexVerticesShape; - global_object_map["bhkHingeConstraint"] = CreatebhkHingeConstraint; - global_object_map["bhkLimitedHingeConstraint"] = CreatebhkLimitedHingeConstraint; - global_object_map["bhkListShape"] = CreatebhkListShape; - global_object_map["bhkMalleableConstraint"] = CreatebhkMalleableConstraint; - global_object_map["bhkMoppBvTreeShape"] = CreatebhkMoppBvTreeShape; - global_object_map["bhkMultiSphereShape"] = CreatebhkMultiSphereShape; - global_object_map["bhkNiTriStripsShape"] = CreatebhkNiTriStripsShape; - global_object_map["bhkPackedNiTriStripsShape"] = CreatebhkPackedNiTriStripsShape; - global_object_map["bhkPrismaticConstraint"] = CreatebhkPrismaticConstraint; - global_object_map["bhkRagdollConstraint"] = CreatebhkRagdollConstraint; - global_object_map["bhkRigidBody"] = CreatebhkRigidBody; - global_object_map["bhkRigidBodyT"] = CreatebhkRigidBodyT; - global_object_map["bhkSimpleShapePhantom"] = CreatebhkSimpleShapePhantom; - global_object_map["bhkSPCollisionObject"] = CreatebhkSPCollisionObject; - global_object_map["bhkSphereShape"] = CreatebhkSphereShape; - global_object_map["bhkStiffSpringConstraint"] = CreatebhkStiffSpringConstraint; - global_object_map["bhkTransformShape"] = CreatebhkTransformShape; - global_object_map["bhkConvexTransformShape"] = CreatebhkConvexTransformShape; - global_object_map["BSBound"] = CreateBSBound; - global_object_map["BSFurnitureMarker"] = CreateBSFurnitureMarker; - global_object_map["BSParentVelocityModifier"] = CreateBSParentVelocityModifier; - global_object_map["BSPSysArrayEmitter"] = CreateBSPSysArrayEmitter; - global_object_map["BSXFlags"] = CreateBSXFlags; - global_object_map["hkPackedNiTriStripsData"] = CreatehkPackedNiTriStripsData; - global_object_map["NiAlphaController"] = CreateNiAlphaController; - global_object_map["NiAlphaProperty"] = CreateNiAlphaProperty; - global_object_map["NiAmbientLight"] = CreateNiAmbientLight; - global_object_map["NiAutoNormalParticlesData"] = CreateNiAutoNormalParticlesData; - global_object_map["NiBinaryExtraData"] = CreateNiBinaryExtraData; - global_object_map["NiBlendBoolInterpolator"] = CreateNiBlendBoolInterpolator; - global_object_map["NiBlendFloatInterpolator"] = CreateNiBlendFloatInterpolator; - global_object_map["NiBlendPoint3Interpolator"] = CreateNiBlendPoint3Interpolator; - global_object_map["NiBlendTransformInterpolator"] = CreateNiBlendTransformInterpolator; - global_object_map["NiBoneLODController"] = CreateNiBoneLODController; - global_object_map["NiBoolData"] = CreateNiBoolData; - global_object_map["NiBooleanExtraData"] = CreateNiBooleanExtraData; - global_object_map["NiBoolInterpolator"] = CreateNiBoolInterpolator; - global_object_map["NiBoolTimelineInterpolator"] = CreateNiBoolTimelineInterpolator; - global_object_map["NiBSBoneLODController"] = CreateNiBSBoneLODController; - global_object_map["NiBSplineBasisData"] = CreateNiBSplineBasisData; - global_object_map["NiBSplineCompFloatInterpolator"] = CreateNiBSplineCompFloatInterpolator; - global_object_map["NiBSplineCompPoint3Interpolator"] = CreateNiBSplineCompPoint3Interpolator; - global_object_map["NiBSplineCompTransformInterpolator"] = CreateNiBSplineCompTransformInterpolator; - global_object_map["NiBSplineData"] = CreateNiBSplineData; - global_object_map["NiCamera"] = CreateNiCamera; - global_object_map["NiCollisionData"] = CreateNiCollisionData; - global_object_map["NiColorData"] = CreateNiColorData; - global_object_map["NiColorExtraData"] = CreateNiColorExtraData; - global_object_map["NiControllerManager"] = CreateNiControllerManager; - global_object_map["NiControllerSequence"] = CreateNiControllerSequence; - global_object_map["NiDefaultAVObjectPalette"] = CreateNiDefaultAVObjectPalette; - global_object_map["NiDirectionalLight"] = CreateNiDirectionalLight; - global_object_map["NiDitherProperty"] = CreateNiDitherProperty; - global_object_map["NiFlipController"] = CreateNiFlipController; - global_object_map["NiFloatData"] = CreateNiFloatData; - global_object_map["NiFloatExtraData"] = CreateNiFloatExtraData; - global_object_map["NiFloatExtraDataController"] = CreateNiFloatExtraDataController; - global_object_map["NiFloatInterpolator"] = CreateNiFloatInterpolator; - global_object_map["NiFloatsExtraData"] = CreateNiFloatsExtraData; - global_object_map["NiFogProperty"] = CreateNiFogProperty; - global_object_map["NiGeomMorpherController"] = CreateNiGeomMorpherController; - global_object_map["NiGravity"] = CreateNiGravity; - global_object_map["NiIntegerExtraData"] = CreateNiIntegerExtraData; - global_object_map["NiIntegersExtraData"] = CreateNiIntegersExtraData; - global_object_map["NiKeyframeController"] = CreateNiKeyframeController; - global_object_map["BSKeyframeController"] = CreateBSKeyframeController; - global_object_map["NiKeyframeData"] = CreateNiKeyframeData; - global_object_map["NiLightColorController"] = CreateNiLightColorController; - global_object_map["NiLightDimmerController"] = CreateNiLightDimmerController; - global_object_map["NiLookAtController"] = CreateNiLookAtController; - global_object_map["NiLookAtInterpolator"] = CreateNiLookAtInterpolator; - global_object_map["NiMaterialColorController"] = CreateNiMaterialColorController; - global_object_map["NiMaterialProperty"] = CreateNiMaterialProperty; - global_object_map["NiMeshPSysData"] = CreateNiMeshPSysData; - global_object_map["NiMorphData"] = CreateNiMorphData; - global_object_map["NiMultiTargetTransformController"] = CreateNiMultiTargetTransformController; - global_object_map["NiNode"] = CreateNiNode; - global_object_map["AvoidNode"] = CreateAvoidNode; - global_object_map["FxWidget"] = CreateFxWidget; - global_object_map["FxButton"] = CreateFxButton; - global_object_map["FxRadioButton"] = CreateFxRadioButton; - global_object_map["NiBillboardNode"] = CreateNiBillboardNode; - global_object_map["NiBSAnimationNode"] = CreateNiBSAnimationNode; - global_object_map["NiBSParticleNode"] = CreateNiBSParticleNode; - global_object_map["NiLODNode"] = CreateNiLODNode; - global_object_map["NiPalette"] = CreateNiPalette; - global_object_map["NiParticleBomb"] = CreateNiParticleBomb; - global_object_map["NiParticleColorModifier"] = CreateNiParticleColorModifier; - global_object_map["NiParticleGrowFade"] = CreateNiParticleGrowFade; - global_object_map["NiParticleMeshModifier"] = CreateNiParticleMeshModifier; - global_object_map["NiParticleRotation"] = CreateNiParticleRotation; - global_object_map["NiParticles"] = CreateNiParticles; - global_object_map["NiAutoNormalParticles"] = CreateNiAutoNormalParticles; - global_object_map["NiParticleMeshes"] = CreateNiParticleMeshes; - global_object_map["NiParticlesData"] = CreateNiParticlesData; - global_object_map["NiParticleMeshesData"] = CreateNiParticleMeshesData; - global_object_map["NiParticleSystem"] = CreateNiParticleSystem; - global_object_map["NiMeshParticleSystem"] = CreateNiMeshParticleSystem; - global_object_map["NiParticleSystemController"] = CreateNiParticleSystemController; - global_object_map["NiBSPArrayController"] = CreateNiBSPArrayController; - global_object_map["NiPathController"] = CreateNiPathController; - global_object_map["NiPathInterpolator"] = CreateNiPathInterpolator; - global_object_map["NiPixelData"] = CreateNiPixelData; - global_object_map["NiPlanarCollider"] = CreateNiPlanarCollider; - global_object_map["NiPoint3Interpolator"] = CreateNiPoint3Interpolator; - global_object_map["NiPointLight"] = CreateNiPointLight; - global_object_map["NiPosData"] = CreateNiPosData; - global_object_map["NiPSysAgeDeathModifier"] = CreateNiPSysAgeDeathModifier; - global_object_map["NiPSysBombModifier"] = CreateNiPSysBombModifier; - global_object_map["NiPSysBoundUpdateModifier"] = CreateNiPSysBoundUpdateModifier; - global_object_map["NiPSysBoxEmitter"] = CreateNiPSysBoxEmitter; - global_object_map["NiPSysColliderManager"] = CreateNiPSysColliderManager; - global_object_map["NiPSysColorModifier"] = CreateNiPSysColorModifier; - global_object_map["NiPSysCylinderEmitter"] = CreateNiPSysCylinderEmitter; - global_object_map["NiPSysData"] = CreateNiPSysData; - global_object_map["NiPSysDragModifier"] = CreateNiPSysDragModifier; - global_object_map["NiPSysEmitterCtlr"] = CreateNiPSysEmitterCtlr; - global_object_map["NiPSysEmitterCtlrData"] = CreateNiPSysEmitterCtlrData; - global_object_map["NiPSysEmitterDeclinationCtlr"] = CreateNiPSysEmitterDeclinationCtlr; - global_object_map["NiPSysEmitterDeclinationVarCtlr"] = CreateNiPSysEmitterDeclinationVarCtlr; - global_object_map["NiPSysEmitterInitialRadiusCtlr"] = CreateNiPSysEmitterInitialRadiusCtlr; - global_object_map["NiPSysEmitterLifeSpanCtlr"] = CreateNiPSysEmitterLifeSpanCtlr; - global_object_map["NiPSysEmitterSpeedCtlr"] = CreateNiPSysEmitterSpeedCtlr; - global_object_map["NiPSysGravityModifier"] = CreateNiPSysGravityModifier; - global_object_map["NiPSysGravityStrengthCtlr"] = CreateNiPSysGravityStrengthCtlr; - global_object_map["NiPSysGrowFadeModifier"] = CreateNiPSysGrowFadeModifier; - global_object_map["NiPSysMeshEmitter"] = CreateNiPSysMeshEmitter; - global_object_map["NiPSysMeshUpdateModifier"] = CreateNiPSysMeshUpdateModifier; - global_object_map["NiPSysModifierActiveCtlr"] = CreateNiPSysModifierActiveCtlr; - global_object_map["NiPSysPlanarCollider"] = CreateNiPSysPlanarCollider; - global_object_map["NiPSysPositionModifier"] = CreateNiPSysPositionModifier; - global_object_map["NiPSysResetOnLoopCtlr"] = CreateNiPSysResetOnLoopCtlr; - global_object_map["NiPSysRotationModifier"] = CreateNiPSysRotationModifier; - global_object_map["NiPSysSpawnModifier"] = CreateNiPSysSpawnModifier; - global_object_map["NiPSysSphereEmitter"] = CreateNiPSysSphereEmitter; - global_object_map["NiPSysUpdateCtlr"] = CreateNiPSysUpdateCtlr; - global_object_map["NiRangeLODData"] = CreateNiRangeLODData; - global_object_map["NiScreenLODData"] = CreateNiScreenLODData; - global_object_map["NiRotatingParticles"] = CreateNiRotatingParticles; - global_object_map["NiRotatingParticlesData"] = CreateNiRotatingParticlesData; - global_object_map["NiSequenceStreamHelper"] = CreateNiSequenceStreamHelper; - global_object_map["NiShadeProperty"] = CreateNiShadeProperty; - global_object_map["NiSkinData"] = CreateNiSkinData; - global_object_map["NiSkinInstance"] = CreateNiSkinInstance; - global_object_map["NiClodSkinInstance"] = CreateNiClodSkinInstance; - global_object_map["NiSkinPartition"] = CreateNiSkinPartition; - global_object_map["NiSourceTexture"] = CreateNiSourceTexture; - global_object_map["NiSpecularProperty"] = CreateNiSpecularProperty; - global_object_map["NiSphericalCollider"] = CreateNiSphericalCollider; - global_object_map["NiSpotLight"] = CreateNiSpotLight; - global_object_map["NiStencilProperty"] = CreateNiStencilProperty; - global_object_map["NiStringExtraData"] = CreateNiStringExtraData; - global_object_map["NiStringPalette"] = CreateNiStringPalette; - global_object_map["NiStringsExtraData"] = CreateNiStringsExtraData; - global_object_map["NiTextKeyExtraData"] = CreateNiTextKeyExtraData; - global_object_map["NiTextureEffect"] = CreateNiTextureEffect; - global_object_map["NiTextureTransformController"] = CreateNiTextureTransformController; - global_object_map["NiTextureModeProperty"] = CreateNiTextureModeProperty; - global_object_map["NiImage"] = CreateNiImage; - global_object_map["NiTextureProperty"] = CreateNiTextureProperty; - global_object_map["NiTexturingProperty"] = CreateNiTexturingProperty; - global_object_map["NiTransformController"] = CreateNiTransformController; - global_object_map["NiTransformData"] = CreateNiTransformData; - global_object_map["NiTransformInterpolator"] = CreateNiTransformInterpolator; - global_object_map["NiTriShape"] = CreateNiTriShape; - global_object_map["NiTriShapeData"] = CreateNiTriShapeData; - global_object_map["NiTriStrips"] = CreateNiTriStrips; - global_object_map["NiTriStripsData"] = CreateNiTriStripsData; - global_object_map["NiClod"] = CreateNiClod; - global_object_map["NiClodData"] = CreateNiClodData; - global_object_map["NiUVController"] = CreateNiUVController; - global_object_map["NiUVData"] = CreateNiUVData; - global_object_map["NiVectorExtraData"] = CreateNiVectorExtraData; - global_object_map["NiVertexColorProperty"] = CreateNiVertexColorProperty; - global_object_map["NiVertWeightsExtraData"] = CreateNiVertWeightsExtraData; - global_object_map["NiVisController"] = CreateNiVisController; - global_object_map["NiVisData"] = CreateNiVisData; - global_object_map["NiWireframeProperty"] = CreateNiWireframeProperty; - global_object_map["NiZBufferProperty"] = CreateNiZBufferProperty; - global_object_map["RootCollisionNode"] = CreateRootCollisionNode; -} -} diff --git a/src/niflib.cpp b/src/niflib.cpp index 6a18a054..c87f1071 100644 --- a/src/niflib.cpp +++ b/src/niflib.cpp @@ -37,14 +37,13 @@ All rights reserved. Please see niflib.h for licence. */ namespace Niflib { //Stores the mapping between object names and factory function pointers to create them -typedef NiObject * (*blk_factory_func)(); +typedef NiObject * (*obj_factory_func)(); bool global_object_map_init = false; -map<string, blk_factory_func> global_object_map; +map<string, obj_factory_func> global_object_map; //Utility Functions void EnumerateObjects( NiObject * root, map<Type*,unsigned int> & type_map, map<NiObjectRef, unsigned int> & link_map, bool reverse = false ); NiObjectRef FindRoot( vector<NiObjectRef> const & objects ); -void RegisterObjectFactories (); NiObjectRef GetObjectByType( NiObject * root, const Type & type ); /*! @@ -61,16 +60,9 @@ static void SplitNifTree( NiObject * root_object, NiObject * xnif_root, list<NiO //--Function Bodies--// NiObjectRef CreateObject( string obj_type ) { - - //Initialize the global object list if it hasn't been done yet - if ( global_object_map_init == false ) { - RegisterObjectFactories(); - global_object_map_init = true; - } - NiObject * object = NULL; - map<string, blk_factory_func>::iterator it; + map<string, obj_factory_func>::iterator it; it = global_object_map.find(obj_type); if ( it != global_object_map.end() ) { diff --git a/src/obj/ABoneLODController.cpp b/src/obj/ABoneLODController.cpp index 057818a8..37f8df7e 100644 --- a/src/obj/ABoneLODController.cpp +++ b/src/obj/ABoneLODController.cpp @@ -99,3 +99,27 @@ void ABoneLODController::ClearNodeGroups() { nodeGroups.clear(); numNodeGroups2 = nodeGroups.size(); } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["ABoneLODController"] = ABoneLODController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * ABoneLODController::Create() { + return new ABoneLODController; +} diff --git a/src/obj/AKeyedData.cpp b/src/obj/AKeyedData.cpp index 5c6ea998..8d5f0ffb 100644 --- a/src/obj/AKeyedData.cpp +++ b/src/obj/AKeyedData.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> AKeyedData::GetRefs() const { const Type & AKeyedData::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["AKeyedData"] = AKeyedData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * AKeyedData::Create() { + return new AKeyedData; +} diff --git a/src/obj/APSysCtlr.cpp b/src/obj/APSysCtlr.cpp index e4002977..7cf97a15 100644 --- a/src/obj/APSysCtlr.cpp +++ b/src/obj/APSysCtlr.cpp @@ -42,3 +42,27 @@ string APSysCtlr::GetModifierName() const { void APSysCtlr::SetModifierName( string value ) { modifierName = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["APSysCtlr"] = APSysCtlr::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * APSysCtlr::Create() { + return new APSysCtlr; +} diff --git a/src/obj/APSysData.cpp b/src/obj/APSysData.cpp index 794758e2..099eae45 100644 --- a/src/obj/APSysData.cpp +++ b/src/obj/APSysData.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> APSysData::GetRefs() const { const Type & APSysData::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["APSysData"] = APSysData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * APSysData::Create() { + return new APSysData; +} diff --git a/src/obj/AParticleModifier.cpp b/src/obj/AParticleModifier.cpp index 76c75a72..c7d0a397 100644 --- a/src/obj/AParticleModifier.cpp +++ b/src/obj/AParticleModifier.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> AParticleModifier::GetRefs() const { const Type & AParticleModifier::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["AParticleModifier"] = AParticleModifier::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * AParticleModifier::Create() { + return new AParticleModifier; +} diff --git a/src/obj/AbhkConstraint.cpp b/src/obj/AbhkConstraint.cpp index cf17aa22..8467375e 100644 --- a/src/obj/AbhkConstraint.cpp +++ b/src/obj/AbhkConstraint.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> AbhkConstraint::GetRefs() const { const Type & AbhkConstraint::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["AbhkConstraint"] = AbhkConstraint::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * AbhkConstraint::Create() { + return new AbhkConstraint; +} diff --git a/src/obj/AbhkRagdollConstraint.cpp b/src/obj/AbhkRagdollConstraint.cpp index 620b15db..28cbb7fe 100644 --- a/src/obj/AbhkRagdollConstraint.cpp +++ b/src/obj/AbhkRagdollConstraint.cpp @@ -35,3 +35,27 @@ const Type & AbhkRagdollConstraint::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["AbhkRagdollConstraint"] = AbhkRagdollConstraint::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * AbhkRagdollConstraint::Create() { + return new AbhkRagdollConstraint; +} diff --git a/src/obj/AbhkShapeCollection.cpp b/src/obj/AbhkShapeCollection.cpp index 9a2db0b2..8e5e7bb5 100644 --- a/src/obj/AbhkShapeCollection.cpp +++ b/src/obj/AbhkShapeCollection.cpp @@ -35,3 +35,27 @@ const Type & AbhkShapeCollection::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["AbhkShapeCollection"] = AbhkShapeCollection::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * AbhkShapeCollection::Create() { + return new AbhkShapeCollection; +} diff --git a/src/obj/AvoidNode.cpp b/src/obj/AvoidNode.cpp index 390e600d..5382dcb0 100644 --- a/src/obj/AvoidNode.cpp +++ b/src/obj/AvoidNode.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> AvoidNode::GetRefs() const { const Type & AvoidNode::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["AvoidNode"] = AvoidNode::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * AvoidNode::Create() { + return new AvoidNode; +} diff --git a/src/obj/BSBound.cpp b/src/obj/BSBound.cpp index 15479d56..1dc05961 100644 --- a/src/obj/BSBound.cpp +++ b/src/obj/BSBound.cpp @@ -50,3 +50,27 @@ Vector3 BSBound::GetDimensions() const { void BSBound::SetDimensions( const Vector3 & value ) { dimensions = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["BSBound"] = BSBound::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * BSBound::Create() { + return new BSBound; +} diff --git a/src/obj/BSFurnitureMarker.cpp b/src/obj/BSFurnitureMarker.cpp index 14696e4c..53557077 100644 --- a/src/obj/BSFurnitureMarker.cpp +++ b/src/obj/BSFurnitureMarker.cpp @@ -44,3 +44,27 @@ void BSFurnitureMarker::SetFurniturePositions( const vector<FurniturePosition> & numPositions = (unsigned int)(n.size()); positions = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["BSFurnitureMarker"] = BSFurnitureMarker::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * BSFurnitureMarker::Create() { + return new BSFurnitureMarker; +} diff --git a/src/obj/BSKeyframeController.cpp b/src/obj/BSKeyframeController.cpp index c7268d46..30095be7 100644 --- a/src/obj/BSKeyframeController.cpp +++ b/src/obj/BSKeyframeController.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> BSKeyframeController::GetRefs() const { const Type & BSKeyframeController::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["BSKeyframeController"] = BSKeyframeController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * BSKeyframeController::Create() { + return new BSKeyframeController; +} diff --git a/src/obj/BSPSysArrayEmitter.cpp b/src/obj/BSPSysArrayEmitter.cpp index bddbdc6d..51027d19 100644 --- a/src/obj/BSPSysArrayEmitter.cpp +++ b/src/obj/BSPSysArrayEmitter.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> BSPSysArrayEmitter::GetRefs() const { const Type & BSPSysArrayEmitter::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["BSPSysArrayEmitter"] = BSPSysArrayEmitter::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * BSPSysArrayEmitter::Create() { + return new BSPSysArrayEmitter; +} diff --git a/src/obj/BSParentVelocityModifier.cpp b/src/obj/BSParentVelocityModifier.cpp index afc41ad9..8eb47e2f 100644 --- a/src/obj/BSParentVelocityModifier.cpp +++ b/src/obj/BSParentVelocityModifier.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> BSParentVelocityModifier::GetRefs() const { const Type & BSParentVelocityModifier::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["BSParentVelocityModifier"] = BSParentVelocityModifier::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * BSParentVelocityModifier::Create() { + return new BSParentVelocityModifier; +} diff --git a/src/obj/BSXFlags.cpp b/src/obj/BSXFlags.cpp index bf8c8331..97b139d9 100644 --- a/src/obj/BSXFlags.cpp +++ b/src/obj/BSXFlags.cpp @@ -42,3 +42,27 @@ unsigned int BSXFlags::GetFlags() const { void BSXFlags::SetFlags( unsigned int value ) { flags = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["BSXFlags"] = BSXFlags::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * BSXFlags::Create() { + return new BSXFlags; +} diff --git a/src/obj/FxButton.cpp b/src/obj/FxButton.cpp index 3aeed02c..de0c631b 100644 --- a/src/obj/FxButton.cpp +++ b/src/obj/FxButton.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> FxButton::GetRefs() const { const Type & FxButton::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["FxButton"] = FxButton::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * FxButton::Create() { + return new FxButton; +} diff --git a/src/obj/FxRadioButton.cpp b/src/obj/FxRadioButton.cpp index 6e1f9edf..70265bd4 100644 --- a/src/obj/FxRadioButton.cpp +++ b/src/obj/FxRadioButton.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> FxRadioButton::GetRefs() const { const Type & FxRadioButton::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["FxRadioButton"] = FxRadioButton::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * FxRadioButton::Create() { + return new FxRadioButton; +} diff --git a/src/obj/FxWidget.cpp b/src/obj/FxWidget.cpp index 6ca7a9f6..e0e4742d 100644 --- a/src/obj/FxWidget.cpp +++ b/src/obj/FxWidget.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> FxWidget::GetRefs() const { const Type & FxWidget::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["FxWidget"] = FxWidget::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * FxWidget::Create() { + return new FxWidget; +} diff --git a/src/obj/NiAVObject.cpp b/src/obj/NiAVObject.cpp index 2eb517f3..ba0e6576 100644 --- a/src/obj/NiAVObject.cpp +++ b/src/obj/NiAVObject.cpp @@ -239,3 +239,27 @@ void NiAVObject::SetBoundingBox( const BoundingBox & n ) { const Type & NiAVObject::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiAVObject"] = NiAVObject::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiAVObject::Create() { + return new NiAVObject; +} diff --git a/src/obj/NiAlphaController.cpp b/src/obj/NiAlphaController.cpp index 94e7b638..32dc1e4f 100644 --- a/src/obj/NiAlphaController.cpp +++ b/src/obj/NiAlphaController.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiAlphaController::GetRefs() const { const Type & NiAlphaController::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiAlphaController"] = NiAlphaController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiAlphaController::Create() { + return new NiAlphaController; +} diff --git a/src/obj/NiAlphaProperty.cpp b/src/obj/NiAlphaProperty.cpp index 87aee482..64a91fd4 100644 --- a/src/obj/NiAlphaProperty.cpp +++ b/src/obj/NiAlphaProperty.cpp @@ -103,3 +103,27 @@ bool NiAlphaProperty::GetTriangleSortMode() const { void NiAlphaProperty::SetTriangleSortMode(bool value) { flags = NIFLIB_MASK_FLAG(flags, value?0:1, 13, 0x1); } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiAlphaProperty"] = NiAlphaProperty::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiAlphaProperty::Create() { + return new NiAlphaProperty; +} diff --git a/src/obj/NiAmbientLight.cpp b/src/obj/NiAmbientLight.cpp index b584b732..ff5a83b3 100644 --- a/src/obj/NiAmbientLight.cpp +++ b/src/obj/NiAmbientLight.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiAmbientLight::GetRefs() const { const Type & NiAmbientLight::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiAmbientLight"] = NiAmbientLight::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiAmbientLight::Create() { + return new NiAmbientLight; +} diff --git a/src/obj/NiAutoNormalParticles.cpp b/src/obj/NiAutoNormalParticles.cpp index b88e90ee..a84249ae 100644 --- a/src/obj/NiAutoNormalParticles.cpp +++ b/src/obj/NiAutoNormalParticles.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiAutoNormalParticles::GetRefs() const { const Type & NiAutoNormalParticles::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiAutoNormalParticles"] = NiAutoNormalParticles::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiAutoNormalParticles::Create() { + return new NiAutoNormalParticles; +} diff --git a/src/obj/NiAutoNormalParticlesData.cpp b/src/obj/NiAutoNormalParticlesData.cpp index 4f6a5085..6eaed993 100644 --- a/src/obj/NiAutoNormalParticlesData.cpp +++ b/src/obj/NiAutoNormalParticlesData.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiAutoNormalParticlesData::GetRefs() const { const Type & NiAutoNormalParticlesData::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiAutoNormalParticlesData"] = NiAutoNormalParticlesData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiAutoNormalParticlesData::Create() { + return new NiAutoNormalParticlesData; +} diff --git a/src/obj/NiBSAnimationNode.cpp b/src/obj/NiBSAnimationNode.cpp index f6cc4eac..b0d779f1 100644 --- a/src/obj/NiBSAnimationNode.cpp +++ b/src/obj/NiBSAnimationNode.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiBSAnimationNode::GetRefs() const { const Type & NiBSAnimationNode::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBSAnimationNode"] = NiBSAnimationNode::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBSAnimationNode::Create() { + return new NiBSAnimationNode; +} diff --git a/src/obj/NiBSBoneLODController.cpp b/src/obj/NiBSBoneLODController.cpp index 11c25770..ada2b800 100644 --- a/src/obj/NiBSBoneLODController.cpp +++ b/src/obj/NiBSBoneLODController.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiBSBoneLODController::GetRefs() const { const Type & NiBSBoneLODController::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBSBoneLODController"] = NiBSBoneLODController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBSBoneLODController::Create() { + return new NiBSBoneLODController; +} diff --git a/src/obj/NiBSPArrayController.cpp b/src/obj/NiBSPArrayController.cpp index cf60d196..a68bd3c8 100644 --- a/src/obj/NiBSPArrayController.cpp +++ b/src/obj/NiBSPArrayController.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiBSPArrayController::GetRefs() const { const Type & NiBSPArrayController::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBSPArrayController"] = NiBSPArrayController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBSPArrayController::Create() { + return new NiBSPArrayController; +} diff --git a/src/obj/NiBSParticleNode.cpp b/src/obj/NiBSParticleNode.cpp index 726459d9..48041f2a 100644 --- a/src/obj/NiBSParticleNode.cpp +++ b/src/obj/NiBSParticleNode.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiBSParticleNode::GetRefs() const { const Type & NiBSParticleNode::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBSParticleNode"] = NiBSParticleNode::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBSParticleNode::Create() { + return new NiBSParticleNode; +} diff --git a/src/obj/NiBSplineBasisData.cpp b/src/obj/NiBSplineBasisData.cpp index b5ada2cb..56bf4229 100644 --- a/src/obj/NiBSplineBasisData.cpp +++ b/src/obj/NiBSplineBasisData.cpp @@ -42,3 +42,27 @@ unsigned int NiBSplineBasisData::GetNumControlPt() const { void NiBSplineBasisData::SetNumControlPt( unsigned int value ) { numControlPt = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBSplineBasisData"] = NiBSplineBasisData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBSplineBasisData::Create() { + return new NiBSplineBasisData; +} diff --git a/src/obj/NiBSplineCompFloatInterpolator.cpp b/src/obj/NiBSplineCompFloatInterpolator.cpp index 8b7306a9..b40a50ae 100644 --- a/src/obj/NiBSplineCompFloatInterpolator.cpp +++ b/src/obj/NiBSplineCompFloatInterpolator.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiBSplineCompFloatInterpolator::GetRefs() const { const Type & NiBSplineCompFloatInterpolator::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBSplineCompFloatInterpolator"] = NiBSplineCompFloatInterpolator::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBSplineCompFloatInterpolator::Create() { + return new NiBSplineCompFloatInterpolator; +} diff --git a/src/obj/NiBSplineCompPoint3Interpolator.cpp b/src/obj/NiBSplineCompPoint3Interpolator.cpp index 3eb7ca3c..2bffb7f0 100644 --- a/src/obj/NiBSplineCompPoint3Interpolator.cpp +++ b/src/obj/NiBSplineCompPoint3Interpolator.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiBSplineCompPoint3Interpolator::GetRefs() const { const Type & NiBSplineCompPoint3Interpolator::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBSplineCompPoint3Interpolator"] = NiBSplineCompPoint3Interpolator::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBSplineCompPoint3Interpolator::Create() { + return new NiBSplineCompPoint3Interpolator; +} diff --git a/src/obj/NiBSplineCompTransformInterpolator.cpp b/src/obj/NiBSplineCompTransformInterpolator.cpp index 1db53bcd..3f78b83b 100644 --- a/src/obj/NiBSplineCompTransformInterpolator.cpp +++ b/src/obj/NiBSplineCompTransformInterpolator.cpp @@ -282,3 +282,27 @@ int NiBSplineCompTransformInterpolator::GetNumControlPt() const } return 0; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBSplineCompTransformInterpolator"] = NiBSplineCompTransformInterpolator::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBSplineCompTransformInterpolator::Create() { + return new NiBSplineCompTransformInterpolator; +} diff --git a/src/obj/NiBSplineData.cpp b/src/obj/NiBSplineData.cpp index a5b8a27c..1a032df9 100644 --- a/src/obj/NiBSplineData.cpp +++ b/src/obj/NiBSplineData.cpp @@ -50,3 +50,27 @@ vector<short > NiBSplineData::GetControlPointRange(int offset, int count) const std::advance(srcend, offset + count); return vector<short>(srcbeg, srcend); } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBSplineData"] = NiBSplineData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBSplineData::Create() { + return new NiBSplineData; +} diff --git a/src/obj/NiBSplineInterpolator.cpp b/src/obj/NiBSplineInterpolator.cpp index 95b1d68d..90076816 100644 --- a/src/obj/NiBSplineInterpolator.cpp +++ b/src/obj/NiBSplineInterpolator.cpp @@ -167,3 +167,27 @@ void NiBSplineInterpolator::bspline(int n, int t, int l, float *control, float * delete [] u; delete [] calc; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBSplineInterpolator"] = NiBSplineInterpolator::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBSplineInterpolator::Create() { + return new NiBSplineInterpolator; +} diff --git a/src/obj/NiBillboardNode.cpp b/src/obj/NiBillboardNode.cpp index 438fce32..f8815582 100644 --- a/src/obj/NiBillboardNode.cpp +++ b/src/obj/NiBillboardNode.cpp @@ -42,3 +42,27 @@ BillboardMode NiBillboardNode::GetBillboardMode() const { void NiBillboardNode::SetBillboardMode( BillboardMode value ) { billboardMode = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBillboardNode"] = NiBillboardNode::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBillboardNode::Create() { + return new NiBillboardNode; +} diff --git a/src/obj/NiBinaryExtraData.cpp b/src/obj/NiBinaryExtraData.cpp index 8d7bf168..63ddd57a 100644 --- a/src/obj/NiBinaryExtraData.cpp +++ b/src/obj/NiBinaryExtraData.cpp @@ -45,3 +45,27 @@ void NiBinaryExtraData::SetData( const vector<byte> & n ) { binaryData.dataSize = (unsigned int)(n.size()); binaryData.data = n; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBinaryExtraData"] = NiBinaryExtraData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBinaryExtraData::Create() { + return new NiBinaryExtraData; +} diff --git a/src/obj/NiBlendBoolInterpolator.cpp b/src/obj/NiBlendBoolInterpolator.cpp index c08f8a4f..acf716ae 100644 --- a/src/obj/NiBlendBoolInterpolator.cpp +++ b/src/obj/NiBlendBoolInterpolator.cpp @@ -42,3 +42,27 @@ byte NiBlendBoolInterpolator::GetBoolValue() const { void NiBlendBoolInterpolator::SetBoolValue( byte value ) { boolValue = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBlendBoolInterpolator"] = NiBlendBoolInterpolator::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBlendBoolInterpolator::Create() { + return new NiBlendBoolInterpolator; +} diff --git a/src/obj/NiBlendFloatInterpolator.cpp b/src/obj/NiBlendFloatInterpolator.cpp index 5baefbca..d9bbf7e0 100644 --- a/src/obj/NiBlendFloatInterpolator.cpp +++ b/src/obj/NiBlendFloatInterpolator.cpp @@ -42,3 +42,27 @@ float NiBlendFloatInterpolator::GetFloatValue() const { void NiBlendFloatInterpolator::SetFloatValue( float value ) { floatValue = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBlendFloatInterpolator"] = NiBlendFloatInterpolator::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBlendFloatInterpolator::Create() { + return new NiBlendFloatInterpolator; +} diff --git a/src/obj/NiBlendInterpolator.cpp b/src/obj/NiBlendInterpolator.cpp index febaf5a9..8ffa68a2 100644 --- a/src/obj/NiBlendInterpolator.cpp +++ b/src/obj/NiBlendInterpolator.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiBlendInterpolator::GetRefs() const { const Type & NiBlendInterpolator::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBlendInterpolator"] = NiBlendInterpolator::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBlendInterpolator::Create() { + return new NiBlendInterpolator; +} diff --git a/src/obj/NiBlendPoint3Interpolator.cpp b/src/obj/NiBlendPoint3Interpolator.cpp index 46685c4c..9300f832 100644 --- a/src/obj/NiBlendPoint3Interpolator.cpp +++ b/src/obj/NiBlendPoint3Interpolator.cpp @@ -42,3 +42,27 @@ Vector3 NiBlendPoint3Interpolator::GetPointValue() const { void NiBlendPoint3Interpolator::SetPointValue( Vector3 value ) { pointValue = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBlendPoint3Interpolator"] = NiBlendPoint3Interpolator::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBlendPoint3Interpolator::Create() { + return new NiBlendPoint3Interpolator; +} diff --git a/src/obj/NiBlendTransformInterpolator.cpp b/src/obj/NiBlendTransformInterpolator.cpp index 057aa0fc..331c7624 100644 --- a/src/obj/NiBlendTransformInterpolator.cpp +++ b/src/obj/NiBlendTransformInterpolator.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiBlendTransformInterpolator::GetRefs() const { const Type & NiBlendTransformInterpolator::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBlendTransformInterpolator"] = NiBlendTransformInterpolator::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBlendTransformInterpolator::Create() { + return new NiBlendTransformInterpolator; +} diff --git a/src/obj/NiBoneLODController.cpp b/src/obj/NiBoneLODController.cpp index c8a64d59..2eaf8bdb 100644 --- a/src/obj/NiBoneLODController.cpp +++ b/src/obj/NiBoneLODController.cpp @@ -38,3 +38,27 @@ list<NiObjectRef> NiBoneLODController::GetRefs() const { const Type & NiBoneLODController::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBoneLODController"] = NiBoneLODController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBoneLODController::Create() { + return new NiBoneLODController; +} diff --git a/src/obj/NiBoolData.cpp b/src/obj/NiBoolData.cpp index eaf1d66f..2dc8c49c 100644 --- a/src/obj/NiBoolData.cpp +++ b/src/obj/NiBoolData.cpp @@ -51,3 +51,27 @@ vector< Key<unsigned char> > NiBoolData::GetKeys() const { void NiBoolData::SetKeys( vector< Key<unsigned char> > const & keys ) { data.keys = keys; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBoolData"] = NiBoolData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBoolData::Create() { + return new NiBoolData; +} diff --git a/src/obj/NiBoolInterpolator.cpp b/src/obj/NiBoolInterpolator.cpp index ace48762..93eac38e 100644 --- a/src/obj/NiBoolInterpolator.cpp +++ b/src/obj/NiBoolInterpolator.cpp @@ -51,3 +51,27 @@ Ref<NiBoolData > NiBoolInterpolator::GetData() const { void NiBoolInterpolator::SetData( NiBoolData * value ) { data = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBoolInterpolator"] = NiBoolInterpolator::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBoolInterpolator::Create() { + return new NiBoolInterpolator; +} diff --git a/src/obj/NiBoolTimelineInterpolator.cpp b/src/obj/NiBoolTimelineInterpolator.cpp index 684cb246..d0934509 100644 --- a/src/obj/NiBoolTimelineInterpolator.cpp +++ b/src/obj/NiBoolTimelineInterpolator.cpp @@ -51,3 +51,27 @@ Ref<NiBoolData> NiBoolTimelineInterpolator::GetData() const { void NiBoolTimelineInterpolator::SetData( NiBoolData * value ) { data = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBoolTimelineInterpolator"] = NiBoolTimelineInterpolator::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBoolTimelineInterpolator::Create() { + return new NiBoolTimelineInterpolator; +} diff --git a/src/obj/NiBooleanExtraData.cpp b/src/obj/NiBooleanExtraData.cpp index df39e042..eea4e528 100644 --- a/src/obj/NiBooleanExtraData.cpp +++ b/src/obj/NiBooleanExtraData.cpp @@ -42,3 +42,27 @@ bool NiBooleanExtraData::GetData() const { void NiBooleanExtraData::SetData( bool n ) { booleanData = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiBooleanExtraData"] = NiBooleanExtraData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiBooleanExtraData::Create() { + return new NiBooleanExtraData; +} diff --git a/src/obj/NiCamera.cpp b/src/obj/NiCamera.cpp index 83eeee15..0167eb6c 100644 --- a/src/obj/NiCamera.cpp +++ b/src/obj/NiCamera.cpp @@ -131,3 +131,27 @@ float NiCamera::GetLodAdjust() const { void NiCamera::SetLodAdjust( float value ) { lodAdjust = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiCamera"] = NiCamera::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiCamera::Create() { + return new NiCamera; +} diff --git a/src/obj/NiClod.cpp b/src/obj/NiClod.cpp index fc1c82f2..87a956d8 100644 --- a/src/obj/NiClod.cpp +++ b/src/obj/NiClod.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiClod::GetRefs() const { const Type & NiClod::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiClod"] = NiClod::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiClod::Create() { + return new NiClod; +} diff --git a/src/obj/NiClodData.cpp b/src/obj/NiClodData.cpp index 9dc33489..5672c36f 100644 --- a/src/obj/NiClodData.cpp +++ b/src/obj/NiClodData.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiClodData::GetRefs() const { const Type & NiClodData::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiClodData"] = NiClodData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiClodData::Create() { + return new NiClodData; +} diff --git a/src/obj/NiClodSkinInstance.cpp b/src/obj/NiClodSkinInstance.cpp index 5aad23b1..c3d668a5 100644 --- a/src/obj/NiClodSkinInstance.cpp +++ b/src/obj/NiClodSkinInstance.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiClodSkinInstance::GetRefs() const { const Type & NiClodSkinInstance::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiClodSkinInstance"] = NiClodSkinInstance::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiClodSkinInstance::Create() { + return new NiClodSkinInstance; +} diff --git a/src/obj/NiCollisionData.cpp b/src/obj/NiCollisionData.cpp index 67c0ecc2..5f6d3455 100644 --- a/src/obj/NiCollisionData.cpp +++ b/src/obj/NiCollisionData.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiCollisionData::GetRefs() const { const Type & NiCollisionData::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiCollisionData"] = NiCollisionData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiCollisionData::Create() { + return new NiCollisionData; +} diff --git a/src/obj/NiCollisionObject.cpp b/src/obj/NiCollisionObject.cpp index f8488a65..c202968f 100644 --- a/src/obj/NiCollisionObject.cpp +++ b/src/obj/NiCollisionObject.cpp @@ -52,3 +52,27 @@ Ref<NiObject > NiCollisionObject::GetBody() const { void NiCollisionObject::SetBody( NiObject * value ) { body = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiCollisionObject"] = NiCollisionObject::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiCollisionObject::Create() { + return new NiCollisionObject; +} diff --git a/src/obj/NiColorData.cpp b/src/obj/NiColorData.cpp index 4142b02e..5904a0c1 100644 --- a/src/obj/NiColorData.cpp +++ b/src/obj/NiColorData.cpp @@ -51,3 +51,27 @@ vector< Key<Color4> > NiColorData::GetKeys() const { void NiColorData::SetKeys( vector< Key<Color4> > const & keys ) { data.keys = keys; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiColorData"] = NiColorData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiColorData::Create() { + return new NiColorData; +} diff --git a/src/obj/NiColorExtraData.cpp b/src/obj/NiColorExtraData.cpp index eb7b5eee..b0d15a16 100644 --- a/src/obj/NiColorExtraData.cpp +++ b/src/obj/NiColorExtraData.cpp @@ -42,3 +42,27 @@ Color4 NiColorExtraData::GetData() const { void NiColorExtraData::SetData( const Color4 & n ) { data = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiColorExtraData"] = NiColorExtraData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiColorExtraData::Create() { + return new NiColorExtraData; +} diff --git a/src/obj/NiControllerManager.cpp b/src/obj/NiControllerManager.cpp index 4029ae5d..75334c11 100644 --- a/src/obj/NiControllerManager.cpp +++ b/src/obj/NiControllerManager.cpp @@ -93,3 +93,27 @@ Ref<NiDefaultAVObjectPalette > NiControllerManager::GetObjectPalette() const { void NiControllerManager::SetObjectPalette( NiDefaultAVObjectPalette * value ) { objectPalette = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiControllerManager"] = NiControllerManager::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiControllerManager::Create() { + return new NiControllerManager; +} diff --git a/src/obj/NiControllerSequence.cpp b/src/obj/NiControllerSequence.cpp index d531fb31..0658d932 100644 --- a/src/obj/NiControllerSequence.cpp +++ b/src/obj/NiControllerSequence.cpp @@ -223,3 +223,27 @@ float NiControllerSequence::GetWeight() const { void NiControllerSequence::SetWeight( const float value ) { weight = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiControllerSequence"] = NiControllerSequence::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiControllerSequence::Create() { + return new NiControllerSequence; +} diff --git a/src/obj/NiDefaultAVObjectPalette.cpp b/src/obj/NiDefaultAVObjectPalette.cpp index f7ddb9e2..a9dac865 100644 --- a/src/obj/NiDefaultAVObjectPalette.cpp +++ b/src/obj/NiDefaultAVObjectPalette.cpp @@ -54,3 +54,27 @@ void NiDefaultAVObjectPalette::SetObjs( const vector<Ref<NiAVObject> >& value ) objs.push_back(obj); } } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiDefaultAVObjectPalette"] = NiDefaultAVObjectPalette::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiDefaultAVObjectPalette::Create() { + return new NiDefaultAVObjectPalette; +} diff --git a/src/obj/NiDirectionalLight.cpp b/src/obj/NiDirectionalLight.cpp index 10b0ea84..f40675b5 100644 --- a/src/obj/NiDirectionalLight.cpp +++ b/src/obj/NiDirectionalLight.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiDirectionalLight::GetRefs() const { const Type & NiDirectionalLight::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiDirectionalLight"] = NiDirectionalLight::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiDirectionalLight::Create() { + return new NiDirectionalLight; +} diff --git a/src/obj/NiDitherProperty.cpp b/src/obj/NiDitherProperty.cpp index d1e1de36..d30179aa 100644 --- a/src/obj/NiDitherProperty.cpp +++ b/src/obj/NiDitherProperty.cpp @@ -42,3 +42,27 @@ unsigned short NiDitherProperty::GetFlags() const { void NiDitherProperty::SetFlags( unsigned short n ) { flags = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiDitherProperty"] = NiDitherProperty::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiDitherProperty::Create() { + return new NiDitherProperty; +} diff --git a/src/obj/NiDynamicEffect.cpp b/src/obj/NiDynamicEffect.cpp index dda7d991..399332b5 100644 --- a/src/obj/NiDynamicEffect.cpp +++ b/src/obj/NiDynamicEffect.cpp @@ -51,3 +51,27 @@ vector<Ref<NiAVObject > > NiDynamicEffect::GetAffectedNodes() const { void NiDynamicEffect::SetAffectedNodes( const vector<Ref<NiAVObject > >& value ) { affectedNodes = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiDynamicEffect"] = NiDynamicEffect::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiDynamicEffect::Create() { + return new NiDynamicEffect; +} diff --git a/src/obj/NiExtraData.cpp b/src/obj/NiExtraData.cpp index 689f8b50..d2688eec 100644 --- a/src/obj/NiExtraData.cpp +++ b/src/obj/NiExtraData.cpp @@ -57,3 +57,27 @@ NiExtraDataRef NiExtraData::GetNextExtraData() const { void NiExtraData::SetNextExtraData( NiExtraData * obj ) { nextExtraData = obj; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiExtraData"] = NiExtraData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiExtraData::Create() { + return new NiExtraData; +} diff --git a/src/obj/NiFlipController.cpp b/src/obj/NiFlipController.cpp index 9acbb95f..c9cebfca 100644 --- a/src/obj/NiFlipController.cpp +++ b/src/obj/NiFlipController.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiFlipController::GetRefs() const { const Type & NiFlipController::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiFlipController"] = NiFlipController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiFlipController::Create() { + return new NiFlipController; +} diff --git a/src/obj/NiFloatData.cpp b/src/obj/NiFloatData.cpp index 436296b3..9b52f897 100644 --- a/src/obj/NiFloatData.cpp +++ b/src/obj/NiFloatData.cpp @@ -51,3 +51,27 @@ vector< Key<float> > NiFloatData::GetKeys() const { void NiFloatData::SetKeys( vector< Key<float> > const & keys ) { data.keys = keys; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiFloatData"] = NiFloatData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiFloatData::Create() { + return new NiFloatData; +} diff --git a/src/obj/NiFloatExtraData.cpp b/src/obj/NiFloatExtraData.cpp index 92e9a283..06f82bb9 100644 --- a/src/obj/NiFloatExtraData.cpp +++ b/src/obj/NiFloatExtraData.cpp @@ -42,3 +42,27 @@ float NiFloatExtraData::GetData() const { void NiFloatExtraData::SetData( float n ) { floatData = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiFloatExtraData"] = NiFloatExtraData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiFloatExtraData::Create() { + return new NiFloatExtraData; +} diff --git a/src/obj/NiFloatExtraDataController.cpp b/src/obj/NiFloatExtraDataController.cpp index 75ef2387..ab0c9768 100644 --- a/src/obj/NiFloatExtraDataController.cpp +++ b/src/obj/NiFloatExtraDataController.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiFloatExtraDataController::GetRefs() const { const Type & NiFloatExtraDataController::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiFloatExtraDataController"] = NiFloatExtraDataController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiFloatExtraDataController::Create() { + return new NiFloatExtraDataController; +} diff --git a/src/obj/NiFloatInterpolator.cpp b/src/obj/NiFloatInterpolator.cpp index 84ebe777..3a763793 100644 --- a/src/obj/NiFloatInterpolator.cpp +++ b/src/obj/NiFloatInterpolator.cpp @@ -51,3 +51,27 @@ Ref<NiFloatData > NiFloatInterpolator::GetData() const { void NiFloatInterpolator::SetData( NiFloatData * value ) { data = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiFloatInterpolator"] = NiFloatInterpolator::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiFloatInterpolator::Create() { + return new NiFloatInterpolator; +} diff --git a/src/obj/NiFloatsExtraData.cpp b/src/obj/NiFloatsExtraData.cpp index 6371ac37..f636c866 100644 --- a/src/obj/NiFloatsExtraData.cpp +++ b/src/obj/NiFloatsExtraData.cpp @@ -43,3 +43,27 @@ void NiFloatsExtraData::SetData( const vector<float> & n ) { numFloats = (unsigned int)(n.size()); data = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiFloatsExtraData"] = NiFloatsExtraData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiFloatsExtraData::Create() { + return new NiFloatsExtraData; +} diff --git a/src/obj/NiFogProperty.cpp b/src/obj/NiFogProperty.cpp index bd851586..788b0fb7 100644 --- a/src/obj/NiFogProperty.cpp +++ b/src/obj/NiFogProperty.cpp @@ -59,3 +59,27 @@ Color3 NiFogProperty::GetFogColor() const { void NiFogProperty::SetFogColor(Color3 value) { fogColor = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiFogProperty"] = NiFogProperty::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiFogProperty::Create() { + return new NiFogProperty; +} diff --git a/src/obj/NiGeomMorpherController.cpp b/src/obj/NiGeomMorpherController.cpp index 872041b5..7c9aac40 100644 --- a/src/obj/NiGeomMorpherController.cpp +++ b/src/obj/NiGeomMorpherController.cpp @@ -53,3 +53,27 @@ Ref<NiMorphData> NiGeomMorpherController::GetData() const { void NiGeomMorpherController::SetData( NiMorphData * n ) { data = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiGeomMorpherController"] = NiGeomMorpherController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiGeomMorpherController::Create() { + return new NiGeomMorpherController; +} diff --git a/src/obj/NiGeometry.cpp b/src/obj/NiGeometry.cpp index 1577f418..87301e4f 100644 --- a/src/obj/NiGeometry.cpp +++ b/src/obj/NiGeometry.cpp @@ -362,3 +362,27 @@ void NiGeometry::SetBoneWeights( unsigned int bone_index, const vector<SkinWeigh skinData->SetBoneWeights( bone_index, n, center, radius ); } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiGeometry"] = NiGeometry::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiGeometry::Create() { + return new NiGeometry; +} diff --git a/src/obj/NiGeometryData.cpp b/src/obj/NiGeometryData.cpp index 852ed168..651e7773 100644 --- a/src/obj/NiGeometryData.cpp +++ b/src/obj/NiGeometryData.cpp @@ -162,3 +162,27 @@ void NiGeometryData::Transform( const Matrix44 & transform ) { normals[i] = rotation * normals[i]; } } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiGeometryData"] = NiGeometryData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiGeometryData::Create() { + return new NiGeometryData; +} diff --git a/src/obj/NiGravity.cpp b/src/obj/NiGravity.cpp index 3185e3ba..fc14904e 100644 --- a/src/obj/NiGravity.cpp +++ b/src/obj/NiGravity.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiGravity::GetRefs() const { const Type & NiGravity::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiGravity"] = NiGravity::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiGravity::Create() { + return new NiGravity; +} diff --git a/src/obj/NiImage.cpp b/src/obj/NiImage.cpp index 8d14b9f5..e2defe0e 100644 --- a/src/obj/NiImage.cpp +++ b/src/obj/NiImage.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiImage::GetRefs() const { const Type & NiImage::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiImage"] = NiImage::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiImage::Create() { + return new NiImage; +} diff --git a/src/obj/NiIntegerExtraData.cpp b/src/obj/NiIntegerExtraData.cpp index 2dfb9845..1c26ccee 100644 --- a/src/obj/NiIntegerExtraData.cpp +++ b/src/obj/NiIntegerExtraData.cpp @@ -42,3 +42,27 @@ unsigned int NiIntegerExtraData::GetData() const { void NiIntegerExtraData::SetData( unsigned int n ) { integerData = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiIntegerExtraData"] = NiIntegerExtraData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiIntegerExtraData::Create() { + return new NiIntegerExtraData; +} diff --git a/src/obj/NiIntegersExtraData.cpp b/src/obj/NiIntegersExtraData.cpp index 2e131b03..9c35fddc 100644 --- a/src/obj/NiIntegersExtraData.cpp +++ b/src/obj/NiIntegersExtraData.cpp @@ -43,3 +43,27 @@ void NiIntegersExtraData::SetData( const vector<unsigned int> & n ) { numIntegers = (unsigned int)( n.size() ); data = n; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiIntegersExtraData"] = NiIntegersExtraData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiIntegersExtraData::Create() { + return new NiIntegersExtraData; +} diff --git a/src/obj/NiInterpolator.cpp b/src/obj/NiInterpolator.cpp index d8efbb5c..a179eb65 100644 --- a/src/obj/NiInterpolator.cpp +++ b/src/obj/NiInterpolator.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiInterpolator::GetRefs() const { const Type & NiInterpolator::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiInterpolator"] = NiInterpolator::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiInterpolator::Create() { + return new NiInterpolator; +} diff --git a/src/obj/NiKeyframeController.cpp b/src/obj/NiKeyframeController.cpp index c889ddb3..26bd0967 100644 --- a/src/obj/NiKeyframeController.cpp +++ b/src/obj/NiKeyframeController.cpp @@ -43,3 +43,27 @@ Ref<NiKeyframeData> NiKeyframeController::GetData() const { void NiKeyframeController::SetData( NiKeyframeData * n ) { data = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiKeyframeController"] = NiKeyframeController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiKeyframeController::Create() { + return new NiKeyframeController; +} diff --git a/src/obj/NiKeyframeData.cpp b/src/obj/NiKeyframeData.cpp index 8bdf6e1f..0918aa91 100644 --- a/src/obj/NiKeyframeData.cpp +++ b/src/obj/NiKeyframeData.cpp @@ -141,3 +141,27 @@ vector< Key<float> > NiKeyframeData::GetScaleKeys() const { void NiKeyframeData::SetScaleKeys( vector< Key<float> > const & keys ) { scales.keys = keys; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiKeyframeData"] = NiKeyframeData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiKeyframeData::Create() { + return new NiKeyframeData; +} diff --git a/src/obj/NiLODData.cpp b/src/obj/NiLODData.cpp index 022f3fe4..3797f3e5 100644 --- a/src/obj/NiLODData.cpp +++ b/src/obj/NiLODData.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiLODData::GetRefs() const { const Type & NiLODData::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiLODData"] = NiLODData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiLODData::Create() { + return new NiLODData; +} diff --git a/src/obj/NiLODNode.cpp b/src/obj/NiLODNode.cpp index 12ac8a6b..68bc3170 100644 --- a/src/obj/NiLODNode.cpp +++ b/src/obj/NiLODNode.cpp @@ -60,3 +60,27 @@ Ref<NiLODData > NiLODNode::GetLODLevelData() const { void NiLODNode::SetLODLevelData( Ref<NiLODData > value ) { lodLevelData = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiLODNode"] = NiLODNode::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiLODNode::Create() { + return new NiLODNode; +} diff --git a/src/obj/NiLight.cpp b/src/obj/NiLight.cpp index de7f056e..1eca7090 100644 --- a/src/obj/NiLight.cpp +++ b/src/obj/NiLight.cpp @@ -66,3 +66,27 @@ Color3 NiLight::GetSpecularColor() const { void NiLight::SetSpecularColor( Color3 value ) { specularColor = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiLight"] = NiLight::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiLight::Create() { + return new NiLight; +} diff --git a/src/obj/NiLightColorController.cpp b/src/obj/NiLightColorController.cpp index cf4e3e78..582d52c9 100644 --- a/src/obj/NiLightColorController.cpp +++ b/src/obj/NiLightColorController.cpp @@ -52,3 +52,27 @@ Ref<NiPoint3Interpolator > NiLightColorController::GetInterpolator() const { void NiLightColorController::SetInterpolator( NiPoint3Interpolator * value ) { interpolator = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiLightColorController"] = NiLightColorController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiLightColorController::Create() { + return new NiLightColorController; +} diff --git a/src/obj/NiLightDimmerController.cpp b/src/obj/NiLightDimmerController.cpp index 7d1b77dc..4a5f8a00 100644 --- a/src/obj/NiLightDimmerController.cpp +++ b/src/obj/NiLightDimmerController.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiLightDimmerController::GetRefs() const { const Type & NiLightDimmerController::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiLightDimmerController"] = NiLightDimmerController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiLightDimmerController::Create() { + return new NiLightDimmerController; +} diff --git a/src/obj/NiLookAtController.cpp b/src/obj/NiLookAtController.cpp index 17d0fc48..3609893b 100644 --- a/src/obj/NiLookAtController.cpp +++ b/src/obj/NiLookAtController.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiLookAtController::GetRefs() const { const Type & NiLookAtController::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiLookAtController"] = NiLookAtController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiLookAtController::Create() { + return new NiLookAtController; +} diff --git a/src/obj/NiLookAtInterpolator.cpp b/src/obj/NiLookAtInterpolator.cpp index f056c64a..55cccaef 100644 --- a/src/obj/NiLookAtInterpolator.cpp +++ b/src/obj/NiLookAtInterpolator.cpp @@ -69,3 +69,27 @@ float NiLookAtInterpolator::GetScale() const { void NiLookAtInterpolator::SetScale( float value ) { scale = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiLookAtInterpolator"] = NiLookAtInterpolator::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiLookAtInterpolator::Create() { + return new NiLookAtInterpolator; +} diff --git a/src/obj/NiMaterialColorController.cpp b/src/obj/NiMaterialColorController.cpp index f4dd8330..77d2d132 100644 --- a/src/obj/NiMaterialColorController.cpp +++ b/src/obj/NiMaterialColorController.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiMaterialColorController::GetRefs() const { const Type & NiMaterialColorController::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiMaterialColorController"] = NiMaterialColorController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiMaterialColorController::Create() { + return new NiMaterialColorController; +} diff --git a/src/obj/NiMaterialProperty.cpp b/src/obj/NiMaterialProperty.cpp index 66142652..2a0802aa 100644 --- a/src/obj/NiMaterialProperty.cpp +++ b/src/obj/NiMaterialProperty.cpp @@ -90,3 +90,27 @@ Color3 NiMaterialProperty::GetSpecularColor() const { void NiMaterialProperty::SetSpecularColor( const Color3 & n ) { specularColor = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiMaterialProperty"] = NiMaterialProperty::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiMaterialProperty::Create() { + return new NiMaterialProperty; +} diff --git a/src/obj/NiMeshPSysData.cpp b/src/obj/NiMeshPSysData.cpp index 9866b03c..910606e3 100644 --- a/src/obj/NiMeshPSysData.cpp +++ b/src/obj/NiMeshPSysData.cpp @@ -36,3 +36,27 @@ list<NiObjectRef> NiMeshPSysData::GetRefs() const { const Type & NiMeshPSysData::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiMeshPSysData"] = NiMeshPSysData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiMeshPSysData::Create() { + return new NiMeshPSysData; +} diff --git a/src/obj/NiMeshParticleSystem.cpp b/src/obj/NiMeshParticleSystem.cpp index 2933f997..b579b036 100644 --- a/src/obj/NiMeshParticleSystem.cpp +++ b/src/obj/NiMeshParticleSystem.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiMeshParticleSystem::GetRefs() const { const Type & NiMeshParticleSystem::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiMeshParticleSystem"] = NiMeshParticleSystem::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiMeshParticleSystem::Create() { + return new NiMeshParticleSystem; +} diff --git a/src/obj/NiMorphData.cpp b/src/obj/NiMorphData.cpp index d395af2e..41922c7d 100644 --- a/src/obj/NiMorphData.cpp +++ b/src/obj/NiMorphData.cpp @@ -90,3 +90,27 @@ void NiMorphData::SetMorphVerts( int n, const vector<Vector3> & in ) { //It's the right size, so go ahead and set it morphs[n].vectors = in; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiMorphData"] = NiMorphData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiMorphData::Create() { + return new NiMorphData; +} diff --git a/src/obj/NiMultiTargetTransformController.cpp b/src/obj/NiMultiTargetTransformController.cpp index e1e5d6b3..383ba7e8 100644 --- a/src/obj/NiMultiTargetTransformController.cpp +++ b/src/obj/NiMultiTargetTransformController.cpp @@ -54,3 +54,27 @@ void NiMultiTargetTransformController::SetExtraTargets( const vector<NiNodeRef>& extraTargets.push_back( value[i] ); extraTargets.erase(std::remove(extraTargets.begin(), extraTargets.end(), (NiNode*)NULL), extraTargets.end()); } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiMultiTargetTransformController"] = NiMultiTargetTransformController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiMultiTargetTransformController::Create() { + return new NiMultiTargetTransformController; +} diff --git a/src/obj/NiNode.cpp b/src/obj/NiNode.cpp index b35f136a..fb30eb75 100644 --- a/src/obj/NiNode.cpp +++ b/src/obj/NiNode.cpp @@ -274,3 +274,27 @@ bool NiNode::IsSplitMeshProxy() const { //Made it all the way through the loop without returning false return true; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiNode"] = NiNode::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiNode::Create() { + return new NiNode; +} diff --git a/src/obj/NiObject.cpp b/src/obj/NiObject.cpp index 351a6b7c..5819589d 100644 --- a/src/obj/NiObject.cpp +++ b/src/obj/NiObject.cpp @@ -99,3 +99,28 @@ const Type & NiObject::GetType() const { unsigned int NiObject::GetNumRefs() { return _ref_count; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiObject"] = NiObject::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiObject::Create() { + return new NiObject; +} + diff --git a/src/obj/NiObjectNET.cpp b/src/obj/NiObjectNET.cpp index 205a45a0..89bfd506 100644 --- a/src/obj/NiObjectNET.cpp +++ b/src/obj/NiObjectNET.cpp @@ -187,3 +187,27 @@ list< Ref<NiTimeController> > NiObjectNET::GetControllers() const { const Type & NiObjectNET::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiObjectNET"] = NiObjectNET::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiObjectNET::Create() { + return new NiObjectNET; +} diff --git a/src/obj/NiPSysAgeDeathModifier.cpp b/src/obj/NiPSysAgeDeathModifier.cpp index 2d1f92b0..492f5601 100644 --- a/src/obj/NiPSysAgeDeathModifier.cpp +++ b/src/obj/NiPSysAgeDeathModifier.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiPSysAgeDeathModifier::GetRefs() const { const Type & NiPSysAgeDeathModifier::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysAgeDeathModifier"] = NiPSysAgeDeathModifier::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysAgeDeathModifier::Create() { + return new NiPSysAgeDeathModifier; +} diff --git a/src/obj/NiPSysBombModifier.cpp b/src/obj/NiPSysBombModifier.cpp index 20884626..0ee4e8d4 100644 --- a/src/obj/NiPSysBombModifier.cpp +++ b/src/obj/NiPSysBombModifier.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiPSysBombModifier::GetRefs() const { const Type & NiPSysBombModifier::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysBombModifier"] = NiPSysBombModifier::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysBombModifier::Create() { + return new NiPSysBombModifier; +} diff --git a/src/obj/NiPSysBoundUpdateModifier.cpp b/src/obj/NiPSysBoundUpdateModifier.cpp index ab9ea44f..900cb7fb 100644 --- a/src/obj/NiPSysBoundUpdateModifier.cpp +++ b/src/obj/NiPSysBoundUpdateModifier.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiPSysBoundUpdateModifier::GetRefs() const { const Type & NiPSysBoundUpdateModifier::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysBoundUpdateModifier"] = NiPSysBoundUpdateModifier::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysBoundUpdateModifier::Create() { + return new NiPSysBoundUpdateModifier; +} diff --git a/src/obj/NiPSysBoxEmitter.cpp b/src/obj/NiPSysBoxEmitter.cpp index 4c45597c..0c8eed96 100644 --- a/src/obj/NiPSysBoxEmitter.cpp +++ b/src/obj/NiPSysBoxEmitter.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiPSysBoxEmitter::GetRefs() const { const Type & NiPSysBoxEmitter::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysBoxEmitter"] = NiPSysBoxEmitter::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysBoxEmitter::Create() { + return new NiPSysBoxEmitter; +} diff --git a/src/obj/NiPSysColliderManager.cpp b/src/obj/NiPSysColliderManager.cpp index e5b585c8..baea4aa1 100644 --- a/src/obj/NiPSysColliderManager.cpp +++ b/src/obj/NiPSysColliderManager.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiPSysColliderManager::GetRefs() const { const Type & NiPSysColliderManager::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysColliderManager"] = NiPSysColliderManager::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysColliderManager::Create() { + return new NiPSysColliderManager; +} diff --git a/src/obj/NiPSysColorModifier.cpp b/src/obj/NiPSysColorModifier.cpp index 24ff666c..41770333 100644 --- a/src/obj/NiPSysColorModifier.cpp +++ b/src/obj/NiPSysColorModifier.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiPSysColorModifier::GetRefs() const { const Type & NiPSysColorModifier::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysColorModifier"] = NiPSysColorModifier::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysColorModifier::Create() { + return new NiPSysColorModifier; +} diff --git a/src/obj/NiPSysCylinderEmitter.cpp b/src/obj/NiPSysCylinderEmitter.cpp index 1e77b207..0f97a055 100644 --- a/src/obj/NiPSysCylinderEmitter.cpp +++ b/src/obj/NiPSysCylinderEmitter.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiPSysCylinderEmitter::GetRefs() const { const Type & NiPSysCylinderEmitter::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysCylinderEmitter"] = NiPSysCylinderEmitter::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysCylinderEmitter::Create() { + return new NiPSysCylinderEmitter; +} diff --git a/src/obj/NiPSysData.cpp b/src/obj/NiPSysData.cpp index 5d325968..0b82f19c 100644 --- a/src/obj/NiPSysData.cpp +++ b/src/obj/NiPSysData.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiPSysData::GetRefs() const { const Type & NiPSysData::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysData"] = NiPSysData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysData::Create() { + return new NiPSysData; +} diff --git a/src/obj/NiPSysDragModifier.cpp b/src/obj/NiPSysDragModifier.cpp index c69fab7a..79a9b67a 100644 --- a/src/obj/NiPSysDragModifier.cpp +++ b/src/obj/NiPSysDragModifier.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiPSysDragModifier::GetRefs() const { const Type & NiPSysDragModifier::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysDragModifier"] = NiPSysDragModifier::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysDragModifier::Create() { + return new NiPSysDragModifier; +} diff --git a/src/obj/NiPSysEmitter.cpp b/src/obj/NiPSysEmitter.cpp index a7416fb4..4ad0f702 100644 --- a/src/obj/NiPSysEmitter.cpp +++ b/src/obj/NiPSysEmitter.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiPSysEmitter::GetRefs() const { const Type & NiPSysEmitter::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysEmitter"] = NiPSysEmitter::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysEmitter::Create() { + return new NiPSysEmitter; +} diff --git a/src/obj/NiPSysEmitterCtlr.cpp b/src/obj/NiPSysEmitterCtlr.cpp index d33939b7..80861e3f 100644 --- a/src/obj/NiPSysEmitterCtlr.cpp +++ b/src/obj/NiPSysEmitterCtlr.cpp @@ -52,3 +52,27 @@ Ref<NiInterpolator > NiPSysEmitterCtlr::GetVisibilityInterpolator() const { void NiPSysEmitterCtlr::SetVisibilityInterpolator( NiInterpolator * value ) { visibilityInterpolator = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysEmitterCtlr"] = NiPSysEmitterCtlr::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysEmitterCtlr::Create() { + return new NiPSysEmitterCtlr; +} diff --git a/src/obj/NiPSysEmitterCtlrData.cpp b/src/obj/NiPSysEmitterCtlrData.cpp index cac4c441..dbe03d85 100644 --- a/src/obj/NiPSysEmitterCtlrData.cpp +++ b/src/obj/NiPSysEmitterCtlrData.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiPSysEmitterCtlrData::GetRefs() const { const Type & NiPSysEmitterCtlrData::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysEmitterCtlrData"] = NiPSysEmitterCtlrData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysEmitterCtlrData::Create() { + return new NiPSysEmitterCtlrData; +} diff --git a/src/obj/NiPSysEmitterDeclinationCtlr.cpp b/src/obj/NiPSysEmitterDeclinationCtlr.cpp index a9ce70dd..eb4c215b 100644 --- a/src/obj/NiPSysEmitterDeclinationCtlr.cpp +++ b/src/obj/NiPSysEmitterDeclinationCtlr.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiPSysEmitterDeclinationCtlr::GetRefs() const { const Type & NiPSysEmitterDeclinationCtlr::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysEmitterDeclinationCtlr"] = NiPSysEmitterDeclinationCtlr::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysEmitterDeclinationCtlr::Create() { + return new NiPSysEmitterDeclinationCtlr; +} diff --git a/src/obj/NiPSysEmitterDeclinationVarCtlr.cpp b/src/obj/NiPSysEmitterDeclinationVarCtlr.cpp index 2da4240b..3c1d87e1 100644 --- a/src/obj/NiPSysEmitterDeclinationVarCtlr.cpp +++ b/src/obj/NiPSysEmitterDeclinationVarCtlr.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiPSysEmitterDeclinationVarCtlr::GetRefs() const { const Type & NiPSysEmitterDeclinationVarCtlr::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysEmitterDeclinationVarCtlr"] = NiPSysEmitterDeclinationVarCtlr::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysEmitterDeclinationVarCtlr::Create() { + return new NiPSysEmitterDeclinationVarCtlr; +} diff --git a/src/obj/NiPSysEmitterInitialRadiusCtlr.cpp b/src/obj/NiPSysEmitterInitialRadiusCtlr.cpp index 4422162a..6a5f0855 100644 --- a/src/obj/NiPSysEmitterInitialRadiusCtlr.cpp +++ b/src/obj/NiPSysEmitterInitialRadiusCtlr.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiPSysEmitterInitialRadiusCtlr::GetRefs() const { const Type & NiPSysEmitterInitialRadiusCtlr::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysEmitterInitialRadiusCtlr"] = NiPSysEmitterInitialRadiusCtlr::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysEmitterInitialRadiusCtlr::Create() { + return new NiPSysEmitterInitialRadiusCtlr; +} diff --git a/src/obj/NiPSysEmitterLifeSpanCtlr.cpp b/src/obj/NiPSysEmitterLifeSpanCtlr.cpp index 2a6196dc..5c66e254 100644 --- a/src/obj/NiPSysEmitterLifeSpanCtlr.cpp +++ b/src/obj/NiPSysEmitterLifeSpanCtlr.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiPSysEmitterLifeSpanCtlr::GetRefs() const { const Type & NiPSysEmitterLifeSpanCtlr::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysEmitterLifeSpanCtlr"] = NiPSysEmitterLifeSpanCtlr::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysEmitterLifeSpanCtlr::Create() { + return new NiPSysEmitterLifeSpanCtlr; +} diff --git a/src/obj/NiPSysEmitterSpeedCtlr.cpp b/src/obj/NiPSysEmitterSpeedCtlr.cpp index 7b659990..ca334df2 100644 --- a/src/obj/NiPSysEmitterSpeedCtlr.cpp +++ b/src/obj/NiPSysEmitterSpeedCtlr.cpp @@ -36,3 +36,27 @@ list<NiObjectRef> NiPSysEmitterSpeedCtlr::GetRefs() const { const Type & NiPSysEmitterSpeedCtlr::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysEmitterSpeedCtlr"] = NiPSysEmitterSpeedCtlr::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysEmitterSpeedCtlr::Create() { + return new NiPSysEmitterSpeedCtlr; +} diff --git a/src/obj/NiPSysGravityModifier.cpp b/src/obj/NiPSysGravityModifier.cpp index 449e2847..92b393b2 100644 --- a/src/obj/NiPSysGravityModifier.cpp +++ b/src/obj/NiPSysGravityModifier.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiPSysGravityModifier::GetRefs() const { const Type & NiPSysGravityModifier::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysGravityModifier"] = NiPSysGravityModifier::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysGravityModifier::Create() { + return new NiPSysGravityModifier; +} diff --git a/src/obj/NiPSysGravityStrengthCtlr.cpp b/src/obj/NiPSysGravityStrengthCtlr.cpp index 2787ae4c..8a80bd20 100644 --- a/src/obj/NiPSysGravityStrengthCtlr.cpp +++ b/src/obj/NiPSysGravityStrengthCtlr.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiPSysGravityStrengthCtlr::GetRefs() const { const Type & NiPSysGravityStrengthCtlr::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysGravityStrengthCtlr"] = NiPSysGravityStrengthCtlr::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysGravityStrengthCtlr::Create() { + return new NiPSysGravityStrengthCtlr; +} diff --git a/src/obj/NiPSysGrowFadeModifier.cpp b/src/obj/NiPSysGrowFadeModifier.cpp index f2533a3e..60e1b1c6 100644 --- a/src/obj/NiPSysGrowFadeModifier.cpp +++ b/src/obj/NiPSysGrowFadeModifier.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiPSysGrowFadeModifier::GetRefs() const { const Type & NiPSysGrowFadeModifier::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysGrowFadeModifier"] = NiPSysGrowFadeModifier::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysGrowFadeModifier::Create() { + return new NiPSysGrowFadeModifier; +} diff --git a/src/obj/NiPSysMeshEmitter.cpp b/src/obj/NiPSysMeshEmitter.cpp index 1f9cc452..e8810b7a 100644 --- a/src/obj/NiPSysMeshEmitter.cpp +++ b/src/obj/NiPSysMeshEmitter.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiPSysMeshEmitter::GetRefs() const { const Type & NiPSysMeshEmitter::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysMeshEmitter"] = NiPSysMeshEmitter::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysMeshEmitter::Create() { + return new NiPSysMeshEmitter; +} diff --git a/src/obj/NiPSysMeshUpdateModifier.cpp b/src/obj/NiPSysMeshUpdateModifier.cpp index 2bca31c2..ce595bab 100644 --- a/src/obj/NiPSysMeshUpdateModifier.cpp +++ b/src/obj/NiPSysMeshUpdateModifier.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiPSysMeshUpdateModifier::GetRefs() const { const Type & NiPSysMeshUpdateModifier::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysMeshUpdateModifier"] = NiPSysMeshUpdateModifier::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysMeshUpdateModifier::Create() { + return new NiPSysMeshUpdateModifier; +} diff --git a/src/obj/NiPSysModifier.cpp b/src/obj/NiPSysModifier.cpp index 572b6a3e..13f5bf1c 100644 --- a/src/obj/NiPSysModifier.cpp +++ b/src/obj/NiPSysModifier.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiPSysModifier::GetRefs() const { const Type & NiPSysModifier::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysModifier"] = NiPSysModifier::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysModifier::Create() { + return new NiPSysModifier; +} diff --git a/src/obj/NiPSysModifierActiveCtlr.cpp b/src/obj/NiPSysModifierActiveCtlr.cpp index db3d62ff..591efcfb 100644 --- a/src/obj/NiPSysModifierActiveCtlr.cpp +++ b/src/obj/NiPSysModifierActiveCtlr.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiPSysModifierActiveCtlr::GetRefs() const { const Type & NiPSysModifierActiveCtlr::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysModifierActiveCtlr"] = NiPSysModifierActiveCtlr::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysModifierActiveCtlr::Create() { + return new NiPSysModifierActiveCtlr; +} diff --git a/src/obj/NiPSysPlanarCollider.cpp b/src/obj/NiPSysPlanarCollider.cpp index 907a121c..6c7df074 100644 --- a/src/obj/NiPSysPlanarCollider.cpp +++ b/src/obj/NiPSysPlanarCollider.cpp @@ -37,3 +37,27 @@ list<NiObjectRef> NiPSysPlanarCollider::GetRefs() const { const Type & NiPSysPlanarCollider::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysPlanarCollider"] = NiPSysPlanarCollider::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysPlanarCollider::Create() { + return new NiPSysPlanarCollider; +} diff --git a/src/obj/NiPSysPositionModifier.cpp b/src/obj/NiPSysPositionModifier.cpp index c0c46187..837d5438 100644 --- a/src/obj/NiPSysPositionModifier.cpp +++ b/src/obj/NiPSysPositionModifier.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiPSysPositionModifier::GetRefs() const { const Type & NiPSysPositionModifier::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysPositionModifier"] = NiPSysPositionModifier::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysPositionModifier::Create() { + return new NiPSysPositionModifier; +} diff --git a/src/obj/NiPSysResetOnLoopCtlr.cpp b/src/obj/NiPSysResetOnLoopCtlr.cpp index 53a61645..be072f55 100644 --- a/src/obj/NiPSysResetOnLoopCtlr.cpp +++ b/src/obj/NiPSysResetOnLoopCtlr.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiPSysResetOnLoopCtlr::GetRefs() const { const Type & NiPSysResetOnLoopCtlr::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysResetOnLoopCtlr"] = NiPSysResetOnLoopCtlr::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysResetOnLoopCtlr::Create() { + return new NiPSysResetOnLoopCtlr; +} diff --git a/src/obj/NiPSysRotationModifier.cpp b/src/obj/NiPSysRotationModifier.cpp index 39c2c447..28aa6f1f 100644 --- a/src/obj/NiPSysRotationModifier.cpp +++ b/src/obj/NiPSysRotationModifier.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiPSysRotationModifier::GetRefs() const { const Type & NiPSysRotationModifier::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysRotationModifier"] = NiPSysRotationModifier::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysRotationModifier::Create() { + return new NiPSysRotationModifier; +} diff --git a/src/obj/NiPSysSpawnModifier.cpp b/src/obj/NiPSysSpawnModifier.cpp index 0750838c..7e440e6e 100644 --- a/src/obj/NiPSysSpawnModifier.cpp +++ b/src/obj/NiPSysSpawnModifier.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiPSysSpawnModifier::GetRefs() const { const Type & NiPSysSpawnModifier::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysSpawnModifier"] = NiPSysSpawnModifier::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysSpawnModifier::Create() { + return new NiPSysSpawnModifier; +} diff --git a/src/obj/NiPSysSphereEmitter.cpp b/src/obj/NiPSysSphereEmitter.cpp index cc554fa7..dc4f7e0d 100644 --- a/src/obj/NiPSysSphereEmitter.cpp +++ b/src/obj/NiPSysSphereEmitter.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiPSysSphereEmitter::GetRefs() const { const Type & NiPSysSphereEmitter::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysSphereEmitter"] = NiPSysSphereEmitter::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysSphereEmitter::Create() { + return new NiPSysSphereEmitter; +} diff --git a/src/obj/NiPSysUpdateCtlr.cpp b/src/obj/NiPSysUpdateCtlr.cpp index 24f8c5f8..b7a42f75 100644 --- a/src/obj/NiPSysUpdateCtlr.cpp +++ b/src/obj/NiPSysUpdateCtlr.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiPSysUpdateCtlr::GetRefs() const { const Type & NiPSysUpdateCtlr::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysUpdateCtlr"] = NiPSysUpdateCtlr::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysUpdateCtlr::Create() { + return new NiPSysUpdateCtlr; +} diff --git a/src/obj/NiPSysVolumeEmitter.cpp b/src/obj/NiPSysVolumeEmitter.cpp index f62d2b96..4e1bbb06 100644 --- a/src/obj/NiPSysVolumeEmitter.cpp +++ b/src/obj/NiPSysVolumeEmitter.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiPSysVolumeEmitter::GetRefs() const { const Type & NiPSysVolumeEmitter::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPSysVolumeEmitter"] = NiPSysVolumeEmitter::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPSysVolumeEmitter::Create() { + return new NiPSysVolumeEmitter; +} diff --git a/src/obj/NiPalette.cpp b/src/obj/NiPalette.cpp index 2445fcc6..c917535e 100644 --- a/src/obj/NiPalette.cpp +++ b/src/obj/NiPalette.cpp @@ -61,3 +61,27 @@ void NiPalette::SetPalette( const vector<Color4> & new_pal ) { palette[i][3] = int( new_pal[i].a * 255.0f ); } } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPalette"] = NiPalette::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPalette::Create() { + return new NiPalette; +} diff --git a/src/obj/NiParticleBomb.cpp b/src/obj/NiParticleBomb.cpp index ebf148ac..16170997 100644 --- a/src/obj/NiParticleBomb.cpp +++ b/src/obj/NiParticleBomb.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiParticleBomb::GetRefs() const { const Type & NiParticleBomb::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiParticleBomb"] = NiParticleBomb::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiParticleBomb::Create() { + return new NiParticleBomb; +} diff --git a/src/obj/NiParticleColorModifier.cpp b/src/obj/NiParticleColorModifier.cpp index 75778265..72475173 100644 --- a/src/obj/NiParticleColorModifier.cpp +++ b/src/obj/NiParticleColorModifier.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiParticleColorModifier::GetRefs() const { const Type & NiParticleColorModifier::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiParticleColorModifier"] = NiParticleColorModifier::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiParticleColorModifier::Create() { + return new NiParticleColorModifier; +} diff --git a/src/obj/NiParticleGrowFade.cpp b/src/obj/NiParticleGrowFade.cpp index 4f5425fa..d810cdbd 100644 --- a/src/obj/NiParticleGrowFade.cpp +++ b/src/obj/NiParticleGrowFade.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiParticleGrowFade::GetRefs() const { const Type & NiParticleGrowFade::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiParticleGrowFade"] = NiParticleGrowFade::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiParticleGrowFade::Create() { + return new NiParticleGrowFade; +} diff --git a/src/obj/NiParticleMeshModifier.cpp b/src/obj/NiParticleMeshModifier.cpp index bcc2a276..e1461ae0 100644 --- a/src/obj/NiParticleMeshModifier.cpp +++ b/src/obj/NiParticleMeshModifier.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiParticleMeshModifier::GetRefs() const { const Type & NiParticleMeshModifier::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiParticleMeshModifier"] = NiParticleMeshModifier::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiParticleMeshModifier::Create() { + return new NiParticleMeshModifier; +} diff --git a/src/obj/NiParticleMeshes.cpp b/src/obj/NiParticleMeshes.cpp index 1b7573b5..6eae566e 100644 --- a/src/obj/NiParticleMeshes.cpp +++ b/src/obj/NiParticleMeshes.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiParticleMeshes::GetRefs() const { const Type & NiParticleMeshes::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiParticleMeshes"] = NiParticleMeshes::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiParticleMeshes::Create() { + return new NiParticleMeshes; +} diff --git a/src/obj/NiParticleMeshesData.cpp b/src/obj/NiParticleMeshesData.cpp index 0d916e38..48ceb6c0 100644 --- a/src/obj/NiParticleMeshesData.cpp +++ b/src/obj/NiParticleMeshesData.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiParticleMeshesData::GetRefs() const { const Type & NiParticleMeshesData::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiParticleMeshesData"] = NiParticleMeshesData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiParticleMeshesData::Create() { + return new NiParticleMeshesData; +} diff --git a/src/obj/NiParticleRotation.cpp b/src/obj/NiParticleRotation.cpp index bc5a1f84..4a64b39d 100644 --- a/src/obj/NiParticleRotation.cpp +++ b/src/obj/NiParticleRotation.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiParticleRotation::GetRefs() const { const Type & NiParticleRotation::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiParticleRotation"] = NiParticleRotation::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiParticleRotation::Create() { + return new NiParticleRotation; +} diff --git a/src/obj/NiParticleSystem.cpp b/src/obj/NiParticleSystem.cpp index c7435bba..2d1c3d42 100644 --- a/src/obj/NiParticleSystem.cpp +++ b/src/obj/NiParticleSystem.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiParticleSystem::GetRefs() const { const Type & NiParticleSystem::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiParticleSystem"] = NiParticleSystem::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiParticleSystem::Create() { + return new NiParticleSystem; +} diff --git a/src/obj/NiParticleSystemController.cpp b/src/obj/NiParticleSystemController.cpp index 6c9ef36d..2fe0cb60 100644 --- a/src/obj/NiParticleSystemController.cpp +++ b/src/obj/NiParticleSystemController.cpp @@ -37,3 +37,27 @@ list<NiObjectRef> NiParticleSystemController::GetRefs() const { const Type & NiParticleSystemController::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiParticleSystemController"] = NiParticleSystemController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiParticleSystemController::Create() { + return new NiParticleSystemController; +} diff --git a/src/obj/NiParticles.cpp b/src/obj/NiParticles.cpp index 47ed1bc9..95304a57 100644 --- a/src/obj/NiParticles.cpp +++ b/src/obj/NiParticles.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiParticles::GetRefs() const { const Type & NiParticles::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiParticles"] = NiParticles::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiParticles::Create() { + return new NiParticles; +} diff --git a/src/obj/NiParticlesData.cpp b/src/obj/NiParticlesData.cpp index 32e2d4a4..41fdf33d 100644 --- a/src/obj/NiParticlesData.cpp +++ b/src/obj/NiParticlesData.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiParticlesData::GetRefs() const { const Type & NiParticlesData::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiParticlesData"] = NiParticlesData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiParticlesData::Create() { + return new NiParticlesData; +} diff --git a/src/obj/NiPathController.cpp b/src/obj/NiPathController.cpp index 09c8b748..292b4623 100644 --- a/src/obj/NiPathController.cpp +++ b/src/obj/NiPathController.cpp @@ -52,3 +52,27 @@ Ref<NiPosData> NiPathController::GetPosData() const { void NiPathController::SetPosData( NiPosData * n ) { posData = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPathController"] = NiPathController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPathController::Create() { + return new NiPathController; +} diff --git a/src/obj/NiPathInterpolator.cpp b/src/obj/NiPathInterpolator.cpp index 30d51b4d..0f5e205d 100644 --- a/src/obj/NiPathInterpolator.cpp +++ b/src/obj/NiPathInterpolator.cpp @@ -52,3 +52,27 @@ Ref<NiFloatData > NiPathInterpolator::GetFloatData() const { void NiPathInterpolator::SetFloatData( NiFloatData * value ) { floatData = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPathInterpolator"] = NiPathInterpolator::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPathInterpolator::Create() { + return new NiPathInterpolator; +} diff --git a/src/obj/NiPixelData.cpp b/src/obj/NiPixelData.cpp index c5469bfe..c5196bf1 100644 --- a/src/obj/NiPixelData.cpp +++ b/src/obj/NiPixelData.cpp @@ -345,3 +345,27 @@ void NiPixelData::SetColors( const vector<Color4> & new_pixels, bool generate_mi } } } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPixelData"] = NiPixelData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPixelData::Create() { + return new NiPixelData; +} diff --git a/src/obj/NiPlanarCollider.cpp b/src/obj/NiPlanarCollider.cpp index 7023ec8c..8fc0d299 100644 --- a/src/obj/NiPlanarCollider.cpp +++ b/src/obj/NiPlanarCollider.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiPlanarCollider::GetRefs() const { const Type & NiPlanarCollider::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPlanarCollider"] = NiPlanarCollider::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPlanarCollider::Create() { + return new NiPlanarCollider; +} diff --git a/src/obj/NiPoint3Interpolator.cpp b/src/obj/NiPoint3Interpolator.cpp index 76fecce4..a7f4e0ae 100644 --- a/src/obj/NiPoint3Interpolator.cpp +++ b/src/obj/NiPoint3Interpolator.cpp @@ -51,3 +51,27 @@ Ref<NiPosData > NiPoint3Interpolator::GetData() const { void NiPoint3Interpolator::SetData( NiPosData * value ) { data = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPoint3Interpolator"] = NiPoint3Interpolator::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPoint3Interpolator::Create() { + return new NiPoint3Interpolator; +} diff --git a/src/obj/NiPointLight.cpp b/src/obj/NiPointLight.cpp index 9c724941..d8320710 100644 --- a/src/obj/NiPointLight.cpp +++ b/src/obj/NiPointLight.cpp @@ -58,3 +58,27 @@ float NiPointLight::GetQuadraticAttenuation() const { void NiPointLight::SetQuadraticAttenuation( float value ) { quadraticAttenuation = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPointLight"] = NiPointLight::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPointLight::Create() { + return new NiPointLight; +} diff --git a/src/obj/NiPosData.cpp b/src/obj/NiPosData.cpp index 7cc31e04..cc804ea5 100644 --- a/src/obj/NiPosData.cpp +++ b/src/obj/NiPosData.cpp @@ -51,3 +51,27 @@ vector< Key<Vector3> > NiPosData::GetKeys() const { void NiPosData::SetKeys( vector< Key<Vector3> > const & keys ) { data.keys = keys; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiPosData"] = NiPosData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiPosData::Create() { + return new NiPosData; +} diff --git a/src/obj/NiProperty.cpp b/src/obj/NiProperty.cpp index d7c23806..ff746cc0 100644 --- a/src/obj/NiProperty.cpp +++ b/src/obj/NiProperty.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiProperty::GetRefs() const { const Type & NiProperty::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiProperty"] = NiProperty::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiProperty::Create() { + return new NiProperty; +} diff --git a/src/obj/NiRangeLODData.cpp b/src/obj/NiRangeLODData.cpp index d9906a49..ee9b70a3 100644 --- a/src/obj/NiRangeLODData.cpp +++ b/src/obj/NiRangeLODData.cpp @@ -51,3 +51,27 @@ vector<LODRange > NiRangeLODData::GetLODLevels() const { void NiRangeLODData::SetLODLevels( const vector<LODRange >& value ) { lodLevels = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiRangeLODData"] = NiRangeLODData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiRangeLODData::Create() { + return new NiRangeLODData; +} diff --git a/src/obj/NiRotatingParticles.cpp b/src/obj/NiRotatingParticles.cpp index 86bfc347..b4bc1e8c 100644 --- a/src/obj/NiRotatingParticles.cpp +++ b/src/obj/NiRotatingParticles.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiRotatingParticles::GetRefs() const { const Type & NiRotatingParticles::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiRotatingParticles"] = NiRotatingParticles::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiRotatingParticles::Create() { + return new NiRotatingParticles; +} diff --git a/src/obj/NiRotatingParticlesData.cpp b/src/obj/NiRotatingParticlesData.cpp index f31a2c91..3d38c70a 100644 --- a/src/obj/NiRotatingParticlesData.cpp +++ b/src/obj/NiRotatingParticlesData.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiRotatingParticlesData::GetRefs() const { const Type & NiRotatingParticlesData::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiRotatingParticlesData"] = NiRotatingParticlesData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiRotatingParticlesData::Create() { + return new NiRotatingParticlesData; +} diff --git a/src/obj/NiScreenLODData.cpp b/src/obj/NiScreenLODData.cpp index b6a0eb98..5332056e 100644 --- a/src/obj/NiScreenLODData.cpp +++ b/src/obj/NiScreenLODData.cpp @@ -74,3 +74,27 @@ vector<float > NiScreenLODData::GetProportionLevels() const { void NiScreenLODData::SetProportionLevels( const vector<float >& value ) { proportionLevels = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiScreenLODData"] = NiScreenLODData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiScreenLODData::Create() { + return new NiScreenLODData; +} diff --git a/src/obj/NiSequenceStreamHelper.cpp b/src/obj/NiSequenceStreamHelper.cpp index add79c34..534fa3d9 100644 --- a/src/obj/NiSequenceStreamHelper.cpp +++ b/src/obj/NiSequenceStreamHelper.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiSequenceStreamHelper::GetRefs() const { const Type & NiSequenceStreamHelper::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiSequenceStreamHelper"] = NiSequenceStreamHelper::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiSequenceStreamHelper::Create() { + return new NiSequenceStreamHelper; +} diff --git a/src/obj/NiShadeProperty.cpp b/src/obj/NiShadeProperty.cpp index 8e6e3232..f9c99d9e 100644 --- a/src/obj/NiShadeProperty.cpp +++ b/src/obj/NiShadeProperty.cpp @@ -42,3 +42,27 @@ unsigned short NiShadeProperty::GetFlags() const { void NiShadeProperty::SetFlags( unsigned short n ) { flags = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiShadeProperty"] = NiShadeProperty::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiShadeProperty::Create() { + return new NiShadeProperty; +} diff --git a/src/obj/NiSingleInterpolatorController.cpp b/src/obj/NiSingleInterpolatorController.cpp index f8ddeab0..b15a9da1 100644 --- a/src/obj/NiSingleInterpolatorController.cpp +++ b/src/obj/NiSingleInterpolatorController.cpp @@ -43,3 +43,27 @@ Ref<NiInterpolator > NiSingleInterpolatorController::GetInterpolator() const { void NiSingleInterpolatorController::SetInterpolator( NiInterpolator * value ) { interpolator = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiSingleInterpolatorController"] = NiSingleInterpolatorController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiSingleInterpolatorController::Create() { + return new NiSingleInterpolatorController; +} diff --git a/src/obj/NiSkinData.cpp b/src/obj/NiSkinData.cpp index 897417b1..39874966 100644 --- a/src/obj/NiSkinData.cpp +++ b/src/obj/NiSkinData.cpp @@ -170,3 +170,27 @@ Ref<NiSkinPartition> NiSkinData::GetSkinPartition() const { void NiSkinData::SetSkinPartition( NiSkinPartition * value ) { skinPartition = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiSkinData"] = NiSkinData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiSkinData::Create() { + return new NiSkinData; +} diff --git a/src/obj/NiSkinInstance.cpp b/src/obj/NiSkinInstance.cpp index d4a9bb83..11e510aa 100644 --- a/src/obj/NiSkinInstance.cpp +++ b/src/obj/NiSkinInstance.cpp @@ -135,3 +135,27 @@ unsigned int NiSkinInstance::GetBoneCount() const { Ref<NiNode> NiSkinInstance::GetSkeletonRoot() const { return skeletonRoot; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiSkinInstance"] = NiSkinInstance::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiSkinInstance::Create() { + return new NiSkinInstance; +} diff --git a/src/obj/NiSkinPartition.cpp b/src/obj/NiSkinPartition.cpp index c4c59c0a..ff6a2e15 100644 --- a/src/obj/NiSkinPartition.cpp +++ b/src/obj/NiSkinPartition.cpp @@ -715,3 +715,27 @@ NiSkinPartition::NiSkinPartition(Ref<NiTriBasedGeom> shape, int maxBonesPerParti } } } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiSkinPartition"] = NiSkinPartition::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiSkinPartition::Create() { + return new NiSkinPartition; +} diff --git a/src/obj/NiSourceTexture.cpp b/src/obj/NiSourceTexture.cpp index 7e2b3185..f3bbfae8 100644 --- a/src/obj/NiSourceTexture.cpp +++ b/src/obj/NiSourceTexture.cpp @@ -95,3 +95,27 @@ AlphaFormat NiSourceTexture::GetAlphaFormat() const { void NiSourceTexture::SetAlphaFormat( AlphaFormat n ) { alphaFormat = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiSourceTexture"] = NiSourceTexture::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiSourceTexture::Create() { + return new NiSourceTexture; +} diff --git a/src/obj/NiSpecularProperty.cpp b/src/obj/NiSpecularProperty.cpp index 29c197f2..d443d57f 100644 --- a/src/obj/NiSpecularProperty.cpp +++ b/src/obj/NiSpecularProperty.cpp @@ -42,3 +42,27 @@ unsigned short NiSpecularProperty::GetFlags() const { void NiSpecularProperty::SetFlags( unsigned short n ) { flags = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiSpecularProperty"] = NiSpecularProperty::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiSpecularProperty::Create() { + return new NiSpecularProperty; +} diff --git a/src/obj/NiSphericalCollider.cpp b/src/obj/NiSphericalCollider.cpp index 157b92e3..665a818e 100644 --- a/src/obj/NiSphericalCollider.cpp +++ b/src/obj/NiSphericalCollider.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiSphericalCollider::GetRefs() const { const Type & NiSphericalCollider::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiSphericalCollider"] = NiSphericalCollider::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiSphericalCollider::Create() { + return new NiSphericalCollider; +} diff --git a/src/obj/NiSpotLight.cpp b/src/obj/NiSpotLight.cpp index 5abbc835..5aad6080 100644 --- a/src/obj/NiSpotLight.cpp +++ b/src/obj/NiSpotLight.cpp @@ -50,3 +50,27 @@ float NiSpotLight::GetExponent() const { void NiSpotLight::SetExponent( float value ) { exponent = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiSpotLight"] = NiSpotLight::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiSpotLight::Create() { + return new NiSpotLight; +} diff --git a/src/obj/NiStencilProperty.cpp b/src/obj/NiStencilProperty.cpp index fe245bbb..02a56416 100644 --- a/src/obj/NiStencilProperty.cpp +++ b/src/obj/NiStencilProperty.cpp @@ -106,3 +106,27 @@ FaceDrawMode NiStencilProperty::GetFaceDrawMode() const { void NiStencilProperty::SetFaceDrawMode(FaceDrawMode value) { drawMode = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiStencilProperty"] = NiStencilProperty::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiStencilProperty::Create() { + return new NiStencilProperty; +} diff --git a/src/obj/NiStringExtraData.cpp b/src/obj/NiStringExtraData.cpp index 86942535..18c59a16 100644 --- a/src/obj/NiStringExtraData.cpp +++ b/src/obj/NiStringExtraData.cpp @@ -43,3 +43,27 @@ void NiStringExtraData::SetData( const string & n ) { stringData = n; bytesRemaining = (unsigned int)(stringData.size()) + 4; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiStringExtraData"] = NiStringExtraData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiStringExtraData::Create() { + return new NiStringExtraData; +} diff --git a/src/obj/NiStringPalette.cpp b/src/obj/NiStringPalette.cpp index 4bc3e0db..7851687f 100644 --- a/src/obj/NiStringPalette.cpp +++ b/src/obj/NiStringPalette.cpp @@ -76,3 +76,27 @@ unsigned int NiStringPalette::AddSubStr( const string & n ) { //Return the offset where the string was found or appended return offset; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiStringPalette"] = NiStringPalette::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiStringPalette::Create() { + return new NiStringPalette; +} diff --git a/src/obj/NiStringsExtraData.cpp b/src/obj/NiStringsExtraData.cpp index f0dc7768..c12cfc59 100644 --- a/src/obj/NiStringsExtraData.cpp +++ b/src/obj/NiStringsExtraData.cpp @@ -43,3 +43,27 @@ void NiStringsExtraData::SetData( const vector<string> & n ) { numStrings = (unsigned int)(n.size()); data = n; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiStringsExtraData"] = NiStringsExtraData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiStringsExtraData::Create() { + return new NiStringsExtraData; +} diff --git a/src/obj/NiTextKeyExtraData.cpp b/src/obj/NiTextKeyExtraData.cpp index 780e1014..469cfac3 100644 --- a/src/obj/NiTextKeyExtraData.cpp +++ b/src/obj/NiTextKeyExtraData.cpp @@ -42,3 +42,27 @@ vector< Key<string> > NiTextKeyExtraData::GetKeys() const { void NiTextKeyExtraData::SetKeys( vector< Key<string> > const & keys ) { textKeys = keys; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiTextKeyExtraData"] = NiTextKeyExtraData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiTextKeyExtraData::Create() { + return new NiTextKeyExtraData; +} diff --git a/src/obj/NiTextureEffect.cpp b/src/obj/NiTextureEffect.cpp index 9bf7a2e3..365fae1b 100644 --- a/src/obj/NiTextureEffect.cpp +++ b/src/obj/NiTextureEffect.cpp @@ -115,3 +115,27 @@ unsigned short NiTextureEffect::GetPs2K() const { void NiTextureEffect::SetPs2K( unsigned short value ) { ps2K = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiTextureEffect"] = NiTextureEffect::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiTextureEffect::Create() { + return new NiTextureEffect; +} diff --git a/src/obj/NiTextureModeProperty.cpp b/src/obj/NiTextureModeProperty.cpp index cc3ceb0e..cc31537c 100644 --- a/src/obj/NiTextureModeProperty.cpp +++ b/src/obj/NiTextureModeProperty.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiTextureModeProperty::GetRefs() const { const Type & NiTextureModeProperty::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiTextureModeProperty"] = NiTextureModeProperty::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiTextureModeProperty::Create() { + return new NiTextureModeProperty; +} diff --git a/src/obj/NiTextureProperty.cpp b/src/obj/NiTextureProperty.cpp index e090cf5f..3a0dc37e 100644 --- a/src/obj/NiTextureProperty.cpp +++ b/src/obj/NiTextureProperty.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiTextureProperty::GetRefs() const { const Type & NiTextureProperty::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiTextureProperty"] = NiTextureProperty::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiTextureProperty::Create() { + return new NiTextureProperty; +} diff --git a/src/obj/NiTextureTransformController.cpp b/src/obj/NiTextureTransformController.cpp index 62d5eb71..96a51fa0 100644 --- a/src/obj/NiTextureTransformController.cpp +++ b/src/obj/NiTextureTransformController.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiTextureTransformController::GetRefs() const { const Type & NiTextureTransformController::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiTextureTransformController"] = NiTextureTransformController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiTextureTransformController::Create() { + return new NiTextureTransformController; +} diff --git a/src/obj/NiTexturingProperty.cpp b/src/obj/NiTexturingProperty.cpp index 3e3f1619..fd8dcb02 100644 --- a/src/obj/NiTexturingProperty.cpp +++ b/src/obj/NiTexturingProperty.cpp @@ -245,3 +245,27 @@ void NiTexturingProperty::ClearTexture( int n ) { break; }; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiTexturingProperty"] = NiTexturingProperty::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiTexturingProperty::Create() { + return new NiTexturingProperty; +} diff --git a/src/obj/NiTimeController.cpp b/src/obj/NiTimeController.cpp index 7f3e4235..6da5da59 100644 --- a/src/obj/NiTimeController.cpp +++ b/src/obj/NiTimeController.cpp @@ -91,3 +91,27 @@ float NiTimeController::GetStopTime() const { void NiTimeController::SetStopTime( float n ) { stopTime = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiTimeController"] = NiTimeController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiTimeController::Create() { + return new NiTimeController; +} diff --git a/src/obj/NiTransformController.cpp b/src/obj/NiTransformController.cpp index eeec9b0c..dc5190be 100644 --- a/src/obj/NiTransformController.cpp +++ b/src/obj/NiTransformController.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiTransformController::GetRefs() const { const Type & NiTransformController::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiTransformController"] = NiTransformController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiTransformController::Create() { + return new NiTransformController; +} diff --git a/src/obj/NiTransformData.cpp b/src/obj/NiTransformData.cpp index cb360d51..30545502 100644 --- a/src/obj/NiTransformData.cpp +++ b/src/obj/NiTransformData.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiTransformData::GetRefs() const { const Type & NiTransformData::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiTransformData"] = NiTransformData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiTransformData::Create() { + return new NiTransformData; +} diff --git a/src/obj/NiTransformInterpolator.cpp b/src/obj/NiTransformInterpolator.cpp index cd5a1826..2882c29d 100644 --- a/src/obj/NiTransformInterpolator.cpp +++ b/src/obj/NiTransformInterpolator.cpp @@ -67,3 +67,27 @@ Ref<NiTransformData> NiTransformInterpolator::GetData() const { void NiTransformInterpolator::SetData( NiTransformData * value ) { data = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiTransformInterpolator"] = NiTransformInterpolator::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiTransformInterpolator::Create() { + return new NiTransformInterpolator; +} diff --git a/src/obj/NiTriBasedGeom.cpp b/src/obj/NiTriBasedGeom.cpp index 95fb041f..55ff2f5f 100644 --- a/src/obj/NiTriBasedGeom.cpp +++ b/src/obj/NiTriBasedGeom.cpp @@ -230,3 +230,27 @@ void NiTriBasedGeom::UpdateTangentSpace() { TSpaceRef->SetData(binData); } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiTriBasedGeom"] = NiTriBasedGeom::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiTriBasedGeom::Create() { + return new NiTriBasedGeom; +} diff --git a/src/obj/NiTriBasedGeomData.cpp b/src/obj/NiTriBasedGeomData.cpp index f0136aec..701f1759 100644 --- a/src/obj/NiTriBasedGeomData.cpp +++ b/src/obj/NiTriBasedGeomData.cpp @@ -43,3 +43,27 @@ void NiTriBasedGeomData::SetTriangles( const vector<Triangle> & in ) { vector<Triangle> NiTriBasedGeomData::GetTriangles() const { return vector<Triangle>(); } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiTriBasedGeomData"] = NiTriBasedGeomData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiTriBasedGeomData::Create() { + return new NiTriBasedGeomData; +} diff --git a/src/obj/NiTriShape.cpp b/src/obj/NiTriShape.cpp index 203f53f7..1a8f1cdf 100644 --- a/src/obj/NiTriShape.cpp +++ b/src/obj/NiTriShape.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiTriShape::GetRefs() const { const Type & NiTriShape::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiTriShape"] = NiTriShape::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiTriShape::Create() { + return new NiTriShape; +} diff --git a/src/obj/NiTriShapeData.cpp b/src/obj/NiTriShapeData.cpp index ff91cf5a..c42267b5 100644 --- a/src/obj/NiTriShapeData.cpp +++ b/src/obj/NiTriShapeData.cpp @@ -92,3 +92,27 @@ void NiTriShapeData::SetTriangles( const vector<Triangle> & in ) { //Set number of trianble points to the number of triangles times 3 numTrianglePoints = numTriangles * 3; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiTriShapeData"] = NiTriShapeData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiTriShapeData::Create() { + return new NiTriShapeData; +} diff --git a/src/obj/NiTriStrips.cpp b/src/obj/NiTriStrips.cpp index e7821391..c388c780 100644 --- a/src/obj/NiTriStrips.cpp +++ b/src/obj/NiTriStrips.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiTriStrips::GetRefs() const { const Type & NiTriStrips::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiTriStrips"] = NiTriStrips::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiTriStrips::Create() { + return new NiTriStrips; +} diff --git a/src/obj/NiTriStripsData.cpp b/src/obj/NiTriStripsData.cpp index c653ad42..cf75cb25 100644 --- a/src/obj/NiTriStripsData.cpp +++ b/src/obj/NiTriStripsData.cpp @@ -267,3 +267,27 @@ void NiTriStripsData::SetTSTriangles( const vector<Triangle> & in ) { //Recalculate Triangle Count numTriangles = CalcTriangleCount(); } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiTriStripsData"] = NiTriStripsData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiTriStripsData::Create() { + return new NiTriStripsData; +} diff --git a/src/obj/NiUVController.cpp b/src/obj/NiUVController.cpp index 99af5f09..ef99f6f2 100644 --- a/src/obj/NiUVController.cpp +++ b/src/obj/NiUVController.cpp @@ -43,3 +43,27 @@ Ref<NiUVData> NiUVController::GetData() const { void NiUVController::SetData( NiUVData * n ) { data = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiUVController"] = NiUVController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiUVController::Create() { + return new NiUVController; +} diff --git a/src/obj/NiUVData.cpp b/src/obj/NiUVData.cpp index 6ac41393..ea93ce5a 100644 --- a/src/obj/NiUVData.cpp +++ b/src/obj/NiUVData.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiUVData::GetRefs() const { const Type & NiUVData::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiUVData"] = NiUVData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiUVData::Create() { + return new NiUVData; +} diff --git a/src/obj/NiVectorExtraData.cpp b/src/obj/NiVectorExtraData.cpp index f0e81827..37f821af 100644 --- a/src/obj/NiVectorExtraData.cpp +++ b/src/obj/NiVectorExtraData.cpp @@ -42,3 +42,27 @@ Vector3 NiVectorExtraData::GetData() const { void NiVectorExtraData::SetData( const Vector3 & n ) { vectorData = n; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiVectorExtraData"] = NiVectorExtraData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiVectorExtraData::Create() { + return new NiVectorExtraData; +} diff --git a/src/obj/NiVertWeightsExtraData.cpp b/src/obj/NiVertWeightsExtraData.cpp index 9459f331..530e0d89 100644 --- a/src/obj/NiVertWeightsExtraData.cpp +++ b/src/obj/NiVertWeightsExtraData.cpp @@ -44,3 +44,27 @@ void NiVertWeightsExtraData::SetData( const vector<float> & n ) { numBytes = numVertices + 2; weight = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiVertWeightsExtraData"] = NiVertWeightsExtraData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiVertWeightsExtraData::Create() { + return new NiVertWeightsExtraData; +} diff --git a/src/obj/NiVertexColorProperty.cpp b/src/obj/NiVertexColorProperty.cpp index f209e5fd..481615b7 100644 --- a/src/obj/NiVertexColorProperty.cpp +++ b/src/obj/NiVertexColorProperty.cpp @@ -58,3 +58,27 @@ LightMode NiVertexColorProperty::GetLightingMode() const { void NiVertexColorProperty::SetLightingMode(LightMode value) { lightingMode = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiVertexColorProperty"] = NiVertexColorProperty::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiVertexColorProperty::Create() { + return new NiVertexColorProperty; +} diff --git a/src/obj/NiVisController.cpp b/src/obj/NiVisController.cpp index 7b8b3001..1ea91880 100644 --- a/src/obj/NiVisController.cpp +++ b/src/obj/NiVisController.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> NiVisController::GetRefs() const { const Type & NiVisController::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiVisController"] = NiVisController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiVisController::Create() { + return new NiVisController; +} diff --git a/src/obj/NiVisData.cpp b/src/obj/NiVisData.cpp index 6052f99f..e27acf25 100644 --- a/src/obj/NiVisData.cpp +++ b/src/obj/NiVisData.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> NiVisData::GetRefs() const { const Type & NiVisData::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiVisData"] = NiVisData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiVisData::Create() { + return new NiVisData; +} diff --git a/src/obj/NiWireframeProperty.cpp b/src/obj/NiWireframeProperty.cpp index 08bba7ce..48a54bad 100644 --- a/src/obj/NiWireframeProperty.cpp +++ b/src/obj/NiWireframeProperty.cpp @@ -42,3 +42,27 @@ unsigned short NiWireframeProperty::GetFlags() const { void NiWireframeProperty::SetFlags(unsigned short value) { flags = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiWireframeProperty"] = NiWireframeProperty::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiWireframeProperty::Create() { + return new NiWireframeProperty; +} diff --git a/src/obj/NiZBufferProperty.cpp b/src/obj/NiZBufferProperty.cpp index 0bdcfa68..02370030 100644 --- a/src/obj/NiZBufferProperty.cpp +++ b/src/obj/NiZBufferProperty.cpp @@ -50,3 +50,27 @@ CompareMode NiZBufferProperty::GetDepthFunction() const { void NiZBufferProperty::SetDepthFunction(CompareMode value) { function = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["NiZBufferProperty"] = NiZBufferProperty::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * NiZBufferProperty::Create() { + return new NiZBufferProperty; +} diff --git a/src/obj/RootCollisionNode.cpp b/src/obj/RootCollisionNode.cpp index ab9e2fdb..aca010df 100644 --- a/src/obj/RootCollisionNode.cpp +++ b/src/obj/RootCollisionNode.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> RootCollisionNode::GetRefs() const { const Type & RootCollisionNode::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["RootCollisionNode"] = RootCollisionNode::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * RootCollisionNode::Create() { + return new RootCollisionNode; +} diff --git a/src/obj/bhkBlendCollisionObject.cpp b/src/obj/bhkBlendCollisionObject.cpp index 1e4c827b..4fa19e41 100644 --- a/src/obj/bhkBlendCollisionObject.cpp +++ b/src/obj/bhkBlendCollisionObject.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> bhkBlendCollisionObject::GetRefs() const { const Type & bhkBlendCollisionObject::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkBlendCollisionObject"] = bhkBlendCollisionObject::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkBlendCollisionObject::Create() { + return new bhkBlendCollisionObject; +} diff --git a/src/obj/bhkBlendController.cpp b/src/obj/bhkBlendController.cpp index 4a9513f7..b488eeb5 100644 --- a/src/obj/bhkBlendController.cpp +++ b/src/obj/bhkBlendController.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> bhkBlendController::GetRefs() const { const Type & bhkBlendController::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkBlendController"] = bhkBlendController::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkBlendController::Create() { + return new bhkBlendController; +} diff --git a/src/obj/bhkBoxShape.cpp b/src/obj/bhkBoxShape.cpp index 23bc0c1e..9e9e5fa8 100644 --- a/src/obj/bhkBoxShape.cpp +++ b/src/obj/bhkBoxShape.cpp @@ -42,3 +42,27 @@ Vector3 bhkBoxShape::GetDimensions() const { void bhkBoxShape::SetDimensions(const Vector3 &value) { dimensions = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkBoxShape"] = bhkBoxShape::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkBoxShape::Create() { + return new bhkBoxShape; +} diff --git a/src/obj/bhkCapsuleShape.cpp b/src/obj/bhkCapsuleShape.cpp index bf4c62e3..564725b3 100644 --- a/src/obj/bhkCapsuleShape.cpp +++ b/src/obj/bhkCapsuleShape.cpp @@ -74,3 +74,27 @@ float bhkCapsuleShape::GetRadius2() const { void bhkCapsuleShape::SetRadius2( float value ) { radius2 = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkCapsuleShape"] = bhkCapsuleShape::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkCapsuleShape::Create() { + return new bhkCapsuleShape; +} diff --git a/src/obj/bhkCollisionObject.cpp b/src/obj/bhkCollisionObject.cpp index 080fcfe4..16471354 100644 --- a/src/obj/bhkCollisionObject.cpp +++ b/src/obj/bhkCollisionObject.cpp @@ -37,3 +37,27 @@ list<NiObjectRef> bhkCollisionObject::GetRefs() const { const Type & bhkCollisionObject::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkCollisionObject"] = bhkCollisionObject::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkCollisionObject::Create() { + return new bhkCollisionObject; +} diff --git a/src/obj/bhkConvexShape.cpp b/src/obj/bhkConvexShape.cpp index a57db828..af57b5d1 100644 --- a/src/obj/bhkConvexShape.cpp +++ b/src/obj/bhkConvexShape.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> bhkConvexShape::GetRefs() const { const Type & bhkConvexShape::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkConvexShape"] = bhkConvexShape::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkConvexShape::Create() { + return new bhkConvexShape; +} diff --git a/src/obj/bhkConvexTransformShape.cpp b/src/obj/bhkConvexTransformShape.cpp index 3ade18e9..ddfd93af 100644 --- a/src/obj/bhkConvexTransformShape.cpp +++ b/src/obj/bhkConvexTransformShape.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> bhkConvexTransformShape::GetRefs() const { const Type & bhkConvexTransformShape::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkConvexTransformShape"] = bhkConvexTransformShape::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkConvexTransformShape::Create() { + return new bhkConvexTransformShape; +} diff --git a/src/obj/bhkConvexVerticesShape.cpp b/src/obj/bhkConvexVerticesShape.cpp index 63b17f3e..3345c47c 100644 --- a/src/obj/bhkConvexVerticesShape.cpp +++ b/src/obj/bhkConvexVerticesShape.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> bhkConvexVerticesShape::GetRefs() const { const Type & bhkConvexVerticesShape::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkConvexVerticesShape"] = bhkConvexVerticesShape::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkConvexVerticesShape::Create() { + return new bhkConvexVerticesShape; +} diff --git a/src/obj/bhkEntity.cpp b/src/obj/bhkEntity.cpp index cf1a9998..17b38857 100644 --- a/src/obj/bhkEntity.cpp +++ b/src/obj/bhkEntity.cpp @@ -51,3 +51,27 @@ OblivionLayer bhkEntity::GetLayer() const { void bhkEntity::SetLayer( OblivionLayer value ) { layer = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkEntity"] = bhkEntity::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkEntity::Create() { + return new bhkEntity; +} diff --git a/src/obj/bhkHingeConstraint.cpp b/src/obj/bhkHingeConstraint.cpp index 5a04981e..70523782 100644 --- a/src/obj/bhkHingeConstraint.cpp +++ b/src/obj/bhkHingeConstraint.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> bhkHingeConstraint::GetRefs() const { const Type & bhkHingeConstraint::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkHingeConstraint"] = bhkHingeConstraint::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkHingeConstraint::Create() { + return new bhkHingeConstraint; +} diff --git a/src/obj/bhkLimitedHingeConstraint.cpp b/src/obj/bhkLimitedHingeConstraint.cpp index a1b930bb..d5bc7b20 100644 --- a/src/obj/bhkLimitedHingeConstraint.cpp +++ b/src/obj/bhkLimitedHingeConstraint.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> bhkLimitedHingeConstraint::GetRefs() const { const Type & bhkLimitedHingeConstraint::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkLimitedHingeConstraint"] = bhkLimitedHingeConstraint::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkLimitedHingeConstraint::Create() { + return new bhkLimitedHingeConstraint; +} diff --git a/src/obj/bhkListShape.cpp b/src/obj/bhkListShape.cpp index 693376c7..fbee386d 100644 --- a/src/obj/bhkListShape.cpp +++ b/src/obj/bhkListShape.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> bhkListShape::GetRefs() const { const Type & bhkListShape::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkListShape"] = bhkListShape::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkListShape::Create() { + return new bhkListShape; +} diff --git a/src/obj/bhkMalleableConstraint.cpp b/src/obj/bhkMalleableConstraint.cpp index 14d60a26..207cccaf 100644 --- a/src/obj/bhkMalleableConstraint.cpp +++ b/src/obj/bhkMalleableConstraint.cpp @@ -37,3 +37,27 @@ list<NiObjectRef> bhkMalleableConstraint::GetRefs() const { const Type & bhkMalleableConstraint::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkMalleableConstraint"] = bhkMalleableConstraint::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkMalleableConstraint::Create() { + return new bhkMalleableConstraint; +} diff --git a/src/obj/bhkMoppBvTreeShape.cpp b/src/obj/bhkMoppBvTreeShape.cpp index 1b9a286e..9aa65961 100644 --- a/src/obj/bhkMoppBvTreeShape.cpp +++ b/src/obj/bhkMoppBvTreeShape.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> bhkMoppBvTreeShape::GetRefs() const { const Type & bhkMoppBvTreeShape::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkMoppBvTreeShape"] = bhkMoppBvTreeShape::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkMoppBvTreeShape::Create() { + return new bhkMoppBvTreeShape; +} diff --git a/src/obj/bhkMultiSphereShape.cpp b/src/obj/bhkMultiSphereShape.cpp index 7f874f23..53e27e15 100644 --- a/src/obj/bhkMultiSphereShape.cpp +++ b/src/obj/bhkMultiSphereShape.cpp @@ -43,3 +43,27 @@ vector<Sphere > bhkMultiSphereShape::GetSpheres() const { void bhkMultiSphereShape::SetSpheres( const vector<Sphere >& value ) { spheres = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkMultiSphereShape"] = bhkMultiSphereShape::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkMultiSphereShape::Create() { + return new bhkMultiSphereShape; +} diff --git a/src/obj/bhkNiTriStripsShape.cpp b/src/obj/bhkNiTriStripsShape.cpp index bd0ecb1e..f6d83ac1 100644 --- a/src/obj/bhkNiTriStripsShape.cpp +++ b/src/obj/bhkNiTriStripsShape.cpp @@ -61,3 +61,27 @@ Vector3 bhkNiTriStripsShape::GetScale() const { void bhkNiTriStripsShape::SetScale( const Vector3 & n ) { scale = n; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkNiTriStripsShape"] = bhkNiTriStripsShape::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkNiTriStripsShape::Create() { + return new bhkNiTriStripsShape; +} diff --git a/src/obj/bhkPackedNiTriStripsShape.cpp b/src/obj/bhkPackedNiTriStripsShape.cpp index 94872df3..3ade4531 100644 --- a/src/obj/bhkPackedNiTriStripsShape.cpp +++ b/src/obj/bhkPackedNiTriStripsShape.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> bhkPackedNiTriStripsShape::GetRefs() const { const Type & bhkPackedNiTriStripsShape::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkPackedNiTriStripsShape"] = bhkPackedNiTriStripsShape::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkPackedNiTriStripsShape::Create() { + return new bhkPackedNiTriStripsShape; +} diff --git a/src/obj/bhkPrismaticConstraint.cpp b/src/obj/bhkPrismaticConstraint.cpp index aa861511..ad40a712 100644 --- a/src/obj/bhkPrismaticConstraint.cpp +++ b/src/obj/bhkPrismaticConstraint.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> bhkPrismaticConstraint::GetRefs() const { const Type & bhkPrismaticConstraint::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkPrismaticConstraint"] = bhkPrismaticConstraint::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkPrismaticConstraint::Create() { + return new bhkPrismaticConstraint; +} diff --git a/src/obj/bhkRagdollConstraint.cpp b/src/obj/bhkRagdollConstraint.cpp index 3575fd98..257a0df4 100644 --- a/src/obj/bhkRagdollConstraint.cpp +++ b/src/obj/bhkRagdollConstraint.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> bhkRagdollConstraint::GetRefs() const { const Type & bhkRagdollConstraint::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkRagdollConstraint"] = bhkRagdollConstraint::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkRagdollConstraint::Create() { + return new bhkRagdollConstraint; +} diff --git a/src/obj/bhkRefObject.cpp b/src/obj/bhkRefObject.cpp index c70a0ce8..63bf1f98 100644 --- a/src/obj/bhkRefObject.cpp +++ b/src/obj/bhkRefObject.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> bhkRefObject::GetRefs() const { const Type & bhkRefObject::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkRefObject"] = bhkRefObject::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkRefObject::Create() { + return new bhkRefObject; +} diff --git a/src/obj/bhkRigidBody.cpp b/src/obj/bhkRigidBody.cpp index 9e656ed0..c46a46d8 100644 --- a/src/obj/bhkRigidBody.cpp +++ b/src/obj/bhkRigidBody.cpp @@ -172,3 +172,27 @@ MotionQuality bhkRigidBody::GetQualityType() const { void bhkRigidBody::SetQualityType( MotionQuality value ) { qualityType = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkRigidBody"] = bhkRigidBody::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkRigidBody::Create() { + return new bhkRigidBody; +} diff --git a/src/obj/bhkRigidBodyT.cpp b/src/obj/bhkRigidBodyT.cpp index eea63619..5e7f33df 100644 --- a/src/obj/bhkRigidBodyT.cpp +++ b/src/obj/bhkRigidBodyT.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> bhkRigidBodyT::GetRefs() const { const Type & bhkRigidBodyT::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkRigidBodyT"] = bhkRigidBodyT::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkRigidBodyT::Create() { + return new bhkRigidBodyT; +} diff --git a/src/obj/bhkSPCollisionObject.cpp b/src/obj/bhkSPCollisionObject.cpp index 93ee2af7..ffec309a 100644 --- a/src/obj/bhkSPCollisionObject.cpp +++ b/src/obj/bhkSPCollisionObject.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> bhkSPCollisionObject::GetRefs() const { const Type & bhkSPCollisionObject::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkSPCollisionObject"] = bhkSPCollisionObject::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkSPCollisionObject::Create() { + return new bhkSPCollisionObject; +} diff --git a/src/obj/bhkSerializable.cpp b/src/obj/bhkSerializable.cpp index bc169f38..9aa3f10e 100644 --- a/src/obj/bhkSerializable.cpp +++ b/src/obj/bhkSerializable.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> bhkSerializable::GetRefs() const { const Type & bhkSerializable::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkSerializable"] = bhkSerializable::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkSerializable::Create() { + return new bhkSerializable; +} diff --git a/src/obj/bhkShape.cpp b/src/obj/bhkShape.cpp index 9ecac5a2..2486cf03 100644 --- a/src/obj/bhkShape.cpp +++ b/src/obj/bhkShape.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> bhkShape::GetRefs() const { const Type & bhkShape::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkShape"] = bhkShape::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkShape::Create() { + return new bhkShape; +} diff --git a/src/obj/bhkSimpleShapePhantom.cpp b/src/obj/bhkSimpleShapePhantom.cpp index 22d012eb..6ad3d166 100644 --- a/src/obj/bhkSimpleShapePhantom.cpp +++ b/src/obj/bhkSimpleShapePhantom.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> bhkSimpleShapePhantom::GetRefs() const { const Type & bhkSimpleShapePhantom::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkSimpleShapePhantom"] = bhkSimpleShapePhantom::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkSimpleShapePhantom::Create() { + return new bhkSimpleShapePhantom; +} diff --git a/src/obj/bhkSphereRepShape.cpp b/src/obj/bhkSphereRepShape.cpp index a718646b..6a0afdf8 100644 --- a/src/obj/bhkSphereRepShape.cpp +++ b/src/obj/bhkSphereRepShape.cpp @@ -42,3 +42,27 @@ HavokMaterial bhkSphereRepShape::GetMaterial() const { void bhkSphereRepShape::SetMaterial( HavokMaterial value ) { material = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkSphereRepShape"] = bhkSphereRepShape::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkSphereRepShape::Create() { + return new bhkSphereRepShape; +} diff --git a/src/obj/bhkSphereShape.cpp b/src/obj/bhkSphereShape.cpp index 253dbe5b..0f60e7e1 100644 --- a/src/obj/bhkSphereShape.cpp +++ b/src/obj/bhkSphereShape.cpp @@ -42,3 +42,27 @@ float bhkSphereShape::GetRadius() const { void bhkSphereShape::SetRadius( float value ) { radius = value; } + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkSphereShape"] = bhkSphereShape::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkSphereShape::Create() { + return new bhkSphereShape; +} diff --git a/src/obj/bhkStiffSpringConstraint.cpp b/src/obj/bhkStiffSpringConstraint.cpp index 2ab45ddb..e2c7befd 100644 --- a/src/obj/bhkStiffSpringConstraint.cpp +++ b/src/obj/bhkStiffSpringConstraint.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> bhkStiffSpringConstraint::GetRefs() const { const Type & bhkStiffSpringConstraint::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkStiffSpringConstraint"] = bhkStiffSpringConstraint::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkStiffSpringConstraint::Create() { + return new bhkStiffSpringConstraint; +} diff --git a/src/obj/bhkTransformShape.cpp b/src/obj/bhkTransformShape.cpp index f9e768a7..ef89dd7c 100644 --- a/src/obj/bhkTransformShape.cpp +++ b/src/obj/bhkTransformShape.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> bhkTransformShape::GetRefs() const { const Type & bhkTransformShape::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkTransformShape"] = bhkTransformShape::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkTransformShape::Create() { + return new bhkTransformShape; +} diff --git a/src/obj/bhkWorldObject.cpp b/src/obj/bhkWorldObject.cpp index 0bdd9c82..4bab54a7 100644 --- a/src/obj/bhkWorldObject.cpp +++ b/src/obj/bhkWorldObject.cpp @@ -34,3 +34,27 @@ list<NiObjectRef> bhkWorldObject::GetRefs() const { const Type & bhkWorldObject::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["bhkWorldObject"] = bhkWorldObject::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * bhkWorldObject::Create() { + return new bhkWorldObject; +} diff --git a/src/obj/hkPackedNiTriStripsData.cpp b/src/obj/hkPackedNiTriStripsData.cpp index 6f3dbb20..64b0a64a 100644 --- a/src/obj/hkPackedNiTriStripsData.cpp +++ b/src/obj/hkPackedNiTriStripsData.cpp @@ -35,3 +35,27 @@ list<NiObjectRef> hkPackedNiTriStripsData::GetRefs() const { const Type & hkPackedNiTriStripsData::GetType() const { return TYPE; }; + +namespace Niflib { + typedef NiObject*(*obj_factory_func)(); + extern map<string, obj_factory_func> global_object_map; + + //Initialization function + static bool Initialization(); + + //A static bool to force the initialization to happen pre-main + static bool obj_initialized = Initialization(); + + static bool Initialization() { + //Add the function to the global object map + global_object_map["hkPackedNiTriStripsData"] = hkPackedNiTriStripsData::Create; + + //Do this stuff just to make sure the compiler doesn't optimize this function and the static bool away. + obj_initialized = true; + return obj_initialized; + } +} + +NiObject * hkPackedNiTriStripsData::Create() { + return new hkPackedNiTriStripsData; +} -- GitLab