|
@@ -0,0 +1,69 @@
|
|
|
+/*******************************************************************************************
|
|
|
+*
|
|
|
+* raylib Camera System - Camera Modes Setup and Control Functions
|
|
|
+*
|
|
|
+* Copyright (c) 2015 Marc Palau and Ramon Santamaria
|
|
|
+*
|
|
|
+* This software is provided "as-is", without any express or implied warranty. In no event
|
|
|
+* will the authors be held liable for any damages arising from the use of this software.
|
|
|
+*
|
|
|
+* Permission is granted to anyone to use this software for any purpose, including commercial
|
|
|
+* applications, and to alter it and redistribute it freely, subject to the following restrictions:
|
|
|
+*
|
|
|
+* 1. The origin of this software must not be misrepresented; you must not claim that you
|
|
|
+* wrote the original software. If you use this software in a product, an acknowledgment
|
|
|
+* in the product documentation would be appreciated but is not required.
|
|
|
+*
|
|
|
+* 2. Altered source versions must be plainly marked as such, and must not be misrepresented
|
|
|
+* as being the original software.
|
|
|
+*
|
|
|
+* 3. This notice may not be removed or altered from any source distribution.
|
|
|
+*
|
|
|
+**********************************************************************************************/
|
|
|
+
|
|
|
+#ifndef CAMERA_H
|
|
|
+#define CAMERA_H
|
|
|
+
|
|
|
+#include "raylib.h"
|
|
|
+
|
|
|
+//----------------------------------------------------------------------------------
|
|
|
+// Defines and Macros
|
|
|
+//----------------------------------------------------------------------------------
|
|
|
+//...
|
|
|
+
|
|
|
+//----------------------------------------------------------------------------------
|
|
|
+// Types and Structures Definition
|
|
|
+//----------------------------------------------------------------------------------
|
|
|
+// Camera modes
|
|
|
+typedef enum { CAMERA_CUSTOM = 0, CAMERA_FREE, CAMERA_ORBITAL, CAMERA_FIRST_PERSON, CAMERA_THIRD_PERSON } CameraMode;
|
|
|
+
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+extern "C" { // Prevents name mangling of functions
|
|
|
+#endif
|
|
|
+
|
|
|
+//----------------------------------------------------------------------------------
|
|
|
+// Global Variables Definition
|
|
|
+//----------------------------------------------------------------------------------
|
|
|
+//...
|
|
|
+
|
|
|
+//----------------------------------------------------------------------------------
|
|
|
+// Module Functions Declaration
|
|
|
+//----------------------------------------------------------------------------------
|
|
|
+void SetCameraMode(int mode); // Select camera mode (multiple camera modes available)
|
|
|
+Camera UpdateCamera(Vector3 *position); // Update camera with position
|
|
|
+
|
|
|
+void SetCameraControls(int front, int left, int back, int right, int up, int down);
|
|
|
+void SetCameraMouseSensitivity(float sensitivity);
|
|
|
+void SetCameraResetPosition(Vector3 resetPosition);
|
|
|
+void SetCameraResetControl(int resetKey);
|
|
|
+void SetCameraPawnControl(int pawnControlKey);
|
|
|
+void SetCameraFnControl(int fnControlKey);
|
|
|
+void SetCameraSmoothZoomControl(int smoothZoomControlKey);
|
|
|
+void SetCameraOrbitalTarget(Vector3 target);
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+}
|
|
|
+#endif
|
|
|
+
|
|
|
+#endif // CAMERA_H
|