packages feed

HGamer3D-Ogre-Binding 0.3.1 → 0.3.2

raw patch · 113 files changed

+7408/−112 lines, 113 files

Files

HGamer3D-Ogre-Binding.cabal view
@@ -1,5 +1,5 @@ Name:                HGamer3D-Ogre-Binding
-Version:             0.3.1
+Version:             0.3.2
 Synopsis:            Ogre Binding for HGamer3D
 Description:         
    HGamer3D is a game engine for developing 3D games in the programming @@ -18,7 +18,7 @@ Cabal-Version:       >=1.4
 Homepage:            http://www.hgamer3d.org
 Category:            Game Engine, Graphics
-Extra-source-files:  Setup.hs, include/WindowUtilsHG3D.h, include/quaternion_struct.h, include/sharedptr_struct.h, include/radian_struct.h, include/vector2_struct.h, include/vector4_struct.h, include/hg3dstruct.h, include/vector3_struct.h, include/colorvalue_struct.h, include/degree_struct.h
+Extra-source-files:  Setup.hs, include/EnumAnimationRotationInterpolationMode.h, include/ClassTimeIndex.h, include/EnumSceneManagerIlluminationRenderStage.h, include/ClassSkeleton.h, include/ClassArchive.h, include/StructHG3DClass.h, include/EnumRenderTargetFrameBuffer.h, include/ClassBillboardSet.h, include/EnumSkeletonAnimationBlendMode.h, include/StructDegrees.h, include/EnumSceneType.h, include/HG3DUtilities.h, include/EnumAxisAlignedBoxCorner.h, include/ClassBillboardSetFactory.h, include/ClassBillboardChainFactory.h, include/EnumOrientationMode.h, include/ClassManualObject.h, include/ClassVertexAnimationTrack.h, include/EnumRootFrameEventTimeType.h, include/EnumRenderOperationOperationType.h, include/ClassManualObjectSection.h, include/StructColour.h, include/ClassResourceGroupManager.h, include/ClassNumericAnimationTrack.h, include/StructVec3.h, include/ClassException.h, include/StructVec2.h, include/ClassTextureManager.h, include/ClassBillboardChain.h, include/EnumSceneManagerPrefabType.h, include/ClassMaterialManager.h, include/EnumSceneManagerSpecialCaseRenderQueueMode.h, include/ClassLight.h, include/ClassAnimationState.h, include/ClassMovableObject.h, include/ClassBone.h, include/ClassAnimation.h, include/ClassRenderTarget.h, include/ClassRenderTexture.h, include/EnumTexCoordCalcMethod.h, include/StructSharedPtr.h, include/ClassRenderSystem.h, include/EnumDataStreamAccessMode.h, include/EnumAnimationInterpolationMode.h, include/ClassMesh.h, include/ClassSceneManager.h, include/EnumGpuProgramType.h, include/ClassRenderable.h, include/ClassNode.h, include/ClassMultiRenderTarget.h, include/EnumLogMessageLevel.h, include/ClassEntityFactory.h, include/ClassAnimationStateSet.h, include/EnumNodeTransformSpace.h, include/ClassSceneManagerFactory.h, include/EnumBillboardRotationType.h, include/EnumProjectionType.h, include/ClassArchiveManager.h, include/EnumMathAngleUnit.h, include/ClassSkeletonManager.h, include/EnumFrustumPlane.h, include/EnumVertexAnimationType.h, include/EnumLoggingLevel.h, include/EnumStencilOperation.h, include/ClassSceneNode.h, include/ClassControllerManager.h, include/ClassManualObjectFactory.h, include/ClassResource.h, include/OgreDllDefines.h, include/ClassLightFactory.h, include/ClassBillboard.h, include/ClassResourceManager.h, include/EnumBillboardOrigin.h, include/StructQuaternion.h, include/ClassFrustum.h, include/ClassNodeAnimationTrack.h, include/EnumBillboardChainTexCoordDirection.h, include/EnumSceneManagerBoxPlane.h, include/ClassEntity.h, include/EnumAxisAlignedBoxExtent.h, include/ClassWindowEventUtilities.h, include/ClassConfigFile.h, include/EnumEntityVertexDataBindChoice.h, include/EnumRenderTargetStatFlags.h, include/EnumBillboardType.h, include/ClassLogManager.h, include/ClassPtr.h, include/StructRadians.h, include/EnumVertexAnimationTrackTargetMode.h, include/ClassCamera.h, include/ClassHG3DUtilities.h, include/ClassRoot.h, include/ClassMovableObjectFactory.h, include/EnumExceptionCode.h, include/ClassViewport.h, include/ClassAnimationTrack.h, include/ClassRenderWindow.h, include/EnumMeshManagerMeshBuildType.h, include/ClassMaterial.h, include/ClassLog.h, include/EnumLightType.h, include/ClassMeshManager.h
 
 Library
   Build-Depends:     base >= 3 && < 5, transformers>=0.3.0,mtl, HGamer3D-Data >= 0.3.0
@@ -33,6 +33,6 @@   Build-tools:       
   build-depends:     
   if os(windows)
-     extra-libraries:   hg3dogre031
+     extra-libraries:   hg3dogre032
   else
