From bf6528f5a61ba5cf40505d330328f2d2f24df80f Mon Sep 17 00:00:00 2001
From: Shon Ferguson <shonferg@users.sourceforge.net>
Date: Fri, 25 May 2007 08:10:39 +0000
Subject: [PATCH] Since there seemed to be no way to make pre-main
 initialization work for statically linking the library, I went back to using
 a CPP file that includes all the NiObject files and registers each one with
 the ObjectRegistry.

---
 include/gen/AVObject.h                           |  2 +-
 include/gen/BoundingBox.h                        |  2 +-
 include/gen/ByteArray.h                          |  2 +-
 include/gen/ByteColor3.h                         |  2 +-
 include/gen/ByteColor4.h                         |  2 +-
 include/gen/ControllerLink.h                     |  2 +-
 include/gen/Footer.h                             |  2 +-
 include/gen/FurniturePosition.h                  |  2 +-
 include/gen/Header.h                             |  2 +-
 include/gen/KeyGroup.h                           |  2 +-
 include/gen/LODRange.h                           |  2 +-
 include/gen/LimitedHingeDescriptor.h             |  2 +-
 include/gen/MatchGroup.h                         |  2 +-
 include/gen/MipMap.h                             |  2 +-
 include/gen/Morph.h                              |  2 +-
 include/gen/MultiTextureElement.h                |  2 +-
 include/gen/NodeGroup.h                          |  2 +-
 include/gen/OblivionColFilter.h                  |  2 +-
 include/gen/OblivionSubShape.h                   |  2 +-
 include/gen/OldSkinData.h                        |  2 +-
 include/gen/Particle.h                           |  2 +-
 include/gen/QuaternionXYZW.h                     |  2 +-
 include/gen/RagDollDescriptor.h                  |  2 +-
 include/gen/RotationKeyArray.h                   |  2 +-
 include/gen/ShaderTexDesc.h                      |  2 +-
 include/gen/SkinData.h                           |  2 +-
 include/gen/SkinPartition.h                      |  2 +-
 include/gen/SkinShape.h                          |  2 +-
 include/gen/SkinShapeGroup.h                     |  2 +-
 include/gen/SkinWeight.h                         |  2 +-
 include/gen/Sphere.h                             |  2 +-
 include/gen/StringPalette.h                      |  2 +-
 include/gen/TBC.h                                |  2 +-
 include/gen/TexDesc.h                            |  2 +-
 include/gen/TexSource.h                          |  2 +-
 include/gen/enums.h                              |  2 +-
 include/gen/enums_intl.h                         |  2 +-
 include/gen/hkTriangle.h                         |  2 +-
 include/obj/AParticleModifier.h                  |  4 ----
 include/obj/AvoidNode.h                          |  4 ----
 include/obj/BSBound.h                            |  4 ----
 include/obj/BSFurnitureMarker.h                  |  4 ----
 include/obj/BSKeyframeController.h               |  4 ----
 include/obj/BSPSysArrayEmitter.h                 |  4 ----
 include/obj/BSParentVelocityModifier.h           |  4 ----
 include/obj/BSWindModifier.h                     |  4 ----
 include/obj/BSXFlags.h                           |  4 ----
 include/obj/FxButton.h                           |  4 ----
 include/obj/FxRadioButton.h                      |  4 ----
 include/obj/FxWidget.h                           |  4 ----
 include/obj/NiAVObject.h                         |  4 ----
 include/obj/NiAVObjectPalette.h                  |  4 ----
 include/obj/NiAlphaController.h                  |  4 ----
 include/obj/NiAlphaProperty.h                    |  4 ----
 include/obj/NiAmbientLight.h                     |  4 ----
 include/obj/NiAutoNormalParticles.h              |  4 ----
 include/obj/NiAutoNormalParticlesData.h          |  4 ----
 include/obj/NiBSAnimationNode.h                  |  4 ----
 include/obj/NiBSBoneLODController.h              |  4 ----
 include/obj/NiBSPArrayController.h               |  4 ----
 include/obj/NiBSParticleNode.h                   |  4 ----
 include/obj/NiBSplineBasisData.h                 |  4 ----
 include/obj/NiBSplineCompFloatInterpolator.h     |  4 ----
 include/obj/NiBSplineCompPoint3Interpolator.h    |  4 ----
 include/obj/NiBSplineCompTransformInterpolator.h |  4 ----
 include/obj/NiBSplineData.h                      |  4 ----
 include/obj/NiBSplineFloatInterpolator.h         |  4 ----
 include/obj/NiBSplineInterpolator.h              |  4 ----
 include/obj/NiBSplinePoint3Interpolator.h        |  4 ----
 include/obj/NiBSplineTransformInterpolator.h     |  4 ----
 include/obj/NiBillboardNode.h                    |  4 ----
 include/obj/NiBinaryExtraData.h                  |  4 ----
 include/obj/NiBinaryVoxelData.h                  |  4 ----
 include/obj/NiBinaryVoxelExtraData.h             |  4 ----
 include/obj/NiBlendBoolInterpolator.h            |  4 ----
 include/obj/NiBlendFloatInterpolator.h           |  4 ----
 include/obj/NiBlendInterpolator.h                |  4 ----
 include/obj/NiBlendPoint3Interpolator.h          |  4 ----
 include/obj/NiBlendTransformInterpolator.h       |  4 ----
 include/obj/NiBone.h                             |  4 ----
 include/obj/NiBoneLODController.h                |  4 ----
 include/obj/NiBoolData.h                         |  4 ----
 include/obj/NiBoolInterpController.h             |  4 ----
 include/obj/NiBoolInterpolator.h                 |  4 ----
 include/obj/NiBoolTimelineInterpolator.h         |  4 ----
 include/obj/NiBooleanExtraData.h                 |  4 ----
 include/obj/NiCamera.h                           |  4 ----
 include/obj/NiClod.h                             |  4 ----
 include/obj/NiClodData.h                         |  4 ----
 include/obj/NiClodSkinInstance.h                 |  4 ----
 include/obj/NiCollisionData.h                    |  4 ----
 include/obj/NiCollisionObject.h                  |  4 ----
 include/obj/NiColorData.h                        |  4 ----
 include/obj/NiColorExtraData.h                   |  4 ----
 include/obj/NiControllerManager.h                |  4 ----
 include/obj/NiControllerSequence.h               |  4 ----
 include/obj/NiDefaultAVObjectPalette.h           |  4 ----
 include/obj/NiDirectionalLight.h                 |  4 ----
 include/obj/NiDitherProperty.h                   |  4 ----
 include/obj/NiDynamicEffect.h                    |  4 ----
 include/obj/NiExtraData.h                        |  4 ----
 include/obj/NiExtraDataController.h              |  4 ----
 include/obj/NiFlipController.h                   |  4 ----
 include/obj/NiFloatData.h                        |  4 ----
 include/obj/NiFloatExtraData.h                   |  4 ----
 include/obj/NiFloatExtraDataController.h         |  4 ----
 include/obj/NiFloatInterpController.h            |  4 ----
 include/obj/NiFloatInterpolator.h                |  4 ----
 include/obj/NiFloatsExtraData.h                  |  4 ----
 include/obj/NiFogProperty.h                      |  4 ----
 include/obj/NiGeomMorpherController.h            |  4 ----
 include/obj/NiGeometry.h                         |  4 ----
 include/obj/NiGeometryData.h                     |  4 ----
 include/obj/NiGravity.h                          |  4 ----
 include/obj/NiImage.h                            |  4 ----
 include/obj/NiIntegerExtraData.h                 |  4 ----
 include/obj/NiIntegersExtraData.h                |  4 ----
 include/obj/NiInterpController.h                 |  4 ----
 include/obj/NiInterpolator.h                     |  4 ----
 include/obj/NiKeyBasedInterpolator.h             |  4 ----
 include/obj/NiKeyframeController.h               |  4 ----
 include/obj/NiKeyframeData.h                     |  4 ----
 include/obj/NiLODData.h                          |  4 ----
 include/obj/NiLODNode.h                          |  4 ----
 include/obj/NiLight.h                            |  4 ----
 include/obj/NiLightColorController.h             |  4 ----
 include/obj/NiLightDimmerController.h            |  4 ----
 include/obj/NiLookAtController.h                 |  4 ----
 include/obj/NiLookAtInterpolator.h               |  4 ----
 include/obj/NiMaterialColorController.h          |  4 ----
 include/obj/NiMaterialProperty.h                 |  4 ----
 include/obj/NiMeshPSysData.h                     |  4 ----
 include/obj/NiMeshParticleSystem.h               |  4 ----
 include/obj/NiMorphData.h                        |  4 ----
 include/obj/NiMultiTargetTransformController.h   |  4 ----
 include/obj/NiMultiTextureProperty.h             |  4 ----
 include/obj/NiNode.h                             |  4 ----
 include/obj/NiObject.h                           |  4 ----
 include/obj/NiObjectNET.h                        |  4 ----
 include/obj/NiPSysAgeDeathModifier.h             |  4 ----
 include/obj/NiPSysBombModifier.h                 |  4 ----
 include/obj/NiPSysBoundUpdateModifier.h          |  4 ----
 include/obj/NiPSysBoxEmitter.h                   |  4 ----
 include/obj/NiPSysCollider.h                     |  4 ----
 include/obj/NiPSysColliderManager.h              |  4 ----
 include/obj/NiPSysColorModifier.h                |  4 ----
 include/obj/NiPSysCylinderEmitter.h              |  4 ----
 include/obj/NiPSysData.h                         |  4 ----
 include/obj/NiPSysDragModifier.h                 |  4 ----
 include/obj/NiPSysEmitter.h                      |  4 ----
 include/obj/NiPSysEmitterCtlr.h                  |  4 ----
 include/obj/NiPSysEmitterCtlrData.h              |  4 ----
 include/obj/NiPSysEmitterDeclinationCtlr.h       |  4 ----
 include/obj/NiPSysEmitterDeclinationVarCtlr.h    |  4 ----
 include/obj/NiPSysEmitterInitialRadiusCtlr.h     |  4 ----
 include/obj/NiPSysEmitterLifeSpanCtlr.h          |  4 ----
 include/obj/NiPSysEmitterSpeedCtlr.h             |  4 ----
 include/obj/NiPSysGravityModifier.h              |  4 ----
 include/obj/NiPSysGravityStrengthCtlr.h          |  4 ----
 include/obj/NiPSysGrowFadeModifier.h             |  4 ----
 include/obj/NiPSysMeshEmitter.h                  |  4 ----
 include/obj/NiPSysMeshUpdateModifier.h           |  4 ----
 include/obj/NiPSysModifier.h                     |  4 ----
 include/obj/NiPSysModifierActiveCtlr.h           |  4 ----
 include/obj/NiPSysModifierBoolCtlr.h             |  4 ----
 include/obj/NiPSysModifierCtlr.h                 |  4 ----
 include/obj/NiPSysModifierFloatCtlr.h            |  4 ----
 include/obj/NiPSysPlanarCollider.h               |  4 ----
 include/obj/NiPSysPositionModifier.h             |  4 ----
 include/obj/NiPSysResetOnLoopCtlr.h              |  4 ----
 include/obj/NiPSysRotationModifier.h             |  4 ----
 include/obj/NiPSysSpawnModifier.h                |  4 ----
 include/obj/NiPSysSphereEmitter.h                |  4 ----
 include/obj/NiPSysSphericalCollider.h            |  4 ----
 include/obj/NiPSysUpdateCtlr.h                   |  4 ----
 include/obj/NiPSysVolumeEmitter.h                |  4 ----
 include/obj/NiPalette.h                          |  4 ----
 include/obj/NiParticleBomb.h                     |  4 ----
 include/obj/NiParticleColorModifier.h            |  4 ----
 include/obj/NiParticleGrowFade.h                 |  4 ----
 include/obj/NiParticleMeshModifier.h             |  4 ----
 include/obj/NiParticleMeshes.h                   |  4 ----
 include/obj/NiParticleMeshesData.h               |  4 ----
 include/obj/NiParticleRotation.h                 |  4 ----
 include/obj/NiParticleSystem.h                   |  4 ----
 include/obj/NiParticleSystemController.h         |  4 ----
 include/obj/NiParticles.h                        |  4 ----
 include/obj/NiParticlesData.h                    |  4 ----
 include/obj/NiPathController.h                   |  4 ----
 include/obj/NiPathInterpolator.h                 |  4 ----
 include/obj/NiPixelData.h                        |  4 ----
 include/obj/NiPlanarCollider.h                   |  4 ----
 include/obj/NiPoint3InterpController.h           |  4 ----
 include/obj/NiPoint3Interpolator.h               |  4 ----
 include/obj/NiPointLight.h                       |  4 ----
 include/obj/NiPosData.h                          |  4 ----
 include/obj/NiProperty.h                         |  4 ----
 include/obj/NiRangeLODData.h                     |  4 ----
 include/obj/NiRawImageData.h                     |  4 ----
 include/obj/NiRollController.h                   |  4 ----
 include/obj/NiRotatingParticles.h                |  4 ----
 include/obj/NiRotatingParticlesData.h            |  4 ----
 include/obj/NiScreenLODData.h                    |  4 ----
 include/obj/NiSequence.h                         |  4 ----
 include/obj/NiSequenceStreamHelper.h             |  4 ----
 include/obj/NiShadeProperty.h                    |  4 ----
 include/obj/NiSingleInterpController.h           |  4 ----
 include/obj/NiSkinData.h                         |  4 ----
 include/obj/NiSkinInstance.h                     |  4 ----
 include/obj/NiSkinPartition.h                    |  4 ----
 include/obj/NiSourceTexture.h                    |  4 ----
 include/obj/NiSpecularProperty.h                 |  4 ----
 include/obj/NiSphericalCollider.h                |  4 ----
 include/obj/NiSpotLight.h                        |  4 ----
 include/obj/NiStencilProperty.h                  |  4 ----
 include/obj/NiStringExtraData.h                  |  4 ----
 include/obj/NiStringPalette.h                    |  4 ----
 include/obj/NiStringsExtraData.h                 |  4 ----
 include/obj/NiSwitchNode.h                       |  4 ----
 include/obj/NiTextKeyExtraData.h                 |  4 ----
 include/obj/NiTexture.h                          |  4 ----
 include/obj/NiTextureEffect.h                    |  4 ----
 include/obj/NiTextureModeProperty.h              |  4 ----
 include/obj/NiTextureProperty.h                  |  4 ----
 include/obj/NiTextureTransformController.h       |  4 ----
 include/obj/NiTexturingProperty.h                |  4 ----
 include/obj/NiTimeController.h                   |  4 ----
 include/obj/NiTransformController.h              |  4 ----
 include/obj/NiTransformData.h                    |  4 ----
 include/obj/NiTransformInterpolator.h            |  4 ----
 include/obj/NiTriBasedGeom.h                     |  4 ----
 include/obj/NiTriBasedGeomData.h                 |  4 ----
 include/obj/NiTriShape.h                         |  4 ----
 include/obj/NiTriShapeData.h                     |  4 ----
 include/obj/NiTriShapeSkinController.h           |  4 ----
 include/obj/NiTriStrips.h                        |  4 ----
 include/obj/NiTriStripsData.h                    |  4 ----
 include/obj/NiUVController.h                     |  4 ----
 include/obj/NiUVData.h                           |  4 ----
 include/obj/NiVectorExtraData.h                  |  4 ----
 include/obj/NiVertWeightsExtraData.h             |  4 ----
 include/obj/NiVertexColorProperty.h              |  4 ----
 include/obj/NiVisController.h                    |  4 ----
 include/obj/NiVisData.h                          |  4 ----
 include/obj/NiWireframeProperty.h                |  4 ----
 include/obj/NiZBufferProperty.h                  |  4 ----
 include/obj/RootCollisionNode.h                  |  4 ----
 include/obj/bhkBlendCollisionObject.h            |  4 ----
 include/obj/bhkBlendController.h                 |  4 ----
 include/obj/bhkBoxShape.h                        |  4 ----
 include/obj/bhkBvTreeShape.h                     |  4 ----
 include/obj/bhkCapsuleShape.h                    |  4 ----
 include/obj/bhkCollisionObject.h                 |  4 ----
 include/obj/bhkConstraint.h                      |  4 ----
 include/obj/bhkConvexShape.h                     |  4 ----
 include/obj/bhkConvexTransformShape.h            |  4 ----
 include/obj/bhkConvexVerticesShape.h             |  4 ----
 include/obj/bhkEntity.h                          |  4 ----
 include/obj/bhkHingeConstraint.h                 |  4 ----
 include/obj/bhkLimitedHingeConstraint.h          |  4 ----
 include/obj/bhkListShape.h                       |  4 ----
 include/obj/bhkMalleableConstraint.h             |  4 ----
 include/obj/bhkMoppBvTreeShape.h                 |  4 ----
 include/obj/bhkMultiSphereShape.h                |  4 ----
 include/obj/bhkNiCollisionObject.h               |  4 ----
 include/obj/bhkNiTriStripsShape.h                |  4 ----
 include/obj/bhkPCollisionObject.h                |  4 ----
 include/obj/bhkPackedNiTriStripsShape.h          |  4 ----
 include/obj/bhkPhantom.h                         |  4 ----
 include/obj/bhkPrismaticConstraint.h             |  4 ----
 include/obj/bhkRagdollConstraint.h               |  4 ----
 include/obj/bhkRefObject.h                       |  4 ----
 include/obj/bhkRigidBody.h                       |  4 ----
 include/obj/bhkRigidBodyT.h                      |  4 ----
 include/obj/bhkSPCollisionObject.h               |  4 ----
 include/obj/bhkSerializable.h                    |  4 ----
 include/obj/bhkShape.h                           |  4 ----
 include/obj/bhkShapeCollection.h                 |  4 ----
 include/obj/bhkShapePhantom.h                    |  4 ----
 include/obj/bhkSimpleShapePhantom.h              |  4 ----
 include/obj/bhkSphereRepShape.h                  |  4 ----
 include/obj/bhkSphereShape.h                     |  4 ----
 include/obj/bhkStiffSpringConstraint.h           |  4 ----
 include/obj/bhkTransformShape.h                  |  4 ----
 include/obj/bhkWorldObject.h                     |  4 ----
 include/obj/hkPackedNiTriStripsData.h            |  4 ----
 niflib.vcproj                                    |  4 ++++
 src/gen/AVObject.cpp                             |  2 +-
 src/gen/BoundingBox.cpp                          |  2 +-
 src/gen/ByteArray.cpp                            |  2 +-
 src/gen/ByteColor3.cpp                           |  2 +-
 src/gen/ByteColor4.cpp                           |  2 +-
 src/gen/ControllerLink.cpp                       |  2 +-
 src/gen/Footer.cpp                               |  2 +-
 src/gen/FurniturePosition.cpp                    |  2 +-
 src/gen/Header.cpp                               |  2 +-
 src/gen/LODRange.cpp                             |  2 +-
 src/gen/LimitedHingeDescriptor.cpp               |  2 +-
 src/gen/MatchGroup.cpp                           |  2 +-
 src/gen/MipMap.cpp                               |  2 +-
 src/gen/Morph.cpp                                |  2 +-
 src/gen/MultiTextureElement.cpp                  |  2 +-
 src/gen/NodeGroup.cpp                            |  2 +-
 src/gen/OblivionColFilter.cpp                    |  2 +-
 src/gen/OblivionSubShape.cpp                     |  2 +-
 src/gen/OldSkinData.cpp                          |  2 +-
 src/gen/Particle.cpp                             |  2 +-
 src/gen/QuaternionXYZW.cpp                       |  2 +-
 src/gen/RagDollDescriptor.cpp                    |  2 +-
 src/gen/ShaderTexDesc.cpp                        |  2 +-
 src/gen/SkinData.cpp                             |  2 +-
 src/gen/SkinPartition.cpp                        |  2 +-
 src/gen/SkinShape.cpp                            |  2 +-
 src/gen/SkinShapeGroup.cpp                       |  2 +-
 src/gen/SkinWeight.cpp                           |  2 +-
 src/gen/Sphere.cpp                               |  2 +-
 src/gen/StringPalette.cpp                        |  2 +-
 src/gen/TBC.cpp                                  |  2 +-
 src/gen/TexDesc.cpp                              |  2 +-
 src/gen/TexSource.cpp                            |  2 +-
 src/gen/enums.cpp                                |  2 +-
 src/gen/hkTriangle.cpp                           |  2 +-
 src/niflib.cpp                                   | 10 ++++++++++
 src/obj/AParticleModifier.cpp                    | 12 ------------
 src/obj/AvoidNode.cpp                            | 12 ------------
 src/obj/BSBound.cpp                              | 12 ------------
 src/obj/BSFurnitureMarker.cpp                    | 12 ------------
 src/obj/BSKeyframeController.cpp                 | 12 ------------
 src/obj/BSPSysArrayEmitter.cpp                   | 12 ------------
 src/obj/BSParentVelocityModifier.cpp             | 12 ------------
 src/obj/BSWindModifier.cpp                       | 12 ------------
 src/obj/BSXFlags.cpp                             | 12 ------------
 src/obj/FxButton.cpp                             | 12 ------------
 src/obj/FxRadioButton.cpp                        | 12 ------------
 src/obj/FxWidget.cpp                             | 12 ------------
 src/obj/NiAVObject.cpp                           | 12 ------------
 src/obj/NiAVObjectPalette.cpp                    | 12 ------------
 src/obj/NiAlphaController.cpp                    | 12 ------------
 src/obj/NiAlphaProperty.cpp                      | 12 ------------
 src/obj/NiAmbientLight.cpp                       | 12 ------------
 src/obj/NiAutoNormalParticles.cpp                | 12 ------------
 src/obj/NiAutoNormalParticlesData.cpp            | 12 ------------
 src/obj/NiBSAnimationNode.cpp                    | 12 ------------
 src/obj/NiBSBoneLODController.cpp                | 12 ------------
 src/obj/NiBSPArrayController.cpp                 | 12 ------------
 src/obj/NiBSParticleNode.cpp                     | 12 ------------
 src/obj/NiBSplineBasisData.cpp                   | 12 ------------
 src/obj/NiBSplineCompFloatInterpolator.cpp       | 12 ------------
 src/obj/NiBSplineCompPoint3Interpolator.cpp      | 12 ------------
 src/obj/NiBSplineCompTransformInterpolator.cpp   | 12 ------------
 src/obj/NiBSplineData.cpp                        | 12 ------------
 src/obj/NiBSplineFloatInterpolator.cpp           | 12 ------------
 src/obj/NiBSplineInterpolator.cpp                | 12 ------------
 src/obj/NiBSplinePoint3Interpolator.cpp          | 12 ------------
 src/obj/NiBSplineTransformInterpolator.cpp       | 12 ------------
 src/obj/NiBillboardNode.cpp                      | 12 ------------
 src/obj/NiBinaryExtraData.cpp                    | 12 ------------
 src/obj/NiBinaryVoxelData.cpp                    | 12 ------------
 src/obj/NiBinaryVoxelExtraData.cpp               | 12 ------------
 src/obj/NiBlendBoolInterpolator.cpp              | 12 ------------
 src/obj/NiBlendFloatInterpolator.cpp             | 12 ------------
 src/obj/NiBlendInterpolator.cpp                  | 12 ------------
 src/obj/NiBlendPoint3Interpolator.cpp            | 12 ------------
 src/obj/NiBlendTransformInterpolator.cpp         | 12 ------------
 src/obj/NiBone.cpp                               | 12 ------------
 src/obj/NiBoneLODController.cpp                  | 12 ------------
 src/obj/NiBoolData.cpp                           | 12 ------------
 src/obj/NiBoolInterpController.cpp               | 12 ------------
 src/obj/NiBoolInterpolator.cpp                   | 12 ------------
 src/obj/NiBoolTimelineInterpolator.cpp           | 12 ------------
 src/obj/NiBooleanExtraData.cpp                   | 12 ------------
 src/obj/NiCamera.cpp                             | 12 ------------
 src/obj/NiClod.cpp                               | 12 ------------
 src/obj/NiClodData.cpp                           | 12 ------------
 src/obj/NiClodSkinInstance.cpp                   | 12 ------------
 src/obj/NiCollisionData.cpp                      | 12 ------------
 src/obj/NiCollisionObject.cpp                    | 12 ------------
 src/obj/NiColorData.cpp                          | 12 ------------
 src/obj/NiColorExtraData.cpp                     | 12 ------------
 src/obj/NiControllerManager.cpp                  | 12 ------------
 src/obj/NiControllerSequence.cpp                 | 12 ------------
 src/obj/NiDefaultAVObjectPalette.cpp             | 12 ------------
 src/obj/NiDirectionalLight.cpp                   | 12 ------------
 src/obj/NiDitherProperty.cpp                     | 12 ------------
 src/obj/NiDynamicEffect.cpp                      | 12 ------------
 src/obj/NiExtraData.cpp                          | 12 ------------
 src/obj/NiExtraDataController.cpp                | 12 ------------
 src/obj/NiFlipController.cpp                     | 12 ------------
 src/obj/NiFloatData.cpp                          | 12 ------------
 src/obj/NiFloatExtraData.cpp                     | 12 ------------
 src/obj/NiFloatExtraDataController.cpp           | 12 ------------
 src/obj/NiFloatInterpController.cpp              | 12 ------------
 src/obj/NiFloatInterpolator.cpp                  | 12 ------------
 src/obj/NiFloatsExtraData.cpp                    | 12 ------------
 src/obj/NiFogProperty.cpp                        | 12 ------------
 src/obj/NiGeomMorpherController.cpp              | 12 ------------
 src/obj/NiGeometry.cpp                           | 12 ------------
 src/obj/NiGeometryData.cpp                       | 12 ------------
 src/obj/NiGravity.cpp                            | 12 ------------
 src/obj/NiImage.cpp                              | 12 ------------
 src/obj/NiIntegerExtraData.cpp                   | 12 ------------
 src/obj/NiIntegersExtraData.cpp                  | 12 ------------
 src/obj/NiInterpController.cpp                   | 12 ------------
 src/obj/NiInterpolator.cpp                       | 12 ------------
 src/obj/NiKeyBasedInterpolator.cpp               | 12 ------------
 src/obj/NiKeyframeController.cpp                 | 12 ------------
 src/obj/NiKeyframeData.cpp                       | 12 ------------
 src/obj/NiLODData.cpp                            | 12 ------------
 src/obj/NiLODNode.cpp                            | 12 ------------
 src/obj/NiLight.cpp                              | 12 ------------
 src/obj/NiLightColorController.cpp               | 12 ------------
 src/obj/NiLightDimmerController.cpp              | 12 ------------
 src/obj/NiLookAtController.cpp                   | 12 ------------
 src/obj/NiLookAtInterpolator.cpp                 | 12 ------------
 src/obj/NiMaterialColorController.cpp            | 12 ------------
 src/obj/NiMaterialProperty.cpp                   | 12 ------------
 src/obj/NiMeshPSysData.cpp                       | 12 ------------
 src/obj/NiMeshParticleSystem.cpp                 | 12 ------------
 src/obj/NiMorphData.cpp                          | 12 ------------
 src/obj/NiMultiTargetTransformController.cpp     | 12 ------------
 src/obj/NiMultiTextureProperty.cpp               | 12 ------------
 src/obj/NiNode.cpp                               | 12 ------------
 src/obj/NiObject.cpp                             | 12 ------------
 src/obj/NiObjectNET.cpp                          | 12 ------------
 src/obj/NiPSysAgeDeathModifier.cpp               | 12 ------------
 src/obj/NiPSysBombModifier.cpp                   | 12 ------------
 src/obj/NiPSysBoundUpdateModifier.cpp            | 12 ------------
 src/obj/NiPSysBoxEmitter.cpp                     | 12 ------------
 src/obj/NiPSysCollider.cpp                       | 12 ------------
 src/obj/NiPSysColliderManager.cpp                | 12 ------------
 src/obj/NiPSysColorModifier.cpp                  | 12 ------------
 src/obj/NiPSysCylinderEmitter.cpp                | 12 ------------
 src/obj/NiPSysData.cpp                           | 12 ------------
 src/obj/NiPSysDragModifier.cpp                   | 12 ------------
 src/obj/NiPSysEmitter.cpp                        | 12 ------------
 src/obj/NiPSysEmitterCtlr.cpp                    | 12 ------------
 src/obj/NiPSysEmitterCtlrData.cpp                | 12 ------------
 src/obj/NiPSysEmitterDeclinationCtlr.cpp         | 12 ------------
 src/obj/NiPSysEmitterDeclinationVarCtlr.cpp      | 12 ------------
 src/obj/NiPSysEmitterInitialRadiusCtlr.cpp       | 12 ------------
 src/obj/NiPSysEmitterLifeSpanCtlr.cpp            | 12 ------------
 src/obj/NiPSysEmitterSpeedCtlr.cpp               | 12 ------------
 src/obj/NiPSysGravityModifier.cpp                | 12 ------------
 src/obj/NiPSysGravityStrengthCtlr.cpp            | 12 ------------
 src/obj/NiPSysGrowFadeModifier.cpp               | 12 ------------
 src/obj/NiPSysMeshEmitter.cpp                    | 12 ------------
 src/obj/NiPSysMeshUpdateModifier.cpp             | 12 ------------
 src/obj/NiPSysModifier.cpp                       | 12 ------------
 src/obj/NiPSysModifierActiveCtlr.cpp             | 12 ------------
 src/obj/NiPSysModifierBoolCtlr.cpp               | 12 ------------
 src/obj/NiPSysModifierCtlr.cpp                   | 12 ------------
 src/obj/NiPSysModifierFloatCtlr.cpp              | 12 ------------
 src/obj/NiPSysPlanarCollider.cpp                 | 12 ------------
 src/obj/NiPSysPositionModifier.cpp               | 12 ------------
 src/obj/NiPSysResetOnLoopCtlr.cpp                | 12 ------------
 src/obj/NiPSysRotationModifier.cpp               | 12 ------------
 src/obj/NiPSysSpawnModifier.cpp                  | 12 ------------
 src/obj/NiPSysSphereEmitter.cpp                  | 12 ------------
 src/obj/NiPSysSphericalCollider.cpp              | 12 ------------
 src/obj/NiPSysUpdateCtlr.cpp                     | 12 ------------
 src/obj/NiPSysVolumeEmitter.cpp                  | 12 ------------
 src/obj/NiPalette.cpp                            | 12 ------------
 src/obj/NiParticleBomb.cpp                       | 12 ------------
 src/obj/NiParticleColorModifier.cpp              | 12 ------------
 src/obj/NiParticleGrowFade.cpp                   | 12 ------------
 src/obj/NiParticleMeshModifier.cpp               | 12 ------------
 src/obj/NiParticleMeshes.cpp                     | 12 ------------
 src/obj/NiParticleMeshesData.cpp                 | 12 ------------
 src/obj/NiParticleRotation.cpp                   | 12 ------------
 src/obj/NiParticleSystem.cpp                     | 12 ------------
 src/obj/NiParticleSystemController.cpp           | 12 ------------
 src/obj/NiParticles.cpp                          | 12 ------------
 src/obj/NiParticlesData.cpp                      | 12 ------------
 src/obj/NiPathController.cpp                     | 12 ------------
 src/obj/NiPathInterpolator.cpp                   | 12 ------------
 src/obj/NiPixelData.cpp                          | 12 ------------
 src/obj/NiPlanarCollider.cpp                     | 12 ------------
 src/obj/NiPoint3InterpController.cpp             | 12 ------------
 src/obj/NiPoint3Interpolator.cpp                 | 12 ------------
 src/obj/NiPointLight.cpp                         | 12 ------------
 src/obj/NiPosData.cpp                            | 12 ------------
 src/obj/NiProperty.cpp                           | 12 ------------
 src/obj/NiRangeLODData.cpp                       | 12 ------------
 src/obj/NiRawImageData.cpp                       | 12 ------------
 src/obj/NiRollController.cpp                     | 12 ------------
 src/obj/NiRotatingParticles.cpp                  | 12 ------------
 src/obj/NiRotatingParticlesData.cpp              | 12 ------------
 src/obj/NiScreenLODData.cpp                      | 12 ------------
 src/obj/NiSequence.cpp                           | 12 ------------
 src/obj/NiSequenceStreamHelper.cpp               | 12 ------------
 src/obj/NiShadeProperty.cpp                      | 12 ------------
 src/obj/NiSingleInterpController.cpp             | 12 ------------
 src/obj/NiSkinData.cpp                           | 12 ------------
 src/obj/NiSkinInstance.cpp                       | 12 ------------
 src/obj/NiSkinPartition.cpp                      | 12 ------------
 src/obj/NiSourceTexture.cpp                      | 12 ------------
 src/obj/NiSpecularProperty.cpp                   | 12 ------------
 src/obj/NiSphericalCollider.cpp                  | 12 ------------
 src/obj/NiSpotLight.cpp                          | 12 ------------
 src/obj/NiStencilProperty.cpp                    | 12 ------------
 src/obj/NiStringExtraData.cpp                    | 12 ------------
 src/obj/NiStringPalette.cpp                      | 12 ------------
 src/obj/NiStringsExtraData.cpp                   | 12 ------------
 src/obj/NiSwitchNode.cpp                         | 12 ------------
 src/obj/NiTextKeyExtraData.cpp                   | 12 ------------
 src/obj/NiTexture.cpp                            | 12 ------------
 src/obj/NiTextureEffect.cpp                      | 12 ------------
 src/obj/NiTextureModeProperty.cpp                | 12 ------------
 src/obj/NiTextureProperty.cpp                    | 12 ------------
 src/obj/NiTextureTransformController.cpp         | 12 ------------
 src/obj/NiTexturingProperty.cpp                  | 12 ------------
 src/obj/NiTimeController.cpp                     | 12 ------------
 src/obj/NiTransformController.cpp                | 12 ------------
 src/obj/NiTransformData.cpp                      | 12 ------------
 src/obj/NiTransformInterpolator.cpp              | 12 ------------
 src/obj/NiTriBasedGeom.cpp                       | 12 ------------
 src/obj/NiTriBasedGeomData.cpp                   | 12 ------------
 src/obj/NiTriShape.cpp                           | 12 ------------
 src/obj/NiTriShapeData.cpp                       | 12 ------------
 src/obj/NiTriShapeSkinController.cpp             | 12 ------------
 src/obj/NiTriStrips.cpp                          | 12 ------------
 src/obj/NiTriStripsData.cpp                      | 12 ------------
 src/obj/NiUVController.cpp                       | 12 ------------
 src/obj/NiUVData.cpp                             | 12 ------------
 src/obj/NiVectorExtraData.cpp                    | 12 ------------
 src/obj/NiVertWeightsExtraData.cpp               | 12 ------------
 src/obj/NiVertexColorProperty.cpp                | 12 ------------
 src/obj/NiVisController.cpp                      | 12 ------------
 src/obj/NiVisData.cpp                            | 12 ------------
 src/obj/NiWireframeProperty.cpp                  | 12 ------------
 src/obj/NiZBufferProperty.cpp                    | 12 ------------
 src/obj/RootCollisionNode.cpp                    | 12 ------------
 src/obj/bhkBlendCollisionObject.cpp              | 12 ------------
 src/obj/bhkBlendController.cpp                   | 12 ------------
 src/obj/bhkBoxShape.cpp                          | 12 ------------
 src/obj/bhkBvTreeShape.cpp                       | 12 ------------
 src/obj/bhkCapsuleShape.cpp                      | 12 ------------
 src/obj/bhkCollisionObject.cpp                   | 12 ------------
 src/obj/bhkConstraint.cpp                        | 12 ------------
 src/obj/bhkConvexShape.cpp                       | 12 ------------
 src/obj/bhkConvexTransformShape.cpp              | 12 ------------
 src/obj/bhkConvexVerticesShape.cpp               | 12 ------------
 src/obj/bhkEntity.cpp                            | 12 ------------
 src/obj/bhkHingeConstraint.cpp                   | 12 ------------
 src/obj/bhkLimitedHingeConstraint.cpp            | 12 ------------
 src/obj/bhkListShape.cpp                         | 12 ------------
 src/obj/bhkMalleableConstraint.cpp               | 12 ------------
 src/obj/bhkMoppBvTreeShape.cpp                   | 12 ------------
 src/obj/bhkMultiSphereShape.cpp                  | 12 ------------
 src/obj/bhkNiCollisionObject.cpp                 | 12 ------------
 src/obj/bhkNiTriStripsShape.cpp                  | 12 ------------
 src/obj/bhkPCollisionObject.cpp                  | 12 ------------
 src/obj/bhkPackedNiTriStripsShape.cpp            | 12 ------------
 src/obj/bhkPhantom.cpp                           | 12 ------------
 src/obj/bhkPrismaticConstraint.cpp               | 12 ------------
 src/obj/bhkRagdollConstraint.cpp                 | 12 ------------
 src/obj/bhkRefObject.cpp                         | 12 ------------
 src/obj/bhkRigidBody.cpp                         | 12 ------------
 src/obj/bhkRigidBodyT.cpp                        | 12 ------------
 src/obj/bhkSPCollisionObject.cpp                 | 12 ------------
 src/obj/bhkSerializable.cpp                      | 12 ------------
 src/obj/bhkShape.cpp                             | 12 ------------
 src/obj/bhkShapeCollection.cpp                   | 12 ------------
 src/obj/bhkShapePhantom.cpp                      | 12 ------------
 src/obj/bhkSimpleShapePhantom.cpp                | 12 ------------
 src/obj/bhkSphereRepShape.cpp                    | 12 ------------
 src/obj/bhkSphereShape.cpp                       | 12 ------------
 src/obj/bhkStiffSpringConstraint.cpp             | 12 ------------
 src/obj/bhkTransformShape.cpp                    | 12 ------------
 src/obj/bhkWorldObject.cpp                       | 12 ------------
 src/obj/hkPackedNiTriStripsData.cpp              | 12 ------------
 571 files changed, 87 insertions(+), 4041 deletions(-)

