diff options
author | Stijn Buys <ingar@osirion.org> | 2009-01-13 19:29:54 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2009-01-13 19:29:54 +0000 |
commit | 5992c46fc62db1bdf038b5b7be0e94dd10183e77 (patch) | |
tree | 91b513b038a4e8c2590d02bc7aeea382f998bb43 /src/model/map.cc | |
parent | 9caf289046ed2639f1935fb1c87133af4f7f6cac (diff) |
adds 'cull' option to fx_flare and fx_particles
Diffstat (limited to 'src/model/map.cc')
-rw-r--r-- | src/model/map.cc | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/model/map.cc b/src/model/map.cc index a59d2ff..9a1802f 100644 --- a/src/model/map.cc +++ b/src/model/map.cc @@ -4,6 +4,7 @@ the terms of the GNU General Public License version 2 */ +#include "auxiliary/functions.h" #include "filesystem/filesystem.h" #include "math/mathlib.h" #include "model/map.h" @@ -837,6 +838,7 @@ Model * Map::load(std::string const &name) unsigned int u; float angle; float r; + std::string str; while (mapfile.getline()) { @@ -1027,7 +1029,7 @@ Model * Map::load(std::string const &name) } else if (mapfile.got_key_float("radius", flare->light_radius)) { flare->light_radius *= LIGHTSCALE; - + } else if (mapfile.got_key_float("frequency", flare->light_frequency)) { continue; @@ -1056,6 +1058,19 @@ Model * Map::load(std::string const &name) } else if (mapfile.got_key_float("roll", angle)) { flare->flare_axis.change_roll(angle); + + } else if (mapfile.got_key_string("cull", str)) { + + aux::to_lowercase(str); + if (str.compare("none") == 0) { + flare->flare_cull = CullNone; + } else if (str.compare("back") == 0) { + flare->flare_cull = CullBack; + } else if (str.compare("front") == 0) { + flare->flare_cull = CullFront; + } else { + mapfile.unknown_value(); + } } else if (mapfile.got_key()) { mapfile.unknown_key(); @@ -1098,6 +1113,19 @@ Model * Map::load(std::string const &name) } else if (mapfile.got_key_float("radius", r)) { particles->set_radius(r * LIGHTSCALE); + + } else if (mapfile.got_key_string("cull", str)) { + + aux::to_lowercase(str); + if (str.compare("none") == 0) { + particles->particles_cull = CullNone; + } else if (str.compare("back") == 0) { + particles->particles_cull = CullBack; + } else if (str.compare("front") == 0) { + particles->particles_cull = CullFront; + } else { + mapfile.unknown_value(); + } } else if (mapfile.got_key()) { mapfile.unknown_key(); |