taking into account the developments of
this thread, I suggest the extension and modification of the geoscape code to allow for more terrain types, specifically "water" terrain types that behave like the "non-existent" ocean we currently have but allow for later inclusion of underwater missions.
for those who didn't follow the thread above and don't have an intimate understanding of world.dat : the globe in xcom is constructed of triangles and quadrangles that make up the land mass and have a certain terrain value that determines their texture in the geoscape as well as the battlescape terrain type for missions that occur on that surface. ocean is parts of the globe that are outside of the land mass (not inside any triangle or quadrangle).
as far as I can see, currently the game checks for land location when UFOs are shot down by
if (!_globe->insideLand(_ufo->getLongitude(), _ufo->getLatitude()))
{
_destroyUfo = true;
}
and when placing new bases by
if (_globe->insideLand(lon, lat))
{
_base->setLongitude(lon);
_base->setLatitude(lat);
for (std::vector<Craft*>::iterator i = _base->getCrafts()->begin(); i != _base->getCrafts()->end(); ++i)
{
(*i)->setLongitude(lon);
(*i)->setLatitude(lat);
}
if (_first)
{
_game->pushState(new BaseNameState(_game, _base, _globe, _first));
}
else
{
_game->pushState(new ConfirmNewBaseState(_game, _base, _globe));
}
so the "insideLand" would have to be followed by a check against terrain type. I suggest keeping the initial check against "insideLand" (perhaps rename to "validTerrain"?) for two reasons:
1) the original globe has no water terrains
2) even for supposedly-completely-covered globes, there may always be gaps where edges haven't been aligned properly, and it's better to have UFOs disappear in those than to suddenly fight a battlescape mission in the middle of the ocean because the UFO crashed into a gap.
I agree with anyone saying that this aims at something well post V1.0, but I believe it is a change that is best done early, and it shouldn't be all that hard... although I am not a programmer, and you might disagree on that last point
The result could for now be a visual improvement of the globe (different ocean colors by depth etc.), and later it would make creating a TFTD or UFO/TFTD combo-version a whole lot easier.