diff --git a/include/gen/AVObject.h b/include/gen/AVObject.h
index 17125fc7..2c02b07e 100644
--- a/include/gen/AVObject.h
+++ b/include/gen/AVObject.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _AVOBJECT_H_
 #define _AVOBJECT_H_
diff --git a/include/gen/BoundingBox.h b/include/gen/BoundingBox.h
index 85917619..7a34701c 100644
--- a/include/gen/BoundingBox.h
+++ b/include/gen/BoundingBox.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _BOUNDINGBOX_H_
 #define _BOUNDINGBOX_H_
diff --git a/include/gen/ByteArray.h b/include/gen/ByteArray.h
index 9d9fc3cc..8479d414 100644
--- a/include/gen/ByteArray.h
+++ b/include/gen/ByteArray.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _BYTEARRAY_H_
 #define _BYTEARRAY_H_
diff --git a/include/gen/ByteColor3.h b/include/gen/ByteColor3.h
index 8ef55965..45080290 100644
--- a/include/gen/ByteColor3.h
+++ b/include/gen/ByteColor3.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _BYTECOLOR3_H_
 #define _BYTECOLOR3_H_
diff --git a/include/gen/ByteColor4.h b/include/gen/ByteColor4.h
index 1228d9bd..2b0f27e5 100644
--- a/include/gen/ByteColor4.h
+++ b/include/gen/ByteColor4.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _BYTECOLOR4_H_
 #define _BYTECOLOR4_H_
diff --git a/include/gen/ControllerLink.h b/include/gen/ControllerLink.h
index 38a32adc..2d461b0f 100644
--- a/include/gen/ControllerLink.h
+++ b/include/gen/ControllerLink.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _CONTROLLERLINK_H_
 #define _CONTROLLERLINK_H_
diff --git a/include/gen/Footer.h b/include/gen/Footer.h
index 41201492..35a0690c 100644
--- a/include/gen/Footer.h
+++ b/include/gen/Footer.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _FOOTER_H_
 #define _FOOTER_H_
diff --git a/include/gen/FurniturePosition.h b/include/gen/FurniturePosition.h
index 80c633a3..2dcfd5e2 100644
--- a/include/gen/FurniturePosition.h
+++ b/include/gen/FurniturePosition.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _FURNITUREPOSITION_H_
 #define _FURNITUREPOSITION_H_
diff --git a/include/gen/Header.h b/include/gen/Header.h
index b1f8fd82..ea971adc 100644
--- a/include/gen/Header.h
+++ b/include/gen/Header.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _HEADER_H_
 #define _HEADER_H_
diff --git a/include/gen/KeyGroup.h b/include/gen/KeyGroup.h
index 40cb9921..03b90b7b 100644
--- a/include/gen/KeyGroup.h
+++ b/include/gen/KeyGroup.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _KEYGROUP_H_
 #define _KEYGROUP_H_
diff --git a/include/gen/LODRange.h b/include/gen/LODRange.h
index 7fae7120..0bfed6ac 100644
--- a/include/gen/LODRange.h
+++ b/include/gen/LODRange.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _LODRANGE_H_
 #define _LODRANGE_H_
diff --git a/include/gen/LimitedHingeDescriptor.h b/include/gen/LimitedHingeDescriptor.h
index 8da10ab8..bf4b8a98 100644
--- a/include/gen/LimitedHingeDescriptor.h
+++ b/include/gen/LimitedHingeDescriptor.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _LIMITEDHINGEDESCRIPTOR_H_
 #define _LIMITEDHINGEDESCRIPTOR_H_
diff --git a/include/gen/MatchGroup.h b/include/gen/MatchGroup.h
index 0e506046..6e03f80a 100644
--- a/include/gen/MatchGroup.h
+++ b/include/gen/MatchGroup.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _MATCHGROUP_H_
 #define _MATCHGROUP_H_
diff --git a/include/gen/MipMap.h b/include/gen/MipMap.h
index 96b33828..59dc40cd 100644
--- a/include/gen/MipMap.h
+++ b/include/gen/MipMap.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _MIPMAP_H_
 #define _MIPMAP_H_
diff --git a/include/gen/Morph.h b/include/gen/Morph.h
index 1ea73205..9febaa07 100644
--- a/include/gen/Morph.h
+++ b/include/gen/Morph.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _MORPH_H_
 #define _MORPH_H_
diff --git a/include/gen/MultiTextureElement.h b/include/gen/MultiTextureElement.h
index 7f37657a..7ee1e42b 100644
--- a/include/gen/MultiTextureElement.h
+++ b/include/gen/MultiTextureElement.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _MULTITEXTUREELEMENT_H_
 #define _MULTITEXTUREELEMENT_H_
diff --git a/include/gen/NodeGroup.h b/include/gen/NodeGroup.h
index fcf63bd2..966ffd05 100644
--- a/include/gen/NodeGroup.h
+++ b/include/gen/NodeGroup.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _NODEGROUP_H_
 #define _NODEGROUP_H_
diff --git a/include/gen/OblivionColFilter.h b/include/gen/OblivionColFilter.h
index c39c94f5..86bca4aa 100644
--- a/include/gen/OblivionColFilter.h
+++ b/include/gen/OblivionColFilter.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _OBLIVIONCOLFILTER_H_
 #define _OBLIVIONCOLFILTER_H_
diff --git a/include/gen/OblivionSubShape.h b/include/gen/OblivionSubShape.h
index ab3e5958..11250b73 100644
--- a/include/gen/OblivionSubShape.h
+++ b/include/gen/OblivionSubShape.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _OBLIVIONSUBSHAPE_H_
 #define _OBLIVIONSUBSHAPE_H_
diff --git a/include/gen/OldSkinData.h b/include/gen/OldSkinData.h
index 9be6564f..d13a6449 100644
--- a/include/gen/OldSkinData.h
+++ b/include/gen/OldSkinData.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _OLDSKINDATA_H_
 #define _OLDSKINDATA_H_
diff --git a/include/gen/Particle.h b/include/gen/Particle.h
index 771b5771..48fc2895 100644
--- a/include/gen/Particle.h
+++ b/include/gen/Particle.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _PARTICLE_H_
 #define _PARTICLE_H_
diff --git a/include/gen/QuaternionXYZW.h b/include/gen/QuaternionXYZW.h
index 113a4e22..aa49f65e 100644
--- a/include/gen/QuaternionXYZW.h
+++ b/include/gen/QuaternionXYZW.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _QUATERNIONXYZW_H_
 #define _QUATERNIONXYZW_H_
diff --git a/include/gen/RagDollDescriptor.h b/include/gen/RagDollDescriptor.h
index 982336cb..af9d72aa 100644
--- a/include/gen/RagDollDescriptor.h
+++ b/include/gen/RagDollDescriptor.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _RAGDOLLDESCRIPTOR_H_
 #define _RAGDOLLDESCRIPTOR_H_
diff --git a/include/gen/RotationKeyArray.h b/include/gen/RotationKeyArray.h
index d9033957..d94a8bbc 100644
--- a/include/gen/RotationKeyArray.h
+++ b/include/gen/RotationKeyArray.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _ROTATIONKEYARRAY_H_
 #define _ROTATIONKEYARRAY_H_
diff --git a/include/gen/ShaderTexDesc.h b/include/gen/ShaderTexDesc.h
index dd74ed9e..7faa2001 100644
--- a/include/gen/ShaderTexDesc.h
+++ b/include/gen/ShaderTexDesc.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _SHADERTEXDESC_H_
 #define _SHADERTEXDESC_H_
diff --git a/include/gen/SkinData.h b/include/gen/SkinData.h
index f76f54b1..abe12250 100644
--- a/include/gen/SkinData.h
+++ b/include/gen/SkinData.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _SKINDATA_H_
 #define _SKINDATA_H_
diff --git a/include/gen/SkinPartition.h b/include/gen/SkinPartition.h
index 08b5d8b4..5afc63c8 100644
--- a/include/gen/SkinPartition.h
+++ b/include/gen/SkinPartition.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _SKINPARTITION_H_
 #define _SKINPARTITION_H_
diff --git a/include/gen/SkinShape.h b/include/gen/SkinShape.h
index f742a4e2..8e8a1fdf 100644
--- a/include/gen/SkinShape.h
+++ b/include/gen/SkinShape.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _SKINSHAPE_H_
 #define _SKINSHAPE_H_
diff --git a/include/gen/SkinShapeGroup.h b/include/gen/SkinShapeGroup.h
index 6453241d..70cc294c 100644
--- a/include/gen/SkinShapeGroup.h
+++ b/include/gen/SkinShapeGroup.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _SKINSHAPEGROUP_H_
 #define _SKINSHAPEGROUP_H_
diff --git a/include/gen/SkinWeight.h b/include/gen/SkinWeight.h
index 4f072618..d4746d3e 100644
--- a/include/gen/SkinWeight.h
+++ b/include/gen/SkinWeight.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _SKINWEIGHT_H_
 #define _SKINWEIGHT_H_
diff --git a/include/gen/Sphere.h b/include/gen/Sphere.h
index 38014d6c..31535156 100644
--- a/include/gen/Sphere.h
+++ b/include/gen/Sphere.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _SPHERE_H_
 #define _SPHERE_H_
diff --git a/include/gen/StringPalette.h b/include/gen/StringPalette.h
index 21067968..d0d04f0b 100644
--- a/include/gen/StringPalette.h
+++ b/include/gen/StringPalette.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _STRINGPALETTE_H_
 #define _STRINGPALETTE_H_
diff --git a/include/gen/TBC.h b/include/gen/TBC.h
index 078aa82f..97d5e24d 100644
--- a/include/gen/TBC.h
+++ b/include/gen/TBC.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _TBC_H_
 #define _TBC_H_
diff --git a/include/gen/TexDesc.h b/include/gen/TexDesc.h
index 0258ed9d..0813c721 100644
--- a/include/gen/TexDesc.h
+++ b/include/gen/TexDesc.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _TEXDESC_H_
 #define _TEXDESC_H_
diff --git a/include/gen/TexSource.h b/include/gen/TexSource.h
index ccdabe38..4ce9b6a0 100644
--- a/include/gen/TexSource.h
+++ b/include/gen/TexSource.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _TEXSOURCE_H_
 #define _TEXSOURCE_H_
diff --git a/include/gen/enums.h b/include/gen/enums.h
index 54141752..dbf92f73 100644
--- a/include/gen/enums.h
+++ b/include/gen/enums.h
@@ -5,7 +5,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include <iostream>
 using namespace std;
diff --git a/include/gen/enums_intl.h b/include/gen/enums_intl.h
index 1d4d0908..b307ce27 100644
--- a/include/gen/enums_intl.h
+++ b/include/gen/enums_intl.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _NIF_ENUMS_INTL_H_
 #define _NIF_ENUMS_INTL_H_
diff --git a/include/gen/hkTriangle.h b/include/gen/hkTriangle.h
index 9d6cb3b7..8085e144 100644
--- a/include/gen/hkTriangle.h
+++ b/include/gen/hkTriangle.h
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #ifndef _HKTRIANGLE_H_
 #define _HKTRIANGLE_H_
