From ba447276dfb5615479f6f01552252cf6cfc43ca1 Mon Sep 17 00:00:00 2001 From: aMannus Date: Tue, 20 Aug 2024 12:08:15 +0200 Subject: [PATCH] Update to develop-rando --- .../hint_list/hint_list_exclude_dungeon.cpp | 92 +++++++++---------- .../hint_list/hint_list_exclude_overworld.cpp | 91 ++++++++---------- .../location_access/locacc_castle_town.cpp | 4 +- .../location_access/locacc_gerudo_valley.cpp | 32 +++---- .../location_access/locacc_lost_woods.cpp | 10 +- .../randomizer/randomizer_check_objects.cpp | 2 +- .../randomizer/randomizer_check_objects.h | 4 - .../Enhancements/randomizer/randomizer_inf.h | 6 ++ soh/soh/Enhancements/randomizer/settings.cpp | 2 +- 9 files changed, 112 insertions(+), 131 deletions(-) diff --git a/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_exclude_dungeon.cpp b/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_exclude_dungeon.cpp index 9f00cd7b2..4e54dfbef 100644 --- a/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_exclude_dungeon.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_exclude_dungeon.cpp @@ -275,6 +275,10 @@ hintTextTable[RHT_DODONGOS_CAVERN_BOSS_ROOM_CHEST] = HintText(CustomMessage("The /*french*/ "Selon moi, la #peste Mojo au coeur de la Caverne Dodongo# vend #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, un #deku custodiado por Lizalfos# vende #[[1]]#. + hintTextTable[RHT_POT_DODONGOS_CAVERN] = HintText(CustomMessage("They say that a #pot in Dodongo's Cavern# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); + /*-------------------------- | JABU JABUS BELLY | ---------------------------*/ @@ -421,6 +425,11 @@ hintTextTable[RHT_DODONGOS_CAVERN_BOSS_ROOM_CHEST] = HintText(CustomMessage("The /*german*/ "", /*french*/ "Selon moi, la #peste Mojo dans le ventre du gardien# vend #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, un #deku dentro de cierta deidad# vende #[[1]]#. + + hintTextTable[RHT_POT_JABU_JABUS_BELLY] = HintText(CustomMessage("They say that a #pot in Jabu Jabu's Belly# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); + /*-------------------------- | FOREST TEMPLE | ---------------------------*/ @@ -638,10 +647,15 @@ hintTextTable[RHT_DODONGOS_CAVERN_BOSS_ROOM_CHEST] = HintText(CustomMessage("The /*german*/ "", /*french*/ "Selon moi, une #Skulltula dans le jardin du Temple de la Forêt# a #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, una #Skulltula en un borde# del Templo del Bosque otorga #[[1]]#. - hintTextTable[RHT_FOREST_TEMPLE_MQ_GS_WELL] = HintText(CustomMessage("They say that #draining a well# in Forest Temple uncovers a spider with #[[1]]#.", + hintTextTable[RHT_FOREST_TEMPLE_MQ_GS_WELL] = HintText(CustomMessage("They say that #draining a well# in Forest Temple uncovers a spider with #[[1]]#.", /*german*/ "", /*french*/ "Selon moi, une #Skulltula au fond du Puits du Temple de la Forêt# a #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, #vaciar el pozo# del Templo del Bosque desvela una Skulltula que otorga #[[1]]#. + + hintTextTable[RHT_POT_FOREST_TEMPLE] = HintText(CustomMessage("They say that a #pot in Forest Temple# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); + /*-------------------------- | FIRE TEMPLE | @@ -831,6 +845,10 @@ hintTextTable[RHT_FIRE_TEMPLE_NEAR_BOSS_CHEST] = HintText(CustomMessage("They sa /*french*/ "Selon moi, une #Skulltula près du labyrinthe enflammé du Temple du Feu# a #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, una #Skulltula junto a un ardiente laberinto# otorga #[[1]]#. + hintTextTable[RHT_POT_FIRE_TEMPLE] = HintText(CustomMessage("They say that a #pot in Fire Temple# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); + /*-------------------------- | WATER TEMPLE | ---------------------------*/ @@ -958,6 +976,10 @@ hintTextTable[RHT_FIRE_TEMPLE_NEAR_BOSS_CHEST] = HintText(CustomMessage("They sa /*french*/ "Selon moi, une #Skulltula au dessus de la rivière du Temple de l'Eau# a #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, una #Skulltula sobre un río# del Templo del Agua otorga #[[1]]#. + hintTextTable[RHT_POT_WATER_TEMPLE] = HintText(CustomMessage("They say that a #pot in Water Temple# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); + /*-------------------------- | SPIRIT TEMPLE | ---------------------------*/ @@ -1191,6 +1213,10 @@ hintTextTable[RHT_FIRE_TEMPLE_NEAR_BOSS_CHEST] = HintText(CustomMessage("They sa /*french*/ "Selon moi, une #Skulltula sur une paroi de verre du Temple de l'Esprit# a #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, #sobre una plataforma de cristal# yace una Skulltula que otorga #[[1]]#. + hintTextTable[RHT_POT_SPIRIT_TEMPLE] = HintText(CustomMessage("They say that a #pot in Spirit Temple# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); + /*-------------------------- | SHADOW TEMPLE | ---------------------------*/ @@ -1434,6 +1460,10 @@ hintTextTable[RHT_SHADOW_TEMPLE_MAP_CHEST] = HintText(CustomMessage("They say th /*french*/ "Selon moi, une #Skulltula près du repère du Temple de l'Ombre# a #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, una #Skulltula flotante# del Templo de las Sombras otorga #[[1]]#. + hintTextTable[RHT_POT_SHADOW_TEMPLE] = HintText(CustomMessage("They say that a #pot in Shadow Temple# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); + /*-------------------------- | BOTTOM OF THE WELL | ---------------------------*/ @@ -1552,6 +1582,10 @@ hintTextTable[RHT_SHADOW_TEMPLE_MAP_CHEST] = HintText(CustomMessage("They say th /*french*/ "Selon moi, une #Skulltula embarrée dans la crypte au fonds du Puits# a #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, una #Skulltula encerrada en una cripta# del pozo otorga #[[1]]#. + hintTextTable[RHT_POT_BOTTOM_OF_THE_WELL] = HintText(CustomMessage("They say that a #pot in Bottom of the Well# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); + /*-------------------------- | ICE CAVERN | ---------------------------*/ @@ -1625,6 +1659,10 @@ hintTextTable[RHT_SHADOW_TEMPLE_MAP_CHEST] = HintText(CustomMessage("They say th /*french*/ "Selon moi, une #Skulltula figée dans la glace rouge# a #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, una #Skulltula tras un ardiente hielo# otorga #[[1]]#. + hintTextTable[RHT_POT_ICE_CAVERN] = HintText(CustomMessage("They say that a #pot in Ice Cavern# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", { QM_RED, QM_GREEN })); + /*-------------------------- | GERUDO TRAINING GROUNDS | ---------------------------*/ @@ -1996,54 +2034,8 @@ hintTextTable[RHT_SHADOW_TEMPLE_MAP_CHEST] = HintText(CustomMessage("They say th /*french*/ "Selon moi, les #pestes Mojo dans le Château de Ganon# vendent #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, los #dekus del Castillo de Ganon# venden #[[1]]#. - hintTable[RHT_POT_DODONGOS_CAVERN] = HintText::Exclude({ - //obscure text - Text{ "a #pot in Dodongo's Cavern# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); - - hintTable[RHT_POT_JABU_JABUS_BELLY] = HintText::Exclude({ - //obscure text - Text{ "a #pot in Jabu Jabu's Belly# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); - - hintTable[RHT_POT_FOREST_TEMPLE] = HintText::Exclude({ - //obscure text - Text{ "a #pot in Forest Temple# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); - - hintTable[RHT_POT_FIRE_TEMPLE] = HintText::Exclude({ - //obscure text - Text{ "a #pot in Fire Temple# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); - - hintTable[RHT_POT_WATER_TEMPLE] = HintText::Exclude({ - //obscure text - Text{ "a #pot in Water Temple# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); - - hintTable[RHT_POT_SHADOW_TEMPLE] = HintText::Exclude({ - //obscure text - Text{ "a #pot in Shadow Temple# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); - - hintTable[RHT_POT_SPIRIT_TEMPLE] = HintText::Exclude({ - //obscure text - Text{ "a #pot in Spirit Temple# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); - - hintTable[RHT_POT_GANONS_CASTLE] = HintText::Exclude({ - //obscure text - Text{ "a #pot in Ganon's Castle# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); - - hintTable[RHT_POT_BOTTOM_OF_THE_WELL] = HintText::Exclude({ - //obscure text - Text{ "a #pot in Bottom of the Well# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); - - hintTable[RHT_POT_ICE_CAVERN] = HintText::Exclude({ - //obscure text - Text{ "a #pot in Ice Cavern# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); + hintTextTable[RHT_POT_GANONS_CASTLE] = HintText(CustomMessage("They say that a #pot in Ganon's Castle# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); } } diff --git a/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_exclude_overworld.cpp b/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_exclude_overworld.cpp index 152a733a3..f21054714 100644 --- a/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_exclude_overworld.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_exclude_overworld.cpp @@ -1488,69 +1488,56 @@ void StaticData::HintTable_Init_Exclude_Overworld() { /*french*/ "Selon moi, #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, una #colmena detrás del rey de los zoras# esconde #[[1]]#. - hintTable[RHT_POT_KOKIRI_FOREST] = HintText::Exclude({ - // obscure text - Text{ "a #pot in Kokiri Forest# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); + hintTextTable[RHT_POT_KOKIRI_FOREST] = HintText(CustomMessage("They say that a #pot in Kokiri Forest# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); - hintTable[RHT_POT_GERUDO_FORTRESS] = HintText::Exclude({ - // obscure text - Text{ "a #pot in Gerudo Fortress# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); + hintTextTable[RHT_POT_GERUDO_FORTRESS] = HintText(CustomMessage("They say that a #pot in Gerudo Fortress# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); - hintTable[RHT_POT_WASTELAND] = HintText::Exclude({ - // obscure text - Text{ "a #pot in Haunted Wasteland# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); + hintTextTable[RHT_POT_WASTELAND] = HintText(CustomMessage("They say that a #pot in Haunted Wasteland# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); - hintTable[RHT_POT_MARKET] = HintText::Exclude({ - // obscure text - Text{ "a #pot in Market# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); + hintTextTable[RHT_POT_MARKET] = HintText(CustomMessage("They say that a #pot in Market# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); - hintTable[RHT_POT_KAKARIKO] = HintText::Exclude({ - // obscure text - Text{ "a #pot in Kakariko Village# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); + hintTextTable[RHT_POT_KAKARIKO] = HintText(CustomMessage("They say that a #pot in Kakariko Village# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); - hintTable[RHT_POT_GRAVEYARD] = HintText::Exclude({ - // obscure text - Text{ "a #pot in Graveyard# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); + hintTextTable[RHT_POT_GRAVEYARD] = HintText(CustomMessage("They say that a #pot in Graveyard# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); - hintTable[RHT_POT_GORON_CITY] = HintText::Exclude({ - // obscure text - Text{ "a #pot in Goron City# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); + hintTextTable[RHT_POT_GORON_CITY] = HintText(CustomMessage("They say that a #pot in Goron City# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); - hintTable[RHT_POT_DEATH_MOUNTAIN_CRATER] = HintText::Exclude({ - // obscure text - Text{ "a #pot in Death Mountain Crater# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); + hintTextTable[RHT_POT_DEATH_MOUNTAIN_CRATER] = HintText(CustomMessage("They say that a #pot in Death Mountain Crater# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); - hintTable[RHT_POT_ZORAS_DOMAIN] = HintText::Exclude({ - // obscure text - Text{ "a #pot in Zora's Domain# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); + hintTextTable[RHT_POT_ZORAS_DOMAIN] = HintText(CustomMessage("They say that a #pot in Zora's Domain# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); - hintTable[RHT_POT_ZORAS_FOUNTAIN] = HintText::Exclude({ - // obscure text - Text{ "a #pot in Zora's Fountain# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); + hintTextTable[RHT_POT_ZORAS_FOUNTAIN] = HintText(CustomMessage("They say that a #pot in Zora's Fountain# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); - hintTable[RHT_POT_LON_LON_RANCH] = HintText::Exclude({ - // obscure text - Text{ "a #pot in Lon Lon Ranch# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); + hintTextTable[RHT_POT_LON_LON_RANCH] = HintText(CustomMessage("They say that a #pot in Lon Lon Ranch# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); - hintTable[RHT_POT_HYRULE_FIELD] = HintText::Exclude({ - // obscure text - Text{ "a #pot in Hyrule Field# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); + hintTextTable[RHT_POT_HYRULE_FIELD] = HintText(CustomMessage("They say that a #pot in Hyrule Field# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); - hintTable[RHT_POT_HYRULE_CASTLE] = HintText::Exclude({ - // obscure text - Text{ "a #pot in Hyrule Castle# contains", /*french*/ "TRANSLATION NEEDED", /*spanish*/ "" }, - }); + hintTextTable[RHT_POT_HYRULE_CASTLE] = HintText(CustomMessage("They say that a #pot in Hyrule Castle# contains #[[1]]#.", + /*german*/ "", + /*french*/ "", {QM_RED, QM_GREEN})); } } diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_castle_town.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_castle_town.cpp index dc0fe2e3d..4caefe24c 100644 --- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_castle_town.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_castle_town.cpp @@ -169,8 +169,8 @@ void AreaTable_Init_CastleTown() { //Locations LOCATION(RC_MARKET_10_BIG_POES, logic->IsAdult && logic->BigPoeKill), LOCATION(RC_MARKET_GS_GUARD_HOUSE, logic->IsChild), - LocationAccess(RC_MK_GUARD_HOUSE_CHILD_POT_1, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_MK_GUARD_HOUSE_CHILD_POT_2, {[]{return logic->CanBreakPots;}}), + LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_1, logic->CanBreakPots), + LOCATION(RC_MK_GUARD_HOUSE_CHILD_POT_2, logic->CanBreakPots), }, { //Exits Entrance(RR_MARKET_ENTRANCE, {[]{return true;}}), diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_gerudo_valley.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_gerudo_valley.cpp index c49584925..3fcf22407 100644 --- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_gerudo_valley.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_gerudo_valley.cpp @@ -110,22 +110,22 @@ void AreaTable_Init_GerudoValley() { LOCATION(RC_GF_GERUDO_MEMBERSHIP_CARD, logic->CanFinishGerudoFortress), LOCATION(RC_GF_GS_ARCHERY_RANGE, logic->IsAdult && logic->HookshotOrBoomerang && logic->GerudoToken && logic->AtNight && logic->CanGetNightTimeGS), LOCATION(RC_GF_GS_TOP_FLOOR, logic->IsAdult && logic->AtNight && (logic->CanJumpslash || logic->CanUse(RG_FAIRY_SLINGSHOT) || logic->CanUse(RG_BOOMERANG) || logic->HasExplosives || logic->CanUse(RG_FAIRY_BOW) || logic->CanUse(RG_HOOKSHOT) || logic->CanUse(RG_DINS_FIRE)) && (logic->GerudoToken || logic->CanUse(RG_FAIRY_BOW) || logic->CanUse(RG_HOOKSHOT) || logic->CanUse(RG_HOVER_BOOTS) || randoCtx->GetTrickOption(RT_GF_KITCHEN) || randoCtx->GetTrickOption(RT_GF_JUMP)) && logic->CanGetNightTimeGS), - LocationAccess(RC_GF_BREAK_ROOM_POT_1, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_GF_BREAK_ROOM_POT_2, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_GF_KITCHEN_POT_1, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_GF_KITCHEN_POT_2, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_GF_NORTH_F1_CARPENTER_POT_1, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_GF_NORTH_F1_CARPENTER_POT_2, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_GF_NORTH_F1_CARPENTER_POT_3, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_GF_NORTH_F2_CARPENTER_POT_1, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_GF_NORTH_F2_CARPENTER_POT_2, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_GF_SOUTH_F1_CARPENTER_POT_1, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_GF_SOUTH_F1_CARPENTER_POT_2, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_GF_SOUTH_F1_CARPENTER_POT_3, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_1, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_2, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_3, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_4, {[]{return logic->CanBreakPots;}}), + LOCATION(RC_GF_BREAK_ROOM_POT_1, logic->CanBreakPots), + LOCATION(RC_GF_BREAK_ROOM_POT_2, logic->CanBreakPots), + LOCATION(RC_GF_KITCHEN_POT_1, logic->CanBreakPots), + LOCATION(RC_GF_KITCHEN_POT_2, logic->CanBreakPots), + LOCATION(RC_GF_NORTH_F1_CARPENTER_POT_1, logic->CanBreakPots), + LOCATION(RC_GF_NORTH_F1_CARPENTER_POT_2, logic->CanBreakPots), + LOCATION(RC_GF_NORTH_F1_CARPENTER_POT_3, logic->CanBreakPots), + LOCATION(RC_GF_NORTH_F2_CARPENTER_POT_1, logic->CanBreakPots), + LOCATION(RC_GF_NORTH_F2_CARPENTER_POT_2, logic->CanBreakPots), + LOCATION(RC_GF_SOUTH_F1_CARPENTER_POT_1, logic->CanBreakPots), + LOCATION(RC_GF_SOUTH_F1_CARPENTER_POT_2, logic->CanBreakPots), + LOCATION(RC_GF_SOUTH_F1_CARPENTER_POT_3, logic->CanBreakPots), + LOCATION(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_1, logic->CanBreakPots), + LOCATION(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_2, logic->CanBreakPots), + LOCATION(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_3, logic->CanBreakPots), + LOCATION(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_4, logic->CanBreakPots), }, { //Exits Entrance(RR_GV_FORTRESS_SIDE, {[]{return true;}}), diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_lost_woods.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_lost_woods.cpp index 3c3cc3596..efe1edc80 100644 --- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_lost_woods.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_lost_woods.cpp @@ -48,7 +48,7 @@ void AreaTable_Init_LostWoods() { areaTable[RR_KF_LINKS_HOUSE] = Area("KF Link's House", "KF Link's House", RA_NONE, NO_DAY_NIGHT_CYCLE, {}, { //Locations LOCATION(RC_KF_LINKS_HOUSE_COW, logic->IsAdult && logic->CanUse(RG_EPONAS_SONG) && logic->LinksCow), - LocationAccess(RC_KF_LINKS_HOUSE_POT, {[]{return logic->CanBreakPots;}}), + LOCATION(RC_KF_LINKS_HOUSE_POT, logic->CanBreakPots), }, { //Exits Entrance(RR_KOKIRI_FOREST, {[]{return true;}}) @@ -72,8 +72,8 @@ void AreaTable_Init_LostWoods() { areaTable[RR_KF_HOUSE_OF_TWINS] = Area("KF House of Twins", "KF House of Twins", RA_NONE, NO_DAY_NIGHT_CYCLE, {}, { //Locations - LocationAccess(RC_KF_TWINS_HOUSE_POT_1, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_KF_TWINS_HOUSE_POT_2, {[]{return logic->CanBreakPots;}}), + LOCATION(RC_KF_TWINS_HOUSE_POT_1, logic->CanBreakPots), + LOCATION(RC_KF_TWINS_HOUSE_POT_2, logic->CanBreakPots), }, { //Exits Entrance(RR_KOKIRI_FOREST, {[]{return true;}}), @@ -81,8 +81,8 @@ void AreaTable_Init_LostWoods() { areaTable[RR_KF_KNOW_IT_ALL_HOUSE] = Area("KF Know It All House", "KF Know It All House", RA_NONE, NO_DAY_NIGHT_CYCLE, {}, { // Locations - LocationAccess(RC_KF_BROTHERS_HOUSE_POT_1, {[]{return logic->CanBreakPots;}}), - LocationAccess(RC_KF_BROTHERS_HOUSE_POT_2, {[]{return logic->CanBreakPots;}}), + LOCATION(RC_KF_BROTHERS_HOUSE_POT_1, logic->CanBreakPots), + LOCATION(RC_KF_BROTHERS_HOUSE_POT_2, logic->CanBreakPots), }, { //Exits Entrance(RR_KOKIRI_FOREST, {[]{return true;}}), diff --git a/soh/soh/Enhancements/randomizer/randomizer_check_objects.cpp b/soh/soh/Enhancements/randomizer/randomizer_check_objects.cpp index 6dbb4bd66..ba8f306d2 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_check_objects.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer_check_objects.cpp @@ -156,7 +156,7 @@ void RandomizerCheckObjects::UpdateImGuiVisibility() { RandomizerCheckObjects::AreaIsDungeon(location.GetArea()))) && (location.GetRCType() != RCTYPE_BEEHIVE || CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShuffleBeehives"), RO_GENERIC_NO)) && (location.GetRCType() != RCTYPE_COW || CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShuffleCows"), RO_GENERIC_NO)) && - (location.GetRCType() != RCTYPE_POT || CVarGetInteger("gRandomizeShufflePots", RO_GENERIC_NO)) && + (location.GetRCType() != RCTYPE_POT || CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShufflePots"), RO_GENERIC_NO)) && (location.GetRCType() != RCTYPE_FISH || ctx->GetFishsanity()->GetFishLocationIncluded(&location, FSO_SOURCE_CVARS)) && (location.GetRCType() != RCTYPE_ADULT_TRADE || CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShuffleAdultTrade"), RO_GENERIC_NO)) && diff --git a/soh/soh/Enhancements/randomizer/randomizer_check_objects.h b/soh/soh/Enhancements/randomizer/randomizer_check_objects.h index bf9cc98f7..6ab5b8314 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_check_objects.h +++ b/soh/soh/Enhancements/randomizer/randomizer_check_objects.h @@ -6,10 +6,6 @@ #include #include -// ABS macro to use since `std::abs` is not constexpr yet -#define ABS(x) ((x) < 0 ? -(x) : (x)) -#define TWO_ACTOR_PARAMS(a, b) (ABS(a) << 16) | ABS(b) - namespace RandomizerCheckObjects { bool AreaIsDungeon(RandomizerCheckArea area); bool AreaIsOverworld(RandomizerCheckArea area); diff --git a/soh/soh/Enhancements/randomizer/randomizer_inf.h b/soh/soh/Enhancements/randomizer/randomizer_inf.h index 39fe2c307..34378e10c 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_inf.h +++ b/soh/soh/Enhancements/randomizer/randomizer_inf.h @@ -1,6 +1,12 @@ #pragma once typedef enum { + RAND_INF_DUNGEONS_DONE_DEKU_TREE, + RAND_INF_DUNGEONS_DONE_DODONGOS_CAVERN, + RAND_INF_DUNGEONS_DONE_JABU_JABUS_BELLY, + RAND_INF_DUNGEONS_DONE_FOREST_TEMPLE, + RAND_INF_DUNGEONS_DONE_FIRE_TEMPLE, + RAND_INF_DUNGEONS_DONE_WATER_TEMPLE, RAND_INF_DUNGEONS_DONE_SPIRIT_TEMPLE, RAND_INF_DUNGEONS_DONE_SHADOW_TEMPLE, diff --git a/soh/soh/Enhancements/randomizer/settings.cpp b/soh/soh/Enhancements/randomizer/settings.cpp index 8316a8ac9..add50a697 100644 --- a/soh/soh/Enhancements/randomizer/settings.cpp +++ b/soh/soh/Enhancements/randomizer/settings.cpp @@ -112,7 +112,7 @@ void Settings::CreateOptions() { mOptions[RSK_SHUFFLE_SWIM] = Option::Bool("Shuffle Swim", CVAR_RANDOMIZER_SETTING("ShuffleSwim"), mOptionDescriptions[RSK_SHUFFLE_SWIM]); mOptions[RSK_SHUFFLE_WEIRD_EGG] = Option::Bool("Shuffle Weird Egg", CVAR_RANDOMIZER_SETTING("ShuffleWeirdEgg"), mOptionDescriptions[RSK_SHUFFLE_WEIRD_EGG]); mOptions[RSK_SHUFFLE_GERUDO_MEMBERSHIP_CARD] = Option::Bool("Shuffle Gerudo Membership Card", CVAR_RANDOMIZER_SETTING("ShuffleGerudoToken"), mOptionDescriptions[RSK_SHUFFLE_GERUDO_MEMBERSHIP_CARD]); - mOptions[RSK_SHUFFLE_POTS] = Option::U8("Shuffle Pots", {"Off", "Dungeons", "Overworld", "All Pots"}, OptionCategory::Setting, "gRandomizeShufflePots", mOptionDescriptions[RSK_SHUFFLE_POTS], WidgetType::Combobox, RO_SHUFFLE_POTS_OFF); + mOptions[RSK_SHUFFLE_POTS] = Option::U8("Shuffle Pots", {"Off", "Dungeons", "Overworld", "All Pots"}, OptionCategory::Setting, CVAR_RANDOMIZER_SETTING("ShufflePots"), mOptionDescriptions[RSK_SHUFFLE_POTS], WidgetType::Combobox, RO_SHUFFLE_POTS_OFF); mOptions[RSK_SHUFFLE_FISHING_POLE] = Option::Bool("Shuffle Fishing Pole", CVAR_RANDOMIZER_SETTING("ShuffleFishingPole"), mOptionDescriptions[RSK_SHUFFLE_FISHING_POLE]); mOptions[RSK_SHUFFLE_MAGIC_BEANS] = Option::Bool("Shuffle Magic Beans", CVAR_RANDOMIZER_SETTING("ShuffleBeans"), mOptionDescriptions[RSK_SHUFFLE_MAGIC_BEANS]); mOptions[RSK_SHUFFLE_MERCHANTS] = Option::U8("Shuffle Merchants", {"Off", "On (No Hints)", "On (With Hints)"}, OptionCategory::Setting, CVAR_RANDOMIZER_SETTING("ShuffleMerchants"), mOptionDescriptions[RSK_SHUFFLE_MERCHANTS], WidgetType::Combobox, RO_SHUFFLE_MERCHANTS_OFF);