* Gets battlescape terrain using globe texture and latitude. * @param tex Globe texture. * @param lat Latitude. * @return Pointer to ruleterrain. */
| 1869 | * @return Pointer to ruleterrain. |
| 1870 | */ |
| 1871 | RuleTerrain *BattlescapeGenerator::getTerrain(int tex, double lat) |
| 1872 | { |
| 1873 | RuleTerrain *t = 0; |
| 1874 | const std::vector<std::string> &terrains = _game->getRuleset()->getTerrainList(); |
| 1875 | for (std::vector<std::string>::const_iterator i = terrains.begin(); i != terrains.end(); ++i) |
| 1876 | { |
| 1877 | t = _game->getRuleset()->getTerrain(*i); |
| 1878 | for (std::vector<int>::iterator j = t->getTextures()->begin(); j != t->getTextures()->end(); ++j ) |
| 1879 | { |
| 1880 | if (*j == tex && (t->getHemisphere() == 0 || (t->getHemisphere() < 0 && lat < 0) || (t->getHemisphere() > 0 && lat >= 0))) |
| 1881 | { |
| 1882 | return t; |
| 1883 | } |
| 1884 | } |
| 1885 | } |
| 1886 | |
| 1887 | assert(0 && "No matching terrain for globe texture"); |
| 1888 | return t; |
| 1889 | } |
| 1890 | |
| 1891 | /** |
| 1892 | * Creates a mini-battle-save for managing inventory from the Geoscape. |
no test coverage detected