Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/jumppoint.cc29
-rw-r--r--src/game/jumppoint.h40
2 files changed, 69 insertions, 0 deletions
diff --git a/src/game/jumppoint.cc b/src/game/jumppoint.cc
new file mode 100644
index 0000000..a5f9b1a
--- /dev/null
+++ b/src/game/jumppoint.cc
@@ -0,0 +1,29 @@
+/*
+ game/jumppoint.cc
+ This file is part of the Osirion project and is distributed under
+ the terms and conditions of the GNU General Public License version 2
+*/
+
+#include "game/jumppoint.h"
+#include "game/game.h"
+
+namespace game
+{
+
+JumpPoint::JumpPoint() : core::Entity(core::Entity::Static)
+{
+ entity_shape = core::Entity::Diamond;
+ entity_color.assign(0.8f, 0.0f, 0.0f, 1.0f);
+ entity_color_second.assign(0.6f, 1.0f);
+ entity_radius = 0.25f;
+
+ entity_moduletypeid = jumppoint_enttype;
+ jumppoint_target = 0;
+ entity_serverside = true;
+}
+
+JumpPoint::~JumpPoint()
+{
+}
+
+}
diff --git a/src/game/jumppoint.h b/src/game/jumppoint.h
new file mode 100644
index 0000000..59ec69c
--- /dev/null
+++ b/src/game/jumppoint.h
@@ -0,0 +1,40 @@
+/*
+ game/jumppoint.h
+ This file is part of the Osirion project and is distributed under
+ the terms and conditions of the GNU General Public License version 2
+*/
+
+#ifndef __INCLUDED_GAME_JUMPPOINT_H__
+#define __INCLUDED_GAME_JUMPPOINT_H__
+
+#include "core/entity.h"
+#include "math/mathlib.h"
+
+#include <string>
+
+namespace game {
+
+/// a jump point
+/**
+ * jumppoints are used to define hyperspace routes between systems
+ * when a ship actives the jump drive, a jump point will be opened
+ * between the current system and the target of the nearest jumppoint.
+ *
+ */
+class JumpPoint : public core::Entity {
+public:
+ JumpPoint();
+ ~JumpPoint();
+
+ inline std::string const & targetlabel() { return jumppoint_targetlabel; }
+ inline JumpPoint *target() { return jumppoint_target; }
+
+ std::string jumppoint_targetlabel;
+
+ JumpPoint *jumppoint_target;
+};
+
+}
+
+#endif // __INCLUDED_GAME_JUMPPOINT_H__
+