diff --git a/include/obj/AParticleModifier.h b/include/obj/AParticleModifier.h
index 2dbead65..009a607f 100644
--- a/include/obj/AParticleModifier.h
+++ b/include/obj/AParticleModifier.h
@@ -80,10 +80,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/AvoidNode.h b/include/obj/AvoidNode.h
index d5fbf286..6e0cd7f1 100644
--- a/include/obj/AvoidNode.h
+++ b/include/obj/AvoidNode.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/BSBound.h b/include/obj/BSBound.h
index 7afdc27d..fa4e9d5f 100644
--- a/include/obj/BSBound.h
+++ b/include/obj/BSBound.h
@@ -100,10 +100,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/BSFurnitureMarker.h b/include/obj/BSFurnitureMarker.h
index 6383c0b0..2c0af352 100644
--- a/include/obj/BSFurnitureMarker.h
+++ b/include/obj/BSFurnitureMarker.h
@@ -91,10 +91,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/BSKeyframeController.h b/include/obj/BSKeyframeController.h
index e455e712..51dbf166 100644
--- a/include/obj/BSKeyframeController.h
+++ b/include/obj/BSKeyframeController.h
@@ -76,10 +76,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/BSPSysArrayEmitter.h b/include/obj/BSPSysArrayEmitter.h
index 4e25f7a8..4e64ee4e 100644
--- a/include/obj/BSPSysArrayEmitter.h
+++ b/include/obj/BSPSysArrayEmitter.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/BSParentVelocityModifier.h b/include/obj/BSParentVelocityModifier.h
index d2416c2e..786f30a7 100644
--- a/include/obj/BSParentVelocityModifier.h
+++ b/include/obj/BSParentVelocityModifier.h
@@ -71,10 +71,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/BSWindModifier.h b/include/obj/BSWindModifier.h
index 76ed2f15..2cafa049 100644
--- a/include/obj/BSWindModifier.h
+++ b/include/obj/BSWindModifier.h
@@ -71,10 +71,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/BSXFlags.h b/include/obj/BSXFlags.h
index cebbc252..54b3fa21 100644
--- a/include/obj/BSXFlags.h
+++ b/include/obj/BSXFlags.h
@@ -70,10 +70,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/FxButton.h b/include/obj/FxButton.h
index 386fc3a2..88599d05 100644
--- a/include/obj/FxButton.h
+++ b/include/obj/FxButton.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/FxRadioButton.h b/include/obj/FxRadioButton.h
index a04d3431..ed7dc879 100644
--- a/include/obj/FxRadioButton.h
+++ b/include/obj/FxRadioButton.h
@@ -88,10 +88,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/FxWidget.h b/include/obj/FxWidget.h
index 594aa94a..c3403125 100644
--- a/include/obj/FxWidget.h
+++ b/include/obj/FxWidget.h
@@ -75,10 +75,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiAVObject.h b/include/obj/NiAVObject.h
index cd204779..f05ce23c 100644
--- a/include/obj/NiAVObject.h
+++ b/include/obj/NiAVObject.h
@@ -320,10 +320,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiAVObjectPalette.h b/include/obj/NiAVObjectPalette.h
index bc8a8d97..aaa0b9e3 100644
--- a/include/obj/NiAVObjectPalette.h
+++ b/include/obj/NiAVObjectPalette.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiAlphaController.h b/include/obj/NiAlphaController.h
index 6aadd187..8a66cce3 100644
--- a/include/obj/NiAlphaController.h
+++ b/include/obj/NiAlphaController.h
@@ -76,10 +76,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiAlphaProperty.h b/include/obj/NiAlphaProperty.h
index 2a565977..0bebdf95 100644
--- a/include/obj/NiAlphaProperty.h
+++ b/include/obj/NiAlphaProperty.h
@@ -212,10 +212,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiAmbientLight.h b/include/obj/NiAmbientLight.h
index 31623aa2..2ffd180f 100644
--- a/include/obj/NiAmbientLight.h
+++ b/include/obj/NiAmbientLight.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiAutoNormalParticles.h b/include/obj/NiAutoNormalParticles.h
index 756cd74b..10c696ba 100644
--- a/include/obj/NiAutoNormalParticles.h
+++ b/include/obj/NiAutoNormalParticles.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiAutoNormalParticlesData.h b/include/obj/NiAutoNormalParticlesData.h
index 741ef27d..e076040e 100644
--- a/include/obj/NiAutoNormalParticlesData.h
+++ b/include/obj/NiAutoNormalParticlesData.h
@@ -67,10 +67,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBSAnimationNode.h b/include/obj/NiBSAnimationNode.h
index 4e2aec64..9b757863 100644
--- a/include/obj/NiBSAnimationNode.h
+++ b/include/obj/NiBSAnimationNode.h
@@ -67,10 +67,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBSBoneLODController.h b/include/obj/NiBSBoneLODController.h
index 357c9458..2c2567fc 100644
--- a/include/obj/NiBSBoneLODController.h
+++ b/include/obj/NiBSBoneLODController.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBSPArrayController.h b/include/obj/NiBSPArrayController.h
index c1b824c3..d91207c7 100644
--- a/include/obj/NiBSPArrayController.h
+++ b/include/obj/NiBSPArrayController.h
@@ -67,10 +67,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBSParticleNode.h b/include/obj/NiBSParticleNode.h
index a91441d0..33b77edc 100644
--- a/include/obj/NiBSParticleNode.h
+++ b/include/obj/NiBSParticleNode.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBSplineBasisData.h b/include/obj/NiBSplineBasisData.h
index 644fc7a2..d0f8ef71 100644
--- a/include/obj/NiBSplineBasisData.h
+++ b/include/obj/NiBSplineBasisData.h
@@ -84,10 +84,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBSplineCompFloatInterpolator.h b/include/obj/NiBSplineCompFloatInterpolator.h
index 04e9e441..535fbffe 100644
--- a/include/obj/NiBSplineCompFloatInterpolator.h
+++ b/include/obj/NiBSplineCompFloatInterpolator.h
@@ -71,10 +71,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBSplineCompPoint3Interpolator.h b/include/obj/NiBSplineCompPoint3Interpolator.h
index 56c9b1f5..1160ce4c 100644
--- a/include/obj/NiBSplineCompPoint3Interpolator.h
+++ b/include/obj/NiBSplineCompPoint3Interpolator.h
@@ -71,10 +71,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBSplineCompTransformInterpolator.h b/include/obj/NiBSplineCompTransformInterpolator.h
index ec5bcbd1..a5427880 100644
--- a/include/obj/NiBSplineCompTransformInterpolator.h
+++ b/include/obj/NiBSplineCompTransformInterpolator.h
@@ -272,10 +272,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBSplineData.h b/include/obj/NiBSplineData.h
index e33dd2f8..ca31a46a 100644
--- a/include/obj/NiBSplineData.h
+++ b/include/obj/NiBSplineData.h
@@ -94,10 +94,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBSplineFloatInterpolator.h b/include/obj/NiBSplineFloatInterpolator.h
index 4aa8b6dc..d2386c88 100644
--- a/include/obj/NiBSplineFloatInterpolator.h
+++ b/include/obj/NiBSplineFloatInterpolator.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBSplineInterpolator.h b/include/obj/NiBSplineInterpolator.h
index ab6f863a..af4a0375 100644
--- a/include/obj/NiBSplineInterpolator.h
+++ b/include/obj/NiBSplineInterpolator.h
@@ -142,10 +142,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBSplinePoint3Interpolator.h b/include/obj/NiBSplinePoint3Interpolator.h
index 2badf316..052a9a61 100644
--- a/include/obj/NiBSplinePoint3Interpolator.h
+++ b/include/obj/NiBSplinePoint3Interpolator.h
@@ -71,10 +71,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBSplineTransformInterpolator.h b/include/obj/NiBSplineTransformInterpolator.h
index 51ec07d5..ba6093cc 100644
--- a/include/obj/NiBSplineTransformInterpolator.h
+++ b/include/obj/NiBSplineTransformInterpolator.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBillboardNode.h b/include/obj/NiBillboardNode.h
index 8ff074cb..b8b77d01 100644
--- a/include/obj/NiBillboardNode.h
+++ b/include/obj/NiBillboardNode.h
@@ -85,10 +85,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBinaryExtraData.h b/include/obj/NiBinaryExtraData.h
index a4d9862f..4b91015b 100644
--- a/include/obj/NiBinaryExtraData.h
+++ b/include/obj/NiBinaryExtraData.h
@@ -88,10 +88,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBinaryVoxelData.h b/include/obj/NiBinaryVoxelData.h
index 47bf39de..22b8b836 100644
--- a/include/obj/NiBinaryVoxelData.h
+++ b/include/obj/NiBinaryVoxelData.h
@@ -107,10 +107,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBinaryVoxelExtraData.h b/include/obj/NiBinaryVoxelExtraData.h
index 4e728ffc..3ddc711d 100644
--- a/include/obj/NiBinaryVoxelExtraData.h
+++ b/include/obj/NiBinaryVoxelExtraData.h
@@ -80,10 +80,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBlendBoolInterpolator.h b/include/obj/NiBlendBoolInterpolator.h
index e1585687..f11d8cad 100644
--- a/include/obj/NiBlendBoolInterpolator.h
+++ b/include/obj/NiBlendBoolInterpolator.h
@@ -84,10 +84,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBlendFloatInterpolator.h b/include/obj/NiBlendFloatInterpolator.h
index 5764791a..5f29a036 100644
--- a/include/obj/NiBlendFloatInterpolator.h
+++ b/include/obj/NiBlendFloatInterpolator.h
@@ -84,10 +84,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBlendInterpolator.h b/include/obj/NiBlendInterpolator.h
index 8553af26..5c2ed9fd 100644
--- a/include/obj/NiBlendInterpolator.h
+++ b/include/obj/NiBlendInterpolator.h
@@ -75,10 +75,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBlendPoint3Interpolator.h b/include/obj/NiBlendPoint3Interpolator.h
index 85347782..87c40034 100644
--- a/include/obj/NiBlendPoint3Interpolator.h
+++ b/include/obj/NiBlendPoint3Interpolator.h
@@ -84,10 +84,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBlendTransformInterpolator.h b/include/obj/NiBlendTransformInterpolator.h
index 939547f3..63d52c78 100644
--- a/include/obj/NiBlendTransformInterpolator.h
+++ b/include/obj/NiBlendTransformInterpolator.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBone.h b/include/obj/NiBone.h
index a7d03559..dbfa3cf5 100644
--- a/include/obj/NiBone.h
+++ b/include/obj/NiBone.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBoneLODController.h b/include/obj/NiBoneLODController.h
index e75a8956..45b5d423 100644
--- a/include/obj/NiBoneLODController.h
+++ b/include/obj/NiBoneLODController.h
@@ -154,10 +154,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBoolData.h b/include/obj/NiBoolData.h
index 1dc25056..5cbb8e84 100644
--- a/include/obj/NiBoolData.h
+++ b/include/obj/NiBoolData.h
@@ -99,10 +99,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBoolInterpController.h b/include/obj/NiBoolInterpController.h
index 9a65c34b..106a62e4 100644
--- a/include/obj/NiBoolInterpController.h
+++ b/include/obj/NiBoolInterpController.h
@@ -67,10 +67,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBoolInterpolator.h b/include/obj/NiBoolInterpolator.h
index 5c2f605b..fabf1695 100644
--- a/include/obj/NiBoolInterpolator.h
+++ b/include/obj/NiBoolInterpolator.h
@@ -105,10 +105,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBoolTimelineInterpolator.h b/include/obj/NiBoolTimelineInterpolator.h
index c1d9061f..c99a1307 100644
--- a/include/obj/NiBoolTimelineInterpolator.h
+++ b/include/obj/NiBoolTimelineInterpolator.h
@@ -67,10 +67,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiBooleanExtraData.h b/include/obj/NiBooleanExtraData.h
index 60960b36..ec21500e 100644
--- a/include/obj/NiBooleanExtraData.h
+++ b/include/obj/NiBooleanExtraData.h
@@ -84,10 +84,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiCamera.h b/include/obj/NiCamera.h
index 2def4cad..e0842221 100644
--- a/include/obj/NiCamera.h
+++ b/include/obj/NiCamera.h
@@ -281,10 +281,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiClod.h b/include/obj/NiClod.h
index 0221693b..6f72b8dc 100644
--- a/include/obj/NiClod.h
+++ b/include/obj/NiClod.h
@@ -67,10 +67,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiClodData.h b/include/obj/NiClodData.h
index 21084dfe..110d131d 100644
--- a/include/obj/NiClodData.h
+++ b/include/obj/NiClodData.h
@@ -107,10 +107,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiClodSkinInstance.h b/include/obj/NiClodSkinInstance.h
index 82aa41e2..3ce6047d 100644
--- a/include/obj/NiClodSkinInstance.h
+++ b/include/obj/NiClodSkinInstance.h
@@ -67,10 +67,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiCollisionData.h b/include/obj/NiCollisionData.h
index 3764be3c..cce67c94 100644
--- a/include/obj/NiCollisionData.h
+++ b/include/obj/NiCollisionData.h
@@ -95,10 +95,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiCollisionObject.h b/include/obj/NiCollisionObject.h
index 4be107cc..5e6bd46e 100644
--- a/include/obj/NiCollisionObject.h
+++ b/include/obj/NiCollisionObject.h
@@ -111,10 +111,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiColorData.h b/include/obj/NiColorData.h
index 36f8dc41..622ea9e6 100644
--- a/include/obj/NiColorData.h
+++ b/include/obj/NiColorData.h
@@ -99,10 +99,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiColorExtraData.h b/include/obj/NiColorExtraData.h
index f74e329f..9a23a14a 100644
--- a/include/obj/NiColorExtraData.h
+++ b/include/obj/NiColorExtraData.h
@@ -84,10 +84,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiControllerManager.h b/include/obj/NiControllerManager.h
index b57a08d1..02286506 100644
--- a/include/obj/NiControllerManager.h
+++ b/include/obj/NiControllerManager.h
@@ -143,10 +143,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiControllerSequence.h b/include/obj/NiControllerSequence.h
index ef9c831b..d109a775 100644
--- a/include/obj/NiControllerSequence.h
+++ b/include/obj/NiControllerSequence.h
@@ -289,10 +289,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiDefaultAVObjectPalette.h b/include/obj/NiDefaultAVObjectPalette.h
index 2ba1de26..b42c4a2c 100644
--- a/include/obj/NiDefaultAVObjectPalette.h
+++ b/include/obj/NiDefaultAVObjectPalette.h
@@ -96,10 +96,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiDirectionalLight.h b/include/obj/NiDirectionalLight.h
index c5912b05..b8d63ce7 100644
--- a/include/obj/NiDirectionalLight.h
+++ b/include/obj/NiDirectionalLight.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiDitherProperty.h b/include/obj/NiDitherProperty.h
index aad9062e..7b059a07 100644
--- a/include/obj/NiDitherProperty.h
+++ b/include/obj/NiDitherProperty.h
@@ -84,10 +84,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiDynamicEffect.h b/include/obj/NiDynamicEffect.h
index b5c68075..52c43c5f 100644
--- a/include/obj/NiDynamicEffect.h
+++ b/include/obj/NiDynamicEffect.h
@@ -120,10 +120,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiExtraData.h b/include/obj/NiExtraData.h
index 5996a71e..03052797 100644
--- a/include/obj/NiExtraData.h
+++ b/include/obj/NiExtraData.h
@@ -118,10 +118,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiExtraDataController.h b/include/obj/NiExtraDataController.h
index f908f38d..fc6b8d2a 100644
--- a/include/obj/NiExtraDataController.h
+++ b/include/obj/NiExtraDataController.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiFlipController.h b/include/obj/NiFlipController.h
index bf377f8c..0c205335 100644
--- a/include/obj/NiFlipController.h
+++ b/include/obj/NiFlipController.h
@@ -98,10 +98,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiFloatData.h b/include/obj/NiFloatData.h
index 137f8432..b6a622ab 100644
--- a/include/obj/NiFloatData.h
+++ b/include/obj/NiFloatData.h
@@ -99,10 +99,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiFloatExtraData.h b/include/obj/NiFloatExtraData.h
index f94e594d..e5ca010e 100644
--- a/include/obj/NiFloatExtraData.h
+++ b/include/obj/NiFloatExtraData.h
@@ -84,10 +84,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiFloatExtraDataController.h b/include/obj/NiFloatExtraDataController.h
index f77e908f..a5813b14 100644
--- a/include/obj/NiFloatExtraDataController.h
+++ b/include/obj/NiFloatExtraDataController.h
@@ -71,10 +71,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiFloatInterpController.h b/include/obj/NiFloatInterpController.h
index d67c3349..979b0d18 100644
--- a/include/obj/NiFloatInterpController.h
+++ b/include/obj/NiFloatInterpController.h
@@ -67,10 +67,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiFloatInterpolator.h b/include/obj/NiFloatInterpolator.h
index c6e81428..fc1c27e9 100644
--- a/include/obj/NiFloatInterpolator.h
+++ b/include/obj/NiFloatInterpolator.h
@@ -105,10 +105,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiFloatsExtraData.h b/include/obj/NiFloatsExtraData.h
index 09f4fd14..f8df84b9 100644
--- a/include/obj/NiFloatsExtraData.h
+++ b/include/obj/NiFloatsExtraData.h
@@ -88,10 +88,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiFogProperty.h b/include/obj/NiFogProperty.h
index 02b3c640..741137d2 100644
--- a/include/obj/NiFogProperty.h
+++ b/include/obj/NiFogProperty.h
@@ -119,10 +119,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiGeomMorpherController.h b/include/obj/NiGeomMorpherController.h
index f8d5da26..8276a86a 100644
--- a/include/obj/NiGeomMorpherController.h
+++ b/include/obj/NiGeomMorpherController.h
@@ -132,10 +132,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiGeometry.h b/include/obj/NiGeometry.h
index 508fd51e..f428ade0 100644
--- a/include/obj/NiGeometry.h
+++ b/include/obj/NiGeometry.h
@@ -190,10 +190,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiGeometryData.h b/include/obj/NiGeometryData.h
index e2cec78d..1cda882b 100644
--- a/include/obj/NiGeometryData.h
+++ b/include/obj/NiGeometryData.h
@@ -271,10 +271,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiGravity.h b/include/obj/NiGravity.h
index f0901a4e..867aa330 100644
--- a/include/obj/NiGravity.h
+++ b/include/obj/NiGravity.h
@@ -89,10 +89,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiImage.h b/include/obj/NiImage.h
index 4edad22f..f22f78f2 100644
--- a/include/obj/NiImage.h
+++ b/include/obj/NiImage.h
@@ -106,10 +106,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiIntegerExtraData.h b/include/obj/NiIntegerExtraData.h
index 711b841c..f3586782 100644
--- a/include/obj/NiIntegerExtraData.h
+++ b/include/obj/NiIntegerExtraData.h
@@ -84,10 +84,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiIntegersExtraData.h b/include/obj/NiIntegersExtraData.h
index 355fd8fb..7ede9b2a 100644
--- a/include/obj/NiIntegersExtraData.h
+++ b/include/obj/NiIntegersExtraData.h
@@ -88,10 +88,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiInterpController.h b/include/obj/NiInterpController.h
index 4a5e790b..34b15fc8 100644
--- a/include/obj/NiInterpController.h
+++ b/include/obj/NiInterpController.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiInterpolator.h b/include/obj/NiInterpolator.h
index 48f05103..7bc8656a 100644
--- a/include/obj/NiInterpolator.h
+++ b/include/obj/NiInterpolator.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiKeyBasedInterpolator.h b/include/obj/NiKeyBasedInterpolator.h
index 3b64290d..24ed3a30 100644
--- a/include/obj/NiKeyBasedInterpolator.h
+++ b/include/obj/NiKeyBasedInterpolator.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiKeyframeController.h b/include/obj/NiKeyframeController.h
index 30f6e6b3..eb0827b1 100644
--- a/include/obj/NiKeyframeController.h
+++ b/include/obj/NiKeyframeController.h
@@ -90,10 +90,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiKeyframeData.h b/include/obj/NiKeyframeData.h
index 788ad0f4..583e6237 100644
--- a/include/obj/NiKeyframeData.h
+++ b/include/obj/NiKeyframeData.h
@@ -254,10 +254,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiLODData.h b/include/obj/NiLODData.h
index 629d8bcf..b1348994 100644
--- a/include/obj/NiLODData.h
+++ b/include/obj/NiLODData.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiLODNode.h b/include/obj/NiLODNode.h
index dedcce58..4de02e21 100644
--- a/include/obj/NiLODNode.h
+++ b/include/obj/NiLODNode.h
@@ -136,10 +136,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiLight.h b/include/obj/NiLight.h
index 7c794e1c..1836225e 100644
--- a/include/obj/NiLight.h
+++ b/include/obj/NiLight.h
@@ -132,10 +132,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiLightColorController.h b/include/obj/NiLightColorController.h
index ee839aff..deaeb9d2 100644
--- a/include/obj/NiLightColorController.h
+++ b/include/obj/NiLightColorController.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiLightDimmerController.h b/include/obj/NiLightDimmerController.h
index 18dd29b3..53564826 100644
--- a/include/obj/NiLightDimmerController.h
+++ b/include/obj/NiLightDimmerController.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiLookAtController.h b/include/obj/NiLookAtController.h
index c774cb31..65c6522c 100644
--- a/include/obj/NiLookAtController.h
+++ b/include/obj/NiLookAtController.h
@@ -81,10 +81,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiLookAtInterpolator.h b/include/obj/NiLookAtInterpolator.h
index ca94d6d7..b541e98c 100644
--- a/include/obj/NiLookAtInterpolator.h
+++ b/include/obj/NiLookAtInterpolator.h
@@ -159,10 +159,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiMaterialColorController.h b/include/obj/NiMaterialColorController.h
index 50e581c7..dd1f0954 100644
--- a/include/obj/NiMaterialColorController.h
+++ b/include/obj/NiMaterialColorController.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiMaterialProperty.h b/include/obj/NiMaterialProperty.h
index a0b92588..b5e7aa65 100644
--- a/include/obj/NiMaterialProperty.h
+++ b/include/obj/NiMaterialProperty.h
@@ -182,10 +182,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiMeshPSysData.h b/include/obj/NiMeshPSysData.h
index 47730de9..728be374 100644
--- a/include/obj/NiMeshPSysData.h
+++ b/include/obj/NiMeshPSysData.h
@@ -111,10 +111,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiMeshParticleSystem.h b/include/obj/NiMeshParticleSystem.h
index 65aa8c8d..a41d4e46 100644
--- a/include/obj/NiMeshParticleSystem.h
+++ b/include/obj/NiMeshParticleSystem.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiMorphData.h b/include/obj/NiMorphData.h
index 5fb6ebdc..fa52fa6c 100644
--- a/include/obj/NiMorphData.h
+++ b/include/obj/NiMorphData.h
@@ -162,10 +162,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiMultiTargetTransformController.h b/include/obj/NiMultiTargetTransformController.h
index 7d83392c..7580fb61 100644
--- a/include/obj/NiMultiTargetTransformController.h
+++ b/include/obj/NiMultiTargetTransformController.h
@@ -90,10 +90,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiMultiTextureProperty.h b/include/obj/NiMultiTextureProperty.h
index d28d53d1..5e97b43e 100644
--- a/include/obj/NiMultiTextureProperty.h
+++ b/include/obj/NiMultiTextureProperty.h
@@ -87,10 +87,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiNode.h b/include/obj/NiNode.h
index ce2ba8ad..5ea1287a 100644
--- a/include/obj/NiNode.h
+++ b/include/obj/NiNode.h
@@ -193,10 +193,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiObject.h b/include/obj/NiObject.h
index 88ae0bac..aa560ed7 100644
--- a/include/obj/NiObject.h
+++ b/include/obj/NiObject.h
@@ -148,10 +148,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiObjectNET.h b/include/obj/NiObjectNET.h
index 3d02828b..d03b678c 100644
--- a/include/obj/NiObjectNET.h
+++ b/include/obj/NiObjectNET.h
@@ -165,10 +165,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysAgeDeathModifier.h b/include/obj/NiPSysAgeDeathModifier.h
index 6c644e36..44ae1422 100644
--- a/include/obj/NiPSysAgeDeathModifier.h
+++ b/include/obj/NiPSysAgeDeathModifier.h
@@ -80,10 +80,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysBombModifier.h b/include/obj/NiPSysBombModifier.h
index fdf86a56..7fe79dc4 100644
--- a/include/obj/NiPSysBombModifier.h
+++ b/include/obj/NiPSysBombModifier.h
@@ -85,10 +85,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysBoundUpdateModifier.h b/include/obj/NiPSysBoundUpdateModifier.h
index b5fa39dc..0289676a 100644
--- a/include/obj/NiPSysBoundUpdateModifier.h
+++ b/include/obj/NiPSysBoundUpdateModifier.h
@@ -71,10 +71,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysBoxEmitter.h b/include/obj/NiPSysBoxEmitter.h
index bd398343..dc0c0f61 100644
--- a/include/obj/NiPSysBoxEmitter.h
+++ b/include/obj/NiPSysBoxEmitter.h
@@ -79,10 +79,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysCollider.h b/include/obj/NiPSysCollider.h
index 44f4caa7..12323b14 100644
--- a/include/obj/NiPSysCollider.h
+++ b/include/obj/NiPSysCollider.h
@@ -102,10 +102,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysColliderManager.h b/include/obj/NiPSysColliderManager.h
index 8eb96455..8b2d963f 100644
--- a/include/obj/NiPSysColliderManager.h
+++ b/include/obj/NiPSysColliderManager.h
@@ -76,10 +76,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysColorModifier.h b/include/obj/NiPSysColorModifier.h
index f7040ce6..970d863c 100644
--- a/include/obj/NiPSysColorModifier.h
+++ b/include/obj/NiPSysColorModifier.h
@@ -76,10 +76,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysCylinderEmitter.h b/include/obj/NiPSysCylinderEmitter.h
index 27121b81..939b9bf5 100644
--- a/include/obj/NiPSysCylinderEmitter.h
+++ b/include/obj/NiPSysCylinderEmitter.h
@@ -75,10 +75,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysData.h b/include/obj/NiPSysData.h
index c62060f1..f792e95e 100644
--- a/include/obj/NiPSysData.h
+++ b/include/obj/NiPSysData.h
@@ -103,10 +103,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysDragModifier.h b/include/obj/NiPSysDragModifier.h
index b19e7562..9b790ec0 100644
--- a/include/obj/NiPSysDragModifier.h
+++ b/include/obj/NiPSysDragModifier.h
@@ -89,10 +89,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysEmitter.h b/include/obj/NiPSysEmitter.h
index 74a7c2ce..ebd57af0 100644
--- a/include/obj/NiPSysEmitter.h
+++ b/include/obj/NiPSysEmitter.h
@@ -111,10 +111,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysEmitterCtlr.h b/include/obj/NiPSysEmitterCtlr.h
index a5a19de2..25aa7472 100644
--- a/include/obj/NiPSysEmitterCtlr.h
+++ b/include/obj/NiPSysEmitterCtlr.h
@@ -106,10 +106,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysEmitterCtlrData.h b/include/obj/NiPSysEmitterCtlrData.h
index fe28c867..7be9efe6 100644
--- a/include/obj/NiPSysEmitterCtlrData.h
+++ b/include/obj/NiPSysEmitterCtlrData.h
@@ -82,10 +82,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysEmitterDeclinationCtlr.h b/include/obj/NiPSysEmitterDeclinationCtlr.h
index fdc1a598..2bba3a00 100644
--- a/include/obj/NiPSysEmitterDeclinationCtlr.h
+++ b/include/obj/NiPSysEmitterDeclinationCtlr.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysEmitterDeclinationVarCtlr.h b/include/obj/NiPSysEmitterDeclinationVarCtlr.h
index 7d888c6b..57bfc93f 100644
--- a/include/obj/NiPSysEmitterDeclinationVarCtlr.h
+++ b/include/obj/NiPSysEmitterDeclinationVarCtlr.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysEmitterInitialRadiusCtlr.h b/include/obj/NiPSysEmitterInitialRadiusCtlr.h
index a35744b5..72b5e15f 100644
--- a/include/obj/NiPSysEmitterInitialRadiusCtlr.h
+++ b/include/obj/NiPSysEmitterInitialRadiusCtlr.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysEmitterLifeSpanCtlr.h b/include/obj/NiPSysEmitterLifeSpanCtlr.h
index 662b77b7..8daa4d87 100644
--- a/include/obj/NiPSysEmitterLifeSpanCtlr.h
+++ b/include/obj/NiPSysEmitterLifeSpanCtlr.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysEmitterSpeedCtlr.h b/include/obj/NiPSysEmitterSpeedCtlr.h
index 2432eede..8504125d 100644
--- a/include/obj/NiPSysEmitterSpeedCtlr.h
+++ b/include/obj/NiPSysEmitterSpeedCtlr.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysGravityModifier.h b/include/obj/NiPSysGravityModifier.h
index f5652b34..6c9ae382 100644
--- a/include/obj/NiPSysGravityModifier.h
+++ b/include/obj/NiPSysGravityModifier.h
@@ -97,10 +97,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysGravityStrengthCtlr.h b/include/obj/NiPSysGravityStrengthCtlr.h
index ec67fe40..57a87e0c 100644
--- a/include/obj/NiPSysGravityStrengthCtlr.h
+++ b/include/obj/NiPSysGravityStrengthCtlr.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysGrowFadeModifier.h b/include/obj/NiPSysGrowFadeModifier.h
index 5f9e96a1..76a37772 100644
--- a/include/obj/NiPSysGrowFadeModifier.h
+++ b/include/obj/NiPSysGrowFadeModifier.h
@@ -83,10 +83,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysMeshEmitter.h b/include/obj/NiPSysMeshEmitter.h
index c74762db..db4b51bd 100644
--- a/include/obj/NiPSysMeshEmitter.h
+++ b/include/obj/NiPSysMeshEmitter.h
@@ -96,10 +96,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysMeshUpdateModifier.h b/include/obj/NiPSysMeshUpdateModifier.h
index 612efef1..c0e26e35 100644
--- a/include/obj/NiPSysMeshUpdateModifier.h
+++ b/include/obj/NiPSysMeshUpdateModifier.h
@@ -80,10 +80,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysModifier.h b/include/obj/NiPSysModifier.h
index ab41d691..eac9f947 100644
--- a/include/obj/NiPSysModifier.h
+++ b/include/obj/NiPSysModifier.h
@@ -86,10 +86,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysModifierActiveCtlr.h b/include/obj/NiPSysModifierActiveCtlr.h
index 5fb08e56..f603e3fa 100644
--- a/include/obj/NiPSysModifierActiveCtlr.h
+++ b/include/obj/NiPSysModifierActiveCtlr.h
@@ -76,10 +76,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysModifierBoolCtlr.h b/include/obj/NiPSysModifierBoolCtlr.h
index 77dc4648..05ef4f6e 100644
--- a/include/obj/NiPSysModifierBoolCtlr.h
+++ b/include/obj/NiPSysModifierBoolCtlr.h
@@ -67,10 +67,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysModifierCtlr.h b/include/obj/NiPSysModifierCtlr.h
index 7c0075ba..e3a3ff81 100644
--- a/include/obj/NiPSysModifierCtlr.h
+++ b/include/obj/NiPSysModifierCtlr.h
@@ -71,10 +71,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysModifierFloatCtlr.h b/include/obj/NiPSysModifierFloatCtlr.h
index f0ac00e4..e5c24bbf 100644
--- a/include/obj/NiPSysModifierFloatCtlr.h
+++ b/include/obj/NiPSysModifierFloatCtlr.h
@@ -77,10 +77,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysPlanarCollider.h b/include/obj/NiPSysPlanarCollider.h
index 4eb9576a..8342c169 100644
--- a/include/obj/NiPSysPlanarCollider.h
+++ b/include/obj/NiPSysPlanarCollider.h
@@ -83,10 +83,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysPositionModifier.h b/include/obj/NiPSysPositionModifier.h
index 3c2633d4..d9822a30 100644
--- a/include/obj/NiPSysPositionModifier.h
+++ b/include/obj/NiPSysPositionModifier.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysResetOnLoopCtlr.h b/include/obj/NiPSysResetOnLoopCtlr.h
index b065be1e..303d4908 100644
--- a/include/obj/NiPSysResetOnLoopCtlr.h
+++ b/include/obj/NiPSysResetOnLoopCtlr.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysRotationModifier.h b/include/obj/NiPSysRotationModifier.h
index a845846a..b73062e9 100644
--- a/include/obj/NiPSysRotationModifier.h
+++ b/include/obj/NiPSysRotationModifier.h
@@ -95,10 +95,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysSpawnModifier.h b/include/obj/NiPSysSpawnModifier.h
index e02a032d..54aafe75 100644
--- a/include/obj/NiPSysSpawnModifier.h
+++ b/include/obj/NiPSysSpawnModifier.h
@@ -99,10 +99,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysSphereEmitter.h b/include/obj/NiPSysSphereEmitter.h
index 7192f3da..eae24116 100644
--- a/include/obj/NiPSysSphereEmitter.h
+++ b/include/obj/NiPSysSphereEmitter.h
@@ -71,10 +71,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysSphericalCollider.h b/include/obj/NiPSysSphericalCollider.h
index 7d988518..1bbbcb88 100644
--- a/include/obj/NiPSysSphericalCollider.h
+++ b/include/obj/NiPSysSphericalCollider.h
@@ -71,10 +71,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysUpdateCtlr.h b/include/obj/NiPSysUpdateCtlr.h
index 7e485dfb..6f650c57 100644
--- a/include/obj/NiPSysUpdateCtlr.h
+++ b/include/obj/NiPSysUpdateCtlr.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPSysVolumeEmitter.h b/include/obj/NiPSysVolumeEmitter.h
index bd1c69f8..7e6275b4 100644
--- a/include/obj/NiPSysVolumeEmitter.h
+++ b/include/obj/NiPSysVolumeEmitter.h
@@ -73,10 +73,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPalette.h b/include/obj/NiPalette.h
index 6484d4e7..c81ab775 100644
--- a/include/obj/NiPalette.h
+++ b/include/obj/NiPalette.h
@@ -94,10 +94,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiParticleBomb.h b/include/obj/NiParticleBomb.h
index d8d2af74..34e14b3e 100644
--- a/include/obj/NiParticleBomb.h
+++ b/include/obj/NiParticleBomb.h
@@ -115,10 +115,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiParticleColorModifier.h b/include/obj/NiParticleColorModifier.h
index d59a6493..239ddb43 100644
--- a/include/obj/NiParticleColorModifier.h
+++ b/include/obj/NiParticleColorModifier.h
@@ -76,10 +76,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiParticleGrowFade.h b/include/obj/NiParticleGrowFade.h
index b39cf7e7..7cc0059f 100644
--- a/include/obj/NiParticleGrowFade.h
+++ b/include/obj/NiParticleGrowFade.h
@@ -80,10 +80,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiParticleMeshModifier.h b/include/obj/NiParticleMeshModifier.h
index 8188c21f..9df205c9 100644
--- a/include/obj/NiParticleMeshModifier.h
+++ b/include/obj/NiParticleMeshModifier.h
@@ -80,10 +80,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiParticleMeshes.h b/include/obj/NiParticleMeshes.h
index 06f6b8f3..ca022e15 100644
--- a/include/obj/NiParticleMeshes.h
+++ b/include/obj/NiParticleMeshes.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiParticleMeshesData.h b/include/obj/NiParticleMeshesData.h
index eaf2a336..43c01545 100644
--- a/include/obj/NiParticleMeshesData.h
+++ b/include/obj/NiParticleMeshesData.h
@@ -76,10 +76,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiParticleRotation.h b/include/obj/NiParticleRotation.h
index aa1b1b11..f61e5328 100644
--- a/include/obj/NiParticleRotation.h
+++ b/include/obj/NiParticleRotation.h
@@ -87,10 +87,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiParticleSystem.h b/include/obj/NiParticleSystem.h
index 5c3b711b..c2eb5000 100644
--- a/include/obj/NiParticleSystem.h
+++ b/include/obj/NiParticleSystem.h
@@ -84,10 +84,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiParticleSystemController.h b/include/obj/NiParticleSystemController.h
index 41d6a5fd..a1336561 100644
--- a/include/obj/NiParticleSystemController.h
+++ b/include/obj/NiParticleSystemController.h
@@ -234,10 +234,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiParticles.h b/include/obj/NiParticles.h
index 2c7d3e3d..48cc2acc 100644
--- a/include/obj/NiParticles.h
+++ b/include/obj/NiParticles.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiParticlesData.h b/include/obj/NiParticlesData.h
index b09bff1b..cd04990b 100644
--- a/include/obj/NiParticlesData.h
+++ b/include/obj/NiParticlesData.h
@@ -108,10 +108,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPathController.h b/include/obj/NiPathController.h
index d7348a12..b1f00196 100644
--- a/include/obj/NiPathController.h
+++ b/include/obj/NiPathController.h
@@ -128,10 +128,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPathInterpolator.h b/include/obj/NiPathInterpolator.h
index 41eaa094..ed5c7afc 100644
--- a/include/obj/NiPathInterpolator.h
+++ b/include/obj/NiPathInterpolator.h
@@ -126,10 +126,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPixelData.h b/include/obj/NiPixelData.h
index e00ccea0..a3d41de8 100644
--- a/include/obj/NiPixelData.h
+++ b/include/obj/NiPixelData.h
@@ -184,10 +184,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPlanarCollider.h b/include/obj/NiPlanarCollider.h
index 21c6c1da..48955548 100644
--- a/include/obj/NiPlanarCollider.h
+++ b/include/obj/NiPlanarCollider.h
@@ -139,10 +139,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPoint3InterpController.h b/include/obj/NiPoint3InterpController.h
index 12b68606..bbf36884 100644
--- a/include/obj/NiPoint3InterpController.h
+++ b/include/obj/NiPoint3InterpController.h
@@ -95,10 +95,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPoint3Interpolator.h b/include/obj/NiPoint3Interpolator.h
index 250dce5e..35a2b9c8 100644
--- a/include/obj/NiPoint3Interpolator.h
+++ b/include/obj/NiPoint3Interpolator.h
@@ -105,10 +105,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPointLight.h b/include/obj/NiPointLight.h
index 7a771fe1..425ab6bb 100644
--- a/include/obj/NiPointLight.h
+++ b/include/obj/NiPointLight.h
@@ -116,10 +116,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiPosData.h b/include/obj/NiPosData.h
index 9bfca9ba..4014d6f5 100644
--- a/include/obj/NiPosData.h
+++ b/include/obj/NiPosData.h
@@ -99,10 +99,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiProperty.h b/include/obj/NiProperty.h
index fbdbb58a..aa84b7cd 100644
--- a/include/obj/NiProperty.h
+++ b/include/obj/NiProperty.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiRangeLODData.h b/include/obj/NiRangeLODData.h
index be9e8f1a..ed2a954c 100644
--- a/include/obj/NiRangeLODData.h
+++ b/include/obj/NiRangeLODData.h
@@ -108,10 +108,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiRawImageData.h b/include/obj/NiRawImageData.h
index 819c0b72..34d48e34 100644
--- a/include/obj/NiRawImageData.h
+++ b/include/obj/NiRawImageData.h
@@ -91,10 +91,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiRollController.h b/include/obj/NiRollController.h
index 039d1e20..4ea506fe 100644
--- a/include/obj/NiRollController.h
+++ b/include/obj/NiRollController.h
@@ -76,10 +76,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiRotatingParticles.h b/include/obj/NiRotatingParticles.h
index ce0c2f2d..dcf0ebbf 100644
--- a/include/obj/NiRotatingParticles.h
+++ b/include/obj/NiRotatingParticles.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiRotatingParticlesData.h b/include/obj/NiRotatingParticlesData.h
index 225581cf..60e272b1 100644
--- a/include/obj/NiRotatingParticlesData.h
+++ b/include/obj/NiRotatingParticlesData.h
@@ -75,10 +75,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiScreenLODData.h b/include/obj/NiScreenLODData.h
index cb9c917c..a4e5a626 100644
--- a/include/obj/NiScreenLODData.h
+++ b/include/obj/NiScreenLODData.h
@@ -153,10 +153,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiSequence.h b/include/obj/NiSequence.h
index 9b2409f3..3d3d9c76 100644
--- a/include/obj/NiSequence.h
+++ b/include/obj/NiSequence.h
@@ -102,10 +102,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiSequenceStreamHelper.h b/include/obj/NiSequenceStreamHelper.h
index 081e3bb3..22aca266 100644
--- a/include/obj/NiSequenceStreamHelper.h
+++ b/include/obj/NiSequenceStreamHelper.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiShadeProperty.h b/include/obj/NiShadeProperty.h
index 26def070..7a33ae13 100644
--- a/include/obj/NiShadeProperty.h
+++ b/include/obj/NiShadeProperty.h
@@ -87,10 +87,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiSingleInterpController.h b/include/obj/NiSingleInterpController.h
index c8b68f20..678cef29 100644
--- a/include/obj/NiSingleInterpController.h
+++ b/include/obj/NiSingleInterpController.h
@@ -90,10 +90,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiSkinData.h b/include/obj/NiSkinData.h
index 3a3b8eda..b482a05a 100644
--- a/include/obj/NiSkinData.h
+++ b/include/obj/NiSkinData.h
@@ -182,10 +182,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiSkinInstance.h b/include/obj/NiSkinInstance.h
index b22c96a6..2cd08a48 100644
--- a/include/obj/NiSkinInstance.h
+++ b/include/obj/NiSkinInstance.h
@@ -152,10 +152,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiSkinPartition.h b/include/obj/NiSkinPartition.h
index 8200fef3..27209d9f 100644
--- a/include/obj/NiSkinPartition.h
+++ b/include/obj/NiSkinPartition.h
@@ -206,10 +206,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiSourceTexture.h b/include/obj/NiSourceTexture.h
index c0776a7a..1cb0f967 100644
--- a/include/obj/NiSourceTexture.h
+++ b/include/obj/NiSourceTexture.h
@@ -184,10 +184,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiSpecularProperty.h b/include/obj/NiSpecularProperty.h
index 2d79fd69..a3cf7de4 100644
--- a/include/obj/NiSpecularProperty.h
+++ b/include/obj/NiSpecularProperty.h
@@ -84,10 +84,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiSphericalCollider.h b/include/obj/NiSphericalCollider.h
index 884acda3..8c6c8130 100644
--- a/include/obj/NiSphericalCollider.h
+++ b/include/obj/NiSphericalCollider.h
@@ -95,10 +95,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiSpotLight.h b/include/obj/NiSpotLight.h
index a6f05c64..885251f1 100644
--- a/include/obj/NiSpotLight.h
+++ b/include/obj/NiSpotLight.h
@@ -100,10 +100,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiStencilProperty.h b/include/obj/NiStencilProperty.h
index 9243d0e0..1b1050f6 100644
--- a/include/obj/NiStencilProperty.h
+++ b/include/obj/NiStencilProperty.h
@@ -212,10 +212,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiStringExtraData.h b/include/obj/NiStringExtraData.h
index a42d28aa..cae65a30 100644
--- a/include/obj/NiStringExtraData.h
+++ b/include/obj/NiStringExtraData.h
@@ -91,10 +91,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiStringPalette.h b/include/obj/NiStringPalette.h
index 209d0c9e..e305c5e1 100644
--- a/include/obj/NiStringPalette.h
+++ b/include/obj/NiStringPalette.h
@@ -103,10 +103,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiStringsExtraData.h b/include/obj/NiStringsExtraData.h
index bb65ebac..5b378d84 100644
--- a/include/obj/NiStringsExtraData.h
+++ b/include/obj/NiStringsExtraData.h
@@ -89,10 +89,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiSwitchNode.h b/include/obj/NiSwitchNode.h
index 8d2e2b93..1b191fa4 100644
--- a/include/obj/NiSwitchNode.h
+++ b/include/obj/NiSwitchNode.h
@@ -67,10 +67,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTextKeyExtraData.h b/include/obj/NiTextKeyExtraData.h
index 90924d9a..aa7ac4cc 100644
--- a/include/obj/NiTextKeyExtraData.h
+++ b/include/obj/NiTextKeyExtraData.h
@@ -97,10 +97,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTexture.h b/include/obj/NiTexture.h
index 47881880..1cb486d5 100644
--- a/include/obj/NiTexture.h
+++ b/include/obj/NiTexture.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTextureEffect.h b/include/obj/NiTextureEffect.h
index 8ec13cc4..e152207a 100644
--- a/include/obj/NiTextureEffect.h
+++ b/include/obj/NiTextureEffect.h
@@ -273,10 +273,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTextureModeProperty.h b/include/obj/NiTextureModeProperty.h
index e45b5b3b..0569bc01 100644
--- a/include/obj/NiTextureModeProperty.h
+++ b/include/obj/NiTextureModeProperty.h
@@ -75,10 +75,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTextureProperty.h b/include/obj/NiTextureProperty.h
index 60a348ee..6a8e925c 100644
--- a/include/obj/NiTextureProperty.h
+++ b/include/obj/NiTextureProperty.h
@@ -101,10 +101,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTextureTransformController.h b/include/obj/NiTextureTransformController.h
index a4489493..7127879d 100644
--- a/include/obj/NiTextureTransformController.h
+++ b/include/obj/NiTextureTransformController.h
@@ -89,10 +89,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTexturingProperty.h b/include/obj/NiTexturingProperty.h
index 095e9070..d755edce 100644
--- a/include/obj/NiTexturingProperty.h
+++ b/include/obj/NiTexturingProperty.h
@@ -312,10 +312,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTimeController.h b/include/obj/NiTimeController.h
index 0a045ea0..c74d6f6f 100644
--- a/include/obj/NiTimeController.h
+++ b/include/obj/NiTimeController.h
@@ -190,10 +190,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTransformController.h b/include/obj/NiTransformController.h
index ac638514..db84ec7b 100644
--- a/include/obj/NiTransformController.h
+++ b/include/obj/NiTransformController.h
@@ -67,10 +67,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTransformData.h b/include/obj/NiTransformData.h
index 61d4fccb..8fb39138 100644
--- a/include/obj/NiTransformData.h
+++ b/include/obj/NiTransformData.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTransformInterpolator.h b/include/obj/NiTransformInterpolator.h
index 5479db4e..e4b4cc3c 100644
--- a/include/obj/NiTransformInterpolator.h
+++ b/include/obj/NiTransformInterpolator.h
@@ -141,10 +141,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTriBasedGeom.h b/include/obj/NiTriBasedGeom.h
index 862e39ca..0d257693 100644
--- a/include/obj/NiTriBasedGeom.h
+++ b/include/obj/NiTriBasedGeom.h
@@ -85,10 +85,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTriBasedGeomData.h b/include/obj/NiTriBasedGeomData.h
index 75d39c27..dad41067 100644
--- a/include/obj/NiTriBasedGeomData.h
+++ b/include/obj/NiTriBasedGeomData.h
@@ -86,10 +86,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTriShape.h b/include/obj/NiTriShape.h
index 01974589..c3610105 100644
--- a/include/obj/NiTriShape.h
+++ b/include/obj/NiTriShape.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTriShapeData.h b/include/obj/NiTriShapeData.h
index 85b0d62f..789be916 100644
--- a/include/obj/NiTriShapeData.h
+++ b/include/obj/NiTriShapeData.h
@@ -138,10 +138,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTriShapeSkinController.h b/include/obj/NiTriShapeSkinController.h
index db39e71d..ae5040b4 100644
--- a/include/obj/NiTriShapeSkinController.h
+++ b/include/obj/NiTriShapeSkinController.h
@@ -89,10 +89,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTriStrips.h b/include/obj/NiTriStrips.h
index 537ed6d5..f4b2cae7 100644
--- a/include/obj/NiTriStrips.h
+++ b/include/obj/NiTriStrips.h
@@ -67,10 +67,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiTriStripsData.h b/include/obj/NiTriStripsData.h
index d5061fc5..6adcded4 100644
--- a/include/obj/NiTriStripsData.h
+++ b/include/obj/NiTriStripsData.h
@@ -147,10 +147,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiUVController.h b/include/obj/NiUVController.h
index 725fae80..c6bd687e 100644
--- a/include/obj/NiUVController.h
+++ b/include/obj/NiUVController.h
@@ -95,10 +95,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiUVData.h b/include/obj/NiUVData.h
index 8824c367..57814703 100644
--- a/include/obj/NiUVData.h
+++ b/include/obj/NiUVData.h
@@ -76,10 +76,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiVectorExtraData.h b/include/obj/NiVectorExtraData.h
index 35f67bee..17c08fa0 100644
--- a/include/obj/NiVectorExtraData.h
+++ b/include/obj/NiVectorExtraData.h
@@ -90,10 +90,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiVertWeightsExtraData.h b/include/obj/NiVertWeightsExtraData.h
index af605fb2..fd3a7bd9 100644
--- a/include/obj/NiVertWeightsExtraData.h
+++ b/include/obj/NiVertWeightsExtraData.h
@@ -93,10 +93,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiVertexColorProperty.h b/include/obj/NiVertexColorProperty.h
index d171c2f5..3f1490c1 100644
--- a/include/obj/NiVertexColorProperty.h
+++ b/include/obj/NiVertexColorProperty.h
@@ -123,10 +123,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiVisController.h b/include/obj/NiVisController.h
index afba571e..6c8e8e2a 100644
--- a/include/obj/NiVisController.h
+++ b/include/obj/NiVisController.h
@@ -76,10 +76,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiVisData.h b/include/obj/NiVisData.h
index 3ebbb5eb..7850400e 100644
--- a/include/obj/NiVisData.h
+++ b/include/obj/NiVisData.h
@@ -75,10 +75,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiWireframeProperty.h b/include/obj/NiWireframeProperty.h
index fe7305d5..dc01a086 100644
--- a/include/obj/NiWireframeProperty.h
+++ b/include/obj/NiWireframeProperty.h
@@ -85,10 +85,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/NiZBufferProperty.h b/include/obj/NiZBufferProperty.h
index 4593f594..2eef980e 100644
--- a/include/obj/NiZBufferProperty.h
+++ b/include/obj/NiZBufferProperty.h
@@ -102,10 +102,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/RootCollisionNode.h b/include/obj/RootCollisionNode.h
index a2a6288f..45365c78 100644
--- a/include/obj/RootCollisionNode.h
+++ b/include/obj/RootCollisionNode.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkBlendCollisionObject.h b/include/obj/bhkBlendCollisionObject.h
index 571ec3e8..f02d2fe9 100644
--- a/include/obj/bhkBlendCollisionObject.h
+++ b/include/obj/bhkBlendCollisionObject.h
@@ -75,10 +75,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkBlendController.h b/include/obj/bhkBlendController.h
index 117e1473..f7853b67 100644
--- a/include/obj/bhkBlendController.h
+++ b/include/obj/bhkBlendController.h
@@ -72,10 +72,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkBoxShape.h b/include/obj/bhkBoxShape.h
index 05d9c2d5..9a7a2474 100644
--- a/include/obj/bhkBoxShape.h
+++ b/include/obj/bhkBoxShape.h
@@ -104,10 +104,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkBvTreeShape.h b/include/obj/bhkBvTreeShape.h
index 758b558a..64835bd8 100644
--- a/include/obj/bhkBvTreeShape.h
+++ b/include/obj/bhkBvTreeShape.h
@@ -67,10 +67,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkCapsuleShape.h b/include/obj/bhkCapsuleShape.h
index d51a3e5a..d6dbdb4b 100644
--- a/include/obj/bhkCapsuleShape.h
+++ b/include/obj/bhkCapsuleShape.h
@@ -160,10 +160,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkCollisionObject.h b/include/obj/bhkCollisionObject.h
index cead5ebb..9ea67bb6 100644
--- a/include/obj/bhkCollisionObject.h
+++ b/include/obj/bhkCollisionObject.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkConstraint.h b/include/obj/bhkConstraint.h
index 0eff74be..daa6e87b 100644
--- a/include/obj/bhkConstraint.h
+++ b/include/obj/bhkConstraint.h
@@ -81,10 +81,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkConvexShape.h b/include/obj/bhkConvexShape.h
index 453a371c..a8293439 100644
--- a/include/obj/bhkConvexShape.h
+++ b/include/obj/bhkConvexShape.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkConvexTransformShape.h b/include/obj/bhkConvexTransformShape.h
index 3ad6e713..1edc6045 100644
--- a/include/obj/bhkConvexTransformShape.h
+++ b/include/obj/bhkConvexTransformShape.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkConvexVerticesShape.h b/include/obj/bhkConvexVerticesShape.h
index 0afda632..1baa41f5 100644
--- a/include/obj/bhkConvexVerticesShape.h
+++ b/include/obj/bhkConvexVerticesShape.h
@@ -88,10 +88,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkEntity.h b/include/obj/bhkEntity.h
index 919663fa..b0953ccd 100644
--- a/include/obj/bhkEntity.h
+++ b/include/obj/bhkEntity.h
@@ -67,10 +67,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkHingeConstraint.h b/include/obj/bhkHingeConstraint.h
index 9aa6f952..81d54095 100644
--- a/include/obj/bhkHingeConstraint.h
+++ b/include/obj/bhkHingeConstraint.h
@@ -87,10 +87,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkLimitedHingeConstraint.h b/include/obj/bhkLimitedHingeConstraint.h
index 70eba128..64f67c0b 100644
--- a/include/obj/bhkLimitedHingeConstraint.h
+++ b/include/obj/bhkLimitedHingeConstraint.h
@@ -74,10 +74,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkListShape.h b/include/obj/bhkListShape.h
index 7712fef4..f24c279f 100644
--- a/include/obj/bhkListShape.h
+++ b/include/obj/bhkListShape.h
@@ -96,10 +96,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkMalleableConstraint.h b/include/obj/bhkMalleableConstraint.h
index 266d60b4..984757f8 100644
--- a/include/obj/bhkMalleableConstraint.h
+++ b/include/obj/bhkMalleableConstraint.h
@@ -110,10 +110,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkMoppBvTreeShape.h b/include/obj/bhkMoppBvTreeShape.h
index 3adb5f10..23b4c145 100644
--- a/include/obj/bhkMoppBvTreeShape.h
+++ b/include/obj/bhkMoppBvTreeShape.h
@@ -106,10 +106,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkMultiSphereShape.h b/include/obj/bhkMultiSphereShape.h
index 0f6c5710..d853f7ec 100644
--- a/include/obj/bhkMultiSphereShape.h
+++ b/include/obj/bhkMultiSphereShape.h
@@ -100,10 +100,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkNiCollisionObject.h b/include/obj/bhkNiCollisionObject.h
index c0a50947..833bc6fa 100644
--- a/include/obj/bhkNiCollisionObject.h
+++ b/include/obj/bhkNiCollisionObject.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkNiTriStripsShape.h b/include/obj/bhkNiTriStripsShape.h
index d5d7a18b..b0dd385e 100644
--- a/include/obj/bhkNiTriStripsShape.h
+++ b/include/obj/bhkNiTriStripsShape.h
@@ -143,10 +143,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkPCollisionObject.h b/include/obj/bhkPCollisionObject.h
index 565c9a48..b352ac62 100644
--- a/include/obj/bhkPCollisionObject.h
+++ b/include/obj/bhkPCollisionObject.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkPackedNiTriStripsShape.h b/include/obj/bhkPackedNiTriStripsShape.h
index ab028cd4..38b475ff 100644
--- a/include/obj/bhkPackedNiTriStripsShape.h
+++ b/include/obj/bhkPackedNiTriStripsShape.h
@@ -97,10 +97,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkPhantom.h b/include/obj/bhkPhantom.h
index 47aec0ad..7342eb6a 100644
--- a/include/obj/bhkPhantom.h
+++ b/include/obj/bhkPhantom.h
@@ -69,10 +69,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkPrismaticConstraint.h b/include/obj/bhkPrismaticConstraint.h
index afa13f8c..d6916774 100644
--- a/include/obj/bhkPrismaticConstraint.h
+++ b/include/obj/bhkPrismaticConstraint.h
@@ -75,10 +75,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkRagdollConstraint.h b/include/obj/bhkRagdollConstraint.h
index 92a87d92..c4e0e6d5 100644
--- a/include/obj/bhkRagdollConstraint.h
+++ b/include/obj/bhkRagdollConstraint.h
@@ -74,10 +74,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkRefObject.h b/include/obj/bhkRefObject.h
index 6274fad9..308a2016 100644
--- a/include/obj/bhkRefObject.h
+++ b/include/obj/bhkRefObject.h
@@ -67,10 +67,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkRigidBody.h b/include/obj/bhkRigidBody.h
index 1139c86e..ad6265f0 100644
--- a/include/obj/bhkRigidBody.h
+++ b/include/obj/bhkRigidBody.h
@@ -419,10 +419,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkRigidBodyT.h b/include/obj/bhkRigidBodyT.h
index 491edb84..cb96d2af 100644
--- a/include/obj/bhkRigidBodyT.h
+++ b/include/obj/bhkRigidBodyT.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkSPCollisionObject.h b/include/obj/bhkSPCollisionObject.h
index dd2e058d..4198dc8e 100644
--- a/include/obj/bhkSPCollisionObject.h
+++ b/include/obj/bhkSPCollisionObject.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkSerializable.h b/include/obj/bhkSerializable.h
index 8cb71c0f..17cb26f9 100644
--- a/include/obj/bhkSerializable.h
+++ b/include/obj/bhkSerializable.h
@@ -67,10 +67,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkShape.h b/include/obj/bhkShape.h
index d9d06d80..9e02e659 100644
--- a/include/obj/bhkShape.h
+++ b/include/obj/bhkShape.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkShapeCollection.h b/include/obj/bhkShapeCollection.h
index a299e4eb..6e74ea9f 100644
--- a/include/obj/bhkShapeCollection.h
+++ b/include/obj/bhkShapeCollection.h
@@ -66,10 +66,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkShapePhantom.h b/include/obj/bhkShapePhantom.h
index 83aabc08..65e07b02 100644
--- a/include/obj/bhkShapePhantom.h
+++ b/include/obj/bhkShapePhantom.h
@@ -67,10 +67,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkSimpleShapePhantom.h b/include/obj/bhkSimpleShapePhantom.h
index 1d934386..64d0201e 100644
--- a/include/obj/bhkSimpleShapePhantom.h
+++ b/include/obj/bhkSimpleShapePhantom.h
@@ -79,10 +79,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkSphereRepShape.h b/include/obj/bhkSphereRepShape.h
index 43405101..bf914969 100644
--- a/include/obj/bhkSphereRepShape.h
+++ b/include/obj/bhkSphereRepShape.h
@@ -89,10 +89,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkSphereShape.h b/include/obj/bhkSphereShape.h
index 399e119a..0476ff62 100644
--- a/include/obj/bhkSphereShape.h
+++ b/include/obj/bhkSphereShape.h
@@ -79,10 +79,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkStiffSpringConstraint.h b/include/obj/bhkStiffSpringConstraint.h
index 31c82e8f..8f5b000a 100644
--- a/include/obj/bhkStiffSpringConstraint.h
+++ b/include/obj/bhkStiffSpringConstraint.h
@@ -79,10 +79,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkTransformShape.h b/include/obj/bhkTransformShape.h
index 2794b9f9..687f8e21 100644
--- a/include/obj/bhkTransformShape.h
+++ b/include/obj/bhkTransformShape.h
@@ -92,10 +92,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/bhkWorldObject.h b/include/obj/bhkWorldObject.h
index a1aaf87a..cfdfe31e 100644
--- a/include/obj/bhkWorldObject.h
+++ b/include/obj/bhkWorldObject.h
@@ -117,10 +117,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/include/obj/hkPackedNiTriStripsData.h b/include/obj/hkPackedNiTriStripsData.h
index 131e8822..75f6b6d7 100644
--- a/include/obj/hkPackedNiTriStripsData.h
+++ b/include/obj/hkPackedNiTriStripsData.h
@@ -86,10 +86,6 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN static bool Register();
-private:
-	static bool obj_initialized;
 };
 
 //--BEGIN FILE FOOT CUSTOM CODE--//
