Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-08-07 23:27:42 +0000
committerStijn Buys <ingar@osirion.org>2008-08-07 23:27:42 +0000
commita743791e624590e0b41229f28f940db5272b60ba (patch)
tree6a6ec736e4ed34d5254a292889e6e33300919a63 /src/game/game.cc
parent1f36b993d603c56251aa15eb6edc6b92ecf599ae (diff)
rotating planets, navpoints, network protocol updates, entity event state
Diffstat (limited to 'src/game/game.cc')
-rw-r--r--src/game/game.cc60
1 files changed, 48 insertions, 12 deletions
diff --git a/src/game/game.cc b/src/game/game.cc
index e469a31..f35670a 100644
--- a/src/game/game.cc
+++ b/src/game/game.cc
@@ -11,6 +11,7 @@
#include "filesystem/filesystem.h"
#include "filesystem/inifile.h"
#include "game/game.h"
+#include "game/navpoint.h"
#include "game/planet.h"
#include "game/ship.h"
#include "game/star.h"
@@ -311,6 +312,7 @@ bool Game::load_zone(core::Zone *zone)
Planet *planet = 0;
Star *star = 0;
+ NavPoint *navpoint = 0;
core::Entity *entity = 0;
float direction;
@@ -344,34 +346,63 @@ bool Game::load_zone(core::Zone *zone)
aux::to_label(strval);
star->entity_label.assign(strval);
continue;
- } else if (zoneini.got_key_string("name", star->entity_name))
+ } else if (zoneini.got_key_string("name", star->entity_name)) {
continue;
- else if (zoneini.got_key_vector3f("location", star->entity_location ))
+ } else if (zoneini.got_key_vector3f("location", star->entity_location )) {
continue;
- else if (zoneini.got_key_color("color", star->entity_color))
+ } else if (zoneini.got_key_color("color", star->entity_color)) {
continue;
- else if (zoneini.got_key_angle("radius", star->entity_radius))
+ } else if (zoneini.got_key_angle("radius", star->entity_radius)) {
continue;
- else
+ } else if (zoneini.got_key_angle("direction", direction)) {
+ planet->axis().change_direction(direction);
+ continue;
+ } else if (zoneini.got_key_string("texture", planet->entity_texture)) {
+ continue;
+ } else if (zoneini.got_key_angle("pitch", pitch)) {
+ planet->axis().change_pitch(pitch);
+ continue;
+ } else {
con_warn << zoneini.name() << " unknown key '" << zoneini.key() << "' at line " << zoneini.line() << std::endl;
-
+ }
+ } else if (zoneini.section().compare("navpoint") == 0) {
+ if (zoneini.got_key_string("label", strval)) {
+ aux::to_label(strval);
+ navpoint->entity_label.assign(strval);
+ continue;
+ } else if (zoneini.got_key_string("name", navpoint->entity_name)) {
+ continue;
+ } else if (zoneini.got_key_vector3f("location", navpoint->entity_location )) {
+ continue;
+ } else {
+ con_warn << zoneini.name() << " unknown key '" << zoneini.key() << "' at line " << zoneini.line() << std::endl;
+ }
} else if (zoneini.section().compare("planet") == 0) {
if (zoneini.got_key_string("label", strval)) {
aux::to_label(strval);
planet->entity_label.assign(strval);
continue;
- } else if (zoneini.got_key_string("name", planet->entity_name))
+ } else if (zoneini.got_key_string("name", planet->entity_name)) {
continue;
- else if (zoneini.got_key_string("texture", planet->entity_texture))
+ } else if (zoneini.got_key_string("texture", planet->entity_texture)) {
continue;
- else if (zoneini.got_key_vector3f("location", planet->entity_location ))
+ } else if (zoneini.got_key_vector3f("location", planet->entity_location )) {
+ continue;
+ } else if (zoneini.got_key_color("color", planet->entity_color)) {
+ continue;
+ } else if (zoneini.got_key_angle("radius", planet->entity_radius)) {
+ continue;
+ } else if (zoneini.got_key_angle("direction", direction)) {
+ planet->axis().change_direction(direction);
continue;
- else if (zoneini.got_key_color("color", planet->entity_color))
+ } else if (zoneini.got_key_angle("pitch", pitch)) {
+ planet->axis().change_pitch(pitch);
continue;
- else if (zoneini.got_key_angle("radius", planet->entity_radius))
+ } else if (zoneini.got_key_float("rotationspeed", planet->entity_rotationspeed)) {
continue;
- else
+ } else {
con_warn << zoneini.name() << " unknown key '" << zoneini.key() << "' at line " << zoneini.line() << std::endl;
+ }
} else if (zoneini.section().compare("entity") == 0) {
std::string shapename;
@@ -425,6 +456,11 @@ bool Game::load_zone(core::Zone *zone)
star->set_zone(zone);
count ++;
+ } else if (zoneini.got_section("navpoint")) {
+ navpoint = new NavPoint();
+ navpoint->set_zone(zone);
+ count ++;
+
} else if (zoneini.got_section("planet")) {
planet = new Planet();
planet->set_zone(zone);