From: <mog...@li...> - 2009-04-21 11:29:46
|
Revision: 264 http://mogre.svn.sourceforge.net/mogre/?rev=264&view=rev Author: bekas Date: 2009-04-21 11:29:43 +0000 (Tue, 21 Apr 2009) Log Message: ----------- -Update Mogre_vc9.sln -Add patches for Ogre's source code Modified Paths: -------------- trunk/Mogre/Mogre_vc9.sln Added Paths: ----------- trunk/Mogre/Ogre Patches/ trunk/Mogre/Ogre Patches/CLRObjects.patch trunk/Mogre/Ogre Patches/Exception.patch trunk/Mogre/Ogre Patches/OgreMain_vcproj.patch Modified: trunk/Mogre/Mogre_vc9.sln =================================================================== --- trunk/Mogre/Mogre_vc9.sln 2009-04-21 04:23:36 UTC (rev 263) +++ trunk/Mogre/Mogre_vc9.sln 2009-04-21 11:29:43 UTC (rev 264) @@ -1,55 +1,8 @@ Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OgreMain", "ogre\OgreMain\scripts\OgreMain_vc9.vcproj", "{35AFBABB-DF05-43DE-91A7-BB828A874015}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mogre", "Mogre\Mogre_vc9.vcproj", "{838A5695-BEC6-48D9-B6B4-E622336D2CBD}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mogre", "Mogre\Mogre_vc9.vcproj", "{F75E973B-C1A0-43EB-8560-C43EF6D57812}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_BSPSceneManager", "ogre\PlugIns\BSPSceneManager\scripts\Plugin_BSPSceneManager_vc9.vcproj", "{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_CgProgramManager", "ogre\PlugIns\CgProgramManager\scripts\Plugin_CgProgramManager_vc9.vcproj", "{1C741C2F-3278-43D8-9FD2-E631A64B70AE}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_OctreeSceneManager", "ogre\PlugIns\OctreeSceneManager\scripts\Plugin_OctreeSceneManager_vc9.vcproj", "{A6830BB5-9993-4F6D-8D4E-930F36A1B88F}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_ParticleFX", "ogre\PlugIns\ParticleFX\scripts\Plugin_ParticleFX_vc9.vcproj", "{C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RenderSystem_Direct3D9", "ogre\RenderSystems\Direct3D9\scripts\RenderSystem_Direct3D9_vc9.vcproj", "{0F172B9C-E5D5-4EB1-BFDB-93D787A37461}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RenderSystem_GL", "ogre\RenderSystems\GL\scripts\RenderSystem_GL_vc9.vcproj", "{7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{FEE48B4D-7352-4344-BE1D-4A0FC69B031E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_PCZSceneManager", "ogre\PlugIns\PCZSceneManager\scripts\Plugin_PCZSceneManager_vc9.vcproj", "{275186DE-66DF-487D-9D99-A6445E14E162}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_OctreeZone", "ogre\PlugIns\OctreeZone\scripts\Plugin_OctreeZone_vc9.vcproj", "{1A466963-7683-46AD-A927-785917C6CEEE}" - ProjectSection(ProjectDependencies) = postProject - {35AFBABB-DF05-43DE-91A7-BB828A874015} = {35AFBABB-DF05-43DE-91A7-BB828A874015} - EndProjectSection -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -58,86 +11,14 @@ ReleaseStaticLib|Win32 = ReleaseStaticLib|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {35AFBABB-DF05-43DE-91A7-BB828A874015}.Debug|Win32.ActiveCfg = Debug|Win32 - {35AFBABB-DF05-43DE-91A7-BB828A874015}.Debug|Win32.Build.0 = Debug|Win32 - {35AFBABB-DF05-43DE-91A7-BB828A874015}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {35AFBABB-DF05-43DE-91A7-BB828A874015}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {35AFBABB-DF05-43DE-91A7-BB828A874015}.Release|Win32.ActiveCfg = Release|Win32 - {35AFBABB-DF05-43DE-91A7-BB828A874015}.Release|Win32.Build.0 = Release|Win32 - {35AFBABB-DF05-43DE-91A7-BB828A874015}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {35AFBABB-DF05-43DE-91A7-BB828A874015}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 - {F75E973B-C1A0-43EB-8560-C43EF6D57812}.Debug|Win32.ActiveCfg = Debug|Win32 - {F75E973B-C1A0-43EB-8560-C43EF6D57812}.Debug|Win32.Build.0 = Debug|Win32 - {F75E973B-C1A0-43EB-8560-C43EF6D57812}.DebugStaticLib|Win32.ActiveCfg = Debug|Win32 - {F75E973B-C1A0-43EB-8560-C43EF6D57812}.DebugStaticLib|Win32.Build.0 = Debug|Win32 - {F75E973B-C1A0-43EB-8560-C43EF6D57812}.Release|Win32.ActiveCfg = Release|Win32 - {F75E973B-C1A0-43EB-8560-C43EF6D57812}.Release|Win32.Build.0 = Release|Win32 - {F75E973B-C1A0-43EB-8560-C43EF6D57812}.ReleaseStaticLib|Win32.ActiveCfg = Release|Win32 - {F75E973B-C1A0-43EB-8560-C43EF6D57812}.ReleaseStaticLib|Win32.Build.0 = Release|Win32 - {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Debug|Win32.ActiveCfg = Debug|Win32 - {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Debug|Win32.Build.0 = Debug|Win32 - {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Release|Win32.ActiveCfg = Release|Win32 - {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Release|Win32.Build.0 = Release|Win32 - {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 - {1C741C2F-3278-43D8-9FD2-E631A64B70AE}.Debug|Win32.ActiveCfg = Debug|Win32 - {1C741C2F-3278-43D8-9FD2-E631A64B70AE}.Debug|Win32.Build.0 = Debug|Win32 - {1C741C2F-3278-43D8-9FD2-E631A64B70AE}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {1C741C2F-3278-43D8-9FD2-E631A64B70AE}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {1C741C2F-3278-43D8-9FD2-E631A64B70AE}.Release|Win32.ActiveCfg = Release|Win32 - {1C741C2F-3278-43D8-9FD2-E631A64B70AE}.Release|Win32.Build.0 = Release|Win32 - {1C741C2F-3278-43D8-9FD2-E631A64B70AE}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {1C741C2F-3278-43D8-9FD2-E631A64B70AE}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 - {A6830BB5-9993-4F6D-8D4E-930F36A1B88F}.Debug|Win32.ActiveCfg = Debug|Win32 - {A6830BB5-9993-4F6D-8D4E-930F36A1B88F}.Debug|Win32.Build.0 = Debug|Win32 - {A6830BB5-9993-4F6D-8D4E-930F36A1B88F}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {A6830BB5-9993-4F6D-8D4E-930F36A1B88F}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {A6830BB5-9993-4F6D-8D4E-930F36A1B88F}.Release|Win32.ActiveCfg = Release|Win32 - {A6830BB5-9993-4F6D-8D4E-930F36A1B88F}.Release|Win32.Build.0 = Release|Win32 - {A6830BB5-9993-4F6D-8D4E-930F36A1B88F}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {A6830BB5-9993-4F6D-8D4E-930F36A1B88F}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 - {C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}.Debug|Win32.ActiveCfg = Debug|Win32 - {C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}.Debug|Win32.Build.0 = Debug|Win32 - {C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}.Release|Win32.ActiveCfg = Release|Win32 - {C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}.Release|Win32.Build.0 = Release|Win32 - {C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {C61A6060-5F0B-4B83-A0BC-678CCDA98FF6}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 - {0F172B9C-E5D5-4EB1-BFDB-93D787A37461}.Debug|Win32.ActiveCfg = Debug|Win32 - {0F172B9C-E5D5-4EB1-BFDB-93D787A37461}.Debug|Win32.Build.0 = Debug|Win32 - {0F172B9C-E5D5-4EB1-BFDB-93D787A37461}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {0F172B9C-E5D5-4EB1-BFDB-93D787A37461}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {0F172B9C-E5D5-4EB1-BFDB-93D787A37461}.Release|Win32.ActiveCfg = Release|Win32 - {0F172B9C-E5D5-4EB1-BFDB-93D787A37461}.Release|Win32.Build.0 = Release|Win32 - {0F172B9C-E5D5-4EB1-BFDB-93D787A37461}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {0F172B9C-E5D5-4EB1-BFDB-93D787A37461}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 - {7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}.Debug|Win32.ActiveCfg = Debug|Win32 - {7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}.Debug|Win32.Build.0 = Debug|Win32 - {7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}.Release|Win32.ActiveCfg = Release|Win32 - {7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}.Release|Win32.Build.0 = Release|Win32 - {7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {7D0A20FE-40A6-4E64-AD26-5E34AE391DF4}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 - {275186DE-66DF-487D-9D99-A6445E14E162}.Debug|Win32.ActiveCfg = Debug|Win32 - {275186DE-66DF-487D-9D99-A6445E14E162}.Debug|Win32.Build.0 = Debug|Win32 - {275186DE-66DF-487D-9D99-A6445E14E162}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {275186DE-66DF-487D-9D99-A6445E14E162}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {275186DE-66DF-487D-9D99-A6445E14E162}.Release|Win32.ActiveCfg = Release|Win32 - {275186DE-66DF-487D-9D99-A6445E14E162}.Release|Win32.Build.0 = Release|Win32 - {275186DE-66DF-487D-9D99-A6445E14E162}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {275186DE-66DF-487D-9D99-A6445E14E162}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 - {1A466963-7683-46AD-A927-785917C6CEEE}.Debug|Win32.ActiveCfg = Debug|Win32 - {1A466963-7683-46AD-A927-785917C6CEEE}.Debug|Win32.Build.0 = Debug|Win32 - {1A466963-7683-46AD-A927-785917C6CEEE}.DebugStaticLib|Win32.ActiveCfg = DebugStaticLib|Win32 - {1A466963-7683-46AD-A927-785917C6CEEE}.DebugStaticLib|Win32.Build.0 = DebugStaticLib|Win32 - {1A466963-7683-46AD-A927-785917C6CEEE}.Release|Win32.ActiveCfg = Release|Win32 - {1A466963-7683-46AD-A927-785917C6CEEE}.Release|Win32.Build.0 = Release|Win32 - {1A466963-7683-46AD-A927-785917C6CEEE}.ReleaseStaticLib|Win32.ActiveCfg = ReleaseStaticLib|Win32 - {1A466963-7683-46AD-A927-785917C6CEEE}.ReleaseStaticLib|Win32.Build.0 = ReleaseStaticLib|Win32 + {838A5695-BEC6-48D9-B6B4-E622336D2CBD}.Debug|Win32.ActiveCfg = Debug|Win32 + {838A5695-BEC6-48D9-B6B4-E622336D2CBD}.Debug|Win32.Build.0 = Debug|Win32 + {838A5695-BEC6-48D9-B6B4-E622336D2CBD}.DebugStaticLib|Win32.ActiveCfg = Debug|Win32 + {838A5695-BEC6-48D9-B6B4-E622336D2CBD}.DebugStaticLib|Win32.Build.0 = Debug|Win32 + {838A5695-BEC6-48D9-B6B4-E622336D2CBD}.Release|Win32.ActiveCfg = Release|Win32 + {838A5695-BEC6-48D9-B6B4-E622336D2CBD}.Release|Win32.Build.0 = Release|Win32 + {838A5695-BEC6-48D9-B6B4-E622336D2CBD}.ReleaseStaticLib|Win32.ActiveCfg = Release|Win32 + {838A5695-BEC6-48D9-B6B4-E622336D2CBD}.ReleaseStaticLib|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Added: trunk/Mogre/Ogre Patches/CLRObjects.patch =================================================================== --- trunk/Mogre/Ogre Patches/CLRObjects.patch (rev 0) +++ trunk/Mogre/Ogre Patches/CLRObjects.patch 2009-04-21 11:29:43 UTC (rev 264) @@ -0,0 +1,2089 @@ +Index: OgreMain/include/OgreAnimable.h +=================================================================== +--- OgreMain/include/OgreAnimable.h (revision 8525) ++++ OgreMain/include/OgreAnimable.h (working copy) +@@ -62,9 +62,11 @@ + are often comprised of multiple properties it helps to be able to deal + with all values through a single class. + */ +- class _OgreExport AnimableValue : public AnimableAlloc ++ class _OgreExport AnimableValue : public AnimableAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(AnimableValue); ++ + /// The type of the value being animated + enum ValueType + { +Index: OgreMain/include/OgreAnimation.h +=================================================================== +--- OgreMain/include/OgreAnimation.h (revision 8525) ++++ OgreMain/include/OgreAnimation.h (working copy) +@@ -49,10 +49,12 @@ + You should not create these animations directly. They will be created via a parent + object which owns the animation, e.g. Skeleton. + */ +- class _OgreExport Animation : public AnimationAlloc ++ class _OgreExport Animation : public AnimationAlloc, public CLRObject + { + + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Animation); ++ + /** The types of animation interpolation available. */ + enum InterpolationMode + { +Index: OgreMain/include/OgreAnimationState.h +=================================================================== +--- OgreMain/include/OgreAnimationState.h (revision 8525) ++++ OgreMain/include/OgreAnimationState.h (working copy) +@@ -43,9 +43,10 @@ + Other classes can hold instances of this class to store the state of any animations + they are using. + */ +- class _OgreExport AnimationState : public AnimationAlloc ++ class _OgreExport AnimationState : public AnimationAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(AnimationState); + + /// typedef for an array of float values used as a bone blend mask + typedef std::vector<float> BoneBlendMask; +@@ -177,6 +178,8 @@ + class _OgreExport AnimationStateSet : public AnimationAlloc + { + public: ++ DECLARE_CLRHANDLE; ++ + /// Mutex, public for external locking if needed + OGRE_AUTO_MUTEX + /// Create a blank animation state set +Index: OgreMain/include/OgreAnimationTrack.h +=================================================================== +--- OgreMain/include/OgreAnimationTrack.h (revision 8525) ++++ OgreMain/include/OgreAnimationTrack.h (working copy) +@@ -43,6 +43,9 @@ + */ + class _OgreExport TimeIndex + { ++ public: ++ DECLARE_CLRHANDLE; ++ + protected: + /** The time position (in relation to the whole animation sequence) + */ +@@ -113,9 +116,10 @@ + It is possible to change this behaviour using + setUseShortestRotationPath() method. + */ +- class _OgreExport AnimationTrack : public AnimationAlloc ++ class _OgreExport AnimationTrack : public AnimationAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(AnimationTrack); + + /** Listener allowing you to override certain behaviour of a track, + for example to drive animation procedurally. +@@ -256,6 +260,8 @@ + class _OgreExport NumericAnimationTrack : public AnimationTrack + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(NumericAnimationTrack); ++ + /// Constructor + NumericAnimationTrack(Animation* parent, unsigned short handle); + /// Constructor, associates with an AnimableValue +@@ -317,6 +323,8 @@ + class _OgreExport NodeAnimationTrack : public AnimationTrack + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(NodeAnimationTrack); ++ + /// Constructor + NodeAnimationTrack(Animation* parent, unsigned short handle); + /// Constructor, associates with a Node +@@ -469,6 +477,8 @@ + class _OgreExport VertexAnimationTrack : public AnimationTrack + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(VertexAnimationTrack); ++ + /** The target animation mode */ + enum TargetMode + { +Index: OgreMain/include/OgreArchive.h +=================================================================== +--- OgreMain/include/OgreArchive.h (revision 8525) ++++ OgreMain/include/OgreArchive.h (working copy) +@@ -78,8 +78,11 @@ + to benefit from OGRE's automatic searching of multiple file locations + for the resources you are looking for. + */ +- class _OgreExport Archive : public ArchiveAlloc ++ class _OgreExport Archive : public ArchiveAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Archive); ++ + protected: + /// Archive name + String mName; +Index: OgreMain/include/OgreBillboard.h +=================================================================== +--- OgreMain/include/OgreBillboard.h (revision 8525) ++++ OgreMain/include/OgreBillboard.h (working copy) +@@ -60,6 +60,9 @@ + + class _OgreExport Billboard : public FXAlloc + { ++ public: ++ DECLARE_CLRHANDLE; ++ + friend class BillboardSet; + friend class BillboardParticleRenderer; + protected: +Index: OgreMain/include/OgreBillboardChain.h +=================================================================== +--- OgreMain/include/OgreBillboardChain.h (revision 8525) ++++ OgreMain/include/OgreBillboardChain.h (working copy) +@@ -71,6 +71,7 @@ + { + + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BillboardChain); + + /** Contains the data of an element of the BillboardChain. + */ +@@ -327,6 +328,9 @@ + /** Factory object for creating BillboardChain instances */ + class _OgreExport BillboardChainFactory : public MovableObjectFactory + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BillboardChainFactory); ++ + protected: + MovableObject* createInstanceImpl( const String& name, const NameValuePairList* params); + public: +Index: OgreMain/include/OgreBillboardParticleRenderer.h +=================================================================== +--- OgreMain/include/OgreBillboardParticleRenderer.h (revision 8525) ++++ OgreMain/include/OgreBillboardParticleRenderer.h (working copy) +@@ -44,6 +44,9 @@ + */ + class _OgreExport BillboardParticleRenderer : public ParticleSystemRenderer + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BillboardParticleRenderer); ++ + protected: + /// The billboard set that's doing the rendering + BillboardSet* mBillboardSet; +Index: OgreMain/include/OgreBillboardSet.h +=================================================================== +--- OgreMain/include/OgreBillboardSet.h (revision 8525) ++++ OgreMain/include/OgreBillboardSet.h (working copy) +@@ -102,6 +102,9 @@ + */ + class _OgreExport BillboardSet : public MovableObject, public Renderable + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BillboardSet); ++ + protected: + /** Private constructor (instances cannot be created directly). + */ +@@ -821,6 +824,9 @@ + /** Factory object for creating BillboardSet instances */ + class _OgreExport BillboardSetFactory : public MovableObjectFactory + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BillboardSetFactory); ++ + protected: + MovableObject* createInstanceImpl( const String& name, const NameValuePairList* params); + public: +Index: OgreMain/include/OgreBone.h +=================================================================== +--- OgreMain/include/OgreBone.h (revision 8525) ++++ OgreMain/include/OgreBone.h (working copy) +@@ -45,6 +45,8 @@ + class _OgreExport Bone : public Node + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Bone); ++ + /** Constructor, not to be used directly (use Bone::createChild or Skeleton::createBone) */ + Bone(unsigned short handle, Skeleton* creator); + /** Constructor, not to be used directly (use Bone::createChild or Skeleton::createBone) */ +Index: OgreMain/include/OgreBorderPanelOverlayElement.h +=================================================================== +--- OgreMain/include/OgreBorderPanelOverlayElement.h (revision 8525) ++++ OgreMain/include/OgreBorderPanelOverlayElement.h (working copy) +@@ -51,6 +51,9 @@ + */ + class _OgreExport BorderPanelOverlayElement : public PanelOverlayElement + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BorderPanelOverlayElement); ++ + friend class BorderRenderable; + public: + /** Constructor */ +@@ -312,8 +315,11 @@ + We need this because we have to render twice, once with the inner panel's repeating + material (handled by superclass) and once for the border's separate material. + */ +- class _OgreExport BorderRenderable : public Renderable, public OverlayAlloc ++ class _OgreExport BorderRenderable : public Renderable, public OverlayAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BorderRenderable); ++ + protected: + BorderPanelOverlayElement* mParent; + public: +Index: OgreMain/include/OgreCamera.h +=================================================================== +--- OgreMain/include/OgreCamera.h (revision 8525) ++++ OgreMain/include/OgreCamera.h (working copy) +@@ -80,6 +80,9 @@ + */ + class _OgreExport Camera : public Frustum + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Camera); ++ + protected: + /// Camera name + String mName; +Index: OgreMain/include/OgreCodec.h +=================================================================== +--- OgreMain/include/OgreCodec.h (revision 8525) ++++ OgreMain/include/OgreCodec.h (working copy) +@@ -46,8 +46,11 @@ + The codec concept is a pretty generic one - you can easily understand + how it can be used for images, sounds, archives, even compressed data. + */ +- class _OgreExport Codec : public CodecAlloc ++ class _OgreExport Codec : public CodecAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Codec); ++ + protected: + typedef std::map< String, Codec* > CodecList; + /** A map that contains all the registered codecs. +@@ -55,9 +58,11 @@ + static CodecList ms_mapCodecs; + + public: +- class _OgrePrivate CodecData : public CodecAlloc ++ class _OgrePrivate CodecData : public CodecAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Codec_CodecData); ++ + virtual ~CodecData() {}; + + /** Returns the type of the data. +Index: OgreMain/include/OgreCompositionPass.h +=================================================================== +--- OgreMain/include/OgreCompositionPass.h (revision 8525) ++++ OgreMain/include/OgreCompositionPass.h (working copy) +@@ -41,6 +41,8 @@ + class _OgreExport CompositionPass : public CompositorInstAlloc + { + public: ++ DECLARE_CLRHANDLE; ++ + CompositionPass(CompositionTargetPass *parent); + ~CompositionPass(); + +@@ -203,6 +205,8 @@ + /// Inputs (for material used for rendering the quad) + struct InputTex + { ++ DECLARE_CLRHANDLE; ++ + /// Name (local) of the input texture (empty == no input) + String name; + /// MRT surface index if applicable +Index: OgreMain/include/OgreCompositionTargetPass.h +=================================================================== +--- OgreMain/include/OgreCompositionTargetPass.h (revision 8525) ++++ OgreMain/include/OgreCompositionTargetPass.h (working copy) +@@ -39,6 +39,8 @@ + class _OgreExport CompositionTargetPass : public CompositorInstAlloc + { + public: ++ DECLARE_CLRHANDLE; ++ + CompositionTargetPass(CompositionTechnique *parent); + ~CompositionTargetPass(); + +Index: OgreMain/include/OgreCompositionTechnique.h +=================================================================== +--- OgreMain/include/OgreCompositionTechnique.h (revision 8525) ++++ OgreMain/include/OgreCompositionTechnique.h (working copy) +@@ -36,9 +36,11 @@ + namespace Ogre { + /** Base composition technique, can be subclassed in plugins. + */ +- class _OgreExport CompositionTechnique : public CompositorInstAlloc ++ class _OgreExport CompositionTechnique : public CompositorInstAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(CompositionTechnique); ++ + CompositionTechnique(Compositor *parent); + virtual ~CompositionTechnique(); + +Index: OgreMain/include/OgreCompositor.h +=================================================================== +--- OgreMain/include/OgreCompositor.h (revision 8525) ++++ OgreMain/include/OgreCompositor.h (working copy) +@@ -43,6 +43,8 @@ + class _OgreExport Compositor: public Resource + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Compositor); ++ + Compositor(ResourceManager* creator, const String& name, ResourceHandle handle, + const String& group, bool isManual = false, ManualResourceLoader* loader = 0); + ~Compositor(); +Index: OgreMain/include/OgreCompositorChain.h +=================================================================== +--- OgreMain/include/OgreCompositorChain.h (revision 8525) ++++ OgreMain/include/OgreCompositorChain.h (working copy) +@@ -38,9 +38,11 @@ + + /** Chain of compositor effects applying to one viewport. + */ +- class _OgreExport CompositorChain: public RenderTargetListener, public CompositorInstAlloc ++ class _OgreExport CompositorChain: public RenderTargetListener, public CompositorInstAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(CompositorChain); ++ + CompositorChain(Viewport *vp); + /** Another gcc warning here, which is no problem because RenderTargetListener is never used + to delete an object. +Index: OgreMain/include/OgreCompositorInstance.h +=================================================================== +--- OgreMain/include/OgreCompositorInstance.h (revision 8525) ++++ OgreMain/include/OgreCompositorInstance.h (working copy) +@@ -39,9 +39,11 @@ + /** An instance of a Compositor object for one Viewport. It is part of the CompositorChain + for a Viewport. + */ +- class _OgreExport CompositorInstance : public CompositorInstAlloc ++ class _OgreExport CompositorInstance : public CompositorInstAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(CompositorInstance); ++ + CompositorInstance(Compositor *filter, CompositionTechnique *technique, CompositorChain *chain); + virtual ~CompositorInstance(); + /** Provides an interface to "listen in" to to render system operations executed by this +Index: OgreMain/include/OgreEdgeListBuilder.h +=================================================================== +--- OgreMain/include/OgreEdgeListBuilder.h (revision 8525) ++++ OgreMain/include/OgreEdgeListBuilder.h (working copy) +@@ -46,6 +46,8 @@ + class _OgreExport EdgeData : public EdgeDataAlloc + { + public: ++ DECLARE_CLRHANDLE; ++ + /** Basic triangle structure. */ + struct Triangle { + /** The set of indexes this triangle came from (NB it is possible that the triangles on +Index: OgreMain/include/OgreEntity.h +=================================================================== +--- OgreMain/include/OgreEntity.h (revision 8525) ++++ OgreMain/include/OgreEntity.h (working copy) +@@ -74,6 +74,9 @@ + */ + class _OgreExport Entity: public MovableObject, public Resource::Listener + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Entity); ++ + // Allow EntityFactory full access + friend class EntityFactory; + friend class SubEntity; +@@ -757,6 +760,9 @@ + /** Factory object for creating Entity instances */ + class _OgreExport EntityFactory : public MovableObjectFactory + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(EntityFactory); ++ + protected: + MovableObject* createInstanceImpl( const String& name, const NameValuePairList* params); + public: +Index: OgreMain/include/OgreExternalTextureSource.h +=================================================================== +--- OgreMain/include/OgreExternalTextureSource.h (revision 8525) ++++ OgreMain/include/OgreExternalTextureSource.h (working copy) +@@ -65,9 +65,11 @@ + before calling create defined texture... or it will fail, though, it + is up to the plugin to report errors to the log file, or raise an + exception if need be. */ +- class _OgreExport ExternalTextureSource : public StringInterface ++ class _OgreExport ExternalTextureSource : public StringInterface, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ExternalTextureSource); ++ + /** Constructor */ + ExternalTextureSource(); + /** Virtual destructor */ +Index: OgreMain/include/OgreFileSystem.h +=================================================================== +--- OgreMain/include/OgreFileSystem.h (revision 8525) ++++ OgreMain/include/OgreFileSystem.h (working copy) +@@ -41,6 +41,9 @@ + */ + class _OgreExport FileSystemArchive : public Archive + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(FileSystemArchive); ++ + protected: + /** Utility method to retrieve all files in a directory matching pattern. + @param pattern File pattern +Index: OgreMain/include/OgreFont.h +=================================================================== +--- OgreMain/include/OgreFont.h (revision 8525) ++++ OgreMain/include/OgreFont.h (working copy) +@@ -59,6 +59,9 @@ + */ + class _OgreExport Font : public Resource, public ManualResourceLoader + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Font); ++ + protected: + /// Command object for Font - see ParamCommand + class _OgreExport CmdType : public ParamCommand +Index: OgreMain/include/OgreFrustum.h +=================================================================== +--- OgreMain/include/OgreFrustum.h (revision 8525) ++++ OgreMain/include/OgreFrustum.h (working copy) +@@ -64,6 +64,9 @@ + */ + class _OgreExport Frustum : public MovableObject, public Renderable + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Frustum); ++ + protected: + /// Orthographic or perspective? + ProjectionType mProjType; +Index: OgreMain/include/OgreGpuProgram.h +=================================================================== +--- OgreMain/include/OgreGpuProgram.h (revision 8525) ++++ OgreMain/include/OgreGpuProgram.h (working copy) +@@ -268,6 +268,8 @@ + class _OgreExport GpuProgramParameters : public GpuParamsAlloc + { + public: ++ DECLARE_CLRHANDLE; ++ + /** Defines the types of automatically updated values that may be bound to GpuProgram + parameters, or used to modify parameters on a per-object basis. + */ +@@ -1406,6 +1408,9 @@ + */ + class _OgreExport GpuProgram : public Resource + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(GpuProgram); ++ + protected: + /// Command object - see ParamCommand + class _OgreExport CmdType : public ParamCommand +Index: OgreMain/include/OgreHardwareBuffer.h +=================================================================== +--- OgreMain/include/OgreHardwareBuffer.h (revision 8525) ++++ OgreMain/include/OgreHardwareBuffer.h (working copy) +@@ -65,10 +65,12 @@ + You should look for the 'useShadowBuffer' parameter on the creation methods used to create + the buffer of the type you require (see HardwareBufferManager) to enable this feature. + */ +- class _OgreExport HardwareBuffer : public BufferAlloc ++ class _OgreExport HardwareBuffer : public BufferAlloc, public CLRObject + { + + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(HardwareBuffer); ++ + /// Enums describing buffer usage; not mutually exclusive + enum Usage + { +Index: OgreMain/include/OgreHardwareIndexBuffer.h +=================================================================== +--- OgreMain/include/OgreHardwareIndexBuffer.h (revision 8525) ++++ OgreMain/include/OgreHardwareIndexBuffer.h (working copy) +@@ -40,6 +40,8 @@ + class _OgreExport HardwareIndexBuffer : public HardwareBuffer + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(HardwareIndexBuffer); ++ + enum IndexType { + IT_16BIT, + IT_32BIT +Index: OgreMain/include/OgreHardwareOcclusionQuery.h +=================================================================== +--- OgreMain/include/OgreHardwareOcclusionQuery.h (revision 8525) ++++ OgreMain/include/OgreHardwareOcclusionQuery.h (working copy) +@@ -43,12 +43,14 @@ + * @author Lee Sandberg + * Updated on 13/8/2005 by Tuan Kuranes email: tua...@fr... + */ +- class _OgreExport HardwareOcclusionQuery : public RenderSysAlloc ++ class _OgreExport HardwareOcclusionQuery : public RenderSysAlloc, public CLRObject + { + //---------------------------------------------------------------------- + // Public methods + //-- + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(HardwareOcclusionQuery); ++ + /** + * Object public member functions + */ +Index: OgreMain/include/OgreHardwarePixelBuffer.h +=================================================================== +--- OgreMain/include/OgreHardwarePixelBuffer.h (revision 8525) ++++ OgreMain/include/OgreHardwarePixelBuffer.h (working copy) +@@ -46,6 +46,9 @@ + */ + class _OgreExport HardwarePixelBuffer : public HardwareBuffer + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(HardwarePixelBuffer); ++ + protected: + // Extents + size_t mWidth, mHeight, mDepth; +Index: OgreMain/include/OgreHardwareVertexBuffer.h +=================================================================== +--- OgreMain/include/OgreHardwareVertexBuffer.h (revision 8525) ++++ OgreMain/include/OgreHardwareVertexBuffer.h (working copy) +@@ -39,6 +39,9 @@ + /** Specialisation of HardwareBuffer for a vertex buffer. */ + class _OgreExport HardwareVertexBuffer : public HardwareBuffer + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(HardwareVertexBuffer); ++ + protected: + + size_t mNumVertices; +@@ -288,9 +291,11 @@ + Like the other classes in this functional area, these declarations should be created and + destroyed using the HardwareBufferManager. + */ +- class _OgreExport VertexDeclaration : public VertexDataAlloc ++ class _OgreExport VertexDeclaration : public VertexDataAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(VertexDeclaration); ++ + /// Defines the list of vertex elements that makes up this declaration + typedef std::list<VertexElement> VertexElementList; + /// Sort routine for vertex elements +@@ -463,9 +468,11 @@ + Like the other classes in this functional area, these binding maps should be created and + destroyed using the HardwareBufferManager. + */ +- class _OgreExport VertexBufferBinding : public VertexDataAlloc ++ class _OgreExport VertexBufferBinding : public VertexDataAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(VertexBufferBinding); ++ + /// Defines the vertex buffer bindings used as source for vertex declarations + typedef std::map<unsigned short, HardwareVertexBufferSharedPtr> VertexBufferBindingMap; + protected: +Index: OgreMain/include/OgreHighLevelGpuProgram.h +=================================================================== +--- OgreMain/include/OgreHighLevelGpuProgram.h (revision 8525) ++++ OgreMain/include/OgreHighLevelGpuProgram.h (working copy) +@@ -57,6 +57,9 @@ + */ + class _OgreExport HighLevelGpuProgram : public GpuProgram + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(HighLevelGpuProgram); ++ + protected: + /// Whether the high-level program (and it's parameter defs) is loaded + bool mHighLevelLoaded; +Index: OgreMain/include/OgreImage.h +=================================================================== +--- OgreMain/include/OgreImage.h (revision 8525) ++++ OgreMain/include/OgreImage.h (working copy) +@@ -56,6 +56,8 @@ + class _OgreExport Image : public ImageAlloc + { + public: ++ DECLARE_CLRHANDLE; ++ + typedef Ogre::Box Box; + typedef Ogre::Rect Rect; + public: +Index: OgreMain/include/OgreImageCodec.h +=================================================================== +--- OgreMain/include/OgreImageCodec.h (revision 8525) ++++ OgreMain/include/OgreImageCodec.h (working copy) +@@ -42,12 +42,16 @@ + class _OgreExport ImageCodec : public Codec + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ImageCodec); ++ + virtual ~ImageCodec(); + /** Codec return class for images. Has information about the size and the + pixel format of the image. */ + class _OgrePrivate ImageData : public Codec::CodecData + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ImageCodec_ImageData); ++ + ImageData(): + height(0), width(0), depth(1), size(0), + num_mipmaps(0), flags(0), format(PF_UNKNOWN) +Index: OgreMain/include/OgreInstancedGeometry.h +=================================================================== +--- OgreMain/include/OgreInstancedGeometry.h (revision 8525) ++++ OgreMain/include/OgreInstancedGeometry.h (working copy) +@@ -95,9 +95,11 @@ + @note + Warning: this class only works with indexed triangle lists at the moment, do not pass it triangle strips, fans or lines / points, or unindexed geometry. + */ +- class _OgreExport InstancedGeometry : public BatchedGeometryAlloc ++ class _OgreExport InstancedGeometry : public BatchedGeometryAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(InstancedGeometry); ++ + /** Struct holding geometry optimised per SubMesh / lod level, ready + for copying to instances. + @remarks +@@ -246,6 +248,9 @@ + }; + class _OgreExport InstancedObject : public BatchedGeometryAlloc + { ++ public: ++ DECLARE_CLRHANDLE; ++ + friend class GeometryBucket; + public: + enum TransformSpace +Index: OgreMain/include/OgreKeyFrame.h +=================================================================== +--- OgreMain/include/OgreKeyFrame.h (revision 8525) ++++ OgreMain/include/OgreKeyFrame.h (working copy) +@@ -47,9 +47,10 @@ + animation sequence, with the exact state of the animation being an + interpolation between these key frames. + */ +- class _OgreExport KeyFrame : public AnimationAlloc ++ class _OgreExport KeyFrame : public AnimationAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(KeyFrame); + + /** Default constructor, you should not call this but use AnimationTrack::createKeyFrame instead. */ + KeyFrame(const AnimationTrack* parent, Real time); +@@ -74,6 +75,8 @@ + class _OgreExport NumericKeyFrame : public KeyFrame + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(NumericKeyFrame); ++ + /** Default constructor, you should not call this but use AnimationTrack::createKeyFrame instead. */ + NumericKeyFrame(const AnimationTrack* parent, Real time); + ~NumericKeyFrame() {} +@@ -97,6 +100,8 @@ + class _OgreExport TransformKeyFrame : public KeyFrame + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(TransformKeyFrame); ++ + /** Default constructor, you should not call this but use AnimationTrack::createKeyFrame instead. */ + TransformKeyFrame(const AnimationTrack* parent, Real time); + ~TransformKeyFrame() {} +@@ -148,6 +153,8 @@ + class _OgreExport VertexMorphKeyFrame : public KeyFrame + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(VertexMorphKeyFrame); ++ + /** Default constructor, you should not call this but use AnimationTrack::createKeyFrame instead. */ + VertexMorphKeyFrame(const AnimationTrack* parent, Real time); + ~VertexMorphKeyFrame() {} +@@ -178,6 +185,8 @@ + class _OgreExport VertexPoseKeyFrame : public KeyFrame + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(VertexPoseKeyFrame); ++ + /** Default constructor, you should not call this but use AnimationTrack::createKeyFrame instead. */ + VertexPoseKeyFrame(const AnimationTrack* parent, Real time); + ~VertexPoseKeyFrame() {} +Index: OgreMain/include/OgreLight.h +=================================================================== +--- OgreMain/include/OgreLight.h (revision 8525) ++++ OgreMain/include/OgreLight.h (working copy) +@@ -67,6 +67,8 @@ + class _OgreExport Light : public MovableObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Light); ++ + /// Temp tag used for sorting + Real tempSquareDist; + /// internal method for calculating current squared distance from some world position +@@ -468,6 +470,9 @@ + /** Factory object for creating Light instances */ + class _OgreExport LightFactory : public MovableObjectFactory + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(LightFactory); ++ + protected: + MovableObject* createInstanceImpl( const String& name, const NameValuePairList* params); + public: +Index: OgreMain/include/OgreLog.h +=================================================================== +--- OgreMain/include/OgreLog.h (revision 8525) ++++ OgreMain/include/OgreLog.h (working copy) +@@ -86,6 +86,9 @@ + */ + class _OgreExport Log : public LogAlloc + { ++ public: ++ DECLARE_CLRHANDLE; ++ + protected: + std::ofstream mfpLog; + LoggingLevel mLogLevel; +@@ -177,6 +180,9 @@ + */ + class Stream + { ++ public: ++ DECLARE_CLRHANDLE; ++ + protected: + Log* mTarget; + LogMessageLevel mLevel; +Index: OgreMain/include/OgreManualObject.h +=================================================================== +--- OgreMain/include/OgreManualObject.h (revision 8525) ++++ OgreMain/include/OgreManualObject.h (working copy) +@@ -101,6 +101,8 @@ + class _OgreExport ManualObject : public MovableObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ManualObject); ++ + ManualObject(const String& name); + virtual ~ManualObject(); + +@@ -377,8 +379,11 @@ + + + /// Built, renderable section of geometry +- class _OgreExport ManualObjectSection : public Renderable, public MovableAlloc ++ class _OgreExport ManualObjectSection : public Renderable, public MovableAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ManualObject_ManualObjectSection); ++ + protected: + ManualObject* mParent; + String mMaterialName; +@@ -421,6 +426,9 @@ + /** Nested class to allow shadows. */ + class _OgreExport ManualObjectSectionShadowRenderable : public ShadowRenderable + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ManualObject_ManualObjectSectionShadowRenderable); ++ + protected: + ManualObject* mParent; + // Shared link to position buffer +@@ -521,6 +529,9 @@ + /** Factory object for creating ManualObject instances */ + class _OgreExport ManualObjectFactory : public MovableObjectFactory + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ManualObjectFactory); ++ + protected: + MovableObject* createInstanceImpl( const String& name, const NameValuePairList* params); + public: +Index: OgreMain/include/OgreMaterial.h +=================================================================== +--- OgreMain/include/OgreMaterial.h (revision 8525) ++++ OgreMain/include/OgreMaterial.h (working copy) +@@ -82,6 +82,9 @@ + */ + class _OgreExport Material : public Resource + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Material); ++ + friend class SceneManager; + friend class MaterialManager; + +Index: OgreMain/include/OgreMesh.h +=================================================================== +--- OgreMain/include/OgreMesh.h (revision 8525) ++++ OgreMain/include/OgreMesh.h (working copy) +@@ -85,6 +85,9 @@ + + class _OgreExport Mesh: public Resource + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Mesh); ++ + friend class SubMesh; + friend class MeshSerializerImpl; + friend class MeshSerializerImpl_v1_2; +Index: OgreMain/include/OgreMeshSerializer.h +=================================================================== +--- OgreMain/include/OgreMeshSerializer.h (revision 8525) ++++ OgreMain/include/OgreMeshSerializer.h (working copy) +@@ -64,6 +64,8 @@ + class _OgreExport MeshSerializer : public Serializer + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(MeshSerializer); ++ + MeshSerializer(); + virtual ~MeshSerializer(); + +Index: OgreMain/include/OgreMovableObject.h +=================================================================== +--- OgreMain/include/OgreMovableObject.h (revision 8525) ++++ OgreMain/include/OgreMovableObject.h (working copy) +@@ -54,6 +54,8 @@ + class _OgreExport MovableObject : public ShadowCaster, public AnimableObject, public MovableAlloc + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(MovableObject); ++ + /** Listener which gets called back on MovableObject events. + */ + class _OgreExport Listener +@@ -507,8 +509,11 @@ + to allow all clients to produce new instances of this object, integrated + with the standard Ogre processing. + */ +- class _OgreExport MovableObjectFactory : public MovableAlloc ++ class _OgreExport MovableObjectFactory : public MovableAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(MovableObjectFactory); ++ + protected: + /// Type flag, allocated if requested + unsigned long mTypeFlag; +Index: OgreMain/include/OgreMovablePlane.h +=================================================================== +--- OgreMain/include/OgreMovablePlane.h (revision 8525) ++++ OgreMain/include/OgreMovablePlane.h (working copy) +@@ -52,6 +52,9 @@ + */ + class _OgreExport MovablePlane : public Plane, public MovableObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(MovablePlane); ++ + protected: + mutable Plane mDerivedPlane; + mutable Vector3 mLastTranslate; +Index: OgreMain/include/OgreNode.h +=================================================================== +--- OgreMain/include/OgreNode.h (revision 8525) ++++ OgreMain/include/OgreNode.h (working copy) +@@ -51,9 +51,11 @@ + This is an abstract class - concrete classes are based on this for specific purposes, + e.g. SceneNode, Bone + */ +- class _OgreExport Node : public Renderable, public NodeAlloc ++ class _OgreExport Node : public Renderable, public NodeAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Node); ++ + /** Enumeration denoting the spaces which a transform can be relative to. + */ + enum TransformSpace +Index: OgreMain/include/OgreOverlay.h +=================================================================== +--- OgreMain/include/OgreOverlay.h (revision 8525) ++++ OgreMain/include/OgreOverlay.h (working copy) +@@ -62,10 +62,12 @@ + don't want the overlay displayed in the smaller viewports. You turn this off for + a specific viewport by calling the Viewport::setDisplayOverlays method. + */ +- class _OgreExport Overlay : public OverlayAlloc ++ class _OgreExport Overlay : public OverlayAlloc, public CLRObject + { + + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(Overlay); ++ + typedef std::list<OverlayContainer*> OverlayContainerList; + protected: + String mName; +Index: OgreMain/include/OgreOverlayContainer.h +=================================================================== +--- OgreMain/include/OgreOverlayContainer.h (revision 8525) ++++ OgreMain/include/OgreOverlayContainer.h (working copy) +@@ -51,6 +51,8 @@ + class _OgreExport OverlayContainer : public OverlayElement + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(OverlayContainer); ++ + typedef std::map<String, OverlayElement*> ChildMap; + typedef MapIterator<ChildMap> ChildIterator; + typedef std::map<String, OverlayContainer*> ChildContainerMap; +Index: OgreMain/include/OgreOverlayElement.h +=================================================================== +--- OgreMain/include/OgreOverlayElement.h (revision 8525) ++++ OgreMain/include/OgreOverlayElement.h (working copy) +@@ -101,9 +101,10 @@ + Because this class is designed to be extensible, it subclasses from StringInterface + so its parameters can be set in a generic way. + */ +- class _OgreExport OverlayElement : public StringInterface, public Renderable, public OverlayAlloc ++ class _OgreExport OverlayElement : public StringInterface, public Renderable, public OverlayAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(OverlayElement); + + protected: + // Command object for setting / getting parameters +Index: OgreMain/include/OgreOverlayElementFactory.h +=================================================================== +--- OgreMain/include/OgreOverlayElementFactory.h (revision 8525) ++++ OgreMain/include/OgreOverlayElementFactory.h (working copy) +@@ -49,9 +49,11 @@ + Each OverlayElementFactory creates a single type of OverlayElement, + identified by a 'type name' which must be unique. + */ +- class _OgreExport OverlayElementFactory : public OverlayAlloc ++ class _OgreExport OverlayElementFactory : public OverlayAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(OverlayElementFactory); ++ + /** Destroy the overlay element factory */ + virtual ~OverlayElementFactory () {} + /** Creates a new OverlayElement instance with the name supplied. */ +@@ -67,6 +69,8 @@ + class _OgreExport PanelOverlayElementFactory: public OverlayElementFactory + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(PanelOverlayElementFactory); ++ + /** See OverlayElementFactory */ + OverlayElement* createOverlayElement(const String& instanceName) + { +@@ -84,6 +88,8 @@ + class _OgreExport BorderPanelOverlayElementFactory: public OverlayElementFactory + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(BorderPanelOverlayElementFactory); ++ + /** See OverlayElementFactory */ + OverlayElement* createOverlayElement(const String& instanceName) + { +@@ -101,6 +107,8 @@ + class _OgreExport TextAreaOverlayElementFactory: public OverlayElementFactory + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(TextAreaOverlayElementFactory); ++ + /** See OverlayElementFactory */ + OverlayElement* createOverlayElement(const String& instanceName) + { +Index: OgreMain/include/OgrePanelOverlayElement.h +=================================================================== +--- OgreMain/include/OgrePanelOverlayElement.h (revision 8525) ++++ OgreMain/include/OgrePanelOverlayElement.h (working copy) +@@ -53,6 +53,8 @@ + class _OgreExport PanelOverlayElement : public OverlayContainer + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(PanelOverlayElement); ++ + /** Constructor. */ + PanelOverlayElement(const String& name); + virtual ~PanelOverlayElement(); +Index: OgreMain/include/OgreParticle.h +=================================================================== +--- OgreMain/include/OgreParticle.h (revision 8525) ++++ OgreMain/include/OgreParticle.h (working copy) +@@ -54,6 +54,9 @@ + /** Class representing a single particle instance. */ + class _OgreExport Particle : public FXAlloc + { ++ public: ++ DECLARE_CLRHANDLE; ++ + protected: + /// Parent ParticleSystem + ParticleSystem* mParentSystem; +Index: OgreMain/include/OgreParticleAffector.h +=================================================================== +--- OgreMain/include/OgreParticleAffector.h (revision 8525) ++++ OgreMain/include/OgreParticleAffector.h (working copy) +@@ -55,8 +55,11 @@ + with literally infinite combinations of affector and affector types, and parameters within those + types. + */ +- class _OgreExport ParticleAffector : public StringInterface, public FXAlloc ++ class _OgreExport ParticleAffector : public StringInterface, public FXAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ParticleAffector); ++ + protected: + /// Name of the type of affector, MUST be initialised by subclasses + String mType; +Index: OgreMain/include/OgreParticleAffectorFactory.h +=================================================================== +--- OgreMain/include/OgreParticleAffectorFactory.h (revision 8525) ++++ OgreMain/include/OgreParticleAffectorFactory.h (working copy) +@@ -46,8 +46,11 @@ + a name which identifies them, examples might be 'force_vector', 'attractor', or 'fader', and these can be + also be used from particle system scripts. + */ +- class _OgreExport ParticleAffectorFactory : public FXAlloc ++ class _OgreExport ParticleAffectorFactory : public FXAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ParticleAffectorFactory); ++ + protected: + std::vector<ParticleAffector*> mAffectors; + public: +Index: OgreMain/include/OgreParticleEmitter.h +=================================================================== +--- OgreMain/include/OgreParticleEmitter.h (revision 8525) ++++ OgreMain/include/OgreParticleEmitter.h (working copy) +@@ -63,8 +63,11 @@ + with literally infinite combinations of emitter and affector types, and paramters within those + types. + */ +- class _OgreExport ParticleEmitter : public StringInterface, public Particle ++ class _OgreExport ParticleEmitter : public StringInterface, public Particle, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ParticleEmitter); ++ + protected: + + // Command object for setting / getting parameters +Index: OgreMain/include/OgreParticleEmitterFactory.h +=================================================================== +--- OgreMain/include/OgreParticleEmitterFactory.h (revision 8525) ++++ OgreMain/include/OgreParticleEmitterFactory.h (working copy) +@@ -47,8 +47,11 @@ + a name which identifies them, examples might be 'point', 'cone', or 'box', and these can be + also be used from particle system scripts. + */ +- class _OgreExport ParticleEmitterFactory : public FXAlloc ++ class _OgreExport ParticleEmitterFactory : public FXAlloc, public CLRObject + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ParticleEmitterFactory); ++ + protected: + std::vector<ParticleEmitter*> mEmitters; + public: +Index: OgreMain/include/OgreParticleSystem.h +=================================================================== +--- OgreMain/include/OgreParticleSystem.h (revision 8525) ++++ OgreMain/include/OgreParticleSystem.h (working copy) +@@ -60,6 +60,7 @@ + class _OgreExport ParticleSystem : public StringInterface, public MovableObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ParticleSystem); + + /** Command object for quota (see ParamCommand).*/ + class _OgrePrivate CmdQuota : public ParamCommand +Index: OgreMain/include/OgreParticleSystemManager.h +=================================================================== +--- OgreMain/include/OgreParticleSystemManager.h (revision 8525) ++++ OgreMain/include/OgreParticleSystemManager.h (working copy) +@@ -371,6 +371,9 @@ + /** Factory object for creating ParticleSystem instances */ + class _OgreExport ParticleSystemFactory : public MovableObjectFactory + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ParticleSystemFactory); ++ + protected: + MovableObject* createInstanceImpl(const String& name, const NameValuePairList* params); + public: +Index: OgreMain/include/OgreParticleSystemRenderer.h +=================================================================== +--- OgreMain/include/OgreParticleSystemRenderer.h (revision 8525) ++++ OgreMain/include/OgreParticleSystemRenderer.h (working copy) +@@ -41,9 +41,11 @@ + /** Abstract class defining the interface required to be implemented + by classes which provide rendering capability to ParticleSystem instances. + */ +- class _OgreExport ParticleSystemRenderer : public StringInterface, public FXAlloc ++ class _OgreExport ParticleSystemRenderer : public StringInterface, public FXAlloc, public CLRObject + { + public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(ParticleSystemRenderer); ++ + /// Constructor + ParticleSystemRenderer() {} + /// Destructor +Index: OgreMain/include/OgrePass.h +=================================================================== +--- OgreMain/include/OgrePass.h (revision 8525) ++++ OgreMain/include/OgrePass.h (working copy) +@@ -74,6 +74,8 @@ + class _OgreExport Pass : public PassAlloc + { + public: ++ DECLARE_CLRHANDLE; ++ + /** Definition of a functor for calculating the hashcode of a Pass. + @remarks + The hashcode of a Pass is used to sort Passes for rendering, in order +Index: OgreMain/include/OgrePatchMesh.h +=================================================================== +--- OgreMain/include/OgrePatchMesh.h (revision 8525) ++++ OgreMain/include/OgrePatchMesh.h (working copy) +@@ -41,6 +41,9 @@ + */ + class _OgreExport PatchMesh : public Mesh + { ++ public: ++ DECLARE_INIT_CLROBJECT_METHOD_OVERRIDE(PatchMesh); ++ + protected: + /// Internal surface definition + PatchSurface mSurface; +Index: OgreMain/include/OgrePatchSurface.h +=================================================================== +--- OgreMain/include/OgrePatchSurface.h (revision 8525) ++++ OgreMain/include/OgrePatchSurface.h (working copy) +@@ -47,6 +47,8 @@ + class _OgreExport PatchSurface : public PatchAlloc + { + public: ++ DECLARE_CLRHANDLE; ++ + PatchSurface(); + ~PatchSurface(); + +Index: OgreMain/include/OgrePlaneBoundedVolume.h +=================================================================== +--- OgreMain/include/OgrePlaneBoundedVolume.h (revision 8525) ++++ OgreMain/include/OgrePlaneBoundedVolume.h (working copy) +@@ -43,6 +43,8 @@ + class _OgreExport PlaneBoundedVolume + { + public: ++ DECLARE_CLRHANDLE; ++ + typedef std::vector<Plane> PlaneList; + /// Publicly accessible plane list, you can modify this direct + PlaneList planes; +Index: OgreMain/include/OgrePose.h +=================================================================== +--- OgreMain/include/OgrePose.h (revision 8525) ++++ OgreMain/include/OgrePose.h (working copy) +@@ -46,9 +46,11 @@ + Pose instances can be referred to by keyframes in VertexAnimationTrack in + order to animate based on blen... [truncated message content] |