diff --git a/niflib.vcproj b/niflib.vcproj
index 3dbfb456..1c26b5ae 100644
--- a/niflib.vcproj
+++ b/niflib.vcproj
@@ -1444,6 +1444,10 @@
 					RelativePath=".\src\gen\RagDollDescriptor.cpp"
 					>
 				</File>
+				<File
+					RelativePath=".\src\gen\register.cpp"
+					>
+				</File>
 				<File
 					RelativePath=".\src\gen\ShaderTexDesc.cpp"
 					>
diff --git a/src/gen/AVObject.cpp b/src/gen/AVObject.cpp
index 7f8475f5..55cd1123 100644
--- a/src/gen/AVObject.cpp
+++ b/src/gen/AVObject.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/AVObject.h"
 #include "../../include/obj/NiAVObject.h"
diff --git a/src/gen/BoundingBox.cpp b/src/gen/BoundingBox.cpp
index 8788cf0e..c48ad8f2 100644
--- a/src/gen/BoundingBox.cpp
+++ b/src/gen/BoundingBox.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/BoundingBox.h"
 using namespace Niflib;
diff --git a/src/gen/ByteArray.cpp b/src/gen/ByteArray.cpp
index 2c3183fa..75529c46 100644
--- a/src/gen/ByteArray.cpp
+++ b/src/gen/ByteArray.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/ByteArray.h"
 using namespace Niflib;
