aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/ClientHamr/extantz/extantzCamera.h
diff options
context:
space:
mode:
authorDavid Walter Seikel2013-01-27 09:26:52 +1000
committerDavid Walter Seikel2013-01-27 09:26:52 +1000
commit2624827ee680b0a721c408da690721b28e8f2427 (patch)
tree2e7958847b7ede1baba9f74cc8a58dea288a4cb8 /ClientHamr/extantz/extantzCamera.h
parentDelete a bunch of the keyboard handling stuff. (diff)
downloadSledjHamr-2624827ee680b0a721c408da690721b28e8f2427.zip
SledjHamr-2624827ee680b0a721c408da690721b28e8f2427.tar.gz
SledjHamr-2624827ee680b0a721c408da690721b28e8f2427.tar.bz2
SledjHamr-2624827ee680b0a721c408da690721b28e8f2427.tar.xz
Get the new camera actually working. Still some bugs to be ironed out.
Diffstat (limited to 'ClientHamr/extantz/extantzCamera.h')
-rw-r--r--ClientHamr/extantz/extantzCamera.h48
1 files changed, 34 insertions, 14 deletions
diff --git a/ClientHamr/extantz/extantzCamera.h b/ClientHamr/extantz/extantzCamera.h
index cfd4361..fe548d9 100644
--- a/ClientHamr/extantz/extantzCamera.h
+++ b/ClientHamr/extantz/extantzCamera.h
@@ -5,6 +5,8 @@
5#ifndef __EXTANTZ_CAMERA_H_INCLUDED__ 5#ifndef __EXTANTZ_CAMERA_H_INCLUDED__
6#define __EXTANTZ_CAMERA_H_INCLUDED__ 6#define __EXTANTZ_CAMERA_H_INCLUDED__
7 7
8
9#ifdef __cplusplus
8#include <ISceneNodeAnimator.h> 10#include <ISceneNodeAnimator.h>
9#include <vector2d.h> 11#include <vector2d.h>
10#include <position2d.h> 12#include <position2d.h>
@@ -12,18 +14,38 @@
12#include <irrArray.h> 14#include <irrArray.h>
13#include <ICameraSceneNode.h> 15#include <ICameraSceneNode.h>
14 16
17using namespace irr;
18using namespace scene;
15 19
20extern "C"{
21#else
22typedef struct extantzCamera extantzCamera;
23typedef struct ICameraSceneNode ICameraSceneNode;
24#endif
16 25
17namespace irr 26typedef struct
18{ 27{
19namespace gui 28 float x, y, z;
20{ 29 float r, s, t;
21 class ICursorControl; 30 float jump;
31} cameraMove;
32
33cameraMove *getCameraMove(ICameraSceneNode *camera);
34
35#ifdef __cplusplus
22} 36}
23 37
38
39//namespace irr::gui
40//{
41// class ICursorControl;
42//}
43
44
45namespace irr
46{
24namespace scene 47namespace scene
25{ 48{
26
27 ICameraSceneNode *addExtantzCamera(ISceneManager* sm, ISceneNode* parent, f32 rotateSpeed, f32 moveSpeed, s32 id, bool noVerticalMovement, f32 jumpSpeed, bool invertMouseY, bool makeActive); 49 ICameraSceneNode *addExtantzCamera(ISceneManager* sm, ISceneNode* parent, f32 rotateSpeed, f32 moveSpeed, s32 id, bool noVerticalMovement, f32 jumpSpeed, bool invertMouseY, bool makeActive);
28 50
29 class extantzCamera : public ISceneNodeAnimator 51 class extantzCamera : public ISceneNodeAnimator
@@ -31,7 +53,8 @@ namespace scene
31 public: 53 public:
32 54
33 //! Constructor 55 //! Constructor
34 extantzCamera(gui::ICursorControl* cursorControl, f32 rotateSpeed = 100.0f, f32 moveSpeed = .5f, f32 jumpSpeed=0.f, bool noVerticalMovement=false, bool invertY=false); 56// extantzCamera(gui::ICursorControl* cursorControl, f32 rotateSpeed = 100.0f, f32 moveSpeed = .5f, f32 jumpSpeed=0.f, bool noVerticalMovement=false, bool invertY=false);
57 extantzCamera(f32 rotateSpeed = 100.0f, f32 moveSpeed = .5f, f32 jumpSpeed=0.f, bool noVerticalMovement=false, bool invertY=false);
35 58
36 //! Destructor 59 //! Destructor
37 virtual ~extantzCamera(); 60 virtual ~extantzCamera();
@@ -77,11 +100,9 @@ namespace scene
77 done with it. */ 100 done with it. */
78 virtual ISceneNodeAnimator* createClone(ISceneNode* node, ISceneManager* newManager=0); 101 virtual ISceneNodeAnimator* createClone(ISceneNode* node, ISceneManager* newManager=0);
79 102
80 private: 103 cameraMove move;
81 void allKeysUp();
82
83 gui::ICursorControl *CursorControl;
84 104
105 private:
85 f32 MaxVerticalAngle; 106 f32 MaxVerticalAngle;
86 107
87 f32 MoveSpeed; 108 f32 MoveSpeed;
@@ -94,14 +115,13 @@ namespace scene
94 115
95 core::position2d<f32> CenterCursor, CursorPos; 116 core::position2d<f32> CenterCursor, CursorPos;
96 117
97 bool CursorKeys[EKA_COUNT];
98
99 bool firstUpdate; 118 bool firstUpdate;
100 bool NoVerticalMovement; 119 bool NoVerticalMovement;
101 }; 120 };
121};
122};
123#endif
102 124
103} // end namespace scene
104} // end namespace irr
105 125
106#endif // __EXTANTZ_CAMERA_H_INCLUDED__ 126#endif // __EXTANTZ_CAMERA_H_INCLUDED__
107 127