From ca38dba192b4883ae3fca645d71c50e4bda4c2af Mon Sep 17 00:00:00 2001 From: Jerom Venneker Date: Mon, 13 Apr 2026 05:39:30 +0200 Subject: [PATCH] Add missing Hint clarities back (#6477) --- .../randomizer/Messages/MerchantMessages.cpp | 3 ++- .../Enhancements/randomizer/Messages/StaticHints.cpp | 12 +++++------- soh/soh/Enhancements/randomizer/hint.cpp | 10 +++------- soh/soh/Enhancements/randomizer/item_list.cpp | 1 - 4 files changed, 10 insertions(+), 16 deletions(-) diff --git a/soh/soh/Enhancements/randomizer/Messages/MerchantMessages.cpp b/soh/soh/Enhancements/randomizer/Messages/MerchantMessages.cpp index dae35c0d0..56fa5c7b1 100644 --- a/soh/soh/Enhancements/randomizer/Messages/MerchantMessages.cpp +++ b/soh/soh/Enhancements/randomizer/Messages/MerchantMessages.cpp @@ -36,7 +36,8 @@ void BuildMerchantMessage(CustomMessage& msg, RandomizerCheck rc, bool mysteriou itemName = CustomMessage(RAND_GET_OVERRIDE(rc).GetTrickName()); color = "%g"; } else { - itemName = CustomMessage(Rando::StaticData::RetrieveItem(rgid).GetName()); + const Rando::Item& item = Rando::StaticData::RetrieveItem(rgid); + itemName = item.GetHint().GetHintMessage().GetForCurrentLanguage(); } msg.Replace("[[color]]", color); msg.InsertNames({ itemName, CustomMessage(std::to_string(price)) }); diff --git a/soh/soh/Enhancements/randomizer/Messages/StaticHints.cpp b/soh/soh/Enhancements/randomizer/Messages/StaticHints.cpp index 6f163c58d..56821bf60 100644 --- a/soh/soh/Enhancements/randomizer/Messages/StaticHints.cpp +++ b/soh/soh/Enhancements/randomizer/Messages/StaticHints.cpp @@ -140,7 +140,7 @@ void BuildSkulltulaPeopleMessage(uint16_t* textId, bool* loadFromMessageTable) { "et j'aurai quelque chose à te donner! [[color]]([[1]])%w"); msg.InsertNumber(count); msg.Replace("[[color]]", item.GetColor()); - msg.InsertNames({ item.GetName() }); + msg.InsertNames({ item.GetHint().GetHintMessage().GetForCurrentLanguage() }); msg.AutoFormat(); msg.LoadIntoFont(); *loadFromMessageTable = false; @@ -155,12 +155,10 @@ void Build100SkullsHintMessage(uint16_t* textId, bool* loadFromMessageTable) { /*french*/ "Yeaaarrgh! Je suis maudit!^Détruit encore %y100 Araignées de la Malédiction%w " "et j'aurai quelque chose à te donner! [[color]]([[1]])%w"); - msg.Replace("[[color]]", Rando::StaticData::RetrieveItem( - RAND_GET_ITEM_LOC(RC_KAK_100_GOLD_SKULLTULA_REWARD)->GetPlacedRandomizerGet()) - .GetColor()); - msg.InsertNames( - { Rando::StaticData::RetrieveItem(RAND_GET_ITEM_LOC(RC_KAK_100_GOLD_SKULLTULA_REWARD)->GetPlacedRandomizerGet()) - .GetName() }); + Rando::Item& item = + Rando::StaticData::RetrieveItem(RAND_GET_ITEM_LOC(RC_KAK_100_GOLD_SKULLTULA_REWARD)->GetPlacedRandomizerGet()); + msg.Replace("[[color]]", item.GetColor()); + msg.InsertNames({ item.GetHint().GetHintMessage().GetForCurrentLanguage() }); msg.AutoFormat(); msg.LoadIntoFont(); *loadFromMessageTable = false; diff --git a/soh/soh/Enhancements/randomizer/hint.cpp b/soh/soh/Enhancements/randomizer/hint.cpp index 8075b72be..47c7b46d9 100644 --- a/soh/soh/Enhancements/randomizer/hint.cpp +++ b/soh/soh/Enhancements/randomizer/hint.cpp @@ -513,17 +513,13 @@ const HintText Hint::GetItemHintText(uint8_t slot, bool mysterious) const { auto ctx = Rando::Context::GetInstance(); RandomizerCheck hintedCheck = locations[slot]; RandomizerGet targetRG = ctx->GetItemLocation(hintedCheck)->GetPlacedRandomizerGet(); - CustomMessage msg; if (mysterious) { return StaticData::hintTextTable[RHT_MYSTERIOUS_ITEM]; - } else if (!ctx->GetOption(RSK_HINT_CLARITY).Is(RO_HINT_CLARITY_AMBIGUOUS) && - targetRG == RG_ICE_TRAP) { // RANDOTODO store in item hint instead of item - msg = CustomMessage({ ctx->overrides[hintedCheck].GetTrickName() }); + } else if (targetRG == RG_ICE_TRAP) { // RANDOTODO store in item hint instead of item + return HintText(CustomMessage({ ctx->overrides[hintedCheck].GetTrickName() })); } else { - msg = ctx->GetItemLocation(hintedCheck)->GetPlacedItem().GetName(); + return ctx->GetItemLocation(hintedCheck)->GetPlacedItem().GetHint(); } - msg = CustomMessage(ctx->GetItemLocation(hintedCheck)->GetPlacedItem().GetArticle()) + msg; - return HintText(msg); } const HintText Hint::GetAreaHintText(uint8_t slot) const { diff --git a/soh/soh/Enhancements/randomizer/item_list.cpp b/soh/soh/Enhancements/randomizer/item_list.cpp index 892cc8ac0..877217606 100644 --- a/soh/soh/Enhancements/randomizer/item_list.cpp +++ b/soh/soh/Enhancements/randomizer/item_list.cpp @@ -1,7 +1,6 @@ #include "soh_assets.h" #include "static_data.h" #include "SeedContext.h" -#include "logic.h" #include "textures/icon_item_24_static/icon_item_24_static.h" #include "textures/icon_item_static/icon_item_static.h" #include "z64object.h"