Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/ship.h')
-rw-r--r--src/game/ship.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/game/ship.h b/src/game/ship.h
new file mode 100644
index 0000000..d6a00ba
--- /dev/null
+++ b/src/game/ship.h
@@ -0,0 +1,54 @@
+/* ship.h
+ This file is part of the Osirion project
+*/
+
+#ifndef __INCLUDED_SHIP_H__
+#define __INCLUDED_SHIP_H__
+
+// project headers
+#include "common/vector3f.h"
+
+class Ship
+{
+public:
+ Ship();
+ ~Ship();
+
+ /// update the ship state
+ void update(float elapsed);
+
+ /// location of the ship in space
+ Vector3f location;
+ /// speed vector in units/second
+ float speed;
+
+ /// turn left, increase yaw_offset
+ void turn_left();
+ /// turn right, decrease yaw_offset
+ void turn_right();
+ /// yaw, angle in the x/z plane
+ float yaw;
+
+ /// increase thrust
+ void thrust_increase();
+ /// decrease thrust
+ void thrust_decrease();
+ /// forward thruster in % [0-1]
+ float thrust;
+
+ /* -- Ship SPECS --*/
+ /// acceleration
+ float acceleration;
+ /// maximum speed
+ float max_speed;
+ /// maximum yaw_offset
+ float max_yaw_offset;
+ /// yaw turn speed
+ float yaw_speed;
+
+private:
+ float yaw_offset;
+};
+
+#endif // __INCLUDED_SHIP_H__
+