packages feed

HGamer3D-Ogre-Binding 0.1.8 → 0.1.9

raw patch · 93 files changed

+3029/−1025 lines, 93 filesdep ~HGamer3D-DataPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: HGamer3D-Data

API changes (from Hackage documentation)

- HGamer3D.Bindings.Ogre.ClassCamera: setAutoTracking :: HG3DClass -> Bool -> HG3DClass -> Vec3 -> IO ()
- HGamer3D.Bindings.Ogre.ClassCamera: setAutoTracking'_ :: (HG3DClassPtr) -> (CInt -> ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ()))))
- HGamer3D.Bindings.Ogre.ClassSceneNode: setAutoTracking :: HG3DClass -> Bool -> HG3DClass -> Vec3 -> Vec3 -> IO ()
- HGamer3D.Bindings.Ogre.ClassSceneNode: setAutoTracking'_ :: (HG3DClassPtr) -> (CInt -> ((HG3DClassPtr) -> ((Vec3Ptr) -> ((Vec3Ptr) -> (IO ())))))
+ HGamer3D.Bindings.Ogre.ClassAnimation: getBaseKeyFrameAnimationName :: HG3DClass -> IO (String)
+ HGamer3D.Bindings.Ogre.ClassAnimation: getBaseKeyFrameAnimationName'_ :: (HG3DClassPtr) -> ((Ptr CChar) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassAnimation: getBaseKeyFrameTime :: HG3DClass -> IO (Float)
+ HGamer3D.Bindings.Ogre.ClassAnimation: getBaseKeyFrameTime'_ :: (HG3DClassPtr) -> ((Ptr CFloat) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassAnimation: getUseBaseKeyFrame :: HG3DClass -> IO (Bool)
+ HGamer3D.Bindings.Ogre.ClassAnimation: getUseBaseKeyFrame'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassAnimation: setUseBaseKeyFrame :: HG3DClass -> Bool -> Float -> String -> IO ()
+ HGamer3D.Bindings.Ogre.ClassAnimation: setUseBaseKeyFrame'_ :: (HG3DClassPtr) -> (CInt -> (CFloat -> ((Ptr CChar) -> (IO ()))))
+ HGamer3D.Bindings.Ogre.ClassArchiveManager: getSingleton :: IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassArchiveManager: getSingleton'_ :: (HG3DClassPtr) -> (IO ())
+ HGamer3D.Bindings.Ogre.ClassBillboardChain: preRender :: HG3DClass -> HG3DClass -> HG3DClass -> IO (Bool)
+ HGamer3D.Bindings.Ogre.ClassBillboardChain: preRender'_ :: (HG3DClassPtr) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))))
+ HGamer3D.Bindings.Ogre.ClassBillboardChain: setFaceCamera :: HG3DClass -> Bool -> Vec3 -> IO ()
+ HGamer3D.Bindings.Ogre.ClassBillboardChain: setFaceCamera'_ :: (HG3DClassPtr) -> (CInt -> ((Vec3Ptr) -> (IO ())))
+ HGamer3D.Bindings.Ogre.ClassCamera: getPixelDisplayRatio :: HG3DClass -> IO (Float)
+ HGamer3D.Bindings.Ogre.ClassCamera: getPixelDisplayRatio'_ :: (HG3DClassPtr) -> ((Ptr CFloat) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassCamera: getUseMinPixelSize :: HG3DClass -> IO (Bool)
+ HGamer3D.Bindings.Ogre.ClassCamera: getUseMinPixelSize'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassCamera: setUseMinPixelSize :: HG3DClass -> Bool -> IO ()
+ HGamer3D.Bindings.Ogre.ClassCamera: setUseMinPixelSize'_ :: (HG3DClassPtr) -> (CInt -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassControllerManager: getSingleton :: IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassControllerManager: getSingleton'_ :: (HG3DClassPtr) -> (IO ())
+ HGamer3D.Bindings.Ogre.ClassEntity: getAlwaysUpdateMainSkeleton :: HG3DClass -> IO (Bool)
+ HGamer3D.Bindings.Ogre.ClassEntity: getAlwaysUpdateMainSkeleton'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassEntity: hasAnimationState :: HG3DClass -> String -> IO (Bool)
+ HGamer3D.Bindings.Ogre.ClassEntity: hasAnimationState'_ :: (HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ())))
+ HGamer3D.Bindings.Ogre.ClassEntity: setAlwaysUpdateMainSkeleton :: HG3DClass -> Bool -> IO ()
+ HGamer3D.Bindings.Ogre.ClassEntity: setAlwaysUpdateMainSkeleton'_ :: (HG3DClassPtr) -> (CInt -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassHG3DMessagePump: delete :: HG3DClass -> IO ()
+ HGamer3D.Bindings.Ogre.ClassHG3DMessagePump: delete'_ :: (HG3DClassPtr) -> (IO ())
+ HGamer3D.Bindings.Ogre.ClassHG3DMessagePump: eventsPending :: HG3DClass -> IO (Bool)
+ HGamer3D.Bindings.Ogre.ClassHG3DMessagePump: eventsPending'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassHG3DMessagePump: getCharEvent :: HG3DClass -> IO (Int)
+ HGamer3D.Bindings.Ogre.ClassHG3DMessagePump: getCharEvent'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassHG3DMessagePump: getKeyDownEvent :: HG3DClass -> IO (Int)
+ HGamer3D.Bindings.Ogre.ClassHG3DMessagePump: getKeyDownEvent'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassHG3DMessagePump: getKeyUpEvent :: HG3DClass -> IO (Int)
+ HGamer3D.Bindings.Ogre.ClassHG3DMessagePump: getKeyUpEvent'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassHG3DMessagePump: messagePump :: HG3DClass -> IO ()
+ HGamer3D.Bindings.Ogre.ClassHG3DMessagePump: messagePump'_ :: (HG3DClassPtr) -> (IO ())
+ HGamer3D.Bindings.Ogre.ClassHG3DMessagePump: new :: IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassHG3DMessagePump: new'_ :: (HG3DClassPtr) -> (IO ())
+ HGamer3D.Bindings.Ogre.ClassLight: getSpotlightNearClipDistance :: HG3DClass -> IO (Float)
+ HGamer3D.Bindings.Ogre.ClassLight: getSpotlightNearClipDistance'_ :: (HG3DClassPtr) -> ((Ptr CFloat) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassLight: setSpotlightNearClipDistance :: HG3DClass -> Float -> IO ()
+ HGamer3D.Bindings.Ogre.ClassLight: setSpotlightNearClipDistance'_ :: (HG3DClassPtr) -> (CFloat -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassLogManager: getSingleton :: IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassLogManager: getSingleton'_ :: (HG3DClassPtr) -> (IO ())
+ HGamer3D.Bindings.Ogre.ClassManualObject: getCurrentIndexCount :: HG3DClass -> IO (Int)
+ HGamer3D.Bindings.Ogre.ClassManualObject: getCurrentIndexCount'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassManualObject: getCurrentVertexCount :: HG3DClass -> IO (Int)
+ HGamer3D.Bindings.Ogre.ClassManualObject: getCurrentVertexCount'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassMaterialManager: getSingleton :: IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassMaterialManager: getSingleton'_ :: (HG3DClassPtr) -> (IO ())
+ HGamer3D.Bindings.Ogre.ClassMesh: getSharedVertexDataAnimationIncludesNormals :: HG3DClass -> IO (Bool)
+ HGamer3D.Bindings.Ogre.ClassMesh: getSharedVertexDataAnimationIncludesNormals'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassMeshManager: getSingleton :: IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassMeshManager: getSingleton'_ :: (HG3DClassPtr) -> (IO ())
+ HGamer3D.Bindings.Ogre.ClassMovableObject: getRenderingMinPixelSize :: HG3DClass -> IO (Float)
+ HGamer3D.Bindings.Ogre.ClassMovableObject: getRenderingMinPixelSize'_ :: (HG3DClassPtr) -> ((Ptr CFloat) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassMovableObject: setRenderingMinPixelSize :: HG3DClass -> Float -> IO ()
+ HGamer3D.Bindings.Ogre.ClassMovableObject: setRenderingMinPixelSize'_ :: (HG3DClassPtr) -> (CFloat -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassPtr: type ClassHG3DMessagePump = Ptr (())
+ HGamer3D.Bindings.Ogre.ClassPtr: type ClassWindowUtilsHG3D = Ptr (())
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: attachRenderTarget :: HG3DClass -> HG3DClass -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: attachRenderTarget'_ :: (HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: beginProfileEvent :: HG3DClass -> String -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: beginProfileEvent'_ :: (HG3DClassPtr) -> ((Ptr CChar) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: endProfileEvent :: HG3DClass -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: endProfileEvent'_ :: (HG3DClassPtr) -> (IO ())
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: getFixedPipelineEnabled :: HG3DClass -> IO (Bool)
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: getFixedPipelineEnabled'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: getGlobalNumberOfInstances :: HG3DClass -> IO (Int)
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: getGlobalNumberOfInstances'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: markProfileEvent :: HG3DClass -> String -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: markProfileEvent'_ :: (HG3DClassPtr) -> ((Ptr CChar) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: setDepthBufferFor :: HG3DClass -> HG3DClass -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: setDepthBufferFor'_ :: (HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: setFixedPipelineEnabled :: HG3DClass -> Bool -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: setFixedPipelineEnabled'_ :: (HG3DClassPtr) -> (CInt -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: setGlobalNumberOfInstances :: HG3DClass -> Int -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRenderSystem: setGlobalNumberOfInstances'_ :: (HG3DClassPtr) -> (CInt -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRenderTarget: detachDepthBuffer :: HG3DClass -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRenderTarget: detachDepthBuffer'_ :: (HG3DClassPtr) -> (IO ())
+ HGamer3D.Bindings.Ogre.ClassRenderTarget: getDepthBufferPool :: HG3DClass -> IO (Int)
+ HGamer3D.Bindings.Ogre.ClassRenderTarget: getDepthBufferPool'_ :: (HG3DClassPtr) -> ((Ptr CUShort) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRenderTarget: getViewportByZOrder :: HG3DClass -> Int -> IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassRenderTarget: getViewportByZOrder'_ :: (HG3DClassPtr) -> (CInt -> ((HG3DClassPtr) -> (IO ())))
+ HGamer3D.Bindings.Ogre.ClassRenderTarget: hasViewportWithZOrder :: HG3DClass -> Int -> IO (Bool)
+ HGamer3D.Bindings.Ogre.ClassRenderTarget: hasViewportWithZOrder'_ :: (HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ())))
+ HGamer3D.Bindings.Ogre.ClassRenderTarget: setDepthBufferPool :: HG3DClass -> Int -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRenderTarget: setDepthBufferPool'_ :: (HG3DClassPtr) -> (CUShort -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRenderWindow: getVSyncInterval :: HG3DClass -> IO (Int)
+ HGamer3D.Bindings.Ogre.ClassRenderWindow: getVSyncInterval'_ :: (HG3DClassPtr) -> ((Ptr CUInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRenderWindow: isHidden :: HG3DClass -> IO (Bool)
+ HGamer3D.Bindings.Ogre.ClassRenderWindow: isHidden'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRenderWindow: isVSyncEnabled :: HG3DClass -> IO (Bool)
+ HGamer3D.Bindings.Ogre.ClassRenderWindow: isVSyncEnabled'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRenderWindow: setHidden :: HG3DClass -> Bool -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRenderWindow: setHidden'_ :: (HG3DClassPtr) -> (CInt -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRenderWindow: setVSyncEnabled :: HG3DClass -> Bool -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRenderWindow: setVSyncEnabled'_ :: (HG3DClassPtr) -> (CInt -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRenderWindow: setVSyncInterval :: HG3DClass -> Int -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRenderWindow: setVSyncInterval'_ :: (HG3DClassPtr) -> (CUInt -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRenderable: hasCustomParameter :: HG3DClass -> Int -> IO (Bool)
+ HGamer3D.Bindings.Ogre.ClassRenderable: hasCustomParameter'_ :: (HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ())))
+ HGamer3D.Bindings.Ogre.ClassRenderable: removeCustomParameter :: HG3DClass -> Int -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRenderable: removeCustomParameter'_ :: (HG3DClassPtr) -> (CInt -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassResourceGroupManager: getSingleton :: IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassResourceGroupManager: getSingleton'_ :: (HG3DClassPtr) -> (IO ())
+ HGamer3D.Bindings.Ogre.ClassRoot: getDefaultMinPixelSize :: HG3DClass -> IO (Float)
+ HGamer3D.Bindings.Ogre.ClassRoot: getDefaultMinPixelSize'_ :: (HG3DClassPtr) -> ((Ptr CFloat) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRoot: getSingleton :: IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassRoot: getSingleton'_ :: (HG3DClassPtr) -> (IO ())
+ HGamer3D.Bindings.Ogre.ClassRoot: isBlendIndicesGpuRedundant :: HG3DClass -> IO (Bool)
+ HGamer3D.Bindings.Ogre.ClassRoot: isBlendIndicesGpuRedundant'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRoot: isBlendWeightsGpuRedundant :: HG3DClass -> IO (Bool)
+ HGamer3D.Bindings.Ogre.ClassRoot: isBlendWeightsGpuRedundant'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRoot: setBlendIndicesGpuRedundant :: HG3DClass -> Bool -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRoot: setBlendIndicesGpuRedundant'_ :: (HG3DClassPtr) -> (CInt -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRoot: setBlendWeightsGpuRedundant :: HG3DClass -> Bool -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRoot: setBlendWeightsGpuRedundant'_ :: (HG3DClassPtr) -> (CInt -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRoot: setDefaultMinPixelSize :: HG3DClass -> Float -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRoot: setDefaultMinPixelSize'_ :: (HG3DClassPtr) -> (CFloat -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassSceneManager: createEntity5 :: HG3DClass -> String -> EnumSceneManagerPrefabType -> IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassSceneManager: createEntity5'_ :: (HG3DClassPtr) -> ((Ptr CChar) -> (CInt -> ((HG3DClassPtr) -> (IO ()))))
+ HGamer3D.Bindings.Ogre.ClassSceneManager: createEntity6 :: HG3DClass -> EnumSceneManagerPrefabType -> IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassSceneManager: createEntity6'_ :: (HG3DClassPtr) -> (CInt -> ((HG3DClassPtr) -> (IO ())))
+ HGamer3D.Bindings.Ogre.ClassSceneManager: destroyAllInstanceManagers :: HG3DClass -> IO ()
+ HGamer3D.Bindings.Ogre.ClassSceneManager: destroyAllInstanceManagers'_ :: (HG3DClassPtr) -> (IO ())
+ HGamer3D.Bindings.Ogre.ClassSceneManager: destroyInstanceManager :: HG3DClass -> String -> IO ()
+ HGamer3D.Bindings.Ogre.ClassSceneManager: destroyInstanceManager'_ :: (HG3DClassPtr) -> ((Ptr CChar) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassSceneManager: hasInstanceManager :: HG3DClass -> String -> IO (Bool)
+ HGamer3D.Bindings.Ogre.ClassSceneManager: hasInstanceManager'_ :: (HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ())))
+ HGamer3D.Bindings.Ogre.ClassSceneManager: setShadowTextureFSAA :: HG3DClass -> Int -> IO ()
+ HGamer3D.Bindings.Ogre.ClassSceneManager: setShadowTextureFSAA'_ :: (HG3DClassPtr) -> (CUShort -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassSkeleton: getAnimation3 :: HG3DClass -> Int -> IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassSkeleton: getAnimation3'_ :: (HG3DClassPtr) -> (CUShort -> ((HG3DClassPtr) -> (IO ())))
+ HGamer3D.Bindings.Ogre.ClassSkeletonManager: getSingleton :: IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassSkeletonManager: getSingleton'_ :: (HG3DClassPtr) -> (IO ())
+ HGamer3D.Bindings.Ogre.ClassTextureManager: getSingleton :: IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassTextureManager: getSingleton'_ :: (HG3DClassPtr) -> (IO ())
+ HGamer3D.Bindings.Ogre.ClassVertexAnimationTrack: getVertexAnimationIncludesNormals :: HG3DClass -> IO (Bool)
+ HGamer3D.Bindings.Ogre.ClassVertexAnimationTrack: getVertexAnimationIncludesNormals'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassViewport: getDepthClear :: HG3DClass -> IO (Float)
+ HGamer3D.Bindings.Ogre.ClassViewport: getDepthClear'_ :: (HG3DClassPtr) -> ((Ptr CFloat) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassViewport: setDepthClear :: HG3DClass -> Float -> IO ()
+ HGamer3D.Bindings.Ogre.ClassViewport: setDepthClear'_ :: (HG3DClassPtr) -> (CFloat -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassWindowUtilsHG3D: getWindowTopLeft :: HG3DClass -> IO (Int, Int, Int, Int)
+ HGamer3D.Bindings.Ogre.ClassWindowUtilsHG3D: getWindowTopLeft'_ :: (HG3DClassPtr) -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CInt) -> (IO ())))))
+ HGamer3D.Bindings.Ogre.ClassWindowUtilsHG3D: showCursor :: Bool -> IO ()
+ HGamer3D.Bindings.Ogre.ClassWindowUtilsHG3D: showCursor'_ :: CInt -> (IO ())
- HGamer3D.Bindings.Ogre.ClassRoot: detachRenderTarget :: HG3DClass -> HG3DClass -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRoot: detachRenderTarget :: HG3DClass -> HG3DClass -> IO (HG3DClass)
- HGamer3D.Bindings.Ogre.ClassRoot: detachRenderTarget'_ :: (HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRoot: detachRenderTarget'_ :: (HG3DClassPtr) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
- HGamer3D.Bindings.Ogre.ClassRoot: detachRenderTarget2 :: HG3DClass -> String -> IO ()
+ HGamer3D.Bindings.Ogre.ClassRoot: detachRenderTarget2 :: HG3DClass -> String -> IO (HG3DClass)
- HGamer3D.Bindings.Ogre.ClassRoot: detachRenderTarget2'_ :: (HG3DClassPtr) -> ((Ptr CChar) -> (IO ()))
+ HGamer3D.Bindings.Ogre.ClassRoot: detachRenderTarget2'_ :: (HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ())))
- HGamer3D.Bindings.Ogre.ClassSceneManager: createEntity2 :: HG3DClass -> String -> IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassSceneManager: createEntity2 :: HG3DClass -> String -> SharedPtr -> IO (HG3DClass)
- HGamer3D.Bindings.Ogre.ClassSceneManager: createEntity2'_ :: (HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ())))
+ HGamer3D.Bindings.Ogre.ClassSceneManager: createEntity2'_ :: (HG3DClassPtr) -> ((Ptr CChar) -> ((SharedPtrPtr) -> ((HG3DClassPtr) -> (IO ()))))
- HGamer3D.Bindings.Ogre.ClassSceneManager: createEntity3 :: HG3DClass -> String -> EnumSceneManagerPrefabType -> IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassSceneManager: createEntity3 :: HG3DClass -> String -> IO (HG3DClass)
- HGamer3D.Bindings.Ogre.ClassSceneManager: createEntity3'_ :: (HG3DClassPtr) -> ((Ptr CChar) -> (CInt -> ((HG3DClassPtr) -> (IO ()))))
+ HGamer3D.Bindings.Ogre.ClassSceneManager: createEntity3'_ :: (HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ())))
- HGamer3D.Bindings.Ogre.ClassSceneManager: createEntity4 :: HG3DClass -> EnumSceneManagerPrefabType -> IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassSceneManager: createEntity4 :: HG3DClass -> SharedPtr -> IO (HG3DClass)
- HGamer3D.Bindings.Ogre.ClassSceneManager: createEntity4'_ :: (HG3DClassPtr) -> (CInt -> ((HG3DClassPtr) -> (IO ())))
+ HGamer3D.Bindings.Ogre.ClassSceneManager: createEntity4'_ :: (HG3DClassPtr) -> ((SharedPtrPtr) -> ((HG3DClassPtr) -> (IO ())))
- HGamer3D.Bindings.Ogre.ClassSkeleton: getAnimation2 :: HG3DClass -> Int -> IO (HG3DClass)
+ HGamer3D.Bindings.Ogre.ClassSkeleton: getAnimation2 :: HG3DClass -> String -> IO (HG3DClass)
- HGamer3D.Bindings.Ogre.ClassSkeleton: getAnimation2'_ :: (HG3DClassPtr) -> (CUShort -> ((HG3DClassPtr) -> (IO ())))
+ HGamer3D.Bindings.Ogre.ClassSkeleton: getAnimation2'_ :: (HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ())))

Files

HGamer3D-Ogre-Binding.cabal view
@@ -1,33 +1,29 @@ Name:                HGamer3D-Ogre-Binding
-Version:             0.1.8
-Synopsis:            Library to enable 3D game development for Haskell - Ogre Bindings
+Version:             0.1.9
+Synopsis:            Windows Game Engine for the Haskell Programmer - Ogre Bindings
 Description:         
-   Library, to enable 3D game development for Haskell,
-   based on bindings to 3D Graphics, Audio and GUI libraries.
-   
-   This is the Ogre Bindings module, which provides 3D engine
-   capabilities.
-   
-   Platform: Windows only
-   License: Apache License, Version 2.0
-   Install: see http://www.althainz.de/HGamer3D/Download-and-Installation.html
+   HGamer3D is a game engine for developing 3D games in the programming 
+   language Haskell. The game engine uses available libraries for 3D graphics, 
+   sound, input device handling, gui programming and other areas and make
+   those functions available for the Haskell programmer by providing  
+   a Haskell API on top of that. HGamer3D is available on Windows only.
    
 
 	
 License:             OtherLicense
 License-file:        LICENSE
 Author:              Peter Althainz
-Maintainer:          althainz@googlemail.com
+Maintainer:          althainz@gmail.com
 Build-Type:          Simple
 Cabal-Version:       >=1.2
-Homepage:            http://www.althainz.de/HGamer3D.html
+Homepage:            http://www.hgamer3d.org
 Category:            Game
-Extra-source-files:  Setup.hs, include/ClassAnimation.h, include/ClassAnimationState.h, include/ClassAnimationStateSet.h, include/ClassAnimationTrack.h, include/ClassArchive.h, include/ClassArchiveManager.h, include/ClassBillboard.h, include/ClassBillboardChain.h, include/ClassBillboardChainFactory.h, include/ClassBillboardSet.h, include/ClassBillboardSetFactory.h, include/ClassBone.h, include/ClassCamera.h, include/ClassConfigFile.h, include/ClassControllerManager.h, include/ClassEntity.h, include/ClassEntityFactory.h, include/ClassException.h, include/ClassFrustum.h, include/ClassLight.h, include/ClassLightFactory.h, include/ClassLog.h, include/ClassLogManager.h, include/ClassManualObject.h, include/ClassManualObjectFactory.h, include/ClassManualObjectSection.h, include/ClassMaterial.h, include/ClassMaterialManager.h, include/ClassMesh.h, include/ClassMeshManager.h, include/ClassMovableObject.h, include/ClassMovableObjectFactory.h, include/ClassMultiRenderTarget.h, include/ClassNode.h, include/ClassNodeAnimationTrack.h, include/ClassNumericAnimationTrack.h, include/ClassPtr.h, include/ClassRenderable.h, include/ClassRenderSystem.h, include/ClassRenderTarget.h, include/ClassRenderTexture.h, include/ClassRenderWindow.h, include/ClassResource.h, include/ClassResourceGroupManager.h, include/ClassResourceManager.h, include/ClassRoot.h, include/ClassSceneManager.h, include/ClassSceneManagerFactory.h, include/ClassSceneNode.h, include/ClassSkeleton.h, include/ClassSkeletonManager.h, include/ClassTextureManager.h, include/ClassTimeIndex.h, include/ClassVertexAnimationTrack.h, include/ClassViewport.h, include/ClassWindowEventUtilities.h, include/EnumAnimationInterpolationMode.h, include/EnumAnimationRotationInterpolationMode.h, include/EnumAxisAlignedBoxCorner.h, include/EnumAxisAlignedBoxExtent.h, include/EnumBillboardChainTexCoordDirection.h, include/EnumBillboardOrigin.h, include/EnumBillboardRotationType.h, include/EnumBillboardType.h, include/EnumDataStreamAccessMode.h, include/EnumEntityVertexDataBindChoice.h, include/EnumExceptionCode.h, include/EnumFrustumPlane.h, include/EnumGpuProgramType.h, include/EnumLightType.h, include/EnumLoggingLevel.h, include/EnumLogMessageLevel.h, include/EnumMathAngleUnit.h, include/EnumMeshManagerMeshBuildType.h, include/EnumNodeTransformSpace.h, include/EnumOrientationMode.h, include/EnumProjectionType.h, include/EnumRenderOperationOperationType.h, include/EnumRenderTargetFrameBuffer.h, include/EnumRenderTargetStatFlags.h, include/EnumRootFrameEventTimeType.h, include/EnumSceneManagerBoxPlane.h, include/EnumSceneManagerIlluminationRenderStage.h, include/EnumSceneManagerPrefabType.h, include/EnumSceneManagerSpecialCaseRenderQueueMode.h, include/EnumSceneType.h, include/EnumSkeletonAnimationBlendMode.h, include/EnumStencilOperation.h, include/EnumTexCoordCalcMethod.h, include/EnumVertexAnimationTrackTargetMode.h, include/EnumVertexAnimationType.h, include/OgreDllDefines.h, include/StructColour.h, include/StructDegrees.h, include/StructHG3DClass.h, include/StructQuaternion.h, include/StructRadians.h, include/StructSharedPtr.h, include/StructVec2.h, include/StructVec3.h
+Extra-source-files:  Setup.hs, include/ClassAnimation.h, include/ClassAnimationState.h, include/ClassAnimationStateSet.h, include/ClassAnimationTrack.h, include/ClassArchive.h, include/ClassArchiveManager.h, include/ClassBillboard.h, include/ClassBillboardChain.h, include/ClassBillboardChainFactory.h, include/ClassBillboardSet.h, include/ClassBillboardSetFactory.h, include/ClassBone.h, include/ClassCamera.h, include/ClassConfigFile.h, include/ClassControllerManager.h, include/ClassEntity.h, include/ClassEntityFactory.h, include/ClassException.h, include/ClassFrustum.h, include/ClassHG3DMessagePump.h, include/ClassLight.h, include/ClassLightFactory.h, include/ClassLog.h, include/ClassLogManager.h, include/ClassManualObject.h, include/ClassManualObjectFactory.h, include/ClassManualObjectSection.h, include/ClassMaterial.h, include/ClassMaterialManager.h, include/ClassMesh.h, include/ClassMeshManager.h, include/ClassMovableObject.h, include/ClassMovableObjectFactory.h, include/ClassMultiRenderTarget.h, include/ClassNode.h, include/ClassNodeAnimationTrack.h, include/ClassNumericAnimationTrack.h, include/ClassPtr.h, include/ClassRenderable.h, include/ClassRenderSystem.h, include/ClassRenderTarget.h, include/ClassRenderTexture.h, include/ClassRenderWindow.h, include/ClassResource.h, include/ClassResourceGroupManager.h, include/ClassResourceManager.h, include/ClassRoot.h, include/ClassSceneManager.h, include/ClassSceneManagerFactory.h, include/ClassSceneNode.h, include/ClassSkeleton.h, include/ClassSkeletonManager.h, include/ClassTextureManager.h, include/ClassTimeIndex.h, include/ClassVertexAnimationTrack.h, include/ClassViewport.h, include/ClassWindowEventUtilities.h, include/ClassWindowUtilsHG3D.h, include/EnumAnimationInterpolationMode.h, include/EnumAnimationRotationInterpolationMode.h, include/EnumAxisAlignedBoxCorner.h, include/EnumAxisAlignedBoxExtent.h, include/EnumBillboardChainTexCoordDirection.h, include/EnumBillboardOrigin.h, include/EnumBillboardRotationType.h, include/EnumBillboardType.h, include/EnumDataStreamAccessMode.h, include/EnumEntityVertexDataBindChoice.h, include/EnumExceptionCode.h, include/EnumFrustumPlane.h, include/EnumGpuProgramType.h, include/EnumLightType.h, include/EnumLoggingLevel.h, include/EnumLogMessageLevel.h, include/EnumMathAngleUnit.h, include/EnumMeshManagerMeshBuildType.h, include/EnumNodeTransformSpace.h, include/EnumOrientationMode.h, include/EnumProjectionType.h, include/EnumRenderOperationOperationType.h, include/EnumRenderTargetFrameBuffer.h, include/EnumRenderTargetStatFlags.h, include/EnumRootFrameEventTimeType.h, include/EnumSceneManagerBoxPlane.h, include/EnumSceneManagerIlluminationRenderStage.h, include/EnumSceneManagerPrefabType.h, include/EnumSceneManagerSpecialCaseRenderQueueMode.h, include/EnumSceneType.h, include/EnumSkeletonAnimationBlendMode.h, include/EnumStencilOperation.h, include/EnumTexCoordCalcMethod.h, include/EnumVertexAnimationTrackTargetMode.h, include/EnumVertexAnimationType.h, include/OgreDllDefines.h, include/StructColour.h, include/StructDegrees.h, include/StructHG3DClass.h, include/StructQuaternion.h, include/StructRadians.h, include/StructSharedPtr.h, include/StructVec2.h, include/StructVec3.h
 
 Library
-  Build-Depends:     base >= 3 && < 5,  HGamer3D-Data >= 0.1.8
+  Build-Depends:     base >= 3 && < 5,  HGamer3D-Data >= 0.1.9
 
-  Exposed-modules:   HGamer3D.Bindings.Ogre.Utils, HGamer3D.Bindings.Ogre.ClassPtr, HGamer3D.Bindings.Ogre.StructHG3DClass, HGamer3D.Bindings.Ogre.EnumAnimationInterpolationMode, HGamer3D.Bindings.Ogre.EnumAnimationRotationInterpolationMode, HGamer3D.Bindings.Ogre.EnumAxisAlignedBoxCorner, HGamer3D.Bindings.Ogre.EnumAxisAlignedBoxExtent, HGamer3D.Bindings.Ogre.EnumBillboardChainTexCoordDirection, HGamer3D.Bindings.Ogre.EnumBillboardOrigin, HGamer3D.Bindings.Ogre.EnumBillboardRotationType, HGamer3D.Bindings.Ogre.EnumBillboardType, HGamer3D.Bindings.Ogre.EnumDataStreamAccessMode, HGamer3D.Bindings.Ogre.EnumEntityVertexDataBindChoice, HGamer3D.Bindings.Ogre.EnumExceptionCode, HGamer3D.Bindings.Ogre.EnumFrustumPlane, HGamer3D.Bindings.Ogre.EnumGpuProgramType, HGamer3D.Bindings.Ogre.EnumLightType, HGamer3D.Bindings.Ogre.EnumLoggingLevel, HGamer3D.Bindings.Ogre.EnumLogMessageLevel, HGamer3D.Bindings.Ogre.EnumMathAngleUnit, HGamer3D.Bindings.Ogre.EnumMeshManagerMeshBuildType, HGamer3D.Bindings.Ogre.EnumNodeTransformSpace, HGamer3D.Bindings.Ogre.EnumOrientationMode, HGamer3D.Bindings.Ogre.EnumProjectionType, HGamer3D.Bindings.Ogre.EnumRenderOperationOperationType, HGamer3D.Bindings.Ogre.EnumRenderTargetFrameBuffer, HGamer3D.Bindings.Ogre.EnumRenderTargetStatFlags, HGamer3D.Bindings.Ogre.EnumRootFrameEventTimeType, HGamer3D.Bindings.Ogre.EnumSceneManagerBoxPlane, HGamer3D.Bindings.Ogre.EnumSceneManagerIlluminationRenderStage, HGamer3D.Bindings.Ogre.EnumSceneManagerPrefabType, HGamer3D.Bindings.Ogre.EnumSceneManagerSpecialCaseRenderQueueMode, HGamer3D.Bindings.Ogre.EnumSceneType, HGamer3D.Bindings.Ogre.EnumSkeletonAnimationBlendMode, HGamer3D.Bindings.Ogre.EnumStencilOperation, HGamer3D.Bindings.Ogre.EnumTexCoordCalcMethod, HGamer3D.Bindings.Ogre.EnumVertexAnimationTrackTargetMode, HGamer3D.Bindings.Ogre.EnumVertexAnimationType, HGamer3D.Bindings.Ogre.StructColour, HGamer3D.Bindings.Ogre.StructDegrees, HGamer3D.Bindings.Ogre.StructQuaternion, HGamer3D.Bindings.Ogre.StructRadians, HGamer3D.Bindings.Ogre.StructSharedPtr, HGamer3D.Bindings.Ogre.StructVec2, HGamer3D.Bindings.Ogre.StructVec3, HGamer3D.Bindings.Ogre.ClassAnimation, HGamer3D.Bindings.Ogre.ClassAnimationState, HGamer3D.Bindings.Ogre.ClassAnimationStateSet, HGamer3D.Bindings.Ogre.ClassAnimationTrack, HGamer3D.Bindings.Ogre.ClassArchive, HGamer3D.Bindings.Ogre.ClassArchiveManager, HGamer3D.Bindings.Ogre.ClassBillboard, HGamer3D.Bindings.Ogre.ClassBillboardChain, HGamer3D.Bindings.Ogre.ClassBillboardChainFactory, HGamer3D.Bindings.Ogre.ClassBillboardSet, HGamer3D.Bindings.Ogre.ClassBillboardSetFactory, HGamer3D.Bindings.Ogre.ClassBone, HGamer3D.Bindings.Ogre.ClassCamera, HGamer3D.Bindings.Ogre.ClassConfigFile, HGamer3D.Bindings.Ogre.ClassControllerManager, HGamer3D.Bindings.Ogre.ClassEntity, HGamer3D.Bindings.Ogre.ClassEntityFactory, HGamer3D.Bindings.Ogre.ClassException, HGamer3D.Bindings.Ogre.ClassFrustum, HGamer3D.Bindings.Ogre.ClassLight, HGamer3D.Bindings.Ogre.ClassLightFactory, HGamer3D.Bindings.Ogre.ClassLog, HGamer3D.Bindings.Ogre.ClassLogManager, HGamer3D.Bindings.Ogre.ClassManualObject, HGamer3D.Bindings.Ogre.ClassManualObjectFactory, HGamer3D.Bindings.Ogre.ClassManualObjectSection, HGamer3D.Bindings.Ogre.ClassMaterial, HGamer3D.Bindings.Ogre.ClassMaterialManager, HGamer3D.Bindings.Ogre.ClassMesh, HGamer3D.Bindings.Ogre.ClassMeshManager, HGamer3D.Bindings.Ogre.ClassMovableObject, HGamer3D.Bindings.Ogre.ClassMovableObjectFactory, HGamer3D.Bindings.Ogre.ClassMultiRenderTarget, HGamer3D.Bindings.Ogre.ClassNode, HGamer3D.Bindings.Ogre.ClassNodeAnimationTrack, HGamer3D.Bindings.Ogre.ClassNumericAnimationTrack, HGamer3D.Bindings.Ogre.ClassRenderable, HGamer3D.Bindings.Ogre.ClassRenderSystem, HGamer3D.Bindings.Ogre.ClassRenderTarget, HGamer3D.Bindings.Ogre.ClassRenderTexture, HGamer3D.Bindings.Ogre.ClassRenderWindow, HGamer3D.Bindings.Ogre.ClassResource, HGamer3D.Bindings.Ogre.ClassResourceGroupManager, HGamer3D.Bindings.Ogre.ClassResourceManager, HGamer3D.Bindings.Ogre.ClassRoot, HGamer3D.Bindings.Ogre.ClassSceneManager, HGamer3D.Bindings.Ogre.ClassSceneManagerFactory, HGamer3D.Bindings.Ogre.ClassSceneNode, HGamer3D.Bindings.Ogre.ClassSkeleton, HGamer3D.Bindings.Ogre.ClassSkeletonManager, HGamer3D.Bindings.Ogre.ClassTextureManager, HGamer3D.Bindings.Ogre.ClassTimeIndex, HGamer3D.Bindings.Ogre.ClassVertexAnimationTrack, HGamer3D.Bindings.Ogre.ClassViewport, HGamer3D.Bindings.Ogre.ClassWindowEventUtilities
+  Exposed-modules:   HGamer3D.Bindings.Ogre.Utils, HGamer3D.Bindings.Ogre.ClassPtr, HGamer3D.Bindings.Ogre.StructHG3DClass, HGamer3D.Bindings.Ogre.EnumAnimationInterpolationMode, HGamer3D.Bindings.Ogre.EnumAnimationRotationInterpolationMode, HGamer3D.Bindings.Ogre.EnumAxisAlignedBoxCorner, HGamer3D.Bindings.Ogre.EnumAxisAlignedBoxExtent, HGamer3D.Bindings.Ogre.EnumBillboardChainTexCoordDirection, HGamer3D.Bindings.Ogre.EnumBillboardOrigin, HGamer3D.Bindings.Ogre.EnumBillboardRotationType, HGamer3D.Bindings.Ogre.EnumBillboardType, HGamer3D.Bindings.Ogre.EnumDataStreamAccessMode, HGamer3D.Bindings.Ogre.EnumEntityVertexDataBindChoice, HGamer3D.Bindings.Ogre.EnumExceptionCode, HGamer3D.Bindings.Ogre.EnumFrustumPlane, HGamer3D.Bindings.Ogre.EnumGpuProgramType, HGamer3D.Bindings.Ogre.EnumLightType, HGamer3D.Bindings.Ogre.EnumLoggingLevel, HGamer3D.Bindings.Ogre.EnumLogMessageLevel, HGamer3D.Bindings.Ogre.EnumMathAngleUnit, HGamer3D.Bindings.Ogre.EnumMeshManagerMeshBuildType, HGamer3D.Bindings.Ogre.EnumNodeTransformSpace, HGamer3D.Bindings.Ogre.EnumOrientationMode, HGamer3D.Bindings.Ogre.EnumProjectionType, HGamer3D.Bindings.Ogre.EnumRenderOperationOperationType, HGamer3D.Bindings.Ogre.EnumRenderTargetFrameBuffer, HGamer3D.Bindings.Ogre.EnumRenderTargetStatFlags, HGamer3D.Bindings.Ogre.EnumRootFrameEventTimeType, HGamer3D.Bindings.Ogre.EnumSceneManagerBoxPlane, HGamer3D.Bindings.Ogre.EnumSceneManagerIlluminationRenderStage, HGamer3D.Bindings.Ogre.EnumSceneManagerPrefabType, HGamer3D.Bindings.Ogre.EnumSceneManagerSpecialCaseRenderQueueMode, HGamer3D.Bindings.Ogre.EnumSceneType, HGamer3D.Bindings.Ogre.EnumSkeletonAnimationBlendMode, HGamer3D.Bindings.Ogre.EnumStencilOperation, HGamer3D.Bindings.Ogre.EnumTexCoordCalcMethod, HGamer3D.Bindings.Ogre.EnumVertexAnimationTrackTargetMode, HGamer3D.Bindings.Ogre.EnumVertexAnimationType, HGamer3D.Bindings.Ogre.StructColour, HGamer3D.Bindings.Ogre.StructDegrees, HGamer3D.Bindings.Ogre.StructQuaternion, HGamer3D.Bindings.Ogre.StructRadians, HGamer3D.Bindings.Ogre.StructSharedPtr, HGamer3D.Bindings.Ogre.StructVec2, HGamer3D.Bindings.Ogre.StructVec3, HGamer3D.Bindings.Ogre.ClassAnimation, HGamer3D.Bindings.Ogre.ClassAnimationState, HGamer3D.Bindings.Ogre.ClassAnimationStateSet, HGamer3D.Bindings.Ogre.ClassAnimationTrack, HGamer3D.Bindings.Ogre.ClassArchive, HGamer3D.Bindings.Ogre.ClassArchiveManager, HGamer3D.Bindings.Ogre.ClassBillboard, HGamer3D.Bindings.Ogre.ClassBillboardChain, HGamer3D.Bindings.Ogre.ClassBillboardChainFactory, HGamer3D.Bindings.Ogre.ClassBillboardSet, HGamer3D.Bindings.Ogre.ClassBillboardSetFactory, HGamer3D.Bindings.Ogre.ClassBone, HGamer3D.Bindings.Ogre.ClassCamera, HGamer3D.Bindings.Ogre.ClassConfigFile, HGamer3D.Bindings.Ogre.ClassControllerManager, HGamer3D.Bindings.Ogre.ClassEntity, HGamer3D.Bindings.Ogre.ClassEntityFactory, HGamer3D.Bindings.Ogre.ClassException, HGamer3D.Bindings.Ogre.ClassFrustum, HGamer3D.Bindings.Ogre.ClassHG3DMessagePump, HGamer3D.Bindings.Ogre.ClassLight, HGamer3D.Bindings.Ogre.ClassLightFactory, HGamer3D.Bindings.Ogre.ClassLog, HGamer3D.Bindings.Ogre.ClassLogManager, HGamer3D.Bindings.Ogre.ClassManualObject, HGamer3D.Bindings.Ogre.ClassManualObjectFactory, HGamer3D.Bindings.Ogre.ClassManualObjectSection, HGamer3D.Bindings.Ogre.ClassMaterial, HGamer3D.Bindings.Ogre.ClassMaterialManager, HGamer3D.Bindings.Ogre.ClassMesh, HGamer3D.Bindings.Ogre.ClassMeshManager, HGamer3D.Bindings.Ogre.ClassMovableObject, HGamer3D.Bindings.Ogre.ClassMovableObjectFactory, HGamer3D.Bindings.Ogre.ClassMultiRenderTarget, HGamer3D.Bindings.Ogre.ClassNode, HGamer3D.Bindings.Ogre.ClassNodeAnimationTrack, HGamer3D.Bindings.Ogre.ClassNumericAnimationTrack, HGamer3D.Bindings.Ogre.ClassRenderable, HGamer3D.Bindings.Ogre.ClassRenderSystem, HGamer3D.Bindings.Ogre.ClassRenderTarget, HGamer3D.Bindings.Ogre.ClassRenderTexture, HGamer3D.Bindings.Ogre.ClassRenderWindow, HGamer3D.Bindings.Ogre.ClassResource, HGamer3D.Bindings.Ogre.ClassResourceGroupManager, HGamer3D.Bindings.Ogre.ClassResourceManager, HGamer3D.Bindings.Ogre.ClassRoot, HGamer3D.Bindings.Ogre.ClassSceneManager, HGamer3D.Bindings.Ogre.ClassSceneManagerFactory, HGamer3D.Bindings.Ogre.ClassSceneNode, HGamer3D.Bindings.Ogre.ClassSkeleton, HGamer3D.Bindings.Ogre.ClassSkeletonManager, HGamer3D.Bindings.Ogre.ClassTextureManager, HGamer3D.Bindings.Ogre.ClassTimeIndex, HGamer3D.Bindings.Ogre.ClassVertexAnimationTrack, HGamer3D.Bindings.Ogre.ClassViewport, HGamer3D.Bindings.Ogre.ClassWindowEventUtilities, HGamer3D.Bindings.Ogre.ClassWindowUtilsHG3D
   Other-modules:     
 
   ghc-options:       
HGamer3D/Bindings/Ogre/ClassAnimation.hs view
@@ -88,7 +88,8 @@   return (a2'')
 {-# LINE 60 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
--- | Sets the length of the animation. Changing the length of an animation may invalidate existing AnimationState
+-- | Sets the length of the animation. 
+--Changing the length of an animation may invalidate existing AnimationState
 setLength :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ len
   ->  IO ()
@@ -100,7 +101,8 @@   return ()
 {-# LINE 65 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
--- | Creates a NodeAnimationTrackNode
+-- | Creates a NodeAnimationTrack for animating a Node.
+--
 createNodeTrack :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ handle - Handle to give the track, used for accessing the track later. Must be unique within this Animation. 
   ->  IO (HG3DClass)
@@ -114,7 +116,8 @@   return (a3'')
 {-# LINE 71 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
--- | Creates a NumericAnimationTrack
+-- | Creates a NumericAnimationTrack for animating any numeric value.
+--
 createNumericTrack :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ handle - Handle to give the track, used for accessing the track later. Must be unique within this Animation. 
   ->  IO (HG3DClass)
@@ -128,7 +131,8 @@   return (a3'')
 {-# LINE 77 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
--- | Creates a VertexAnimationTrack
+-- | Creates a VertexAnimationTrack for animating vertex position data.
+--
 createVertexTrack :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ handle - Handle to give the track, used for accessing the track later. Must be unique within this Animation, and is used to identify the target. For example when applied to a Mesh, the handle must reference the index of the geometry being modified; 0 for the shared geometry, and 1+ for SubMesh geometry with the same index-1. 
   ->  EnumVertexAnimationType  -- ^ animType - Either morph or pose animation, 
@@ -144,7 +148,8 @@   return (a4'')
 {-# LINE 84 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
--- | Creates a new AnimationTrackNodeThis method creates a standard AnimationTrackNode
+-- | Creates a new AnimationTrack automatically associated with a Node. 
+--This method creates a standard AnimationTrackNode
 createNodeTrack2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ handle - Numeric handle to give the track, used for accessing the track later. Must be unique within this Animation. 
   ->  HG3DClass  -- ^ node - A pointer to the Node object which will be affected by this track 
@@ -356,7 +361,8 @@   return ()
 {-# LINE 173 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
--- | Applies an animation given a specific time point and weight. Where you have associated animation tracks with objects, you can easily apply an animation to those objects by calling this method. 
+-- | Applies an animation given a specific time point and weight.
+--Where you have associated animation tracks with objects, you can easily apply an animation to those objects by calling this method. 
 apply :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ timePos - The time position in the animation to apply. 
   ->  Float  -- ^ weight - The influence to give to this track, 1.0 for full influence, less to blend with other animations. 
@@ -372,7 +378,8 @@   return ()
 {-# LINE 180 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
--- | Applies all node tracks given a specific time point and weight to the specified node. It does not consider the actual node tracks are attached to. As such, it resembles the apply method for a given skeleton (see below). 
+-- | Applies all node tracks given a specific time point and weight to the specified node.
+--It does not consider the actual node tracks are attached to. As such, it resembles the apply method for a given skeleton (see below). 
 applyToNode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ node
   ->  Float  -- ^ timePos - The time position in the animation to apply. 
@@ -408,7 +415,8 @@   return ()
 {-# LINE 196 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
--- | Applies all vertex tracks given a specific time point and weight to a given entity. 
+-- | Applies all vertex tracks given a specific time point and weight to a given entity.
+--
 apply4 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ entity - The Entity to which this animation should be applied 
   ->  Float  -- ^ timePos - The time position in the animation to apply. 
@@ -428,7 +436,8 @@   return ()
 {-# LINE 205 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
--- | Tells the animation how to interpolate between keyframes. By default, animations normally interpolate linearly between keyframes. This is fast, but when animations include quick changes in direction it can look a little unnatural because directions change instantly at keyframes. An alternative is to tell the animation to interpolate along a spline, which is more expensive in terms of calculation time, but looks smoother because major changes in direction are distributed around the keyframes rather than just at the keyframe. You can also change the default animation behaviour by calling Animation::setDefaultInterpolationMode
+-- | Tells the animation how to interpolate between keyframes.
+--By default, animations normally interpolate linearly between keyframes. This is fast, but when animations include quick changes in direction it can look a little unnatural because directions change instantly at keyframes. An alternative is to tell the animation to interpolate along a spline, which is more expensive in terms of calculation time, but looks smoother because major changes in direction are distributed around the keyframes rather than just at the keyframe. You can also change the default animation behaviour by calling Animation::setDefaultInterpolationMode
 setInterpolationMode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  EnumAnimationInterpolationMode  -- ^ im
   ->  IO ()
@@ -440,7 +449,8 @@   return ()
 {-# LINE 210 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
--- | Gets the current interpolation mode of this animation. See setInterpolationMode for more info. 
+-- | Gets the current interpolation mode of this animation. 
+--See setInterpolationMode for more info. 
 getInterpolationMode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (EnumAnimationInterpolationMode)
  -- ^ 
@@ -452,7 +462,8 @@   return (a2'')
 {-# LINE 215 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
--- | Tells the animation how to interpolate rotations. By default, animations interpolate linearly between rotations. This is fast but not necessarily completely accurate. If you want more accurate interpolation, use spherical interpolation, but be aware that it will incur a higher cost. You can also change the default rotation behaviour by calling Animation::setDefaultRotationInterpolationMode
+-- | Tells the animation how to interpolate rotations.
+--By default, animations interpolate linearly between rotations. This is fast but not necessarily completely accurate. If you want more accurate interpolation, use spherical interpolation, but be aware that it will incur a higher cost. You can also change the default rotation behaviour by calling Animation::setDefaultRotationInterpolationMode
 setRotationInterpolationMode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  EnumAnimationRotationInterpolationMode  -- ^ im
   ->  IO ()
@@ -464,7 +475,8 @@   return ()
 {-# LINE 220 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
--- | Gets the current rotation interpolation mode of this animation. See setRotationInterpolationMode for more info. 
+-- | Gets the current rotation interpolation mode of this animation. 
+--See setRotationInterpolationMode for more info. 
 getRotationInterpolationMode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (EnumAnimationRotationInterpolationMode)
  -- ^ 
@@ -476,7 +488,8 @@   return (a2'')
 {-# LINE 225 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
--- | Optimise an animation by removing unnecessary tracks and keyframes. When you export an animation, it is possible that certain tracks have been keyframed but actually don't include anything useful - the keyframes include no transformation. These tracks can be completely eliminated from the animation and thus speed up the animation. In addition, if several keyframes in a row have the same value, then they are just adding overhead and can be removed. Since track-less and identity track has difference behavior for accumulate animation blending if corresponding track presenting at other animation that is non-identity, and in normally this method didn't known about the situation of other animation, it can't deciding whether or not discards identity tracks. So there have a parameter allow you choose what you want, in case you aren't sure how to do that, you should use Skeleton::optimiseAllAnimations
+-- | Optimise an animation by removing unnecessary tracks and keyframes.
+--When you export an animation, it is possible that certain tracks have been keyframed but actually don't include anything useful - the keyframes include no transformation. These tracks can be completely eliminated from the animation and thus speed up the animation. In addition, if several keyframes in a row have the same value, then they are just adding overhead and can be removed. Since track-less and identity track has difference behavior for accumulate animation blending if corresponding track presenting at other animation that is non-identity, and in normally this method didn't known about the situation of other animation, it can't deciding whether or not discards identity tracks. So there have a parameter allow you choose what you want, in case you aren't sure how to do that, you should use Skeleton::optimiseAllAnimations
 optimise :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ discardIdentityNodeTracks - If true, discard identity node tracks. 
   ->  IO ()
@@ -488,7 +501,8 @@   return ()
 {-# LINE 230 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
--- | Clone this animation. The pointer returned from this method is the only one recorded, thus it is up to the caller to arrange for the deletion of this object. 
+-- | Clone this animation.
+--The pointer returned from this method is the only one recorded, thus it is up to the caller to arrange for the deletion of this object. 
 clone :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ newName
   ->  IO (HG3DClass)
@@ -502,7 +516,60 @@   return (a3'')
 {-# LINE 236 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
--- | Sets the default animation interpolation mode. Every animation created after this option is set will have the new interpolation mode specified. You can also change the mode per animation by calling the setInterpolationMode method on the instance in question. 
+-- | Sets a base keyframe which for the skeletal / pose keyframes in this animation. Skeletal and pose animation keyframes are expressed as deltas from a given base state. By default, that is the binding setup of the skeleton, or the object space mesh positions for pose animation. However, sometimes it is useful for animators to create animations with a different starting pose, because that's more convenient, and the animation is designed to simply be added to the existing animation state and not globally averaged with other animations (this is always the case with pose animations, but is activated for skeletal animations via ANIMBLEND_CUMULATIVE). In order for this to work, the keyframes need to be 're-based' against this new starting state, for example by treating the first keyframe as the reference point (and therefore representing no change). This can be achieved by applying the inverse of this reference keyframe against all other keyframes. Since this fundamentally changes the animation, this method just marks the animation as requiring this rebase, which is performed at the next AnimationAnimation_applyBaseKeyFrame
+setUseBaseKeyFrame :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Bool  -- ^ useBaseKeyFrame - Whether a base keyframe should be used 
+  ->  Float  -- ^ keyframeTime - The time corresponding to the base keyframe, if any 
+  ->  String  -- ^ baseAnimName - Optionally a different base animation (must contain the same tracks) 
+  ->  IO ()
+ -- ^ 
+setUseBaseKeyFrame a1 a2 a3 a4 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = fromBool a2} in 
+  let {a3' = realToFrac a3} in 
+  withCString a4 $ \a4' -> 
+  setUseBaseKeyFrame'_ a1' a2' a3' a4' >>= \res ->
+  return ()
+{-# LINE 243 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
+
+-- | Whether a base keyframe is being used for this Animation
+getUseBaseKeyFrame :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Bool)
+ -- ^ 
+getUseBaseKeyFrame a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getUseBaseKeyFrame'_ a1' a2' >>= \res ->
+  peekBoolUtil  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 248 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
+
+-- | If a base keyframe is being used, the time of that keyframe. 
+getBaseKeyFrameTime :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Float)
+ -- ^ 
+getBaseKeyFrameTime a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getBaseKeyFrameTime'_ a1' a2' >>= \res ->
+  peekFloatConv  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 253 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
+
+-- | If a base keyframe is being used, the Animation
+getBaseKeyFrameAnimationName :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (String)
+ -- ^ 
+getBaseKeyFrameAnimationName a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloc64k $ \a2' -> 
+  getBaseKeyFrameAnimationName'_ a1' a2' >>= \res ->
+  peekCString  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 258 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
+
+-- | Sets the default animation interpolation mode. 
+--Every animation created after this option is set will have the new interpolation mode specified. You can also change the mode per animation by calling the setInterpolationMode method on the instance in question. 
 setDefaultInterpolationMode :: EnumAnimationInterpolationMode  -- ^ im
   ->  IO ()
  -- ^ 
@@ -510,7 +577,7 @@   let {a1' = cIntFromEnum a1} in 
   setDefaultInterpolationMode'_ a1' >>= \res ->
   return ()
-{-# LINE 240 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
+{-# LINE 262 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
 -- | Gets the default interpolation mode for all animations. 
 getDefaultInterpolationMode :: IO (EnumAnimationInterpolationMode)
@@ -520,9 +587,10 @@   getDefaultInterpolationMode'_ a1' >>= \res ->
   peekEnumUtil  a1'>>= \a1'' -> 
   return (a1'')
-{-# LINE 244 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
+{-# LINE 266 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
--- | Sets the default rotation interpolation mode. Every animation created after this option is set will have the new interpolation mode specified. You can also change the mode per animation by calling the setInterpolationMode method on the instance in question. 
+-- | Sets the default rotation interpolation mode. 
+--Every animation created after this option is set will have the new interpolation mode specified. You can also change the mode per animation by calling the setInterpolationMode method on the instance in question. 
 setDefaultRotationInterpolationMode :: EnumAnimationRotationInterpolationMode  -- ^ im
   ->  IO ()
  -- ^ 
@@ -530,7 +598,7 @@   let {a1' = cIntFromEnum a1} in 
   setDefaultRotationInterpolationMode'_ a1' >>= \res ->
   return ()
-{-# LINE 248 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
+{-# LINE 270 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
 -- | Gets the default rotation interpolation mode for all animations. 
 getDefaultRotationInterpolationMode :: IO (EnumAnimationRotationInterpolationMode)
@@ -540,7 +608,7 @@   getDefaultRotationInterpolationMode'_ a1' >>= \res ->
   peekEnumUtil  a1'>>= \a1'' -> 
   return (a1'')
-{-# LINE 252 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
+{-# LINE 274 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_destruct"
@@ -644,6 +712,18 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_clone"
   clone'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_setUseBaseKeyFrame"
+  setUseBaseKeyFrame'_ :: ((HG3DClassPtr) -> (CInt -> (CFloat -> ((Ptr CChar) -> (IO ())))))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getUseBaseKeyFrame"
+  getUseBaseKeyFrame'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getBaseKeyFrameTime"
+  getBaseKeyFrameTime'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getBaseKeyFrameAnimationName"
+  getBaseKeyFrameAnimationName'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_setDefaultInterpolationMode"
   setDefaultInterpolationMode'_ :: (CInt -> (IO ()))
HGamer3D/Bindings/Ogre/ClassAnimationState.hs view
@@ -48,13 +48,13 @@ import HGamer3D.Bindings.Ogre.StructHG3DClass
 {-# LINE 42 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimationState.chs" #-}
 
--- | Normal constructor with all params supplied. 
-new :: String  -- ^ animName
-  ->  HG3DClass  -- ^ parent
-  ->  Float  -- ^ timePos
-  ->  Float  -- ^ length
-  ->  Float  -- ^ weight
-  ->  Bool  -- ^ enabled
+-- | Normal constructor with all params supplied 
+new :: String  -- ^ animName - The name of this state. 
+  ->  HG3DClass  -- ^ parent - The parent AnimationStateSet that this state will belong to. 
+  ->  Float  -- ^ timePos - The position, in seconds, where this state will begin. 
+  ->  Float  -- ^ length - The length, in seconds, of this animation state. 
+  ->  Float  -- ^ weight - Weight to apply the animation state with. 
+  ->  Bool  -- ^ enabled - Whether the animation state is enabled. 
   ->  IO (HG3DClass)
  -- ^ 
 new a1 a2 a3 a4 a5 a6 =
@@ -70,7 +70,7 @@   return (a7'')
 {-# LINE 53 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimationState.chs" #-}
 
--- | Destructor - is here because class has virtual functions and some compilers would whine if it won't exist. 
+-- | 
 delete :: HG3DClass  -- ^ classpointer - pointer of Class instance which is going to be deleted.
   ->  IO ()
  -- ^ 
@@ -164,9 +164,10 @@   return ()
 {-# LINE 92 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimationState.chs" #-}
 
--- | Modifies the time position, adjusting for animation length This method loops at the edges if animation looping is enabled. 
+-- | Modifies the time position, adjusting for animation length
+--This method loops at the edges if animation looping is enabled. 
 addTime :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
-  ->  Float  -- ^ offset
+  ->  Float  -- ^ offset - The amount of time, in seconds, to extend the animation. 
   ->  IO ()
  -- ^ 
 addTime a1 a2 =
@@ -236,7 +237,8 @@   return (a2'')
 {-# LINE 122 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimationState.chs" #-}
 
--- | Copies the states from another animation state, preserving the animation name (unlike operator=) but copying everything else. 
+-- | Copies the states from another animation state, preserving the animation name
+--
 copyStateFrom :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ animState - Reference to animation state which will use as source. 
   ->  IO ()
@@ -260,7 +262,7 @@   return (a2'')
 {-# LINE 132 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimationState.chs" #-}
 
--- | create a new blend mask with the given number of entries  - Details: In addition to assigning a single weight value to a skeletal animation, it may be desirable to assign animation weights per bone using a 'blend mask'.
+-- | Create a new blend mask with the given number of entries.  - Details: In addition to assigning a single weight value to a skeletal animation, it may be desirable to assign animation weights per bone using a 'blend mask'.
 createBlendMask :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ blendMaskSizeHint
   ->  Float  -- ^ initialWeight
@@ -274,7 +276,7 @@   return ()
 {-# LINE 138 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimationState.chs" #-}
 
--- | destroy the currently set blend mask 
+-- | Destroy the currently set blend mask. 
 destroyBlendMask :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -284,7 +286,7 @@   return ()
 {-# LINE 142 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimationState.chs" #-}
 
--- | return whether there is currently a valid blend mask set 
+-- | Return whether there is currently a valid blend mask set. 
 hasBlendMask :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -296,7 +298,7 @@   return (a2'')
 {-# LINE 147 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimationState.chs" #-}
 
--- | set the weight for the bone identified by the given handle 
+-- | Set the weight for the bone identified by the given handle. 
 setBlendMaskEntry :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ boneHandle
   ->  Float  -- ^ weight
@@ -310,7 +312,7 @@   return ()
 {-# LINE 153 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimationState.chs" #-}
 
--- | get the weight for the bone identified by the given handle 
+-- | Get the weight for the bone identified by the given handle. 
 getBlendMaskEntry :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ boneHandle
   ->  IO (Float)
HGamer3D/Bindings/Ogre/ClassAnimationStateSet.hs view
@@ -58,7 +58,8 @@   return ()
 {-# LINE 47 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimationStateSet.chs" #-}
 
--- | Create a new AnimationState
+-- | Create a new AnimationState instance. 
+--
 createAnimationState :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ animName - The name of the animation 
   ->  Float  -- ^ timePos - Starting time position 
HGamer3D/Bindings/Ogre/ClassAnimationTrack.hs view
@@ -104,7 +104,8 @@   return ()
 {-# LINE 66 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimationTrack.chs" #-}
 
--- | Applies an animation track to the designated target. 
+-- | Applies an animation track to the designated target.
+--
 apply :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ timeIndex - The time position in the animation to apply. 
   ->  Float  -- ^ weight - The influence to give to this track, 1.0 for full influence, less to blend with other animations. 
@@ -120,7 +121,8 @@   return ()
 {-# LINE 73 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimationTrack.chs" #-}
 
--- | Method to determine if this track has any KeyFrames which are doing anything useful - can be used to determine if this track can be optimised out. 
+-- | Method to determine if this track has any KeyFrames which are
+--
 hasNonZeroKeyFrames :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
HGamer3D/Bindings/Ogre/ClassArchive.hs view
@@ -82,7 +82,8 @@   return (a2'')
 {-# LINE 57 ".\\HGamer3D\\Bindings\\Ogre\\ClassArchive.chs" #-}
 
--- | Loads the archive. This initializes all the internal data of the class. Do not call this function directly, it is meant to be used only by the ArchiveManager
+-- | Loads the archive.
+--This initializes all the internal data of the class. Do not call this function directly, it is meant to be used only by the ArchiveManager
 load :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -92,7 +93,8 @@   return ()
 {-# LINE 61 ".\\HGamer3D\\Bindings\\Ogre\\ClassArchive.chs" #-}
 
--- | Unloads the archive. Do not call this function directly, it is meant to be used only by the ArchiveManager
+-- | Unloads the archive.
+--Do not call this function directly, it is meant to be used only by the ArchiveManager
 unload :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -114,7 +116,8 @@   return (a2'')
 {-# LINE 70 ".\\HGamer3D\\Bindings\\Ogre\\ClassArchive.chs" #-}
 
--- | Delete a named file. Not possible on read-only archives 
+-- | Delete a named file.
+--Not possible on read-only archives 
 remove :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ filename - The fully qualified name of the file 
   ->  IO ()
HGamer3D/Bindings/Ogre/ClassArchiveManager.hs view
@@ -74,7 +74,8 @@   return (a4'')
 {-# LINE 54 ".\\HGamer3D\\Bindings\\Ogre\\ClassArchiveManager.chs" #-}
 
--- | Unloads an archive. You must ensure that this archive is not being used before removing it. 
+-- | Unloads an archive.
+--You must ensure that this archive is not being used before removing it. 
 unload :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ arch
   ->  IO ()
@@ -86,7 +87,8 @@   return ()
 {-# LINE 59 ".\\HGamer3D\\Bindings\\Ogre\\ClassArchiveManager.chs" #-}
 
--- | Unloads an archive by name. You must ensure that this archive is not being used before removing it. 
+-- | Unloads an archive by name.
+--You must ensure that this archive is not being used before removing it. 
 unload2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ filename
   ->  IO ()
@@ -98,7 +100,19 @@   return ()
 {-# LINE 64 ".\\HGamer3D\\Bindings\\Ogre\\ClassArchiveManager.chs" #-}
 
--- | Override standard Singleton retrieval. Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
+-- | Override standard Singleton retrieval.
+--Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
+getSingleton :: IO (HG3DClass)
+ -- ^ 
+getSingleton =
+  alloca $ \a1' -> 
+  getSingleton'_ a1' >>= \res ->
+  peek  a1'>>= \a1'' -> 
+  return (a1'')
+{-# LINE 68 ".\\HGamer3D\\Bindings\\Ogre\\ClassArchiveManager.chs" #-}
+
+-- | Override standard Singleton retrieval.
+--Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
 getSingletonPtr :: IO (HG3DClass)
  -- ^ 
 getSingletonPtr =
@@ -106,7 +120,7 @@   getSingletonPtr'_ a1' >>= \res ->
   peek  a1'>>= \a1'' -> 
   return (a1'')
-{-# LINE 68 ".\\HGamer3D\\Bindings\\Ogre\\ClassArchiveManager.chs" #-}
+{-# LINE 72 ".\\HGamer3D\\Bindings\\Ogre\\ClassArchiveManager.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassArchiveManager.chs.h ogre_archm_destruct"
@@ -120,6 +134,9 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassArchiveManager.chs.h ogre_archm_unload2"
   unload2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassArchiveManager.chs.h ogre_archm_getSingleton"
+  getSingleton'_ :: ((HG3DClassPtr) -> (IO ()))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassArchiveManager.chs.h ogre_archm_getSingletonPtr"
   getSingletonPtr'_ :: ((HG3DClassPtr) -> (IO ()))
HGamer3D/Bindings/Ogre/ClassBillboardChain.hs view
@@ -49,8 +49,10 @@ {-# LINE 42 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 import HGamer3D.Bindings.Ogre.EnumBillboardChainTexCoordDirection
 {-# LINE 43 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
-import HGamer3D.Bindings.Ogre.StructSharedPtr
+import HGamer3D.Bindings.Ogre.StructVec3
 {-# LINE 44 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+import HGamer3D.Bindings.Ogre.StructSharedPtr
+{-# LINE 45 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
 -- | destructor 
 delete :: HG3DClass  -- ^ classpointer - pointer of Class instance which is going to be deleted.
@@ -60,7 +62,7 @@   withHG3DClass a1 $ \a1' -> 
   delete'_ a1' >>= \res ->
   return ()
-{-# LINE 49 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 50 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
 -- | Set the maximum number of chain elements per chain 
 setMaxChainElements :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -72,7 +74,7 @@   let {a2' = fromIntegral a2} in 
   setMaxChainElements'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 54 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 55 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
 -- | Get the maximum number of chain elements per chain 
 getMaxChainElements :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -84,7 +86,7 @@   getMaxChainElements'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 59 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 60 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
 -- | Set the number of chain segments (this class can render multiple chains at once using the same material). 
 setNumberOfChains :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -96,9 +98,10 @@   let {a2' = fromIntegral a2} in 
   setNumberOfChains'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 64 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 65 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
--- | Get the number of chain segments (this class can render multiple chains at once using the same material). 
+-- | Get the number of chain segments (this class can render multiple chains
+--
 getNumberOfChains :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Int)
  -- ^ 
@@ -108,9 +111,11 @@   getNumberOfChains'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 69 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 70 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
--- | Sets whether texture coordinate information should be included in the final buffers generated. You must use either texture coordinates or vertex colour since the vertices have no normals and without one of these there is no source of colour for the vertices. 
+-- | Sets whether texture coordinate information should be included in the
+--final buffers generated.
+--You must use either texture coordinates or vertex colour since the vertices have no normals and without one of these there is no source of colour for the vertices. 
 setUseTextureCoords :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ use
   ->  IO ()
@@ -120,7 +125,7 @@   let {a2' = fromBool a2} in 
   setUseTextureCoords'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 74 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 75 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
 -- | Gets whether texture coordinate information should be included in the final buffers generated. 
 getUseTextureCoords :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -132,9 +137,11 @@   getUseTextureCoords'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 79 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 80 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
--- | Sets the direction in which texture coords specified on each element are deemed to run along the length of the chain. 
+-- | Sets the direction in which texture coords specified on each element
+--are deemed to run along the length of the chain.
+--
 setTextureCoordDirection :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  EnumBillboardChainTexCoordDirection  -- ^ dir - The direction, default is TCD_U. 
   ->  IO ()
@@ -144,7 +151,7 @@   let {a2' = cIntFromEnum a2} in 
   setTextureCoordDirection'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 84 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 85 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
 -- | Gets the direction in which texture coords specified on each element are deemed to run. 
 getTextureCoordDirection :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -156,9 +163,11 @@   getTextureCoordDirection'_ a1' a2' >>= \res ->
   peekEnumUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 89 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 90 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
--- | Set the range of the texture coordinates generated across the width of the chain elements. 
+-- | Set the range of the texture coordinates generated across the width of
+--the chain elements.
+--
 setOtherTextureCoordRange :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ start - Start coordinate, default 0.0 
   ->  Float  -- ^ end - End coordinate, default 1.0 
@@ -170,9 +179,11 @@   let {a3' = realToFrac a3} in 
   setOtherTextureCoordRange'_ a1' a2' a3' >>= \res ->
   return ()
-{-# LINE 95 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 96 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
--- | Sets whether vertex colour information should be included in the final buffers generated. You must use either texture coordinates or vertex colour since the vertices have no normals and without one of these there is no source of colour for the vertices. 
+-- | Sets whether vertex colour information should be included in the
+--final buffers generated.
+--You must use either texture coordinates or vertex colour since the vertices have no normals and without one of these there is no source of colour for the vertices. 
 setUseVertexColours :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ use
   ->  IO ()
@@ -182,7 +193,7 @@   let {a2' = fromBool a2} in 
   setUseVertexColours'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 100 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 101 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
 -- | Gets whether vertex colour information should be included in the final buffers generated. 
 getUseVertexColours :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -194,7 +205,7 @@   getUseVertexColours'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 105 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 106 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
 -- | Sets whether or not the buffers created for this object are suitable for dynamic alteration. 
 setDynamic :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -206,7 +217,7 @@   let {a2' = fromBool a2} in 
   setDynamic'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 110 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 111 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
 -- | Gets whether or not the buffers created for this object are suitable for dynamic alteration. 
 getDynamic :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -218,9 +229,10 @@   getDynamic'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 115 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 116 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
--- | Remove an element from the 'tail' of a chain. 
+-- | Remove an element from the 'tail' of a chain.
+--
 removeChainElement :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ chainIndex - The index of the chain 
   ->  IO ()
@@ -230,7 +242,7 @@   let {a2' = fromIntegral a2} in 
   removeChainElement'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 120 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 121 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
 -- | Returns the number of chain elements. 
 getNumChainElements :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -244,7 +256,7 @@   getNumChainElements'_ a1' a2' a3' >>= \res ->
   peekIntConv  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 126 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 127 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
 -- | Remove all elements of a given chain (but leave the chain intact). 
 clearChain :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -256,7 +268,7 @@   let {a2' = fromIntegral a2} in 
   clearChain'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 131 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 132 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
 -- | Remove all elements from all chains (but leave the chains themselves intact). 
 clearAllChains :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -266,8 +278,24 @@   withHG3DClass a1 $ \a1' -> 
   clearAllChains'_ a1' >>= \res ->
   return ()
-{-# LINE 135 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 136 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
+-- | Sets whether the billboard should always be facing the camera or a custom direction
+--set by each point element.
+--Billboards facing the camera are useful for smoke trails, light beams, etc by simulating a cylinder. However, because of this property, wide trails can cause several artefacts unless the head is properly covered. Therefore, non-camera-facing billboards are much more convenient for leaving big trails of movement from thin objects, for example a sword swing as seen in many fighting games. 
+setFaceCamera :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Bool  -- ^ faceCamera - True to be always facing the camera (Default value: True) 
+  ->  Vec3  -- ^ normalVector - Only used when faceCamera == false. Must be a non-zero vector. This vector is the "point of reference" for each point orientation. For example, if normalVector is Vector3::UNIT_Z, and the point's orientation is an identity matrix, the segment corresponding to that point will be facing towards UNIT_Z This vector is internally normalized. 
+  ->  IO ()
+ -- ^ 
+setFaceCamera a1 a2 a3 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = fromBool a2} in 
+  withVec3 a3 $ \a3' -> 
+  setFaceCamera'_ a1' a2' a3' >>= \res ->
+  return ()
+{-# LINE 142 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+
 -- | Get the material name in use. 
 getMaterialName :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (String)
@@ -278,7 +306,7 @@   getMaterialName'_ a1' a2' >>= \res ->
   peekCString  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 140 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 147 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
 -- | Set the material name to use for rendering. 
 setMaterialName :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -292,9 +320,10 @@   withCString a3 $ \a3' -> 
   setMaterialName'_ a1' a2' a3' >>= \res ->
   return ()
-{-# LINE 146 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 153 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
--- | Returns the camera-relative squared depth of this renderable. Used to sort transparent objects. Squared depth is used rather than actual depth to avoid having to perform a square root on the result. 
+-- | Returns the camera-relative squared depth of this renderable.
+--Used to sort transparent objects. Squared depth is used rather than actual depth to avoid having to perform a square root on the result. 
 getSquaredViewDepth :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ cam
   ->  IO (Float)
@@ -306,7 +335,7 @@   getSquaredViewDepth'_ a1' a2' a3' >>= \res ->
   peekFloatConv  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 152 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 159 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
 -- | Retrieves the radius of the origin-centered bounding sphere for this object. 
 getBoundingRadius :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -318,9 +347,10 @@   getBoundingRadius'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 157 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 164 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
--- | Retrieves a weak reference to the material this renderable object uses. Note that the Renderable
+-- | Retrieves a weak reference to the material this renderable object uses.
+--Note that the Renderable
 getMaterial :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (SharedPtr)
  -- ^ 
@@ -330,7 +360,7 @@   getMaterial'_ a1' a2' >>= \res ->
   peekSharedPtr  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 162 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 169 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
 -- | Returns the type name of this object. 
 getMovableType :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -342,9 +372,26 @@   getMovableType'_ a1' a2' >>= \res ->
   peekCString  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 167 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
+{-# LINE 174 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
+-- | Called just prior to the Renderable being rendered. 
+--OGRE is a queued renderer, so the actual render commands are executed at a later time than the point at which an object is discovered to be visible. This allows ordering & grouping of renders without the discovery process having to be aware of it. It also means OGRE uses declarative render information rather than immediate mode rendering - this is very useful in that certain effects and processes can automatically be applied to a wide range of scenes, but the downside is that special cases are more difficult to handle, because there is not the declared state to cope with it. This method allows a RenderableRenderableRenderable
+preRender :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  HG3DClass  -- ^ sm
+  ->  HG3DClass  -- ^ rsys
+  ->  IO (Bool)
+ -- ^ return value - true if the automatic render should proceed, false to skip it on the assumption that the     
+preRender a1 a2 a3 =
+  withHG3DClass a1 $ \a1' -> 
+  withHG3DClass a2 $ \a2' -> 
+  withHG3DClass a3 $ \a3' -> 
+  alloca $ \a4' -> 
+  preRender'_ a1' a2' a3' a4' >>= \res ->
+  peekBoolUtil  a4'>>= \a4'' -> 
+  return (a4'')
+{-# LINE 181 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs" #-}
 
+
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs.h ogre_bbdc_destruct"
   delete'_ :: ((HG3DClassPtr) -> (IO ()))
 
@@ -399,6 +446,9 @@ foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs.h ogre_bbdc_clearAllChains"
   clearAllChains'_ :: ((HG3DClassPtr) -> (IO ()))
 
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs.h ogre_bbdc_setFaceCamera"
+  setFaceCamera'_ :: ((HG3DClassPtr) -> (CInt -> ((Vec3Ptr) -> (IO ()))))
+
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs.h ogre_bbdc_getMaterialName"
   getMaterialName'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
 
@@ -416,3 +466,6 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs.h ogre_bbdc_getMovableType"
   getMovableType'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassBillboardChain.chs.h ogre_bbdc_preRender"
+  preRender'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))))
HGamer3D/Bindings/Ogre/ClassBillboardSet.hs view
@@ -390,7 +390,9 @@   return (a2'')
 {-# LINE 188 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardSet.chs" #-}
 
--- | Begin injection of billboard data; applicable when constructing the BillboardSet
+-- | Begin injection of billboard data; applicable when 
+--constructing the BillboardSet for external data use.
+--
 beginBillboards :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ numBillboards - If you know the number of billboards you will be issuing, state it here to make the update more efficient. 
   ->  IO ()
@@ -472,7 +474,8 @@   return (a2'')
 {-# LINE 222 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardSet.chs" #-}
 
--- | Sets whether culling tests billboards in this individually as well as in a group. BillboardThis is useful when you have a large, fairly distributed set of billboards, like maybe trees on a landscape. You probably still want to group them into more than one set (maybe one set per section of landscape), which will be culled coarsely, but you also want to cull the billboards individually because they are spread out. Whilst you could have lots of single-tree sets which are culled separately, this would be inefficient to render because each tree would be issued as it's own rendering operation. By calling this method with a parameter of true, you can have large billboard sets which are spaced out and so get the benefit of batch rendering and coarse culling, but also have fine-grained culling so unnecessary rendering is avoided. 
+-- | Sets whether culling tests billboards in this individually as well as in a group.
+--BillboardThis is useful when you have a large, fairly distributed set of billboards, like maybe trees on a landscape. You probably still want to group them into more than one set (maybe one set per section of landscape), which will be culled coarsely, but you also want to cull the billboards individually because they are spread out. Whilst you could have lots of single-tree sets which are culled separately, this would be inefficient to render because each tree would be issued as it's own rendering operation. By calling this method with a parameter of true, you can have large billboard sets which are spaced out and so get the benefit of batch rendering and coarse culling, but also have fine-grained culling so unnecessary rendering is avoided. 
 setCullIndividually :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ cullIndividual - If true, each billboard is tested before being sent to the pipeline as well as the whole set having to pass the coarse group bounding test. 
   ->  IO ()
@@ -484,7 +487,8 @@   return ()
 {-# LINE 227 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardSet.chs" #-}
 
--- | Sets the type of billboard to render. The default sort of billboard (BBT_POINT), always has both x and y axes parallel to the camera's local axes. This is fine for 'point' style billboards (e.g. flares, smoke, anything which is symmetrical about a central point) but does not look good for billboards which have an orientation (e.g. an elongated raindrop). In this case, the oriented billboards are more suitable (BBT_ORIENTED_COMMON or BBT_ORIENTED_SELF) since they retain an independant Y axis and only the X axis is generated, perpendicular to both the local Y and the camera Z. In some case you might want the billboard has fixed Z axis and doesn't need to face to camera (e.g. an aureola around the player and parallel to the ground). You can use BBT_PERPENDICULAR_SELF which the billboard plane perpendicular to the billboard own direction. Or BBT_PERPENDICULAR_COMMON which the billboard plane perpendicular to the common direction. BBT_PERPENDICULAR_SELF and BBT_PERPENDICULAR_COMMON can't guarantee counterclockwise, you might use double-side material (cull_hardware node
+-- | Sets the type of billboard to render.
+--The default sort of billboard (BBT_POINT), always has both x and y axes parallel to the camera's local axes. This is fine for 'point' style billboards (e.g. flares, smoke, anything which is symmetrical about a central point) but does not look good for billboards which have an orientation (e.g. an elongated raindrop). In this case, the oriented billboards are more suitable (BBT_ORIENTED_COMMON or BBT_ORIENTED_SELF) since they retain an independent Y axis and only the X axis is generated, perpendicular to both the local Y and the camera Z. In some case you might want the billboard has fixed Z axis and doesn't need to face to camera (e.g. an aureola around the player and parallel to the ground). You can use BBT_PERPENDICULAR_SELF which the billboard plane perpendicular to the billboard own direction. Or BBT_PERPENDICULAR_COMMON which the billboard plane perpendicular to the common direction. BBT_PERPENDICULAR_SELF and BBT_PERPENDICULAR_COMMON can't guarantee counterclockwise, you might use double-side material (cull_hardware node
 setBillboardType :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  EnumBillboardType  -- ^ bbt - The type of billboard to render 
   ->  IO ()
@@ -508,7 +512,8 @@   return (a2'')
 {-# LINE 237 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardSet.chs" #-}
 
--- | Use this to specify the common direction given to billboards of type BBT_ORIENTED_COMMON or BBT_PERPENDICULAR_COMMON. Use BBT_ORIENTED_COMMON when you want oriented billboards but you know they are always going to be oriented the same way (e.g. rain in calm weather). It is faster for the system to calculate the billboard vertices if they have a common direction. The common direction also use in BBT_PERPENDICULAR_COMMON, in this case the common direction treat as Z axis, and an additional common up-vector was use to determine billboard X and Y axis. setCommonUpVectorThe direction are use as is, never normalised in internal, user are supposed to normalise it himself. 
+-- | Use this to specify the common direction given to billboards of type BBT_ORIENTED_COMMON or BBT_PERPENDICULAR_COMMON.
+--Use BBT_ORIENTED_COMMON when you want oriented billboards but you know they are always going to be oriented the same way (e.g. rain in calm weather). It is faster for the system to calculate the billboard vertices if they have a common direction. The common direction also use in BBT_PERPENDICULAR_COMMON, in this case the common direction treat as Z axis, and an additional common up-vector was use to determine billboard X and Y axis. setCommonUpVectorThe direction are use as is, never normalised in internal, user are supposed to normalise it himself. 
 setCommonDirection :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Vec3  -- ^ vec - The direction for all billboards. 
   ->  IO ()
@@ -532,7 +537,8 @@   return (a2'')
 {-# LINE 247 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardSet.chs" #-}
 
--- | Use this to specify the common up-vector given to billboards of type BBT_PERPENDICULAR_SELF or BBT_PERPENDICULAR_COMMON. Use BBT_PERPENDICULAR_SELF or BBT_PERPENDICULAR_COMMON when you want oriented billboards perpendicular to specify direction vector (or, Z axis), and doesn't face to camera. In this case, we need an additional up-vector to determine the billboard X and Y axis. The generated billboard plane and X-axis guarantee perpendicular to specify direction. setCommonDirectionThe specify direction is billboard own direction when billboard type is BBT_PERPENDICULAR_SELF, and it's shared common direction when billboard type is BBT_PERPENDICULAR_COMMON. The up-vector are use as is, never normalised in internal, user are supposed to normalise it himself. 
+-- | Use this to specify the common up-vector given to billboards of type BBT_PERPENDICULAR_SELF or BBT_PERPENDICULAR_COMMON.
+--Use BBT_PERPENDICULAR_SELF or BBT_PERPENDICULAR_COMMON when you want oriented billboards perpendicular to specify direction vector (or, Z axis), and doesn't face to camera. In this case, we need an additional up-vector to determine the billboard X and Y axis. The generated billboard plane and X-axis guarantee perpendicular to specify direction. setCommonDirectionThe specify direction is billboard own direction when billboard type is BBT_PERPENDICULAR_SELF, and it's shared common direction when billboard type is BBT_PERPENDICULAR_COMMON. The up-vector are use as is, never normalised in internal, user are supposed to normalise it himself. 
 setCommonUpVector :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Vec3  -- ^ vec - The up-vector for all billboards. 
   ->  IO ()
@@ -556,7 +562,10 @@   return (a2'')
 {-# LINE 257 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardSet.chs" #-}
 
--- | Sets whether or not billboards should use an 'accurate' facing model based on the vector from each billboard to the camera, rather than an optimised version using just the camera direction. By default, the axes for all billboards are calculated using the camera's view direction, not the vector from the camera position to the billboard. The former is faster, and most of the time the difference is not noticeable. However for some purposes (e.g. very large, static billboards) the changing billboard orientation when rotating the camera can be off putting, therefore you can enable this option to use a more expensive, but more accurate version. 
+-- | Sets whether or not billboards should use an 'accurate' facing model
+--based on the vector from each billboard to the camera, rather than 
+--an optimised version using just the camera direction.
+--By default, the axes for all billboards are calculated using the camera's view direction, not the vector from the camera position to the billboard. The former is faster, and most of the time the difference is not noticeable. However for some purposes (e.g. very large, static billboards) the changing billboard orientation when rotating the camera can be off putting, therefore you can enable this option to use a more expensive, but more accurate version. 
 setUseAccurateFacing :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ acc - True to use the slower but more accurate model. Default is false. 
   ->  IO ()
@@ -606,7 +615,8 @@   return (a3'')
 {-# LINE 278 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardSet.chs" #-}
 
--- | Sets whether billboards should be treated as being in world space. This is most useful when you are driving the billboard set from an external data source. 
+-- | Sets whether billboards should be treated as being in world space. 
+--This is most useful when you are driving the billboard set from an external data source. 
 setBillboardsInWorldSpace :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ ws
   ->  IO ()
@@ -618,7 +628,9 @@   return ()
 {-# LINE 283 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardSet.chs" #-}
 
--- | Set whether or not the BillboardSetBy default a billboardset is rendered by generating geometry for a textured quad in memory, taking into account the size and orientation settings, and uploading it to the video card. The alternative is to use hardware point rendering, which means that only one position needs to be sent per billboard rather than 4 and the hardware sorts out how this is rendered based on the render state. Using point rendering is faster than generating quads manually, but is more restrictive. The following restrictions apply: 
+-- | Set whether or not the BillboardSet will use point rendering
+--rather than manually generated quads.
+--By default a billboardset is rendered by generating geometry for a textured quad in memory, taking into account the size and orientation settings, and uploading it to the video card. The alternative is to use hardware point rendering, which means that only one position needs to be sent per billboard rather than 4 and the hardware sorts out how this is rendered based on the render state. Using point rendering is faster than generating quads manually, but is more restrictive. The following restrictions apply: 
 --
 --
 --
@@ -661,7 +673,8 @@   return (a2'')
 {-# LINE 298 ".\\HGamer3D\\Bindings\\Ogre\\ClassBillboardSet.chs" #-}
 
--- | Set the auto update state of this billboard set. This methods controls the updating policy of the vertex buffer. By default auto update is true so the vertex buffer is being update every time this billboard set is about to be rendered. This behavior best fit when the billboards of this set changes frequently. When using static or semi-static billboards, it is recommended to set auto update to false. In that case one should call notifyBillboardDataChanged method to reflect changes made to the billboards data. 
+-- | Set the auto update state of this billboard set.
+--This methods controls the updating policy of the vertex buffer. By default auto update is true so the vertex buffer is being update every time this billboard set is about to be rendered. This behavior best fit when the billboards of this set changes frequently. When using static or semi-static billboards, it is recommended to set auto update to false. In that case one should call notifyBillboardDataChanged method to reflect changes made to the billboards data. 
 setAutoUpdate :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ autoUpdate
   ->  IO ()
HGamer3D/Bindings/Ogre/ClassBone.hs view
@@ -62,7 +62,8 @@   return ()
 {-# LINE 49 ".\\HGamer3D\\Bindings\\Ogre\\ClassBone.chs" #-}
 
--- | Creates a new BoneThis method creates a new bone which will inherit the transforms of this bone, with the handle specified. 
+-- | Creates a new Bone as a child of this bone.
+--This method creates a new bone which will inherit the transforms of this bone, with the handle specified. 
 createChild :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ handle - The numeric handle to give the new bone; must be unique within the Skeleton. 
   ->  Vec3  -- ^ translate - Initial translation offset of child relative to parent 
@@ -102,7 +103,8 @@   return ()
 {-# LINE 66 ".\\HGamer3D\\Bindings\\Ogre\\ClassBone.chs" #-}
 
--- | Resets the position and orientation of this BoneBones are bound to the mesh in a binding pose. They are then modified from this position during animation. This method returns the bone to it's original position and orientation. 
+-- | Resets the position and orientation of this Bone to the original binding position.
+--Bones are bound to the mesh in a binding pose. They are then modified from this position during animation. This method returns the bone to it's original position and orientation. 
 reset :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -112,7 +114,8 @@   return ()
 {-# LINE 70 ".\\HGamer3D\\Bindings\\Ogre\\ClassBone.chs" #-}
 
--- | Sets whether or not this bone is manually controlled. Manually controlled bones can be altered by the application at runtime, and their positions will not be reset by the animation routines. Note that you should also make sure that there are no AnimationTrackgetHandle()You can also use AnimationState::setBlendMask to mask out animation from chosen tracks if you want to prevent application of a scripted animation to a bone without altering the Animation
+-- | Sets whether or not this bone is manually controlled. 
+--Manually controlled bones can be altered by the application at runtime, and their positions will not be reset by the animation routines. Note that you should also make sure that there are no AnimationTrackgetHandle()You can also use AnimationState::setBlendMask to mask out animation from chosen tracks if you want to prevent application of a scripted animation to a bone without altering the Animation
 setManuallyControlled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ manuallyControlled
   ->  IO ()
HGamer3D/Bindings/Ogre/ClassCamera.hs view
@@ -481,23 +481,8 @@   return (a2'')
 {-# LINE 225 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
--- | Enables / disables automatic tracking of a SceneNodeIf you enable auto-tracking, this CameraSceneNodeSceneNodeCameraCameraSceneNode
-setAutoTracking :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
-  ->  Bool  -- ^ enabled - If true, the Camera will track the SceneNode supplied as the next parameter (cannot be null). If false the camera will cease tracking and will remain in it's current orientation. 
-  ->  HG3DClass  -- ^ target - Pointer to the SceneNode which this Camera will track. Make sure you don't delete this SceneNode before turning off tracking (e.g. SceneManager::clearScene will delete it so be careful of this). Can be null if and only if the enabled param is false. 
-  ->  Vec3  -- ^ offset - If supplied, the camera targets this point in local space of the target node instead of the origin of the target node. Good for fine tuning the look at point. 
-  ->  IO ()
- -- ^ 
-setAutoTracking a1 a2 a3 a4 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  withHG3DClass a3 $ \a3' -> 
-  withVec3 a4 $ \a4' -> 
-  setAutoTracking'_ a1' a2' a3' a4' >>= \res ->
-  return ()
-{-# LINE 232 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
-
--- | Sets the level-of-detail factor for this CameraThis method can be used to influence the overall level of detail of the scenes rendered using this camera. Various elements of the scene have level-of-detail reductions to improve rendering speed at distance; this method allows you to hint to those elements that you would like to adjust the level of detail that they would normally use (up or down). The most common use for this method is to reduce the overall level of detail used for a secondary camera used for sub viewports like rear-view mirrors etc. Note that scene elements are at liberty to ignore this setting if they choose, this is merely a hint. 
+-- | Sets the level-of-detail factor for this Camera.
+--This method can be used to influence the overall level of detail of the scenes rendered using this camera. Various elements of the scene have level-of-detail reductions to improve rendering speed at distance; this method allows you to hint to those elements that you would like to adjust the level of detail that they would normally use (up or down). The most common use for this method is to reduce the overall level of detail used for a secondary camera used for sub viewports like rear-view mirrors etc. Note that scene elements are at liberty to ignore this setting if they choose, this is merely a hint. 
 setLodBias :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ factor - The factor to apply to the usual level of detail calculation. Higher values increase the detail, so 2.0 doubles the normal detail and 0.5 halves it. 
   ->  IO ()
@@ -507,9 +492,10 @@   let {a2' = realToFrac a2} in 
   setLodBias'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 237 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 230 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
--- | Returns the level-of-detail bias factor currently applied to this camera. See Camera::setLodBias
+-- | Returns the level-of-detail bias factor currently applied to this camera. 
+--See Camera::setLodBias
 getLodBias :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Float)
  -- ^ 
@@ -519,9 +505,11 @@   getLodBias'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 242 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 235 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
--- | Get a pointer to the camera which should be used to determine LOD settings. Sometimes you don't want the LOD of a render to be based on the camera that's doing the rendering, you want it to be based on a different camera. A good example is when rendering shadow maps, since they will be viewed from the perspective of another camera. Therefore this method lets you associate a different camera instance to use to determine the LOD. To revert the camera to determining LOD based on itself, call this method with a pointer to itself. 
+-- | Get a pointer to the camera which should be used to determine 
+--LOD settings. 
+--Sometimes you don't want the LOD of a render to be based on the camera that's doing the rendering, you want it to be based on a different camera. A good example is when rendering shadow maps, since they will be viewed from the perspective of another camera. Therefore this method lets you associate a different camera instance to use to determine the LOD. To revert the camera to determining LOD based on itself, call this method with a pointer to itself. 
 setLodCamera :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ lodCam
   ->  IO ()
@@ -531,9 +519,11 @@   withHG3DClass a2 $ \a2' -> 
   setLodCamera'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 247 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 240 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
--- | Get a pointer to the camera which should be used to determine LOD settings. If setLodCamera hasn't been called with a different camera, this method will return 'this'. 
+-- | Get a pointer to the camera which should be used to determine 
+--LOD settings. 
+--If setLodCamera hasn't been called with a different camera, this method will return 'this'. 
 getLodCamera :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (HG3DClass)
  -- ^ 
@@ -543,9 +533,10 @@   getLodCamera'_ a1' a2' >>= \res ->
   peek  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 252 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 245 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
--- | Sets the viewing window inside of viewport. This method can be used to set a subset of the viewport as the rendering target. 
+-- | Sets the viewing window inside of viewport.
+--This method can be used to set a subset of the viewport as the rendering target. 
 setWindow :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ Left - Relative to Viewport - 0 corresponds to left edge, 1 - to right edge (default - 0). 
   ->  Float  -- ^ Top - Relative to Viewport - 0 corresponds to top edge, 1 - to bottom edge (default - 0). 
@@ -561,7 +552,7 @@   let {a5' = realToFrac a5} in 
   setWindow'_ a1' a2' a3' a4' a5' >>= \res ->
   return ()
-{-# LINE 260 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 253 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
 -- | Cancel view window. 
 resetWindow :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -571,7 +562,7 @@   withHG3DClass a1 $ \a1' -> 
   resetWindow'_ a1' >>= \res ->
   return ()
-{-# LINE 264 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 257 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
 -- | Returns if a viewport window is being used. 
 isWindowSet :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -583,7 +574,7 @@   isWindowSet'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 269 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 262 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
 -- | Overridden from MovableObject
 getBoundingRadius :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -595,7 +586,7 @@   getBoundingRadius'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 274 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 267 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
 -- | Get the auto tracking target for this camera, if any. 
 getAutoTrackTarget :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -607,7 +598,7 @@   getAutoTrackTarget'_ a1' a2' >>= \res ->
   peek  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 279 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 272 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
 -- | Get the auto tracking offset for this camera, if it is auto tracking. 
 getAutoTrackOffset :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -619,9 +610,10 @@   getAutoTrackOffset'_ a1' a2' >>= \res ->
   peekVec3  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 284 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 277 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
--- | Get the last viewport which was attached to this camera. This is not guaranteed to be the only viewport which is using this camera, just the last once which was created referring to it. 
+-- | Get the last viewport which was attached to this camera. 
+--This is not guaranteed to be the only viewport which is using this camera, just the last once which was created referring to it. 
 getViewport :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (HG3DClass)
  -- ^ 
@@ -631,9 +623,11 @@   getViewport'_ a1' a2' >>= \res ->
   peek  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 289 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 282 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
--- | If set to true a viewport that owns this frustum will be able to recalculate the aspect ratio whenever the frustum is resized. You should set this to true only if the frustum / camera is used by one viewport at the same time. Otherwise the aspect ratio for other viewports may be wrong. 
+-- | If set to true a viewport that owns this frustum will be able to 
+--recalculate the aspect ratio whenever the frustum is resized.
+--You should set this to true only if the frustum / camera is used by one viewport at the same time. Otherwise the aspect ratio for other viewports may be wrong. 
 setAutoAspectRatio :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ autoratio
   ->  IO ()
@@ -643,7 +637,7 @@   let {a2' = fromBool a2} in 
   setAutoAspectRatio'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 294 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 287 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
 -- | Retrieves if AutoAspectRatio is currently set or not 
 getAutoAspectRatio :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -655,9 +649,10 @@   getAutoAspectRatio'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 299 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 292 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
--- | Tells the camera to use a separate FrustumBy calling this method, you can tell the camera to perform culling against a different frustum to it's own. This is mostly useful for debug cameras that allow you to show the culling behaviour of another camera, or a manual frustum instance. 
+-- | Tells the camera to use a separate Frustum instance to perform culling.
+--By calling this method, you can tell the camera to perform culling against a different frustum to it's own. This is mostly useful for debug cameras that allow you to show the culling behaviour of another camera, or a manual frustum instance. 
 setCullingFrustum :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ frustum - Pointer to a frustum to use; this can either be a manual Frustum instance (which you can attach to scene nodes like any other MovableObject), or another camera. If you pass 0 to this method it reverts the camera to normal behaviour. 
   ->  IO ()
@@ -667,7 +662,7 @@   withHG3DClass a2 $ \a2' -> 
   setCullingFrustum'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 304 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 297 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
 -- | Returns the custom culling frustum in use. 
 getCullingFrustum :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -679,7 +674,7 @@   getCullingFrustum'_ a1' a2' >>= \res ->
   peek  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 309 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 302 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
 -- | Tests whether the given container is visible in the FrustumOtherwise, false is returned. 
 isVisible3 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -695,9 +690,10 @@   peekEnumUtil  a3'>>= \a3'' -> 
   peekBoolUtil  a4'>>= \a4'' -> 
   return (a3'', a4'')
-{-# LINE 316 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 309 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
--- | Gets the world space corners of the frustum. The corners are ordered as follows: top-right near, top-left near, bottom-left near, bottom-right near, top-right far, top-left far, bottom-left far, bottom-right far. 
+-- | Gets the world space corners of the frustum.
+--The corners are ordered as follows: top-right near, top-left near, bottom-left near, bottom-right near, top-right far, top-left far, bottom-left far, bottom-right far. 
 getWorldSpaceCorners :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Vec3)
  -- ^ 
@@ -707,7 +703,7 @@   getWorldSpaceCorners'_ a1' a2' >>= \res ->
   peekVec3  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 321 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 314 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
 -- | Sets the position of the near clipping plane. 
 getNearClipDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -719,7 +715,7 @@   getNearClipDistance'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 326 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 319 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
 -- | Retrieves the distance from the frustum to the far clipping plane. 
 getFarClipDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -731,9 +727,12 @@   getFarClipDistance'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 331 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 324 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
--- | Set whether this camera should use the 'rendering distance' on objects to exclude distant objects from the final image. The default behaviour is to use it. 
+-- | Set whether this camera should use the 'rendering distance' on
+--objects to exclude distant objects from the final image. The
+--default behaviour is to use it.
+--
 setUseRenderingDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ use - True to use the rendering distance, false not to. 
   ->  IO ()
@@ -743,7 +742,7 @@   let {a2' = fromBool a2} in 
   setUseRenderingDistance'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 336 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 329 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
 -- | Get whether this camera should use the 'rendering distance' on objects to exclude distant objects from the final image. 
 getUseRenderingDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -755,9 +754,10 @@   getUseRenderingDistance'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 341 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 334 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
--- | Synchronise core camera settings with another. Copies the position, orientation, clip distances, projection type, FOV, focal length and aspect ratio from another camera. Other settings like query flags, reflection etc are preserved. 
+-- | Synchronise core camera settings with another. 
+--Copies the position, orientation, clip distances, projection type, FOV, focal length and aspect ratio from another camera. Other settings like query flags, reflection etc are preserved. 
 synchroniseBaseSettingsWith :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ cam
   ->  IO ()
@@ -767,7 +767,7 @@   withHG3DClass a2 $ \a2' -> 
   synchroniseBaseSettingsWith'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 346 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 339 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
 -- | Get the derived position of this frustum. 
 getPositionForViewUpdate :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -779,7 +779,7 @@   getPositionForViewUpdate'_ a1' a2' >>= \res ->
   peekVec3  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 351 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 344 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
 -- | Get the derived orientation of this frustum. 
 getOrientationForViewUpdate :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -791,9 +791,52 @@   getOrientationForViewUpdate'_ a1' a2' >>= \res ->
   peekQuaternion  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 356 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+{-# LINE 349 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
+-- | Sets whether to use min display size calculations 
+--
+setUseMinPixelSize :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Bool  -- ^ enable
+  ->  IO ()
+ -- ^ 
+setUseMinPixelSize a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = fromBool a2} in 
+  setUseMinPixelSize'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 354 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
 
+-- | Returns whether to use min display size calculations Camera::setUseMinDisplaySize 
+getUseMinPixelSize :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Bool)
+ -- ^ 
+getUseMinPixelSize a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getUseMinPixelSize'_ a1' a2' >>= \res ->
+  peekBoolUtil  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 359 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+
+-- | Returns an estimated ratio between a pixel and the display area it represents.
+--For orthographic cameras this function returns the amount of meters covered by
+--a single pixel along the vertical axis. For perspective cameras the value
+--returned is the amount of meters covered by a single pixel per meter distance 
+--from the camera.
+--This parameter is calculated just before the camera is rendered 
+--This parameter is used in min display size calculations. 
+getPixelDisplayRatio :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Float)
+ -- ^ 
+getPixelDisplayRatio a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getPixelDisplayRatio'_ a1' a2' >>= \res ->
+  peekFloatConv  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 364 ".\\HGamer3D\\Bindings\\Ogre\\ClassCamera.chs" #-}
+
+
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassCamera.chs.h ogre_cam_construct"
   new'_ :: ((Ptr CChar) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))))
 
@@ -896,9 +939,6 @@ foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassCamera.chs.h ogre_cam_getMovableType"
   getMovableType'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
 
-foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassCamera.chs.h ogre_cam_setAutoTracking"
-  setAutoTracking'_ :: ((HG3DClassPtr) -> (CInt -> ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))))
-
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassCamera.chs.h ogre_cam_setLodBias"
   setLodBias'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
 
@@ -970,3 +1010,12 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassCamera.chs.h ogre_cam_getOrientationForViewUpdate"
   getOrientationForViewUpdate'_ :: ((HG3DClassPtr) -> ((QuaternionPtr) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassCamera.chs.h ogre_cam_setUseMinPixelSize"
+  setUseMinPixelSize'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassCamera.chs.h ogre_cam_getUseMinPixelSize"
+  getUseMinPixelSize'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassCamera.chs.h ogre_cam_getPixelDisplayRatio"
+  getPixelDisplayRatio'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
HGamer3D/Bindings/Ogre/ClassConfigFile.hs view
@@ -137,6 +137,7 @@ {-# LINE 81 ".\\HGamer3D\\Bindings\\Ogre\\ClassConfigFile.chs" #-}
 
 -- | Gets the first setting from the file with the named key. 
+--
 getSetting :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ key - The name of the setting 
   ->  String  -- ^ section - The name of the section it must be in (if any) 
HGamer3D/Bindings/Ogre/ClassControllerManager.hs view
@@ -88,7 +88,8 @@   return ()
 {-# LINE 59 ".\\HGamer3D\\Bindings\\Ogre\\ClassControllerManager.chs" #-}
 
--- | Return relative speed of time as perceived by time based controllers. See setTimeFactor for full information on the meaning of this value. 
+-- | Return relative speed of time as perceived by time based controllers.
+--See setTimeFactor for full information on the meaning of this value. 
 getTimeFactor :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Float)
  -- ^ 
@@ -100,7 +101,8 @@   return (a2'')
 {-# LINE 64 ".\\HGamer3D\\Bindings\\Ogre\\ClassControllerManager.chs" #-}
 
--- | Set the relative speed to update frame time based controllers. Normally any controllers which use time as an input (FrameTimeController) are updated automatically in line with the real passage of time. This method allows you to change that, so that controllers are told that the time is passing slower or faster than it actually is. Use this to globally speed up / slow down the effect of time-based controllers. 
+-- | Set the relative speed to update frame time based controllers.
+--Normally any controllers which use time as an input (FrameTimeController) are updated automatically in line with the real passage of time. This method allows you to change that, so that controllers are told that the time is passing slower or faster than it actually is. Use this to globally speed up / slow down the effect of time-based controllers. 
 setTimeFactor :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ tf - The virtual speed of time (1.0 is real time). 
   ->  IO ()
@@ -112,7 +114,8 @@   return ()
 {-# LINE 69 ".\\HGamer3D\\Bindings\\Ogre\\ClassControllerManager.chs" #-}
 
--- | Gets the constant that is added to time lapsed between each frame. See setFrameDelay for full information on the meaning of this value. 
+-- | Gets the constant that is added to time lapsed between each frame.
+--See setFrameDelay for full information on the meaning of this value. 
 getFrameDelay :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Float)
  -- ^ 
@@ -124,7 +127,8 @@   return (a2'')
 {-# LINE 74 ".\\HGamer3D\\Bindings\\Ogre\\ClassControllerManager.chs" #-}
 
--- | Sets a constant frame rate. This function is useful when rendering a sequence to files that should create a film clip with constant frame rate. It will ensure that scrolling textures and animations move at a constant frame rate. 
+-- | Sets a constant frame rate.
+--This function is useful when rendering a sequence to files that should create a film clip with constant frame rate. It will ensure that scrolling textures and animations move at a constant frame rate. 
 setFrameDelay :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ fd - The delay in seconds wanted between each frame (1.0f / 25.0f means a seconds worth of animation is done in 25 frames). 
   ->  IO ()
@@ -136,7 +140,8 @@   return ()
 {-# LINE 79 ".\\HGamer3D\\Bindings\\Ogre\\ClassControllerManager.chs" #-}
 
--- | Return the elapsed time. See setElapsedTime for full information on the meaning of this value. 
+-- | Return the elapsed time.
+--See setElapsedTime for full information on the meaning of this value. 
 getElapsedTime :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Float)
  -- ^ 
@@ -148,7 +153,8 @@   return (a2'')
 {-# LINE 84 ".\\HGamer3D\\Bindings\\Ogre\\ClassControllerManager.chs" #-}
 
--- | Set the elapsed time. Normally elapsed time accumulated all frames time (which speed relative to time factor) since the rendering loop started. This method allows your to change that to special time, so some elapsed-time-based globally effect is repeatable. 
+-- | Set the elapsed time.
+--Normally elapsed time accumulated all frames time (which speed relative to time factor) since the rendering loop started. This method allows your to change that to special time, so some elapsed-time-based globally effect is repeatable. 
 setElapsedTime :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ elapsedTime - The new elapsed time 
   ->  IO ()
@@ -160,7 +166,19 @@   return ()
 {-# LINE 89 ".\\HGamer3D\\Bindings\\Ogre\\ClassControllerManager.chs" #-}
 
--- | Override standard Singleton retrieval. Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
+-- | Override standard Singleton retrieval.
+--Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
+getSingleton :: IO (HG3DClass)
+ -- ^ 
+getSingleton =
+  alloca $ \a1' -> 
+  getSingleton'_ a1' >>= \res ->
+  peek  a1'>>= \a1'' -> 
+  return (a1'')
+{-# LINE 93 ".\\HGamer3D\\Bindings\\Ogre\\ClassControllerManager.chs" #-}
+
+-- | Override standard Singleton retrieval.
+--Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
 getSingletonPtr :: IO (HG3DClass)
  -- ^ 
 getSingletonPtr =
@@ -168,7 +186,7 @@   getSingletonPtr'_ a1' >>= \res ->
   peek  a1'>>= \a1'' -> 
   return (a1'')
-{-# LINE 93 ".\\HGamer3D\\Bindings\\Ogre\\ClassControllerManager.chs" #-}
+{-# LINE 97 ".\\HGamer3D\\Bindings\\Ogre\\ClassControllerManager.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassControllerManager.chs.h ogre_cmgr_construct"
@@ -200,6 +218,9 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassControllerManager.chs.h ogre_cmgr_setElapsedTime"
   setElapsedTime'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassControllerManager.chs.h ogre_cmgr_getSingleton"
+  getSingleton'_ :: ((HG3DClassPtr) -> (IO ()))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassControllerManager.chs.h ogre_cmgr_getSingletonPtr"
   getSingletonPtr'_ :: ((HG3DClassPtr) -> (IO ()))
HGamer3D/Bindings/Ogre/ClassEntity.hs view
@@ -86,7 +86,8 @@   return (a2'')
 {-# LINE 59 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
--- | Clones this entity and returns a pointer to the clone. Useful method for duplicating an entity. The new entity must be given a unique name, and is not attached to the scene in any way so must be attached to a SceneNodeSceneManager::createEntity
+-- | Clones this entity and returns a pointer to the clone.
+--Useful method for duplicating an entity. The new entity must be given a unique name, and is not attached to the scene in any way so must be attached to a SceneNodeSceneManager::createEntity
 clone :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ newName - Name for the new entity. 
   ->  IO (HG3DClass)
@@ -100,7 +101,8 @@   return (a3'')
 {-# LINE 65 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
--- | Sets the material to use for the whole of this entity. This is a shortcut method to set all the materials for all subentities of this entity. Only use this method is you want to set the same material for all subentities or if you know there is only one. Otherwise call getSubEntity()
+-- | Sets the material to use for the whole of this entity.
+--This is a shortcut method to set all the materials for all subentities of this entity. Only use this method is you want to set the same material for all subentities or if you know there is only one. Otherwise call getSubEntity()
 setMaterialName :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  String  -- ^ groupName
@@ -138,7 +140,8 @@   return (a2'')
 {-# LINE 81 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
--- | For entities based on animated meshes, gets the AnimationStateYou animate an entity by updating the animation state objects. Each of these represents the current state of each animation available to the entity. The AnimationStateMesh
+-- | For entities based on animated meshes, gets the AnimationState object for a single animation.
+--You animate an entity by updating the animation state objects. Each of these represents the current state of each animation available to the entity. The AnimationStateMesh
 getAnimationState :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO (HG3DClass)
@@ -152,7 +155,22 @@   return (a3'')
 {-# LINE 87 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
--- | For entities based on animated meshes, gets the AnimationStateYou animate an entity by updating the animation state objects. Each of these represents the current state of each animation available to the entity. The AnimationStateMesh
+-- | Returns whether the AnimationState
+hasAnimationState :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  String  -- ^ name
+  ->  IO (Bool)
+ -- ^ 
+hasAnimationState a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  withCString a2 $ \a2' -> 
+  alloca $ \a3' -> 
+  hasAnimationState'_ a1' a2' a3' >>= \res ->
+  peekBoolUtil  a3'>>= \a3'' -> 
+  return (a3'')
+{-# LINE 93 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+
+-- | For entities based on animated meshes, gets the AnimationState objects for all animations.
+--You animate an entity by updating the animation state objects. Each of these represents the current state of each animation available to the entity. The AnimationStateMesh
 getAllAnimationStates :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (HG3DClass)
  -- ^ return value - In case the entity is animated, this functions returns the pointer to a     
@@ -162,7 +180,7 @@   getAllAnimationStates'_ a1' a2' >>= \res ->
   peek  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 92 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 98 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
 -- | Tells the Entity
 setDisplaySkeleton :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -174,7 +192,7 @@   let {a2' = fromBool a2} in 
   setDisplaySkeleton'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 97 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 103 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
 -- | Returns whether or not the entity is currently displaying its skeleton. 
 getDisplaySkeleton :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -186,9 +204,10 @@   getDisplaySkeleton'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 102 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 108 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
--- | Gets a pointer to the entity representing the numbered manual level of detail. The zero-based index never includes the original entity, unlike Mesh::getLodLevel
+-- | Gets a pointer to the entity representing the numbered manual level of detail.
+--The zero-based index never includes the original entity, unlike Mesh::getLodLevel
 getManualLodLevel :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ index
   ->  IO (HG3DClass)
@@ -200,9 +219,10 @@   getManualLodLevel'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 108 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 114 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
--- | Returns the number of manual levels of detail that this entity supports. This number never includes the original entity, it is difference with Mesh::getNumLodLevels
+-- | Returns the number of manual levels of detail that this entity supports.
+--This number never includes the original entity, it is difference with Mesh::getNumLodLevels
 getNumManualLodLevels :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Int)
  -- ^ 
@@ -212,9 +232,10 @@   getNumManualLodLevels'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 113 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 119 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
--- | Sets whether the polygon mode of this entire entity may be overridden by the camera detail settings. 
+-- | Sets whether the polygon mode of this entire entity may be
+--
 setPolygonModeOverrideable :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ PolygonModeOverrideable
   ->  IO ()
@@ -224,9 +245,11 @@   let {a2' = fromBool a2} in 
   setPolygonModeOverrideable'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 118 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 124 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
--- | Detach a MovableObject
+-- | Detach a MovableObject previously attached using attachObjectToBone.
+--If the movable object name is not found then an exception is raised.
+--
 detachObjectFromBone :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ movableName - is the name of the movable object to be detached. 
   ->  IO (HG3DClass)
@@ -238,9 +261,10 @@   detachObjectFromBone'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 124 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 130 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
--- | Detaches an object by pointer. Use this method to destroy a MovableObject
+-- | Detaches an object by pointer.
+--Use this method to destroy a MovableObject
 detachObjectFromBone2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ obj
   ->  IO ()
@@ -250,7 +274,7 @@   withHG3DClass a2 $ \a2' -> 
   detachObjectFromBone2'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 129 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 135 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
 -- | Detach all MovableObjects previously attached using attachObjectToBone. 
 detachAllObjectsFromBone :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -260,7 +284,7 @@   withHG3DClass a1 $ \a1' -> 
   detachAllObjectsFromBone'_ a1' >>= \res ->
   return ()
-{-# LINE 133 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 139 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
 -- | MovableObject::getBoundingRadius
 getBoundingRadius :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -272,7 +296,7 @@   getBoundingRadius'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 138 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 144 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
 -- | Overridden member from ShadowCaster. 
 hasEdgeList :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -284,7 +308,7 @@   hasEdgeList'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 143 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 149 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
 -- | Returns whether or not this entity is skeletally animated. 
 hasSkeleton :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -296,9 +320,10 @@   hasSkeleton'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 148 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 154 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
--- | Returns whether or not hardware animation is enabled. Because fixed-function indexed vertex blending is rarely supported by existing graphics cards, hardware animation can only be done if the vertex programs in the materials used to render an entity support it. Therefore, this method will only return true if all the materials assigned to this entity have vertex programs assigned, and all those vertex programs must support 'includes_morph_animation true' if using morph animation, 'includes_pose_animation true' if using pose animation and 'includes_skeletal_animation true' if using skeletal animation. 
+-- | Returns whether or not hardware animation is enabled.
+--Because fixed-function indexed vertex blending is rarely supported by existing graphics cards, hardware animation can only be done if the vertex programs in the materials used to render an entity support it. Therefore, this method will only return true if all the materials assigned to this entity have vertex programs assigned, and all those vertex programs must support 'includes_morph_animation true' if using morph animation, 'includes_pose_animation true' if using pose animation and 'includes_skeletal_animation true' if using skeletal animation.
 isHardwareAnimationEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -308,9 +333,10 @@   isHardwareAnimationEnabled'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 153 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 159 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
--- | Returns the number of requests that have been made for software animation If non-zero then software animation will be performed in updateAnimation regardless of the current setting of isHardwareAnimationEnabled or any internal optimise for eliminate software animation. Requests for software animation are made by calling the addSoftwareAnimationRequest()
+-- | Returns the number of requests that have been made for software animation
+--If non-zero then software animation will be performed in updateAnimation regardless of the current setting of isHardwareAnimationEnabled or any internal optimise for eliminate software animation. Requests for software animation are made by calling the addSoftwareAnimationRequest()
 getSoftwareAnimationRequests :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Int)
  -- ^ 
@@ -320,9 +346,10 @@   getSoftwareAnimationRequests'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 158 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 164 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
--- | Returns the number of requests that have been made for software animation of normals If non-zero, and getSoftwareAnimationRequests()getSoftwareAnimationRequests()addSoftwareAnimationRequest()
+-- | Returns the number of requests that have been made for software animation of normals
+--If non-zero, and getSoftwareAnimationRequests()getSoftwareAnimationRequests()addSoftwareAnimationRequest()
 getSoftwareAnimationNormalsRequests :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Int)
  -- ^ 
@@ -332,9 +359,10 @@   getSoftwareAnimationNormalsRequests'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 163 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 169 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
--- | Add a request for software animation Tells the entity to perform animation calculations for skeletal/vertex animations in software, regardless of the current setting of isHardwareAnimationEnabled()removeSoftwareAnimationRequest()
+-- | Add a request for software animation
+--Tells the entity to perform animation calculations for skeletal/vertex animations in software, regardless of the current setting of isHardwareAnimationEnabled()removeSoftwareAnimationRequest()
 addSoftwareAnimationRequest :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ normalsAlso
   ->  IO ()
@@ -344,9 +372,10 @@   let {a2' = fromBool a2} in 
   addSoftwareAnimationRequest'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 168 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 174 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
--- | Removes a request for software animation Calling this decrements the entity's internal counter of the number of requests for software animation. If the counter is already zero then calling this method throws an exception. The 'normalsAlso' flag if set to 'true' will also decrement the internal counter of number of requests for software animation of normals. 
+-- | Removes a request for software animation
+--Calling this decrements the entity's internal counter of the number of requests for software animation. If the counter is already zero then calling this method throws an exception. The 'normalsAlso' flag if set to 'true' will also decrement the internal counter of number of requests for software animation of normals. 
 removeSoftwareAnimationRequest :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ normalsAlso
   ->  IO ()
@@ -356,7 +385,7 @@   let {a2' = fromBool a2} in 
   removeSoftwareAnimationRequest'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 173 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 179 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
 -- | Shares the SkeletonInstance with the supplied entity. Note that in order for this to work, both entities must have the same Skeleton
 shareSkeletonInstanceWith :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -368,7 +397,7 @@   withHG3DClass a2 $ \a2' -> 
   shareSkeletonInstanceWith'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 178 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 184 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
 -- | Returns whether or not this entity is either morph or pose animated. 
 hasVertexAnimation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -380,7 +409,7 @@   hasVertexAnimation'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 183 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 189 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
 -- | Stops sharing the SkeletonInstance with other entities. 
 stopSharingSkeletonInstance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -390,7 +419,7 @@   withHG3DClass a1 $ \a1' -> 
   stopSharingSkeletonInstance'_ a1' >>= \res ->
   return ()
-{-# LINE 187 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 193 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
 -- | Returns whether this entity shares it's SkeltonInstance with other entity instances. 
 sharesSkeletonInstance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -402,9 +431,10 @@   sharesSkeletonInstance'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 192 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 198 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
--- | Updates the internal animation state set to include the latest available animations from the attached skeleton. Use this method if you manually add animations to a skeleton, or have linked the skeleton to another for animation purposes since creating this entity. If you have called getAnimationState prior to calling this method, the pointers will still remain valid. 
+-- | Updates the internal animation state set to include the latest
+--Use this method if you manually add animations to a skeleton, or have linked the skeleton to another for animation purposes since creating this entity. If you have called getAnimationState prior to calling this method, the pointers will still remain valid. 
 refreshAvailableAnimationState :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -412,7 +442,7 @@   withHG3DClass a1 $ \a1' -> 
   refreshAvailableAnimationState'_ a1' >>= \res ->
   return ()
-{-# LINE 196 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 202 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
 -- | Choose which vertex data to bind to the renderer. 
 chooseVertexDataForBinding :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -426,9 +456,10 @@   chooseVertexDataForBinding'_ a1' a2' a3' >>= \res ->
   peekEnumUtil  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 202 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 208 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
--- | Has this EntityIf this returns false, it means this EntityMeshSkeletonEntity
+-- | Has this Entity been initialised yet?
+--If this returns false, it means this EntityMeshSkeletonEntity
 isInitialised :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -438,7 +469,7 @@   isInitialised'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 207 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 213 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
 -- | Resource::ListenerEntityMesh
 backgroundLoadingComplete :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -450,7 +481,7 @@   withHG3DClass a2 $ \a2' -> 
   backgroundLoadingComplete'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 212 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 218 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
 -- | EntityAnimationStateAnimationState
 setSkipAnimationStateUpdate :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -462,7 +493,7 @@   let {a2' = fromBool a2} in 
   setSkipAnimationStateUpdate'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 217 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 223 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
 -- | EntityAnimationStateAnimationState
 getSkipAnimationStateUpdate :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -474,9 +505,35 @@   getSkipAnimationStateUpdate'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 222 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+{-# LINE 228 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
+-- | The skeleton of the main entity will be updated even if the an LOD entity is being displayed.
+--
+setAlwaysUpdateMainSkeleton :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Bool  -- ^ update
+  ->  IO ()
+ -- ^ 
+setAlwaysUpdateMainSkeleton a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = fromBool a2} in 
+  setAlwaysUpdateMainSkeleton'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 233 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
 
+-- | The skeleton of the main entity will be updated even if the an LOD entity is being displayed.
+--
+getAlwaysUpdateMainSkeleton :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Bool)
+ -- ^ 
+getAlwaysUpdateMainSkeleton a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getAlwaysUpdateMainSkeleton'_ a1' a2' >>= \res ->
+  peekBoolUtil  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 238 ".\\HGamer3D\\Bindings\\Ogre\\ClassEntity.chs" #-}
+
+
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassEntity.chs.h ogre_ent_destruct"
   delete'_ :: ((HG3DClassPtr) -> (IO ()))
 
@@ -501,6 +558,9 @@ foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassEntity.chs.h ogre_ent_getAnimationState"
   getAnimationState'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
 
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassEntity.chs.h ogre_ent_hasAnimationState"
+  hasAnimationState'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
+
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassEntity.chs.h ogre_ent_getAllAnimationStates"
   getAllAnimationStates'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
 
@@ -581,3 +641,9 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassEntity.chs.h ogre_ent_getSkipAnimationStateUpdate"
   getSkipAnimationStateUpdate'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassEntity.chs.h ogre_ent_setAlwaysUpdateMainSkeleton"
+  setAlwaysUpdateMainSkeleton'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassEntity.chs.h ogre_ent_getAlwaysUpdateMainSkeleton"
+  getAlwaysUpdateMainSkeleton'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
HGamer3D/Bindings/Ogre/ClassFrustum.hs view
@@ -244,7 +244,8 @@   return (a2'')
 {-# LINE 126 ".\\HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs" #-}
 
--- | Manually set the extents of the frustum. 
+-- | Manually set the extents of the frustum.
+--
 setFrustumExtents :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ left - The position where the side clip planes intersect the near clip plane, in eye space 
   ->  Float  -- ^ right
@@ -392,7 +393,8 @@   return (a3'')
 {-# LINE 189 ".\\HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs" #-}
 
--- | Gets the world space corners of the frustum. The corners are ordered as follows: top-right near, top-left near, bottom-left near, bottom-right near, top-right far, top-left far, bottom-left far, bottom-right far. 
+-- | Gets the world space corners of the frustum.
+--The corners are ordered as follows: top-right near, top-left near, bottom-left near, bottom-right near, top-right far, top-left far, bottom-left far, bottom-right far. 
 getWorldSpaceCorners :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Vec3)
  -- ^ 
@@ -428,7 +430,8 @@   return (a2'')
 {-# LINE 204 ".\\HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs" #-}
 
--- | Sets the orthographic window settings, for use with orthographic rendering only. Calling this method will recalculate the aspect ratio, use setOrthoWindowHeight or setOrthoWindowWidth alone if you wish to preserve the aspect ratio but just fit one or other dimension to a particular size. 
+-- | Sets the orthographic window settings, for use with orthographic rendering only. 
+--Calling this method will recalculate the aspect ratio, use setOrthoWindowHeight or setOrthoWindowWidth alone if you wish to preserve the aspect ratio but just fit one or other dimension to a particular size. 
 setOrthoWindow :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ w - The dimensions of the view window in world units 
   ->  Float  -- ^ h
@@ -442,7 +445,8 @@   return ()
 {-# LINE 210 ".\\HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs" #-}
 
--- | Sets the orthographic window height, for use with orthographic rendering only. The width of the window will be calculated from the aspect ratio. 
+-- | Sets the orthographic window height, for use with orthographic rendering only. 
+--The width of the window will be calculated from the aspect ratio. 
 setOrthoWindowHeight :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ h - The height of the view window in world units 
   ->  IO ()
@@ -454,7 +458,8 @@   return ()
 {-# LINE 215 ".\\HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs" #-}
 
--- | Sets the orthographic window width, for use with orthographic rendering only. The height of the window will be calculated from the aspect ratio. 
+-- | Sets the orthographic window width, for use with orthographic rendering only. 
+--The height of the window will be calculated from the aspect ratio. 
 setOrthoWindowWidth :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ w - The width of the view window in world units 
   ->  IO ()
@@ -478,7 +483,8 @@   return (a2'')
 {-# LINE 225 ".\\HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs" #-}
 
--- | Gets the orthographic window width, for use with orthographic rendering only. This is calculated from the orthographic height and the aspect ratio 
+-- | Gets the orthographic window width, for use with orthographic rendering only. 
+--This is calculated from the orthographic height and the aspect ratio 
 getOrthoWindowWidth :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Float)
  -- ^ 
@@ -558,7 +564,7 @@   return (a2'')
 {-# LINE 258 ".\\HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs" #-}
 
--- | Set the orientation mode of the frustum. Default is OR_DEGREE_0 Setting the orientation of a frustum is only supported on iPhone at this time. An exception is thrown on other platforms. 
+-- | Set the orientation mode of the frustum. Default is OR_DEGREE_0 Setting the orientation of a frustum is only supported on iOS at this time. An exception is thrown on other platforms. 
 setOrientationMode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  EnumOrientationMode  -- ^ orientationMode
   ->  IO ()
@@ -570,7 +576,7 @@   return ()
 {-# LINE 263 ".\\HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs" #-}
 
--- | Get the orientation mode of the frustum. Getting the orientation of a frustum is only supported on iPhone at this time. An exception is thrown on other platforms. 
+-- | Get the orientation mode of the frustum. Getting the orientation of a frustum is only supported on iOS at this time. An exception is thrown on other platforms. 
 getOrientationMode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (EnumOrientationMode)
  -- ^ 
+ HGamer3D/Bindings/Ogre/ClassHG3DMessagePump.hs view
@@ -0,0 +1,149 @@+-- GENERATED by C->Haskell Compiler, version 0.16.3 Crystal Seed, 24 Jan 2009 (Haskell)
+-- Edit the ORIGNAL .chs file instead!
+
+
+{-# LINE 1 ".\\HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs" #-}{-# LANGUAGE ForeignFunctionInterface #-}
+{-# LANGUAGE TypeSynonymInstances #-}
+
+-- This source file is part of HGamer3D
+-- (A project to enable 3D game development in Haskell)
+-- For the latest info, see http://www.althainz.de/HGamer3D.html
+-- 
+
+-- (c) 2011, 2012 Peter Althainz
+-- 
+-- Licensed under the Apache License, Version 2.0 (the "License");
+-- you may not use this file except in compliance with the License.
+-- You may obtain a copy of the License at
+-- 
+--     http://www.apache.org/licenses/LICENSE-2.0
+-- 
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+-- 
+
+
+-- ClassHG3DMessagePump.chs
+
+-- 
+
+module HGamer3D.Bindings.Ogre.ClassHG3DMessagePump where
+
+import Foreign
+import Foreign.Ptr
+import Foreign.C
+
+import HGamer3D.Data.HG3DClass
+import HGamer3D.Data.Vector
+import HGamer3D.Data.Colour
+import HGamer3D.Data.Angle
+
+import HGamer3D.Bindings.Ogre.Utils
+{-# LINE 40 ".\\HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs" #-}
+import HGamer3D.Bindings.Ogre.ClassPtr
+{-# LINE 41 ".\\HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs" #-}
+import HGamer3D.Bindings.Ogre.StructHG3DClass
+{-# LINE 42 ".\\HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs" #-}
+
+-- | 
+new :: IO (HG3DClass)
+ -- ^ 
+new =
+  alloca $ \a1' -> 
+  new'_ a1' >>= \res ->
+  peek  a1'>>= \a1'' -> 
+  return (a1'')
+{-# LINE 47 ".\\HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs" #-}
+
+-- | 
+delete :: HG3DClass  -- ^ classpointer - pointer of Class instance which is going to be deleted.
+  ->  IO ()
+ -- ^ 
+delete a1 =
+  withHG3DClass a1 $ \a1' -> 
+  delete'_ a1' >>= \res ->
+  return ()
+{-# LINE 51 ".\\HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs" #-}
+
+-- | 
+messagePump :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO ()
+ -- ^ 
+messagePump a1 =
+  withHG3DClass a1 $ \a1' -> 
+  messagePump'_ a1' >>= \res ->
+  return ()
+{-# LINE 55 ".\\HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs" #-}
+
+-- | 
+eventsPending :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Bool)
+ -- ^ 
+eventsPending a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  eventsPending'_ a1' a2' >>= \res ->
+  peekBoolUtil  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 60 ".\\HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs" #-}
+
+-- | 
+getKeyUpEvent :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Int)
+ -- ^ 
+getKeyUpEvent a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getKeyUpEvent'_ a1' a2' >>= \res ->
+  peekIntConv  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 65 ".\\HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs" #-}
+
+-- | 
+getKeyDownEvent :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Int)
+ -- ^ 
+getKeyDownEvent a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getKeyDownEvent'_ a1' a2' >>= \res ->
+  peekIntConv  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 70 ".\\HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs" #-}
+
+-- | 
+getCharEvent :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Int)
+ -- ^ 
+getCharEvent a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getCharEvent'_ a1' a2' >>= \res ->
+  peekIntConv  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 75 ".\\HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs" #-}
+
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs.h ogre_hg3dmp_construct"
+  new'_ :: ((HG3DClassPtr) -> (IO ()))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs.h ogre_hg3dmp_destruct"
+  delete'_ :: ((HG3DClassPtr) -> (IO ()))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs.h ogre_hg3dmp_messagePump"
+  messagePump'_ :: ((HG3DClassPtr) -> (IO ()))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs.h ogre_hg3dmp_eventsPending"
+  eventsPending'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs.h ogre_hg3dmp_getKeyUpEvent"
+  getKeyUpEvent'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs.h ogre_hg3dmp_getKeyDownEvent"
+  getKeyDownEvent'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassHG3DMessagePump.chs.h ogre_hg3dmp_getCharEvent"
+  getCharEvent'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
HGamer3D/Bindings/Ogre/ClassLight.hs view
@@ -416,7 +416,32 @@   return ()
 {-# LINE 199 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
--- | Set a scaling factor to indicate the relative power of a light. This factor is only useful in High Dynamic Range (HDR) rendering. You can bind it to a shader variable to take it into account, GpuProgramParameters 
+-- | Set the near clip plane distance to be used by spotlights that use light clipping, allowing you to render spots as if they start from further down their frustum. 
+setSpotlightNearClipDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Float  -- ^ nearClip
+  ->  IO ()
+ -- ^ 
+setSpotlightNearClipDistance a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = realToFrac a2} in 
+  setSpotlightNearClipDistance'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 204 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+
+-- | Get the near clip plane distance to be used by spotlights that use light clipping. 
+getSpotlightNearClipDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Float)
+ -- ^ 
+getSpotlightNearClipDistance a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getSpotlightNearClipDistance'_ a1' a2' >>= \res ->
+  peekFloatConv  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 209 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+
+-- | Set a scaling factor to indicate the relative power of a light.
+--This factor is only useful in High Dynamic Range (HDR) rendering. You can bind it to a shader variable to take it into account, GpuProgramParameters 
 setPowerScale :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ power - The power rating of this light, default is 1.0. 
   ->  IO ()
@@ -426,7 +451,7 @@   let {a2' = realToFrac a2} in 
   setPowerScale'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 204 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+{-# LINE 214 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
 -- | Set the scaling factor which indicates the relative power of a light. 
 getPowerScale :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -438,7 +463,7 @@   getPowerScale'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 209 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+{-# LINE 219 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
 -- | Overridden from MovableObject
 getMovableType :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -450,9 +475,10 @@   getMovableType'_ a1' a2' >>= \res ->
   peekCString  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 214 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+{-# LINE 224 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
 -- | Retrieves the position of the light including any transform from nodes it is attached to. 
+--
 getDerivedPosition :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ cameraRelativeIfSet - If set to true, returns data in camera-relative units if that's been set up (render use) 
   ->  IO (Vec3)
@@ -464,7 +490,7 @@   getDerivedPosition'_ a1' a2' a3' >>= \res ->
   peekVec3  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 220 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+{-# LINE 230 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
 -- | Retrieves the direction of the light including any transform from nodes it is attached to. 
 getDerivedDirection :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -476,9 +502,10 @@   getDerivedDirection'_ a1' a2' >>= \res ->
   peekVec3  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 225 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+{-# LINE 235 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
--- | Overridden from MovableObjectAlthough lights themselves are not 'visible', setting a light to invisible means it no longer affects the scene. 
+-- | Overridden from MovableObject.
+--Although lights themselves are not 'visible', setting a light to invisible means it no longer affects the scene. 
 setVisible :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ visible
   ->  IO ()
@@ -488,7 +515,7 @@   let {a2' = fromBool a2} in 
   setVisible'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 230 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+{-# LINE 240 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
 -- | Overridden from MovableObject
 getBoundingRadius :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -500,7 +527,7 @@   getBoundingRadius'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 235 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+{-# LINE 245 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
 -- | Override to return specific type flag. 
 getTypeFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -512,9 +539,10 @@   getTypeFlags'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 240 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+{-# LINE 250 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
--- | Reset the shadow camera setup to the default. ShadowCameraSetup 
+-- | Reset the shadow camera setup to the default. 
+--ShadowCameraSetup 
 resetCustomShadowCameraSetup :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -522,9 +550,10 @@   withHG3DClass a1 $ \a1' -> 
   resetCustomShadowCameraSetup'_ a1' >>= \res ->
   return ()
-{-# LINE 244 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+{-# LINE 254 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
--- | Sets the maximum distance away from the camera that shadows by this light will be visible. Shadow techniques can be expensive, therefore it is a good idea to limit them to being rendered close to the camera if possible, and to skip the expense of rendering shadows for distance objects. This method allows you to set the distance at which shadows will no longer be rendered. Each shadow technique can interpret this subtely differently. For example, one technique may use this to eliminate casters, another might use it to attenuate the shadows themselves. You should tweak this value to suit your chosen shadow technique and scene setup. 
+-- | Sets the maximum distance away from the camera that shadows
+--Shadow techniques can be expensive, therefore it is a good idea to limit them to being rendered close to the camera if possible, and to skip the expense of rendering shadows for distance objects. This method allows you to set the distance at which shadows will no longer be rendered. Each shadow technique can interpret this subtely differently. For example, one technique may use this to eliminate casters, another might use it to attenuate the shadows themselves. You should tweak this value to suit your chosen shadow technique and scene setup. 
 setShadowFarDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ distance
   ->  IO ()
@@ -534,7 +563,7 @@   let {a2' = realToFrac a2} in 
   setShadowFarDistance'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 249 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+{-# LINE 259 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
 -- | Tells the light to use the shadow far distance of the SceneManager
 resetShadowFarDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -544,9 +573,10 @@   withHG3DClass a1 $ \a1' -> 
   resetShadowFarDistance'_ a1' >>= \res ->
   return ()
-{-# LINE 253 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+{-# LINE 263 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
--- | Gets the maximum distance away from the camera that shadows by this light will be visible. 
+-- | Gets the maximum distance away from the camera that shadows
+--
 getShadowFarDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Float)
  -- ^ 
@@ -556,7 +586,7 @@   getShadowFarDistance'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 258 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+{-# LINE 268 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
 -- | 
 getShadowFarDistanceSquared :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -568,9 +598,10 @@   getShadowFarDistanceSquared'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 263 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+{-# LINE 273 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
--- | Set the near clip plane distance to be used by the shadow camera, if this light casts texture shadows. 
+-- | Set the near clip plane distance to be used by the shadow camera, if
+--
 setShadowNearClipDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ nearClip
   ->  IO ()
@@ -580,9 +611,10 @@   let {a2' = realToFrac a2} in 
   setShadowNearClipDistance'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 268 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+{-# LINE 278 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
--- | Get the near clip plane distance to be used by the shadow camera, if this light casts texture shadows. May be zero if the light doesn't have it's own near distance set; use _deriveShadowNearDistance for a version guaranteed to give a result. 
+-- | Get the near clip plane distance to be used by the shadow camera, if
+--May be zero if the light doesn't have it's own near distance set; use _deriveShadowNearDistance for a version guaranteed to give a result. 
 getShadowNearClipDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Float)
  -- ^ 
@@ -592,9 +624,10 @@   getShadowNearClipDistance'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 273 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+{-# LINE 283 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
--- | Set the far clip plane distance to be used by the shadow camera, if this light casts texture shadows. This is different from the 'shadow far distance', which is always measured from the main camera. This distance is the far clip plane of the light camera. 
+-- | Set the far clip plane distance to be used by the shadow camera, if
+--This is different from the 'shadow far distance', which is always measured from the main camera. This distance is the far clip plane of the light camera. 
 setShadowFarClipDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ farClip
   ->  IO ()
@@ -604,9 +637,10 @@   let {a2' = realToFrac a2} in 
   setShadowFarClipDistance'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 278 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+{-# LINE 288 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
--- | Get the far clip plane distance to be used by the shadow camera, if this light casts texture shadows. May be zero if the light doesn't have it's own far distance set; use _deriveShadowfarDistance for a version guaranteed to give a result. 
+-- | Get the far clip plane distance to be used by the shadow camera, if
+--May be zero if the light doesn't have it's own far distance set; use _deriveShadowfarDistance for a version guaranteed to give a result. 
 getShadowFarClipDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Float)
  -- ^ 
@@ -616,7 +650,7 @@   getShadowFarClipDistance'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 283 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
+{-# LINE 293 ".\\HGamer3D\\Bindings\\Ogre\\ClassLight.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassLight.chs.h ogre_lgt_construct"
@@ -702,6 +736,12 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassLight.chs.h ogre_lgt_setSpotlightFalloff"
   setSpotlightFalloff'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassLight.chs.h ogre_lgt_setSpotlightNearClipDistance"
+  setSpotlightNearClipDistance'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassLight.chs.h ogre_lgt_getSpotlightNearClipDistance"
+  getSpotlightNearClipDistance'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassLight.chs.h ogre_lgt_setPowerScale"
   setPowerScale'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
HGamer3D/Bindings/Ogre/ClassLogManager.hs view
@@ -132,7 +132,8 @@   return ()
 {-# LINE 79 ".\\HGamer3D\\Bindings\\Ogre\\ClassLogManager.chs" #-}
 
--- | Sets the passed in log as the default log. 
+-- | Sets the passed in log as the default log.
+--
 setDefaultLog :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ newLog
   ->  IO (HG3DClass)
@@ -190,7 +191,19 @@   return ()
 {-# LINE 104 ".\\HGamer3D\\Bindings\\Ogre\\ClassLogManager.chs" #-}
 
--- | Override standard Singleton retrieval. Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
+-- | Override standard Singleton retrieval.
+--Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
+getSingleton :: IO (HG3DClass)
+ -- ^ 
+getSingleton =
+  alloca $ \a1' -> 
+  getSingleton'_ a1' >>= \res ->
+  peek  a1'>>= \a1'' -> 
+  return (a1'')
+{-# LINE 108 ".\\HGamer3D\\Bindings\\Ogre\\ClassLogManager.chs" #-}
+
+-- | Override standard Singleton retrieval.
+--Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
 getSingletonPtr :: IO (HG3DClass)
  -- ^ 
 getSingletonPtr =
@@ -198,7 +211,7 @@   getSingletonPtr'_ a1' >>= \res ->
   peek  a1'>>= \a1'' -> 
   return (a1'')
-{-# LINE 108 ".\\HGamer3D\\Bindings\\Ogre\\ClassLogManager.chs" #-}
+{-# LINE 112 ".\\HGamer3D\\Bindings\\Ogre\\ClassLogManager.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassLogManager.chs.h ogre_lmgr_destruct"
@@ -230,6 +243,9 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassLogManager.chs.h ogre_lmgr_setLogDetail"
   setLogDetail'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassLogManager.chs.h ogre_lmgr_getSingleton"
+  getSingleton'_ :: ((HG3DClassPtr) -> (IO ()))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassLogManager.chs.h ogre_lmgr_getSingletonPtr"
   getSingletonPtr'_ :: ((HG3DClassPtr) -> (IO ()))
HGamer3D/Bindings/Ogre/ClassManualObject.hs view
@@ -80,7 +80,8 @@   return ()
 {-# LINE 57 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Completely clear the contents of the object. Clearing the contents of this object and rebuilding from scratch is not the optimal way to manage dynamic vertex data, since the buffers are recreated. If you want to keep the same structure but update the content within that structure, use beginUpdate()clear()begin()
+-- | Completely clear the contents of the object.
+--Clearing the contents of this object and rebuilding from scratch is not the optimal way to manage dynamic vertex data, since the buffers are recreated. If you want to keep the same structure but update the content within that structure, use beginUpdate()clear()begin()
 clear :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -90,7 +91,8 @@   return ()
 {-# LINE 61 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Estimate the number of vertices ahead of time. Calling this helps to avoid memory reallocation when you define vertices. Also very handy when using beginUpdate()
+-- | Estimate the number of vertices ahead of time.
+--Calling this helps to avoid memory reallocation when you define vertices. Also very handy when using beginUpdate()
 estimateVertexCount :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ vcount
   ->  IO ()
@@ -102,7 +104,8 @@   return ()
 {-# LINE 66 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Estimate the number of indices ahead of time. Calling this helps to avoid memory reallocation when you define indices. Also very handy when using beginUpdate()
+-- | Estimate the number of indices ahead of time.
+--Calling this helps to avoid memory reallocation when you define indices. Also very handy when using beginUpdate()
 estimateIndexCount :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ icount
   ->  IO ()
@@ -114,7 +117,8 @@   return ()
 {-# LINE 71 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Start defining a part of the object. Each time you call this method, you start a new section of the object with its own material and potentially its own type of rendering operation (triangles, points or lines for example). 
+-- | Start defining a part of the object.
+--Each time you call this method, you start a new section of the object with its own material and potentially its own type of rendering operation (triangles, points or lines for example). 
 begin :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ materialName - The name of the material to render this part of the object with. 
   ->  EnumRenderOperationOperationType  -- ^ opType - The type of operation to use to render. 
@@ -154,7 +158,8 @@   return (a2'')
 {-# LINE 88 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Start the definition of an update to a part of the object. Using this method, you can update an existing section of the object efficiently. You do not have the option of changing the operation type obviously, since it must match the one that was used before. If your sections are changing size, particularly growing, use estimateVertexCount and estimateIndexCount to pre-size the buffers a little larger than the initial needs to avoid buffer reconstruction. 
+-- | Start the definition of an update to a part of the object.
+--Using this method, you can update an existing section of the object efficiently. You do not have the option of changing the operation type obviously, since it must match the one that was used before. If your sections are changing size, particularly growing, use estimateVertexCount and estimateIndexCount to pre-size the buffers a little larger than the initial needs to avoid buffer reconstruction. 
 beginUpdate :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ sectionIndex - The index of the section you want to update. The first call to begin() would have created section 0, the second section 1, etc. 
   ->  IO ()
@@ -166,7 +171,8 @@   return ()
 {-# LINE 93 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Add a vertex position, starting a new vertex at the same time. A vertex position is slightly special among the other vertex data methods like normal()textureCoord()position()
+-- | Add a vertex position, starting a new vertex at the same time. 
+--A vertex position is slightly special among the other vertex data methods like normal()textureCoord()position()
 position :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Vec3  -- ^ pos
   ->  IO ()
@@ -178,7 +184,8 @@   return ()
 {-# LINE 98 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Add a vertex position, starting a new vertex at the same time. A vertex position is slightly special among the other vertex data methods like normal()textureCoord()position()
+-- | Add a vertex position, starting a new vertex at the same time. 
+--A vertex position is slightly special among the other vertex data methods like normal()textureCoord()position()
 position2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ x
   ->  Float  -- ^ y
@@ -194,7 +201,8 @@   return ()
 {-# LINE 105 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Add a vertex normal to the current vertex. Vertex normals are most often used for dynamic lighting, and their components should be normalised. 
+-- | Add a vertex normal to the current vertex.
+--Vertex normals are most often used for dynamic lighting, and their components should be normalised. 
 normal :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Vec3  -- ^ norm
   ->  IO ()
@@ -206,7 +214,8 @@   return ()
 {-# LINE 110 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Add a vertex normal to the current vertex. Vertex normals are most often used for dynamic lighting, and their components should be normalised. 
+-- | Add a vertex normal to the current vertex.
+--Vertex normals are most often used for dynamic lighting, and their components should be normalised. 
 normal2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ x
   ->  Float  -- ^ y
@@ -222,7 +231,8 @@   return ()
 {-# LINE 117 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Add a vertex tangent to the current vertex. Vertex tangents are most often used for dynamic lighting, and their components should be normalised. Also, using tangent()
+-- | Add a vertex tangent to the current vertex.
+--Vertex tangents are most often used for dynamic lighting, and their components should be normalised. Also, using tangent()
 tangent :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Vec3  -- ^ tan
   ->  IO ()
@@ -234,7 +244,8 @@   return ()
 {-# LINE 122 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Add a vertex tangent to the current vertex. Vertex tangents are most often used for dynamic lighting, and their components should be normalised. Also, using tangent()
+-- | Add a vertex tangent to the current vertex.
+--Vertex tangents are most often used for dynamic lighting, and their components should be normalised. Also, using tangent()
 tangent2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ x
   ->  Float  -- ^ y
@@ -250,7 +261,8 @@   return ()
 {-# LINE 129 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Add a texture coordinate to the current vertex. You can call this method multiple times between position()
+-- | Add a texture coordinate to the current vertex.
+--You can call this method multiple times between position()
 textureCoord :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ u
   ->  IO ()
@@ -262,7 +274,8 @@   return ()
 {-# LINE 134 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Add a texture coordinate to the current vertex. You can call this method multiple times between position()
+-- | Add a texture coordinate to the current vertex.
+--You can call this method multiple times between position()
 textureCoord2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ u
   ->  Float  -- ^ v
@@ -276,7 +289,8 @@   return ()
 {-# LINE 140 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Add a texture coordinate to the current vertex. You can call this method multiple times between position()
+-- | Add a texture coordinate to the current vertex.
+--You can call this method multiple times between position()
 textureCoord3 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ u
   ->  Float  -- ^ v
@@ -292,7 +306,8 @@   return ()
 {-# LINE 147 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Add a texture coordinate to the current vertex. You can call this method multiple times between position()
+-- | Add a texture coordinate to the current vertex.
+--You can call this method multiple times between position()
 textureCoord4 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ x
   ->  Float  -- ^ y
@@ -310,7 +325,8 @@   return ()
 {-# LINE 155 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Add a texture coordinate to the current vertex. You can call this method multiple times between position()
+-- | Add a texture coordinate to the current vertex.
+--You can call this method multiple times between position()
 textureCoord5 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Vec2  -- ^ uv
   ->  IO ()
@@ -322,7 +338,8 @@   return ()
 {-# LINE 160 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Add a texture coordinate to the current vertex. You can call this method multiple times between position()
+-- | Add a texture coordinate to the current vertex.
+--You can call this method multiple times between position()
 textureCoord6 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Vec3  -- ^ uvw
   ->  IO ()
@@ -346,7 +363,8 @@   return ()
 {-# LINE 170 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Add a vertex colour to a vertex. 
+-- | Add a vertex colour to a vertex.
+--
 colour2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ r - Colour components expressed as floating point numbers from 0-1 
   ->  Float  -- ^ g
@@ -364,7 +382,9 @@   return ()
 {-# LINE 178 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Add a vertex index to construct faces / lines / points via indexing rather than just by a simple list of vertices. You will have to call this 3 times for each face for a triangle list, or use the alternative 3-parameter version. Other operation types require different numbers of indexes, RenderOperation::OperationType32-bit indexes are not supported on all cards and will only be used when required, if an index is > 65535. 
+-- | Add a vertex index to construct faces / lines / points via indexing
+--rather than just by a simple list of vertices. 
+--You will have to call this 3 times for each face for a triangle list, or use the alternative 3-parameter version. Other operation types require different numbers of indexes, RenderOperation::OperationType32-bit indexes are not supported on all cards and will only be used when required, if an index is > 65535. 
 index :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ idx - A vertex index from 0 to 4294967295. 
   ->  IO ()
@@ -376,7 +396,10 @@   return ()
 {-# LINE 183 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Add a set of 3 vertex indices to construct a triangle; this is a shortcut to calling index()32-bit indexes are not supported on all cards and will only be used when required, if an index is > 65535. 
+-- | Add a set of 3 vertex indices to construct a triangle; this is a
+--shortcut to calling index() 3 times. It is only valid for triangle 
+--lists.
+--32-bit indexes are not supported on all cards and will only be used when required, if an index is > 65535. 
 triangle :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ i1 - 3 vertex indices from 0 to 4294967295 defining a face. 
   ->  Int  -- ^ i2
@@ -392,7 +415,10 @@   return ()
 {-# LINE 190 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Add a set of 4 vertex indices to construct a quad (out of 2 triangles); this is a shortcut to calling index()triangle()32-bit indexes are not supported on all cards and will only be used when required, if an index is > 65535. 
+-- | Add a set of 4 vertex indices to construct a quad (out of 2 
+--triangles); this is a shortcut to calling index() 6 times, 
+--or triangle() twice. It's only valid for triangle list operations.
+--32-bit indexes are not supported on all cards and will only be used when required, if an index is > 65535. 
 quad :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ i1 - 3 vertex indices from 0 to 4294967295 defining a face. 
   ->  Int  -- ^ i2
@@ -410,7 +436,32 @@   return ()
 {-# LINE 198 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Finish defining the object and compile the final renderable version. Will return a pointer to the finished section or NULL if the section was discarded (i.e. has zero vertices/indices). 
+-- | Get the number of vertices in the section currently being defined (returns 0 if no section is in progress). 
+getCurrentVertexCount :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Int)
+ -- ^ 
+getCurrentVertexCount a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getCurrentVertexCount'_ a1' a2' >>= \res ->
+  peekIntConv  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 203 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
+
+-- | Get the number of indices in the section currently being defined (returns 0 if no section is in progress). 
+getCurrentIndexCount :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Int)
+ -- ^ 
+getCurrentIndexCount a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getCurrentIndexCount'_ a1' a2' >>= \res ->
+  peekIntConv  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 208 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
+
+-- | Finish defining the object and compile the final renderable version. 
+--Will return a pointer to the finished section or NULL if the section was discarded (i.e. has zero vertices/indices). 
 end :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (HG3DClass)
  -- ^ 
@@ -420,9 +471,11 @@   end'_ a1' a2' >>= \res ->
   peek  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 203 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
+{-# LINE 213 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Alter the material for a subsection of this object after it has been specified. You specify the material to use on a section of this object during the call to begin()
+-- | Alter the material for a subsection of this object after it has been
+--specified.
+--You specify the material to use on a section of this object during the call to begin()
 setMaterialName :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ subindex
   ->  String  -- ^ name - The name of the new material to use 
@@ -436,9 +489,10 @@   withCString a4 $ \a4' -> 
   setMaterialName'_ a1' a2' a3' a4' >>= \res ->
   return ()
-{-# LINE 210 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
+{-# LINE 220 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Convert this object to a MeshAfter you've finished building this object, you may convert it to a MeshEntitySceneNodeOnly objects which use indexed geometry may be converted to a mesh. 
+-- | Convert this object to a Mesh. 
+--After you've finished building this object, you may convert it to a MeshEntitySceneNodeOnly objects which use indexed geometry may be converted to a mesh. 
 convertToMesh :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ meshName - The name to give the mesh 
   ->  String  -- ^ groupName - The resource group to create the mesh in 
@@ -452,9 +506,10 @@   convertToMesh'_ a1' a2' a3' a4' >>= \res ->
   peekSharedPtr  a4'>>= \a4'' -> 
   return (a4'')
-{-# LINE 217 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
+{-# LINE 227 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Sets whether or not to use an 'identity' projection. Usually ManualObjects will use a projection matrix as determined by the active camera. However, if they want they can cancel this out and use an identity projection, which effectively projects in 2D using a {-1, 1} view space. Useful for overlay rendering. Normally you don't need to change this. The default is false. ManualObject::getUseIdentityProjection
+-- | Sets whether or not to use an 'identity' projection.
+--Usually ManualObjects will use a projection matrix as determined by the active camera. However, if they want they can cancel this out and use an identity projection, which effectively projects in 2D using a {-1, 1} view space. Useful for overlay rendering. Normally you don't need to change this. The default is false. ManualObject::getUseIdentityProjection
 setUseIdentityProjection :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ useIdentityProjection
   ->  IO ()
@@ -464,9 +519,10 @@   let {a2' = fromBool a2} in 
   setUseIdentityProjection'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 222 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
+{-# LINE 232 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Returns whether or not to use an 'identity' projection. Usually ManualObjects will use a projection matrix as determined by the active camera. However, if they want they can cancel this out and use an identity projection, which effectively projects in 2D using a {-1, 1} view space. Useful for overlay rendering. Normally you don't need to change this. ManualObject::setUseIdentityProjection
+-- | Returns whether or not to use an 'identity' projection.
+--Usually ManualObjects will use a projection matrix as determined by the active camera. However, if they want they can cancel this out and use an identity projection, which effectively projects in 2D using a {-1, 1} view space. Useful for overlay rendering. Normally you don't need to change this. ManualObject::setUseIdentityProjection
 getUseIdentityProjection :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -476,9 +532,10 @@   getUseIdentityProjection'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 227 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
+{-# LINE 237 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Sets whether or not to use an 'identity' view. Usually ManualObjects will use a view matrix as determined by the active camera. However, if they want they can cancel this out and use an identity matrix, which means all geometry is assumed to be relative to camera space already. Useful for overlay rendering. Normally you don't need to change this. The default is false. ManualObject::getUseIdentityView
+-- | Sets whether or not to use an 'identity' view.
+--Usually ManualObjects will use a view matrix as determined by the active camera. However, if they want they can cancel this out and use an identity matrix, which means all geometry is assumed to be relative to camera space already. Useful for overlay rendering. Normally you don't need to change this. The default is false. ManualObject::getUseIdentityView
 setUseIdentityView :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ useIdentityView
   ->  IO ()
@@ -488,9 +545,10 @@   let {a2' = fromBool a2} in 
   setUseIdentityView'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 232 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
+{-# LINE 242 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Returns whether or not to use an 'identity' view. Usually ManualObjects will use a view matrix as determined by the active camera. However, if they want they can cancel this out and use an identity matrix, which means all geometry is assumed to be relative to camera space already. Useful for overlay rendering. Normally you don't need to change this. ManualObject::setUseIdentityView
+-- | Returns whether or not to use an 'identity' view.
+--Usually ManualObjects will use a view matrix as determined by the active camera. However, if they want they can cancel this out and use an identity matrix, which means all geometry is assumed to be relative to camera space already. Useful for overlay rendering. Normally you don't need to change this. ManualObject::setUseIdentityView
 getUseIdentityView :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -500,7 +558,7 @@   getUseIdentityView'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 237 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
+{-# LINE 247 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
 -- | Gets a pointer to a ManualObjectSectionManualObject
 getSection :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -514,7 +572,7 @@   getSection'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 243 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
+{-# LINE 253 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
 -- | Retrieves the number of ManualObjectSectionManualObject
 getNumSections :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -526,9 +584,11 @@   getNumSections'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 248 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
+{-# LINE 258 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Sets whether or not to keep the original declaration order when queuing the renderables. This overrides the default behavior of the rendering queue, specifically stating the desired order of rendering. Might result in a performance loss, but lets the user to have more direct control when creating geometry through this class. 
+-- | Sets whether or not to keep the original declaration order when 
+--queuing the renderables.
+--This overrides the default behavior of the rendering queue, specifically stating the desired order of rendering. Might result in a performance loss, but lets the user to have more direct control when creating geometry through this class. 
 setKeepDeclarationOrder :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ keepOrder - Whether to keep the declaration order or not. 
   ->  IO ()
@@ -538,9 +598,10 @@   let {a2' = fromBool a2} in 
   setKeepDeclarationOrder'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 253 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
+{-# LINE 263 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
--- | Gets whether or not the declaration order is to be kept or not. 
+-- | Gets whether or not the declaration order is to be kept or not.
+--
 getKeepDeclarationOrder :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ return value - A flag indication if the declaration order will be kept when queuing the renderables.     
@@ -550,7 +611,7 @@   getKeepDeclarationOrder'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 258 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
+{-# LINE 268 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
 -- | .  - Details: Returns the type name of this object. 
 getMovableType :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -562,7 +623,7 @@   getMovableType'_ a1' a2' >>= \res ->
   peekCString  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 263 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
+{-# LINE 273 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
 -- | .  - Details: Retrieves the radius of the origin-centered bounding sphere for this object. 
 getBoundingRadius :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -574,7 +635,7 @@   getBoundingRadius'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 268 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
+{-# LINE 278 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
 -- | Overridden member from ShadowCaster. 
 hasEdgeList :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -586,7 +647,7 @@   hasEdgeList'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 273 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
+{-# LINE 283 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs.h ogre_mno_construct"
@@ -666,6 +727,12 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs.h ogre_mno_quad"
   quad'_ :: ((HG3DClassPtr) -> (CUInt -> (CUInt -> (CUInt -> (CUInt -> (IO ()))))))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs.h ogre_mno_getCurrentVertexCount"
+  getCurrentVertexCount'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs.h ogre_mno_getCurrentIndexCount"
+  getCurrentIndexCount'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassManualObject.chs.h ogre_mno_end"
   end'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
HGamer3D/Bindings/Ogre/ClassManualObjectSection.hs view
@@ -142,7 +142,8 @@   return (a2'')
 {-# LINE 83 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObjectSection.chs" #-}
 
--- | .  - Details: Retrieves a weak reference to the material this renderable object uses. Note that the Renderable
+-- | .  - Details: Retrieves a weak reference to the material this renderable object uses.
+--Note that the Renderable
 getMaterial :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (SharedPtr)
  -- ^ 
@@ -154,7 +155,8 @@   return (a2'')
 {-# LINE 88 ".\\HGamer3D\\Bindings\\Ogre\\ClassManualObjectSection.chs" #-}
 
--- | .  - Details: Returns the camera-relative squared depth of this renderable. Used to sort transparent objects. Squared depth is used rather than actual depth to avoid having to perform a square root on the result. 
+-- | .  - Details: Returns the camera-relative squared depth of this renderable.
+--Used to sort transparent objects. Squared depth is used rather than actual depth to avoid having to perform a square root on the result. 
 getSquaredViewDepth :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ 
   ->  IO (Float)
HGamer3D/Bindings/Ogre/ClassMaterial.hs view
@@ -74,7 +74,8 @@   return (a2'')
 {-# LINE 54 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets whether objects using this material will receive shadows. This method allows a material to opt out of receiving shadows, if it would otherwise do so. Shadows will not be cast on any objects unless the scene is set up to support shadows (SceneManager::setShadowTechniqueTransparent materials never receive shadows despite this setting. The default is to receive shadows. 
+-- | Sets whether objects using this material will receive shadows.
+--This method allows a material to opt out of receiving shadows, if it would otherwise do so. Shadows will not be cast on any objects unless the scene is set up to support shadows (SceneManager::setShadowTechniqueTransparent materials never receive shadows despite this setting. The default is to receive shadows. 
 setReceiveShadows :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enabled
   ->  IO ()
@@ -98,7 +99,8 @@   return (a2'')
 {-# LINE 64 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets whether objects using this material be classified as opaque to the shadow caster system. This method allows a material to cast a shadow, even if it is transparent. By default, transparent materials neither cast nor receive shadows. Shadows will not be cast on any objects unless the scene is set up to support shadows (SceneManager::setShadowTechnique
+-- | Sets whether objects using this material be classified as opaque to the shadow caster system.
+--This method allows a material to cast a shadow, even if it is transparent. By default, transparent materials neither cast nor receive shadows. Shadows will not be cast on any objects unless the scene is set up to support shadows (SceneManager::setShadowTechnique
 setTransparencyCastsShadows :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enabled
   ->  IO ()
@@ -180,7 +182,9 @@   return (a2'')
 {-# LINE 98 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Gets the number of levels-of-detail this material has in the given scheme, based on Technique::setLodIndex. Note that this will not be up to date until the material has been compiled. 
+-- | Gets the number of levels-of-detail this material has in the 
+--given scheme, based on Technique::setLodIndex. 
+--Note that this will not be up to date until the material has been compiled. 
 getNumLodLevels :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ schemeIndex
   ->  IO (Int)
@@ -194,7 +198,9 @@   return (a3'')
 {-# LINE 104 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Gets the number of levels-of-detail this material has in the given scheme, based on Technique::setLodIndex. Note that this will not be up to date until the material has been compiled. 
+-- | Gets the number of levels-of-detail this material has in the 
+--given scheme, based on Technique::setLodIndex. 
+--Note that this will not be up to date until the material has been compiled. 
 getNumLodLevels2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ schemeName
   ->  IO (Int)
@@ -208,7 +214,8 @@   return (a3'')
 {-# LINE 110 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Creates a new copy of this material with the same settings but a new name. 
+-- | Creates a new copy of this material with the same settings but a new name.
+--
 clone :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ newName - The name for the cloned material 
   ->  Bool  -- ^ changeGroup - If true, the resource group of the clone is changed 
@@ -226,7 +233,8 @@   return (a5'')
 {-# LINE 118 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Copies the details of this material into another, preserving the target's handle and name (unlike operator=) but copying everything else. 
+-- | Copies the details of this material into another, preserving the target's handle and name
+--
 copyDetailsTo :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (SharedPtr)
  -- ^ mat - Weak reference to material which will receive this material's settings. 
@@ -238,7 +246,8 @@   return (a2'')
 {-# LINE 123 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | 'Compiles' this MaterialCompiling a material involves determining which Techniques are supported on the card on which OGRE is currently running, and for fixed-function Passes within those Techniques, splitting the passes down where they contain more TextureUnitState instances than the current card has texture units. This process is automatically done when the Material
+-- | 'Compiles' this Material.
+--Compiling a material involves determining which Techniques are supported on the card on which OGRE is currently running, and for fixed-function Passes within those Techniques, splitting the passes down where they contain more TextureUnitState instances than the current card has texture units. This process is automatically done when the Material
 compile :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ autoManageTextureUnits - If true, when a fixed function pass has too many TextureUnitState entries than the card has texture units, the Pass in question will be split into more than one Pass in order to emulate the Pass. If you set this to false and this situation arises, an Exception will be thrown. 
   ->  IO ()
@@ -250,7 +259,8 @@   return ()
 {-# LINE 128 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets the point size properties for every Pass in every Technique. This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setPointSize 
+-- | Sets the point size properties for every Pass in every Technique.
+--This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setPointSize 
 setPointSize :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ ps
   ->  IO ()
@@ -262,7 +272,8 @@   return ()
 {-# LINE 133 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets the ambient colour reflectance properties for every Pass in every Technique. This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setAmbient 
+-- | Sets the ambient colour reflectance properties for every Pass in every Technique.
+--This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setAmbient 
 setAmbient :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ red
   ->  Float  -- ^ green
@@ -278,7 +289,8 @@   return ()
 {-# LINE 140 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets the ambient colour reflectance properties for every Pass in every Technique. This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setAmbient 
+-- | Sets the ambient colour reflectance properties for every Pass in every Technique.
+--This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setAmbient 
 setAmbient2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Colour  -- ^ ambient
   ->  IO ()
@@ -290,7 +302,8 @@   return ()
 {-# LINE 145 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets the diffuse colour reflectance properties of every Pass in every Technique. This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setDiffuse 
+-- | Sets the diffuse colour reflectance properties of every Pass in every Technique.
+--This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setDiffuse 
 setDiffuse :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ red
   ->  Float  -- ^ green
@@ -308,7 +321,8 @@   return ()
 {-# LINE 153 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets the diffuse colour reflectance properties of every Pass in every Technique. This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setDiffuse 
+-- | Sets the diffuse colour reflectance properties of every Pass in every Technique.
+--This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setDiffuse 
 setDiffuse2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Colour  -- ^ diffuse
   ->  IO ()
@@ -320,7 +334,8 @@   return ()
 {-# LINE 158 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets the specular colour reflectance properties of every Pass in every Technique. This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setSpecular 
+-- | Sets the specular colour reflectance properties of every Pass in every Technique.
+--This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setSpecular 
 setSpecular :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ red
   ->  Float  -- ^ green
@@ -338,7 +353,8 @@   return ()
 {-# LINE 166 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets the specular colour reflectance properties of every Pass in every Technique. This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setSpecular 
+-- | Sets the specular colour reflectance properties of every Pass in every Technique.
+--This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setSpecular 
 setSpecular2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Colour  -- ^ specular
   ->  IO ()
@@ -350,7 +366,8 @@   return ()
 {-# LINE 171 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets the shininess properties of every Pass in every Technique. This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setShininess 
+-- | Sets the shininess properties of every Pass in every Technique.
+--This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setShininess 
 setShininess :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ val
   ->  IO ()
@@ -362,7 +379,8 @@   return ()
 {-# LINE 176 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets the amount of self-illumination of every Pass in every Technique. This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setSelfIllumination 
+-- | Sets the amount of self-illumination of every Pass in every Technique.
+--This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setSelfIllumination 
 setSelfIllumination :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ red
   ->  Float  -- ^ green
@@ -378,7 +396,8 @@   return ()
 {-# LINE 183 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets the amount of self-illumination of every Pass in every Technique. This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setSelfIllumination 
+-- | Sets the amount of self-illumination of every Pass in every Technique.
+--This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setSelfIllumination 
 setSelfIllumination2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Colour  -- ^ selfIllum
   ->  IO ()
@@ -390,7 +409,8 @@   return ()
 {-# LINE 188 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets whether or not each Pass renders with depth-buffer checking on or not. This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setDepthCheckEnabled 
+-- | Sets whether or not each Pass renders with depth-buffer checking on or not.
+--This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setDepthCheckEnabled 
 setDepthCheckEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enabled
   ->  IO ()
@@ -402,7 +422,8 @@   return ()
 {-# LINE 193 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets whether or not each Pass renders with depth-buffer writing on or not. This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setDepthWriteEnabled 
+-- | Sets whether or not each Pass renders with depth-buffer writing on or not.
+--This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setDepthWriteEnabled 
 setDepthWriteEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enabled
   ->  IO ()
@@ -414,7 +435,8 @@   return ()
 {-# LINE 198 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets whether or not colour buffer writing is enabled for each Pass. This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setColourWriteEnabled 
+-- | Sets whether or not colour buffer writing is enabled for each Pass.
+--This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setColourWriteEnabled 
 setColourWriteEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enabled
   ->  IO ()
@@ -426,7 +448,8 @@   return ()
 {-# LINE 203 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets whether or not dynamic lighting is enabled for every Pass. This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setLightingEnabled 
+-- | Sets whether or not dynamic lighting is enabled for every Pass.
+--This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setLightingEnabled 
 setLightingEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enabled
   ->  IO ()
@@ -438,7 +461,8 @@   return ()
 {-# LINE 208 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets the depth bias to be used for each Pass. This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setDepthBias 
+-- | Sets the depth bias to be used for each Pass.
+--This property has been moved to the Pass class, which is accessible via the Technique. For simplicity, this method allows you to set these properties for every current Technique, and for every current Pass within those Techniques. If you need more precision, retrieve the Technique and Pass instances and set the property there. Pass::setDepthBias 
 setDepthBias :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ constantBias
   ->  Float  -- ^ slopeScaleBias
@@ -452,7 +476,8 @@   return ()
 {-# LINE 214 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Sets the anisotropy level to be used for all textures. This property has been moved to the TextureUnitState class, which is accessible via the Technique and Pass. For simplicity, this method allows you to set these properties for every current TeextureUnitState, If you need more precision, retrieve the Technique, Pass and TextureUnitState instances and set the property there. TextureUnitState::setTextureAnisotropy 
+-- | Sets the anisotropy level to be used for all textures.
+--This property has been moved to the TextureUnitState class, which is accessible via the Technique and Pass. For simplicity, this method allows you to set these properties for every current TeextureUnitState, If you need more precision, retrieve the Technique, Pass and TextureUnitState instances and set the property there. TextureUnitState::setTextureAnisotropy 
 setTextureAnisotropy :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ maxAniso
   ->  IO ()
@@ -474,7 +499,8 @@   return ()
 {-# LINE 223 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterial.chs" #-}
 
--- | Gets the compilation status of the material. 
+-- | Gets the compilation status of the material.
+--
 getCompilationRequired :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ return value - True if the material needs recompilation.     
HGamer3D/Bindings/Ogre/ClassMaterialManager.hs view
@@ -92,7 +92,7 @@   return ()
 {-# LINE 61 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterialManager.chs" #-}
 
--- | get the default maxAnisotropy 
+-- | Get the default maxAnisotropy. 
 getDefaultAnisotropy :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Int)
  -- ^ 
@@ -151,7 +151,8 @@   return (a2'')
 {-# LINE 71 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterialManager.chs" #-}
 
--- | Returns the name of the active material scheme. Technique::setSchemeName 
+-- | Returns the name of the active material scheme. 
+--Technique::setSchemeName 
 getActiveScheme :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (String)
  -- ^ 
@@ -163,7 +164,8 @@   return (a2'')
 {-# LINE 76 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterialManager.chs" #-}
 
--- | Sets the name of the active material scheme. Technique::setSchemeName 
+-- | Sets the name of the active material scheme. 
+--Technique::setSchemeName 
 setActiveScheme :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ schemeName
   ->  IO ()
@@ -175,7 +177,19 @@   return ()
 {-# LINE 81 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterialManager.chs" #-}
 
--- | Override standard Singleton retrieval. Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
+-- | Override standard Singleton retrieval.
+--Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
+getSingleton :: IO (HG3DClass)
+ -- ^ 
+getSingleton =
+  alloca $ \a1' -> 
+  getSingleton'_ a1' >>= \res ->
+  peek  a1'>>= \a1'' -> 
+  return (a1'')
+{-# LINE 85 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterialManager.chs" #-}
+
+-- | Override standard Singleton retrieval.
+--Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
 getSingletonPtr :: IO (HG3DClass)
  -- ^ 
 getSingletonPtr =
@@ -183,7 +197,7 @@   getSingletonPtr'_ a1' >>= \res ->
   peek  a1'>>= \a1'' -> 
   return (a1'')
-{-# LINE 85 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterialManager.chs" #-}
+{-# LINE 89 ".\\HGamer3D\\Bindings\\Ogre\\ClassMaterialManager.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMaterialManager.chs.h ogre_mtrlmgr_construct"
@@ -209,6 +223,9 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMaterialManager.chs.h ogre_mtrlmgr_setActiveScheme"
   setActiveScheme'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMaterialManager.chs.h ogre_mtrlmgr_getSingleton"
+  getSingleton'_ :: ((HG3DClassPtr) -> (IO ()))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMaterialManager.chs.h ogre_mtrlmgr_getSingletonPtr"
   getSingletonPtr'_ :: ((HG3DClassPtr) -> (IO ()))
HGamer3D/Bindings/Ogre/ClassMesh.hs view
@@ -138,7 +138,8 @@   return (a2'')
 {-# LINE 81 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
--- | Sets the name of the skeleton this MeshMeshes can optionally be assigned a skeleton which can be used to animate the mesh through bone assignments. The default is for the MeshMesh
+-- | Sets the name of the skeleton this Mesh uses for animation.
+--Meshes can optionally be assigned a skeleton which can be used to animate the mesh through bone assignments. The default is for the MeshMesh
 setSkeletonName :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ skelName - The name of the .skeleton file to use, or an empty string to use no skeleton 
   ->  IO ()
@@ -174,7 +175,8 @@   return (a2'')
 {-# LINE 96 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
--- | Gets a pointer to any linked Skeleton
+-- | Gets a pointer to any linked Skeleton. 
+--
 getSkeleton :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (SharedPtr)
  -- ^ return value - Weak reference to the skeleton - copy this if you want to hold a strong pointer.     
@@ -198,7 +200,8 @@   return (a2'')
 {-# LINE 106 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
--- | Removes all bone assignments for this mesh. This method is for modifying weights to the shared geometry of the Mesh
+-- | Removes all bone assignments for this mesh. 
+--This method is for modifying weights to the shared geometry of the Mesh
 clearBoneAssignments :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -208,7 +211,8 @@   return ()
 {-# LINE 110 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
--- | Adds a new manual level-of-detail entry to this MeshAs an alternative to generating lower level of detail versions of a mesh, you can use your own manually modelled meshes as lower level versions. This lets you have complete control over the LOD, and in addition lets you scale down other aspects of the model which cannot be done using the generated method; for example, you could use less detailed materials and / or use less bones in the skeleton if this is an animated mesh. Therefore for complex models you are likely to be better off modelling your LODs yourself and using this method, whilst for models with fairly simple materials and no animation you can just use the generateLodLevels method. 
+-- | Adds a new manual level-of-detail entry to this Mesh.
+--As an alternative to generating lower level of detail versions of a mesh, you can use your own manually modelled meshes as lower level versions. This lets you have complete control over the LOD, and in addition lets you scale down other aspects of the model which cannot be done using the generated method; for example, you could use less detailed materials and / or use less bones in the skeleton if this is an animated mesh. Therefore for complex models you are likely to be better off modelling your LODs yourself and using this method, whilst for models with fairly simple materials and no animation you can just use the generateLodLevels method. 
 createManualLodLevel :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ value - The value from which this Lod will apply. 
   ->  String  -- ^ meshName - The name of the mesh which will be the lower level detail version. 
@@ -224,7 +228,8 @@   return ()
 {-# LINE 117 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
--- | Returns true if this mesh is using manual LOD. A mesh can either use automatically generated LOD, or it can use alternative meshes as provided by an artist. A mesh can only use either all manual LODs or all generated LODs, not a mixture of both. 
+-- | Returns true if this mesh is using manual LOD.
+--A mesh can either use automatically generated LOD, or it can use alternative meshes as provided by an artist. A mesh can only use either all manual LODs or all generated LODs, not a mixture of both. 
 isLodManual :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -290,7 +295,8 @@   return ()
 {-# LINE 144 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
--- | This method prepares the mesh for generating a renderable shadow volume. Preparing a mesh to generate a shadow volume involves firstly ensuring that the vertex buffer containing the positions for the mesh is a standalone vertex buffer, with no other components in it. This method will therefore break apart any existing vertex buffers this mesh holds if position is sharing a vertex buffer. Secondly, it will double the size of this vertex buffer so that there are 2 copies of the position data for the mesh. The first half is used for the original, and the second half is used for the 'extruded' version of the mesh. The vertex count of the main VertexData used to render the mesh will remain the same though, so as not to add any overhead to regular rendering of the object. Both copies of the position are required in one buffer because shadow volumes stretch from the original mesh to the extruded version. Because shadow volumes are rendered in turn, no additional index buffer space is allocated by this method, a shared index buffer allocated by the shadow rendering algorithm is used for addressing this extended vertex buffer. 
+-- | This method prepares the mesh for generating a renderable shadow volume. 
+--Preparing a mesh to generate a shadow volume involves firstly ensuring that the vertex buffer containing the positions for the mesh is a standalone vertex buffer, with no other components in it. This method will therefore break apart any existing vertex buffers this mesh holds if position is sharing a vertex buffer. Secondly, it will double the size of this vertex buffer so that there are 2 copies of the position data for the mesh. The first half is used for the original, and the second half is used for the 'extruded' version of the mesh. The vertex count of the main VertexData used to render the mesh will remain the same though, so as not to add any overhead to regular rendering of the object. Both copies of the position are required in one buffer because shadow volumes stretch from the original mesh to the extruded version. Because shadow volumes are rendered in turn, no additional index buffer space is allocated by this method, a shared index buffer allocated by the shadow rendering algorithm is used for addressing this extended vertex buffer. 
 prepareForShadowVolume :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -324,7 +330,10 @@   return (a2'')
 {-# LINE 158 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
--- | Sets whether or not this MeshThis allows you to create meshes which do not have edge lists calculated, because you never want to use them. This value defaults to 'true' for mesh formats which did not include edge data, and 'false' for newer formats, where edge lists are expected to have been generated in advance. 
+-- | Sets whether or not this Mesh should automatically build edge lists
+--when asked for them, or whether it should never build them if
+--they are not already provided.
+--This allows you to create meshes which do not have edge lists calculated, because you never want to use them. This value defaults to 'true' for mesh formats which did not include edge data, and 'false' for newer formats, where edge lists are expected to have been generated in advance. 
 setAutoBuildEdgeLists :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ autobuild
   ->  IO ()
@@ -360,7 +369,20 @@   return (a2'')
 {-# LINE 173 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
--- | Creates a new Animation
+-- | Returns whether animation on shared vertex data includes normals. 
+getSharedVertexDataAnimationIncludesNormals :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Bool)
+ -- ^ 
+getSharedVertexDataAnimationIncludesNormals a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getSharedVertexDataAnimationIncludesNormals'_ a1' a2' >>= \res ->
+  peekBoolUtil  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 178 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
+
+-- | Creates a new Animation object for vertex animating this mesh. 
+--
 createAnimation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name of this animation 
   ->  Float  -- ^ length - The length of the animation in seconds 
@@ -374,9 +396,10 @@   createAnimation'_ a1' a2' a3' a4' >>= \res ->
   peek  a4'>>= \a4'' -> 
   return (a4'')
-{-# LINE 180 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
+{-# LINE 185 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
--- | Returns the named vertex Animation
+-- | Returns the named vertex Animation object. 
+--
 getAnimation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name of the animation 
   ->  IO (HG3DClass)
@@ -388,7 +411,7 @@   getAnimation'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 186 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
+{-# LINE 191 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
 -- | Returns whether this mesh contains the named vertex animation. 
 hasAnimation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -402,7 +425,7 @@   hasAnimation'_ a1' a2' a3' >>= \res ->
   peekBoolUtil  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 192 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
+{-# LINE 197 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
 -- | Removes vertex Animation
 removeAnimation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -414,7 +437,7 @@   withCString a2 $ \a2' -> 
   removeAnimation'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 197 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
+{-# LINE 202 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
 -- | Gets the number of morph animations in this mesh. 
 getNumAnimations :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -426,7 +449,7 @@   getNumAnimations'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 202 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
+{-# LINE 207 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
 -- | Gets a single morph animation by index. 
 getAnimation2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -440,7 +463,7 @@   getAnimation2'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 208 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
+{-# LINE 213 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
 -- | Removes all morph Animations from this mesh. 
 removeAllAnimations :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -450,9 +473,11 @@   withHG3DClass a1 $ \a1' -> 
   removeAllAnimations'_ a1' >>= \res ->
   return ()
-{-# LINE 212 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
+{-# LINE 217 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
--- | Iterates through all submeshes and requests them to apply their texture aliases to the material they use. The submesh will only apply texture aliases to the material if matching texture alias names are found in the material. If a match is found, the submesh will automatically clone the original material and then apply its texture to the new material. This method is normally called by the protected method loadImpl when a mesh if first loaded. 
+-- | Iterates through all submeshes and requests them 
+--to apply their texture aliases to the material they use.
+--The submesh will only apply texture aliases to the material if matching texture alias names are found in the material. If a match is found, the submesh will automatically clone the original material and then apply its texture to the new material. This method is normally called by the protected method loadImpl when a mesh if first loaded. 
 updateMaterialForAllSubMeshes :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -460,7 +485,7 @@   withHG3DClass a1 $ \a1' -> 
   updateMaterialForAllSubMeshes'_ a1' >>= \res ->
   return ()
-{-# LINE 216 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
+{-# LINE 221 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
 -- | Get the number of poses. 
 getPoseCount :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -472,9 +497,10 @@   getPoseCount'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 221 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
+{-# LINE 226 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
--- | Destroy a pose by name. This will invalidate any animation tracks referring to this pose or those after it. 
+-- | Destroy a pose by name.
+--This will invalidate any animation tracks referring to this pose or those after it. 
 removePose2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO ()
@@ -484,7 +510,7 @@   withCString a2 $ \a2' -> 
   removePose2'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 226 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
+{-# LINE 231 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
 -- | Destroy all poses 
 removeAllPoses :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -494,7 +520,7 @@   withHG3DClass a1 $ \a1' -> 
   removeAllPoses'_ a1' >>= \res ->
   return ()
-{-# LINE 230 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
+{-# LINE 235 ".\\HGamer3D\\Bindings\\Ogre\\ClassMesh.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMesh.chs.h ogre_msh_destruct"
@@ -574,6 +600,9 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMesh.chs.h ogre_msh_getSharedVertexDataAnimationType"
   getSharedVertexDataAnimationType'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMesh.chs.h ogre_msh_getSharedVertexDataAnimationIncludesNormals"
+  getSharedVertexDataAnimationIncludesNormals'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMesh.chs.h ogre_msh_createAnimation"
   createAnimation'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CFloat -> ((HG3DClassPtr) -> (IO ())))))
HGamer3D/Bindings/Ogre/ClassMeshManager.hs view
@@ -128,7 +128,19 @@   return ()
 {-# LINE 76 ".\\HGamer3D\\Bindings\\Ogre\\ClassMeshManager.chs" #-}
 
--- | Override standard Singleton retrieval. Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
+-- | Override standard Singleton retrieval.
+--Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
+getSingleton :: IO (HG3DClass)
+ -- ^ 
+getSingleton =
+  alloca $ \a1' -> 
+  getSingleton'_ a1' >>= \res ->
+  peek  a1'>>= \a1'' -> 
+  return (a1'')
+{-# LINE 80 ".\\HGamer3D\\Bindings\\Ogre\\ClassMeshManager.chs" #-}
+
+-- | Override standard Singleton retrieval.
+--Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
 getSingletonPtr :: IO (HG3DClass)
  -- ^ 
 getSingletonPtr =
@@ -136,7 +148,7 @@   getSingletonPtr'_ a1' >>= \res ->
   peek  a1'>>= \a1'' -> 
   return (a1'')
-{-# LINE 80 ".\\HGamer3D\\Bindings\\Ogre\\ClassMeshManager.chs" #-}
+{-# LINE 84 ".\\HGamer3D\\Bindings\\Ogre\\ClassMeshManager.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMeshManager.chs.h ogre_mshmgr_construct"
@@ -159,6 +171,9 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMeshManager.chs.h ogre_mshmgr_loadResource"
   loadResource'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMeshManager.chs.h ogre_mshmgr_getSingleton"
+  getSingleton'_ :: ((HG3DClassPtr) -> (IO ()))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMeshManager.chs.h ogre_mshmgr_getSingletonPtr"
   getSingletonPtr'_ :: ((HG3DClassPtr) -> (IO ()))
HGamer3D/Bindings/Ogre/ClassMovableObject.hs view
@@ -82,7 +82,8 @@   return (a2'')
 {-# LINE 57 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
--- | Returns the node to which this object is attached. A MovableObjectSceneNodeNode
+-- | Returns the node to which this object is attached.
+--A MovableObjectSceneNodeNode
 getParentNode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (HG3DClass)
  -- ^ 
@@ -94,7 +95,8 @@   return (a2'')
 {-# LINE 62 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
--- | Returns the scene node to which this object is attached. A MovableObjectSceneNode
+-- | Returns the scene node to which this object is attached.
+--A MovableObjectSceneNode
 getParentSceneNode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (HG3DClass)
  -- ^ 
@@ -164,7 +166,8 @@   return (a2'')
 {-# LINE 91 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
--- | Tells this object whether to be visible or not, if it has a renderable component. An alternative approach of making an object invisible is to detach it from it's SceneNodeSceneNode
+-- | Tells this object whether to be visible or not, if it has a renderable component. 
+--An alternative approach of making an object invisible is to detach it from it's SceneNodeSceneNode
 setVisible :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ visible
   ->  IO ()
@@ -176,7 +179,8 @@   return ()
 {-# LINE 96 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
--- | Gets this object whether to be visible or not, if it has a renderable component. Returns the value set by MovableObject::setVisible
+-- | Gets this object whether to be visible or not, if it has a renderable component. 
+--Returns the value set by MovableObject::setVisible
 getVisible :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -188,7 +192,8 @@   return (a2'')
 {-# LINE 101 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
--- | Returns whether or not this object is supposed to be visible or not. Takes into account both upper rendering distance and visible flag. 
+-- | Returns whether or not this object is supposed to be visible or not. 
+--Takes into account both upper rendering distance and visible flag. 
 isVisible :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -200,7 +205,8 @@   return (a2'')
 {-# LINE 106 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
--- | Sets the distance at which the object is no longer rendered. 
+-- | Sets the distance at which the object is no longer rendered.
+--Camera::setUseRenderingDistance()
 setRenderingDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ dist - Distance beyond which the object will not be rendered (the default is 0, which means objects are always rendered). 
   ->  IO ()
@@ -224,7 +230,33 @@   return (a2'')
 {-# LINE 116 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
--- | Sets the query flags for this object. When performing a scene query, this object will be included or excluded according to flags on the object and flags on the query. This is a bitwise value, so only when a bit on these flags is set, will it be included in a query asking for that flag. The meaning of the bits is application-specific. 
+-- | Sets the minimum pixel size an object needs to be in both screen axes in order to be rendered
+--Camera::setUseMinPixelSize()
+setRenderingMinPixelSize :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Float  -- ^ pixelSize - Number of minimum pixels (the default is 0, which means objects are always rendered). 
+  ->  IO ()
+ -- ^ 
+setRenderingMinPixelSize a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = realToFrac a2} in 
+  setRenderingMinPixelSize'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 121 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+
+-- | Returns the minimum pixel size an object needs to be in both screen axes in order to be rendered 
+getRenderingMinPixelSize :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Float)
+ -- ^ 
+getRenderingMinPixelSize a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getRenderingMinPixelSize'_ a1' a2' >>= \res ->
+  peekFloatConv  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 126 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+
+-- | Sets the query flags for this object.
+--When performing a scene query, this object will be included or excluded according to flags on the object and flags on the query. This is a bitwise value, so only when a bit on these flags is set, will it be included in a query asking for that flag. The meaning of the bits is application-specific. 
 setQueryFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ flags
   ->  IO ()
@@ -234,9 +266,10 @@   let {a2' = fromIntegral a2} in 
   setQueryFlags'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 121 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 131 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
--- | As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object. 
+-- | As setQueryFlags, except the flags passed as parameters are appended to the
+--
 addQueryFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ flags
   ->  IO ()
@@ -246,9 +279,10 @@   let {a2' = fromIntegral a2} in 
   addQueryFlags'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 126 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 136 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
--- | As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object. 
+-- | As setQueryFlags, except the flags passed as parameters are removed from the
+--
 removeQueryFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ flags
   ->  IO ()
@@ -258,7 +292,7 @@   let {a2' = fromIntegral a2} in 
   removeQueryFlags'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 131 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 141 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
 -- | Returns the query flags relevant for this object. 
 getQueryFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -270,9 +304,10 @@   getQueryFlags'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 136 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 146 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
--- | Sets the visiblity flags for this object. As well as a simple true/false value for visibility (as seen in setVisible), you can also set visiblity flags which when 'and'ed with the SceneManager
+-- | Sets the visiblity flags for this object.
+--As well as a simple true/false value for visibility (as seen in setVisible), you can also set visiblity flags which when 'and'ed with the SceneManager
 setVisibilityFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ flags
   ->  IO ()
@@ -282,9 +317,10 @@   let {a2' = fromIntegral a2} in 
   setVisibilityFlags'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 141 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 151 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
--- | As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object. 
+-- | As setVisibilityFlags, except the flags passed as parameters are appended to the
+--
 addVisibilityFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ flags
   ->  IO ()
@@ -294,9 +330,10 @@   let {a2' = fromIntegral a2} in 
   addVisibilityFlags'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 146 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 156 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
--- | As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object. 
+-- | As setVisibilityFlags, except the flags passed as parameters are removed from the
+--
 removeVisibilityFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ flags
   ->  IO ()
@@ -306,7 +343,7 @@   let {a2' = fromIntegral a2} in 
   removeVisibilityFlags'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 151 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 161 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
 -- | Returns the visibility flags relevant for this object. 
 getVisibilityFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -318,9 +355,10 @@   getVisibilityFlags'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 156 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 166 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
--- | Get a bitwise mask which will filter the lights affecting this object By default, this mask is fully set meaning all lights will affect this object 
+-- | Get a bitwise mask which will filter the lights affecting this object
+--By default, this mask is fully set meaning all lights will affect this object 
 getLightMask :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Int)
  -- ^ 
@@ -330,9 +368,10 @@   getLightMask'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 161 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 171 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
--- | Set a bitwise mask which will filter the lights affecting this object This mask will be compared against the mask held against Light
+-- | Set a bitwise mask which will filter the lights affecting this object
+--This mask will be compared against the mask held against Light
 setLightMask :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ lightMask
   ->  IO ()
@@ -342,7 +381,7 @@   let {a2' = fromIntegral a2} in 
   setLightMask'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 166 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 176 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
 -- | Define a default implementation of method from ShadowCaster which implements no shadows. 
 hasEdgeList :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -354,9 +393,10 @@   hasEdgeList'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 171 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 181 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
--- | Sets whether or not this object will cast shadows. This setting simply allows you to turn on/off shadows for a given object. An object will not cast shadows unless the scene supports it in any case (see SceneManager::setShadowTechniqueThis method normally refers to objects which block the light, but since LightMovableObject
+-- | Sets whether or not this object will cast shadows.
+--This setting simply allows you to turn on/off shadows for a given object. An object will not cast shadows unless the scene supports it in any case (see SceneManager::setShadowTechniqueThis method normally refers to objects which block the light, but since LightMovableObject
 setCastShadows :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enabled
   ->  IO ()
@@ -366,7 +406,7 @@   let {a2' = fromBool a2} in 
   setCastShadows'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 176 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 186 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
 -- | Returns whether shadow casting is enabled for this object. 
 getCastShadows :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -378,7 +418,7 @@   getCastShadows'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 181 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 191 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
 -- | Returns whether the MaterialRenderableMovableObject
 getReceivesShadows :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -390,7 +430,7 @@   getReceivesShadows'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 186 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 196 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
 -- | Get the distance to extrude for a point/spot light 
 getPointExtrusionDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -404,9 +444,10 @@   getPointExtrusionDistance'_ a1' a2' a3' >>= \res ->
   peekFloatConv  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 192 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 202 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
--- | Get the 'type flags' for this MovableObjectA type flag identifies the type of the MovableObjectMovableObjectFactoryMovableObjectFactoryMovableObjectFactory
+-- | Get the 'type flags' for this MovableObject.
+--A type flag identifies the type of the MovableObjectMovableObjectFactoryMovableObjectFactoryMovableObjectFactory
 getTypeFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Int)
  -- ^ 
@@ -416,9 +457,10 @@   getTypeFlags'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 197 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 207 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
--- | Sets whether or not the debug display of this object is enabled. Some objects aren't visible themselves but it can be useful to display a debug representation of them. Or, objects may have an additional debug display on top of their regular display. This option enables / disables that debug display. Objects that are not visible never display debug geometry regardless of this setting. 
+-- | Sets whether or not the debug display of this object is enabled.
+--Some objects aren't visible themselves but it can be useful to display a debug representation of them. Or, objects may have an additional debug display on top of their regular display. This option enables / disables that debug display. Objects that are not visible never display debug geometry regardless of this setting. 
 setDebugDisplayEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enabled
   ->  IO ()
@@ -428,7 +470,7 @@   let {a2' = fromBool a2} in 
   setDebugDisplayEnabled'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 202 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 212 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
 -- | Gets whether debug display of this object is enabled. 
 isDebugDisplayEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -440,7 +482,7 @@   isDebugDisplayEnabled'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 207 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 217 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
 -- | Set the default query flags for all future MovableObject
 setDefaultQueryFlags :: Int  -- ^ flags
@@ -450,7 +492,7 @@   let {a1' = fromIntegral a1} in 
   setDefaultQueryFlags'_ a1' >>= \res ->
   return ()
-{-# LINE 211 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 221 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
 -- | Get the default query flags for all future MovableObject
 getDefaultQueryFlags :: IO (Int)
@@ -460,7 +502,7 @@   getDefaultQueryFlags'_ a1' >>= \res ->
   peekIntConv  a1'>>= \a1'' -> 
   return (a1'')
-{-# LINE 215 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 225 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
 -- | Set the default visibility flags for all future MovableObject
 setDefaultVisibilityFlags :: Int  -- ^ flags
@@ -470,7 +512,7 @@   let {a1' = fromIntegral a1} in 
   setDefaultVisibilityFlags'_ a1' >>= \res ->
   return ()
-{-# LINE 219 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 229 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
 -- | Get the default visibility flags for all future MovableObject
 getDefaultVisibilityFlags :: IO (Int)
@@ -480,7 +522,7 @@   getDefaultVisibilityFlags'_ a1' >>= \res ->
   peekIntConv  a1'>>= \a1'' -> 
   return (a1'')
-{-# LINE 223 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
+{-# LINE 233 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_destruct"
@@ -527,6 +569,12 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getRenderingDistance"
   getRenderingDistance'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_setRenderingMinPixelSize"
+  setRenderingMinPixelSize'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getRenderingMinPixelSize"
+  getRenderingMinPixelSize'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_setQueryFlags"
   setQueryFlags'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))
HGamer3D/Bindings/Ogre/ClassMovableObjectFactory.hs view
@@ -82,7 +82,9 @@   return ()
 {-# LINE 57 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObjectFactory.chs" #-}
 
--- | Does this factory require the allocation of a 'type flag', used to selectively include / exclude this type from scene queries? The default implementation here is to return 'false', ie not to request a unique type mask from RootMovableObject::getTypeFlagsMovableObjectRoot
+-- | Does this factory require the allocation of a 'type flag', used to 
+--selectively include / exclude this type from scene queries?
+--The default implementation here is to return 'false', ie not to request a unique type mask from RootMovableObject::getTypeFlagsMovableObjectRoot
 requestTypeFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -94,7 +96,8 @@   return (a2'')
 {-# LINE 62 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObjectFactory.chs" #-}
 
--- | Gets the type flag for this factory. A type flag is like a query flag, except that it applies to all instances of a certain type of object. 
+-- | Gets the type flag for this factory.
+--A type flag is like a query flag, except that it applies to all instances of a certain type of object. 
 getTypeFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Int)
  -- ^ 
HGamer3D/Bindings/Ogre/ClassNode.hs view
@@ -102,7 +102,8 @@   return (a2'')
 {-# LINE 66 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Sets the orientation of this node via a quaternion. Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms. Note that rotations are oriented around the node's origin. 
+-- | Sets the orientation of this node via a quaternion.
+--Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms. Note that rotations are oriented around the node's origin. 
 setOrientation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Quaternion  -- ^ q
   ->  IO ()
@@ -114,7 +115,8 @@   return ()
 {-# LINE 71 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Sets the orientation of this node via quaternion parameters. Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms. Note that rotations are oriented around the node's origin. 
+-- | Sets the orientation of this node via quaternion parameters.
+--Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms. Note that rotations are oriented around the node's origin. 
 setOrientation2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ w
   ->  Float  -- ^ x
@@ -132,7 +134,8 @@   return ()
 {-# LINE 79 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Resets the nodes orientation (local axes as world axes, no rotation). Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms. Note that rotations are oriented around the node's origin. 
+-- | Resets the nodes orientation (local axes as world axes, no rotation).
+--Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms. Note that rotations are oriented around the node's origin. 
 resetOrientation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -182,7 +185,8 @@   return (a2'')
 {-# LINE 100 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Sets the scaling factor applied to this node. Scaling factors, unlike other transforms, are not always inherited by child nodes. Whether or not scalings affect the size of the child nodes depends on the setInheritScale option of the child. In some cases you want a scaling factor of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative size based on the parent's size), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own size). The default is to inherit as with other transforms. Note that like rotations, scalings are oriented around the node's origin. 
+-- | Sets the scaling factor applied to this node.
+--Scaling factors, unlike other transforms, are not always inherited by child nodes. Whether or not scalings affect the size of the child nodes depends on the setInheritScale option of the child. In some cases you want a scaling factor of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative size based on the parent's size), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own size). The default is to inherit as with other transforms. Note that like rotations, scalings are oriented around the node's origin. 
 setScale :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Vec3  -- ^ scale
   ->  IO ()
@@ -194,7 +198,8 @@   return ()
 {-# LINE 105 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Sets the scaling factor applied to this node. Scaling factors, unlike other transforms, are not always inherited by child nodes. Whether or not scalings affect the size of the child nodes depends on the setInheritScale option of the child. In some cases you want a scaling factor of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative size based on the parent's size), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own size). The default is to inherit as with other transforms. Note that like rotations, scalings are oriented around the node's origin. 
+-- | Sets the scaling factor applied to this node.
+--Scaling factors, unlike other transforms, are not always inherited by child nodes. Whether or not scalings affect the size of the child nodes depends on the setInheritScale option of the child. In some cases you want a scaling factor of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative size based on the parent's size), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own size). The default is to inherit as with other transforms. Note that like rotations, scalings are oriented around the node's origin. 
 setScale2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ x
   ->  Float  -- ^ y
@@ -222,7 +227,8 @@   return (a2'')
 {-# LINE 117 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Tells the node whether it should inherit orientation from it's parent node. Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms. 
+-- | Tells the node whether it should inherit orientation from it's parent node.
+--Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms. 
 setInheritOrientation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ inherit - If true, this node's orientation will be affected by its parent's orientation. If false, it will not be affected. 
   ->  IO ()
@@ -234,7 +240,8 @@   return ()
 {-# LINE 122 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Returns true if this node is affected by orientation applied to the parent node. Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms. 
+-- | Returns true if this node is affected by orientation applied to the parent node. 
+--Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms. 
 --See setInheritOrientation for more info. 
 getInheritOrientation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
@@ -247,7 +254,8 @@   return (a2'')
 {-# LINE 127 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Tells the node whether it should inherit scaling factors from it's parent node. Scaling factors, unlike other transforms, are not always inherited by child nodes. Whether or not scalings affect the size of the child nodes depends on the setInheritScale option of the child. In some cases you want a scaling factor of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative size based on the parent's size), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own size). The default is to inherit as with other transforms. 
+-- | Tells the node whether it should inherit scaling factors from it's parent node.
+--Scaling factors, unlike other transforms, are not always inherited by child nodes. Whether or not scalings affect the size of the child nodes depends on the setInheritScale option of the child. In some cases you want a scaling factor of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative size based on the parent's size), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own size). The default is to inherit as with other transforms. 
 setInheritScale :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ inherit - If true, this node's scale will be affected by its parent's scale. If false, it will not be affected. 
   ->  IO ()
@@ -259,7 +267,8 @@   return ()
 {-# LINE 132 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Returns true if this node is affected by scaling factors applied to the parent node. See setInheritScale for more info. 
+-- | Returns true if this node is affected by scaling factors applied to the parent node. 
+--See setInheritScale for more info. 
 getInheritScale :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -271,7 +280,8 @@   return (a2'')
 {-# LINE 137 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Scales the node, combining it's current scale with the passed in scaling factor. This method applies an extra scaling factor to the node's existing scale, (unlike setScale which overwrites it) combining it's current scale with the new one. E.g. calling this method twice with Vector3(2,2,2) would have the same effect as setScale(Vector3(4,4,4)) if the existing scale was 1. Note that like rotations, scalings are oriented around the node's origin. 
+-- | Scales the node, combining it's current scale with the passed in scaling factor. 
+--This method applies an extra scaling factor to the node's existing scale, (unlike setScale which overwrites it) combining it's current scale with the new one. E.g. calling this method twice with Vector3(2,2,2) would have the same effect as setScale(Vector3(4,4,4)) if the existing scale was 1. Note that like rotations, scalings are oriented around the node's origin. 
 scale :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Vec3  -- ^ scale
   ->  IO ()
@@ -283,7 +293,8 @@   return ()
 {-# LINE 142 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Scales the node, combining it's current scale with the passed in scaling factor. This method applies an extra scaling factor to the node's existing scale, (unlike setScale which overwrites it) combining it's current scale with the new one. E.g. calling this method twice with Vector3(2,2,2) would have the same effect as setScale(Vector3(4,4,4)) if the existing scale was 1. Note that like rotations, scalings are oriented around the node's origin. 
+-- | Scales the node, combining it's current scale with the passed in scaling factor. 
+--This method applies an extra scaling factor to the node's existing scale, (unlike setScale which overwrites it) combining it's current scale with the new one. E.g. calling this method twice with Vector3(2,2,2) would have the same effect as setScale(Vector3(4,4,4)) if the existing scale was 1. Note that like rotations, scalings are oriented around the node's origin. 
 scale2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ x
   ->  Float  -- ^ y
@@ -403,7 +414,8 @@   return ()
 {-# LINE 194 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Creates an unnamed new Node
+-- | Creates an unnamed new Node as a child of this node.
+--
 createChild :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Vec3  -- ^ translate - Initial translation offset of child relative to parent 
   ->  Quaternion  -- ^ rotate - Initial rotation relative to parent 
@@ -419,7 +431,8 @@   return (a4'')
 {-# LINE 201 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Creates a new named NodeThis creates a child node with a given name, which allows you to look the node up from the parent which holds this collection of nodes. 
+-- | Creates a new named Node as a child of this node.
+--This creates a child node with a given name, which allows you to look the node up from the parent which holds this collection of nodes. 
 createChild2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  Vec3  -- ^ translate - Initial translation offset of child relative to parent 
@@ -437,7 +450,9 @@   return (a5'')
 {-# LINE 209 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Adds a (precreated) child scene node to this node. If it is attached to another node, it must be detached first. 
+-- | Adds a (precreated) child scene node to this node. If it is attached to another node,
+--it must be detached first.
+--
 addChild :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ child - The Node which is to become a child node of this one 
   ->  IO ()
@@ -461,7 +476,8 @@   return (a2'')
 {-# LINE 219 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Gets a pointer to a child node. There is an alternate getChild method which returns a named child. 
+-- | Gets a pointer to a child node.
+--There is an alternate getChild method which returns a named child. 
 getChild :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ index
   ->  IO (HG3DClass)
@@ -489,7 +505,8 @@   return (a3'')
 {-# LINE 231 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Drops the specified child from this node. Does not delete the node, just detaches it from this parent, potentially to be reattached elsewhere. There is also an alternate version which drops a named child from this node. 
+-- | Drops the specified child from this node. 
+--Does not delete the node, just detaches it from this parent, potentially to be reattached elsewhere. There is also an alternate version which drops a named child from this node. 
 removeChild :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ index
   ->  IO (HG3DClass)
@@ -503,7 +520,8 @@   return (a3'')
 {-# LINE 237 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Drops the specified child from this node. Does not delete the node, just detaches it from this parent, potentially to be reattached elsewhere. There is also an alternate version which drops a named child from this node. 
+-- | Drops the specified child from this node. 
+--Does not delete the node, just detaches it from this parent, potentially to be reattached elsewhere. There is also an alternate version which drops a named child from this node. 
 removeChild2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ child
   ->  IO (HG3DClass)
@@ -517,7 +535,8 @@   return (a3'')
 {-# LINE 243 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Drops the named child from this node. Does not delete the node, just detaches it from this parent, potentially to be reattached elsewhere. 
+-- | Drops the named child from this node. 
+--Does not delete the node, just detaches it from this parent, potentially to be reattached elsewhere. 
 removeChild3 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO (HG3DClass)
@@ -541,7 +560,10 @@   return ()
 {-# LINE 253 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Sets the current transform of this node to be the 'initial state' ie that position / orientation / scale to be used as a basis for delta values used in keyframe animation. You never need to call this method unless you plan to animate this node. If you do plan to animate it, call this method once you've loaded the node with it's base state, ie the state on which all keyframes are based. If you never call this method, the initial state is the identity transform, ie do nothing. 
+-- | Sets the current transform of this node to be the 'initial state' ie that
+--position / orientation / scale to be used as a basis for delta values used
+--in keyframe animation.
+--You never need to call this method unless you plan to animate this node. If you do plan to animate it, call this method once you've loaded the node with it's base state, ie the state on which all keyframes are based. If you never call this method, the initial state is the identity transform, ie do nothing. 
 setInitialState :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -561,7 +583,8 @@   return ()
 {-# LINE 261 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Gets the initial position of this node, see setInitialState for more info. Also resets the cumulative animation weight used for blending. 
+-- | Gets the initial position of this node, see setInitialState for more info. 
+--Also resets the cumulative animation weight used for blending. 
 getInitialPosition :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Vec3)
  -- ^ 
@@ -667,7 +690,8 @@   return (a3'')
 {-# LINE 306 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | To be called in the event of transform changes to this node that require it's recalculation. This not only tags the node state as being 'dirty', it also requests it's parent to know about it's dirtiness so it will get an update next time. 
+-- | To be called in the event of transform changes to this node that require it's recalculation.
+--This not only tags the node state as being 'dirty', it also requests it's parent to know about it's dirtiness so it will get an update next time. 
 needUpdate :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ forceParentUpdate - Even if the node thinks it has already told it's parent, tell it anyway 
   ->  IO ()
@@ -680,6 +704,7 @@ {-# LINE 311 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
 -- | Called by children to notify their parent that they need an update. 
+--
 requestUpdate :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ child
   ->  Bool  -- ^ forceParentUpdate - Even if the node thinks it has already told it's parent, tell it anyway 
@@ -705,7 +730,8 @@   return ()
 {-# LINE 322 ".\\HGamer3D\\Bindings\\Ogre\\ClassNode.chs" #-}
 
--- | Queue a 'needUpdate' call to a node safely. You can't call needUpdate()Node::Listener
+-- | Queue a 'needUpdate' call to a node safely.
+--You can't call needUpdate()Node::Listener
 queueNeedUpdate :: HG3DClass  -- ^ n
   ->  IO ()
  -- ^ 
HGamer3D/Bindings/Ogre/ClassNodeAnimationTrack.hs view
@@ -138,7 +138,8 @@   return (a2'')
 {-# LINE 81 ".\\HGamer3D\\Bindings\\Ogre\\ClassNodeAnimationTrack.chs" #-}
 
--- | Applies an animation track to the designated target. 
+-- | Applies an animation track to the designated target.
+--
 apply :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ timeIndex
   ->  Float  -- ^ weight
HGamer3D/Bindings/Ogre/ClassNumericAnimationTrack.hs view
@@ -62,7 +62,8 @@   return (a3'')
 {-# LINE 49 ".\\HGamer3D\\Bindings\\Ogre\\ClassNumericAnimationTrack.chs" #-}
 
--- | Applies an animation track to the designated target. 
+-- | Applies an animation track to the designated target.
+--
 apply :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ timeIndex
   ->  Float  -- ^ weight
HGamer3D/Bindings/Ogre/ClassPtr.hs view
@@ -209,3 +209,9 @@ {- class ClassWindowEventUtilities -}
 type ClassWindowEventUtilities = Ptr (())
 {-# LINE 152 ".\\HGamer3D\\Bindings\\Ogre\\ClassPtr.chs" #-}
+{- class ClassWindowUtilsHG3D -}
+type ClassWindowUtilsHG3D = Ptr (())
+{-# LINE 154 ".\\HGamer3D\\Bindings\\Ogre\\ClassPtr.chs" #-}
+{- class ClassHG3DMessagePump -}
+type ClassHG3DMessagePump = Ptr (())
+{-# LINE 156 ".\\HGamer3D\\Bindings\\Ogre\\ClassPtr.chs" #-}
HGamer3D/Bindings/Ogre/ClassRenderSystem.hs view
@@ -74,7 +74,8 @@   return (a2'')
 {-# LINE 54 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Sets an option for this API Used to confirm the settings (normally chosen by the user) in order to make the renderer able to initialise with the settings as required. This may be video mode, D3D driver, full screen / windowed etc. Called automatically by the default configuration dialog, and by the restoration of saved settings. These settings are stored and only activated when RenderSystem::initialise or RenderSystem::reinitialiseIf using a custom configuration dialog, it is advised that the caller calls RenderSystem::getConfigOptions
+-- | Sets an option for this API
+--Used to confirm the settings (normally chosen by the user) in order to make the renderer able to initialise with the settings as required. This may be video mode, D3D driver, full screen / windowed etc. Called automatically by the default configuration dialog, and by the restoration of saved settings. These settings are stored and only activated when RenderSystem::initialise or RenderSystem::reinitialiseIf using a custom configuration dialog, it is advised that the caller calls RenderSystem::getConfigOptions
 setConfigOption :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name of the option to alter. 
   ->  String  -- ^ value - The value to set the option to. 
@@ -88,7 +89,8 @@   return ()
 {-# LINE 60 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Validates the options set for the rendering system, returning a message if there are problems. If the returned string is empty, there are no problems. 
+-- | Validates the options set for the rendering system, returning a message if there are problems.
+--If the returned string is empty, there are no problems. 
 validateConfigOptions :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (String)
  -- ^ 
@@ -136,7 +138,8 @@   return ()
 {-# LINE 80 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Sets whether or not dynamic lighting is enabled. 
+-- | Sets whether or not dynamic lighting is enabled.
+--
 setLightingEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enabled - If true, dynamic lighting is performed on geometry with normals supplied, geometry without normals will not be displayed. If false, no lighting is applied and all geometry will be full brightness. 
   ->  IO ()
@@ -148,7 +151,8 @@   return ()
 {-# LINE 85 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Sets whether or not W-buffers are enabled if they are available for this renderer. 
+-- | Sets whether or not W-buffers are enabled if they are available for this renderer.
+--
 setWBufferEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enabled - If true and the renderer supports them W-buffers will be used. If false W-buffers will not be used even if available. W-buffers are enabled by default for 16bit depth buffers and disabled for all other depths. 
   ->  IO ()
@@ -172,7 +176,8 @@   return (a2'')
 {-# LINE 95 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Create a MultiRenderTarget
+-- | Create a MultiRenderTarget, which is a render target that renders to multiple RenderTextures
+--
 createMultiRenderTarget :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO (HG3DClass)
@@ -222,7 +227,20 @@   return ()
 {-# LINE 116 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Returns a pointer to the render target with the passed name, or NULL if that render target cannot be found. 
+-- | Attaches the passed render target to the render system. 
+attachRenderTarget :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  HG3DClass  -- ^ target
+  ->  IO ()
+ -- ^ 
+attachRenderTarget a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  withHG3DClass a2 $ \a2' -> 
+  attachRenderTarget'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 121 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+
+-- | Returns a pointer to the render target with the passed name, or NULL if that
+--
 getRenderTarget :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO (HG3DClass)
@@ -234,9 +252,10 @@   getRenderTarget'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 122 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 127 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Detaches the render target with the passed name from the render system and returns a pointer to it. If the render target cannot be found, NULL is returned. 
+-- | Detaches the render target with the passed name from the render system and
+--If the render target cannot be found, NULL is returned. 
 detachRenderTarget :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO (HG3DClass)
@@ -248,7 +267,7 @@   detachRenderTarget'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 128 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 133 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
 -- | Returns a description of an error code. 
 getErrorDescription :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -262,9 +281,10 @@   getErrorDescription'_ a1' a2' a3' >>= \res ->
   peekCString  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 134 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 139 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Defines whether or now fullscreen render windows wait for the vertical blank before flipping buffers. By default, all rendering windows wait for a vertical blank (when the CRT beam turns off briefly to move from the bottom right of the screen back to the top left) before flipping the screen buffers. This ensures that the image you see on the screen is steady. However it restricts the frame rate to the refresh rate of the monitor, and can slow the frame rate down. You can speed this up by not waiting for the blank, but this has the downside of introducing 'tearing' artefacts where part of the previous frame is still displayed as the buffers are switched. Speed vs quality, you choose. Has NO effect on windowed mode render targets. Only affects fullscreen mode. 
+-- | Defines whether or now fullscreen render windows wait for the vertical blank before flipping buffers.
+--By default, all rendering windows wait for a vertical blank (when the CRT beam turns off briefly to move from the bottom right of the screen back to the top left) before flipping the screen buffers. This ensures that the image you see on the screen is steady. However it restricts the frame rate to the refresh rate of the monitor, and can slow the frame rate down. You can speed this up by not waiting for the blank, but this has the downside of introducing 'tearing' artefacts where part of the previous frame is still displayed as the buffers are switched. Speed vs quality, you choose. Has NO effect on windowed mode render targets. Only affects fullscreen mode. 
 setWaitForVerticalBlank :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enabled - If true, the system waits for vertical blanks - quality over speed. If false it doesn't - speed over quality. 
   ->  IO ()
@@ -274,7 +294,7 @@   let {a2' = fromBool a2} in 
   setWaitForVerticalBlank'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 139 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 144 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
 -- | Returns true if the system is synchronising frames with the monitor vertical blank. 
 getWaitForVerticalBlank :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -286,8 +306,68 @@   getWaitForVerticalBlank'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 144 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 149 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
+-- | Gets the global number of instances. 
+getGlobalNumberOfInstances :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Int)
+ -- ^ 
+getGlobalNumberOfInstances a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getGlobalNumberOfInstances'_ a1' a2' >>= \res ->
+  peekIntConv  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 154 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+
+-- | Sets the global number of instances. 
+setGlobalNumberOfInstances :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Int  -- ^ val
+  ->  IO ()
+ -- ^ 
+setGlobalNumberOfInstances a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = fromIntegral a2} in 
+  setGlobalNumberOfInstances'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 159 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+
+-- | Sets if fixed pipeline rendering is enabled on the system. 
+setFixedPipelineEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Bool  -- ^ enabled
+  ->  IO ()
+ -- ^ 
+setFixedPipelineEnabled a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = fromBool a2} in 
+  setFixedPipelineEnabled'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 164 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+
+-- | Returns true if fixed pipeline rendering is enabled on the system. 
+getFixedPipelineEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Bool)
+ -- ^ 
+getFixedPipelineEnabled a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getFixedPipelineEnabled'_ a1' a2' >>= \res ->
+  peekBoolUtil  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 169 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+
+-- | Retrieves an existing DepthBuffer or creates a new one suited for the given RenderTargetRenderTargetRenderTarget::setDepthBufferPool()
+setDepthBufferFor :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  HG3DClass  -- ^ renderTarget
+  ->  IO ()
+ -- ^ 
+setDepthBufferFor a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  withHG3DClass a2 $ \a2' -> 
+  setDepthBufferFor'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 174 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+
 -- | Are fixed-function lights provided in view space? Affects optimisation. 
 areFixedFunctionLightsInViewSpace :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
@@ -298,9 +378,10 @@   areFixedFunctionLightsInViewSpace'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 149 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 179 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Generates a packed data version of the passed in ColourValue suitable for use as with this RenderSystemSince different render systems have different colour data formats (eg RGBA for GL, ARGB for D3D) this method allows you to use 1 method for all. 
+-- | Generates a packed data version of the passed in ColourValue suitable for
+--RenderSystemSince different render systems have different colour data formats (eg RGBA for GL, ARGB for D3D) this method allows you to use 1 method for all. 
 convertColourValue :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Colour  -- ^ colour - The colour to convert 
   ->  IO (Int)
@@ -312,9 +393,10 @@   convertColourValue'_ a1' a2' a3' >>= \res ->
   peekIntConv  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 155 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 185 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Turns stencil buffer checking on or off. Stencilling (masking off areas of the rendering target based on the stencil buffer) can be turned on or off using this method. By default, stencilling is disabled. 
+-- | Turns stencil buffer checking on or off. 
+--Stencilling (masking off areas of the rendering target based on the stencil buffer) can be turned on or off using this method. By default, stencilling is disabled. 
 setStencilCheckEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enabled
   ->  IO ()
@@ -324,9 +406,10 @@   let {a2' = fromBool a2} in 
   setStencilCheckEnabled'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 160 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 190 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Sets whether or not normals are to be automatically normalised. This is useful when, for example, you are scaling SceneNodes such that normals may not be unit-length anymore. Note though that this has an overhead so should not be turn on unless you really need it. You should not normally call this direct unless you are rendering world geometry; set it on the Renderable
+-- | Sets whether or not normals are to be automatically normalised.
+--This is useful when, for example, you are scaling SceneNodes such that normals may not be unit-length anymore. Note though that this has an overhead so should not be turn on unless you really need it. You should not normally call this direct unless you are rendering world geometry; set it on the Renderable
 setNormaliseNormals :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ normalise
   ->  IO ()
@@ -336,7 +419,7 @@   let {a2' = fromBool a2} in 
   setNormaliseNormals'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 165 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 195 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
 -- | Only binds Gpu program parameters used for passes that have more than one iteration rendering 
 bindGpuProgramPassIterationParameters :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -348,9 +431,10 @@   let {a2' = cIntFromEnum a2} in 
   bindGpuProgramPassIterationParameters'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 170 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 200 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Unbinds GpuPrograms of a given GpuProgramType. This returns the pipeline to fixed-function processing for this type. 
+-- | Unbinds GpuPrograms of a given GpuProgramType.
+--This returns the pipeline to fixed-function processing for this type. 
 unbindGpuProgram :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  EnumGpuProgramType  -- ^ gptype
   ->  IO ()
@@ -360,7 +444,7 @@   let {a2' = cIntFromEnum a2} in 
   unbindGpuProgram'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 175 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 205 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
 -- | Returns whether or not a Gpu program of the given type is currently bound. 
 isGpuProgramBound :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -374,7 +458,7 @@   isGpuProgramBound'_ a1' a2' a3' >>= \res ->
   peekBoolUtil  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 181 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 211 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
 -- | Add a user clipping plane. 
 addClipPlane2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -392,7 +476,7 @@   let {a5' = realToFrac a5} in 
   addClipPlane2'_ a1' a2' a3' a4' a5' >>= \res ->
   return ()
-{-# LINE 189 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 219 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
 -- | Clears the user clipping region. 
 resetClipPlanes :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -402,9 +486,10 @@   withHG3DClass a1 $ \a1' -> 
   resetClipPlanes'_ a1' >>= \res ->
   return ()
-{-# LINE 193 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 223 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Sets whether or not vertex windings set should be inverted; this can be important for rendering reflections. 
+-- | Sets whether or not vertex windings set should be inverted; this can be important
+--
 setInvertVertexWinding :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ invert
   ->  IO ()
@@ -414,9 +499,10 @@   let {a2' = fromBool a2} in 
   setInvertVertexWinding'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 198 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 228 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Indicates whether or not the vertex windings set will be inverted for the current render (e.g. reflections) RenderSystem::setInvertVertexWinding
+-- | Indicates whether or not the vertex windings set will be inverted for the current render (e.g. reflections)
+--RenderSystem::setInvertVertexWinding
 getInvertVertexWinding :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -426,9 +512,10 @@   getInvertVertexWinding'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 203 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 233 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Sets the 'scissor region' ie the region of the target in which rendering can take place. This method allows you to 'mask off' rendering in all but a given rectangular area as identified by the parameters to this method. Not all systems support this method. Check the RenderSystemCapabilities for the RSC_SCISSOR_TEST capability to see if it is supported. 
+-- | Sets the 'scissor region' ie the region of the target in which rendering can take place.
+--This method allows you to 'mask off' rendering in all but a given rectangular area as identified by the parameters to this method. Not all systems support this method. Check the RenderSystemCapabilities for the RSC_SCISSOR_TEST capability to see if it is supported. 
 setScissorTest :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enabled - True to enable the scissor test, false to disable it. 
   ->  Int  -- ^ left - The location of the corners of the rectangle, expressed in pixels. 
@@ -446,9 +533,10 @@   let {a6' = fromIntegral a6} in 
   setScissorTest'_ a1' a2' a3' a4' a5' a6' >>= \res ->
   return ()
-{-# LINE 212 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 242 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
 -- | Clears one or more frame buffers on the active render target. 
+--
 clearFrameBuffer :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ buffers - Combination of one or more elements of FrameBufferType denoting which buffers are to be cleared 
   ->  Colour  -- ^ colour - The colour to clear the colour buffer with, if enabled 
@@ -464,9 +552,10 @@   let {a5' = fromIntegral a5} in 
   clearFrameBuffer'_ a1' a2' a3' a4' a5' >>= \res ->
   return ()
-{-# LINE 220 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 250 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Returns the horizontal texel offset value required for mapping texel origins to pixel origins in this rendersystem. Since rendersystems sometimes disagree on the origin of a texel, mapping from texels to pixels can sometimes be problematic to implement generically. This method allows you to retrieve the offset required to map the origin of a texel to the origin of a pixel in the horizontal direction. 
+-- | Returns the horizontal texel offset value required for mapping 
+--Since rendersystems sometimes disagree on the origin of a texel, mapping from texels to pixels can sometimes be problematic to implement generically. This method allows you to retrieve the offset required to map the origin of a texel to the origin of a pixel in the horizontal direction. 
 getHorizontalTexelOffset :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Float)
  -- ^ 
@@ -476,9 +565,10 @@   getHorizontalTexelOffset'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 225 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 255 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Returns the vertical texel offset value required for mapping texel origins to pixel origins in this rendersystem. Since rendersystems sometimes disagree on the origin of a texel, mapping from texels to pixels can sometimes be problematic to implement generically. This method allows you to retrieve the offset required to map the origin of a texel to the origin of a pixel in the vertical direction. 
+-- | Returns the vertical texel offset value required for mapping 
+--Since rendersystems sometimes disagree on the origin of a texel, mapping from texels to pixels can sometimes be problematic to implement generically. This method allows you to retrieve the offset required to map the origin of a texel to the origin of a pixel in the vertical direction. 
 getVerticalTexelOffset :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Float)
  -- ^ 
@@ -488,9 +578,10 @@   getVerticalTexelOffset'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 230 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 260 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Gets the minimum (closest) depth value to be used when rendering using identity transforms. When using identity transforms you can manually set the depth of a vertex; however the input values required differ per rendersystem. This method lets you retrieve the correct value. Renderable::getUseIdentityViewRenderable::getUseIdentityProjection
+-- | Gets the minimum (closest) depth value to be used when rendering
+--When using identity transforms you can manually set the depth of a vertex; however the input values required differ per rendersystem. This method lets you retrieve the correct value. Renderable::getUseIdentityViewRenderable::getUseIdentityProjection
 getMinimumDepthInputValue :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Float)
  -- ^ 
@@ -500,9 +591,10 @@   getMinimumDepthInputValue'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 235 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 265 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Gets the maximum (farthest) depth value to be used when rendering using identity transforms. When using identity transforms you can manually set the depth of a vertex; however the input values required differ per rendersystem. This method lets you retrieve the correct value. Renderable::getUseIdentityViewRenderable::getUseIdentityProjection
+-- | Gets the maximum (farthest) depth value to be used when rendering
+--When using identity transforms you can manually set the depth of a vertex; however the input values required differ per rendersystem. This method lets you retrieve the correct value. Renderable::getUseIdentityViewRenderable::getUseIdentityProjection
 getMaximumDepthInputValue :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Float)
  -- ^ 
@@ -512,9 +604,10 @@   getMaximumDepthInputValue'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 240 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 270 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | set the current multi pass count value. This must be set prior to calling _render()
+-- | set the current multi pass count value.  This must be set prior to 
+--_render()
 setCurrentPassIterationCount :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ count - Number of times to render the current state. 
   ->  IO ()
@@ -524,9 +617,10 @@   let {a2' = fromIntegral a2} in 
   setCurrentPassIterationCount'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 245 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 275 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Tell the render system whether to derive a depth bias on its own based on the values passed to it in setCurrentPassIterationCount. The depth bias set will be baseValue + iteration * multiplier 
+-- | Tell the render system whether to derive a depth bias on its own based on 
+--
 setDeriveDepthBias :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ derive - True to tell the RS to derive this automatically 
   ->  Float  -- ^ baseValue - The base value to which the multiplier should be added 
@@ -542,9 +636,10 @@   let {a5' = realToFrac a5} in 
   setDeriveDepthBias'_ a1' a2' a3' a4' a5' >>= \res ->
   return ()
-{-# LINE 253 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 283 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Tell the rendersystem to perform any prep tasks it needs to directly before other threads which might access the rendering API are registered. Call this from your main thread before starting your other threads (which themselves should call registerThread()
+-- | Tell the rendersystem to perform any prep tasks it needs to directly
+--Call this from your main thread before starting your other threads (which themselves should call registerThread()
 --
 --
 --
@@ -561,7 +656,7 @@   withHG3DClass a1 $ \a1' -> 
   preExtraThreadsStarted'_ a1' >>= \res ->
   return ()
-{-# LINE 257 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 287 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
 -- | 
 postExtraThreadsStarted :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -571,9 +666,10 @@   withHG3DClass a1 $ \a1' -> 
   postExtraThreadsStarted'_ a1' >>= \res ->
   return ()
-{-# LINE 261 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 291 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Register the an additional thread which may make calls to rendersystem-related objects. This method should only be called by additional threads during their initialisation. If they intend to use hardware rendering system resources they should call this method before doing anything related to the render system. Some rendering APIs require a per-thread setup and this method will sort that out. It is also necessary to call unregisterThread before the thread shuts down. This method takes no parameters - it must be called from the thread being registered and that context is enough. 
+-- | Register the an additional thread which may make calls to rendersystem-related 
+--This method should only be called by additional threads during their initialisation. If they intend to use hardware rendering system resources they should call this method before doing anything related to the render system. Some rendering APIs require a per-thread setup and this method will sort that out. It is also necessary to call unregisterThread before the thread shuts down. This method takes no parameters - it must be called from the thread being registered and that context is enough. 
 registerThread :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -581,9 +677,10 @@   withHG3DClass a1 $ \a1' -> 
   registerThread'_ a1' >>= \res ->
   return ()
-{-# LINE 265 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 295 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
--- | Unregister an additional thread which may make calls to rendersystem-related objects. RenderSystem::registerThread
+-- | Unregister an additional thread which may make calls to rendersystem-related objects.
+--RenderSystem::registerThread
 unregisterThread :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -591,7 +688,7 @@   withHG3DClass a1 $ \a1' -> 
   unregisterThread'_ a1' >>= \res ->
   return ()
-{-# LINE 269 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 299 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
 -- | Gets the number of display monitors. Root::getDisplayMonitorCount
 getDisplayMonitorCount :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -603,9 +700,44 @@   getDisplayMonitorCount'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 274 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+{-# LINE 304 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
+-- | This marks the beginning of an event for GPU profiling. 
+beginProfileEvent :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  String  -- ^ eventName
+  ->  IO ()
+ -- ^ 
+beginProfileEvent a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  withCString a2 $ \a2' -> 
+  beginProfileEvent'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 309 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
 
+-- | Ends the currently active GPU profiling event. 
+endProfileEvent :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO ()
+ -- ^ 
+endProfileEvent a1 =
+  withHG3DClass a1 $ \a1' -> 
+  endProfileEvent'_ a1' >>= \res ->
+  return ()
+{-# LINE 313 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+
+-- | Marks an instantaneous event for graphics profilers. This is equivalent to calling beginProfileEvent
+--endProfileEvent
+markProfileEvent :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  String  -- ^ event
+  ->  IO ()
+ -- ^ 
+markProfileEvent a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  withCString a2 $ \a2' -> 
+  markProfileEvent'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 318 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs" #-}
+
+
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs.h ogre_rds_destruct"
   delete'_ :: ((HG3DClassPtr) -> (IO ()))
 
@@ -648,6 +780,9 @@ foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs.h ogre_rds_destroyRenderTarget"
   destroyRenderTarget'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
 
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs.h ogre_rds_attachRenderTarget"
+  attachRenderTarget'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
+
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs.h ogre_rds_getRenderTarget"
   getRenderTarget'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
 
@@ -663,6 +798,21 @@ foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs.h ogre_rds_getWaitForVerticalBlank"
   getWaitForVerticalBlank'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
 
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs.h ogre_rds_getGlobalNumberOfInstances"
+  getGlobalNumberOfInstances'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs.h ogre_rds_setGlobalNumberOfInstances"
+  setGlobalNumberOfInstances'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs.h ogre_rds_setFixedPipelineEnabled"
+  setFixedPipelineEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs.h ogre_rds_getFixedPipelineEnabled"
+  getFixedPipelineEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs.h ogre_rds_setDepthBufferFor"
+  setDepthBufferFor'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
+
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs.h ogre_rds_areFixedFunctionLightsInViewSpace"
   areFixedFunctionLightsInViewSpace'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
 
@@ -734,3 +884,12 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs.h ogre_rds_getDisplayMonitorCount"
   getDisplayMonitorCount'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs.h ogre_rds_beginProfileEvent"
+  beginProfileEvent'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs.h ogre_rds_endProfileEvent"
+  endProfileEvent'_ :: ((HG3DClassPtr) -> (IO ()))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderSystem.chs.h ogre_rds_markProfileEvent"
+  markProfileEvent'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
HGamer3D/Bindings/Ogre/ClassRenderTarget.hs view
@@ -122,6 +122,40 @@   return (a2'')
 {-# LINE 74 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
+-- | Sets the pool ID this RenderTargetDepthBuffer Changing the pool Id will cause the current depth buffer to be detached unless the old id and the new one are the same 
+setDepthBufferPool :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Int  -- ^ poolId
+  ->  IO ()
+ -- ^ 
+setDepthBufferPool a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = fromIntegral a2} in 
+  setDepthBufferPool'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 79 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+
+-- | 
+getDepthBufferPool :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Int)
+ -- ^ 
+getDepthBufferPool a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getDepthBufferPool'_ a1' a2' >>= \res ->
+  peekIntConv  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 84 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+
+-- | 
+detachDepthBuffer :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO ()
+ -- ^ 
+detachDepthBuffer a1 =
+  withHG3DClass a1 $ \a1' -> 
+  detachDepthBuffer'_ a1' >>= \res ->
+  return ()
+{-# LINE 88 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+
 -- | Tells the target to update it's contents. If OGRE is not running in an automatic rendering loop (started using Root::startRenderingThis allows OGRE to be used in multi-windowed utilities and for contents to be refreshed only when required, rather than constantly as with the automatic rendering loop. 
 update :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ swapBuffers - For targets that support double-buffering, if set to true, the target will immediately swap it's buffers after update. Otherwise, the buffers are not swapped, and you have to call swapBuffers yourself sometime later. You might want to do this on some rendersystems which pause for queued rendering commands to complete before accepting swap buffers calls - so you could do other CPU tasks whilst the queued commands complete. Or, you might do this if you want custom control over your windows, such as for externally created windows. 
@@ -132,7 +166,7 @@   let {a2' = fromBool a2} in 
   update'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 79 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 93 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Swaps the frame buffers to display the next frame. For targets that are double-buffered so that no 'in-progress' versions of the scene are displayed during rendering. Once rendering has completed (to an off-screen version of the window) the buffers are swapped to display the new frame.
 swapBuffers :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -144,7 +178,7 @@   let {a2' = fromBool a2} in 
   swapBuffers'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 84 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 98 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Adds a viewport to the rendering target. A viewport is the rectangle into which rendering output is sent. This method adds a viewport to the render target, rendering from the supplied camera. The rest of the parameters are only required if you wish to add more than one viewport to a single rendering target. Note that size information passed to this method is passed as a parametric, i.e. it is relative rather than absolute. This is to allow viewports to automatically resize along with the target. 
 addViewport :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -168,7 +202,7 @@   addViewport'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
   peek  a8'>>= \a8'' -> 
   return (a8'')
-{-# LINE 95 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 109 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Returns the number of viewports attached to this target. 
 getNumViewports :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -180,7 +214,7 @@   getNumViewports'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 100 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 114 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Retrieves a pointer to the viewport with the given index. 
 getViewport :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -194,8 +228,36 @@   getViewport'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 106 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 120 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
+-- | Retrieves a pointer to the viewport with the given zorder. throws if not found. 
+getViewportByZOrder :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Int  -- ^ ZOrder
+  ->  IO (HG3DClass)
+ -- ^ 
+getViewportByZOrder a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = fromIntegral a2} in 
+  alloca $ \a3' -> 
+  getViewportByZOrder'_ a1' a2' a3' >>= \res ->
+  peek  a3'>>= \a3'' -> 
+  return (a3'')
+{-# LINE 126 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+
+-- | Returns true if and only if a viewport exists at the given ZOrder. 
+hasViewportWithZOrder :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Int  -- ^ ZOrder
+  ->  IO (Bool)
+ -- ^ 
+hasViewportWithZOrder a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = fromIntegral a2} in 
+  alloca $ \a3' -> 
+  hasViewportWithZOrder'_ a1' a2' a3' >>= \res ->
+  peekBoolUtil  a3'>>= \a3'' -> 
+  return (a3'')
+{-# LINE 132 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+
 -- | Removes a viewport at a given ZOrder. 
 removeViewport :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ ZOrder
@@ -206,7 +268,7 @@   let {a2' = fromIntegral a2} in 
   removeViewport'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 111 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 137 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Removes all viewports on this target. 
 removeAllViewports :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -216,7 +278,7 @@   withHG3DClass a1 $ \a1' -> 
   removeAllViewports'_ a1' >>= \res ->
   return ()
-{-# LINE 115 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 141 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Retieves details of current rendering performance. If the user application wishes to do it's own performance display, or use performance for some other means, this method allows it to retrieve the statistics. 
 getStatistics :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -234,7 +296,7 @@   peekFloatConv  a4'>>= \a4'' -> 
   peekFloatConv  a5'>>= \a5'' -> 
   return (a2'', a3'', a4'', a5'')
-{-# LINE 123 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 149 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Individual stats access - gets the number of frames per second (FPS) based on the last frame rendered. 
 getLastFPS :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -246,7 +308,7 @@   getLastFPS'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 128 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 154 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Individual stats access - gets the average frames per second (FPS) since call to Root::startRendering
 getAverageFPS :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -258,7 +320,7 @@   getAverageFPS'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 133 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 159 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Individual stats access - gets the best frames per second (FPS) since call to Root::startRendering
 getBestFPS :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -270,7 +332,7 @@   getBestFPS'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 138 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 164 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Individual stats access - gets the worst frames per second (FPS) since call to Root::startRendering
 getWorstFPS :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -282,7 +344,7 @@   getWorstFPS'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 143 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 169 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Individual stats access - gets the best frame time 
 getBestFrameTime :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -294,7 +356,7 @@   getBestFrameTime'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 148 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 174 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Individual stats access - gets the worst frame time 
 getWorstFrameTime :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -306,7 +368,7 @@   getWorstFrameTime'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 153 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 179 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Resets saved frame-rate statistices. 
 resetStatistics :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -316,7 +378,7 @@   withHG3DClass a1 $ \a1' -> 
   resetStatistics'_ a1' >>= \res ->
   return ()
-{-# LINE 157 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 183 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Removes all listeners from this instance. 
 removeAllListeners :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -326,7 +388,7 @@   withHG3DClass a1 $ \a1' -> 
   removeAllListeners'_ a1' >>= \res ->
   return ()
-{-# LINE 161 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 187 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Used to retrieve or set the active state of the render target. 
 isActive :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -338,7 +400,7 @@   isActive'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 166 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 192 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Used to set the active state of the render target. 
 setActive :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -350,9 +412,11 @@   let {a2' = fromBool a2} in 
   setActive'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 171 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 197 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
--- | Sets whether this target should be automatically updated if OgreRoot::_updateAllRenderTargetsBy default, if you use OgreRoot::startRenderingRoot::_updateAllRenderTargets
+-- | Sets whether this target should be automatically updated if Ogre's rendering
+--loop or Root::_updateAllRenderTargets is being used.
+--By default, if you use OgreRoot::startRenderingRoot::_updateAllRenderTargets
 setAutoUpdated :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ autoupdate - If true, the render target is updated during the automatic render loop or when Root::_updateAllRenderTargets is called. If false, the target is only updated when its update() method is called explicitly. 
   ->  IO ()
@@ -362,7 +426,7 @@   let {a2' = fromBool a2} in 
   setAutoUpdated'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 176 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 202 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Gets whether this target is automatically updated if OgreRoot::_updateAllRenderTargets
 isAutoUpdated :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -374,7 +438,7 @@   isAutoUpdated'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 181 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 207 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Writes the current contents of the render target to the named file. 
 writeContentsToFile :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -386,7 +450,7 @@   withCString a2 $ \a2' -> 
   writeContentsToFile'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 186 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 212 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Writes the current contents of the render target to the (PREFIX)(time-stamp)(SUFFIX) file. 
 writeContentsToTimestampedFile :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -402,7 +466,7 @@   writeContentsToTimestampedFile'_ a1' a2' a3' a4' >>= \res ->
   peekCString  a4'>>= \a4'' -> 
   return (a4'')
-{-# LINE 193 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 219 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | 
 requiresTextureFlipping :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -414,7 +478,7 @@   requiresTextureFlipping'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 198 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 224 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Gets the number of triangles rendered in the last update()
 getTriangleCount :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -426,7 +490,7 @@   getTriangleCount'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 203 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 229 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Gets the number of batches rendered in the last update()
 getBatchCount :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -438,7 +502,7 @@   getBatchCount'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 208 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 234 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Indicates whether this target is the primary window. The primary window is special in that it is destroyed when ogre is shut down, and cannot be destroyed directly. This is the case because it holds the context for vertex, index buffers and textures. 
 isPrimary :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -450,7 +514,7 @@   isPrimary'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 213 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 239 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Indicates whether on rendering, linear colour space is converted to sRGB gamma colour space. This is the exact opposite conversion of what is indicated by Texture::isHardwareGammaEnabled, and can only be enabled on creation of the render target. For render windows, it's enabled through the 'gamma' creation misc parameter. For textures, it is enabled through the hwGamma parameter to the create call. 
 isHardwareGammaEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -462,7 +526,7 @@   isHardwareGammaEnabled'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 218 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 244 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Indicates whether multisampling is performed on rendering and at what level. 
 getFSAA :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -474,7 +538,7 @@   getFSAA'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 223 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 249 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 -- | Gets the FSAA hint (Root::createRenderWindow
 getFSAAHint :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -486,7 +550,7 @@   getFSAAHint'_ a1' a2' >>= \res ->
   peekCString  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 228 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
+{-# LINE 254 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_destruct"
@@ -507,6 +571,15 @@ foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getColourDepth"
   getColourDepth'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
 
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_setDepthBufferPool"
+  setDepthBufferPool'_ :: ((HG3DClassPtr) -> (CUShort -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getDepthBufferPool"
+  getDepthBufferPool'_ :: ((HG3DClassPtr) -> ((Ptr CUShort) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_detachDepthBuffer"
+  detachDepthBuffer'_ :: ((HG3DClassPtr) -> (IO ()))
+
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_update"
   update'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
 
@@ -521,6 +594,12 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getViewport"
   getViewport'_ :: ((HG3DClassPtr) -> (CUShort -> ((HG3DClassPtr) -> (IO ()))))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_getViewportByZOrder"
+  getViewportByZOrder'_ :: ((HG3DClassPtr) -> (CInt -> ((HG3DClassPtr) -> (IO ()))))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_hasViewportWithZOrder"
+  hasViewportWithZOrder'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ()))))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderTarget.chs.h ogre_rtgt_removeViewport"
   removeViewport'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
HGamer3D/Bindings/Ogre/ClassRenderWindow.hs view
@@ -48,7 +48,8 @@ import HGamer3D.Bindings.Ogre.StructHG3DClass
 {-# LINE 42 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
 
--- | Alter fullscreen mode options. Nothing will happen unless the settings here are different from the current settings. 
+-- | Alter fullscreen mode options. 
+--Nothing will happen unless the settings here are different from the current settings. 
 setFullscreen :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ fullScreen - Whether to use fullscreen mode or not. 
   ->  Int  -- ^ width - The new width to use 
@@ -88,7 +89,8 @@   return ()
 {-# LINE 60 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
 
--- | Notify that the window has been resized You don't need to call this unless you created the window externally. 
+-- | Notify that the window has been resized
+--You don't need to call this unless you created the window externally. 
 windowMovedOrResized :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -136,6 +138,80 @@   return ()
 {-# LINE 80 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
 
+-- | Indicates whether the window was set to hidden (not displayed) 
+isHidden :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Bool)
+ -- ^ 
+isHidden a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  isHidden'_ a1' a2' >>= \res ->
+  peekBoolUtil  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 85 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
+
+-- | Hide (or show) the window. If called with hidden=true, this
+--will make the window completely invisible to the user.
+--Setting a window to hidden is useful to create a dummy primary RenderWindow
+setHidden :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Bool  -- ^ hidden
+  ->  IO ()
+ -- ^ 
+setHidden a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = fromBool a2} in 
+  setHidden'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 90 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
+
+-- | Enable or disable vertical sync for the RenderWindow
+setVSyncEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Bool  -- ^ vsync
+  ->  IO ()
+ -- ^ 
+setVSyncEnabled a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = fromBool a2} in 
+  setVSyncEnabled'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 95 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
+
+-- | Indicates whether vertical sync is activated for the window. 
+isVSyncEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Bool)
+ -- ^ 
+isVSyncEnabled a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  isVSyncEnabled'_ a1' a2' >>= \res ->
+  peekBoolUtil  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 100 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
+
+-- | Set the vertical sync interval. This indicates the number of vertical retraces to wait for before swapping buffers. A value of 1 is the default. 
+setVSyncInterval :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Int  -- ^ interval
+  ->  IO ()
+ -- ^ 
+setVSyncInterval a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = fromIntegral a2} in 
+  setVSyncInterval'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 105 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
+
+-- | Returns the vertical sync interval. 
+getVSyncInterval :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Int)
+ -- ^ 
+getVSyncInterval a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getVSyncInterval'_ a1' a2' >>= \res ->
+  peekIntConv  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 110 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
+
 -- | Overridden from RenderTarget
 isActive :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
@@ -146,7 +222,7 @@   isActive'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 85 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
+{-# LINE 115 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
 
 -- | Indicates whether the window has been closed by the user. 
 isClosed :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -158,7 +234,7 @@   isClosed'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 90 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
+{-# LINE 120 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
 
 -- | Indicates whether the window is the primary window. The primary window is special in that it is destroyed when ogre is shut down, and cannot be destroyed directly. This is the case because it holds the context for vertex, index buffers and textures. 
 isPrimary :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -170,7 +246,7 @@   isPrimary'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 95 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
+{-# LINE 125 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
 
 -- | Returns true if window is running in fullscreen mode. 
 isFullScreen :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -182,7 +258,7 @@   isFullScreen'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 100 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
+{-# LINE 130 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
 
 -- | Overloaded version of getMetrics from RenderTarget
 getMetrics :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -202,7 +278,7 @@   peekIntConv  a5'>>= \a5'' -> 
   peekIntConv  a6'>>= \a6'' -> 
   return (a2'', a3'', a4'', a5'', a6'')
-{-# LINE 109 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
+{-# LINE 139 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
 
 -- | Returns true if the window will automatically de-activate itself when it loses focus. 
 isDeactivatedOnFocusChange :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -214,7 +290,7 @@   isDeactivatedOnFocusChange'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 114 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
+{-# LINE 144 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
 
 -- | Indicates whether the window will automatically deactivate itself when it loses focus. 'true' is the default behavior. 
 setDeactivateOnFocusChange :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -226,7 +302,7 @@   let {a2' = fromBool a2} in 
   setDeactivateOnFocusChange'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 119 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
+{-# LINE 149 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs.h ogre_rw_setFullscreen"
@@ -249,6 +325,24 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs.h ogre_rw_setVisible"
   setVisible'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs.h ogre_rw_isHidden"
+  isHidden'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs.h ogre_rw_setHidden"
+  setHidden'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs.h ogre_rw_setVSyncEnabled"
+  setVSyncEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs.h ogre_rw_isVSyncEnabled"
+  isVSyncEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs.h ogre_rw_setVSyncInterval"
+  setVSyncInterval'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs.h ogre_rw_getVSyncInterval"
+  getVSyncInterval'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderWindow.chs.h ogre_rw_isActive"
   isActive'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
HGamer3D/Bindings/Ogre/ClassRenderable.hs view
@@ -60,7 +60,8 @@   return ()
 {-# LINE 48 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs" #-}
 
--- | Retrieves a weak reference to the material this renderable object uses. Note that the Renderable
+-- | Retrieves a weak reference to the material this renderable object uses.
+--Note that the Renderable
 getMaterial :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (SharedPtr)
  -- ^ 
@@ -72,7 +73,8 @@   return (a2'')
 {-# LINE 53 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs" #-}
 
--- | Called just prior to the RenderableOGRE is a queued renderer, so the actual render commands are executed at a later time than the point at which an object is discovered to be visible. This allows ordering & grouping of renders without the discovery process having to be aware of it. It also means OGRE uses declarative render information rather than immediate mode rendering - this is very useful in that certain effects and processes can automatically be applied to a wide range of scenes, but the downside is that special cases are more difficult to handle, because there is not the declared state to cope with it. This method allows a RenderableRenderableRenderable
+-- | Called just prior to the Renderable being rendered. 
+--OGRE is a queued renderer, so the actual render commands are executed at a later time than the point at which an object is discovered to be visible. This allows ordering & grouping of renders without the discovery process having to be aware of it. It also means OGRE uses declarative render information rather than immediate mode rendering - this is very useful in that certain effects and processes can automatically be applied to a wide range of scenes, but the downside is that special cases are more difficult to handle, because there is not the declared state to cope with it. This method allows a RenderableRenderableRenderable
 preRender :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ sm
   ->  HG3DClass  -- ^ rsys
@@ -102,7 +104,8 @@   return ()
 {-# LINE 66 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs" #-}
 
--- | Returns the number of world transform matrices this renderable requires. When a renderable uses vertex blending, it uses multiple world matrices instead of a single one. Each vertex sent to the pipeline can reference one or more matrices in this list with given weights. If a renderable does not use vertex blending this method returns 1, which is the default for simplicity. 
+-- | Returns the number of world transform matrices this renderable requires.
+--When a renderable uses vertex blending, it uses multiple world matrices instead of a single one. Each vertex sent to the pipeline can reference one or more matrices in this list with given weights. If a renderable does not use vertex blending this method returns 1, which is the default for simplicity. 
 getNumWorldTransforms :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Int)
  -- ^ 
@@ -114,7 +117,8 @@   return (a2'')
 {-# LINE 71 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs" #-}
 
--- | Sets whether or not to use an 'identity' projection. Usually RenderableRenderable::getUseIdentityProjection
+-- | Sets whether or not to use an 'identity' projection.
+--Usually RenderableRenderable::getUseIdentityProjection
 setUseIdentityProjection :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ useIdentityProjection
   ->  IO ()
@@ -126,7 +130,8 @@   return ()
 {-# LINE 76 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs" #-}
 
--- | Returns whether or not to use an 'identity' projection. Usually RenderableRenderable::setUseIdentityProjection
+-- | Returns whether or not to use an 'identity' projection.
+--Usually RenderableRenderable::setUseIdentityProjection
 getUseIdentityProjection :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -138,7 +143,8 @@   return (a2'')
 {-# LINE 81 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs" #-}
 
--- | Sets whether or not to use an 'identity' view. Usually RenderableRenderable::getUseIdentityView
+-- | Sets whether or not to use an 'identity' view.
+--Usually RenderableRenderable::getUseIdentityView
 setUseIdentityView :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ useIdentityView
   ->  IO ()
@@ -150,7 +156,8 @@   return ()
 {-# LINE 86 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs" #-}
 
--- | Returns whether or not to use an 'identity' view. Usually RenderableRenderable::setUseIdentityView
+-- | Returns whether or not to use an 'identity' view.
+--Usually RenderableRenderable::setUseIdentityView
 getUseIdentityView :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -162,7 +169,8 @@   return (a2'')
 {-# LINE 91 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs" #-}
 
--- | Returns the camera-relative squared depth of this renderable. Used to sort transparent objects. Squared depth is used rather than actual depth to avoid having to perform a square root on the result. 
+-- | Returns the camera-relative squared depth of this renderable.
+--Used to sort transparent objects. Squared depth is used rather than actual depth to avoid having to perform a square root on the result. 
 getSquaredViewDepth :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ cam
   ->  IO (Float)
@@ -176,7 +184,9 @@   return (a3'')
 {-# LINE 97 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs" #-}
 
--- | Method which reports whether this renderable would normally cast a shadow. Subclasses should override this if they could have been used to generate a shadow. 
+-- | Method which reports whether this renderable would normally cast a
+--shadow. 
+--Subclasses should override this if they could have been used to generate a shadow. 
 getCastsShadows :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -188,7 +198,37 @@   return (a2'')
 {-# LINE 102 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs" #-}
 
--- | Sets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting. 
+-- | Removes a custom value which is associated with this Renderable at the given index.
+--
+removeCustomParameter :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Int  -- ^ index
+  ->  IO ()
+ -- ^ 
+removeCustomParameter a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = fromIntegral a2} in 
+  removeCustomParameter'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 107 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs" #-}
+
+-- | Checks whether a custom value is associated with this Renderable at the given index.
+--
+hasCustomParameter :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Int  -- ^ index
+  ->  IO (Bool)
+ -- ^ 
+hasCustomParameter a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = fromIntegral a2} in 
+  alloca $ \a3' -> 
+  hasCustomParameter'_ a1' a2' a3' >>= \res ->
+  peekBoolUtil  a3'>>= \a3'' -> 
+  return (a3'')
+{-# LINE 113 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs" #-}
+
+-- | Sets whether this renderable's chosen detail level can be
+--overridden (downgraded) by the camera setting. 
+--
 setPolygonModeOverrideable :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ override - true means that a lower camera detail will override this renderables detail level, false means it won't. 
   ->  IO ()
@@ -198,7 +238,7 @@   let {a2' = fromBool a2} in 
   setPolygonModeOverrideable'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 107 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs" #-}
+{-# LINE 118 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs" #-}
 
 -- | Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting. 
 getPolygonModeOverrideable :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -210,7 +250,7 @@   getPolygonModeOverrideable'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 112 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs" #-}
+{-# LINE 123 ".\\HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs.h ogre_rndl_destruct"
@@ -245,6 +285,12 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs.h ogre_rndl_getCastsShadows"
   getCastsShadows'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs.h ogre_rndl_removeCustomParameter"
+  removeCustomParameter'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs.h ogre_rndl_hasCustomParameter"
+  hasCustomParameter'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CInt) -> (IO ()))))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRenderable.chs.h ogre_rndl_setPolygonModeOverrideable"
   setPolygonModeOverrideable'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
HGamer3D/Bindings/Ogre/ClassResource.hs view
@@ -82,7 +82,8 @@   return ()
 {-# LINE 57 ".\\HGamer3D\\Bindings\\Ogre\\ClassResource.chs" #-}
 
--- | Reloads the resource, if it is already loaded. Calls unload()load()
+-- | Reloads the resource, if it is already loaded.
+--Calls unload()load()
 reload :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -196,7 +197,8 @@   return (a2'')
 {-# LINE 104 ".\\HGamer3D\\Bindings\\Ogre\\ClassResource.chs" #-}
 
--- | Returns whether this ResourceThis option only makes sense when you have built Ogreload()load()isLoaded()
+-- | Returns whether this Resource has been earmarked for background loading.
+--This option only makes sense when you have built Ogreload()load()isLoaded()
 isBackgroundLoaded :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -208,7 +210,8 @@   return (a2'')
 {-# LINE 109 ".\\HGamer3D\\Bindings\\Ogre\\ClassResource.chs" #-}
 
--- | Tells the resource whether it is background loaded or not. Resource::isBackgroundLoaded
+-- | Tells the resource whether it is background loaded or not.
+--Resource::isBackgroundLoaded
 setBackgroundLoaded :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ bl
   ->  IO ()
@@ -220,7 +223,8 @@   return ()
 {-# LINE 114 ".\\HGamer3D\\Bindings\\Ogre\\ClassResource.chs" #-}
 
--- | Escalates the loading of a background loaded resource. If a resource is set to load in the background, but something needs it before it's been loaded, there could be a problem. If the user of this resource really can't wait, they can escalate the loading which basically pulls the loading into the current thread immediately. If the resource is already being loaded but just hasn't quite finished then this method will simply wait until the background load is complete. 
+-- | Escalates the loading of a background loaded resource. 
+--If a resource is set to load in the background, but something needs it before it's been loaded, there could be a problem. If the user of this resource really can't wait, they can escalate the loading which basically pulls the loading into the current thread immediately. If the resource is already being loaded but just hasn't quite finished then this method will simply wait until the background load is complete. 
 escalateLoading :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -242,7 +246,8 @@   return (a2'')
 {-# LINE 123 ".\\HGamer3D\\Bindings\\Ogre\\ClassResource.chs" #-}
 
--- | Change the resource group ownership of a ResourceThis method is generally reserved for internal use, although if you really know what you're doing you can use it to move this resource from one group to another. 
+-- | Change the resource group ownership of a Resource.
+--This method is generally reserved for internal use, although if you really know what you're doing you can use it to move this resource from one group to another. 
 changeGroupOwnership :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ newGroup - Name of the new group 
   ->  IO ()
@@ -266,7 +271,8 @@   return (a2'')
 {-# LINE 133 ".\\HGamer3D\\Bindings\\Ogre\\ClassResource.chs" #-}
 
--- | Get the origin of this resource, e.g. a script file name. This property will only contain something if the creator of this resource chose to populate it. Script loaders are advised to populate it. 
+-- | Get the origin of this resource, e.g. a script file name.
+--This property will only contain something if the creator of this resource chose to populate it. Script loaders are advised to populate it. 
 getOrigin :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (String)
  -- ^ 
HGamer3D/Bindings/Ogre/ClassResourceGroupManager.hs view
@@ -68,7 +68,8 @@   return ()
 {-# LINE 51 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Create a resource group. A resource group allows you to define a set of resources that can be loaded / unloaded as a unit. For example, it might be all the resources used for the level of a game. There is always one predefined resource group called ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAMEResourceGroupManager::INTERNAL_RESOURCE_GROUP_NAMEResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAMEOnce you have defined a resource group, resources which will be loaded as part of it are defined in one of 3 ways: 
+-- | Create a resource group.
+--A resource group allows you to define a set of resources that can be loaded / unloaded as a unit. For example, it might be all the resources used for the level of a game. There is always one predefined resource group called ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAMEResourceGroupManager::INTERNAL_RESOURCE_GROUP_NAMEResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAMEOnce you have defined a resource group, resources which will be loaded as part of it are defined in one of 3 ways: 
 --
 --
 --
@@ -89,7 +90,8 @@   return ()
 {-# LINE 57 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Initialises a resource group. After creating a resource group, adding some resource locations, and perhaps pre-declaring some resources using declareResource()
+-- | Initialises a resource group.
+--After creating a resource group, adding some resource locations, and perhaps pre-declaring some resources using declareResource()
 --
 --
 --
@@ -106,7 +108,8 @@   return ()
 {-# LINE 62 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Initialise all resource groups which are yet to be initialised. ResourceGroupManager::intialiseResourceGroup 
+-- | Initialise all resource groups which are yet to be initialised.
+--ResourceGroupManager::intialiseResourceGroup 
 initialiseAllResourceGroups :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -116,7 +119,8 @@   return ()
 {-# LINE 66 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Prepares a resource group. Prepares any created resources which are part of the named group. Note that resources must have already been created by calling ResourceManager::createdeclareResource()ResourceGroupManager::linkWorldGeometryToResourceGroup
+-- | Prepares a resource group.
+--Prepares any created resources which are part of the named group. Note that resources must have already been created by calling ResourceManager::createdeclareResource()ResourceGroupManager::linkWorldGeometryToResourceGroup
 prepareResourceGroup :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name of the resource group to prepare. 
   ->  Bool  -- ^ prepareMainResources - If true, prepares normal resources associated with the group (you might want to set this to false if you wanted to just prepare world geometry in bulk) 
@@ -132,7 +136,8 @@   return ()
 {-# LINE 73 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Loads a resource group. Loads any created resources which are part of the named group. Note that resources must have already been created by calling ResourceManager::createdeclareResource()ResourceGroupManager::linkWorldGeometryToResourceGroup
+-- | Loads a resource group.
+--Loads any created resources which are part of the named group. Note that resources must have already been created by calling ResourceManager::createdeclareResource()ResourceGroupManager::linkWorldGeometryToResourceGroup
 loadResourceGroup :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name of the resource group to load. 
   ->  Bool  -- ^ loadMainResources - If true, loads normal resources associated with the group (you might want to set this to false if you wanted to just load world geometry in bulk) 
@@ -148,7 +153,8 @@   return ()
 {-# LINE 80 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Unloads a resource group. This method unloads all the resources that have been declared as being part of the named resource group. Note that these resources will still exist in their respective ResourceManagerResource::isReloadable
+-- | Unloads a resource group.
+--This method unloads all the resources that have been declared as being part of the named resource group. Note that these resources will still exist in their respective ResourceManagerResource::isReloadable
 unloadResourceGroup :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name to of the resource group to unload. 
   ->  Bool  -- ^ reloadableOnly - If set to true, only unload the resource that is reloadable. Because some resources isn't reloadable, they will be unloaded but can't load them later. Thus, you might not want to them unloaded. Or, you might unload all of them, and then populate them manually later. 
@@ -162,7 +168,8 @@   return ()
 {-# LINE 86 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Unload all resources which are not referenced by any other object. This method behaves like unloadResourceGroup, except that it only unloads resources in the group which are not in use, ie not referenced by other objects. This allows you to free up some memory selectively whilst still keeping the group around (and the resources present, just not using much memory). 
+-- | Unload all resources which are not referenced by any other object.
+--This method behaves like unloadResourceGroup, except that it only unloads resources in the group which are not in use, ie not referenced by other objects. This allows you to free up some memory selectively whilst still keeping the group around (and the resources present, just not using much memory). 
 unloadUnreferencedResourcesInGroup :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name of the group to check for unreferenced resources 
   ->  Bool  -- ^ reloadableOnly - If true (the default), only unloads resources which can be subsequently automatically reloaded 
@@ -176,7 +183,8 @@   return ()
 {-# LINE 92 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Clears a resource group. This method unloads all resources in the group, but in addition it removes all those resources from their ResourceManagers, and then clears all the members from the list. That means after calling this method, there are no resources declared as part of the named group any more. Resource
+-- | Clears a resource group. 
+--This method unloads all resources in the group, but in addition it removes all those resources from their ResourceManagers, and then clears all the members from the list. That means after calling this method, there are no resources declared as part of the named group any more. Resource
 clearResourceGroup :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name to of the resource group to clear. 
   ->  IO ()
@@ -188,7 +196,10 @@   return ()
 {-# LINE 97 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Destroys a resource group, clearing it first, destroying the resources which are part of it, and then removing it from the list of resource groups. 
+-- | Destroys a resource group, clearing it first, destroying the resources
+--which are part of it, and then removing it from
+--the list of resource groups. 
+--
 destroyResourceGroup :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name of the resource group to destroy. 
   ->  IO ()
@@ -200,7 +211,8 @@   return ()
 {-# LINE 102 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Checks the status of a resource group. Looks at the state of a resource group. If initialiseResourceGroup has been called for the resource group return true, otherwise return false. 
+-- | Checks the status of a resource group.
+--Looks at the state of a resource group. If initialiseResourceGroup has been called for the resource group return true, otherwise return false. 
 isResourceGroupInitialised :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name to of the resource group to access. 
   ->  IO (Bool)
@@ -214,7 +226,8 @@   return (a3'')
 {-# LINE 108 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Checks the status of a resource group. Looks at the state of a resource group. If loadResourceGroup has been called for the resource group return true, otherwise return false. 
+-- | Checks the status of a resource group.
+--Looks at the state of a resource group. If loadResourceGroup has been called for the resource group return true, otherwise return false. 
 isResourceGroupLoaded :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name to of the resource group to access. 
   ->  IO (Bool)
@@ -242,7 +255,8 @@   return (a3'')
 {-# LINE 120 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Method to add a resource location to for a given resource group. Resource
+-- | Method to add a resource location to for a given resource group. 
+--Resource
 addResourceLocation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name of the resource location; probably a directory, zip file, URL etc. 
   ->  String  -- ^ locType - The codename for the resource type, which must correspond to the Archive factory which is providing the implementation. 
@@ -290,7 +304,8 @@   return (a4'')
 {-# LINE 141 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Undeclare a resource. Note that this will not cause it to be unloaded if it is already loaded, nor will it destroy a resource which has already been created if initialiseResourceGroup has been called already. Only unloadResourceGroup / clearResourceGroup / destroyResourceGroup will do that. 
+-- | Undeclare a resource.
+--Note that this will not cause it to be unloaded if it is already loaded, nor will it destroy a resource which has already been created if initialiseResourceGroup has been called already. Only unloadResourceGroup / clearResourceGroup / destroyResourceGroup will do that. 
 undeclareResource :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name of the resource. 
   ->  String  -- ^ groupName - The name of the group this resource was declared in. 
@@ -305,6 +320,7 @@ {-# LINE 147 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
 -- | Find out if the named file exists in a group. 
+--
 resourceExists :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ group - The name of the resource group 
   ->  String  -- ^ filename - Fully qualified name of the file to test for 
@@ -321,6 +337,7 @@ {-# LINE 154 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
 -- | Find out if the named file exists in any group. 
+--
 resourceExistsInAnyGroup :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ filename - Fully qualified name of the file to test for 
   ->  IO (Bool)
@@ -334,7 +351,8 @@   return (a3'')
 {-# LINE 160 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Find the group in which a resource exists. 
+-- | Find the group in which a resource exists.
+--
 findGroupContainingResource :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ filename - Fully qualified name of the file the resource should be found as 
   ->  IO (String)
@@ -348,7 +366,8 @@   return (a3'')
 {-# LINE 166 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Delete a single resource file. 
+-- | Delete a single resource file.
+--
 deleteResource :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ filename - The name of the file to delete. 
   ->  String  -- ^ groupName - The name of the group in which to search 
@@ -364,7 +383,8 @@   return ()
 {-# LINE 173 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Delete all matching resource files. 
+-- | Delete all matching resource files.
+--
 deleteMatchingResources :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ filePattern - The pattern (see StringUtil::match) of the files to delete. 
   ->  String  -- ^ groupName - The name of the group in which to search 
@@ -380,7 +400,8 @@   return ()
 {-# LINE 180 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Sets the resource group that 'world' resources will use. This is the group which should be used by SceneManagers implementing world geometry when looking for their resources. Defaults to the DEFAULT_RESOURCE_GROUP_NAME but this can be altered. 
+-- | Sets the resource group that 'world' resources will use.
+--This is the group which should be used by SceneManagers implementing world geometry when looking for their resources. Defaults to the DEFAULT_RESOURCE_GROUP_NAME but this can be altered. 
 setWorldResourceGroupName :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ groupName
   ->  IO ()
@@ -404,7 +425,9 @@   return (a2'')
 {-# LINE 190 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Associates some world geometry with a resource group, causing it to be loaded / unloaded with the resource group. You would use this method to essentially defer a call to SceneManager::setWorldGeometry
+-- | Associates some world geometry with a resource group, causing it to 
+--be loaded / unloaded with the resource group.
+--You would use this method to essentially defer a call to SceneManager::setWorldGeometry
 linkWorldGeometryToResourceGroup :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ group - The name of the resource group 
   ->  String  -- ^ worldGeometry - The parameter which should be passed to setWorldGeometry 
@@ -420,7 +443,8 @@   return ()
 {-# LINE 197 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Clear any link to world geometry from a resource group. Basically undoes a previous call to linkWorldGeometryToResourceGroup. 
+-- | Clear any link to world geometry from a resource group.
+--Basically undoes a previous call to linkWorldGeometryToResourceGroup. 
 unlinkWorldGeometryFromResourceGroup :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ group
   ->  IO ()
@@ -432,7 +456,8 @@   return ()
 {-# LINE 202 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Checks the status of a resource group. Looks at the state of a resource group. If loadResourceGroup has been called for the resource group return true, otherwise return false. 
+-- |     Checks the status of a resource group.
+--Looks at the state of a resource group. If loadResourceGroup has been called for the resource group return true, otherwise return false. 
 isResourceGroupInGlobalPool :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name to of the resource group to access. 
   ->  IO (Bool)
@@ -456,7 +481,19 @@   return ()
 {-# LINE 212 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
--- | Override standard Singleton retrieval. Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
+-- | Override standard Singleton retrieval.
+--Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
+getSingleton :: IO (HG3DClass)
+ -- ^ 
+getSingleton =
+  alloca $ \a1' -> 
+  getSingleton'_ a1' >>= \res ->
+  peek  a1'>>= \a1'' -> 
+  return (a1'')
+{-# LINE 216 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
+
+-- | Override standard Singleton retrieval.
+--Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
 getSingletonPtr :: IO (HG3DClass)
  -- ^ 
 getSingletonPtr =
@@ -464,7 +501,7 @@   getSingletonPtr'_ a1' >>= \res ->
   peek  a1'>>= \a1'' -> 
   return (a1'')
-{-# LINE 216 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
+{-# LINE 220 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_construct"
@@ -553,6 +590,9 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_shutdownAll"
   shutdownAll'_ :: ((HG3DClassPtr) -> (IO ()))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_getSingleton"
+  getSingleton'_ :: ((HG3DClassPtr) -> (IO ()))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_getSingletonPtr"
   getSingletonPtr'_ :: ((HG3DClassPtr) -> (IO ()))
HGamer3D/Bindings/Ogre/ClassResourceManager.hs view
@@ -94,7 +94,8 @@   return (a2'')
 {-# LINE 62 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceManager.chs" #-}
 
--- | Unloads a single resource by name. Unloaded resources are not removed, they simply free up their memory as much as they can and wait to be reloaded. ResourceGroupManager
+-- | Unloads a single resource by name.
+--Unloaded resources are not removed, they simply free up their memory as much as they can and wait to be reloaded. ResourceGroupManager
 unload :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO ()
@@ -106,7 +107,8 @@   return ()
 {-# LINE 67 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceManager.chs" #-}
 
--- | Unloads all resources. Unloaded resources are not removed, they simply free up their memory as much as they can and wait to be reloaded. ResourceGroupManagerResource::isReloadable
+-- | Unloads all resources.
+--Unloaded resources are not removed, they simply free up their memory as much as they can and wait to be reloaded. ResourceGroupManagerResource::isReloadable
 unloadAll :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ reloadableOnly - If true (the default), only unload the resource that is reloadable. Because some resources isn't reloadable, they will be unloaded but can't load them later. Thus, you might not want to them unloaded. Or, you might unload all of them, and then populate them manually later. 
   ->  IO ()
@@ -118,7 +120,8 @@   return ()
 {-# LINE 72 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceManager.chs" #-}
 
--- | Caused all currently loaded resources to be reloaded. All resources currently being held in this manager which are also marked as currently loaded will be unloaded, then loaded again. Resource::isReloadable
+-- | Caused all currently loaded resources to be reloaded.
+--All resources currently being held in this manager which are also marked as currently loaded will be unloaded, then loaded again. Resource::isReloadable
 reloadAll :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ reloadableOnly - If true (the default), only reload the resource that is reloadable. Because some resources isn't reloadable, they will be unloaded but can't loaded again. Thus, you might not want to them unloaded. Or, you might unload all of them, and then populate them manually later. 
   ->  IO ()
@@ -130,7 +133,8 @@   return ()
 {-# LINE 77 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceManager.chs" #-}
 
--- | Unload all resources which are not referenced by any other object. This method behaves like unloadAll, except that it only unloads resources which are not in use, ie not referenced by other objects. This allows you to free up some memory selectively whilst still keeping the group around (and the resources present, just not using much memory). Some referenced resource may exists 'weak' pointer to their sub-components (e.g. Entity
+-- | Unload all resources which are not referenced by any other object.
+--This method behaves like unloadAll, except that it only unloads resources which are not in use, ie not referenced by other objects. This allows you to free up some memory selectively whilst still keeping the group around (and the resources present, just not using much memory). Some referenced resource may exists 'weak' pointer to their sub-components (e.g. Entity
 unloadUnreferencedResources :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ reloadableOnly - If true (the default), only unloads resources which can be subsequently automatically reloaded. 
   ->  IO ()
@@ -142,7 +146,9 @@   return ()
 {-# LINE 82 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceManager.chs" #-}
 
--- | Caused all currently loaded but not referenced by any other object resources to be reloaded. This method behaves like reloadAll, except that it only reloads resources which are not in use, i.e. not referenced by other objects. Some referenced resource may exists 'weak' pointer to their sub-components (e.g. Entity
+-- | Caused all currently loaded but not referenced by any other object
+--resources to be reloaded.
+--This method behaves like reloadAll, except that it only reloads resources which are not in use, i.e. not referenced by other objects. Some referenced resource may exists 'weak' pointer to their sub-components (e.g. Entity
 reloadUnreferencedResources :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ reloadableOnly - If true (the default), only reloads resources which can be subsequently automatically reloaded. 
   ->  IO ()
@@ -154,7 +160,8 @@   return ()
 {-# LINE 87 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceManager.chs" #-}
 
--- | Remove a single resource by name. Removes a single resource, meaning it will be removed from the list of valid resources in this manager, also causing it to be unloaded. The word 'Destroy' is not used here, since if any other pointers are referring to this resource, it will persist until they have finished with it; however to all intents and purposes it no longer exists and will likely get destroyed imminently. 
+-- | Remove a single resource by name.
+--Removes a single resource, meaning it will be removed from the list of valid resources in this manager, also causing it to be unloaded. The word 'Destroy' is not used here, since if any other pointers are referring to this resource, it will persist until they have finished with it; however to all intents and purposes it no longer exists and will likely get destroyed imminently. 
 --If you do have shared pointers to resources hanging around after the ResourceManager
 remove2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
@@ -167,7 +174,8 @@   return ()
 {-# LINE 92 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceManager.chs" #-}
 
--- | Removes all resources. The word 'Destroy' is not used here, since if any other pointers are referring to these resources, they will persist until they have been finished with; however to all intents and purposes the resources no longer exist and will get destroyed imminently. 
+-- | Removes all resources.
+--The word 'Destroy' is not used here, since if any other pointers are referring to these resources, they will persist until they have been finished with; however to all intents and purposes the resources no longer exist and will get destroyed imminently. 
 --If you do have shared pointers to resources hanging around after the ResourceManager
 removeAll :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
@@ -178,7 +186,8 @@   return ()
 {-# LINE 96 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceManager.chs" #-}
 
--- | Remove all resources which are not referenced by any other object. This method behaves like removeAll, except that it only removes resources which are not in use, ie not referenced by other objects. This allows you to free up some memory selectively whilst still keeping the group around (and the resources present, just not using much memory). Some referenced resource may exists 'weak' pointer to their sub-components (e.g. Entity
+-- | Remove all resources which are not referenced by any other object.
+--This method behaves like removeAll, except that it only removes resources which are not in use, ie not referenced by other objects. This allows you to free up some memory selectively whilst still keeping the group around (and the resources present, just not using much memory). Some referenced resource may exists 'weak' pointer to their sub-components (e.g. Entity
 removeUnreferencedResources :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ reloadableOnly - If true (the default), only removes resources which can be subsequently automatically reloaded. 
   ->  IO ()
@@ -204,7 +213,8 @@   return (a3'')
 {-# LINE 107 ".\\HGamer3D\\Bindings\\Ogre\\ClassResourceManager.chs" #-}
 
--- | Gets the relative loading order of resources of this type. There are dependencies between some kinds of resource in terms of loading order, and this value enumerates that. Higher values load later during bulk loading tasks. 
+-- | Gets the relative loading order of resources of this type.
+--There are dependencies between some kinds of resource in terms of loading order, and this value enumerates that. Higher values load later during bulk loading tasks. 
 getLoadingOrder :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Float)
  -- ^ 
HGamer3D/Bindings/Ogre/ClassRoot.hs view
@@ -50,7 +50,8 @@ import HGamer3D.Bindings.Ogre.StructColour
 {-# LINE 43 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Constructor 
+-- | Constructor
+--
 new :: String  -- ^ pluginFileName - The file that contains plugins information. Defaults to "plugins.cfg", may be left blank to ignore. 
   ->  String  -- ^ configFileName - The file that contains the configuration to be loaded. Defaults to "ogre.cfg", may be left blank to load nothing. 
   ->  String  -- ^ logFileName - The logfile to create, defaults to Ogre.log, may be left blank if you've already set up LogManager & Log yourself 
@@ -203,7 +204,8 @@   return (a2'')
 {-# LINE 108 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Set whether the entire render queue structure should be emptied on clearing, or whether just the objects themselves should be cleared. 
+-- | Set whether the entire render queue structure should be emptied on clearing, 
+--
 setRemoveRenderQueueStructuresOnClear :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ r
   ->  IO ()
@@ -215,7 +217,9 @@   return ()
 {-# LINE 113 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Register a new SceneManagerFactoryPlugins should call this to register as new SceneManager
+-- | Register a new SceneManagerFactory, a factory object for creating instances
+--of specific SceneManagers. 
+--Plugins should call this to register as new SceneManager
 addSceneManagerFactory :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ fact
   ->  IO ()
@@ -239,7 +243,8 @@   return ()
 {-# LINE 123 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Create a SceneManagerYou can use this method to create a SceneManagerThis method throws an exception if the named type is not found. 
+-- | Create a SceneManager instance of a given type.
+--You can use this method to create a SceneManagerThis method throws an exception if the named type is not found. 
 createSceneManager :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ typeName - String identifying a unique SceneManager type 
   ->  String  -- ^ instanceName - Optional name to given the new instance that is created. If you leave this blank, an auto name will be assigned. 
@@ -267,7 +272,9 @@   return ()
 {-# LINE 135 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Get an existing SceneManager
+-- | Get an existing SceneManager instance that has already been created,
+--identified by the instance name.
+--
 getSceneManager :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ instanceName - The name of the instance to retrieve. 
   ->  IO (HG3DClass)
@@ -281,7 +288,8 @@   return (a3'')
 {-# LINE 141 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Determines if a given SceneManager
+-- | Determines if a given SceneManager already exists
+--
 hasSceneManager :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ instanceName - The name of the instance to retrieve. 
   ->  IO (Bool)
@@ -356,7 +364,8 @@   return ()
 {-# LINE 171 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Render one frame. Updates all the render targets automatically and then returns, raising frame events before and after. 
+-- | Render one frame. 
+--Updates all the render targets automatically and then returns, raising frame events before and after. 
 renderOneFrame :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -368,7 +377,8 @@   return (a2'')
 {-# LINE 176 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Render one frame, with custom frame time information. Updates all the render targets automatically and then returns, raising frame events before and after - all per-frame times are based on the time value you pass in. 
+-- | Render one frame, with custom frame time information. 
+--Updates all the render targets automatically and then returns, raising frame events before and after - all per-frame times are based on the time value you pass in. 
 renderOneFrame2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ timeSinceLastFrame
   ->  IO (Bool)
@@ -410,7 +420,8 @@   return ()
 {-# LINE 194 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Removes a resource location from the list. addResourceLocation
+-- | Removes a resource location from the list.
+--addResourceLocation
 removeResourceLocation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name of the resource location as specified in addResourceLocation 
   ->  String  -- ^ groupName - The name of the resource group to which this location was assigned. 
@@ -424,7 +435,9 @@   return ()
 {-# LINE 200 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Generates a packed data version of the passed in ColourValue suitable for use with the current RenderSystemSince different render systems have different colour data formats (eg RGBA for GL, ARGB for D3D) this method allows you to use 1 method for all. 
+-- | Generates a packed data version of the passed in ColourValue suitable for
+--use with the current RenderSystem.
+--Since different render systems have different colour data formats (eg RGBA for GL, ARGB for D3D) this method allows you to use 1 method for all. 
 convertColourValue :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Colour  -- ^ colour - The colour to convert 
   ->  IO (Int)
@@ -450,29 +463,35 @@   return (a2'')
 {-# LINE 211 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Detaches a RenderTarget
+-- | Detaches a RenderTarget from the active render system
+--If the render target cannot be found, NULL is returned. 
 detachRenderTarget :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ pWin
-  ->  IO ()
+  ->  IO (HG3DClass)
  -- ^ 
 detachRenderTarget a1 a2 =
   withHG3DClass a1 $ \a1' -> 
   withHG3DClass a2 $ \a2' -> 
-  detachRenderTarget'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 216 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+  alloca $ \a3' -> 
+  detachRenderTarget'_ a1' a2' a3' >>= \res ->
+  peek  a3'>>= \a3'' -> 
+  return (a3'')
+{-# LINE 217 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Detaches a named RenderTarget
+-- | Detaches a named RenderTarget from the active render system
+--If the render target cannot be found, NULL is returned. 
 detachRenderTarget2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
-  ->  IO ()
+  ->  IO (HG3DClass)
  -- ^ 
 detachRenderTarget2 a1 a2 =
   withHG3DClass a1 $ \a1' -> 
   withCString a2 $ \a2' -> 
-  detachRenderTarget2'_ a1' a2' >>= \res ->
-  return ()
-{-# LINE 221 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+  alloca $ \a3' -> 
+  detachRenderTarget2'_ a1' a2' a3' >>= \res ->
+  peek  a3'>>= \a3'' -> 
+  return (a3'')
+{-# LINE 223 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
 -- | Destroys the given RenderTarget
 destroyRenderTarget :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -484,7 +503,7 @@   withHG3DClass a2 $ \a2' -> 
   destroyRenderTarget'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 226 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+{-# LINE 228 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
 -- | Destroys the given named RenderTarget
 destroyRenderTarget2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -496,9 +515,9 @@   withCString a2 $ \a2' -> 
   destroyRenderTarget2'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 231 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+{-# LINE 233 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Retrieves a pointer to the a named render window. 
+-- | Retrieves a pointer to a named render target. 
 getRenderTarget :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO (HG3DClass)
@@ -510,9 +529,10 @@   getRenderTarget'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 237 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+{-# LINE 239 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Manually load a Plugin contained in a DLL / DSO. Plugins embedded in DLLs can be loaded at startup using the plugin configuration file specified when you create RootRoot::installPluginRoot::unloadPlugin
+-- | Manually load a Plugin contained in a DLL / DSO.
+--Plugins embedded in DLLs can be loaded at startup using the plugin configuration file specified when you create RootRoot::installPluginRoot::unloadPlugin
 loadPlugin :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ pluginName - Name of the plugin library to load 
   ->  IO ()
@@ -522,9 +542,10 @@   withCString a2 $ \a2' -> 
   loadPlugin'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 242 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+{-# LINE 244 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Manually unloads a Plugin contained in a DLL / DSO. Plugin DLLs are unloaded at shutdown automatically. This method allows you to unload plugins in code, but make sure their dependencies are decoupled first. This method will call the dllStopPlugin method defined in the DLL, which in turn should call Root::uninstallPlugin
+-- | Manually unloads a Plugin contained in a DLL / DSO.
+--Plugin DLLs are unloaded at shutdown automatically. This method allows you to unload plugins in code, but make sure their dependencies are decoupled first. This method will call the dllStopPlugin method defined in the DLL, which in turn should call Root::uninstallPlugin
 unloadPlugin :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ pluginName - Name of the plugin library to unload 
   ->  IO ()
@@ -534,9 +555,10 @@   withCString a2 $ \a2' -> 
   unloadPlugin'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 247 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+{-# LINE 249 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Destroy a RenderQueueInvocationSequence. You must ensure that no Viewports are using this sequence. 
+-- | Destroy a RenderQueueInvocationSequence. 
+--You must ensure that no Viewports are using this sequence. 
 destroyRenderQueueInvocationSequence :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name to identify the sequence 
   ->  IO ()
@@ -546,9 +568,10 @@   withCString a2 $ \a2' -> 
   destroyRenderQueueInvocationSequence'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 252 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+{-# LINE 254 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Destroy all RenderQueueInvocationSequences. You must ensure that no Viewports are using custom sequences. 
+-- | Destroy all RenderQueueInvocationSequences. 
+--You must ensure that no Viewports are using custom sequences. 
 destroyAllRenderQueueInvocationSequences :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -556,9 +579,10 @@   withHG3DClass a1 $ \a1' -> 
   destroyAllRenderQueueInvocationSequences'_ a1' >>= \res ->
   return ()
-{-# LINE 256 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+{-# LINE 258 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Clears the history of all event times. OGRE stores a history of the last few event times in order to smooth out any inaccuracies and temporary fluctuations. However, if you pause or don't render for a little while this can cause a lurch, so if you're resuming rendering after a break, call this method to reset the stored times 
+-- | Clears the history of all event times. 
+--OGRE stores a history of the last few event times in order to smooth out any inaccuracies and temporary fluctuations. However, if you pause or don't render for a little while this can cause a lurch, so if you're resuming rendering after a break, call this method to reset the stored times 
 clearEventTimes :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -566,9 +590,10 @@   withHG3DClass a1 $ \a1' -> 
   clearEventTimes'_ a1' >>= \res ->
   return ()
-{-# LINE 260 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+{-# LINE 262 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Sets the period over which OGRE smooths out fluctuations in frame times. OGRE by default gives you the raw frame time, but can optionally smooths it out over several frames, in order to reduce the noticeable effect of occasional hiccups in framerate. These smoothed values are passed back as parameters to FrameListener calls. This method allow you to tweak the smoothing period, and is expressed in seconds. Setting it to 0 will result in completely unsmoothed frame times (the default). 
+-- | Sets the period over which OGRE smooths out fluctuations in frame times.
+--OGRE by default gives you the raw frame time, but can optionally smooths it out over several frames, in order to reduce the noticeable effect of occasional hiccups in framerate. These smoothed values are passed back as parameters to FrameListener calls. This method allow you to tweak the smoothing period, and is expressed in seconds. Setting it to 0 will result in completely unsmoothed frame times (the default). 
 setFrameSmoothingPeriod :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ period
   ->  IO ()
@@ -578,7 +603,7 @@   let {a2' = realToFrac a2} in 
   setFrameSmoothingPeriod'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 265 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+{-# LINE 267 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
 -- | Gets the period over which OGRE smooths out fluctuations in frame times. 
 getFrameSmoothingPeriod :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -590,9 +615,11 @@   getFrameSmoothingPeriod'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 270 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+{-# LINE 272 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Register a new MovableObjectFactoryMovableObjectPlugin creators can create subclasses of MovableObjectFactoryMovableObject
+-- | Register a new MovableObjectFactory which will create new MovableObject
+--instances of a particular type, as identified by the getType() method.
+--Plugin creators can create subclasses of MovableObjectFactoryMovableObject
 addMovableObjectFactory :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ fact - Pointer to the factory instance 
   ->  Bool  -- ^ overrideExisting - Set this to true to override any existing factories which are registered for the same type. You should only change this if you are very sure you know what you're doing. 
@@ -604,9 +631,10 @@   let {a3' = fromBool a3} in 
   addMovableObjectFactory'_ a1' a2' a3' >>= \res ->
   return ()
-{-# LINE 276 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+{-# LINE 278 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
--- | Removes a previously registered MovableObjectFactoryAll instances of objects created by this factory will be destroyed before removing the factory (by calling back the factories 'destroyInstance' method). The plugin writer is responsible for actually destroying the factory. 
+-- | Removes a previously registered MovableObjectFactory.
+--All instances of objects created by this factory will be destroyed before removing the factory (by calling back the factories 'destroyInstance' method). The plugin writer is responsible for actually destroying the factory. 
 removeMovableObjectFactory :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ fact
   ->  IO ()
@@ -616,7 +644,7 @@   withHG3DClass a2 $ \a2' -> 
   removeMovableObjectFactory'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 281 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+{-# LINE 283 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
 -- | Checks whether a factory is registered for a given MovableObject
 hasMovableObjectFactory :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -630,7 +658,7 @@   hasMovableObjectFactory'_ a1' a2' a3' >>= \res ->
   peekBoolUtil  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 287 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+{-# LINE 289 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
 -- | Get a MovableObjectFactory
 getMovableObjectFactory :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -644,7 +672,7 @@   getMovableObjectFactory'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 293 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+{-# LINE 295 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
 -- | Gets the number of display monitors. 
 getDisplayMonitorCount :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -656,9 +684,99 @@   getDisplayMonitorCount'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 298 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+{-# LINE 300 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
+-- | Sets whether blend indices information needs to be passed to the GPU.
+--When entities use software animation they remove blend information such as
+--indices and weights from the vertex buffers sent to the graphic card. This function
+--can be used to limit which information is removed.
+--
+setBlendIndicesGpuRedundant :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Bool  -- ^ redundant - Set to true to remove blend indices information. 
+  ->  IO ()
+ -- ^ 
+setBlendIndicesGpuRedundant a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = fromBool a2} in 
+  setBlendIndicesGpuRedundant'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 305 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+
+-- | Returns whether blend indices information needs to be passed to the GPU
+--setBlendIndicesGpuRedundant()
+isBlendIndicesGpuRedundant :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Bool)
+ -- ^ 
+isBlendIndicesGpuRedundant a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  isBlendIndicesGpuRedundant'_ a1' a2' >>= \res ->
+  peekBoolUtil  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 310 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+
+-- | Sets whether blend weights information needs to be passed to the GPU.
+--
+setBlendWeightsGpuRedundant :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Bool  -- ^ redundant - Set to true to remove blend weights information. 
+  ->  IO ()
+ -- ^ 
+setBlendWeightsGpuRedundant a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = fromBool a2} in 
+  setBlendWeightsGpuRedundant'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 315 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+
+-- | Returns whether blend weights information needs to be passed to the GPU
+--setBlendWeightsGpuRedundant()
+isBlendWeightsGpuRedundant :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Bool)
+ -- ^ 
+isBlendWeightsGpuRedundant a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  isBlendWeightsGpuRedundant'_ a1' a2' >>= \res ->
+  peekBoolUtil  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 320 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+
+-- | Set the default minimum pixel size for object to be rendered by
+--To use this feature see Camera::setUseMinPixelSize()
+setDefaultMinPixelSize :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Float  -- ^ pixelSize
+  ->  IO ()
+ -- ^ 
+setDefaultMinPixelSize a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = realToFrac a2} in 
+  setDefaultMinPixelSize'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 325 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+
+-- | Get the default minimum pixel size for object to be rendered by 
+getDefaultMinPixelSize :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Float)
+ -- ^ 
+getDefaultMinPixelSize a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getDefaultMinPixelSize'_ a1' a2' >>= \res ->
+  peekFloatConv  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 330 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+
 -- | Override standard Singleton retrieval. Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
+getSingleton :: IO (HG3DClass)
+ -- ^ 
+getSingleton =
+  alloca $ \a1' -> 
+  getSingleton'_ a1' >>= \res ->
+  peek  a1'>>= \a1'' -> 
+  return (a1'')
+{-# LINE 334 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+
+-- | Override standard Singleton retrieval. Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
 getSingletonPtr :: IO (HG3DClass)
  -- ^ 
 getSingletonPtr =
@@ -666,7 +784,7 @@   getSingletonPtr'_ a1' >>= \res ->
   peek  a1'>>= \a1'' -> 
   return (a1'')
-{-# LINE 302 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
+{-# LINE 338 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_construct"
@@ -763,10 +881,10 @@   getAutoCreatedWindow'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_detachRenderTarget"
-  detachRenderTarget'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
+  detachRenderTarget'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_detachRenderTarget2"
-  detachRenderTarget2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
+  detachRenderTarget2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_destroyRenderTarget"
   destroyRenderTarget'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
@@ -812,6 +930,27 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getDisplayMonitorCount"
   getDisplayMonitorCount'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_setBlendIndicesGpuRedundant"
+  setBlendIndicesGpuRedundant'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_isBlendIndicesGpuRedundant"
+  isBlendIndicesGpuRedundant'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_setBlendWeightsGpuRedundant"
+  setBlendWeightsGpuRedundant'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_isBlendWeightsGpuRedundant"
+  isBlendWeightsGpuRedundant'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_setDefaultMinPixelSize"
+  setDefaultMinPixelSize'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getDefaultMinPixelSize"
+  getDefaultMinPixelSize'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getSingleton"
+  getSingleton'_ :: ((HG3DClassPtr) -> (IO ()))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getSingletonPtr"
   getSingletonPtr'_ :: ((HG3DClassPtr) -> (IO ()))
HGamer3D/Bindings/Ogre/ClassSceneManager.hs view
@@ -47,17 +47,17 @@ {-# LINE 41 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 import HGamer3D.Bindings.Ogre.StructHG3DClass
 {-# LINE 42 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
-import HGamer3D.Bindings.Ogre.EnumSceneManagerPrefabType
+import HGamer3D.Bindings.Ogre.StructSharedPtr
 {-# LINE 43 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
-import HGamer3D.Bindings.Ogre.StructColour
+import HGamer3D.Bindings.Ogre.EnumSceneManagerPrefabType
 {-# LINE 44 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
-import HGamer3D.Bindings.Ogre.StructQuaternion
+import HGamer3D.Bindings.Ogre.StructColour
 {-# LINE 45 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
-import HGamer3D.Bindings.Ogre.EnumSceneManagerSpecialCaseRenderQueueMode
+import HGamer3D.Bindings.Ogre.StructQuaternion
 {-# LINE 46 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
-import HGamer3D.Bindings.Ogre.EnumLightType
+import HGamer3D.Bindings.Ogre.EnumSceneManagerSpecialCaseRenderQueueMode
 {-# LINE 47 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
-import HGamer3D.Bindings.Ogre.StructSharedPtr
+import HGamer3D.Bindings.Ogre.EnumLightType
 {-# LINE 48 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Default destructor. 
@@ -70,7 +70,9 @@   return ()
 {-# LINE 53 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Mutex to protect the scene graph from simultaneous access from multiple threads. If you are updating the scene in a separate thread from the rendering thread, then you should lock this mutex before making any changes to the scene graph - that means creating, modifying or deleting a scene node, or attaching / detaching objects. It is yourNote that locking this mutex will prevent the scene being rendered until it is unlocked again. Therefore you should do this sparingly. Try to create any objects you need separately and fully prepare them before doing all your scene graph work in one go, thus keeping this lock for the shortest time possible. A single global lock is used rather than a per-node lock since it keeps the number of locks required during rendering down to a minimum. Obtaining a lock, even if there is no contention, is not free so for performance it is good to do it as little as possible. Since modifying the scene in a separate thread is a fairly rare occurrence (relative to rendering), it is better to keep the locking required during rendering lower than to make update locks more granular. Return the instance name of this SceneManager
+-- | Mutex to protect the scene graph from simultaneous access from
+--multiple threads.
+--If you are updating the scene in a separate thread from the rendering thread, then you should lock this mutex before making any changes to the scene graph - that means creating, modifying or deleting a scene node, or attaching / detaching objects. It is yourNote that locking this mutex will prevent the scene being rendered until it is unlocked again. Therefore you should do this sparingly. Try to create any objects you need separately and fully prepare them before doing all your scene graph work in one go, thus keeping this lock for the shortest time possible. A single global lock is used rather than a per-node lock since it keeps the number of locks required during rendering down to a minimum. Obtaining a lock, even if there is no contention, is not free so for performance it is good to do it as little as possible. Since modifying the scene in a separate thread is a fairly rare occurrence (relative to rendering), it is better to keep the locking required during rendering lower than to make update locks more granular.Return the instance name of this SceneManager
 getName :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (String)
  -- ^ 
@@ -82,7 +84,8 @@   return (a2'')
 {-# LINE 58 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Retrieve the type name of this scene manager. This method has to be implemented by subclasses. It should return the type name of this SceneManagerSceneManagerFactory
+-- | Retrieve the type name of this scene manager.
+--This method has to be implemented by subclasses. It should return the type name of this SceneManagerSceneManagerFactory
 getTypeName :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (String)
  -- ^ 
@@ -108,7 +111,8 @@   return (a3'')
 {-# LINE 69 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Retrieves a pointer to the named camera. Throws an exception if the named instance does not exist 
+-- | Retrieves a pointer to the named camera.
+--Throws an exception if the named instance does not exist 
 getCamera :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO (HG3DClass)
@@ -196,7 +200,8 @@   return (a2'')
 {-# LINE 106 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Returns a pointer to the named LightThrows an exception if the named instance does not exist 
+-- | Returns a pointer to the named Light which has previously been added to the scene.
+--Throws an exception if the named instance does not exist 
 getLight :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO (HG3DClass)
@@ -284,7 +289,8 @@   return (a3'')
 {-# LINE 143 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Destroys a SceneNodeThis allows you to physically delete an individual SceneNodeSceneManager
+-- | Destroys a SceneNode with a given name.
+--This allows you to physically delete an individual SceneNodeSceneManager
 destroySceneNode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO ()
@@ -296,7 +302,8 @@   return ()
 {-# LINE 148 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Destroys a SceneNodeThis allows you to physically delete an individual SceneNodeSceneManager
+-- | Destroys a SceneNode.
+--This allows you to physically delete an individual SceneNodeSceneManager
 destroySceneNode2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ sn
   ->  IO ()
@@ -320,7 +327,8 @@   return (a2'')
 {-# LINE 158 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Retrieves a named SceneNodeIf you chose to name a SceneNodeThrows an exception if the named instance does not exist 
+-- | Retrieves a named SceneNode from the scene graph.
+--If you chose to name a SceneNodeThrows an exception if the named instance does not exist 
 getSceneNode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO (HG3DClass)
@@ -368,49 +376,80 @@ 
 -- | Create an Entity
 createEntity2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  String  -- ^ entityName - The name to be given to the entity (must be unique). 
+  ->  SharedPtr  -- ^ pMesh - The pointer to the Mesh it is to be based on. 
+  ->  IO (HG3DClass)
+ -- ^ 
+createEntity2 a1 a2 a3 =
+  withHG3DClass a1 $ \a1' -> 
+  withCString a2 $ \a2' -> 
+  withSharedPtr a3 $ \a3' -> 
+  alloca $ \a4' -> 
+  createEntity2'_ a1' a2' a3' a4' >>= \res ->
+  peek  a4'>>= \a4'' -> 
+  return (a4'')
+{-# LINE 185 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+
+-- | Create an Entity
+createEntity3 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ meshName - The name of the Mesh it is to be based on (e.g. 'knot.oof'). The mesh will be loaded if it is not already. 
   ->  IO (HG3DClass)
  -- ^ 
-createEntity2 a1 a2 =
+createEntity3 a1 a2 =
   withHG3DClass a1 $ \a1' -> 
   withCString a2 $ \a2' -> 
   alloca $ \a3' -> 
-  createEntity2'_ a1' a2' a3' >>= \res ->
+  createEntity3'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 184 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 191 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Create an Entity
-createEntity3 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+createEntity4 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  SharedPtr  -- ^ pMesh - The pointer to the Mesh it is to be based on. 
+  ->  IO (HG3DClass)
+ -- ^ 
+createEntity4 a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  withSharedPtr a2 $ \a2' -> 
+  alloca $ \a3' -> 
+  createEntity4'_ a1' a2' a3' >>= \res ->
+  peek  a3'>>= \a3'' -> 
+  return (a3'')
+{-# LINE 197 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+
+-- | Create an Entity
+createEntity5 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ entityName - The name to be given to the entity (must be unique). 
   ->  EnumSceneManagerPrefabType  -- ^ ptype - The prefab type. 
   ->  IO (HG3DClass)
  -- ^ 
-createEntity3 a1 a2 a3 =
+createEntity5 a1 a2 a3 =
   withHG3DClass a1 $ \a1' -> 
   withCString a2 $ \a2' -> 
   let {a3' = cIntFromEnum a3} in 
   alloca $ \a4' -> 
-  createEntity3'_ a1' a2' a3' a4' >>= \res ->
+  createEntity5'_ a1' a2' a3' a4' >>= \res ->
   peek  a4'>>= \a4'' -> 
   return (a4'')
-{-# LINE 191 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 204 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Create an Entity
-createEntity4 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+createEntity6 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  EnumSceneManagerPrefabType  -- ^ ptype - The prefab type. 
   ->  IO (HG3DClass)
  -- ^ 
-createEntity4 a1 a2 =
+createEntity6 a1 a2 =
   withHG3DClass a1 $ \a1' -> 
   let {a2' = cIntFromEnum a2} in 
   alloca $ \a3' -> 
-  createEntity4'_ a1' a2' a3' >>= \res ->
+  createEntity6'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 197 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 210 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Retrieves a pointer to the named EntityThrows an exception if the named instance does not exist 
+-- | Retrieves a pointer to the named Entity. 
+--Throws an exception if the named instance does not exist 
 getEntity :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO (HG3DClass)
@@ -422,7 +461,7 @@   getEntity'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 203 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 216 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Returns whether an entity with the given name exists. 
 hasEntity :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -436,7 +475,7 @@   hasEntity'_ a1' a2' a3' >>= \res ->
   peekBoolUtil  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 209 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 222 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Removes & destroys an EntitySceneManagerMust only be done if the EntitySceneNodeSceneManager::clearScene
 destroyEntity :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -448,7 +487,7 @@   withHG3DClass a2 $ \a2' -> 
   destroyEntity'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 214 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 227 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Removes & destroys an EntitySceneManagerMust only be done if the EntitySceneNodeSceneManager::clearScene
 destroyEntity2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -460,7 +499,7 @@   withCString a2 $ \a2' -> 
   destroyEntity2'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 219 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 232 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Removes & destroys all Entities. Again, use caution since no EntitySceneNodeSceneNodeSceneManager::clearScene
 destroyAllEntities :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -470,9 +509,11 @@   withHG3DClass a1 $ \a1' -> 
   destroyAllEntities'_ a1' >>= \res ->
   return ()
-{-# LINE 223 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 236 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Create a ManualObject
+-- | Create a ManualObject, an object which you populate with geometry
+--manually through a GL immediate-mode style interface.
+--
 createManualObject :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name to be given to the object (must be unique). 
   ->  IO (HG3DClass)
@@ -484,9 +525,10 @@   createManualObject'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 229 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 242 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Create a ManualObject
+-- | Create a ManualObject, an object which you populate with geometry
+--
 createManualObject2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (HG3DClass)
  -- ^ 
@@ -496,9 +538,10 @@   createManualObject2'_ a1' a2' >>= \res ->
   peek  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 234 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 247 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Retrieves a pointer to the named ManualObjectThrows an exception if the named instance does not exist 
+-- | Retrieves a pointer to the named ManualObject. 
+--Throws an exception if the named instance does not exist 
 getManualObject :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO (HG3DClass)
@@ -510,7 +553,7 @@   getManualObject'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 240 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 253 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Returns whether a manual object with the given name exists. 
 hasManualObject :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -524,7 +567,7 @@   hasManualObject'_ a1' a2' a3' >>= \res ->
   peekBoolUtil  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 246 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 259 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Removes & destroys a ManualObjectSceneManager
 destroyManualObject :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -536,7 +579,7 @@   withHG3DClass a2 $ \a2' -> 
   destroyManualObject'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 251 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 264 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Removes & destroys a ManualObjectSceneManager
 destroyManualObject2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -548,7 +591,7 @@   withCString a2 $ \a2' -> 
   destroyManualObject2'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 256 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 269 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Removes & destroys all ManualObjects from the SceneManager
 destroyAllManualObjects :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -558,9 +601,11 @@   withHG3DClass a1 $ \a1' -> 
   destroyAllManualObjects'_ a1' >>= \res ->
   return ()
-{-# LINE 260 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 273 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Create a BillboardChain
+-- | Create a BillboardChain, an object which you can use to render
+--a linked chain of billboards.
+--
 createBillboardChain :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name to be given to the object (must be unique). 
   ->  IO (HG3DClass)
@@ -572,9 +617,10 @@   createBillboardChain'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 266 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 279 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Create a BillboardChain
+-- | Create a BillboardChain, an object which you can use to render
+--
 createBillboardChain2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (HG3DClass)
  -- ^ 
@@ -584,9 +630,10 @@   createBillboardChain2'_ a1' a2' >>= \res ->
   peek  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 271 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 284 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Retrieves a pointer to the named BillboardChainThrows an exception if the named instance does not exist 
+-- | Retrieves a pointer to the named BillboardChain. 
+--Throws an exception if the named instance does not exist 
 getBillboardChain :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO (HG3DClass)
@@ -598,7 +645,7 @@   getBillboardChain'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 277 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 290 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Returns whether a billboard chain with the given name exists. 
 hasBillboardChain :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -612,7 +659,7 @@   hasBillboardChain'_ a1' a2' a3' >>= \res ->
   peekBoolUtil  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 283 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 296 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Removes & destroys a BillboardChainSceneManager
 destroyBillboardChain :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -624,7 +671,7 @@   withHG3DClass a2 $ \a2' -> 
   destroyBillboardChain'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 288 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 301 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Removes & destroys a BillboardChainSceneManager
 destroyBillboardChain2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -636,7 +683,7 @@   withCString a2 $ \a2' -> 
   destroyBillboardChain2'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 293 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 306 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Removes & destroys all BillboardChains from the SceneManager
 destroyAllBillboardChains :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -646,7 +693,7 @@   withHG3DClass a1 $ \a1' -> 
   destroyAllBillboardChains'_ a1' >>= \res ->
   return ()
-{-# LINE 297 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 310 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Returns whether a ribbon trail with the given name exists. 
 hasRibbonTrail :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -660,7 +707,7 @@   hasRibbonTrail'_ a1' a2' a3' >>= \res ->
   peekBoolUtil  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 303 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 316 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Removes & destroys a RibbonTrail from the SceneManager
 destroyRibbonTrail2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -672,7 +719,7 @@   withCString a2 $ \a2' -> 
   destroyRibbonTrail2'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 308 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 321 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Removes & destroys all RibbonTrails from the SceneManager
 destroyAllRibbonTrails :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -682,7 +729,7 @@   withHG3DClass a1 $ \a1' -> 
   destroyAllRibbonTrails'_ a1' >>= \res ->
   return ()
-{-# LINE 312 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 325 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Returns whether a particle system with the given name exists. 
 hasParticleSystem :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -696,7 +743,7 @@   hasParticleSystem'_ a1' a2' a3' >>= \res ->
   peekBoolUtil  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 318 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 331 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Removes & destroys a ParticleSystem from the SceneManager
 destroyParticleSystem2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -708,7 +755,7 @@   withCString a2 $ \a2' -> 
   destroyParticleSystem2'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 323 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 336 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Removes & destroys all ParticleSystems from the SceneManager
 destroyAllParticleSystems :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -718,7 +765,7 @@   withHG3DClass a1 $ \a1' -> 
   destroyAllParticleSystems'_ a1' >>= \res ->
   return ()
-{-# LINE 327 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 340 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Empties the entire scene, inluding all SceneNodes, Entities, Lights, BillboardSets etc. Cameras are not deleted at this stage since they are still referenced by viewports, which are not destroyed during this process. 
 clearScene :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -728,7 +775,7 @@   withHG3DClass a1 $ \a1' -> 
   clearScene'_ a1' >>= \res ->
   return ()
-{-# LINE 331 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 344 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Sets the ambient light level to be used for the scene. This sets the colour and intensity of the ambient light in the scene, i.e. the light which is 'sourceless' and illuminates all objects equally. The colour of an object is affected by a combination of the light in the scene, and the amount of light that object reflects (in this case based on the Material::ambient property). 
 --By default the ambient light in the scene is ColourValue::Black, i.e. no ambient light. This means that any objects rendered with a MaterialMaterial::setLightingEnabled
@@ -741,7 +788,7 @@   withColour a2 $ \a2' -> 
   setAmbientLight'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 336 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 349 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Returns the ambient light level to be used for the scene. 
 getAmbientLight :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -753,7 +800,7 @@   getAmbientLight'_ a1' a2' >>= \res ->
   peekColour  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 341 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 354 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Sets the source of the 'world' geometry, i.e. the large, mainly static geometry making up the world e.g. rooms, landscape etc. This function can be called before setWorldGeometry in a background thread, do to some slow tasks (e.g. IO) that do not involve the backend render system. Depending on the type of SceneManagerRootSceneManager
 prepareWorldGeometry :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -765,7 +812,7 @@   withCString a2 $ \a2' -> 
   prepareWorldGeometry'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 346 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 359 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Sets the source of the 'world' geometry, i.e. the large, mainly static geometry making up the world e.g. rooms, landscape etc. Depending on the type of SceneManagerRootSceneManager
 setWorldGeometry :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -777,9 +824,11 @@   withCString a2 $ \a2' -> 
   setWorldGeometry'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 351 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 364 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Estimate the number of loading stages required to load the named world geometry. This method should be overridden by SceneManagers that provide custom world geometry that can take some time to load. They should return from this method a count of the number of stages of progress they can report on whilst loading. During real loading (setWorldGeometry), they should call ResourceGroupManager::_notifyWorldGeometryProgress exactly that number of times when loading the geometry for real. The default is to return 0, ie to not report progress. 
+-- | Estimate the number of loading stages required to load the named
+--world geometry. 
+--This method should be overridden by SceneManagers that provide custom world geometry that can take some time to load. They should return from this method a count of the number of stages of progress they can report on whilst loading. During real loading (setWorldGeometry), they should call ResourceGroupManager::_notifyWorldGeometryProgress exactly that number of times when loading the geometry for real. The default is to return 0, ie to not report progress. 
 estimateWorldGeometry :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ filename
   ->  IO (Int)
@@ -791,7 +840,7 @@   estimateWorldGeometry'_ a1' a2' a3' >>= \res ->
   peekIntConv  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 357 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 370 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Method for verifying wether the scene manager has an implementation-specific option. If it does not, false is returned. 
 hasOption :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -805,7 +854,7 @@   hasOption'_ a1' a2' a3' >>= \res ->
   peekBoolUtil  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 363 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 376 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Enables / disables a 'sky plane' 
 setSkyPlaneEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -817,7 +866,7 @@   let {a2' = fromBool a2} in 
   setSkyPlaneEnabled'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 368 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 381 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Return whether a key plane is enabled 
 isSkyPlaneEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -829,7 +878,7 @@   isSkyPlaneEnabled'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 373 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 386 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Get the sky plane node, if enabled. 
 getSkyPlaneNode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -841,7 +890,7 @@   getSkyPlaneNode'_ a1' a2' >>= \res ->
   peek  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 378 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 391 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Enables / disables a 'sky box' i.e. a 6-sided box at constant distance from the camera representing the sky. You could create a sky box yourself using the standard mesh and entity methods, but this creates a plane which the camera can never get closer or further away from - it moves with the camera. (NB you could create this effect by creating a world box which was attached to the same SceneNodeCameraThe material you use for the skybox can either contain layers which are single textures, or they can be cubic textures, i.e. made up of 6 images, one for each plane of the cube. See the TextureUnitState class for more information. 
 setSkyBox :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -863,7 +912,7 @@   withCString a7 $ \a7' -> 
   setSkyBox'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
   return ()
-{-# LINE 388 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 401 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Enables / disables a 'sky box' 
 setSkyBoxEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -875,7 +924,7 @@   let {a2' = fromBool a2} in 
   setSkyBoxEnabled'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 393 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 406 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Return whether a skybox is enabled 
 isSkyBoxEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -887,7 +936,7 @@   isSkyBoxEnabled'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 398 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 411 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Get the skybox node, if enabled. 
 getSkyBoxNode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -899,9 +948,9 @@   getSkyBoxNode'_ a1' a2' >>= \res ->
   peek  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 403 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 416 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Enables / disables a 'sky dome' i.e. an illusion of a curved sky. A sky dome is actually formed by 5 sides of a cube, but with texture coordinates generated such that the surface appears curved like a dome. Sky domes are appropriate where you need a realistic looking sky where the scene is not going to be 'fogged', and there is always a 'floor' of some sort to prevent the viewer looking below the horizon (the distortion effect below the horizon can be pretty horrible, and there is never anyhting directly below the viewer). If you need a complete wrap-around background, use the setSkyBox method instead. You can actually combine a sky box and a sky dome if you want, to give a positional backdrop with an overlayed curved cloud layer. Sky domes work well with 2D repeating textures like clouds. You can change the apparant 'curvature' of the sky depending on how your scene is viewed - lower curvatures are better for 'open' scenes like landscapes, whilst higher curvatures are better for say FPS levels where you don't see a lot of the sky at once and the exaggerated curve looks good. 
+-- | Enables / disables a 'sky dome' i.e. an illusion of a curved sky. A sky dome is actually formed by 5 sides of a cube, but with texture coordinates generated such that the surface appears curved like a dome. Sky domes are appropriate where you need a realistic looking sky where the scene is not going to be 'fogged', and there is always a 'floor' of some sort to prevent the viewer looking below the horizon (the distortion effect below the horizon can be pretty horrible, and there is never anyhting directly below the viewer). If you need a complete wrap-around background, use the setSkyBox method instead. You can actually combine a sky box and a sky dome if you want, to give a positional backdrop with an overlayed curved cloud layer. Sky domes work well with 2D repeating textures like clouds. You can change the apparent 'curvature' of the sky depending on how your scene is viewed - lower curvatures are better for 'open' scenes like landscapes, whilst higher curvatures are better for say FPS levels where you don't see a lot of the sky at once and the exaggerated curve looks good. 
 setSkyDome :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enable - True to enable the skydome, false to disable it 
   ->  String  -- ^ materialName - The name of the material the dome will use 
@@ -931,7 +980,7 @@   withCString a12 $ \a12' -> 
   setSkyDome'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
   return ()
-{-# LINE 418 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 431 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Enables / disables a 'sky dome' 
 setSkyDomeEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -943,7 +992,7 @@   let {a2' = fromBool a2} in 
   setSkyDomeEnabled'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 423 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 436 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Return whether a skydome is enabled 
 isSkyDomeEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -955,7 +1004,7 @@   isSkyDomeEnabled'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 428 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 441 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Get the sky dome node, if enabled. 
 getSkyDomeNode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -967,7 +1016,7 @@   getSkyDomeNode'_ a1' a2' >>= \res ->
   peek  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 433 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 446 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Returns the fog colour for the scene. 
 getFogColour :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -979,7 +1028,7 @@   getFogColour'_ a1' a2' >>= \res ->
   peekColour  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 438 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 451 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Returns the fog start distance for the scene. 
 getFogStart :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -991,7 +1040,7 @@   getFogStart'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 443 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 456 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Returns the fog end distance for the scene. 
 getFogEnd :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1003,7 +1052,7 @@   getFogEnd'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 448 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 461 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Returns the fog density for the scene. 
 getFogDensity :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1015,7 +1064,7 @@   getFogDensity'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 453 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 466 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Creates a new BillboardSetThis method creates a new BillboardSetSceneManagerSceneManagerSceneManager::clearSceneSee the BillboardSetBillboardSet
 createBillboardSet :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1031,7 +1080,7 @@   createBillboardSet'_ a1' a2' a3' a4' >>= \res ->
   peek  a4'>>= \a4'' -> 
   return (a4'')
-{-# LINE 460 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 473 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Creates a new BillboardSetBillboardSet
 createBillboardSet2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1045,9 +1094,10 @@   createBillboardSet2'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 466 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 479 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Retrieves a pointer to the named BillboardSetThrows an exception if the named instance does not exist 
+-- | Retrieves a pointer to the named BillboardSet.
+--Throws an exception if the named instance does not exist 
 getBillboardSet :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO (HG3DClass)
@@ -1059,7 +1109,7 @@   getBillboardSet'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 472 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 485 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Returns whether a billboardset with the given name exists. 
 hasBillboardSet :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1073,7 +1123,7 @@   hasBillboardSet'_ a1' a2' a3' >>= \res ->
   peekBoolUtil  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 478 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 491 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Removes & destroys an BillboardSetSceneManagerMust only be done if the BillboardSetSceneNode
 destroyBillboardSet :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1085,7 +1135,7 @@   withHG3DClass a2 $ \a2' -> 
   destroyBillboardSet'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 483 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 496 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Removes & destroys an BillboardSetSceneManagerMust only be done if the BillboardSetSceneNode
 destroyBillboardSet2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1097,9 +1147,10 @@   withCString a2 $ \a2' -> 
   destroyBillboardSet2'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 488 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 501 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Removes & destroys all BillboardSets. Again, use caution since no BillboardSetSceneNodeSceneNodeSceneManager::clearScene
+-- | Removes & destroys all BillboardSets.
+--Again, use caution since no BillboardSetSceneNodeSceneNodeSceneManager::clearScene
 destroyAllBillboardSets :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -1107,9 +1158,11 @@   withHG3DClass a1 $ \a1' -> 
   destroyAllBillboardSets'_ a1' >>= \res ->
   return ()
-{-# LINE 492 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 505 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Tells the SceneManagerThis method is mainly for debugging purposes. If you set this to 'true', each node will be rendered as a set of 3 axes to allow you to easily see the orientation of the nodes. 
+-- | Tells the SceneManager whether it should render the SceneNodes which 
+--make up the scene as well as the objects in the scene.
+--This method is mainly for debugging purposes. If you set this to 'true', each node will be rendered as a set of 3 axes to allow you to easily see the orientation of the nodes. 
 setDisplaySceneNodes :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ display
   ->  IO ()
@@ -1119,7 +1172,7 @@   let {a2' = fromBool a2} in 
   setDisplaySceneNodes'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 497 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 510 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Returns true if all scene nodes axis are to be displayed 
 getDisplaySceneNodes :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1131,9 +1184,10 @@   getDisplaySceneNodes'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 502 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 515 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Creates an animation which can be used to animate scene nodes. An animation is a collection of 'tracks' which over time change the position / orientation of NodeSceneNodeYou don't need to use an AnimationNodeA single animation can affect multiple NodeAnimationTrackNodeNodeSkeleton::createAnimationNote that whilst it uses the same classes, the animations created here are kept separate from the skeletal animations of meshes (each Skeleton
+-- | Creates an animation which can be used to animate scene nodes.
+--An animation is a collection of 'tracks' which over time change the position / orientation of NodeSceneNodeYou don't need to use an AnimationNodeA single animation can affect multiple NodeAnimationTrackNodeNodeSkeleton::createAnimationNote that whilst it uses the same classes, the animations created here are kept separate from the skeletal animations of meshes (each Skeleton
 createAnimation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name of the animation, must be unique within this SceneManager. 
   ->  Float  -- ^ length - The total length of the animation. 
@@ -1147,9 +1201,10 @@   createAnimation'_ a1' a2' a3' a4' >>= \res ->
   peek  a4'>>= \a4'' -> 
   return (a4'')
-{-# LINE 509 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 522 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Looks up an AnimationThrows an exception if the named instance does not exist 
+-- | Looks up an Animation object previously created with createAnimation. 
+--Throws an exception if the named instance does not exist 
 getAnimation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO (HG3DClass)
@@ -1161,7 +1216,7 @@   getAnimation'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 515 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 528 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Returns whether an animation with the given name exists. 
 hasAnimation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1175,9 +1230,10 @@   hasAnimation'_ a1' a2' a3' >>= \res ->
   peekBoolUtil  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 521 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 534 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Destroys an AnimationYou should ensure that none of your code is referencing this animation objects since the memory will be freed. 
+-- | Destroys an Animation. 
+--You should ensure that none of your code is referencing this animation objects since the memory will be freed. 
 destroyAnimation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO ()
@@ -1187,7 +1243,7 @@   withCString a2 $ \a2' -> 
   destroyAnimation'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 526 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 539 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Removes all animations created using this SceneManager
 destroyAllAnimations :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1197,9 +1253,10 @@   withHG3DClass a1 $ \a1' -> 
   destroyAllAnimations'_ a1' >>= \res ->
   return ()
-{-# LINE 530 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 543 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Create an AnimationStateYou can create AnimationSceneNodeNodeAnimationNode::resetToInitialStateAnimation::applyAnimationStateSceneManagerRemember, AnimationStateNote that any SceneNodeNode::setInitialStateNodeSceneNodeIf the target of your animation is to be a generic AnimableValueAnimableValue::setAsBaseValue
+-- | Create an AnimationState object for managing application of animations.
+--You can create AnimationSceneNodeNodeAnimationNode::resetToInitialStateAnimation::applyAnimationStateSceneManagerRemember, AnimationStateNote that any SceneNodeNode::setInitialStateNodeSceneNodeIf the target of your animation is to be a generic AnimableValueAnimableValue::setAsBaseValue
 createAnimationState :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ animName - The name of an animation created already with createAnimation. 
   ->  IO (HG3DClass)
@@ -1211,9 +1268,10 @@   createAnimationState'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 536 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 549 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Retrieves animation state as previously created using createAnimationState. Throws an exception if the named instance does not exist 
+-- | Retrieves animation state as previously created using createAnimationState. 
+--Throws an exception if the named instance does not exist 
 getAnimationState :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ animName
   ->  IO (HG3DClass)
@@ -1225,7 +1283,7 @@   getAnimationState'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 542 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 555 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Returns whether an animation state with the given name exists. 
 hasAnimationState :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1239,9 +1297,10 @@   hasAnimationState'_ a1' a2' a3' >>= \res ->
   peekBoolUtil  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 548 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 561 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Destroys an AnimationStateYou should ensure that none of your code is referencing this animation state object since the memory will be freed. 
+-- | Destroys an AnimationState. 
+--You should ensure that none of your code is referencing this animation state object since the memory will be freed. 
 destroyAnimationState :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO ()
@@ -1251,7 +1310,7 @@   withCString a2 $ \a2' -> 
   destroyAnimationState'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 553 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 566 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Removes all animation states created using this SceneManager
 destroyAllAnimationStates :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1261,9 +1320,10 @@   withHG3DClass a1 $ \a1' -> 
   destroyAllAnimationStates'_ a1' >>= \res ->
   return ()
-{-# LINE 557 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 570 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Clears the 'special case' render queue list. SceneManager::addSpecialCaseRenderQueue
+-- | Clears the 'special case' render queue list.
+--SceneManager::addSpecialCaseRenderQueue
 clearSpecialCaseRenderQueues :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -1271,9 +1331,10 @@   withHG3DClass a1 $ \a1' -> 
   clearSpecialCaseRenderQueues'_ a1' >>= \res ->
   return ()
-{-# LINE 561 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 574 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Sets the way the special case render queue list is processed. SceneManager::addSpecialCaseRenderQueue
+-- | Sets the way the special case render queue list is processed.
+--SceneManager::addSpecialCaseRenderQueue
 setSpecialCaseRenderQueueMode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  EnumSceneManagerSpecialCaseRenderQueueMode  -- ^ mode - The mode of processing 
   ->  IO ()
@@ -1283,7 +1344,7 @@   let {a2' = cIntFromEnum a2} in 
   setSpecialCaseRenderQueueMode'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 566 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 579 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Gets the way the special case render queue list is processed. 
 getSpecialCaseRenderQueueMode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1295,7 +1356,7 @@   getSpecialCaseRenderQueueMode'_ a1' a2' >>= \res ->
   peekEnumUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 571 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 584 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Allows all bounding boxes of scene nodes to be displayed. 
 showBoundingBoxes :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1307,7 +1368,7 @@   let {a2' = fromBool a2} in 
   showBoundingBoxes'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 576 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 589 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Returns if all bounding boxes of scene nodes are to be displayed 
 getShowBoundingBoxes :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1319,7 +1380,7 @@   getShowBoundingBoxes'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 581 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 594 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Enables / disables the rendering of debug information for shadows. 
 setShowDebugShadows :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1331,7 +1392,7 @@   let {a2' = fromBool a2} in 
   setShowDebugShadows'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 586 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 599 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Are debug shadows shown? 
 getShowDebugShadows :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1343,9 +1404,10 @@   getShowDebugShadows'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 591 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 604 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Set the colour used to modulate areas in shadow. This is only applicable for shadow techniques which involve darkening the area in shadow, as opposed to masking out the light. This colour provided is used as a modulative value to darken the areas. 
+-- | Set the colour used to modulate areas in shadow. 
+--This is only applicable for shadow techniques which involve darkening the area in shadow, as opposed to masking out the light. This colour provided is used as a modulative value to darken the areas. 
 setShadowColour :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Colour  -- ^ colour
   ->  IO ()
@@ -1355,9 +1417,10 @@   withColour a2 $ \a2' -> 
   setShadowColour'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 596 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 609 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Get the colour used to modulate areas in shadow. This is only applicable for shadow techniques which involve darkening the area in shadow, as opposed to masking out the light. This colour provided is used as a modulative value to darken the areas. 
+-- | Get the colour used to modulate areas in shadow. 
+--This is only applicable for shadow techniques which involve darkening the area in shadow, as opposed to masking out the light. This colour provided is used as a modulative value to darken the areas. 
 getShadowColour :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Colour)
  -- ^ 
@@ -1367,9 +1430,10 @@   getShadowColour'_ a1' a2' >>= \res ->
   peekColour  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 601 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 614 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Sets the distance a shadow volume is extruded for a directional light. Although directional lights are essentially infinite, there are many reasons to limit the shadow extrusion distance to a finite number, not least of which is compatibility with older cards (which do not support infinite positions), and shadow caster elimination. The default value is 10,000 world units. This does not apply to point lights or spotlights, since they extrude up to their attenuation range. 
+-- | Sets the distance a shadow volume is extruded for a directional light.
+--Although directional lights are essentially infinite, there are many reasons to limit the shadow extrusion distance to a finite number, not least of which is compatibility with older cards (which do not support infinite positions), and shadow caster elimination. The default value is 10,000 world units. This does not apply to point lights or spotlights, since they extrude up to their attenuation range. 
 setShadowDirectionalLightExtrusionDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ dist
   ->  IO ()
@@ -1379,7 +1443,7 @@   let {a2' = realToFrac a2} in 
   setShadowDirectionalLightExtrusionDistance'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 606 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 619 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Gets the distance a shadow volume is extruded for a directional light. 
 getShadowDirectionalLightExtrusionDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1391,9 +1455,10 @@   getShadowDirectionalLightExtrusionDistance'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 611 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 624 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Sets the default maximum distance away from the camera that shadows will be visible. You have to call this function before you create lights or the default distance of zero will be used. Shadow techniques can be expensive, therefore it is a good idea to limit them to being rendered close to the camera if possible, and to skip the expense of rendering shadows for distance objects. This method allows you to set the distance at which shadows will no longer be rendered. Each shadow technique can interpret this subtely differently. For example, one technique may use this to eliminate casters, another might use it to attenuate the shadows themselves. You should tweak this value to suit your chosen shadow technique and scene setup. 
+-- | Sets the default maximum distance away from the camera that shadows
+--Shadow techniques can be expensive, therefore it is a good idea to limit them to being rendered close to the camera if possible, and to skip the expense of rendering shadows for distance objects. This method allows you to set the distance at which shadows will no longer be rendered. Each shadow technique can interpret this subtely differently. For example, one technique may use this to eliminate casters, another might use it to attenuate the shadows themselves. You should tweak this value to suit your chosen shadow technique and scene setup. 
 setShadowFarDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ distance
   ->  IO ()
@@ -1403,9 +1468,10 @@   let {a2' = realToFrac a2} in 
   setShadowFarDistance'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 616 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 629 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Gets the default maximum distance away from the camera that shadows will be visible. 
+-- | Gets the default maximum distance away from the camera that shadows
+--
 getShadowFarDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Float)
  -- ^ 
@@ -1415,7 +1481,7 @@   getShadowFarDistance'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 621 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 634 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | 
 getShadowFarDistanceSquared :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1427,9 +1493,11 @@   getShadowFarDistanceSquared'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 626 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 639 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Sets the maximum size of the index buffer used to render shadow primitives. This method allows you to tweak the size of the index buffer used to render shadow primitives (including stencil shadow volumes). The default size is 51,200 entries, which is 100k of GPU memory, or enough to render approximately 17,000 triangles. You can reduce this as long as you do not have any models / world geometry chunks which could require more than the amount you set. The maximum number of triangles required to render a single shadow volume (including light and dark caps when needed) will be 3x the number of edges on the light silhouette, plus the number of light-facing triangles. On average, half the triangles will be facing toward the light, but the number of triangles in the silhouette entirely depends on the mesh - angular meshes will have a higher silhouette tris/mesh tris ratio than a smooth mesh. You can estimate the requirements for your particular mesh by rendering it alone in a scene with shadows enabled and a single light - rotate it or the light and make a note of how high the triangle count goes (remembering to subtract the mesh triangle count) 
+-- | Sets the maximum size of the index buffer used to render shadow
+--primitives.
+--This method allows you to tweak the size of the index buffer used to render shadow primitives (including stencil shadow volumes). The default size is 51,200 entries, which is 100k of GPU memory, or enough to render approximately 17,000 triangles. You can reduce this as long as you do not have any models / world geometry chunks which could require more than the amount you set. The maximum number of triangles required to render a single shadow volume (including light and dark caps when needed) will be 3x the number of edges on the light silhouette, plus the number of light-facing triangles. On average, half the triangles will be facing toward the light, but the number of triangles in the silhouette entirely depends on the mesh - angular meshes will have a higher silhouette tris/mesh tris ratio than a smooth mesh. You can estimate the requirements for your particular mesh by rendering it alone in a scene with shadows enabled and a single light - rotate it or the light and make a note of how high the triangle count goes (remembering to subtract the mesh triangle count) 
 setShadowIndexBufferSize :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ size - The number of indexes; divide this by 3 to determine the number of triangles. 
   ->  IO ()
@@ -1439,7 +1507,7 @@   let {a2' = fromIntegral a2} in 
   setShadowIndexBufferSize'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 631 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 644 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Get the size of the shadow index buffer. 
 getShadowIndexBufferSize :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1451,9 +1519,10 @@   getShadowIndexBufferSize'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 636 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 649 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Set the size of the texture used for all texture-based shadows. The larger the shadow texture, the better the detail on texture based shadows, but obviously this takes more memory. The default size is 512. Sizes must be a power of 2. This is the simple form, see setShadowTextureConfig for the more complex form. 
+-- | Set the size of the texture used for all texture-based shadows.
+--The larger the shadow texture, the better the detail on texture based shadows, but obviously this takes more memory. The default size is 512. Sizes must be a power of 2. This is the simple form, see setShadowTextureConfig for the more complex form. 
 setShadowTextureSize :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ size
   ->  IO ()
@@ -1463,9 +1532,23 @@   let {a2' = fromIntegral a2} in 
   setShadowTextureSize'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 641 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 654 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Set the number of textures allocated for texture-based shadows. The default number of textures assigned to deal with texture based shadows is 1; however this means you can only have one light casting shadows at the same time. You can increase this number in order to make this more flexible, but be aware of the texture memory it will use. 
+-- | Set the level of multisample AA of the textures used for texture-based shadows.
+--By default, the level of multisample AA is zero. This is the simple form, see setShadowTextureConfig for the more complex form. 
+setShadowTextureFSAA :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Int  -- ^ fsaa
+  ->  IO ()
+ -- ^ 
+setShadowTextureFSAA a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = fromIntegral a2} in 
+  setShadowTextureFSAA'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 659 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+
+-- | Set the number of textures allocated for texture-based shadows.
+--The default number of textures assigned to deal with texture based shadows is 1; however this means you can only have one light casting shadows at the same time. You can increase this number in order to make this more flexible, but be aware of the texture memory it will use. 
 setShadowTextureCount :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ count
   ->  IO ()
@@ -1475,7 +1558,7 @@   let {a2' = fromIntegral a2} in 
   setShadowTextureCount'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 646 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 664 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Get the number of the textures allocated for texture based shadows. 
 getShadowTextureCount :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1487,9 +1570,10 @@   getShadowTextureCount'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 651 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 669 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Set the number of shadow textures a light type uses. The default for all light types is 1. This means that each light uses only 1 shadow texture. Call this if you need more than 1 shadow texture per light, E.G. PSSM. This feature only works with the Integrated shadow technique. Also remember to increase the total number of shadow textures you request appropriately (e.g. via setShadowTextureCount)!! 
+-- | Set the number of shadow textures a light type uses.
+--The default for all light types is 1. This means that each light uses only 1 shadow texture. Call this if you need more than 1 shadow texture per light, E.G. PSSM. This feature only works with the Integrated shadow technique. Also remember to increase the total number of shadow textures you request appropriately (e.g. via setShadowTextureCount)!! 
 setShadowTextureCountPerLightType :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  EnumLightType  -- ^ type
   ->  Int  -- ^ count
@@ -1501,7 +1585,7 @@   let {a3' = fromIntegral a3} in 
   setShadowTextureCountPerLightType'_ a1' a2' a3' >>= \res ->
   return ()
-{-# LINE 657 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 675 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Get the number of shadow textures is assigned for the given light type. 
 getShadowTextureCountPerLightType :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1515,9 +1599,10 @@   getShadowTextureCountPerLightType'_ a1' a2' a3' >>= \res ->
   peekIntConv  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 663 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 681 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Get a reference to the shadow texture currently in use at the given index. If you change shadow settings, this reference may no longer be correct, so be sure not to hold the returned reference over texture shadow configuration changes. 
+-- | Get a reference to the shadow texture currently in use at the given index.
+--If you change shadow settings, this reference may no longer be correct, so be sure not to hold the returned reference over texture shadow configuration changes. 
 getShadowTexture :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ shadowIndex
   ->  IO (SharedPtr)
@@ -1529,9 +1614,11 @@   getShadowTexture'_ a1' a2' a3' >>= \res ->
   peekSharedPtr  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 669 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 687 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Sets the proportional distance which a texture shadow which is generated from a directional light will be offset into the camera view to make best use of texture space. When generating a shadow texture from a directional light, an approximation is used since it is not possible to render the entire scene to one texture. The texture is projected onto an area centred on the camera, and is the shadow far distance * 2 in length (it is square). This wastes a lot of texture space outside the frustum though, so this offset allows you to move the texture in front of the camera more. However, be aware that this can cause a little shadow 'jittering' during rotation, and that if you move it too far then you'll start to get artefacts close to the camera. The value is represented as a proportion of the shadow far distance, and the default is 0.6. 
+-- | Sets the proportional distance which a texture shadow which is generated from a
+--directional light will be offset into the camera view to make best use of texture space.
+--When generating a shadow texture from a directional light, an approximation is used since it is not possible to render the entire scene to one texture. The texture is projected onto an area centred on the camera, and is the shadow far distance * 2 in length (it is square). This wastes a lot of texture space outside the frustum though, so this offset allows you to move the texture in front of the camera more. However, be aware that this can cause a little shadow 'jittering' during rotation, and that if you move it too far then you'll start to get artefacts close to the camera. The value is represented as a proportion of the shadow far distance, and the default is 0.6. 
 setShadowDirLightTextureOffset :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ offset
   ->  IO ()
@@ -1541,9 +1628,10 @@   let {a2' = realToFrac a2} in 
   setShadowDirLightTextureOffset'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 674 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 692 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Gets the proportional distance which a texture shadow which is generated from a directional light will be offset into the camera view to make best use of texture space. 
+-- | Gets the proportional distance which a texture shadow which is generated from a
+--
 getShadowDirLightTextureOffset :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Float)
  -- ^ 
@@ -1553,9 +1641,10 @@   getShadowDirLightTextureOffset'_ a1' a2' >>= \res ->
   peekFloatConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 679 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 697 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Sets the proportional distance at which texture shadows begin to fade out. To hide the edges where texture shadows end (in directional lights) Ogre
+-- | Sets the proportional distance at which texture shadows begin to fade out.
+--To hide the edges where texture shadows end (in directional lights) Ogre
 setShadowTextureFadeStart :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ fadeStart
   ->  IO ()
@@ -1565,9 +1654,10 @@   let {a2' = realToFrac a2} in 
   setShadowTextureFadeStart'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 684 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 702 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Sets the proportional distance at which texture shadows finish to fading out. To hide the edges where texture shadows end (in directional lights) Ogre
+-- | Sets the proportional distance at which texture shadows finish to fading out.
+--To hide the edges where texture shadows end (in directional lights) Ogre
 setShadowTextureFadeEnd :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Float  -- ^ fadeEnd
   ->  IO ()
@@ -1577,9 +1667,10 @@   let {a2' = realToFrac a2} in 
   setShadowTextureFadeEnd'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 689 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 707 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Sets whether or not texture shadows should attempt to self-shadow. The default implementation of texture shadows uses a fixed-function colour texture projection approach for maximum compatibility, and as such cannot support self-shadowing. However, if you decide to implement a more complex shadowing technique using the setShadowTextureCasterMaterial and setShadowTextureReceiverMaterial there is a possibility you may be able to support self-shadowing (e.g by implementing a shader-based shadow map). In this case you might want to enable this option. 
+-- | Sets whether or not texture shadows should attempt to self-shadow.
+--The default implementation of texture shadows uses a fixed-function colour texture projection approach for maximum compatibility, and as such cannot support self-shadowing. However, if you decide to implement a more complex shadowing technique using the setShadowTextureCasterMaterial and setShadowTextureReceiverMaterial there is a possibility you may be able to support self-shadowing (e.g by implementing a shader-based shadow map). In this case you might want to enable this option. 
 setShadowTextureSelfShadow :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ selfShadow - Whether to attempt self-shadowing with texture shadows 
   ->  IO ()
@@ -1589,7 +1680,7 @@   let {a2' = fromBool a2} in 
   setShadowTextureSelfShadow'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 694 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 712 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Gets whether or not texture shadows attempt to self-shadow. 
 getShadowTextureSelfShadow :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1601,9 +1692,10 @@   getShadowTextureSelfShadow'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 699 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 717 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Sets the default material to use for rendering shadow casters. By default shadow casters are rendered into the shadow texture using an automatically generated fixed-function pass. This allows basic projective texture shadows, but it's possible to use more advanced shadow techniques by overriding the caster and receiver materials, for example providing vertex and fragment programs to implement shadow maps. You can rely on the ambient light in the scene being set to the requested texture shadow colour, if that's useful. Individual objects may also override the vertex program in your default material if their materials include shadow_caster_vertex_program_ref, shadow_receiver_vertex_program_ref shadow_caster_material entries, so if you use both make sure they are compatible. 
+-- | Sets the default material to use for rendering shadow casters.
+--By default shadow casters are rendered into the shadow texture using an automatically generated fixed-function pass. This allows basic projective texture shadows, but it's possible to use more advanced shadow techniques by overriding the caster and receiver materials, for example providing vertex and fragment programs to implement shadow maps. You can rely on the ambient light in the scene being set to the requested texture shadow colour, if that's useful. Individual objects may also override the vertex program in your default material if their materials include shadow_caster_vertex_program_ref, shadow_receiver_vertex_program_ref shadow_caster_material entries, so if you use both make sure they are compatible. 
 --Only a single pass is allowed in your material, although multiple techniques may be used for hardware fallback. 
 setShadowTextureCasterMaterial :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
@@ -1614,9 +1706,10 @@   withCString a2 $ \a2' -> 
   setShadowTextureCasterMaterial'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 704 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 722 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Sets the default material to use for rendering shadow receivers. By default shadow receivers are rendered as a post-pass using basic modulation. This allows basic projective texture shadows, but it's possible to use more advanced shadow techniques by overriding the caster and receiver materials, for example providing vertex and fragment programs to implement shadow maps. You can rely on texture unit 0 containing the shadow texture, and for the unit to be set to use projective texturing from the light (only useful if you're using fixed-function, which is unlikely; otherwise you should rely on the texture_viewproj_matrix auto binding) Individual objects may also override the vertex program in your default material if their materials include shadow_caster_vertex_program_ref shadow_receiver_vertex_program_ref shadow_receiver_material entries, so if you use both make sure they are compatible. 
+-- | Sets the default material to use for rendering shadow receivers.
+--By default shadow receivers are rendered as a post-pass using basic modulation. This allows basic projective texture shadows, but it's possible to use more advanced shadow techniques by overriding the caster and receiver materials, for example providing vertex and fragment programs to implement shadow maps. You can rely on texture unit 0 containing the shadow texture, and for the unit to be set to use projective texturing from the light (only useful if you're using fixed-function, which is unlikely; otherwise you should rely on the texture_viewproj_matrix auto binding) Individual objects may also override the vertex program in your default material if their materials include shadow_caster_vertex_program_ref shadow_receiver_vertex_program_ref shadow_receiver_material entries, so if you use both make sure they are compatible. 
 --Only a single pass is allowed in your material, although multiple techniques may be used for hardware fallback. 
 setShadowTextureReceiverMaterial :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
@@ -1627,9 +1720,11 @@   withCString a2 $ \a2' -> 
   setShadowTextureReceiverMaterial'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 709 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 727 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Sets whether or not shadow casters should be rendered into shadow textures using their back faces rather than their front faces. Rendering back faces rather than front faces into a shadow texture can help minimise depth comparison issues, if you're using depth shadowmapping. You will probably still need some biasing but you won't need as much. For solid objects the result is the same anyway, if you have objects with holes you may want to turn this option off. The default is to enable this option. 
+-- | Sets whether or not shadow casters should be rendered into shadow
+--textures using their back faces rather than their front faces. 
+--Rendering back faces rather than front faces into a shadow texture can help minimise depth comparison issues, if you're using depth shadowmapping. You will probably still need some biasing but you won't need as much. For solid objects the result is the same anyway, if you have objects with holes you may want to turn this option off. The default is to enable this option. 
 setShadowCasterRenderBackFaces :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ bf
   ->  IO ()
@@ -1639,7 +1734,7 @@   let {a2' = fromBool a2} in 
   setShadowCasterRenderBackFaces'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 714 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 732 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Gets whether or not shadow casters should be rendered into shadow textures using their back faces rather than their front faces. 
 getShadowCasterRenderBackFaces :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1651,9 +1746,11 @@   getShadowCasterRenderBackFaces'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 719 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 737 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Sets whether we should use an inifinite camera far plane when rendering stencil shadows. Stencil shadow coherency is very reliant on the shadow volume not being clipped by the far plane. If this clipping happens, you get a kind of 'negative' shadow effect. The best way to achieve coherency is to move the far plane of the camera out to infinity, thus preventing the far plane from clipping the shadow volumes. When combined with vertex program extrusion of the volume to infinity, which OgreOgreIf you disable infinite projection, or it is not available, you need to be far more careful with your light attenuation / directional light extrusion distances to avoid clipping artefacts at the far plane. Recent cards will generally support infinite far plane projection. However, we have found some cases where they do not, especially on Direct3D. There is no standard capability we can check to validate this, so we use some heuristics based on experience: 
+-- | Sets whether we should use an inifinite camera far plane
+--when rendering stencil shadows.
+--Stencil shadow coherency is very reliant on the shadow volume not being clipped by the far plane. If this clipping happens, you get a kind of 'negative' shadow effect. The best way to achieve coherency is to move the far plane of the camera out to infinity, thus preventing the far plane from clipping the shadow volumes. When combined with vertex program extrusion of the volume to infinity, which OgreOgreIf you disable infinite projection, or it is not available, you need to be far more careful with your light attenuation / directional light extrusion distances to avoid clipping artefacts at the far plane. Recent cards will generally support infinite far plane projection. However, we have found some cases where they do not, especially on Direct3D. There is no standard capability we can check to validate this, so we use some heuristics based on experience: 
 --
 --
 --
@@ -1672,7 +1769,7 @@   let {a2' = fromBool a2} in 
   setShadowUseInfiniteFarPlane'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 724 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 742 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Is there a stencil shadow based shadowing technique in use? 
 isShadowTechniqueStencilBased :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1684,7 +1781,7 @@   isShadowTechniqueStencilBased'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 729 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 747 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Is there a texture shadow based shadowing technique in use? 
 isShadowTechniqueTextureBased :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1696,7 +1793,7 @@   isShadowTechniqueTextureBased'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 734 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 752 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Is there a modulative shadowing technique in use? 
 isShadowTechniqueModulative :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1708,7 +1805,7 @@   isShadowTechniqueModulative'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 739 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 757 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Is there an additive shadowing technique in use? 
 isShadowTechniqueAdditive :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1720,7 +1817,7 @@   isShadowTechniqueAdditive'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 744 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 762 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Is the shadow technique integrated into primary materials? 
 isShadowTechniqueIntegrated :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1732,7 +1829,7 @@   isShadowTechniqueIntegrated'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 749 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 767 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Is there any shadowing technique in use? 
 isShadowTechniqueInUse :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1744,7 +1841,7 @@   isShadowTechniqueInUse'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 754 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 772 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Sets whether when using a built-in additive shadow mode, user clip planes should be used to restrict light rendering. 
 setShadowUseLightClipPlanes :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1756,9 +1853,10 @@   let {a2' = fromBool a2} in 
   setShadowUseLightClipPlanes'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 759 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 777 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Gets whether when using a built-in additive shadow mode, user clip planes should be used to restrict light rendering. 
+-- | Gets whether when using a built-in additive shadow mode, user clip
+--
 getShadowUseLightClipPlanes :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -1768,7 +1866,7 @@   getShadowUseLightClipPlanes'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 764 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 782 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Sets whether to use late material resolving or not. If set, materials will be resolved from the materials at the pass-setting stage and not at the render queue building stage. This is useful when the active material scheme during the render queue building stage is different from the one during the rendering stage. 
 setLateMaterialResolving :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1780,7 +1878,7 @@   let {a2' = fromBool a2} in 
   setLateMaterialResolving'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 769 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 787 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Gets whether using late material resolving or not. setLateMaterialResolving
 isLateMaterialResolving :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1792,7 +1890,7 @@   isLateMaterialResolving'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 774 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 792 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Returns whether a static geometry instance with the given name exists. 
 hasStaticGeometry :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1806,7 +1904,7 @@   hasStaticGeometry'_ a1' a2' a3' >>= \res ->
   peekBoolUtil  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 780 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 798 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Remove & destroy a StaticGeometry instance. 
 destroyStaticGeometry2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1818,7 +1916,7 @@   withCString a2 $ \a2' -> 
   destroyStaticGeometry2'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 785 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 803 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Remove & destroy all StaticGeometry instances. 
 destroyAllStaticGeometry :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1828,7 +1926,7 @@   withHG3DClass a1 $ \a1' -> 
   destroyAllStaticGeometry'_ a1' >>= \res ->
   return ()
-{-# LINE 789 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 807 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Remove & destroy a InstancedGeometry instance. 
 destroyInstancedGeometry2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1840,7 +1938,7 @@   withCString a2 $ \a2' -> 
   destroyInstancedGeometry2'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 794 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 812 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Remove & destroy all InstancedGeometry instances. 
 destroyAllInstancedGeometry :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1850,9 +1948,47 @@   withHG3DClass a1 $ \a1' -> 
   destroyAllInstancedGeometry'_ a1' >>= \res ->
   return ()
-{-# LINE 798 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 816 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Destroys a MovableObjectThe MovableObject
+-- | Returns whether an InstanceManager with the given name exists. 
+hasInstanceManager :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  String  -- ^ managerName
+  ->  IO (Bool)
+ -- ^ 
+hasInstanceManager a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  withCString a2 $ \a2' -> 
+  alloca $ \a3' -> 
+  hasInstanceManager'_ a1' a2' a3' >>= \res ->
+  peekBoolUtil  a3'>>= \a3'' -> 
+  return (a3'')
+{-# LINE 822 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+
+-- | Destroys an InstanceManager <b>if</b> it was created with createInstanceManager()
+--Be sure you don't have any InstancedEntity referenced somewhere which was created with this manager, since it will become a dangling pointer. 
+destroyInstanceManager :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  String  -- ^ name
+  ->  IO ()
+ -- ^ 
+destroyInstanceManager a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  withCString a2 $ \a2' -> 
+  destroyInstanceManager'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 827 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+
+-- | 
+destroyAllInstanceManagers :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO ()
+ -- ^ 
+destroyAllInstanceManagers a1 =
+  withHG3DClass a1 $ \a1' -> 
+  destroyAllInstanceManagers'_ a1' >>= \res ->
+  return ()
+{-# LINE 831 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+
+-- | Destroys a MovableObject with the name specified, of the type specified.
+--The MovableObject
 destroyMovableObject :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  String  -- ^ typeName
@@ -1864,9 +2000,10 @@   withCString a3 $ \a3' -> 
   destroyMovableObject'_ a1' a2' a3' >>= \res ->
   return ()
-{-# LINE 804 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 837 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Destroys a MovableObjectThe MovableObject
+-- | Destroys a MovableObject.
+--The MovableObject
 destroyMovableObject2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ m
   ->  IO ()
@@ -1876,7 +2013,7 @@   withHG3DClass a2 $ \a2' -> 
   destroyMovableObject2'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 809 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 842 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Destroy all MovableObjects of a given type. 
 destroyAllMovableObjectsByType :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1888,7 +2025,7 @@   withCString a2 $ \a2' -> 
   destroyAllMovableObjectsByType'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 814 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 847 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Destroy all MovableObjects. 
 destroyAllMovableObjects :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1898,9 +2035,10 @@   withHG3DClass a1 $ \a1' -> 
   destroyAllMovableObjects'_ a1' >>= \res ->
   return ()
-{-# LINE 818 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 851 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Get a reference to a previously created MovableObjectThrows an exception if the named instance does not exist 
+-- | Get a reference to a previously created MovableObject. 
+--Throws an exception if the named instance does not exist 
 getMovableObject :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  String  -- ^ typeName
@@ -1914,7 +2052,7 @@   getMovableObject'_ a1' a2' a3' a4' >>= \res ->
   peek  a4'>>= \a4'' -> 
   return (a4'')
-{-# LINE 825 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 858 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Returns whether a movable object instance with the given name exists. 
 hasMovableObject :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -1930,9 +2068,10 @@   hasMovableObject'_ a1' a2' a3' a4' >>= \res ->
   peekBoolUtil  a4'>>= \a4'' -> 
   return (a4'')
-{-# LINE 832 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 865 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Inject a MovableObjectThis method 'injects' a MovableObjectMovableObjectSceneManagerMovableObjectMovableObjectIt is important that the MovableObject
+-- | Inject a MovableObject instance created externally.
+--This method 'injects' a MovableObjectMovableObjectSceneManagerMovableObjectMovableObjectIt is important that the MovableObject
 injectMovableObject :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ m
   ->  IO ()
@@ -1942,9 +2081,10 @@   withHG3DClass a2 $ \a2' -> 
   injectMovableObject'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 837 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 870 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Extract a previously injected MovableObjectEssentially this does the same as destroyMovableObject, but only removes the instance from the internal lists, it does not attempt to destroy it. 
+-- | Extract a previously injected MovableObject.
+--Essentially this does the same as destroyMovableObject, but only removes the instance from the internal lists, it does not attempt to destroy it. 
 extractMovableObject :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  String  -- ^ typeName
@@ -1956,9 +2096,10 @@   withCString a3 $ \a3' -> 
   extractMovableObject'_ a1' a2' a3' >>= \res ->
   return ()
-{-# LINE 843 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 876 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Extract a previously injected MovableObjectEssentially this does the same as destroyMovableObject, but only removes the instance from the internal lists, it does not attempt to destroy it. 
+-- | Extract a previously injected MovableObject.
+--Essentially this does the same as destroyMovableObject, but only removes the instance from the internal lists, it does not attempt to destroy it. 
 extractMovableObject2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ m
   ->  IO ()
@@ -1968,9 +2109,10 @@   withHG3DClass a2 $ \a2' -> 
   extractMovableObject2'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 848 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 881 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Extract all injected MovableObjects of a given type. Essentially this does the same as destroyAllMovableObjectsByType, but only removes the instances from the internal lists, it does not attempt to destroy them. 
+-- | Extract all injected MovableObjects of a given type.
+--Essentially this does the same as destroyAllMovableObjectsByType, but only removes the instances from the internal lists, it does not attempt to destroy them. 
 extractAllMovableObjectsByType :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ typeName
   ->  IO ()
@@ -1980,9 +2122,11 @@   withCString a2 $ \a2' -> 
   extractAllMovableObjectsByType'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 853 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 886 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Sets a mask which is bitwise 'and'ed with objects own visibility masks to determine if the object is visible. Note that this is combined with any per-viewport visibility mask through an 'and' operation. Viewport::setVisibilityMask
+-- | Sets a mask which is bitwise 'and'ed with objects own visibility masks
+--to determine if the object is visible.
+--Note that this is combined with any per-viewport visibility mask through an 'and' operation. Viewport::setVisibilityMask
 setVisibilityMask :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ vmask
   ->  IO ()
@@ -1992,7 +2136,7 @@   let {a2' = fromIntegral a2} in 
   setVisibilityMask'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 858 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 891 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Gets a mask which is bitwise 'and'ed with objects own visibility masks to determine if the object is visible. 
 getVisibilityMask :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -2004,9 +2148,11 @@   getVisibilityMask'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 863 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 896 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Sets whether the SceneManagerThis is an advanced function, you should not use this unless you know what you are doing. 
+-- | Sets whether the SceneManager should search for visible objects, or
+--whether they are being manually handled.
+--This is an advanced function, you should not use this unless you know what you are doing. 
 setFindVisibleObjects :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ find
   ->  IO ()
@@ -2016,7 +2162,7 @@   let {a2' = fromBool a2} in 
   setFindVisibleObjects'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 868 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 901 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Gets whether the SceneManager
 getFindVisibleObjects :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -2028,9 +2174,11 @@   getFindVisibleObjects'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 873 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 906 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Set whether to automatically normalise normals on objects whenever they are scaled. Scaling can distort normals so the default behaviour is to compensate for this, but it has a cost. If you would prefer to manually manage this, set this option to 'false' and use Pass::setNormaliseNormals only when needed. 
+-- | Set whether to automatically normalise normals on objects whenever they
+--are scaled.
+--Scaling can distort normals so the default behaviour is to compensate for this, but it has a cost. If you would prefer to manually manage this, set this option to 'false' and use Pass::setNormaliseNormals only when needed. 
 setNormaliseNormalsOnScale :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ n
   ->  IO ()
@@ -2040,7 +2188,7 @@   let {a2' = fromBool a2} in 
   setNormaliseNormalsOnScale'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 878 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 911 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Get whether to automatically normalise normals on objects whenever they are scaled. 
 getNormaliseNormalsOnScale :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -2052,9 +2200,11 @@   getNormaliseNormalsOnScale'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 883 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 916 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Set whether to automatically flip the culling mode on objects whenever they are negatively scaled. Negativelyl scaling an object has the effect of flipping the triangles, so the culling mode should probably be inverted to deal with this. If you would prefer to manually manage this, set this option to 'false' and use different materials with Pass::setCullingMode set manually as needed. 
+-- | Set whether to automatically flip the culling mode on objects whenever they
+--are negatively scaled.
+--Negativelyl scaling an object has the effect of flipping the triangles, so the culling mode should probably be inverted to deal with this. If you would prefer to manually manage this, set this option to 'false' and use different materials with Pass::setCullingMode set manually as needed. 
 setFlipCullingOnNegativeScale :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ n
   ->  IO ()
@@ -2064,7 +2214,7 @@   let {a2' = fromBool a2} in 
   setFlipCullingOnNegativeScale'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 888 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 921 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Get whether to automatically flip the culling mode on objects whenever they are negatively scaled. 
 getFlipCullingOnNegativeScale :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -2076,7 +2226,7 @@   getFlipCullingOnNegativeScale'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 893 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 926 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Get the rendersystem subclass to which the output of this Scene Manager gets sent 
 getDestinationRenderSystem :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -2088,7 +2238,7 @@   getDestinationRenderSystem'_ a1' a2' >>= \res ->
   peek  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 898 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 931 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Gets the current viewport being rendered (advanced use only, only valid during viewport update. 
 getCurrentViewport :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -2100,9 +2250,11 @@   getCurrentViewport'_ a1' a2' >>= \res ->
   peek  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 903 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 936 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
--- | Set whether to use camera-relative co-ordinates when rendering, ie to always place the camera at the origin and move the world around it. This is a technique to alleviate some of the precision issues associated with rendering far from the origin, where single-precision floats as used in most GPUs begin to lose their precision. Instead of including the camera translation in the view matrix, it only includes the rotation, and the world matrices of objects must be expressed relative to this. If you need this option, you will probably also need to enable double-precision mode in Ogre
+-- | Set whether to use camera-relative co-ordinates when rendering, ie
+--to always place the camera at the origin and move the world around it.
+--This is a technique to alleviate some of the precision issues associated with rendering far from the origin, where single-precision floats as used in most GPUs begin to lose their precision. Instead of including the camera translation in the view matrix, it only includes the rotation, and the world matrices of objects must be expressed relative to this. If you need this option, you will probably also need to enable double-precision mode in Ogre
 setCameraRelativeRendering :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ rel
   ->  IO ()
@@ -2112,7 +2264,7 @@   let {a2' = fromBool a2} in 
   setCameraRelativeRendering'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 908 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 941 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 -- | Get whether to use camera-relative co-ordinates when rendering, ie to always place the camera at the origin and move the world around it. 
 getCameraRelativeRendering :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -2124,7 +2276,7 @@   getCameraRelativeRendering'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 913 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
+{-# LINE 946 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs.h ogre_scmgr_destruct"
@@ -2200,14 +2352,20 @@   createEntity'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs.h ogre_scmgr_createEntity2"
-  createEntity2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
+  createEntity2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((SharedPtrPtr) -> ((HG3DClassPtr) -> (IO ())))))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs.h ogre_scmgr_createEntity3"
-  createEntity3'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CInt -> ((HG3DClassPtr) -> (IO ())))))
+  createEntity3'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs.h ogre_scmgr_createEntity4"
-  createEntity4'_ :: ((HG3DClassPtr) -> (CInt -> ((HG3DClassPtr) -> (IO ()))))
+  createEntity4'_ :: ((HG3DClassPtr) -> ((SharedPtrPtr) -> ((HG3DClassPtr) -> (IO ()))))
 
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs.h ogre_scmgr_createEntity5"
+  createEntity5'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CInt -> ((HG3DClassPtr) -> (IO ())))))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs.h ogre_scmgr_createEntity6"
+  createEntity6'_ :: ((HG3DClassPtr) -> (CInt -> ((HG3DClassPtr) -> (IO ()))))
+
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs.h ogre_scmgr_getEntity"
   getEntity'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
 
@@ -2457,6 +2615,9 @@ foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs.h ogre_scmgr_setShadowTextureSize"
   setShadowTextureSize'_ :: ((HG3DClassPtr) -> (CUShort -> (IO ())))
 
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs.h ogre_scmgr_setShadowTextureFSAA"
+  setShadowTextureFSAA'_ :: ((HG3DClassPtr) -> (CUShort -> (IO ())))
+
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs.h ogre_scmgr_setShadowTextureCount"
   setShadowTextureCount'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
 
@@ -2549,6 +2710,15 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs.h ogre_scmgr_destroyAllInstancedGeometry"
   destroyAllInstancedGeometry'_ :: ((HG3DClassPtr) -> (IO ()))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs.h ogre_scmgr_hasInstanceManager"
+  hasInstanceManager'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs.h ogre_scmgr_destroyInstanceManager"
+  destroyInstanceManager'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs.h ogre_scmgr_destroyAllInstanceManagers"
+  destroyAllInstanceManagers'_ :: ((HG3DClassPtr) -> (IO ()))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneManager.chs.h ogre_scmgr_destroyMovableObject"
   destroyMovableObject'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
HGamer3D/Bindings/Ogre/ClassSceneManagerFactory.hs view
@@ -58,7 +58,8 @@   return ()
 {-# LINE 47 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneManagerFactory.chs" #-}
 
--- | Create a new instance of a SceneManagerDon't call directly, use SceneManagerEnumerator::createSceneManager. 
+-- | Create a new instance of a SceneManager.
+--Don't call directly, use SceneManagerEnumerator::createSceneManager. 
 createInstance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ instanceName
   ->  IO (HG3DClass)
HGamer3D/Bindings/Ogre/ClassSceneNode.hs view
@@ -62,7 +62,8 @@   return ()
 {-# LINE 49 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | Adds an instance of a scene object to this node. Scene objects can include EntityCameraLightMovableObject
+-- | Adds an instance of a scene object to this node.
+--Scene objects can include EntityCameraLightMovableObject
 attachObject :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ obj
   ->  IO ()
@@ -86,7 +87,8 @@   return (a2'')
 {-# LINE 59 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | Retrieves a pointer to an attached object. Retrieves by index, see alternate version to retrieve by name. The index of an object may change as other objects are added / removed. 
+-- | Retrieves a pointer to an attached object.
+--Retrieves by index, see alternate version to retrieve by name. The index of an object may change as other objects are added / removed. 
 getAttachedObject :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ index
   ->  IO (HG3DClass)
@@ -100,7 +102,8 @@   return (a3'')
 {-# LINE 65 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | Retrieves a pointer to an attached object. Retrieves by object name, see alternate version to retrieve by index. 
+-- | Retrieves a pointer to an attached object.
+--Retrieves by object name, see alternate version to retrieve by index. 
 getAttachedObject2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO (HG3DClass)
@@ -114,7 +117,8 @@   return (a3'')
 {-# LINE 71 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | Detaches the indexed object from this scene node. Detaches by index, see the alternate version to detach by name. Object indexes may change as other objects are added / removed. 
+-- | Detaches the indexed object from this scene node.
+--Detaches by index, see the alternate version to detach by name. Object indexes may change as other objects are added / removed. 
 detachObject :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ index
   ->  IO (HG3DClass)
@@ -176,7 +180,8 @@   return (a2'')
 {-# LINE 97 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | Gets the creator of this scene node. This method returns the SceneManager
+-- | Gets the creator of this scene node. 
+--This method returns the SceneManager
 getCreator :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (HG3DClass)
  -- ^ 
@@ -188,7 +193,8 @@   return (a2'')
 {-# LINE 102 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | This method removes and destroys the named child and all of its children. Unlike removeChild, which removes a single named child from this node but does not destroy it, this method destroys the child and all of it's children. Use this if you wish to recursively destroy a node as well as detaching it from it's parent. Note that any objects attached to the nodes will be detached but will not themselves be destroyed. 
+-- | This method removes and destroys the named child and all of its children.
+--Unlike removeChild, which removes a single named child from this node but does not destroy it, this method destroys the child and all of it's children. Use this if you wish to recursively destroy a node as well as detaching it from it's parent. Note that any objects attached to the nodes will be detached but will not themselves be destroyed. 
 removeAndDestroyChild :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  IO ()
@@ -200,7 +206,8 @@   return ()
 {-# LINE 107 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | This method removes and destroys the child and all of its children. Unlike removeChild, which removes a single named child from this node but does not destroy it, this method destroys the child and all of it's children. Use this if you wish to recursively destroy a node as well as detaching it from it's parent. Note that any objects attached to the nodes will be detached but will not themselves be destroyed. 
+-- | This method removes and destroys the child and all of its children.
+--Unlike removeChild, which removes a single named child from this node but does not destroy it, this method destroys the child and all of it's children. Use this if you wish to recursively destroy a node as well as detaching it from it's parent. Note that any objects attached to the nodes will be detached but will not themselves be destroyed. 
 removeAndDestroyChild2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ index
   ->  IO ()
@@ -212,7 +219,8 @@   return ()
 {-# LINE 112 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | Removes and destroys all children of this node. Use this to destroy all child nodes of this node and remove them from the scene graph. Note that all objects attached to this node will be detached but will not be destroyed. 
+-- | Removes and destroys all children of this node.
+--Use this to destroy all child nodes of this node and remove them from the scene graph. Note that all objects attached to this node will be detached but will not be destroyed. 
 removeAndDestroyAllChildren :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO ()
  -- ^ 
@@ -222,7 +230,8 @@   return ()
 {-# LINE 116 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | Allows the showing of the node's bounding box. Use this to show or hide the bounding box of the node. 
+-- | Allows the showing of the node's bounding box.
+--Use this to show or hide the bounding box of the node. 
 showBoundingBox :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ bShow
   ->  IO ()
@@ -234,7 +243,9 @@   return ()
 {-# LINE 121 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | Allows the overriding of the node's bounding box over the SceneManagerUse this to override the bounding box setting of the node. 
+-- | Allows the overriding of the node's bounding box
+--over the SceneManager's bounding box setting.
+--Use this to override the bounding box setting of the node. 
 hideBoundingBox :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ bHide
   ->  IO ()
@@ -246,7 +257,9 @@   return ()
 {-# LINE 126 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | This allows scene managers to determine if the node's bounding box should be added to the rendering queue. Scene Managers that implement their own _findVisibleObjects will have to check this flag and then use _addBoundingBoxToQueue to add the bounding box wireframe. 
+-- | This allows scene managers to determine if the node's bounding box
+--should be added to the rendering queue.
+--Scene Managers that implement their own _findVisibleObjects will have to check this flag and then use _addBoundingBoxToQueue to add the bounding box wireframe. 
 getShowBoundingBox :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -258,7 +271,8 @@   return (a2'')
 {-# LINE 131 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | Creates an unnamed new SceneNode
+-- | Creates an unnamed new SceneNode as a child of this node.
+--
 createChildSceneNode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Vec3  -- ^ translate - Initial translation offset of child relative to parent 
   ->  Quaternion  -- ^ rotate - Initial rotation relative to parent 
@@ -274,7 +288,8 @@   return (a4'')
 {-# LINE 138 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | Creates a new named SceneNodeThis creates a child node with a given name, which allows you to look the node up from the parent which holds this collection of nodes. 
+-- | Creates a new named SceneNode as a child of this node.
+--This creates a child node with a given name, which allows you to look the node up from the parent which holds this collection of nodes. 
 createChildSceneNode2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
   ->  Vec3  -- ^ translate - Initial translation offset of child relative to parent 
@@ -292,7 +307,8 @@   return (a5'')
 {-# LINE 146 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | Tells the node whether to yaw around it's own local Y axis or a fixed axis of choice. This method allows you to change the yaw behaviour of the node - by default, it yaws around it's own local Y axis when told to yaw with TS_LOCAL, this makes it yaw around a fixed axis. You only really need this when you're using auto tracking (see setAutoTracking, because when you're manually rotating a node you can specify the TransformSpace in which you wish to work anyway. 
+-- | Tells the node whether to yaw around it's own local Y axis or a fixed axis of choice.
+--This method allows you to change the yaw behaviour of the node - by default, it yaws around it's own local Y axis when told to yaw with TS_LOCAL, this makes it yaw around a fixed axis. You only really need this when you're using auto tracking (see setAutoTracking, because when you're manually rotating a node you can specify the TransformSpace in which you wish to work anyway. 
 setFixedYawAxis :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ useFixed - If true, the axis passed in the second parameter will always be the yaw axis no matter what the node orientation. If false, the node returns to it's default behaviour. 
   ->  Vec3  -- ^ fixedAxis - The axis to use if the first parameter is true. 
@@ -306,24 +322,6 @@   return ()
 {-# LINE 152 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | Enables / disables automatic tracking of another SceneNodeIf you enable auto-tracking, this SceneNodeSceneNodeSceneNodeSceneNode
-setAutoTracking :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
-  ->  Bool  -- ^ enabled - If true, tracking will be enabled and the next parameter cannot be null. If false tracking will be disabled and the current orientation will be maintained. 
-  ->  HG3DClass  -- ^ target - Pointer to the SceneNode to track. Make sure you don't delete this SceneNode before turning off tracking (e.g. SceneManager::clearScene will delete it so be careful of this). Can be null if and only if the enabled param is false. 
-  ->  Vec3  -- ^ localDirectionVector - The local vector considered to be the usual 'direction' of the node; normally the local -Z but can be another direction. 
-  ->  Vec3  -- ^ offset - If supplied, this is the target point in local space of the target node instead of the origin of the target node. Good for fine tuning the look at point. 
-  ->  IO ()
- -- ^ 
-setAutoTracking a1 a2 a3 a4 a5 =
-  withHG3DClass a1 $ \a1' -> 
-  let {a2' = fromBool a2} in 
-  withHG3DClass a3 $ \a3' -> 
-  withVec3 a4 $ \a4' -> 
-  withVec3 a5 $ \a5' -> 
-  setAutoTracking'_ a1' a2' a3' a4' a5' >>= \res ->
-  return ()
-{-# LINE 160 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
-
 -- | Get the auto tracking target for this node, if any. 
 getAutoTrackTarget :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (HG3DClass)
@@ -334,7 +332,7 @@   getAutoTrackTarget'_ a1' a2' >>= \res ->
   peek  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 165 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
+{-# LINE 157 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
 -- | Get the auto tracking offset for this node, if the node is auto tracking. 
 getAutoTrackOffset :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -346,7 +344,7 @@   getAutoTrackOffset'_ a1' a2' >>= \res ->
   peekVec3  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 170 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
+{-# LINE 162 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
 -- | Get the auto tracking local direction for this node, if it is auto tracking. 
 getAutoTrackLocalDirection :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -358,7 +356,7 @@   getAutoTrackLocalDirection'_ a1' a2' >>= \res ->
   peekVec3  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 175 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
+{-# LINE 167 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
 -- | Gets the parent of this SceneNode
 getParentSceneNode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -370,9 +368,10 @@   getParentSceneNode'_ a1' a2' >>= \res ->
   peek  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 180 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
+{-# LINE 172 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | Makes all objects attached to this node become visible / invisible. This is a shortcut to calling setVisible()
+-- | Makes all objects attached to this node become visible / invisible.
+--This is a shortcut to calling setVisible()
 setVisible :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ visible - Whether the objects are to be made visible or invisible 
   ->  Bool  -- ^ cascade - If true, this setting cascades into child nodes too. 
@@ -384,9 +383,10 @@   let {a3' = fromBool a3} in 
   setVisible'_ a1' a2' a3' >>= \res ->
   return ()
-{-# LINE 186 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
+{-# LINE 178 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | Inverts the visibility of all objects attached to this node. This is a shortcut to calling setVisible(!isVisible()) on the objects attached to this node, and optionally to all objects attached to child nodes. 
+-- | Inverts the visibility of all objects attached to this node.
+--This is a shortcut to calling setVisible(!isVisible()) on the objects attached to this node, and optionally to all objects attached to child nodes. 
 flipVisibility :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ cascade - If true, this setting cascades into child nodes too. 
   ->  IO ()
@@ -396,9 +396,11 @@   let {a2' = fromBool a2} in 
   flipVisibility'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 191 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
+{-# LINE 183 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
--- | Tells all objects attached to this node whether to display their debug information or not. This is a shortcut to calling setDebugDisplayEnabled()
+-- | Tells all objects attached to this node whether to display their
+--debug information or not.
+--This is a shortcut to calling setDebugDisplayEnabled()
 setDebugDisplayEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enabled - Whether the objects are to display debug info or not 
   ->  Bool  -- ^ cascade - If true, this setting cascades into child nodes too. 
@@ -410,7 +412,7 @@   let {a3' = fromBool a3} in 
   setDebugDisplayEnabled'_ a1' a2' a3' >>= \res ->
   return ()
-{-# LINE 197 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
+{-# LINE 189 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_destruct"
@@ -472,9 +474,6 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_setFixedYawAxis"
   setFixedYawAxis'_ :: ((HG3DClassPtr) -> (CInt -> ((Vec3Ptr) -> (IO ()))))
-
-foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_setAutoTracking"
-  setAutoTracking'_ :: ((HG3DClassPtr) -> (CInt -> ((HG3DClassPtr) -> ((Vec3Ptr) -> ((Vec3Ptr) -> (IO ()))))))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_getAutoTrackTarget"
   getAutoTrackTarget'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
HGamer3D/Bindings/Ogre/ClassSkeleton.hs view
@@ -60,7 +60,8 @@   return ()
 {-# LINE 48 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
--- | Creates a brand new BoneSkeletonThis method creates an unattached new BoneBoneBone::createChildNote that this method automatically generates a handle for the bone, which you can retrieve using Bone::getHandleBone
+-- | Creates a brand new Bone owned by this Skeleton. 
+--This method creates an unattached new BoneBoneBone::createChildNote that this method automatically generates a handle for the bone, which you can retrieve using Bone::getHandleBone
 createBone :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (HG3DClass)
  -- ^ 
@@ -72,7 +73,8 @@   return (a2'')
 {-# LINE 53 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
--- | Creates a brand new BoneSkeletonThis method creates an unattached new BoneBoneBone::createChild
+-- | Creates a brand new Bone owned by this Skeleton. 
+--This method creates an unattached new BoneBoneBone::createChild
 createBone2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ handle - The handle to give to this new bone - must be unique within this skeleton. You should also ensure that all bone handles are eventually contiguous (this is to simplify their compilation into an indexed array of transformation matrices). For this reason it is advised that you use the simpler createBone method which automatically assigns a sequential handle starting from 0. 
   ->  IO (HG3DClass)
@@ -86,7 +88,8 @@   return (a3'')
 {-# LINE 59 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
--- | Creates a brand new BoneSkeletonThis method creates an unattached new BoneBoneBone::createChild
+-- | Creates a brand new Bone owned by this Skeleton. 
+--This method creates an unattached new BoneBoneBone::createChild
 createBone3 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name to give to this new bone - must be unique within this skeleton. Note that the way OGRE looks up bones is via a numeric handle, so if you name a Bone this way it will be given an automatic sequential handle. The name is just for your convenience, although it is recommended that you only use the handle to retrieve the bone in performance-critical code. 
   ->  IO (HG3DClass)
@@ -100,7 +103,8 @@   return (a3'')
 {-# LINE 65 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
--- | Creates a brand new BoneSkeletonThis method creates an unattached new BoneBoneBone::createChild
+-- | Creates a brand new Bone owned by this Skeleton. 
+--This method creates an unattached new BoneBoneBone::createChild
 createBone4 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name to give to this new bone - must be unique within this skeleton. 
   ->  Int  -- ^ handle - The handle to give to this new bone - must be unique within this skeleton. 
@@ -128,7 +132,8 @@   return (a2'')
 {-# LINE 77 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
--- | Gets the root bone of the skeleton: deprecated in favour of getRootBoneIterator. The system derives the root bone the first time you ask for it. The root bone is the only bone in the skeleton which has no parent. The system locates it by taking the first bone in the list and going up the bone tree until there are no more parents, and saves this top bone as the root. If you are building the skeleton manually using createBone then you must ensure there is only one bone which is not a child of another bone, otherwise your skeleton will not work properly. If you use createBone only once, and then use Bone::createChild
+-- | Gets the root bone of the skeleton: deprecated in favour of getRootBoneIterator. 
+--The system derives the root bone the first time you ask for it. The root bone is the only bone in the skeleton which has no parent. The system locates it by taking the first bone in the list and going up the bone tree until there are no more parents, and saves this top bone as the root. If you are building the skeleton manually using createBone then you must ensure there is only one bone which is not a child of another bone, otherwise your skeleton will not work properly. If you use createBone only once, and then use Bone::createChild
 getRootBone :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (HG3DClass)
  -- ^ 
@@ -192,7 +197,8 @@   return ()
 {-# LINE 104 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
--- | Resets the position and orientation of all bones in this skeleton to their original binding position. A skeleton is bound to a mesh in a binding pose. Bone
+-- | Resets the position and orientation of all bones in this skeleton to their original binding position.
+--A skeleton is bound to a mesh in a binding pose. Bone
 reset :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ resetManualBones - If set to true, causes the state of manual bones to be reset too, which is normally not done to allow the manual state to persist even when keyframe animation is applied. 
   ->  IO ()
@@ -204,7 +210,8 @@   return ()
 {-# LINE 109 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
--- | Creates a new Animation
+-- | Creates a new Animation object for animating this skeleton. 
+--
 createAnimation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name - The name of this animation 
   ->  Float  -- ^ length - The length of the animation in seconds 
@@ -220,6 +227,20 @@   return (a4'')
 {-# LINE 116 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
+-- | Returns the named AnimationWill pick up animations in linked skeletons (addLinkedSkeletonAnimationSource
+getAnimation2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  String  -- ^ name - The name of the animation 
+  ->  IO (HG3DClass)
+ -- ^ 
+getAnimation2 a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  withCString a2 $ \a2' -> 
+  alloca $ \a3' -> 
+  getAnimation2'_ a1' a2' a3' >>= \res ->
+  peek  a3'>>= \a3'' -> 
+  return (a3'')
+{-# LINE 122 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
+
 -- | Returns whether this skeleton contains the named animation. 
 hasAnimation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ name
@@ -232,7 +253,7 @@   hasAnimation'_ a1' a2' a3' >>= \res ->
   peekBoolUtil  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 122 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
+{-# LINE 128 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
 -- | Removes an Animation
 removeAnimation :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -244,9 +265,10 @@   withCString a2 $ \a2' -> 
   removeAnimation'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 127 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
+{-# LINE 133 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
--- | Changes the state of the skeleton to reflect the application of the passed in collection of animations. Animating a skeleton involves both interpolating between keyframes of a specific animation, and blending between the animations themselves. Calling this method sets the state of the skeleton so that it reflects the combination of all the passed in animations, at the time index specified for each, using the weights specified. Note that the weights between animations do not have to sum to 1.0, because some animations may affect only subsets of the skeleton. If the weights exceed 1.0 for the same area of the skeleton, the movement will just be exaggerated. 
+-- | Changes the state of the skeleton to reflect the application of the passed in collection of animations.
+--Animating a skeleton involves both interpolating between keyframes of a specific animation, and blending between the animations themselves. Calling this method sets the state of the skeleton so that it reflects the combination of all the passed in animations, at the time index specified for each, using the weights specified. Note that the weights between animations do not have to sum to 1.0, because some animations may affect only subsets of the skeleton. If the weights exceed 1.0 for the same area of the skeleton, the movement will just be exaggerated. 
 setAnimationState :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ animSet
   ->  IO ()
@@ -256,7 +278,7 @@   withHG3DClass a2 $ \a2' -> 
   setAnimationState'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 132 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
+{-# LINE 138 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
 -- | Gets the number of animations on this skeleton. 
 getNumAnimations :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -268,21 +290,22 @@   getNumAnimations'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 137 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
+{-# LINE 143 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
--- | Gets a single animation by index. Will NOT pick up animations in linked skeletons (addLinkedSkeletonAnimationSource
-getAnimation2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+-- | Gets a single animation by index. 
+--Will NOT pick up animations in linked skeletons (addLinkedSkeletonAnimationSource
+getAnimation3 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ index
   ->  IO (HG3DClass)
  -- ^ 
-getAnimation2 a1 a2 =
+getAnimation3 a1 a2 =
   withHG3DClass a1 $ \a1' -> 
   let {a2' = fromIntegral a2} in 
   alloca $ \a3' -> 
-  getAnimation2'_ a1' a2' a3' >>= \res ->
+  getAnimation3'_ a1' a2' a3' >>= \res ->
   peek  a3'>>= \a3'' -> 
   return (a3'')
-{-# LINE 143 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
+{-# LINE 149 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
 -- | Gets the animation blending mode which this skeleton will use. 
 getBlendMode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -294,7 +317,7 @@   getBlendMode'_ a1' a2' >>= \res ->
   peekEnumUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 148 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
+{-# LINE 154 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
 -- | Sets the animation blending mode this skeleton will use. 
 setBlendMode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -306,9 +329,10 @@   let {a2' = cIntFromEnum a2} in 
   setBlendMode'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 153 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
+{-# LINE 159 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
--- | Optimise all of this skeleton's animations. Animation::optimise
+-- | Optimise all of this skeleton's animations.
+--Animation::optimise
 optimiseAllAnimations :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ preservingIdentityNodeTracks - If true, don't destroy identity node tracks. 
   ->  IO ()
@@ -318,9 +342,11 @@   let {a2' = fromBool a2} in 
   optimiseAllAnimations'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 158 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
+{-# LINE 164 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
--- | Allows you to use the animations from another SkeletonIf you have skeletons of identical structure (that means identically named bones with identical handles, and with the same hierarchy), but slightly different proportions or binding poses, you can re-use animations from one in the other. Because animations are actually stored as changes to bones from their bind positions, it's possible to use the same animation data for different skeletons, provided the skeletal structure matches and the 'deltas' stored in the keyframes apply equally well to the other skeletons bind position (so they must be roughly similar, but don't have to be identical). You can use the 'scale' option to adjust the translation and scale keyframes where there are large differences in size between the skeletons. This method takes a skeleton name, rather than a more specific animation name, for two reasons; firstly it allows some validation of compatibility of skeletal structure, and secondly skeletons are the unit of loading. Linking a skeleton to another in this way means that the linkee will be prevented from being destroyed until the linker is destroyed.
+-- | Allows you to use the animations from another Skeleton object to animate
+--this skeleton.
+--If you have skeletons of identical structure (that means identically named bones with identical handles, and with the same hierarchy), but slightly different proportions or binding poses, you can re-use animations from one in the other. Because animations are actually stored as changes to bones from their bind positions, it's possible to use the same animation data for different skeletons, provided the skeletal structure matches and the 'deltas' stored in the keyframes apply equally well to the other skeletons bind position (so they must be roughly similar, but don't have to be identical). You can use the 'scale' option to adjust the translation and scale keyframes where there are large differences in size between the skeletons. This method takes a skeleton name, rather than a more specific animation name, for two reasons; firstly it allows some validation of compatibility of skeletal structure, and secondly skeletons are the unit of loading. Linking a skeleton to another in this way means that the linkee will be prevented from being destroyed until the linker is destroyed.
 addLinkedSkeletonAnimationSource :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ skelName - Name of the skeleton to link animations from. This skeleton will be loaded immediately if this skeleton is already loaded, otherwise it will be loaded when this skeleton is. 
   ->  Float  -- ^ scale - A scale factor to apply to translation and scaling elements of the keyframes in the other skeleton when applying the animations to this one. Compensates for skeleton size differences. 
@@ -332,7 +358,7 @@   let {a3' = realToFrac a3} in 
   addLinkedSkeletonAnimationSource'_ a1' a2' a3' >>= \res ->
   return ()
-{-# LINE 164 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
+{-# LINE 170 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
 -- | Remove all links to other skeletons for the purposes of sharing animation. 
 removeAllLinkedSkeletonAnimationSources :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -342,7 +368,7 @@   withHG3DClass a1 $ \a1' -> 
   removeAllLinkedSkeletonAnimationSources'_ a1' >>= \res ->
   return ()
-{-# LINE 168 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
+{-# LINE 174 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
 -- | Have manual bones been modified since the skeleton was last updated? 
 getManualBonesDirty :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -354,7 +380,7 @@   getManualBonesDirty'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 173 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
+{-# LINE 179 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
 -- | Are there any manually controlled bones? 
 hasManualBones :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -366,7 +392,7 @@   hasManualBones'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 178 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
+{-# LINE 184 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs.h ogre_skl_destruct"
@@ -408,6 +434,9 @@ foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs.h ogre_skl_createAnimation"
   createAnimation'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CFloat -> ((HG3DClassPtr) -> (IO ())))))
 
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs.h ogre_skl_getAnimation2"
+  getAnimation2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))
+
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs.h ogre_skl_hasAnimation"
   hasAnimation'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
 
@@ -420,8 +449,8 @@ foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs.h ogre_skl_getNumAnimations"
   getNumAnimations'_ :: ((HG3DClassPtr) -> ((Ptr CUShort) -> (IO ())))
 
-foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs.h ogre_skl_getAnimation2"
-  getAnimation2'_ :: ((HG3DClassPtr) -> (CUShort -> ((HG3DClassPtr) -> (IO ()))))
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs.h ogre_skl_getAnimation3"
+  getAnimation3'_ :: ((HG3DClassPtr) -> (CUShort -> ((HG3DClassPtr) -> (IO ()))))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSkeleton.chs.h ogre_skl_getBlendMode"
   getBlendMode'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
HGamer3D/Bindings/Ogre/ClassSkeletonManager.hs view
@@ -68,7 +68,19 @@   return ()
 {-# LINE 51 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeletonManager.chs" #-}
 
--- | Override standard Singleton retrieval. Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
+-- | Override standard Singleton retrieval.
+--Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
+getSingleton :: IO (HG3DClass)
+ -- ^ 
+getSingleton =
+  alloca $ \a1' -> 
+  getSingleton'_ a1' >>= \res ->
+  peek  a1'>>= \a1'' -> 
+  return (a1'')
+{-# LINE 55 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeletonManager.chs" #-}
+
+-- | Override standard Singleton retrieval.
+--Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
 getSingletonPtr :: IO (HG3DClass)
  -- ^ 
 getSingletonPtr =
@@ -76,7 +88,7 @@   getSingletonPtr'_ a1' >>= \res ->
   peek  a1'>>= \a1'' -> 
   return (a1'')
-{-# LINE 55 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeletonManager.chs" #-}
+{-# LINE 59 ".\\HGamer3D\\Bindings\\Ogre\\ClassSkeletonManager.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSkeletonManager.chs.h ogre_sklmgr_construct"
@@ -84,6 +96,9 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSkeletonManager.chs.h ogre_sklmgr_destruct"
   delete'_ :: ((HG3DClassPtr) -> (IO ()))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSkeletonManager.chs.h ogre_sklmgr_getSingleton"
+  getSingleton'_ :: ((HG3DClassPtr) -> (IO ()))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSkeletonManager.chs.h ogre_sklmgr_getSingletonPtr"
   getSingletonPtr'_ :: ((HG3DClassPtr) -> (IO ()))
HGamer3D/Bindings/Ogre/ClassTextureManager.hs view
@@ -82,7 +82,19 @@   return (a2'')
 {-# LINE 57 ".\\HGamer3D\\Bindings\\Ogre\\ClassTextureManager.chs" #-}
 
--- | Override standard Singleton retrieval. Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
+-- | Override standard Singleton retrieval.
+--Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
+getSingleton :: IO (HG3DClass)
+ -- ^ 
+getSingleton =
+  alloca $ \a1' -> 
+  getSingleton'_ a1' >>= \res ->
+  peek  a1'>>= \a1'' -> 
+  return (a1'')
+{-# LINE 61 ".\\HGamer3D\\Bindings\\Ogre\\ClassTextureManager.chs" #-}
+
+-- | Override standard Singleton retrieval.
+--Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. 
 getSingletonPtr :: IO (HG3DClass)
  -- ^ 
 getSingletonPtr =
@@ -90,7 +102,7 @@   getSingletonPtr'_ a1' >>= \res ->
   peek  a1'>>= \a1'' -> 
   return (a1'')
-{-# LINE 61 ".\\HGamer3D\\Bindings\\Ogre\\ClassTextureManager.chs" #-}
+{-# LINE 65 ".\\HGamer3D\\Bindings\\Ogre\\ClassTextureManager.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassTextureManager.chs.h ogre_txmgr_destruct"
@@ -101,6 +113,9 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassTextureManager.chs.h ogre_txmgr_getDefaultNumMipmaps"
   getDefaultNumMipmaps'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassTextureManager.chs.h ogre_txmgr_getSingleton"
+  getSingleton'_ :: ((HG3DClassPtr) -> (IO ()))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassTextureManager.chs.h ogre_txmgr_getSingletonPtr"
   getSingletonPtr'_ :: ((HG3DClassPtr) -> (IO ()))
HGamer3D/Bindings/Ogre/ClassVertexAnimationTrack.hs view
@@ -80,7 +80,20 @@   return (a2'')
 {-# LINE 57 ".\\HGamer3D\\Bindings\\Ogre\\ClassVertexAnimationTrack.chs" #-}
 
--- | Applies an animation track to the designated target. 
+-- | Whether the vertex animation (if present) includes normals 
+getVertexAnimationIncludesNormals :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Bool)
+ -- ^ 
+getVertexAnimationIncludesNormals a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getVertexAnimationIncludesNormals'_ a1' a2' >>= \res ->
+  peekBoolUtil  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 62 ".\\HGamer3D\\Bindings\\Ogre\\ClassVertexAnimationTrack.chs" #-}
+
+-- | Applies an animation track to the designated target.
+--
 apply :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  HG3DClass  -- ^ timeIndex
   ->  Float  -- ^ weight
@@ -94,7 +107,7 @@   let {a4' = realToFrac a4} in 
   apply'_ a1' a2' a3' a4' >>= \res ->
   return ()
-{-# LINE 64 ".\\HGamer3D\\Bindings\\Ogre\\ClassVertexAnimationTrack.chs" #-}
+{-# LINE 69 ".\\HGamer3D\\Bindings\\Ogre\\ClassVertexAnimationTrack.chs" #-}
 
 -- | Set the target mode. 
 setTargetMode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -106,7 +119,7 @@   let {a2' = cIntFromEnum a2} in 
   setTargetMode'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 69 ".\\HGamer3D\\Bindings\\Ogre\\ClassVertexAnimationTrack.chs" #-}
+{-# LINE 74 ".\\HGamer3D\\Bindings\\Ogre\\ClassVertexAnimationTrack.chs" #-}
 
 -- | Get the target mode. 
 getTargetMode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -118,9 +131,10 @@   getTargetMode'_ a1' a2' >>= \res ->
   peekEnumUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 74 ".\\HGamer3D\\Bindings\\Ogre\\ClassVertexAnimationTrack.chs" #-}
+{-# LINE 79 ".\\HGamer3D\\Bindings\\Ogre\\ClassVertexAnimationTrack.chs" #-}
 
--- | Method to determine if this track has any KeyFrames which are doing anything useful - can be used to determine if this track can be optimised out. 
+-- | Method to determine if this track has any KeyFrames which are
+--
 hasNonZeroKeyFrames :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Bool)
  -- ^ 
@@ -130,7 +144,7 @@   hasNonZeroKeyFrames'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 79 ".\\HGamer3D\\Bindings\\Ogre\\ClassVertexAnimationTrack.chs" #-}
+{-# LINE 84 ".\\HGamer3D\\Bindings\\Ogre\\ClassVertexAnimationTrack.chs" #-}
 
 -- | Optimise the current track by removing any duplicate keyframes. 
 optimise :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -140,7 +154,7 @@   withHG3DClass a1 $ \a1' -> 
   optimise'_ a1' >>= \res ->
   return ()
-{-# LINE 83 ".\\HGamer3D\\Bindings\\Ogre\\ClassVertexAnimationTrack.chs" #-}
+{-# LINE 88 ".\\HGamer3D\\Bindings\\Ogre\\ClassVertexAnimationTrack.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassVertexAnimationTrack.chs.h ogre_vat_construct"
@@ -148,6 +162,9 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassVertexAnimationTrack.chs.h ogre_vat_getAnimationType"
   getAnimationType'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassVertexAnimationTrack.chs.h ogre_vat_getVertexAnimationIncludesNormals"
+  getVertexAnimationIncludesNormals'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassVertexAnimationTrack.chs.h ogre_vat_apply"
   apply'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (CFloat -> (CFloat -> (IO ())))))
HGamer3D/Bindings/Ogre/ClassViewport.hs view
@@ -328,7 +328,32 @@   return (a2'')
 {-# LINE 162 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
--- | Determines whether to clear the viewport before rendering. You can use this method to set which buffers are cleared (if any) before rendering every frame. 
+-- | Sets the initial depth buffer value of the viewport (before rendering). Default is 1 
+setDepthClear :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  Float  -- ^ depth
+  ->  IO ()
+ -- ^ 
+setDepthClear a1 a2 =
+  withHG3DClass a1 $ \a1' -> 
+  let {a2' = realToFrac a2} in 
+  setDepthClear'_ a1' a2' >>= \res ->
+  return ()
+{-# LINE 167 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+
+-- | Gets the default depth buffer value to which the viewport is cleared. 
+getDepthClear :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
+  ->  IO (Float)
+ -- ^ 
+getDepthClear a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  getDepthClear'_ a1' a2' >>= \res ->
+  peekFloatConv  a2'>>= \a2'' -> 
+  return (a2'')
+{-# LINE 172 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+
+-- | Determines whether to clear the viewport before rendering.
+--You can use this method to set which buffers are cleared (if any) before rendering every frame. 
 setClearEveryFrame :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ clear - Whether or not to clear any buffers 
   ->  Int  -- ^ buffers - One or more values from FrameBufferType denoting which buffers to clear, if clear is set to true. Note you should not clear the stencil buffer here unless you know what you're doing. 
@@ -340,7 +365,7 @@   let {a3' = fromIntegral a3} in 
   setClearEveryFrame'_ a1' a2' a3' >>= \res ->
   return ()
-{-# LINE 168 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 178 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
 -- | Determines if the viewport is cleared before every frame. 
 getClearEveryFrame :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -352,7 +377,7 @@   getClearEveryFrame'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 173 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 183 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
 -- | Gets which buffers are to be cleared each frame. 
 getClearBuffers :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -364,9 +389,11 @@   getClearBuffers'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 178 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 188 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
--- | Sets whether this viewport should be automatically updated if OgreRenderTarget::updateBy default, if you use OgreRoot::startRenderingRenderTarget::update
+-- | Sets whether this viewport should be automatically updated 
+--if Ogre's rendering loop or RenderTarget::update is being used.
+--By default, if you use OgreRoot::startRenderingRenderTarget::update
 setAutoUpdated :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ autoupdate - If true, the viewport is updated during the automatic render loop or when RenderTarget::update() is called. If false, the viewport is only updated when its update() method is called explicitly. 
   ->  IO ()
@@ -376,7 +403,7 @@   let {a2' = fromBool a2} in 
   setAutoUpdated'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 183 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 193 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
 -- | Gets whether this viewport is automatically updated if OgreRenderTarget::update
 isAutoUpdated :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -388,9 +415,10 @@   isAutoUpdated'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 188 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 198 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
--- | Set the material scheme which the viewport should use. This allows you to tell the system to use a particular material scheme when rendering this viewport, which can involve using different techniques to render your materials. Technique::setSchemeName 
+-- | Set the material scheme which the viewport should use.
+--This allows you to tell the system to use a particular material scheme when rendering this viewport, which can involve using different techniques to render your materials. Technique::setSchemeName 
 setMaterialScheme :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ schemeName
   ->  IO ()
@@ -400,7 +428,7 @@   withCString a2 $ \a2' -> 
   setMaterialScheme'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 193 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 203 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
 -- | Get the material scheme which the viewport should use. 
 getMaterialScheme :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -412,7 +440,7 @@   getMaterialScheme'_ a1' a2' >>= \res ->
   peekCString  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 198 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 208 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
 -- | Access to actual dimensions (based on target size). 
 getActualDimensions :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -430,9 +458,10 @@   peekIntConv  a4'>>= \a4'' -> 
   peekIntConv  a5'>>= \a5'' -> 
   return (a2'', a3'', a4'', a5'')
-{-# LINE 206 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 216 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
--- | Tells this viewport whether it should display Overlay objects. Overlay objects are layers which appear on top of the scene. They are created via SceneManager::createOverlay and every viewport displays these by default. However, you probably don't want this if you're using multiple viewports, because one of them is probably a picture-in-picture which is not supposed to have overlays of it's own. In this case you can turn off overlays on this viewport by calling this method. 
+-- | Tells this viewport whether it should display Overlay objects.
+--Overlay objects are layers which appear on top of the scene. They are created via SceneManager::createOverlay and every viewport displays these by default. However, you probably don't want this if you're using multiple viewports, because one of them is probably a picture-in-picture which is not supposed to have overlays of it's own. In this case you can turn off overlays on this viewport by calling this method. 
 setOverlaysEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enabled - If true, any overlays are displayed, if false they are not. 
   ->  IO ()
@@ -442,7 +471,7 @@   let {a2' = fromBool a2} in 
   setOverlaysEnabled'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 211 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 221 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
 -- | Returns whether or not Overlay objects (created in the SceneManager
 getOverlaysEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -454,9 +483,10 @@   getOverlaysEnabled'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 216 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 226 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
--- | Tells this viewport whether it should display skies. Skies are layers which appear on background of the scene. They are created via SceneManager::setSkyBoxSceneManager::setSkyPlaneSceneManager::setSkyDome
+-- | Tells this viewport whether it should display skies.
+--Skies are layers which appear on background of the scene. They are created via SceneManager::setSkyBoxSceneManager::setSkyPlaneSceneManager::setSkyDome
 setSkiesEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enabled - If true, any skies are displayed, if false they are not. 
   ->  IO ()
@@ -466,7 +496,7 @@   let {a2' = fromBool a2} in 
   setSkiesEnabled'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 221 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 231 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
 -- | Returns whether or not skies (created in the SceneManager
 getSkiesEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -478,9 +508,10 @@   getSkiesEnabled'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 226 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 236 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
--- | Tells this viewport whether it should display shadows. This setting enables you to disable shadow rendering for a given viewport. The global shadow technique set on SceneManager
+-- | Tells this viewport whether it should display shadows.
+--This setting enables you to disable shadow rendering for a given viewport. The global shadow technique set on SceneManager
 setShadowsEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Bool  -- ^ enabled - If true, any shadows are displayed, if false they are not. 
   ->  IO ()
@@ -490,7 +521,7 @@   let {a2' = fromBool a2} in 
   setShadowsEnabled'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 231 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 241 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
 -- | Returns whether or not shadows (defined in the SceneManager
 getShadowsEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -502,9 +533,10 @@   getShadowsEnabled'_ a1' a2' >>= \res ->
   peekBoolUtil  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 236 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 246 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
--- | Sets a per-viewport visibility mask. The visibility mask is a way to exclude objects from rendering for a given viewport. For each object in the frustum, a check is made between this mask and the objects visibility flags (MovableObject::setVisibilityFlags
+-- | Sets a per-viewport visibility mask.
+--The visibility mask is a way to exclude objects from rendering for a given viewport. For each object in the frustum, a check is made between this mask and the objects visibility flags (MovableObject::setVisibilityFlags
 setVisibilityMask :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  Int  -- ^ mask
   ->  IO ()
@@ -514,9 +546,10 @@   let {a2' = fromIntegral a2} in 
   setVisibilityMask'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 241 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 251 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
--- | Gets a per-viewport visibility mask. Viewport::setVisibilityMask
+-- | Gets a per-viewport visibility mask.
+--Viewport::setVisibilityMask
 getVisibilityMask :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  IO (Int)
  -- ^ 
@@ -526,9 +559,11 @@   getVisibilityMask'_ a1' a2' >>= \res ->
   peekIntConv  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 246 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 256 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
--- | Sets the use of a custom RenderQueueInvocationSequence for rendering this target. RenderQueueInvocationSequence instances are managed through RootRenderTargetRoot
+-- | Sets the use of a custom RenderQueueInvocationSequence for
+--rendering this target.
+--RenderQueueInvocationSequence instances are managed through RootRenderTargetRoot
 setRenderQueueInvocationSequenceName :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
   ->  String  -- ^ sequenceName
   ->  IO ()
@@ -538,7 +573,7 @@   withCString a2 $ \a2' -> 
   setRenderQueueInvocationSequenceName'_ a1' a2' >>= \res ->
   return ()
-{-# LINE 251 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 261 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
 -- | Gets the name of the render queue invocation sequence for this target. 
 getRenderQueueInvocationSequenceName :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -550,7 +585,7 @@   getRenderQueueInvocationSequenceName'_ a1' a2' >>= \res ->
   peekCString  a2'>>= \a2'' -> 
   return (a2'')
-{-# LINE 256 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 266 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
 -- | Convert oriented input point coordinates to screen coordinates. 
 pointOrientedToScreen :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -566,7 +601,7 @@   pointOrientedToScreen'_ a1' a2' a3' a4' >>= \res ->
   peekVec2  a4'>>= \a4'' -> 
   return (a4'')
-{-# LINE 263 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 273 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
 -- | 
 pointOrientedToScreen2 :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
@@ -586,7 +621,7 @@   peekFloatConv  a5'>>= \a5'' -> 
   peekFloatConv  a6'>>= \a6'' -> 
   return (a5'', a6'')
-{-# LINE 272 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 282 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
 -- | Set the initial orientation mode of viewports. 
 setDefaultOrientationMode :: EnumOrientationMode  -- ^ orientationMode
@@ -596,7 +631,7 @@   let {a1' = cIntFromEnum a1} in 
   setDefaultOrientationMode'_ a1' >>= \res ->
   return ()
-{-# LINE 276 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 286 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
 -- | Get the initial orientation mode of viewports. 
 getDefaultOrientationMode :: IO (EnumOrientationMode)
@@ -606,7 +641,7 @@   getDefaultOrientationMode'_ a1' >>= \res ->
   peekEnumUtil  a1'>>= \a1'' -> 
   return (a1'')
-{-# LINE 280 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
+{-# LINE 290 ".\\HGamer3D\\Bindings\\Ogre\\ClassViewport.chs" #-}
 
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassViewport.chs.h ogre_vprt_construct"
@@ -671,6 +706,12 @@ 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassViewport.chs.h ogre_vprt_getBackgroundColour"
   getBackgroundColour'_ :: ((HG3DClassPtr) -> ((ColourPtr) -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassViewport.chs.h ogre_vprt_setDepthClear"
+  setDepthClear'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassViewport.chs.h ogre_vprt_getDepthClear"
+  getDepthClear'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
 
 foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassViewport.chs.h ogre_vprt_setClearEveryFrame"
   setClearEveryFrame'_ :: ((HG3DClassPtr) -> (CInt -> (CUInt -> (IO ()))))
+ HGamer3D/Bindings/Ogre/ClassWindowUtilsHG3D.hs view
@@ -0,0 +1,84 @@+-- GENERATED by C->Haskell Compiler, version 0.16.3 Crystal Seed, 24 Jan 2009 (Haskell)
+-- Edit the ORIGNAL .chs file instead!
+
+
+{-# LINE 1 ".\\HGamer3D\\Bindings\\Ogre\\ClassWindowUtilsHG3D.chs" #-}{-# LANGUAGE ForeignFunctionInterface #-}
+{-# LANGUAGE TypeSynonymInstances #-}
+
+-- This source file is part of HGamer3D
+-- (A project to enable 3D game development in Haskell)
+-- For the latest info, see http://www.althainz.de/HGamer3D.html
+-- 
+
+-- (c) 2011, 2012 Peter Althainz
+-- 
+-- Licensed under the Apache License, Version 2.0 (the "License");
+-- you may not use this file except in compliance with the License.
+-- You may obtain a copy of the License at
+-- 
+--     http://www.apache.org/licenses/LICENSE-2.0
+-- 
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+-- 
+
+
+-- ClassWindowUtilsHG3D.chs
+
+-- 
+
+module HGamer3D.Bindings.Ogre.ClassWindowUtilsHG3D where
+
+import Foreign
+import Foreign.Ptr
+import Foreign.C
+
+import HGamer3D.Data.HG3DClass
+import HGamer3D.Data.Vector
+import HGamer3D.Data.Colour
+import HGamer3D.Data.Angle
+
+import HGamer3D.Bindings.Ogre.Utils
+{-# LINE 40 ".\\HGamer3D\\Bindings\\Ogre\\ClassWindowUtilsHG3D.chs" #-}
+import HGamer3D.Bindings.Ogre.ClassPtr
+{-# LINE 41 ".\\HGamer3D\\Bindings\\Ogre\\ClassWindowUtilsHG3D.chs" #-}
+import HGamer3D.Bindings.Ogre.StructHG3DClass
+{-# LINE 42 ".\\HGamer3D\\Bindings\\Ogre\\ClassWindowUtilsHG3D.chs" #-}
+
+-- | 
+getWindowTopLeft :: HG3DClass  -- ^ rwind
+  ->  IO (Int, Int, Int, Int)
+ -- ^ top
+getWindowTopLeft a1 =
+  withHG3DClass a1 $ \a1' -> 
+  alloca $ \a2' -> 
+  alloca $ \a3' -> 
+  alloca $ \a4' -> 
+  alloca $ \a5' -> 
+  getWindowTopLeft'_ a1' a2' a3' a4' a5' >>= \res ->
+  peekIntConv  a2'>>= \a2'' -> 
+  peekIntConv  a3'>>= \a3'' -> 
+  peekIntConv  a4'>>= \a4'' -> 
+  peekIntConv  a5'>>= \a5'' -> 
+  return (a2'', a3'', a4'', a5'')
+{-# LINE 51 ".\\HGamer3D\\Bindings\\Ogre\\ClassWindowUtilsHG3D.chs" #-}
+
+-- | 
+showCursor :: Bool  -- ^ fShow
+  ->  IO ()
+ -- ^ 
+showCursor a1 =
+  let {a1' = fromBool a1} in 
+  showCursor'_ a1' >>= \res ->
+  return ()
+{-# LINE 55 ".\\HGamer3D\\Bindings\\Ogre\\ClassWindowUtilsHG3D.chs" #-}
+
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassWindowUtilsHG3D.chs.h ogre_wuhg3d_getWindowTopLeft"
+  getWindowTopLeft'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CInt) -> (IO ()))))))
+
+foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassWindowUtilsHG3D.chs.h ogre_wuhg3d_showCursor"
+  showCursor'_ :: (CInt -> (IO ()))
HGamer3D/Bindings/Ogre/EnumSkeletonAnimationBlendMode.hs view
@@ -47,4 +47,11 @@     ANIMBLEND_AVERAGE
    -- | Animations are applied by calculating a weighted cumulative total. 
                                        | ANIMBLEND_CUMULATIVE
-                                    deriving (Enum,Eq)
+                                    deriving (Eq)
+instance Enum EnumSkeletonAnimationBlendMode where
+  fromEnum ANIMBLEND_AVERAGE = 0
+  fromEnum ANIMBLEND_CUMULATIVE = 1
+
+  toEnum 0 = ANIMBLEND_AVERAGE
+  toEnum 1 = ANIMBLEND_CUMULATIVE
+  toEnum unmatched = error ("EnumSkeletonAnimationBlendMode.toEnum: Cannot match " ++ show unmatched)
include/ClassAnimation.h view
@@ -141,6 +141,18 @@ 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_getUseBaseKeyFrame(struct hg3dclass_struct * thisclass_c, int * result_c);
+
+// 
+void ogre_anm_getBaseKeyFrameTime(struct hg3dclass_struct * thisclass_c, float * result_c);
+
+// 
+void ogre_anm_getBaseKeyFrameAnimationName(struct hg3dclass_struct * thisclass_c, char * result_c);
+
+// 
 void ogre_anm_setDefaultInterpolationMode(enum EnumAnimationInterpolationMode im_c);
 
 // 
include/ClassAnimationState.h view
@@ -30,7 +30,7 @@ 
 
 
-// Normal constructor with all params supplied. 
+// 
 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);
 
 // 
@@ -81,19 +81,19 @@ // Get the parent animation state set. 
 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 
+// 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);
 
-// destroy the currently set blend mask 
+// 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 
+// Return whether there is currently a valid blend mask set. 
 void ogre_anms_hasBlendMask(struct hg3dclass_struct * thisclass_c, int * result_c);
 
-// set the weight for the bone identified by the given handle 
+// 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);
 
-// get the weight for the bone identified by the given handle 
+// 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);
 
 #endif 
include/ClassArchiveManager.h view
@@ -43,6 +43,9 @@ void ogre_archm_unload2(struct hg3dclass_struct * thisclass_c, char * filename_c);
 
 // 
+void ogre_archm_getSingleton(struct hg3dclass_struct * result_c);
+
+// 
 void ogre_archm_getSingletonPtr(struct hg3dclass_struct * result_c);
 
 #endif 
include/ClassBillboardChain.h view
@@ -27,8 +27,11 @@ 
 #include "ClassPtr.h"
 #include "EnumBillboardChainTexCoordDirection.h"
+#include "StructVec3.h"
 #include "ClassCamera.h"
 #include "StructSharedPtr.h"
+#include "ClassSceneManager.h"
+#include "ClassRenderSystem.h"
 
 
 
@@ -86,6 +89,9 @@ // 
 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);
+
 // Get the material name in use. 
 void ogre_bbdc_getMaterialName(struct hg3dclass_struct * thisclass_c, char * result_c);
 
@@ -103,5 +109,8 @@ 
 // 
 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);
 
 #endif 
include/ClassCamera.h view
@@ -140,9 +140,6 @@ void ogre_cam_getMovableType(struct hg3dclass_struct * thisclass_c, char * result_c);
 
 // 
-void ogre_cam_setAutoTracking(struct hg3dclass_struct * thisclass_c, int enabled_c, struct hg3dclass_struct * target_c, struct vector3_struct * offset_c);
-
-// 
 void ogre_cam_setLodBias(struct hg3dclass_struct * thisclass_c, float factor_c);
 
 // 
@@ -213,5 +210,15 @@ 
 // 
 void ogre_cam_getOrientationForViewUpdate(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * result_c);
+
+// Sets whether to use min display size calculations 
+
+void ogre_cam_setUseMinPixelSize(struct hg3dclass_struct * thisclass_c, int enable_c);
+
+// 
+void ogre_cam_getUseMinPixelSize(struct hg3dclass_struct * thisclass_c, int * result_c);
+
+// 
+void ogre_cam_getPixelDisplayRatio(struct hg3dclass_struct * thisclass_c, float * result_c);
 
 #endif 
include/ClassControllerManager.h view
@@ -60,6 +60,9 @@ void ogre_cmgr_setElapsedTime(struct hg3dclass_struct * thisclass_c, float elapsedTime_c);
 
 // 
+void ogre_cmgr_getSingleton(struct hg3dclass_struct * result_c);
+
+// 
 void ogre_cmgr_getSingletonPtr(struct hg3dclass_struct * result_c);
 
 #endif 
include/ClassEntity.h view
@@ -60,6 +60,9 @@ 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_getAllAnimationStates(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
 
 // 
@@ -139,5 +142,11 @@ 
 // 
 void ogre_ent_getSkipAnimationStateUpdate(struct hg3dclass_struct * thisclass_c, int * result_c);
+
+// 
+void ogre_ent_setAlwaysUpdateMainSkeleton(struct hg3dclass_struct * thisclass_c, int update_c);
+
+// 
+void ogre_ent_getAlwaysUpdateMainSkeleton(struct hg3dclass_struct * thisclass_c, int * result_c);
 
 #endif 
+ include/ClassHG3DMessagePump.h view
@@ -0,0 +1,53 @@+// This source file is part of HGamer3D
+// (A project to enable 3D game development in Haskell)
+// For the latest info, see http://www.althainz.de/HGamer3D.html
+// 
+// (c) 2011, 2012 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// 
+
+// ClassHG3DMessagePump.h
+
+// 
+
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassHG3DMessagePump
+#define _DEFINED_HG3D_ClassHG3DMessagePump
+
+#include "ClassPtr.h"
+
+
+
+// 
+void ogre_hg3dmp_construct(struct hg3dclass_struct * result_c);
+
+// 
+void ogre_hg3dmp_destruct(struct hg3dclass_struct * thisclass_c);
+
+// 
+void ogre_hg3dmp_messagePump(struct hg3dclass_struct * thisclass_c);
+
+// 
+void ogre_hg3dmp_eventsPending(struct hg3dclass_struct * thisclass_c, int * result_c);
+
+// 
+void ogre_hg3dmp_getKeyUpEvent(struct hg3dclass_struct * thisclass_c, int * result_c);
+
+// 
+void ogre_hg3dmp_getKeyDownEvent(struct hg3dclass_struct * thisclass_c, int * result_c);
+
+// 
+void ogre_hg3dmp_getCharEvent(struct hg3dclass_struct * thisclass_c, int * result_c);
+
+#endif 
include/ClassLight.h view
@@ -118,6 +118,12 @@ void ogre_lgt_setSpotlightFalloff(struct hg3dclass_struct * thisclass_c, float val_c);
 
 // 
+void ogre_lgt_setSpotlightNearClipDistance(struct hg3dclass_struct * thisclass_c, float nearClip_c);
+
+// 
+void ogre_lgt_getSpotlightNearClipDistance(struct hg3dclass_struct * thisclass_c, float * result_c);
+
+// 
 void ogre_lgt_setPowerScale(struct hg3dclass_struct * thisclass_c, float power_c);
 
 // 
include/ClassLogManager.h view
@@ -63,6 +63,9 @@ void ogre_lmgr_setLogDetail(struct hg3dclass_struct * thisclass_c, enum EnumLoggingLevel ll_c);
 
 // 
+void ogre_lmgr_getSingleton(struct hg3dclass_struct * result_c);
+
+// 
 void ogre_lmgr_getSingletonPtr(struct hg3dclass_struct * result_c);
 
 #endif 
include/ClassManualObject.h view
@@ -113,6 +113,12 @@ // 
 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);
 
+// 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);
+
+// 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_end(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
 
include/ClassMaterialManager.h view
@@ -42,7 +42,7 @@ // 
 void ogre_mtrlmgr_setDefaultAnisotropy(struct hg3dclass_struct * thisclass_c, unsigned int maxAniso_c);
 
-// get the default maxAnisotropy 
+// Get the default maxAnisotropy. 
 void ogre_mtrlmgr_getDefaultAnisotropy(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
 
 // 
@@ -53,6 +53,9 @@ 
 // 
 void ogre_mtrlmgr_setActiveScheme(struct hg3dclass_struct * thisclass_c, char * schemeName_c);
+
+// 
+void ogre_mtrlmgr_getSingleton(struct hg3dclass_struct * result_c);
 
 // 
 void ogre_mtrlmgr_getSingletonPtr(struct hg3dclass_struct * result_c);
include/ClassMesh.h view
@@ -110,6 +110,9 @@ // 
 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_createAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, float length_c, struct hg3dclass_struct * result_c);
 
include/ClassMeshManager.h view
@@ -52,6 +52,9 @@ void ogre_mshmgr_loadResource(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * res_c);
 
 // 
+void ogre_mshmgr_getSingleton(struct hg3dclass_struct * result_c);
+
+// 
 void ogre_mshmgr_getSingletonPtr(struct hg3dclass_struct * result_c);
 
 #endif 
include/ClassMovableObject.h view
@@ -78,6 +78,12 @@ void ogre_mvo_getRenderingDistance(struct hg3dclass_struct * thisclass_c, float * result_c);
 
 // 
+void ogre_mvo_setRenderingMinPixelSize(struct hg3dclass_struct * thisclass_c, float pixelSize_c);
+
+// 
+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);
 
 // 
include/ClassPtr.h view
@@ -202,4 +202,10 @@ typedef void ClassWindowEventUtilities; 
 hg3dclass_struct getHG3DClass_WindowEventUtilities(void *ptrIn);
 
+typedef void ClassWindowUtilsHG3D; 
+hg3dclass_struct getHG3DClass_WindowUtilsHG3D(void *ptrIn);
+
+typedef void ClassHG3DMessagePump; 
+hg3dclass_struct getHG3DClass_HG3DMessagePump(void *ptrIn);
+
 #endif
include/ClassRenderSystem.h view
@@ -76,6 +76,9 @@ void ogre_rds_destroyRenderTarget(struct hg3dclass_struct * thisclass_c, char * name_c);
 
 // 
+void ogre_rds_attachRenderTarget(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * target_c);
+
+// 
 void ogre_rds_getRenderTarget(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
 
 // 
@@ -91,6 +94,21 @@ void ogre_rds_getWaitForVerticalBlank(struct hg3dclass_struct * thisclass_c, int * result_c);
 
 // 
+void ogre_rds_getGlobalNumberOfInstances(struct hg3dclass_struct * thisclass_c, int * result_c);
+
+// 
+void ogre_rds_setGlobalNumberOfInstances(struct hg3dclass_struct * thisclass_c, const int val_c);
+
+// 
+void ogre_rds_setFixedPipelineEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);
+
+// 
+void ogre_rds_getFixedPipelineEnabled(struct hg3dclass_struct * thisclass_c, int * result_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);
 
 // 
@@ -161,5 +179,14 @@ 
 // 
 void ogre_rds_getDisplayMonitorCount(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+
+// 
+void ogre_rds_beginProfileEvent(struct hg3dclass_struct * thisclass_c, char * eventName_c);
+
+// 
+void ogre_rds_endProfileEvent(struct hg3dclass_struct * thisclass_c);
+
+// 
+void ogre_rds_markProfileEvent(struct hg3dclass_struct * thisclass_c, char * event_c);
 
 #endif 
include/ClassRenderTarget.h view
@@ -50,6 +50,15 @@ void ogre_rtgt_getColourDepth(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
 
 // 
+void ogre_rtgt_setDepthBufferPool(struct hg3dclass_struct * thisclass_c, unsigned short poolId_c);
+
+// 
+void ogre_rtgt_getDepthBufferPool(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);
+
+// 
+void ogre_rtgt_detachDepthBuffer(struct hg3dclass_struct * thisclass_c);
+
+// 
 void ogre_rtgt_update(struct hg3dclass_struct * thisclass_c, int swapBuffers_c);
 
 // 
@@ -63,6 +72,12 @@ 
 // 
 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_hasViewportWithZOrder(struct hg3dclass_struct * thisclass_c, int ZOrder_c, int * result_c);
 
 // 
 void ogre_rtgt_removeViewport(struct hg3dclass_struct * thisclass_c, int ZOrder_c);
include/ClassRenderWindow.h view
@@ -51,6 +51,24 @@ void ogre_rw_setVisible(struct hg3dclass_struct * thisclass_c, int visible_c);
 
 // 
+void ogre_rw_isHidden(struct hg3dclass_struct * thisclass_c, int * result_c);
+
+// 
+void ogre_rw_setHidden(struct hg3dclass_struct * thisclass_c, int hidden_c);
+
+// 
+void ogre_rw_setVSyncEnabled(struct hg3dclass_struct * thisclass_c, int vsync_c);
+
+// 
+void ogre_rw_isVSyncEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);
+
+// 
+void ogre_rw_setVSyncInterval(struct hg3dclass_struct * thisclass_c, unsigned int interval_c);
+
+// 
+void ogre_rw_getVSyncInterval(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+
+// 
 void ogre_rw_isActive(struct hg3dclass_struct * thisclass_c, int * result_c);
 
 // 
include/ClassRenderable.h view
@@ -67,6 +67,12 @@ void ogre_rndl_getCastsShadows(struct hg3dclass_struct * thisclass_c, int * result_c);
 
 // 
+void ogre_rndl_removeCustomParameter(struct hg3dclass_struct * thisclass_c, int index_c);
+
+// 
+void ogre_rndl_hasCustomParameter(struct hg3dclass_struct * thisclass_c, int index_c, int * result_c);
+
+// 
 void ogre_rndl_setPolygonModeOverrideable(struct hg3dclass_struct * thisclass_c, int override_c);
 
 // 
include/ClassResourceGroupManager.h view
@@ -118,6 +118,9 @@ void ogre_rgmgr_shutdownAll(struct hg3dclass_struct * thisclass_c);
 
 // 
+void ogre_rgmgr_getSingleton(struct hg3dclass_struct * result_c);
+
+// 
 void ogre_rgmgr_getSingletonPtr(struct hg3dclass_struct * result_c);
 
 #endif 
include/ClassRoot.h view
@@ -132,10 +132,10 @@ void ogre_rt_getAutoCreatedWindow(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_rt_detachRenderTarget(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * pWin_c);
+void ogre_rt_detachRenderTarget(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * pWin_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_rt_detachRenderTarget2(struct hg3dclass_struct * thisclass_c, char * name_c);
+void ogre_rt_detachRenderTarget2(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
 
 // 
 void ogre_rt_destroyRenderTarget(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * target_c);
@@ -181,6 +181,27 @@ 
 // 
 void ogre_rt_getDisplayMonitorCount(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);
+
+// 
+void ogre_rt_setBlendIndicesGpuRedundant(struct hg3dclass_struct * thisclass_c, int redundant_c);
+
+// 
+void ogre_rt_isBlendIndicesGpuRedundant(struct hg3dclass_struct * thisclass_c, int * result_c);
+
+// 
+void ogre_rt_setBlendWeightsGpuRedundant(struct hg3dclass_struct * thisclass_c, int redundant_c);
+
+// 
+void ogre_rt_isBlendWeightsGpuRedundant(struct hg3dclass_struct * thisclass_c, int * result_c);
+
+// 
+void ogre_rt_setDefaultMinPixelSize(struct hg3dclass_struct * thisclass_c, float pixelSize_c);
+
+// 
+void ogre_rt_getDefaultMinPixelSize(struct hg3dclass_struct * thisclass_c, float * result_c);
+
+// 
+void ogre_rt_getSingleton(struct hg3dclass_struct * result_c);
 
 // 
 void ogre_rt_getSingletonPtr(struct hg3dclass_struct * result_c);
include/ClassSceneManager.h view
@@ -30,6 +30,7 @@ #include "ClassLight.h"
 #include "ClassSceneNode.h"
 #include "ClassEntity.h"
+#include "StructSharedPtr.h"
 #include "EnumSceneManagerPrefabType.h"
 #include "ClassManualObject.h"
 #include "ClassBillboardChain.h"
@@ -40,7 +41,6 @@ #include "ClassAnimationState.h"
 #include "EnumSceneManagerSpecialCaseRenderQueueMode.h"
 #include "EnumLightType.h"
-#include "StructSharedPtr.h"
 #include "ClassMovableObject.h"
 #include "ClassRenderSystem.h"
 #include "ClassViewport.h"
@@ -120,15 +120,21 @@ void ogre_scmgr_createEntity(struct hg3dclass_struct * thisclass_c, char * entityName_c, char * meshName_c, char * groupName_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_scmgr_createEntity2(struct hg3dclass_struct * thisclass_c, char * meshName_c, struct hg3dclass_struct * result_c);
+void ogre_scmgr_createEntity2(struct hg3dclass_struct * thisclass_c, char * entityName_c, struct sharedptr_struct * pMesh_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_scmgr_createEntity3(struct hg3dclass_struct * thisclass_c, char * entityName_c, enum EnumSceneManagerPrefabType ptype_c, struct hg3dclass_struct * result_c);
+void ogre_scmgr_createEntity3(struct hg3dclass_struct * thisclass_c, char * meshName_c, struct hg3dclass_struct * result_c);
 
 // 
-void ogre_scmgr_createEntity4(struct hg3dclass_struct * thisclass_c, enum EnumSceneManagerPrefabType ptype_c, struct hg3dclass_struct * result_c);
+void ogre_scmgr_createEntity4(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * pMesh_c, struct hg3dclass_struct * result_c);
 
 // 
+void ogre_scmgr_createEntity5(struct hg3dclass_struct * thisclass_c, char * entityName_c, enum EnumSceneManagerPrefabType ptype_c, struct hg3dclass_struct * result_c);
+
+// 
+void ogre_scmgr_createEntity6(struct hg3dclass_struct * thisclass_c, enum EnumSceneManagerPrefabType ptype_c, struct hg3dclass_struct * result_c);
+
+// 
 void ogre_scmgr_getEntity(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);
 
 // 
@@ -378,6 +384,9 @@ void ogre_scmgr_setShadowTextureSize(struct hg3dclass_struct * thisclass_c, unsigned short size_c);
 
 // 
+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);
 
 // Get the number of the textures allocated for texture based shadows. 
@@ -469,6 +478,15 @@ 
 // 
 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_destroyInstanceManager(struct hg3dclass_struct * thisclass_c, char * name_c);
+
+// 
+void ogre_scmgr_destroyAllInstanceManagers(struct hg3dclass_struct * thisclass_c);
 
 // 
 void ogre_scmgr_destroyMovableObject(struct hg3dclass_struct * thisclass_c, char * name_c, char * typeName_c);
include/ClassSceneNode.h view
@@ -94,9 +94,6 @@ void ogre_sn_setFixedYawAxis(struct hg3dclass_struct * thisclass_c, int useFixed_c, struct vector3_struct * fixedAxis_c);
 
 // 
-void ogre_sn_setAutoTracking(struct hg3dclass_struct * thisclass_c, int enabled_c, struct hg3dclass_struct * target_c, struct vector3_struct * localDirectionVector_c, struct vector3_struct * offset_c);
-
-// 
 void ogre_sn_getAutoTrackTarget(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);
 
 // 
include/ClassSkeleton.h view
@@ -73,6 +73,9 @@ void ogre_skl_createAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, float length_c, struct hg3dclass_struct * result_c);
 
 // 
+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);
 
 // 
@@ -85,7 +88,7 @@ void ogre_skl_getNumAnimations(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);
 
 // 
-void ogre_skl_getAnimation2(struct hg3dclass_struct * thisclass_c, unsigned short index_c, struct hg3dclass_struct * result_c);
+void ogre_skl_getAnimation3(struct hg3dclass_struct * thisclass_c, unsigned short index_c, struct hg3dclass_struct * result_c);
 
 // 
 void ogre_skl_getBlendMode(struct hg3dclass_struct * thisclass_c, enum EnumSkeletonAnimationBlendMode * result_c);
include/ClassSkeletonManager.h view
@@ -36,6 +36,9 @@ void ogre_sklmgr_destruct(struct hg3dclass_struct * thisclass_c);
 
 // 
+void ogre_sklmgr_getSingleton(struct hg3dclass_struct * result_c);
+
+// 
 void ogre_sklmgr_getSingletonPtr(struct hg3dclass_struct * result_c);
 
 #endif 
include/ClassTextureManager.h view
@@ -39,6 +39,9 @@ void ogre_txmgr_getDefaultNumMipmaps(struct hg3dclass_struct * thisclass_c, int * result_c);
 
 // 
+void ogre_txmgr_getSingleton(struct hg3dclass_struct * result_c);
+
+// 
 void ogre_txmgr_getSingletonPtr(struct hg3dclass_struct * result_c);
 
 #endif 
include/ClassVertexAnimationTrack.h view
@@ -40,6 +40,9 @@ 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_apply(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * timeIndex_c, float weight_c, float scale_c);
 
 // Set the target mode. 
include/ClassViewport.h view
@@ -98,6 +98,12 @@ void ogre_vprt_getBackgroundColour(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * result_c);
 
 // 
+void ogre_vprt_setDepthClear(struct hg3dclass_struct * thisclass_c, float depth_c);
+
+// 
+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);
 
 // 
+ include/ClassWindowUtilsHG3D.h view
@@ -0,0 +1,39 @@+// This source file is part of HGamer3D
+// (A project to enable 3D game development in Haskell)
+// For the latest info, see http://www.althainz.de/HGamer3D.html
+// 
+// (c) 2011, 2012 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// 
+
+// ClassWindowUtilsHG3D.h
+
+// 
+
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassWindowUtilsHG3D
+#define _DEFINED_HG3D_ClassWindowUtilsHG3D
+
+#include "ClassPtr.h"
+#include "ClassRenderWindow.h"
+
+
+
+// 
+void ogre_wuhg3d_getWindowTopLeft(struct hg3dclass_struct * rwind_c, int * top_c, int * bottom_c, int * left_c, int * right_c);
+
+// 
+void ogre_wuhg3d_showCursor(int fShow_c);
+
+#endif 
include/EnumAxisAlignedBoxCorner.h view
@@ -29,13 +29,13 @@ 
 enum EnumAxisAlignedBoxCorner
 {
-  CE_FAR_LEFT_BOTTOM =  0, // 
-  CE_FAR_LEFT_TOP =  1, // 
-  CE_FAR_RIGHT_TOP =  2, // 
-  CE_FAR_RIGHT_BOTTOM =  3, // 
-  CE_NEAR_RIGHT_BOTTOM =  7, // 
-  CE_NEAR_LEFT_BOTTOM =  6, // 
-  CE_NEAR_LEFT_TOP =  5, // 
-  CE_NEAR_RIGHT_TOP =  4 // 
+  CE_FAR_LEFT_BOTTOM = 0, // 
+  CE_FAR_LEFT_TOP = 1, // 
+  CE_FAR_RIGHT_TOP = 2, // 
+  CE_FAR_RIGHT_BOTTOM = 3, // 
+  CE_NEAR_RIGHT_BOTTOM = 7, // 
+  CE_NEAR_LEFT_BOTTOM = 6, // 
+  CE_NEAR_LEFT_TOP = 5, // 
+  CE_NEAR_RIGHT_TOP = 4 // 
 };
 #endif 
include/EnumDataStreamAccessMode.h view
@@ -29,7 +29,7 @@ 
 enum EnumDataStreamAccessMode
 {
-  AM_READ =  1, // 
-  AM_WRITE =  2 // 
+  AM_READ = 1, // 
+  AM_WRITE = 2 // 
 };
 #endif 
include/EnumFrustumPlane.h view
@@ -29,11 +29,11 @@ 
 enum EnumFrustumPlane
 {
-  FRUSTUM_PLANE_NEAR =  0, // 
-  FRUSTUM_PLANE_FAR =  1, // 
-  FRUSTUM_PLANE_LEFT =  2, // 
-  FRUSTUM_PLANE_RIGHT =  3, // 
-  FRUSTUM_PLANE_TOP =  4, // 
-  FRUSTUM_PLANE_BOTTOM =  5 // 
+  FRUSTUM_PLANE_NEAR = 0, // 
+  FRUSTUM_PLANE_FAR = 1, // 
+  FRUSTUM_PLANE_LEFT = 2, // 
+  FRUSTUM_PLANE_RIGHT = 3, // 
+  FRUSTUM_PLANE_TOP = 4, // 
+  FRUSTUM_PLANE_BOTTOM = 5 // 
 };
 #endif 
include/EnumLightType.h view
@@ -29,8 +29,8 @@ 
 enum EnumLightType
 {
-  LT_POINT =  0, // Point light sources give off light equally in all directions, so require only position not direction. 
-  LT_DIRECTIONAL =  1, // Directional lights simulate parallel light beams from a distant source, hence have direction but no position. 
-  LT_SPOTLIGHT =  2 // Spotlights simulate a cone of light from a source so require position and direction, plus extra values for falloff. 
+  LT_POINT = 0, // Point light sources give off light equally in all directions, so require only position not direction. 
+  LT_DIRECTIONAL = 1, // Directional lights simulate parallel light beams from a distant source, hence have direction but no position. 
+  LT_SPOTLIGHT = 2 // Spotlights simulate a cone of light from a source so require position and direction, plus extra values for falloff. 
 };
 #endif 
include/EnumLogMessageLevel.h view
@@ -29,8 +29,8 @@ 
 enum EnumLogMessageLevel
 {
-  LML_TRIVIAL =  1, // 
-  LML_NORMAL =  2, // 
-  LML_CRITICAL =  3 // 
+  LML_TRIVIAL = 1, // 
+  LML_NORMAL = 2, // 
+  LML_CRITICAL = 3 // 
 };
 #endif 
include/EnumLoggingLevel.h view
@@ -29,8 +29,8 @@ 
 enum EnumLoggingLevel
 {
-  LL_LOW =  1, // 
-  LL_NORMAL =  2, // 
-  LL_BOREME =  3 // 
+  LL_LOW = 1, // 
+  LL_NORMAL = 2, // 
+  LL_BOREME = 3 // 
 };
 #endif 
include/EnumOrientationMode.h view
@@ -29,12 +29,12 @@ 
 enum EnumOrientationMode
 {
-  OR_DEGREE_0 =  0, // 
-  OR_DEGREE_90 =  1, // 
-  OR_DEGREE_180 =  2, // 
-  OR_DEGREE_270 =  3, // 
-  OR_PORTRAIT =  OR_DEGREE_0, // 
-  OR_LANDSCAPERIGHT =  OR_DEGREE_90, // 
-  OR_LANDSCAPELEFT =  OR_DEGREE_270 // 
+  OR_DEGREE_0 = 0, // 
+  OR_DEGREE_90 = 1, // 
+  OR_DEGREE_180 = 2, // 
+  OR_DEGREE_270 = 3, // 
+  OR_PORTRAIT = OR_DEGREE_0, // 
+  OR_LANDSCAPERIGHT = OR_DEGREE_90, // 
+  OR_LANDSCAPELEFT = OR_DEGREE_270 // 
 };
 #endif 
include/EnumRenderOperationOperationType.h view
@@ -29,11 +29,11 @@ 
 enum EnumRenderOperationOperationType
 {
-  OT_POINT_LIST =  1, // A list of points, 1 vertex per point. 
-  OT_LINE_LIST =  2, // A list of lines, 2 vertices per line. 
-  OT_LINE_STRIP =  3, // A strip of connected lines, 1 vertex per line plus 1 start vertex. 
-  OT_TRIANGLE_LIST =  4, // A list of triangles, 3 vertices per triangle. 
-  OT_TRIANGLE_STRIP =  5, // A strip of triangles, 3 vertices for the first triangle, and 1 per triangle after that. 
-  OT_TRIANGLE_FAN =  6 // A fan of triangles, 3 vertices for the first triangle, and 1 per triangle after that. 
+  OT_POINT_LIST = 1, // A list of points, 1 vertex per point. 
+  OT_LINE_LIST = 2, // A list of lines, 2 vertices per line. 
+  OT_LINE_STRIP = 3, // A strip of connected lines, 1 vertex per line plus 1 start vertex. 
+  OT_TRIANGLE_LIST = 4, // A list of triangles, 3 vertices per triangle. 
+  OT_TRIANGLE_STRIP = 5, // A strip of triangles, 3 vertices for the first triangle, and 1 per triangle after that. 
+  OT_TRIANGLE_FAN = 6 // A fan of triangles, 3 vertices for the first triangle, and 1 per triangle after that. 
 };
 #endif 
include/EnumRenderTargetStatFlags.h view
@@ -29,12 +29,12 @@ 
 enum EnumRenderTargetStatFlags
 {
-  SF_NONE =  0, // 
-  SF_FPS =  1, // 
-  SF_AVG_FPS =  2, // 
-  SF_BEST_FPS =  4, // 
-  SF_WORST_FPS =  8, // 
-  SF_TRIANGLE_COUNT =  16, // 
-  SF_ALL =  0xFFFF // 
+  SF_NONE = 0, // 
+  SF_FPS = 1, // 
+  SF_AVG_FPS = 2, // 
+  SF_BEST_FPS = 4, // 
+  SF_WORST_FPS = 8, // 
+  SF_TRIANGLE_COUNT = 16, // 
+  SF_ALL = 0xFFFF // 
 };
 #endif 
include/EnumRootFrameEventTimeType.h view
@@ -29,10 +29,10 @@ 
 enum EnumRootFrameEventTimeType
 {
-  FETT_ANY =  0, // 
-  FETT_STARTED =  1, // 
-  FETT_QUEUED =  2, // 
-  FETT_ENDED =  3, // 
-  FETT_COUNT =  4 // 
+  FETT_ANY = 0, // 
+  FETT_STARTED = 1, // 
+  FETT_QUEUED = 2, // 
+  FETT_ENDED = 3, // 
+  FETT_COUNT = 4 // 
 };
 #endif 
include/EnumSceneManagerBoxPlane.h view
@@ -29,11 +29,11 @@ 
 enum EnumSceneManagerBoxPlane
 {
-  BP_FRONT =  0, // 
-  BP_BACK =  1, // 
-  BP_LEFT =  2, // 
-  BP_RIGHT =  3, // 
-  BP_UP =  4, // 
-  BP_DOWN =  5 // 
+  BP_FRONT = 0, // 
+  BP_BACK = 1, // 
+  BP_LEFT = 2, // 
+  BP_RIGHT = 3, // 
+  BP_UP = 4, // 
+  BP_DOWN = 5 // 
 };
 #endif 
include/EnumSceneType.h view
@@ -29,10 +29,10 @@ 
 enum EnumSceneType
 {
-  ST_GENERIC =  1, // 
-  ST_EXTERIOR_CLOSE =  2, // 
-  ST_EXTERIOR_FAR =  4, // 
-  ST_EXTERIOR_REAL_FAR =  8, // 
-  ST_INTERIOR =  16 // 
+  ST_GENERIC = 1, // 
+  ST_EXTERIOR_CLOSE = 2, // 
+  ST_EXTERIOR_FAR = 4, // 
+  ST_EXTERIOR_REAL_FAR = 8, // 
+  ST_INTERIOR = 16 // 
 };
 #endif 
include/EnumSkeletonAnimationBlendMode.h view
@@ -29,7 +29,7 @@ 
 enum EnumSkeletonAnimationBlendMode
 {
-  ANIMBLEND_AVERAGE, // Animations are applied by calculating a weighted average of all animations. 
-  ANIMBLEND_CUMULATIVE // Animations are applied by calculating a weighted cumulative total. 
+  ANIMBLEND_AVERAGE = 0, // Animations are applied by calculating a weighted average of all animations. 
+  ANIMBLEND_CUMULATIVE = 1 // Animations are applied by calculating a weighted cumulative total. 
 };
 #endif 
include/EnumVertexAnimationType.h view
@@ -29,8 +29,8 @@ 
 enum EnumVertexAnimationType
 {
-  VAT_NONE =  0, // No animation. 
-  VAT_MORPH =  1, // Morph animation is made up of many interpolated snapshot keyframes. 
-  VAT_POSE =  2 // Pose animation is made up of a single delta pose keyframe. 
+  VAT_NONE = 0, // No animation. 
+  VAT_MORPH = 1, // Morph animation is made up of many interpolated snapshot keyframes. 
+  VAT_POSE = 2 // Pose animation is made up of a single delta pose keyframe. 
 };
 #endif 
include/OgreDllDefines.h view
@@ -16,10 +16,10 @@ 
 // OgreDllDefines.h
 
-#ifndef _HGamer3DOgre018_DLLDEFINES_H_
-#define _HGamer3DOgre018_DLLDEFINES_H_
+#ifndef _HGamer3DOgre019_DLLDEFINES_H_
+#define _HGamer3DOgre019_DLLDEFINES_H_
 
-/* Cmake will define HGamer3DOgre018_EXPORTS on Windows when it
+/* Cmake will define HGamer3DOgre019_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(HGamer3DOgre018_EXPORTS)
+  #if defined(HGamer3DOgre019_EXPORTS)
     #define  Ogre_LIB_EXPORT __declspec(dllexport)
   #else
     #define  Ogre_LIB_EXPORT __declspec(dllimport)
-  #endif /* HGamer3DOgre018_EXPORTS */
+  #endif /* HGamer3DOgre019_EXPORTS */
 #else /* defined (_WIN32) */
  #define Ogre_LIB_EXPORT
 #endif
 
-#endif /* _HGamer3DOgre018_DLLDEFINES_H_ */
+#endif /* _HGamer3DOgre019_DLLDEFINES_H_ */