diff options
author | Stijn Buys <ingar@osirion.org> | 2012-10-13 10:51:48 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2012-10-13 10:51:48 +0000 |
commit | 0d58c4f8ab1d174c808c77bf94342c91f6e0c443 (patch) | |
tree | 9f32d388ca32dba337739494db2687aa5b2a8225 /src/core/zone.cc | |
parent | a41a544a498baf2235348b2edb76781f442651d6 (diff) |
Draw zone colors and background texture on the galactic map.
Diffstat (limited to 'src/core/zone.cc')
-rw-r--r-- | src/core/zone.cc | 38 |
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); } } |