diff --git a/include/gen/AVObject.h b/include/gen/AVObject.h
index 17125fc7185aec215aface3c6654a86fcee81ffe..2c02b07e2736949248cff77c1eb008fa5f0f437b 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 859176193bfaa57e9e94b4db765ad442a2f1ac6a..7a34701cecfa1e9200581c365416414d2a3cbd2b 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 9d9fc3cc95265b5d7fbfc28f71e179ea0761334f..8479d4140dedc101282cfb385125036e796a1eb6 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 8ef55965564765ce1dcd0eee64a508c0c0ca4301..45080290eff01bb94673cb0340d9f4dd7f3143c2 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 1228d9bd762215134510c5334ff0956bf9215d2b..2b0f27e5395030de80f2720e84e7a9a1607d89cb 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 38a32adc1d4a81b82f2ec40f7980b2eea874e906..2d461b0f42dcb3a378e600039fabaa0e0886f56b 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 41201492a2b8ca06bdbea8998bc76f1aba587b65..35a0690ca8464305928e3d2e6d6fe22c84825bfd 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 80c633a3c6a195530c9149dabda56e7dabb6781b..2dcfd5e238a0a90d9781c186d9c8d90151dec47e 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 b1f8fd8279cdd959a07e5a8bdd5f3e60155fb14f..ea971adc2274b46108cf6a922b8d23a014f584ba 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 40cb9921942ba40881ba3e7936a3303206d1bcdf..03b90b7bd934f2442c8244716a678c5379bcb207 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 7fae7120b6ef2bdf7b223d56d0e3ccb320ffced9..0bfed6ac036d577d95b32f6ade226d3f3bb22809 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 8da10ab808ca5670c5e61f539b4123663bb87957..bf4b8a98ba1260f013d9c67f96e7e1ad0d0b9078 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 0e5060464a4765fa1b432454d43260d288385c59..6e03f80a6f097b369dd24352466c11ba60cd3674 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 96b338285874e7748e713cd631012c6b70a34d13..59dc40cd272ddfcaaf4ee02398d5b6295f42a8c6 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 1ea73205c26503c1b0f569e679ec383aa738d2ca..9febaa07f1588d2370ceaf30e6e0ddae08be795a 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 7f37657ac23d242211f13c65d9c7c15cc73e900d..7ee1e42bbaaa8e3ae0f60127fd7559e238cf6ec6 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 fcf63bd2bff61d663c73a2cdbbb1596bf74a7e6a..966ffd05126ff258a621d24477bf12f44ac050fb 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 c39c94f5506b8556c4ccdec87f73ade53b8ad7ad..86bca4aa4141977bb824667377dceb9bd6e64837 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 ab3e5958eaf9beaa4aed9646279d3c7e693f9d71..11250b735b497b8138bd5c877f36a18b14c30931 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 9be6564f451b2369113068c0cc21cf1c50905d55..d13a64493042f770f7b140b73ce02d47a776ba96 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 771b577116a0cd34727fea73577d46f8007d256c..48fc2895875011dc507efa2f01c620bbef9fda4c 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 113a4e22783ab62e64727bc18c37e120956981af..aa49f65e6f6e6783e39f6178182f624f8069c493 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 982336cb45d1de28c94916436e850e1e4003a71d..af9d72aa0f93002b0565f62e6ae3ea6b0dbd3c53 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 d90339570d0ef79a6846bd922501f0ec405894fd..d94a8bbc69511149f547cd7ead96995479578ad9 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 dd74ed9e46733e81cce3751f4e931096763b3011..7faa200157afcbf05a90b810884b2966527d7c25 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 f76f54b13f754712fd4663e3a593bfa42104601a..abe12250df75410e0946026dd9e93435df5a2b21 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 08b5d8b44dd7cd111d607c50e93f2ce63adf8f3c..5afc63c839d32196b98cceae34b14fd478e08e34 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 f742a4e26b79b9e7fba130bbc06defe52dfd3447..8e8a1fdf6ca666613921f0a5ecd6bec943a9457b 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 6453241d55223f9f1859094cb6e7da709b9fe2ba..70cc294c377e4269813bd99513c3dfe84e79d0ba 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 4f072618c2f75d43ffe8b8f713cad3e30dce52fd..d4746d3eb94a2a40af14a0b40f5fbcb0a36c8b0a 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 38014d6c093bbbb6c2b69873622a84adfb44d45e..31535156b29f2103d32d3d1cefe0a03c172ba3a0 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 2106796859a64b56ca38901cf5c6e0dddf97d8e1..d0d04f0b8e3f862e0c07d54cc52586c1bda6bf5f 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 078aa82ffa67c89cb447b5f99877f0d2ab0a4ae0..97d5e24d7d60fa0a41c9d5d65a6255df0acf61da 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 0258ed9d1ab47e7ef1cd4129cc7cadd7914d3502..0813c7211728a4b7eed566d8765663a0098496b0 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 ccdabe38aac3eaee9843a89a1c039fa2e28e5f41..4ce9b6a03142f504c87e81967ebfb123f2d2ee21 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 541417521bb5871b6fc99b86c85a5bb14cb69667..dbf92f73d09606379ac7351934afa0bfdcc62c5b 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 1d4d0908f6bc7c2f5ba85b316b7aad8674eb239d..b307ce27d924d37d49bf696ef100abdfb78fb18e 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 9d6cb3b7abb9773e89dac2e941e7c680956b054a..8085e14493d7dbfc2b9b7985920d1b939e37a686 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 2dbead657a74584a2dc7bd2e637f639b1e3e4784..009a607fd6c17d5b147886ae296d3d1e7655713c 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 d5fbf286f2b0ed98b959a4ff4caf393feba2818e..6e0cd7f1ec30aa4dc00d35d7a9e35effae580a37 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 7afdc27d43ddb1ed0d7a544459e1ee0822e362e6..fa4e9d5fa2b82f910f0a46d35e5acd2df18b9717 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 6383c0b085697a0bb18d3b6dadfea9cf3f304197..2c0af352ad2844957b65b38c499f8726954ad200 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 e455e7124feb5ee85a82521713fac7bf52712f3b..51dbf16630d26511b94f405d960a3c77565d46bd 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 4e25f7a8718f5a04666f55dc22a4916ee20b1a95..4e64ee4e4667419e780bfdf46c0694c56b67703f 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 d2416c2ec216e43b02c6e0be09500445a9f9a491..786f30a78fdab963ac830b5000e15cfc36b92fcf 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 76ed2f15098f39d6aa5abceb226664ad0d114a86..2cafa0494343d628f39681bd9f7c2adbf99febca 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 cebbc2521fa3aa6be61396643b2189cc18238a0b..54b3fa21b533871703c0d109a4695f6a0a3a7ca3 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 386fc3a22c6824442eb82c7382e1148608227db9..88599d05d125c3ce4d18c6792d9a7436abc4e91e 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 a04d3431f737232cdd934e0f2f9813b235e94008..ed7dc879b578a4f03c97ff71994d33a24ee15a8f 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 594aa94a7deb0d70d3417f800ae197e723d72b96..c3403125b6976565eda648dac2e0aa59dc230234 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 cd20477930e68dd7c8cc4aad4c5d59a28efb823e..f05ce23c911773ddd945ed3de0e674a198e3c36b 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 bc8a8d9706478f7ea92743b31e6668db1434f322..aaa0b9e3128acbf48aa50e47900d1adc2305b186 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 6aadd187aba18d26cf15b6c987c1e0f50fa2e760..8a66cce3df4d4fce43735d4048c38bf9baaf1979 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 2a56597754dcbe59e7ac03f179a0ff454d4238f6..0bebdf95b833a5971e1f2a1ed44d286aefa66788 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 31623aa20ad7a64112da64b7f78bfebd1de0f0b7..2ffd180fea264a87ca21df1a2adac664b4ef89c8 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 756cd74b0a69796eeae7728d05a4455303403714..10c696ba4c424d475edb0c858eace36d834dcb73 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 741ef27d183a027995233d2131423b0dce10ef40..e076040e69a7ffc17924273beeca86639a8638c4 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 4e2aec64c006473f5b61124024aba475ba310af9..9b7578637c146e31b4567da6efd0202bb8915234 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 357c9458589b8f1c4fadf9e371a09df1ef34ee3e..2c2567fcc80160932562dc79ad70ca7735323aea 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 c1b824c3fbe38f445799e0252d9e8b1d1a6430d8..d91207c7412faee4ed337debed8938ebb6a08548 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 a91441d0b2449b4bc9fc1cabbefe87ef8e4d1cf8..33b77edca7561ff05f3ab24f66e9899643c030c9 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 644fc7a25b7714810893b1d2acad771142a6964b..d0f8ef713d4d34b642921c6dff5984d222b899a7 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 04e9e441d94d36f4bdc0b63a9cd4f7c3ce695b5b..535fbffe81c9c9240554dc2c7a82422a06f5d900 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 56c9b1f5918e7679b3ed1f6cd57457f89a5967aa..1160ce4c59ab79f13f67e2dcef64ecf39bed05c2 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 ec5bcbd153626a8661c25d8113b85a35f7fcd677..a5427880956a4339effb784e56b8fb223cf5e6f0 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 e33dd2f80b9caf5947c5a095887e65508043fa04..ca31a46a0f6e69ceebf2804656e04187efe68865 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 4aa8b6dc1e32b214d8e70dfc3483890be7eae933..d2386c88d8a32e65a8a13994af07195ae4216b2d 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 ab6f863ab0ba42328a36ccdc504b2b380286e4ab..af4a03752fa208eaeac5f6979d495f460f3302b4 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 2badf316c609080fddc05d4be237a731f0fcc2ad..052a9a61114b7e8bc6d383688ccb704760cc6643 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 51ec07d5f99636b1b4de23183b972cf2be6ea931..ba6093cc81e69b11e8d4ff7f5e19dcbae980f074 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 8ff074cbf94a60e52cd9781d3c90f9c031c4287c..b8b77d01dd162846586056dd288daba900c1f784 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 a4d9862f850b3c9f13db2058e710e888dcba7eb0..4b91015baab9902042dc82e8a436072b5b338c14 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 47bf39de78348de64d39e2561755f9316ae714a8..22b8b836306c0d692a8d6002de65354fbe3803a2 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 4e728ffc6eba18107979992507befee3b9b5577d..3ddc711d7bbfe86ecda99d9be4c2917f31e12829 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 e158568725a496dae688a23de3011caeea88e148..f11d8cad5cf3532e7b188ddbf76eaa6cbc12dc94 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 5764791ada2ad1812a496cd752cb35f579f14e44..5f29a0366ff6f3f6f2958a1ea5e4a673e9c8dcaa 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 8553af261be443840794defea23c77cae75d7d61..5c2ed9fd074351e183a416e4266bab34942ec03b 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 85347782096c7df6ffcebe124db91cedf7bd231e..87c4003443f86c101879ee95a855ba4e69399b7f 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 939547f38416088276d8b881d8587f146bcfb392..63d52c789f696643c964e543f5ad9dc41926a2b2 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 a7d03559a1d8c3808a37342cca6eeacb3aaf777e..dbfa3cf527d51b23846aee825e79e53a5b32ad44 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 e75a895601eb98bfa441a29d4168a6a33b5c3b5f..45b5d4237dc59680c3f6abd1cb5a44e5c0b65ab1 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 1dc25056d97bf1ff7c4fb327b13ab9d550184cf4..5cbb8e844cfe29960929d452a7b10ce12f588952 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 9a65c34b8af442e5922eef2aca6bf99036d62ba8..106a62e445bb9ba1fc71905fecdf2895ca8d5573 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 5c2f605bdf628e08aedeb09dd25be240ff7fd98a..fabf169593d29c23f6a93d5d720b284604a7e8e1 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 c1d9061f7e09c29e0be73845701123ef88f1e9b3..c99a130788d2631a826d0425de999792dfd79d7b 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 60960b366bf2f673e5312d0a398d42cbaf2f2343..ec21500ed8e20f78d46ed23ed3be2773dfbbb844 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 2def4cadd86497b263de42bdfa74e04475e56262..e084222139c4ab96752c27fedcadc27bb8fc8edd 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 0221693b6f360a48be353de89964b057f0b5e114..6f72b8dc349872683f0de08b5fc3024b7f880080 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 21084dfe2658dec97efcea7f7c7e6d10ed64e602..110d131dbf1b21e0ba8343b816a90929a06a0f1d 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 82aa41e29aa57d31d9b0a5f79709a303312aca17..3ce6047db7b61683c939b3153eb96ad7cf2d2f28 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 3764be3ce781173e5d1163dc078cf60948000a92..cce67c94db2b9cf0e2b58b3b2d32dac80e0f725a 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 4be107ccffe0c52800e43e9be69b805d13789ca0..5e6bd46e372e1ee5bd5bdaf02e3485d90908a291 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 36f8dc41f70df64e37256198756a6b95e6f0b367..622ea9e6718b5f73741fcf860361ebdeeddff712 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 f74e329fcf69ceecdf05d73bfde10db4d5791e26..9a23a14a48f9a7bb0dac97004bbf8beec8f5e712 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 b57a08d106ce07ffff7f0e9367e572ddb6ea248c..02286506c4c13ea32d743375eb4717dc62cf3f53 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 ef9c831be186ba14d8173aecebf759b0df789719..d109a775ba10ad53430ee38885e376cd21e73149 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 2ba1de2686f0bdd6d4d5961d635ffcdf8bf58009..b42c4a2ca2dd2d567338cd8459df9302e73631ab 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 c5912b054146a9f757011c521c731058a1d9790c..b8d63ce761fa1573b4d244d9e58101f319b8ba74 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 aad9062e0e3a3934a3326215a727673156cfc2d5..7b059a0768f6b86831e1fe7fac1e612e15352c2b 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 b5c68075ca19ddd8719b17c8d16254d667092d9c..52c43c5f28ce07d208b8d258654b3fe8871db71b 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 5996a71e8ad0a3154b802173aeb1db47b93c8126..030527972c204e82dd74b9ac58149908cbcaee06 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 f908f38d9e15da454d819085203d44dc8dfa690f..fc6b8d2adf0ee01b7bd097b039ae258c15bde0e6 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 bf377f8c7df981aa86d035d1438e42d47610f579..0c2053356c39af82e6ac51ae16cfc91cf8a5571b 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 137f843243c94b5fef2bc82cc2a60a018dd0b56a..b6a622ab294c3babd303cd734d8b064655bf9899 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 f94e594dadda292beb3eef63a48eef2561c0a499..e5ca010e45b420177e09303563c7dfffec22bdb9 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 f77e908fd7991cccb3a57b312089e889bb0b516d..a5813b14d342643b194b29a947841bd36c61effb 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 d67c3349e0458f0948eac53461d7a6f7249ded93..979b0d18d81f683e59a7df42b849b683a49f4f58 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 c6e814287a92254469b36883e613b9838bb64de1..fc1c27e9ed2669c12379e2ccb3d557c6a4388411 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 09f4fd14910aaa99ee289d0be862ddc394586b86..f8df84b95b17be893ef13cf29f19ac05ec1d5fdc 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 02b3c640ab8c29f06a863c1941fb38301ab85612..741137d2baefc37bb319227c4fd963ff7040cdb1 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 f8d5da261652a381884ad0597cbf9933c517af06..8276a86ac4d9e1a7f579f03ce77670d3b67fd290 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 508fd51ed5b4801546501834d921026fc2c9d572..f428ade0211af3179b109851167fedb349283e7f 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 e2cec78d79e93d7798e6e44c2d960c0e4658d376..1cda882bb5762a76edfdf30bcb904a1491ba4300 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 f0901a4e510ebbae5a31502b1519b1c13473e6b7..867aa330151dd8e5c8ec5d84071b1f69229361aa 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 4edad22fac2706a96a6dc35e8b98b79e8bea7931..f22f78f22218a9c6f9f54ac9fdc1494c608f56b2 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 711b841c877f7c63244dcc8e1caa6c3468fd5fd2..f3586782afa02cce0f3eb57583968b2a43740178 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 355fd8fbaf9ec57e7c40c232dfe5cfa6fe8b781e..7ede9b2abe7199c5b569cfbde9a6a2aec9aa1f3b 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 4a5e790bab91be28c4c304ed5470d4355035e0b5..34b15fc8d97e1837b769d6a9415b476fd23ef556 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 48f05103471fd2dc3bb8814fc8c5aeaf5684686c..7bc8656a9dabe90c25b9d4f28351766f3504532b 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 3b64290dabc8d8ba5d979cfffab731aceb3b0471..24ed3a30b6c20c01bc93bb5ffe839e9fd790be09 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 30f6e6b380e46b13f0ef3f7283319c1f3a52dec9..eb0827b1641036b7c0cf2e7afa3f823145cec349 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 788ad0f4e3b44528eb42f7d55a514ece0f0d2c5f..583e623782ef3d7f6eaf870237b057fad2a5f844 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 629d8bcf34ba5d07d231192284cf2d4fe6b50870..b13489945121087b7a484f3cbbf2fce6c8f3bc21 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 dedcce58ddeeb6928c92238ab7e06168d272b125..4de02e217159b5f7ed2051294b92b963865be7a2 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 7c794e1c7fcf1fc94c5abaf3ff89efd4a9d6e47f..1836225e77aa20b50cc70f514ea56ac372472d99 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 ee839aff4e13eb34370d1004cdc5466abe60173d..deaeb9d2795357e25ce9647ecf7d5befe842cb8f 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 18dd29b3cdfc21a1ad4fab4874b3d00008b21889..535648263cdef59298ea4ee336b4ea0b8d7d6cfa 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 c774cb316e6861d670daa55d2b44b4f4d00fefbb..65c6522ce3d5cb8e700aafae2ab9549bb55d1a7e 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 ca94d6d798e47c07696cf72b77c81eb53848c924..b541e98cf3f862a57df05eb7eb057f23ee433f5e 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 50e581c7ab6f1ee21e2e5744fe10cc725021d377..dd1f095421205f3c0c38395b51cb3c2fbc9dc1c8 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 a0b925888fe0363d7f5b4dab9a8248e7d126bc66..b5e7aa65d45c40ee391a360cac9dafc8c17b2d6a 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 47730de9afaab5791a1d0b3fd0c1daa3a5baf6c6..728be37413be9ac607bbf8b17fbe5d300b31b716 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 65aa8c8d16a0f6b11b1da530201c6cd806ccdeff..a41d4e46504b68d7b0c53627f566f6750b5ba476 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 5fb6ebdccf4a53ceaaf82a78f2c608a21fd8586d..fa52fa6ccdbfcb34c5dfe2f4de4f9c2bb28620a3 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 7d83392c92d95207280d60f7bd48d44518b32205..7580fb619ebcf210f115adf4f6bbcc1cd1a811fa 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 d28d53d199f96cd4a1af722f301466d5d7db10b1..5e97b43e27346508d380d1070c0f0fab4870deae 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 ce2ba8ad620ef0f64213900975f16d40516eb307..5ea1287a8823e2b92b331993a9d3ec5060cc2ee9 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 88ae0bac865dd5a43a361e18648e05d23756d17c..aa560ed7e6323c5a06dc0f6b071dcc9e0576091f 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 3d02828b03fe5ae13cd4fa78a06a9444fde9bb2f..d03b678cdf5ed304058ed49d162854ded8e38033 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 6c644e360b035dbfeb30eeb301824b0bad9f6906..44ae142216fc519968a0ed4030cde8f9571bb7b9 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 fdf86a56026f14eb64f801acc6c5e17d6e4633b6..7fe79dc4b9a4a712599e2a80dc9773f88f0584ba 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 b5fa39dc9cce73443423133a239caf76f0368111..0289676a0f0d44b7095b4f773283174f88eccf19 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 bd398343204715ca82fa664ddf69771a9bef19b1..dc0c0f61bacda49ff0570493ec158840f6abc0fb 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 44f4caa70d9c03c205f845a00253785b9bae23bd..12323b147ab3dd8d423762d2b21a0b39a7ab80b3 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 8eb96455488432d73518003885fcb2d7cb86991e..8b2d963f4c531a65dd832c3b174bd570736359ef 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 f7040ce632459db0cb30628cc67e90cdb73dba0e..970d863cdc6883655ddad7809d025abd675b026a 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 27121b8186630929395efcda95347bd6355039d9..939b9bf57d90ad8deff366d7b056747c6edf8bfd 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 c62060f1fdff236670cc1265b4dcdc16ee7928fc..f792e95e85ae82ec2f7732757c423d75844efb53 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 b19e75625d827c3f53f63544a30b8e478b376df9..9b790ec0aa637433232481a48ea7faae87cc3a39 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 74a7c2cee1642eb39920ae22b11d3446375d28d2..ebd57af04ed98aa48a66477caea5dd84133a820e 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 a5a19de29d8858c4466e34af32bca82e5a6290c3..25aa747228a4d56665bd8504003f7bf7d258262c 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 fe28c86748bcdea5add8c4ed2e1000a0a8e90047..7be9efe652132f353a86d3b2b390717686316494 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 fdc1a5983cba84199fc2e4404771d17dd7b475ad..2bba3a00a0218ffcc0576ac28b0c25ba108f400f 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 7d888c6b3e102b0e216da8bbe0ba6adf218dbb60..57bfc93f274988c247313bd50104ee85f6d9c22f 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 a35744b57fee29543b6ce01dd02b25ee1210f9cb..72b5e15fd4d0d4ce20ac3d555b97bd99ef8ee8fc 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 662b77b7b3da0a8c8a81177c1eadc0dda592acaa..8daa4d873068d2acbbb7562860ec8001c546d8d1 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 2432eede7e5f1139f08c5eaf38af26cddd964c02..8504125d678c71ec08f0db650a02d0d580dc62d0 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 f5652b349c767d06bf9b1e5896410cdbaf664fe1..6c9ae38222d1216cac0ac7208785d6131865d3f0 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 ec67fe4057f3564c518afb32f12f4896042e34e7..57a87e0c0db6758ea646e08985906fa8fbf2d93f 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 5f9e96a183087b4e2d282a8206f89b22c556376d..76a37772ab77550de220d6253d1827726a5533f7 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 c74762db3f444343ffb859213c264ac6cb47535e..db4b51bde54dfaa6cdbc840b57f35d4c4c054b6f 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 612efef12fbf2467a19092a9cc27e71b065bda1e..c0e26e35b65cbd93d5824b4f756762b48b2a6b1e 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 ab41d691a3b164b787834c558338102f1731dc1c..eac9f94716c790b7b00f5487d83aab88253dc9f2 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 5fb08e5665d539dee3529413d27d9e5a17755f6d..f603e3fa17a7a1ea4f9c3121315e94047d81e9b1 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 77dc46489a6bbe4d00e7d5e810e4699f8f52b347..05ef4f6eb0b9994fa622f5279e911fc5fca4db94 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 7c0075baa6c43bbc668f42ff853525961643a45e..e3a3ff813ba3322c9cd4c1ea34000ecdaa0cc95b 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 f0ac00e43eafeabed0f053a0356f6d4a943e31f9..e5c24bbf3403c3d071f940cf7a4121aa20705248 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 4eb9576a8dfaa11977bc3715589a659d8478d8d8..8342c16975a1c979d26d84cff251aebdaa6cbbb0 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 3c2633d476f6ac80919126defee1a165ac9561bf..d9822a309102472013d193623024627891571a3a 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 b065be1e291654656ce7f956399dc714fba5f660..303d4908c28dd42207bc356f219d3969dbe2edbd 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 a845846aca1a77d45efc545b3ec004fe4fa7f9c4..b73062e99f572115c7cc4694f0fbfd74cddef1d0 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 e02a032dfc32eaba1655243380a6cffbbb03e375..54aafe75cc105e09c1bd50e1b3da2ab6ebc55938 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 7192f3da9c48ad3154d8f8c51443364d40b0dd35..eae24116e3649803b394a41896b15f162edc45ea 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 7d988518a2884a05577dfd933e91548cd7e4d2bb..1bbbcb882b96f5d7e03b2de0f4d2980931fe3127 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 7e485dfbecc7aa341771d55b911a0af671ad68a7..6f650c571ed76b6dcae5a8bb4722b6d2a4dfe817 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 bd1c69f855fc3b5062c0fb1e75262b59341922ac..7e6275b43a4186d4afb2d5f316d307455acf1ef4 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 6484d4e70475c39cf875d12257e97d025c6a3de8..c81ab775f0756636c3e940a64300abaeaed18ed1 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 d8d2af74dfe476a0c34c04ed9d0aa58581b235ff..34e14b3efea4f777c4350020897280675a04edd6 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 d59a649346b115dbd1bd32afe8a8875db576c58c..239ddb430fa0820346294a818e5b579a80166538 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 b39cf7e790c197741a200bb32d2cc061c5b3b716..7cc0059fdd57f7bb7debe30dd1c7f41c493ec0c2 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 8188c21f78e8d645881f368d2443b2ce3966c23d..9df205c999cc7c027297299a78cef883751c345b 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 06f6b8f3acef0524f2fa20e3c0b72f215b9f07fa..ca022e15f26a847a4bca420c724edae4092bbe54 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 eaf2a336085c926753a92d1a315d955b86f406bd..43c015454e6e54414ae635797f48d7162e1611d7 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 aa1b1b1146eae74d98c42ea5a81b3cbb4b8e4813..f61e5328ad00ba98c9fd33df265262a07294ff94 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 5c3b711b79d97588b06709c491888c22f0bcfae3..c2eb50003a1cb4857a0acd7ce40b4e519c9cfbe1 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 41d6a5fd558e03bac62f444f79a0217f71f65ca8..a1336561b55d3042e9b79644e749f57d0b6b9d59 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 2c7d3e3d5c06935da5a72374c1876e430cf8687c..48cc2acc430017f62c8c446927a4592808e32e79 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 b09bff1b16b702b50c0dd733fb4f9133f5efc2f9..cd04990bcc6ecedbe83e1a91bca8d5e58adc9e1f 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 d7348a12c01dabca0ad05cae7d862b5912784556..b1f001961c6278f3a5fa0cc6b0c044809029487f 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 41eaa094c288acde0418259e9e558598afb68a31..ed5c7afc9b0d737775df965aa2f64aa44d7b335d 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 e00ccea0007b277ee26750b5d0a822e4bdc09a18..a3d41de8a3f3ccda68941860789694806e17c9e9 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 21c6c1daea972db60c97f43ad3f79ea90ccb722a..489555480d31129666f5dcee70a4fa3974181ffa 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 12b6860651d91284d4ff0c831a1578facf248296..bbf368844a1fc2a3c221b046f36d6b75f1c7a0c7 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 250dce5ed90c77d404cfdc42ed702b9a5367e8c2..35a2b9c8c28ae909eb378e4592c785c99db81501 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 7a771fe122221641080c421393feb7aa86d5bf50..425ab6bbe5663cfd143c3cbf43d760c9e8c644f2 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 9bfca9ba36302dd515cce62c3b1dcef90e50a91f..4014d6f5d0bb6c72d2bc86b286e4c695fc937135 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 fbdbb58ac88a672982b869aec34e4b6d72681e76..aa84b7cd315bd008bb2e8ff764643e4d87318661 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 be9e8f1ab84bf880f93baca4e1b403e4745eca88..ed2a954c09bd100f46aebff1e883f97722207c5f 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 819c0b72b99464e5fec0aea79f34e7b2c3a68999..34d48e34d6447dcbaa1421bca769e596fd72301c 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 039d1e20bfeb3badf6db71ea0f0f6fef995c126e..4ea506feb83dcb5f664adbd32ce01e916ca5d4d0 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 ce0c2f2dc33598c1cdb84449c13c77b50ada1a83..dcf0ebbf9b3eecd3c93f77af19ddc177f017d378 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 225581cf60b320a311824db31a3debd4f3364eb6..60e272b114806cf953bb01327a40143a471f04dd 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 cb9c917c13efc23929cdbb3b786c7ebaf0425f70..a4e5a626ef6d375d2a6b4299419cf3a4579fd045 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 9b2409f3cfd163b15887ff554fc8f6b6855c2e77..3d3d9c76805cd52c88ea8fbe0a4b6210ced266df 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 081e3bb38052b9a08f0e7c9a816f4728f4b4515a..22aca2664c80b11d3ad5896b1d3e77861674251a 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 26def070415f0a5d218fc1059178992076350001..7a33ae13c6716a1cdfa33c3e0a19dfd20cd886fa 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 c8b68f20c8eadce1e25c87ee48572ddd14520107..678cef29ca2f8ca5d4d22cd6b845dc1e590a53ca 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 3a3b8edae51b1fa3b3ecd61fe76fc2553f176dc3..b482a05a1388948db96a08d06d89293d28a2d629 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 b22c96a6cd332845540635fca3b59897937f57a0..2cd08a486fe94a8a246260db913a59267b642115 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 8200fef39bcc5b8bd77223af22ca58a3926b2451..27209d9fba5b2a6774d7209e9fe6d3f4907240f1 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 c0776a7a96e1b7514d22cf9b13524d056dee45c9..1cb0f967e865c7d9676e867ba986752d23c5c127 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 2d79fd6947f3b9c481b835487afbfc8a85ef9581..a3cf7de46da1b6178de9e65805221c6e482b96a4 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 884acda3cf6d7ffc2905fd2ff66a1ee1700d448a..8c6c813058c7497873e833eb9d7e2ef282f1659d 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 a6f05c64b67077b0c4cd8d5c8d2022c6d2009523..885251f191065f013fcc4dfb3434be7dc61294cd 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 9243d0e0d16d3c2918a2d09c50ee5349036c8b53..1b1050f655f52837b60c9ed0b0936bed6079ac45 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 a42d28aacb1212751d7b034f8f66adc947e49ad9..cae65a301310ab681ef9ce610741238e1332acb3 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 209d0c9eccbe57391c583aa5e0496157dd0fd754..e305c5e17c7329b95df9a1d39358d926724d2af0 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 bb65ebac5f27c71820a05192fa06bbfa71dc4ef0..5b378d846a2d5e497548e89110bbc9eb02715203 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 8d2e2b93acfdeda43ddde0cef6bd5d9b15c3faa1..1b191fa43f582e4ec8b36e704c71b824fb7bf433 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 90924d9a729567d626d44eb7c4a8d2537bbe0686..aa7ac4cc6037fe0fb9fc74940720d512033f3b85 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 47881880233d052aff8520fd6c3e909bf636f761..1cb486d5be5623facb35d7c9c2be5505771a55ee 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 8ec13cc49a9f644eb3e7adb4eb69c03c98fb3948..e152207af391dee57cde3dadc5ac66d320b0458a 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 e45b5b3bb5ed4a9812d13133f3dccc5e8a8adf22..0569bc01518b812a0a1997cf14b0ba7c91643b7b 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 60a348ee11d23c0b2ad03bd4325e0737a99f9e4e..6a8e925cfc151d189f89bd5d8110d25f8ddc0438 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 a4489493cd77ff5a5c9745b7d798fb781a185084..7127879d4a3e3d854546cad67391b99903c186a8 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 095e907070688e83707661d559db58fded4aa435..d755edcee3decdb329fe41a41c3efac020467eb1 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 0a045ea0fb597183aa748909e0343a2525b41fc3..c74d6f6fe7c7f4018e0187410c1d33268c88aa56 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 ac6385143b3d6cbbd74bba41debaf28bf0571bad..db84ec7b1ef69692d6487538a918e09fe6152608 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 61d4fccb1a123d2e0e6b64531a87d23dce3a9efc..8fb391384a4f32bfa61971d190c3b132c5e5d270 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 5479db4ed99bdcc569a094a40aa250f7fe356e79..e4b4cc3cf9ca00625ce551164e34d039d527376b 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 862e39cab7b4740c637a93b16ba4d2f49f34c780..0d257693c045b4d7e9f2c760f7b2f98f59842aa2 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 75d39c27007e00e18f57592bcace2980c43ed11d..dad41067e5d2e068eaca8e5296089ed00af35414 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 01974589729575bd1729c95f7987b328a8803e02..c3610105305f8cc560470f5e1f506c711592d36c 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 85b0d62f75c7a47b9591693c5a960b9ba4c7eb25..789be916e2cb40c255c62deb494069dd5cc7c16e 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 db39e71d4ee8b63236937919008e14c13788c49e..ae5040b4078f65b742082f9301f31c2943a62e62 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 537ed6d5091b36faf542703edf7b4e51a61d9fd1..f4b2cae720f5af985c5b2c784d65700f143b767f 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 d5061fc5ffa5203448245c2f6c00574e8cb6f0c1..6adcded4445c2369c8d72dfa381de23e9a9e4a7b 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 725fae801618d4743755e153df48c7a5397e8bc4..c6bd687e73175e3fcec8a72f111c033fca63d573 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 8824c367883bae06873641a5eb0f4c9d47c70ea8..57814703ba513e0b3aa51d78f8b447a9a8b28325 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 35f67beecd73fc718af82a2575bd599917031a16..17c08fa08d86b22d9f9b98a2b55b73271a77e9f2 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 af605fb2a1d7ba88198da49009b8e076bbed3b65..fd3a7bd9f7a24caed874e0a87df350f59132dfb8 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 d171c2f5993c574fc9bdd3ba4e4493f211a876e5..3f1490c11731c4086b1e6fa83528a88b736d2071 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 afba571e4b014049d3e9eb775a84909894db4d26..6c8e8e2a8e0afb2782d4c022919ee02b68993a44 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 3ebbb5ebe1b01aefec09eca7024a9ba8b25d58c1..7850400e2199b82154855fe1b7e6540ab96984e8 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 fe7305d5958e95799eb28da43af2d5642ac7cd0a..dc01a08611e0b23ee49ea25a4feb32a127b4bcdc 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 4593f59473473fc0ad0625a09647dc798309076e..2eef980e1ea1c0dfd477ace94ca6526d708f52c4 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 a2a6288f5ccb85e63d91a09a193fd75f8580c09d..45365c7852d0c0d143c91f858b57669f2ab19341 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 571ec3e8656751d65eb1d4e7f1eda510b296f6a3..f02d2fe9ed5bb039d4cc19efe9b3ef7259f2b092 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 117e14737f11658067097e67173c7f24815df201..f7853b67e080ad6683d24fa737b5a7e65a3a7df1 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 05d9c2d5b93ccd122934821eca27fecd10b91b3d..9a7a247473cfcc9d1d67825cf989b14fa65aed85 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 758b558a65c5bd4eeba12a5cb9eb666a9253c61d..64835bd81470b326ec56468394c0402d005c5d2a 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 d51a3e5a324a1143e9c6d9ac4c10f5b0d3c0da79..d6dbdb4b4342a174a08752c6ebad8e86853ea90b 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 cead5ebbfed745238414d0172c4468b337bbb1b6..9ea67bb63c09426b75166a204ba49dd378f2fad9 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 0eff74beb14dde69cc1df9d8dc3b68cbc3e3db0e..daa6e87b58a481c635a6e3de33ef3ab5932c1ca8 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 453a371c55e66def72ed6a8f05c29e4f9c70731a..a82934397dde83031a1a5c12cdf8cfc7397b461d 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 3ad6e7135d596be4f28c89c4e7846b619ebf76dc..1edc6045a9e15e2aebb6d09369af30f6e0b8f56b 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 0afda63229e442a18480f7c1fa795c5ee87b2dfe..1baa41f589515b2d3292b0aed2709a549a570f51 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 919663fa3d717c0056b1da0d5f8ad11e9859dcd6..b0953ccd4e9d46c58884e6bfb0c74b36ead4cf26 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 9aa6f9527e1ba0875cf4acb9ec0a8aacbeca82b7..81d540951b5853d318b31535aaff7337e1f8f4d0 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 70eba12836a39e79e83112d1d2ae3d0f3f914ee4..64f67c0b43596d39441459404802fce3b2934ac1 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 7712fef4d9c8cd9e2d537c6532b00ce772105791..f24c279f704343ed036bf25fa974c67e0bdb5f2d 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 266d60b41f2ecb25fc3d595211d95445c0512004..984757f82f20e1e4b4bad7106fa0674439a6561f 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 3adb5f1016db99ebcef377db6e88c15a2f1f69b8..23b4c145f76265546e306414581a35db43a6f791 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 0f6c571043085968fdebe67a70bf98112847ec1a..d853f7ecf68a17ce406af2930338cd16f56eedfa 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 c0a50947dfa1ca2ac5acc5108a7726f052050621..833bc6faae23c21057aded1ecabedf0a0d3b2e3f 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 d5d7a18b58cc336086a764b47445814cddf83ca1..b0dd385e3fdc9dfdc716a949618c0be9eff9324d 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 565c9a4889bc631abb1c32b1befdfa6824708bf8..b352ac626f30573c641c97fd7942bb57f20b9aef 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 ab028cd4599213d15c11665232752cee6c84484d..38b475ffef1ab3f35ad51f55c08f2041f9d9a0ee 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 47aec0adc17be9de51ef3ff161b70600449ed56a..7342eb6a216d17a63fdabf43feb0ad6551745e22 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 afa13f8c5bf3d08f4a7e3356bc3a6585cbf883e9..d6916774daed93cf78cca4cd8034fd660f54a1ba 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 92a87d92a6ee7d738ec40e858d05f2051ecfdc68..c4e0e6d5d6fe7311358debd3800604ef3a2a331c 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 6274fad937472b93aa3b15b63616130349249149..308a2016849e8e3cd27e22a7c7b9d2763782f101 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 1139c86ea5876a8e972bd72a2097519138f24284..ad6265f0b2e77f6fc24a22b273128a9c751aac7d 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 491edb8464f5b9a3855eddeffe0fe1ae2d672938..cb96d2afa34397f71db94ff3f7392db543193a83 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 dd2e058de67c4f3af2fbd7380e1dacaf2c3eae92..4198dc8e80fb2c3aa6f1275f7e38ab027ed95ca1 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 8cb71c0fc2b67fcff24ae028f76fb9b1e0c2eeac..17cb26f97ce4497de8453db1074bbf0e136389df 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 d9d06d8065591d5856fce04944e935bbd1f04d20..9e02e6590bd3f92774a8bbbbe0423bb482bc6a1b 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 a299e4eb3db6afa5fbb593df53469fc62ad1d44b..6e74ea9fc6909a40167a8dde6caef6469cc21d1f 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 83aabc0898f901b3cd5a292f58a9d0307047d813..65e07b02621dc113c819103cced6465327c11727 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 1d93438632e03f7010448cb8dde049452888c7f6..64d0201e6d33b32578d5e6dee706ecdafa40d65c 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 43405101876fb4f400816263332f8c22c9c07724..bf914969344921c84e57ad660059e574c8eecd3b 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 399e119a34bb299d96818c1e7714f460519e2ed1..0476ff62f6b83522af6c968ee589e6e4dd9b4fda 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 31c82e8f030ac2cef5c42a76f5ce29a18a9d5db4..8f5b000aa039cc1756bd530e7f7160fc8aa58817 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 2794b9f98ebc7d2695b5f0fd48ae4522ea33c2c4..687f8e2103e6756887831be2b1f68729f9d50117 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 a1aaf87a222c1aa9bb55fddfad2aec18dbf08213..cfdfe31e43094b63ab106b334d038231ed3f9ebb 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 131e8822ee83e60122eac1caaafa0ce943fde4d1..75f6b6d7d95e9a3389da1b75ce9821788924d62a 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 3dbfb45654f79e887d0a7a7ffbb5a287bcd57698..1c26b5ae2c6cc1b094ec3964ae91b6c5ae35b39d 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 7f8475f5c587f9e68e1486ea0eeaae0d38503107..55cd1123a4e48ae1dfdaae9c9ee7de874f658fa1 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 8788cf0ee49c9597d1b2710275867520d9912dfb..c48ad8f2f6645239f524e711a0f176364cb35a49 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 2c3183fa1b34918bd916e1c13af72261ea12fcac..75529c468e20515f59f17e3ee966560c85719848 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 67855700d2d820ccb3e77d5b6c08bf352e57d7ea..1a3590ed0984deb69ee68c77e156f3f958c17172 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 63a32cbfbe2a01ddb852cd5d7de5f7e0b18cdae4..f43b0db01429ba457eb7a4d7fbb8a181bd79b848 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 9dc92c4329dcea8dd69e39b035e404191e863a1d..95b6b86f3f14b3157eaa9d272d11b2fbc3a82e4d 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 8dc69c6c2b9f5fa36d062f1b95bee9e71d82ad40..37aa34c0f6756dad3dddac8c5b0a0b75f5cc237f 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 295050f41c363a26ba1d20fe947a7023cedaa2a4..cce3a9809d5f55abdc5fb3e1f79f8f7b9209b618 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 7c2df9f7b6e9c8f6c274a7bb325bc29ef091a59b..0c65edae66be6ec952f226d053f9c23372823e7a 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 7637aa9d20fe736c9eb3479620802060b7b30b95..174598e6a26b044c6cc66fcc718d3a5474694b2f 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 6a913a89c3fba410a821efab635089caae19a75e..749f853abbed9fff1f5c594f05e9dfd37977eb37 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 b6b30bf018995d643be2fe6a2e9a7af7e07c0189..ea16f8996e1534a9bad538d0e492cf37fc2ee6da 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 2c3e112d2212b8d8f464a555f24de20b5540b08e..86a43d1132cc36ac75ce6b31e426271dbd3aaf6e 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 8d0117a53037e944215f8b353101f08d167009c1..0477f9a0e2cf41ef54b12505215bebcd78904420 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 810f2a0591c43513644e9e828295dd0b70392f47..d9da08fdff2d5959835dcbd88003d7ef79debbaa 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 3a59160243820373bac8f99de3325f377cf3bbab..12718a849c691552a8077427a1e30904b0e6a696 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 12a0549481a23d107405890be1226699228a8584..f5ec9a9b3f9f5ac2c9097c4693cbb2e931067da4 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 4feb1d5c86dfae0c5c69ccdc2ccbb1eac13283cd..7e7ebdbd73b30528ac9433f4acdbdb7b48ec552c 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 0817f243473e104da49048a72b9c746a5a745f4f..1d7bf002ec01c3cd83e22cb545d788a1ca97e80b 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 f7ce7542576a873da44562ecd3ec8bb8d8a91df9..103cc66bc474ff344a7630df88617a9023cf05fa 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 ca77fa34bfc7c2f64379f2d08483d6d7c764f286..709cec639fc5181aa69a125e9e6e2dc8ec5036ca 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 de7a9563bd2dd1aad2ff9201632897636658f0b4..356169cab163ec64d068b58ade6c6c3f849f6f98 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 03e2928b4846c05950aade18aa5634cd18520eec..059eff1b7f818878a28713aeaaa249457e99909b 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 fdc0fd8cc578712caded0f4df1b01d9fa11c7729..4eb7a4ffe9b53998fa4a8f84062c9f95b390e4a7 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 7dc0e7e37a3a81327ab84c04ca04cec454dc4492..324290f53f91ae3e2b0b54bd5a93c3a2ee79bf54 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 b4150521cb758e7b7fa23ebc86345376518a5725..90a3c1e85f89a1813c20613cecd937321630b8ab 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 13cfbf356fbfe276b05f6881e371e6f32666e8bb..457a966dce032c30734a9cd72549239f3dcb952a 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 ccd4e35c5f697d43b5669c244076f06c76210008..48a0e456f37f3cb591cde9bce1898b3e39c66739 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 1f640b84eba2d0eb42335418473c7db0423f04e1..75a452d23b007b598b949d55f2048c2e9674becd 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 d4430d977379f79c399cd26e06a4d48f2b6713b0..33f259d43124b4de74bd9da8dc5d88528c6347c7 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 817c89f2010be2abb131ea02746929a397d9434f..1125fd3998eea58037354779f067c4979e978401 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 45684522fc0aa3eb541a606bf953fc1668b2eaa6..39a1921e31cbe2323f011760fa92e823518618ef 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 ffee393d71c02fa4b5f67736a51d39eac3df5eef..19f4dec43ceb6b96825775cef8549baf83d13026 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 573141a11500133ab5db719740f14d14b5650071..9e2566f79c40bfde50c76b48a94a74ab81d05494 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 0a5520dcc86f1f93607391de5b9cb0723488ab25..a017c280c48f9181edd794b7f15eb3dfc461fc78 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 bf790484aa2fedbb236206e75e751404e01d795b..7ae981ae5a19095df966a6d6ecc42b69dc489e64 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 759dbfc3f16f98229b54c6097f7789e1674b6cd4..62faf9f06b26bd78675c0627b99850f3760bf6e1 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 2a0b5314aa1b929f56cf5c500503f92aae7618c2..863f91e819e691695ba9b103284e3e8bbe399744 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 31400e09f7ccee9bb9c34b078bd06d30008674ce..cd40d90aa8a6faeda5cb70c540efc34933eb4857 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 85fa00a13a83af7374817ae2aaf4af3ebf7017c7..dfe9c26e1d4f5615e0b1f2c394a53d3565fc3e45 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 0ab55db2c485b07b210a9447241a15fe0a1849c3..d72276db9db6cc897d46e984b165980e4f3bba22 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 68f04702e54583e288e80358f9c6428425a4cf32..a25b2f6d418c9dd5b5f3f14d4a5813ccf33ba955 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 a41e814075c6ebbed85b58c3fc19e284038a88ca..1b36eb9b9dcc4240831eec86b86b7dcf8eafa2a4 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 9c24e6cc2bbf1bce775957a1528471ae93fea9b7..707115cf3ada86bc67ff2516acdff7c5575810c1 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 5823fa8bf1b59d39cf876d1744ee5679d58aa46a..9abc16d20639b7f328279bba0de63dca76c5fc6f 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 0d67919780dca20e3b7c313d3f6c15b78dcadf95..cc2047b59ca9914fb3386c56a5131d5198f2d82a 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 82831cb775f1b4a0a977bfabd50f8b6805497417..b34173e03e66e7f4d797217c750502cf81bf555b 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 ee22314db0bd3e2b2ad03a7970539478313efd16..4f73d0830db5074034201171f6eda28b3c2aabcd 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 15fd17f230285969eec43fc7c73590b19a81d8b5..3f04fd6be7a4fbe2aec77f65dbe209963ad66a3a 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 c0ca9c5005d595a2f5a015c1039c845d312e6b39..dff66023cbb06da4a9377ab981ea45b7e948234e 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 9ccbf79542a759fa4381eb4b7f828c7759004e5d..81f6ad80757f04ff6fb53c5af533ce26619ae807 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 7b1bfd0e6548c36748de7bc0c7326f041d8fbba9..16583f1d03506c6bb3fa71fe65e8e192ed882139 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 e9efee03b3e8fdb74c41907ab21b7596a73404db..629dacf9044dbd9b7b04dfc85ae76cff71d8ad79 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 e682d4ebdd42ecc48432396a97efc7d91eb9724c..f780d9deef30ef8cfe00284399056bafd3b77e96 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 52bbfadfe92e21da043294222a3d1e932717cb26..0535d84999644585eeafca5643324ca67b48b1e8 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 66e9506b0599686766c8224b96744d929a96f8f6..1ea898e077fbf86f7fd950318943043aa2a126f0 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 3ebeb48439f557e4e8d072bb2477bad368b23994..af9e84ddd1a0a0aee51d02e161794da04b04e851 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 bb3757f066631b5826e7465a3bddd46128007ae5..cdcfa29ed76035bf82bdf6bcc2a4518754876fdf 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 ed17ecef2c09a537dc7547a8767339c5f0eed916..22d3654a97c6f73df1e1dbe7f58af7c8ac302eff 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 bfd75b6792fedcc38923d48cc10db276f7c45268..fcc2ce7ae6227eed374f9747d0467974c8bfa75e 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 44170304224a5e12c6dec52e22a329612d11782d..9e45c50051f2ae394786f938d07cbda8c283f3e4 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 d5ee5bdae1b58c045c5657e514185c1bafa4009d..1e8a106bffb12302942adba185bfcb629d617c0c 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 ad2e1a736580443528341f80fbfc5c4bb3c02f2a..2846b128a7079aeccff9a7ba2387190d78970bd1 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 7c3ec7bc2bf58fba14c34d74135cb8512574b67a..c8ecb7ea72a795ffdb19cd883d41d517b8bf9322 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 24e279e7373c7b3f94ae9822593829051dd07283..0d9d0c1d6a004bf7b4bc58cca5ee7ed22e0562e8 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 e36b44f15f87fde1f5ec831116e46f0ca0c80d5c..31ddacc40325c83f3ae66e204de1246dc1d162d9 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 ce43d47b34fefee832900c0e75bd031f5661dce4..4e5f5e023582135800d4436fe19f8699e116ce73 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 b76e20c715b9c16cd33bf04e8ac857d955ad2679..6eb200a1e759530d0fdfcab7b945b184943464f1 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 f4f32d01636b1888cfad7516864eb28599589c26..bc071cc3ce56f589e20eca591c50a7e5fa174ce5 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 991f5085999b28c26a675596d772afdbe5ab1ab0..1923a447c400b3fc4eec40b8fa00f4161f328161 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 bd43d359409e58c1dace9a5b3a7a9e38afd5d603..b246b04bf2c1a399ea77939565b344a1b4519969 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 dbc634d5324b6f62cb55433f6839926dbb8b0b22..d6407c1468c67b594b702938925570e9ed9657e7 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 40b3cf004b5c42f297bc20c7addd1d6e123b6913..e698adb4db68a0e760396e86cf2906fc1f514b65 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 fad33b9f6de07348de4d917127e5ca5f7a2ba24e..14f176d31de55144754e9166e9255c64752335a1 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 4bff7d95bd0ed810b758a2497a2db68c8ef25627..b0950db9df3cc3747677dd4c05cef13b73f454be 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 d1fb1659e98476338cb4b318fab6a13558a20a21..037526cb1070ce38ef978b822e45d74655a19c45 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 3c01fe53bde558e76eab7d684bf26c71ec69829a..9e35535efea988eb6644647cfbf15dddfd946513 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 e40c9450c89dfcf0971a78df16167dc16098f9ed..d47a16f61e581b4a67dcd28ca94b8a0a21f6d06e 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 404b41ca91cbbb0dd081f02ef6049046d6c1d7d6..d0dcde5a0a0615445fe22d610d9fe52e7702a202 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 3b35d0c2cf7ba60e4f5332b6deb6314528744267..eb8e245b5a5fef125a520218214c992194ab8c1b 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 92deb72fe26529c18a7684ca9f2619f2b77ae047..4fe9260ca3f7fe04f686b612862058b2ba3a2db6 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 4e182f40920e3bb1c61f02c3f395c9e0f33e5076..d03315c5071adc6bff1ef5efb63c399b676f66f7 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 c277bab1eb918b759ef6b00f0675584d23801f2c..3e5d7bc5a353e646b662dfa30648a835a26e0c50 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 9a2063f0931cda837a8a754f70e756025a3e75b9..e31c672b05de707776c1f5951282811c295bf461 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 31498f212f621cd5e5c2208d2a7f1e2eac199a13..3449168aa81e7bb1e67da3cc9b8304d5ad30cc94 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 4bc67dbc6706594f04f2a41e69c25be0e6784b82..ba9a3d15720407648c1019fb67b8feb175a6ed59 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 1c459c2eca6ed3f304cc6b844edb5dd149ebe862..07dddac38d35c0d72113ca9ed36594e7ace79a4f 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 91eb61489f2b53fd97df5c8151a565b3730bccdf..7bf83670f5b78131b473056c0b108ec385b697cf 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 e45d334216291386bb9b550212ec1223ad3bf7a3..b20671c19422df325bef2ad333460a0e2a57b0b3 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 91755dee4ac2dafddc8ed29f45304e928b4e5a4a..97d0105fdc73e9872813a3ce6830f7c6fdd5ae76 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 4dbe2d72d86a0690891dd8763c3e9a63cbcf144d..cbcd5def8f4559d0b6c784bee0635c1cc75c3efb 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 fddadbc656dce2110700fc313d5d0fb0ad75a1be..37a9bde55c88500543a51250d4832ec2bb6e4d58 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 c801323cf9c475f93ecaad95152f5318259ebadb..15d0413579e7afac89ee7e9c757161e607e029c2 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 98dfca369b9b7da962f5a07003e620a8e422a1b7..4d6b7c55bec3de2a864316c2540592a714adf396 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 bd56fa283dd4013dc02761f88a6c8704d01529bd..0bf509bccbb1fd2d6263d2f21131f4bd5cb1e687 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 ad6f4dfec9b946f62076bd77a5d94daa1a0bcbeb..7ba82352f5600e1abf8fe66bc4afead8170d1167 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 ca4448164e8a933f383526474ade11a465a7ad3d..5dca14b1f9bbc729b2b00e0cf315e6b88070bf4c 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 cfc9e01d16e43851ada5a2a588c6562661029a8d..7259e5ada4017bb3943b26d19f958f35c9e85cbd 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 a3fd7c0205b7f54cf40f40838a346776125b86e8..90b65ad1ab3e399ca3a691dae9e72868dec8e63a 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 acee4b427db481e46e2606e1a5c957344371feea..21ed903b119440cf9f2e711182be7aac02db54bc 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 734d6804c21326823a34a7b8b82e9b00c7aebaa6..a86b27c02fbee3205bc361ab541ec82d99db7a7f 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 ce00f7d9b48a28ab0881df1d8e7a3fba623b7e62..f34abcc9944dcbce280f3a32bcf8eca860bf36dc 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 ab55960fcb542b5f2ce87d8189c11d01967c6dd8..67a327d269a4ea7c466ee22d22ce50d13a91cc06 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 301249bb27a4bcc16508d7d0d034f0c8e93c0c35..6a5dee99ff6cb8fa91adcf56c490859592afd732 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 f06094ba9e9dddd44ae31dcf89e3c5b760346eed..5c01c81c972d443988554034417ec4417b075518 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 63e980e735f62f2146748d6bd7ff6ebae280e852..f65ca089036d460369a4e33e4225e1d94aa4dca5 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 25dd0022d35d4dba6a36e331ebe5094fccf4ce1a..9dc6ac7b8939d85f3b91f0b7f8f7e2a7725bad58 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 aa8bd56e4c01470914518c507273033f4f8bb923..95b5ea06445fbf973032b56aa1c732f27cb0619c 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 9b88f03ecf98edfe111f030d20e07778d7863c73..2b817bfbdcebf30cfb11e256678a7c410f7104e7 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 69a27c21adbab39265a10a61797ce0640a95068b..74480996dbfea736270b10a4aa0fec367876c1f2 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 6f1ba62ab8fb2300872c96911d4790ef964b0706..34d51f07a9369b1da8d27f98c37da0d183217460 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 592347717efeafe69fab9c56b5a0c62a2d4e808d..db647269e6712fc6bed739e4aea21d12260c7725 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 9103763196206c647f478a5dbaf47e70bef257cb..5b8ffbbdd2e16110e4208329dae7870bada42686 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 758b4b6b5abab5e3092752f6afceade4632f37a3..90c62554f5bd6b1d5c601cc7ff6ed211afa397e9 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 5f0abaebe351e5cb0430486a505b72ec40ca8fa5..8d5ba1f575b50f861097a918a4cfeb0905e43b5c 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 4957a2b5032863e2001dc2d2f8b5520b6299f19c..58e68f9e2a17d3f55ebf633143acc94eb3b06046 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 c813bee2f61209e3bf0e1718707aceac36c2b826..ac83d44577304b0199e5856364f5fe24677af709 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 661acb37895ac0e4f776d7ad42ca6ca0b3690b64..5bf5a18f71f56237a6d03b7049cfd365b061f609 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 dcd8c4d9d8b200c51fb2af50882250cfc758306d..ab0bcaf8e61e433502391e8ff8f6ec1cc88e2e91 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 97ab03cdb7ba7dbaeab92d42868ec88a13b3ce5c..3cf0576c905f2ce6539b742985b42c0491a77cc8 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 e362541a2ba99ee490bc81200251936e672a5005..8629238fde0af12476e9a5585052c6280f3d0e57 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 5712de06b54f48650c5fb0a7b8e2716cfb2f5d18..636b0216d8bf405399b7738ae4321ddfbf8323ab 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 3b2cda4d3b1315e13d417cf29c807b4ceb04b27b..9addbaaa4fc905fd06daca1b90d64779ccb7d8b6 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 40f2113e87a729c8f19248bce68335645e144b78..ab8fe2e5a577730499189276a0ec5df5e36af90e 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 48636cec36d53cc4566e255bb3d9a9ae70a6966a..b0d819576b5b0b9b6354a047d64de23dbd2209d5 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 0f398355ed26d4190aace0e9046ffe4ebe6d9676..f4e5fec4ef335fccce9508bfdcb34ae7eab1abb1 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 4e20cbaaa1ee6bd1b8be6cfce1d8c6051a656b0b..8cfcea877ab6c13ecb37be0dacb9791f5e217728 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 bece4f5118d58f7f2291a06a834f3f04c5f857e6..5a10488d5a94ed1ded17dafc812dc21b4d502ec6 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 e2c0e94319c71624cc358bb89284619a2788c5f2..d84acd9b6ac7c90d5ad701072e8c2a1b77eb9bda 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 8eb1ae74ed91061f8ae002605fd4abd794547afd..8cf7ebb94c00126a52c7637d1dfc370b27021a94 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 2ad809945c277a409d544ff43d0cf1b59a2ffc90..69b88810988c355dae214944111f8c641e2c32e3 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 523564eca1b5bfbf981cb60475edff400c2e9bfe..2c49f574860742189a130d4acc4f987f02a38761 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 301b4b7b0734c537e61de28f7399a01b7695ba20..0229a935ca827d68b4d85e6fe6dc100d4f177a62 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 345de8db0b73d094164bb5ae386b6d4f9c1357a4..ff091fcffb5d86afe5d7fb6a073ed600e6134f8b 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 1dc050423721a02227d46b41e94f6c942e21fbd9..a818134f080525dcd76f5411838a50915d05243d 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 95662604a7befad83fbc3af6d163ada3a84df35a..3daffb2ce21c2a9bf60c6eb78232b924b761a016 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 10388d4194f44b9d4e32397cf16b65df06df2348..988266e1e91a65a3c7a05d8ee55bb33efa7e6aaa 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 334ae1e30d08a6f624d64b91cf11db1e9fb1182c..36d58058be0f0f81e14e1d20866252ac37d96e64 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 35e452eaf164a160df86d2e477d570b492a11075..094248a463bae49d3ad6a28d7b1c0d85e99f29c6 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 155b177bcd4f03fac6be67f03e9f047d95683476..9d926d333780862074b896b0ac9f5bb52725c607 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 f01fd66873502c8a6a6742c72c79818874ba8fc5..fedc3fe656923e18e9c59907db3d53613fb9811c 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 c4501870a599f42e10af0eba438509450be4dbcc..977d85fb1339106e49af97f450bf010311aa2795 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 cf69433dcb1210f0bd2acb750e3788060646e50f..88fcae2ff7710f8f44725c426c598f0a3272cb1d 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 cfa94ea9f8d233ea6a9ce3f7369af28551b3428e..4fb30de3d7505cdae13f579cde7803a0d26e9e34 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 ee957d17d7056dd293967fd241ab5b92a840a4c4..cb5018584ae49566a8b7bed19afe655b947a599f 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 f5dc65723f094b3850e9fc359c105e81e4027c70..7555da7e49d7ab0dd2641ae5f792c8fcf3519926 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 94aaed587de220f737e45c0678d5687f691c37b4..765db5adf933d3fe093d6c2044116cdd50a4bc91 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 f1a79f8623e91c0ee17e4d4f15b69679a26da058..bd3ee9e19d3f4f5047c89edc7c671b25bfa809cd 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 68ed619e9157f5a289a0e5460224a27961157bd1..655789cb6d7fae52969359cfd9cca67eb37e7d17 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 b7193f9df5a9fac84ddd8153695f5a1c9734ec24..085728e0debfbea71977449e9d10fbb0f275efe6 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 e91ed82a72f23378cc7711f012af80778603c5a3..d40505ae64fa88e0b0ff7fc2614ce1fcc35cbab3 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 950b45e43b86bdd5efe737389fbef658b7cab691..469130ee253592f31adeb1d99c773ae052709f34 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 71d9a6b65c80d38c3f869bf7a5fa8539d1e7c713..b73b90fec57dac61ee6edb1ce565b3cfa336dd08 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 ef6909e2a3c52b39030c972f57066edbd710d891..333c86cc274f4f767fc454f8c2479774c9c6a002 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 f01794a14a7fa5cb4bdc321f4e71f1482fa557e1..31865a7865fecb5677c5abb56aa0e2bc389953a9 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 1ef1ef78daa4ad37463a370e098e087aff9f58bb..20641a6f7ea4587273fccc811d22f64715a2a236 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 d661e1a05d52017e7be2e9626f6b507a336439e9..df904c7cc9d0cf4be75ebb6d7ba1128f52abde49 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 1dc0d81f30e514118581b152b22dad8605485eb9..b9fd23da4c8fcfbe6e5793dc75e64e53e9a4ebc5 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 c35ca62c6b55e8a34c22e4471fe947e67cdaeff0..745bf65519b6b1ef14a140484a320fde4aad1734 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 e3e2f69f9d05ad839c3db1e204b231a3e0ab272f..0197e323506c44079732ef23d9e509067ac80f47 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 58c44b3c4ca6513624e7bbde7a78e248e885d63f..0fd22277c1c15b8011c6c6e724e4c8ab0d1020b1 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 ef33adc10f37d2eabdabc86bd69a29d6fc112a92..77e41a23eeff0b5cddcd3c110ff3b3a43a34212f 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 96abc3c6b1650a1a5f2e821616eacfad8da81f92..df793e6c96ebf8b7a9e91142381ce29d50a45a07 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 95a72878f9b81257b9627de150e680c65cba23f2..e9239a6e7c9c32e78ed896c013e1bdbc8a86f42d 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 6ec109480770ec72c5c2acb27700358c455a6c9b..0e93652034350547d2e50087fe8265187038e5fc 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 4d54da106699479d1b9d9c26d30f91b687526728..e6fb92662c18837e730aa7260acf0663c13dd2b6 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 b08eb6b59ddb8f083ad06057de56a22e98b22481..5a0499e844e1f9e29d2dd49d428e714b3965d9a5 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 621c5f06ee454aa62c392952ac3d3e14561f6a2f..c663afdf8a92549ab7bdec451798b21b0738448d 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 2ac145bb4f4612f9f2292c66b995a0a5b0d2c936..fab965f56db42589407d3f4100721a9db5778303 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 44bcdd0273d02d7e540a4e685abd787f0993a844..c6d1cea7960504dc03cf1eef29d7b5d7e13660e5 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 799b6c623b2bac6f17429d1c2b30d9bb5ac0a4b1..fa1dd59645fa23dd521041bcb8a21bd65704ba84 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 1cb6707920994ed135a0b55e74ae6ac26c16f527..a565c3339536d01f87a6cc8cab944c40faf1bfaf 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 b365b4fcf57bf1819d083361879cc4e2eedd0c12..89f3c9abf0f2a7059d44c8dfb7753687391f4d8b 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 37f4886f299272669bb7acd01b6354f4f4117437..27bafaf469cd781a0144f9e25ece65251956388e 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 101ee7746212866febc28908d97ab0af1b2bbb78..1bb66e934fec85a480be4defdccec3a0461d57fb 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 1e5c3dde3b39eaa8f3ebf8adc9371684f215cf44..7ace756caea2a8ec2be3d39b99716c68730795e9 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 94423404170c4e10c66177f32e5cf6f7dc8f333f..3948f20276bcbbe5f6aaf0b785a3644502a6b8cd 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 344553fa1db3a3fa343429e3e3b5fffe0bee66ed..df9a6e204ca83c4736ba0e1e6782ada9c13d18d2 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 4e104f9fd3a7b4574eeecd540f57d81bd5750fc1..bb3ce0520ee1f6dc953ba3258a5b91b5e3e1faf0 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 b64d2bb4865aea72f1f2dd5ceaf7a83c5fa3c4be..ee3b6b14aa856ce5ccf5f6bf6c2ff055693b47bb 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 850234ba458625021d6f1cc81a165dfdac3184f0..e4903b3e5146476eba254d0ea6f1d3b8bac07d2b 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 dcfcb0ec144f9fe64b954be00298b97349d8164b..868c2b0bda671ac75f4dce2fe438244710b7c53c 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 b9a1ab21f5f3cf77434ee1957dce62c73f4fbef8..b85c1ab6cc335508198a240ae6e5b89ac8afe7e6 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 6019a93c75c0fea33d232efc3d08f64965597bf9..e847ee5fc7518a5661b592879ccf31868769fe42 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 922f08b00b2000bbf39470843e37900bec4daef8..68fafcb9e6fc345ea2986b3a03eb23494b3b55af 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 56ba58facf3a8fab0718e52ba6c4e4694fe45b35..62efa100026299a8254f19c4a1e60b5b0e8191ed 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 5add23247ea244b1d3cbf26e36f50c099720f57f..31880c8ef05e84064418f18b890f8535620c68d3 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 67acdc9d535e68eaa659d7ad6b3d53f58eded4d6..b2601f91032f7a35e055b8bf94e2118d2e6df596 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 70d914ecc72daa367a2f6f9ee079475e40423679..e5bf61a70db6d8fed4ea090bea786d3dcdb23952 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 8229fcc2ee06f602176f12e84bfee3015c76e71e..a990b1016e261d3bde97a8d93cc227d2587132c3 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 91021134edbfa3a36bce1ea02ea93dafcf68a5e6..b6b5c986a67c1fb1cdeab3d05e72e9f411e057c9 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 d4beadc87e708bdf1f07d7a5ab917ee7c185bf76..65a6dce9875fc6fc1d7a5de3706a1ad8ee037f9d 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 1bff6e5af4071f796e05514d9d9a670cb40a5a09..fb0a49a5ec788750a42f8245fdd6c744c81e9f95 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 f2be6684c5c6f447dc993478c773aa1fbbb27dd0..7cb89b073b5bd3e41bb3de9ec8364b6d0fc682a6 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 ebd16a82f1d83537aaa24b9a865d0ec9a946a91a..b554036452ac910c17eaf653ad2eeb8dde774a31 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 ff7120ea3472aa844706c8a362e0292bddca6980..6e5dad170d8dca3e3461ba033e1abb94f76bc5d1 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 0a65ca22430f0ec99221d1110402c2c841626c19..6d259f4c32aed2bee5760270fbba246227f0f098 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 f0846e86e1ad5290920f638039635a00e2686e03..66d53e7d4414dc18e404ae1e191d7a5c431597a4 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 1da7b0aba8c6e7f0171f22caa988e46c76b5a18d..a2bbc9ea748974fe168f7cb7f29ba530f67fda60 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 a8fae849ad615f5cec328d772d72edbc13968ac1..52e81c9227fe93ec2c106c4ed07071138a5fc8e1 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 97b0c7d50080eb1890dbce837502588d8e97b53c..6ca3d6481a7d4c610eca657f872e2239deaab3df 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 0d27c017cf6dba23e165465476e9e8a5bdc0cfe8..d423842e5759e03c2b27facf10dac00790cd802e 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 8179a4c7529d174a739dbef10401092b35222957..f3e56aaf656a3e473dd323a367aa96fc8a46d87c 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 90b41ee2a1f4db9f081669a9785a667b3dc0bb7c..7820155a5c62f9bc5e61d3ed9dc07291bebd839c 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 bef7fdf2312f608b4398eaa0504f96e42651bb54..247c7f06f76dec1c640cd37e50d8e171e393e729 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 64eaad3601ef8c2df6594651b53a4d061eb444a2..5334f235b8128466ee803caf3e79066420824e86 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 1bf060e490b01a170c2df7b3e6baa5e2ea60d451..363517fa4b7adc9a291c9de2fc2efb6412d8f50b 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 85d59c319a456122b6ed988b465ee39c331ef6ca..ea47d8a3b017b8ca37d02dd855668727188f5e59 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 71e2b47ad98f8cfa604813c8896886e98b7af496..27527ee35d58b188e980f185beeeee9798e8d124 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 e30a5d9758565173531709423121a9ec1869d0c8..b5463298165e5f7f87fe359cd08005e9c40a8e4e 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 95e1eac3bf9d64fd13dea55e93dc3e51511e8795..396cf9e4e6fe5d0edec1c9f18e618d9cb1300655 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 405ae7837a7a4b51fe4031a46ae42ebd6a308ee2..d6fbaaac5ff4dae5832edcbac3f5fbccf53ff10f 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 b59e5943a46423097caaf062ee70110fc34c2a25..8e8b192b02dcc8f95ab350dfdff1749cba0dcc1d 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 bbd1feb4f3f50a2ce2271fe9d96ecb7fd7fc2d54..e3545360d627cff682c5834fed52912fa1b7b55c 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 64652a89e4de4a4229b73aeb69461eb5742a9d76..fc562f91a2784410a76fd28bf93fd7e9266640f3 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 5acc1a9fc15ab37036accdf74b485490afc8c146..b0bfcfc2463f9980beef2d19611d9b774be421d0 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 668a1fb5c6ac2041d301f96d29ffc89b205331f3..d62e6708f3006e2d4c1030ad2c3e16c0d4787aca 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 1943dbabb0abf206207727c841fb0daee26d80c3..417eb650c0a5adb9c9e6ae802e0cbce39514c687 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 003a457c8fe90a3e3ab207a2d9050c3043cc5c28..85e9d7d06e89948787cfe4dd75cfc542b941848b 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 8a8eb96b39cc770b9e6b61a1cf9f3d4fd2f0fdec..e59809cc3488fb35a0362817ec169879b92bfc8c 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 40e092229cc5491538d094446b26556351113421..43b671ab65e5bb22373ef8b3acb496d2c24e1698 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 9380b05eab9d1c7ba0bc94558320dae47371c4ff..cff0b4afb2a646ec80c7725ebd690898071fd0be 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 a738b49ddbc279ff005bcb9c7858df7ab7528a55..2a3c2bcf87bb2beb545c2ce20e2f95fccb092699 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 db188decac503aacc317e3b46dbae71c596f1b8f..55cdc60d00224b883666a8d00a5bad0f9682c5a1 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 c26f9d7994eca3e45ea7eb5e2c3835dffbe31a05..0c623282be0b236e73b2307efad406298ed0b9e1 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 7c448c5daacfb7a8f277a9d8af5f6169b3de5871..7dcd659ddf14cd52728d303125a52c796540325f 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 412189b3ecf6f7858c0d952d17d754daa6034df3..d5e03730fc81d84de275903abd10a7959ac3a6db 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 b9768cd32c64d7e36220fff8aa54fea3321522aa..2faaadef914ee71e5213a936105406f3f3cc988b 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 c5427c863982f34a3c31eb7eac08598ae6a12412..f860fba11ea62588a2b6554b9b196170ffbac2a4 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 f5bd51676dce01c16ca52bc00a55f81a9f473f74..2882b757addc0fe7a09348a9d05eb9a54896fe54 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 bcb9008031b36c74b3f159a2ed03313966cf24ae..20d2b632c6633b4ca58b75ae538f4b4e493c6a03 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 fbb20b39bde7be0e0d35009652e8926714d0a804..ac800a3698677a32808091777d0934749915373c 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 aa58dd159cdf95e25a4f2afac372e5065de3bde2..b102668fa189c39bbc5dfb3a720156d3d8bd3586 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 97ceee75c3e7f2efe32e28bab836b8c0c4ae55c2..e2d74ac63bbe3551a598d666c74c5218e55703ed 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 82ec6bbb9131e772f23173d95b677f063c4435ad..fa3230ac295ba39a437ae7db4e48ae4cbba86880 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 245c3c8e1dfcf62244349b8c84e91606007cb9ac..e7b0544012ac62703a4fb1e283be58d00390ad72 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 065b1d50e9fa27265082946ba26d457d91df9dab..4e98e4de969ae4ac82ff7361d30dc5b4ac35a9e9 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 f7007c190d726fa7f60d757d5bb277fca283208e..55ada710b780588e080b0272e9946f726ee4217a 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 f2e926d80a473a36c83d9cbea98c039639977868..e666e9630d1a5cea23ec95006ceaca0bb508c00c 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 1ebfc404fc634183d169e51aafdc6b6a471d466b..8828bdde15aae63f93b8284c212d6ccfc25a10aa 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 1ab6716b8d987c7da37659585f5bd5a139877799..e7f881dd0a905e9805e302c8252572c4e41a40f5 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 0115e1238772f2437f56d5330ad35791fdd25476..a5fce019ec74cf626a33f965e3a9c3c7b61f6b03 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 158ce01c6e06c52b5b7671600b5bc03c1041df9d..7a9e39c5b60ffa53009c1bc057e825af7daad816 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 a4aadbed4cc8657c20c7bd0191dced109c077c5f..f7ecd1e9a92c504fa8f47902d11b0709a7b1a1c1 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 0836d27cfbdd1c60ee854eacc7505d618c11c654..3209831133ff6ca578fc6dd96d1adad735c3fa5b 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 011c1cf3d7ad04d8a6fc439d06990cb51f4e0563..c4cdcbc392f77f993533da7cf5a5cfa5d8dff034 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 eabf31aae98a96eee13ca3b4285a84a7042c9e2d..fdef90c31a28a88bd9c330df61af17f4ad0efea4 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 598620252a438bf519bbfef48a42bcefd39d93b3..4c7aef22425ec2ad5e2c7d259010ef7aab13a4f9 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 23a554d5b069aa8961d53ba3329efdb02bbcc916..b0741761c0724625a4cfdf2d6a7aacf93d5f96d7 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 194429275f2f47bc30693e62cddd1753f81bb5c0..a89209830781f49fa7383e71896f8e0ba16b9179 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 5570b9eaf911164d7df35d8b7fdb16b9992175f9..3635ddfec9a142e3015486b8208f8ee46ceb0178 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 a508c38eafc51441a2fbe93af1dc1943f958b337..db542cd171030e7227035fab2f4d28b4f844c9df 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 356a78d29482cac30330c67c8a74c4831018eda7..c2e93ef4c8c7127c5468258b4418053de24c1575 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 4035748c24e3ef184df771bbf41c7c662cc5dcaa..2bd655b8fe0d92ad788aa5d07909f215df914527 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 ccb3ce4b406e5c3baf61179d9cfd12afc7e62ecb..4912d22aafd1570f92e67e9ebcd76a766b315017 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 15ed23e0a7f3b6e681891c3e767c211576971973..2291e4d20ef9c52b243d27829853429e2ac66e26 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 8780d6e1ca0326049b99ddb6d42daef11a9e192d..a2a096347459bd97a1bf1f2780d66b94cdcff723 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 e72f5730691d48ba9dd6fd787d60e9ae14b0866a..9445f5441a049e8614c5d31fe9a0c3333141fd67 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 b031be173c2e659582beccefadf348724aea4e1c..2b109e83c5ea2acf43be7bfb6e978f6d18853617 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 96089fed2bacb2502ec2869b470f17327509e21a..c6db932512ac24c217dff769f2ab07f9791fdd40 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 ae1eefc8479a311af4fcd4cf477f88fc12b7ad41..5928f5ad36dfbfb2e2475aae23aeb5bcb880290c 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 d08b0fa4b29af4ed68ff48c1eaf2c477a8b84803..165693f78225e03925ab848e86be275c17fb4bef 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 5bed9ba9a162419278f80e2a72ce2b8e1a38a3d2..7d6b38b8f0986c4717ed1bdebbf0114578ac7261 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 3a938c395b2834eaf0e24c417e0683f400e7d2e6..2b1e7fc10436edce76f9b38f9a925a4eed7928b8 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 c80f84f9db9f57cd63e0533cf437523de0a3096d..e6ea33ce4f7696c2c520b7d4848849471f2d2f2b 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 5103cec65524b2b3196be5d3006a97a0d5b3f5ad..daa1256aea2718370dedc47d4383ee36a19e96f0 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 80422e645dd3e2d0d62f0bc23583bb05fac935db..51daa51136130adbc3610106220876fdaaa0f925 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 b4af3d069c1e61a4a0508e63c417beb28634fa4d..51ff17b58660cac931e1f7da4ce9836d22bec4d9 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 351c12c9074603a35f5f4284c60d03142ad358c7..1ac6b069c045ec439b6f4f138fafc856f241cc1c 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 d4422012cb2c572a589669317975f99e660b8604..d09f5047c4970491601f0c6b4301da552f3098f7 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 1cc29b56658a7c9ee2ab3d505d673fb6e4b2a362..37317a0a4db29d61d5e6531ae47a20ad00297b3c 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 28a052a2b2cba5a0d62fb8bec763542c92d306fa..ca45c48042cde9ed2c2e61e440068bf4d932e62c 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 72389c3898b1c6a0b9f505649de2891e075c035f..4039f48b3417f72512b12160a9fae43d6bde2ed3 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 d71e74aac2451d03060e74048345c562564be6c3..87028618a1d680b2a89492584860e32d7169ba68 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 99fc0bd183db08f9cb6cc30f6c078ddaa94ecfe6..468065a7c8a97cfd1a71e42e918766c09567b426 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 7668bc896b5bb0b0201969bbc15c4c13ec684a9c..9463a4799d85456c313a009ad9d57f6db045a077 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 6b72f05459482c6e37d1936bf0d5b53b2927bd58..223759dd53862571dbf597d60cad908113098c72 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 1cde00b736ec44b1925186f9e47ee76cd5b05757..6402e87be40aef2f6c7f0f8a2cd81c70ef2a845b 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 056c1d2978e4ae852e9f94d06d4c0ff75e04aba0..7337a5cc4bd8d73592f3e0c924d6fc7d5227fcb3 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 b33c48236193eba53ba5786443256c6a75b0e7d1..61a06172243aeae0b77babd995b97a5f3fc3616f 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 a953367b28ed483d1241b683e84101751c479306..5e8dd328d3cb409d5df37465ab89ecd0dd722509 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 a6a00a8eff29734dc2040d39972c3e88505b0b9d..040eabf6f08caea0dd9ffaacdd63818c93597bff 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 88f0f5fae600c8fa346ca4a13300cb57dea66a93..556f659aed98ed159001c7b057cc8e9692ab2a7e 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 0961e2c9c829cb6dad945ee23106f8de21e19c03..07cd9066805f178dea7fdf4ed3a60785df881552 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;
 }