diff --git a/src/gen/ByteColor3.cpp b/src/gen/ByteColor3.cpp
index 67855700..1a3590ed 100644
--- a/src/gen/ByteColor3.cpp
+++ b/src/gen/ByteColor3.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/ByteColor3.h"
 using namespace Niflib;
diff --git a/src/gen/ByteColor4.cpp b/src/gen/ByteColor4.cpp
index 63a32cbf..f43b0db0 100644
--- a/src/gen/ByteColor4.cpp
+++ b/src/gen/ByteColor4.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/ByteColor4.h"
 using namespace Niflib;
diff --git a/src/gen/ControllerLink.cpp b/src/gen/ControllerLink.cpp
index 9dc92c43..95b6b86f 100644
--- a/src/gen/ControllerLink.cpp
+++ b/src/gen/ControllerLink.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/ControllerLink.h"
 #include "../../include/obj/NiTimeController.h"
diff --git a/src/gen/Footer.cpp b/src/gen/Footer.cpp
index 8dc69c6c..37aa34c0 100644
--- a/src/gen/Footer.cpp
+++ b/src/gen/Footer.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/Footer.h"
 #include "../../include/obj/NiObject.h"
diff --git a/src/gen/FurniturePosition.cpp b/src/gen/FurniturePosition.cpp
index 295050f4..cce3a980 100644
--- a/src/gen/FurniturePosition.cpp
+++ b/src/gen/FurniturePosition.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/FurniturePosition.h"
 using namespace Niflib;
diff --git a/src/gen/Header.cpp b/src/gen/Header.cpp
index 7c2df9f7..0c65edae 100644
--- a/src/gen/Header.cpp
+++ b/src/gen/Header.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/Header.h"
 using namespace Niflib;
diff --git a/src/gen/LODRange.cpp b/src/gen/LODRange.cpp
index 7637aa9d..174598e6 100644
--- a/src/gen/LODRange.cpp
+++ b/src/gen/LODRange.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/LODRange.h"
 using namespace Niflib;
diff --git a/src/gen/LimitedHingeDescriptor.cpp b/src/gen/LimitedHingeDescriptor.cpp
index 6a913a89..749f853a 100644
--- a/src/gen/LimitedHingeDescriptor.cpp
+++ b/src/gen/LimitedHingeDescriptor.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/LimitedHingeDescriptor.h"
 using namespace Niflib;
diff --git a/src/gen/MatchGroup.cpp b/src/gen/MatchGroup.cpp
index b6b30bf0..ea16f899 100644
--- a/src/gen/MatchGroup.cpp
+++ b/src/gen/MatchGroup.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/MatchGroup.h"
 using namespace Niflib;
diff --git a/src/gen/MipMap.cpp b/src/gen/MipMap.cpp
index 2c3e112d..86a43d11 100644
--- a/src/gen/MipMap.cpp
+++ b/src/gen/MipMap.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/MipMap.h"
 using namespace Niflib;
diff --git a/src/gen/Morph.cpp b/src/gen/Morph.cpp
index 8d0117a5..0477f9a0 100644
--- a/src/gen/Morph.cpp
+++ b/src/gen/Morph.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/Morph.h"
 using namespace Niflib;
diff --git a/src/gen/MultiTextureElement.cpp b/src/gen/MultiTextureElement.cpp
index 810f2a05..d9da08fd 100644
--- a/src/gen/MultiTextureElement.cpp
+++ b/src/gen/MultiTextureElement.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/MultiTextureElement.h"
 #include "../../include/obj/NiImage.h"
diff --git a/src/gen/NodeGroup.cpp b/src/gen/NodeGroup.cpp
index 3a591602..12718a84 100644
--- a/src/gen/NodeGroup.cpp
+++ b/src/gen/NodeGroup.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/NodeGroup.h"
 #include "../../include/obj/NiNode.h"
diff --git a/src/gen/OblivionColFilter.cpp b/src/gen/OblivionColFilter.cpp
index 12a05494..f5ec9a9b 100644
--- a/src/gen/OblivionColFilter.cpp
+++ b/src/gen/OblivionColFilter.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/OblivionColFilter.h"
 using namespace Niflib;
diff --git a/src/gen/OblivionSubShape.cpp b/src/gen/OblivionSubShape.cpp
index 4feb1d5c..7e7ebdbd 100644
--- a/src/gen/OblivionSubShape.cpp
+++ b/src/gen/OblivionSubShape.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/OblivionSubShape.h"
 using namespace Niflib;
diff --git a/src/gen/OldSkinData.cpp b/src/gen/OldSkinData.cpp
index 0817f243..1d7bf002 100644
--- a/src/gen/OldSkinData.cpp
+++ b/src/gen/OldSkinData.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/OldSkinData.h"
 using namespace Niflib;
diff --git a/src/gen/Particle.cpp b/src/gen/Particle.cpp
index f7ce7542..103cc66b 100644
--- a/src/gen/Particle.cpp
+++ b/src/gen/Particle.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/Particle.h"
 using namespace Niflib;
diff --git a/src/gen/QuaternionXYZW.cpp b/src/gen/QuaternionXYZW.cpp
index ca77fa34..709cec63 100644
--- a/src/gen/QuaternionXYZW.cpp
+++ b/src/gen/QuaternionXYZW.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/QuaternionXYZW.h"
 using namespace Niflib;
diff --git a/src/gen/RagDollDescriptor.cpp b/src/gen/RagDollDescriptor.cpp
index de7a9563..356169ca 100644
--- a/src/gen/RagDollDescriptor.cpp
+++ b/src/gen/RagDollDescriptor.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/RagdollDescriptor.h"
 using namespace Niflib;
diff --git a/src/gen/ShaderTexDesc.cpp b/src/gen/ShaderTexDesc.cpp
index 03e2928b..059eff1b 100644
--- a/src/gen/ShaderTexDesc.cpp
+++ b/src/gen/ShaderTexDesc.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/ShaderTexDesc.h"
 #include "../../include/gen/TexDesc.h"
diff --git a/src/gen/SkinData.cpp b/src/gen/SkinData.cpp
index fdc0fd8c..4eb7a4ff 100644
--- a/src/gen/SkinData.cpp
+++ b/src/gen/SkinData.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/SkinData.h"
 #include "../../include/gen/SkinWeight.h"
diff --git a/src/gen/SkinPartition.cpp b/src/gen/SkinPartition.cpp
index 7dc0e7e3..324290f5 100644
--- a/src/gen/SkinPartition.cpp
+++ b/src/gen/SkinPartition.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/SkinPartition.h"
 using namespace Niflib;
diff --git a/src/gen/SkinShape.cpp b/src/gen/SkinShape.cpp
index b4150521..90a3c1e8 100644
--- a/src/gen/SkinShape.cpp
+++ b/src/gen/SkinShape.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/SkinShape.h"
 #include "../../include/obj/NiTriShape.h"
diff --git a/src/gen/SkinShapeGroup.cpp b/src/gen/SkinShapeGroup.cpp
index 13cfbf35..457a966d 100644
--- a/src/gen/SkinShapeGroup.cpp
+++ b/src/gen/SkinShapeGroup.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/SkinShapeGroup.h"
 #include "../../include/gen/SkinShape.h"
diff --git a/src/gen/SkinWeight.cpp b/src/gen/SkinWeight.cpp
index ccd4e35c..48a0e456 100644
--- a/src/gen/SkinWeight.cpp
+++ b/src/gen/SkinWeight.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/SkinWeight.h"
 using namespace Niflib;
diff --git a/src/gen/Sphere.cpp b/src/gen/Sphere.cpp
index 1f640b84..75a452d2 100644
--- a/src/gen/Sphere.cpp
+++ b/src/gen/Sphere.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/Sphere.h"
 using namespace Niflib;
diff --git a/src/gen/StringPalette.cpp b/src/gen/StringPalette.cpp
index d4430d97..33f259d4 100644
--- a/src/gen/StringPalette.cpp
+++ b/src/gen/StringPalette.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/StringPalette.h"
 using namespace Niflib;
diff --git a/src/gen/TBC.cpp b/src/gen/TBC.cpp
index 817c89f2..1125fd39 100644
--- a/src/gen/TBC.cpp
+++ b/src/gen/TBC.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/TBC.h"
 using namespace Niflib;
diff --git a/src/gen/TexDesc.cpp b/src/gen/TexDesc.cpp
index 45684522..39a1921e 100644
--- a/src/gen/TexDesc.cpp
+++ b/src/gen/TexDesc.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/TexDesc.h"
 #include "../../include/obj/NiSourceTexture.h"
diff --git a/src/gen/TexSource.cpp b/src/gen/TexSource.cpp
index ffee393d..19f4dec4 100644
--- a/src/gen/TexSource.cpp
+++ b/src/gen/TexSource.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/TexSource.h"
 #include "../../include/obj/NiObject.h"
diff --git a/src/gen/enums.cpp b/src/gen/enums.cpp
index 573141a1..9e2566f7 100644
--- a/src/gen/enums.cpp
+++ b/src/gen/enums.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include <string>
 #include <iostream>
diff --git a/src/gen/hkTriangle.cpp b/src/gen/hkTriangle.cpp
index 0a5520dc..a017c280 100644
--- a/src/gen/hkTriangle.cpp
+++ b/src/gen/hkTriangle.cpp
@@ -3,7 +3,7 @@ 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.
+//To change this file, alter the niftools/docsys/gen_niflib.py Python script.
 
 #include "../../include/gen/hkTriangle.h"
 using namespace Niflib;
diff --git a/src/niflib.cpp b/src/niflib.cpp
index bf790484..7ae981ae 100644
--- a/src/niflib.cpp
+++ b/src/niflib.cpp
@@ -37,6 +37,10 @@ All rights reserved.  Please see niflib.h for license. */
 
 namespace Niflib {
 
+//Object Registration
+bool g_objects_registered = false;
+void RegisterObjects();
+
 //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 );
@@ -115,6 +119,12 @@ vector<NiObjectRef> ReadNifList( string const & file_name, NifInfo * info ) {
 
 vector<NiObjectRef> ReadNifList( istream & in, NifInfo * info ) {
 
+	//Ensure that objects are registered
+	if ( g_objects_registered == false ) {
+		g_objects_registered = true;
+		RegisterObjects();
+	}
+
 	//--Read Header--//
 	Header header;
 
diff --git a/src/obj/AParticleModifier.cpp b/src/obj/AParticleModifier.cpp
index 759dbfc3..62faf9f0 100644
--- a/src/obj/AParticleModifier.cpp
+++ b/src/obj/AParticleModifier.cpp
@@ -34,18 +34,6 @@ const Type & AParticleModifier::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool AParticleModifier::obj_initialized = AParticleModifier::Register();
-
-bool AParticleModifier::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/AvoidNode.cpp b/src/obj/AvoidNode.cpp
index 2a0b5314..863f91e8 100644
--- a/src/obj/AvoidNode.cpp
+++ b/src/obj/AvoidNode.cpp
@@ -33,18 +33,6 @@ const Type & AvoidNode::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool AvoidNode::obj_initialized = AvoidNode::Register();
-
-bool AvoidNode::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 31400e09..cd40d90a 100644
--- a/src/obj/BSBound.cpp
+++ b/src/obj/BSBound.cpp
@@ -33,18 +33,6 @@ const Type & BSBound::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool BSBound::obj_initialized = BSBound::Register();
-
-bool BSBound::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 85fa00a1..dfe9c26e 100644
--- a/src/obj/BSFurnitureMarker.cpp
+++ b/src/obj/BSFurnitureMarker.cpp
@@ -34,18 +34,6 @@ const Type & BSFurnitureMarker::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool BSFurnitureMarker::obj_initialized = BSFurnitureMarker::Register();
-
-bool BSFurnitureMarker::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 0ab55db2..d72276db 100644
--- a/src/obj/BSKeyframeController.cpp
+++ b/src/obj/BSKeyframeController.cpp
@@ -34,18 +34,6 @@ const Type & BSKeyframeController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool BSKeyframeController::obj_initialized = BSKeyframeController::Register();
-
-bool BSKeyframeController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 68f04702..a25b2f6d 100644
--- a/src/obj/BSPSysArrayEmitter.cpp
+++ b/src/obj/BSPSysArrayEmitter.cpp
@@ -33,18 +33,6 @@ const Type & BSPSysArrayEmitter::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool BSPSysArrayEmitter::obj_initialized = BSPSysArrayEmitter::Register();
-
-bool BSPSysArrayEmitter::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 a41e8140..1b36eb9b 100644
--- a/src/obj/BSParentVelocityModifier.cpp
+++ b/src/obj/BSParentVelocityModifier.cpp
@@ -33,18 +33,6 @@ const Type & BSParentVelocityModifier::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool BSParentVelocityModifier::obj_initialized = BSParentVelocityModifier::Register();
-
-bool BSParentVelocityModifier::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/BSWindModifier.cpp b/src/obj/BSWindModifier.cpp
index 9c24e6cc..707115cf 100644
--- a/src/obj/BSWindModifier.cpp
+++ b/src/obj/BSWindModifier.cpp
@@ -33,18 +33,6 @@ const Type & BSWindModifier::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool BSWindModifier::obj_initialized = BSWindModifier::Register();
-
-bool BSWindModifier::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "BSWindModifier", BSWindModifier::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 * BSWindModifier::Create() {
 	return new BSWindModifier;
 }
diff --git a/src/obj/BSXFlags.cpp b/src/obj/BSXFlags.cpp
index 5823fa8b..9abc16d2 100644
--- a/src/obj/BSXFlags.cpp
+++ b/src/obj/BSXFlags.cpp
@@ -33,18 +33,6 @@ const Type & BSXFlags::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool BSXFlags::obj_initialized = BSXFlags::Register();
-
-bool BSXFlags::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 0d679197..cc2047b5 100644
--- a/src/obj/FxButton.cpp
+++ b/src/obj/FxButton.cpp
@@ -33,18 +33,6 @@ const Type & FxButton::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool FxButton::obj_initialized = FxButton::Register();
-
-bool FxButton::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 82831cb7..b34173e0 100644
--- a/src/obj/FxRadioButton.cpp
+++ b/src/obj/FxRadioButton.cpp
@@ -33,18 +33,6 @@ const Type & FxRadioButton::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool FxRadioButton::obj_initialized = FxRadioButton::Register();
-
-bool FxRadioButton::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 ee22314d..4f73d083 100644
--- a/src/obj/FxWidget.cpp
+++ b/src/obj/FxWidget.cpp
@@ -33,18 +33,6 @@ const Type & FxWidget::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool FxWidget::obj_initialized = FxWidget::Register();
-
-bool FxWidget::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 15fd17f2..3f04fd6b 100644
--- a/src/obj/NiAVObject.cpp
+++ b/src/obj/NiAVObject.cpp
@@ -49,18 +49,6 @@ const Type & NiAVObject::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiAVObject::obj_initialized = NiAVObject::Register();
-
-bool NiAVObject::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiAVObjectPalette.cpp b/src/obj/NiAVObjectPalette.cpp
index c0ca9c50..dff66023 100644
--- a/src/obj/NiAVObjectPalette.cpp
+++ b/src/obj/NiAVObjectPalette.cpp
@@ -33,18 +33,6 @@ const Type & NiAVObjectPalette::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiAVObjectPalette::obj_initialized = NiAVObjectPalette::Register();
-
-bool NiAVObjectPalette::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiAVObjectPalette", NiAVObjectPalette::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 * NiAVObjectPalette::Create() {
 	return new NiAVObjectPalette;
 }
diff --git a/src/obj/NiAlphaController.cpp b/src/obj/NiAlphaController.cpp
index 9ccbf795..81f6ad80 100644
--- a/src/obj/NiAlphaController.cpp
+++ b/src/obj/NiAlphaController.cpp
@@ -34,18 +34,6 @@ const Type & NiAlphaController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiAlphaController::obj_initialized = NiAlphaController::Register();
-
-bool NiAlphaController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 7b1bfd0e..16583f1d 100644
--- a/src/obj/NiAlphaProperty.cpp
+++ b/src/obj/NiAlphaProperty.cpp
@@ -33,18 +33,6 @@ const Type & NiAlphaProperty::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiAlphaProperty::obj_initialized = NiAlphaProperty::Register();
-
-bool NiAlphaProperty::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 e9efee03..629dacf9 100644
--- a/src/obj/NiAmbientLight.cpp
+++ b/src/obj/NiAmbientLight.cpp
@@ -33,18 +33,6 @@ const Type & NiAmbientLight::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiAmbientLight::obj_initialized = NiAmbientLight::Register();
-
-bool NiAmbientLight::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 e682d4eb..f780d9de 100644
--- a/src/obj/NiAutoNormalParticles.cpp
+++ b/src/obj/NiAutoNormalParticles.cpp
@@ -33,18 +33,6 @@ const Type & NiAutoNormalParticles::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiAutoNormalParticles::obj_initialized = NiAutoNormalParticles::Register();
-
-bool NiAutoNormalParticles::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 52bbfadf..0535d849 100644
--- a/src/obj/NiAutoNormalParticlesData.cpp
+++ b/src/obj/NiAutoNormalParticlesData.cpp
@@ -33,18 +33,6 @@ const Type & NiAutoNormalParticlesData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiAutoNormalParticlesData::obj_initialized = NiAutoNormalParticlesData::Register();
-
-bool NiAutoNormalParticlesData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 66e9506b..1ea898e0 100644
--- a/src/obj/NiBSAnimationNode.cpp
+++ b/src/obj/NiBSAnimationNode.cpp
@@ -33,18 +33,6 @@ const Type & NiBSAnimationNode::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBSAnimationNode::obj_initialized = NiBSAnimationNode::Register();
-
-bool NiBSAnimationNode::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 3ebeb484..af9e84dd 100644
--- a/src/obj/NiBSBoneLODController.cpp
+++ b/src/obj/NiBSBoneLODController.cpp
@@ -33,18 +33,6 @@ const Type & NiBSBoneLODController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBSBoneLODController::obj_initialized = NiBSBoneLODController::Register();
-
-bool NiBSBoneLODController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 bb3757f0..cdcfa29e 100644
--- a/src/obj/NiBSPArrayController.cpp
+++ b/src/obj/NiBSPArrayController.cpp
@@ -33,18 +33,6 @@ const Type & NiBSPArrayController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBSPArrayController::obj_initialized = NiBSPArrayController::Register();
-
-bool NiBSPArrayController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 ed17ecef..22d3654a 100644
--- a/src/obj/NiBSParticleNode.cpp
+++ b/src/obj/NiBSParticleNode.cpp
@@ -33,18 +33,6 @@ const Type & NiBSParticleNode::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBSParticleNode::obj_initialized = NiBSParticleNode::Register();
-
-bool NiBSParticleNode::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 bfd75b67..fcc2ce7a 100644
--- a/src/obj/NiBSplineBasisData.cpp
+++ b/src/obj/NiBSplineBasisData.cpp
@@ -33,18 +33,6 @@ const Type & NiBSplineBasisData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBSplineBasisData::obj_initialized = NiBSplineBasisData::Register();
-
-bool NiBSplineBasisData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 44170304..9e45c500 100644
--- a/src/obj/NiBSplineCompFloatInterpolator.cpp
+++ b/src/obj/NiBSplineCompFloatInterpolator.cpp
@@ -33,18 +33,6 @@ const Type & NiBSplineCompFloatInterpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBSplineCompFloatInterpolator::obj_initialized = NiBSplineCompFloatInterpolator::Register();
-
-bool NiBSplineCompFloatInterpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 d5ee5bda..1e8a106b 100644
--- a/src/obj/NiBSplineCompPoint3Interpolator.cpp
+++ b/src/obj/NiBSplineCompPoint3Interpolator.cpp
@@ -33,18 +33,6 @@ const Type & NiBSplineCompPoint3Interpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBSplineCompPoint3Interpolator::obj_initialized = NiBSplineCompPoint3Interpolator::Register();
-
-bool NiBSplineCompPoint3Interpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 ad2e1a73..2846b128 100644
--- a/src/obj/NiBSplineCompTransformInterpolator.cpp
+++ b/src/obj/NiBSplineCompTransformInterpolator.cpp
@@ -40,18 +40,6 @@ const Type & NiBSplineCompTransformInterpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBSplineCompTransformInterpolator::obj_initialized = NiBSplineCompTransformInterpolator::Register();
-
-bool NiBSplineCompTransformInterpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 7c3ec7bc..c8ecb7ea 100644
--- a/src/obj/NiBSplineData.cpp
+++ b/src/obj/NiBSplineData.cpp
@@ -33,18 +33,6 @@ const Type & NiBSplineData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBSplineData::obj_initialized = NiBSplineData::Register();
-
-bool NiBSplineData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiBSplineFloatInterpolator.cpp b/src/obj/NiBSplineFloatInterpolator.cpp
index 24e279e7..0d9d0c1d 100644
--- a/src/obj/NiBSplineFloatInterpolator.cpp
+++ b/src/obj/NiBSplineFloatInterpolator.cpp
@@ -33,18 +33,6 @@ const Type & NiBSplineFloatInterpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBSplineFloatInterpolator::obj_initialized = NiBSplineFloatInterpolator::Register();
-
-bool NiBSplineFloatInterpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiBSplineFloatInterpolator", NiBSplineFloatInterpolator::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 * NiBSplineFloatInterpolator::Create() {
 	return new NiBSplineFloatInterpolator;
 }
diff --git a/src/obj/NiBSplineInterpolator.cpp b/src/obj/NiBSplineInterpolator.cpp
index e36b44f1..31ddacc4 100644
--- a/src/obj/NiBSplineInterpolator.cpp
+++ b/src/obj/NiBSplineInterpolator.cpp
@@ -35,18 +35,6 @@ const Type & NiBSplineInterpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBSplineInterpolator::obj_initialized = NiBSplineInterpolator::Register();
-
-bool NiBSplineInterpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiBSplinePoint3Interpolator.cpp b/src/obj/NiBSplinePoint3Interpolator.cpp
index ce43d47b..4e5f5e02 100644
--- a/src/obj/NiBSplinePoint3Interpolator.cpp
+++ b/src/obj/NiBSplinePoint3Interpolator.cpp
@@ -33,18 +33,6 @@ const Type & NiBSplinePoint3Interpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBSplinePoint3Interpolator::obj_initialized = NiBSplinePoint3Interpolator::Register();
-
-bool NiBSplinePoint3Interpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiBSplinePoint3Interpolator", NiBSplinePoint3Interpolator::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 * NiBSplinePoint3Interpolator::Create() {
 	return new NiBSplinePoint3Interpolator;
 }
diff --git a/src/obj/NiBSplineTransformInterpolator.cpp b/src/obj/NiBSplineTransformInterpolator.cpp
index b76e20c7..6eb200a1 100644
--- a/src/obj/NiBSplineTransformInterpolator.cpp
+++ b/src/obj/NiBSplineTransformInterpolator.cpp
@@ -33,18 +33,6 @@ const Type & NiBSplineTransformInterpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBSplineTransformInterpolator::obj_initialized = NiBSplineTransformInterpolator::Register();
-
-bool NiBSplineTransformInterpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiBSplineTransformInterpolator", NiBSplineTransformInterpolator::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 * NiBSplineTransformInterpolator::Create() {
 	return new NiBSplineTransformInterpolator;
 }
diff --git a/src/obj/NiBillboardNode.cpp b/src/obj/NiBillboardNode.cpp
index f4f32d01..bc071cc3 100644
--- a/src/obj/NiBillboardNode.cpp
+++ b/src/obj/NiBillboardNode.cpp
@@ -33,18 +33,6 @@ const Type & NiBillboardNode::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBillboardNode::obj_initialized = NiBillboardNode::Register();
-
-bool NiBillboardNode::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 991f5085..1923a447 100644
--- a/src/obj/NiBinaryExtraData.cpp
+++ b/src/obj/NiBinaryExtraData.cpp
@@ -34,18 +34,6 @@ const Type & NiBinaryExtraData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBinaryExtraData::obj_initialized = NiBinaryExtraData::Register();
-
-bool NiBinaryExtraData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiBinaryVoxelData.cpp b/src/obj/NiBinaryVoxelData.cpp
index bd43d359..b246b04b 100644
--- a/src/obj/NiBinaryVoxelData.cpp
+++ b/src/obj/NiBinaryVoxelData.cpp
@@ -33,18 +33,6 @@ const Type & NiBinaryVoxelData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBinaryVoxelData::obj_initialized = NiBinaryVoxelData::Register();
-
-bool NiBinaryVoxelData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiBinaryVoxelData", NiBinaryVoxelData::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 * NiBinaryVoxelData::Create() {
 	return new NiBinaryVoxelData;
 }
