1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-05 15:05:40 +02:00

Refactoring, clearing logs.

This commit is contained in:
DjWarmonger 2014-06-15 08:48:46 +02:00
parent 79da7b92ce
commit aa54803c50
3 changed files with 30 additions and 15 deletions

View File

@ -219,7 +219,6 @@ void CMapGenerator::fillZones()
{
//make sure all connections are passable before creating borders
it.second->createBorder(this);
it.second->fractalize(this);
it.second->fill(this);
}
logGlobal->infoStream() << "Zones filled successfully";

View File

@ -817,13 +817,8 @@ bool CRmgTemplateZone::placeMines (CMapGenerator* gen)
return true;
}
bool CRmgTemplateZone::fill(CMapGenerator* gen)
bool CRmgTemplateZone::createRequiredObjects(CMapGenerator* gen)
{
addAllPossibleObjects (gen);
initTownType(gen);
initTerrainType(gen);
placeMines(gen);
logGlobal->infoStream() << "Creating required objects";
for(const auto &obj : requiredObjects)
{
@ -838,26 +833,33 @@ bool CRmgTemplateZone::fill(CMapGenerator* gen)
logGlobal->traceStream() << "Place found";
placeObject(gen, obj.first, pos);
crunchPath (gen, pos, getPos(), id); //make sure pile is connected to the middle of zone
crunchPath (gen, pos, getPos(), id); //make sure object is connected to the middle of zone
if (obj.second)
{
guardObject (gen, obj.first, obj.second);
}
}
const double res_mindist = 5;
return true;
}
void CRmgTemplateZone::createTreasures(CMapGenerator* gen)
{
const double minDistance = 3;
//TODO: just placeholder to chekc for possible locations
do {
int3 pos;
if ( ! findPlaceForTreasurePile(gen, 3, pos))
if ( ! findPlaceForTreasurePile(gen, minDistance, pos))
{
break;
}
createTreasurePile (gen, pos);
} while(true);
}
void CRmgTemplateZone::createObstacles(CMapGenerator* gen)
{
auto sel = gen->editManager->getTerrainSelection();
sel.clearSelection();
for (auto tile : tileinfo)
@ -874,8 +876,19 @@ bool CRmgTemplateZone::fill(CMapGenerator* gen)
placeObject(gen, obj, tile);
}
}
//logGlobal->infoStream() << boost::format("Filling %d with ROCK") % sel.getSelectedItems().size();
//gen->editManager->drawTerrain(ETerrainType::ROCK, &gen->gen);
}
bool CRmgTemplateZone::fill(CMapGenerator* gen)
{
addAllPossibleObjects (gen);
initTownType(gen);
initTerrainType(gen);
placeMines(gen);
createRequiredObjects(gen);
fractalize(gen); //after required objects are created and linked with their own paths
createTreasures(gen);
createObstacles(gen);
logGlobal->infoStream() << boost::format ("Zone %d filled successfully") %id;
return true;
}
@ -1017,12 +1030,12 @@ void CRmgTemplateZone::checkAndPlaceObject(CMapGenerator* gen, CGObjectInstance*
gen->map->addBlockVisTiles(object);
gen->editManager->insertObject(object, pos);
logGlobal->traceStream() << boost::format ("Successfully inserted object (%d,%d) at pos %s") %object->ID %object->subID %pos();
//logGlobal->traceStream() << boost::format ("Successfully inserted object (%d,%d) at pos %s") %object->ID %object->subID %pos();
}
void CRmgTemplateZone::placeObject(CMapGenerator* gen, CGObjectInstance* object, const int3 &pos)
{
logGlobal->traceStream() << boost::format("Inserting object at %d %d") % pos.x % pos.y;
//logGlobal->traceStream() << boost::format("Inserting object at %d %d") % pos.x % pos.y;
checkAndPlaceObject (gen, object, pos);

View File

@ -136,6 +136,9 @@ public:
void initTerrainType (CMapGenerator* gen);
void createBorder(CMapGenerator* gen);
void fractalize(CMapGenerator* gen);
bool createRequiredObjects(CMapGenerator* gen);
void createTreasures(CMapGenerator* gen);
void createObstacles(CMapGenerator* gen);
bool crunchPath (CMapGenerator* gen, const int3 &src, const int3 &dst, TRmgTemplateZoneId zone, std::set<int3>* clearedTiles = nullptr);
void setTotalDensity (ui16 val);