HGamer3D-SFML-Binding 0.3.1 → 0.3.2
raw patch · 25 files changed
+889/−44 lines, 25 files
Files
- HGamer3D-SFML-Binding.cabal +4/−4
- include/ClassJoystick.h +49/−0
- include/ClassKeyboard.h +34/−0
- include/ClassListener.h +49/−0
- include/ClassMouse.h +34/−0
- include/ClassMouseHG3D.h +33/−0
- include/ClassMusic.h +39/−0
- include/ClassPtr.h +68/−0
- include/ClassSound.h +58/−0
- include/ClassSoundBuffer.h +48/−0
- include/ClassSoundSource.h +70/−0
- include/ClassSoundStream.h +54/−0
- include/EnumJoystickAxis.h +39/−0
- include/EnumKey.h +134/−0
- include/EnumMouseButton.h +37/−0
- include/EnumSoundSourceStatus.h +34/−0
- include/MouseHG3D.h +0/−18
- include/SFMLDllDefines.h +41/−0
- include/StructHG3DClass.h +29/−0
- include/StructVec3.h +35/−0
- include/hg3dstruct.h +0/−4
- include/vector2fstruct.h +0/−4
- include/vector2istruct.h +0/−4
- include/vector3fstruct.h +0/−5
- include/vector3istruct.h +0/−5
HGamer3D-SFML-Binding.cabal view
@@ -1,5 +1,5 @@ Name: HGamer3D-SFML-Binding -Version: 0.3.1 +Version: 0.3.2 Synopsis: SFML 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, Audio, Graphics -Extra-source-files: Setup.hs, include/vector2istruct.h, include/vector2fstruct.h, include/MouseHG3D.h, include/vector3istruct.h, include/hg3dstruct.h, include/vector3fstruct.h +Extra-source-files: Setup.hs, include/EnumMouseButton.h, include/StructHG3DClass.h, include/ClassMusic.h, include/ClassSoundStream.h, include/StructVec3.h, include/ClassSound.h, include/ClassSoundBuffer.h, include/EnumKey.h, include/ClassListener.h, include/ClassMouseHG3D.h, include/EnumJoystickAxis.h, include/ClassKeyboard.h, include/ClassSoundSource.h, include/ClassJoystick.h, include/SFMLDllDefines.h, include/ClassMouse.h, include/ClassPtr.h, include/EnumSoundSourceStatus.h Library Build-Depends: base >= 3 && < 5, HGamer3D-Data >= 0.3.0 @@ -33,6 +33,6 @@ Build-tools: build-depends: if os(windows) - extra-libraries: hg3dsfml031 + extra-libraries: hg3dsfml032 else - extra-libraries: hg3dsfml031,sfml-audio,sfml-system,sfml-window,sfml-network + extra-libraries: hg3dsfml032,sfml-audio,sfml-system,sfml-window,sfml-network
+ include/ClassJoystick.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. +// + +// ClassJoystick.h + +// + +#include "wchar.h" +#ifndef _DEFINED_HG3D_ClassJoystick+#define _DEFINED_HG3D_ClassJoystick++#include "ClassPtr.h"+#include "EnumJoystickAxis.h"+ + +// Check if a joystick is connected. +void sfml_jst_isConnected(unsigned int joystick_c, int * result_c);++// Return the number of buttons supported by a joystick. +void sfml_jst_getButtonCount(unsigned int joystick_c, unsigned int * result_c);++// Check if a joystick supports a given axis. +void sfml_jst_hasAxis(unsigned int joystick_c, enum EnumJoystickAxis axis_c, int * result_c);++// Check if a joystick button is pressed. +void sfml_jst_isButtonPressed(unsigned int joystick_c, unsigned int button_c, int * result_c);++// Get the current position of a joystick axis. +void sfml_jst_getAxisPosition(unsigned int joystick_c, enum EnumJoystickAxis axis_c, float * result_c);++// Update the states of all joysticks. +void sfml_jst_update();++#endif
+ include/ClassKeyboard.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. +// + +// ClassKeyboard.h + +// + +#include "wchar.h" +#ifndef _DEFINED_HG3D_ClassKeyboard+#define _DEFINED_HG3D_ClassKeyboard++#include "ClassPtr.h"+#include "EnumKey.h"+ + +// Check if a key is pressed. +void sfml_kbd_isKeyPressed(enum EnumKey key_c, int * result_c);++#endif
+ include/ClassListener.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. +// + +// ClassListener.h + +// + +#include "wchar.h" +#ifndef _DEFINED_HG3D_ClassListener+#define _DEFINED_HG3D_ClassListener++#include "ClassPtr.h"+#include "StructVec3.h"+ + +// Change the global volume of all the sounds and musics. +void sfml_lst_setGlobalVolume(float volume_c);++// Get the current value of the global volume. +void sfml_lst_getGlobalVolume(float * result_c);++// Set the position of the listener in the scene. +void sfml_lst_setPosition(float x_c, float y_c, float z_c);++// Get the current position of the listener in the scene. +void sfml_lst_getPosition(struct vector3f_struct * result_c);++// Set the orientation of the listener in the scene. +void sfml_lst_setDirection(float x_c, float y_c, float z_c);++// Get the current orientation of the listener in the scene. +void sfml_lst_getDirection(struct vector3f_struct * result_c);++#endif
+ include/ClassMouse.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. +// + +// ClassMouse.h + +// + +#include "wchar.h" +#ifndef _DEFINED_HG3D_ClassMouse+#define _DEFINED_HG3D_ClassMouse++#include "ClassPtr.h"+#include "EnumMouseButton.h"+ + +// Check if a mouse button is pressed. +void sfml_mse_isButtonPressed(enum EnumMouseButton button_c, int * result_c);++#endif
+ include/ClassMouseHG3D.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. +// + +// ClassMouseHG3D.h + +// + +#include "wchar.h" +#ifndef _DEFINED_HG3D_ClassMouseHG3D+#define _DEFINED_HG3D_ClassMouseHG3D++#include "ClassPtr.h"+ + +// +void sfml_mshg_getPosition(int * x_c, int * y_c);++#endif
+ include/ClassMusic.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. +// + +// ClassMusic.h + +// + +#include "wchar.h" +#ifndef _DEFINED_HG3D_ClassMusic+#define _DEFINED_HG3D_ClassMusic++#include "ClassPtr.h"+ + +// Default constructor. +void sfml_msc_construct(struct hg3dclass_struct * result_c);++// Destructor. +void sfml_msc_destruct(struct hg3dclass_struct * thisclass_c);++// Open a music from an audio file. +void sfml_msc_openFromFile(struct hg3dclass_struct * thisclass_c, char * filename_c, int * result_c);++#endif
+ include/ClassPtr.h view
@@ -0,0 +1,68 @@+// 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 ClassMouseHG3D; +hg3dclass_struct getHG3DClass_MouseHG3D(void *ptrIn);++typedef void ClassJoystick; +hg3dclass_struct getHG3DClass_Joystick(void *ptrIn);++typedef void ClassKeyboard; +hg3dclass_struct getHG3DClass_Keyboard(void *ptrIn);++typedef void ClassListener; +hg3dclass_struct getHG3DClass_Listener(void *ptrIn);++typedef void ClassMouse; +hg3dclass_struct getHG3DClass_Mouse(void *ptrIn);++typedef void ClassMusic; +hg3dclass_struct getHG3DClass_Music(void *ptrIn);++typedef void ClassSound; +hg3dclass_struct getHG3DClass_Sound(void *ptrIn);++typedef void ClassSoundBuffer; +hg3dclass_struct getHG3DClass_SoundBuffer(void *ptrIn);++typedef void ClassSoundSource; +hg3dclass_struct getHG3DClass_SoundSource(void *ptrIn);++typedef void ClassSoundStream; +hg3dclass_struct getHG3DClass_SoundStream(void *ptrIn);++#endif
+ include/ClassSound.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. +// + +// ClassSound.h + +// + +#include "wchar.h" +#ifndef _DEFINED_HG3D_ClassSound+#define _DEFINED_HG3D_ClassSound++#include "ClassPtr.h"+#include "ClassSoundBuffer.h"+ + +// Default constructor. +void sfml_snd_construct(struct hg3dclass_struct * result_c);++// Destructor. +void sfml_snd_destruct(struct hg3dclass_struct * thisclass_c);++// Start or resume playing the sound. +void sfml_snd_play(struct hg3dclass_struct * thisclass_c);++// Pause the sound. +void sfml_snd_pause(struct hg3dclass_struct * thisclass_c);++// stop playing the sound +void sfml_snd_stop(struct hg3dclass_struct * thisclass_c);++// Set the source buffer containing the audio data to play. +void sfml_snd_setBuffer(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * buffer_c);++// Set whether or not the sound should loop after reaching the end. +void sfml_snd_setLoop(struct hg3dclass_struct * thisclass_c, int loop_c);++// Tell whether or not the sound is in loop mode. +void sfml_snd_getLoop(struct hg3dclass_struct * thisclass_c, int * result_c);++// Reset the internal buffer of the sound. +void sfml_snd_resetBuffer(struct hg3dclass_struct * thisclass_c);++#endif
+ include/ClassSoundBuffer.h view
@@ -0,0 +1,48 @@+// 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. +// + +// ClassSoundBuffer.h + +// + +#include "wchar.h" +#ifndef _DEFINED_HG3D_ClassSoundBuffer+#define _DEFINED_HG3D_ClassSoundBuffer++#include "ClassPtr.h"+ + +// Default constructor. +void sfml_snbf_construct(struct hg3dclass_struct * result_c);++// Destructor. +void sfml_snbf_destruct(struct hg3dclass_struct * thisclass_c);++// Load the sound buffer from a file. +void sfml_snbf_loadFromFile(struct hg3dclass_struct * thisclass_c, char * filename_c, int * result_c);++// Save the sound buffer to an audio file. +void sfml_snbf_saveToFile(struct hg3dclass_struct * thisclass_c, char * filename_c, int * result_c);++// Get the sample rate of the sound. +void sfml_snbf_getSampleRate(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// Get the number of channels used by the sound. +void sfml_snbf_getChannelCount(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++#endif
+ include/ClassSoundSource.h view
@@ -0,0 +1,70 @@+// 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. +// + +// ClassSoundSource.h + +// + +#include "wchar.h" +#ifndef _DEFINED_HG3D_ClassSoundSource+#define _DEFINED_HG3D_ClassSoundSource++#include "ClassPtr.h"+#include "StructVec3.h"+ + +// Destructor. +void sfml_snsr_destruct(struct hg3dclass_struct * thisclass_c);++// Set the pitch of the sound. +void sfml_snsr_setPitch(struct hg3dclass_struct * thisclass_c, float pitch_c);++// Set the volume of the sound. +void sfml_snsr_setVolume(struct hg3dclass_struct * thisclass_c, float volume_c);++// Set the 3D position of the sound in the audio scene. +void sfml_snsr_setPosition(struct hg3dclass_struct * thisclass_c, float x_c, float y_c, float z_c);++// Make the sound's position relative to the listener or absolute. +void sfml_snsr_setRelativeToListener(struct hg3dclass_struct * thisclass_c, int relative_c);++// Set the minimum distance of the sound. +void sfml_snsr_setMinDistance(struct hg3dclass_struct * thisclass_c, float distance_c);++// Set the attenuation factor of the sound. +void sfml_snsr_setAttenuation(struct hg3dclass_struct * thisclass_c, float attenuation_c);++// Get the pitch of the sound. +void sfml_snsr_getPitch(struct hg3dclass_struct * thisclass_c, float * result_c);++// Get the volume of the sound. +void sfml_snsr_getVolume(struct hg3dclass_struct * thisclass_c, float * result_c);++// Get the 3D position of the sound in the audio scene. +void sfml_snsr_getPosition(struct hg3dclass_struct * thisclass_c, struct vector3f_struct * result_c);++// Tell whether the sound's position is relative to the listener or is absolute. +void sfml_snsr_isRelativeToListener(struct hg3dclass_struct * thisclass_c, int * result_c);++// Get the minimum distance of the sound. +void sfml_snsr_getMinDistance(struct hg3dclass_struct * thisclass_c, float * result_c);++// Get the attenuation factor of the sound. +void sfml_snsr_getAttenuation(struct hg3dclass_struct * thisclass_c, float * result_c);++#endif
+ include/ClassSoundStream.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. +// + +// ClassSoundStream.h + +// + +#include "wchar.h" +#ifndef _DEFINED_HG3D_ClassSoundStream+#define _DEFINED_HG3D_ClassSoundStream++#include "ClassPtr.h"+ + +// Destructor. +void sfml_snst_destruct(struct hg3dclass_struct * thisclass_c);++// Start or resume playing the audio stream. +void sfml_snst_play(struct hg3dclass_struct * thisclass_c);++// Pause the audio stream. +void sfml_snst_pause(struct hg3dclass_struct * thisclass_c);++// Stop playing the audio stream. +void sfml_snst_stop(struct hg3dclass_struct * thisclass_c);++// Return the number of channels of the stream. +void sfml_snst_getChannelCount(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// Get the stream sample rate of the stream. +void sfml_snst_getSampleRate(struct hg3dclass_struct * thisclass_c, unsigned int * result_c);++// Set whether or not the stream should loop after reaching the end. +void sfml_snst_setLoop(struct hg3dclass_struct * thisclass_c, int loop_c);++// Tell whether or not the stream is in loop mode. +void sfml_snst_getLoop(struct hg3dclass_struct * thisclass_c, int * result_c);++#endif
+ include/EnumJoystickAxis.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. +// + +// EnumJoystickAxis.h + +// + +#include "wchar.h" +#ifndef _DEFINED_HG3D_EnumJoystickAxis+#define _DEFINED_HG3D_EnumJoystickAxis+ + +enum EnumJoystickAxis+{+ JoystickAxisX, // The X axis. + JoystickAxisY, // The Y axis. + JoystickAxisZ, // The Z axis. + JoystickAxisR, // The R axis. + JoystickAxisU, // The U axis. + JoystickAxisV, // The V axis. + JoystickAxisPovX, // The X axis of the point-of-view hat. + JoystickAxisPovY // The Y axis of the point-of-view hat. +};+#endif
+ include/EnumKey.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. +// + +// EnumKey.h + +// + +#include "wchar.h" +#ifndef _DEFINED_HG3D_EnumKey+#define _DEFINED_HG3D_EnumKey+ + +enum EnumKey+{+ KeyUnknown = -1, // Unhandled key. + KeyA = 0, // The A key. + KeyB, // The B key. + KeyC, // The C key. + KeyD, // The D key. + KeyE, // The E key. + KeyF, // The F key. + KeyG, // The G key. + KeyH, // The H key. + KeyI, // The I key. + KeyJ, // The J key. + KeyK, // The K key. + KeyL, // The L key. + KeyM, // The M key. + KeyN, // The N key. + KeyO, // The O key. + KeyP, // The P key. + KeyQ, // The Q key. + KeyR, // The R key. + KeyS, // The S key. + KeyT, // The T key. + KeyU, // The U key. + KeyV, // The V key. + KeyW, // The W key. + KeyX, // The X key. + KeyY, // The Y key. + KeyZ, // The Z key. + KeyNum0, // The 0 key. + KeyNum1, // The 1 key. + KeyNum2, // The 2 key. + KeyNum3, // The 3 key. + KeyNum4, // The 4 key. + KeyNum5, // The 5 key. + KeyNum6, // The 6 key. + KeyNum7, // The 7 key. + KeyNum8, // The 8 key. + KeyNum9, // The 9 key. + KeyEscape, // The Escape key. + KeyLControl, // The left Control key. + KeyLShift, // The left Shift key. + KeyLAlt, // The left Alt key. + KeyLSystem, // The left OS specific key: window (Windows and Linux), apple (MacOS X), ... + KeyRControl, // The right Control key. + KeyRShift, // The right Shift key. + KeyRAlt, // The right Alt key. + KeyRSystem, // The right OS specific key: window (Windows and Linux), apple (MacOS X), ... + KeyMenu, // The Menu key. + KeyLBracket, // The [ key. + KeyRBracket, // The ] key. + KeySemiColon, // The ; key. + KeyComma, // The , key. + KeyPeriod, // The . key. + KeyQuote, // The ' key. + KeySlash, // The / key. + KeyBackSlash, // The \ key. + KeyTilde, // The ~ key. + KeyEqual, // The = key. + KeyDash, // The - key. + KeySpace, // The Space key. + KeyReturn, // The Return key. + KeyBackSpace, // The Backspace key. + KeyTab, // The Tabulation key. + KeyPageUp, // The Page up key. + KeyPageDown, // The Page down key. + KeyEnd, // The End key. + KeyHome, // The Home key. + KeyInsert, // The Insert key. + KeyDelete, // The Delete key. + KeyAdd, // The + key. + KeySubtract, // The - key. + KeyMultiply, // The * key. + KeyDivide, // The / key. + KeyLeft, // Left arrow. + KeyRight, // Right arrow. + KeyUp, // Up arrow. + KeyDown, // Down arrow. + KeyNumpad0, // The numpad 0 key. + KeyNumpad1, // The numpad 1 key. + KeyNumpad2, // The numpad 2 key. + KeyNumpad3, // The numpad 3 key. + KeyNumpad4, // The numpad 4 key. + KeyNumpad5, // The numpad 5 key. + KeyNumpad6, // The numpad 6 key. + KeyNumpad7, // The numpad 7 key. + KeyNumpad8, // The numpad 8 key. + KeyNumpad9, // The numpad 9 key. + KeyF1, // The F1 key. + KeyF2, // The F2 key. + KeyF3, // The F3 key. + KeyF4, // The F4 key. + KeyF5, // The F5 key. + KeyF6, // The F6 key. + KeyF7, // The F7 key. + KeyF8, // The F8 key. + KeyF9, // The F9 key. + KeyF10, // The F10 key. + KeyF11, // The F11 key. + KeyF12, // The F12 key. + KeyF13, // The F13 key. + KeyF14, // The F14 key. + KeyF15, // The F15 key. + KeyPause, // The Pause key. + KeyKeyCount // Keep last +};+#endif
+ include/EnumMouseButton.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. +// + +// EnumMouseButton.h + +// + +#include "wchar.h" +#ifndef _DEFINED_HG3D_EnumMouseButton+#define _DEFINED_HG3D_EnumMouseButton+ + +enum EnumMouseButton+{+ MouseButtonLeft, // The left mouse button. + MouseButtonRight, // The right mouse button. + MouseButtonMiddle, // The middle (wheel) mouse button. + MouseButtonXButton1, // The first extra mouse button. + MouseButtonXButton2, // The second extra mouse button. + MouseButtonButtonCount // Keep last +};+#endif
+ include/EnumSoundSourceStatus.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. +// + +// EnumSoundSourceStatus.h + +// + +#include "wchar.h" +#ifndef _DEFINED_HG3D_EnumSoundSourceStatus+#define _DEFINED_HG3D_EnumSoundSourceStatus+ + +enum EnumSoundSourceStatus+{+ SoundSourceStatusStopped, // Sound+ SoundSourceStatusPaused, // Sound+ SoundSourceStatusPlaying // Sound+};+#endif
− include/MouseHG3D.h
@@ -1,18 +0,0 @@-// MouseHG3D - special mouse class to get a specialized way to obtain -// the mouse coordinates - -#include <SFML/System/Vector2.hpp> -#include <SFML/Window/Mouse.hpp> - -class MouseHG3D : sf::Mouse { - - public: - static void getPosition(int &x, int &y) { - sf::Vector2i vi = sf::Vector2i(); - vi = sf::Mouse::getPosition(); - x = vi.x; - y = vi.y; - }; - -}; -
+ include/SFMLDllDefines.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. +// + + +// SFMLDllDefines.h + +#ifndef _HGamer3DSFML032_DLLDEFINES_H_ +#define _HGamer3DSFML032_DLLDEFINES_H_ + +/* Cmake will define HGamer3DSFML032_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(HGamer3DSFML032_EXPORTS) + #define SFML_LIB_EXPORT __declspec(dllexport) + #else + #define SFML_LIB_EXPORT __declspec(dllimport) + #endif /* HGamer3DSFML032_EXPORTS */ +#else /* defined (_WIN32) */ + #define SFML_LIB_EXPORT +#endif + +#endif /* _HGamer3DSFML032_DLLDEFINES_H_ */
+ include/StructHG3DClass.h view
@@ -0,0 +1,29 @@+// 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" + + +typedef struct hg3dclass_struct {+ void *ptr;+ void *fptr;+} hg3dclass_struct;
+ 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_VECTOR3F+#define _INC_STRUCT_VECTOR3F++typedef struct vector3f_struct {+ float x;+ float y;+ float z;+} vector3f_struct;++#endif
− include/hg3dstruct.h
@@ -1,4 +0,0 @@-typedef struct hg3dclass_struct {- void *ptr;- void *fptr;-} hg3dclass_struct;
− include/vector2fstruct.h
@@ -1,4 +0,0 @@-typedef struct vector2f_struct { - float x; - float y; -} vector2f_struct;
− include/vector2istruct.h
@@ -1,4 +0,0 @@-typedef struct vector2i_struct { - int x; - int y; -} vector2i_struct;
− include/vector3fstruct.h
@@ -1,5 +0,0 @@-typedef struct vector3f_struct { - float x; - float y; - float z; -} vector3f_struct;
− include/vector3istruct.h
@@ -1,5 +0,0 @@-typedef struct vector3i_struct { - int x; - int y; - int z; -} vector3i_struct;