diff --git a/src/obj/NiBinaryVoxelExtraData.cpp b/src/obj/NiBinaryVoxelExtraData.cpp
index dbc634d5..d6407c14 100644
--- a/src/obj/NiBinaryVoxelExtraData.cpp
+++ b/src/obj/NiBinaryVoxelExtraData.cpp
@@ -34,18 +34,6 @@ const Type & NiBinaryVoxelExtraData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBinaryVoxelExtraData::obj_initialized = NiBinaryVoxelExtraData::Register();
-
-bool NiBinaryVoxelExtraData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiBinaryVoxelExtraData", NiBinaryVoxelExtraData::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 * NiBinaryVoxelExtraData::Create() {
 	return new NiBinaryVoxelExtraData;
 }
diff --git a/src/obj/NiBlendBoolInterpolator.cpp b/src/obj/NiBlendBoolInterpolator.cpp
index 40b3cf00..e698adb4 100644
--- a/src/obj/NiBlendBoolInterpolator.cpp
+++ b/src/obj/NiBlendBoolInterpolator.cpp
@@ -33,18 +33,6 @@ const Type & NiBlendBoolInterpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBlendBoolInterpolator::obj_initialized = NiBlendBoolInterpolator::Register();
-
-bool NiBlendBoolInterpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 fad33b9f..14f176d3 100644
--- a/src/obj/NiBlendFloatInterpolator.cpp
+++ b/src/obj/NiBlendFloatInterpolator.cpp
@@ -33,18 +33,6 @@ const Type & NiBlendFloatInterpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBlendFloatInterpolator::obj_initialized = NiBlendFloatInterpolator::Register();
-
-bool NiBlendFloatInterpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 4bff7d95..b0950db9 100644
--- a/src/obj/NiBlendInterpolator.cpp
+++ b/src/obj/NiBlendInterpolator.cpp
@@ -33,18 +33,6 @@ const Type & NiBlendInterpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBlendInterpolator::obj_initialized = NiBlendInterpolator::Register();
-
-bool NiBlendInterpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 d1fb1659..037526cb 100644
--- a/src/obj/NiBlendPoint3Interpolator.cpp
+++ b/src/obj/NiBlendPoint3Interpolator.cpp
@@ -33,18 +33,6 @@ const Type & NiBlendPoint3Interpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBlendPoint3Interpolator::obj_initialized = NiBlendPoint3Interpolator::Register();
-
-bool NiBlendPoint3Interpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 3c01fe53..9e35535e 100644
--- a/src/obj/NiBlendTransformInterpolator.cpp
+++ b/src/obj/NiBlendTransformInterpolator.cpp
@@ -33,18 +33,6 @@ const Type & NiBlendTransformInterpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBlendTransformInterpolator::obj_initialized = NiBlendTransformInterpolator::Register();
-
-bool NiBlendTransformInterpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiBone.cpp b/src/obj/NiBone.cpp
index e40c9450..d47a16f6 100644
--- a/src/obj/NiBone.cpp
+++ b/src/obj/NiBone.cpp
@@ -33,18 +33,6 @@ const Type & NiBone::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBone::obj_initialized = NiBone::Register();
-
-bool NiBone::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiBone", NiBone::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 * NiBone::Create() {
 	return new NiBone;
 }
diff --git a/src/obj/NiBoneLODController.cpp b/src/obj/NiBoneLODController.cpp
index 404b41ca..d0dcde5a 100644
--- a/src/obj/NiBoneLODController.cpp
+++ b/src/obj/NiBoneLODController.cpp
@@ -41,18 +41,6 @@ const Type & NiBoneLODController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBoneLODController::obj_initialized = NiBoneLODController::Register();
-
-bool NiBoneLODController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 3b35d0c2..eb8e245b 100644
--- a/src/obj/NiBoolData.cpp
+++ b/src/obj/NiBoolData.cpp
@@ -34,18 +34,6 @@ const Type & NiBoolData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBoolData::obj_initialized = NiBoolData::Register();
-
-bool NiBoolData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiBoolInterpController.cpp b/src/obj/NiBoolInterpController.cpp
index 92deb72f..4fe9260c 100644
--- a/src/obj/NiBoolInterpController.cpp
+++ b/src/obj/NiBoolInterpController.cpp
@@ -33,18 +33,6 @@ const Type & NiBoolInterpController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBoolInterpController::obj_initialized = NiBoolInterpController::Register();
-
-bool NiBoolInterpController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiBoolInterpController", NiBoolInterpController::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 * NiBoolInterpController::Create() {
 	return new NiBoolInterpController;
 }
diff --git a/src/obj/NiBoolInterpolator.cpp b/src/obj/NiBoolInterpolator.cpp
index 4e182f40..d03315c5 100644
--- a/src/obj/NiBoolInterpolator.cpp
+++ b/src/obj/NiBoolInterpolator.cpp
@@ -34,18 +34,6 @@ const Type & NiBoolInterpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBoolInterpolator::obj_initialized = NiBoolInterpolator::Register();
-
-bool NiBoolInterpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 c277bab1..3e5d7bc5 100644
--- a/src/obj/NiBoolTimelineInterpolator.cpp
+++ b/src/obj/NiBoolTimelineInterpolator.cpp
@@ -33,18 +33,6 @@ const Type & NiBoolTimelineInterpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBoolTimelineInterpolator::obj_initialized = NiBoolTimelineInterpolator::Register();
-
-bool NiBoolTimelineInterpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 9a2063f0..e31c672b 100644
--- a/src/obj/NiBooleanExtraData.cpp
+++ b/src/obj/NiBooleanExtraData.cpp
@@ -33,18 +33,6 @@ const Type & NiBooleanExtraData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiBooleanExtraData::obj_initialized = NiBooleanExtraData::Register();
-
-bool NiBooleanExtraData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 31498f21..3449168a 100644
--- a/src/obj/NiCamera.cpp
+++ b/src/obj/NiCamera.cpp
@@ -34,18 +34,6 @@ const Type & NiCamera::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiCamera::obj_initialized = NiCamera::Register();
-
-bool NiCamera::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 4bc67dbc..ba9a3d15 100644
--- a/src/obj/NiClod.cpp
+++ b/src/obj/NiClod.cpp
@@ -33,18 +33,6 @@ const Type & NiClod::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiClod::obj_initialized = NiClod::Register();
-
-bool NiClod::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 1c459c2e..07dddac3 100644
--- a/src/obj/NiClodData.cpp
+++ b/src/obj/NiClodData.cpp
@@ -33,18 +33,6 @@ const Type & NiClodData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiClodData::obj_initialized = NiClodData::Register();
-
-bool NiClodData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 91eb6148..7bf83670 100644
--- a/src/obj/NiClodSkinInstance.cpp
+++ b/src/obj/NiClodSkinInstance.cpp
@@ -33,18 +33,6 @@ const Type & NiClodSkinInstance::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiClodSkinInstance::obj_initialized = NiClodSkinInstance::Register();
-
-bool NiClodSkinInstance::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 e45d3342..b20671c1 100644
--- a/src/obj/NiCollisionData.cpp
+++ b/src/obj/NiCollisionData.cpp
@@ -33,18 +33,6 @@ const Type & NiCollisionData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiCollisionData::obj_initialized = NiCollisionData::Register();
-
-bool NiCollisionData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 91755dee..97d0105f 100644
--- a/src/obj/NiCollisionObject.cpp
+++ b/src/obj/NiCollisionObject.cpp
@@ -35,18 +35,6 @@ const Type & NiCollisionObject::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiCollisionObject::obj_initialized = NiCollisionObject::Register();
-
-bool NiCollisionObject::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 4dbe2d72..cbcd5def 100644
--- a/src/obj/NiColorData.cpp
+++ b/src/obj/NiColorData.cpp
@@ -34,18 +34,6 @@ const Type & NiColorData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiColorData::obj_initialized = NiColorData::Register();
-
-bool NiColorData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 fddadbc6..37a9bde5 100644
--- a/src/obj/NiColorExtraData.cpp
+++ b/src/obj/NiColorExtraData.cpp
@@ -33,18 +33,6 @@ const Type & NiColorExtraData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiColorExtraData::obj_initialized = NiColorExtraData::Register();
-
-bool NiColorExtraData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 c801323c..15d04135 100644
--- a/src/obj/NiControllerManager.cpp
+++ b/src/obj/NiControllerManager.cpp
@@ -36,18 +36,6 @@ const Type & NiControllerManager::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiControllerManager::obj_initialized = NiControllerManager::Register();
-
-bool NiControllerManager::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 98dfca36..4d6b7c55 100644
--- a/src/obj/NiControllerSequence.cpp
+++ b/src/obj/NiControllerSequence.cpp
@@ -40,18 +40,6 @@ const Type & NiControllerSequence::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiControllerSequence::obj_initialized = NiControllerSequence::Register();
-
-bool NiControllerSequence::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 bd56fa28..0bf509bc 100644
--- a/src/obj/NiDefaultAVObjectPalette.cpp
+++ b/src/obj/NiDefaultAVObjectPalette.cpp
@@ -35,18 +35,6 @@ const Type & NiDefaultAVObjectPalette::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiDefaultAVObjectPalette::obj_initialized = NiDefaultAVObjectPalette::Register();
-
-bool NiDefaultAVObjectPalette::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 ad6f4dfe..7ba82352 100644
--- a/src/obj/NiDirectionalLight.cpp
+++ b/src/obj/NiDirectionalLight.cpp
@@ -33,18 +33,6 @@ const Type & NiDirectionalLight::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiDirectionalLight::obj_initialized = NiDirectionalLight::Register();
-
-bool NiDirectionalLight::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 ca444816..5dca14b1 100644
--- a/src/obj/NiDitherProperty.cpp
+++ b/src/obj/NiDitherProperty.cpp
@@ -33,18 +33,6 @@ const Type & NiDitherProperty::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiDitherProperty::obj_initialized = NiDitherProperty::Register();
-
-bool NiDitherProperty::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 cfc9e01d..7259e5ad 100644
--- a/src/obj/NiDynamicEffect.cpp
+++ b/src/obj/NiDynamicEffect.cpp
@@ -34,18 +34,6 @@ const Type & NiDynamicEffect::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiDynamicEffect::obj_initialized = NiDynamicEffect::Register();
-
-bool NiDynamicEffect::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 a3fd7c02..90b65ad1 100644
--- a/src/obj/NiExtraData.cpp
+++ b/src/obj/NiExtraData.cpp
@@ -33,18 +33,6 @@ const Type & NiExtraData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiExtraData::obj_initialized = NiExtraData::Register();
-
-bool NiExtraData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiExtraDataController.cpp b/src/obj/NiExtraDataController.cpp
index acee4b42..21ed903b 100644
--- a/src/obj/NiExtraDataController.cpp
+++ b/src/obj/NiExtraDataController.cpp
@@ -33,18 +33,6 @@ const Type & NiExtraDataController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiExtraDataController::obj_initialized = NiExtraDataController::Register();
-
-bool NiExtraDataController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiExtraDataController", NiExtraDataController::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 * NiExtraDataController::Create() {
 	return new NiExtraDataController;
 }
diff --git a/src/obj/NiFlipController.cpp b/src/obj/NiFlipController.cpp
index 734d6804..a86b27c0 100644
--- a/src/obj/NiFlipController.cpp
+++ b/src/obj/NiFlipController.cpp
@@ -35,18 +35,6 @@ const Type & NiFlipController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiFlipController::obj_initialized = NiFlipController::Register();
-
-bool NiFlipController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 ce00f7d9..f34abcc9 100644
--- a/src/obj/NiFloatData.cpp
+++ b/src/obj/NiFloatData.cpp
@@ -34,18 +34,6 @@ const Type & NiFloatData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiFloatData::obj_initialized = NiFloatData::Register();
-
-bool NiFloatData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 ab55960f..67a327d2 100644
--- a/src/obj/NiFloatExtraData.cpp
+++ b/src/obj/NiFloatExtraData.cpp
@@ -33,18 +33,6 @@ const Type & NiFloatExtraData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiFloatExtraData::obj_initialized = NiFloatExtraData::Register();
-
-bool NiFloatExtraData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 301249bb..6a5dee99 100644
--- a/src/obj/NiFloatExtraDataController.cpp
+++ b/src/obj/NiFloatExtraDataController.cpp
@@ -33,18 +33,6 @@ const Type & NiFloatExtraDataController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiFloatExtraDataController::obj_initialized = NiFloatExtraDataController::Register();
-
-bool NiFloatExtraDataController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiFloatInterpController.cpp b/src/obj/NiFloatInterpController.cpp
index f06094ba..5c01c81c 100644
--- a/src/obj/NiFloatInterpController.cpp
+++ b/src/obj/NiFloatInterpController.cpp
@@ -33,18 +33,6 @@ const Type & NiFloatInterpController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiFloatInterpController::obj_initialized = NiFloatInterpController::Register();
-
-bool NiFloatInterpController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiFloatInterpController", NiFloatInterpController::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 * NiFloatInterpController::Create() {
 	return new NiFloatInterpController;
 }
diff --git a/src/obj/NiFloatInterpolator.cpp b/src/obj/NiFloatInterpolator.cpp
index 63e980e7..f65ca089 100644
--- a/src/obj/NiFloatInterpolator.cpp
+++ b/src/obj/NiFloatInterpolator.cpp
@@ -34,18 +34,6 @@ const Type & NiFloatInterpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiFloatInterpolator::obj_initialized = NiFloatInterpolator::Register();
-
-bool NiFloatInterpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 25dd0022..9dc6ac7b 100644
--- a/src/obj/NiFloatsExtraData.cpp
+++ b/src/obj/NiFloatsExtraData.cpp
@@ -33,18 +33,6 @@ const Type & NiFloatsExtraData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiFloatsExtraData::obj_initialized = NiFloatsExtraData::Register();
-
-bool NiFloatsExtraData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 aa8bd56e..95b5ea06 100644
--- a/src/obj/NiFogProperty.cpp
+++ b/src/obj/NiFogProperty.cpp
@@ -33,18 +33,6 @@ const Type & NiFogProperty::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiFogProperty::obj_initialized = NiFogProperty::Register();
-
-bool NiFogProperty::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 9b88f03e..2b817bfb 100644
--- a/src/obj/NiGeomMorpherController.cpp
+++ b/src/obj/NiGeomMorpherController.cpp
@@ -35,18 +35,6 @@ const Type & NiGeomMorpherController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiGeomMorpherController::obj_initialized = NiGeomMorpherController::Register();
-
-bool NiGeomMorpherController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 69a27c21..74480996 100644
--- a/src/obj/NiGeometry.cpp
+++ b/src/obj/NiGeometry.cpp
@@ -39,18 +39,6 @@ const Type & NiGeometry::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiGeometry::obj_initialized = NiGeometry::Register();
-
-bool NiGeometry::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 6f1ba62a..34d51f07 100644
--- a/src/obj/NiGeometryData.cpp
+++ b/src/obj/NiGeometryData.cpp
@@ -34,18 +34,6 @@ const Type & NiGeometryData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiGeometryData::obj_initialized = NiGeometryData::Register();
-
-bool NiGeometryData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 59234771..db647269 100644
--- a/src/obj/NiGravity.cpp
+++ b/src/obj/NiGravity.cpp
@@ -33,18 +33,6 @@ const Type & NiGravity::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiGravity::obj_initialized = NiGravity::Register();
-
-bool NiGravity::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 91037631..5b8ffbbd 100644
--- a/src/obj/NiImage.cpp
+++ b/src/obj/NiImage.cpp
@@ -34,18 +34,6 @@ const Type & NiImage::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiImage::obj_initialized = NiImage::Register();
-
-bool NiImage::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 758b4b6b..90c62554 100644
--- a/src/obj/NiIntegerExtraData.cpp
+++ b/src/obj/NiIntegerExtraData.cpp
@@ -33,18 +33,6 @@ const Type & NiIntegerExtraData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiIntegerExtraData::obj_initialized = NiIntegerExtraData::Register();
-
-bool NiIntegerExtraData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 5f0abaeb..8d5ba1f5 100644
--- a/src/obj/NiIntegersExtraData.cpp
+++ b/src/obj/NiIntegersExtraData.cpp
@@ -33,18 +33,6 @@ const Type & NiIntegersExtraData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiIntegersExtraData::obj_initialized = NiIntegersExtraData::Register();
-
-bool NiIntegersExtraData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiInterpController.cpp b/src/obj/NiInterpController.cpp
index 4957a2b5..58e68f9e 100644
--- a/src/obj/NiInterpController.cpp
+++ b/src/obj/NiInterpController.cpp
@@ -33,18 +33,6 @@ const Type & NiInterpController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiInterpController::obj_initialized = NiInterpController::Register();
-
-bool NiInterpController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiInterpController", NiInterpController::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 * NiInterpController::Create() {
 	return new NiInterpController;
 }
diff --git a/src/obj/NiInterpolator.cpp b/src/obj/NiInterpolator.cpp
index c813bee2..ac83d445 100644
--- a/src/obj/NiInterpolator.cpp
+++ b/src/obj/NiInterpolator.cpp
@@ -33,18 +33,6 @@ const Type & NiInterpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiInterpolator::obj_initialized = NiInterpolator::Register();
-
-bool NiInterpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiKeyBasedInterpolator.cpp b/src/obj/NiKeyBasedInterpolator.cpp
index 661acb37..5bf5a18f 100644
--- a/src/obj/NiKeyBasedInterpolator.cpp
+++ b/src/obj/NiKeyBasedInterpolator.cpp
@@ -33,18 +33,6 @@ const Type & NiKeyBasedInterpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiKeyBasedInterpolator::obj_initialized = NiKeyBasedInterpolator::Register();
-
-bool NiKeyBasedInterpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiKeyBasedInterpolator", NiKeyBasedInterpolator::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 * NiKeyBasedInterpolator::Create() {
 	return new NiKeyBasedInterpolator;
 }
diff --git a/src/obj/NiKeyframeController.cpp b/src/obj/NiKeyframeController.cpp
index dcd8c4d9..ab0bcaf8 100644
--- a/src/obj/NiKeyframeController.cpp
+++ b/src/obj/NiKeyframeController.cpp
@@ -34,18 +34,6 @@ const Type & NiKeyframeController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiKeyframeController::obj_initialized = NiKeyframeController::Register();
-
-bool NiKeyframeController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 97ab03cd..3cf0576c 100644
--- a/src/obj/NiKeyframeData.cpp
+++ b/src/obj/NiKeyframeData.cpp
@@ -36,18 +36,6 @@ const Type & NiKeyframeData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiKeyframeData::obj_initialized = NiKeyframeData::Register();
-
-bool NiKeyframeData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 e362541a..8629238f 100644
--- a/src/obj/NiLODData.cpp
+++ b/src/obj/NiLODData.cpp
@@ -33,18 +33,6 @@ const Type & NiLODData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiLODData::obj_initialized = NiLODData::Register();
-
-bool NiLODData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 5712de06..636b0216 100644
--- a/src/obj/NiLODNode.cpp
+++ b/src/obj/NiLODNode.cpp
@@ -35,18 +35,6 @@ const Type & NiLODNode::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiLODNode::obj_initialized = NiLODNode::Register();
-
-bool NiLODNode::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 3b2cda4d..9addbaaa 100644
--- a/src/obj/NiLight.cpp
+++ b/src/obj/NiLight.cpp
@@ -33,18 +33,6 @@ const Type & NiLight::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiLight::obj_initialized = NiLight::Register();
-
-bool NiLight::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 40f2113e..ab8fe2e5 100644
--- a/src/obj/NiLightColorController.cpp
+++ b/src/obj/NiLightColorController.cpp
@@ -33,18 +33,6 @@ const Type & NiLightColorController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiLightColorController::obj_initialized = NiLightColorController::Register();
-
-bool NiLightColorController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 48636cec..b0d81957 100644
--- a/src/obj/NiLightDimmerController.cpp
+++ b/src/obj/NiLightDimmerController.cpp
@@ -33,18 +33,6 @@ const Type & NiLightDimmerController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiLightDimmerController::obj_initialized = NiLightDimmerController::Register();
-
-bool NiLightDimmerController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 0f398355..f4e5fec4 100644
--- a/src/obj/NiLookAtController.cpp
+++ b/src/obj/NiLookAtController.cpp
@@ -34,18 +34,6 @@ const Type & NiLookAtController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiLookAtController::obj_initialized = NiLookAtController::Register();
-
-bool NiLookAtController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 4e20cbaa..8cfcea87 100644
--- a/src/obj/NiLookAtInterpolator.cpp
+++ b/src/obj/NiLookAtInterpolator.cpp
@@ -36,18 +36,6 @@ const Type & NiLookAtInterpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiLookAtInterpolator::obj_initialized = NiLookAtInterpolator::Register();
-
-bool NiLookAtInterpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 bece4f51..5a10488d 100644
--- a/src/obj/NiMaterialColorController.cpp
+++ b/src/obj/NiMaterialColorController.cpp
@@ -33,18 +33,6 @@ const Type & NiMaterialColorController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiMaterialColorController::obj_initialized = NiMaterialColorController::Register();
-
-bool NiMaterialColorController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 e2c0e943..d84acd9b 100644
--- a/src/obj/NiMaterialProperty.cpp
+++ b/src/obj/NiMaterialProperty.cpp
@@ -33,18 +33,6 @@ const Type & NiMaterialProperty::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiMaterialProperty::obj_initialized = NiMaterialProperty::Register();
-
-bool NiMaterialProperty::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 8eb1ae74..8cf7ebb9 100644
--- a/src/obj/NiMeshPSysData.cpp
+++ b/src/obj/NiMeshPSysData.cpp
@@ -35,18 +35,6 @@ const Type & NiMeshPSysData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiMeshPSysData::obj_initialized = NiMeshPSysData::Register();
-
-bool NiMeshPSysData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 2ad80994..69b88810 100644
--- a/src/obj/NiMeshParticleSystem.cpp
+++ b/src/obj/NiMeshParticleSystem.cpp
@@ -33,18 +33,6 @@ const Type & NiMeshParticleSystem::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiMeshParticleSystem::obj_initialized = NiMeshParticleSystem::Register();
-
-bool NiMeshParticleSystem::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 523564ec..2c49f574 100644
--- a/src/obj/NiMorphData.cpp
+++ b/src/obj/NiMorphData.cpp
@@ -34,18 +34,6 @@ const Type & NiMorphData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiMorphData::obj_initialized = NiMorphData::Register();
-
-bool NiMorphData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 301b4b7b..0229a935 100644
--- a/src/obj/NiMultiTargetTransformController.cpp
+++ b/src/obj/NiMultiTargetTransformController.cpp
@@ -35,18 +35,6 @@ const Type & NiMultiTargetTransformController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiMultiTargetTransformController::obj_initialized = NiMultiTargetTransformController::Register();
-
-bool NiMultiTargetTransformController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiMultiTextureProperty.cpp b/src/obj/NiMultiTextureProperty.cpp
index 345de8db..ff091fcf 100644
--- a/src/obj/NiMultiTextureProperty.cpp
+++ b/src/obj/NiMultiTextureProperty.cpp
@@ -35,18 +35,6 @@ const Type & NiMultiTextureProperty::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiMultiTextureProperty::obj_initialized = NiMultiTextureProperty::Register();
-
-bool NiMultiTextureProperty::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiMultiTextureProperty", NiMultiTextureProperty::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 * NiMultiTextureProperty::Create() {
 	return new NiMultiTextureProperty;
 }
diff --git a/src/obj/NiNode.cpp b/src/obj/NiNode.cpp
index 1dc05042..a818134f 100644
--- a/src/obj/NiNode.cpp
+++ b/src/obj/NiNode.cpp
@@ -51,18 +51,6 @@ const Type & NiNode::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiNode::obj_initialized = NiNode::Register();
-
-bool NiNode::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 95662604..3daffb2c 100644
--- a/src/obj/NiObject.cpp
+++ b/src/obj/NiObject.cpp
@@ -38,18 +38,6 @@ const Type & NiObject::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiObject::obj_initialized = NiObject::Register();
-
-bool NiObject::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 10388d41..988266e1 100644
--- a/src/obj/NiObjectNET.cpp
+++ b/src/obj/NiObjectNET.cpp
@@ -40,18 +40,6 @@ const Type & NiObjectNET::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiObjectNET::obj_initialized = NiObjectNET::Register();
-
-bool NiObjectNET::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 334ae1e3..36d58058 100644
--- a/src/obj/NiPSysAgeDeathModifier.cpp
+++ b/src/obj/NiPSysAgeDeathModifier.cpp
@@ -34,18 +34,6 @@ const Type & NiPSysAgeDeathModifier::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysAgeDeathModifier::obj_initialized = NiPSysAgeDeathModifier::Register();
-
-bool NiPSysAgeDeathModifier::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 35e452ea..094248a4 100644
--- a/src/obj/NiPSysBombModifier.cpp
+++ b/src/obj/NiPSysBombModifier.cpp
@@ -34,18 +34,6 @@ const Type & NiPSysBombModifier::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysBombModifier::obj_initialized = NiPSysBombModifier::Register();
-
-bool NiPSysBombModifier::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 155b177b..9d926d33 100644
--- a/src/obj/NiPSysBoundUpdateModifier.cpp
+++ b/src/obj/NiPSysBoundUpdateModifier.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysBoundUpdateModifier::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysBoundUpdateModifier::obj_initialized = NiPSysBoundUpdateModifier::Register();
-
-bool NiPSysBoundUpdateModifier::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 f01fd668..fedc3fe6 100644
--- a/src/obj/NiPSysBoxEmitter.cpp
+++ b/src/obj/NiPSysBoxEmitter.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysBoxEmitter::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysBoxEmitter::obj_initialized = NiPSysBoxEmitter::Register();
-
-bool NiPSysBoxEmitter::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiPSysCollider.cpp b/src/obj/NiPSysCollider.cpp
index c4501870..977d85fb 100644
--- a/src/obj/NiPSysCollider.cpp
+++ b/src/obj/NiPSysCollider.cpp
@@ -36,18 +36,6 @@ const Type & NiPSysCollider::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysCollider::obj_initialized = NiPSysCollider::Register();
-
-bool NiPSysCollider::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiPSysCollider", NiPSysCollider::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 * NiPSysCollider::Create() {
 	return new NiPSysCollider;
 }
