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>2012-10-13 10:51:48 +0000
committerStijn Buys <ingar@osirion.org>2012-10-13 10:51:48 +0000
commit0d58c4f8ab1d174c808c77bf94342c91f6e0c443 (patch)
tree9f32d388ca32dba337739494db2687aa5b2a8225 /src/core/zone.cc
parenta41a544a498baf2235348b2edb76781f442651d6 (diff)
Draw zone colors and background texture on the galactic map.
Diffstat (limited to 'src/core/zone.cc')
-rw-r--r--src/core/zone.cc38
1 files changed, 30 insertions, 8 deletions
diff --git a/src/core/zone.cc b/src/core/zone.cc
index b038d82..dbd257e 100644
--- a/src/core/zone.cc
+++ b/src/core/zone.cc
@@ -122,11 +122,14 @@ void Zone ::clear()
Zone::Zone(std::string const & label) :
Label(label),
- zone_ambient_color(0.1f, 0.1f, 0.1f)
+ zone_location(),
+ zone_color(1.0f),
+ zone_ambient_color(0.1f)
{
- zone_id = 0;
+ zone_id = 0;
zone_defaultview = 0;
- zone_info = 0 ;
+ zone_info = 0;
+ zone_flags = 0;
btVector3 worldAabbMin(-10000, -10000, -10000);
btVector3 worldAabbMax(10000, 10000, 10000);
@@ -142,11 +145,14 @@ Zone::Zone(std::string const & label) :
Zone::Zone(std::istream & is) :
Label(),
- zone_ambient_color(0.1f, 0.1f, 0.1f)
+ zone_location(),
+ zone_color(1.0f),
+ zone_ambient_color(0.1f)
{
zone_id = 0;
zone_defaultview = 0;
- zone_info = 0 ;
+ zone_info = 0;
+ zone_flags = 0;
// client side does not setup a bullet physics environment
zone_bullet_cache = 0;
@@ -180,7 +186,16 @@ void Zone::set_info(const Info *info)
zone_info = info;
}
-
+void Zone::set_color(const math::Color & color)
+{
+ zone_color.assign(color);
+}
+
+void Zone::set_color(float r, float g, float b)
+{
+ zone_color.assign(r, g, b);
+}
+
void Zone::print()
{
con_print << " zone id ^B" << id() << " ^Nlabel ^B" << label() << " ^Nname ^B" << name() << std::endl;
@@ -283,8 +298,11 @@ void Zone::serialize_server_update(std::ostream & os) const
os << zone_ambient_color.b << " ";
os << (zone_defaultview ? zone_defaultview->id() : 0) << " ";
os << zone_location << " ";
- os << zone_flags;
-
+ os << zone_flags << " ";
+ os << zone_ambient_color.r << " ";
+ os << zone_ambient_color.g << " ";
+ os << zone_ambient_color.b;
+
}
void Zone::receive_server_update(std::istream &is)
@@ -326,6 +344,10 @@ void Zone::receive_server_update(std::istream &is)
// flags
is >> zone_flags;
+
+ // zone color
+ is >> r >> g >> b;
+ zone_color.assign(r, g, b);
}
}