diff --git a/HGamer3D-Ogre-Binding.cabal b/HGamer3D-Ogre-Binding.cabal
--- a/HGamer3D-Ogre-Binding.cabal
+++ b/HGamer3D-Ogre-Binding.cabal
@@ -1,5 +1,5 @@
 Name:                HGamer3D-Ogre-Binding
-Version:             0.3.2
+Version:             0.3.3
 Synopsis:            Ogre Binding for HGamer3D
 Description:         
    HGamer3D is a game engine for developing 3D games in the programming 
@@ -18,12 +18,12 @@
 Cabal-Version:       >=1.4
 Homepage:            http://www.hgamer3d.org
 Category:            Game Engine, Graphics
-Extra-source-files:  Setup.hs, include/EnumAnimationRotationInterpolationMode.h, include/ClassTimeIndex.h, include/EnumSceneManagerIlluminationRenderStage.h, include/ClassSkeleton.h, include/ClassArchive.h, include/StructHG3DClass.h, include/EnumRenderTargetFrameBuffer.h, include/ClassBillboardSet.h, include/EnumSkeletonAnimationBlendMode.h, include/StructDegrees.h, include/EnumSceneType.h, include/HG3DUtilities.h, include/EnumAxisAlignedBoxCorner.h, include/ClassBillboardSetFactory.h, include/ClassBillboardChainFactory.h, include/EnumOrientationMode.h, include/ClassManualObject.h, include/ClassVertexAnimationTrack.h, include/EnumRootFrameEventTimeType.h, include/EnumRenderOperationOperationType.h, include/ClassManualObjectSection.h, include/StructColour.h, include/ClassResourceGroupManager.h, include/ClassNumericAnimationTrack.h, include/StructVec3.h, include/ClassException.h, include/StructVec2.h, include/ClassTextureManager.h, include/ClassBillboardChain.h, include/EnumSceneManagerPrefabType.h, include/ClassMaterialManager.h, include/EnumSceneManagerSpecialCaseRenderQueueMode.h, include/ClassLight.h, include/ClassAnimationState.h, include/ClassMovableObject.h, include/ClassBone.h, include/ClassAnimation.h, include/ClassRenderTarget.h, include/ClassRenderTexture.h, include/EnumTexCoordCalcMethod.h, include/StructSharedPtr.h, include/ClassRenderSystem.h, include/EnumDataStreamAccessMode.h, include/EnumAnimationInterpolationMode.h, include/ClassMesh.h, include/ClassSceneManager.h, include/EnumGpuProgramType.h, include/ClassRenderable.h, include/ClassNode.h, include/ClassMultiRenderTarget.h, include/EnumLogMessageLevel.h, include/ClassEntityFactory.h, include/ClassAnimationStateSet.h, include/EnumNodeTransformSpace.h, include/ClassSceneManagerFactory.h, include/EnumBillboardRotationType.h, include/EnumProjectionType.h, include/ClassArchiveManager.h, include/EnumMathAngleUnit.h, include/ClassSkeletonManager.h, include/EnumFrustumPlane.h, include/EnumVertexAnimationType.h, include/EnumLoggingLevel.h, include/EnumStencilOperation.h, include/ClassSceneNode.h, include/ClassControllerManager.h, include/ClassManualObjectFactory.h, include/ClassResource.h, include/OgreDllDefines.h, include/ClassLightFactory.h, include/ClassBillboard.h, include/ClassResourceManager.h, include/EnumBillboardOrigin.h, include/StructQuaternion.h, include/ClassFrustum.h, include/ClassNodeAnimationTrack.h, include/EnumBillboardChainTexCoordDirection.h, include/EnumSceneManagerBoxPlane.h, include/ClassEntity.h, include/EnumAxisAlignedBoxExtent.h, include/ClassWindowEventUtilities.h, include/ClassConfigFile.h, include/EnumEntityVertexDataBindChoice.h, include/EnumRenderTargetStatFlags.h, include/EnumBillboardType.h, include/ClassLogManager.h, include/ClassPtr.h, include/StructRadians.h, include/EnumVertexAnimationTrackTargetMode.h, include/ClassCamera.h, include/ClassHG3DUtilities.h, include/ClassRoot.h, include/ClassMovableObjectFactory.h, include/EnumExceptionCode.h, include/ClassViewport.h, include/ClassAnimationTrack.h, include/ClassRenderWindow.h, include/EnumMeshManagerMeshBuildType.h, include/ClassMaterial.h, include/ClassLog.h, include/EnumLightType.h, include/ClassMeshManager.h
+Extra-source-files:  Setup.hs, include/EnumFrustumPlane.h, include/colorvalue_struct.h, include/StructHG3DClass.h, include/EnumBillboardOrigin.h, include/EnumProjectionType.h, include/ClassTimeIndex.h, include/hg3dstruct.h, include/EnumSkeletonAnimationBlendMode.h, include/StructVec3.h, include/EnumStencilOperation.h, include/ClassEntityFactory.h, include/EnumRenderTargetFrameBuffer.h, include/WindowUtilsHG3D.h, include/vector4_struct.h, include/ClassMaterial.h, include/ClassAnimationTrack.h, include/ClassNode.h, include/ClassMultiRenderTarget.h, include/ClassAnimation.h, include/ClassResourceManager.h, include/ClassEntity.h, include/ClassNumericAnimationTrack.h, include/ClassNodeAnimationTrack.h, include/ClassLogManager.h, include/radian_struct.h, include/EnumMeshManagerMeshBuildType.h, include/EnumGpuProgramType.h, include/ClassSceneNode.h, include/ClassMeshManager.h, include/EnumSceneManagerBoxPlane.h, include/EnumTexCoordCalcMethod.h, include/ClassManualObjectFactory.h, include/EnumSceneType.h, include/ClassMesh.h, include/ClassLog.h, include/ClassManualObject.h, include/vector2_struct.h, include/EnumRootFrameEventTimeType.h, include/ClassControllerManager.h, include/EnumEntityVertexDataBindChoice.h, include/EnumLogMessageLevel.h, include/EnumAnimationInterpolationMode.h, include/EnumBillboardChainTexCoordDirection.h, include/StructRadians.h, include/StructVec2.h, include/ClassManualObjectSection.h, include/EnumExceptionCode.h, include/sharedptr_struct.h, include/EnumRenderTargetStatFlags.h, include/EnumSceneManagerIlluminationRenderStage.h, include/ClassBillboard.h, include/EnumNodeTransformSpace.h, include/ClassBillboardSetFactory.h, include/ClassBillboardChain.h, include/ClassAnimationStateSet.h, include/ClassFrustum.h, include/ClassHG3DUtilities.h, include/ClassViewport.h, include/ClassBone.h, include/ClassBillboardSet.h, include/ClassArchiveManager.h, include/ClassPtr.h, include/ClassRenderSystem.h, include/ClassVertexAnimationTrack.h, include/ClassRoot.h, include/EnumAxisAlignedBoxExtent.h, include/ClassMovableObjectFactory.h, include/EnumLightType.h, include/EnumRenderOperationOperationType.h, include/ClassResourceGroupManager.h, include/EnumBillboardRotationType.h, include/ClassMovableObject.h, include/ClassRenderWindow.h, include/StructColour.h, include/quaternion_struct.h, include/EnumVertexAnimationType.h, include/ClassLightFactory.h, include/EnumLoggingLevel.h, include/ClassSceneManager.h, include/EnumAxisAlignedBoxCorner.h, include/StructQuaternion.h, include/ClassMaterialManager.h, include/ClassAnimationState.h, include/ClassCamera.h, include/ClassArchive.h, include/ClassSkeleton.h, include/vector3_struct.h, include/EnumDataStreamAccessMode.h, include/ClassConfigFile.h, include/StructDegrees.h, include/ClassRenderTarget.h, include/ClassLight.h, include/ClassSceneManagerFactory.h, include/EnumOrientationMode.h, include/ClassResource.h, include/OgreDllDefines.h, include/EnumBillboardType.h, include/ClassWindowEventUtilities.h, include/StructSharedPtr.h, include/ClassRenderTexture.h, include/ClassTextureManager.h, include/ClassException.h, include/ClassBillboardChainFactory.h, include/EnumAnimationRotationInterpolationMode.h, include/EnumMathAngleUnit.h, include/ClassRenderable.h, include/degree_struct.h, include/EnumSceneManagerSpecialCaseRenderQueueMode.h, include/EnumSceneManagerPrefabType.h, include/HG3DUtilities.h, include/ClassSkeletonManager.h, include/EnumVertexAnimationTrackTargetMode.h
 
 Library
   Build-Depends:     base >= 3 && < 5, transformers>=0.3.0,mtl, HGamer3D-Data >= 0.3.0
 
-  Exposed-modules:   HGamer3D.Bindings.Ogre.Utils, HGamer3D.Bindings.Ogre.StructHG3DClass, HGamer3D.Bindings.Ogre.ClassPtr, HGamer3D.Bindings.Ogre.EnumSceneType, HGamer3D.Bindings.Ogre.EnumProjectionType, HGamer3D.Bindings.Ogre.EnumEntityVertexDataBindChoice, HGamer3D.Bindings.Ogre.EnumSceneManagerPrefabType, HGamer3D.Bindings.Ogre.EnumAxisAlignedBoxCorner, HGamer3D.Bindings.Ogre.EnumMeshManagerMeshBuildType, HGamer3D.Bindings.Ogre.EnumAnimationInterpolationMode, HGamer3D.Bindings.Ogre.EnumSceneManagerBoxPlane, HGamer3D.Bindings.Ogre.EnumLogMessageLevel, HGamer3D.Bindings.Ogre.EnumAxisAlignedBoxExtent, HGamer3D.Bindings.Ogre.EnumSceneManagerIlluminationRenderStage, HGamer3D.Bindings.Ogre.EnumGpuProgramType, HGamer3D.Bindings.Ogre.EnumVertexAnimationType, HGamer3D.Bindings.Ogre.EnumBillboardType, HGamer3D.Bindings.Ogre.EnumStencilOperation, HGamer3D.Bindings.Ogre.EnumRenderTargetFrameBuffer, HGamer3D.Bindings.Ogre.EnumMathAngleUnit, HGamer3D.Bindings.Ogre.EnumLoggingLevel, HGamer3D.Bindings.Ogre.EnumSceneManagerSpecialCaseRenderQueueMode, HGamer3D.Bindings.Ogre.EnumSkeletonAnimationBlendMode, HGamer3D.Bindings.Ogre.EnumRootFrameEventTimeType, HGamer3D.Bindings.Ogre.EnumBillboardRotationType, HGamer3D.Bindings.Ogre.EnumAnimationRotationInterpolationMode, HGamer3D.Bindings.Ogre.EnumDataStreamAccessMode, HGamer3D.Bindings.Ogre.EnumRenderOperationOperationType, HGamer3D.Bindings.Ogre.EnumRenderTargetStatFlags, HGamer3D.Bindings.Ogre.EnumVertexAnimationTrackTargetMode, HGamer3D.Bindings.Ogre.EnumNodeTransformSpace, HGamer3D.Bindings.Ogre.EnumFrustumPlane, HGamer3D.Bindings.Ogre.EnumBillboardChainTexCoordDirection, HGamer3D.Bindings.Ogre.EnumTexCoordCalcMethod, HGamer3D.Bindings.Ogre.EnumBillboardOrigin, HGamer3D.Bindings.Ogre.EnumOrientationMode, HGamer3D.Bindings.Ogre.EnumExceptionCode, HGamer3D.Bindings.Ogre.EnumLightType, HGamer3D.Bindings.Ogre.StructVec2, HGamer3D.Bindings.Ogre.StructRadians, HGamer3D.Bindings.Ogre.StructDegrees, HGamer3D.Bindings.Ogre.StructSharedPtr, HGamer3D.Bindings.Ogre.StructVec3, HGamer3D.Bindings.Ogre.StructColour, HGamer3D.Bindings.Ogre.StructQuaternion, HGamer3D.Bindings.Ogre.ClassSceneManager, HGamer3D.Bindings.Ogre.ClassTimeIndex, HGamer3D.Bindings.Ogre.ClassMaterial, HGamer3D.Bindings.Ogre.ClassSkeleton, HGamer3D.Bindings.Ogre.ClassBillboard, HGamer3D.Bindings.Ogre.ClassMaterialManager, HGamer3D.Bindings.Ogre.ClassAnimationTrack, HGamer3D.Bindings.Ogre.ClassControllerManager, HGamer3D.Bindings.Ogre.ClassSkeletonManager, HGamer3D.Bindings.Ogre.ClassLog, HGamer3D.Bindings.Ogre.ClassArchive, HGamer3D.Bindings.Ogre.ClassBillboardChain, HGamer3D.Bindings.Ogre.ClassCamera, HGamer3D.Bindings.Ogre.ClassMultiRenderTarget, HGamer3D.Bindings.Ogre.ClassResourceGroupManager, HGamer3D.Bindings.Ogre.ClassNumericAnimationTrack, HGamer3D.Bindings.Ogre.ClassBone, HGamer3D.Bindings.Ogre.ClassViewport, HGamer3D.Bindings.Ogre.ClassSceneManagerFactory, HGamer3D.Bindings.Ogre.ClassResource, HGamer3D.Bindings.Ogre.ClassRenderTexture, HGamer3D.Bindings.Ogre.ClassLightFactory, HGamer3D.Bindings.Ogre.ClassRenderable, HGamer3D.Bindings.Ogre.ClassEntity, HGamer3D.Bindings.Ogre.ClassWindowEventUtilities, HGamer3D.Bindings.Ogre.ClassAnimationState, HGamer3D.Bindings.Ogre.ClassRenderSystem, HGamer3D.Bindings.Ogre.ClassRenderWindow, HGamer3D.Bindings.Ogre.ClassAnimationStateSet, HGamer3D.Bindings.Ogre.ClassSceneNode, HGamer3D.Bindings.Ogre.ClassResourceManager, HGamer3D.Bindings.Ogre.ClassMovableObject, HGamer3D.Bindings.Ogre.ClassConfigFile, HGamer3D.Bindings.Ogre.ClassTextureManager, HGamer3D.Bindings.Ogre.ClassRoot, HGamer3D.Bindings.Ogre.ClassManualObjectSection, HGamer3D.Bindings.Ogre.ClassRenderTarget, HGamer3D.Bindings.Ogre.ClassAnimation, HGamer3D.Bindings.Ogre.ClassVertexAnimationTrack, HGamer3D.Bindings.Ogre.ClassHG3DUtilities, HGamer3D.Bindings.Ogre.ClassLight, HGamer3D.Bindings.Ogre.ClassBillboardSetFactory, HGamer3D.Bindings.Ogre.ClassEntityFactory, HGamer3D.Bindings.Ogre.ClassBillboardChainFactory, HGamer3D.Bindings.Ogre.ClassException, HGamer3D.Bindings.Ogre.ClassArchiveManager, HGamer3D.Bindings.Ogre.ClassManualObjectFactory, HGamer3D.Bindings.Ogre.ClassManualObject, HGamer3D.Bindings.Ogre.ClassMesh, HGamer3D.Bindings.Ogre.ClassNodeAnimationTrack, HGamer3D.Bindings.Ogre.ClassBillboardSet, HGamer3D.Bindings.Ogre.ClassMeshManager, HGamer3D.Bindings.Ogre.ClassFrustum, HGamer3D.Bindings.Ogre.ClassMovableObjectFactory, HGamer3D.Bindings.Ogre.ClassNode, HGamer3D.Bindings.Ogre.ClassLogManager
+  Exposed-modules:   HGamer3D.Bindings.Ogre.Utils, HGamer3D.Bindings.Ogre.StructHG3DClass, HGamer3D.Bindings.Ogre.ClassPtr, HGamer3D.Bindings.Ogre.EnumRootFrameEventTimeType, HGamer3D.Bindings.Ogre.EnumLoggingLevel, HGamer3D.Bindings.Ogre.EnumRenderTargetFrameBuffer, HGamer3D.Bindings.Ogre.EnumMathAngleUnit, HGamer3D.Bindings.Ogre.EnumSceneType, HGamer3D.Bindings.Ogre.EnumAnimationRotationInterpolationMode, HGamer3D.Bindings.Ogre.EnumSceneManagerSpecialCaseRenderQueueMode, HGamer3D.Bindings.Ogre.EnumTexCoordCalcMethod, HGamer3D.Bindings.Ogre.EnumNodeTransformSpace, HGamer3D.Bindings.Ogre.EnumLightType, HGamer3D.Bindings.Ogre.EnumBillboardOrigin, HGamer3D.Bindings.Ogre.EnumRenderOperationOperationType, HGamer3D.Bindings.Ogre.EnumBillboardRotationType, HGamer3D.Bindings.Ogre.EnumVertexAnimationTrackTargetMode, HGamer3D.Bindings.Ogre.EnumSceneManagerBoxPlane, HGamer3D.Bindings.Ogre.EnumSkeletonAnimationBlendMode, HGamer3D.Bindings.Ogre.EnumBillboardChainTexCoordDirection, HGamer3D.Bindings.Ogre.EnumFrustumPlane, HGamer3D.Bindings.Ogre.EnumDataStreamAccessMode, HGamer3D.Bindings.Ogre.EnumStencilOperation, HGamer3D.Bindings.Ogre.EnumProjectionType, HGamer3D.Bindings.Ogre.EnumSceneManagerPrefabType, HGamer3D.Bindings.Ogre.EnumBillboardType, HGamer3D.Bindings.Ogre.EnumLogMessageLevel, HGamer3D.Bindings.Ogre.EnumEntityVertexDataBindChoice, HGamer3D.Bindings.Ogre.EnumAxisAlignedBoxExtent, HGamer3D.Bindings.Ogre.EnumAxisAlignedBoxCorner, HGamer3D.Bindings.Ogre.EnumGpuProgramType, HGamer3D.Bindings.Ogre.EnumRenderTargetStatFlags, HGamer3D.Bindings.Ogre.EnumExceptionCode, HGamer3D.Bindings.Ogre.EnumMeshManagerMeshBuildType, HGamer3D.Bindings.Ogre.EnumSceneManagerIlluminationRenderStage, HGamer3D.Bindings.Ogre.EnumOrientationMode, HGamer3D.Bindings.Ogre.EnumVertexAnimationType, HGamer3D.Bindings.Ogre.EnumAnimationInterpolationMode, HGamer3D.Bindings.Ogre.StructVec3, HGamer3D.Bindings.Ogre.StructQuaternion, HGamer3D.Bindings.Ogre.StructDegrees, HGamer3D.Bindings.Ogre.StructColour, HGamer3D.Bindings.Ogre.StructRadians, HGamer3D.Bindings.Ogre.StructVec2, HGamer3D.Bindings.Ogre.StructSharedPtr, HGamer3D.Bindings.Ogre.ClassHG3DUtilities, HGamer3D.Bindings.Ogre.ClassBone, HGamer3D.Bindings.Ogre.ClassMesh, HGamer3D.Bindings.Ogre.ClassLightFactory, HGamer3D.Bindings.Ogre.ClassResourceGroupManager, HGamer3D.Bindings.Ogre.ClassConfigFile, HGamer3D.Bindings.Ogre.ClassMaterial, HGamer3D.Bindings.Ogre.ClassBillboardChain, HGamer3D.Bindings.Ogre.ClassEntityFactory, HGamer3D.Bindings.Ogre.ClassWindowEventUtilities, HGamer3D.Bindings.Ogre.ClassTextureManager, HGamer3D.Bindings.Ogre.ClassNode, HGamer3D.Bindings.Ogre.ClassSceneNode, HGamer3D.Bindings.Ogre.ClassMultiRenderTarget, HGamer3D.Bindings.Ogre.ClassLight, HGamer3D.Bindings.Ogre.ClassViewport, HGamer3D.Bindings.Ogre.ClassManualObjectFactory, HGamer3D.Bindings.Ogre.ClassMovableObjectFactory, HGamer3D.Bindings.Ogre.ClassLogManager, HGamer3D.Bindings.Ogre.ClassVertexAnimationTrack, HGamer3D.Bindings.Ogre.ClassSceneManager, HGamer3D.Bindings.Ogre.ClassEntity, HGamer3D.Bindings.Ogre.ClassSkeleton, HGamer3D.Bindings.Ogre.ClassResourceManager, HGamer3D.Bindings.Ogre.ClassManualObject, HGamer3D.Bindings.Ogre.ClassBillboardSet, HGamer3D.Bindings.Ogre.ClassArchiveManager, HGamer3D.Bindings.Ogre.ClassTimeIndex, HGamer3D.Bindings.Ogre.ClassAnimation, HGamer3D.Bindings.Ogre.ClassBillboardChainFactory, HGamer3D.Bindings.Ogre.ClassAnimationTrack, HGamer3D.Bindings.Ogre.ClassRenderTexture, HGamer3D.Bindings.Ogre.ClassAnimationStateSet, HGamer3D.Bindings.Ogre.ClassNodeAnimationTrack, HGamer3D.Bindings.Ogre.ClassException, HGamer3D.Bindings.Ogre.ClassBillboardSetFactory, HGamer3D.Bindings.Ogre.ClassRoot, HGamer3D.Bindings.Ogre.ClassManualObjectSection, HGamer3D.Bindings.Ogre.ClassArchive, HGamer3D.Bindings.Ogre.ClassFrustum, HGamer3D.Bindings.Ogre.ClassNumericAnimationTrack, HGamer3D.Bindings.Ogre.ClassMaterialManager, HGamer3D.Bindings.Ogre.ClassSceneManagerFactory, HGamer3D.Bindings.Ogre.ClassControllerManager, HGamer3D.Bindings.Ogre.ClassMovableObject, HGamer3D.Bindings.Ogre.ClassAnimationState, HGamer3D.Bindings.Ogre.ClassBillboard, HGamer3D.Bindings.Ogre.ClassRenderWindow, HGamer3D.Bindings.Ogre.ClassResource, HGamer3D.Bindings.Ogre.ClassLog, HGamer3D.Bindings.Ogre.ClassCamera, HGamer3D.Bindings.Ogre.ClassRenderable, HGamer3D.Bindings.Ogre.ClassMeshManager, HGamer3D.Bindings.Ogre.ClassRenderSystem, HGamer3D.Bindings.Ogre.ClassSkeletonManager, HGamer3D.Bindings.Ogre.ClassRenderTarget
   Other-modules:     
 
   ghc-options:       