diff --git a/src/obj/NiPSysColliderManager.cpp b/src/obj/NiPSysColliderManager.cpp
index cf69433d..88fcae2f 100644
--- a/src/obj/NiPSysColliderManager.cpp
+++ b/src/obj/NiPSysColliderManager.cpp
@@ -34,18 +34,6 @@ const Type & NiPSysColliderManager::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysColliderManager::obj_initialized = NiPSysColliderManager::Register();
-
-bool NiPSysColliderManager::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 cfa94ea9..4fb30de3 100644
--- a/src/obj/NiPSysColorModifier.cpp
+++ b/src/obj/NiPSysColorModifier.cpp
@@ -34,18 +34,6 @@ const Type & NiPSysColorModifier::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysColorModifier::obj_initialized = NiPSysColorModifier::Register();
-
-bool NiPSysColorModifier::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 ee957d17..cb501858 100644
--- a/src/obj/NiPSysCylinderEmitter.cpp
+++ b/src/obj/NiPSysCylinderEmitter.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysCylinderEmitter::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysCylinderEmitter::obj_initialized = NiPSysCylinderEmitter::Register();
-
-bool NiPSysCylinderEmitter::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 f5dc6572..7555da7e 100644
--- a/src/obj/NiPSysData.cpp
+++ b/src/obj/NiPSysData.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysData::obj_initialized = NiPSysData::Register();
-
-bool NiPSysData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 94aaed58..765db5ad 100644
--- a/src/obj/NiPSysDragModifier.cpp
+++ b/src/obj/NiPSysDragModifier.cpp
@@ -34,18 +34,6 @@ const Type & NiPSysDragModifier::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysDragModifier::obj_initialized = NiPSysDragModifier::Register();
-
-bool NiPSysDragModifier::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 f1a79f86..bd3ee9e1 100644
--- a/src/obj/NiPSysEmitter.cpp
+++ b/src/obj/NiPSysEmitter.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysEmitter::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysEmitter::obj_initialized = NiPSysEmitter::Register();
-
-bool NiPSysEmitter::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 68ed619e..655789cb 100644
--- a/src/obj/NiPSysEmitterCtlr.cpp
+++ b/src/obj/NiPSysEmitterCtlr.cpp
@@ -35,18 +35,6 @@ const Type & NiPSysEmitterCtlr::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysEmitterCtlr::obj_initialized = NiPSysEmitterCtlr::Register();
-
-bool NiPSysEmitterCtlr::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 b7193f9d..085728e0 100644
--- a/src/obj/NiPSysEmitterCtlrData.cpp
+++ b/src/obj/NiPSysEmitterCtlrData.cpp
@@ -34,18 +34,6 @@ const Type & NiPSysEmitterCtlrData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysEmitterCtlrData::obj_initialized = NiPSysEmitterCtlrData::Register();
-
-bool NiPSysEmitterCtlrData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 e91ed82a..d40505ae 100644
--- a/src/obj/NiPSysEmitterDeclinationCtlr.cpp
+++ b/src/obj/NiPSysEmitterDeclinationCtlr.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysEmitterDeclinationCtlr::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysEmitterDeclinationCtlr::obj_initialized = NiPSysEmitterDeclinationCtlr::Register();
-
-bool NiPSysEmitterDeclinationCtlr::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 950b45e4..469130ee 100644
--- a/src/obj/NiPSysEmitterDeclinationVarCtlr.cpp
+++ b/src/obj/NiPSysEmitterDeclinationVarCtlr.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysEmitterDeclinationVarCtlr::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysEmitterDeclinationVarCtlr::obj_initialized = NiPSysEmitterDeclinationVarCtlr::Register();
-
-bool NiPSysEmitterDeclinationVarCtlr::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 71d9a6b6..b73b90fe 100644
--- a/src/obj/NiPSysEmitterInitialRadiusCtlr.cpp
+++ b/src/obj/NiPSysEmitterInitialRadiusCtlr.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysEmitterInitialRadiusCtlr::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysEmitterInitialRadiusCtlr::obj_initialized = NiPSysEmitterInitialRadiusCtlr::Register();
-
-bool NiPSysEmitterInitialRadiusCtlr::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 ef6909e2..333c86cc 100644
--- a/src/obj/NiPSysEmitterLifeSpanCtlr.cpp
+++ b/src/obj/NiPSysEmitterLifeSpanCtlr.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysEmitterLifeSpanCtlr::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysEmitterLifeSpanCtlr::obj_initialized = NiPSysEmitterLifeSpanCtlr::Register();
-
-bool NiPSysEmitterLifeSpanCtlr::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 f01794a1..31865a78 100644
--- a/src/obj/NiPSysEmitterSpeedCtlr.cpp
+++ b/src/obj/NiPSysEmitterSpeedCtlr.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysEmitterSpeedCtlr::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysEmitterSpeedCtlr::obj_initialized = NiPSysEmitterSpeedCtlr::Register();
-
-bool NiPSysEmitterSpeedCtlr::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 1ef1ef78..20641a6f 100644
--- a/src/obj/NiPSysGravityModifier.cpp
+++ b/src/obj/NiPSysGravityModifier.cpp
@@ -34,18 +34,6 @@ const Type & NiPSysGravityModifier::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysGravityModifier::obj_initialized = NiPSysGravityModifier::Register();
-
-bool NiPSysGravityModifier::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 d661e1a0..df904c7c 100644
--- a/src/obj/NiPSysGravityStrengthCtlr.cpp
+++ b/src/obj/NiPSysGravityStrengthCtlr.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysGravityStrengthCtlr::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysGravityStrengthCtlr::obj_initialized = NiPSysGravityStrengthCtlr::Register();
-
-bool NiPSysGravityStrengthCtlr::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 1dc0d81f..b9fd23da 100644
--- a/src/obj/NiPSysGrowFadeModifier.cpp
+++ b/src/obj/NiPSysGrowFadeModifier.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysGrowFadeModifier::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysGrowFadeModifier::obj_initialized = NiPSysGrowFadeModifier::Register();
-
-bool NiPSysGrowFadeModifier::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 c35ca62c..745bf655 100644
--- a/src/obj/NiPSysMeshEmitter.cpp
+++ b/src/obj/NiPSysMeshEmitter.cpp
@@ -34,18 +34,6 @@ const Type & NiPSysMeshEmitter::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysMeshEmitter::obj_initialized = NiPSysMeshEmitter::Register();
-
-bool NiPSysMeshEmitter::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 e3e2f69f..0197e323 100644
--- a/src/obj/NiPSysMeshUpdateModifier.cpp
+++ b/src/obj/NiPSysMeshUpdateModifier.cpp
@@ -34,18 +34,6 @@ const Type & NiPSysMeshUpdateModifier::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysMeshUpdateModifier::obj_initialized = NiPSysMeshUpdateModifier::Register();
-
-bool NiPSysMeshUpdateModifier::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 58c44b3c..0fd22277 100644
--- a/src/obj/NiPSysModifier.cpp
+++ b/src/obj/NiPSysModifier.cpp
@@ -34,18 +34,6 @@ const Type & NiPSysModifier::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysModifier::obj_initialized = NiPSysModifier::Register();
-
-bool NiPSysModifier::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 ef33adc1..77e41a23 100644
--- a/src/obj/NiPSysModifierActiveCtlr.cpp
+++ b/src/obj/NiPSysModifierActiveCtlr.cpp
@@ -34,18 +34,6 @@ const Type & NiPSysModifierActiveCtlr::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysModifierActiveCtlr::obj_initialized = NiPSysModifierActiveCtlr::Register();
-
-bool NiPSysModifierActiveCtlr::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiPSysModifierBoolCtlr.cpp b/src/obj/NiPSysModifierBoolCtlr.cpp
index 96abc3c6..df793e6c 100644
--- a/src/obj/NiPSysModifierBoolCtlr.cpp
+++ b/src/obj/NiPSysModifierBoolCtlr.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysModifierBoolCtlr::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysModifierBoolCtlr::obj_initialized = NiPSysModifierBoolCtlr::Register();
-
-bool NiPSysModifierBoolCtlr::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiPSysModifierBoolCtlr", NiPSysModifierBoolCtlr::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 * NiPSysModifierBoolCtlr::Create() {
 	return new NiPSysModifierBoolCtlr;
 }
diff --git a/src/obj/NiPSysModifierCtlr.cpp b/src/obj/NiPSysModifierCtlr.cpp
index 95a72878..e9239a6e 100644
--- a/src/obj/NiPSysModifierCtlr.cpp
+++ b/src/obj/NiPSysModifierCtlr.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysModifierCtlr::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysModifierCtlr::obj_initialized = NiPSysModifierCtlr::Register();
-
-bool NiPSysModifierCtlr::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiPSysModifierCtlr", NiPSysModifierCtlr::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 * NiPSysModifierCtlr::Create() {
 	return new NiPSysModifierCtlr;
 }
diff --git a/src/obj/NiPSysModifierFloatCtlr.cpp b/src/obj/NiPSysModifierFloatCtlr.cpp
index 6ec10948..0e936520 100644
--- a/src/obj/NiPSysModifierFloatCtlr.cpp
+++ b/src/obj/NiPSysModifierFloatCtlr.cpp
@@ -34,18 +34,6 @@ const Type & NiPSysModifierFloatCtlr::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysModifierFloatCtlr::obj_initialized = NiPSysModifierFloatCtlr::Register();
-
-bool NiPSysModifierFloatCtlr::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiPSysModifierFloatCtlr", NiPSysModifierFloatCtlr::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 * NiPSysModifierFloatCtlr::Create() {
 	return new NiPSysModifierFloatCtlr;
 }
diff --git a/src/obj/NiPSysPlanarCollider.cpp b/src/obj/NiPSysPlanarCollider.cpp
index 4d54da10..e6fb9266 100644
--- a/src/obj/NiPSysPlanarCollider.cpp
+++ b/src/obj/NiPSysPlanarCollider.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysPlanarCollider::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysPlanarCollider::obj_initialized = NiPSysPlanarCollider::Register();
-
-bool NiPSysPlanarCollider::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 b08eb6b5..5a0499e8 100644
--- a/src/obj/NiPSysPositionModifier.cpp
+++ b/src/obj/NiPSysPositionModifier.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysPositionModifier::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysPositionModifier::obj_initialized = NiPSysPositionModifier::Register();
-
-bool NiPSysPositionModifier::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 621c5f06..c663afdf 100644
--- a/src/obj/NiPSysResetOnLoopCtlr.cpp
+++ b/src/obj/NiPSysResetOnLoopCtlr.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysResetOnLoopCtlr::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysResetOnLoopCtlr::obj_initialized = NiPSysResetOnLoopCtlr::Register();
-
-bool NiPSysResetOnLoopCtlr::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 2ac145bb..fab965f5 100644
--- a/src/obj/NiPSysRotationModifier.cpp
+++ b/src/obj/NiPSysRotationModifier.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysRotationModifier::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysRotationModifier::obj_initialized = NiPSysRotationModifier::Register();
-
-bool NiPSysRotationModifier::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 44bcdd02..c6d1cea7 100644
--- a/src/obj/NiPSysSpawnModifier.cpp
+++ b/src/obj/NiPSysSpawnModifier.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysSpawnModifier::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysSpawnModifier::obj_initialized = NiPSysSpawnModifier::Register();
-
-bool NiPSysSpawnModifier::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 799b6c62..fa1dd596 100644
--- a/src/obj/NiPSysSphereEmitter.cpp
+++ b/src/obj/NiPSysSphereEmitter.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysSphereEmitter::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysSphereEmitter::obj_initialized = NiPSysSphereEmitter::Register();
-
-bool NiPSysSphereEmitter::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiPSysSphericalCollider.cpp b/src/obj/NiPSysSphericalCollider.cpp
index 1cb67079..a565c333 100644
--- a/src/obj/NiPSysSphericalCollider.cpp
+++ b/src/obj/NiPSysSphericalCollider.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysSphericalCollider::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysSphericalCollider::obj_initialized = NiPSysSphericalCollider::Register();
-
-bool NiPSysSphericalCollider::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiPSysSphericalCollider", NiPSysSphericalCollider::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 * NiPSysSphericalCollider::Create() {
 	return new NiPSysSphericalCollider;
 }
diff --git a/src/obj/NiPSysUpdateCtlr.cpp b/src/obj/NiPSysUpdateCtlr.cpp
index b365b4fc..89f3c9ab 100644
--- a/src/obj/NiPSysUpdateCtlr.cpp
+++ b/src/obj/NiPSysUpdateCtlr.cpp
@@ -33,18 +33,6 @@ const Type & NiPSysUpdateCtlr::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysUpdateCtlr::obj_initialized = NiPSysUpdateCtlr::Register();
-
-bool NiPSysUpdateCtlr::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 37f4886f..27bafaf4 100644
--- a/src/obj/NiPSysVolumeEmitter.cpp
+++ b/src/obj/NiPSysVolumeEmitter.cpp
@@ -34,18 +34,6 @@ const Type & NiPSysVolumeEmitter::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPSysVolumeEmitter::obj_initialized = NiPSysVolumeEmitter::Register();
-
-bool NiPSysVolumeEmitter::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 101ee774..1bb66e93 100644
--- a/src/obj/NiPalette.cpp
+++ b/src/obj/NiPalette.cpp
@@ -33,18 +33,6 @@ const Type & NiPalette::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPalette::obj_initialized = NiPalette::Register();
-
-bool NiPalette::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 1e5c3dde..7ace756c 100644
--- a/src/obj/NiParticleBomb.cpp
+++ b/src/obj/NiParticleBomb.cpp
@@ -33,18 +33,6 @@ const Type & NiParticleBomb::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiParticleBomb::obj_initialized = NiParticleBomb::Register();
-
-bool NiParticleBomb::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 94423404..3948f202 100644
--- a/src/obj/NiParticleColorModifier.cpp
+++ b/src/obj/NiParticleColorModifier.cpp
@@ -34,18 +34,6 @@ const Type & NiParticleColorModifier::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiParticleColorModifier::obj_initialized = NiParticleColorModifier::Register();
-
-bool NiParticleColorModifier::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 344553fa..df9a6e20 100644
--- a/src/obj/NiParticleGrowFade.cpp
+++ b/src/obj/NiParticleGrowFade.cpp
@@ -33,18 +33,6 @@ const Type & NiParticleGrowFade::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiParticleGrowFade::obj_initialized = NiParticleGrowFade::Register();
-
-bool NiParticleGrowFade::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 4e104f9f..bb3ce052 100644
--- a/src/obj/NiParticleMeshModifier.cpp
+++ b/src/obj/NiParticleMeshModifier.cpp
@@ -34,18 +34,6 @@ const Type & NiParticleMeshModifier::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiParticleMeshModifier::obj_initialized = NiParticleMeshModifier::Register();
-
-bool NiParticleMeshModifier::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 b64d2bb4..ee3b6b14 100644
--- a/src/obj/NiParticleMeshes.cpp
+++ b/src/obj/NiParticleMeshes.cpp
@@ -33,18 +33,6 @@ const Type & NiParticleMeshes::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiParticleMeshes::obj_initialized = NiParticleMeshes::Register();
-
-bool NiParticleMeshes::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 850234ba..e4903b3e 100644
--- a/src/obj/NiParticleMeshesData.cpp
+++ b/src/obj/NiParticleMeshesData.cpp
@@ -34,18 +34,6 @@ const Type & NiParticleMeshesData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiParticleMeshesData::obj_initialized = NiParticleMeshesData::Register();
-
-bool NiParticleMeshesData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 dcfcb0ec..868c2b0b 100644
--- a/src/obj/NiParticleRotation.cpp
+++ b/src/obj/NiParticleRotation.cpp
@@ -33,18 +33,6 @@ const Type & NiParticleRotation::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiParticleRotation::obj_initialized = NiParticleRotation::Register();
-
-bool NiParticleRotation::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 b9a1ab21..b85c1ab6 100644
--- a/src/obj/NiParticleSystem.cpp
+++ b/src/obj/NiParticleSystem.cpp
@@ -34,18 +34,6 @@ const Type & NiParticleSystem::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiParticleSystem::obj_initialized = NiParticleSystem::Register();
-
-bool NiParticleSystem::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 6019a93c..e847ee5f 100644
--- a/src/obj/NiParticleSystemController.cpp
+++ b/src/obj/NiParticleSystemController.cpp
@@ -38,18 +38,6 @@ const Type & NiParticleSystemController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiParticleSystemController::obj_initialized = NiParticleSystemController::Register();
-
-bool NiParticleSystemController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 922f08b0..68fafcb9 100644
--- a/src/obj/NiParticles.cpp
+++ b/src/obj/NiParticles.cpp
@@ -33,18 +33,6 @@ const Type & NiParticles::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiParticles::obj_initialized = NiParticles::Register();
-
-bool NiParticles::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 56ba58fa..62efa100 100644
--- a/src/obj/NiParticlesData.cpp
+++ b/src/obj/NiParticlesData.cpp
@@ -33,18 +33,6 @@ const Type & NiParticlesData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiParticlesData::obj_initialized = NiParticlesData::Register();
-
-bool NiParticlesData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 5add2324..31880c8e 100644
--- a/src/obj/NiPathController.cpp
+++ b/src/obj/NiPathController.cpp
@@ -35,18 +35,6 @@ const Type & NiPathController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPathController::obj_initialized = NiPathController::Register();
-
-bool NiPathController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 67acdc9d..b2601f91 100644
--- a/src/obj/NiPathInterpolator.cpp
+++ b/src/obj/NiPathInterpolator.cpp
@@ -35,18 +35,6 @@ const Type & NiPathInterpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPathInterpolator::obj_initialized = NiPathInterpolator::Register();
-
-bool NiPathInterpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 70d914ec..e5bf61a7 100644
--- a/src/obj/NiPixelData.cpp
+++ b/src/obj/NiPixelData.cpp
@@ -36,18 +36,6 @@ const Type & NiPixelData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPixelData::obj_initialized = NiPixelData::Register();
-
-bool NiPixelData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 8229fcc2..a990b101 100644
--- a/src/obj/NiPlanarCollider.cpp
+++ b/src/obj/NiPlanarCollider.cpp
@@ -33,18 +33,6 @@ const Type & NiPlanarCollider::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPlanarCollider::obj_initialized = NiPlanarCollider::Register();
-
-bool NiPlanarCollider::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiPoint3InterpController.cpp b/src/obj/NiPoint3InterpController.cpp
index 91021134..b6b5c986 100644
--- a/src/obj/NiPoint3InterpController.cpp
+++ b/src/obj/NiPoint3InterpController.cpp
@@ -34,18 +34,6 @@ const Type & NiPoint3InterpController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPoint3InterpController::obj_initialized = NiPoint3InterpController::Register();
-
-bool NiPoint3InterpController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiPoint3InterpController", NiPoint3InterpController::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 * NiPoint3InterpController::Create() {
 	return new NiPoint3InterpController;
 }
diff --git a/src/obj/NiPoint3Interpolator.cpp b/src/obj/NiPoint3Interpolator.cpp
index d4beadc8..65a6dce9 100644
--- a/src/obj/NiPoint3Interpolator.cpp
+++ b/src/obj/NiPoint3Interpolator.cpp
@@ -34,18 +34,6 @@ const Type & NiPoint3Interpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPoint3Interpolator::obj_initialized = NiPoint3Interpolator::Register();
-
-bool NiPoint3Interpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 1bff6e5a..fb0a49a5 100644
--- a/src/obj/NiPointLight.cpp
+++ b/src/obj/NiPointLight.cpp
@@ -33,18 +33,6 @@ const Type & NiPointLight::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPointLight::obj_initialized = NiPointLight::Register();
-
-bool NiPointLight::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 f2be6684..7cb89b07 100644
--- a/src/obj/NiPosData.cpp
+++ b/src/obj/NiPosData.cpp
@@ -34,18 +34,6 @@ const Type & NiPosData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiPosData::obj_initialized = NiPosData::Register();
-
-bool NiPosData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 ebd16a82..b5540364 100644
--- a/src/obj/NiProperty.cpp
+++ b/src/obj/NiProperty.cpp
@@ -33,18 +33,6 @@ const Type & NiProperty::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiProperty::obj_initialized = NiProperty::Register();
-
-bool NiProperty::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 ff7120ea..6e5dad17 100644
--- a/src/obj/NiRangeLODData.cpp
+++ b/src/obj/NiRangeLODData.cpp
@@ -34,18 +34,6 @@ const Type & NiRangeLODData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiRangeLODData::obj_initialized = NiRangeLODData::Register();
-
-bool NiRangeLODData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiRawImageData.cpp b/src/obj/NiRawImageData.cpp
index 0a65ca22..6d259f4c 100644
--- a/src/obj/NiRawImageData.cpp
+++ b/src/obj/NiRawImageData.cpp
@@ -35,18 +35,6 @@ const Type & NiRawImageData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiRawImageData::obj_initialized = NiRawImageData::Register();
-
-bool NiRawImageData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiRawImageData", NiRawImageData::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 * NiRawImageData::Create() {
 	return new NiRawImageData;
 }
diff --git a/src/obj/NiRollController.cpp b/src/obj/NiRollController.cpp
index f0846e86..66d53e7d 100644
--- a/src/obj/NiRollController.cpp
+++ b/src/obj/NiRollController.cpp
@@ -34,18 +34,6 @@ const Type & NiRollController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiRollController::obj_initialized = NiRollController::Register();
-
-bool NiRollController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiRollController", NiRollController::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 * NiRollController::Create() {
 	return new NiRollController;
 }
diff --git a/src/obj/NiRotatingParticles.cpp b/src/obj/NiRotatingParticles.cpp
index 1da7b0ab..a2bbc9ea 100644
--- a/src/obj/NiRotatingParticles.cpp
+++ b/src/obj/NiRotatingParticles.cpp
@@ -33,18 +33,6 @@ const Type & NiRotatingParticles::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiRotatingParticles::obj_initialized = NiRotatingParticles::Register();
-
-bool NiRotatingParticles::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 a8fae849..52e81c92 100644
--- a/src/obj/NiRotatingParticlesData.cpp
+++ b/src/obj/NiRotatingParticlesData.cpp
@@ -33,18 +33,6 @@ const Type & NiRotatingParticlesData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiRotatingParticlesData::obj_initialized = NiRotatingParticlesData::Register();
-
-bool NiRotatingParticlesData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 97b0c7d5..6ca3d648 100644
--- a/src/obj/NiScreenLODData.cpp
+++ b/src/obj/NiScreenLODData.cpp
@@ -33,18 +33,6 @@ const Type & NiScreenLODData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiScreenLODData::obj_initialized = NiScreenLODData::Register();
-
-bool NiScreenLODData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiSequence.cpp b/src/obj/NiSequence.cpp
index 0d27c017..d423842e 100644
--- a/src/obj/NiSequence.cpp
+++ b/src/obj/NiSequence.cpp
@@ -39,18 +39,6 @@ const Type & NiSequence::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiSequence::obj_initialized = NiSequence::Register();
-
-bool NiSequence::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiSequence", NiSequence::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 * NiSequence::Create() {
 	return new NiSequence;
 }
diff --git a/src/obj/NiSequenceStreamHelper.cpp b/src/obj/NiSequenceStreamHelper.cpp
index 8179a4c7..f3e56aaf 100644
--- a/src/obj/NiSequenceStreamHelper.cpp
+++ b/src/obj/NiSequenceStreamHelper.cpp
@@ -33,18 +33,6 @@ const Type & NiSequenceStreamHelper::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiSequenceStreamHelper::obj_initialized = NiSequenceStreamHelper::Register();
-
-bool NiSequenceStreamHelper::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 90b41ee2..7820155a 100644
--- a/src/obj/NiShadeProperty.cpp
+++ b/src/obj/NiShadeProperty.cpp
@@ -33,18 +33,6 @@ const Type & NiShadeProperty::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiShadeProperty::obj_initialized = NiShadeProperty::Register();
-
-bool NiShadeProperty::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiSingleInterpController.cpp b/src/obj/NiSingleInterpController.cpp
index bef7fdf2..247c7f06 100644
--- a/src/obj/NiSingleInterpController.cpp
+++ b/src/obj/NiSingleInterpController.cpp
@@ -34,18 +34,6 @@ const Type & NiSingleInterpController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiSingleInterpController::obj_initialized = NiSingleInterpController::Register();
-
-bool NiSingleInterpController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiSingleInterpController", NiSingleInterpController::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 * NiSingleInterpController::Create() {
 	return new NiSingleInterpController;
 }
diff --git a/src/obj/NiSkinData.cpp b/src/obj/NiSkinData.cpp
index 64eaad36..5334f235 100644
--- a/src/obj/NiSkinData.cpp
+++ b/src/obj/NiSkinData.cpp
@@ -40,18 +40,6 @@ const Type & NiSkinData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiSkinData::obj_initialized = NiSkinData::Register();
-
-bool NiSkinData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 1bf060e4..363517fa 100644
--- a/src/obj/NiSkinInstance.cpp
+++ b/src/obj/NiSkinInstance.cpp
@@ -48,18 +48,6 @@ const Type & NiSkinInstance::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiSkinInstance::obj_initialized = NiSkinInstance::Register();
-
-bool NiSkinInstance::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 85d59c31..ea47d8a3 100644
--- a/src/obj/NiSkinPartition.cpp
+++ b/src/obj/NiSkinPartition.cpp
@@ -62,18 +62,6 @@ const Type & NiSkinPartition::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiSkinPartition::obj_initialized = NiSkinPartition::Register();
-
-bool NiSkinPartition::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 71e2b47a..27527ee3 100644
--- a/src/obj/NiSourceTexture.cpp
+++ b/src/obj/NiSourceTexture.cpp
@@ -35,18 +35,6 @@ const Type & NiSourceTexture::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiSourceTexture::obj_initialized = NiSourceTexture::Register();
-
-bool NiSourceTexture::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 e30a5d97..b5463298 100644
--- a/src/obj/NiSpecularProperty.cpp
+++ b/src/obj/NiSpecularProperty.cpp
@@ -33,18 +33,6 @@ const Type & NiSpecularProperty::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiSpecularProperty::obj_initialized = NiSpecularProperty::Register();
-
-bool NiSpecularProperty::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 95e1eac3..396cf9e4 100644
--- a/src/obj/NiSphericalCollider.cpp
+++ b/src/obj/NiSphericalCollider.cpp
@@ -33,18 +33,6 @@ const Type & NiSphericalCollider::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiSphericalCollider::obj_initialized = NiSphericalCollider::Register();
-
-bool NiSphericalCollider::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 405ae783..d6fbaaac 100644
--- a/src/obj/NiSpotLight.cpp
+++ b/src/obj/NiSpotLight.cpp
@@ -33,18 +33,6 @@ const Type & NiSpotLight::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiSpotLight::obj_initialized = NiSpotLight::Register();
-
-bool NiSpotLight::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 b59e5943..8e8b192b 100644
--- a/src/obj/NiStencilProperty.cpp
+++ b/src/obj/NiStencilProperty.cpp
@@ -33,18 +33,6 @@ const Type & NiStencilProperty::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiStencilProperty::obj_initialized = NiStencilProperty::Register();
-
-bool NiStencilProperty::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 bbd1feb4..e3545360 100644
--- a/src/obj/NiStringExtraData.cpp
+++ b/src/obj/NiStringExtraData.cpp
@@ -33,18 +33,6 @@ const Type & NiStringExtraData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiStringExtraData::obj_initialized = NiStringExtraData::Register();
-
-bool NiStringExtraData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 64652a89..fc562f91 100644
--- a/src/obj/NiStringPalette.cpp
+++ b/src/obj/NiStringPalette.cpp
@@ -34,18 +34,6 @@ const Type & NiStringPalette::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiStringPalette::obj_initialized = NiStringPalette::Register();
-
-bool NiStringPalette::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 5acc1a9f..b0bfcfc2 100644
--- a/src/obj/NiStringsExtraData.cpp
+++ b/src/obj/NiStringsExtraData.cpp
@@ -33,18 +33,6 @@ const Type & NiStringsExtraData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiStringsExtraData::obj_initialized = NiStringsExtraData::Register();
-
-bool NiStringsExtraData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiSwitchNode.cpp b/src/obj/NiSwitchNode.cpp
index 668a1fb5..d62e6708 100644
--- a/src/obj/NiSwitchNode.cpp
+++ b/src/obj/NiSwitchNode.cpp
@@ -33,18 +33,6 @@ const Type & NiSwitchNode::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiSwitchNode::obj_initialized = NiSwitchNode::Register();
-
-bool NiSwitchNode::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiSwitchNode", NiSwitchNode::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 * NiSwitchNode::Create() {
 	return new NiSwitchNode;
 }
