diff --git a/niflib.vcproj b/niflib.vcproj index 0443027e686ba52e4800abba5e1853e331335db3..3d4b70dd10f2c233b93e648cc52ccddadd1ceb14 100644 --- a/niflib.vcproj +++ b/niflib.vcproj @@ -134,6 +134,9 @@ Name="Source Files" Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> + <File + RelativePath=".\obj\AParticleModifier.cpp"> + </File> <File RelativePath=".\NIF_IO.cpp"> </File> @@ -170,6 +173,9 @@ Name="Header Files" Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> + <File + RelativePath=".\obj\AParticleModifier.h"> + </File> <File RelativePath=".\NIF_IO.h"> </File> @@ -179,6 +185,9 @@ <File RelativePath=".\niflib.h"> </File> + <File + RelativePath=".\xml_extract.h"> + </File> <Filter Name="obj" Filter=""> diff --git a/obj/NiObject.h b/obj/NiObject.h index f3da692e56f71594c3124011d8c1e3f3212c8394..678b47ea76b120e2ae1bdcde918731f54cfd9139 100644 --- a/obj/NiObject.h +++ b/obj/NiObject.h @@ -44,6 +44,7 @@ POSSIBILITY OF SUCH DAMAGE. */ #include <vector> #include "NIF_IO.h" #include "Ref.h" +#include "xml_extract.h" using namespace std; diff --git a/obj/NiObjectNET.h b/obj/NiObjectNET.h index 75f95a2bafabfdc100186ff5b00d6a6bdb1411f0..43bf9f91eb19ee107b91d7bf8aa3756cddc7a535 100644 --- a/obj/NiObjectNET.h +++ b/obj/NiObjectNET.h @@ -4,7 +4,6 @@ All rights reserved. Please see niflib.h for licence. */ #ifndef _NIOBJECTNET_H_ #define _NIOBJECTNET_H_ -#include "xml_extract.h" #include "NiObject.h" /* diff --git a/xml_extract.h b/xml_extract.h index 3ff0db782da4595b37021e59e6f4ac37f4f1f867..8f73b46d24194b8b5f553726fb60e33eb1b7b4c5 100644 --- a/xml_extract.h +++ b/xml_extract.h @@ -46,7 +46,7 @@ #define _XML_EXTRACT_H_ #include "NIF_IO.h" -#include "obj\NiObject.h" +#include "obj\Ref.h" #include <iostream> #include <fstream> #include <vector> @@ -1275,7 +1275,7 @@ NiObject::FixLinks( objects, link_stack, version ); \ Ref<AParticleModifier > nextModifier; \ AParticleModifier * previousModifier; \ -#define A_PARTICLE_MODIFIER_PARENTS NiObject \ +#define A_PARTICLE_MODIFIER_PARENTS NiObject #define A_PARTICLE_MODIFIER_CONSTRUCT \ @@ -1289,8 +1289,8 @@ link_stack.push_back( block_num ); \ #define A_PARTICLE_MODIFIER_WRITE \ NiObject::Write( out, link_map, version ); \ -NifStream( link_map[nextModifier], out, version ); \ -NifStream( link_map[previousModifier], out, version ); \ +NifStream( link_map[StaticCast<NiObject>(nextModifier)], out, version ); \ +NifStream( link_map[StaticCast<NiObject>(previousModifier)], out, version ); \ #define A_PARTICLE_MODIFIER_STRING \ stringstream out; \ @@ -1301,9 +1301,9 @@ return out.str(); \ #define A_PARTICLE_MODIFIER_FIXLINKS \ NiObject::FixLinks( objects, link_stack, version ); \ -nextModifier = blocks[link_stack.front()]; \ +nextModifier = DynamicCast<AParticleModifier>(objects[link_stack.front()]); \ link_stack.pop_front(); \ -previousModifier = blocks[link_stack.front()]; \ +previousModifier = DynamicCast<AParticleModifier>(objects[link_stack.front()]); \ link_stack.pop_front(); \ #define A_P_SYS_MODIFIER_MEMBERS \