From 2624827ee680b0a721c408da690721b28e8f2427 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sun, 27 Jan 2013 09:26:52 +1000 Subject: Get the new camera actually working. Still some bugs to be ironed out. --- ClientHamr/extantz/extantzCamera.h | 48 +++++++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 14 deletions(-) (limited to 'ClientHamr/extantz/extantzCamera.h') 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 @@ #ifndef __EXTANTZ_CAMERA_H_INCLUDED__ #define __EXTANTZ_CAMERA_H_INCLUDED__ + +#ifdef __cplusplus #include #include #include @@ -12,18 +14,38 @@ #include #include +using namespace irr; +using namespace scene; +extern "C"{ +#else +typedef struct extantzCamera extantzCamera; +typedef struct ICameraSceneNode ICameraSceneNode; +#endif -namespace irr +typedef struct { -namespace gui -{ - class ICursorControl; + float x, y, z; + float r, s, t; + float jump; +} cameraMove; + +cameraMove *getCameraMove(ICameraSceneNode *camera); + +#ifdef __cplusplus } + +//namespace irr::gui +//{ +// class ICursorControl; +//} + + +namespace irr +{ namespace scene { - ICameraSceneNode *addExtantzCamera(ISceneManager* sm, ISceneNode* parent, f32 rotateSpeed, f32 moveSpeed, s32 id, bool noVerticalMovement, f32 jumpSpeed, bool invertMouseY, bool makeActive); class extantzCamera : public ISceneNodeAnimator @@ -31,7 +53,8 @@ namespace scene public: //! Constructor - extantzCamera(gui::ICursorControl* cursorControl, f32 rotateSpeed = 100.0f, f32 moveSpeed = .5f, f32 jumpSpeed=0.f, bool noVerticalMovement=false, bool invertY=false); +// extantzCamera(gui::ICursorControl* cursorControl, f32 rotateSpeed = 100.0f, f32 moveSpeed = .5f, f32 jumpSpeed=0.f, bool noVerticalMovement=false, bool invertY=false); + extantzCamera(f32 rotateSpeed = 100.0f, f32 moveSpeed = .5f, f32 jumpSpeed=0.f, bool noVerticalMovement=false, bool invertY=false); //! Destructor virtual ~extantzCamera(); @@ -77,11 +100,9 @@ namespace scene done with it. */ virtual ISceneNodeAnimator* createClone(ISceneNode* node, ISceneManager* newManager=0); - private: - void allKeysUp(); - - gui::ICursorControl *CursorControl; + cameraMove move; + private: f32 MaxVerticalAngle; f32 MoveSpeed; @@ -94,14 +115,13 @@ namespace scene core::position2d CenterCursor, CursorPos; - bool CursorKeys[EKA_COUNT]; - bool firstUpdate; bool NoVerticalMovement; }; +}; +}; +#endif -} // end namespace scene -} // end namespace irr #endif // __EXTANTZ_CAMERA_H_INCLUDED__ -- cgit v1.1