diff --git a/src/obj/NiTextKeyExtraData.cpp b/src/obj/NiTextKeyExtraData.cpp
index 1943dbab..417eb650 100644
--- a/src/obj/NiTextKeyExtraData.cpp
+++ b/src/obj/NiTextKeyExtraData.cpp
@@ -33,18 +33,6 @@ const Type & NiTextKeyExtraData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTextKeyExtraData::obj_initialized = NiTextKeyExtraData::Register();
-
-bool NiTextKeyExtraData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiTexture.cpp b/src/obj/NiTexture.cpp
index 003a457c..85e9d7d0 100644
--- a/src/obj/NiTexture.cpp
+++ b/src/obj/NiTexture.cpp
@@ -33,18 +33,6 @@ const Type & NiTexture::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTexture::obj_initialized = NiTexture::Register();
-
-bool NiTexture::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiTexture", NiTexture::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 * NiTexture::Create() {
 	return new NiTexture;
 }
diff --git a/src/obj/NiTextureEffect.cpp b/src/obj/NiTextureEffect.cpp
index 8a8eb96b..e59809cc 100644
--- a/src/obj/NiTextureEffect.cpp
+++ b/src/obj/NiTextureEffect.cpp
@@ -34,18 +34,6 @@ const Type & NiTextureEffect::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTextureEffect::obj_initialized = NiTextureEffect::Register();
-
-bool NiTextureEffect::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 40e09222..43b671ab 100644
--- a/src/obj/NiTextureModeProperty.cpp
+++ b/src/obj/NiTextureModeProperty.cpp
@@ -33,18 +33,6 @@ const Type & NiTextureModeProperty::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTextureModeProperty::obj_initialized = NiTextureModeProperty::Register();
-
-bool NiTextureModeProperty::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 9380b05e..cff0b4af 100644
--- a/src/obj/NiTextureProperty.cpp
+++ b/src/obj/NiTextureProperty.cpp
@@ -34,18 +34,6 @@ const Type & NiTextureProperty::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTextureProperty::obj_initialized = NiTextureProperty::Register();
-
-bool NiTextureProperty::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 a738b49d..2a3c2bcf 100644
--- a/src/obj/NiTextureTransformController.cpp
+++ b/src/obj/NiTextureTransformController.cpp
@@ -34,18 +34,6 @@ const Type & NiTextureTransformController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTextureTransformController::obj_initialized = NiTextureTransformController::Register();
-
-bool NiTextureTransformController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 db188dec..55cdc60d 100644
--- a/src/obj/NiTexturingProperty.cpp
+++ b/src/obj/NiTexturingProperty.cpp
@@ -56,18 +56,6 @@ const Type & NiTexturingProperty::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTexturingProperty::obj_initialized = NiTexturingProperty::Register();
-
-bool NiTexturingProperty::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 c26f9d79..0c623282 100644
--- a/src/obj/NiTimeController.cpp
+++ b/src/obj/NiTimeController.cpp
@@ -34,18 +34,6 @@ const Type & NiTimeController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTimeController::obj_initialized = NiTimeController::Register();
-
-bool NiTimeController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 7c448c5d..7dcd659d 100644
--- a/src/obj/NiTransformController.cpp
+++ b/src/obj/NiTransformController.cpp
@@ -33,18 +33,6 @@ const Type & NiTransformController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTransformController::obj_initialized = NiTransformController::Register();
-
-bool NiTransformController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 412189b3..d5e03730 100644
--- a/src/obj/NiTransformData.cpp
+++ b/src/obj/NiTransformData.cpp
@@ -33,18 +33,6 @@ const Type & NiTransformData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTransformData::obj_initialized = NiTransformData::Register();
-
-bool NiTransformData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 b9768cd3..2faaadef 100644
--- a/src/obj/NiTransformInterpolator.cpp
+++ b/src/obj/NiTransformInterpolator.cpp
@@ -34,18 +34,6 @@ const Type & NiTransformInterpolator::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTransformInterpolator::obj_initialized = NiTransformInterpolator::Register();
-
-bool NiTransformInterpolator::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 c5427c86..f860fba1 100644
--- a/src/obj/NiTriBasedGeom.cpp
+++ b/src/obj/NiTriBasedGeom.cpp
@@ -38,18 +38,6 @@ const Type & NiTriBasedGeom::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTriBasedGeom::obj_initialized = NiTriBasedGeom::Register();
-
-bool NiTriBasedGeom::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 f5bd5167..2882b757 100644
--- a/src/obj/NiTriBasedGeomData.cpp
+++ b/src/obj/NiTriBasedGeomData.cpp
@@ -33,18 +33,6 @@ const Type & NiTriBasedGeomData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTriBasedGeomData::obj_initialized = NiTriBasedGeomData::Register();
-
-bool NiTriBasedGeomData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 bcb90080..20d2b632 100644
--- a/src/obj/NiTriShape.cpp
+++ b/src/obj/NiTriShape.cpp
@@ -33,18 +33,6 @@ const Type & NiTriShape::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTriShape::obj_initialized = NiTriShape::Register();
-
-bool NiTriShape::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 fbb20b39..ac800a36 100644
--- a/src/obj/NiTriShapeData.cpp
+++ b/src/obj/NiTriShapeData.cpp
@@ -34,18 +34,6 @@ const Type & NiTriShapeData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTriShapeData::obj_initialized = NiTriShapeData::Register();
-
-bool NiTriShapeData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/NiTriShapeSkinController.cpp b/src/obj/NiTriShapeSkinController.cpp
index aa58dd15..b102668f 100644
--- a/src/obj/NiTriShapeSkinController.cpp
+++ b/src/obj/NiTriShapeSkinController.cpp
@@ -35,18 +35,6 @@ const Type & NiTriShapeSkinController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTriShapeSkinController::obj_initialized = NiTriShapeSkinController::Register();
-
-bool NiTriShapeSkinController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "NiTriShapeSkinController", NiTriShapeSkinController::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 * NiTriShapeSkinController::Create() {
 	return new NiTriShapeSkinController;
 }
diff --git a/src/obj/NiTriStrips.cpp b/src/obj/NiTriStrips.cpp
index 97ceee75..e2d74ac6 100644
--- a/src/obj/NiTriStrips.cpp
+++ b/src/obj/NiTriStrips.cpp
@@ -33,18 +33,6 @@ const Type & NiTriStrips::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTriStrips::obj_initialized = NiTriStrips::Register();
-
-bool NiTriStrips::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 82ec6bbb..fa3230ac 100644
--- a/src/obj/NiTriStripsData.cpp
+++ b/src/obj/NiTriStripsData.cpp
@@ -46,18 +46,6 @@ const Type & NiTriStripsData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiTriStripsData::obj_initialized = NiTriStripsData::Register();
-
-bool NiTriStripsData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 245c3c8e..e7b05440 100644
--- a/src/obj/NiUVController.cpp
+++ b/src/obj/NiUVController.cpp
@@ -34,18 +34,6 @@ const Type & NiUVController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiUVController::obj_initialized = NiUVController::Register();
-
-bool NiUVController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 065b1d50..4e98e4de 100644
--- a/src/obj/NiUVData.cpp
+++ b/src/obj/NiUVData.cpp
@@ -34,18 +34,6 @@ const Type & NiUVData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiUVData::obj_initialized = NiUVData::Register();
-
-bool NiUVData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 f7007c19..55ada710 100644
--- a/src/obj/NiVectorExtraData.cpp
+++ b/src/obj/NiVectorExtraData.cpp
@@ -33,18 +33,6 @@ const Type & NiVectorExtraData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiVectorExtraData::obj_initialized = NiVectorExtraData::Register();
-
-bool NiVectorExtraData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 f2e926d8..e666e963 100644
--- a/src/obj/NiVertWeightsExtraData.cpp
+++ b/src/obj/NiVertWeightsExtraData.cpp
@@ -33,18 +33,6 @@ const Type & NiVertWeightsExtraData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiVertWeightsExtraData::obj_initialized = NiVertWeightsExtraData::Register();
-
-bool NiVertWeightsExtraData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 1ebfc404..8828bdde 100644
--- a/src/obj/NiVertexColorProperty.cpp
+++ b/src/obj/NiVertexColorProperty.cpp
@@ -33,18 +33,6 @@ const Type & NiVertexColorProperty::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiVertexColorProperty::obj_initialized = NiVertexColorProperty::Register();
-
-bool NiVertexColorProperty::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 1ab6716b..e7f881dd 100644
--- a/src/obj/NiVisController.cpp
+++ b/src/obj/NiVisController.cpp
@@ -34,18 +34,6 @@ const Type & NiVisController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiVisController::obj_initialized = NiVisController::Register();
-
-bool NiVisController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 0115e123..a5fce019 100644
--- a/src/obj/NiVisData.cpp
+++ b/src/obj/NiVisData.cpp
@@ -33,18 +33,6 @@ const Type & NiVisData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiVisData::obj_initialized = NiVisData::Register();
-
-bool NiVisData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 158ce01c..7a9e39c5 100644
--- a/src/obj/NiWireframeProperty.cpp
+++ b/src/obj/NiWireframeProperty.cpp
@@ -33,18 +33,6 @@ const Type & NiWireframeProperty::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiWireframeProperty::obj_initialized = NiWireframeProperty::Register();
-
-bool NiWireframeProperty::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 a4aadbed..f7ecd1e9 100644
--- a/src/obj/NiZBufferProperty.cpp
+++ b/src/obj/NiZBufferProperty.cpp
@@ -33,18 +33,6 @@ const Type & NiZBufferProperty::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool NiZBufferProperty::obj_initialized = NiZBufferProperty::Register();
-
-bool NiZBufferProperty::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 0836d27c..32098311 100644
--- a/src/obj/RootCollisionNode.cpp
+++ b/src/obj/RootCollisionNode.cpp
@@ -33,18 +33,6 @@ const Type & RootCollisionNode::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool RootCollisionNode::obj_initialized = RootCollisionNode::Register();
-
-bool RootCollisionNode::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 011c1cf3..c4cdcbc3 100644
--- a/src/obj/bhkBlendCollisionObject.cpp
+++ b/src/obj/bhkBlendCollisionObject.cpp
@@ -33,18 +33,6 @@ const Type & bhkBlendCollisionObject::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkBlendCollisionObject::obj_initialized = bhkBlendCollisionObject::Register();
-
-bool bhkBlendCollisionObject::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 eabf31aa..fdef90c3 100644
--- a/src/obj/bhkBlendController.cpp
+++ b/src/obj/bhkBlendController.cpp
@@ -33,18 +33,6 @@ const Type & bhkBlendController::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkBlendController::obj_initialized = bhkBlendController::Register();
-
-bool bhkBlendController::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 59862025..4c7aef22 100644
--- a/src/obj/bhkBoxShape.cpp
+++ b/src/obj/bhkBoxShape.cpp
@@ -33,18 +33,6 @@ const Type & bhkBoxShape::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkBoxShape::obj_initialized = bhkBoxShape::Register();
-
-bool bhkBoxShape::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/bhkBvTreeShape.cpp b/src/obj/bhkBvTreeShape.cpp
index 23a554d5..b0741761 100644
--- a/src/obj/bhkBvTreeShape.cpp
+++ b/src/obj/bhkBvTreeShape.cpp
@@ -33,18 +33,6 @@ const Type & bhkBvTreeShape::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkBvTreeShape::obj_initialized = bhkBvTreeShape::Register();
-
-bool bhkBvTreeShape::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "bhkBvTreeShape", bhkBvTreeShape::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 * bhkBvTreeShape::Create() {
 	return new bhkBvTreeShape;
 }
diff --git a/src/obj/bhkCapsuleShape.cpp b/src/obj/bhkCapsuleShape.cpp
index 19442927..a8920983 100644
--- a/src/obj/bhkCapsuleShape.cpp
+++ b/src/obj/bhkCapsuleShape.cpp
@@ -33,18 +33,6 @@ const Type & bhkCapsuleShape::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkCapsuleShape::obj_initialized = bhkCapsuleShape::Register();
-
-bool bhkCapsuleShape::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 5570b9ea..3635ddfe 100644
--- a/src/obj/bhkCollisionObject.cpp
+++ b/src/obj/bhkCollisionObject.cpp
@@ -33,18 +33,6 @@ const Type & bhkCollisionObject::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkCollisionObject::obj_initialized = bhkCollisionObject::Register();
-
-bool bhkCollisionObject::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/bhkConstraint.cpp b/src/obj/bhkConstraint.cpp
index a508c38e..db542cd1 100644
--- a/src/obj/bhkConstraint.cpp
+++ b/src/obj/bhkConstraint.cpp
@@ -34,18 +34,6 @@ const Type & bhkConstraint::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkConstraint::obj_initialized = bhkConstraint::Register();
-
-bool bhkConstraint::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "bhkConstraint", bhkConstraint::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 * bhkConstraint::Create() {
 	return new bhkConstraint;
 }
diff --git a/src/obj/bhkConvexShape.cpp b/src/obj/bhkConvexShape.cpp
index 356a78d2..c2e93ef4 100644
--- a/src/obj/bhkConvexShape.cpp
+++ b/src/obj/bhkConvexShape.cpp
@@ -33,18 +33,6 @@ const Type & bhkConvexShape::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkConvexShape::obj_initialized = bhkConvexShape::Register();
-
-bool bhkConvexShape::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 4035748c..2bd655b8 100644
--- a/src/obj/bhkConvexTransformShape.cpp
+++ b/src/obj/bhkConvexTransformShape.cpp
@@ -33,18 +33,6 @@ const Type & bhkConvexTransformShape::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkConvexTransformShape::obj_initialized = bhkConvexTransformShape::Register();
-
-bool bhkConvexTransformShape::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 ccb3ce4b..4912d22a 100644
--- a/src/obj/bhkConvexVerticesShape.cpp
+++ b/src/obj/bhkConvexVerticesShape.cpp
@@ -33,18 +33,6 @@ const Type & bhkConvexVerticesShape::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkConvexVerticesShape::obj_initialized = bhkConvexVerticesShape::Register();
-
-bool bhkConvexVerticesShape::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 15ed23e0..2291e4d2 100644
--- a/src/obj/bhkEntity.cpp
+++ b/src/obj/bhkEntity.cpp
@@ -33,18 +33,6 @@ const Type & bhkEntity::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkEntity::obj_initialized = bhkEntity::Register();
-
-bool bhkEntity::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 8780d6e1..a2a09634 100644
--- a/src/obj/bhkHingeConstraint.cpp
+++ b/src/obj/bhkHingeConstraint.cpp
@@ -33,18 +33,6 @@ const Type & bhkHingeConstraint::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkHingeConstraint::obj_initialized = bhkHingeConstraint::Register();
-
-bool bhkHingeConstraint::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 e72f5730..9445f544 100644
--- a/src/obj/bhkLimitedHingeConstraint.cpp
+++ b/src/obj/bhkLimitedHingeConstraint.cpp
@@ -34,18 +34,6 @@ const Type & bhkLimitedHingeConstraint::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkLimitedHingeConstraint::obj_initialized = bhkLimitedHingeConstraint::Register();
-
-bool bhkLimitedHingeConstraint::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 b031be17..2b109e83 100644
--- a/src/obj/bhkListShape.cpp
+++ b/src/obj/bhkListShape.cpp
@@ -34,18 +34,6 @@ const Type & bhkListShape::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkListShape::obj_initialized = bhkListShape::Register();
-
-bool bhkListShape::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 96089fed..c6db9325 100644
--- a/src/obj/bhkMalleableConstraint.cpp
+++ b/src/obj/bhkMalleableConstraint.cpp
@@ -36,18 +36,6 @@ const Type & bhkMalleableConstraint::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkMalleableConstraint::obj_initialized = bhkMalleableConstraint::Register();
-
-bool bhkMalleableConstraint::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 ae1eefc8..5928f5ad 100644
--- a/src/obj/bhkMoppBvTreeShape.cpp
+++ b/src/obj/bhkMoppBvTreeShape.cpp
@@ -34,18 +34,6 @@ const Type & bhkMoppBvTreeShape::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkMoppBvTreeShape::obj_initialized = bhkMoppBvTreeShape::Register();
-
-bool bhkMoppBvTreeShape::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 d08b0fa4..165693f7 100644
--- a/src/obj/bhkMultiSphereShape.cpp
+++ b/src/obj/bhkMultiSphereShape.cpp
@@ -34,18 +34,6 @@ const Type & bhkMultiSphereShape::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkMultiSphereShape::obj_initialized = bhkMultiSphereShape::Register();
-
-bool bhkMultiSphereShape::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/bhkNiCollisionObject.cpp b/src/obj/bhkNiCollisionObject.cpp
index 5bed9ba9..7d6b38b8 100644
--- a/src/obj/bhkNiCollisionObject.cpp
+++ b/src/obj/bhkNiCollisionObject.cpp
@@ -33,18 +33,6 @@ const Type & bhkNiCollisionObject::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkNiCollisionObject::obj_initialized = bhkNiCollisionObject::Register();
-
-bool bhkNiCollisionObject::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "bhkNiCollisionObject", bhkNiCollisionObject::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 * bhkNiCollisionObject::Create() {
 	return new bhkNiCollisionObject;
 }
diff --git a/src/obj/bhkNiTriStripsShape.cpp b/src/obj/bhkNiTriStripsShape.cpp
index 3a938c39..2b1e7fc1 100644
--- a/src/obj/bhkNiTriStripsShape.cpp
+++ b/src/obj/bhkNiTriStripsShape.cpp
@@ -35,18 +35,6 @@ const Type & bhkNiTriStripsShape::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkNiTriStripsShape::obj_initialized = bhkNiTriStripsShape::Register();
-
-bool bhkNiTriStripsShape::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/bhkPCollisionObject.cpp b/src/obj/bhkPCollisionObject.cpp
index c80f84f9..e6ea33ce 100644
--- a/src/obj/bhkPCollisionObject.cpp
+++ b/src/obj/bhkPCollisionObject.cpp
@@ -33,18 +33,6 @@ const Type & bhkPCollisionObject::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkPCollisionObject::obj_initialized = bhkPCollisionObject::Register();
-
-bool bhkPCollisionObject::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "bhkPCollisionObject", bhkPCollisionObject::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 * bhkPCollisionObject::Create() {
 	return new bhkPCollisionObject;
 }
diff --git a/src/obj/bhkPackedNiTriStripsShape.cpp b/src/obj/bhkPackedNiTriStripsShape.cpp
index 5103cec6..daa1256a 100644
--- a/src/obj/bhkPackedNiTriStripsShape.cpp
+++ b/src/obj/bhkPackedNiTriStripsShape.cpp
@@ -35,18 +35,6 @@ const Type & bhkPackedNiTriStripsShape::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkPackedNiTriStripsShape::obj_initialized = bhkPackedNiTriStripsShape::Register();
-
-bool bhkPackedNiTriStripsShape::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/bhkPhantom.cpp b/src/obj/bhkPhantom.cpp
index 80422e64..51daa511 100644
--- a/src/obj/bhkPhantom.cpp
+++ b/src/obj/bhkPhantom.cpp
@@ -33,18 +33,6 @@ const Type & bhkPhantom::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkPhantom::obj_initialized = bhkPhantom::Register();
-
-bool bhkPhantom::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "bhkPhantom", bhkPhantom::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 * bhkPhantom::Create() {
 	return new bhkPhantom;
 }
diff --git a/src/obj/bhkPrismaticConstraint.cpp b/src/obj/bhkPrismaticConstraint.cpp
index b4af3d06..51ff17b5 100644
--- a/src/obj/bhkPrismaticConstraint.cpp
+++ b/src/obj/bhkPrismaticConstraint.cpp
@@ -33,18 +33,6 @@ const Type & bhkPrismaticConstraint::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkPrismaticConstraint::obj_initialized = bhkPrismaticConstraint::Register();
-
-bool bhkPrismaticConstraint::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 351c12c9..1ac6b069 100644
--- a/src/obj/bhkRagdollConstraint.cpp
+++ b/src/obj/bhkRagdollConstraint.cpp
@@ -34,18 +34,6 @@ const Type & bhkRagdollConstraint::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkRagdollConstraint::obj_initialized = bhkRagdollConstraint::Register();
-
-bool bhkRagdollConstraint::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 d4422012..d09f5047 100644
--- a/src/obj/bhkRefObject.cpp
+++ b/src/obj/bhkRefObject.cpp
@@ -33,18 +33,6 @@ const Type & bhkRefObject::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkRefObject::obj_initialized = bhkRefObject::Register();
-
-bool bhkRefObject::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 1cc29b56..37317a0a 100644
--- a/src/obj/bhkRigidBody.cpp
+++ b/src/obj/bhkRigidBody.cpp
@@ -35,18 +35,6 @@ const Type & bhkRigidBody::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkRigidBody::obj_initialized = bhkRigidBody::Register();
-
-bool bhkRigidBody::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 28a052a2..ca45c480 100644
--- a/src/obj/bhkRigidBodyT.cpp
+++ b/src/obj/bhkRigidBodyT.cpp
@@ -33,18 +33,6 @@ const Type & bhkRigidBodyT::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkRigidBodyT::obj_initialized = bhkRigidBodyT::Register();
-
-bool bhkRigidBodyT::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 72389c38..4039f48b 100644
--- a/src/obj/bhkSPCollisionObject.cpp
+++ b/src/obj/bhkSPCollisionObject.cpp
@@ -33,18 +33,6 @@ const Type & bhkSPCollisionObject::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkSPCollisionObject::obj_initialized = bhkSPCollisionObject::Register();
-
-bool bhkSPCollisionObject::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 d71e74aa..87028618 100644
--- a/src/obj/bhkSerializable.cpp
+++ b/src/obj/bhkSerializable.cpp
@@ -33,18 +33,6 @@ const Type & bhkSerializable::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkSerializable::obj_initialized = bhkSerializable::Register();
-
-bool bhkSerializable::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 99fc0bd1..468065a7 100644
--- a/src/obj/bhkShape.cpp
+++ b/src/obj/bhkShape.cpp
@@ -33,18 +33,6 @@ const Type & bhkShape::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkShape::obj_initialized = bhkShape::Register();
-
-bool bhkShape::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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/bhkShapeCollection.cpp b/src/obj/bhkShapeCollection.cpp
index 7668bc89..9463a479 100644
--- a/src/obj/bhkShapeCollection.cpp
+++ b/src/obj/bhkShapeCollection.cpp
@@ -33,18 +33,6 @@ const Type & bhkShapeCollection::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkShapeCollection::obj_initialized = bhkShapeCollection::Register();
-
-bool bhkShapeCollection::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "bhkShapeCollection", bhkShapeCollection::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 * bhkShapeCollection::Create() {
 	return new bhkShapeCollection;
 }
diff --git a/src/obj/bhkShapePhantom.cpp b/src/obj/bhkShapePhantom.cpp
index 6b72f054..223759dd 100644
--- a/src/obj/bhkShapePhantom.cpp
+++ b/src/obj/bhkShapePhantom.cpp
@@ -33,18 +33,6 @@ const Type & bhkShapePhantom::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkShapePhantom::obj_initialized = bhkShapePhantom::Register();
-
-bool bhkShapePhantom::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "bhkShapePhantom", bhkShapePhantom::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 * bhkShapePhantom::Create() {
 	return new bhkShapePhantom;
 }
diff --git a/src/obj/bhkSimpleShapePhantom.cpp b/src/obj/bhkSimpleShapePhantom.cpp
index 1cde00b7..6402e87b 100644
--- a/src/obj/bhkSimpleShapePhantom.cpp
+++ b/src/obj/bhkSimpleShapePhantom.cpp
@@ -33,18 +33,6 @@ const Type & bhkSimpleShapePhantom::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkSimpleShapePhantom::obj_initialized = bhkSimpleShapePhantom::Register();
-
-bool bhkSimpleShapePhantom::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 056c1d29..7337a5cc 100644
--- a/src/obj/bhkSphereRepShape.cpp
+++ b/src/obj/bhkSphereRepShape.cpp
@@ -33,18 +33,6 @@ const Type & bhkSphereRepShape::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkSphereRepShape::obj_initialized = bhkSphereRepShape::Register();
-
-bool bhkSphereRepShape::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 b33c4823..61a06172 100644
--- a/src/obj/bhkSphereShape.cpp
+++ b/src/obj/bhkSphereShape.cpp
@@ -33,18 +33,6 @@ const Type & bhkSphereShape::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkSphereShape::obj_initialized = bhkSphereShape::Register();
-
-bool bhkSphereShape::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 a953367b..5e8dd328 100644
--- a/src/obj/bhkStiffSpringConstraint.cpp
+++ b/src/obj/bhkStiffSpringConstraint.cpp
@@ -33,18 +33,6 @@ const Type & bhkStiffSpringConstraint::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkStiffSpringConstraint::obj_initialized = bhkStiffSpringConstraint::Register();
-
-bool bhkStiffSpringConstraint::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 a6a00a8e..040eabf6 100644
--- a/src/obj/bhkTransformShape.cpp
+++ b/src/obj/bhkTransformShape.cpp
@@ -34,18 +34,6 @@ const Type & bhkTransformShape::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkTransformShape::obj_initialized = bhkTransformShape::Register();
-
-bool bhkTransformShape::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 88f0f5fa..556f659a 100644
--- a/src/obj/bhkWorldObject.cpp
+++ b/src/obj/bhkWorldObject.cpp
@@ -34,18 +34,6 @@ const Type & bhkWorldObject::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool bhkWorldObject::obj_initialized = bhkWorldObject::Register();
-
-bool bhkWorldObject::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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 0961e2c9..07cd9066 100644
--- a/src/obj/hkPackedNiTriStripsData.cpp
+++ b/src/obj/hkPackedNiTriStripsData.cpp
@@ -34,18 +34,6 @@ const Type & hkPackedNiTriStripsData::GetType() const {
 	return TYPE;
 }
 
-//A static bool to force the initialization to happen pre-main
-bool hkPackedNiTriStripsData::obj_initialized = hkPackedNiTriStripsData::Register();
-
-bool hkPackedNiTriStripsData::Register() {
-	//Register this object type with Niflib
-	ObjectRegistry::RegisterObject( "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