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

Method initMap

src/Savegame/SavedBattleGame.cpp:448–478  ·  view source on GitHub ↗

* Initializes the array of tiles and creates a pathfinding object. * @param mapsize_x * @param mapsize_y * @param mapsize_z */

Source from the content-addressed store, hash-verified

446 * @param mapsize_z
447 */
448void SavedBattleGame::initMap(int mapsize_x, int mapsize_y, int mapsize_z)
449{
450 if (!_nodes.empty())
451 {
452 for (int i = 0; i < _mapsize_z * _mapsize_y * _mapsize_x; ++i)
453 {
454 delete _tiles[i];
455 }
456 delete[] _tiles;
457
458 for (std::vector<Node*>::iterator i = _nodes.begin(); i != _nodes.end(); ++i)
459 {
460 delete *i;
461 }
462
463 _nodes.clear();
464 _mapDataSets.clear();
465 }
466 _mapsize_x = mapsize_x;
467 _mapsize_y = mapsize_y;
468 _mapsize_z = mapsize_z;
469 _tiles = new Tile*[_mapsize_z * _mapsize_y * _mapsize_x];
470 /* create tile objects */
471 for (int i = 0; i < _mapsize_z * _mapsize_y * _mapsize_x; ++i)
472 {
473 Position pos;
474 getTileCoords(i, &pos.x, &pos.y, &pos.z);
475 _tiles[i] = new Tile(pos);
476 }
477
478}
479
480/**
481 * Initializes the map utilities.

Callers 3

nextStageMethod · 0.80
runMethod · 0.80
runInventoryMethod · 0.80

Calls 2

emptyMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected