Address review

This commit is contained in:
Pepe20129 2025-04-23 20:02:01 +02:00
parent ca3f704301
commit 56021612c4
3 changed files with 18 additions and 2 deletions

View file

@ -360,7 +360,14 @@ static bool AreEntrancesCompatible(Entrance* entrance, Entrance* target, std::ve
entrance->GetParentRegion()->scene != SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC &&
entrance->GetParentRegion()->scene != SCENE_GREAT_FAIRYS_FOUNTAIN_SPELLS &&
entrance->GetParentRegion()->scene == target->GetConnectedRegion()->scene) {
(
entrance->GetParentRegion()->scene == target->GetConnectedRegion()->scene ||
// prevent SCENE_HYRULE_CASTLE & SCENE_OUTSIDE_GANONS_CASTLE from connecting to eachother
(entrance->GetParentRegion()->scene == SCENE_HYRULE_CASTLE && target->GetConnectedRegion()->scene == SCENE_OUTSIDE_GANONS_CASTLE) ||
(entrance->GetParentRegion()->scene == SCENE_OUTSIDE_GANONS_CASTLE && target->GetConnectedRegion()->scene == SCENE_HYRULE_CASTLE)
)
) {
auto message = "Entrance " + entrance->GetName() + " attempted to connect with own scene target " +
target->to_string() + ". Connection failed.\n";
SPDLOG_DEBUG(message);

View file

@ -332,7 +332,13 @@ bool Region::TimePass() {
case SCENE_DEATH_MOUNTAIN_CRATER:
case SCENE_ID_MAX:
return false;
// Time does pass in the fishing pond but it's
// extremely slow (more than 2 IRL seconds per in-game minute)
// maybe in the future there could be a trick to count it
case SCENE_FISHING_POND:
return false;
case SCENE_HYRULE_FIELD:
case SCENE_KAKARIKO_VILLAGE:
case SCENE_ZORAS_RIVER:
@ -343,6 +349,7 @@ bool Region::TimePass() {
case SCENE_DEATH_MOUNTAIN_TRAIL:
case SCENE_LON_LON_RANCH:
return true;
case SCENE_TEST01:
case SCENE_BESITU:
case SCENE_DEPTH_TEST:

View file

@ -7,7 +7,9 @@ void RegionTable_Init_CastleGrounds() {
// clang-format off
//With multi-area support {RA_CASTLE_GROUNDS} is not strictly required anymore, as any interior here could inherit both
//{RA_HYRULE_CASTLE} and {RA_OUTSIDE_GANONS_CASTLE}, but a setting to merge the latter 2 into the former may be preferred
areaTable[RR_CASTLE_GROUNDS] = Region("Castle Grounds", SCENE_ID_MAX, {RA_CASTLE_GROUNDS}, {}, {}, {
//
//Temporarily uses SCENE_OUTSIDE_GANONS_CASTLE to avoid self connection between ages
areaTable[RR_CASTLE_GROUNDS] = Region("Castle Grounds", SCENE_OUTSIDE_GANONS_CASTLE, {RA_CASTLE_GROUNDS}, {}, {}, {
//Exits
Entrance(RR_THE_MARKET, []{return true;}),
Entrance(RR_HYRULE_CASTLE_GROUNDS, []{return logic->IsChild;}),