mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-25 07:35:34 -07:00
Don't add locations to the pool when calculating accessible checks.
This commit is contained in:
parent
6e01a6aec4
commit
2697c61b92
1 changed files with 3 additions and 3 deletions
|
@ -399,14 +399,14 @@ bool AddCheckToLogic(LocationAccess& locPair, GetAccessibleLocationsStruct& gals
|
||||||
RandomizerGet locItem = location->GetPlacedRandomizerGet();
|
RandomizerGet locItem = location->GetPlacedRandomizerGet();
|
||||||
|
|
||||||
if (!location->IsAddedToPool() && locPair.ConditionsMet(parentRegion, gals.calculatingAccessibleChecks)) {
|
if (!location->IsAddedToPool() && locPair.ConditionsMet(parentRegion, gals.calculatingAccessibleChecks)) {
|
||||||
location->AddToPool();
|
|
||||||
|
|
||||||
if (gals.calculatingAccessibleChecks) {
|
if (gals.calculatingAccessibleChecks) {
|
||||||
gals.accessibleLocations.push_back(loc);
|
gals.accessibleLocations.push_back(loc);
|
||||||
StopPerformanceTimer(PT_LOCATION_LOGIC);
|
StopPerformanceTimer(PT_LOCATION_LOGIC);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
location->AddToPool();
|
||||||
|
|
||||||
if (locItem == RG_NONE) {
|
if (locItem == RG_NONE) {
|
||||||
gals.accessibleLocations.push_back(loc); //Empty location, consider for placement
|
gals.accessibleLocations.push_back(loc); //Empty location, consider for placement
|
||||||
} else {
|
} else {
|
||||||
|
@ -504,7 +504,7 @@ std::vector<RandomizerCheck> ReachabilitySearch(const std::vector<RandomizerChec
|
||||||
auto ctx = Rando::Context::GetInstance();
|
auto ctx = Rando::Context::GetInstance();
|
||||||
GetAccessibleLocationsStruct gals(0);
|
GetAccessibleLocationsStruct gals(0);
|
||||||
gals.calculatingAccessibleChecks = calculatingAccessibleChecks;
|
gals.calculatingAccessibleChecks = calculatingAccessibleChecks;
|
||||||
ResetLogic(ctx, gals, true);
|
ResetLogic(ctx, gals, !calculatingAccessibleChecks);
|
||||||
do {
|
do {
|
||||||
gals.InitLoop();
|
gals.InitLoop();
|
||||||
for (size_t i = 0; i < gals.regionPool.size(); i++) {
|
for (size_t i = 0; i < gals.regionPool.size(); i++) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue