Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions soh/soh/Enhancements/custom-message/CustomMessageTypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ typedef enum {
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_NEED_SPECIAL_KEY = 0x0204,
TEXT_MASK_SHOP_SIGN = 0x0207,
TEXT_WATERFALL = 0x022D,
TEXT_FROGS_UNDERWATER = 0x022E,
Expand Down
9 changes: 7 additions & 2 deletions soh/soh/Enhancements/randomizer/3drando/hint_list.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2237,6 +2237,11 @@ void StaticData::HintTable_Init() {
/*french*/ "J'ai entendu dire que Ganondorf aurait caché les #Flèches de Lumière# dans #[[1]]#.",
{QM_YELLOW, QM_RED}));

hintTextTable[RHT_BOSS_KEY_HINT] = HintText(CustomMessage("The #boss key# for this door is in #[[1]]#!",
/*german*/ TODO_TRANSLATE,
/*french*/ TODO_TRANSLATE,
{QM_GREEN, QM_RED}));

hintTextTable[RHT_DAMPE_DIARY] = HintText(CustomMessage("Whoever reads this, please enter #[[1]]#. I will let you have my #stretching, shrinking keepsake#.^I'm waiting for you.&--Dampé",
/*german*/ "Wer immer dies liest, der möge #[[1]]# nach meinem #langen, kurzen Schatz# suchen.^Ich warte!&Boris",
/*french*/ "Toi qui lit ce journal, rends-toi dans #[[1]]#. Et peut-être auras-tu droit à mon précieux #trésor#.^Je t'attends...&--Igor",
Expand All @@ -2250,7 +2255,7 @@ void StaticData::HintTable_Init() {
hintTextTable[RHT_SARIA_TALK_HINT] = HintText(CustomMessage("Did you feel the #surge of magic# recently? A mysterious bird told me it came from #[[1]]#.^You should check that place out, @!",
/*german*/ "Hast Du kürzlich den #Magieschub# gespürt? Ein geheimnisvoller Vogel meinte, daß er #[[1]]# am stärksten zu spüren war.^Du solltest Dir diesen Ort mal ansehen, @!",
/*french*/ "As-tu récemment ressenti une vague de #puissance magique#? Un mystérieux hibou m'a dit qu'elle provenait du #[[1]]#.^Tu devrais aller y jeter un coup d'oeil, @!",
{QM_GREEN, QM_RED}));
{QM_GREEN, QM_RED}));

hintTextTable[RHT_SARIA_SONG_HINT] = HintText(CustomMessage("Did you feel the #surge of magic# recently? A mysterious bird told me it came from #[[1]]#.^You should check that place out, @!\x0B",
/*german*/ "Hast Du kürzlich den #Magieschub# gespürt? Ein geheimnisvoller Vogel meinte, daß er #[[1]]# am stärksten zu spüren war.^Du solltest Dir diesen Ort mal ansehen, @!\x0B",
Expand All @@ -2270,7 +2275,7 @@ void StaticData::HintTable_Init() {
hintTextTable[RHT_FISHING_POLE_HINT] = HintText(CustomMessage("^If I remember correctly, I lost it somewhere in #[[1]]#...&Let me know if you find it!",
/*german*/ "Wenn ich mich recht erinnere,&habe ich sie irgendwo&#[[1]]#&verloren...&Sag mir Bescheid, wenn Du sie findest!",
/*french*/ "Si je me souviens bien, il me&semble que je l'ai perdue&quelque part dans&#[[1]]#...^Fais-moi signe si jamais&tu la trouves!",
{QM_RED}));
{QM_RED}));

/*--------------------------
| Static Entrance Hint |
Expand Down
6 changes: 1 addition & 5 deletions soh/soh/Enhancements/randomizer/hint.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -223,10 +223,7 @@ size_t Hint::GetNumberOfMessages() const {
if (StaticData::staticHintInfoMap.contains(ownKey)) {
numMessages = std::max(StaticData::staticHintInfoMap[ownKey].hintKeys.size(), numMessages);
}
if (numMessages == 0) {
numMessages = 1; // RANDOTODO make std::max actually fucking work for 3 arguments
}
return numMessages;
return std::max(numMessages, (size_t)1);
}

const std::vector<std::string> Hint::GetAllMessageStrings(MessageFormat format) const {
Expand All @@ -251,7 +248,6 @@ const HintText Hint::GetHintText(size_t id) const {
switch (hintType) {
case HINT_TYPE_HINT_KEY:
return StaticData::hintTextTable[0];
break;
case HINT_TYPE_TRIAL:
if (ctx->GetTrial(trials[0])->IsRequired()) {
return StaticData::hintTextTable[RHT_TRIAL_ON];
Expand Down
1 change: 1 addition & 0 deletions soh/soh/Enhancements/randomizer/option_descriptions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -704,6 +704,7 @@ void Settings::CreateOptionDescriptions() {
"Talking to the chest game owner after buying a key will tell you the location of Greg the Green Rupee.";
mOptionDescriptions[RSK_LOACH_HINT] = "Talking to the fishing pond owner and asking to talk about something will "
"tell you what's the reward for the Hyrule Loach.";
mOptionDescriptions[RSK_BOSS_KEY_HINT] = "Navi will tell where boss key can be found when prompted at boss door.";
mOptionDescriptions[RSK_SARIA_HINT] = "Talking to Saria either in person or through Saria's Song will tell you the "
"location of a progressive magic meter.";
mOptionDescriptions[RSK_MIDO_HINT] = "Talking to Mido as child will tell you the location of the Kokiri Sword.";
Expand Down
8 changes: 8 additions & 0 deletions soh/soh/Enhancements/randomizer/randomizerTypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -4547,6 +4547,12 @@ typedef enum {
RH_GREG_RUPEE,
RH_ALTAR_CHILD,
RH_ALTAR_ADULT,
RH_FOREST_BOSS_KEY_HINT,
RH_FIRE_BOSS_KEY_HINT,
RH_WATER_BOSS_KEY_HINT,
RH_SPIRIT_BOSS_KEY_HINT,
RH_SHADOW_BOSS_KEY_HINT,
RH_GANONS_BOSS_KEY_HINT,
RH_SARIA_HINT,
RH_MIDO_HINT,
RH_LOACH_HINT,
Expand Down Expand Up @@ -5813,6 +5819,7 @@ typedef enum {
RHT_GANONDORF_HINT_MS_ONLY,
RHT_GANONDORF_HINT_LA_AND_MS,
RHT_SHEIK_HINT_LA_ONLY,
RHT_BOSS_KEY_HINT,
RHT_DAMPE_DIARY,
RHT_GREG_HINT,
RHT_SARIA_TALK_HINT,
Expand Down Expand Up @@ -6282,6 +6289,7 @@ typedef enum {
RSK_TOT_ALTAR_HINT,
RSK_GANONDORF_HINT,
RSK_SHEIK_LA_HINT,
RSK_BOSS_KEY_HINT,
RSK_DAMPES_DIARY_HINT,
RSK_GREG_HINT,
RSK_LOACH_HINT,
Expand Down
43 changes: 16 additions & 27 deletions soh/soh/Enhancements/randomizer/settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1202,6 +1202,7 @@ void Settings::CreateOptions() {
OPT_BOOL(RSK_TOT_ALTAR_HINT, "ToT Altar Hint", {"Off", "On"}, OptionCategory::Setting, CVAR_RANDOMIZER_SETTING("AltarHint"), mOptionDescriptions[RSK_TOT_ALTAR_HINT], WIDGET_CVAR_CHECKBOX, RO_GENERIC_ON, false, nullptr, IMFLAG_INDENT);
OPT_BOOL(RSK_GANONDORF_HINT, "Ganondorf Hint", {"Off", "On"}, OptionCategory::Setting, CVAR_RANDOMIZER_SETTING("GanondorfHint"), mOptionDescriptions[RSK_GANONDORF_HINT], WIDGET_CVAR_CHECKBOX, RO_GENERIC_ON, false, nullptr, IMFLAG_NONE);
OPT_BOOL(RSK_SHEIK_LA_HINT, "Sheik Light Arrow Hint", {"Off", "On"}, OptionCategory::Setting, CVAR_RANDOMIZER_SETTING("SheikLAHint"), mOptionDescriptions[RSK_SHEIK_LA_HINT], WIDGET_CVAR_CHECKBOX, RO_GENERIC_ON, false, nullptr, IMFLAG_NONE);
OPT_BOOL(RSK_BOSS_KEY_HINT, "Boss Door Hints", CVAR_RANDOMIZER_SETTING("BossKeyHint"), mOptionDescriptions[RSK_BOSS_KEY_HINT], IMFLAG_NONE);
OPT_BOOL(RSK_DAMPES_DIARY_HINT, "Dampe's Diary Hint", CVAR_RANDOMIZER_SETTING("DampeHint"), mOptionDescriptions[RSK_DAMPES_DIARY_HINT], IMFLAG_NONE);
OPT_BOOL(RSK_GREG_HINT, "Greg the Green Rupee Hint", CVAR_RANDOMIZER_SETTING("GregHint"), mOptionDescriptions[RSK_GREG_HINT], IMFLAG_NONE);
OPT_BOOL(RSK_LOACH_HINT, "Hyrule Loach Hint", CVAR_RANDOMIZER_SETTING("LoachHint"), mOptionDescriptions[RSK_LOACH_HINT], IMFLAG_NONE);
Expand Down Expand Up @@ -2409,33 +2410,20 @@ void Settings::CreateOptions() {
&mOptionGroups[RSG_MENU_SECTION_TRAPS] },
WidgetContainerType::COLUMN);
mOptionGroups[RSG_MENU_SECTION_STATIC_HINTS] = OptionGroup::SubGroup(
"Static Hints",
{ &mOptions[RSK_TOT_ALTAR_HINT],
&mOptions[RSK_GANONDORF_HINT],
&mOptions[RSK_SHEIK_LA_HINT],
&mOptions[RSK_DAMPES_DIARY_HINT],
&mOptions[RSK_GREG_HINT],
&mOptions[RSK_LOACH_HINT],
&mOptions[RSK_SARIA_HINT],
&mOptions[RSK_MIDO_HINT],
&mOptions[RSK_FROGS_HINT],
&mOptions[RSK_OOT_HINT],
&mOptions[RSK_BIGGORON_HINT],
&mOptions[RSK_BIG_POES_HINT],
&mOptions[RSK_CHICKENS_HINT],
&mOptions[RSK_MALON_HINT],
&mOptions[RSK_HBA_HINT],
&mOptions[RSK_FISHING_POLE_HINT],
&mOptions[RSK_WARP_SONG_HINTS],
&mOptions[RSK_SCRUB_TEXT_HINT],
&mOptions[RSK_MERCHANT_TEXT_HINT],
&mOptions[RSK_KAK_10_SKULLS_HINT],
&mOptions[RSK_KAK_20_SKULLS_HINT],
&mOptions[RSK_KAK_30_SKULLS_HINT],
&mOptions[RSK_KAK_40_SKULLS_HINT],
&mOptions[RSK_KAK_50_SKULLS_HINT],
&mOptions[RSK_KAK_100_SKULLS_HINT],
&mOptions[RSK_MASK_SHOP_HINT] },
"Static Hints", { &mOptions[RSK_TOT_ALTAR_HINT], &mOptions[RSK_GANONDORF_HINT],
&mOptions[RSK_SHEIK_LA_HINT], &mOptions[RSK_BOSS_KEY_HINT],
&mOptions[RSK_DAMPES_DIARY_HINT], &mOptions[RSK_GREG_HINT],
&mOptions[RSK_LOACH_HINT], &mOptions[RSK_SARIA_HINT],
&mOptions[RSK_MIDO_HINT], &mOptions[RSK_FROGS_HINT],
&mOptions[RSK_OOT_HINT], &mOptions[RSK_BIGGORON_HINT],
&mOptions[RSK_BIG_POES_HINT], &mOptions[RSK_CHICKENS_HINT],
&mOptions[RSK_MALON_HINT], &mOptions[RSK_HBA_HINT],
&mOptions[RSK_FISHING_POLE_HINT], &mOptions[RSK_WARP_SONG_HINTS],
&mOptions[RSK_SCRUB_TEXT_HINT], &mOptions[RSK_MERCHANT_TEXT_HINT],
&mOptions[RSK_KAK_10_SKULLS_HINT], &mOptions[RSK_KAK_20_SKULLS_HINT],
&mOptions[RSK_KAK_30_SKULLS_HINT], &mOptions[RSK_KAK_40_SKULLS_HINT],
&mOptions[RSK_KAK_50_SKULLS_HINT], &mOptions[RSK_KAK_100_SKULLS_HINT],
&mOptions[RSK_MASK_SHOP_HINT] },
WidgetContainerType::SECTION, "This setting adds some hints at locations other than Gossip Stones.");
mOptionGroups[RSG_MENU_COLUMN_STATIC_HINTS] =
OptionGroup::SubGroup("", { &mOptionGroups[RSG_MENU_SECTION_STATIC_HINTS] }, WidgetContainerType::COLUMN);
Expand Down Expand Up @@ -2702,6 +2690,7 @@ void Settings::CreateOptions() {
&mOptions[RSK_TOT_ALTAR_HINT],
&mOptions[RSK_GANONDORF_HINT],
&mOptions[RSK_SHEIK_LA_HINT],
&mOptions[RSK_BOSS_KEY_HINT],
&mOptions[RSK_DAMPES_DIARY_HINT],
&mOptions[RSK_GREG_HINT],
&mOptions[RSK_LOACH_HINT],
Expand Down
Loading
Loading