1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-23 00:28:08 +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 //make sure all connections are passable before creating borders
it.second->createBorder(this); it.second->createBorder(this);
it.second->fractalize(this);
it.second->fill(this); it.second->fill(this);
} }
logGlobal->infoStream() << "Zones filled successfully"; logGlobal->infoStream() << "Zones filled successfully";

View File

@ -817,13 +817,8 @@ bool CRmgTemplateZone::placeMines (CMapGenerator* gen)
return true; 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"; logGlobal->infoStream() << "Creating required objects";
for(const auto &obj : requiredObjects) for(const auto &obj : requiredObjects)
{ {
@ -838,26 +833,33 @@ bool CRmgTemplateZone::fill(CMapGenerator* gen)
logGlobal->traceStream() << "Place found"; logGlobal->traceStream() << "Place found";
placeObject(gen, obj.first, pos); 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) if (obj.second)
{ {
guardObject (gen, obj.first, 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 { do {
int3 pos; int3 pos;
if ( ! findPlaceForTreasurePile(gen, 3, pos)) if ( ! findPlaceForTreasurePile(gen, minDistance, pos))
{ {
break; break;
} }
createTreasurePile (gen, pos); createTreasurePile (gen, pos);
} while(true); } while(true);
}
void CRmgTemplateZone::createObstacles(CMapGenerator* gen)
{
auto sel = gen->editManager->getTerrainSelection(); auto sel = gen->editManager->getTerrainSelection();
sel.clearSelection(); sel.clearSelection();
for (auto tile : tileinfo) for (auto tile : tileinfo)
@ -874,8 +876,19 @@ bool CRmgTemplateZone::fill(CMapGenerator* gen)
placeObject(gen, obj, tile); 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; logGlobal->infoStream() << boost::format ("Zone %d filled successfully") %id;
return true; return true;
} }
@ -1017,12 +1030,12 @@ void CRmgTemplateZone::checkAndPlaceObject(CMapGenerator* gen, CGObjectInstance*
gen->map->addBlockVisTiles(object); gen->map->addBlockVisTiles(object);
gen->editManager->insertObject(object, pos); 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) 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); checkAndPlaceObject (gen, object, pos);

View File

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