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:
@ -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";
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
Reference in New Issue
Block a user