From 9995f42ba05ea00789cf984ef6fc7a48975b4baf Mon Sep 17 00:00:00 2001
From: Shon Ferguson <shonferg@users.sourceforge.net>
Date: Mon, 23 Apr 2007 05:49:41 +0000
Subject: [PATCH] More documentation improvements.  Added documentation to
 NiDynamicEffect-derived objects, removed some obsolete examples, and replaced
 remaining references to "block" with "object" wherever possible.

---
 include/Key.h                                 |   2 +-
 include/NIF_IO.h                              |   2 -
 include/gen/AVObject.h                        |   2 +-
 include/gen/ControllerLink.h                  |   2 +-
 include/gen/Footer.h                          |   2 +-
 include/gen/NodeGroup.h                       |   2 +-
 include/gen/SkinShape.h                       |   2 +-
 include/gen/TexDesc.h                         |   2 +-
 include/gen/TexSource.h                       |   2 +-
 include/kfm.h                                 |   2 +-
 include/niflib.h                              |  99 +----
 include/obj/APSysCtlr.h                       |   2 +-
 include/obj/AParticleModifier.h               |   2 +-
 include/obj/AbhkConstraint.h                  |   2 +-
 include/obj/BSKeyframeController.h            |   2 +-
 include/obj/FxRadioButton.h                   |   2 +-
 include/obj/NiAVObject.h                      |   6 +-
 include/obj/NiAlphaController.h               |   2 +-
 include/obj/NiAutoNormalParticlesData.h       |   2 +-
 include/obj/NiBSplineInterpolator.h           |   2 +-
 include/obj/NiBinaryExtraData.h               |   2 +-
 include/obj/NiBoneLODController.h             |   2 +-
 include/obj/NiBoolInterpolator.h              |   2 +-
 include/obj/NiBoolTimelineInterpolator.h      |   2 +-
 include/obj/NiCamera.h                        |  94 ++++-
 include/obj/NiCollisionData.h                 |   2 +-
 include/obj/NiCollisionObject.h               |   2 +-
 include/obj/NiControllerManager.h             |   2 +-
 include/obj/NiControllerSequence.h            |   4 +-
 include/obj/NiDynamicEffect.h                 |  23 +-
 include/obj/NiExtraData.h                     |   2 +-
 include/obj/NiFlipController.h                |   2 +-
 include/obj/NiFloatExtraDataController.h      |   2 +-
 include/obj/NiFloatInterpolator.h             |   2 +-
 include/obj/NiGeomMorpherController.h         |   2 +-
 include/obj/NiGeometry.h                      |   2 +-
 include/obj/NiGeometryData.h                  |   6 +-
 include/obj/NiInterpolator.h                  |   2 +-
 include/obj/NiKeyframeController.h            |   4 +-
 include/obj/NiLODNode.h                       |   2 +-
 include/obj/NiLight.h                         |  32 +-
 include/obj/NiLightColorController.h          |   2 +-
 include/obj/NiLightDimmerController.h         |   2 +-
 include/obj/NiLookAtController.h              |   2 +-
 include/obj/NiLookAtInterpolator.h            |   2 +-
 include/obj/NiMaterialColorController.h       |   2 +-
 include/obj/NiMeshPSysData.h                  |   2 +-
 include/obj/NiMorphData.h                     |   4 +-
 .../obj/NiMultiTargetTransformController.h    |   2 +-
 include/obj/NiNode.h                          |   4 +-
 include/obj/NiObject.h                        |  16 +-
 include/obj/NiObjectNET.h                     |   2 +-
 include/obj/NiPSysAgeDeathModifier.h          |   2 +-
 include/obj/NiPSysBombModifier.h              |   2 +-
 include/obj/NiPSysColliderManager.h           |   2 +-
 include/obj/NiPSysColorModifier.h             |   2 +-
 include/obj/NiPSysDragModifier.h              |   2 +-
 include/obj/NiPSysEmitterCtlr.h               |   2 +-
 include/obj/NiPSysEmitterLifeSpanCtlr.h       |   2 +-
 include/obj/NiPSysEmitterSpeedCtlr.h          |   2 +-
 include/obj/NiPSysGravityModifier.h           |   2 +-
 include/obj/NiPSysGravityStrengthCtlr.h       |   2 +-
 include/obj/NiPSysMeshEmitter.h               |   2 +-
 include/obj/NiPSysMeshUpdateModifier.h        |   2 +-
 include/obj/NiPSysModifier.h                  |   4 +-
 include/obj/NiPSysPlanarCollider.h            |   2 +-
 include/obj/NiPSysVolumeEmitter.h             |   2 +-
 include/obj/NiPalette.h                       |   4 +-
 include/obj/NiParticleColorModifier.h         |   2 +-
 include/obj/NiParticleMeshModifier.h          |   2 +-
 include/obj/NiParticleMeshesData.h            |   2 +-
 include/obj/NiParticleSystem.h                |   2 +-
 include/obj/NiParticleSystemController.h      |   4 +-
 include/obj/NiParticlesData.h                 |   2 +-
 include/obj/NiPathController.h                |   2 +-
 include/obj/NiPathInterpolator.h              |   2 +-
 include/obj/NiPixelData.h                     |  22 +-
 include/obj/NiPoint3Interpolator.h            |   2 +-
 include/obj/NiPointLight.h                    |  24 +-
 include/obj/NiProperty.h                      |   2 +-
 include/obj/NiRotatingParticlesData.h         |   2 +-
 include/obj/NiSingleInterpolatorController.h  |   2 +-
 include/obj/NiSkinData.h                      |   2 +-
 include/obj/NiSkinInstance.h                  |   2 +-
 include/obj/NiSourceTexture.h                 |   2 +-
 include/obj/NiSpotLight.h                     |  16 +-
 include/obj/NiStringExtraData.h               |   2 +-
 include/obj/NiStringPalette.h                 |   2 +-
 include/obj/NiTextureEffect.h                 | 113 +++++-
 include/obj/NiTextureProperty.h               |   2 +-
 include/obj/NiTextureTransformController.h    |   2 +-
 include/obj/NiTimeController.h                |   2 +-
 include/obj/NiTransformInterpolator.h         |   2 +-
 include/obj/NiTriBasedGeom.h                  |   4 +-
 include/obj/NiTriBasedGeomData.h              |   2 +-
 include/obj/NiUVController.h                  |   2 +-
 include/obj/NiVertexColorProperty.h           |   6 +-
 include/obj/NiVisController.h                 |   2 +-
 include/obj/bhkEntity.h                       |   2 +-
 include/obj/bhkListShape.h                    |   2 +-
 include/obj/bhkMalleableConstraint.h          |   2 +-
 include/obj/bhkMoppBvTreeShape.h              |   2 +-
 include/obj/bhkNiTriStripsShape.h             |   2 +-
 include/obj/bhkPackedNiTriStripsShape.h       |   2 +-
 include/obj/bhkRigidBody.h                    |   2 +-
 src/ComplexShape.cpp                          |  84 ----
 src/gen/obj_factories.cpp                     | 378 +++++++++---------
 src/niflib.cpp                                | 200 ++++-----
 src/obj/NiAVObject.cpp                        |   4 +-
 src/obj/NiControllerSequence.cpp              |   2 +-
 src/obj/NiDynamicEffect.cpp                   |   8 -
 src/obj/NiObject.cpp                          |   2 +-
 112 files changed, 657 insertions(+), 680 deletions(-)

