From 4925abdd677e5a656f86fabd4229c90c05060030 Mon Sep 17 00:00:00 2001 From: Pepper0ni <93387759+Pepper0ni@users.noreply.github.com> Date: Sun, 10 Dec 2023 02:55:59 +0000 Subject: [PATCH] Fill in textId List (#3499) --- .../custom-message/CustomMessageTypes.h | 142 +++++++++++++----- .../Enhancements/randomizer/randomizer.cpp | 4 +- soh/soh/OTRGlobals.cpp | 16 +- 3 files changed, 114 insertions(+), 48 deletions(-) diff --git a/soh/soh/Enhancements/custom-message/CustomMessageTypes.h b/soh/soh/Enhancements/custom-message/CustomMessageTypes.h index 1f043211e..238f06b1e 100644 --- a/soh/soh/Enhancements/custom-message/CustomMessageTypes.h +++ b/soh/soh/Enhancements/custom-message/CustomMessageTypes.h @@ -1,58 +1,126 @@ #pragma once typedef enum { - TEXT_CURSED_SKULLTULA_PEOPLE = 0x22, - TEXT_SARIAS_SONG_FACE_TO_FACE= 0x160, - TEXT_SARIAS_SONG_FOREST_SOUNDS = 0x161, - TEXT_SARIAS_SONG_FOREST_TEMPLE = 0x16A, - TEXT_SARIA_SFM = 0x10AD, - TEXT_ITEM_KEY_SMALL = 0x60, - TEXT_ITEM_DUNGEON_MAP = 0x66, - TEXT_ITEM_COMPASS = 0x67, - TEXT_ITEM_KEY_BOSS = 0xC7, - TEXT_DAMPES_DIARY = 0x5003, - TEXT_CHEST_GAME_PROCEED = 0x704C, - TEXT_BUY_BOMBCHU_10_PROMPT = 0x8C, - TEXT_BUY_BOMBCHU_10_DESC = 0xBC, - TEXT_GS_NO_FREEZE = 0xB4, - TEXT_GS_FREEZE = 0xB5, - TEXT_RANDOMIZER_CUSTOM_ITEM = 0xF8, + TEXT_CURSED_SKULLTULA_PEOPLE = 0x0022, + TEXT_ITEM_KEY_SMALL = 0x0060, + TEXT_ITEM_DUNGEON_MAP = 0x0066, + TEXT_CHEST_GAME_REAL_GAMBLER = 0x006E, + TEXT_ITEM_COMPASS = 0x0067, + TEXT_CHEST_GAME_THANKS_A_LOT = 0x0084, + TEXT_BUY_BOMBCHU_10_PROMPT = 0x008C, + TEXT_GS_NO_FREEZE = 0x00B4, + TEXT_GS_FREEZE = 0x00B5, + TEXT_BUY_BOMBCHU_10_DESC = 0x00BC, + TEXT_HEART_PIECE = 0x00C2, + TEXT_HEART_CONTAINER = 0x00C6, + TEXT_ITEM_KEY_BOSS = 0x00C7, + TEXT_BLUE_RUPEE = 0x00CC, + TEXT_RED_RUPEE = 0x00F0, + TEXT_PURPLE_RUPEE = 0x00F1, + TEXT_HUGE_RUPEE = 0x00F2, + TEXT_RANDOMIZER_CUSTOM_ITEM = 0x00F8, + TEXT_NAVI_DEKU_TREE_SUMMONS = 0x0140, + TEXT_NAVI_CMON_BE_BRAVE = 0x0141, + TEXT_NAVI_VISIT_THE_PRINCESS = 0x0142, + TEXT_NAVI_FIND_MALONS_FATHER = 0x0143, + TEXT_NAVI_FIND_THE_PRINCESS = 0x0144, + TEXT_NAVI_WHAT_WOULD_SARIA_SAY = 0x0145, + TEXT_NAVI_IMPA_SAID_DEATH_MOUNTAIN = 0x0146, + TEXT_NAVI_USE_BOMB_FLOWER = 0x0147, + TEXT_NAVI_FAIRY_LIVES_ON_DEATH_MOUNTAIN = 0x0148, + TEXT_NAVI_SARIA_KNOWS_ABOUT_STONES = 0x0149, + TEXT_NAVI_RUTO_INSIDE_JABUS_BELLY = 0x014A, + TEXT_NAVI_COLLECTED_THREE_STONES = 0x014B, + TEXT_NAVI_THREW_SOMETHING_IN_MOAT = 0x014C, + TEXT_NAVI_CHECK_TEMPLE_OF_TIME = 0x014D, + TEXT_NAVI_SHOULD_WE_BELIEVE_SHEIK = 0x014E, + TEXT_UNUSED_014F = 0x014F, + TEXT_NAVI_WHATS_GOING_ON_IN_FOREST = 0x0150, + TEXT_NAVI_CLOUD_OVER_DEATH_MOUNTAIN = 0x0151, + TEXT_NAVI_ARTIC_WIND_IS_BLOWING = 0x0152, + TEXT_NAVI_IRON_BOOTS_WEIGH_A_TON = 0x0153, + TEXT_NAVI_LOOK_FOR_SOMONE_WHO_KNOWS = 0x0154, + TEXT_NAVI_IT_CAME_OUT_OF_THE_WELL = 0x0155, + TEXT_NAVI_WHO_BUILT_THE_SPIRIT_TEMPLE = 0x0156, + TEXT_NAVI_HAVE_YOU_EVER_PLAYED_NOCTURNE = 0x0157, + TEXT_NAVI_WHERE_GANONDORF_WAS_BORN = 0x0158, + TEXT_UNUSED_0159 = 0x0159, + TEXT_NAVI_EQUIP_THE_SILVER_GAUNTLETS = 0x015A, + TEXT_NAVI_WHO_IS_WAITING_FOR_US = 0x015B, + TEXT_NAVI_SAVE_PRINCESS_ZELDA = 0x015C, + TEXT_UNUSED_015D = 0x015D, + TEXT_UNUSED_015E = 0x015E, + TEXT_NAVI_TRY_TO_KEEP_MOVING = 0x015F, + TEXT_SARIAS_SONG_FACE_TO_FACE = 0x0160, + TEXT_SARIAS_SONG_FOREST_SOUNDS = 0x0161, + TEXT_SARIAS_SONG_MR_DARUNIA = 0x0162, + TEXT_SARIAS_SONG_SPIRITUAL_WATER = 0x0163, + TEXT_SARIAS_SONG_SPIRITUAL_FIRE = 0x0164, + TEXT_SARIAS_SONG_DREAD_CASTLE = 0x0165, + TEXT_SARIAS_SONG_DIFFERENT_OCARINA = 0x0166, + TEXT_SARIAS_SONG_EYES_DARKNESS_STORM = 0x0167, + TEXT_SARIAS_SONG_DESERT_GODDESS = 0x0168, + TEXT_SARIAS_SONG_TEMPLES = 0x0169, + TEXT_SARIAS_SONG_FOREST_TEMPLE = 0x016A, + TEXT_SARIAS_SONG_GLAD_NOW = 0x016B, + TEXT_SARIAS_SONG_IMPRISON_GANONDORF = 0x016C, + TEXT_SARIAS_SONG_CHANNELING_POWER = 0x016D, + TEXT_LAKE_HYLIA_WATER_SWITCH_NAVI = 0x01B3, // 0x1yy for Navi msg range + TEXT_FROGS_UNDERWATER = 0x022E, + TEXT_LAKE_HYLIA_WATER_SWITCH_SIGN = 0x0346, // 0x3yy for cuttable sign range + TEXT_WARP_MINUET_OF_FOREST = 0x088D, + TEXT_WARP_BOLERO_OF_FIRE = 0x088E, + TEXT_WARP_SERENADE_OF_WATER = 0x088F, + TEXT_WARP_REQUIEM_OF_SPIRIT = 0x0890, + TEXT_WARP_NOCTURNE_OF_SHADOW = 0x0891, + TEXT_WARP_PRELUDE_OF_LIGHT = 0x0892, TEXT_SCRUB_POH = 0x10A2, + TEXT_SARIA_SFM = 0x10AD, TEXT_SCRUB_STICK_UPGRADE = 0x10DC, TEXT_SCRUB_NUT_UPGRADE = 0x10DD, TEXT_RANDOMIZER_GOSSIP_STONE_HINTS = 0x2053, - TEXT_ALTAR_CHILD = 0x7040, - TEXT_ALTAR_ADULT = 0x7088, - TEXT_GANONDORF = 0x70CC, - TEXT_GANONDORF_NOHINT = 0x70CD, - TEXT_HEART_CONTAINER = 0xC6, - TEXT_HEART_PIECE = 0xC2, - TEXT_BLUE_RUPEE = 0xCC, - TEXT_RED_RUPEE = 0xF0, - TEXT_PURPLE_RUPEE = 0xF1, - TEXT_HUGE_RUPEE = 0xF2, - TEXT_FROGS_UNDERWATER = 0x22E, - TEXT_BEAN_SALESMAN = 0x405E, TEXT_MEDIGORON = 0x304C, + TEXT_FIRE_TEMPLE_GORON_OWE_YOU_BIG_TIME = 0x3052, + TEXT_FIRE_TEMPLE_GORON_FALLING_DOORS_SECRET = 0x3069, + TEXT_FIRE_TEMPLE_GORON_FIRE_SECRET = 0x306A, + TEXT_FIRE_TEMPLE_GORON_FLAME_DANCER_SECRET = 0x306B, + TEXT_FIRE_TEMPLE_GORON_SWITCH_SECRET = 0x306C, + TEXT_FIRE_TEMPLE_GORON_OCARINA_SECRET = 0x306D, + TEXT_FIRE_TEMPLE_GORON_PILLAR_SECRET = 0x306E, + TEXT_FIRE_TEMPLE_GORON_HIDDEN_DOOR_SECRET = 0x306F, + TEXT_FIRE_TEMPLE_GORON_SOUNDS_DIFFERENT_SECRET = 0x3070, + TEXT_BEAN_SALESMAN_BUY_FOR_10 = 0x405E, + TEXT_BEAN_SALESMAN_BUY_FOR_20 = 0x405F, + TEXT_BEAN_SALESMAN_BUY_FOR_30 = 0x4060, + TEXT_BEAN_SALESMAN_BUY_FOR_40 = 0x4061, + TEXT_BEAN_SALESMAN_BUY_FOR_50 = 0x4062, + TEXT_BEAN_SALESMAN_BUY_FOR_60 = 0x4063, + TEXT_BEAN_SALESMAN_BUY_FOR_70 = 0x4064, + TEXT_BEAN_SALESMAN_BUY_FOR_80 = 0x4065, + TEXT_BEAN_SALESMAN_BUY_FOR_90 = 0x4066, + TEXT_BEAN_SALESMAN_BUY_FOR_100 = 0x4067, + TEXT_BEAN_SALESMAN_OH_WELL = 0x4068, + TEXT_BEAN_SALESMAN_NOT_ENOUGH_MONEY = 0x4069, + TEXT_BEAN_SALESMAN_SET_A_BEAN_TO_C = 0x406A, + TEXT_BEAN_SALESMAN_SOLD_OUT = 0x406B, + TEXT_BEAN_SALESMAN_WANT_TO_PLANT = 0x406C, + TEXT_DAMPES_DIARY = 0x5003, TEXT_GRANNYS_SHOP = 0x500C, TEXT_CARPET_SALESMAN_1 = 0x6077, TEXT_CARPET_SALESMAN_2 = 0x6078, TEXT_MARKET_GUARD_NIGHT = 0x7003, TEXT_SHEIK_NEED_HOOK = 0x700F, TEXT_SHEIK_HAVE_HOOK = 0x7010, + TEXT_ALTAR_CHILD = 0x7040, + TEXT_CHEST_GAME_PROCEED = 0x704C, + TEXT_ALTAR_ADULT = 0x7088, + TEXT_GANONDORF = 0x70CC, + TEXT_GANONDORF_NOHINT = 0x70CD, TEXT_SCRUB_RANDOM = 0x9000, TEXT_SCRUB_RANDOM_FREE = 0x9001, TEXT_SHOP_ITEM_RANDOM = 0x9100, TEXT_SHOP_ITEM_RANDOM_CONFIRM = 0x9101, - TEXT_WARP_MINUET_OF_FOREST = 0x88D, - TEXT_WARP_BOLERO_OF_FIRE = 0x88E, - TEXT_WARP_SERENADE_OF_WATER = 0x88F, - TEXT_WARP_REQUIEM_OF_SPIRIT = 0x890, - TEXT_WARP_NOCTURNE_OF_SHADOW = 0x891, - TEXT_WARP_PRELUDE_OF_LIGHT = 0x892, - TEXT_WARP_RANDOM_REPLACED_TEXT = 0x9200, - TEXT_LAKE_HYLIA_WATER_SWITCH_SIGN = 0x346, // 0x3yy for cuttable sign range - TEXT_LAKE_HYLIA_WATER_SWITCH_NAVI = 0x1B3, // 0x1yy for Navi msg range + TEXT_WARP_RANDOM_REPLACED_TEXT = 0x9200 } TextIDs; #ifdef __cplusplus diff --git a/soh/soh/Enhancements/randomizer/randomizer.cpp b/soh/soh/Enhancements/randomizer/randomizer.cpp index 8b0c3cca5..079a14e51 100644 --- a/soh/soh/Enhancements/randomizer/randomizer.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer.cpp @@ -340,7 +340,7 @@ void Randomizer::LoadHintMessages() { "Des grenouilles se trouvant&sous l'eau vous fixent attentivement,&tenant fermement&%g{{item}}%w.", TEXTBOX_TYPE_BLUE) ); CustomMessageManager::Instance->CreateMessage( - Randomizer::randoMiscHintsTableID, TEXT_SARIAS_SONG_FOREST_SOUNDS, + Randomizer::randoMiscHintsTableID, TEXT_SARIAS_SONG_FACE_TO_FACE, CustomMessage("{{message}}", "{{message}}", "{{message}}", TEXTBOX_TYPE_BLUE) ); @@ -406,7 +406,7 @@ void Randomizer::LoadMerchantMessages() { "\x12\x38\x82" "Aufgeben! Ich verkaufe dir einen&%g{{item}}%w&für %r{{price}} Rubine%w!\x07\x10\xA3", "\x12\x38\x82" "J'abandonne! Tu veux bien m'acheter&un %g{{item}}%w?&Ça fera %r{{price}} Rubis%w!\x07\x10\xA3")); CustomMessageManager::Instance->CreateMessage( - Randomizer::merchantMessageTableID, TEXT_BEAN_SALESMAN, + Randomizer::merchantMessageTableID, TEXT_BEAN_SALESMAN_BUY_FOR_10, CustomMessage("I tried to be a %rmagic bean%w salesman,&but it turns out my marketing skills&weren't worth " "beans!^Anyway, want to buy my&%gmysterious item%w for 60 Rupees?\x1B&%gYes&No%w", "Möchten Sie einen geheimnisvollen&Gegenstand für 60 Rubine?\x1B&%gJa&Nein%w", diff --git a/soh/soh/OTRGlobals.cpp b/soh/soh/OTRGlobals.cpp index 506df3feb..e4a5d7511 100644 --- a/soh/soh/OTRGlobals.cpp +++ b/soh/soh/OTRGlobals.cpp @@ -2172,11 +2172,11 @@ extern "C" int CustomMessage_RetrieveIfExists(PlayState* play) { textId == TEXT_HUGE_RUPEE)) { messageEntry = Randomizer::GetRupeeMessage(textId); // In rando, replace Navi's general overworld hints with rando-related gameplay tips - } else if (CVarGetInteger("gRandoRelevantNavi", 1) && textId >= 0x0140 && textId <= 0x015F) { + } else if (CVarGetInteger("gRandoRelevantNavi", 1) && textId >= TEXT_NAVI_DEKU_TREE_SUMMONS && textId <= TEXT_NAVI_TRY_TO_KEEP_MOVING) { u16 naviTextId = Random(0, NUM_NAVI_MESSAGES); messageEntry = CustomMessageManager::Instance->RetrieveMessage(Randomizer::NaviRandoMessageTableID, naviTextId); - } else if (Randomizer_GetSettingValue(RSK_SHUFFLE_MAGIC_BEANS) && textId == TEXT_BEAN_SALESMAN) { - messageEntry = CustomMessageManager::Instance->RetrieveMessage(Randomizer::merchantMessageTableID, TEXT_BEAN_SALESMAN); + } else if (Randomizer_GetSettingValue(RSK_SHUFFLE_MAGIC_BEANS) && textId == TEXT_BEAN_SALESMAN_BUY_FOR_10) { + messageEntry = CustomMessageManager::Instance->RetrieveMessage(Randomizer::merchantMessageTableID, TEXT_BEAN_SALESMAN_BUY_FOR_10); } else if (Randomizer_GetSettingValue(RSK_SHUFFLE_MERCHANTS) != RO_SHUFFLE_MERCHANTS_OFF && (textId == TEXT_MEDIGORON || (textId == TEXT_GRANNYS_SHOP && !Flags_GetRandomizerInf(RAND_INF_MERCHANTS_GRANNYS_SHOP) && (Randomizer_GetSettingValue(RSK_SHUFFLE_ADULT_TRADE) || INV_CONTENT(ITEM_CLAIM_CHECK) == ITEM_CLAIM_CHECK)) || @@ -2204,7 +2204,7 @@ extern "C" int CustomMessage_RetrieveIfExists(PlayState* play) { messageEntry = CustomMessageManager::Instance->RetrieveMessage(Randomizer::randoMiscHintsTableID, TEXT_DAMPES_DIARY); } else if (play->sceneNum == SCENE_TREASURE_BOX_SHOP && Randomizer_GetSettingValue(RSK_GREG_HINT) && - (textId == 0x704C || textId == 0x6E || textId == 0x84)) { + (textId == TEXT_CHEST_GAME_PROCEED || textId == TEXT_CHEST_GAME_REAL_GAMBLER || textId == TEXT_CHEST_GAME_THANKS_A_LOT)) { messageEntry = CustomMessageManager::Instance->RetrieveMessage(Randomizer::randoMiscHintsTableID, TEXT_CHEST_GAME_PROCEED); } else if (Randomizer_GetSettingValue(RSK_SHUFFLE_WARP_SONGS) && (textId >= TEXT_WARP_MINUET_OF_FOREST && textId <= TEXT_WARP_PRELUDE_OF_LIGHT)) { @@ -2216,11 +2216,9 @@ extern "C" int CustomMessage_RetrieveIfExists(PlayState* play) { messageEntry = OTRGlobals::Instance->gRandomizer->GetGoronMessage(choice); } else if (Randomizer_GetSettingValue(RSK_FROGS_HINT) && textId == TEXT_FROGS_UNDERWATER) { messageEntry = OTRGlobals::Instance->gRandomizer->GetFrogsMessage(textId); - } else if (Randomizer_GetSettingValue(RSK_SARIA_HINT)) { - if ((gPlayState->sceneNum == SCENE_SACRED_FOREST_MEADOW && textId == TEXT_SARIA_SFM) || textId == TEXT_SARIAS_SONG_FOREST_SOUNDS || - textId == TEXT_SARIAS_SONG_FOREST_TEMPLE) { - messageEntry = OTRGlobals::Instance->gRandomizer->GetSariaMessage(textId); - } + } else if (Randomizer_GetSettingValue(RSK_SARIA_HINT) && + (gPlayState->sceneNum == SCENE_SACRED_FOREST_MEADOW && textId == TEXT_SARIA_SFM) || (textId >= TEXT_SARIAS_SONG_FACE_TO_FACE && textId <= TEXT_SARIAS_SONG_CHANNELING_POWER)) { + messageEntry = OTRGlobals::Instance->gRandomizer->GetSariaMessage(textId); } } if (textId == TEXT_GS_NO_FREEZE || textId == TEXT_GS_FREEZE) {