@@ -33,6 +33,6 @@
   Build-tools:       
   build-depends:     
   if os(windows)
-     extra-libraries:   hg3dogre032
+     extra-libraries:   hg3dogre033
   else
-     extra-libraries:   hg3dogre032,OgreMain,OgrePaging,OgreProperty,OgreRTShaderSystem,OgreTerrain
+     extra-libraries:   hg3dogre033,OgreMain,OgrePaging,OgreProperty,OgreRTShaderSystem,OgreTerrain
diff --git a/HGamer3D/Bindings/Ogre/ClassAnimationStateSet.chs b/HGamer3D/Bindings/Ogre/ClassAnimationStateSet.chs
--- a/HGamer3D/Bindings/Ogre/ClassAnimationStateSet.chs
+++ b/HGamer3D/Bindings/Ogre/ClassAnimationStateSet.chs
@@ -81,6 +81,11 @@
 { withHG3DClass* `HG3DClass' ,
  withHG3DClass* `HG3DClass' } -> `()'  #}
 
+{- function getDirtyFrameNumber -}
+{#fun ogre_ass_getDirtyFrameNumber as getDirtyFrameNumber 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
 {- function hasEnabledAnimationState -}
 {#fun ogre_ass_hasEnabledAnimationState as hasEnabledAnimationState 
 { withHG3DClass* `HG3DClass' ,
diff --git a/HGamer3D/Bindings/Ogre/ClassRoot.chs b/HGamer3D/Bindings/Ogre/ClassRoot.chs
--- a/HGamer3D/Bindings/Ogre/ClassRoot.chs
+++ b/HGamer3D/Bindings/Ogre/ClassRoot.chs
@@ -247,6 +247,11 @@
 { withHG3DClass* `HG3DClass' ,
  withCString* `String' } -> `()'  #}
 
+{- function getNextFrameNumber -}
+{#fun ogre_rt_getNextFrameNumber as getNextFrameNumber 
+{ withHG3DClass* `HG3DClass' ,
+ alloca- `Int' peekIntConv*} -> `()'  #}
+
 {- function destroyRenderQueueInvocationSequence -}
 {#fun ogre_rt_destroyRenderQueueInvocationSequence as destroyRenderQueueInvocationSequence 
 { withHG3DClass* `HG3DClass' ,
diff --git a/include/ClassAnimation.h b/include/ClassAnimation.h
--- a/include/ClassAnimation.h
+++ b/include/ClassAnimation.h
@@ -67,7 +67,7 @@
 void ogre_anm_getNodeTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_anm_hasNodeTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, int * result_c);
+void ogre_anm_hasNodeTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, long * result_c);
 
 // 
 void ogre_anm_getNumNumericTracks(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);
@@ -76,7 +76,7 @@
 void ogre_anm_getNumericTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_anm_hasNumericTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, int * result_c);
+void ogre_anm_hasNumericTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, long * result_c);
 
 // 
 void ogre_anm_getNumVertexTracks(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);
@@ -85,7 +85,7 @@
 void ogre_anm_getVertexTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_anm_hasVertexTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, int * result_c);
+void ogre_anm_hasVertexTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, long * result_c);
 
 // 
 void ogre_anm_destroyNodeTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c);
@@ -118,7 +118,7 @@
 void ogre_anm_apply2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * skeleton_c, float timePos_c, float weight_c, float scale_c);
 
 // 
-void ogre_anm_apply4(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * entity_c, float timePos_c, float weight_c, int software_c, int hardware_c);
+void ogre_anm_apply4(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * entity_c, float timePos_c, float weight_c, long software_c, long hardware_c);
 
 // 
 void ogre_anm_setInterpolationMode(struct hg3dclass_struct * thisclass_c, enum EnumAnimationInterpolationMode im_c);
@@ -133,16 +133,16 @@
 void ogre_anm_getRotationInterpolationMode(struct hg3dclass_struct * thisclass_c, enum EnumAnimationRotationInterpolationMode * result_c);
 
 // 
-void ogre_anm_optimise(struct hg3dclass_struct * thisclass_c, int discardIdentityNodeTracks_c);
+void ogre_anm_optimise(struct hg3dclass_struct * thisclass_c, long discardIdentityNodeTracks_c);
 
 // 
 void ogre_anm_clone(struct hg3dclass_struct * thisclass_c, char * newName_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_anm_setUseBaseKeyFrame(struct hg3dclass_struct * thisclass_c, int useBaseKeyFrame_c, float keyframeTime_c, char * baseAnimName_c);
+void ogre_anm_setUseBaseKeyFrame(struct hg3dclass_struct * thisclass_c, long useBaseKeyFrame_c, float keyframeTime_c, char * baseAnimName_c);
 
 // 
-void ogre_anm_getUseBaseKeyFrame(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_anm_getUseBaseKeyFrame(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_anm_getBaseKeyFrameTime(struct hg3dclass_struct * thisclass_c, float * result_c);
diff --git a/include/ClassAnimationState.h b/include/ClassAnimationState.h
--- a/include/ClassAnimationState.h
+++ b/include/ClassAnimationState.h
@@ -29,7 +29,7 @@
 
 
 // 
-void ogre_anms_construct(char * animName_c, struct hg3dclass_struct * parent_c, float timePos_c, float length_c, float weight_c, int enabled_c, struct hg3dclass_struct * result_c);
+void ogre_anms_construct(char * animName_c, struct hg3dclass_struct * parent_c, float timePos_c, float length_c, float weight_c, long enabled_c, struct hg3dclass_struct * result_c);
 
 // 
 void ogre_anms_destruct(struct hg3dclass_struct * thisclass_c);
@@ -59,19 +59,19 @@
 void ogre_anms_addTime(struct hg3dclass_struct * thisclass_c, float offset_c);
 
 // Returns true if the animation has reached the end and is not looping. 
-void ogre_anms_hasEnded(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_anms_hasEnded(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // Returns true if this animation is currently enabled. 
-void ogre_anms_getEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_anms_getEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // Sets whether this animation is enabled. 
-void ogre_anms_setEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_anms_setEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // 
-void ogre_anms_setLoop(struct hg3dclass_struct * thisclass_c, int loop_c);
+void ogre_anms_setLoop(struct hg3dclass_struct * thisclass_c, long loop_c);
 
 // Gets whether or not this animation loops. 
-void ogre_anms_getLoop(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_anms_getLoop(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_anms_copyStateFrom(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * animState_c);
@@ -80,18 +80,18 @@
 void ogre_anms_getParent(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
 
 // Create a new blend mask with the given number of entries. 
-void ogre_anms_createBlendMask(struct hg3dclass_struct * thisclass_c, int blendMaskSizeHint_c, float initialWeight_c);
+void ogre_anms_createBlendMask(struct hg3dclass_struct * thisclass_c, long blendMaskSizeHint_c, float initialWeight_c);
 
 // Destroy the currently set blend mask. 
 void ogre_anms_destroyBlendMask(struct hg3dclass_struct * thisclass_c);
 
 // Return whether there is currently a valid blend mask set. 
-void ogre_anms_hasBlendMask(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_anms_hasBlendMask(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // Set the weight for the bone identified by the given handle. 
-void ogre_anms_setBlendMaskEntry(struct hg3dclass_struct * thisclass_c, int boneHandle_c, float weight_c);
+void ogre_anms_setBlendMaskEntry(struct hg3dclass_struct * thisclass_c, long boneHandle_c, float weight_c);
 
 // Get the weight for the bone identified by the given handle. 
-void ogre_anms_getBlendMaskEntry(struct hg3dclass_struct * thisclass_c, int boneHandle_c, float * result_c);
+void ogre_anms_getBlendMaskEntry(struct hg3dclass_struct * thisclass_c, long boneHandle_c, float * result_c);
 
 #endif 
diff --git a/include/ClassAnimationStateSet.h b/include/ClassAnimationStateSet.h
--- a/include/ClassAnimationStateSet.h
+++ b/include/ClassAnimationStateSet.h
@@ -32,13 +32,13 @@
 void ogre_ass_destruct(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_ass_createAnimationState(struct hg3dclass_struct * thisclass_c, char * animName_c, float timePos_c, float length_c, float weight_c, int enabled_c, struct hg3dclass_struct * result_c);
+void ogre_ass_createAnimationState(struct hg3dclass_struct * thisclass_c, char * animName_c, float timePos_c, float length_c, float weight_c, long enabled_c, struct hg3dclass_struct * result_c);
 
 // Get an animation state by the name of the animation. 
 void ogre_ass_getAnimationState(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
 
 // Tests if state for the named animation is present. 
-void ogre_ass_hasAnimationState(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_ass_hasAnimationState(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // Remove animation state with the given name. 
 void ogre_ass_removeAnimationState(struct hg3dclass_struct * thisclass_c, char * name_c);
@@ -49,7 +49,10 @@
 // Copy the state of any matching animation states from this to another. 
 void ogre_ass_copyMatchingState(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * target_c);
 
+// Get the latest animation state been altered frame number. 
+void ogre_ass_getDirtyFrameNumber(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
+
 // Tests if exists enabled animation state in this set. 
-void ogre_ass_hasEnabledAnimationState(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_ass_hasEnabledAnimationState(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 #endif 
diff --git a/include/ClassAnimationTrack.h b/include/ClassAnimationTrack.h
--- a/include/ClassAnimationTrack.h
+++ b/include/ClassAnimationTrack.h
@@ -48,7 +48,7 @@
 void ogre_at_apply(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * timeIndex_c, float weight_c, float scale_c);
 
 // 
-void ogre_at_hasNonZeroKeyFrames(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_at_hasNonZeroKeyFrames(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_at_optimise(struct hg3dclass_struct * thisclass_c);
diff --git a/include/ClassArchive.h b/include/ClassArchive.h
--- a/include/ClassArchive.h
+++ b/include/ClassArchive.h
@@ -34,7 +34,7 @@
 void ogre_arch_getName(struct hg3dclass_struct * thisclass_c, char * result_c);
 
 // Returns whether this archive is case sensitive in the way it matches files. 
-void ogre_arch_isCaseSensitive(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_arch_isCaseSensitive(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_arch_load(struct hg3dclass_struct * thisclass_c);
@@ -43,13 +43,13 @@
 void ogre_arch_unload(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_arch_isReadOnly(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_arch_isReadOnly(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_arch_remove(struct hg3dclass_struct * thisclass_c, char * filename_c);
 
 // 
-void ogre_arch_exists(struct hg3dclass_struct * thisclass_c, char * filename_c, int * result_c);
+void ogre_arch_exists(struct hg3dclass_struct * thisclass_c, char * filename_c, long * result_c);
 
 // Return the type code of this Archive
 void ogre_arch_getType(struct hg3dclass_struct * thisclass_c, char * result_c);
diff --git a/include/ClassBillboard.h b/include/ClassBillboard.h
--- a/include/ClassBillboard.h
+++ b/include/ClassBillboard.h
@@ -64,7 +64,7 @@
 void ogre_bbd_getColour(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * result_c);
 
 // 
-void ogre_bbd_hasOwnDimensions(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_bbd_hasOwnDimensions(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_bbd_getOwnWidth(struct hg3dclass_struct * thisclass_c, float * result_c);
@@ -73,7 +73,7 @@
 void ogre_bbd_getOwnHeight(struct hg3dclass_struct * thisclass_c, float * result_c);
 
 // 
-void ogre_bbd_isUseTexcoordRect(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_bbd_isUseTexcoordRect(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_bbd_setTexcoordIndex(struct hg3dclass_struct * thisclass_c, unsigned short texcoordIndex_c);
diff --git a/include/ClassBillboardChain.h b/include/ClassBillboardChain.h
--- a/include/ClassBillboardChain.h
+++ b/include/ClassBillboardChain.h
@@ -37,22 +37,22 @@
 void ogre_bbdc_destruct(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_bbdc_setMaxChainElements(struct hg3dclass_struct * thisclass_c, int maxElements_c);
+void ogre_bbdc_setMaxChainElements(struct hg3dclass_struct * thisclass_c, long maxElements_c);
 
 // 
-void ogre_bbdc_getMaxChainElements(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_bbdc_getMaxChainElements(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_bbdc_setNumberOfChains(struct hg3dclass_struct * thisclass_c, int numChains_c);
+void ogre_bbdc_setNumberOfChains(struct hg3dclass_struct * thisclass_c, long numChains_c);
 
 // 
-void ogre_bbdc_getNumberOfChains(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_bbdc_getNumberOfChains(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_bbdc_setUseTextureCoords(struct hg3dclass_struct * thisclass_c, int use_c);
+void ogre_bbdc_setUseTextureCoords(struct hg3dclass_struct * thisclass_c, long use_c);
 
 // 
-void ogre_bbdc_getUseTextureCoords(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_bbdc_getUseTextureCoords(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_bbdc_setTextureCoordDirection(struct hg3dclass_struct * thisclass_c, enum EnumBillboardChainTexCoordDirection dir_c);
@@ -64,31 +64,31 @@
 void ogre_bbdc_setOtherTextureCoordRange(struct hg3dclass_struct * thisclass_c, float start_c, float end_c);
 
 // 
-void ogre_bbdc_setUseVertexColours(struct hg3dclass_struct * thisclass_c, int use_c);
+void ogre_bbdc_setUseVertexColours(struct hg3dclass_struct * thisclass_c, long use_c);
 
 // 
-void ogre_bbdc_getUseVertexColours(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_bbdc_getUseVertexColours(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_bbdc_setDynamic(struct hg3dclass_struct * thisclass_c, int dyn_c);
+void ogre_bbdc_setDynamic(struct hg3dclass_struct * thisclass_c, long dyn_c);
 
 // 
-void ogre_bbdc_getDynamic(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_bbdc_getDynamic(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_bbdc_removeChainElement(struct hg3dclass_struct * thisclass_c, int chainIndex_c);
+void ogre_bbdc_removeChainElement(struct hg3dclass_struct * thisclass_c, long chainIndex_c);
 
 // 
-void ogre_bbdc_getNumChainElements(struct hg3dclass_struct * thisclass_c, int chainIndex_c, int * result_c);
+void ogre_bbdc_getNumChainElements(struct hg3dclass_struct * thisclass_c, long chainIndex_c, long * result_c);
 
 // 
-void ogre_bbdc_clearChain(struct hg3dclass_struct * thisclass_c, int chainIndex_c);
+void ogre_bbdc_clearChain(struct hg3dclass_struct * thisclass_c, long chainIndex_c);
 
 // 
 void ogre_bbdc_clearAllChains(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_bbdc_setFaceCamera(struct hg3dclass_struct * thisclass_c, int faceCamera_c, struct vector3_struct * normalVector_c);
+void ogre_bbdc_setFaceCamera(struct hg3dclass_struct * thisclass_c, long faceCamera_c, struct vector3_struct * normalVector_c);
 
 // Get the material name in use. 
 void ogre_bbdc_getMaterialName(struct hg3dclass_struct * thisclass_c, char * result_c);
@@ -109,6 +109,6 @@
 void ogre_bbdc_getMovableType(struct hg3dclass_struct * thisclass_c, char * result_c);
 
 // 
-void ogre_bbdc_preRender(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * sm_c, struct hg3dclass_struct * rsys_c, int * result_c);
+void ogre_bbdc_preRender(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * sm_c, struct hg3dclass_struct * rsys_c, long * result_c);
 
 #endif 
diff --git a/include/ClassBillboardSet.h b/include/ClassBillboardSet.h
--- a/include/ClassBillboardSet.h
+++ b/include/ClassBillboardSet.h
@@ -36,7 +36,7 @@
 
 
 // 
-void ogre_bbs_construct(char * name_c, unsigned int poolSize_c, int externalDataSource_c, struct hg3dclass_struct * result_c);
+void ogre_bbs_construct(char * name_c, unsigned long poolSize_c, long externalDataSource_c, struct hg3dclass_struct * result_c);
 
 // 
 void ogre_bbs_destruct(struct hg3dclass_struct * thisclass_c);
@@ -48,34 +48,34 @@
 void ogre_bbs_createBillboard2(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c, struct colourvalue_struct * colour_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_bbs_getNumBillboards(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_bbs_getNumBillboards(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_bbs_setAutoextend(struct hg3dclass_struct * thisclass_c, int autoextend_c);
+void ogre_bbs_setAutoextend(struct hg3dclass_struct * thisclass_c, long autoextend_c);
 
 // 
-void ogre_bbs_getAutoextend(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_bbs_getAutoextend(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_bbs_setSortingEnabled(struct hg3dclass_struct * thisclass_c, int sortenable_c);
+void ogre_bbs_setSortingEnabled(struct hg3dclass_struct * thisclass_c, long sortenable_c);
 
 // 
-void ogre_bbs_getSortingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_bbs_getSortingEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_bbs_setPoolSize(struct hg3dclass_struct * thisclass_c, int size_c);
+void ogre_bbs_setPoolSize(struct hg3dclass_struct * thisclass_c, long size_c);
 
 // 
-void ogre_bbs_getPoolSize(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_bbs_getPoolSize(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
 void ogre_bbs_clear(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_bbs_getBillboard(struct hg3dclass_struct * thisclass_c, unsigned int index_c, struct hg3dclass_struct * result_c);
+void ogre_bbs_getBillboard(struct hg3dclass_struct * thisclass_c, unsigned long index_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_bbs_removeBillboard(struct hg3dclass_struct * thisclass_c, unsigned int index_c);
+void ogre_bbs_removeBillboard(struct hg3dclass_struct * thisclass_c, unsigned long index_c);
 
 // 
 void ogre_bbs_removeBillboard2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * pBill_c);
@@ -114,7 +114,7 @@
 void ogre_bbs_getMaterialName(struct hg3dclass_struct * thisclass_c, char * result_c);
 
 // 
-void ogre_bbs_beginBillboards(struct hg3dclass_struct * thisclass_c, int numBillboards_c);
+void ogre_bbs_beginBillboards(struct hg3dclass_struct * thisclass_c, long numBillboards_c);
 
 // 
 void ogre_bbs_injectBillboard(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * bb_c);
@@ -132,10 +132,10 @@
 void ogre_bbs_setMaterial(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * material_c);
 
 // 
-void ogre_bbs_getCullIndividually(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_bbs_getCullIndividually(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_bbs_setCullIndividually(struct hg3dclass_struct * thisclass_c, int cullIndividual_c);
+void ogre_bbs_setCullIndividually(struct hg3dclass_struct * thisclass_c, long cullIndividual_c);
 
 // 
 void ogre_bbs_setBillboardType(struct hg3dclass_struct * thisclass_c, enum EnumBillboardType bbt_c);
@@ -156,10 +156,10 @@
 void ogre_bbs_getCommonUpVector(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);
 
 // 
-void ogre_bbs_setUseAccurateFacing(struct hg3dclass_struct * thisclass_c, int acc_c);
+void ogre_bbs_setUseAccurateFacing(struct hg3dclass_struct * thisclass_c, long acc_c);
 
 // 
-void ogre_bbs_getUseAccurateFacing(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_bbs_getUseAccurateFacing(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_bbs_getMovableType(struct hg3dclass_struct * thisclass_c, char * result_c);
@@ -168,22 +168,22 @@
 void ogre_bbs_getSquaredViewDepth(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c, float * result_c);
 
 // 
-void ogre_bbs_setBillboardsInWorldSpace(struct hg3dclass_struct * thisclass_c, int ws_c);
+void ogre_bbs_setBillboardsInWorldSpace(struct hg3dclass_struct * thisclass_c, long ws_c);
 
 // 
-void ogre_bbs_setPointRenderingEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_bbs_setPointRenderingEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // 
-void ogre_bbs_isPointRenderingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_bbs_isPointRenderingEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // Override to return specific type flag. 
-void ogre_bbs_getTypeFlags(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_bbs_getTypeFlags(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
-void ogre_bbs_setAutoUpdate(struct hg3dclass_struct * thisclass_c, int autoUpdate_c);
+void ogre_bbs_setAutoUpdate(struct hg3dclass_struct * thisclass_c, long autoUpdate_c);
 
 // 
-void ogre_bbs_getAutoUpdate(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_bbs_getAutoUpdate(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_bbs_notifyBillboardDataChanged(struct hg3dclass_struct * thisclass_c);
diff --git a/include/ClassBone.h b/include/ClassBone.h
--- a/include/ClassBone.h
+++ b/include/ClassBone.h
@@ -45,12 +45,12 @@
 void ogre_bn_reset(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_bn_setManuallyControlled(struct hg3dclass_struct * thisclass_c, int manuallyControlled_c);
+void ogre_bn_setManuallyControlled(struct hg3dclass_struct * thisclass_c, long manuallyControlled_c);
 
 // 
-void ogre_bn_isManuallyControlled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_bn_isManuallyControlled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_bn_needUpdate(struct hg3dclass_struct * thisclass_c, int forceParentUpdate_c);
+void ogre_bn_needUpdate(struct hg3dclass_struct * thisclass_c, long forceParentUpdate_c);
 
 #endif 
diff --git a/include/ClassCamera.h b/include/ClassCamera.h
--- a/include/ClassCamera.h
+++ b/include/ClassCamera.h
@@ -96,7 +96,7 @@
 void ogre_cam_rotate2(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * q_c);
 
 // 
-void ogre_cam_setFixedYawAxis(struct hg3dclass_struct * thisclass_c, int useFixed_c, struct vector3_struct * fixedAxis_c);
+void ogre_cam_setFixedYawAxis(struct hg3dclass_struct * thisclass_c, long useFixed_c, struct vector3_struct * fixedAxis_c);
 
 // 
 void ogre_cam_getOrientation(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * result_c);
@@ -156,7 +156,7 @@
 void ogre_cam_resetWindow(struct hg3dclass_struct * thisclass_c);
 
 // Returns if a viewport window is being used. 
-void ogre_cam_isWindowSet(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_cam_isWindowSet(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_cam_getBoundingRadius(struct hg3dclass_struct * thisclass_c, float * result_c);
@@ -171,10 +171,10 @@
 void ogre_cam_getViewport(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_cam_setAutoAspectRatio(struct hg3dclass_struct * thisclass_c, int autoratio_c);
+void ogre_cam_setAutoAspectRatio(struct hg3dclass_struct * thisclass_c, long autoratio_c);
 
 // 
-void ogre_cam_getAutoAspectRatio(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_cam_getAutoAspectRatio(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_cam_setCullingFrustum(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * frustum_c);
@@ -183,7 +183,7 @@
 void ogre_cam_getCullingFrustum(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_cam_isVisible3(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vert_c, enum EnumFrustumPlane * culledBy_c, int * result_c);
+void ogre_cam_isVisible3(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vert_c, enum EnumFrustumPlane * culledBy_c, long * result_c);
 
 // 
 void ogre_cam_getWorldSpaceCorners(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);
@@ -195,10 +195,10 @@
 void ogre_cam_getFarClipDistance(struct hg3dclass_struct * thisclass_c, float * result_c);
 
 // 
-void ogre_cam_setUseRenderingDistance(struct hg3dclass_struct * thisclass_c, int use_c);
+void ogre_cam_setUseRenderingDistance(struct hg3dclass_struct * thisclass_c, long use_c);
 
 // 
-void ogre_cam_getUseRenderingDistance(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_cam_getUseRenderingDistance(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_cam_synchroniseBaseSettingsWith(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c);
@@ -211,10 +211,10 @@
 
 // Sets whether to use min display size calculations 
 
-void ogre_cam_setUseMinPixelSize(struct hg3dclass_struct * thisclass_c, int enable_c);
+void ogre_cam_setUseMinPixelSize(struct hg3dclass_struct * thisclass_c, long enable_c);
 
 // 
-void ogre_cam_getUseMinPixelSize(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_cam_getUseMinPixelSize(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_cam_getPixelDisplayRatio(struct hg3dclass_struct * thisclass_c, float * result_c);
diff --git a/include/ClassConfigFile.h b/include/ClassConfigFile.h
--- a/include/ClassConfigFile.h
+++ b/include/ClassConfigFile.h
@@ -34,16 +34,16 @@
 void ogre_cf_destruct(struct hg3dclass_struct * thisclass_c);
 
 // load from a filename (not using resource group locations) 
-void ogre_cf_load(struct hg3dclass_struct * thisclass_c, char * filename_c, char * separators_c, int trimWhitespace_c);
+void ogre_cf_load(struct hg3dclass_struct * thisclass_c, char * filename_c, char * separators_c, long trimWhitespace_c);
 
 // load from a filename (using resource group locations) 
-void ogre_cf_load2(struct hg3dclass_struct * thisclass_c, char * filename_c, char * resourceGroup_c, char * separators_c, int trimWhitespace_c);
+void ogre_cf_load2(struct hg3dclass_struct * thisclass_c, char * filename_c, char * resourceGroup_c, char * separators_c, long trimWhitespace_c);
 
 // load from a filename (not using resource group locations) 
-void ogre_cf_loadDirect(struct hg3dclass_struct * thisclass_c, char * filename_c, char * separators_c, int trimWhitespace_c);
+void ogre_cf_loadDirect(struct hg3dclass_struct * thisclass_c, char * filename_c, char * separators_c, long trimWhitespace_c);
 
 // load from a filename (using resource group locations) 
-void ogre_cf_loadFromResourceSystem(struct hg3dclass_struct * thisclass_c, char * filename_c, char * resourceGroup_c, char * separators_c, int trimWhitespace_c);
+void ogre_cf_loadFromResourceSystem(struct hg3dclass_struct * thisclass_c, char * filename_c, char * resourceGroup_c, char * separators_c, long trimWhitespace_c);
 
 // 
 void ogre_cf_getSetting(struct hg3dclass_struct * thisclass_c, char * key_c, char * section_c, char * defaultValue_c, char * result_c);
diff --git a/include/ClassEntity.h b/include/ClassEntity.h
--- a/include/ClassEntity.h
+++ b/include/ClassEntity.h
@@ -40,7 +40,7 @@
 void ogre_ent_getMesh(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * result_c);
 
 // 
-void ogre_ent_getNumSubEntities(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_ent_getNumSubEntities(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
 void ogre_ent_clone(struct hg3dclass_struct * thisclass_c, char * newName_c, struct hg3dclass_struct * result_c);
@@ -58,25 +58,25 @@
 void ogre_ent_getAnimationState(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_ent_hasAnimationState(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_ent_hasAnimationState(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_ent_getAllAnimationStates(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_ent_setDisplaySkeleton(struct hg3dclass_struct * thisclass_c, int display_c);
+void ogre_ent_setDisplaySkeleton(struct hg3dclass_struct * thisclass_c, long display_c);
 
 // 
-void ogre_ent_getDisplaySkeleton(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_ent_getDisplaySkeleton(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_ent_getManualLodLevel(struct hg3dclass_struct * thisclass_c, int index_c, struct hg3dclass_struct * result_c);
+void ogre_ent_getManualLodLevel(struct hg3dclass_struct * thisclass_c, long index_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_ent_getNumManualLodLevels(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_ent_getNumManualLodLevels(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_ent_setPolygonModeOverrideable(struct hg3dclass_struct * thisclass_c, int PolygonModeOverrideable_c);
+void ogre_ent_setPolygonModeOverrideable(struct hg3dclass_struct * thisclass_c, long PolygonModeOverrideable_c);
 
 // 
 void ogre_ent_detachObjectFromBone(struct hg3dclass_struct * thisclass_c, char * movableName_c, struct hg3dclass_struct * result_c);
@@ -91,60 +91,60 @@
 void ogre_ent_getBoundingRadius(struct hg3dclass_struct * thisclass_c, float * result_c);
 
 // 
-void ogre_ent_hasEdgeList(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_ent_hasEdgeList(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_ent_hasSkeleton(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_ent_hasSkeleton(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_ent_isHardwareAnimationEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_ent_isHardwareAnimationEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_ent_getSoftwareAnimationRequests(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_ent_getSoftwareAnimationRequests(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_ent_getSoftwareAnimationNormalsRequests(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_ent_getSoftwareAnimationNormalsRequests(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_ent_addSoftwareAnimationRequest(struct hg3dclass_struct * thisclass_c, int normalsAlso_c);
+void ogre_ent_addSoftwareAnimationRequest(struct hg3dclass_struct * thisclass_c, long normalsAlso_c);
 
 // 
-void ogre_ent_removeSoftwareAnimationRequest(struct hg3dclass_struct * thisclass_c, int normalsAlso_c);
+void ogre_ent_removeSoftwareAnimationRequest(struct hg3dclass_struct * thisclass_c, long normalsAlso_c);
 
 // 
 void ogre_ent_shareSkeletonInstanceWith(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * entity_c);
 
 // 
-void ogre_ent_hasVertexAnimation(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_ent_hasVertexAnimation(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_ent_stopSharingSkeletonInstance(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_ent_sharesSkeletonInstance(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_ent_sharesSkeletonInstance(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_ent_refreshAvailableAnimationState(struct hg3dclass_struct * thisclass_c);
 
 // Choose which vertex data to bind to the renderer. 
-void ogre_ent_chooseVertexDataForBinding(struct hg3dclass_struct * thisclass_c, int hasVertexAnim_c, enum EnumEntityVertexDataBindChoice * result_c);
+void ogre_ent_chooseVertexDataForBinding(struct hg3dclass_struct * thisclass_c, long hasVertexAnim_c, enum EnumEntityVertexDataBindChoice * result_c);
 
 // 
-void ogre_ent_isInitialised(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_ent_isInitialised(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_ent_backgroundLoadingComplete(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * res_c);
 
 // 
-void ogre_ent_setSkipAnimationStateUpdate(struct hg3dclass_struct * thisclass_c, int skip_c);
+void ogre_ent_setSkipAnimationStateUpdate(struct hg3dclass_struct * thisclass_c, long skip_c);
 
 // 
-void ogre_ent_getSkipAnimationStateUpdate(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_ent_getSkipAnimationStateUpdate(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_ent_setAlwaysUpdateMainSkeleton(struct hg3dclass_struct * thisclass_c, int update_c);
+void ogre_ent_setAlwaysUpdateMainSkeleton(struct hg3dclass_struct * thisclass_c, long update_c);
 
 // 
-void ogre_ent_getAlwaysUpdateMainSkeleton(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_ent_getAlwaysUpdateMainSkeleton(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 #endif 
diff --git a/include/ClassException.h b/include/ClassException.h
--- a/include/ClassException.h
+++ b/include/ClassException.h
@@ -28,7 +28,7 @@
 
 
 // 
-void ogre_exc_construct(int number_c, char * description_c, char * source_c, struct hg3dclass_struct * result_c);
+void ogre_exc_construct(long number_c, char * description_c, char * source_c, struct hg3dclass_struct * result_c);
 
 // Needed for compatibility with std::exception. 
 void ogre_exc_destruct(struct hg3dclass_struct * thisclass_c);
@@ -37,7 +37,7 @@
 void ogre_exc_getFullDescription(struct hg3dclass_struct * thisclass_c, char * result_c);
 
 // 
-void ogre_exc_getNumber(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_exc_getNumber(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_exc_getSource(struct hg3dclass_struct * thisclass_c, char * result_c);
@@ -46,7 +46,7 @@
 void ogre_exc_getFile(struct hg3dclass_struct * thisclass_c, char * result_c);
 
 // 
-void ogre_exc_getLine(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_exc_getLine(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_exc_getDescription(struct hg3dclass_struct * thisclass_c, char * result_c);
diff --git a/include/ClassFrustum.h b/include/ClassFrustum.h
--- a/include/ClassFrustum.h
+++ b/include/ClassFrustum.h
@@ -91,16 +91,16 @@
 void ogre_frst_getFrustumExtents(struct hg3dclass_struct * thisclass_c, float * outleft_c, float * outright_c, float * outtop_c, float * outbottom_c);
 
 // Returns whether a custom view matrix is in use. 
-void ogre_frst_isCustomViewMatrixEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_frst_isCustomViewMatrixEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // Returns whether a custom projection matrix is in use. 
-void ogre_frst_isCustomProjectionMatrixEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_frst_isCustomProjectionMatrixEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_frst_isVisible3(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vert_c, enum EnumFrustumPlane * culledBy_c, int * result_c);
+void ogre_frst_isVisible3(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vert_c, enum EnumFrustumPlane * culledBy_c, long * result_c);
 
 // Overridden from MovableObject::getTypeFlags
-void ogre_frst_getTypeFlags(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_frst_getTypeFlags(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
 void ogre_frst_getBoundingRadius(struct hg3dclass_struct * thisclass_c, float * result_c);
@@ -142,13 +142,13 @@
 void ogre_frst_disableReflection(struct hg3dclass_struct * thisclass_c);
 
 // Returns whether this frustum is being reflected. 
-void ogre_frst_isReflected(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_frst_isReflected(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_frst_disableCustomNearClipPlane(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_frst_isCustomNearClipPlaneEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_frst_isCustomNearClipPlaneEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_frst_getPositionForViewUpdate(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);
diff --git a/include/ClassHG3DUtilities.h b/include/ClassHG3DUtilities.h
--- a/include/ClassHG3DUtilities.h
+++ b/include/ClassHG3DUtilities.h
@@ -30,13 +30,13 @@
 
 
 // 
-void ogre_hg3dutl_getWindowHandle(struct hg3dclass_struct * window_c, unsigned int * result_c);
+void ogre_hg3dutl_getWindowHandle(struct hg3dclass_struct * window_c, unsigned long * result_c);
 
 // 
 void ogre_hg3dutl_setupCloseEventHandler(struct hg3dclass_struct * window_c);
 
 // 
-void ogre_hg3dutl_checkQuitReceived(int * result_c);
+void ogre_hg3dutl_checkQuitReceived(long * result_c);
 
 // 
 void ogre_hg3dutl_buildTangentVectors(struct hg3dclass_struct * entity_c);
diff --git a/include/ClassLight.h b/include/ClassLight.h
--- a/include/ClassLight.h
+++ b/include/ClassLight.h
@@ -131,19 +131,19 @@
 void ogre_lgt_getMovableType(struct hg3dclass_struct * thisclass_c, char * result_c);
 
 // 
-void ogre_lgt_getDerivedPosition(struct hg3dclass_struct * thisclass_c, int cameraRelativeIfSet_c, struct vector3_struct * result_c);
+void ogre_lgt_getDerivedPosition(struct hg3dclass_struct * thisclass_c, long cameraRelativeIfSet_c, struct vector3_struct * result_c);
 
 // 
 void ogre_lgt_getDerivedDirection(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);
 
 // 
-void ogre_lgt_setVisible(struct hg3dclass_struct * thisclass_c, int visible_c);
+void ogre_lgt_setVisible(struct hg3dclass_struct * thisclass_c, long visible_c);
 
 // 
 void ogre_lgt_getBoundingRadius(struct hg3dclass_struct * thisclass_c, float * result_c);
 
 // Override to return specific type flag. 
-void ogre_lgt_getTypeFlags(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_lgt_getTypeFlags(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
 void ogre_lgt_resetCustomShadowCameraSetup(struct hg3dclass_struct * thisclass_c);
diff --git a/include/ClassLog.h b/include/ClassLog.h
--- a/include/ClassLog.h
+++ b/include/ClassLog.h
@@ -36,25 +36,25 @@
 void ogre_lg_getName(struct hg3dclass_struct * thisclass_c, char * result_c);
 
 // Get whether debug output is enabled for this log. 
-void ogre_lg_isDebugOutputEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_lg_isDebugOutputEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // Get whether file output is suppressed for this log. 
-void ogre_lg_isFileOutputSuppressed(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_lg_isFileOutputSuppressed(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // Get whether time stamps are printed for this log. 
-void ogre_lg_isTimeStampEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_lg_isTimeStampEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_lg_logMessage(struct hg3dclass_struct * thisclass_c, char * message_c, enum EnumLogMessageLevel lml_c, int maskDebug_c);
+void ogre_lg_logMessage(struct hg3dclass_struct * thisclass_c, char * message_c, enum EnumLogMessageLevel lml_c, long maskDebug_c);
 
 // 
-void ogre_lg_setDebugOutputEnabled(struct hg3dclass_struct * thisclass_c, int debugOutput_c);
+void ogre_lg_setDebugOutputEnabled(struct hg3dclass_struct * thisclass_c, long debugOutput_c);
 
 // 
 void ogre_lg_setLogDetail(struct hg3dclass_struct * thisclass_c, enum EnumLoggingLevel ll_c);
 
 // 
-void ogre_lg_setTimeStampEnabled(struct hg3dclass_struct * thisclass_c, int timeStamp_c);
+void ogre_lg_setTimeStampEnabled(struct hg3dclass_struct * thisclass_c, long timeStamp_c);
 
 // 
 void ogre_lg_getLogDetail(struct hg3dclass_struct * thisclass_c, enum EnumLoggingLevel * result_c);
diff --git a/include/ClassLogManager.h b/include/ClassLogManager.h
--- a/include/ClassLogManager.h
+++ b/include/ClassLogManager.h
@@ -34,7 +34,7 @@
 void ogre_lmgr_destruct(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_lmgr_createLog(struct hg3dclass_struct * thisclass_c, char * name_c, int defaultLog_c, int debuggerOutput_c, int suppressFileOutput_c, struct hg3dclass_struct * result_c);
+void ogre_lmgr_createLog(struct hg3dclass_struct * thisclass_c, char * name_c, long defaultLog_c, long debuggerOutput_c, long suppressFileOutput_c, struct hg3dclass_struct * result_c);
 
 // 
 void ogre_lmgr_getLog(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
@@ -52,10 +52,10 @@
 void ogre_lmgr_setDefaultLog(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * newLog_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_lmgr_logMessage(struct hg3dclass_struct * thisclass_c, char * message_c, enum EnumLogMessageLevel lml_c, int maskDebug_c);
+void ogre_lmgr_logMessage(struct hg3dclass_struct * thisclass_c, char * message_c, enum EnumLogMessageLevel lml_c, long maskDebug_c);
 
 // 
-void ogre_lmgr_logMessage2(struct hg3dclass_struct * thisclass_c, enum EnumLogMessageLevel lml_c, char * message_c, int maskDebug_c);
+void ogre_lmgr_logMessage2(struct hg3dclass_struct * thisclass_c, enum EnumLogMessageLevel lml_c, char * message_c, long maskDebug_c);
 
 // 
 void ogre_lmgr_setLogDetail(struct hg3dclass_struct * thisclass_c, enum EnumLoggingLevel ll_c);
diff --git a/include/ClassManualObject.h b/include/ClassManualObject.h
--- a/include/ClassManualObject.h
+++ b/include/ClassManualObject.h
@@ -43,22 +43,22 @@
 void ogre_mno_clear(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_mno_estimateVertexCount(struct hg3dclass_struct * thisclass_c, int vcount_c);
+void ogre_mno_estimateVertexCount(struct hg3dclass_struct * thisclass_c, long vcount_c);
 
 // 
-void ogre_mno_estimateIndexCount(struct hg3dclass_struct * thisclass_c, int icount_c);
+void ogre_mno_estimateIndexCount(struct hg3dclass_struct * thisclass_c, long icount_c);
 
 // 
 void ogre_mno_begin(struct hg3dclass_struct * thisclass_c, char * materialName_c, enum EnumRenderOperationOperationType opType_c, char * groupName_c);
 
 // 
-void ogre_mno_setDynamic(struct hg3dclass_struct * thisclass_c, int dyn_c);
+void ogre_mno_setDynamic(struct hg3dclass_struct * thisclass_c, long dyn_c);
 
 // 
-void ogre_mno_getDynamic(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mno_getDynamic(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_mno_beginUpdate(struct hg3dclass_struct * thisclass_c, int sectionIndex_c);
+void ogre_mno_beginUpdate(struct hg3dclass_struct * thisclass_c, long sectionIndex_c);
 
 // 
 void ogre_mno_position(struct hg3dclass_struct * thisclass_c, struct vector3_struct * pos_c);
@@ -103,60 +103,60 @@
 void ogre_mno_colour2(struct hg3dclass_struct * thisclass_c, float r_c, float g_c, float b_c, float a_c);
 
 // 
-void ogre_mno_index(struct hg3dclass_struct * thisclass_c, unsigned int idx_c);
+void ogre_mno_index(struct hg3dclass_struct * thisclass_c, unsigned long idx_c);
 
 // 
-void ogre_mno_triangle(struct hg3dclass_struct * thisclass_c, unsigned int i1_c, unsigned int i2_c, unsigned int i3_c);
+void ogre_mno_triangle(struct hg3dclass_struct * thisclass_c, unsigned long i1_c, unsigned long i2_c, unsigned long i3_c);
 
 // 
-void ogre_mno_quad(struct hg3dclass_struct * thisclass_c, unsigned int i1_c, unsigned int i2_c, unsigned int i3_c, unsigned int i4_c);
+void ogre_mno_quad(struct hg3dclass_struct * thisclass_c, unsigned long i1_c, unsigned long i2_c, unsigned long i3_c, unsigned long i4_c);
 
 // Get the number of vertices in the section currently being defined (returns 0 if no section is in progress). 
-void ogre_mno_getCurrentVertexCount(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mno_getCurrentVertexCount(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // Get the number of indices in the section currently being defined (returns 0 if no section is in progress). 
-void ogre_mno_getCurrentIndexCount(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mno_getCurrentIndexCount(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_mno_end(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_mno_setMaterialName(struct hg3dclass_struct * thisclass_c, int subindex_c, char * name_c, char * group_c);
+void ogre_mno_setMaterialName(struct hg3dclass_struct * thisclass_c, long subindex_c, char * name_c, char * group_c);
 
 // 
 void ogre_mno_convertToMesh(struct hg3dclass_struct * thisclass_c, char * meshName_c, char * groupName_c, struct sharedptr_struct * result_c);
 
 // 
-void ogre_mno_setUseIdentityProjection(struct hg3dclass_struct * thisclass_c, int useIdentityProjection_c);
+void ogre_mno_setUseIdentityProjection(struct hg3dclass_struct * thisclass_c, long useIdentityProjection_c);
 
 // 
-void ogre_mno_getUseIdentityProjection(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mno_getUseIdentityProjection(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_mno_setUseIdentityView(struct hg3dclass_struct * thisclass_c, int useIdentityView_c);
+void ogre_mno_setUseIdentityView(struct hg3dclass_struct * thisclass_c, long useIdentityView_c);
 
 // 
-void ogre_mno_getUseIdentityView(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mno_getUseIdentityView(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_mno_getSection(struct hg3dclass_struct * thisclass_c, unsigned int index_c, struct hg3dclass_struct * result_c);
+void ogre_mno_getSection(struct hg3dclass_struct * thisclass_c, unsigned long index_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_mno_getNumSections(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_mno_getNumSections(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
-void ogre_mno_setKeepDeclarationOrder(struct hg3dclass_struct * thisclass_c, int keepOrder_c);
+void ogre_mno_setKeepDeclarationOrder(struct hg3dclass_struct * thisclass_c, long keepOrder_c);
 
 // 
-void ogre_mno_getKeepDeclarationOrder(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mno_getKeepDeclarationOrder(struct hg3dclass_struct * thisclass_c, long * result_c);
 
-// . 
+// 
 void ogre_mno_getMovableType(struct hg3dclass_struct * thisclass_c, char * result_c);
 
-// . 
+// 
 void ogre_mno_getBoundingRadius(struct hg3dclass_struct * thisclass_c, float * result_c);
 
 // 
-void ogre_mno_hasEdgeList(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mno_hasEdgeList(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 #endif 
diff --git a/include/ClassManualObjectSection.h b/include/ClassManualObjectSection.h
--- a/include/ClassManualObjectSection.h
+++ b/include/ClassManualObjectSection.h
@@ -47,15 +47,15 @@
 void ogre_mnos_setMaterialName(struct hg3dclass_struct * thisclass_c, char * name_c, char * groupName_c);
 
 // Set whether we need 32-bit indices. 
-void ogre_mnos_set32BitIndices(struct hg3dclass_struct * thisclass_c, int n32_c);
+void ogre_mnos_set32BitIndices(struct hg3dclass_struct * thisclass_c, long n32_c);
 
 // Get whether we need 32-bit indices. 
-void ogre_mnos_get32BitIndices(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mnos_get32BitIndices(struct hg3dclass_struct * thisclass_c, long * result_c);
 
-// . 
+// 
 void ogre_mnos_getMaterial(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * result_c);
 
-// . 
+// 
 void ogre_mnos_getSquaredViewDepth(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * _c, float * result_c);
 
 #endif 
diff --git a/include/ClassMaterial.h b/include/ClassMaterial.h
--- a/include/ClassMaterial.h
+++ b/include/ClassMaterial.h
@@ -33,19 +33,19 @@
 void ogre_mtrl_destruct(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_mtrl_isTransparent(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mtrl_isTransparent(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_mtrl_setReceiveShadows(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_mtrl_setReceiveShadows(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // 
-void ogre_mtrl_getReceiveShadows(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mtrl_getReceiveShadows(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_mtrl_setTransparencyCastsShadows(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_mtrl_setTransparencyCastsShadows(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // 
-void ogre_mtrl_getTransparencyCastsShadows(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mtrl_getTransparencyCastsShadows(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_mtrl_getNumTechniques(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);
@@ -69,13 +69,13 @@
 void ogre_mtrl_getNumLodLevels2(struct hg3dclass_struct * thisclass_c, char * schemeName_c, unsigned short * result_c);
 
 // 
-void ogre_mtrl_clone(struct hg3dclass_struct * thisclass_c, char * newName_c, int changeGroup_c, char * newGroup_c, struct sharedptr_struct * result_c);
+void ogre_mtrl_clone(struct hg3dclass_struct * thisclass_c, char * newName_c, long changeGroup_c, char * newGroup_c, struct sharedptr_struct * result_c);
 
 // 
 void ogre_mtrl_copyDetailsTo(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * mat_c);
 
 // 
-void ogre_mtrl_compile(struct hg3dclass_struct * thisclass_c, int autoManageTextureUnits_c);
+void ogre_mtrl_compile(struct hg3dclass_struct * thisclass_c, long autoManageTextureUnits_c);
 
 // 
 void ogre_mtrl_setPointSize(struct hg3dclass_struct * thisclass_c, float ps_c);
@@ -108,27 +108,27 @@
 void ogre_mtrl_setSelfIllumination2(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * selfIllum_c);
 
 // 
-void ogre_mtrl_setDepthCheckEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_mtrl_setDepthCheckEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // 
-void ogre_mtrl_setDepthWriteEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_mtrl_setDepthWriteEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // 
-void ogre_mtrl_setColourWriteEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_mtrl_setColourWriteEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // 
-void ogre_mtrl_setLightingEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_mtrl_setLightingEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // 
 void ogre_mtrl_setDepthBias(struct hg3dclass_struct * thisclass_c, float constantBias_c, float slopeScaleBias_c);
 
 // 
-void ogre_mtrl_setTextureAnisotropy(struct hg3dclass_struct * thisclass_c, int maxAniso_c);
+void ogre_mtrl_setTextureAnisotropy(struct hg3dclass_struct * thisclass_c, long maxAniso_c);
 
 // 
 void ogre_mtrl_touch(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_mtrl_getCompilationRequired(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mtrl_getCompilationRequired(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 #endif 
diff --git a/include/ClassMaterialManager.h b/include/ClassMaterialManager.h
--- a/include/ClassMaterialManager.h
+++ b/include/ClassMaterialManager.h
@@ -38,10 +38,10 @@
 void ogre_mtrlmgr_initialise(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_mtrlmgr_setDefaultAnisotropy(struct hg3dclass_struct * thisclass_c, unsigned int maxAniso_c);
+void ogre_mtrlmgr_setDefaultAnisotropy(struct hg3dclass_struct * thisclass_c, unsigned long maxAniso_c);
 
 // Get the default maxAnisotropy. 
-void ogre_mtrlmgr_getDefaultAnisotropy(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_mtrlmgr_getDefaultAnisotropy(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
 void ogre_mtrlmgr_getDefaultSettings(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * result_c);
diff --git a/include/ClassMesh.h b/include/ClassMesh.h
--- a/include/ClassMesh.h
+++ b/include/ClassMesh.h
@@ -55,10 +55,10 @@
 void ogre_msh_setSkeletonName(struct hg3dclass_struct * thisclass_c, char * skelName_c);
 
 // 
-void ogre_msh_hasSkeleton(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_msh_hasSkeleton(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_msh_hasVertexAnimation(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_msh_hasVertexAnimation(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_msh_getSkeleton(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * result_c);
@@ -73,16 +73,16 @@
 void ogre_msh_createManualLodLevel(struct hg3dclass_struct * thisclass_c, float value_c, char * meshName_c, char * groupName_c);
 
 // 
-void ogre_msh_isLodManual(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_msh_isLodManual(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_msh_removeLodLevels(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_msh_isVertexBufferShadowed(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_msh_isVertexBufferShadowed(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_msh_isIndexBufferShadowed(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_msh_isIndexBufferShadowed(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_msh_buildEdgeList(struct hg3dclass_struct * thisclass_c);
@@ -94,22 +94,22 @@
 void ogre_msh_prepareForShadowVolume(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_msh_isPreparedForShadowVolumes(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_msh_isPreparedForShadowVolumes(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_msh_isEdgeListBuilt(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_msh_isEdgeListBuilt(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_msh_setAutoBuildEdgeLists(struct hg3dclass_struct * thisclass_c, int autobuild_c);
+void ogre_msh_setAutoBuildEdgeLists(struct hg3dclass_struct * thisclass_c, long autobuild_c);
 
 // 
-void ogre_msh_getAutoBuildEdgeLists(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_msh_getAutoBuildEdgeLists(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_msh_getSharedVertexDataAnimationType(struct hg3dclass_struct * thisclass_c, enum EnumVertexAnimationType * result_c);
 
 // Returns whether animation on shared vertex data includes normals. 
-void ogre_msh_getSharedVertexDataAnimationIncludesNormals(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_msh_getSharedVertexDataAnimationIncludesNormals(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_msh_createAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, float length_c, struct hg3dclass_struct * result_c);
@@ -118,7 +118,7 @@
 void ogre_msh_getAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_msh_hasAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_msh_hasAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_msh_removeAnimation(struct hg3dclass_struct * thisclass_c, char * name_c);
@@ -136,7 +136,7 @@
 void ogre_msh_updateMaterialForAllSubMeshes(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_msh_getPoseCount(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_msh_getPoseCount(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_msh_removePose2(struct hg3dclass_struct * thisclass_c, char * name_c);
diff --git a/include/ClassMeshManager.h b/include/ClassMeshManager.h
--- a/include/ClassMeshManager.h
+++ b/include/ClassMeshManager.h
@@ -35,10 +35,10 @@
 void ogre_mshmgr_destruct(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_mshmgr_setPrepareAllMeshesForShadowVolumes(struct hg3dclass_struct * thisclass_c, int enable_c);
+void ogre_mshmgr_setPrepareAllMeshesForShadowVolumes(struct hg3dclass_struct * thisclass_c, long enable_c);
 
 // 
-void ogre_mshmgr_getPrepareAllMeshesForShadowVolumes(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mshmgr_getPrepareAllMeshesForShadowVolumes(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_mshmgr_getBoundsPaddingFactor(struct hg3dclass_struct * thisclass_c, float * result_c);
diff --git a/include/ClassMovableObject.h b/include/ClassMovableObject.h
--- a/include/ClassMovableObject.h
+++ b/include/ClassMovableObject.h
@@ -46,28 +46,28 @@
 void ogre_mvo_getParentSceneNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
 
 // Gets whether the parent node is a TagPoint (or a SceneNode
-void ogre_mvo_isParentTagPoint(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mvo_isParentTagPoint(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_mvo_isAttached(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mvo_isAttached(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_mvo_detachFromParent(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_mvo_isInScene(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mvo_isInScene(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_mvo_getBoundingRadius(struct hg3dclass_struct * thisclass_c, float * result_c);
 
 // 
-void ogre_mvo_setVisible(struct hg3dclass_struct * thisclass_c, int visible_c);
+void ogre_mvo_setVisible(struct hg3dclass_struct * thisclass_c, long visible_c);
 
 // 
-void ogre_mvo_getVisible(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mvo_getVisible(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_mvo_isVisible(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mvo_isVisible(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_mvo_setRenderingDistance(struct hg3dclass_struct * thisclass_c, float dist_c);
@@ -82,69 +82,69 @@
 void ogre_mvo_getRenderingMinPixelSize(struct hg3dclass_struct * thisclass_c, float * result_c);
 
 // 
-void ogre_mvo_setQueryFlags(struct hg3dclass_struct * thisclass_c, unsigned int flags_c);
+void ogre_mvo_setQueryFlags(struct hg3dclass_struct * thisclass_c, unsigned long flags_c);
 
 // 
-void ogre_mvo_addQueryFlags(struct hg3dclass_struct * thisclass_c, unsigned int flags_c);
+void ogre_mvo_addQueryFlags(struct hg3dclass_struct * thisclass_c, unsigned long flags_c);
 
 // 
-void ogre_mvo_removeQueryFlags(struct hg3dclass_struct * thisclass_c, unsigned int flags_c);
+void ogre_mvo_removeQueryFlags(struct hg3dclass_struct * thisclass_c, unsigned long flags_c);
 
 // Returns the query flags relevant for this object. 
-void ogre_mvo_getQueryFlags(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_mvo_getQueryFlags(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
-void ogre_mvo_setVisibilityFlags(struct hg3dclass_struct * thisclass_c, unsigned int flags_c);
+void ogre_mvo_setVisibilityFlags(struct hg3dclass_struct * thisclass_c, unsigned long flags_c);
 
 // 
-void ogre_mvo_addVisibilityFlags(struct hg3dclass_struct * thisclass_c, unsigned int flags_c);
+void ogre_mvo_addVisibilityFlags(struct hg3dclass_struct * thisclass_c, unsigned long flags_c);
 
 // 
-void ogre_mvo_removeVisibilityFlags(struct hg3dclass_struct * thisclass_c, unsigned int flags_c);
+void ogre_mvo_removeVisibilityFlags(struct hg3dclass_struct * thisclass_c, unsigned long flags_c);
 
 // Returns the visibility flags relevant for this object. 
-void ogre_mvo_getVisibilityFlags(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_mvo_getVisibilityFlags(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
-void ogre_mvo_getLightMask(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_mvo_getLightMask(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
-void ogre_mvo_setLightMask(struct hg3dclass_struct * thisclass_c, unsigned int lightMask_c);
+void ogre_mvo_setLightMask(struct hg3dclass_struct * thisclass_c, unsigned long lightMask_c);
 
 // Define a default implementation of method from ShadowCaster which implements no shadows. 
-void ogre_mvo_hasEdgeList(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mvo_hasEdgeList(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_mvo_setCastShadows(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_mvo_setCastShadows(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // 
-void ogre_mvo_getCastShadows(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mvo_getCastShadows(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_mvo_getReceivesShadows(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mvo_getReceivesShadows(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_mvo_getPointExtrusionDistance(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * l_c, float * result_c);
 
 // 
-void ogre_mvo_getTypeFlags(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_mvo_getTypeFlags(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
-void ogre_mvo_setDebugDisplayEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_mvo_setDebugDisplayEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // Gets whether debug display of this object is enabled. 
-void ogre_mvo_isDebugDisplayEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mvo_isDebugDisplayEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_mvo_setDefaultQueryFlags(unsigned int flags_c);
+void ogre_mvo_setDefaultQueryFlags(unsigned long flags_c);
 
 // 
-void ogre_mvo_getDefaultQueryFlags(unsigned int * result_c);
+void ogre_mvo_getDefaultQueryFlags(unsigned long * result_c);
 
 // 
-void ogre_mvo_setDefaultVisibilityFlags(unsigned int flags_c);
+void ogre_mvo_setDefaultVisibilityFlags(unsigned long flags_c);
 
 // 
-void ogre_mvo_getDefaultVisibilityFlags(unsigned int * result_c);
+void ogre_mvo_getDefaultVisibilityFlags(unsigned long * result_c);
 
 #endif 
diff --git a/include/ClassMovableObjectFactory.h b/include/ClassMovableObjectFactory.h
--- a/include/ClassMovableObjectFactory.h
+++ b/include/ClassMovableObjectFactory.h
@@ -38,9 +38,9 @@
 void ogre_mvof_destroyInstance(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * obj_c);
 
 // 
-void ogre_mvof_requestTypeFlags(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_mvof_requestTypeFlags(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_mvof_getTypeFlags(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_mvof_getTypeFlags(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 #endif 
diff --git a/include/ClassMultiRenderTarget.h b/include/ClassMultiRenderTarget.h
--- a/include/ClassMultiRenderTarget.h
+++ b/include/ClassMultiRenderTarget.h
@@ -29,12 +29,12 @@
 
 
 // 
-void ogre_mrt_bindSurface(struct hg3dclass_struct * thisclass_c, int attachment_c, struct hg3dclass_struct * target_c);
+void ogre_mrt_bindSurface(struct hg3dclass_struct * thisclass_c, long attachment_c, struct hg3dclass_struct * target_c);
 
 // 
-void ogre_mrt_unbindSurface(struct hg3dclass_struct * thisclass_c, int attachment_c);
+void ogre_mrt_unbindSurface(struct hg3dclass_struct * thisclass_c, long attachment_c);
 
 // 
-void ogre_mrt_getBoundSurface(struct hg3dclass_struct * thisclass_c, int index_c, struct hg3dclass_struct * result_c);
+void ogre_mrt_getBoundSurface(struct hg3dclass_struct * thisclass_c, long index_c, struct hg3dclass_struct * result_c);
 
 #endif 
diff --git a/include/ClassNode.h b/include/ClassNode.h
--- a/include/ClassNode.h
+++ b/include/ClassNode.h
@@ -72,16 +72,16 @@
 void ogre_nd_getScale(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);
 
 // 
-void ogre_nd_setInheritOrientation(struct hg3dclass_struct * thisclass_c, int inherit_c);
+void ogre_nd_setInheritOrientation(struct hg3dclass_struct * thisclass_c, long inherit_c);
 
 // 
-void ogre_nd_getInheritOrientation(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_nd_getInheritOrientation(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_nd_setInheritScale(struct hg3dclass_struct * thisclass_c, int inherit_c);
+void ogre_nd_setInheritScale(struct hg3dclass_struct * thisclass_c, long inherit_c);
 
 // 
-void ogre_nd_getInheritScale(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_nd_getInheritScale(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_nd_scale(struct hg3dclass_struct * thisclass_c, struct vector3_struct * scale_c);
@@ -171,10 +171,10 @@
 void ogre_nd_getSquaredViewDepth(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c, float * result_c);
 
 // 
-void ogre_nd_needUpdate(struct hg3dclass_struct * thisclass_c, int forceParentUpdate_c);
+void ogre_nd_needUpdate(struct hg3dclass_struct * thisclass_c, long forceParentUpdate_c);
 
 // 
-void ogre_nd_requestUpdate(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * child_c, int forceParentUpdate_c);
+void ogre_nd_requestUpdate(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * child_c, long forceParentUpdate_c);
 
 // 
 void ogre_nd_cancelUpdate(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * child_c);
diff --git a/include/ClassNodeAnimationTrack.h b/include/ClassNodeAnimationTrack.h
--- a/include/ClassNodeAnimationTrack.h
+++ b/include/ClassNodeAnimationTrack.h
@@ -46,16 +46,16 @@
 void ogre_noat_applyToNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * node_c, struct hg3dclass_struct * timeIndex_c, float weight_c, float scale_c);
 
 // 
-void ogre_noat_setUseShortestRotationPath(struct hg3dclass_struct * thisclass_c, int useShortestPath_c);
+void ogre_noat_setUseShortestRotationPath(struct hg3dclass_struct * thisclass_c, long useShortestPath_c);
 
 // 
-void ogre_noat_getUseShortestRotationPath(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_noat_getUseShortestRotationPath(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_noat_apply(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * timeIndex_c, float weight_c, float scale_c);
 
 // 
-void ogre_noat_hasNonZeroKeyFrames(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_noat_hasNonZeroKeyFrames(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_noat_optimise(struct hg3dclass_struct * thisclass_c);
diff --git a/include/ClassRenderSystem.h b/include/ClassRenderSystem.h
--- a/include/ClassRenderSystem.h
+++ b/include/ClassRenderSystem.h
@@ -53,13 +53,13 @@
 void ogre_rds_setAmbientLight(struct hg3dclass_struct * thisclass_c, float r_c, float g_c, float b_c);
 
 // 
-void ogre_rds_setLightingEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_rds_setLightingEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // 
-void ogre_rds_setWBufferEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_rds_setWBufferEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // 
-void ogre_rds_getWBufferEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rds_getWBufferEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_rds_createMultiRenderTarget(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
@@ -83,34 +83,34 @@
 void ogre_rds_detachRenderTarget(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_rds_getErrorDescription(struct hg3dclass_struct * thisclass_c, int errorNumber_c, char * result_c);
+void ogre_rds_getErrorDescription(struct hg3dclass_struct * thisclass_c, long errorNumber_c, char * result_c);
 
 // 
-void ogre_rds_setWaitForVerticalBlank(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_rds_setWaitForVerticalBlank(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // 
-void ogre_rds_getWaitForVerticalBlank(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rds_getWaitForVerticalBlank(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rds_getGlobalNumberOfInstances(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rds_getGlobalNumberOfInstances(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rds_setGlobalNumberOfInstances(struct hg3dclass_struct * thisclass_c, const int val_c);
+void ogre_rds_setGlobalNumberOfInstances(struct hg3dclass_struct * thisclass_c, const long val_c);
 
 // 
 void ogre_rds_setDepthBufferFor(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * renderTarget_c);
 
 // 
-void ogre_rds_areFixedFunctionLightsInViewSpace(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rds_areFixedFunctionLightsInViewSpace(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rds_convertColourValue(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * colour_c, unsigned int * pDest_c);
+void ogre_rds_convertColourValue(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * colour_c, unsigned long * pDest_c);
 
 // 
-void ogre_rds_setStencilCheckEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_rds_setStencilCheckEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // 
-void ogre_rds_setNormaliseNormals(struct hg3dclass_struct * thisclass_c, int normalise_c);
+void ogre_rds_setNormaliseNormals(struct hg3dclass_struct * thisclass_c, long normalise_c);
 
 // 
 void ogre_rds_bindGpuProgramPassIterationParameters(struct hg3dclass_struct * thisclass_c, enum EnumGpuProgramType gptype_c);
@@ -119,7 +119,7 @@
 void ogre_rds_unbindGpuProgram(struct hg3dclass_struct * thisclass_c, enum EnumGpuProgramType gptype_c);
 
 // 
-void ogre_rds_isGpuProgramBound(struct hg3dclass_struct * thisclass_c, enum EnumGpuProgramType gptype_c, int * result_c);
+void ogre_rds_isGpuProgramBound(struct hg3dclass_struct * thisclass_c, enum EnumGpuProgramType gptype_c, long * result_c);
 
 // 
 void ogre_rds_addClipPlane2(struct hg3dclass_struct * thisclass_c, float A_c, float B_c, float C_c, float D_c);
@@ -128,16 +128,16 @@
 void ogre_rds_resetClipPlanes(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_rds_setInvertVertexWinding(struct hg3dclass_struct * thisclass_c, int invert_c);
+void ogre_rds_setInvertVertexWinding(struct hg3dclass_struct * thisclass_c, long invert_c);
 
 // 
-void ogre_rds_getInvertVertexWinding(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rds_getInvertVertexWinding(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rds_setScissorTest(struct hg3dclass_struct * thisclass_c, int enabled_c, int left_c, int top_c, int right_c, int bottom_c);
+void ogre_rds_setScissorTest(struct hg3dclass_struct * thisclass_c, long enabled_c, long left_c, long top_c, long right_c, long bottom_c);
 
 // 
-void ogre_rds_clearFrameBuffer(struct hg3dclass_struct * thisclass_c, unsigned int buffers_c, struct colourvalue_struct * colour_c, float depth_c, unsigned short stencil_c);
+void ogre_rds_clearFrameBuffer(struct hg3dclass_struct * thisclass_c, unsigned long buffers_c, struct colourvalue_struct * colour_c, float depth_c, unsigned short stencil_c);
 
 // 
 void ogre_rds_getHorizontalTexelOffset(struct hg3dclass_struct * thisclass_c, float * result_c);
@@ -152,10 +152,10 @@
 void ogre_rds_getMaximumDepthInputValue(struct hg3dclass_struct * thisclass_c, float * result_c);
 
 // 
-void ogre_rds_setCurrentPassIterationCount(struct hg3dclass_struct * thisclass_c, const int count_c);
+void ogre_rds_setCurrentPassIterationCount(struct hg3dclass_struct * thisclass_c, const long count_c);
 
 // 
-void ogre_rds_setDeriveDepthBias(struct hg3dclass_struct * thisclass_c, int derive_c, float baseValue_c, float multiplier_c, float slopeScale_c);
+void ogre_rds_setDeriveDepthBias(struct hg3dclass_struct * thisclass_c, long derive_c, float baseValue_c, float multiplier_c, float slopeScale_c);
 
 // 
 void ogre_rds_preExtraThreadsStarted(struct hg3dclass_struct * thisclass_c);
@@ -170,7 +170,7 @@
 void ogre_rds_unregisterThread(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_rds_getDisplayMonitorCount(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_rds_getDisplayMonitorCount(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
 void ogre_rds_beginProfileEvent(struct hg3dclass_struct * thisclass_c, char * eventName_c);
diff --git a/include/ClassRenderTarget.h b/include/ClassRenderTarget.h
--- a/include/ClassRenderTarget.h
+++ b/include/ClassRenderTarget.h
@@ -36,16 +36,16 @@
 void ogre_rtgt_getName(struct hg3dclass_struct * thisclass_c, char * result_c);
 
 // Retrieve information about the render target. 
-void ogre_rtgt_getMetrics(struct hg3dclass_struct * thisclass_c, unsigned int * width_c, unsigned int * height_c, unsigned int * colourDepth_c);
+void ogre_rtgt_getMetrics(struct hg3dclass_struct * thisclass_c, unsigned long * width_c, unsigned long * height_c, unsigned long * colourDepth_c);
 
 // 
-void ogre_rtgt_getWidth(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_rtgt_getWidth(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
-void ogre_rtgt_getHeight(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_rtgt_getHeight(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
-void ogre_rtgt_getColourDepth(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_rtgt_getColourDepth(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
 void ogre_rtgt_setDepthBufferPool(struct hg3dclass_struct * thisclass_c, unsigned short poolId_c);
@@ -57,13 +57,13 @@
 void ogre_rtgt_detachDepthBuffer(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_rtgt_update(struct hg3dclass_struct * thisclass_c, int swapBuffers_c);
+void ogre_rtgt_update(struct hg3dclass_struct * thisclass_c, long swapBuffers_c);
 
 // 
-void ogre_rtgt_swapBuffers(struct hg3dclass_struct * thisclass_c, int waitForVSync_c);
+void ogre_rtgt_swapBuffers(struct hg3dclass_struct * thisclass_c, long waitForVSync_c);
 
 // 
-void ogre_rtgt_addViewport(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c, int ZOrder_c, float left_c, float top_c, float width_c, float height_c, struct hg3dclass_struct * result_c);
+void ogre_rtgt_addViewport(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c, long ZOrder_c, float left_c, float top_c, float width_c, float height_c, struct hg3dclass_struct * result_c);
 
 // 
 void ogre_rtgt_getNumViewports(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);
@@ -72,13 +72,13 @@
 void ogre_rtgt_getViewport(struct hg3dclass_struct * thisclass_c, unsigned short index_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_rtgt_getViewportByZOrder(struct hg3dclass_struct * thisclass_c, int ZOrder_c, struct hg3dclass_struct * result_c);
+void ogre_rtgt_getViewportByZOrder(struct hg3dclass_struct * thisclass_c, long ZOrder_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_rtgt_hasViewportWithZOrder(struct hg3dclass_struct * thisclass_c, int ZOrder_c, int * result_c);
+void ogre_rtgt_hasViewportWithZOrder(struct hg3dclass_struct * thisclass_c, long ZOrder_c, long * result_c);
 
 // 
-void ogre_rtgt_removeViewport(struct hg3dclass_struct * thisclass_c, int ZOrder_c);
+void ogre_rtgt_removeViewport(struct hg3dclass_struct * thisclass_c, long ZOrder_c);
 
 // 
 void ogre_rtgt_removeAllViewports(struct hg3dclass_struct * thisclass_c);
@@ -111,16 +111,16 @@
 void ogre_rtgt_removeAllListeners(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_rtgt_isActive(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rtgt_isActive(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rtgt_setActive(struct hg3dclass_struct * thisclass_c, int state_c);
+void ogre_rtgt_setActive(struct hg3dclass_struct * thisclass_c, long state_c);
 
 // 
-void ogre_rtgt_setAutoUpdated(struct hg3dclass_struct * thisclass_c, int autoupdate_c);
+void ogre_rtgt_setAutoUpdated(struct hg3dclass_struct * thisclass_c, long autoupdate_c);
 
 // 
-void ogre_rtgt_isAutoUpdated(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rtgt_isAutoUpdated(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_rtgt_writeContentsToFile(struct hg3dclass_struct * thisclass_c, char * filename_c);
@@ -129,22 +129,22 @@
 void ogre_rtgt_writeContentsToTimestampedFile(struct hg3dclass_struct * thisclass_c, char * filenamePrefix_c, char * filenameSuffix_c, char * result_c);
 
 // 
-void ogre_rtgt_requiresTextureFlipping(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rtgt_requiresTextureFlipping(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rtgt_getTriangleCount(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rtgt_getTriangleCount(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rtgt_getBatchCount(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rtgt_getBatchCount(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rtgt_isPrimary(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rtgt_isPrimary(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rtgt_isHardwareGammaEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rtgt_isHardwareGammaEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rtgt_getFSAA(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_rtgt_getFSAA(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
 void ogre_rtgt_getFSAAHint(struct hg3dclass_struct * thisclass_c, char * result_c);
diff --git a/include/ClassRenderWindow.h b/include/ClassRenderWindow.h
--- a/include/ClassRenderWindow.h
+++ b/include/ClassRenderWindow.h
@@ -28,63 +28,63 @@
 
 
 // 
-void ogre_rw_setFullscreen(struct hg3dclass_struct * thisclass_c, int fullScreen_c, unsigned int width_c, unsigned int height_c);
+void ogre_rw_setFullscreen(struct hg3dclass_struct * thisclass_c, long fullScreen_c, unsigned long width_c, unsigned long height_c);
 
 // 
 void ogre_rw_destroy(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_rw_resize(struct hg3dclass_struct * thisclass_c, unsigned int width_c, unsigned int height_c);
+void ogre_rw_resize(struct hg3dclass_struct * thisclass_c, unsigned long width_c, unsigned long height_c);
 
 // 
 void ogre_rw_windowMovedOrResized(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_rw_reposition(struct hg3dclass_struct * thisclass_c, int left_c, int top_c);
+void ogre_rw_reposition(struct hg3dclass_struct * thisclass_c, long left_c, long top_c);
 
 // 
-void ogre_rw_isVisible(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rw_isVisible(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rw_setVisible(struct hg3dclass_struct * thisclass_c, int visible_c);
+void ogre_rw_setVisible(struct hg3dclass_struct * thisclass_c, long visible_c);
 
 // 
-void ogre_rw_isHidden(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rw_isHidden(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rw_setHidden(struct hg3dclass_struct * thisclass_c, int hidden_c);
+void ogre_rw_setHidden(struct hg3dclass_struct * thisclass_c, long hidden_c);
 
 // 
-void ogre_rw_setVSyncEnabled(struct hg3dclass_struct * thisclass_c, int vsync_c);
+void ogre_rw_setVSyncEnabled(struct hg3dclass_struct * thisclass_c, long vsync_c);
 
 // 
-void ogre_rw_isVSyncEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rw_isVSyncEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rw_setVSyncInterval(struct hg3dclass_struct * thisclass_c, unsigned int interval_c);
+void ogre_rw_setVSyncInterval(struct hg3dclass_struct * thisclass_c, unsigned long interval_c);
 
 // 
-void ogre_rw_getVSyncInterval(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_rw_getVSyncInterval(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
-void ogre_rw_isActive(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rw_isActive(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rw_isClosed(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rw_isClosed(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rw_isPrimary(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rw_isPrimary(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rw_isFullScreen(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rw_isFullScreen(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rw_getMetrics(struct hg3dclass_struct * thisclass_c, unsigned int * width_c, unsigned int * height_c, unsigned int * colourDepth_c, int * left_c, int * top_c);
+void ogre_rw_getMetrics(struct hg3dclass_struct * thisclass_c, unsigned long * width_c, unsigned long * height_c, unsigned long * colourDepth_c, long * left_c, long * top_c);
 
 // 
-void ogre_rw_isDeactivatedOnFocusChange(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rw_isDeactivatedOnFocusChange(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rw_setDeactivateOnFocusChange(struct hg3dclass_struct * thisclass_c, int deactivate_c);
+void ogre_rw_setDeactivateOnFocusChange(struct hg3dclass_struct * thisclass_c, long deactivate_c);
 
 #endif 
diff --git a/include/ClassRenderable.h b/include/ClassRenderable.h
--- a/include/ClassRenderable.h
+++ b/include/ClassRenderable.h
@@ -38,7 +38,7 @@
 void ogre_rndl_getMaterial(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * result_c);
 
 // 
-void ogre_rndl_preRender(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * sm_c, struct hg3dclass_struct * rsys_c, int * result_c);
+void ogre_rndl_preRender(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * sm_c, struct hg3dclass_struct * rsys_c, long * result_c);
 
 // 
 void ogre_rndl_postRender(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * sm_c, struct hg3dclass_struct * rsys_c);
@@ -47,33 +47,33 @@
 void ogre_rndl_getNumWorldTransforms(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);
 
 // 
-void ogre_rndl_setUseIdentityProjection(struct hg3dclass_struct * thisclass_c, int useIdentityProjection_c);
+void ogre_rndl_setUseIdentityProjection(struct hg3dclass_struct * thisclass_c, long useIdentityProjection_c);
 
 // 
-void ogre_rndl_getUseIdentityProjection(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rndl_getUseIdentityProjection(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rndl_setUseIdentityView(struct hg3dclass_struct * thisclass_c, int useIdentityView_c);
+void ogre_rndl_setUseIdentityView(struct hg3dclass_struct * thisclass_c, long useIdentityView_c);
 
 // 
-void ogre_rndl_getUseIdentityView(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rndl_getUseIdentityView(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_rndl_getSquaredViewDepth(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c, float * result_c);
 
 // 
-void ogre_rndl_getCastsShadows(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rndl_getCastsShadows(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rndl_removeCustomParameter(struct hg3dclass_struct * thisclass_c, int index_c);
+void ogre_rndl_removeCustomParameter(struct hg3dclass_struct * thisclass_c, long index_c);
 
 // 
-void ogre_rndl_hasCustomParameter(struct hg3dclass_struct * thisclass_c, int index_c, int * result_c);
+void ogre_rndl_hasCustomParameter(struct hg3dclass_struct * thisclass_c, long index_c, long * result_c);
 
 // 
-void ogre_rndl_setPolygonModeOverrideable(struct hg3dclass_struct * thisclass_c, int override_c);
+void ogre_rndl_setPolygonModeOverrideable(struct hg3dclass_struct * thisclass_c, long override_c);
 
 // 
-void ogre_rndl_getPolygonModeOverrideable(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rndl_getPolygonModeOverrideable(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 #endif 
diff --git a/include/ClassResource.h b/include/ClassResource.h
--- a/include/ClassResource.h
+++ b/include/ClassResource.h
@@ -32,25 +32,25 @@
 void ogre_rsrc_destruct(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_rsrc_prepare(struct hg3dclass_struct * thisclass_c, int backgroundThread_c);
+void ogre_rsrc_prepare(struct hg3dclass_struct * thisclass_c, long backgroundThread_c);
 
 // 
-void ogre_rsrc_load(struct hg3dclass_struct * thisclass_c, int backgroundThread_c);
+void ogre_rsrc_load(struct hg3dclass_struct * thisclass_c, long backgroundThread_c);
 
 // 
 void ogre_rsrc_reload(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_rsrc_isReloadable(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rsrc_isReloadable(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rsrc_isManuallyLoaded(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rsrc_isManuallyLoaded(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_rsrc_unload(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_rsrc_getSize(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rsrc_getSize(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_rsrc_touch(struct hg3dclass_struct * thisclass_c);
@@ -59,19 +59,19 @@
 void ogre_rsrc_getName(struct hg3dclass_struct * thisclass_c, char * result_c);
 
 // 
-void ogre_rsrc_isPrepared(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rsrc_isPrepared(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rsrc_isLoaded(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rsrc_isLoaded(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rsrc_isLoading(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rsrc_isLoading(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rsrc_isBackgroundLoaded(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rsrc_isBackgroundLoaded(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rsrc_setBackgroundLoaded(struct hg3dclass_struct * thisclass_c, int bl_c);
+void ogre_rsrc_setBackgroundLoaded(struct hg3dclass_struct * thisclass_c, long bl_c);
 
 // 
 void ogre_rsrc_escalateLoading(struct hg3dclass_struct * thisclass_c);
@@ -89,6 +89,6 @@
 void ogre_rsrc_getOrigin(struct hg3dclass_struct * thisclass_c, char * result_c);
 
 // 
-void ogre_rsrc_getStateCount(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rsrc_getStateCount(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 #endif 
diff --git a/include/ClassResourceGroupManager.h b/include/ClassResourceGroupManager.h
--- a/include/ClassResourceGroupManager.h
+++ b/include/ClassResourceGroupManager.h
@@ -35,7 +35,7 @@
 void ogre_rgmgr_destruct(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_rgmgr_createResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c, const int inGlobalPool_c);
+void ogre_rgmgr_createResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c, const long inGlobalPool_c);
 
 // 
 void ogre_rgmgr_initialiseResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c);
@@ -44,16 +44,16 @@
 void ogre_rgmgr_initialiseAllResourceGroups(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_rgmgr_prepareResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c, int prepareMainResources_c, int prepareWorldGeom_c);
+void ogre_rgmgr_prepareResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c, long prepareMainResources_c, long prepareWorldGeom_c);
 
 // 
-void ogre_rgmgr_loadResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c, int loadMainResources_c, int loadWorldGeom_c);
+void ogre_rgmgr_loadResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c, long loadMainResources_c, long loadWorldGeom_c);
 
 // 
-void ogre_rgmgr_unloadResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c, int reloadableOnly_c);
+void ogre_rgmgr_unloadResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c, long reloadableOnly_c);
 
 // 
-void ogre_rgmgr_unloadUnreferencedResourcesInGroup(struct hg3dclass_struct * thisclass_c, char * name_c, int reloadableOnly_c);
+void ogre_rgmgr_unloadUnreferencedResourcesInGroup(struct hg3dclass_struct * thisclass_c, char * name_c, long reloadableOnly_c);
 
 // 
 void ogre_rgmgr_clearResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c);
@@ -62,31 +62,31 @@
 void ogre_rgmgr_destroyResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c);
 
 // 
-void ogre_rgmgr_isResourceGroupInitialised(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_rgmgr_isResourceGroupInitialised(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
-void ogre_rgmgr_isResourceGroupLoaded(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_rgmgr_isResourceGroupLoaded(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
-void ogre_rgmgr_resourceGroupExists(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_rgmgr_resourceGroupExists(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
-void ogre_rgmgr_addResourceLocation(struct hg3dclass_struct * thisclass_c, char * name_c, char * locType_c, char * resGroup_c, int recursive_c);
+void ogre_rgmgr_addResourceLocation(struct hg3dclass_struct * thisclass_c, char * name_c, char * locType_c, char * resGroup_c, long recursive_c);
 
 // 
 void ogre_rgmgr_removeResourceLocation(struct hg3dclass_struct * thisclass_c, char * name_c, char * resGroup_c);
 
 // 
-void ogre_rgmgr_resourceLocationExists(struct hg3dclass_struct * thisclass_c, char * name_c, char * resGroup_c, int * result_c);
+void ogre_rgmgr_resourceLocationExists(struct hg3dclass_struct * thisclass_c, char * name_c, char * resGroup_c, long * result_c);
 
 // 
 void ogre_rgmgr_undeclareResource(struct hg3dclass_struct * thisclass_c, char * name_c, char * groupName_c);
 
 // 
-void ogre_rgmgr_resourceExists(struct hg3dclass_struct * thisclass_c, char * group_c, char * filename_c, int * result_c);
+void ogre_rgmgr_resourceExists(struct hg3dclass_struct * thisclass_c, char * group_c, char * filename_c, long * result_c);
 
 // 
-void ogre_rgmgr_resourceExistsInAnyGroup(struct hg3dclass_struct * thisclass_c, char * filename_c, int * result_c);
+void ogre_rgmgr_resourceExistsInAnyGroup(struct hg3dclass_struct * thisclass_c, char * filename_c, long * result_c);
 
 // 
 void ogre_rgmgr_findGroupContainingResource(struct hg3dclass_struct * thisclass_c, char * filename_c, char * result_c);
@@ -110,7 +110,7 @@
 void ogre_rgmgr_unlinkWorldGeometryFromResourceGroup(struct hg3dclass_struct * thisclass_c, char * group_c);
 
 // 
-void ogre_rgmgr_isResourceGroupInGlobalPool(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_rgmgr_isResourceGroupInGlobalPool(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_rgmgr_shutdownAll(struct hg3dclass_struct * thisclass_c);
diff --git a/include/ClassResourceManager.h b/include/ClassResourceManager.h
--- a/include/ClassResourceManager.h
+++ b/include/ClassResourceManager.h
@@ -31,28 +31,28 @@
 void ogre_rsrcmgr_destruct(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_rsrcmgr_setMemoryBudget(struct hg3dclass_struct * thisclass_c, int bytes_c);
+void ogre_rsrcmgr_setMemoryBudget(struct hg3dclass_struct * thisclass_c, long bytes_c);
 
 // 
-void ogre_rsrcmgr_getMemoryBudget(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rsrcmgr_getMemoryBudget(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rsrcmgr_getMemoryUsage(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rsrcmgr_getMemoryUsage(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_rsrcmgr_unload(struct hg3dclass_struct * thisclass_c, char * name_c);
 
 // 
-void ogre_rsrcmgr_unloadAll(struct hg3dclass_struct * thisclass_c, int reloadableOnly_c);
+void ogre_rsrcmgr_unloadAll(struct hg3dclass_struct * thisclass_c, long reloadableOnly_c);
 
 // 
-void ogre_rsrcmgr_reloadAll(struct hg3dclass_struct * thisclass_c, int reloadableOnly_c);
+void ogre_rsrcmgr_reloadAll(struct hg3dclass_struct * thisclass_c, long reloadableOnly_c);
 
 // 
-void ogre_rsrcmgr_unloadUnreferencedResources(struct hg3dclass_struct * thisclass_c, int reloadableOnly_c);
+void ogre_rsrcmgr_unloadUnreferencedResources(struct hg3dclass_struct * thisclass_c, long reloadableOnly_c);
 
 // 
-void ogre_rsrcmgr_reloadUnreferencedResources(struct hg3dclass_struct * thisclass_c, int reloadableOnly_c);
+void ogre_rsrcmgr_reloadUnreferencedResources(struct hg3dclass_struct * thisclass_c, long reloadableOnly_c);
 
 // 
 void ogre_rsrcmgr_remove2(struct hg3dclass_struct * thisclass_c, char * name_c);
@@ -61,10 +61,10 @@
 void ogre_rsrcmgr_removeAll(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_rsrcmgr_removeUnreferencedResources(struct hg3dclass_struct * thisclass_c, int reloadableOnly_c);
+void ogre_rsrcmgr_removeUnreferencedResources(struct hg3dclass_struct * thisclass_c, long reloadableOnly_c);
 
 // Returns whether the named resource exists in this manager. 
-void ogre_rsrcmgr_resourceExists(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_rsrcmgr_resourceExists(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_rsrcmgr_getLoadingOrder(struct hg3dclass_struct * thisclass_c, float * result_c);
@@ -73,10 +73,10 @@
 void ogre_rsrcmgr_getResourceType(struct hg3dclass_struct * thisclass_c, char * result_c);
 
 // 
-void ogre_rsrcmgr_setVerbose(struct hg3dclass_struct * thisclass_c, int v_c);
+void ogre_rsrcmgr_setVerbose(struct hg3dclass_struct * thisclass_c, long v_c);
 
 // 
-void ogre_rsrcmgr_getVerbose(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rsrcmgr_getVerbose(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // Destroy a resource pool. 
 void ogre_rsrcmgr_destroyResourcePool2(struct hg3dclass_struct * thisclass_c, char * name_c);
diff --git a/include/ClassRoot.h b/include/ClassRoot.h
--- a/include/ClassRoot.h
+++ b/include/ClassRoot.h
@@ -46,10 +46,10 @@
 void ogre_rt_saveConfig(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_rt_restoreConfig(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rt_restoreConfig(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rt_showConfigDialog(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rt_showConfigDialog(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_rt_addRenderSystem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * newRend_c);
@@ -64,16 +64,16 @@
 void ogre_rt_getRenderSystem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_rt_initialise(struct hg3dclass_struct * thisclass_c, int autoCreateWindow_c, char * windowTitle_c, char * customCapabilitiesConfig_c, struct hg3dclass_struct * result_c);
+void ogre_rt_initialise(struct hg3dclass_struct * thisclass_c, long autoCreateWindow_c, char * windowTitle_c, char * customCapabilitiesConfig_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_rt_isInitialised(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rt_isInitialised(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rt_getRemoveRenderQueueStructuresOnClear(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rt_getRemoveRenderQueueStructuresOnClear(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rt_setRemoveRenderQueueStructuresOnClear(struct hg3dclass_struct * thisclass_c, int r_c);
+void ogre_rt_setRemoveRenderQueueStructuresOnClear(struct hg3dclass_struct * thisclass_c, long r_c);
 
 // 
 void ogre_rt_addSceneManagerFactory(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * fact_c);
@@ -91,7 +91,7 @@
 void ogre_rt_getSceneManager(struct hg3dclass_struct * thisclass_c, char * instanceName_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_rt_hasSceneManager(struct hg3dclass_struct * thisclass_c, char * instanceName_c, int * result_c);
+void ogre_rt_hasSceneManager(struct hg3dclass_struct * thisclass_c, char * instanceName_c, long * result_c);
 
 // 
 void ogre_rt_getTextureManager(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
@@ -100,7 +100,7 @@
 void ogre_rt_getMeshManager(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_rt_getErrorDescription(struct hg3dclass_struct * thisclass_c, int errorNumber_c, char * result_c);
+void ogre_rt_getErrorDescription(struct hg3dclass_struct * thisclass_c, long errorNumber_c, char * result_c);
 
 // 
 void ogre_rt_queueEndRendering(struct hg3dclass_struct * thisclass_c);
@@ -109,22 +109,22 @@
 void ogre_rt_startRendering(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_rt_renderOneFrame(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rt_renderOneFrame(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rt_renderOneFrame2(struct hg3dclass_struct * thisclass_c, float timeSinceLastFrame_c, int * result_c);
+void ogre_rt_renderOneFrame2(struct hg3dclass_struct * thisclass_c, float timeSinceLastFrame_c, long * result_c);
 
 // 
 void ogre_rt_shutdown(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_rt_addResourceLocation(struct hg3dclass_struct * thisclass_c, char * name_c, char * locType_c, char * groupName_c, int recursive_c);
+void ogre_rt_addResourceLocation(struct hg3dclass_struct * thisclass_c, char * name_c, char * locType_c, char * groupName_c, long recursive_c);
 
 // 
 void ogre_rt_removeResourceLocation(struct hg3dclass_struct * thisclass_c, char * name_c, char * groupName_c);
 
 // 
-void ogre_rt_convertColourValue(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * colour_c, unsigned int * pDest_c);
+void ogre_rt_convertColourValue(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * colour_c, unsigned long * pDest_c);
 
 // 
 void ogre_rt_getAutoCreatedWindow(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
@@ -151,6 +151,9 @@
 void ogre_rt_unloadPlugin(struct hg3dclass_struct * thisclass_c, char * pluginName_c);
 
 // 
+void ogre_rt_getNextFrameNumber(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
+
+// 
 void ogre_rt_destroyRenderQueueInvocationSequence(struct hg3dclass_struct * thisclass_c, char * name_c);
 
 // 
@@ -166,31 +169,31 @@
 void ogre_rt_getFrameSmoothingPeriod(struct hg3dclass_struct * thisclass_c, float * result_c);
 
 // 
-void ogre_rt_addMovableObjectFactory(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * fact_c, int overrideExisting_c);
+void ogre_rt_addMovableObjectFactory(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * fact_c, long overrideExisting_c);
 
 // 
 void ogre_rt_removeMovableObjectFactory(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * fact_c);
 
 // Checks whether a factory is registered for a given MovableObject
-void ogre_rt_hasMovableObjectFactory(struct hg3dclass_struct * thisclass_c, char * typeName_c, int * result_c);
+void ogre_rt_hasMovableObjectFactory(struct hg3dclass_struct * thisclass_c, char * typeName_c, long * result_c);
 
 // Get a MovableObjectFactory
 void ogre_rt_getMovableObjectFactory(struct hg3dclass_struct * thisclass_c, char * typeName_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_rt_getDisplayMonitorCount(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_rt_getDisplayMonitorCount(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
-void ogre_rt_setBlendIndicesGpuRedundant(struct hg3dclass_struct * thisclass_c, int redundant_c);
+void ogre_rt_setBlendIndicesGpuRedundant(struct hg3dclass_struct * thisclass_c, long redundant_c);
 
 // 
-void ogre_rt_isBlendIndicesGpuRedundant(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rt_isBlendIndicesGpuRedundant(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_rt_setBlendWeightsGpuRedundant(struct hg3dclass_struct * thisclass_c, int redundant_c);
+void ogre_rt_setBlendWeightsGpuRedundant(struct hg3dclass_struct * thisclass_c, long redundant_c);
 
 // 
-void ogre_rt_isBlendWeightsGpuRedundant(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_rt_isBlendWeightsGpuRedundant(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_rt_setDefaultMinPixelSize(struct hg3dclass_struct * thisclass_c, float pixelSize_c);
diff --git a/include/ClassSceneManager.h b/include/ClassSceneManager.h
--- a/include/ClassSceneManager.h
+++ b/include/ClassSceneManager.h
@@ -61,7 +61,7 @@
 void ogre_scmgr_getCamera(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_scmgr_hasCamera(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_scmgr_hasCamera(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_scmgr_destroyCamera(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c);
@@ -82,7 +82,7 @@
 void ogre_scmgr_getLight(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_scmgr_hasLight(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_scmgr_hasLight(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_scmgr_destroyLight(struct hg3dclass_struct * thisclass_c, char * name_c);
@@ -112,7 +112,7 @@
 void ogre_scmgr_getSceneNode(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_scmgr_hasSceneNode(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_scmgr_hasSceneNode(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_scmgr_createEntity(struct hg3dclass_struct * thisclass_c, char * entityName_c, char * meshName_c, char * groupName_c, struct hg3dclass_struct * result_c);
@@ -136,7 +136,7 @@
 void ogre_scmgr_getEntity(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_scmgr_hasEntity(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_scmgr_hasEntity(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_scmgr_destroyEntity(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * ent_c);
@@ -157,7 +157,7 @@
 void ogre_scmgr_getManualObject(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_scmgr_hasManualObject(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_scmgr_hasManualObject(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_scmgr_destroyManualObject(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * obj_c);
@@ -178,7 +178,7 @@
 void ogre_scmgr_getBillboardChain(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_scmgr_hasBillboardChain(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_scmgr_hasBillboardChain(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_scmgr_destroyBillboardChain(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * obj_c);
@@ -190,7 +190,7 @@
 void ogre_scmgr_destroyAllBillboardChains(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_scmgr_hasRibbonTrail(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_scmgr_hasRibbonTrail(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_scmgr_destroyRibbonTrail2(struct hg3dclass_struct * thisclass_c, char * name_c);
@@ -199,7 +199,7 @@
 void ogre_scmgr_destroyAllRibbonTrails(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_scmgr_hasParticleSystem(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_scmgr_hasParticleSystem(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_scmgr_destroyParticleSystem2(struct hg3dclass_struct * thisclass_c, char * name_c);
@@ -223,40 +223,40 @@
 void ogre_scmgr_setWorldGeometry(struct hg3dclass_struct * thisclass_c, char * filename_c);
 
 // 
-void ogre_scmgr_estimateWorldGeometry(struct hg3dclass_struct * thisclass_c, char * filename_c, int * result_c);
+void ogre_scmgr_estimateWorldGeometry(struct hg3dclass_struct * thisclass_c, char * filename_c, long * result_c);
 
 // 
-void ogre_scmgr_hasOption(struct hg3dclass_struct * thisclass_c, char * strKey_c, int * result_c);
+void ogre_scmgr_hasOption(struct hg3dclass_struct * thisclass_c, char * strKey_c, long * result_c);
 
 // 
-void ogre_scmgr_setSkyPlaneEnabled(struct hg3dclass_struct * thisclass_c, int enable_c);
+void ogre_scmgr_setSkyPlaneEnabled(struct hg3dclass_struct * thisclass_c, long enable_c);
 
 // 
-void ogre_scmgr_isSkyPlaneEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_isSkyPlaneEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_scmgr_getSkyPlaneNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_scmgr_setSkyBox(struct hg3dclass_struct * thisclass_c, int enable_c, char * materialName_c, float distance_c, int drawFirst_c, struct quaternion_struct * orientation_c, char * groupName_c);
+void ogre_scmgr_setSkyBox(struct hg3dclass_struct * thisclass_c, long enable_c, char * materialName_c, float distance_c, long drawFirst_c, struct quaternion_struct * orientation_c, char * groupName_c);
 
 // 
-void ogre_scmgr_setSkyBoxEnabled(struct hg3dclass_struct * thisclass_c, int enable_c);
+void ogre_scmgr_setSkyBoxEnabled(struct hg3dclass_struct * thisclass_c, long enable_c);
 
 // 
-void ogre_scmgr_isSkyBoxEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_isSkyBoxEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_scmgr_getSkyBoxNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_scmgr_setSkyDome(struct hg3dclass_struct * thisclass_c, int enable_c, char * materialName_c, float curvature_c, float tiling_c, float distance_c, int drawFirst_c, struct quaternion_struct * orientation_c, int xsegments_c, int ysegments_c, int ysegments_keep_c, char * groupName_c);
+void ogre_scmgr_setSkyDome(struct hg3dclass_struct * thisclass_c, long enable_c, char * materialName_c, float curvature_c, float tiling_c, float distance_c, long drawFirst_c, struct quaternion_struct * orientation_c, long xsegments_c, long ysegments_c, long ysegments_keep_c, char * groupName_c);
 
 // 
-void ogre_scmgr_setSkyDomeEnabled(struct hg3dclass_struct * thisclass_c, int enable_c);
+void ogre_scmgr_setSkyDomeEnabled(struct hg3dclass_struct * thisclass_c, long enable_c);
 
 // 
-void ogre_scmgr_isSkyDomeEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_isSkyDomeEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_scmgr_getSkyDomeNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
@@ -274,16 +274,16 @@
 void ogre_scmgr_getFogDensity(struct hg3dclass_struct * thisclass_c, float * result_c);
 
 // 
-void ogre_scmgr_createBillboardSet(struct hg3dclass_struct * thisclass_c, char * name_c, unsigned int poolSize_c, struct hg3dclass_struct * result_c);
+void ogre_scmgr_createBillboardSet(struct hg3dclass_struct * thisclass_c, char * name_c, unsigned long poolSize_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_scmgr_createBillboardSet2(struct hg3dclass_struct * thisclass_c, unsigned int poolSize_c, struct hg3dclass_struct * result_c);
+void ogre_scmgr_createBillboardSet2(struct hg3dclass_struct * thisclass_c, unsigned long poolSize_c, struct hg3dclass_struct * result_c);
 
 // 
 void ogre_scmgr_getBillboardSet(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_scmgr_hasBillboardSet(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_scmgr_hasBillboardSet(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_scmgr_destroyBillboardSet(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * set_c);
@@ -295,10 +295,10 @@
 void ogre_scmgr_destroyAllBillboardSets(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_scmgr_setDisplaySceneNodes(struct hg3dclass_struct * thisclass_c, int display_c);
+void ogre_scmgr_setDisplaySceneNodes(struct hg3dclass_struct * thisclass_c, long display_c);
 
 // 
-void ogre_scmgr_getDisplaySceneNodes(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_getDisplaySceneNodes(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_scmgr_createAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, float length_c, struct hg3dclass_struct * result_c);
@@ -307,7 +307,7 @@
 void ogre_scmgr_getAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_scmgr_hasAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_scmgr_hasAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_scmgr_destroyAnimation(struct hg3dclass_struct * thisclass_c, char * name_c);
@@ -322,7 +322,7 @@
 void ogre_scmgr_getAnimationState(struct hg3dclass_struct * thisclass_c, char * animName_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_scmgr_hasAnimationState(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_scmgr_hasAnimationState(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_scmgr_destroyAnimationState(struct hg3dclass_struct * thisclass_c, char * name_c);
@@ -340,16 +340,16 @@
 void ogre_scmgr_getSpecialCaseRenderQueueMode(struct hg3dclass_struct * thisclass_c, enum EnumSceneManagerSpecialCaseRenderQueueMode * result_c);
 
 // 
-void ogre_scmgr_showBoundingBoxes(struct hg3dclass_struct * thisclass_c, int bShow_c);
+void ogre_scmgr_showBoundingBoxes(struct hg3dclass_struct * thisclass_c, long bShow_c);
 
 // 
-void ogre_scmgr_getShowBoundingBoxes(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_getShowBoundingBoxes(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_scmgr_setShowDebugShadows(struct hg3dclass_struct * thisclass_c, int debug_c);
+void ogre_scmgr_setShowDebugShadows(struct hg3dclass_struct * thisclass_c, long debug_c);
 
 // 
-void ogre_scmgr_getShowDebugShadows(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_getShowDebugShadows(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_scmgr_setShadowColour(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * colour_c);
@@ -373,10 +373,10 @@
 void ogre_scmgr_getShadowFarDistanceSquared(struct hg3dclass_struct * thisclass_c, float * result_c);
 
 // 
-void ogre_scmgr_setShadowIndexBufferSize(struct hg3dclass_struct * thisclass_c, int size_c);
+void ogre_scmgr_setShadowIndexBufferSize(struct hg3dclass_struct * thisclass_c, long size_c);
 
 // Get the size of the shadow index buffer. 
-void ogre_scmgr_getShadowIndexBufferSize(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_getShadowIndexBufferSize(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_scmgr_setShadowTextureSize(struct hg3dclass_struct * thisclass_c, unsigned short size_c);
@@ -385,19 +385,19 @@
 void ogre_scmgr_setShadowTextureFSAA(struct hg3dclass_struct * thisclass_c, unsigned short fsaa_c);
 
 // 
-void ogre_scmgr_setShadowTextureCount(struct hg3dclass_struct * thisclass_c, int count_c);
+void ogre_scmgr_setShadowTextureCount(struct hg3dclass_struct * thisclass_c, long count_c);
 
 // Get the number of the textures allocated for texture based shadows. 
-void ogre_scmgr_getShadowTextureCount(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_getShadowTextureCount(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_scmgr_setShadowTextureCountPerLightType(struct hg3dclass_struct * thisclass_c, enum EnumLightType type_c, int count_c);
+void ogre_scmgr_setShadowTextureCountPerLightType(struct hg3dclass_struct * thisclass_c, enum EnumLightType type_c, long count_c);
 
 // Get the number of shadow textures is assigned for the given light type. 
-void ogre_scmgr_getShadowTextureCountPerLightType(struct hg3dclass_struct * thisclass_c, enum EnumLightType type_c, int * result_c);
+void ogre_scmgr_getShadowTextureCountPerLightType(struct hg3dclass_struct * thisclass_c, enum EnumLightType type_c, long * result_c);
 
 // 
-void ogre_scmgr_getShadowTexture(struct hg3dclass_struct * thisclass_c, int shadowIndex_c, struct sharedptr_struct * result_c);
+void ogre_scmgr_getShadowTexture(struct hg3dclass_struct * thisclass_c, long shadowIndex_c, struct sharedptr_struct * result_c);
 
 // 
 void ogre_scmgr_setShadowDirLightTextureOffset(struct hg3dclass_struct * thisclass_c, float offset_c);
@@ -412,10 +412,10 @@
 void ogre_scmgr_setShadowTextureFadeEnd(struct hg3dclass_struct * thisclass_c, float fadeEnd_c);
 
 // 
-void ogre_scmgr_setShadowTextureSelfShadow(struct hg3dclass_struct * thisclass_c, int selfShadow_c);
+void ogre_scmgr_setShadowTextureSelfShadow(struct hg3dclass_struct * thisclass_c, long selfShadow_c);
 
 // Gets whether or not texture shadows attempt to self-shadow. 
-void ogre_scmgr_getShadowTextureSelfShadow(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_getShadowTextureSelfShadow(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_scmgr_setShadowTextureCasterMaterial(struct hg3dclass_struct * thisclass_c, char * name_c);
@@ -424,46 +424,46 @@
 void ogre_scmgr_setShadowTextureReceiverMaterial(struct hg3dclass_struct * thisclass_c, char * name_c);
 
 // 
-void ogre_scmgr_setShadowCasterRenderBackFaces(struct hg3dclass_struct * thisclass_c, int bf_c);
+void ogre_scmgr_setShadowCasterRenderBackFaces(struct hg3dclass_struct * thisclass_c, long bf_c);
 
 // 
-void ogre_scmgr_getShadowCasterRenderBackFaces(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_getShadowCasterRenderBackFaces(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_scmgr_setShadowUseInfiniteFarPlane(struct hg3dclass_struct * thisclass_c, int enable_c);
+void ogre_scmgr_setShadowUseInfiniteFarPlane(struct hg3dclass_struct * thisclass_c, long enable_c);
 
 // 
-void ogre_scmgr_isShadowTechniqueStencilBased(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_isShadowTechniqueStencilBased(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_scmgr_isShadowTechniqueTextureBased(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_isShadowTechniqueTextureBased(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_scmgr_isShadowTechniqueModulative(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_isShadowTechniqueModulative(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_scmgr_isShadowTechniqueAdditive(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_isShadowTechniqueAdditive(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_scmgr_isShadowTechniqueIntegrated(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_isShadowTechniqueIntegrated(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_scmgr_isShadowTechniqueInUse(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_isShadowTechniqueInUse(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_scmgr_setShadowUseLightClipPlanes(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_scmgr_setShadowUseLightClipPlanes(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // 
-void ogre_scmgr_getShadowUseLightClipPlanes(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_getShadowUseLightClipPlanes(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_scmgr_setLateMaterialResolving(struct hg3dclass_struct * thisclass_c, int isLate_c);
+void ogre_scmgr_setLateMaterialResolving(struct hg3dclass_struct * thisclass_c, long isLate_c);
 
 // 
-void ogre_scmgr_isLateMaterialResolving(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_isLateMaterialResolving(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_scmgr_hasStaticGeometry(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_scmgr_hasStaticGeometry(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_scmgr_destroyStaticGeometry2(struct hg3dclass_struct * thisclass_c, char * name_c);
@@ -478,7 +478,7 @@
 void ogre_scmgr_destroyAllInstancedGeometry(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_scmgr_hasInstanceManager(struct hg3dclass_struct * thisclass_c, char * managerName_c, int * result_c);
+void ogre_scmgr_hasInstanceManager(struct hg3dclass_struct * thisclass_c, char * managerName_c, long * result_c);
 
 // 
 void ogre_scmgr_destroyInstanceManager(struct hg3dclass_struct * thisclass_c, char * name_c);
@@ -502,7 +502,7 @@
 void ogre_scmgr_getMovableObject(struct hg3dclass_struct * thisclass_c, char * name_c, char * typeName_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_scmgr_hasMovableObject(struct hg3dclass_struct * thisclass_c, char * name_c, char * typeName_c, int * result_c);
+void ogre_scmgr_hasMovableObject(struct hg3dclass_struct * thisclass_c, char * name_c, char * typeName_c, long * result_c);
 
 // 
 void ogre_scmgr_injectMovableObject(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * m_c);
@@ -517,28 +517,28 @@
 void ogre_scmgr_extractAllMovableObjectsByType(struct hg3dclass_struct * thisclass_c, char * typeName_c);
 
 // 
-void ogre_scmgr_setVisibilityMask(struct hg3dclass_struct * thisclass_c, unsigned int vmask_c);
+void ogre_scmgr_setVisibilityMask(struct hg3dclass_struct * thisclass_c, unsigned long vmask_c);
 
 // 
-void ogre_scmgr_getVisibilityMask(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_scmgr_getVisibilityMask(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
-void ogre_scmgr_setFindVisibleObjects(struct hg3dclass_struct * thisclass_c, int find_c);
+void ogre_scmgr_setFindVisibleObjects(struct hg3dclass_struct * thisclass_c, long find_c);
 
 // 
-void ogre_scmgr_getFindVisibleObjects(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_getFindVisibleObjects(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_scmgr_setNormaliseNormalsOnScale(struct hg3dclass_struct * thisclass_c, int n_c);
+void ogre_scmgr_setNormaliseNormalsOnScale(struct hg3dclass_struct * thisclass_c, long n_c);
 
 // 
-void ogre_scmgr_getNormaliseNormalsOnScale(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_getNormaliseNormalsOnScale(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_scmgr_setFlipCullingOnNegativeScale(struct hg3dclass_struct * thisclass_c, int n_c);
+void ogre_scmgr_setFlipCullingOnNegativeScale(struct hg3dclass_struct * thisclass_c, long n_c);
 
 // 
-void ogre_scmgr_getFlipCullingOnNegativeScale(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_getFlipCullingOnNegativeScale(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_scmgr_getDestinationRenderSystem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
@@ -547,9 +547,9 @@
 void ogre_scmgr_getCurrentViewport(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_scmgr_setCameraRelativeRendering(struct hg3dclass_struct * thisclass_c, int rel_c);
+void ogre_scmgr_setCameraRelativeRendering(struct hg3dclass_struct * thisclass_c, long rel_c);
 
 // 
-void ogre_scmgr_getCameraRelativeRendering(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_scmgr_getCameraRelativeRendering(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 #endif 
diff --git a/include/ClassSceneNode.h b/include/ClassSceneNode.h
--- a/include/ClassSceneNode.h
+++ b/include/ClassSceneNode.h
@@ -59,7 +59,7 @@
 void ogre_sn_detachAllObjects(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_sn_isInSceneGraph(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_sn_isInSceneGraph(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_sn_getCreator(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
@@ -74,13 +74,13 @@
 void ogre_sn_removeAndDestroyAllChildren(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_sn_showBoundingBox(struct hg3dclass_struct * thisclass_c, int bShow_c);
+void ogre_sn_showBoundingBox(struct hg3dclass_struct * thisclass_c, long bShow_c);
 
 // 
-void ogre_sn_hideBoundingBox(struct hg3dclass_struct * thisclass_c, int bHide_c);
+void ogre_sn_hideBoundingBox(struct hg3dclass_struct * thisclass_c, long bHide_c);
 
 // 
-void ogre_sn_getShowBoundingBox(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_sn_getShowBoundingBox(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_sn_createChildSceneNode(struct hg3dclass_struct * thisclass_c, struct vector3_struct * translate_c, struct quaternion_struct * rotate_c, struct hg3dclass_struct * result_c);
@@ -89,7 +89,7 @@
 void ogre_sn_createChildSceneNode2(struct hg3dclass_struct * thisclass_c, char * name_c, struct vector3_struct * translate_c, struct quaternion_struct * rotate_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_sn_setFixedYawAxis(struct hg3dclass_struct * thisclass_c, int useFixed_c, struct vector3_struct * fixedAxis_c);
+void ogre_sn_setFixedYawAxis(struct hg3dclass_struct * thisclass_c, long useFixed_c, struct vector3_struct * fixedAxis_c);
 
 // 
 void ogre_sn_getAutoTrackTarget(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
@@ -104,12 +104,12 @@
 void ogre_sn_getParentSceneNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_sn_setVisible(struct hg3dclass_struct * thisclass_c, int visible_c, int cascade_c);
+void ogre_sn_setVisible(struct hg3dclass_struct * thisclass_c, long visible_c, long cascade_c);
 
 // 
-void ogre_sn_flipVisibility(struct hg3dclass_struct * thisclass_c, int cascade_c);
+void ogre_sn_flipVisibility(struct hg3dclass_struct * thisclass_c, long cascade_c);
 
 // 
-void ogre_sn_setDebugDisplayEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c, int cascade_c);
+void ogre_sn_setDebugDisplayEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c, long cascade_c);
 
 #endif 
diff --git a/include/ClassSkeleton.h b/include/ClassSkeleton.h
--- a/include/ClassSkeleton.h
+++ b/include/ClassSkeleton.h
@@ -59,13 +59,13 @@
 void ogre_skl_getBone2(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_skl_hasBone(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_skl_hasBone(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_skl_setBindingPose(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_skl_reset(struct hg3dclass_struct * thisclass_c, int resetManualBones_c);
+void ogre_skl_reset(struct hg3dclass_struct * thisclass_c, long resetManualBones_c);
 
 // 
 void ogre_skl_createAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, float length_c, struct hg3dclass_struct * result_c);
@@ -74,7 +74,7 @@
 void ogre_skl_getAnimation2(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_skl_hasAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);
+void ogre_skl_hasAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, long * result_c);
 
 // 
 void ogre_skl_removeAnimation(struct hg3dclass_struct * thisclass_c, char * name_c);
@@ -95,7 +95,7 @@
 void ogre_skl_setBlendMode(struct hg3dclass_struct * thisclass_c, enum EnumSkeletonAnimationBlendMode state_c);
 
 // 
-void ogre_skl_optimiseAllAnimations(struct hg3dclass_struct * thisclass_c, int preservingIdentityNodeTracks_c);
+void ogre_skl_optimiseAllAnimations(struct hg3dclass_struct * thisclass_c, long preservingIdentityNodeTracks_c);
 
 // 
 void ogre_skl_addLinkedSkeletonAnimationSource(struct hg3dclass_struct * thisclass_c, char * skelName_c, float scale_c);
@@ -104,9 +104,9 @@
 void ogre_skl_removeAllLinkedSkeletonAnimationSources(struct hg3dclass_struct * thisclass_c);
 
 // Have manual bones been modified since the skeleton was last updated? 
-void ogre_skl_getManualBonesDirty(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_skl_getManualBonesDirty(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // Are there any manually controlled bones? 
-void ogre_skl_hasManualBones(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_skl_hasManualBones(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 #endif 
diff --git a/include/ClassTextureManager.h b/include/ClassTextureManager.h
--- a/include/ClassTextureManager.h
+++ b/include/ClassTextureManager.h
@@ -31,10 +31,10 @@
 void ogre_txmgr_destruct(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_txmgr_setDefaultNumMipmaps(struct hg3dclass_struct * thisclass_c, int num_c);
+void ogre_txmgr_setDefaultNumMipmaps(struct hg3dclass_struct * thisclass_c, long num_c);
 
 // 
-void ogre_txmgr_getDefaultNumMipmaps(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_txmgr_getDefaultNumMipmaps(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_txmgr_getSingleton(struct hg3dclass_struct * result_c);
diff --git a/include/ClassTimeIndex.h b/include/ClassTimeIndex.h
--- a/include/ClassTimeIndex.h
+++ b/include/ClassTimeIndex.h
@@ -31,12 +31,12 @@
 void ogre_tnx_construct(float timePos_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_tnx_hasKeyIndex(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_tnx_hasKeyIndex(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_tnx_getTimePos(struct hg3dclass_struct * thisclass_c, float * result_c);
 
 // 
-void ogre_tnx_getKeyIndex(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_tnx_getKeyIndex(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 #endif 
diff --git a/include/ClassVertexAnimationTrack.h b/include/ClassVertexAnimationTrack.h
--- a/include/ClassVertexAnimationTrack.h
+++ b/include/ClassVertexAnimationTrack.h
@@ -38,7 +38,7 @@
 void ogre_vat_getAnimationType(struct hg3dclass_struct * thisclass_c, enum EnumVertexAnimationType * result_c);
 
 // 
-void ogre_vat_getVertexAnimationIncludesNormals(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_vat_getVertexAnimationIncludesNormals(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_vat_apply(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * timeIndex_c, float weight_c, float scale_c);
@@ -50,7 +50,7 @@
 void ogre_vat_getTargetMode(struct hg3dclass_struct * thisclass_c, enum EnumVertexAnimationTrackTargetMode * result_c);
 
 // 
-void ogre_vat_hasNonZeroKeyFrames(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_vat_hasNonZeroKeyFrames(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_vat_optimise(struct hg3dclass_struct * thisclass_c);
diff --git a/include/ClassViewport.h b/include/ClassViewport.h
--- a/include/ClassViewport.h
+++ b/include/ClassViewport.h
@@ -33,7 +33,7 @@
 
 
 // 
-void ogre_vprt_construct(struct hg3dclass_struct * camera_c, struct hg3dclass_struct * target_c, float left_c, float top_c, float width_c, float height_c, int ZOrder_c, struct hg3dclass_struct * result_c);
+void ogre_vprt_construct(struct hg3dclass_struct * camera_c, struct hg3dclass_struct * target_c, float left_c, float top_c, float width_c, float height_c, long ZOrder_c, struct hg3dclass_struct * result_c);
 
 // 
 void ogre_vprt_destruct(struct hg3dclass_struct * thisclass_c);
@@ -42,7 +42,7 @@
 void ogre_vprt_update(struct hg3dclass_struct * thisclass_c);
 
 // 
-void ogre_vprt_clear(struct hg3dclass_struct * thisclass_c, unsigned int buffers_c, struct colourvalue_struct * colour_c, float depth_c, unsigned short stencil_c);
+void ogre_vprt_clear(struct hg3dclass_struct * thisclass_c, unsigned long buffers_c, struct colourvalue_struct * colour_c, float depth_c, unsigned short stencil_c);
 
 // 
 void ogre_vprt_getTarget(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
@@ -54,7 +54,7 @@
 void ogre_vprt_setCamera(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c);
 
 // 
-void ogre_vprt_getZOrder(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_vprt_getZOrder(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_vprt_getLeft(struct hg3dclass_struct * thisclass_c, float * result_c);
@@ -69,22 +69,22 @@
 void ogre_vprt_getHeight(struct hg3dclass_struct * thisclass_c, float * result_c);
 
 // 
-void ogre_vprt_getActualLeft(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_vprt_getActualLeft(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_vprt_getActualTop(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_vprt_getActualTop(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_vprt_getActualWidth(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_vprt_getActualWidth(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_vprt_getActualHeight(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_vprt_getActualHeight(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_vprt_setDimensions(struct hg3dclass_struct * thisclass_c, float left_c, float top_c, float width_c, float height_c);
 
 // 
-void ogre_vprt_setOrientationMode(struct hg3dclass_struct * thisclass_c, enum EnumOrientationMode orientationMode_c, int setDefault_c);
+void ogre_vprt_setOrientationMode(struct hg3dclass_struct * thisclass_c, enum EnumOrientationMode orientationMode_c, long setDefault_c);
 
 // 
 void ogre_vprt_getOrientationMode(struct hg3dclass_struct * thisclass_c, enum EnumOrientationMode * result_c);
@@ -102,19 +102,19 @@
 void ogre_vprt_getDepthClear(struct hg3dclass_struct * thisclass_c, float * result_c);
 
 // 
-void ogre_vprt_setClearEveryFrame(struct hg3dclass_struct * thisclass_c, int clear_c, unsigned int buffers_c);
+void ogre_vprt_setClearEveryFrame(struct hg3dclass_struct * thisclass_c, long clear_c, unsigned long buffers_c);
 
 // 
-void ogre_vprt_getClearEveryFrame(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_vprt_getClearEveryFrame(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_vprt_getClearBuffers(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_vprt_getClearBuffers(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
-void ogre_vprt_setAutoUpdated(struct hg3dclass_struct * thisclass_c, int autoupdate_c);
+void ogre_vprt_setAutoUpdated(struct hg3dclass_struct * thisclass_c, long autoupdate_c);
 
 // 
-void ogre_vprt_isAutoUpdated(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_vprt_isAutoUpdated(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
 void ogre_vprt_setMaterialScheme(struct hg3dclass_struct * thisclass_c, char * schemeName_c);
@@ -123,31 +123,31 @@
 void ogre_vprt_getMaterialScheme(struct hg3dclass_struct * thisclass_c, char * result_c);
 
 // 
-void ogre_vprt_getActualDimensions(struct hg3dclass_struct * thisclass_c, int * left_c, int * top_c, int * width_c, int * height_c);
+void ogre_vprt_getActualDimensions(struct hg3dclass_struct * thisclass_c, long * left_c, long * top_c, long * width_c, long * height_c);
 
 // 
-void ogre_vprt_setOverlaysEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_vprt_setOverlaysEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // 
-void ogre_vprt_getOverlaysEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_vprt_getOverlaysEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_vprt_setSkiesEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_vprt_setSkiesEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // 
-void ogre_vprt_getSkiesEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_vprt_getSkiesEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_vprt_setShadowsEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);
+void ogre_vprt_setShadowsEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c);
 
 // 
-void ogre_vprt_getShadowsEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+void ogre_vprt_getShadowsEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);
 
 // 
-void ogre_vprt_setVisibilityMask(struct hg3dclass_struct * thisclass_c, unsigned int mask_c);
+void ogre_vprt_setVisibilityMask(struct hg3dclass_struct * thisclass_c, unsigned long mask_c);
 
 // 
-void ogre_vprt_getVisibilityMask(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+void ogre_vprt_getVisibilityMask(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);
 
 // 
 void ogre_vprt_setRenderQueueInvocationSequenceName(struct hg3dclass_struct * thisclass_c, char * sequenceName_c);
@@ -156,10 +156,10 @@
 void ogre_vprt_getRenderQueueInvocationSequenceName(struct hg3dclass_struct * thisclass_c, char * result_c);
 
 // 
-void ogre_vprt_pointOrientedToScreen(struct hg3dclass_struct * thisclass_c, struct vector2_struct * v_c, int orientationMode_c, struct vector2_struct * outv_c);
+void ogre_vprt_pointOrientedToScreen(struct hg3dclass_struct * thisclass_c, struct vector2_struct * v_c, long orientationMode_c, struct vector2_struct * outv_c);
 
 // 
-void ogre_vprt_pointOrientedToScreen2(struct hg3dclass_struct * thisclass_c, float orientedX_c, float orientedY_c, int orientationMode_c, float * screenX_c, float * screenY_c);
+void ogre_vprt_pointOrientedToScreen2(struct hg3dclass_struct * thisclass_c, float orientedX_c, float orientedY_c, long orientationMode_c, float * screenX_c, float * screenY_c);
 
 // 
 void ogre_vprt_setDefaultOrientationMode(enum EnumOrientationMode orientationMode_c);
diff --git a/include/HG3DUtilities.h b/include/HG3DUtilities.h
--- a/include/HG3DUtilities.h
+++ b/include/HG3DUtilities.h
@@ -23,7 +23,7 @@
 class HG3DUtilities
 {
  public:
-     static unsigned int getWindowHandle(Ogre::RenderWindow *window);
+     static unsigned long getWindowHandle(Ogre::RenderWindow *window);
      static void setupCloseEventHandler(Ogre::RenderWindow *window);
      static int checkQuitReceived();
      static void buildTangentVectors(Ogre::Entity *entity);
diff --git a/include/OgreDllDefines.h b/include/OgreDllDefines.h
--- a/include/OgreDllDefines.h
+++ b/include/OgreDllDefines.h
@@ -16,10 +16,10 @@
 
 // OgreDllDefines.h
 
-#ifndef _HGamer3DOgre032_DLLDEFINES_H_
-#define _HGamer3DOgre032_DLLDEFINES_H_
+#ifndef _HGamer3DOgre033_DLLDEFINES_H_
+#define _HGamer3DOgre033_DLLDEFINES_H_
 
-/* Cmake will define HGamer3DOgre032_EXPORTS on Windows when it
+/* Cmake will define HGamer3DOgre033_EXPORTS on Windows when it
 configures to build a shared library. If you are going to use
 another build system on windows or create the visual studio
 projects by hand you need to define MyLibrary_EXPORTS when
@@ -29,13 +29,13 @@
 // We are using the Visual Studio Compiler and building Shared libraries
 
 #if (defined (_WIN32)) && !(defined (__GNUC__)) 
-  #if defined(HGamer3DOgre032_EXPORTS)
+  #if defined(HGamer3DOgre033_EXPORTS)
     #define  Ogre_LIB_EXPORT __declspec(dllexport)
   #else
     #define  Ogre_LIB_EXPORT __declspec(dllimport)
-  #endif /* HGamer3DOgre032_EXPORTS */
+  #endif /* HGamer3DOgre033_EXPORTS */
 #else /* defined (_WIN32) */
  #define Ogre_LIB_EXPORT
 #endif
 
-#endif /* _HGamer3DOgre032_DLLDEFINES_H_ */
+#endif /* _HGamer3DOgre033_DLLDEFINES_H_ */
diff --git a/include/WindowUtilsHG3D.h b/include/WindowUtilsHG3D.h
new file mode 100644
--- /dev/null
+++ b/include/WindowUtilsHG3D.h
@@ -0,0 +1,66 @@
+// WindowUtilsHG3D - special utilities
+
+
+#include <Ogre.h>
+
+// Linux CODE
+// ----------
+
+#ifdef __linux__ 
+
+class WindowUtilsHG3D {
+	
+	public:
+		static void getWindowTopLeft(Ogre::RenderWindow* rwind, int* top, int* bottom, int* left, int* right) {
+		  unsigned int width, height, colourDepth;
+		  int left2, top2;
+		  rwind->getMetrics (width, height, colourDepth, left2, top2);
+		  *left = left2;
+		  *top = top2;
+		  *bottom = (int)(top2 + height);
+		  *right = (int)(left2 + width);
+		};
+		
+		static void showCursor(bool fShow) {
+		};
+	
+};
+
+
+// Windows CODE
+// ------------
+
+#elif _WIN32
+
+#include <windows.h>
+
+class WindowUtilsHG3D {
+	
+	public:
+		static void getWindowTopLeft(Ogre::RenderWindow* rwind, int* top, int* bottom, int* left, int* right) {
+			HWND windowHnd = 0;
+			RECT rect;
+			rwind->getCustomAttribute("WINDOW", &windowHnd);
+			GetWindowRect(windowHnd, &rect);
+			*top = rect.top;
+			*bottom = rect.bottom;
+			*left = rect.left;
+			*right = rect.right;
+		};
+		
+		static void showCursor(bool fShow) {
+			if (fShow) {
+				ShowCursor(TRUE);
+			} else {
+				ShowCursor(FALSE);
+			};
+		};
+	
+};
+
+#else
+
+// CODE if not Windows or Linux
+// ----------------------------
+
+#endif
diff --git a/include/colorvalue_struct.h b/include/colorvalue_struct.h
new file mode 100644
--- /dev/null
+++ b/include/colorvalue_struct.h
@@ -0,0 +1,6 @@
+typedef struct colourvalue_struct {
+	float r;
+	float g;
+	float b;
+	float a;
+} colourvalue_struct;
diff --git a/include/degree_struct.h b/include/degree_struct.h
new file mode 100644
--- /dev/null
+++ b/include/degree_struct.h
@@ -0,0 +1,3 @@
+typedef struct degree_struct {
+	float d;
+} degree_struct;
diff --git a/include/hg3dstruct.h b/include/hg3dstruct.h
new file mode 100644
--- /dev/null
+++ b/include/hg3dstruct.h
@@ -0,0 +1,4 @@
+typedef struct hg3dclass_struct {
+	void *ptr;
+	void *fptr;
+} hg3dclass_struct;
diff --git a/include/quaternion_struct.h b/include/quaternion_struct.h
new file mode 100644
--- /dev/null
+++ b/include/quaternion_struct.h
@@ -0,0 +1,6 @@
+typedef struct quaternion_struct {
+	float fw;
+	float fx;
+	float fy;
+	float fz;
+} quaternion_struct;
diff --git a/include/radian_struct.h b/include/radian_struct.h
new file mode 100644
--- /dev/null
+++ b/include/radian_struct.h
@@ -0,0 +1,3 @@
+typedef struct radian_struct {
+	float r;
+} radian_struct;
diff --git a/include/sharedptr_struct.h b/include/sharedptr_struct.h
new file mode 100644
--- /dev/null
+++ b/include/sharedptr_struct.h
@@ -0,0 +1,5 @@
+typedef struct sharedptr_struct {
+	void* pT;
+	void* pCount;
+	void* pFreeFunc;
+} sharedptr_struct;
diff --git a/include/vector2_struct.h b/include/vector2_struct.h
new file mode 100644
--- /dev/null
+++ b/include/vector2_struct.h
@@ -0,0 +1,4 @@
+typedef struct vector2_struct {
+	float x;
+	float y;
+} vector2_struct;
diff --git a/include/vector3_struct.h b/include/vector3_struct.h
new file mode 100644
--- /dev/null
+++ b/include/vector3_struct.h
@@ -0,0 +1,5 @@
+typedef struct vector3_struct {
+	float x;
+	float y;
+	float z;
+} vector3_struct;
diff --git a/include/vector4_struct.h b/include/vector4_struct.h
new file mode 100644
--- /dev/null
+++ b/include/vector4_struct.h
@@ -0,0 +1,6 @@
+typedef struct vector4_struct {
+	float x;
+	float y;
+	float z;
+	float w;
+} vector4_struct;