diff --git a/include/Key.h b/include/Key.h
index e35eb11a..7e54e510 100644
--- a/include/Key.h
+++ b/include/Key.h
@@ -9,7 +9,7 @@ All rights reserved.  Please see niflib.h for licence. */
 namespace Niflib {
 using namespace std;
 
-/*! Stores an animation key and the time in the animation that it takes affect. It is a template class so it can hold any kind of data as different blocks key different sorts of information to the animation timeline.*/
+/*! Stores an animation key and the time in the animation that it takes affect. It is a template class so it can hold any kind of data as different objects key different sorts of information to the animation timeline.*/
 template <class T> 
 struct Key {
 	float time; /*!< The time on the animation timeline that this keyframe takes affect. */ 
diff --git a/include/NIF_IO.h b/include/NIF_IO.h
index 228e5029..97edff3d 100644
--- a/include/NIF_IO.h
+++ b/include/NIF_IO.h
@@ -228,8 +228,6 @@ private:
 
 //--IO Functions--//
 
-int BlockSearch( istream& in );
-
 //-- Read Utility Functions--//
 int ReadInt( istream& in );
 unsigned int ReadUInt( istream& in );
diff --git a/include/gen/AVObject.h b/include/gen/AVObject.h
index 8d213b99..75cfe547 100644
--- a/include/gen/AVObject.h
+++ b/include/gen/AVObject.h
@@ -12,7 +12,7 @@ All rights reserved.  Please see niflib.h for license. */
 
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiAVObject;
 
 /*!
diff --git a/include/gen/ControllerLink.h b/include/gen/ControllerLink.h
index 9b2418ea..a620f922 100644
--- a/include/gen/ControllerLink.h
+++ b/include/gen/ControllerLink.h
@@ -14,7 +14,7 @@ All rights reserved.  Please see niflib.h for license. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiTimeController;
 class NiInterpolator;
 class NiObject;
diff --git a/include/gen/Footer.h b/include/gen/Footer.h
index 908ddb4d..fd1af39b 100644
--- a/include/gen/Footer.h
+++ b/include/gen/Footer.h
@@ -15,7 +15,7 @@ All rights reserved.  Please see niflib.h for license. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiObject;
 
 /*!
diff --git a/include/gen/NodeGroup.h b/include/gen/NodeGroup.h
index 235be5ce..fa48602b 100644
--- a/include/gen/NodeGroup.h
+++ b/include/gen/NodeGroup.h
@@ -12,7 +12,7 @@ All rights reserved.  Please see niflib.h for license. */
 
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiNode;
 
 /*!
diff --git a/include/gen/SkinShape.h b/include/gen/SkinShape.h
index b07b04a1..b54e7c6d 100644
--- a/include/gen/SkinShape.h
+++ b/include/gen/SkinShape.h
@@ -14,7 +14,7 @@ All rights reserved.  Please see niflib.h for license. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiTriShape;
 class NiSkinInstance;
 
diff --git a/include/gen/TexDesc.h b/include/gen/TexDesc.h
index a9e3fc56..a3e437ea 100644
--- a/include/gen/TexDesc.h
+++ b/include/gen/TexDesc.h
@@ -14,7 +14,7 @@ All rights reserved.  Please see niflib.h for license. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiSourceTexture;
 
 /*!
diff --git a/include/gen/TexSource.h b/include/gen/TexSource.h
index 981594cc..2ebd30b1 100644
--- a/include/gen/TexSource.h
+++ b/include/gen/TexSource.h
@@ -14,7 +14,7 @@ All rights reserved.  Please see niflib.h for license. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiObject;
 class NiPixelData;
 
diff --git a/include/kfm.h b/include/kfm.h
index 96c9cfd5..2be82e91 100644
--- a/include/kfm.h
+++ b/include/kfm.h
@@ -69,7 +69,7 @@ struct Kfm {
 	unsigned int Read( const string & file_name ); // returns Kfm version
 	unsigned int Read( istream & in ); // returns Kfm version
 
-	// Reads the NIF file and all KF files referred to in this KFM, and returns the root block of the resulting NIF tree.
+	// Reads the NIF file and all KF files referred to in this KFM, and returns the root object of the resulting NIF tree.
 	Ref<NiObject> MergeActions( const string & path );
 	//void Write( string const & file_name, unsigned int version );
 	//void Write( ostream & out, unsigned int version );
diff --git a/include/niflib.h b/include/niflib.h
index 099c020d..c8decc80 100644
--- a/include/niflib.h
+++ b/include/niflib.h
@@ -116,104 +116,69 @@ enum ExportOptions {
 NIFLIB_API unsigned int GetNifVersion( string const & file_name );
 
 /*!
- * Reads the given file by file name and returns a vector of block references
+ * Reads the given file by file name and returns a vector of object references
  * \param file_name The name of the file to load, or the complete path if it is not in the working directory.
  * \param info Optionally, a NifInfo structure pointer can be passed in, and it will be filled with information from the header of the NIF file.
- * \return A vector of block references that point to all the blocks read from the Nif file.
- * 
- * <b>Example:</b> 
- * \code
- * NiObjectRef my_block = ReadNifList("test_in.nif");
- * \endcode
- * 
- * <b>In Python:</b>
- * \code
- * my_block = ReadNifList("test_in.nif")
- * \endcode
- * 
+ * \return All the NIF objects read from the Nif file. 
  * \sa ReadNifTree, WriteNifTree
  */
 NIFLIB_API vector< Ref<NiObject> > ReadNifList( string const & file_name, NifInfo * info = NULL );
 
 /*!
- * Reads the given input stream and returns a vector of block references
+ * Reads the given input stream and returns a vector of object references
  * \param in The input stream to read NIF data from.
  * \param info Optionally, a NifInfo structure pointer can be passed in, and it will be filled with information from the header of the NIF file.
- * \return A vector of block references that point to all the blocks read from the stream.
+ * \return All the NIF objects read from the stream.
  */
 NIFLIB_API vector< Ref<NiObject> > ReadNifList( istream & in, NifInfo * info = NULL );
 
 /*!
- * Reads the given file by file name and returns a reference to the root block.
+ * Reads the given file by file name and returns a reference to the root object.
  * \param file_name The name of the file to load, or the complete path if it is not in the working directory.
  * \param info Optionally, a NifInfo structure pointer can be passed in, and it will be filled with information from the header of the NIF file.
- * \return A block reference that points to the root of tree of data blocks contained in the NIF file.
- * 
- * <b>Example:</b> 
- * \code
- * NiObjectRef my_block = ReadNifTree("test_in.nif");
- * \endcode
- * 
- * <b>In Python:</b>
- * \code
- * my_block = ReadNifTree("test_in.nif")
- * \endcode
- * 
+ * \return The root of tree of NIF objects contained in the NIF file.
  * \sa ReadNifList, WriteNifTree
  */
 NIFLIB_API Ref<NiObject> ReadNifTree( string const & file_name, NifInfo * info = NULL );
 
 /*!
- * Reads the given input stream and returns a reference to the root block.
+ * Reads the given input stream and returns a reference to the root object.
  * \param[in] in The input stream to read NIF data from.
  * \param[out] info Optionally, a NifInfo structure pointer can be passed in, and it will be filled with information from the header of the NIF file.
- * \return A block reference that points to the root of the tree of data blocks contained in the NIF file.
+ * \return The root of the tree of NIF Objects contained in the NIF file.
  */
 NIFLIB_API Ref<NiObject> ReadNifTree( istream & in, NifInfo * info = NULL );
 
 /*!
- * Creates a new NIF file of the given file name by crawling through the data tree starting with the root block given.
+ * Creates a new NIF file of the given file name by crawling through the data tree starting with the root object given.
  * \param[in] file_name The desired file name for the new NIF file.  The path is relative to the working directory unless a full path is specified.
- * \param[in] root The root block to start from when writing out the NIF file.  All decedents of this block will be written to the file in tree-descending order.
+ * \param[in] root The root object to start from when writing out the NIF file.  All decedents of this block will be written to the file in tree-descending order.
  * \param[in] info A NifInfo structure that contains information such as the version of the NIF file to create.
- * 
- * <b>Example:</b> 
- * \code
- * NiObjectRef my_block = ReadNifTree("test_in.nif");
- * WriteNifTree( "test_out.nif", my_block );
- * \endcode
- * 
- * <b>In Python:</b>
- * \code
- * my_block = ReadNifTree("test_in.nif")
- * WriteNifTree( "test_out.nif", my_block )
- * \endcode
- * 
  * \sa ReadNifList, WriteNifTree
  */
 NIFLIB_API void WriteNifTree( string const & file_name, NiObject * root, const NifInfo & info = NifInfo() );
 
 /*!
- * Writes a nif tree to an ostream starting at the given root block.
+ * Writes a nif tree to an ostream starting at the given root object.
  * \param[in] in The output stream to write the NIF data to.
- * \param[in] root The root block to start from when writing out the NIF data.  All decedents of this block will be written to the stream in tree-descending order.
+ * \param[in] root The root object to start from when writing out the NIF data.  All decedents of this object will be written to the stream in tree-descending order.
  * \param[in] info A NifInfo structure that contains information such as the version of the NIF file to create.
  */
 NIFLIB_API void WriteNifTree( ostream & in, NiObject * root, const NifInfo & info = NifInfo() );
 
 /*!
- * Writes a bunch of files given a base file name, and a pointer to the root block of the Nif file tree.
+ * Writes a bunch of files given a base file name, and a pointer to the root object of the Nif file tree.
  * \param[in] file_name The desired file name for the base NIF file. This name serves as the basis for the names of any Kf files and Kfm files as well.  The path is relative to the working directory unless a full path is specified.
- * \param[in] root The root block to start from when writing out the NIF file.
+ * \param[in] root The root object to start from when writing out the NIF file.
  * \param[in] info A NifInfo structure that contains information such as the version of the NIF file to create.
  * \param[in] export_files What files to write: NIF, NIF + KF + KFM, NIF + KF's + KFM, KF only, KF's only
  * \param[in] kf_type The KF type (Morrowind style, DAoC style, CivIV style, ...)
  */
-NIFLIB_API void WriteFileGroup( string const & file_name, NiObject * root, const NifInfo & info = NifInfo(), ExportOptions export_files = EXPORT_NIF, NifGame kf_type = KF_MW);
+NIFLIB_API void WriteFileGroup( string const & file_name, NiObject * root_object, const NifInfo & info = NifInfo(), ExportOptions export_files = EXPORT_NIF, NifGame kf_type = KF_MW);
 
 /*!
  * Creates a clone of an entire tree of objects.
- * \param[in] root The root block to start from when cloning the NIF data.  All referenced objects will be included in the new tree.
+ * \param[in] root The root object to start from when cloning the NIF data.  All referenced objects will be included in the new tree.
  * \param[in] version The version of the NIF format to use when writing a file.  Default is version 4.0.0.2.
  * \param[in] user_version The user version of the NIF format to use when writing a file.  Default is user version 0.
  * \return The root of the new cloned tree.
@@ -223,9 +188,9 @@ NIFLIB_API Ref<NiObject> CloneNifTree( NiObject * root, unsigned version = 0xFFF
 
 //TODO:  Figure out how to fix this to work with the new system
 /*!
- * Merges two Nif trees into one.  For standard Nif files, any blocks with the same name are merged.  For Kf files, blocks are attatched to those that match the name specified in the KF root block.  The data stored in a NIF file varies from version to version.  Usually you are safe with the default option (the highest availiable version) but you may need to use an earlier version if you need to clone an obsolete piece of information.
- * \param[in,out] target The root block of the first Nif tree to merge.
- * \param[in] right The root block of the second Nif tree to merge.
+ * Merges two Nif trees into one.  For standard Nif files, any NIF Objects with the same name are merged.  For Kf files, objects are attatched to those that match the name specified in the KF root object.  The data stored in a NIF file varies from version to version.  Usually you are safe with the default option (the highest availiable version) but you may need to use an earlier version if you need to clone an obsolete piece of information.
+ * \param[in,out] target The root object of the first Nif tree to merge.
+ * \param[in] right The root object of the second Nif tree to merge.
  * \param[in] version The version of the nif format to use during the clone operation on the right-hand tree.  The default is the highest version availiable.
  * \param[in] user_version The user version to use during the clone operation.
  */
@@ -257,28 +222,8 @@ NIFLIB_API Ref<NiNode> FindCommonAncestor( const vector< Ref<NiAVObject> > & obj
  */
 NIFLIB_API list< Ref<NiNode> > ListAncestors( NiAVObject * leaf );
 
-//// Returns list of all blocks in the tree rooted by root block.
-//list<NiObjectRef> GetNifTree( NiObjectRef const & root_block );
-
-////Returns the NIF spec version of a file, given a file name.
-//string GetFileVersion(string file_name);
-
-/*!
- * Creates a new block of the given type and returns a reference to it.
- * In C++, it is not necessary to call this function as you can create
- * objects with the new keyword.  In Python, however, this is the only
- * way to create new objects for now.
- * This is 
- * \param block_type – The type of block you want to create.  This value is case sensitive and spelling is important.  Ex. NiNode, NiTriShapeData, NiParticleSystemController, etc.
- * \return This function will return a newly created block of the requested type.  Beware, if the block type is unrecognized, this function will return a featureless block with whatever you sent it as the type.
- *
- * sa NiObject::NumObjectsInMemory
- */
-#ifdef SWIG
-NIFLIB_API Ref<NiObject> CreateObject( string block_type );
-#else
-NIFLIB_HIDDEN Ref<NiObject> CreateObject( string block_type );
-#endif
+/*! NIFLIB_HIDDEN function.  For internal use only. */
+NIFLIB_HIDDEN Ref<NiObject> CreateObject( string obj_type );
 
 /*!
  * Returns whether the requested version is explicitly supported.  This does
@@ -486,7 +431,7 @@ Casting down the inheritance tree should be automatic in C++, but you can also e
 
 One useful function of all NIF objects is the NiObject::asString() function.  You can use it to get an English summary of the contents of that object.  You can also call the NiObject::GetIDString() function to get a short readout that includes the memory address, type, and name, if any, of the object.
 
-You will probably also want to know the type of a block at some point.  You can retrieve this with the NiObject::GetType() function.  This returns a reference to the Type value that uniquly identifies this class.  You can get its name by calling the Type::GetTypeName() function.
+You will probably also want to know the type of a object at some point.  You can retrieve this with the NiObject::GetType() function.  This returns a reference to the Type value that uniquly identifies this class.  You can get its name by calling the Type::GetTypeName() function.
 
 <center>\ref intro_page "<< Previous Section"</center>
 
diff --git a/include/obj/APSysCtlr.h b/include/obj/APSysCtlr.h
index 706ee54c..d52061f4 100644
--- a/include/obj/APSysCtlr.h
+++ b/include/obj/APSysCtlr.h
@@ -34,7 +34,7 @@ public:
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
 	/*!
-	 * Refers to modifier block by its name?
+	 * Refers to modifier object by its name?
 	 */
 	NIFLIB_API string GetModifierName() const;
 	NIFLIB_API void SetModifierName( string value );
diff --git a/include/obj/AParticleModifier.h b/include/obj/AParticleModifier.h
index 101be6f8..1227128a 100644
--- a/include/obj/AParticleModifier.h
+++ b/include/obj/AParticleModifier.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiParticleSystemController;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/AbhkConstraint.h b/include/obj/AbhkConstraint.h
index 7014cf2c..584daaae 100644
--- a/include/obj/AbhkConstraint.h
+++ b/include/obj/AbhkConstraint.h
@@ -7,7 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "bhkSerializable.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class bhkShape;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/BSKeyframeController.h b/include/obj/BSKeyframeController.h
index ad05e261..961def42 100644
--- a/include/obj/BSKeyframeController.h
+++ b/include/obj/BSKeyframeController.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiKeyframeData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/FxRadioButton.h b/include/obj/FxRadioButton.h
index a1b0deb8..1f764ea8 100644
--- a/include/obj/FxRadioButton.h
+++ b/include/obj/FxRadioButton.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiObject;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiAVObject.h b/include/obj/NiAVObject.h
index b6f2f395..dbd6e4f3 100644
--- a/include/obj/NiAVObject.h
+++ b/include/obj/NiAVObject.h
@@ -11,7 +11,7 @@ namespace Niflib {
 
 //#include "../gen/obj_defines.h"
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiProperty;
 class NiCollisionData;
 class NiCollisionObject;
@@ -96,13 +96,13 @@ public:
 	 * Adds a property to this object.  Properties specify various charactaristics of the object that affect rendering.  They may be shared among objects.
 	 * \param[in] obj The new property that is to affect this object.
 	 */
-	NIFLIB_API void AddProperty( const Ref<NiProperty> & obj );
+	NIFLIB_API void AddProperty( NiProperty * obj );
 
 	/*!
 	 * Removes a property from this object.  Properties specify various charactaristics of the object that affect rendering.  They may be shared among objects.
 	 * \param[in] obj The property that is no longer to affect this object.
 	 */
-	NIFLIB_API void RemoveProperty( Ref<NiProperty> obj );
+	NIFLIB_API void RemoveProperty( NiProperty * obj );
 
 	/*!
 	 * Removes all properties from this object.  Properties specify various charactaristics of the object that affect rendering.  They may be shared among objects.
diff --git a/include/obj/NiAlphaController.h b/include/obj/NiAlphaController.h
index 5e17e9cb..e4c3209b 100644
--- a/include/obj/NiAlphaController.h
+++ b/include/obj/NiAlphaController.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiFloatData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiAutoNormalParticlesData.h b/include/obj/NiAutoNormalParticlesData.h
index 4aa91707..9a59e385 100644
--- a/include/obj/NiAutoNormalParticlesData.h
+++ b/include/obj/NiAutoNormalParticlesData.h
@@ -14,7 +14,7 @@ class NiAutoNormalParticlesData;
 typedef Ref<NiAutoNormalParticlesData> NiAutoNormalParticlesDataRef;
 
 /*!
- * NiAutoNormalParticlesData - Particle system data block (with automatic
+ * NiAutoNormalParticlesData - Particle system data object (with automatic
  * normals?).
  */
 
diff --git a/include/obj/NiBSplineInterpolator.h b/include/obj/NiBSplineInterpolator.h
index 21ffaebd..31e9a24d 100644
--- a/include/obj/NiBSplineInterpolator.h
+++ b/include/obj/NiBSplineInterpolator.h
@@ -7,7 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "NiInterpolator.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiBSplineData;
 class NiBSplineBasisData;
 
diff --git a/include/obj/NiBinaryExtraData.h b/include/obj/NiBinaryExtraData.h
index bdfae4a3..7e0624e5 100644
--- a/include/obj/NiBinaryExtraData.h
+++ b/include/obj/NiBinaryExtraData.h
@@ -15,7 +15,7 @@ class NiBinaryExtraData;
 typedef Ref<NiBinaryExtraData> NiBinaryExtraDataRef;
 
 /*!
- * NiBinaryExtraData - Binary extra data block. Used to store normals and
+ * NiBinaryExtraData - Binary extra data object. Used to store normals and
  * binormals in Oblivion.
  */
 
diff --git a/include/obj/NiBoneLODController.h b/include/obj/NiBoneLODController.h
index 65cb0573..31022a4c 100644
--- a/include/obj/NiBoneLODController.h
+++ b/include/obj/NiBoneLODController.h
@@ -11,7 +11,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiTriShape;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiBoolInterpolator.h b/include/obj/NiBoolInterpolator.h
index 750c4b0c..9de1893d 100644
--- a/include/obj/NiBoolInterpolator.h
+++ b/include/obj/NiBoolInterpolator.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiBoolData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiBoolTimelineInterpolator.h b/include/obj/NiBoolTimelineInterpolator.h
index a2522bd7..6246834e 100644
--- a/include/obj/NiBoolTimelineInterpolator.h
+++ b/include/obj/NiBoolTimelineInterpolator.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiBoolData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiCamera.h b/include/obj/NiCamera.h
index f94c7f29..208d8783 100644
--- a/include/obj/NiCamera.h
+++ b/include/obj/NiCamera.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiObject;
 
 //#include "../gen/obj_defines.h"
@@ -39,76 +39,142 @@ public:
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
 	/*!
-	 * Frustrum left.
+	 * Retrieves the frustum left value.
+	 * \return The frstum left value.
 	 */
 	NIFLIB_API float GetFrustumLeft() const;
+
+	/*!
+	 * Sets the frustum left value.
+	 * \param[in] value The new frstum left value.
+	 */
 	NIFLIB_API void SetFrustumLeft( float value );
 
 	/*!
-	 * Frustrum right.
+	 * Retrieves the frustum right value.
+	 * \return The frstum right value.
 	 */
 	NIFLIB_API float GetFrustumRight() const;
+
+	/*!
+	 * Sets the frustum right value.
+	 * \param[in] value The new frstum right value.
+	 */
 	NIFLIB_API void SetFrustumRight( float value );
 
 	/*!
-	 * Frustrum top.
+	 * Retrieves the frustum top value.
+	 * \return The frstum top value.
 	 */
 	NIFLIB_API float GetFrustumTop() const;
 	NIFLIB_API void SetFrustumTop( float value );
 
 	/*!
-	 * Frustrum bottom.
+	 * Retrieves the frustum bottom value.
+	 * \return The frstum bottom value.
 	 */
 	NIFLIB_API float GetFrustumBottom() const;
+
+	/*!
+	 * Sets the frustum top value.
+	 * \param[in] value The new frstum top value.
+	 */
 	NIFLIB_API void SetFrustumBottom( float value );
 
 	/*!
-	 * Frustrum near.
+	 * Retrieves the frustum near value.
+	 * \return The frstum near value.
 	 */
 	NIFLIB_API float GetFrustumNear() const;
+
+	/*!
+	 * Sets the frustum near value.
+	 * \param[in] value The new frstum near value.
+	 */
 	NIFLIB_API void SetFrustumNear( float value );
 
 	/*!
-	 * Frustrum far.
+	 * Retrieves the frustum far value.
+	 * \return The frstum far value.
 	 */
 	NIFLIB_API float GetFrustumFar() const;
+
+	/*!
+	 * Sets the frustum far value.
+	 * \param[in] value The new frstum far value.
+	 */
 	NIFLIB_API void SetFrustumFar( float value );
 
 	/*!
-	 * Determines whether perspective is used.  Orthographic means no
-	 * perspective.
+	 * Determines whether perspective is used.  Orthographic means no perspective.
+	 * \return True if projection is orthographic, false otherwise.
 	 */
 	NIFLIB_API bool GetUseOrthographicProjection() const;
+
+	/*!
+	 * Sets whether perspective is used.  Orthographic means no perspective.
+	 * \param[in] value True if projection is to be orthographic, false otherwise.
+	 */
 	NIFLIB_API void SetUseOrthographicProjection( bool value );
 
 	/*!
-	 * Viewport left.
+	 * Retrieves the viewport left value.
+	 * \return The viewport left value.
 	 */
 	NIFLIB_API float GetViewportLeft() const;
+
+	/*!
+	 * Sets the viewport left value.
+	 * \param[in] value The new viewport left value.
+	 */
 	NIFLIB_API void SetViewportLeft( float value );
 
 	/*!
-	 * Viewport right.
+	 * Retrieves the viewport right value.
+	 * \return The viewport right value.
 	 */
 	NIFLIB_API float GetViewportRight() const;
+
+	/*!
+	 * Sets the viewport right value.
+	 * \param[in] value The new viewport right value.
+	 */
 	NIFLIB_API void SetViewportRight( float value );
 
 	/*!
-	 * Viewport top.
+	 * Retrieves the viewport top value.
+	 * \return The viewport top value.
 	 */
 	NIFLIB_API float GetViewportTop() const;
+
+	/*!
+	 * Sets the viewport top value.
+	 * \param[in] value The new viewport top value.
+	 */
 	NIFLIB_API void SetViewportTop( float value );
 
 	/*!
-	 * Viewport bottom.
+	 * Retrieves the viewport bottom value.
+	 * \return The viewport bottom value.
 	 */
 	NIFLIB_API float GetViewportBottom() const;
+
+	/*!
+	 * Sets the viewport bottom value.
+	 * \param[in] value The new viewport bottom value.
+	 */
 	NIFLIB_API void SetViewportBottom( float value );
 
 	/*!
-	 * Level of detail adjust.
+	 * Retrieves the level of detail adjustment value.
+	 * \return The LOD adjustment value.
 	 */
 	NIFLIB_API float GetLodAdjust() const;
+
+	/*!
+	 * Sets the level of detail adjustment value.
+	 * \param[in] value The new LOD adjustment value.
+	 */
 	NIFLIB_API void SetLodAdjust( float value );
 
 protected:
diff --git a/include/obj/NiCollisionData.h b/include/obj/NiCollisionData.h
index c41686ae..7b2a98f0 100644
--- a/include/obj/NiCollisionData.h
+++ b/include/obj/NiCollisionData.h
@@ -7,7 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "NiObject.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiNode;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiCollisionObject.h b/include/obj/NiCollisionObject.h
index 9bd56d6a..27a1fd64 100644
--- a/include/obj/NiCollisionObject.h
+++ b/include/obj/NiCollisionObject.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiAVObject;
 class NiObject;
 
diff --git a/include/obj/NiControllerManager.h b/include/obj/NiControllerManager.h
index a9755dd6..e2948967 100644
--- a/include/obj/NiControllerManager.h
+++ b/include/obj/NiControllerManager.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiControllerSequence;
 class NiDefaultAVObjectPalette;
 
diff --git a/include/obj/NiControllerSequence.h b/include/obj/NiControllerSequence.h
index ec7702f9..1158ccbb 100644
--- a/include/obj/NiControllerSequence.h
+++ b/include/obj/NiControllerSequence.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiTextKeyExtraData;
 class NiControllerManager;
 class NiStringPalette;
@@ -63,7 +63,7 @@ public:
 	NIFLIB_API void SetName( const string & value );
 
 	/*!
-	 * Sets the name and block reference to the NiTextKeyExtraData block which will be used by this controller sequence to specify the keyframe labels or "notes."
+	 * Sets the name and reference to the NiTextKeyExtraData object which will be used by this controller sequence to specify the keyframe labels or "notes."
 	 * \param[in] txt_key A reference to the NiTextKeyExtraData object to use.
 	 * \sa NiTextKeyExtraData
 	 */
diff --git a/include/obj/NiDynamicEffect.h b/include/obj/NiDynamicEffect.h
index d790cbb3..d9143366 100644
--- a/include/obj/NiDynamicEffect.h
+++ b/include/obj/NiDynamicEffect.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiAVObject;
 
 //#include "../gen/obj_defines.h"
@@ -39,25 +39,28 @@ public:
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
 	/*!
-	 * Turns effect on and off?  Switches list to list of unaffected nodes?
+	 * Gets the current switch state for this effect.  Perhaps this turns effect on and off?
+	 * \return The current switch state for this object.
 	 */
 	NIFLIB_API bool GetSwitchState() const;
+
+	/*!
+	 * Sets the current switch state for this effect.  Perhaps this turns effect on and off?
+	 * \param[in] value The new switch state for this object.
+	 */
 	NIFLIB_API void SetSwitchState( bool value );
 
 	/*!
-	 * The list of affected nodes?
+	 * Retrieves what appears to be a list of the nodes that will be affected by this effect.
+	 * \return A list of the nodes that will be affected by this effect.
 	 */
 	NIFLIB_API vector<Ref<NiAVObject > > GetAffectedNodes() const;
-	NIFLIB_API void SetAffectedNodes( const vector<Ref<NiAVObject > >& value );
 
 	/*!
-	 * This is probably the list of affected nodes. For some reason i do not
-	 * know the max exporter seems to write pointers instead of links. But it
-	 * doesn't matter because at least in version 4.0.0.2 the list is
-	 * automagically updated by the engine during the load stage.
+	 * Sets what appears to be a list of the nodes that will be affected by this effect.
+	 * \param[in] value A list of the new nodes that will be affected by this effect.
 	 */
-	NIFLIB_API vector<unsigned int> GetAffectedNodeListPointers() const;
-	NIFLIB_API void SetAffectedNodeListPointers( const vector<unsigned int >& value );
+	NIFLIB_API void SetAffectedNodes( const vector<Ref<NiAVObject > >& value );
 
 protected:
 	NI_DYNAMIC_EFFECT_MEMBERS
diff --git a/include/obj/NiExtraData.h b/include/obj/NiExtraData.h
index 4a328977..50339236 100644
--- a/include/obj/NiExtraData.h
+++ b/include/obj/NiExtraData.h
@@ -16,7 +16,7 @@ class NiExtraData;
 typedef Ref<NiExtraData> NiExtraDataRef;
 
 /*!
- * NiExtraData - A generic extra data block.
+ * NiExtraData - A generic extra data object.
  */
 
 class NiExtraData : public NI_EXTRA_DATA_PARENT {
diff --git a/include/obj/NiFlipController.h b/include/obj/NiFlipController.h
index 933f69dc..c37567bf 100644
--- a/include/obj/NiFlipController.h
+++ b/include/obj/NiFlipController.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiSourceTexture;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiFloatExtraDataController.h b/include/obj/NiFloatExtraDataController.h
index 96b59b30..16ca9fc3 100644
--- a/include/obj/NiFloatExtraDataController.h
+++ b/include/obj/NiFloatExtraDataController.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiObject;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiFloatInterpolator.h b/include/obj/NiFloatInterpolator.h
index 6c3c23f0..08aaee1d 100644
--- a/include/obj/NiFloatInterpolator.h
+++ b/include/obj/NiFloatInterpolator.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiFloatData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiGeomMorpherController.h b/include/obj/NiGeomMorpherController.h
index 4a752abb..2d83d57f 100644
--- a/include/obj/NiGeomMorpherController.h
+++ b/include/obj/NiGeomMorpherController.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiMorphData;
 class NiInterpolator;
 
diff --git a/include/obj/NiGeometry.h b/include/obj/NiGeometry.h
index cdae2934..07783ec9 100644
--- a/include/obj/NiGeometry.h
+++ b/include/obj/NiGeometry.h
@@ -12,7 +12,7 @@ All rights reserved.  Please see niflib.h for licence. */
 
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiObject;
 class NiGeometryData;
 class NiSkinInstance;
diff --git a/include/obj/NiGeometryData.h b/include/obj/NiGeometryData.h
index 38ffdbb7..aadd1a6e 100644
--- a/include/obj/NiGeometryData.h
+++ b/include/obj/NiGeometryData.h
@@ -11,7 +11,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiObject;
 class NiGeometryData;
 class NiSkinInstance;
@@ -52,14 +52,14 @@ public:
 	NIFLIB_API int GetVertexCount() const;
 
 	/*! 
-	 * Returns the number of texture coordinate sets used by this mesh.  For each UV set, there is a pair of texture coordinates for every vertex in the mesh.  Each set corresponds to a texture entry in the NiTexturingPropery block.
+	 * Returns the number of texture coordinate sets used by this mesh.  For each UV set, there is a pair of texture coordinates for every vertex in the mesh.  Each set corresponds to a texture entry in the NiTexturingPropery object.
 	 * \return The number of texture cooridnate sets used by this mesh.  Can be zero.
 	 * \sa IShapeData::SetUVSetCount, ITexturingProperty
 	 */
 	NIFLIB_API short GetUVSetCount() const;
 
 	/*! 
-	 * Changes the number of UV sets used by this mesh.  If the new size is smaller, data at the end of the array will be lost.  Otherwise it will be retained.  The number of UV sets must correspond with the number of textures defined in the corresponding NiTexturingProperty block.
+	 * Changes the number of UV sets used by this mesh.  If the new size is smaller, data at the end of the array will be lost.  Otherwise it will be retained.  The number of UV sets must correspond with the number of textures defined in the corresponding NiTexturingProperty object.
 	 * \param n The new size of the uv set array.
 	 * \sa IShapeData::GetUVSetCount, ITexturingProperty
 	 */
diff --git a/include/obj/NiInterpolator.h b/include/obj/NiInterpolator.h
index 18324b9b..58e5c83a 100644
--- a/include/obj/NiInterpolator.h
+++ b/include/obj/NiInterpolator.h
@@ -14,7 +14,7 @@ class NiInterpolator;
 typedef Ref<NiInterpolator> NiInterpolatorRef;
 
 /*!
- * NiInterpolator - Interpolator blocks - function unknown.
+ * NiInterpolator - Interpolator objects - function unknown.
  */
 
 class NiInterpolator : public NI_INTERPOLATOR_PARENT {
diff --git a/include/obj/NiKeyframeController.h b/include/obj/NiKeyframeController.h
index 6835017f..c740f886 100644
--- a/include/obj/NiKeyframeController.h
+++ b/include/obj/NiKeyframeController.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiKeyframeData;
 
 //#include "../gen/obj_defines.h"
@@ -19,7 +19,7 @@ class NiKeyframeController;
 typedef Ref<NiKeyframeController> NiKeyframeControllerRef;
 
 /*!
- * NiKeyframeController - A time controller block for animation key
+ * NiKeyframeController - A time controller object for animation key
  * frames.
  */
 
diff --git a/include/obj/NiLODNode.h b/include/obj/NiLODNode.h
index 1b9469ec..41dbb60c 100644
--- a/include/obj/NiLODNode.h
+++ b/include/obj/NiLODNode.h
@@ -11,7 +11,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiLODData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiLight.h b/include/obj/NiLight.h
index 5df57bb2..109abd2c 100644
--- a/include/obj/NiLight.h
+++ b/include/obj/NiLight.h
@@ -34,27 +34,51 @@ public:
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
 	/*!
-	 * Dimmer.
+	 * Gets the current dimmer value for this light.  Used to turn the light intensity up or down.
+	 * \return The current dimmer value.
 	 */
 	NIFLIB_API float GetDimmer() const;
+
+	/*!
+	 * Sets the dimmer value for this light.  Used to turn the light intensity up or down.
+	 * \param[in] value The new dimmer value.
+	 */
 	NIFLIB_API void SetDimmer( float value );
 
 	/*!
-	 * Ambient color.
+	 * Gets the current ambient color of this light.
+	 * \return The current ambient color.
 	 */
 	NIFLIB_API Color3 GetAmbientColor() const;
+
+	/*!
+	 * Sets the ambient color of this light.
+	 * \param[in] value The new ambient color.
+	 */
 	NIFLIB_API void SetAmbientColor( Color3 value );
 
 	/*!
-	 * Diffuse color.
+	 * Gets the current diffuse color of this light.
+	 * \return The current diffuse color.
 	 */
 	NIFLIB_API Color3 GetDiffuseColor() const;
+
+	/*!
+	 * Sets the diffuse color of this light.
+	 * \param[in] value The new diffuse color.
+	 */
 	NIFLIB_API void SetDiffuseColor( Color3 value );
 
 	/*!
-	 * Specular color.
+	 * Gets the current specular color of this light.
+	 * \return The current specular color.
 	 */
 	NIFLIB_API Color3 GetSpecularColor() const;
+
+	/*!
+	 * Sets the specular color of this light.
+	 * \param[in] value The new specular color.
+	 */
 	NIFLIB_API void SetSpecularColor( Color3 value );
 
 protected:
diff --git a/include/obj/NiLightColorController.h b/include/obj/NiLightColorController.h
index 04c66612..78e2e7f2 100644
--- a/include/obj/NiLightColorController.h
+++ b/include/obj/NiLightColorController.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiPosData;
 class NiPoint3Interpolator;
 
diff --git a/include/obj/NiLightDimmerController.h b/include/obj/NiLightDimmerController.h
index 35e0b7a1..99a33bcb 100644
--- a/include/obj/NiLightDimmerController.h
+++ b/include/obj/NiLightDimmerController.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiInterpolator;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiLookAtController.h b/include/obj/NiLookAtController.h
index c494be87..0461f8fb 100644
--- a/include/obj/NiLookAtController.h
+++ b/include/obj/NiLookAtController.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiNode;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiLookAtInterpolator.h b/include/obj/NiLookAtInterpolator.h
index c1596198..3f49e6c6 100644
--- a/include/obj/NiLookAtInterpolator.h
+++ b/include/obj/NiLookAtInterpolator.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiNode;
 class NiPoint3Interpolator;
 class NiFloatInterpolator;
diff --git a/include/obj/NiMaterialColorController.h b/include/obj/NiMaterialColorController.h
index 795eccd0..c25776f9 100644
--- a/include/obj/NiMaterialColorController.h
+++ b/include/obj/NiMaterialColorController.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiPosData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiMeshPSysData.h b/include/obj/NiMeshPSysData.h
index 99da15a9..fc5fb7c3 100644
--- a/include/obj/NiMeshPSysData.h
+++ b/include/obj/NiMeshPSysData.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiPSysModifier;
 class NiNode;
 
diff --git a/include/obj/NiMorphData.h b/include/obj/NiMorphData.h
index d65a34ac..66f71667 100644
--- a/include/obj/NiMorphData.h
+++ b/include/obj/NiMorphData.h
@@ -35,14 +35,14 @@ public:
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
 	/*!
-	 * Retrieves the number of verticies used in the morph targets.  This must be the same as the number of verticies in the base mesh that the morph controller for which this block stores data is attatched.  This is not done automatically by Niflib.
+	 * Retrieves the number of verticies used in the morph targets.  This must be the same as the number of verticies in the base mesh that the morph controller for which this object stores data is attatched.  This is not done automatically by Niflib.
 	 * \return The number of vertices used in the morph target meshes.
 	 * \sa NiMorphData::SetVertexCount
 	 */
 	NIFLIB_API int GetVertexCount() const;
 
 	/*!
-	 * Sets the number of verticies used in the morph targets.  This must be the same as the number of verticies in the base mesh that the morph controller for which this block stores data is attatched.  This is not done automatically by Niflib.  If the new size is smaller, vertices at the ends of the morph targets will be lost.
+	 * Sets the number of verticies used in the morph targets.  This must be the same as the number of verticies in the base mesh that the morph controller for which this object stores data is attatched.  This is not done automatically by Niflib.  If the new size is smaller, vertices at the ends of the morph targets will be lost.
 	 * \param n The new size of the morph target's vertex arrays.
 	 * \sa NiMorphData::GetVertexCount
 	 */
diff --git a/include/obj/NiMultiTargetTransformController.h b/include/obj/NiMultiTargetTransformController.h
index 0d0fdd86..24de3b67 100644
--- a/include/obj/NiMultiTargetTransformController.h
+++ b/include/obj/NiMultiTargetTransformController.h
@@ -8,7 +8,7 @@ All rights reserved.  Please see niflib.h for licence. */
 
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiNode;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiNode.h b/include/obj/NiNode.h
index 0367461e..6da1067b 100644
--- a/include/obj/NiNode.h
+++ b/include/obj/NiNode.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiAVObject;
 class NiDynamicEffect;
 
@@ -22,7 +22,7 @@ class NiSkinInstance;
 typedef Ref<NiNode> NiNodeRef;
 
 /*!
- * NiNode - Generic node block for grouping.
+ * NiNode - Generic node object for grouping.
  */
 
 class NiNode : public NI_NODE_PARENT {
diff --git a/include/obj/NiObject.h b/include/obj/NiObject.h
index 9c4cad07..d9311b1e 100644
--- a/include/obj/NiObject.h
+++ b/include/obj/NiObject.h
@@ -84,21 +84,7 @@ public:
 	/*!
 	 * Summarizes the information contained in this object in English.
 	 * \param[in] verbose Determines whether or not detailed information about large areas of data will be printed out.
-	 * \return A string containing a summary of the information within the block in English.  This is the function that Niflyze calls to generate its analysis, so the output is the same.
-	 * 
-	 * <b>Example:</b> 
-	 * \code
-	 * blk_ref my_block = ReadNifTree("test_in.nif");
-	 * cout << my_block->asString();
-	 * \endcode
-	 * 
-	 * <b>In Python:</b>
-	 * \code
-	 * my_block = ReadNifTree("test_in.nif")
-	 * print block.asString()
-	 * \endcode
-	 * 
-	 * \sa IAttr::asString, SetVerboseMode
+	 * \return A string containing a summary of the information within the object in English.  This is the function that Niflyze calls to generate its analysis, so the output is the same.
 	 */
 	NIFLIB_API virtual string asString( bool verbose = false ) const;
 
diff --git a/include/obj/NiObjectNET.h b/include/obj/NiObjectNET.h
index e0002d0f..9db6eb51 100644
--- a/include/obj/NiObjectNET.h
+++ b/include/obj/NiObjectNET.h
@@ -8,7 +8,7 @@ All rights reserved.  Please see niflib.h for licence. */
 
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiExtraData;
 class NiTimeController;
 
diff --git a/include/obj/NiPSysAgeDeathModifier.h b/include/obj/NiPSysAgeDeathModifier.h
index 90a27613..9c5cc75d 100644
--- a/include/obj/NiPSysAgeDeathModifier.h
+++ b/include/obj/NiPSysAgeDeathModifier.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiPSysSpawnModifier;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiPSysBombModifier.h b/include/obj/NiPSysBombModifier.h
index 17008e4b..31aca5d9 100644
--- a/include/obj/NiPSysBombModifier.h
+++ b/include/obj/NiPSysBombModifier.h
@@ -7,7 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "NiPSysModifier.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiNode;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiPSysColliderManager.h b/include/obj/NiPSysColliderManager.h
index c2053595..c7210acf 100644
--- a/include/obj/NiPSysColliderManager.h
+++ b/include/obj/NiPSysColliderManager.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiPSysPlanarCollider;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiPSysColorModifier.h b/include/obj/NiPSysColorModifier.h
index 8d1a7e0b..33615427 100644
--- a/include/obj/NiPSysColorModifier.h
+++ b/include/obj/NiPSysColorModifier.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiColorData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiPSysDragModifier.h b/include/obj/NiPSysDragModifier.h
index ae6553c0..c1e42dfa 100644
--- a/include/obj/NiPSysDragModifier.h
+++ b/include/obj/NiPSysDragModifier.h
@@ -7,7 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "NiPSysModifier.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiObject;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiPSysEmitterCtlr.h b/include/obj/NiPSysEmitterCtlr.h
index c5c9fb0c..f232faec 100644
--- a/include/obj/NiPSysEmitterCtlr.h
+++ b/include/obj/NiPSysEmitterCtlr.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiPSysEmitterCtlrData;
 class NiInterpolator;
 
diff --git a/include/obj/NiPSysEmitterLifeSpanCtlr.h b/include/obj/NiPSysEmitterLifeSpanCtlr.h
index 0f92ef92..c787b627 100644
--- a/include/obj/NiPSysEmitterLifeSpanCtlr.h
+++ b/include/obj/NiPSysEmitterLifeSpanCtlr.h
@@ -10,7 +10,7 @@ namespace Niflib {
 
 //#include "../gen/obj_defines.h"
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiFloatData;
 
 class NiPSysEmitterLifeSpanCtlr;
diff --git a/include/obj/NiPSysEmitterSpeedCtlr.h b/include/obj/NiPSysEmitterSpeedCtlr.h
index a45127f7..be5ab9de 100644
--- a/include/obj/NiPSysEmitterSpeedCtlr.h
+++ b/include/obj/NiPSysEmitterSpeedCtlr.h
@@ -7,7 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "APSysCtlr.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiFloatData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiPSysGravityModifier.h b/include/obj/NiPSysGravityModifier.h
index 091f51ef..79794fb1 100644
--- a/include/obj/NiPSysGravityModifier.h
+++ b/include/obj/NiPSysGravityModifier.h
@@ -7,7 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "NiPSysModifier.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiNode;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiPSysGravityStrengthCtlr.h b/include/obj/NiPSysGravityStrengthCtlr.h
index 0f3aa7e5..beffe909 100644
--- a/include/obj/NiPSysGravityStrengthCtlr.h
+++ b/include/obj/NiPSysGravityStrengthCtlr.h
@@ -7,7 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "APSysCtlr.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiFloatData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiPSysMeshEmitter.h b/include/obj/NiPSysMeshEmitter.h
index a98aec53..0c8f72b2 100644
--- a/include/obj/NiPSysMeshEmitter.h
+++ b/include/obj/NiPSysMeshEmitter.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiTriBasedGeom;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiPSysMeshUpdateModifier.h b/include/obj/NiPSysMeshUpdateModifier.h
index 6545240e..6a69d23c 100644
--- a/include/obj/NiPSysMeshUpdateModifier.h
+++ b/include/obj/NiPSysMeshUpdateModifier.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiNode;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiPSysModifier.h b/include/obj/NiPSysModifier.h
index 2acafa5d..af8770c1 100644
--- a/include/obj/NiPSysModifier.h
+++ b/include/obj/NiPSysModifier.h
@@ -7,7 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "NiObject.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiParticleSystem;
 
 //#include "../gen/obj_defines.h"
@@ -16,7 +16,7 @@ class NiPSysModifier;
 typedef Ref<NiPSysModifier> NiPSysModifierRef;
 
 /*!
- * NiPSysModifier - Generic particle system modifier block.
+ * NiPSysModifier - Generic particle system modifier object.
  */
 
 class NiPSysModifier : public NI_P_SYS_MODIFIER_PARENT {
diff --git a/include/obj/NiPSysPlanarCollider.h b/include/obj/NiPSysPlanarCollider.h
index a6725448..fecc5bc5 100644
--- a/include/obj/NiPSysPlanarCollider.h
+++ b/include/obj/NiPSysPlanarCollider.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiPSysSpawnModifier;
 class NiObject;
 class NiNode;
diff --git a/include/obj/NiPSysVolumeEmitter.h b/include/obj/NiPSysVolumeEmitter.h
index d47ea75a..31e5f18e 100644
--- a/include/obj/NiPSysVolumeEmitter.h
+++ b/include/obj/NiPSysVolumeEmitter.h
@@ -7,7 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "NiPSysEmitter.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiNode;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiPalette.h b/include/obj/NiPalette.h
index c6580807..6813dd75 100644
--- a/include/obj/NiPalette.h
+++ b/include/obj/NiPalette.h
@@ -32,13 +32,13 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
-	/*! Retrieves the palette data from this palette block.
+	/*! Retrieves the palette data from this palette object.
 	 * \return A vector containing the the colors stored in the palette.
 	 * \sa NiPalette::SetPalette
 	 */
 	NIFLIB_API vector<Color4> GetPalette() const;
 
-	/*! Sets the palette data for this palette block.
+	/*! Sets the palette data for this palette object.
 	 * \param new_pal A vector containing the the new colors to be stored in the palette.
 	 * \sa NiPalette::GetPalette
 	 */
diff --git a/include/obj/NiParticleColorModifier.h b/include/obj/NiParticleColorModifier.h
index 4e331acd..4308f572 100644
--- a/include/obj/NiParticleColorModifier.h
+++ b/include/obj/NiParticleColorModifier.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiColorData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiParticleMeshModifier.h b/include/obj/NiParticleMeshModifier.h
index 0f8991b8..d04d97fa 100644
--- a/include/obj/NiParticleMeshModifier.h
+++ b/include/obj/NiParticleMeshModifier.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiAVObject;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiParticleMeshesData.h b/include/obj/NiParticleMeshesData.h
index a4b2c32e..2c197114 100644
--- a/include/obj/NiParticleMeshesData.h
+++ b/include/obj/NiParticleMeshesData.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiAVObject;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiParticleSystem.h b/include/obj/NiParticleSystem.h
index 375c2498..08b38036 100644
--- a/include/obj/NiParticleSystem.h
+++ b/include/obj/NiParticleSystem.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiPSysModifier;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiParticleSystemController.h b/include/obj/NiParticleSystemController.h
index 5563bf77..1045db99 100644
--- a/include/obj/NiParticleSystemController.h
+++ b/include/obj/NiParticleSystemController.h
@@ -11,7 +11,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../gen/Particle.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiObject;
 class AParticleModifier;
 
@@ -22,7 +22,7 @@ typedef Ref<NiParticleSystemController> NiParticleSystemControllerRef;
 
 /*!
  * NiParticleSystemController - A generic particle system time controller
- * block.
+ * object.
  */
 
 class NiParticleSystemController : public NI_PARTICLE_SYSTEM_CONTROLLER_PARENT {
diff --git a/include/obj/NiParticlesData.h b/include/obj/NiParticlesData.h
index fceadde1..28889f81 100644
--- a/include/obj/NiParticlesData.h
+++ b/include/obj/NiParticlesData.h
@@ -14,7 +14,7 @@ class NiParticlesData;
 typedef Ref<NiParticlesData> NiParticlesDataRef;
 
 /*!
- * NiParticlesData - Generic rotating particles data block.
+ * NiParticlesData - Generic rotating particles data object.
  */
 
 class NiParticlesData : public NI_PARTICLES_DATA_PARENT {
diff --git a/include/obj/NiPathController.h b/include/obj/NiPathController.h
index f4602a80..6c66a5d6 100644
--- a/include/obj/NiPathController.h
+++ b/include/obj/NiPathController.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiPosData;
 class NiFloatData;
 
diff --git a/include/obj/NiPathInterpolator.h b/include/obj/NiPathInterpolator.h
index 6155bff2..57b2b7ec 100644
--- a/include/obj/NiPathInterpolator.h
+++ b/include/obj/NiPathInterpolator.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiPosData;
 class NiFloatData;
 
diff --git a/include/obj/NiPixelData.h b/include/obj/NiPixelData.h
index d979a8ef..2de7cf82 100644
--- a/include/obj/NiPixelData.h
+++ b/include/obj/NiPixelData.h
@@ -11,7 +11,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../gen/ByteArray.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiPalette;
 
 //#include "../gen/obj_defines.h"
@@ -39,20 +39,20 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
-	/*! Retrieves the height of the texture image stored in this block.
-	 * \return The height of the texture image stored in this block.
+	/*! Retrieves the height of the texture image stored in this object.
+	 * \return The height of the texture image stored in this object.
 	 * \sa NiPixelData::GetWidth, NiPixelData::GetPixelFormat
 	 */
 	NIFLIB_API int GetHeight() const;
 
-	/*! Retrieves the width of the texture image stored in this block.
-	 * \return The width of the texture image stored in this block.
+	/*! Retrieves the width of the texture image stored in this object.
+	 * \return The width of the texture image stored in this object.
 	 * \sa NiPixelData::GetHeight, NiPixelData::GetPixelFormat
 	 */
 	NIFLIB_API int GetWidth() const;
 
-    /*! Retrieves the pixel format of the texture image stored in this block.
-	 * \return The pixel format of the texture image stored in this block.
+    /*! Retrieves the pixel format of the texture image stored in this object.
+	 * \return The pixel format of the texture image stored in this object.
 	 * \sa NiPixelData::GetWidth, NiPixelData::GetHeight
 	 */
 	NIFLIB_API PixelFormat GetPixelFormat() const;
@@ -65,14 +65,14 @@ public:
 	 */
 	NIFLIB_API void Reset( int new_width, int new_height, PixelFormat px_fmt );
 	
-	/*! Retrieves the the pixels of the texture image stored in this block.  This function does not work on palettized textures.
-	 * \return A vector containing the colors of each pixel in the texture image stored in this block, one row after another starting from the bottom of the image.  The width of the image must be used to interpret them correctly.
+	/*! Retrieves the the pixels of the texture image stored in this object.  This function does not work on palettized textures.
+	 * \return A vector containing the colors of each pixel in the texture image stored in this object, one row after another starting from the bottom of the image.  The width of the image must be used to interpret them correctly.
 	 * \sa NiPixelData::SetColors, NiPixelData::GetWidth
 	 */
 	NIFLIB_API vector<Color4> GetColors() const;
 
-	/*! Sets the the pixels of the texture image stored in this block and optionally generates mipmaps.  This function does not work for palettized textures.
-	 * \param new_pixels A vector containing the colors of each new pixel to be set in the texture image stored in this block, one row after another starting from the botom of the image.
+	/*! Sets the the pixels of the texture image stored in this object and optionally generates mipmaps.  This function does not work for palettized textures.
+	 * \param new_pixels A vector containing the colors of each new pixel to be set in the texture image stored in this object, one row after another starting from the botom of the image.
 	 * \param generate_mipmaps If true, mipmaps will be generated for the new image and stored in the file.
 	 * \sa NiPixelData::GetColors, NiPixelData::GetWidth
 	 */
diff --git a/include/obj/NiPoint3Interpolator.h b/include/obj/NiPoint3Interpolator.h
index 19b21bd5..9bdde06d 100644
--- a/include/obj/NiPoint3Interpolator.h
+++ b/include/obj/NiPoint3Interpolator.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiPosData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiPointLight.h b/include/obj/NiPointLight.h
index fcf59ba7..8fdc2c17 100644
--- a/include/obj/NiPointLight.h
+++ b/include/obj/NiPointLight.h
@@ -34,21 +34,39 @@ public:
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
 	/*!
-	 * Constant Attenuation
+	 * Gets the current constant attenuation of this point light.
+	 * \return The constant attentuation.
 	 */
 	NIFLIB_API float GetConstantAttenuation() const;
+
+	/*!
+	 * Sets the constant attenuation of this point light.
+	 * \param[in] value The new constant attentuation.
+	 */
 	NIFLIB_API void SetConstantAttenuation( float value );
 
 	/*!
-	 * Linear Attenuation
+	 * Gets the current linear attenuation of this point light.
+	 * \return The linear attentuation.
 	 */
 	NIFLIB_API float GetLinearAttenuation() const;
+
+	/*!
+	 * Sets the linear attenuation of this point light.
+	 * \param[in] value The new linear attentuation.
+	 */
 	NIFLIB_API void SetLinearAttenuation( float value );
 
 	/*!
-	 * Quadratic Attenuation (see glLight)
+	 * Gets the current quadratic attenuation of this point light.
+	 * \return The quadratic attentuation.
 	 */
 	NIFLIB_API float GetQuadraticAttenuation() const;
+
+	/*!
+	 * Sets the quadratic attenuation of this point light.
+	 * \param[in] value The new quadratic attentuation.
+	 */
 	NIFLIB_API void SetQuadraticAttenuation( float value );
 
 protected:
diff --git a/include/obj/NiProperty.h b/include/obj/NiProperty.h
index feed6803..29012bf8 100644
--- a/include/obj/NiProperty.h
+++ b/include/obj/NiProperty.h
@@ -13,7 +13,7 @@ class NiProperty;
 typedef Ref<NiProperty> NiPropertyRef;
 
 /*!
- * NiProperty - A generic property block.
+ * NiProperty - A generic property object.
  */
 
 class NiProperty : public NI_PROPERTY_PARENT {
diff --git a/include/obj/NiRotatingParticlesData.h b/include/obj/NiRotatingParticlesData.h
index e88ab960..52689a61 100644
--- a/include/obj/NiRotatingParticlesData.h
+++ b/include/obj/NiRotatingParticlesData.h
@@ -13,7 +13,7 @@ class NiRotatingParticlesData;
 typedef Ref<NiRotatingParticlesData> NiRotatingParticlesDataRef;
 
 /*!
- * NiRotatingParticlesData - Rotating particles data block.
+ * NiRotatingParticlesData - Rotating particles data object.
  */
 
 class NiRotatingParticlesData : public NI_ROTATING_PARTICLES_DATA_PARENT {
diff --git a/include/obj/NiSingleInterpolatorController.h b/include/obj/NiSingleInterpolatorController.h
index ada6f8f9..47c6f7b7 100644
--- a/include/obj/NiSingleInterpolatorController.h
+++ b/include/obj/NiSingleInterpolatorController.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiInterpolator;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiSkinData.h b/include/obj/NiSkinData.h
index d4978f0c..99221d6b 100644
--- a/include/obj/NiSkinData.h
+++ b/include/obj/NiSkinData.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../gen/SkinData.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiSkinPartition;
 class NiGeometry;
 
diff --git a/include/obj/NiSkinInstance.h b/include/obj/NiSkinInstance.h
index 764ca5ec..1c3eec1a 100644
--- a/include/obj/NiSkinInstance.h
+++ b/include/obj/NiSkinInstance.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiSkinData;
 class NiSkinPartition;
 class NiNode;
diff --git a/include/obj/NiSourceTexture.h b/include/obj/NiSourceTexture.h
index 5c4549bc..9f48213e 100644
--- a/include/obj/NiSourceTexture.h
+++ b/include/obj/NiSourceTexture.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiObject;
 class NiPixelData;
 
diff --git a/include/obj/NiSpotLight.h b/include/obj/NiSpotLight.h
index c9d2ab05..ad379627 100644
--- a/include/obj/NiSpotLight.h
+++ b/include/obj/NiSpotLight.h
@@ -34,15 +34,27 @@ public:
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
 	/*!
-	 * The opening angle of the spot.
+	 * Retrieves the opening angle of the spot light.
+	 * \return The cutoff angle.
 	 */
 	NIFLIB_API float GetCutoffAngle() const;
+
+	/*!
+	 * Sets the opening angle of the spot light.
+	 * \param[in] value The new cutoff angle.
+	 */
 	NIFLIB_API void SetCutoffAngle( float value );
 
 	/*!
-	 * Describes the distribution of light. (see: glLight)
+	 * Retrieves the exponent of this spot light.  This describes the distribution of light.  See glLight in OpenGL.
+	 * \return The exponent value.
 	 */
 	NIFLIB_API float GetExponent() const;
+
+	/*!
+	 * Sets the exponent of this spot light.  This describes the distribution of light.  See glLight in OpenGL.
+	 * \param[in] value The new exponent value.
+	 */
 	NIFLIB_API void SetExponent( float value );
 
 protected:
diff --git a/include/obj/NiStringExtraData.h b/include/obj/NiStringExtraData.h
index 38daa541..41c430b2 100644
--- a/include/obj/NiStringExtraData.h
+++ b/include/obj/NiStringExtraData.h
@@ -16,7 +16,7 @@ typedef Ref<NiStringExtraData> NiStringExtraDataRef;
 /*!
  * NiStringExtraData - Apparently commands for an optimizer instructing
  * it to keep things it would normally discard. Also refers to NiNode
- * blocks (through their name) in animation .kf files.
+ * objects (through their name) in animation .kf files.
  */
 
 class NiStringExtraData : public NI_STRING_EXTRA_DATA_PARENT {
diff --git a/include/obj/NiStringPalette.h b/include/obj/NiStringPalette.h
index 329e25d6..e23f6bfb 100644
--- a/include/obj/NiStringPalette.h
+++ b/include/obj/NiStringPalette.h
@@ -18,7 +18,7 @@ typedef Ref<NiStringPalette> NiStringPaletteRef;
 
 /*!
  * NiStringPalette - List of 0x00-seperated strings, which are names of
- * controlled blocks and controller types. Used in .kf files in
+ * controlled objects and controller types. Used in .kf files in
  * conjunction with NiControllerSequence.
  */
 
diff --git a/include/obj/NiTextureEffect.h b/include/obj/NiTextureEffect.h
index 596ed37e..08e07112 100644
--- a/include/obj/NiTextureEffect.h
+++ b/include/obj/NiTextureEffect.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiSourceTexture;
 
 //#include "../gen/obj_defines.h"
@@ -20,9 +20,9 @@ typedef Ref<NiTextureEffect> NiTextureEffectRef;
 
 /*!
  * NiTextureEffect - Enables environment mapping. Should be in both the
- * children list and effects list of the NiTriShape block. For Morrowind:
+ * children list and effects list of the NiTriShape object. For Morrowind:
  * the bump map can be used to bump the environment map (note that the
- * bump map is ignored if no NiTextureEffect block is present).
+ * bump map is ignored if no NiTextureEffect object is present).
  */
 
 class NiTextureEffect : public NI_TEXTURE_EFFECT_PARENT {
@@ -42,68 +42,145 @@ public:
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
 	/*!
-	 * Model projection matrix.  Always identity?
+	 * Retrives the model projection matrix of this effect.  This always seems to be set to the identity.
+	 * \return The model projection matrix.
 	 */
 	NIFLIB_API Matrix33 GetModelProjectionMatrix() const;
+
+	/*!
+	 * Sets the model projection matrix of this effect.  This always seems to be set to the identity.
+	 * \param[in] value The new model projection matrix.
+	 */
 	NIFLIB_API void SetModelProjectionMatrix( Matrix33 value );
 
 	/*!
-	 * Model projection transform.  Always (0,0,0)?
+	 * Retrieves the model projection transform of this effect.  This always seems to be set to (0,0,0).
+	 * \return The model projection transform.
 	 */
 	NIFLIB_API Vector3 GetModelProjectionTransform() const;
+
+	/*!
+	 * Sets the model projection transform of this effect.  This always seems to be set to (0,0,0).
+	 * \param[in] value The new model projection transform.
+	 */
 	NIFLIB_API void SetModelProjectionTransform( Vector3 value );
 
 	/*!
-	 * 0: FILTER_NEAREST 1: FILTER_BILERP 2: FILTER_TRILERP (Usual value) 3:
-	 * FILTER_NEAREST_MIPNEAREST 4: FILTER_NEAREST_MIPLERP 5:
-	 * FILTER_BILERP_MIPNAREST
+	 * Retrieves the texture filtering mode used by this effect.
+	 * \return The texture filtering mode.
 	 */
 	NIFLIB_API TexFilterMode GetTextureFiltering() const;
+
+	/*!
+	 * Sets the texture filtering mode used by this effect.
+	 * \param[in] value The new texture filtering mode.
+	 */
 	NIFLIB_API void SetTextureFiltering( TexFilterMode value );
 
 	/*!
-	 * 0: CLAMP_S_CLAMP (Common value) 1: CLAMP_S_WRAP 2: WRAP_S_CLAMP_T 3:
-	 * WRAP_S_WRAP_T (Common value)
+	 * Retrieves the texture clamping mode used by this effect.
+	 * \return The texture clamping mode.
 	 */
 	NIFLIB_API TexClampMode GetTextureClamping() const;
+
+	/*!
+	 * Sets the texture clamping mode used by this effect.
+	 * \param[in] value The new texture clamping mode.
+	 */
 	NIFLIB_API void SetTextureClamping( TexClampMode value );
 
 	/*!
-	 * 0: PROJECTED_LIGHT 1: PROJECTED_SHADOW 2: ENVIRONMENT_MAP (Usual
-	 * value) 3: FOG_MAP
+	 * Retrieves the texture type used by this effect.  Valid values are:
+	 * 0: PROJECTED_LIGHT
+	 * 1: PROJECTED_SHADOW
+	 * 2: ENVIRONMENT_MAP (Usual value)
+	 * 3: FOG_MAP
+	 * \return The texture type.
 	 */
 	NIFLIB_API unsigned int GetTextureType() const;
+
+	/*!
+	 * Sets the texture type used by this effect.  Valid values are:
+	 * 0: PROJECTED_LIGHT
+	 * 1: PROJECTED_SHADOW
+	 * 2: ENVIRONMENT_MAP (Usual value)
+	 * 3: FOG_MAP
+	 * \param[in] value The new texture type.
+	 */
 	NIFLIB_API void SetTextureType( unsigned int value );
 
 	/*!
-	 * 0: WORLD_PARALLEL 1: WORLD_PERSPECTIVE 2: SPHERE_MAP (Usual value) 3:
-	 * SPECULAR_CUBE_MAP 4: DIFFUSE_CUBE_MAP
+	 * Retrieves the texture coordinate generation mode.  Valid values are:
+	 * 0: WORLD_PARALLEL
+	 * 1: WORLD_PERSPECTIVE
+	 * 2: SPHERE_MAP (Usual value)
+	 * 3: SPECULAR_CUBE_MAP
+	 * 4: DIFFUSE_CUBE_MAP
+	 * \return The texture coordinate generation mode.
 	 */
 	NIFLIB_API unsigned int GetCoordinateGenerationType() const;
+
+	/*!
+	 * Sets the texture coordinate generation mode.  Valid values are:
+	 * 0: WORLD_PARALLEL
+	 * 1: WORLD_PERSPECTIVE
+	 * 2: SPHERE_MAP (Usual value)
+	 * 3: SPECULAR_CUBE_MAP
+	 * 4: DIFFUSE_CUBE_MAP
+	 * \return The new texture coordinate generation mode.
+	 */
 	NIFLIB_API void SetCoordinateGenerationType( unsigned int value );
 
 	/*!
-	 * Source texture index.
+	 * Retrieves the source texture index.
+	 * \return The source texture index.
 	 */
 	NIFLIB_API Ref<NiSourceTexture > GetSourceTexture() const;
+
+	/*!
+	 * Sets the source texture index.
+	 * \param[in] value The new source texture index.
+	 */
 	NIFLIB_API void SetSourceTexture( Ref<NiSourceTexture > value );
 
 	/*!
-	 * 0: Disabled (Usual value) 1: Enabled
+	 * Retrieves the clipping plane behavior.  Valid values are:
+	 * 0: Disabled (Usual value)
+	 * 1: Enabled
+	 * \return The clipping plane behavior.
 	 */
 	NIFLIB_API byte GetClippingPlane() const;
+
+	/*!
+	 * Sets the clipping plane behavior.  Valid values are:
+	 * 0: Disabled (Usual value)
+	 * 1: Enabled
+	 * \param[in] value The new clipping plane behavior.
+	 */
 	NIFLIB_API void SetClippingPlane( byte value );
 
 	/*!
-	 * 0?
+	 * Retrieves a Playstation 2 - specific value.  Can just be left at the default of 0.
+	 * \return The PS2 L value.
 	 */
 	NIFLIB_API unsigned short GetPs2L() const;
+
+	/*!
+	 * Sets a Playstation 2 - specific value.  Can just be left at the default of 0.
+	 * \param[in] The new PS2 L value.
+	 */
 	NIFLIB_API void SetPs2L( unsigned short value );
 
 	/*!
-	 * 0xFFB5?
+	 * Retrieves a Playstation 2 - specific value.  Can just be left at the default of 0xFFB5.
+	 * \return The PS2 K value.
 	 */
 	NIFLIB_API unsigned short GetPs2K() const;
+
+	/*!
+	 * Sets a Playstation 2 - specific value.  Can just be left at the default of 0xFFB5.
+	 * \param[in] The new PS2 K value.
+	 */
 	NIFLIB_API void SetPs2K( unsigned short value );
 
 protected:
diff --git a/include/obj/NiTextureProperty.h b/include/obj/NiTextureProperty.h
index 03311048..76fd82ed 100644
--- a/include/obj/NiTextureProperty.h
+++ b/include/obj/NiTextureProperty.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiImage;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiTextureTransformController.h b/include/obj/NiTextureTransformController.h
index 0bf12570..486faadf 100644
--- a/include/obj/NiTextureTransformController.h
+++ b/include/obj/NiTextureTransformController.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiFloatData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiTimeController.h b/include/obj/NiTimeController.h
index b34a646b..feed93d5 100644
--- a/include/obj/NiTimeController.h
+++ b/include/obj/NiTimeController.h
@@ -18,7 +18,7 @@ class NiObjectNET;
 typedef Ref<NiTimeController> NiTimeControllerRef;
 
 /*!
- * NiTimeController - A generic time controller block.
+ * NiTimeController - A generic time controller object.
  */
 
 class NiTimeController : public NI_TIME_CONTROLLER_PARENT {
diff --git a/include/obj/NiTransformInterpolator.h b/include/obj/NiTransformInterpolator.h
index 1f20d42f..2bb8d78e 100644
--- a/include/obj/NiTransformInterpolator.h
+++ b/include/obj/NiTransformInterpolator.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiTransformData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiTriBasedGeom.h b/include/obj/NiTriBasedGeom.h
index 98176509..5ea67e34 100644
--- a/include/obj/NiTriBasedGeom.h
+++ b/include/obj/NiTriBasedGeom.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 
 //#include "../gen/obj_defines.h"
 
@@ -40,7 +40,7 @@ public:
 	NIFLIB_API void GenHardwareSkinInfo( int max_bones_per_partition = 4, int max_bones_per_vertex = 4 );
 
 	/*!
-	 * Generate or update a NiStringExtraData block with precalculated
+	 * Generate or update a NiStringExtraData object with precalculated
 	 * tangent and binormal data (Oblivion specific)
 	 */
 	NIFLIB_API void UpdateTangentSpace();
diff --git a/include/obj/NiTriBasedGeomData.h b/include/obj/NiTriBasedGeomData.h
index 638b55cf..930cefd4 100644
--- a/include/obj/NiTriBasedGeomData.h
+++ b/include/obj/NiTriBasedGeomData.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiObject;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiUVController.h b/include/obj/NiUVController.h
index b540a142..4d5c55d1 100644
--- a/include/obj/NiUVController.h
+++ b/include/obj/NiUVController.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiUVData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/NiVertexColorProperty.h b/include/obj/NiVertexColorProperty.h
index e8efb86a..fb0ee1dd 100644
--- a/include/obj/NiVertexColorProperty.h
+++ b/include/obj/NiVertexColorProperty.h
@@ -14,9 +14,9 @@ class NiVertexColorProperty;
 typedef Ref<NiVertexColorProperty> NiVertexColorPropertyRef;
 
 /*!
- * NiVertexColorProperty - Property of vertex colors. This block is
- * referred to by the root block of the NIF file whenever some
- * NiTriShapeData block has vertex colors with non-default settings; if
+ * NiVertexColorProperty - Property of vertex colors. This object is
+ * referred to by the root object of the NIF file whenever some
+ * NiTriShapeData object has vertex colors with non-default settings; if
  * not present, vertex colors have vertex_mode=2 and lighting_mode=1.
  */
 
diff --git a/include/obj/NiVisController.h b/include/obj/NiVisController.h
index c308fc97..93c16007 100644
--- a/include/obj/NiVisController.h
+++ b/include/obj/NiVisController.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiVisData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/bhkEntity.h b/include/obj/bhkEntity.h
index 6f244acd..c4d11867 100644
--- a/include/obj/bhkEntity.h
+++ b/include/obj/bhkEntity.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class bhkShape;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/bhkListShape.h b/include/obj/bhkListShape.h
index 2e460375..af8270f1 100644
--- a/include/obj/bhkListShape.h
+++ b/include/obj/bhkListShape.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class bhkShape;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/bhkMalleableConstraint.h b/include/obj/bhkMalleableConstraint.h
index 4d98f663..7975d1f4 100644
--- a/include/obj/bhkMalleableConstraint.h
+++ b/include/obj/bhkMalleableConstraint.h
@@ -12,7 +12,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../gen/LimitedHingeDescriptor.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiObject;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/bhkMoppBvTreeShape.h b/include/obj/bhkMoppBvTreeShape.h
index 66694f89..5a8fa1d8 100644
--- a/include/obj/bhkMoppBvTreeShape.h
+++ b/include/obj/bhkMoppBvTreeShape.h
@@ -10,7 +10,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class bhkShape;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/bhkNiTriStripsShape.h b/include/obj/bhkNiTriStripsShape.h
index f7f77dfe..2f6acfc8 100644
--- a/include/obj/bhkNiTriStripsShape.h
+++ b/include/obj/bhkNiTriStripsShape.h
@@ -11,7 +11,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../gen/OblivionColFilter.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class NiTriStripsData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/bhkPackedNiTriStripsShape.h b/include/obj/bhkPackedNiTriStripsShape.h
index 77d77a87..f006efa8 100644
--- a/include/obj/bhkPackedNiTriStripsShape.h
+++ b/include/obj/bhkPackedNiTriStripsShape.h
@@ -11,7 +11,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../gen/OblivionSubShape.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class hkPackedNiTriStripsData;
 
 //#include "../gen/obj_defines.h"
diff --git a/include/obj/bhkRigidBody.h b/include/obj/bhkRigidBody.h
index dcd21237..0de39e88 100644
--- a/include/obj/bhkRigidBody.h
+++ b/include/obj/bhkRigidBody.h
@@ -11,7 +11,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "../Ref.h"
 namespace Niflib {
 
-// Forward define of referenced blocks
+// Forward define of referenced NIF objects
 class AbhkConstraint;
 
 //#include "../gen/obj_defines.h"
diff --git a/src/ComplexShape.cpp b/src/ComplexShape.cpp
index dba9dcaf..8a39b6a9 100644
--- a/src/ComplexShape.cpp
+++ b/src/ComplexShape.cpp
@@ -504,90 +504,6 @@ void ComplexShape::Merge( NiAVObject * root ) {
 	//Done Merging
 }
 
-//void ComplexShape::CombineTriShapes( list<blk_ref> & tri_shapes ) {
-//	//Clear all internal datea
-//	_vertices.clear();
-//	_colors.clear();
-//	_normals.clear();
-//	_materials.clear();
-//	_uvs.clear();
-//	_faces.clear();
-//	_bones.clear();
-//
-//	//Create a temporary spot to hold the triangle lists from each TriShape
-//	vector< vector<Triangle> > ts_faces;
-//
-//	//Create lists to hold the lookup tables
-//	vector<int> tri_lookup, nor_lookup, col_lookup;
-//	map<string, vector<int> > mat_lookup, uv_lookup;
-//	
-//	//--Cycle through all the TriShapes, adding their data to the lists--//
-//	list<blk_ref>::iterator it;
-//
-//	for (it = tri_shapes.begin(); it != tri_shapes.end(); ++it) {
-//		ITriShapeData * data = QueryTriShapeData(*it);
-//
-//		//Vertices
-//		vector<Vector3> ts_verts = data->GetVertices();
-//		_vertices.insert(_vertices.end(), ts_verts.begin(), ts_verts.end();
-//
-//		//Normals
-//		vector<Vector3> ts_norms = data->GetNormals();
-//		_normals.insert(_normals.end(), ts_norms.begin(), ts_norms.end();
-//		
-//		//Colors
-//		vector<Colors> ts_cols = data->GetColors();
-//		_colors.insert(_colors.end(), ts_colors.begin(), ts_colors.end();
-//
-//		//Triangles
-//		ts_faces[i] = data->GetTriangles();
-//
-//		//UV Coords
-//		vector< vector<TexCoords> > uvs(data->GetUVSetCount());
-//		for (int i = 0; i < data->GetUVSetCount(); ++i) {
-//			uvs[i] = data->GetUVSet(i);
-//		}
-//
-//		//Associate UV Coord Data with proper map name
-//		blk_ref tx_prop = par["Properties"]->FindLink( "NiTexturingProperty");
-//		if ( tx_prop.is_null() == false ) {
-//			int uv_set = 0;
-//			for (int i = 0; i < 7; ++i) {
-//				string attr_name, map;
-//				switch(i) {
-//					case 0:	attr_name = "Base Texture";     map = "map1";   break;
-//					case 1:	attr_name = "Dark Texture";     map = "dark";   break;
-//					case 2:	attr_name = "Detail Texture";   map = "detail"; break;
-//					case 3:	attr_name = "Gloss Texture";    map = "gloss";  break;
-//					case 4:	attr_name = "Glow Texture";     map = "glow";   break;
-//					case 5:	attr_name = "Bump Map Texture"; map = "bump";   break;
-//					case 6:	attr_name = "Decal 0 Texture";  map = "decal0";
-//				}
-//
-//				if ( tx_prop[attr_name]->asTexDesc().isUsed == true ) {
-//					//How to merge all UVs?
-//				}
-//
-//		}
-//
-//
-//		//blk_ref material = (*it)->GetAttr("Propreties")->FindLink("NiMaterialProperty");
-//		//blk_ref skin_inst = (*it)->GetAttr("Skin Instance")->asLink();
-//		//blk_ref skin_data;
-//		//vector<blk_ref> bones;
-//		//map<int, float> weights;
-//		//if ( skin_inst.is_null() == false ) {
-//		//	skin_block = skin_inst->GetAttr("Data");
-//		//	if (skin_block.is_null() == false ) {
-//		//		ISkinData * skin_data = QuerySkinData(skin_block);
-//		//		weights = skin_data->GetWeights();
-//		//		bones = skin_data->GetBones();
-//		//	}
-//		//}
-//
-//	}
-//}
-
 Ref<NiAVObject> ComplexShape::Split( NiNode * parent, Matrix44 & transform, int max_bones_per_partition, bool stripify, bool tangent_space ) const {
 
 	//Make sure parent is not NULL
diff --git a/src/gen/obj_factories.cpp b/src/gen/obj_factories.cpp
index 5f5ea552..8a9e4316 100644
--- a/src/gen/obj_factories.cpp
+++ b/src/gen/obj_factories.cpp
@@ -10,7 +10,7 @@ using namespace Niflib;
 using namespace std;
 namespace Niflib {
 typedef NiObject*(*blk_factory_func)();
-extern map<string, blk_factory_func> global_block_map;
+extern map<string, blk_factory_func> global_object_map;
 }
 
 #include "../../include/obj/bhkBlendCollisionObject.h"
@@ -387,193 +387,193 @@ NiObject * CreateNiZBufferProperty() { return new NiZBufferProperty; }
 NiObject * CreateRootCollisionNode() { return new RootCollisionNode; }
 
 namespace Niflib {
-//This function registers the factory functions with global_block_map which is used by CreateNiObject
-void RegisterBlockFactories() {
-	global_block_map["bhkBlendCollisionObject"] = CreatebhkBlendCollisionObject;
-	global_block_map["bhkBlendController"] = CreatebhkBlendController;
-	global_block_map["bhkBoxShape"] = CreatebhkBoxShape;
-	global_block_map["bhkCapsuleShape"] = CreatebhkCapsuleShape;
-	global_block_map["bhkCollisionObject"] = CreatebhkCollisionObject;
-	global_block_map["bhkConvexVerticesShape"] = CreatebhkConvexVerticesShape;
-	global_block_map["bhkHingeConstraint"] = CreatebhkHingeConstraint;
-	global_block_map["bhkLimitedHingeConstraint"] = CreatebhkLimitedHingeConstraint;
-	global_block_map["bhkListShape"] = CreatebhkListShape;
-	global_block_map["bhkMalleableConstraint"] = CreatebhkMalleableConstraint;
-	global_block_map["bhkMoppBvTreeShape"] = CreatebhkMoppBvTreeShape;
-	global_block_map["bhkMultiSphereShape"] = CreatebhkMultiSphereShape;
-	global_block_map["bhkNiTriStripsShape"] = CreatebhkNiTriStripsShape;
-	global_block_map["bhkPackedNiTriStripsShape"] = CreatebhkPackedNiTriStripsShape;
-	global_block_map["bhkPrismaticConstraint"] = CreatebhkPrismaticConstraint;
-	global_block_map["bhkRagdollConstraint"] = CreatebhkRagdollConstraint;
-	global_block_map["bhkRigidBody"] = CreatebhkRigidBody;
-	global_block_map["bhkRigidBodyT"] = CreatebhkRigidBodyT;
-	global_block_map["bhkSimpleShapePhantom"] = CreatebhkSimpleShapePhantom;
-	global_block_map["bhkSPCollisionObject"] = CreatebhkSPCollisionObject;
-	global_block_map["bhkSphereShape"] = CreatebhkSphereShape;
-	global_block_map["bhkStiffSpringConstraint"] = CreatebhkStiffSpringConstraint;
-	global_block_map["bhkTransformShape"] = CreatebhkTransformShape;
-	global_block_map["bhkConvexTransformShape"] = CreatebhkConvexTransformShape;
-	global_block_map["BSBound"] = CreateBSBound;
-	global_block_map["BSFurnitureMarker"] = CreateBSFurnitureMarker;
-	global_block_map["BSParentVelocityModifier"] = CreateBSParentVelocityModifier;
-	global_block_map["BSPSysArrayEmitter"] = CreateBSPSysArrayEmitter;
-	global_block_map["BSXFlags"] = CreateBSXFlags;
-	global_block_map["hkPackedNiTriStripsData"] = CreatehkPackedNiTriStripsData;
-	global_block_map["NiAlphaController"] = CreateNiAlphaController;
-	global_block_map["NiAlphaProperty"] = CreateNiAlphaProperty;
-	global_block_map["NiAmbientLight"] = CreateNiAmbientLight;
-	global_block_map["NiAutoNormalParticlesData"] = CreateNiAutoNormalParticlesData;
-	global_block_map["NiBinaryExtraData"] = CreateNiBinaryExtraData;
-	global_block_map["NiBlendBoolInterpolator"] = CreateNiBlendBoolInterpolator;
-	global_block_map["NiBlendFloatInterpolator"] = CreateNiBlendFloatInterpolator;
-	global_block_map["NiBlendPoint3Interpolator"] = CreateNiBlendPoint3Interpolator;
-	global_block_map["NiBlendTransformInterpolator"] = CreateNiBlendTransformInterpolator;
-	global_block_map["NiBoneLODController"] = CreateNiBoneLODController;
-	global_block_map["NiBoolData"] = CreateNiBoolData;
-	global_block_map["NiBooleanExtraData"] = CreateNiBooleanExtraData;
-	global_block_map["NiBoolInterpolator"] = CreateNiBoolInterpolator;
-	global_block_map["NiBoolTimelineInterpolator"] = CreateNiBoolTimelineInterpolator;
-	global_block_map["NiBSBoneLODController"] = CreateNiBSBoneLODController;
-	global_block_map["NiBSplineBasisData"] = CreateNiBSplineBasisData;
-	global_block_map["NiBSplineCompFloatInterpolator"] = CreateNiBSplineCompFloatInterpolator;
-	global_block_map["NiBSplineCompPoint3Interpolator"] = CreateNiBSplineCompPoint3Interpolator;
-	global_block_map["NiBSplineCompTransformInterpolator"] = CreateNiBSplineCompTransformInterpolator;
-	global_block_map["NiBSplineData"] = CreateNiBSplineData;
-	global_block_map["NiCamera"] = CreateNiCamera;
-	global_block_map["NiCollisionData"] = CreateNiCollisionData;
-	global_block_map["NiColorData"] = CreateNiColorData;
-	global_block_map["NiColorExtraData"] = CreateNiColorExtraData;
-	global_block_map["NiControllerManager"] = CreateNiControllerManager;
-	global_block_map["NiControllerSequence"] = CreateNiControllerSequence;
-	global_block_map["NiDefaultAVObjectPalette"] = CreateNiDefaultAVObjectPalette;
-	global_block_map["NiDirectionalLight"] = CreateNiDirectionalLight;
-	global_block_map["NiDitherProperty"] = CreateNiDitherProperty;
-	global_block_map["NiFlipController"] = CreateNiFlipController;
-	global_block_map["NiFloatData"] = CreateNiFloatData;
-	global_block_map["NiFloatExtraData"] = CreateNiFloatExtraData;
-	global_block_map["NiFloatExtraDataController"] = CreateNiFloatExtraDataController;
-	global_block_map["NiFloatInterpolator"] = CreateNiFloatInterpolator;
-	global_block_map["NiFloatsExtraData"] = CreateNiFloatsExtraData;
-	global_block_map["NiFogProperty"] = CreateNiFogProperty;
-	global_block_map["NiGeomMorpherController"] = CreateNiGeomMorpherController;
-	global_block_map["NiGravity"] = CreateNiGravity;
-	global_block_map["NiIntegerExtraData"] = CreateNiIntegerExtraData;
-	global_block_map["NiIntegersExtraData"] = CreateNiIntegersExtraData;
-	global_block_map["NiKeyframeController"] = CreateNiKeyframeController;
-	global_block_map["BSKeyframeController"] = CreateBSKeyframeController;
-	global_block_map["NiKeyframeData"] = CreateNiKeyframeData;
-	global_block_map["NiLightColorController"] = CreateNiLightColorController;
-	global_block_map["NiLightDimmerController"] = CreateNiLightDimmerController;
-	global_block_map["NiLookAtController"] = CreateNiLookAtController;
-	global_block_map["NiLookAtInterpolator"] = CreateNiLookAtInterpolator;
-	global_block_map["NiMaterialColorController"] = CreateNiMaterialColorController;
-	global_block_map["NiMaterialProperty"] = CreateNiMaterialProperty;
-	global_block_map["NiMeshPSysData"] = CreateNiMeshPSysData;
-	global_block_map["NiMorphData"] = CreateNiMorphData;
-	global_block_map["NiMultiTargetTransformController"] = CreateNiMultiTargetTransformController;
-	global_block_map["NiNode"] = CreateNiNode;
-	global_block_map["AvoidNode"] = CreateAvoidNode;
-	global_block_map["FxWidget"] = CreateFxWidget;
-	global_block_map["FxButton"] = CreateFxButton;
-	global_block_map["FxRadioButton"] = CreateFxRadioButton;
-	global_block_map["NiBillboardNode"] = CreateNiBillboardNode;
-	global_block_map["NiBSAnimationNode"] = CreateNiBSAnimationNode;
-	global_block_map["NiBSParticleNode"] = CreateNiBSParticleNode;
-	global_block_map["NiLODNode"] = CreateNiLODNode;
-	global_block_map["NiPalette"] = CreateNiPalette;
-	global_block_map["NiParticleBomb"] = CreateNiParticleBomb;
-	global_block_map["NiParticleColorModifier"] = CreateNiParticleColorModifier;
-	global_block_map["NiParticleGrowFade"] = CreateNiParticleGrowFade;
-	global_block_map["NiParticleMeshModifier"] = CreateNiParticleMeshModifier;
-	global_block_map["NiParticleRotation"] = CreateNiParticleRotation;
-	global_block_map["NiParticles"] = CreateNiParticles;
-	global_block_map["NiAutoNormalParticles"] = CreateNiAutoNormalParticles;
-	global_block_map["NiParticleMeshes"] = CreateNiParticleMeshes;
-	global_block_map["NiParticlesData"] = CreateNiParticlesData;
-	global_block_map["NiParticleMeshesData"] = CreateNiParticleMeshesData;
-	global_block_map["NiParticleSystem"] = CreateNiParticleSystem;
-	global_block_map["NiMeshParticleSystem"] = CreateNiMeshParticleSystem;
-	global_block_map["NiParticleSystemController"] = CreateNiParticleSystemController;
-	global_block_map["NiBSPArrayController"] = CreateNiBSPArrayController;
-	global_block_map["NiPathController"] = CreateNiPathController;
-	global_block_map["NiPathInterpolator"] = CreateNiPathInterpolator;
-	global_block_map["NiPixelData"] = CreateNiPixelData;
-	global_block_map["NiPlanarCollider"] = CreateNiPlanarCollider;
-	global_block_map["NiPoint3Interpolator"] = CreateNiPoint3Interpolator;
-	global_block_map["NiPointLight"] = CreateNiPointLight;
-	global_block_map["NiPosData"] = CreateNiPosData;
-	global_block_map["NiPSysAgeDeathModifier"] = CreateNiPSysAgeDeathModifier;
-	global_block_map["NiPSysBombModifier"] = CreateNiPSysBombModifier;
-	global_block_map["NiPSysBoundUpdateModifier"] = CreateNiPSysBoundUpdateModifier;
-	global_block_map["NiPSysBoxEmitter"] = CreateNiPSysBoxEmitter;
-	global_block_map["NiPSysColliderManager"] = CreateNiPSysColliderManager;
-	global_block_map["NiPSysColorModifier"] = CreateNiPSysColorModifier;
-	global_block_map["NiPSysCylinderEmitter"] = CreateNiPSysCylinderEmitter;
-	global_block_map["NiPSysData"] = CreateNiPSysData;
-	global_block_map["NiPSysDragModifier"] = CreateNiPSysDragModifier;
-	global_block_map["NiPSysEmitterCtlr"] = CreateNiPSysEmitterCtlr;
-	global_block_map["NiPSysEmitterCtlrData"] = CreateNiPSysEmitterCtlrData;
-	global_block_map["NiPSysEmitterDeclinationCtlr"] = CreateNiPSysEmitterDeclinationCtlr;
-	global_block_map["NiPSysEmitterDeclinationVarCtlr"] = CreateNiPSysEmitterDeclinationVarCtlr;
-	global_block_map["NiPSysEmitterInitialRadiusCtlr"] = CreateNiPSysEmitterInitialRadiusCtlr;
-	global_block_map["NiPSysEmitterLifeSpanCtlr"] = CreateNiPSysEmitterLifeSpanCtlr;
-	global_block_map["NiPSysEmitterSpeedCtlr"] = CreateNiPSysEmitterSpeedCtlr;
-	global_block_map["NiPSysGravityModifier"] = CreateNiPSysGravityModifier;
-	global_block_map["NiPSysGravityStrengthCtlr"] = CreateNiPSysGravityStrengthCtlr;
-	global_block_map["NiPSysGrowFadeModifier"] = CreateNiPSysGrowFadeModifier;
-	global_block_map["NiPSysMeshEmitter"] = CreateNiPSysMeshEmitter;
-	global_block_map["NiPSysMeshUpdateModifier"] = CreateNiPSysMeshUpdateModifier;
-	global_block_map["NiPSysModifierActiveCtlr"] = CreateNiPSysModifierActiveCtlr;
-	global_block_map["NiPSysPlanarCollider"] = CreateNiPSysPlanarCollider;
-	global_block_map["NiPSysPositionModifier"] = CreateNiPSysPositionModifier;
-	global_block_map["NiPSysResetOnLoopCtlr"] = CreateNiPSysResetOnLoopCtlr;
-	global_block_map["NiPSysRotationModifier"] = CreateNiPSysRotationModifier;
-	global_block_map["NiPSysSpawnModifier"] = CreateNiPSysSpawnModifier;
-	global_block_map["NiPSysSphereEmitter"] = CreateNiPSysSphereEmitter;
-	global_block_map["NiPSysUpdateCtlr"] = CreateNiPSysUpdateCtlr;
-	global_block_map["NiRangeLODData"] = CreateNiRangeLODData;
-	global_block_map["NiScreenLODData"] = CreateNiScreenLODData;
-	global_block_map["NiRotatingParticles"] = CreateNiRotatingParticles;
-	global_block_map["NiRotatingParticlesData"] = CreateNiRotatingParticlesData;
-	global_block_map["NiSequenceStreamHelper"] = CreateNiSequenceStreamHelper;
-	global_block_map["NiShadeProperty"] = CreateNiShadeProperty;
-	global_block_map["NiSkinData"] = CreateNiSkinData;
-	global_block_map["NiSkinInstance"] = CreateNiSkinInstance;
-	global_block_map["NiClodSkinInstance"] = CreateNiClodSkinInstance;
-	global_block_map["NiSkinPartition"] = CreateNiSkinPartition;
-	global_block_map["NiSourceTexture"] = CreateNiSourceTexture;
-	global_block_map["NiSpecularProperty"] = CreateNiSpecularProperty;
-	global_block_map["NiSphericalCollider"] = CreateNiSphericalCollider;
-	global_block_map["NiSpotLight"] = CreateNiSpotLight;
-	global_block_map["NiStencilProperty"] = CreateNiStencilProperty;
-	global_block_map["NiStringExtraData"] = CreateNiStringExtraData;
-	global_block_map["NiStringPalette"] = CreateNiStringPalette;
-	global_block_map["NiStringsExtraData"] = CreateNiStringsExtraData;
-	global_block_map["NiTextKeyExtraData"] = CreateNiTextKeyExtraData;
-	global_block_map["NiTextureEffect"] = CreateNiTextureEffect;
-	global_block_map["NiTextureTransformController"] = CreateNiTextureTransformController;
-	global_block_map["NiTextureModeProperty"] = CreateNiTextureModeProperty;
-	global_block_map["NiImage"] = CreateNiImage;
-	global_block_map["NiTextureProperty"] = CreateNiTextureProperty;
-	global_block_map["NiTexturingProperty"] = CreateNiTexturingProperty;
-	global_block_map["NiTransformController"] = CreateNiTransformController;
-	global_block_map["NiTransformData"] = CreateNiTransformData;
-	global_block_map["NiTransformInterpolator"] = CreateNiTransformInterpolator;
-	global_block_map["NiTriShape"] = CreateNiTriShape;
-	global_block_map["NiTriShapeData"] = CreateNiTriShapeData;
-	global_block_map["NiTriStrips"] = CreateNiTriStrips;
-	global_block_map["NiTriStripsData"] = CreateNiTriStripsData;
-	global_block_map["NiClod"] = CreateNiClod;
-	global_block_map["NiClodData"] = CreateNiClodData;
-	global_block_map["NiUVController"] = CreateNiUVController;
-	global_block_map["NiUVData"] = CreateNiUVData;
-	global_block_map["NiVectorExtraData"] = CreateNiVectorExtraData;
-	global_block_map["NiVertexColorProperty"] = CreateNiVertexColorProperty;
-	global_block_map["NiVertWeightsExtraData"] = CreateNiVertWeightsExtraData;
-	global_block_map["NiVisController"] = CreateNiVisController;
-	global_block_map["NiVisData"] = CreateNiVisData;
-	global_block_map["NiWireframeProperty"] = CreateNiWireframeProperty;
-	global_block_map["NiZBufferProperty"] = CreateNiZBufferProperty;
-	global_block_map["RootCollisionNode"] = CreateRootCollisionNode;
+//This function registers the factory functions with global_object_map which is used by CreateNiObject
+void RegisterObjectFactories() {
+	global_object_map["bhkBlendCollisionObject"] = CreatebhkBlendCollisionObject;
+	global_object_map["bhkBlendController"] = CreatebhkBlendController;
+	global_object_map["bhkBoxShape"] = CreatebhkBoxShape;
+	global_object_map["bhkCapsuleShape"] = CreatebhkCapsuleShape;
+	global_object_map["bhkCollisionObject"] = CreatebhkCollisionObject;
+	global_object_map["bhkConvexVerticesShape"] = CreatebhkConvexVerticesShape;
+	global_object_map["bhkHingeConstraint"] = CreatebhkHingeConstraint;
+	global_object_map["bhkLimitedHingeConstraint"] = CreatebhkLimitedHingeConstraint;
+	global_object_map["bhkListShape"] = CreatebhkListShape;
+	global_object_map["bhkMalleableConstraint"] = CreatebhkMalleableConstraint;
+	global_object_map["bhkMoppBvTreeShape"] = CreatebhkMoppBvTreeShape;
+	global_object_map["bhkMultiSphereShape"] = CreatebhkMultiSphereShape;
+	global_object_map["bhkNiTriStripsShape"] = CreatebhkNiTriStripsShape;
+	global_object_map["bhkPackedNiTriStripsShape"] = CreatebhkPackedNiTriStripsShape;
+	global_object_map["bhkPrismaticConstraint"] = CreatebhkPrismaticConstraint;
+	global_object_map["bhkRagdollConstraint"] = CreatebhkRagdollConstraint;
+	global_object_map["bhkRigidBody"] = CreatebhkRigidBody;
+	global_object_map["bhkRigidBodyT"] = CreatebhkRigidBodyT;
+	global_object_map["bhkSimpleShapePhantom"] = CreatebhkSimpleShapePhantom;
+	global_object_map["bhkSPCollisionObject"] = CreatebhkSPCollisionObject;
+	global_object_map["bhkSphereShape"] = CreatebhkSphereShape;
+	global_object_map["bhkStiffSpringConstraint"] = CreatebhkStiffSpringConstraint;
+	global_object_map["bhkTransformShape"] = CreatebhkTransformShape;
+	global_object_map["bhkConvexTransformShape"] = CreatebhkConvexTransformShape;
+	global_object_map["BSBound"] = CreateBSBound;
+	global_object_map["BSFurnitureMarker"] = CreateBSFurnitureMarker;
+	global_object_map["BSParentVelocityModifier"] = CreateBSParentVelocityModifier;
+	global_object_map["BSPSysArrayEmitter"] = CreateBSPSysArrayEmitter;
+	global_object_map["BSXFlags"] = CreateBSXFlags;
+	global_object_map["hkPackedNiTriStripsData"] = CreatehkPackedNiTriStripsData;
+	global_object_map["NiAlphaController"] = CreateNiAlphaController;
+	global_object_map["NiAlphaProperty"] = CreateNiAlphaProperty;
+	global_object_map["NiAmbientLight"] = CreateNiAmbientLight;
+	global_object_map["NiAutoNormalParticlesData"] = CreateNiAutoNormalParticlesData;
+	global_object_map["NiBinaryExtraData"] = CreateNiBinaryExtraData;
+	global_object_map["NiBlendBoolInterpolator"] = CreateNiBlendBoolInterpolator;
+	global_object_map["NiBlendFloatInterpolator"] = CreateNiBlendFloatInterpolator;
+	global_object_map["NiBlendPoint3Interpolator"] = CreateNiBlendPoint3Interpolator;
+	global_object_map["NiBlendTransformInterpolator"] = CreateNiBlendTransformInterpolator;
+	global_object_map["NiBoneLODController"] = CreateNiBoneLODController;
+	global_object_map["NiBoolData"] = CreateNiBoolData;
+	global_object_map["NiBooleanExtraData"] = CreateNiBooleanExtraData;
+	global_object_map["NiBoolInterpolator"] = CreateNiBoolInterpolator;
+	global_object_map["NiBoolTimelineInterpolator"] = CreateNiBoolTimelineInterpolator;
+	global_object_map["NiBSBoneLODController"] = CreateNiBSBoneLODController;
+	global_object_map["NiBSplineBasisData"] = CreateNiBSplineBasisData;
+	global_object_map["NiBSplineCompFloatInterpolator"] = CreateNiBSplineCompFloatInterpolator;
+	global_object_map["NiBSplineCompPoint3Interpolator"] = CreateNiBSplineCompPoint3Interpolator;
+	global_object_map["NiBSplineCompTransformInterpolator"] = CreateNiBSplineCompTransformInterpolator;
+	global_object_map["NiBSplineData"] = CreateNiBSplineData;
+	global_object_map["NiCamera"] = CreateNiCamera;
+	global_object_map["NiCollisionData"] = CreateNiCollisionData;
+	global_object_map["NiColorData"] = CreateNiColorData;
+	global_object_map["NiColorExtraData"] = CreateNiColorExtraData;
+	global_object_map["NiControllerManager"] = CreateNiControllerManager;
+	global_object_map["NiControllerSequence"] = CreateNiControllerSequence;
+	global_object_map["NiDefaultAVObjectPalette"] = CreateNiDefaultAVObjectPalette;
+	global_object_map["NiDirectionalLight"] = CreateNiDirectionalLight;
+	global_object_map["NiDitherProperty"] = CreateNiDitherProperty;
+	global_object_map["NiFlipController"] = CreateNiFlipController;
+	global_object_map["NiFloatData"] = CreateNiFloatData;
+	global_object_map["NiFloatExtraData"] = CreateNiFloatExtraData;
+	global_object_map["NiFloatExtraDataController"] = CreateNiFloatExtraDataController;
+	global_object_map["NiFloatInterpolator"] = CreateNiFloatInterpolator;
+	global_object_map["NiFloatsExtraData"] = CreateNiFloatsExtraData;
+	global_object_map["NiFogProperty"] = CreateNiFogProperty;
+	global_object_map["NiGeomMorpherController"] = CreateNiGeomMorpherController;
+	global_object_map["NiGravity"] = CreateNiGravity;
+	global_object_map["NiIntegerExtraData"] = CreateNiIntegerExtraData;
+	global_object_map["NiIntegersExtraData"] = CreateNiIntegersExtraData;
+	global_object_map["NiKeyframeController"] = CreateNiKeyframeController;
+	global_object_map["BSKeyframeController"] = CreateBSKeyframeController;
+	global_object_map["NiKeyframeData"] = CreateNiKeyframeData;
+	global_object_map["NiLightColorController"] = CreateNiLightColorController;
+	global_object_map["NiLightDimmerController"] = CreateNiLightDimmerController;
+	global_object_map["NiLookAtController"] = CreateNiLookAtController;
+	global_object_map["NiLookAtInterpolator"] = CreateNiLookAtInterpolator;
+	global_object_map["NiMaterialColorController"] = CreateNiMaterialColorController;
+	global_object_map["NiMaterialProperty"] = CreateNiMaterialProperty;
+	global_object_map["NiMeshPSysData"] = CreateNiMeshPSysData;
+	global_object_map["NiMorphData"] = CreateNiMorphData;
+	global_object_map["NiMultiTargetTransformController"] = CreateNiMultiTargetTransformController;
+	global_object_map["NiNode"] = CreateNiNode;
+	global_object_map["AvoidNode"] = CreateAvoidNode;
+	global_object_map["FxWidget"] = CreateFxWidget;
+	global_object_map["FxButton"] = CreateFxButton;
+	global_object_map["FxRadioButton"] = CreateFxRadioButton;
+	global_object_map["NiBillboardNode"] = CreateNiBillboardNode;
+	global_object_map["NiBSAnimationNode"] = CreateNiBSAnimationNode;
+	global_object_map["NiBSParticleNode"] = CreateNiBSParticleNode;
+	global_object_map["NiLODNode"] = CreateNiLODNode;
+	global_object_map["NiPalette"] = CreateNiPalette;
+	global_object_map["NiParticleBomb"] = CreateNiParticleBomb;
+	global_object_map["NiParticleColorModifier"] = CreateNiParticleColorModifier;
+	global_object_map["NiParticleGrowFade"] = CreateNiParticleGrowFade;
+	global_object_map["NiParticleMeshModifier"] = CreateNiParticleMeshModifier;
+	global_object_map["NiParticleRotation"] = CreateNiParticleRotation;
+	global_object_map["NiParticles"] = CreateNiParticles;
+	global_object_map["NiAutoNormalParticles"] = CreateNiAutoNormalParticles;
+	global_object_map["NiParticleMeshes"] = CreateNiParticleMeshes;
+	global_object_map["NiParticlesData"] = CreateNiParticlesData;
+	global_object_map["NiParticleMeshesData"] = CreateNiParticleMeshesData;
+	global_object_map["NiParticleSystem"] = CreateNiParticleSystem;
+	global_object_map["NiMeshParticleSystem"] = CreateNiMeshParticleSystem;
+	global_object_map["NiParticleSystemController"] = CreateNiParticleSystemController;
+	global_object_map["NiBSPArrayController"] = CreateNiBSPArrayController;
+	global_object_map["NiPathController"] = CreateNiPathController;
+	global_object_map["NiPathInterpolator"] = CreateNiPathInterpolator;
+	global_object_map["NiPixelData"] = CreateNiPixelData;
+	global_object_map["NiPlanarCollider"] = CreateNiPlanarCollider;
+	global_object_map["NiPoint3Interpolator"] = CreateNiPoint3Interpolator;
+	global_object_map["NiPointLight"] = CreateNiPointLight;
+	global_object_map["NiPosData"] = CreateNiPosData;
+	global_object_map["NiPSysAgeDeathModifier"] = CreateNiPSysAgeDeathModifier;
+	global_object_map["NiPSysBombModifier"] = CreateNiPSysBombModifier;
+	global_object_map["NiPSysBoundUpdateModifier"] = CreateNiPSysBoundUpdateModifier;
+	global_object_map["NiPSysBoxEmitter"] = CreateNiPSysBoxEmitter;
+	global_object_map["NiPSysColliderManager"] = CreateNiPSysColliderManager;
+	global_object_map["NiPSysColorModifier"] = CreateNiPSysColorModifier;
+	global_object_map["NiPSysCylinderEmitter"] = CreateNiPSysCylinderEmitter;
+	global_object_map["NiPSysData"] = CreateNiPSysData;
+	global_object_map["NiPSysDragModifier"] = CreateNiPSysDragModifier;
+	global_object_map["NiPSysEmitterCtlr"] = CreateNiPSysEmitterCtlr;
+	global_object_map["NiPSysEmitterCtlrData"] = CreateNiPSysEmitterCtlrData;
+	global_object_map["NiPSysEmitterDeclinationCtlr"] = CreateNiPSysEmitterDeclinationCtlr;
+	global_object_map["NiPSysEmitterDeclinationVarCtlr"] = CreateNiPSysEmitterDeclinationVarCtlr;
+	global_object_map["NiPSysEmitterInitialRadiusCtlr"] = CreateNiPSysEmitterInitialRadiusCtlr;
+	global_object_map["NiPSysEmitterLifeSpanCtlr"] = CreateNiPSysEmitterLifeSpanCtlr;
+	global_object_map["NiPSysEmitterSpeedCtlr"] = CreateNiPSysEmitterSpeedCtlr;
+	global_object_map["NiPSysGravityModifier"] = CreateNiPSysGravityModifier;
+	global_object_map["NiPSysGravityStrengthCtlr"] = CreateNiPSysGravityStrengthCtlr;
+	global_object_map["NiPSysGrowFadeModifier"] = CreateNiPSysGrowFadeModifier;
+	global_object_map["NiPSysMeshEmitter"] = CreateNiPSysMeshEmitter;
+	global_object_map["NiPSysMeshUpdateModifier"] = CreateNiPSysMeshUpdateModifier;
+	global_object_map["NiPSysModifierActiveCtlr"] = CreateNiPSysModifierActiveCtlr;
+	global_object_map["NiPSysPlanarCollider"] = CreateNiPSysPlanarCollider;
+	global_object_map["NiPSysPositionModifier"] = CreateNiPSysPositionModifier;
+	global_object_map["NiPSysResetOnLoopCtlr"] = CreateNiPSysResetOnLoopCtlr;
+	global_object_map["NiPSysRotationModifier"] = CreateNiPSysRotationModifier;
+	global_object_map["NiPSysSpawnModifier"] = CreateNiPSysSpawnModifier;
+	global_object_map["NiPSysSphereEmitter"] = CreateNiPSysSphereEmitter;
+	global_object_map["NiPSysUpdateCtlr"] = CreateNiPSysUpdateCtlr;
+	global_object_map["NiRangeLODData"] = CreateNiRangeLODData;
+	global_object_map["NiScreenLODData"] = CreateNiScreenLODData;
+	global_object_map["NiRotatingParticles"] = CreateNiRotatingParticles;
+	global_object_map["NiRotatingParticlesData"] = CreateNiRotatingParticlesData;
+	global_object_map["NiSequenceStreamHelper"] = CreateNiSequenceStreamHelper;
+	global_object_map["NiShadeProperty"] = CreateNiShadeProperty;
+	global_object_map["NiSkinData"] = CreateNiSkinData;
+	global_object_map["NiSkinInstance"] = CreateNiSkinInstance;
+	global_object_map["NiClodSkinInstance"] = CreateNiClodSkinInstance;
+	global_object_map["NiSkinPartition"] = CreateNiSkinPartition;
+	global_object_map["NiSourceTexture"] = CreateNiSourceTexture;
+	global_object_map["NiSpecularProperty"] = CreateNiSpecularProperty;
+	global_object_map["NiSphericalCollider"] = CreateNiSphericalCollider;
+	global_object_map["NiSpotLight"] = CreateNiSpotLight;
+	global_object_map["NiStencilProperty"] = CreateNiStencilProperty;
+	global_object_map["NiStringExtraData"] = CreateNiStringExtraData;
+	global_object_map["NiStringPalette"] = CreateNiStringPalette;
+	global_object_map["NiStringsExtraData"] = CreateNiStringsExtraData;
+	global_object_map["NiTextKeyExtraData"] = CreateNiTextKeyExtraData;
+	global_object_map["NiTextureEffect"] = CreateNiTextureEffect;
+	global_object_map["NiTextureTransformController"] = CreateNiTextureTransformController;
+	global_object_map["NiTextureModeProperty"] = CreateNiTextureModeProperty;
+	global_object_map["NiImage"] = CreateNiImage;
+	global_object_map["NiTextureProperty"] = CreateNiTextureProperty;
+	global_object_map["NiTexturingProperty"] = CreateNiTexturingProperty;
+	global_object_map["NiTransformController"] = CreateNiTransformController;
+	global_object_map["NiTransformData"] = CreateNiTransformData;
+	global_object_map["NiTransformInterpolator"] = CreateNiTransformInterpolator;
+	global_object_map["NiTriShape"] = CreateNiTriShape;
+	global_object_map["NiTriShapeData"] = CreateNiTriShapeData;
+	global_object_map["NiTriStrips"] = CreateNiTriStrips;
+	global_object_map["NiTriStripsData"] = CreateNiTriStripsData;
+	global_object_map["NiClod"] = CreateNiClod;
+	global_object_map["NiClodData"] = CreateNiClodData;
+	global_object_map["NiUVController"] = CreateNiUVController;
+	global_object_map["NiUVData"] = CreateNiUVData;
+	global_object_map["NiVectorExtraData"] = CreateNiVectorExtraData;
+	global_object_map["NiVertexColorProperty"] = CreateNiVertexColorProperty;
+	global_object_map["NiVertWeightsExtraData"] = CreateNiVertWeightsExtraData;
+	global_object_map["NiVisController"] = CreateNiVisController;
+	global_object_map["NiVisData"] = CreateNiVisData;
+	global_object_map["NiWireframeProperty"] = CreateNiWireframeProperty;
+	global_object_map["NiZBufferProperty"] = CreateNiZBufferProperty;
+	global_object_map["RootCollisionNode"] = CreateRootCollisionNode;
 }
 }
diff --git a/src/niflib.cpp b/src/niflib.cpp
index c210c779..5f372971 100644
--- a/src/niflib.cpp
+++ b/src/niflib.cpp
@@ -38,72 +38,71 @@ namespace Niflib {
 
 //Stores the mapping between object names and factory function pointers to create them
 typedef NiObject * (*blk_factory_func)();
-bool global_block_map_init = false;
-map<string, blk_factory_func> global_block_map;
+bool global_object_map_init = false;
+map<string, blk_factory_func> global_object_map;
 
 //Utility Functions
 void EnumerateObjects( NiObject * root, map<Type*,unsigned int> & type_map, map<NiObjectRef, unsigned int> & link_map, bool reverse = false );
-NiObjectRef FindRoot( vector<NiObjectRef> const & blocks );
-void RegisterBlockFactories ();
+NiObjectRef FindRoot( vector<NiObjectRef> const & objects );
+void RegisterObjectFactories ();
 NiObjectRef GetObjectByType( NiObject * root, const Type & type );
 
 /*!
- * Helper function to split off animation from a nif tree. If no animation groups are defined, then both xnif_root and xkf_root will be null blocks.
- * \param root_block The root block of the full tree.
+ * Helper function to split off animation from a nif tree. If no animation groups are defined, then both xnif_root and xkf_root will be NULL.
+ * \param root_object The root object of the full tree.
  * \param xnif_root The root object of the tree without animation.
  * \param xkf_roots The root objects of the animation trees.
  * \param kfm The KFM structure (if required by style).
  * \param kf_type What type of keyframe tree to write (Morrowind style, DAoC style, ...).
  * \param info A NifInfo structure that contains information such as the version of the NIF file to create.
  */
-static void SplitNifTree( NiObject * root_block, NiObject * xnif_root, list<NiObjectRef> & xkf_roots, Kfm & kfm, int kf_type, const NifInfo & info );
+static void SplitNifTree( NiObject * root_object, NiObject * xnif_root, list<NiObjectRef> & xkf_roots, Kfm & kfm, int kf_type, const NifInfo & info );
 
 //--Function Bodies--//
 
-NiObjectRef CreateObject( string block_type ) {
+NiObjectRef CreateObject( string obj_type ) {
 	
-	//Initialize the global block list if it hasn't been done yet
-	if ( global_block_map_init == false ) {
-		RegisterBlockFactories();
-		global_block_map_init = true;
+	//Initialize the global object list if it hasn't been done yet
+	if ( global_object_map_init == false ) {
+		RegisterObjectFactories();
+		global_object_map_init = true;
 	}
 
-	NiObject * block = NULL;
+	NiObject * object = NULL;
 
 	map<string, blk_factory_func>::iterator it;
-	it = global_block_map.find(block_type);
+	it = global_object_map.find(obj_type);
 
-	if ( it != global_block_map.end() ) {
+	if ( it != global_object_map.end() ) {
 		//Requested type has been registered
-		block = it->second();
+		object = it->second();
 	} else {
 		//An unknown type has been encountered
-		return NULL; //Return null block_ref
-		//block = new UnknownBlock( block_type );
+		return NULL; //Return null
 	}
 	
-	return NiObjectRef(block);
+	return NiObjectRef(object);
 }
 
 NiObjectRef ReadNifTree( string const & file_name, NifInfo * info ) {
-	//Read block list
-	vector<NiObjectRef> blocks = ReadNifList( file_name, info );
-	return FindRoot( blocks );
+	//Read object list
+	vector<NiObjectRef> objects = ReadNifList( file_name, info );
+	return FindRoot( objects );
 }
 
 NiObjectRef ReadNifTree( istream & in, NifInfo * info ) {
-	//Read block list
-	vector<NiObjectRef> blocks = ReadNifList( in, info );
-	return FindRoot( blocks );
+	//Read object list
+	vector<NiObjectRef> objects = ReadNifList( in, info );
+	return FindRoot( objects );
 }
 
-NiObjectRef FindRoot( vector<NiObjectRef> const & blocks ) {
+NiObjectRef FindRoot( vector<NiObjectRef> const & objects ) {
 	//--Look for a NiNode that has no parents--//
 
 	//Find the first NiObjectNET derived object
 	NiAVObjectRef root;
-	for (unsigned int i = 0; i < blocks.size(); ++i) {
-		root = DynamicCast<NiAVObject>(blocks[i]);
+	for (unsigned int i = 0; i < objects.size(); ++i) {
+		root = DynamicCast<NiAVObject>(objects[i]);
 		if ( root != NULL ) {
 			break;
 		}
@@ -111,7 +110,7 @@ NiObjectRef FindRoot( vector<NiObjectRef> const & blocks ) {
 
 	//Make sure a node was found, if not return first node
 	if ( root == NULL )
-		return blocks[0];
+		return objects[0];
 
 	//Move up the chain to the root node
 	while ( root->GetParent() != NULL ) {
@@ -221,7 +220,7 @@ vector<NiObjectRef> ReadNifList( istream & in, NifInfo * info ) {
 				}
 			}
 
-			// Find which block type this is by using the header arrays
+			// Find which NIF object type this is by using the header arrays
 			objectType = header.blockTypes[ header.blockTypeIndex[i] ];
 
 #ifdef PRINT_OBJECT_NAMES
@@ -349,7 +348,7 @@ vector<NiObjectRef> ReadNifList( istream & in, NifInfo * info ) {
 #ifdef DEBUG_LINK_PHASE
 	cout << "Fixing Links:"  << endl;
 #endif
-	//--Now that all blocks are read, go back and fix the links--//
+	//--Now that all objects are read, go back and fix the links--//
 	vector<NiObjectRef> obj_list;
 
 	for ( map<unsigned,NiObjectRef>::iterator it = objects.begin(); it != objects.end(); ++it ) {
@@ -368,15 +367,12 @@ vector<NiObjectRef> ReadNifList( istream & in, NifInfo * info ) {
 		delete info;
 	}
 
-	//Return completed block list
+	//Return completed object list
 	return obj_list;
 }
 
 // Writes a valid Nif File given an ostream, a list to the root objects of a file tree
 void WriteNifTree( ostream & out, list<NiObjectRef> const & roots, const NifInfo & info ) {
-	// Walk tree, resetting all block numbers
-	//int block_count = ResetBlockNums( 0, root_block );
-	
 	//Enumerate all objects in tree
 	map<Type*,unsigned int> type_map;
 	map<NiObjectRef, unsigned int> link_map;
@@ -416,7 +412,7 @@ void WriteNifTree( ostream & out, list<NiObjectRef> const & roots, const NifInfo
 
 	}
 
-	//Set type number of each block
+	//Set type number of each object
 	header.blockTypeIndex.resize( objects.size() );
 	for ( unsigned int i = 0; i < objects.size(); ++i ) {
 		header.blockTypeIndex[i] = type_map[(Type*)&(objects[i]->GetType())];
@@ -470,13 +466,13 @@ void WriteNifTree( ostream & out, list<NiObjectRef> const & roots, const NifInfo
 	footer.Write( out, link_map, info );
 }
 
-// Writes a valid Nif File given a file name, a pointer to the root block of a file tree
-void WriteNifTree( string const & file_name, NiObject * root_block, const NifInfo & info ) {
+// Writes a valid Nif File given a file name, a pointer to the root object of a file tree
+void WriteNifTree( string const & file_name, NiObject * root, const NifInfo & info ) {
    //Open output file
    ofstream out( file_name.c_str(), ofstream::binary );
 
    list<NiObjectRef> roots;
-   roots.push_back(root_block);
+   roots.push_back(root);
    WriteNifTree( out, roots, info );
 
    //Close file
@@ -514,7 +510,7 @@ void EnumerateObjects( NiObject * root, map<Type*,unsigned int> & type_map, map<
 		type_map[ (Type*)&(root->GetType()) ] = n;
 	}
 
-   // Oblivion has very rigid requirements about block ordering and the bhkRigidBody 
+   // Oblivion has very rigid requirements about object ordering and the bhkRigidBody 
    //   must be after its children. Hopefully this can be removed and replaced with 
    //   a more generic mechanism in the future.
 	Type *t = (Type*)&(root->GetType());
@@ -546,32 +542,6 @@ void EnumerateObjects( NiObject * root, map<Type*,unsigned int> & type_map, map<
    }
 }
 
-//void BuildUpBindPositions( const NiAVObjectRef & root ) {
-//
-//	//Get parent if there is one
-//	NiNodeRef par = root->GetParent();
-//	if ( par != NULL ) {
-//		//There is a node parent
-//
-//		//Post-multipy the block's bind matrix with the parent's bind matrix
-//		Matrix44 result = root->GetWorldBindPos() * par->GetWorldBindPos();
-//
-//		//Store result back to block bind position
-//		root->SetWorldBindPos( result );
-//	}
-//
-//	//If this is a NiNode, call this function for all child AVObjects
-//	NiNodeRef node = DynamicCast<NiNode>(root);
-//	if ( node != NULL ) {
-//		vector<NiAVObjectRef> children = node->GetChildren();
-//		for (vector<NiAVObjectRef>::iterator it = children.begin(); it != children.end(); ++it) {
-//			if ( *it != NULL ) {
-//				BuildUpBindPositions( *it );
-//			}
-//		}
-//	}
-//}
-
 //TODO: Should this be returning an object of a derived type too?
 // Searches for the first object in the hierarchy of type.
 NiObjectRef GetObjectByType( NiObject * root, const Type & type ) {
@@ -607,21 +577,7 @@ list<NiObjectRef> GetAllObjectsByType( NiObject * root, const Type & type ) {
 	return result;
 };
 
-//TODO:  Is this function used anywhere?  Does it need to be re-done?
-//list<NiObjectRef> GetNifTree( NiObjectRef const & root_block ) {
-//	list<NiObjectRef> result;
-//	result.push_back( root_block );
-//	list<NiObjectRef> links = root_block->GetRefs();
-//	for (list<NiObjectRef>::iterator it = links.begin(); it != links.end(); ++it ) {
-//		if ( it->is_null() == false && (*it)->GetParent() == root_block ) {
-//			list<NiObjectRef> childresult = GetNifTree( *it );
-//			result.merge( childresult );
-//		};
-//	};
-//	return result;
-//};
-
-// Create a valid 
+// Create a valid file name
 static std::string CreateFileName(std::string name) {
    std::string retname = name;
    std::string::size_type off = 0;
@@ -637,19 +593,19 @@ static std::string CreateFileName(std::string name) {
 }
 
 //TODO:  This was written by Amorilia.  Figure out how to fix it.
-static void SplitNifTree( NiObject * root_block, NiObject * xnif_root, list<NiObjectRef> & xkf_roots, Kfm & kfm, int kf_type, const NifInfo & info ) {
-	// Do we have animation groups (a NiTextKeyExtraData block)?
+static void SplitNifTree( NiObject * root_object, NiObject * xnif_root, list<NiObjectRef> & xkf_roots, Kfm & kfm, int kf_type, const NifInfo & info ) {
+	// Do we have animation groups (a NiTextKeyExtraData object)?
 	// If so, create XNif and XKf trees.
-	NiObjectRef txtkey = GetObjectByType( root_block, NiTextKeyExtraData::TypeConst() );
-	NiTextKeyExtraDataRef txtkey_block;
+	NiObjectRef txtkey = GetObjectByType( root_object, NiTextKeyExtraData::TypeConst() );
+	NiTextKeyExtraDataRef txtkey_obj;
 	if ( txtkey != NULL ) {
-		txtkey_block = DynamicCast<NiTextKeyExtraData>(txtkey);
+		txtkey_obj = DynamicCast<NiTextKeyExtraData>(txtkey);
 	}
-	if ( txtkey_block != NULL ) {
+	if ( txtkey_obj != NULL ) {
 		if ( kf_type == KF_MW ) {
 			// Construct the XNif file...
 
-			xnif_root = CloneNifTree( root_block, info.version, info.userVersion );
+			xnif_root = CloneNifTree( root_object, info.version, info.userVersion );
 				
 			// Now search and locate newer timeframe controllers and convert to keyframecontrollers
 			list<NiObjectRef> mgrs = GetAllObjectsByType( xnif_root, NiControllerManager::TypeConst() );
@@ -672,7 +628,7 @@ static void SplitNifTree( NiObject * root_block, NiObject * xnif_root, list<NiOb
 			NiSequenceStreamHelperRef xkf_stream_helper = new NiSequenceStreamHelper;
 			xkf_roots.push_back( StaticCast<NiObject>(xkf_stream_helper) );
 					
-			// Append NiNodes with a NiKeyFrameController as NiStringExtraData blocks.
+			// Append NiNodes with a NiKeyFrameController as NiStringExtraData objects.
 			list< pair< NiNodeRef, NiKeyframeControllerRef> > node_controllers;
 
 			list<NiObjectRef> nodes = GetAllObjectsByType( xnif_root, NiNode::TypeConst() );
@@ -740,14 +696,14 @@ static void SplitNifTree( NiObject * root_block, NiObject * xnif_root, list<NiOb
 				xkf_stream_helper->AddController( StaticCast<NiTimeController>(controller) );
 			}
 
-			// Add a copy of the NiTextKeyExtraData block to the XKf header.
-			NiTextKeyExtraDataRef xkf_txtkey_block = new NiTextKeyExtraData;
-			xkf_stream_helper->AddExtraData( StaticCast<NiExtraData>(xkf_txtkey_block), info.version );
-			xkf_txtkey_block->SetKeys( txtkey_block->GetKeys() );
+			// Add a copy of the NiTextKeyExtraData object to the XKf header.
+			NiTextKeyExtraDataRef xkf_txtkey_obj = new NiTextKeyExtraData;
+			xkf_stream_helper->AddExtraData( StaticCast<NiExtraData>(xkf_txtkey_obj), info.version );
+			xkf_txtkey_obj->SetKeys( txtkey_obj->GetKeys() );
 
 		} else if (kf_type == KF_CIV4) {
 			// Construct the Nif file without transform controllers ...
-			xnif_root = CloneNifTree( root_block, info.version, info.userVersion );
+			xnif_root = CloneNifTree( root_object, info.version, info.userVersion );
 
 			list<NiObjectRef> mgrs = GetAllObjectsByType( xnif_root, NiControllerManager::TypeConst() );
 			for ( list<NiObjectRef>::iterator it = mgrs.begin(); it != mgrs.end(); ++it) {
@@ -767,12 +723,12 @@ static void SplitNifTree( NiObject * root_block, NiObject * xnif_root, list<NiOb
 		}
 	} else {
 		// no animation groups: nothing to do
-		xnif_root = root_block;
+		xnif_root = root_object;
 	};
 }
 
 //TODO:  This was written by Amorilia.  Figure out how to fix it.
-void WriteFileGroup( string const & file_name, NiObject * root_block, const NifInfo & info, ExportOptions export_files, NifGame kf_type ) {
+void WriteFileGroup( string const & file_name, NiObject * root_object, const NifInfo & info, ExportOptions export_files, NifGame kf_type ) {
 	// Get base filename.
 	unsigned int file_name_slash = (unsigned int)(file_name.rfind("\\") + 1);
 	string file_name_path = file_name.substr(0, file_name_slash);
@@ -782,16 +738,16 @@ void WriteFileGroup( string const & file_name, NiObject * root_block, const NifI
 	
 	// Deal with the simple case first
 	if ( export_files == EXPORT_NIF )
-		WriteNifTree( file_name_path + file_name_base + ".nif", root_block, info ); // simply export the NIF file!
+		WriteNifTree( file_name_path + file_name_base + ".nif", root_object, info ); // simply export the NIF file!
 	// Now consider all other cases
 	else if ( kf_type == KF_MW ) {
 		if ( export_files == EXPORT_NIF_KF ) {
 			// for Morrowind we must also write the full NIF file
-			WriteNifTree( file_name_path + file_name_base + ".nif", root_block, info ); // simply export the NIF file!
+			WriteNifTree( file_name_path + file_name_base + ".nif", root_object, info ); // simply export the NIF file!
 			NiObjectRef xnif_root;
 			list<NiObjectRef> xkf_roots;
 			Kfm kfm; // dummy
-			SplitNifTree( root_block, xnif_root, xkf_roots, kfm, kf_type, info );
+			SplitNifTree( root_object, xnif_root, xkf_roots, kfm, kf_type, info );
 			if ( xnif_root != NULL && !xkf_roots.empty()) {
 				WriteNifTree( file_name_path + "x" + file_name_base + ".nif", xnif_root, info );
 				WriteNifTree( file_name_path + "x" + file_name_base + ".kf", xkf_roots.front(), info );
@@ -803,7 +759,7 @@ void WriteFileGroup( string const & file_name, NiObject * root_block, const NifI
       NiObjectRef xnif_root;
       list<NiObjectRef> xkf_roots;
       Kfm kfm; // dummy
-	  SplitNifTree( root_block, xnif_root, xkf_roots, kfm, kf_type, info );
+	  SplitNifTree( root_object, xnif_root, xkf_roots, kfm, kf_type, info );
       if ( export_files == EXPORT_NIF || export_files == EXPORT_NIF_KF || export_files == EXPORT_NIF_KF_MULTI ) {
          WriteNifTree( file_name_path + file_name_base + ".nif", xnif_root, info );
       }
@@ -836,31 +792,15 @@ void MapNodeNames( map<string,NiNodeRef> & name_map, NiNode * par ) {
 	};
 }
 
-void ReassignTreeCrossRefs( map<string,NiNodeRef> & name_map, NiAVObject * par ) {
-	//TODO: Decide how cross refs are going to work
-	////Reassign any cross references on this block
-	//((ABlock*)par.get_block())->ReassignCrossRefs( name_map );
-
-	//list<NiObjectRef> links = par->GetRefs();
-	//for (list <NiObjectRef>::iterator it = links.begin(); it != links.end(); ++it) {
-	//	// if the link is not null, and if the child's first parent is root_block
-	//	// (this makes sure we only check every child once, even if it is shared by multiple parents),
-	//	// then look for a match in the tree starting from the child.
-	//	if ( it->is_null() == false && (*it)->GetParent() == par ) {
-	//		ReassignTreeCrossRefs( name_map, *it );
-	//	};
-	//};
-}
-
 //This function will merge two scene graphs by attatching new objects to the correct position
 //on the existing scene graph.  In other words, it deals only with adding new nodes, not altering
 //existing nodes by changing their data or attatched properties
 void MergeSceneGraph( map<string,NiNodeRef> & name_map, NiNode * root, NiAVObject * par ) {
-	//Check if this block's name exists in the block map
+	//Check if this object's name exists in the object map
 	string name = par->GetName();
 
 	if ( name_map.find(name) != name_map.end() ) {
-		//This block already exists in the original file, so continue on to its children, if it is a NiNode
+		//This object already exists in the original file, so continue on to its children, if it is a NiNode
 		
 		NiNodeRef par_node = DynamicCast<NiNode>(par);
 		if ( par_node != NULL ) {
@@ -874,13 +814,13 @@ void MergeSceneGraph( map<string,NiNodeRef> & name_map, NiNode * root, NiAVObjec
 		return;
 	}
 
-	//This block has a new name and either it has no parent or its parent has a name that is
-	// in the list.  Attatch it to the block with the same name as its parent
-	//all child blocks will follow along.
+	//This object has a new name and either it has no parent or its parent has a name that is
+	// in the list.  Attatch it to the object with the same name as its parent
+	//all child objects will follow along.
 	NiNodeRef par_par = par->GetParent();
 
 	if ( par_par == NULL) {
-		//This block has a new name and no parents.  That means it is the root block
+		//This object has a new name and no parents.  That means it is the root object.
 		//of a disimilar Nif file.
 			
 		//Check whether we have a NiNode ( a node that might have children) or not.
@@ -897,19 +837,19 @@ void MergeSceneGraph( map<string,NiNodeRef> & name_map, NiNode * root, NiAVObjec
 			}
 		}
 	} else {
-		//This block has a new name and has a parent with a name that already exists.
-		//Attatch it to the block in the target tree that matches the name of its
+		//This object has a new name and has a parent with a name that already exists.
+		//Attatch it to the object in the target tree that matches the name of its
 		//parent
 
 		//TODO:  Implement children
-		////Remove this block from its old parent
+		////Remove this object from its old parent
 		//par_par->GetAttr("Children")->RemoveLinks( par );
 
-		//Get the block to attatch to
+		//Get the object to attatch to
 		NiObjectRef attatch = DynamicCast<NiObject>(name_map[par_par->GetName()]);
 
 		//TODO:  Implement children
-		////Add this block as new child
+		////Add this object as new child
 		//attatch->GetAttr("Children")->AddLink( par );
 	}
 }
@@ -927,9 +867,9 @@ void MergeNifTrees( NiNode * target, NiAVObject * right, unsigned version, unsig
 	map<string,NiNodeRef> name_map;
 	MapNodeNames( name_map, target );
 
-	//Reassign any cross references in the new tree to point to blocks in the
-	//target tree with the same names
-	ReassignTreeCrossRefs( name_map, new_tree );
+	////Reassign any cross references in the new tree to point to objects in the
+	////target tree with the same names
+	//ReassignTreeCrossRefs( name_map, new_tree );
 
 	//Use the name map to merge the Scene Graphs
 	MergeSceneGraph( name_map, target, new_tree );
diff --git a/src/obj/NiAVObject.cpp b/src/obj/NiAVObject.cpp
index d2ebb2da..e3150626 100644
--- a/src/obj/NiAVObject.cpp
+++ b/src/obj/NiAVObject.cpp
@@ -78,11 +78,11 @@ Ref<NiNode> NiAVObject::GetParent() const {
 	return parent;
 }
 
-void NiAVObject::AddProperty( const Ref<NiProperty> & obj ) {
+void NiAVObject::AddProperty( NiProperty * obj ) {
 	properties.push_back( obj );
 }
 
-void NiAVObject::RemoveProperty( Ref<NiProperty> obj ) {
+void NiAVObject::RemoveProperty( NiProperty * obj ) {
 	//Search property list for the one to remove
 	for ( vector< NiPropertyRef >::iterator it = properties.begin(); it != properties.end(); ) {
 		if ( *it == obj ) {
diff --git a/src/obj/NiControllerSequence.cpp b/src/obj/NiControllerSequence.cpp
index 1bc1f3c4..c0c88f0b 100644
--- a/src/obj/NiControllerSequence.cpp
+++ b/src/obj/NiControllerSequence.cpp
@@ -65,7 +65,7 @@ void NiControllerSequence::SetTextKey( NiTextKeyExtraData * txt_key ) {
 void NiControllerSequence::AddController( NiTimeController * obj ) {
 	//Make sure the link isn't null
 	if ( obj == NULL ) {
-		throw runtime_error("Attempted to add a null controller to NiControllerSequence block.");
+		throw runtime_error("Attempted to add a null controller to NiControllerSequence.");
 	}
 
 	NiObjectNETRef target = obj->GetTarget();
diff --git a/src/obj/NiDynamicEffect.cpp b/src/obj/NiDynamicEffect.cpp
index d8ba154f..89ff11ca 100644
--- a/src/obj/NiDynamicEffect.cpp
+++ b/src/obj/NiDynamicEffect.cpp
@@ -52,14 +52,6 @@ void NiDynamicEffect::SetAffectedNodes( const vector<Ref<NiAVObject > >& value )
 	affectedNodes = value;
 }
 
-vector<unsigned int> NiDynamicEffect::GetAffectedNodeListPointers() const {
-	return affectedNodeListPointers;
-}
-
-void NiDynamicEffect::SetAffectedNodeListPointers( const vector<unsigned int >& value ) {
-	affectedNodeListPointers = value;
-}
-
 const Type & NiDynamicEffect::TypeConst() {
 	return TYPE;
 }
diff --git a/src/obj/NiObject.cpp b/src/obj/NiObject.cpp
index 33ef41d5..45e3c59f 100644
--- a/src/obj/NiObject.cpp
+++ b/src/obj/NiObject.cpp
@@ -66,7 +66,7 @@ string NiObject::GetIDString() const {
 }
 
 NiObjectRef NiObject::Clone( unsigned int version, unsigned int user_version ) {
-	//Create a string stream to temporarily hold the state-save of this block
+	//Create a string stream to temporarily hold the state-save of this object
 	stringstream tmp;
 
 	//Create a new object of the same type
-- 
GitLab