-     extra-libraries:   hg3dogre031,OgreMain,OgrePaging,OgreProperty,OgreRTShaderSystem,OgreTerrain
+     extra-libraries:   hg3dogre032,OgreMain,OgrePaging,OgreProperty,OgreRTShaderSystem,OgreTerrain
+ include/ClassAnimation.h view
@@ -0,0 +1,165 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassAnimation.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassAnimation+#define _DEFINED_HG3D_ClassAnimation++#include "ClassPtr.h"+#include "ClassNodeAnimationTrack.h"+#include "ClassNumericAnimationTrack.h"+#include "ClassVertexAnimationTrack.h"+#include "EnumVertexAnimationType.h"+#include "ClassNode.h"+#include "ClassSkeleton.h"+#include "ClassEntity.h"+#include "EnumAnimationInterpolationMode.h"+#include "EnumAnimationRotationInterpolationMode.h"+
+
+// +void ogre_anm_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_anm_getName(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_anm_getLength(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_anm_setLength(struct hg3dclass_struct * thisclass_c, float len_c);++// +void ogre_anm_createNodeTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, struct hg3dclass_struct * result_c);++// +void ogre_anm_createNumericTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, struct hg3dclass_struct * result_c);++// +void ogre_anm_createVertexTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, enum EnumVertexAnimationType animType_c, struct hg3dclass_struct * result_c);++// +void ogre_anm_createNodeTrack2(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, struct hg3dclass_struct * node_c, struct hg3dclass_struct * result_c);++// +void ogre_anm_getNumNodeTracks(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);++// +void ogre_anm_getNodeTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, struct hg3dclass_struct * result_c);++// +void ogre_anm_hasNodeTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, int * result_c);++// +void ogre_anm_getNumNumericTracks(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);++// +void ogre_anm_getNumericTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, struct hg3dclass_struct * result_c);++// +void ogre_anm_hasNumericTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, int * result_c);++// +void ogre_anm_getNumVertexTracks(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);++// +void ogre_anm_getVertexTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, struct hg3dclass_struct * result_c);++// +void ogre_anm_hasVertexTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, int * result_c);++// +void ogre_anm_destroyNodeTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c);++// +void ogre_anm_destroyNumericTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c);++// +void ogre_anm_destroyVertexTrack(struct hg3dclass_struct * thisclass_c, unsigned short handle_c);++// +void ogre_anm_destroyAllTracks(struct hg3dclass_struct * thisclass_c);++// +void ogre_anm_destroyAllNodeTracks(struct hg3dclass_struct * thisclass_c);++// +void ogre_anm_destroyAllNumericTracks(struct hg3dclass_struct * thisclass_c);++// +void ogre_anm_destroyAllVertexTracks(struct hg3dclass_struct * thisclass_c);++// +void ogre_anm_apply(struct hg3dclass_struct * thisclass_c, float timePos_c, float weight_c, float scale_c);++// +void ogre_anm_applyToNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * node_c, float timePos_c, float weight_c, float scale_c);++// +void ogre_anm_apply2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * skeleton_c, float timePos_c, float weight_c, float scale_c);++// +void ogre_anm_apply4(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * entity_c, float timePos_c, float weight_c, int software_c, int hardware_c);++// +void ogre_anm_setInterpolationMode(struct hg3dclass_struct * thisclass_c, enum EnumAnimationInterpolationMode im_c);++// +void ogre_anm_getInterpolationMode(struct hg3dclass_struct * thisclass_c, enum EnumAnimationInterpolationMode * result_c);++// +void ogre_anm_setRotationInterpolationMode(struct hg3dclass_struct * thisclass_c, enum EnumAnimationRotationInterpolationMode im_c);++// +void ogre_anm_getRotationInterpolationMode(struct hg3dclass_struct * thisclass_c, enum EnumAnimationRotationInterpolationMode * result_c);++// +void ogre_anm_optimise(struct hg3dclass_struct * thisclass_c, int discardIdentityNodeTracks_c);++// +void ogre_anm_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);++// +void ogre_anm_getDefaultInterpolationMode(enum EnumAnimationInterpolationMode * result_c);++// +void ogre_anm_setDefaultRotationInterpolationMode(enum EnumAnimationRotationInterpolationMode im_c);++// +void ogre_anm_getDefaultRotationInterpolationMode(enum EnumAnimationRotationInterpolationMode * result_c);++#endif 
+ include/ClassAnimationState.h view
@@ -0,0 +1,97 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassAnimationState.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassAnimationState+#define _DEFINED_HG3D_ClassAnimationState++#include "ClassPtr.h"+#include "ClassAnimationStateSet.h"+
+
+// +void ogre_anms_construct(char * animName_c, struct hg3dclass_struct * parent_c, float timePos_c, float length_c, float weight_c, int enabled_c, struct hg3dclass_struct * result_c);++// +void ogre_anms_destruct(struct hg3dclass_struct * thisclass_c);++// Gets the name of the animation to which this state applies. +void ogre_anms_getAnimationName(struct hg3dclass_struct * thisclass_c, char * result_c);++// Gets the time position for this animation. +void ogre_anms_getTimePosition(struct hg3dclass_struct * thisclass_c, float * result_c);++// Sets the time position for this animation. +void ogre_anms_setTimePosition(struct hg3dclass_struct * thisclass_c, float timePos_c);++// Gets the total length of this animation (may be shorter than whole animation) +void ogre_anms_getLength(struct hg3dclass_struct * thisclass_c, float * result_c);++// Sets the total length of this animation (may be shorter than whole animation) +void ogre_anms_setLength(struct hg3dclass_struct * thisclass_c, float len_c);++// Gets the weight (influence) of this animation. +void ogre_anms_getWeight(struct hg3dclass_struct * thisclass_c, float * result_c);++// Sets the weight (influence) of this animation. +void ogre_anms_setWeight(struct hg3dclass_struct * thisclass_c, float weight_c);++// +void ogre_anms_addTime(struct hg3dclass_struct * thisclass_c, float offset_c);++// Returns true if the animation has reached the end and is not looping. +void ogre_anms_hasEnded(struct hg3dclass_struct * thisclass_c, int * result_c);++// Returns true if this animation is currently enabled. +void ogre_anms_getEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// Sets whether this animation is enabled. +void ogre_anms_setEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);++// +void ogre_anms_setLoop(struct hg3dclass_struct * thisclass_c, int loop_c);++// Gets whether or not this animation loops. +void ogre_anms_getLoop(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_anms_copyStateFrom(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * animState_c);++// 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. +void ogre_anms_createBlendMask(struct hg3dclass_struct * thisclass_c, int blendMaskSizeHint_c, float initialWeight_c);++// Destroy the currently set blend mask. +void ogre_anms_destroyBlendMask(struct hg3dclass_struct * thisclass_c);++// Return whether there is currently a valid blend mask set. +void ogre_anms_hasBlendMask(struct hg3dclass_struct * thisclass_c, int * result_c);++// 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. +void ogre_anms_getBlendMaskEntry(struct hg3dclass_struct * thisclass_c, int boneHandle_c, float * result_c);++#endif 
+ include/ClassAnimationStateSet.h view
@@ -0,0 +1,55 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassAnimationStateSet.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassAnimationStateSet+#define _DEFINED_HG3D_ClassAnimationStateSet++#include "ClassPtr.h"+#include "ClassAnimationState.h"+
+
+// +void ogre_ass_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_ass_createAnimationState(struct hg3dclass_struct * thisclass_c, char * animName_c, float timePos_c, float length_c, float weight_c, int enabled_c, struct hg3dclass_struct * result_c);++// Get an animation state by the name of the animation. +void ogre_ass_getAnimationState(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// Tests if state for the named animation is present. +void ogre_ass_hasAnimationState(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// Remove animation state with the given name. +void ogre_ass_removeAnimationState(struct hg3dclass_struct * thisclass_c, char * name_c);++// Remove all animation states. +void ogre_ass_removeAllAnimationStates(struct hg3dclass_struct * thisclass_c);++// Copy the state of any matching animation states from this to another. +void ogre_ass_copyMatchingState(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * target_c);++// Tests if exists enabled animation state in this set. +void ogre_ass_hasEnabledAnimationState(struct hg3dclass_struct * thisclass_c, int * result_c);++#endif 
+ include/ClassAnimationTrack.h view
@@ -0,0 +1,59 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassAnimationTrack.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassAnimationTrack+#define _DEFINED_HG3D_ClassAnimationTrack++#include "ClassPtr.h"+#include "ClassTimeIndex.h"+#include "ClassAnimation.h"+
+
+// +void ogre_at_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_at_getHandle(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);++// +void ogre_at_getNumKeyFrames(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);++// +void ogre_at_removeKeyFrame(struct hg3dclass_struct * thisclass_c, unsigned short index_c);++// +void ogre_at_removeAllKeyFrames(struct hg3dclass_struct * thisclass_c);++// +void ogre_at_apply(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * timeIndex_c, float weight_c, float scale_c);++// +void ogre_at_hasNonZeroKeyFrames(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_at_optimise(struct hg3dclass_struct * thisclass_c);++// +void ogre_at_getParent(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++#endif 
+ include/ClassArchive.h view
@@ -0,0 +1,57 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassArchive.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassArchive+#define _DEFINED_HG3D_ClassArchive++#include "ClassPtr.h"+
+
+// +void ogre_arch_destruct(struct hg3dclass_struct * thisclass_c);++// Get the name of this archive. +void ogre_arch_getName(struct hg3dclass_struct * thisclass_c, char * result_c);++// Returns whether this archive is case sensitive in the way it matches files. +void ogre_arch_isCaseSensitive(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_arch_load(struct hg3dclass_struct * thisclass_c);++// +void ogre_arch_unload(struct hg3dclass_struct * thisclass_c);++// +void ogre_arch_isReadOnly(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_arch_remove(struct hg3dclass_struct * thisclass_c, char * filename_c);++// +void ogre_arch_exists(struct hg3dclass_struct * thisclass_c, char * filename_c, int * result_c);++// Return the type code of this Archive+void ogre_arch_getType(struct hg3dclass_struct * thisclass_c, char * result_c);++#endif 
+ include/ClassArchiveManager.h view
@@ -0,0 +1,49 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassArchiveManager.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassArchiveManager+#define _DEFINED_HG3D_ClassArchiveManager++#include "ClassPtr.h"+#include "ClassArchive.h"+
+
+// +void ogre_archm_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_archm_load(struct hg3dclass_struct * thisclass_c, char * filename_c, char * archiveType_c, struct hg3dclass_struct * result_c);++// +void ogre_archm_unload(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * arch_c);++// +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/ClassBillboard.h view
@@ -0,0 +1,87 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassBillboard.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassBillboard+#define _DEFINED_HG3D_ClassBillboard++#include "ClassPtr.h"+#include "StructRadians.h"+#include "StructVec3.h"+#include "StructColour.h"+
+
+// +void ogre_bbd_construct(struct hg3dclass_struct * result_c);++// +void ogre_bbd_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_bbd_getRotation(struct hg3dclass_struct * thisclass_c, struct radian_struct * result_c);++// +void ogre_bbd_setRotation(struct hg3dclass_struct * thisclass_c, struct radian_struct * rotation_c);++// +void ogre_bbd_setPosition(struct hg3dclass_struct * thisclass_c, struct vector3_struct * position_c);++// +void ogre_bbd_setPosition2(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c);++// +void ogre_bbd_getPosition(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_bbd_setDimensions(struct hg3dclass_struct * thisclass_c, float width_c, float height_c);++// +void ogre_bbd_resetDimensions(struct hg3dclass_struct * thisclass_c);++// +void ogre_bbd_setColour(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * colour_c);++// +void ogre_bbd_getColour(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * result_c);++// +void ogre_bbd_hasOwnDimensions(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_bbd_getOwnWidth(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_bbd_getOwnHeight(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_bbd_isUseTexcoordRect(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_bbd_setTexcoordIndex(struct hg3dclass_struct * thisclass_c, unsigned short texcoordIndex_c);++// +void ogre_bbd_getTexcoordIndex(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);++// +void ogre_bbd_setTexcoordRect2(struct hg3dclass_struct * thisclass_c, float u0_c, float v0_c, float u1_c, float v1_c);++#endif 
+ include/ClassBillboardChain.h view
@@ -0,0 +1,114 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassBillboardChain.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassBillboardChain+#define _DEFINED_HG3D_ClassBillboardChain++#include "ClassPtr.h"+#include "EnumBillboardChainTexCoordDirection.h"+#include "StructVec3.h"+#include "ClassCamera.h"+#include "StructSharedPtr.h"+#include "ClassSceneManager.h"+#include "ClassRenderSystem.h"+
+
+// destructor +void ogre_bbdc_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_bbdc_setMaxChainElements(struct hg3dclass_struct * thisclass_c, int maxElements_c);++// +void ogre_bbdc_getMaxChainElements(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_bbdc_setNumberOfChains(struct hg3dclass_struct * thisclass_c, int numChains_c);++// +void ogre_bbdc_getNumberOfChains(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_bbdc_setUseTextureCoords(struct hg3dclass_struct * thisclass_c, int use_c);++// +void ogre_bbdc_getUseTextureCoords(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_bbdc_setTextureCoordDirection(struct hg3dclass_struct * thisclass_c, enum EnumBillboardChainTexCoordDirection dir_c);++// +void ogre_bbdc_getTextureCoordDirection(struct hg3dclass_struct * thisclass_c, enum EnumBillboardChainTexCoordDirection * result_c);++// +void ogre_bbdc_setOtherTextureCoordRange(struct hg3dclass_struct * thisclass_c, float start_c, float end_c);++// +void ogre_bbdc_setUseVertexColours(struct hg3dclass_struct * thisclass_c, int use_c);++// +void ogre_bbdc_getUseVertexColours(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_bbdc_setDynamic(struct hg3dclass_struct * thisclass_c, int dyn_c);++// +void ogre_bbdc_getDynamic(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_bbdc_removeChainElement(struct hg3dclass_struct * thisclass_c, int chainIndex_c);++// +void ogre_bbdc_getNumChainElements(struct hg3dclass_struct * thisclass_c, int chainIndex_c, int * result_c);++// +void ogre_bbdc_clearChain(struct hg3dclass_struct * thisclass_c, int chainIndex_c);++// +void ogre_bbdc_clearAllChains(struct hg3dclass_struct * thisclass_c);++// +void ogre_bbdc_setFaceCamera(struct hg3dclass_struct * thisclass_c, int faceCamera_c, struct vector3_struct * normalVector_c);++// Get the material name in use. +void ogre_bbdc_getMaterialName(struct hg3dclass_struct * thisclass_c, char * result_c);++// Set the material name to use for rendering. +void ogre_bbdc_setMaterialName(struct hg3dclass_struct * thisclass_c, char * name_c, char * groupName_c);++// +void ogre_bbdc_getSquaredViewDepth(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c, float * result_c);++// +void ogre_bbdc_getBoundingRadius(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_bbdc_getMaterial(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * result_c);++// +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/ClassBillboardChainFactory.h view
@@ -0,0 +1,43 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassBillboardChainFactory.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassBillboardChainFactory+#define _DEFINED_HG3D_ClassBillboardChainFactory++#include "ClassPtr.h"+#include "ClassMovableObject.h"+
+
+// +void ogre_bbdcf_construct(struct hg3dclass_struct * result_c);++// +void ogre_bbdcf_destruct(struct hg3dclass_struct * thisclass_c);++// Get the type of the object to be created. +void ogre_bbdcf_getType(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_bbdcf_destroyInstance(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * obj_c);++#endif 
+ include/ClassBillboardSet.h view
@@ -0,0 +1,191 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassBillboardSet.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassBillboardSet+#define _DEFINED_HG3D_ClassBillboardSet++#include "ClassPtr.h"+#include "ClassBillboard.h"+#include "StructVec3.h"+#include "StructColour.h"+#include "EnumBillboardOrigin.h"+#include "EnumBillboardRotationType.h"+#include "StructSharedPtr.h"+#include "EnumBillboardType.h"+#include "ClassCamera.h"+
+
+// +void ogre_bbs_construct(char * name_c, unsigned int poolSize_c, int externalDataSource_c, struct hg3dclass_struct * result_c);++// +void ogre_bbs_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_bbs_createBillboard(struct hg3dclass_struct * thisclass_c, struct vector3_struct * position_c, struct colourvalue_struct * colour_c, struct hg3dclass_struct * result_c);++// +void ogre_bbs_createBillboard2(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c, struct colourvalue_struct * colour_c, struct hg3dclass_struct * result_c);++// +void ogre_bbs_getNumBillboards(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_bbs_setAutoextend(struct hg3dclass_struct * thisclass_c, int autoextend_c);++// +void ogre_bbs_getAutoextend(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_bbs_setSortingEnabled(struct hg3dclass_struct * thisclass_c, int sortenable_c);++// +void ogre_bbs_getSortingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_bbs_setPoolSize(struct hg3dclass_struct * thisclass_c, int size_c);++// +void ogre_bbs_getPoolSize(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_bbs_clear(struct hg3dclass_struct * thisclass_c);++// +void ogre_bbs_getBillboard(struct hg3dclass_struct * thisclass_c, unsigned int index_c, struct hg3dclass_struct * result_c);++// +void ogre_bbs_removeBillboard(struct hg3dclass_struct * thisclass_c, unsigned int index_c);++// +void ogre_bbs_removeBillboard2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * pBill_c);++// +void ogre_bbs_setBillboardOrigin(struct hg3dclass_struct * thisclass_c, enum EnumBillboardOrigin origin_c);++// +void ogre_bbs_getBillboardOrigin(struct hg3dclass_struct * thisclass_c, enum EnumBillboardOrigin * result_c);++// +void ogre_bbs_setBillboardRotationType(struct hg3dclass_struct * thisclass_c, enum EnumBillboardRotationType rotationType_c);++// +void ogre_bbs_getBillboardRotationType(struct hg3dclass_struct * thisclass_c, enum EnumBillboardRotationType * result_c);++// +void ogre_bbs_setDefaultDimensions(struct hg3dclass_struct * thisclass_c, float width_c, float height_c);++// +void ogre_bbs_setDefaultWidth(struct hg3dclass_struct * thisclass_c, float width_c);++// +void ogre_bbs_getDefaultWidth(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_bbs_setDefaultHeight(struct hg3dclass_struct * thisclass_c, float height_c);++// +void ogre_bbs_getDefaultHeight(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_bbs_setMaterialName(struct hg3dclass_struct * thisclass_c, char * name_c, char * groupName_c);++// +void ogre_bbs_getMaterialName(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_bbs_beginBillboards(struct hg3dclass_struct * thisclass_c, int numBillboards_c);++// +void ogre_bbs_injectBillboard(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * bb_c);++// +void ogre_bbs_endBillboards(struct hg3dclass_struct * thisclass_c);++// +void ogre_bbs_getBoundingRadius(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_bbs_getMaterial(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * result_c);++// +void ogre_bbs_setMaterial(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * material_c);++// +void ogre_bbs_getCullIndividually(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_bbs_setCullIndividually(struct hg3dclass_struct * thisclass_c, int cullIndividual_c);++// +void ogre_bbs_setBillboardType(struct hg3dclass_struct * thisclass_c, enum EnumBillboardType bbt_c);++// +void ogre_bbs_getBillboardType(struct hg3dclass_struct * thisclass_c, enum EnumBillboardType * result_c);++// +void ogre_bbs_setCommonDirection(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vec_c);++// +void ogre_bbs_getCommonDirection(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_bbs_setCommonUpVector(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vec_c);++// +void ogre_bbs_getCommonUpVector(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_bbs_setUseAccurateFacing(struct hg3dclass_struct * thisclass_c, int acc_c);++// +void ogre_bbs_getUseAccurateFacing(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_bbs_getMovableType(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_bbs_getSquaredViewDepth(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c, float * result_c);++// +void ogre_bbs_setBillboardsInWorldSpace(struct hg3dclass_struct * thisclass_c, int ws_c);++// +void ogre_bbs_setPointRenderingEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);++// +void ogre_bbs_isPointRenderingEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// Override to return specific type flag. +void ogre_bbs_getTypeFlags(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_bbs_setAutoUpdate(struct hg3dclass_struct * thisclass_c, int autoUpdate_c);++// +void ogre_bbs_getAutoUpdate(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_bbs_notifyBillboardDataChanged(struct hg3dclass_struct * thisclass_c);++#endif 
+ include/ClassBillboardSetFactory.h view
@@ -0,0 +1,43 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassBillboardSetFactory.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassBillboardSetFactory+#define _DEFINED_HG3D_ClassBillboardSetFactory++#include "ClassPtr.h"+#include "ClassMovableObject.h"+
+
+// +void ogre_bbsf_construct(struct hg3dclass_struct * result_c);++// +void ogre_bbsf_destruct(struct hg3dclass_struct * thisclass_c);++// Get the type of the object to be created. +void ogre_bbsf_getType(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_bbsf_destroyInstance(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * obj_c);++#endif 
+ include/ClassBone.h view
@@ -0,0 +1,56 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassBone.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassBone+#define _DEFINED_HG3D_ClassBone++#include "ClassPtr.h"+#include "StructVec3.h"+#include "StructQuaternion.h"+
+
+// +void ogre_bn_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_bn_createChild(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, struct vector3_struct * translate_c, struct quaternion_struct * rotate_c, struct hg3dclass_struct * result_c);++// +void ogre_bn_getHandle(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);++// +void ogre_bn_setBindingPose(struct hg3dclass_struct * thisclass_c);++// +void ogre_bn_reset(struct hg3dclass_struct * thisclass_c);++// +void ogre_bn_setManuallyControlled(struct hg3dclass_struct * thisclass_c, int manuallyControlled_c);++// +void ogre_bn_isManuallyControlled(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_bn_needUpdate(struct hg3dclass_struct * thisclass_c, int forceParentUpdate_c);++#endif 
+ include/ClassCamera.h view
@@ -0,0 +1,222 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassCamera.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassCamera+#define _DEFINED_HG3D_ClassCamera++#include "ClassPtr.h"+#include "ClassSceneManager.h"+#include "StructVec3.h"+#include "StructRadians.h"+#include "StructQuaternion.h"+#include "ClassSceneNode.h"+#include "ClassViewport.h"+#include "ClassFrustum.h"+#include "EnumFrustumPlane.h"+
+
+// +void ogre_cam_construct(char * name_c, struct hg3dclass_struct * sm_c, struct hg3dclass_struct * result_c);++// +void ogre_cam_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_cam_getSceneManager(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_cam_setPosition(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c);++// +void ogre_cam_setPosition2(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vec_c);++// +void ogre_cam_getPosition(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_cam_move(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vec_c);++// +void ogre_cam_moveRelative(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vec_c);++// +void ogre_cam_setDirection(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c);++// +void ogre_cam_setDirection2(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vec_c);++// +void ogre_cam_getDirection(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_cam_getUp(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_cam_getRight(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_cam_lookAt(struct hg3dclass_struct * thisclass_c, struct vector3_struct * targetPoint_c);++// +void ogre_cam_lookAt2(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c);++// +void ogre_cam_roll(struct hg3dclass_struct * thisclass_c, struct radian_struct * angle_c);++// +void ogre_cam_yaw(struct hg3dclass_struct * thisclass_c, struct radian_struct * angle_c);++// +void ogre_cam_pitch(struct hg3dclass_struct * thisclass_c, struct radian_struct * angle_c);++// +void ogre_cam_rotate(struct hg3dclass_struct * thisclass_c, struct vector3_struct * axis_c, struct radian_struct * angle_c);++// +void ogre_cam_rotate2(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * q_c);++// +void ogre_cam_setFixedYawAxis(struct hg3dclass_struct * thisclass_c, int useFixed_c, struct vector3_struct * fixedAxis_c);++// +void ogre_cam_getOrientation(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * result_c);++// +void ogre_cam_setOrientation(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * q_c);++// +void ogre_cam_getDerivedOrientation(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * result_c);++// +void ogre_cam_getDerivedPosition(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_cam_getDerivedDirection(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_cam_getDerivedUp(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_cam_getDerivedRight(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_cam_getRealOrientation(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * result_c);++// +void ogre_cam_getRealPosition(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_cam_getRealDirection(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_cam_getRealUp(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_cam_getRealRight(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_cam_getMovableType(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_cam_setLodBias(struct hg3dclass_struct * thisclass_c, float factor_c);++// +void ogre_cam_getLodBias(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_cam_setLodCamera(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * lodCam_c);++// +void ogre_cam_getLodCamera(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_cam_setWindow(struct hg3dclass_struct * thisclass_c, float Left_c, float Top_c, float Right_c, float Bottom_c);++// Cancel view window. +void ogre_cam_resetWindow(struct hg3dclass_struct * thisclass_c);++// Returns if a viewport window is being used. +void ogre_cam_isWindowSet(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_cam_getBoundingRadius(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_cam_getAutoTrackTarget(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_cam_getAutoTrackOffset(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_cam_getViewport(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_cam_setAutoAspectRatio(struct hg3dclass_struct * thisclass_c, int autoratio_c);++// +void ogre_cam_getAutoAspectRatio(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_cam_setCullingFrustum(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * frustum_c);++// +void ogre_cam_getCullingFrustum(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_cam_isVisible3(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vert_c, enum EnumFrustumPlane * culledBy_c, int * result_c);++// +void ogre_cam_getWorldSpaceCorners(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_cam_getNearClipDistance(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_cam_getFarClipDistance(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_cam_setUseRenderingDistance(struct hg3dclass_struct * thisclass_c, int use_c);++// +void ogre_cam_getUseRenderingDistance(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_cam_synchroniseBaseSettingsWith(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c);++// +void ogre_cam_getPositionForViewUpdate(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +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/ClassConfigFile.h view
@@ -0,0 +1,54 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassConfigFile.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassConfigFile+#define _DEFINED_HG3D_ClassConfigFile++#include "ClassPtr.h"+
+
+// +void ogre_cf_construct(struct hg3dclass_struct * result_c);++// +void ogre_cf_destruct(struct hg3dclass_struct * thisclass_c);++// load from a filename (not using resource group locations) +void ogre_cf_load(struct hg3dclass_struct * thisclass_c, char * filename_c, char * separators_c, int trimWhitespace_c);++// load from a filename (using resource group locations) +void ogre_cf_load2(struct hg3dclass_struct * thisclass_c, char * filename_c, char * resourceGroup_c, char * separators_c, int trimWhitespace_c);++// load from a filename (not using resource group locations) +void ogre_cf_loadDirect(struct hg3dclass_struct * thisclass_c, char * filename_c, char * separators_c, int trimWhitespace_c);++// load from a filename (using resource group locations) +void ogre_cf_loadFromResourceSystem(struct hg3dclass_struct * thisclass_c, char * filename_c, char * resourceGroup_c, char * separators_c, int trimWhitespace_c);++// +void ogre_cf_getSetting(struct hg3dclass_struct * thisclass_c, char * key_c, char * section_c, char * defaultValue_c, char * result_c);++// +void ogre_cf_clear(struct hg3dclass_struct * thisclass_c);++#endif 
+ include/ClassControllerManager.h view
@@ -0,0 +1,66 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassControllerManager.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassControllerManager+#define _DEFINED_HG3D_ClassControllerManager++#include "ClassPtr.h"+
+
+// +void ogre_cmgr_construct(struct hg3dclass_struct * result_c);++// +void ogre_cmgr_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_cmgr_clearControllers(struct hg3dclass_struct * thisclass_c);++// +void ogre_cmgr_updateAllControllers(struct hg3dclass_struct * thisclass_c);++// +void ogre_cmgr_getTimeFactor(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_cmgr_setTimeFactor(struct hg3dclass_struct * thisclass_c, float tf_c);++// +void ogre_cmgr_getFrameDelay(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_cmgr_setFrameDelay(struct hg3dclass_struct * thisclass_c, float fd_c);++// +void ogre_cmgr_getElapsedTime(struct hg3dclass_struct * thisclass_c, float * result_c);++// +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
@@ -0,0 +1,150 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassEntity.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassEntity+#define _DEFINED_HG3D_ClassEntity++#include "ClassPtr.h"+#include "StructSharedPtr.h"+#include "ClassAnimationState.h"+#include "ClassAnimationStateSet.h"+#include "ClassMovableObject.h"+#include "EnumEntityVertexDataBindChoice.h"+#include "ClassResource.h"+
+
+// +void ogre_ent_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_ent_getMesh(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * result_c);++// +void ogre_ent_getNumSubEntities(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_ent_clone(struct hg3dclass_struct * thisclass_c, char * newName_c, struct hg3dclass_struct * result_c);++// +void ogre_ent_setMaterialName(struct hg3dclass_struct * thisclass_c, char * name_c, char * groupName_c);++// +void ogre_ent_setMaterial(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * material_c);++// +void ogre_ent_getMovableType(struct hg3dclass_struct * thisclass_c, char * result_c);++// +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);++// +void ogre_ent_setDisplaySkeleton(struct hg3dclass_struct * thisclass_c, int display_c);++// +void ogre_ent_getDisplaySkeleton(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_ent_getManualLodLevel(struct hg3dclass_struct * thisclass_c, int index_c, struct hg3dclass_struct * result_c);++// +void ogre_ent_getNumManualLodLevels(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_ent_setPolygonModeOverrideable(struct hg3dclass_struct * thisclass_c, int PolygonModeOverrideable_c);++// +void ogre_ent_detachObjectFromBone(struct hg3dclass_struct * thisclass_c, char * movableName_c, struct hg3dclass_struct * result_c);++// +void ogre_ent_detachObjectFromBone2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * obj_c);++// Detach all MovableObjects previously attached using attachObjectToBone. +void ogre_ent_detachAllObjectsFromBone(struct hg3dclass_struct * thisclass_c);++// +void ogre_ent_getBoundingRadius(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_ent_hasEdgeList(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_ent_hasSkeleton(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_ent_isHardwareAnimationEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_ent_getSoftwareAnimationRequests(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_ent_getSoftwareAnimationNormalsRequests(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_ent_addSoftwareAnimationRequest(struct hg3dclass_struct * thisclass_c, int normalsAlso_c);++// +void ogre_ent_removeSoftwareAnimationRequest(struct hg3dclass_struct * thisclass_c, int normalsAlso_c);++// +void ogre_ent_shareSkeletonInstanceWith(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * entity_c);++// +void ogre_ent_hasVertexAnimation(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_ent_stopSharingSkeletonInstance(struct hg3dclass_struct * thisclass_c);++// +void ogre_ent_sharesSkeletonInstance(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_ent_refreshAvailableAnimationState(struct hg3dclass_struct * thisclass_c);++// Choose which vertex data to bind to the renderer. +void ogre_ent_chooseVertexDataForBinding(struct hg3dclass_struct * thisclass_c, int hasVertexAnim_c, enum EnumEntityVertexDataBindChoice * result_c);++// +void ogre_ent_isInitialised(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_ent_backgroundLoadingComplete(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * res_c);++// +void ogre_ent_setSkipAnimationStateUpdate(struct hg3dclass_struct * thisclass_c, int skip_c);++// +void ogre_ent_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/ClassEntityFactory.h view
@@ -0,0 +1,43 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassEntityFactory.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassEntityFactory+#define _DEFINED_HG3D_ClassEntityFactory++#include "ClassPtr.h"+#include "ClassMovableObject.h"+
+
+// +void ogre_entf_construct(struct hg3dclass_struct * result_c);++// +void ogre_entf_destruct(struct hg3dclass_struct * thisclass_c);++// Get the type of the object to be created. +void ogre_entf_getType(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_entf_destroyInstance(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * obj_c);++#endif 
+ include/ClassException.h view
@@ -0,0 +1,57 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassException.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassException+#define _DEFINED_HG3D_ClassException++#include "ClassPtr.h"+
+
+// +void ogre_exc_construct(int number_c, char * description_c, char * source_c, struct hg3dclass_struct * result_c);++// Needed for compatibility with std::exception. +void ogre_exc_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_exc_getFullDescription(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_exc_getNumber(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_exc_getSource(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_exc_getFile(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_exc_getLine(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_exc_getDescription(struct hg3dclass_struct * thisclass_c, char * result_c);++// Override std::exception::what. +void ogre_exc_what(struct hg3dclass_struct * thisclass_c, char * result_c);++#endif 
+ include/ClassFrustum.h view
@@ -0,0 +1,165 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassFrustum.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassFrustum+#define _DEFINED_HG3D_ClassFrustum++#include "ClassPtr.h"+#include "StructRadians.h"+#include "StructVec2.h"+#include "StructVec3.h"+#include "EnumFrustumPlane.h"+#include "StructSharedPtr.h"+#include "ClassCamera.h"+#include "EnumProjectionType.h"+#include "StructQuaternion.h"+#include "EnumOrientationMode.h"+
+
+// Named constructor. +void ogre_frst_construct(char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_frst_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_frst_setFOVy(struct hg3dclass_struct * thisclass_c, struct radian_struct * fovy_c);++// +void ogre_frst_getFOVy(struct hg3dclass_struct * thisclass_c, struct radian_struct * result_c);++// +void ogre_frst_setNearClipDistance(struct hg3dclass_struct * thisclass_c, float nearDist_c);++// +void ogre_frst_getNearClipDistance(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_frst_setFarClipDistance(struct hg3dclass_struct * thisclass_c, float farDist_c);++// +void ogre_frst_getFarClipDistance(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_frst_setAspectRatio(struct hg3dclass_struct * thisclass_c, float ratio_c);++// +void ogre_frst_getAspectRatio(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_frst_setFrustumOffset(struct hg3dclass_struct * thisclass_c, struct vector2_struct * offset_c);++// +void ogre_frst_setFrustumOffset2(struct hg3dclass_struct * thisclass_c, float horizontal_c, float vertical_c);++// +void ogre_frst_getFrustumOffset(struct hg3dclass_struct * thisclass_c, struct vector2_struct * result_c);++// +void ogre_frst_setFocalLength(struct hg3dclass_struct * thisclass_c, float focalLength_c);++// +void ogre_frst_getFocalLength(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_frst_setFrustumExtents(struct hg3dclass_struct * thisclass_c, float left_c, float right_c, float top_c, float bottom_c);++// +void ogre_frst_resetFrustumExtents(struct hg3dclass_struct * thisclass_c);++// +void ogre_frst_getFrustumExtents(struct hg3dclass_struct * thisclass_c, float * outleft_c, float * outright_c, float * outtop_c, float * outbottom_c);++// Returns whether a custom view matrix is in use. +void ogre_frst_isCustomViewMatrixEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// Returns whether a custom projection matrix is in use. +void ogre_frst_isCustomProjectionMatrixEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_frst_isVisible3(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vert_c, enum EnumFrustumPlane * culledBy_c, int * result_c);++// Overridden from MovableObject::getTypeFlags+void ogre_frst_getTypeFlags(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_frst_getBoundingRadius(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_frst_getMovableType(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_frst_getMaterial(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * result_c);++// +void ogre_frst_getSquaredViewDepth(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c, float * result_c);++// +void ogre_frst_getWorldSpaceCorners(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_frst_setProjectionType(struct hg3dclass_struct * thisclass_c, enum EnumProjectionType pt_c);++// +void ogre_frst_getProjectionType(struct hg3dclass_struct * thisclass_c, enum EnumProjectionType * result_c);++// +void ogre_frst_setOrthoWindow(struct hg3dclass_struct * thisclass_c, float w_c, float h_c);++// +void ogre_frst_setOrthoWindowHeight(struct hg3dclass_struct * thisclass_c, float h_c);++// +void ogre_frst_setOrthoWindowWidth(struct hg3dclass_struct * thisclass_c, float w_c);++// +void ogre_frst_getOrthoWindowHeight(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_frst_getOrthoWindowWidth(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_frst_disableReflection(struct hg3dclass_struct * thisclass_c);++// Returns whether this frustum is being reflected. +void ogre_frst_isReflected(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_frst_disableCustomNearClipPlane(struct hg3dclass_struct * thisclass_c);++// +void ogre_frst_isCustomNearClipPlaneEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_frst_getPositionForViewUpdate(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_frst_getOrientationForViewUpdate(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * result_c);++// +void ogre_frst_setOrientationMode(struct hg3dclass_struct * thisclass_c, enum EnumOrientationMode orientationMode_c);++// +void ogre_frst_getOrientationMode(struct hg3dclass_struct * thisclass_c, enum EnumOrientationMode * result_c);++#endif 
+ include/ClassHG3DUtilities.h view
@@ -0,0 +1,44 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassHG3DUtilities.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassHG3DUtilities+#define _DEFINED_HG3D_ClassHG3DUtilities++#include "ClassPtr.h"+#include "ClassRenderWindow.h"+#include "ClassEntity.h"+
+
+// +void ogre_hg3dutl_getWindowHandle(struct hg3dclass_struct * window_c, unsigned int * result_c);++// +void ogre_hg3dutl_setupCloseEventHandler(struct hg3dclass_struct * window_c);++// +void ogre_hg3dutl_checkQuitReceived(int * result_c);++// +void ogre_hg3dutl_buildTangentVectors(struct hg3dclass_struct * entity_c);++#endif 
+ include/ClassLight.h view
@@ -0,0 +1,175 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassLight.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassLight+#define _DEFINED_HG3D_ClassLight++#include "ClassPtr.h"+#include "EnumLightType.h"+#include "StructColour.h"+#include "StructVec3.h"+#include "StructRadians.h"+
+
+// +void ogre_lgt_construct(char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_lgt_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_lgt_setType(struct hg3dclass_struct * thisclass_c, enum EnumLightType type_c);++// +void ogre_lgt_getType(struct hg3dclass_struct * thisclass_c, enum EnumLightType * result_c);++// +void ogre_lgt_setDiffuseColour(struct hg3dclass_struct * thisclass_c, float red_c, float green_c, float blue_c);++// +void ogre_lgt_setDiffuseColour2(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * colour_c);++// +void ogre_lgt_getDiffuseColour(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * result_c);++// +void ogre_lgt_setSpecularColour(struct hg3dclass_struct * thisclass_c, float red_c, float green_c, float blue_c);++// +void ogre_lgt_setSpecularColour2(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * colour_c);++// +void ogre_lgt_getSpecularColour(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * result_c);++// +void ogre_lgt_setAttenuation(struct hg3dclass_struct * thisclass_c, float range_c, float constant_c, float linear_c, float quadratic_c);++// +void ogre_lgt_getAttenuationRange(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_lgt_getAttenuationConstant(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_lgt_getAttenuationLinear(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_lgt_getAttenuationQuadric(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_lgt_setPosition(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c);++// +void ogre_lgt_setPosition2(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vec_c);++// +void ogre_lgt_getPosition(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_lgt_setDirection(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c);++// +void ogre_lgt_setDirection2(struct hg3dclass_struct * thisclass_c, struct vector3_struct * vec_c);++// +void ogre_lgt_getDirection(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_lgt_setSpotlightRange(struct hg3dclass_struct * thisclass_c, struct radian_struct * innerAngle_c, struct radian_struct * outerAngle_c, float falloff_c);++// +void ogre_lgt_getSpotlightInnerAngle(struct hg3dclass_struct * thisclass_c, struct radian_struct * result_c);++// +void ogre_lgt_getSpotlightOuterAngle(struct hg3dclass_struct * thisclass_c, struct radian_struct * result_c);++// +void ogre_lgt_getSpotlightFalloff(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_lgt_setSpotlightInnerAngle(struct hg3dclass_struct * thisclass_c, struct radian_struct * val_c);++// +void ogre_lgt_setSpotlightOuterAngle(struct hg3dclass_struct * thisclass_c, struct radian_struct * val_c);++// +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);++// +void ogre_lgt_getPowerScale(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_lgt_getMovableType(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_lgt_getDerivedPosition(struct hg3dclass_struct * thisclass_c, int cameraRelativeIfSet_c, struct vector3_struct * result_c);++// +void ogre_lgt_getDerivedDirection(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_lgt_setVisible(struct hg3dclass_struct * thisclass_c, int visible_c);++// +void ogre_lgt_getBoundingRadius(struct hg3dclass_struct * thisclass_c, float * result_c);++// Override to return specific type flag. +void ogre_lgt_getTypeFlags(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_lgt_resetCustomShadowCameraSetup(struct hg3dclass_struct * thisclass_c);++// +void ogre_lgt_setShadowFarDistance(struct hg3dclass_struct * thisclass_c, float distance_c);++// +void ogre_lgt_resetShadowFarDistance(struct hg3dclass_struct * thisclass_c);++// +void ogre_lgt_getShadowFarDistance(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_lgt_getShadowFarDistanceSquared(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_lgt_setShadowNearClipDistance(struct hg3dclass_struct * thisclass_c, float nearClip_c);++// +void ogre_lgt_getShadowNearClipDistance(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_lgt_setShadowFarClipDistance(struct hg3dclass_struct * thisclass_c, float farClip_c);++// +void ogre_lgt_getShadowFarClipDistance(struct hg3dclass_struct * thisclass_c, float * result_c);++#endif 
+ include/ClassLightFactory.h view
@@ -0,0 +1,43 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassLightFactory.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassLightFactory+#define _DEFINED_HG3D_ClassLightFactory++#include "ClassPtr.h"+#include "ClassMovableObject.h"+
+
+// +void ogre_lgtf_construct(struct hg3dclass_struct * result_c);++// +void ogre_lgtf_destruct(struct hg3dclass_struct * thisclass_c);++// Get the type of the object to be created. +void ogre_lgtf_getType(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_lgtf_destroyInstance(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * obj_c);++#endif 
+ include/ClassLog.h view
@@ -0,0 +1,62 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassLog.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassLog+#define _DEFINED_HG3D_ClassLog++#include "ClassPtr.h"+#include "EnumLogMessageLevel.h"+#include "EnumLoggingLevel.h"+
+
+// +void ogre_lg_destruct(struct hg3dclass_struct * thisclass_c);++// Return the name of the log. +void ogre_lg_getName(struct hg3dclass_struct * thisclass_c, char * result_c);++// Get whether debug output is enabled for this log. +void ogre_lg_isDebugOutputEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// Get whether file output is suppressed for this log. +void ogre_lg_isFileOutputSuppressed(struct hg3dclass_struct * thisclass_c, int * result_c);++// Get whether time stamps are printed for this log. +void ogre_lg_isTimeStampEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_lg_logMessage(struct hg3dclass_struct * thisclass_c, char * message_c, enum EnumLogMessageLevel lml_c, int maskDebug_c);++// +void ogre_lg_setDebugOutputEnabled(struct hg3dclass_struct * thisclass_c, int debugOutput_c);++// +void ogre_lg_setLogDetail(struct hg3dclass_struct * thisclass_c, enum EnumLoggingLevel ll_c);++// +void ogre_lg_setTimeStampEnabled(struct hg3dclass_struct * thisclass_c, int timeStamp_c);++// +void ogre_lg_getLogDetail(struct hg3dclass_struct * thisclass_c, enum EnumLoggingLevel * result_c);++#endif 
+ include/ClassLogManager.h view
@@ -0,0 +1,69 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassLogManager.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassLogManager+#define _DEFINED_HG3D_ClassLogManager++#include "ClassPtr.h"+#include "ClassLog.h"+#include "EnumLogMessageLevel.h"+#include "EnumLoggingLevel.h"+
+
+// +void ogre_lmgr_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_lmgr_createLog(struct hg3dclass_struct * thisclass_c, char * name_c, int defaultLog_c, int debuggerOutput_c, int suppressFileOutput_c, struct hg3dclass_struct * result_c);++// +void ogre_lmgr_getLog(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_lmgr_getDefaultLog(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_lmgr_destroyLog(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_lmgr_destroyLog2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * log_c);++// +void ogre_lmgr_setDefaultLog(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * newLog_c, struct hg3dclass_struct * result_c);++// +void ogre_lmgr_logMessage(struct hg3dclass_struct * thisclass_c, char * message_c, enum EnumLogMessageLevel lml_c, int maskDebug_c);++// +void ogre_lmgr_logMessage2(struct hg3dclass_struct * thisclass_c, enum EnumLogMessageLevel lml_c, char * message_c, int maskDebug_c);++// +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
@@ -0,0 +1,162 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassManualObject.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassManualObject+#define _DEFINED_HG3D_ClassManualObject++#include "ClassPtr.h"+#include "EnumRenderOperationOperationType.h"+#include "StructVec3.h"+#include "StructVec2.h"+#include "StructColour.h"+#include "ClassManualObjectSection.h"+#include "StructSharedPtr.h"+
+
+// +void ogre_mno_construct(char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_mno_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_mno_clear(struct hg3dclass_struct * thisclass_c);++// +void ogre_mno_estimateVertexCount(struct hg3dclass_struct * thisclass_c, int vcount_c);++// +void ogre_mno_estimateIndexCount(struct hg3dclass_struct * thisclass_c, int icount_c);++// +void ogre_mno_begin(struct hg3dclass_struct * thisclass_c, char * materialName_c, enum EnumRenderOperationOperationType opType_c, char * groupName_c);++// +void ogre_mno_setDynamic(struct hg3dclass_struct * thisclass_c, int dyn_c);++// +void ogre_mno_getDynamic(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_mno_beginUpdate(struct hg3dclass_struct * thisclass_c, int sectionIndex_c);++// +void ogre_mno_position(struct hg3dclass_struct * thisclass_c, struct vector3_struct * pos_c);++// +void ogre_mno_position2(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c);++// +void ogre_mno_normal(struct hg3dclass_struct * thisclass_c, struct vector3_struct * norm_c);++// +void ogre_mno_normal2(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c);++// +void ogre_mno_tangent(struct hg3dclass_struct * thisclass_c, struct vector3_struct * tan_c);++// +void ogre_mno_tangent2(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c);++// +void ogre_mno_textureCoord(struct hg3dclass_struct * thisclass_c, float u_c);++// +void ogre_mno_textureCoord2(struct hg3dclass_struct * thisclass_c, float u_c, float v_c);++// +void ogre_mno_textureCoord3(struct hg3dclass_struct * thisclass_c, float u_c, float v_c, float w_c);++// +void ogre_mno_textureCoord4(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c, float w_c);++// +void ogre_mno_textureCoord5(struct hg3dclass_struct * thisclass_c, struct vector2_struct * uv_c);++// +void ogre_mno_textureCoord6(struct hg3dclass_struct * thisclass_c, struct vector3_struct * uvw_c);++// +void ogre_mno_colour(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * col_c);++// +void ogre_mno_colour2(struct hg3dclass_struct * thisclass_c, float r_c, float g_c, float b_c, float a_c);++// +void ogre_mno_index(struct hg3dclass_struct * thisclass_c, unsigned int idx_c);++// +void ogre_mno_triangle(struct hg3dclass_struct * thisclass_c, unsigned int i1_c, unsigned int i2_c, unsigned int i3_c);++// +void ogre_mno_quad(struct hg3dclass_struct * thisclass_c, unsigned int i1_c, unsigned int i2_c, unsigned int i3_c, unsigned int i4_c);++// 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);++// +void ogre_mno_setMaterialName(struct hg3dclass_struct * thisclass_c, int subindex_c, char * name_c, char * group_c);++// +void ogre_mno_convertToMesh(struct hg3dclass_struct * thisclass_c, char * meshName_c, char * groupName_c, struct sharedptr_struct * result_c);++// +void ogre_mno_setUseIdentityProjection(struct hg3dclass_struct * thisclass_c, int useIdentityProjection_c);++// +void ogre_mno_getUseIdentityProjection(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_mno_setUseIdentityView(struct hg3dclass_struct * thisclass_c, int useIdentityView_c);++// +void ogre_mno_getUseIdentityView(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_mno_getSection(struct hg3dclass_struct * thisclass_c, unsigned int index_c, struct hg3dclass_struct * result_c);++// +void ogre_mno_getNumSections(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_mno_setKeepDeclarationOrder(struct hg3dclass_struct * thisclass_c, int keepOrder_c);++// +void ogre_mno_getKeepDeclarationOrder(struct hg3dclass_struct * thisclass_c, int * result_c);++// . +void ogre_mno_getMovableType(struct hg3dclass_struct * thisclass_c, char * result_c);++// . +void ogre_mno_getBoundingRadius(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_mno_hasEdgeList(struct hg3dclass_struct * thisclass_c, int * result_c);++#endif 
+ include/ClassManualObjectFactory.h view
@@ -0,0 +1,43 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassManualObjectFactory.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassManualObjectFactory+#define _DEFINED_HG3D_ClassManualObjectFactory++#include "ClassPtr.h"+#include "ClassMovableObject.h"+
+
+// +void ogre_mnof_construct(struct hg3dclass_struct * result_c);++// +void ogre_mnof_destruct(struct hg3dclass_struct * thisclass_c);++// Get the type of the object to be created. +void ogre_mnof_getType(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_mnof_destroyInstance(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * obj_c);++#endif 
+ include/ClassManualObjectSection.h view
@@ -0,0 +1,61 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassManualObjectSection.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassManualObjectSection+#define _DEFINED_HG3D_ClassManualObjectSection++#include "ClassPtr.h"+#include "ClassManualObject.h"+#include "EnumRenderOperationOperationType.h"+#include "StructSharedPtr.h"+#include "ClassCamera.h"+
+
+// +void ogre_mnos_construct(struct hg3dclass_struct * parent_c, char * materialName_c, enum EnumRenderOperationOperationType opType_c, char * groupName_c, struct hg3dclass_struct * result_c);++// +void ogre_mnos_destruct(struct hg3dclass_struct * thisclass_c);++// Retrieve the material name in use. +void ogre_mnos_getMaterialName(struct hg3dclass_struct * thisclass_c, char * result_c);++// Retrieve the material group in use. +void ogre_mnos_getMaterialGroup(struct hg3dclass_struct * thisclass_c, char * result_c);++// update the material name in use +void ogre_mnos_setMaterialName(struct hg3dclass_struct * thisclass_c, char * name_c, char * groupName_c);++// Set whether we need 32-bit indices. +void ogre_mnos_set32BitIndices(struct hg3dclass_struct * thisclass_c, int n32_c);++// Get whether we need 32-bit indices. +void ogre_mnos_get32BitIndices(struct hg3dclass_struct * thisclass_c, int * result_c);++// . +void ogre_mnos_getMaterial(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * result_c);++// . +void ogre_mnos_getSquaredViewDepth(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * _c, float * result_c);++#endif 
+ include/ClassMaterial.h view
@@ -0,0 +1,134 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassMaterial.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassMaterial+#define _DEFINED_HG3D_ClassMaterial++#include "ClassPtr.h"+#include "StructSharedPtr.h"+#include "StructColour.h"+
+
+// +void ogre_mtrl_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_mtrl_isTransparent(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_mtrl_setReceiveShadows(struct hg3dclass_struct * thisclass_c, int enabled_c);++// +void ogre_mtrl_getReceiveShadows(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_mtrl_setTransparencyCastsShadows(struct hg3dclass_struct * thisclass_c, int enabled_c);++// +void ogre_mtrl_getTransparencyCastsShadows(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_mtrl_getNumTechniques(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);++// +void ogre_mtrl_removeTechnique(struct hg3dclass_struct * thisclass_c, unsigned short index_c);++// +void ogre_mtrl_removeAllTechniques(struct hg3dclass_struct * thisclass_c);++// +void ogre_mtrl_getNumSupportedTechniques(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);++// +void ogre_mtrl_getUnsupportedTechniquesExplanation(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_mtrl_getNumLodLevels(struct hg3dclass_struct * thisclass_c, unsigned short schemeIndex_c, unsigned short * result_c);++// +void ogre_mtrl_getNumLodLevels2(struct hg3dclass_struct * thisclass_c, char * schemeName_c, unsigned short * result_c);++// +void ogre_mtrl_clone(struct hg3dclass_struct * thisclass_c, char * newName_c, int changeGroup_c, char * newGroup_c, struct sharedptr_struct * result_c);++// +void ogre_mtrl_copyDetailsTo(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * mat_c);++// +void ogre_mtrl_compile(struct hg3dclass_struct * thisclass_c, int autoManageTextureUnits_c);++// +void ogre_mtrl_setPointSize(struct hg3dclass_struct * thisclass_c, float ps_c);++// +void ogre_mtrl_setAmbient(struct hg3dclass_struct * thisclass_c, float red_c, float green_c, float blue_c);++// +void ogre_mtrl_setAmbient2(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * ambient_c);++// +void ogre_mtrl_setDiffuse(struct hg3dclass_struct * thisclass_c, float red_c, float green_c, float blue_c, float alpha_c);++// +void ogre_mtrl_setDiffuse2(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * diffuse_c);++// +void ogre_mtrl_setSpecular(struct hg3dclass_struct * thisclass_c, float red_c, float green_c, float blue_c, float alpha_c);++// +void ogre_mtrl_setSpecular2(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * specular_c);++// +void ogre_mtrl_setShininess(struct hg3dclass_struct * thisclass_c, float val_c);++// +void ogre_mtrl_setSelfIllumination(struct hg3dclass_struct * thisclass_c, float red_c, float green_c, float blue_c);++// +void ogre_mtrl_setSelfIllumination2(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * selfIllum_c);++// +void ogre_mtrl_setDepthCheckEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);++// +void ogre_mtrl_setDepthWriteEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);++// +void ogre_mtrl_setColourWriteEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);++// +void ogre_mtrl_setLightingEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);++// +void ogre_mtrl_setDepthBias(struct hg3dclass_struct * thisclass_c, float constantBias_c, float slopeScaleBias_c);++// +void ogre_mtrl_setTextureAnisotropy(struct hg3dclass_struct * thisclass_c, int maxAniso_c);++// +void ogre_mtrl_touch(struct hg3dclass_struct * thisclass_c);++// +void ogre_mtrl_getCompilationRequired(struct hg3dclass_struct * thisclass_c, int * result_c);++#endif 
+ include/ClassMaterialManager.h view
@@ -0,0 +1,61 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassMaterialManager.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassMaterialManager+#define _DEFINED_HG3D_ClassMaterialManager++#include "ClassPtr.h"+#include "StructSharedPtr.h"+
+
+// +void ogre_mtrlmgr_construct(struct hg3dclass_struct * result_c);++// +void ogre_mtrlmgr_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_mtrlmgr_initialise(struct hg3dclass_struct * thisclass_c);++// +void ogre_mtrlmgr_setDefaultAnisotropy(struct hg3dclass_struct * thisclass_c, unsigned int maxAniso_c);++// Get the default maxAnisotropy. +void ogre_mtrlmgr_getDefaultAnisotropy(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_mtrlmgr_getDefaultSettings(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * result_c);++// +void ogre_mtrlmgr_getActiveScheme(struct hg3dclass_struct * thisclass_c, char * result_c);++// +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);++#endif 
+ include/ClassMesh.h view
@@ -0,0 +1,147 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassMesh.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassMesh+#define _DEFINED_HG3D_ClassMesh++#include "ClassPtr.h"+#include "StructSharedPtr.h"+#include "EnumVertexAnimationType.h"+#include "ClassAnimation.h"+
+
+// +void ogre_msh_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_msh_unnameSubMesh(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_msh_getNumSubMeshes(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);++// +void ogre_msh_destroySubMesh(struct hg3dclass_struct * thisclass_c, unsigned short index_c);++// +void ogre_msh_destroySubMesh2(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_msh_clone(struct hg3dclass_struct * thisclass_c, char * newName_c, char * newGroup_c, struct sharedptr_struct * result_c);++// +void ogre_msh_getBoundingSphereRadius(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_msh_setSkeletonName(struct hg3dclass_struct * thisclass_c, char * skelName_c);++// +void ogre_msh_hasSkeleton(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_msh_hasVertexAnimation(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_msh_getSkeleton(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * result_c);++// +void ogre_msh_getSkeletonName(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_msh_clearBoneAssignments(struct hg3dclass_struct * thisclass_c);++// +void ogre_msh_createManualLodLevel(struct hg3dclass_struct * thisclass_c, float value_c, char * meshName_c, char * groupName_c);++// +void ogre_msh_isLodManual(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_msh_removeLodLevels(struct hg3dclass_struct * thisclass_c);++// +void ogre_msh_isVertexBufferShadowed(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_msh_isIndexBufferShadowed(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_msh_buildEdgeList(struct hg3dclass_struct * thisclass_c);++// +void ogre_msh_freeEdgeList(struct hg3dclass_struct * thisclass_c);++// +void ogre_msh_prepareForShadowVolume(struct hg3dclass_struct * thisclass_c);++// +void ogre_msh_isPreparedForShadowVolumes(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_msh_isEdgeListBuilt(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_msh_setAutoBuildEdgeLists(struct hg3dclass_struct * thisclass_c, int autobuild_c);++// +void ogre_msh_getAutoBuildEdgeLists(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_msh_getSharedVertexDataAnimationType(struct hg3dclass_struct * thisclass_c, enum EnumVertexAnimationType * result_c);++// Returns whether animation on shared vertex data includes normals. +void ogre_msh_getSharedVertexDataAnimationIncludesNormals(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_msh_createAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, float length_c, struct hg3dclass_struct * result_c);++// +void ogre_msh_getAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_msh_hasAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_msh_removeAnimation(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_msh_getNumAnimations(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);++// +void ogre_msh_getAnimation2(struct hg3dclass_struct * thisclass_c, unsigned short index_c, struct hg3dclass_struct * result_c);++// +void ogre_msh_removeAllAnimations(struct hg3dclass_struct * thisclass_c);++// +void ogre_msh_updateMaterialForAllSubMeshes(struct hg3dclass_struct * thisclass_c);++// +void ogre_msh_getPoseCount(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_msh_removePose2(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_msh_removeAllPoses(struct hg3dclass_struct * thisclass_c);++#endif 
+ include/ClassMeshManager.h view
@@ -0,0 +1,58 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassMeshManager.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassMeshManager+#define _DEFINED_HG3D_ClassMeshManager++#include "ClassPtr.h"+#include "ClassResource.h"+
+
+// +void ogre_mshmgr_construct(struct hg3dclass_struct * result_c);++// +void ogre_mshmgr_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_mshmgr_setPrepareAllMeshesForShadowVolumes(struct hg3dclass_struct * thisclass_c, int enable_c);++// +void ogre_mshmgr_getPrepareAllMeshesForShadowVolumes(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_mshmgr_getBoundsPaddingFactor(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_mshmgr_setBoundsPaddingFactor(struct hg3dclass_struct * thisclass_c, float paddingFactor_c);++// +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
@@ -0,0 +1,150 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassMovableObject.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassMovableObject+#define _DEFINED_HG3D_ClassMovableObject++#include "ClassPtr.h"+#include "ClassNode.h"+#include "ClassSceneNode.h"+#include "ClassLight.h"+
+
+// +void ogre_mvo_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_mvo_getName(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_mvo_getMovableType(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_mvo_getParentNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_mvo_getParentSceneNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// Gets whether the parent node is a TagPoint (or a SceneNode+void ogre_mvo_isParentTagPoint(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_mvo_isAttached(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_mvo_detachFromParent(struct hg3dclass_struct * thisclass_c);++// +void ogre_mvo_isInScene(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_mvo_getBoundingRadius(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_mvo_setVisible(struct hg3dclass_struct * thisclass_c, int visible_c);++// +void ogre_mvo_getVisible(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_mvo_isVisible(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_mvo_setRenderingDistance(struct hg3dclass_struct * thisclass_c, float dist_c);++// +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);++// +void ogre_mvo_addQueryFlags(struct hg3dclass_struct * thisclass_c, unsigned int flags_c);++// +void ogre_mvo_removeQueryFlags(struct hg3dclass_struct * thisclass_c, unsigned int flags_c);++// Returns the query flags relevant for this object. +void ogre_mvo_getQueryFlags(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_mvo_setVisibilityFlags(struct hg3dclass_struct * thisclass_c, unsigned int flags_c);++// +void ogre_mvo_addVisibilityFlags(struct hg3dclass_struct * thisclass_c, unsigned int flags_c);++// +void ogre_mvo_removeVisibilityFlags(struct hg3dclass_struct * thisclass_c, unsigned int flags_c);++// Returns the visibility flags relevant for this object. +void ogre_mvo_getVisibilityFlags(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_mvo_getLightMask(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_mvo_setLightMask(struct hg3dclass_struct * thisclass_c, unsigned int lightMask_c);++// Define a default implementation of method from ShadowCaster which implements no shadows. +void ogre_mvo_hasEdgeList(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_mvo_setCastShadows(struct hg3dclass_struct * thisclass_c, int enabled_c);++// +void ogre_mvo_getCastShadows(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_mvo_getReceivesShadows(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_mvo_getPointExtrusionDistance(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * l_c, float * result_c);++// +void ogre_mvo_getTypeFlags(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_mvo_setDebugDisplayEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);++// Gets whether debug display of this object is enabled. +void ogre_mvo_isDebugDisplayEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_mvo_setDefaultQueryFlags(unsigned int flags_c);++// +void ogre_mvo_getDefaultQueryFlags(unsigned int * result_c);++// +void ogre_mvo_setDefaultVisibilityFlags(unsigned int flags_c);++// +void ogre_mvo_getDefaultVisibilityFlags(unsigned int * result_c);++#endif 
+ include/ClassMovableObjectFactory.h view
@@ -0,0 +1,46 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassMovableObjectFactory.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassMovableObjectFactory+#define _DEFINED_HG3D_ClassMovableObjectFactory++#include "ClassPtr.h"+#include "ClassMovableObject.h"+
+
+// +void ogre_mvof_destruct(struct hg3dclass_struct * thisclass_c);++// Get the type of the object to be created. +void ogre_mvof_getType(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_mvof_destroyInstance(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * obj_c);++// +void ogre_mvof_requestTypeFlags(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_mvof_getTypeFlags(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++#endif 
+ include/ClassMultiRenderTarget.h view
@@ -0,0 +1,40 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassMultiRenderTarget.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassMultiRenderTarget+#define _DEFINED_HG3D_ClassMultiRenderTarget++#include "ClassPtr.h"+#include "ClassRenderTexture.h"+
+
+// +void ogre_mrt_bindSurface(struct hg3dclass_struct * thisclass_c, int attachment_c, struct hg3dclass_struct * target_c);++// +void ogre_mrt_unbindSurface(struct hg3dclass_struct * thisclass_c, int attachment_c);++// +void ogre_mrt_getBoundSurface(struct hg3dclass_struct * thisclass_c, int index_c, struct hg3dclass_struct * result_c);++#endif 
+ include/ClassNode.h view
@@ -0,0 +1,188 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassNode.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassNode+#define _DEFINED_HG3D_ClassNode++#include "ClassPtr.h"+#include "StructQuaternion.h"+#include "StructVec3.h"+#include "EnumNodeTransformSpace.h"+#include "StructRadians.h"+#include "ClassCamera.h"+
+
+// +void ogre_nd_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_nd_getName(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_nd_getParent(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_nd_getOrientation(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * result_c);++// +void ogre_nd_setOrientation(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * q_c);++// +void ogre_nd_setOrientation2(struct hg3dclass_struct * thisclass_c, float w_c, float x_c, float y_c, float z_c);++// +void ogre_nd_resetOrientation(struct hg3dclass_struct * thisclass_c);++// +void ogre_nd_setPosition(struct hg3dclass_struct * thisclass_c, struct vector3_struct * pos_c);++// +void ogre_nd_setPosition2(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c);++// +void ogre_nd_getPosition(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_nd_setScale(struct hg3dclass_struct * thisclass_c, struct vector3_struct * scale_c);++// +void ogre_nd_setScale2(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c);++// +void ogre_nd_getScale(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_nd_setInheritOrientation(struct hg3dclass_struct * thisclass_c, int inherit_c);++// +void ogre_nd_getInheritOrientation(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_nd_setInheritScale(struct hg3dclass_struct * thisclass_c, int inherit_c);++// +void ogre_nd_getInheritScale(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_nd_scale(struct hg3dclass_struct * thisclass_c, struct vector3_struct * scale_c);++// +void ogre_nd_scale2(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c);++// +void ogre_nd_translate(struct hg3dclass_struct * thisclass_c, struct vector3_struct * d_c, enum EnumNodeTransformSpace relativeTo_c);++// +void ogre_nd_translate2(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c, enum EnumNodeTransformSpace relativeTo_c);++// +void ogre_nd_roll(struct hg3dclass_struct * thisclass_c, struct radian_struct * angle_c, enum EnumNodeTransformSpace relativeTo_c);++// +void ogre_nd_pitch(struct hg3dclass_struct * thisclass_c, struct radian_struct * angle_c, enum EnumNodeTransformSpace relativeTo_c);++// +void ogre_nd_yaw(struct hg3dclass_struct * thisclass_c, struct radian_struct * angle_c, enum EnumNodeTransformSpace relativeTo_c);++// +void ogre_nd_rotate(struct hg3dclass_struct * thisclass_c, struct vector3_struct * axis_c, struct radian_struct * angle_c, enum EnumNodeTransformSpace relativeTo_c);++// +void ogre_nd_rotate2(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * q_c, enum EnumNodeTransformSpace relativeTo_c);++// +void ogre_nd_createChild(struct hg3dclass_struct * thisclass_c, struct vector3_struct * translate_c, struct quaternion_struct * rotate_c, struct hg3dclass_struct * result_c);++// +void ogre_nd_createChild2(struct hg3dclass_struct * thisclass_c, char * name_c, struct vector3_struct * translate_c, struct quaternion_struct * rotate_c, struct hg3dclass_struct * result_c);++// +void ogre_nd_addChild(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * child_c);++// +void ogre_nd_numChildren(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);++// +void ogre_nd_getChild(struct hg3dclass_struct * thisclass_c, unsigned short index_c, struct hg3dclass_struct * result_c);++// +void ogre_nd_getChild2(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_nd_removeChild(struct hg3dclass_struct * thisclass_c, unsigned short index_c, struct hg3dclass_struct * result_c);++// +void ogre_nd_removeChild2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * child_c, struct hg3dclass_struct * result_c);++// +void ogre_nd_removeChild3(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_nd_removeAllChildren(struct hg3dclass_struct * thisclass_c);++// +void ogre_nd_setInitialState(struct hg3dclass_struct * thisclass_c);++// +void ogre_nd_resetToInitialState(struct hg3dclass_struct * thisclass_c);++// +void ogre_nd_getInitialPosition(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_nd_convertWorldToLocalPosition(struct hg3dclass_struct * thisclass_c, struct vector3_struct * worldPos_c, struct vector3_struct * result_c);++// +void ogre_nd_convertLocalToWorldPosition(struct hg3dclass_struct * thisclass_c, struct vector3_struct * localPos_c, struct vector3_struct * result_c);++// +void ogre_nd_convertWorldToLocalOrientation(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * worldOrientation_c, struct quaternion_struct * result_c);++// +void ogre_nd_convertLocalToWorldOrientation(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * localOrientation_c, struct quaternion_struct * result_c);++// +void ogre_nd_getInitialOrientation(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * result_c);++// +void ogre_nd_getInitialScale(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_nd_getSquaredViewDepth(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c, float * result_c);++// +void ogre_nd_needUpdate(struct hg3dclass_struct * thisclass_c, int forceParentUpdate_c);++// +void ogre_nd_requestUpdate(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * child_c, int forceParentUpdate_c);++// +void ogre_nd_cancelUpdate(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * child_c);++// +void ogre_nd_queueNeedUpdate(struct hg3dclass_struct * n_c);++// +void ogre_nd_processQueuedUpdates();++#endif 
+ include/ClassNodeAnimationTrack.h view
@@ -0,0 +1,63 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassNodeAnimationTrack.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassNodeAnimationTrack+#define _DEFINED_HG3D_ClassNodeAnimationTrack++#include "ClassPtr.h"+#include "ClassAnimation.h"+#include "ClassNode.h"+#include "ClassTimeIndex.h"+
+
+// Constructor. +void ogre_noat_construct(struct hg3dclass_struct * parent_c, unsigned short handle_c, struct hg3dclass_struct * result_c);++// Destructor. +void ogre_noat_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_noat_getAssociatedNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_noat_setAssociatedNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * node_c);++// +void ogre_noat_applyToNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * node_c, struct hg3dclass_struct * timeIndex_c, float weight_c, float scale_c);++// +void ogre_noat_setUseShortestRotationPath(struct hg3dclass_struct * thisclass_c, int useShortestPath_c);++// +void ogre_noat_getUseShortestRotationPath(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_noat_apply(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * timeIndex_c, float weight_c, float scale_c);++// +void ogre_noat_hasNonZeroKeyFrames(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_noat_optimise(struct hg3dclass_struct * thisclass_c);++#endif 
+ include/ClassNumericAnimationTrack.h view
@@ -0,0 +1,38 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassNumericAnimationTrack.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassNumericAnimationTrack+#define _DEFINED_HG3D_ClassNumericAnimationTrack++#include "ClassPtr.h"+#include "ClassAnimation.h"+#include "ClassTimeIndex.h"+
+
+// Constructor. +void ogre_nuat_construct(struct hg3dclass_struct * parent_c, unsigned short handle_c, struct hg3dclass_struct * result_c);++// +void ogre_nuat_apply(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * timeIndex_c, float weight_c, float scale_c);++#endif 
+ include/ClassPtr.h view
@@ -0,0 +1,206 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassPtr.h
+
+// Here are the methods defined, which do the class pointer+// marshalling and the casting of subclasses to higher classes+
+#include "wchar.h"
+
+
+#ifndef CLASSPTR_INCLUDE_H+#define CLASSPTR_INCLUDE_H++typedef struct hg3dclass_struct {+	void *ptr;+	void *fptr;+} hg3dclass_struct;++void *getHG3DClassPtr(hg3dclass_struct inSt, const char* className);+++typedef void ClassAnimation; +hg3dclass_struct getHG3DClass_Animation(void *ptrIn);++typedef void ClassAnimationState; +hg3dclass_struct getHG3DClass_AnimationState(void *ptrIn);++typedef void ClassAnimationStateSet; +hg3dclass_struct getHG3DClass_AnimationStateSet(void *ptrIn);++typedef void ClassAnimationTrack; +hg3dclass_struct getHG3DClass_AnimationTrack(void *ptrIn);++typedef void ClassArchive; +hg3dclass_struct getHG3DClass_Archive(void *ptrIn);++typedef void ClassArchiveManager; +hg3dclass_struct getHG3DClass_ArchiveManager(void *ptrIn);++typedef void ClassBillboard; +hg3dclass_struct getHG3DClass_Billboard(void *ptrIn);++typedef void ClassBillboardChain; +hg3dclass_struct getHG3DClass_BillboardChain(void *ptrIn);++typedef void ClassBillboardChainFactory; +hg3dclass_struct getHG3DClass_BillboardChainFactory(void *ptrIn);++typedef void ClassBillboardSet; +hg3dclass_struct getHG3DClass_BillboardSet(void *ptrIn);++typedef void ClassBillboardSetFactory; +hg3dclass_struct getHG3DClass_BillboardSetFactory(void *ptrIn);++typedef void ClassBone; +hg3dclass_struct getHG3DClass_Bone(void *ptrIn);++typedef void ClassCamera; +hg3dclass_struct getHG3DClass_Camera(void *ptrIn);++typedef void ClassConfigFile; +hg3dclass_struct getHG3DClass_ConfigFile(void *ptrIn);++typedef void ClassControllerManager; +hg3dclass_struct getHG3DClass_ControllerManager(void *ptrIn);++typedef void ClassEntity; +hg3dclass_struct getHG3DClass_Entity(void *ptrIn);++typedef void ClassEntityFactory; +hg3dclass_struct getHG3DClass_EntityFactory(void *ptrIn);++typedef void ClassException; +hg3dclass_struct getHG3DClass_Exception(void *ptrIn);++typedef void ClassFrustum; +hg3dclass_struct getHG3DClass_Frustum(void *ptrIn);++typedef void ClassLight; +hg3dclass_struct getHG3DClass_Light(void *ptrIn);++typedef void ClassLightFactory; +hg3dclass_struct getHG3DClass_LightFactory(void *ptrIn);++typedef void ClassLog; +hg3dclass_struct getHG3DClass_Log(void *ptrIn);++typedef void ClassLogManager; +hg3dclass_struct getHG3DClass_LogManager(void *ptrIn);++typedef void ClassManualObject; +hg3dclass_struct getHG3DClass_ManualObject(void *ptrIn);++typedef void ClassManualObjectFactory; +hg3dclass_struct getHG3DClass_ManualObjectFactory(void *ptrIn);++typedef void ClassManualObjectSection; +hg3dclass_struct getHG3DClass_ManualObjectSection(void *ptrIn);++typedef void ClassMaterial; +hg3dclass_struct getHG3DClass_Material(void *ptrIn);++typedef void ClassMaterialManager; +hg3dclass_struct getHG3DClass_MaterialManager(void *ptrIn);++typedef void ClassMesh; +hg3dclass_struct getHG3DClass_Mesh(void *ptrIn);++typedef void ClassMeshManager; +hg3dclass_struct getHG3DClass_MeshManager(void *ptrIn);++typedef void ClassMovableObject; +hg3dclass_struct getHG3DClass_MovableObject(void *ptrIn);++typedef void ClassMovableObjectFactory; +hg3dclass_struct getHG3DClass_MovableObjectFactory(void *ptrIn);++typedef void ClassMultiRenderTarget; +hg3dclass_struct getHG3DClass_MultiRenderTarget(void *ptrIn);++typedef void ClassNode; +hg3dclass_struct getHG3DClass_Node(void *ptrIn);++typedef void ClassNodeAnimationTrack; +hg3dclass_struct getHG3DClass_NodeAnimationTrack(void *ptrIn);++typedef void ClassNumericAnimationTrack; +hg3dclass_struct getHG3DClass_NumericAnimationTrack(void *ptrIn);++typedef void ClassRenderable; +hg3dclass_struct getHG3DClass_Renderable(void *ptrIn);++typedef void ClassRenderSystem; +hg3dclass_struct getHG3DClass_RenderSystem(void *ptrIn);++typedef void ClassRenderTarget; +hg3dclass_struct getHG3DClass_RenderTarget(void *ptrIn);++typedef void ClassRenderTexture; +hg3dclass_struct getHG3DClass_RenderTexture(void *ptrIn);++typedef void ClassRenderWindow; +hg3dclass_struct getHG3DClass_RenderWindow(void *ptrIn);++typedef void ClassResource; +hg3dclass_struct getHG3DClass_Resource(void *ptrIn);++typedef void ClassResourceGroupManager; +hg3dclass_struct getHG3DClass_ResourceGroupManager(void *ptrIn);++typedef void ClassResourceManager; +hg3dclass_struct getHG3DClass_ResourceManager(void *ptrIn);++typedef void ClassRoot; +hg3dclass_struct getHG3DClass_Root(void *ptrIn);++typedef void ClassSceneManager; +hg3dclass_struct getHG3DClass_SceneManager(void *ptrIn);++typedef void ClassSceneManagerFactory; +hg3dclass_struct getHG3DClass_SceneManagerFactory(void *ptrIn);++typedef void ClassSceneNode; +hg3dclass_struct getHG3DClass_SceneNode(void *ptrIn);++typedef void ClassSkeleton; +hg3dclass_struct getHG3DClass_Skeleton(void *ptrIn);++typedef void ClassSkeletonManager; +hg3dclass_struct getHG3DClass_SkeletonManager(void *ptrIn);++typedef void ClassTextureManager; +hg3dclass_struct getHG3DClass_TextureManager(void *ptrIn);++typedef void ClassTimeIndex; +hg3dclass_struct getHG3DClass_TimeIndex(void *ptrIn);++typedef void ClassVertexAnimationTrack; +hg3dclass_struct getHG3DClass_VertexAnimationTrack(void *ptrIn);++typedef void ClassViewport; +hg3dclass_struct getHG3DClass_Viewport(void *ptrIn);++typedef void ClassWindowEventUtilities; +hg3dclass_struct getHG3DClass_WindowEventUtilities(void *ptrIn);++typedef void ClassHG3DUtilities; +hg3dclass_struct getHG3DClass_HG3DUtilities(void *ptrIn);++#endif
+ include/ClassRenderSystem.h view
@@ -0,0 +1,184 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassRenderSystem.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassRenderSystem+#define _DEFINED_HG3D_ClassRenderSystem++#include "ClassPtr.h"+#include "ClassMultiRenderTarget.h"+#include "ClassRenderTarget.h"+#include "StructColour.h"+#include "EnumGpuProgramType.h"+
+
+// +void ogre_rds_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_rds_getName(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_rds_setConfigOption(struct hg3dclass_struct * thisclass_c, char * name_c, char * value_c);++// +void ogre_rds_validateConfigOptions(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_rds_reinitialise(struct hg3dclass_struct * thisclass_c);++// +void ogre_rds_shutdown(struct hg3dclass_struct * thisclass_c);++// +void ogre_rds_setAmbientLight(struct hg3dclass_struct * thisclass_c, float r_c, float g_c, float b_c);++// +void ogre_rds_setLightingEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);++// +void ogre_rds_setWBufferEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);++// +void ogre_rds_getWBufferEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rds_createMultiRenderTarget(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_rds_destroyRenderWindow(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_rds_destroyRenderTexture(struct hg3dclass_struct * thisclass_c, char * name_c);++// +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);++// +void ogre_rds_detachRenderTarget(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_rds_getErrorDescription(struct hg3dclass_struct * thisclass_c, int errorNumber_c, char * result_c);++// +void ogre_rds_setWaitForVerticalBlank(struct hg3dclass_struct * thisclass_c, int enabled_c);++// +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_setDepthBufferFor(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * renderTarget_c);++// +void ogre_rds_areFixedFunctionLightsInViewSpace(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rds_convertColourValue(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * colour_c, unsigned int * pDest_c);++// +void ogre_rds_setStencilCheckEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);++// +void ogre_rds_setNormaliseNormals(struct hg3dclass_struct * thisclass_c, int normalise_c);++// +void ogre_rds_bindGpuProgramPassIterationParameters(struct hg3dclass_struct * thisclass_c, enum EnumGpuProgramType gptype_c);++// +void ogre_rds_unbindGpuProgram(struct hg3dclass_struct * thisclass_c, enum EnumGpuProgramType gptype_c);++// +void ogre_rds_isGpuProgramBound(struct hg3dclass_struct * thisclass_c, enum EnumGpuProgramType gptype_c, int * result_c);++// +void ogre_rds_addClipPlane2(struct hg3dclass_struct * thisclass_c, float A_c, float B_c, float C_c, float D_c);++// +void ogre_rds_resetClipPlanes(struct hg3dclass_struct * thisclass_c);++// +void ogre_rds_setInvertVertexWinding(struct hg3dclass_struct * thisclass_c, int invert_c);++// +void ogre_rds_getInvertVertexWinding(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rds_setScissorTest(struct hg3dclass_struct * thisclass_c, int enabled_c, int left_c, int top_c, int right_c, int bottom_c);++// +void ogre_rds_clearFrameBuffer(struct hg3dclass_struct * thisclass_c, unsigned int buffers_c, struct colourvalue_struct * colour_c, float depth_c, unsigned short stencil_c);++// +void ogre_rds_getHorizontalTexelOffset(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_rds_getVerticalTexelOffset(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_rds_getMinimumDepthInputValue(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_rds_getMaximumDepthInputValue(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_rds_setCurrentPassIterationCount(struct hg3dclass_struct * thisclass_c, const int count_c);++// +void ogre_rds_setDeriveDepthBias(struct hg3dclass_struct * thisclass_c, int derive_c, float baseValue_c, float multiplier_c, float slopeScale_c);++// +void ogre_rds_preExtraThreadsStarted(struct hg3dclass_struct * thisclass_c);++// +void ogre_rds_postExtraThreadsStarted(struct hg3dclass_struct * thisclass_c);++// +void ogre_rds_registerThread(struct hg3dclass_struct * thisclass_c);++// +void ogre_rds_unregisterThread(struct hg3dclass_struct * thisclass_c);++// +void ogre_rds_getDisplayMonitorCount(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_rds_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
@@ -0,0 +1,152 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassRenderTarget.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassRenderTarget+#define _DEFINED_HG3D_ClassRenderTarget++#include "ClassPtr.h"+#include "ClassViewport.h"+#include "ClassCamera.h"+
+
+// +void ogre_rtgt_destruct(struct hg3dclass_struct * thisclass_c);++// Retrieve target's name. +void ogre_rtgt_getName(struct hg3dclass_struct * thisclass_c, char * result_c);++// Retrieve information about the render target. +void ogre_rtgt_getMetrics(struct hg3dclass_struct * thisclass_c, unsigned int * width_c, unsigned int * height_c, unsigned int * colourDepth_c);++// +void ogre_rtgt_getWidth(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_rtgt_getHeight(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +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);++// +void ogre_rtgt_swapBuffers(struct hg3dclass_struct * thisclass_c, int waitForVSync_c);++// +void ogre_rtgt_addViewport(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c, int ZOrder_c, float left_c, float top_c, float width_c, float height_c, struct hg3dclass_struct * result_c);++// +void ogre_rtgt_getNumViewports(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);++// +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);++// +void ogre_rtgt_removeAllViewports(struct hg3dclass_struct * thisclass_c);++// +void ogre_rtgt_getStatistics(struct hg3dclass_struct * thisclass_c, float * lastFPS_c, float * avgFPS_c, float * bestFPS_c, float * worstFPS_c);++// +void ogre_rtgt_getLastFPS(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_rtgt_getAverageFPS(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_rtgt_getBestFPS(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_rtgt_getWorstFPS(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_rtgt_getBestFrameTime(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_rtgt_getWorstFrameTime(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_rtgt_resetStatistics(struct hg3dclass_struct * thisclass_c);++// +void ogre_rtgt_removeAllListeners(struct hg3dclass_struct * thisclass_c);++// +void ogre_rtgt_isActive(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rtgt_setActive(struct hg3dclass_struct * thisclass_c, int state_c);++// +void ogre_rtgt_setAutoUpdated(struct hg3dclass_struct * thisclass_c, int autoupdate_c);++// +void ogre_rtgt_isAutoUpdated(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rtgt_writeContentsToFile(struct hg3dclass_struct * thisclass_c, char * filename_c);++// +void ogre_rtgt_writeContentsToTimestampedFile(struct hg3dclass_struct * thisclass_c, char * filenamePrefix_c, char * filenameSuffix_c, char * result_c);++// +void ogre_rtgt_requiresTextureFlipping(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rtgt_getTriangleCount(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rtgt_getBatchCount(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rtgt_isPrimary(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rtgt_isHardwareGammaEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rtgt_getFSAA(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_rtgt_getFSAAHint(struct hg3dclass_struct * thisclass_c, char * result_c);++#endif 
+ include/ClassRenderTexture.h view
@@ -0,0 +1,33 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassRenderTexture.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassRenderTexture+#define _DEFINED_HG3D_ClassRenderTexture++#include "ClassPtr.h"+
+
+// +void ogre_rtx_destruct(struct hg3dclass_struct * thisclass_c);++#endif 
+ include/ClassRenderWindow.h view
@@ -0,0 +1,90 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassRenderWindow.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassRenderWindow+#define _DEFINED_HG3D_ClassRenderWindow++#include "ClassPtr.h"+
+
+// +void ogre_rw_setFullscreen(struct hg3dclass_struct * thisclass_c, int fullScreen_c, unsigned int width_c, unsigned int height_c);++// +void ogre_rw_destroy(struct hg3dclass_struct * thisclass_c);++// +void ogre_rw_resize(struct hg3dclass_struct * thisclass_c, unsigned int width_c, unsigned int height_c);++// +void ogre_rw_windowMovedOrResized(struct hg3dclass_struct * thisclass_c);++// +void ogre_rw_reposition(struct hg3dclass_struct * thisclass_c, int left_c, int top_c);++// +void ogre_rw_isVisible(struct hg3dclass_struct * thisclass_c, int * result_c);++// +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);++// +void ogre_rw_isClosed(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rw_isPrimary(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rw_isFullScreen(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rw_getMetrics(struct hg3dclass_struct * thisclass_c, unsigned int * width_c, unsigned int * height_c, unsigned int * colourDepth_c, int * left_c, int * top_c);++// +void ogre_rw_isDeactivatedOnFocusChange(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rw_setDeactivateOnFocusChange(struct hg3dclass_struct * thisclass_c, int deactivate_c);++#endif 
+ include/ClassRenderable.h view
@@ -0,0 +1,79 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassRenderable.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassRenderable+#define _DEFINED_HG3D_ClassRenderable++#include "ClassPtr.h"+#include "StructSharedPtr.h"+#include "ClassSceneManager.h"+#include "ClassRenderSystem.h"+#include "ClassCamera.h"+
+
+// +void ogre_rndl_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_rndl_getMaterial(struct hg3dclass_struct * thisclass_c, struct sharedptr_struct * result_c);++// +void ogre_rndl_preRender(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * sm_c, struct hg3dclass_struct * rsys_c, int * result_c);++// +void ogre_rndl_postRender(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * sm_c, struct hg3dclass_struct * rsys_c);++// +void ogre_rndl_getNumWorldTransforms(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);++// +void ogre_rndl_setUseIdentityProjection(struct hg3dclass_struct * thisclass_c, int useIdentityProjection_c);++// +void ogre_rndl_getUseIdentityProjection(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rndl_setUseIdentityView(struct hg3dclass_struct * thisclass_c, int useIdentityView_c);++// +void ogre_rndl_getUseIdentityView(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rndl_getSquaredViewDepth(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c, float * result_c);++// +void ogre_rndl_getCastsShadows(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rndl_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);++// +void ogre_rndl_getPolygonModeOverrideable(struct hg3dclass_struct * thisclass_c, int * result_c);++#endif 
+ include/ClassResource.h view
@@ -0,0 +1,94 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassResource.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassResource+#define _DEFINED_HG3D_ClassResource++#include "ClassPtr.h"+#include "ClassResourceManager.h"+
+
+// +void ogre_rsrc_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_rsrc_prepare(struct hg3dclass_struct * thisclass_c, int backgroundThread_c);++// +void ogre_rsrc_load(struct hg3dclass_struct * thisclass_c, int backgroundThread_c);++// +void ogre_rsrc_reload(struct hg3dclass_struct * thisclass_c);++// +void ogre_rsrc_isReloadable(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rsrc_isManuallyLoaded(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rsrc_unload(struct hg3dclass_struct * thisclass_c);++// +void ogre_rsrc_getSize(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rsrc_touch(struct hg3dclass_struct * thisclass_c);++// +void ogre_rsrc_getName(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_rsrc_isPrepared(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rsrc_isLoaded(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rsrc_isLoading(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rsrc_isBackgroundLoaded(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rsrc_setBackgroundLoaded(struct hg3dclass_struct * thisclass_c, int bl_c);++// +void ogre_rsrc_escalateLoading(struct hg3dclass_struct * thisclass_c);++// Gets the group which this resource is a member of. +void ogre_rsrc_getGroup(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_rsrc_changeGroupOwnership(struct hg3dclass_struct * thisclass_c, char * newGroup_c);++// Gets the manager which created this resource. +void ogre_rsrc_getCreator(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_rsrc_getOrigin(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_rsrc_getStateCount(struct hg3dclass_struct * thisclass_c, int * result_c);++#endif 
+ include/ClassResourceGroupManager.h view
@@ -0,0 +1,124 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassResourceGroupManager.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassResourceGroupManager+#define _DEFINED_HG3D_ClassResourceGroupManager++#include "ClassPtr.h"+#include "ClassSceneManager.h"+
+
+// +void ogre_rgmgr_construct(struct hg3dclass_struct * result_c);++// +void ogre_rgmgr_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_rgmgr_createResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c, const int inGlobalPool_c);++// +void ogre_rgmgr_initialiseResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_rgmgr_initialiseAllResourceGroups(struct hg3dclass_struct * thisclass_c);++// +void ogre_rgmgr_prepareResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c, int prepareMainResources_c, int prepareWorldGeom_c);++// +void ogre_rgmgr_loadResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c, int loadMainResources_c, int loadWorldGeom_c);++// +void ogre_rgmgr_unloadResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c, int reloadableOnly_c);++// +void ogre_rgmgr_unloadUnreferencedResourcesInGroup(struct hg3dclass_struct * thisclass_c, char * name_c, int reloadableOnly_c);++// +void ogre_rgmgr_clearResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_rgmgr_destroyResourceGroup(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_rgmgr_isResourceGroupInitialised(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_rgmgr_isResourceGroupLoaded(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_rgmgr_resourceGroupExists(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_rgmgr_addResourceLocation(struct hg3dclass_struct * thisclass_c, char * name_c, char * locType_c, char * resGroup_c, int recursive_c);++// +void ogre_rgmgr_removeResourceLocation(struct hg3dclass_struct * thisclass_c, char * name_c, char * resGroup_c);++// +void ogre_rgmgr_resourceLocationExists(struct hg3dclass_struct * thisclass_c, char * name_c, char * resGroup_c, int * result_c);++// +void ogre_rgmgr_undeclareResource(struct hg3dclass_struct * thisclass_c, char * name_c, char * groupName_c);++// +void ogre_rgmgr_resourceExists(struct hg3dclass_struct * thisclass_c, char * group_c, char * filename_c, int * result_c);++// +void ogre_rgmgr_resourceExistsInAnyGroup(struct hg3dclass_struct * thisclass_c, char * filename_c, int * result_c);++// +void ogre_rgmgr_findGroupContainingResource(struct hg3dclass_struct * thisclass_c, char * filename_c, char * result_c);++// +void ogre_rgmgr_deleteResource(struct hg3dclass_struct * thisclass_c, char * filename_c, char * groupName_c, char * locationPattern_c);++// +void ogre_rgmgr_deleteMatchingResources(struct hg3dclass_struct * thisclass_c, char * filePattern_c, char * groupName_c, char * locationPattern_c);++// +void ogre_rgmgr_setWorldResourceGroupName(struct hg3dclass_struct * thisclass_c, char * groupName_c);++// Gets the resource group that 'world' resources will use. +void ogre_rgmgr_getWorldResourceGroupName(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_rgmgr_linkWorldGeometryToResourceGroup(struct hg3dclass_struct * thisclass_c, char * group_c, char * worldGeometry_c, struct hg3dclass_struct * sceneManager_c);++// +void ogre_rgmgr_unlinkWorldGeometryFromResourceGroup(struct hg3dclass_struct * thisclass_c, char * group_c);++// +void ogre_rgmgr_isResourceGroupInGlobalPool(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_rgmgr_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/ClassResourceManager.h view
@@ -0,0 +1,87 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassResourceManager.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassResourceManager+#define _DEFINED_HG3D_ClassResourceManager++#include "ClassPtr.h"+
+
+// +void ogre_rsrcmgr_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_rsrcmgr_setMemoryBudget(struct hg3dclass_struct * thisclass_c, int bytes_c);++// +void ogre_rsrcmgr_getMemoryBudget(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rsrcmgr_getMemoryUsage(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rsrcmgr_unload(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_rsrcmgr_unloadAll(struct hg3dclass_struct * thisclass_c, int reloadableOnly_c);++// +void ogre_rsrcmgr_reloadAll(struct hg3dclass_struct * thisclass_c, int reloadableOnly_c);++// +void ogre_rsrcmgr_unloadUnreferencedResources(struct hg3dclass_struct * thisclass_c, int reloadableOnly_c);++// +void ogre_rsrcmgr_reloadUnreferencedResources(struct hg3dclass_struct * thisclass_c, int reloadableOnly_c);++// +void ogre_rsrcmgr_remove2(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_rsrcmgr_removeAll(struct hg3dclass_struct * thisclass_c);++// +void ogre_rsrcmgr_removeUnreferencedResources(struct hg3dclass_struct * thisclass_c, int reloadableOnly_c);++// Returns whether the named resource exists in this manager. +void ogre_rsrcmgr_resourceExists(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_rsrcmgr_getLoadingOrder(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_rsrcmgr_getResourceType(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_rsrcmgr_setVerbose(struct hg3dclass_struct * thisclass_c, int v_c);++// +void ogre_rsrcmgr_getVerbose(struct hg3dclass_struct * thisclass_c, int * result_c);++// Destroy a resource pool. +void ogre_rsrcmgr_destroyResourcePool2(struct hg3dclass_struct * thisclass_c, char * name_c);++// destroy all pools +void ogre_rsrcmgr_destroyAllResourcePools(struct hg3dclass_struct * thisclass_c);++#endif 
+ include/ClassRoot.h view
@@ -0,0 +1,207 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassRoot.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassRoot+#define _DEFINED_HG3D_ClassRoot++#include "ClassPtr.h"+#include "ClassRenderSystem.h"+#include "ClassRenderWindow.h"+#include "ClassSceneManagerFactory.h"+#include "ClassSceneManager.h"+#include "ClassTextureManager.h"+#include "ClassMeshManager.h"+#include "StructColour.h"+#include "ClassRenderTarget.h"+#include "ClassMovableObjectFactory.h"+
+
+// +void ogre_rt_construct(char * pluginFileName_c, char * configFileName_c, char * logFileName_c, struct hg3dclass_struct * result_c);++// +void ogre_rt_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_rt_saveConfig(struct hg3dclass_struct * thisclass_c);++// +void ogre_rt_restoreConfig(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rt_showConfigDialog(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rt_addRenderSystem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * newRend_c);++// +void ogre_rt_getRenderSystemByName(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_rt_setRenderSystem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * system_c);++// +void ogre_rt_getRenderSystem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_rt_initialise(struct hg3dclass_struct * thisclass_c, int autoCreateWindow_c, char * windowTitle_c, char * customCapabilitiesConfig_c, struct hg3dclass_struct * result_c);++// +void ogre_rt_isInitialised(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rt_getRemoveRenderQueueStructuresOnClear(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rt_setRemoveRenderQueueStructuresOnClear(struct hg3dclass_struct * thisclass_c, int r_c);++// +void ogre_rt_addSceneManagerFactory(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * fact_c);++// +void ogre_rt_removeSceneManagerFactory(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * fact_c);++// +void ogre_rt_createSceneManager(struct hg3dclass_struct * thisclass_c, char * typeName_c, char * instanceName_c, struct hg3dclass_struct * result_c);++// +void ogre_rt_destroySceneManager(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * sm_c);++// +void ogre_rt_getSceneManager(struct hg3dclass_struct * thisclass_c, char * instanceName_c, struct hg3dclass_struct * result_c);++// +void ogre_rt_hasSceneManager(struct hg3dclass_struct * thisclass_c, char * instanceName_c, int * result_c);++// +void ogre_rt_getTextureManager(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_rt_getMeshManager(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_rt_getErrorDescription(struct hg3dclass_struct * thisclass_c, int errorNumber_c, char * result_c);++// +void ogre_rt_queueEndRendering(struct hg3dclass_struct * thisclass_c);++// +void ogre_rt_startRendering(struct hg3dclass_struct * thisclass_c);++// +void ogre_rt_renderOneFrame(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_rt_renderOneFrame2(struct hg3dclass_struct * thisclass_c, float timeSinceLastFrame_c, int * result_c);++// +void ogre_rt_shutdown(struct hg3dclass_struct * thisclass_c);++// +void ogre_rt_addResourceLocation(struct hg3dclass_struct * thisclass_c, char * name_c, char * locType_c, char * groupName_c, int recursive_c);++// +void ogre_rt_removeResourceLocation(struct hg3dclass_struct * thisclass_c, char * name_c, char * groupName_c);++// +void ogre_rt_convertColourValue(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * colour_c, unsigned int * pDest_c);++// +void ogre_rt_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, struct hg3dclass_struct * result_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);++// +void ogre_rt_destroyRenderTarget2(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_rt_getRenderTarget(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_rt_loadPlugin(struct hg3dclass_struct * thisclass_c, char * pluginName_c);++// +void ogre_rt_unloadPlugin(struct hg3dclass_struct * thisclass_c, char * pluginName_c);++// +void ogre_rt_destroyRenderQueueInvocationSequence(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_rt_destroyAllRenderQueueInvocationSequences(struct hg3dclass_struct * thisclass_c);++// +void ogre_rt_clearEventTimes(struct hg3dclass_struct * thisclass_c);++// +void ogre_rt_setFrameSmoothingPeriod(struct hg3dclass_struct * thisclass_c, float period_c);++// +void ogre_rt_getFrameSmoothingPeriod(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_rt_addMovableObjectFactory(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * fact_c, int overrideExisting_c);++// +void ogre_rt_removeMovableObjectFactory(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * fact_c);++// Checks whether a factory is registered for a given MovableObject+void ogre_rt_hasMovableObjectFactory(struct hg3dclass_struct * thisclass_c, char * typeName_c, int * result_c);++// Get a MovableObjectFactory+void ogre_rt_getMovableObjectFactory(struct hg3dclass_struct * thisclass_c, char * typeName_c, struct hg3dclass_struct * result_c);++// +void ogre_rt_getDisplayMonitorCount(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_rt_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);++#endif 
+ include/ClassSceneManager.h view
@@ -0,0 +1,555 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassSceneManager.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassSceneManager+#define _DEFINED_HG3D_ClassSceneManager++#include "ClassPtr.h"+#include "ClassCamera.h"+#include "ClassLight.h"+#include "ClassSceneNode.h"+#include "ClassEntity.h"+#include "StructSharedPtr.h"+#include "EnumSceneManagerPrefabType.h"+#include "ClassManualObject.h"+#include "ClassBillboardChain.h"+#include "StructColour.h"+#include "StructQuaternion.h"+#include "ClassBillboardSet.h"+#include "ClassAnimation.h"+#include "ClassAnimationState.h"+#include "EnumSceneManagerSpecialCaseRenderQueueMode.h"+#include "EnumLightType.h"+#include "ClassMovableObject.h"+#include "ClassRenderSystem.h"+#include "ClassViewport.h"+
+
+// +void ogre_scmgr_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_scmgr_getName(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_scmgr_getTypeName(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_scmgr_createCamera(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_getCamera(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_hasCamera(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_scmgr_destroyCamera(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c);++// +void ogre_scmgr_destroyCamera2(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_scmgr_destroyAllCameras(struct hg3dclass_struct * thisclass_c);++// +void ogre_scmgr_createLight(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_createLight2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_getLight(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_hasLight(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_scmgr_destroyLight(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_scmgr_destroyLight2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * light_c);++// +void ogre_scmgr_destroyAllLights(struct hg3dclass_struct * thisclass_c);++// +void ogre_scmgr_createSceneNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_createSceneNode2(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_destroySceneNode(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_scmgr_destroySceneNode2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * sn_c);++// +void ogre_scmgr_getRootSceneNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_getSceneNode(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_hasSceneNode(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_scmgr_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 * entityName_c, struct sharedptr_struct * pMesh_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, 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);++// +void ogre_scmgr_hasEntity(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_scmgr_destroyEntity(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * ent_c);++// +void ogre_scmgr_destroyEntity2(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_scmgr_destroyAllEntities(struct hg3dclass_struct * thisclass_c);++// +void ogre_scmgr_createManualObject(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_createManualObject2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_getManualObject(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_hasManualObject(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_scmgr_destroyManualObject(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * obj_c);++// +void ogre_scmgr_destroyManualObject2(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_scmgr_destroyAllManualObjects(struct hg3dclass_struct * thisclass_c);++// +void ogre_scmgr_createBillboardChain(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_createBillboardChain2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_getBillboardChain(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_hasBillboardChain(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_scmgr_destroyBillboardChain(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * obj_c);++// +void ogre_scmgr_destroyBillboardChain2(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_scmgr_destroyAllBillboardChains(struct hg3dclass_struct * thisclass_c);++// +void ogre_scmgr_hasRibbonTrail(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_scmgr_destroyRibbonTrail2(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_scmgr_destroyAllRibbonTrails(struct hg3dclass_struct * thisclass_c);++// +void ogre_scmgr_hasParticleSystem(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_scmgr_destroyParticleSystem2(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_scmgr_destroyAllParticleSystems(struct hg3dclass_struct * thisclass_c);++// +void ogre_scmgr_clearScene(struct hg3dclass_struct * thisclass_c);++// +void ogre_scmgr_setAmbientLight(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * colour_c);++// +void ogre_scmgr_getAmbientLight(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * result_c);++// +void ogre_scmgr_prepareWorldGeometry(struct hg3dclass_struct * thisclass_c, char * filename_c);++// +void ogre_scmgr_setWorldGeometry(struct hg3dclass_struct * thisclass_c, char * filename_c);++// +void ogre_scmgr_estimateWorldGeometry(struct hg3dclass_struct * thisclass_c, char * filename_c, int * result_c);++// +void ogre_scmgr_hasOption(struct hg3dclass_struct * thisclass_c, char * strKey_c, int * result_c);++// +void ogre_scmgr_setSkyPlaneEnabled(struct hg3dclass_struct * thisclass_c, int enable_c);++// +void ogre_scmgr_isSkyPlaneEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_getSkyPlaneNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_setSkyBox(struct hg3dclass_struct * thisclass_c, int enable_c, char * materialName_c, float distance_c, int drawFirst_c, struct quaternion_struct * orientation_c, char * groupName_c);++// +void ogre_scmgr_setSkyBoxEnabled(struct hg3dclass_struct * thisclass_c, int enable_c);++// +void ogre_scmgr_isSkyBoxEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_getSkyBoxNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_setSkyDome(struct hg3dclass_struct * thisclass_c, int enable_c, char * materialName_c, float curvature_c, float tiling_c, float distance_c, int drawFirst_c, struct quaternion_struct * orientation_c, int xsegments_c, int ysegments_c, int ysegments_keep_c, char * groupName_c);++// +void ogre_scmgr_setSkyDomeEnabled(struct hg3dclass_struct * thisclass_c, int enable_c);++// +void ogre_scmgr_isSkyDomeEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_getSkyDomeNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_getFogColour(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * result_c);++// +void ogre_scmgr_getFogStart(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_scmgr_getFogEnd(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_scmgr_getFogDensity(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_scmgr_createBillboardSet(struct hg3dclass_struct * thisclass_c, char * name_c, unsigned int poolSize_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_createBillboardSet2(struct hg3dclass_struct * thisclass_c, unsigned int poolSize_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_getBillboardSet(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_hasBillboardSet(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_scmgr_destroyBillboardSet(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * set_c);++// +void ogre_scmgr_destroyBillboardSet2(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_scmgr_destroyAllBillboardSets(struct hg3dclass_struct * thisclass_c);++// +void ogre_scmgr_setDisplaySceneNodes(struct hg3dclass_struct * thisclass_c, int display_c);++// +void ogre_scmgr_getDisplaySceneNodes(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_createAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, float length_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_getAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_hasAnimation(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_scmgr_destroyAnimation(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_scmgr_destroyAllAnimations(struct hg3dclass_struct * thisclass_c);++// +void ogre_scmgr_createAnimationState(struct hg3dclass_struct * thisclass_c, char * animName_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_getAnimationState(struct hg3dclass_struct * thisclass_c, char * animName_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_hasAnimationState(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_scmgr_destroyAnimationState(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_scmgr_destroyAllAnimationStates(struct hg3dclass_struct * thisclass_c);++// +void ogre_scmgr_clearSpecialCaseRenderQueues(struct hg3dclass_struct * thisclass_c);++// +void ogre_scmgr_setSpecialCaseRenderQueueMode(struct hg3dclass_struct * thisclass_c, enum EnumSceneManagerSpecialCaseRenderQueueMode mode_c);++// +void ogre_scmgr_getSpecialCaseRenderQueueMode(struct hg3dclass_struct * thisclass_c, enum EnumSceneManagerSpecialCaseRenderQueueMode * result_c);++// +void ogre_scmgr_showBoundingBoxes(struct hg3dclass_struct * thisclass_c, int bShow_c);++// +void ogre_scmgr_getShowBoundingBoxes(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_setShowDebugShadows(struct hg3dclass_struct * thisclass_c, int debug_c);++// +void ogre_scmgr_getShowDebugShadows(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_setShadowColour(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * colour_c);++// +void ogre_scmgr_getShadowColour(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * result_c);++// +void ogre_scmgr_setShadowDirectionalLightExtrusionDistance(struct hg3dclass_struct * thisclass_c, float dist_c);++// +void ogre_scmgr_getShadowDirectionalLightExtrusionDistance(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_scmgr_setShadowFarDistance(struct hg3dclass_struct * thisclass_c, float distance_c);++// +void ogre_scmgr_getShadowFarDistance(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_scmgr_getShadowFarDistanceSquared(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_scmgr_setShadowIndexBufferSize(struct hg3dclass_struct * thisclass_c, int size_c);++// Get the size of the shadow index buffer. +void ogre_scmgr_getShadowIndexBufferSize(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_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. +void ogre_scmgr_getShadowTextureCount(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_setShadowTextureCountPerLightType(struct hg3dclass_struct * thisclass_c, enum EnumLightType type_c, int count_c);++// Get the number of shadow textures is assigned for the given light type. +void ogre_scmgr_getShadowTextureCountPerLightType(struct hg3dclass_struct * thisclass_c, enum EnumLightType type_c, int * result_c);++// +void ogre_scmgr_getShadowTexture(struct hg3dclass_struct * thisclass_c, int shadowIndex_c, struct sharedptr_struct * result_c);++// +void ogre_scmgr_setShadowDirLightTextureOffset(struct hg3dclass_struct * thisclass_c, float offset_c);++// +void ogre_scmgr_getShadowDirLightTextureOffset(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_scmgr_setShadowTextureFadeStart(struct hg3dclass_struct * thisclass_c, float fadeStart_c);++// +void ogre_scmgr_setShadowTextureFadeEnd(struct hg3dclass_struct * thisclass_c, float fadeEnd_c);++// +void ogre_scmgr_setShadowTextureSelfShadow(struct hg3dclass_struct * thisclass_c, int selfShadow_c);++// Gets whether or not texture shadows attempt to self-shadow. +void ogre_scmgr_getShadowTextureSelfShadow(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_setShadowTextureCasterMaterial(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_scmgr_setShadowTextureReceiverMaterial(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_scmgr_setShadowCasterRenderBackFaces(struct hg3dclass_struct * thisclass_c, int bf_c);++// +void ogre_scmgr_getShadowCasterRenderBackFaces(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_setShadowUseInfiniteFarPlane(struct hg3dclass_struct * thisclass_c, int enable_c);++// +void ogre_scmgr_isShadowTechniqueStencilBased(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_isShadowTechniqueTextureBased(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_isShadowTechniqueModulative(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_isShadowTechniqueAdditive(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_isShadowTechniqueIntegrated(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_isShadowTechniqueInUse(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_setShadowUseLightClipPlanes(struct hg3dclass_struct * thisclass_c, int enabled_c);++// +void ogre_scmgr_getShadowUseLightClipPlanes(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_setLateMaterialResolving(struct hg3dclass_struct * thisclass_c, int isLate_c);++// +void ogre_scmgr_isLateMaterialResolving(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_hasStaticGeometry(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_scmgr_destroyStaticGeometry2(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_scmgr_destroyAllStaticGeometry(struct hg3dclass_struct * thisclass_c);++// +void ogre_scmgr_destroyInstancedGeometry2(struct hg3dclass_struct * thisclass_c, char * name_c);++// +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);++// +void ogre_scmgr_destroyMovableObject2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * m_c);++// +void ogre_scmgr_destroyAllMovableObjectsByType(struct hg3dclass_struct * thisclass_c, char * typeName_c);++// +void ogre_scmgr_destroyAllMovableObjects(struct hg3dclass_struct * thisclass_c);++// +void ogre_scmgr_getMovableObject(struct hg3dclass_struct * thisclass_c, char * name_c, char * typeName_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_hasMovableObject(struct hg3dclass_struct * thisclass_c, char * name_c, char * typeName_c, int * result_c);++// +void ogre_scmgr_injectMovableObject(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * m_c);++// +void ogre_scmgr_extractMovableObject(struct hg3dclass_struct * thisclass_c, char * name_c, char * typeName_c);++// +void ogre_scmgr_extractMovableObject2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * m_c);++// +void ogre_scmgr_extractAllMovableObjectsByType(struct hg3dclass_struct * thisclass_c, char * typeName_c);++// +void ogre_scmgr_setVisibilityMask(struct hg3dclass_struct * thisclass_c, unsigned int vmask_c);++// +void ogre_scmgr_getVisibilityMask(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_scmgr_setFindVisibleObjects(struct hg3dclass_struct * thisclass_c, int find_c);++// +void ogre_scmgr_getFindVisibleObjects(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_setNormaliseNormalsOnScale(struct hg3dclass_struct * thisclass_c, int n_c);++// +void ogre_scmgr_getNormaliseNormalsOnScale(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_setFlipCullingOnNegativeScale(struct hg3dclass_struct * thisclass_c, int n_c);++// +void ogre_scmgr_getFlipCullingOnNegativeScale(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_scmgr_getDestinationRenderSystem(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_getCurrentViewport(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_scmgr_setCameraRelativeRendering(struct hg3dclass_struct * thisclass_c, int rel_c);++// +void ogre_scmgr_getCameraRelativeRendering(struct hg3dclass_struct * thisclass_c, int * result_c);++#endif 
+ include/ClassSceneManagerFactory.h view
@@ -0,0 +1,40 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassSceneManagerFactory.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassSceneManagerFactory+#define _DEFINED_HG3D_ClassSceneManagerFactory++#include "ClassPtr.h"+#include "ClassSceneManager.h"+
+
+// +void ogre_smf_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_smf_createInstance(struct hg3dclass_struct * thisclass_c, char * instanceName_c, struct hg3dclass_struct * result_c);++// +void ogre_smf_destroyInstance(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * instance_c);++#endif 
+ include/ClassSceneNode.h view
@@ -0,0 +1,115 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassSceneNode.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassSceneNode+#define _DEFINED_HG3D_ClassSceneNode++#include "ClassPtr.h"+#include "ClassMovableObject.h"+#include "ClassSceneManager.h"+#include "StructVec3.h"+#include "StructQuaternion.h"+
+
+// +void ogre_sn_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_sn_attachObject(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * obj_c);++// +void ogre_sn_numAttachedObjects(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);++// +void ogre_sn_getAttachedObject(struct hg3dclass_struct * thisclass_c, unsigned short index_c, struct hg3dclass_struct * result_c);++// +void ogre_sn_getAttachedObject2(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_sn_detachObject(struct hg3dclass_struct * thisclass_c, unsigned short index_c, struct hg3dclass_struct * result_c);++// +void ogre_sn_detachObject2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * obj_c);++// +void ogre_sn_detachObject3(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_sn_detachAllObjects(struct hg3dclass_struct * thisclass_c);++// +void ogre_sn_isInSceneGraph(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_sn_getCreator(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_sn_removeAndDestroyChild(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_sn_removeAndDestroyChild2(struct hg3dclass_struct * thisclass_c, unsigned short index_c);++// +void ogre_sn_removeAndDestroyAllChildren(struct hg3dclass_struct * thisclass_c);++// +void ogre_sn_showBoundingBox(struct hg3dclass_struct * thisclass_c, int bShow_c);++// +void ogre_sn_hideBoundingBox(struct hg3dclass_struct * thisclass_c, int bHide_c);++// +void ogre_sn_getShowBoundingBox(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_sn_createChildSceneNode(struct hg3dclass_struct * thisclass_c, struct vector3_struct * translate_c, struct quaternion_struct * rotate_c, struct hg3dclass_struct * result_c);++// +void ogre_sn_createChildSceneNode2(struct hg3dclass_struct * thisclass_c, char * name_c, struct vector3_struct * translate_c, struct quaternion_struct * rotate_c, struct hg3dclass_struct * result_c);++// +void ogre_sn_setFixedYawAxis(struct hg3dclass_struct * thisclass_c, int useFixed_c, struct vector3_struct * fixedAxis_c);++// +void ogre_sn_getAutoTrackTarget(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_sn_getAutoTrackOffset(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_sn_getAutoTrackLocalDirection(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);++// +void ogre_sn_getParentSceneNode(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_sn_setVisible(struct hg3dclass_struct * thisclass_c, int visible_c, int cascade_c);++// +void ogre_sn_flipVisibility(struct hg3dclass_struct * thisclass_c, int cascade_c);++// +void ogre_sn_setDebugDisplayEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c, int cascade_c);++#endif 
+ include/ClassSkeleton.h view
@@ -0,0 +1,112 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassSkeleton.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassSkeleton+#define _DEFINED_HG3D_ClassSkeleton++#include "ClassPtr.h"+#include "ClassBone.h"+#include "ClassAnimation.h"+#include "ClassAnimationStateSet.h"+#include "EnumSkeletonAnimationBlendMode.h"+
+
+// +void ogre_skl_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_skl_createBone(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_skl_createBone2(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, struct hg3dclass_struct * result_c);++// +void ogre_skl_createBone3(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_skl_createBone4(struct hg3dclass_struct * thisclass_c, char * name_c, unsigned short handle_c, struct hg3dclass_struct * result_c);++// +void ogre_skl_getNumBones(struct hg3dclass_struct * thisclass_c, unsigned short * result_c);++// +void ogre_skl_getRootBone(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_skl_getBone(struct hg3dclass_struct * thisclass_c, unsigned short handle_c, struct hg3dclass_struct * result_c);++// +void ogre_skl_getBone2(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);++// +void ogre_skl_hasBone(struct hg3dclass_struct * thisclass_c, char * name_c, int * result_c);++// +void ogre_skl_setBindingPose(struct hg3dclass_struct * thisclass_c);++// +void ogre_skl_reset(struct hg3dclass_struct * thisclass_c, int resetManualBones_c);++// +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);++// +void ogre_skl_removeAnimation(struct hg3dclass_struct * thisclass_c, char * name_c);++// +void ogre_skl_setAnimationState(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * animSet_c);++// +void ogre_skl_getNumAnimations(struct hg3dclass_struct * thisclass_c, unsigned short * 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);++// +void ogre_skl_setBlendMode(struct hg3dclass_struct * thisclass_c, enum EnumSkeletonAnimationBlendMode state_c);++// +void ogre_skl_optimiseAllAnimations(struct hg3dclass_struct * thisclass_c, int preservingIdentityNodeTracks_c);++// +void ogre_skl_addLinkedSkeletonAnimationSource(struct hg3dclass_struct * thisclass_c, char * skelName_c, float scale_c);++// Remove all links to other skeletons for the purposes of sharing animation. +void ogre_skl_removeAllLinkedSkeletonAnimationSources(struct hg3dclass_struct * thisclass_c);++// Have manual bones been modified since the skeleton was last updated? +void ogre_skl_getManualBonesDirty(struct hg3dclass_struct * thisclass_c, int * result_c);++// Are there any manually controlled bones? +void ogre_skl_hasManualBones(struct hg3dclass_struct * thisclass_c, int * result_c);++#endif 
+ include/ClassSkeletonManager.h view
@@ -0,0 +1,42 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassSkeletonManager.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassSkeletonManager+#define _DEFINED_HG3D_ClassSkeletonManager++#include "ClassPtr.h"+
+
+// Constructor. +void ogre_sklmgr_construct(struct hg3dclass_struct * result_c);++// +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
@@ -0,0 +1,45 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassTextureManager.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassTextureManager+#define _DEFINED_HG3D_ClassTextureManager++#include "ClassPtr.h"+
+
+// +void ogre_txmgr_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_txmgr_setDefaultNumMipmaps(struct hg3dclass_struct * thisclass_c, int num_c);++// +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/ClassTimeIndex.h view
@@ -0,0 +1,42 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassTimeIndex.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassTimeIndex+#define _DEFINED_HG3D_ClassTimeIndex++#include "ClassPtr.h"+
+
+// +void ogre_tnx_construct(float timePos_c, struct hg3dclass_struct * result_c);++// +void ogre_tnx_hasKeyIndex(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_tnx_getTimePos(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_tnx_getKeyIndex(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++#endif 
+ include/ClassVertexAnimationTrack.h view
@@ -0,0 +1,58 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassVertexAnimationTrack.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassVertexAnimationTrack+#define _DEFINED_HG3D_ClassVertexAnimationTrack++#include "ClassPtr.h"+#include "ClassAnimation.h"+#include "EnumVertexAnimationType.h"+#include "ClassTimeIndex.h"+#include "EnumVertexAnimationTrackTargetMode.h"+
+
+// Constructor. +void ogre_vat_construct(struct hg3dclass_struct * parent_c, unsigned short handle_c, enum EnumVertexAnimationType animType_c, struct hg3dclass_struct * result_c);++// +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. +void ogre_vat_setTargetMode(struct hg3dclass_struct * thisclass_c, enum EnumVertexAnimationTrackTargetMode m_c);++// Get the target mode. +void ogre_vat_getTargetMode(struct hg3dclass_struct * thisclass_c, enum EnumVertexAnimationTrackTargetMode * result_c);++// +void ogre_vat_hasNonZeroKeyFrames(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_vat_optimise(struct hg3dclass_struct * thisclass_c);++#endif 
+ include/ClassViewport.h view
@@ -0,0 +1,170 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassViewport.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassViewport+#define _DEFINED_HG3D_ClassViewport++#include "ClassPtr.h"+#include "ClassCamera.h"+#include "ClassRenderTarget.h"+#include "StructColour.h"+#include "EnumOrientationMode.h"+#include "StructVec2.h"+
+
+// +void ogre_vprt_construct(struct hg3dclass_struct * camera_c, struct hg3dclass_struct * target_c, float left_c, float top_c, float width_c, float height_c, int ZOrder_c, struct hg3dclass_struct * result_c);++// +void ogre_vprt_destruct(struct hg3dclass_struct * thisclass_c);++// +void ogre_vprt_update(struct hg3dclass_struct * thisclass_c);++// +void ogre_vprt_clear(struct hg3dclass_struct * thisclass_c, unsigned int buffers_c, struct colourvalue_struct * colour_c, float depth_c, unsigned short stencil_c);++// +void ogre_vprt_getTarget(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_vprt_getCamera(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);++// +void ogre_vprt_setCamera(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * cam_c);++// +void ogre_vprt_getZOrder(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_vprt_getLeft(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_vprt_getTop(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_vprt_getWidth(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_vprt_getHeight(struct hg3dclass_struct * thisclass_c, float * result_c);++// +void ogre_vprt_getActualLeft(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_vprt_getActualTop(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_vprt_getActualWidth(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_vprt_getActualHeight(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_vprt_setDimensions(struct hg3dclass_struct * thisclass_c, float left_c, float top_c, float width_c, float height_c);++// +void ogre_vprt_setOrientationMode(struct hg3dclass_struct * thisclass_c, enum EnumOrientationMode orientationMode_c, int setDefault_c);++// +void ogre_vprt_getOrientationMode(struct hg3dclass_struct * thisclass_c, enum EnumOrientationMode * result_c);++// +void ogre_vprt_setBackgroundColour(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * colour_c);++// +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);++// +void ogre_vprt_getClearEveryFrame(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_vprt_getClearBuffers(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_vprt_setAutoUpdated(struct hg3dclass_struct * thisclass_c, int autoupdate_c);++// +void ogre_vprt_isAutoUpdated(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_vprt_setMaterialScheme(struct hg3dclass_struct * thisclass_c, char * schemeName_c);++// +void ogre_vprt_getMaterialScheme(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_vprt_getActualDimensions(struct hg3dclass_struct * thisclass_c, int * left_c, int * top_c, int * width_c, int * height_c);++// +void ogre_vprt_setOverlaysEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);++// +void ogre_vprt_getOverlaysEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_vprt_setSkiesEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);++// +void ogre_vprt_getSkiesEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_vprt_setShadowsEnabled(struct hg3dclass_struct * thisclass_c, int enabled_c);++// +void ogre_vprt_getShadowsEnabled(struct hg3dclass_struct * thisclass_c, int * result_c);++// +void ogre_vprt_setVisibilityMask(struct hg3dclass_struct * thisclass_c, unsigned int mask_c);++// +void ogre_vprt_getVisibilityMask(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// +void ogre_vprt_setRenderQueueInvocationSequenceName(struct hg3dclass_struct * thisclass_c, char * sequenceName_c);++// +void ogre_vprt_getRenderQueueInvocationSequenceName(struct hg3dclass_struct * thisclass_c, char * result_c);++// +void ogre_vprt_pointOrientedToScreen(struct hg3dclass_struct * thisclass_c, struct vector2_struct * v_c, int orientationMode_c, struct vector2_struct * outv_c);++// +void ogre_vprt_pointOrientedToScreen2(struct hg3dclass_struct * thisclass_c, float orientedX_c, float orientedY_c, int orientationMode_c, float * screenX_c, float * screenY_c);++// +void ogre_vprt_setDefaultOrientationMode(enum EnumOrientationMode orientationMode_c);++// +void ogre_vprt_getDefaultOrientationMode(enum EnumOrientationMode * result_c);++#endif 
+ include/ClassWindowEventUtilities.h view
@@ -0,0 +1,33 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// ClassWindowEventUtilities.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_ClassWindowEventUtilities+#define _DEFINED_HG3D_ClassWindowEventUtilities++#include "ClassPtr.h"+
+
+// +void ogre_weu_messagePump();++#endif 
+ include/EnumAnimationInterpolationMode.h view
@@ -0,0 +1,33 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumAnimationInterpolationMode.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumAnimationInterpolationMode+#define _DEFINED_HG3D_EnumAnimationInterpolationMode+
+
+enum EnumAnimationInterpolationMode+{+  IM_LINEAR, // +  IM_SPLINE // +};+#endif 
+ include/EnumAnimationRotationInterpolationMode.h view
@@ -0,0 +1,33 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumAnimationRotationInterpolationMode.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumAnimationRotationInterpolationMode+#define _DEFINED_HG3D_EnumAnimationRotationInterpolationMode+
+
+enum EnumAnimationRotationInterpolationMode+{+  RIM_LINEAR, // +  RIM_SPHERICAL // +};+#endif 
+ include/EnumAxisAlignedBoxCorner.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.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumAxisAlignedBoxCorner.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumAxisAlignedBoxCorner+#define _DEFINED_HG3D_EnumAxisAlignedBoxCorner+
+
+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 // +};+#endif 
+ include/EnumAxisAlignedBoxExtent.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumAxisAlignedBoxExtent.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumAxisAlignedBoxExtent+#define _DEFINED_HG3D_EnumAxisAlignedBoxExtent+
+
+enum EnumAxisAlignedBoxExtent+{+  EXTENT_NULL, // +  EXTENT_FINITE, // +  EXTENT_INFINITE // +};+#endif 
+ include/EnumBillboardChainTexCoordDirection.h view
@@ -0,0 +1,33 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumBillboardChainTexCoordDirection.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumBillboardChainTexCoordDirection+#define _DEFINED_HG3D_EnumBillboardChainTexCoordDirection+
+
+enum EnumBillboardChainTexCoordDirection+{+  TCD_U, // Tex coord in elements is treated as the 'u' texture coordinate. +  TCD_V // Tex coord in elements is treated as the 'v' texture coordinate. +};+#endif 
+ include/EnumBillboardOrigin.h view
@@ -0,0 +1,40 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumBillboardOrigin.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumBillboardOrigin+#define _DEFINED_HG3D_EnumBillboardOrigin+
+
+enum EnumBillboardOrigin+{+  BBO_TOP_LEFT, // +  BBO_TOP_CENTER, // +  BBO_TOP_RIGHT, // +  BBO_CENTER_LEFT, // +  BBO_CENTER, // +  BBO_CENTER_RIGHT, // +  BBO_BOTTOM_LEFT, // +  BBO_BOTTOM_CENTER, // +  BBO_BOTTOM_RIGHT // +};+#endif 
+ include/EnumBillboardRotationType.h view
@@ -0,0 +1,33 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumBillboardRotationType.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumBillboardRotationType+#define _DEFINED_HG3D_EnumBillboardRotationType+
+
+enum EnumBillboardRotationType+{+  BBR_VERTEX, // Rotate the billboard's vertices around their facing direction. +  BBR_TEXCOORD // Rotate the billboard's texture coordinates. +};+#endif 
+ include/EnumBillboardType.h view
@@ -0,0 +1,36 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumBillboardType.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumBillboardType+#define _DEFINED_HG3D_EnumBillboardType+
+
+enum EnumBillboardType+{+  BBT_POINT, // Standard point billboard (default), always faces the camera completely and is always upright. +  BBT_ORIENTED_COMMON, // Billboards are oriented around a shared direction vector (used as Y axis) and only rotate around this to face the camera. +  BBT_ORIENTED_SELF, // Billboards are oriented around their own direction vector (their own Y axis) and only rotate around this to face the camera. +  BBT_PERPENDICULAR_COMMON, // Billboards are perpendicular to a shared direction vector (used as Z axis, the facing direction) and X, Y axis are determined by a shared up-vertor. +  BBT_PERPENDICULAR_SELF // Billboards are perpendicular to their own direction vector (their own Z axis, the facing direction) and X, Y axis are determined by a shared up-vertor. +};+#endif 
+ include/EnumDataStreamAccessMode.h view
@@ -0,0 +1,33 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumDataStreamAccessMode.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumDataStreamAccessMode+#define _DEFINED_HG3D_EnumDataStreamAccessMode+
+
+enum EnumDataStreamAccessMode+{+  AM_READ =  1, // +  AM_WRITE =  2 // +};+#endif 
+ include/EnumEntityVertexDataBindChoice.h view
@@ -0,0 +1,35 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumEntityVertexDataBindChoice.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumEntityVertexDataBindChoice+#define _DEFINED_HG3D_EnumEntityVertexDataBindChoice+
+
+enum EnumEntityVertexDataBindChoice+{+  BIND_ORIGINAL, // +  BIND_SOFTWARE_SKELETAL, // +  BIND_SOFTWARE_MORPH, // +  BIND_HARDWARE_MORPH // +};+#endif 
+ include/EnumExceptionCode.h view
@@ -0,0 +1,41 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumExceptionCode.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumExceptionCode+#define _DEFINED_HG3D_EnumExceptionCode+
+
+enum EnumExceptionCode+{+  ERR_CANNOT_WRITE_TO_FILE, // +  ERR_INVALID_STATE, // +  ERR_INVALIDPARAMS, // +  ERR_RENDERINGAPI_ERROR, // +  ERR_DUPLICATE_ITEM, // +  ERR_ITEM_NOT_FOUND, // +  ERR_FILE_NOT_FOUND, // +  ERR_INTERNAL_ERROR, // +  ERR_RT_ASSERTION_FAILED, // +  ERR_NOT_IMPLEMENTED // +};+#endif 
+ include/EnumFrustumPlane.h view
@@ -0,0 +1,37 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumFrustumPlane.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumFrustumPlane+#define _DEFINED_HG3D_EnumFrustumPlane+
+
+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 // +};+#endif 
+ include/EnumGpuProgramType.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumGpuProgramType.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumGpuProgramType+#define _DEFINED_HG3D_EnumGpuProgramType+
+
+enum EnumGpuProgramType+{+  GPT_VERTEX_PROGRAM, // +  GPT_FRAGMENT_PROGRAM, // +  GPT_GEOMETRY_PROGRAM // +};+#endif 
+ include/EnumLightType.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumLightType.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumLightType+#define _DEFINED_HG3D_EnumLightType+
+
+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. +};+#endif 
+ include/EnumLogMessageLevel.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumLogMessageLevel.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumLogMessageLevel+#define _DEFINED_HG3D_EnumLogMessageLevel+
+
+enum EnumLogMessageLevel+{+  LML_TRIVIAL =  1, // +  LML_NORMAL =  2, // +  LML_CRITICAL =  3 // +};+#endif 
+ include/EnumLoggingLevel.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumLoggingLevel.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumLoggingLevel+#define _DEFINED_HG3D_EnumLoggingLevel+
+
+enum EnumLoggingLevel+{+  LL_LOW =  1, // +  LL_NORMAL =  2, // +  LL_BOREME =  3 // +};+#endif 
+ include/EnumMathAngleUnit.h view
@@ -0,0 +1,33 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumMathAngleUnit.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumMathAngleUnit+#define _DEFINED_HG3D_EnumMathAngleUnit+
+
+enum EnumMathAngleUnit+{+  AU_DEGREE, // +  AU_RADIAN // +};+#endif 
+ include/EnumMeshManagerMeshBuildType.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumMeshManagerMeshBuildType.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumMeshManagerMeshBuildType+#define _DEFINED_HG3D_EnumMeshManagerMeshBuildType+
+
+enum EnumMeshManagerMeshBuildType+{+  MBT_PLANE, // +  MBT_CURVED_ILLUSION_PLANE, // +  MBT_CURVED_PLANE // +};+#endif 
+ include/EnumNodeTransformSpace.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumNodeTransformSpace.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumNodeTransformSpace+#define _DEFINED_HG3D_EnumNodeTransformSpace+
+
+enum EnumNodeTransformSpace+{+  TS_LOCAL, // Transform is relative to the local space. +  TS_PARENT, // Transform is relative to the space of the parent node. +  TS_WORLD // Transform is relative to world space. +};+#endif 
+ include/EnumOrientationMode.h view
@@ -0,0 +1,38 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumOrientationMode.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumOrientationMode+#define _DEFINED_HG3D_EnumOrientationMode+
+
+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 // +};+#endif 
+ include/EnumProjectionType.h view
@@ -0,0 +1,33 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumProjectionType.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumProjectionType+#define _DEFINED_HG3D_EnumProjectionType+
+
+enum EnumProjectionType+{+  PT_ORTHOGRAPHIC, // +  PT_PERSPECTIVE // +};+#endif 
+ include/EnumRenderOperationOperationType.h view
@@ -0,0 +1,37 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumRenderOperationOperationType.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumRenderOperationOperationType+#define _DEFINED_HG3D_EnumRenderOperationOperationType+
+
+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. +};+#endif 
+ include/EnumRenderTargetFrameBuffer.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumRenderTargetFrameBuffer.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumRenderTargetFrameBuffer+#define _DEFINED_HG3D_EnumRenderTargetFrameBuffer+
+
+enum EnumRenderTargetFrameBuffer+{+  FB_FRONT, // +  FB_BACK, // +  FB_AUTO // +};+#endif 
+ include/EnumRenderTargetStatFlags.h view
@@ -0,0 +1,38 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumRenderTargetStatFlags.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumRenderTargetStatFlags+#define _DEFINED_HG3D_EnumRenderTargetStatFlags+
+
+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 // +};+#endif 
+ include/EnumRootFrameEventTimeType.h view
@@ -0,0 +1,36 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumRootFrameEventTimeType.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumRootFrameEventTimeType+#define _DEFINED_HG3D_EnumRootFrameEventTimeType+
+
+enum EnumRootFrameEventTimeType+{+  FETT_ANY =  0, // +  FETT_STARTED =  1, // +  FETT_QUEUED =  2, // +  FETT_ENDED =  3, // +  FETT_COUNT =  4 // +};+#endif 
+ include/EnumSceneManagerBoxPlane.h view
@@ -0,0 +1,37 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumSceneManagerBoxPlane.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSceneManagerBoxPlane+#define _DEFINED_HG3D_EnumSceneManagerBoxPlane+
+
+enum EnumSceneManagerBoxPlane+{+  BP_FRONT =  0, // +  BP_BACK =  1, // +  BP_LEFT =  2, // +  BP_RIGHT =  3, // +  BP_UP =  4, // +  BP_DOWN =  5 // +};+#endif 
+ include/EnumSceneManagerIlluminationRenderStage.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumSceneManagerIlluminationRenderStage.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSceneManagerIlluminationRenderStage+#define _DEFINED_HG3D_EnumSceneManagerIlluminationRenderStage+
+
+enum EnumSceneManagerIlluminationRenderStage+{+  IRS_NONE, // No special illumination stage. +  IRS_RENDER_TO_TEXTURE, // Render to texture stage, used for texture based shadows. +  IRS_RENDER_RECEIVER_PASS // Render from shadow texture to receivers stage. +};+#endif 
+ include/EnumSceneManagerPrefabType.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumSceneManagerPrefabType.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSceneManagerPrefabType+#define _DEFINED_HG3D_EnumSceneManagerPrefabType+
+
+enum EnumSceneManagerPrefabType+{+  PT_PLANE, // +  PT_CUBE, // +  PT_SPHERE // +};+#endif 
+ include/EnumSceneManagerSpecialCaseRenderQueueMode.h view
@@ -0,0 +1,33 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumSceneManagerSpecialCaseRenderQueueMode.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSceneManagerSpecialCaseRenderQueueMode+#define _DEFINED_HG3D_EnumSceneManagerSpecialCaseRenderQueueMode+
+
+enum EnumSceneManagerSpecialCaseRenderQueueMode+{+  SCRQM_INCLUDE, // Render only the queues in the special case list. +  SCRQM_EXCLUDE // Render all except the queues in the special case list. +};+#endif 
+ include/EnumSceneType.h view
@@ -0,0 +1,36 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumSceneType.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSceneType+#define _DEFINED_HG3D_EnumSceneType+
+
+enum EnumSceneType+{+  ST_GENERIC =  1, // +  ST_EXTERIOR_CLOSE =  2, // +  ST_EXTERIOR_FAR =  4, // +  ST_EXTERIOR_REAL_FAR =  8, // +  ST_INTERIOR =  16 // +};+#endif 
+ include/EnumSkeletonAnimationBlendMode.h view
@@ -0,0 +1,33 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumSkeletonAnimationBlendMode.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSkeletonAnimationBlendMode+#define _DEFINED_HG3D_EnumSkeletonAnimationBlendMode+
+
+enum EnumSkeletonAnimationBlendMode+{+  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/EnumStencilOperation.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.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumStencilOperation.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumStencilOperation+#define _DEFINED_HG3D_EnumStencilOperation+
+
+enum EnumStencilOperation+{+  SOP_KEEP, // Leave the stencil buffer unchanged. +  SOP_ZERO, // Set the stencil value to zero. +  SOP_REPLACE, // Set the stencil value to the reference value. +  SOP_INCREMENT, // Increase the stencil value by 1, clamping at the maximum value. +  SOP_DECREMENT, // Decrease the stencil value by 1, clamping at 0. +  SOP_INCREMENT_WRAP, // Increase the stencil value by 1, wrapping back to 0 when incrementing the maximum value. +  SOP_DECREMENT_WRAP, // Decrease the stencil value by 1, wrapping when decrementing 0. +  SOP_INVERT // Invert the bits of the stencil buffer. +};+#endif 
+ include/EnumTexCoordCalcMethod.h view
@@ -0,0 +1,37 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumTexCoordCalcMethod.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumTexCoordCalcMethod+#define _DEFINED_HG3D_EnumTexCoordCalcMethod+
+
+enum EnumTexCoordCalcMethod+{+  TEXCALC_NONE, // No calculated texture coordinates. +  TEXCALC_ENVIRONMENT_MAP, // Environment map based on vertex normals. +  TEXCALC_ENVIRONMENT_MAP_PLANAR, // Environment map based on vertex positions. +  TEXCALC_ENVIRONMENT_MAP_REFLECTION, // +  TEXCALC_ENVIRONMENT_MAP_NORMAL, // +  TEXCALC_PROJECTIVE_TEXTURE // Projective texture. +};+#endif 
+ include/EnumVertexAnimationTrackTargetMode.h view
@@ -0,0 +1,33 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumVertexAnimationTrackTargetMode.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumVertexAnimationTrackTargetMode+#define _DEFINED_HG3D_EnumVertexAnimationTrackTargetMode+
+
+enum EnumVertexAnimationTrackTargetMode+{+  TM_SOFTWARE, // Interpolate vertex positions in software. +  TM_HARDWARE // +};+#endif 
+ include/EnumVertexAnimationType.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// EnumVertexAnimationType.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumVertexAnimationType+#define _DEFINED_HG3D_EnumVertexAnimationType+
+
+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. +};+#endif 
+ include/HG3DUtilities.h view
@@ -0,0 +1,31 @@+/*+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 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.+*/++#include "Ogre.h"++class HG3DUtilities+{+ public:+     static unsigned int getWindowHandle(Ogre::RenderWindow *window);+     static void setupCloseEventHandler(Ogre::RenderWindow *window);+     static int checkQuitReceived();+     static void buildTangentVectors(Ogre::Entity *entity);+};+
+ include/OgreDllDefines.h view
@@ -0,0 +1,41 @@+// (c) 2011-2014 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.
+// +
+
+// OgreDllDefines.h
+
+#ifndef _HGamer3DOgre032_DLLDEFINES_H_
+#define _HGamer3DOgre032_DLLDEFINES_H_
+
+/* Cmake will define HGamer3DOgre032_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
+building a DLL on windows.
+*/
+
+// We are using the Visual Studio Compiler and building Shared libraries
+
+#if (defined (_WIN32)) && !(defined (__GNUC__)) 
+  #if defined(HGamer3DOgre032_EXPORTS)
+    #define  Ogre_LIB_EXPORT __declspec(dllexport)
+  #else
+    #define  Ogre_LIB_EXPORT __declspec(dllimport)
+  #endif /* HGamer3DOgre032_EXPORTS */
+#else /* defined (_WIN32) */
+ #define Ogre_LIB_EXPORT
+#endif
+
+#endif /* _HGamer3DOgre032_DLLDEFINES_H_ */
+ include/StructColour.h view
@@ -0,0 +1,36 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// StructColour.h
+
+// +
+#include "wchar.h"
+
+
+#ifndef _INC_STRUCT_COLOURVALUE+#define _INC_STRUCT_COLOURVALUE++typedef struct colourvalue_struct {+	float r;+	float g;+	float b;+	float a;+} colourvalue_struct;++#endif
+ include/StructDegrees.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// StructDegrees.h
+
+// +
+#include "wchar.h"
+
+
+#ifndef _INC_STRUCT_DEGREE+#define _INC_STRUCT_DEGREE++typedef struct degree_struct {+	float d;+} degree_struct;+++#endif
+ include/StructHG3DClass.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// StructHG3DClass.h
+
+// +
+#include "wchar.h"
+
+
+#ifndef _INC_STRUCT_HG3DCLASS+#define _INC_STRUCT_HG3DCLASS++typedef struct hg3dclass_struct {+	void *ptr;+	void *fptr;+} hg3dclass_struct;++#endif
+ include/StructQuaternion.h view
@@ -0,0 +1,36 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// StructQuaternion.h
+
+// +
+#include "wchar.h"
+
+
+#ifndef _INC_STRUCT_QUATERNION+#define _INC_STRUCT_QUATERNION++typedef struct quaternion_struct {+	float fw;+	float fx;+	float fy;+	float fz;+} quaternion_struct;++#endif
+ include/StructRadians.h view
@@ -0,0 +1,33 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// StructRadians.h
+
+// +
+#include "wchar.h"
+
+
+#ifndef _INC_STRUCT_RADIAN+#define _INC_STRUCT_RADIAN++typedef struct radian_struct {+	float r;+} radian_struct;++#endif
+ include/StructSharedPtr.h view
@@ -0,0 +1,35 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// StructSharedPtr.h
+
+// +
+#include "wchar.h"
+
+
+#ifndef _INC_STRUCT_SHAREDPTR+#define _INC_STRUCT_SHAREDPTR++typedef struct sharedptr_struct {+	void* pT;+	void* pCount;+	void* pFreeFunc;+} sharedptr_struct;++#endif
+ include/StructVec2.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// StructVec2.h
+
+// +
+#include "wchar.h"
+
+
+#ifndef _INC_STRUCT_VECTOR2+#define _INC_STRUCT_VECTOR2++typedef struct vector2_struct {+	float x;+	float y;+} vector2_struct;++#endif
+ include/StructVec3.h view
@@ -0,0 +1,35 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 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.
+// +
+// StructVec3.h
+
+// +
+#include "wchar.h"
+
+
+#ifndef _INC_STRUCT_VECTOR3+#define _INC_STRUCT_VECTOR3++typedef struct vector3_struct {+	float x;+	float y;+	float z;+} vector3_struct;++#endif
− include/WindowUtilsHG3D.h
@@ -1,66 +0,0 @@-// WindowUtilsHG3D - special utilities---#include <Ogre.h>--// Linux CODE-// ------------#ifdef __linux__ --class WindowUtilsHG3D {-	-	public:-		static void getWindowTopLeft(Ogre::RenderWindow* rwind, int* top, int* bottom, int* left, int* right) {-		  unsigned int width, height, colourDepth;-		  int left2, top2;-		  rwind->getMetrics (width, height, colourDepth, left2, top2);-		  *left = left2;-		  *top = top2;-		  *bottom = (int)(top2 + height);-		  *right = (int)(left2 + width);-		};-		-		static void showCursor(bool fShow) {-		};-	-};---// Windows CODE-// --------------#elif _WIN32--#include <windows.h>--class WindowUtilsHG3D {-	-	public:-		static void getWindowTopLeft(Ogre::RenderWindow* rwind, int* top, int* bottom, int* left, int* right) {-			HWND windowHnd = 0;-			RECT rect;-			rwind->getCustomAttribute("WINDOW", &windowHnd);-			GetWindowRect(windowHnd, &rect);-			*top = rect.top;-			*bottom = rect.bottom;-			*left = rect.left;-			*right = rect.right;-		};-		-		static void showCursor(bool fShow) {-			if (fShow) {-				ShowCursor(TRUE);-			} else {-				ShowCursor(FALSE);-			};-		};-	-};--#else--// CODE if not Windows or Linux-// ------------------------------#endif
− include/colorvalue_struct.h
@@ -1,6 +0,0 @@-typedef struct colourvalue_struct {
-	float r;
-	float g;
-	float b;
-	float a;
-} colourvalue_struct;
− include/degree_struct.h
@@ -1,3 +0,0 @@-typedef struct degree_struct {
-	float d;
-} degree_struct;
− include/hg3dstruct.h
@@ -1,4 +0,0 @@-typedef struct hg3dclass_struct {-	void *ptr;-	void *fptr;-} hg3dclass_struct;
− include/quaternion_struct.h
@@ -1,6 +0,0 @@-typedef struct quaternion_struct {
-	float fw;
-	float fx;
-	float fy;
-	float fz;
-} quaternion_struct;
− include/radian_struct.h
@@ -1,3 +0,0 @@-typedef struct radian_struct {
-	float r;
-} radian_struct;
− include/sharedptr_struct.h
@@ -1,5 +0,0 @@-typedef struct sharedptr_struct {
-	void* pT;
-	void* pCount;
-	void* pFreeFunc;
-} sharedptr_struct;
− include/vector2_struct.h
@@ -1,4 +0,0 @@-typedef struct vector2_struct {
-	float x;
-	float y;
-} vector2_struct;
− include/vector3_struct.h
@@ -1,5 +0,0 @@-typedef struct vector3_struct {
-	float x;
-	float y;
-	float z;
-} vector3_struct;
− include/vector4_struct.h
@@ -1,6 +0,0 @@-typedef struct vector4_struct {
-	float x;
-	float y;
-	float z;
-	float w;
-} vector4_struct;