Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2012-10-07 21:47:01 +0000
committerStijn Buys <ingar@osirion.org>2012-10-07 21:47:01 +0000
commit66c776cc66d5c91ed3e798b0f5c5a30baf1f1d69 (patch)
treea8c5c5bd8dadc0659528d16954a664e1523a8865 /src/game
parent60b0e02ab6b8910b3870d16a6eef9d67c6a6f34e (diff)
Read info and locations keys from zone ini files.
Diffstat (limited to 'src/game')
-rw-r--r--src/game/base/game.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/game/base/game.cc b/src/game/base/game.cc
index c116b8b..3fbcbb0 100644
--- a/src/game/base/game.cc
+++ b/src/game/base/game.cc
@@ -1145,6 +1145,7 @@ bool Game::load_zone(core::Zone *zone)
long l;
std::string strval;
+ math::Vector3f vectorval;
while (zoneini.getline()) {
@@ -1264,6 +1265,18 @@ bool Game::load_zone(core::Zone *zone)
} else if (zoneini.got_key_color("ambient", color)) {
zone->set_ambient_color(color);
continue;
+ } else if (zoneini.got_key_vector3f("location", vectorval)) {
+ zone->set_location(vectorval);
+ continue;
+ } else if (zoneini.got_key_string("info", strval)) {
+ core::Info *info = core::Info::find(zone->info());
+ if (!info) {
+ std::string labelstr(zone->label());
+ info = new core::Info(core::Zone::infotype(), labelstr.c_str());
+ zone->set_info(info);
+ }
+ info->add_text(strval);
+ continue;
} else {
zoneini.unknown_key();
}