MCPcopy Create free account
hub / github.com/OpenXcom/OpenXcom / getTerrain

Method getTerrain

src/Battlescape/BattlescapeGenerator.cpp:1871–1889  ·  view source on GitHub ↗

* Gets battlescape terrain using globe texture and latitude. * @param tex Globe texture. * @param lat Latitude. * @return Pointer to ruleterrain. */

Source from the content-addressed store, hash-verified

1869 * @return Pointer to ruleterrain.
1870 */
1871RuleTerrain *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.

Callers 2

nextStageMethod · 0.45
runMethod · 0.45

Calls 3

getTexturesMethod · 0.80
getHemisphereMethod · 0.80
getRulesetMethod · 0.45

Tested by

no test coverage detected