From f35f134c93e55416d6ef3a5b7937e18a08b0cdcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20Dub=C3=A9?= <159546+serprex@users.noreply.github.com> Date: Sun, 9 Aug 2026 22:54:45 +0000 Subject: [PATCH] Fix grammar (#7053) --- soh/soh/Enhancements/Graphics/VisualAgony.cpp | 2 +- soh/soh/Enhancements/Presets/Presets.cpp | 2 +- .../N64WeirdFrames/N64WeirdFrames.cpp | 2 +- .../cosmetics/CosmeticsEditor.cpp | 2 +- soh/soh/Enhancements/debugger/colViewer.cpp | 14 +- .../Enhancements/debugger/debugSaveEditor.cpp | 2 +- .../Enhancements/randomizer/3drando/fill.cpp | 2 +- .../randomizer/3drando/hint_list.cpp | 60 +++---- .../hint_list/hint_list_exclude_dungeon.cpp | 104 ++++++------- .../hint_list/hint_list_exclude_overworld.cpp | 34 ++-- .../randomizer/Messages/ItemMessages.cpp | 5 +- .../randomizer/Messages/MerchantMessages.cpp | 4 +- .../randomizer/Messages/StaticHints.cpp | 4 +- soh/soh/Enhancements/randomizer/Traps.cpp | 4 +- soh/soh/Enhancements/randomizer/fishsanity.h | 4 +- .../dungeons/bottom_of_the_well.cpp | 4 +- .../location_access/dungeons/deku_tree.cpp | 2 +- .../dungeons/dodongos_cavern.cpp | 2 +- .../location_access/dungeons/fire_temple.cpp | 2 +- .../dungeons/shadow_temple.cpp | 4 +- soh/soh/Enhancements/randomizer/logic.cpp | 4 +- .../randomizer/option_descriptions.cpp | 147 +++++++++--------- .../randomizer_entrance_tracker.cpp | 2 +- soh/soh/SohGui/MenuTypes.h | 2 +- soh/soh/SohGui/ResolutionEditor.cpp | 2 +- soh/soh/SohGui/SohMenuDevTools.cpp | 7 +- soh/soh/SohGui/SohMenuEnhancements.cpp | 54 +++---- soh/soh/SohGui/SohMenuRandomizer.cpp | 10 +- soh/soh/SohGui/SohMenuSettings.cpp | 11 +- 29 files changed, 251 insertions(+), 247 deletions(-) diff --git a/soh/soh/Enhancements/Graphics/VisualAgony.cpp b/soh/soh/Enhancements/Graphics/VisualAgony.cpp index 40a05f1a25..a113eb1798 100644 --- a/soh/soh/Enhancements/Graphics/VisualAgony.cpp +++ b/soh/soh/Enhancements/Graphics/VisualAgony.cpp @@ -100,7 +100,7 @@ void DrawVisualAgony(Player* player, double temp) { } if (temp == 0 || temp <= 0.1f) { /*Fail check, it is used to draw off the icon when - link is standing out range but do not refresh unk_6A0. + Link is standing out of range but do not refresh unk_6A0. Also used to make a default value in my case.*/ gDPSetPrimColor(OVERLAY_DISP++, 0, 0, stoneOfAgonyColor.r, stoneOfAgonyColor.g, stoneOfAgonyColor.b, DefaultIconA); diff --git a/soh/soh/Enhancements/Presets/Presets.cpp b/soh/soh/Enhancements/Presets/Presets.cpp index 9e236e4da1..3caa1426c5 100644 --- a/soh/soh/Enhancements/Presets/Presets.cpp +++ b/soh/soh/Enhancements/Presets/Presets.cpp @@ -18,7 +18,7 @@ namespace fs = std::filesystem; /** - * Replace characters to prevent crashes from invalid paths (e.g, "test :)" creating an NTFS Alternate Data Stream + * Replace characters to prevent crashes from invalid paths (e.g., "test :)" creating an NTFS Alternate Data Stream * instead of a regular file). */ static std::string SanitizeFilename(const std::string& name) { diff --git a/soh/soh/Enhancements/Restorations/N64WeirdFrames/N64WeirdFrames.cpp b/soh/soh/Enhancements/Restorations/N64WeirdFrames/N64WeirdFrames.cpp index 6e0efe3b91..d2a83b5305 100644 --- a/soh/soh/Enhancements/Restorations/N64WeirdFrames/N64WeirdFrames.cpp +++ b/soh/soh/Enhancements/Restorations/N64WeirdFrames/N64WeirdFrames.cpp @@ -25,7 +25,7 @@ AnimationHeaderCommon* ResourceMgr_LoadAnimByName(const char* path); // the start of the animation or past the end of it. In either case you add a list of animations' // data that are neighboring before or after the target animation. If more weird frame data is // required then add more of the neighboring animations in ROM. -// TODO use std::array, we don't need the functionality of of std::vector +// TODO use std::array, we don't need the functionality of std::vector static std::vector weirdAnimations{ // For weirdshots. { gPlayerAnim_link_bow_side_walk, diff --git a/soh/soh/Enhancements/cosmetics/CosmeticsEditor.cpp b/soh/soh/Enhancements/cosmetics/CosmeticsEditor.cpp index ad1ba5cfbe..900955157d 100644 --- a/soh/soh/Enhancements/cosmetics/CosmeticsEditor.cpp +++ b/soh/soh/Enhancements/cosmetics/CosmeticsEditor.cpp @@ -502,7 +502,7 @@ void ResetPositionAll() { int hue = 0; -// Runs every frame to update rainbow hue, a potential future optimization is to only run this a once or twice a second +// Runs every frame to update rainbow hue, a potential future optimization is to only run this once or twice a second // and increase the speed of the rainbow hue rotation. void CosmeticsUpdateTick() { int index = 0; diff --git a/soh/soh/Enhancements/debugger/colViewer.cpp b/soh/soh/Enhancements/debugger/colViewer.cpp index 31ee5bf16e..8f2663e359 100644 --- a/soh/soh/Enhancements/debugger/colViewer.cpp +++ b/soh/soh/Enhancements/debugger/colViewer.cpp @@ -159,7 +159,7 @@ void CalcTriNorm(const Vec3f& v1, const Vec3f& v2, const Vec3f& v3, Vec3f& norm) } } -// Various macros used for creating verticies and rendering that aren't in gbi.h +// Various macros used for creating vertices and rendering that aren't in gbi.h #define G_CC_MODULATERGB_PRIM_ENVA PRIMITIVE, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT #define G_CC_PRIMITIVE_ENVA 0, 0, 0, PRIMITIVE, 0, 0, 0, ENVIRONMENT #define qs105(n) ((int16_t)((n)*0x0020)) @@ -216,8 +216,8 @@ void CreateCylinderData() { cylinderGfx.push_back(gsSPEndDisplayList()); } -// This subdivides a face into four tris by placing new verticies at the midpoints of the sides (Like a triforce!), then -// blowing up the verticies so they are on the unit sphere +// This subdivides a face into four tris by placing new vertices at the midpoints of the sides (Like a triforce!), then +// blowing up the vertices so they are on the unit sphere void CreateSphereFace(std::vector>& faces, int32_t v0Index, int32_t v1Index, int32_t v2Index) { size_t nextIndex = sphereVtx.size(); @@ -235,7 +235,7 @@ void CreateSphereFace(std::vector>& faces, in const Vtx& v1 = sphereVtx[v1Index]; const Vtx& v2 = sphereVtx[v2Index]; - // Create 3 new verticies at the midpoints + // Create 3 new vertices at the midpoints Vec3f vs[3] = { Vec3f{ (v0.n.ob[0] + v1.n.ob[0]) / 2.0f, (v0.n.ob[1] + v1.n.ob[1]) / 2.0f, (v0.n.ob[2] + v1.n.ob[2]) / 2.0f }, Vec3f{ (v1.n.ob[0] + v2.n.ob[0]) / 2.0f, (v1.n.ob[1] + v2.n.ob[1]) / 2.0f, (v1.n.ob[2] + v2.n.ob[2]) / 2.0f }, @@ -256,14 +256,14 @@ void CreateSphereFace(std::vector>& faces, in } // Creates a sphere following the idea in here: -// http://blog.andreaskahler.com/2009/06/creating-icosphere-mesh-in-code.html Spcifically, create a icosahedron by +// http://blog.andreaskahler.com/2009/06/creating-icosphere-mesh-in-code.html Specifically, create an icosahedron by // realizing that the points can be placed on 3 rectangles that are on each unit plane. Then, subdividing each face. void CreateSphereData() { std::vector base; float d = (1.0f + sqrtf(5.0f)) / 2.0f; - // Create the 12 starting verticies, 4 on each rectangle + // Create the 12 starting vertices, 4 on each rectangle base.emplace_back(Vec3f({ -1, d, 0 })); base.emplace_back(Vec3f({ 1, d, 0 })); base.emplace_back(Vec3f({ -1, -d, 0 })); @@ -279,7 +279,7 @@ void CreateSphereData() { base.emplace_back(Vec3f({ -d, 0, -1 })); base.emplace_back(Vec3f({ -d, 0, 1 })); - // Normalize verticies so they are on the unit sphere + // Normalize vertices so they are on the unit sphere for (Vec3f& v : base) { float mag = sqrtf(v.x * v.x + v.y * v.y + v.z * v.z); v.x /= mag; diff --git a/soh/soh/Enhancements/debugger/debugSaveEditor.cpp b/soh/soh/Enhancements/debugger/debugSaveEditor.cpp index ab7b68dfee..1296594b8d 100644 --- a/soh/soh/Enhancements/debugger/debugSaveEditor.cpp +++ b/soh/soh/Enhancements/debugger/debugSaveEditor.cpp @@ -1395,7 +1395,7 @@ void DrawFlagArrayWithTooltips(const std::string& name, T& flags, Colors color, ImGui::PopID(); } -// Draw a flag bitfield as an grid of checkboxes +// Draw a flag bitfield as a grid of checkboxes void DrawFlagTableArray16(const FlagTable& flagTable, uint16_t row, uint16_t& flags) { ImGui::PushID((std::to_string(row) + flagTable.name).c_str()); for (int32_t flagIndex = 15; flagIndex >= 0; flagIndex--) { diff --git a/soh/soh/Enhancements/randomizer/3drando/fill.cpp b/soh/soh/Enhancements/randomizer/3drando/fill.cpp index db60f704ef..3267ab61e6 100644 --- a/soh/soh/Enhancements/randomizer/3drando/fill.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/fill.cpp @@ -1281,7 +1281,7 @@ int Fill() { // showItemProgress = false; ctx->playthroughLocations.clear(); ctx->GetEntranceShuffler()->playthroughEntrances.clear(); - RegionTable_Init(); // Reset the world graph to intialize the proper locations + RegionTable_Init(); // Reset the world graph to initialize the proper locations ctx->ItemReset(); // Reset shops incase of shopsanity random ctx->GenerateLocationPool(); GenerateItemPool(); diff --git a/soh/soh/Enhancements/randomizer/3drando/hint_list.cpp b/soh/soh/Enhancements/randomizer/3drando/hint_list.cpp index 0590180dab..41d58d8427 100644 --- a/soh/soh/Enhancements/randomizer/3drando/hint_list.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/hint_list.cpp @@ -72,11 +72,11 @@ void StaticData::HintTable_Init() { /*french*/ "Selon moi, détruire #100 Skulltulas d'or# donne #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/exterminar #100 skulltulas doradas# revela #[[1]]#. {}, - {CustomMessage("They say that #100 bug badges# rewards #[[1]]#.", + {CustomMessage("They say that #100 bug badges# reward #[[1]]#.", /*german*/ "Man erzählt sich, daß die Belohnung für #100 Insektenplaketten# #[[1]]# |sei|seien|.", /*french*/ "Selon moi, #100 écussons# donnent #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/#100 medallas de insectos# otorgan #[[1]]#. - CustomMessage("They say that #100 spider souls# yields #[[1]]#.", + CustomMessage("They say that #100 spider souls# yield #[[1]]#.", /*german*/ "Man erzählt sich, daß #100 Spinnenseelen# #[[1]]# einbrächten.", /*french*/ "Selon moi, #100 âmes d'arachnide# donnent #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/#100 almas de araña# otorgan #[[1]]#. @@ -175,11 +175,11 @@ void StaticData::HintTable_Init() { /*french*/ "Selon moi, détruire #50 Skulltulas d'or# donne #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/exterminar #50 skulltulas doradas# revela #[[1]]#. {}, - {CustomMessage("They say that #50 bug badges# rewards #[[1]]#.", + {CustomMessage("They say that #50 bug badges# reward #[[1]]#.", /*german*/ "Man erzählt sich, daß die Belohnung für #50 Insektenplaketten# #[[1]]# |sei|seien|.", /*french*/ "Selon moi, #50 écussons# donnent #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/#50 medallas de insectos# otorgan #[[1]]#. - CustomMessage("They say that #50 spider souls# yields #[[1]]#.", + CustomMessage("They say that #50 spider souls# yield #[[1]]#.", /*german*/ "Man erzählt sich, daß #50 Spinnenseelen# #[[1]]# einbrächte.", /*french*/ "Selon moi, #50 âmes d'arachnide# donnent #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/#50 almas de araña# otorgan #[[1]]#. @@ -193,11 +193,11 @@ void StaticData::HintTable_Init() { /*french*/ "Selon moi, détruire #40 Skulltulas d'or# donne #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/exterminar #40 skulltulas doradas# revela #[[1]]#. {}, - {CustomMessage("They say that #40 bug badges# rewards #[[1]]#.", + {CustomMessage("They say that #40 bug badges# reward #[[1]]#.", /*german*/ "Man erzählt sich, daß die Belohnung für #40 Insektenplaketten# #[[1]]# |sei|seien|.", /*french*/ "Selon moi, #40 écussons# donnent #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/#40 medallas de insectos# otorgan #[[1]]#. - CustomMessage("They say that #40 spider souls# yields #[[1]]#.", + CustomMessage("They say that #40 spider souls# yield #[[1]]#.", /*german*/ "Man erzählt sich, daß #40 Spinnenseelen# #[[1]]# einbrächte.", /*french*/ "Selon moi, #40 âmes d'arachnide# donnent #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/#40 almas de araña# otorgan #[[1]]#. @@ -211,11 +211,11 @@ void StaticData::HintTable_Init() { /*french*/ "Selon moi, détruire #30 Skulltulas d'or# donne #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/exterminar #30 skulltulas doradas# revela #[[1]]#. {}, - {CustomMessage("They say that #30 bug badges# rewards #[[1]]#.", + {CustomMessage("They say that #30 bug badges# reward #[[1]]#.", /*german*/ "Man erzählt sich, daß die Belohnung für #30 Insektenplaketten# #[[1]]# |sei|seien|.", /*french*/ "Selon moi, #30 écussons# donnent #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/#30 medallas de insectos# otorgan #[[1]]#. - CustomMessage("They say that #30 spider souls# yields #[[1]]#.", + CustomMessage("They say that #30 spider souls# yield #[[1]]#.", /*german*/ "Man erzählt sich, daß #30 Spinnenseelen# #[[1]]# einbrächte.", /*french*/ "Selon moi, #30 âmes d'arachnide# donnent #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/#30 almas de araña# otorgan #[[1]]#. @@ -229,11 +229,11 @@ void StaticData::HintTable_Init() { /*french*/ "Selon moi, détruire #20 Skulltulas d'or# donne #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/exterminar #20 skulltulas doradas# revela #[[1]]#. {}, - {CustomMessage("They say that #20 bug badges# rewards #[[1]]#.", + {CustomMessage("They say that #20 bug badges# reward #[[1]]#.", /*german*/ "Man erzählt sich, daß die Belohnung für #20 Insektenplaketten# #[[1]]# |sei|seien|.", /*french*/ "Selon moi, #20 écussons# donnent #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/#20 medallas de insectos# otorgan #[[1]]#. - CustomMessage("They say that #20 spider souls# yields #[[1]]#.", + CustomMessage("They say that #20 spider souls# yield #[[1]]#.", /*german*/ "Man erzählt sich, daß #20 Spinnenseelen# #[[1]]# einbrächte.", /*french*/ "Selon moi, #20 âmes d'arachnide# donnent #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/#20 almas de araña# otorgan #[[1]]#. @@ -625,12 +625,12 @@ void StaticData::HintTable_Init() { /*french*/ "Selon moi, l'araignée sous #une pierre bleue dans une caverne# a #[[1]]#.", {QM_RED, QM_GREEN})}); // /*spanish*/una Skulltula bajo #bloques temporales de una cueva# otorga #[[1]]#. - hintTextTable[RHT_JABU_JABUS_BELLY_BOOMERANG_CHEST] = HintText(CustomMessage("They say that a school of #stingers swallowed by Jabu-Jabu# guard #[[1]]#.", + hintTextTable[RHT_JABU_JABUS_BELLY_BOOMERANG_CHEST] = HintText(CustomMessage("They say that a school of #stingers swallowed by Jabu-Jabu# guards #[[1]]#.", /*german*/ "Man erzählt sich, daß ein #von Jabu-Jabu verschluckter Rochenschwarm# #[[1]]# bewache.", /*french*/ "Selon moi, les #raies dans Jabu-Jabu# protègent #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/unos #stingers engullidos por Jabu-Jabu# guardan #[[1]]#. {}, - {CustomMessage("They say that a school of #stingers swallowed by a deity# guard #[[1]]#.", + {CustomMessage("They say that a school of #stingers swallowed by a deity# guards #[[1]]#.", /*german*/ "Man erzählt sich, daß ein #von einer Gottheit verschluckter Rochenschwarm# #[[1]]# bewache.", /*french*/ "Selon moi, les #raies dans un gardien# protègent #[[1]]#.", {QM_RED, QM_GREEN})}); // /*spanish*/unos de #stingers engullidos por cierta deidad# guardan #[[1]]#. @@ -1660,7 +1660,7 @@ void StaticData::HintTable_Init() { /*german*/ "Man erzählt sich, daß Basil nicht besonders gut darin ist vorauszuplanen.", /*french*/ "Selon moi, Ingo ne fait pas un très bon geôlier.")); - hintTextTable[RHT_JUNK50] = HintText(CustomMessage("You found a spiritual Stone! By which I mean, I worship Nayru.", + hintTextTable[RHT_JUNK50] = HintText(CustomMessage("You found a Spiritual Stone! By which I mean, I worship Nayru.", /*german*/ "Du hast einen Heiligen Stein gefunden!^Also... eigentlich heißt das nur, daß ich Nayru verehre.", /*french*/ "Vous avez trouvé une Pierre Ancestrale! En effet, je vénère la déesse Hylia.")); @@ -1680,7 +1680,7 @@ void StaticData::HintTable_Init() { /*german*/ "Man erzählt sich, daß die \"Nightly Builds\" instabil sein könnten.", /*french*/ "Selon moi, les \"nightly builds\" peuvent être instables.")); - hintTextTable[RHT_JUNK55] = HintText(CustomMessage("You're playing a Randomizer. I'm randomized!^Here's a random number: #4#.&Enjoy your Randomizer!", + hintTextTable[RHT_JUNK55] = HintText(CustomMessage("You're playing a Randomizer. I'm randomized!^Here's a random number: #4#.&Enjoy your Randomizer!", /*german*/ "Du spielst einen Randomizer. Ich wurde zufällig generiert!^Hier ist eine zufällige Zahl: #4#.&Viel Spaß mit dem Randomizer!", /*french*/ "Tu joues à un randomizer. Je suis aléatoire!^Voici un nombre aléatoire: #4#.&Bonne partie!")); @@ -2208,7 +2208,7 @@ void StaticData::HintTable_Init() { /*french*/ "Selon moi, #[[1]]# a été dissipée par Sheik.", {QM_YELLOW})); // /*spanish*/Según dicen, #[[1]]# se disipó gracias a Sheik. - hintTextTable[RHT_TRIAL_ON] = HintText(CustomMessage("They say that #[[1]]# protects Ganons Tower.", + hintTextTable[RHT_TRIAL_ON] = HintText(CustomMessage("They say that #[[1]]# protects Ganon's Tower.", /*german*/ "Man erzählt sich, daß #[[1]]# den Teufelsturm schütze.", /*french*/ "Selon moi, #[[1]]# protège la Tour de Ganon.", {QM_PINK})); // /*spanish*/Según dicen, #[[1]]# protege la torre de Ganon @@ -2342,7 +2342,7 @@ void StaticData::HintTable_Init() { /*french*/ "Pfeuuh! Tu n'trouveras jamais l'#Epée Kokiri# que j'ai cachée dans #[[1]]#!", {QM_GREEN, QM_RED})); - hintTextTable[RHT_LOACH_HINT] = HintText(CustomMessage("What?^You wanna know about the&%rHyrule Loach%w?^It's a big fish, but it's so rare that I'll give my %g[[1]]%w to anyone who catches it. Seriously!", + hintTextTable[RHT_LOACH_HINT] = HintText(CustomMessage("What?^You wanna know about the&%rHyrule Loach%w?^It's a big fish, but it's so rare that I'll give %g[[1]]%w to anyone who catches it. Seriously!", /*german*/ "Was?^Du willst etwas über die&%rhylianische Forelle%w wissen?&Es ist ein riesiger Fisch,&der unfassbar selten ist!^Wenn Du mir eine bringst, |springt|springen| für Dich&%g[[1]]%w dabei raus.&Ganz im Ernst!", /*french*/ "Quoi?&Tu veux en savoir plus sur le&%rBrochet d'Hyrule%w?^C'est un gros poisson, mais il&est si rare que je donne&%g[[1]]%w&à celui qui l'attrape.^Ouais, j'suis sérieux!", {QM_RED})); @@ -2371,7 +2371,7 @@ void StaticData::HintTable_Init() { {QM_RED, QM_GREEN, QM_GREEN, QM_GREEN}, {}, TEXTBOX_TYPE_WOODEN)); hintTextTable[RHT_HBA_HINT_NOT_ON_HORSE] = HintText(CustomMessage("Hey, rookie!&Come back on your #horse# and take on the #Horseback Archery# challenge!^" - "Impress me with a high score of 1000 to win a #[[1]]# or score 1500 for #[[2]]#!", + "Impress me with a high score of 1000 to win #[[1]]# or score 1500 for #[[2]]#!", /*german*/ "Hey, Kleiner! Das ist die %rArena für Bogenschießen zu Pferde%w.^" "Wenn Du reiten kannst, beeindrucke mich mit #1.000 Punkten# und gewinne #[[1]]#!^Knackst Du #1.500 Punkte# gibt es #[[2]]#!", /*french*/ "Hé, l'nouveau!&Reviens avec ton #cheval# et essaie notre #Terrain d'Archerie Montée#^" @@ -2379,7 +2379,7 @@ void StaticData::HintTable_Init() { {QM_RED, QM_RED, QM_GREEN, QM_GREEN})); hintTextTable[RHT_HBA_HINT_INITIAL] = HintText(CustomMessage("Hey, rookie!&Want to take on the #Horseback Archery# challenge?^" - "Impress me with a high score of 1000 to win a #[[1]]# or score 1500 for #[[2]]#!\x0B", + "Impress me with a high score of 1000 to win #[[1]]# or score 1500 for #[[2]]#!\x0B", /*german*/ "Hey, Kleiner! Wie wäre es mit einer Runde %rBogenschießen zu Pferde%w!?^" "Wenn Du mich mit #1.000 Punkten# beeindruckst, erhältst Du #[[1]]#!^Knackst Du #1.500 Punkte# gibt es #[[2]]#!\x0B", /*french*/ "Hé, l'nouveau!&Tu veux essayer notre #Terrain d'Archerie Montée#^" @@ -2395,52 +2395,52 @@ void StaticData::HintTable_Init() { {QM_RED, QM_GREEN})); hintTextTable[RHT_MALON_HINT_HOW_IS_EPONA] = HintText(CustomMessage("@! You should come back with Epona and try to beat my time on the #Obstacle Course#!^" - "If you beat my time, I'll give you my favourite #cow# Elsie and her toy #[[1]]#!", + "If you beat my time, I'll give you my favorite #cow# Elsie and her toy, #[[1]]#!", /*german*/ "@! Warum kommst Du nicht mit Epona zurück und versuchst Dich an dem #Hindernisparcours#?^" "Gelingt es Dir den Rekord zu brechen, bekommst Du meine #Lieblingskuh# Elsie^und ihr Lieblingsspielzeug, #[[1]]#!", /*french*/ "@! Tu devrais revenir avec Epona et essayer de battre mon temps sur le #Parcours d'Obstacles#!^" - "Si tu bats mon temps, je te donnerai ma vache préférée, Elsie, ainsi que son jouet #[[1]]#!", + "Si tu bats mon temps, je te donnerai ma vache préférée, Elsie, ainsi que son jouet, #[[1]]#!", {QM_RED, QM_BLUE, QM_GREEN})); - hintTextTable[RHT_MALON_HINT_OBSTICLE_COURSE] = HintText(CustomMessage("How about trying the #Obstacle Course?# If you beat my time I'll let you keep my favourite #cow# Elsie and her toy #[[1]]#!^" + hintTextTable[RHT_MALON_HINT_OBSTICLE_COURSE] = HintText(CustomMessage("How about trying the #Obstacle Course?# If you beat my time I'll let you keep my favorite #cow# Elsie and her toy, #[[1]]#!^" "Challenge the #Obstacle Course?#\x1B#Let's go&No thanks#", /*german*/ "Warum versuchst Du Dich nicht mit Epona an dem #Hindernisparcours#?^" "Gelingt es Dir den Rekord zu brechen, bekommst Du meine #Lieblingskuh# Elsie^und ihr Lieblingsspielzeug, #[[1]]#!^" "Wie sieht's aus?&Möchtest Du es versuchen?\x1B#Ja!&Nein!#", - /*french*/ "Que dirais-tu d'essayer le #Parcours d'Obstacles#? Si tu bats mon temps, je te donnerai ma vache préférée, Elsie, et son jouet #[[1]]#!^" + /*french*/ "Que dirais-tu d'essayer le #Parcours d'Obstacles#? Si tu bats mon temps, je te donnerai ma vache préférée, Elsie, et son jouet, #[[1]]#!^" "Tenter le #Parcours d'Obstacles#?\x1B#Allons-y&Non merci#", {QM_RED, QM_BLUE, QM_GREEN, QM_RED, QM_GREEN})); hintTextTable[RHT_MALON_HINT_TURNING_EVIL] = HintText(CustomMessage("@? Is that you? ^If I ran the ranch, I'd build an #Obstacle Course#, and whoever gets the best time would win a #cow#!^" - "Elsie loves sharing her #[[1]]# with new people, It'll be fun!^...But Ingo won't let me...", + "Elsie loves sharing #[[1]]# with new people, it'll be fun!^...But Ingo won't let me...", /*german*/ "@? Bist Du das?^Wenn ich die Farm leiten würde, würde ich einen #Hindernisparcours# bauen, und wer die beste Zeit schafft, gewinnt eine #Kuh#!^" "Elsie würde es lieben, #[[1]]# mit neuen Leuten zu teilen, es würde Spaß machen!^...Aber Basil läßt mich nicht...", /*french*/ "@? C'est toi?^Si je dirigeais le ranch, je construirais un #Parcours d'Obstacles#, et celui qui obtiendrait le meilleur temps gagnerait une #vache#!^" - "Elsie adore partager son #[[1]]# avec de nouvelles personnes, ce serait amusant!^... Mais Ingo ne me laisse pas faire...", + "Elsie adore partager #[[1]]# avec de nouvelles personnes, ce serait amusant!^... Mais Ingo ne me laisse pas faire...", {QM_RED, QM_BLUE, QM_GREEN})); hintTextTable[RHT_MALON_HINT_INGO_TEMPTED] = HintText(CustomMessage("@! You should come back in the morning and try to beat my time on the #Obstacle Course#!^" - "If you beat my time, I'll give you my favourite #cow# Elsie and her toy #[[1]]#!", + "If you beat my time, I'll give you my favorite #cow# Elsie and her toy, #[[1]]#!", /*german*/ "@! Warum kommst Du nicht morgens wieder und versuchst Dich an dem #Hindernisparcours#?^" "Gelingt es Dir den Rekord zu brechen, bekommst Du meine #Lieblingskuh# Elsie^und ihr Lieblingsspielzeug, #[[1]]#!", /*french*/ "@! Tu devrais revenir le matin et essayer de battre mon temps sur le #Parcours d'Obstacles#!^" - "Si tu bats mon temps, je te donnerai ma vache préférée, Elsie, ainsi que son jouet #[[1]]#!", + "Si tu bats mon temps, je te donnerai ma vache préférée, Elsie, ainsi que son jouet, #[[1]]#!", {QM_RED, QM_BLUE, QM_GREEN})); - hintTextTable[RHT_CHICKENS_HINT] = HintText(CustomMessage("You! Please!&Bring my Cucco's back to my pen!&I'll give you my #[[1]]#!", + hintTextTable[RHT_CHICKENS_HINT] = HintText(CustomMessage("You! Please!&Bring my Cuccos back to my pen!&I'll give you #[[1]]#!", /*german*/ "Was soll ich nur tun?! Bitte!&Hilf mir, die Hühner wieder einzusammeln!^Ich gebe Dir auch #[[1]]#, wenn du mir hilfst!", /*french*/ "Mes Cocottes sont perdues!&Dépose toutes les cocottes dans cet enclos!&Je te donnerai #[[1]]#!", {QM_GREEN})); - hintTextTable[RHT_BIG_POES_HINT] = HintText(CustomMessage("You have #\x1E\x01 Poe Points#! Reach 1000 and you'll get a #[[1]]#!", + hintTextTable[RHT_BIG_POES_HINT] = HintText(CustomMessage("You have #\x1E\x01 Poe Points#! Reach 1000 and you'll get #[[1]]#!", /*german*/ "Du hast nun #\x1E\x01 Punkte# auf dem Nachtschwärmer-Konto gut!^" "Hast Du %y1.000 Punkte%w gesammelt dann |wartet|warten| #[[1]]# auf Dich! Hehehe...", /*french*/ "Tu as #\x1E\x01 Points d'Âme#! Atteins 1000 et tu recevras #[[1]]#!", {QM_YELLOW, QM_GREEN})); - hintTextTable[RHT_BIGGORON_HINT] = HintText(CustomMessage("Arrrrrre you here to claim my finest #[[1]]#? Shoooooow me your #Claim Check#.", + hintTextTable[RHT_BIGGORON_HINT] = HintText(CustomMessage("Arrrrrre you here to claim my finest work, #[[1]]#? Shoooooow me your #Claim Check#.", /*german*/ "Arrrrr, bist Du hier, um etwas von mir schmieden zu lassen? Zeig mir das #Zertifikat# und #[[1]]# |gehört|gehören| Dir!", - /*french*/ "Eeeeeees-tu ici pour réclaaaaaamer mon plus beau #[[1]]#? Moooooontre-moi ton #Certificat#.", + /*french*/ "Eeeeeees-tu ici pour réclaaaaaamer ma meilleure oeuvre, #[[1]]#? Moooooontre-moi ton #Certificat#.", {QM_GREEN, QM_RED})); hintTextTable[RHT_FROGS_HINT] = HintText(CustomMessage("Some frogs holding #[[1]]# are looking at you from underwater...", 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 dccadfcfd8..b4fb04ca70 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 @@ -395,12 +395,12 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*french*/ "Selon moi, un #organe descendant# mène à #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, un #ser movedizo entre paredes# conduce a #[[1]]#. - hintTextTable[RHT_JABU_JABUS_BELLY_MQ_BASEMENT_NEAR_SWITCHES_CHEST] = HintText(CustomMessage("They say that a #pair of digested cows# hold #[[1]]#.", + hintTextTable[RHT_JABU_JABUS_BELLY_MQ_BASEMENT_NEAR_SWITCHES_CHEST] = HintText(CustomMessage("They say that a #pair of digested cows# holds #[[1]]#.", /*german*/ "Man erzählt sich, daß ein #Paar verdauter Kühe# #[[1]]# hielte.", /*french*/ "Selon moi, #deux boeufs digérés# détiennent #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, un #par de digeridas vacas# otorgan #[[1]]#. - hintTextTable[RHT_JABU_JABUS_BELLY_MQ_BASEMENT_NEAR_VINES_CHEST] = HintText(CustomMessage("They say that a #pair of digested cows# hold #[[1]]#.", + hintTextTable[RHT_JABU_JABUS_BELLY_MQ_BASEMENT_NEAR_VINES_CHEST] = HintText(CustomMessage("They say that a #pair of digested cows# holds #[[1]]#.", /*german*/ "Man erzählt sich, daß ein #Paar verdauter Kühe# #[[1]]# hielte.", /*french*/ "Selon moi, #deux boeufs digérés# détiennent #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, un #par de digeridas vacas# otorgan #[[1]]#. @@ -410,27 +410,27 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*french*/ "Selon moi, le #cadeau des dernières vaches# estomacales est #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, las #vacas al final# de la tripa de cierta deidad otorgan #[[1]]#. - hintTextTable[RHT_JABU_JABUS_BELLY_MQ_FALLING_LIKE_LIKE_ROOM_CHEST] = HintText(CustomMessage("They say that #cows protected by falling monsters# in a deity's belly guard hide #[[1]]#.", + hintTextTable[RHT_JABU_JABUS_BELLY_MQ_FALLING_LIKE_LIKE_ROOM_CHEST] = HintText(CustomMessage("They say that #cows protected by falling monsters# in a deity's belly hide #[[1]]#.", /*german*/ "Man erzählt sich, daß #von fallenden Monstern bewachte Kühe# im Bauche einer Gottheit #[[1]]# verstecken würden.", /*french*/ "Selon moi, des #vaches protégées par des monstres tombants# cachent #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, unas #vacas custodiadas por monstruos del techo# de la tripa de cierta deidad otorgan #[[1]]#. - hintTextTable[RHT_JABU_JABUS_BELLY_MQ_BOOMERANG_ROOM_SMALL_CHEST] = HintText(CustomMessage("They say that a school of #stingers swallowed by Jabu-Jabu# guard #[[1]]#.", + hintTextTable[RHT_JABU_JABUS_BELLY_MQ_BOOMERANG_ROOM_SMALL_CHEST] = HintText(CustomMessage("They say that a school of #stingers swallowed by Jabu-Jabu# guards #[[1]]#.", /*german*/ "Man erzählt sich, daß von #Jabu-Jabu verschluckte Rochen# #[[1]]# bewachen würden.", /*french*/ "Selon moi, les #raies avallées par Jabu-Jabu# protègent #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/ Según dicen, unos #stingers engullidos por Jabu-Jabu# guardan #[[1]]#. {}, { - CustomMessage("They say that a school of #stingers swallowed by a deity# guard #[[1]]#.", + CustomMessage("They say that a school of #stingers swallowed by a deity# guards #[[1]]#.", /*german*/ "Man erzählt sich, daß von #einer Gottheit verschluckte Rochen# #[[1]]# bewachen würden.", /*french*/ "Selon moi, les #raies avallées par le gardien# protègent #[[1]]#.", {QM_RED, QM_GREEN})}); // /*spanish*/ Según dicen, unos #stingers engullidos por cierta deidad# guardan #[[1]]#. - hintTextTable[RHT_JABU_JABUS_BELLY_MQ_BOOMERANG_CHEST] = HintText(CustomMessage("They say that a school of #stingers swallowed by Jabu-Jabu# guard #[[1]]#.", + hintTextTable[RHT_JABU_JABUS_BELLY_MQ_BOOMERANG_CHEST] = HintText(CustomMessage("They say that a school of #stingers swallowed by Jabu-Jabu# guards #[[1]]#.", /*german*/ "Man erzählt sich, daß von #Jabu-Jabu verschluckte Rochen# #[[1]]# bewachen würden.", /*french*/ "Selon moi, les #raies avallées par Jabu-Jabu# protègent #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/ Según dicen, unos #stingers engullidos por Jabu-Jabu# guardan #[[1]]#. {}, { - CustomMessage("They say that a school of #stingers swallowed by a deity# guard #[[1]]#.", + CustomMessage("They say that a school of #stingers swallowed by a deity# guards #[[1]]#.", /*german*/ "Man erzählt sich, daß von #einer Gottheit verschluckte Rochen# #[[1]]# bewachen würden.", /*french*/ "Selon moi, les #raies avallées par le gardien# protègent #[[1]]#.", {QM_RED, QM_GREEN})}); // /*spanish*/ Según dicen, unos #stingers engullidos por cierta deidad# guardan #[[1]]#. @@ -485,7 +485,7 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*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]]#.", + hintTextTable[RHT_POT_JABU_JABUS_BELLY] = HintText(CustomMessage("They say that a #pot in Jabu-Jabu's Belly# contains #[[1]]#.", /*german*/ "Man erzählt sich, daß ein #Krug in Jabu-Jabus Bauch# #[[1]]# enthielte.", /*french*/ "Selon moi, une #jarre dans le Ventre de Jabu-Jabu# contient #[[1]]#.", {QM_RED, QM_GREEN})); @@ -497,19 +497,19 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*german*/ "Man erzählt sich, daß sich #nahe des zentralen Aufzugs in Jabu-Jabus Bauch# #[[1]]# |befände|befänden|.", /*french*/ "Selon moi, près d'un #ascenceur central dans le Ventre de Jabu-Jabu# se trouve #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_JABU_JABUS_BELLY_GRASS] = HintText(CustomMessage("They say that some #grass in Jabu Jabu's Belly# hides #[[1]]#.", + hintTextTable[RHT_JABU_JABUS_BELLY_GRASS] = HintText(CustomMessage("They say that some #grass in Jabu-Jabu's Belly# hides #[[1]]#.", /*german*/ "Man erzählt sich, daß etwas #Gras in Jabu-Jabus Bauch# #[[1]]# verstecke.", /*french*/ "Selon moi, de l'#herbe dans le Ventre de Jabu-Jabu# cache #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_CRATE_JABU_JABU] = HintText(CustomMessage("They say that a #crate in Jabu Jabu's Belly# contains #[[1]]#.", + hintTextTable[RHT_CRATE_JABU_JABU] = HintText(CustomMessage("They say that a #crate in Jabu-Jabu's Belly# contains #[[1]]#.", /*german*/ "Man erzählt sich, daß eine #Kiste in Jabu-Jabus Bauch# #[[1]]# enthielte.", /*french*/ "Selon moi, une #caisse dans le Ventre de Jabu-Jabu# contient #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_JABU_BOULDER] = HintText(CustomMessage("They say that a #boulder in Jabu Jabu's Belly# contains #[[1]]#.", + hintTextTable[RHT_JABU_BOULDER] = HintText(CustomMessage("They say that a #boulder in Jabu-Jabu's Belly# contains #[[1]]#.", /*german*/ TODO_TRANSLATE, /*french*/ TODO_TRANSLATE, {QM_RED, QM_GREEN})); - hintTextTable[RHT_WONDER_ITEM_JABU_JABU] = HintText(CustomMessage("They say that a #wonder item in Jabu Jabu's Belly# hides #[[1]]#.", + hintTextTable[RHT_WONDER_ITEM_JABU_JABU] = HintText(CustomMessage("They say that a #wonder item in Jabu-Jabu's Belly# hides #[[1]]#.", /*german*/ "Man erzählt sich, daß sich ein #Wunder-Gegenstand in Jabu-Jabus Bauch# #[[1]]# verstecke.", /*french*/ "Selon moi, un #objet merveilleux dans le Ventre de Jabu-Jabu# cache #[[1]]#.", {QM_RED, QM_GREEN})); @@ -521,7 +521,7 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*french*/ "Selon moi, sur l'#arbre dans le Temple de la Forêt# gît #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, sobre un #árbol del Templo del Bosque# yace #[[1]]#. - hintTextTable[RHT_FOREST_TEMPLE_FIRST_STALFOS_CHEST] = HintText(CustomMessage("They say that #defeating enemies beneath a falling ceiling# in Forest Temple yields #[[1]]#.", + hintTextTable[RHT_FOREST_TEMPLE_FIRST_STALFOS_CHEST] = HintText(CustomMessage("They say that #defeating enemies beneath a falling ceiling# in the Forest Temple yields #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Besiegen von Gegnern, unter einer fallenden Decke# im Waldtempel, #[[1]]# einbrächte.", /*french*/ "Selon moi, #deux squelettes# dans le Temple de la Forêt protègent #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, #derrotar enemigos caídos de lo alto# del Templo del Bosque revela #[[1]]#. @@ -531,7 +531,7 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*french*/ "Selon moi, le #coffre submergé dans la forêt# contient #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, un #sumergido cofre en lo profundo del bosque# contiene #[[1]]#. - hintTextTable[RHT_FOREST_TEMPLE_MAP_CHEST] = HintText(CustomMessage("They say that a #fiery skull# in Forest Temple guards #[[1]]#.", + hintTextTable[RHT_FOREST_TEMPLE_MAP_CHEST] = HintText(CustomMessage("They say that a #fiery skull# in the Forest Temple guards #[[1]]#.", /*german*/ "Man erzählt sich, daß ein #feuriger Schädel# im Waldtempel #[[1]]# bewache.", /*french*/ "Selon moi, le #crâne enflammé# dans le Temple de la Forêt protège #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, una #ardiente calavera# del Templo del Bosque esconde #[[1]]#. @@ -606,7 +606,7 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*french*/ "Selon moi, sur l'#arbre dans le Temple de la Forêt# gît #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, sobre un #árbol del Templo del Bosque# yace #[[1]]#. - hintTextTable[RHT_FOREST_TEMPLE_MQ_WOLFOS_CHEST] = HintText(CustomMessage("They say that #defeating enemies beneath a falling ceiling# in Forest Temple yields #[[1]]#.", + hintTextTable[RHT_FOREST_TEMPLE_MQ_WOLFOS_CHEST] = HintText(CustomMessage("They say that #defeating enemies beneath a falling ceiling# in the Forest Temple yields #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Besiegen von Gegnern, unter einer fallenden Decke# im Waldtempel, #[[1]]# einbrächte.", /*french*/ "Selon moi, #deux squelettes# dans le Temple de la Forêt protègent #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, #derrotar enemigos caídos de lo alto# del Templo del Bosque revela #[[1]]#. @@ -730,12 +730,12 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*german*/ "Man erzählt sich, daß eine #Spinne, auf einem Vorsprung# im Waldtempel, #[[1]]# besäße.", /*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 the Forest Temple uncovers a spider with #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Entleeren eines Brunnens# im Waldtempel, eine Spinne enthülle, welche #[[1]]# besäße.", /*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]]#.", + hintTextTable[RHT_POT_FOREST_TEMPLE] = HintText(CustomMessage("They say that a #pot in the Forest Temple# contains #[[1]]#.", /*german*/ "Man erzählt sich, daß ein #Krug im Waldtempel# #[[1]]# enthielte.", /*french*/ "Selon moi, une #jarre dans le Temple de la Fôret# contient #[[1]]#.", {QM_RED, QM_GREEN})); @@ -743,7 +743,7 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*german*/ "Man erzählt sich, daß ein #Herz im Waldtempel# #[[1]]# verstecke.", /*french*/ "Selon moi, un #coeur dans le Temple de la Fôret# cache #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_CRATE_FOREST_TEMPLE] = HintText(CustomMessage("They say that a #crate in Forest Temple# contains #[[1]]#.", + hintTextTable[RHT_CRATE_FOREST_TEMPLE] = HintText(CustomMessage("They say that a #crate in the Forest Temple# contains #[[1]]#.", /*german*/ "Man erzählt sich, daß eine #Kiste im Waldtempel# #[[1]]# enthielte.", /*french*/ "Selon moi, une #caisse dans le Temple de la Fôret# contient #[[1]]#.", {QM_RED, QM_GREEN})); @@ -790,7 +790,7 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*french*/ "Selon moi, le #Goron caché près du labyrinthe# a #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, un #goron escondido tras un laberinto# guarda #[[1]]#. - hintTextTable[RHT_FIRE_TEMPLE_BOULDER_MAZE_SHORTCUT_CHEST] = HintText(CustomMessage("They say that a #blocked path# in Fire Temple holds #[[1]]#.", + hintTextTable[RHT_FIRE_TEMPLE_BOULDER_MAZE_SHORTCUT_CHEST] = HintText(CustomMessage("They say that a #blocked path# in the Fire Temple holds #[[1]]#.", /*german*/ "Man erzählt sich, daß ein #blockierter Pfad# im Feuertempel #[[1]]# enthielte.", /*french*/ "Selon moi, un #sol fragile dans le Temple du Feu# contient #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, en un #camino bloqueado# del Templo del Fuego yace #[[1]]#. @@ -825,7 +825,7 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*french*/ "Selon moi, le #Danse-Flamme au coeur du volcan# a #[[1]]#.", {QM_RED, QM_GREEN})}); // /*spanish*/ Según dicen, el #Bailafuego en lo profundo del volcán# esconde #[[1]]#. - hintTextTable[RHT_FIRE_TEMPLE_MQ_COMPASS_CHEST] = HintText(CustomMessage("They say that a #blocked path# in Fire Temple holds #[[1]]#.", + hintTextTable[RHT_FIRE_TEMPLE_MQ_COMPASS_CHEST] = HintText(CustomMessage("They say that a #blocked path# in the Fire Temple holds #[[1]]#.", /*german*/ "Man erzählt sich, daß ein #blockierter Pfad# im Feuertempel #[[1]]# enthielte.", /*french*/ "Selon moi, le #chemin scellé# dans le Temple du Feu contient #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, en un #camino bloqueado# del Templo del Fuego yace #[[1]]#. @@ -935,7 +935,7 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*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]]#.", + hintTextTable[RHT_POT_FIRE_TEMPLE] = HintText(CustomMessage("They say that a #pot in the Fire Temple# contains #[[1]]#.", /*german*/ "Man erzählt sich, daß ein #Krug im Feuertempel# #[[1]]# enthielte.", /*french*/ "Selon moi, une #jarre dans le Temple du Feu# contient #[[1]]#.", {QM_RED, QM_GREEN})); @@ -951,11 +951,11 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*german*/ "Man erzählt sich, daß das #Anrufen der Sonne, hinter dem Thron eines Ritters in einem Vulkan#, #[[1]]# enthülle.", /*french*/ "Selon moi, #appeler le soleil derrière le trône d’un chevalier dans un volcan# révèle #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_CRATE_FIRE_TEMPLE] = HintText(CustomMessage("They say that a #crate in Fire Temple# contains #[[1]]#.", + hintTextTable[RHT_CRATE_FIRE_TEMPLE] = HintText(CustomMessage("They say that a #crate in the Fire Temple# contains #[[1]]#.", /*german*/ "Man erzählt sich, daß eine #Kiste im Feuertempel# #[[1]]# enthielte.", /*french*/ "Selon moi, une #caisse dans le Temple du Feu# contient #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_WONDER_ITEM_FIRE_TEMPLE] = HintText(CustomMessage("They say that a #wonder item in Fire Temple# hides #[[1]]#.", + hintTextTable[RHT_WONDER_ITEM_FIRE_TEMPLE] = HintText(CustomMessage("They say that a #wonder item in the Fire Temple# hides #[[1]]#.", /*german*/ "Man erzählt sich, daß sich ein #Wunder-Gegenstand im Feuertempel# #[[1]]# verstecke.", /*french*/ "Selon moi, un #objet merveilleux dans le Temple du Feu# cache #[[1]]#.", {QM_RED, QM_GREEN})); @@ -1086,7 +1086,7 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*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]]#.", + hintTextTable[RHT_POT_WATER_TEMPLE] = HintText(CustomMessage("They say that a #pot in the Water Temple# contains #[[1]]#.", /*german*/ "Man erzählt sich, daß ein #Krug im Wassertempel# #[[1]]# enthielte.", /*french*/ "Selon moi, une #jarre dans le Temple de l'Eau# contient #[[1]]#.", {QM_RED, QM_GREEN})); @@ -1106,11 +1106,11 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*german*/ "Man erzählt sich, daß das #Anrufen der Sonne, vor einem Duell mit seinem Schatten#, #[[1]]# enthülle.", /*french*/ "Selon moi, #appeler le soleil avant un duel avec son ombre# révèle #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_CRATE_WATER_TEMPLE] = HintText(CustomMessage("They say that a #crate in Water Temple# contains #[[1]]#.", + hintTextTable[RHT_CRATE_WATER_TEMPLE] = HintText(CustomMessage("They say that a #crate in the Water Temple# contains #[[1]]#.", /*german*/ "Man erzählt sich, daß eine #Kiste im Wassertempel# #[[1]]# enthielte.", /*french*/ "Selon moi, une #caisse dans le Temple de l'Eau# contient #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_WONDER_ITEM_WATER_TEMPLE] = HintText(CustomMessage("They say that a #wonder item in Water Temple# hides #[[1]]#.", + hintTextTable[RHT_WONDER_ITEM_WATER_TEMPLE] = HintText(CustomMessage("They say that a #wonder item in the Water Temple# hides #[[1]]#.", /*german*/ "Man erzählt sich, daß sich ein #Wunder-Gegenstand im Wassertempel# #[[1]]# verstecke.", /*french*/ "Selon moi, un #objet merveilleux dans le Temple de l'Eau# cache #[[1]]#.", {QM_RED, QM_GREEN})); @@ -1347,7 +1347,7 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*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]]#.", + hintTextTable[RHT_POT_SPIRIT_TEMPLE] = HintText(CustomMessage("They say that a #pot in the Spirit Temple# contains #[[1]]#.", /*german*/ "Man erzählt sich, daß ein #Krug im Geistertempel# #[[1]]# enthielte.", /*french*/ "Selon moi, une #jarre dans le Temple de l'Esprit# contient #[[1]]#.", {QM_RED, QM_GREEN})); @@ -1359,7 +1359,7 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*german*/ "Man erzählt sich, daß sich bewacht von einem #Ring der Flammen#, im Geistertempel #[[1]]# |befände|befänden|.", /*french*/ "Selon moi, protégé par un #cercle de flammes# dans le Temple de l'Esprit se trouve #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_SPIRIT_TEMPLE_BOULDER_ROOM_SUN_FAIRY] = HintText(CustomMessage("They say that #calling the sun past rolling boulders in Spirit Temple# reveals #[[1]]#.", + hintTextTable[RHT_SPIRIT_TEMPLE_BOULDER_ROOM_SUN_FAIRY] = HintText(CustomMessage("They say that #calling the sun past rolling boulders in the Spirit Temple# reveals #[[1]]#.", /*german*/ TODO_TRANSLATE, /*french*/ TODO_TRANSLATE, {QM_RED, QM_GREEN})); @@ -1367,7 +1367,7 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*german*/ TODO_TRANSLATE, /*french*/ TODO_TRANSLATE, {QM_RED, QM_GREEN})); - hintTextTable[RHT_CRATE_SPIRIT_TEMPLE] = HintText(CustomMessage("They say that a #crate in Spirit Temple# contains #[[1]]#.", + hintTextTable[RHT_CRATE_SPIRIT_TEMPLE] = HintText(CustomMessage("They say that a #crate in the Spirit Temple# contains #[[1]]#.", /*german*/ "Man erzählt sich, daß eine #Kiste im Geistertempel# #[[1]]# enthielte.", /*french*/ "Selon moi, une #caisse dans le Temple de l'Esprit# contient #[[1]]#.", {QM_RED, QM_GREEN})); @@ -1375,11 +1375,11 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*german*/ TODO_TRANSLATE, /*french*/ TODO_TRANSLATE, {QM_RED, QM_GREEN})); - hintTextTable[RHT_SIGN_SPIRIT_TEMPLE] = HintText(CustomMessage("They say that #reading a statue in Spirit Temple# reveals #[[1]]#.", + hintTextTable[RHT_SIGN_SPIRIT_TEMPLE] = HintText(CustomMessage("They say that #reading a statue in the Spirit Temple# reveals #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Lesen einer Statue im Geistertempel# #[[1]]# enthülle.", /*french*/ "Selon moi, #lire une statue dans le Temple de l'Esprit# révèle #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_WONDER_ITEM_SPIRIT_TEMPLE] = HintText(CustomMessage("They say that a #wonder item in Spirit Temple# hides #[[1]]#.", + hintTextTable[RHT_WONDER_ITEM_SPIRIT_TEMPLE] = HintText(CustomMessage("They say that a #wonder item in the Spirit Temple# hides #[[1]]#.", /*german*/ "Man erzählt sich, daß sich ein #Wunder-Gegenstand im Geistertempel# #[[1]]# verstecke.", /*french*/ "Selon moi, un #objet merveilleux dans le Temple de l'Esprit# cache #[[1]]#.", {QM_RED, QM_GREEN})); @@ -1491,7 +1491,7 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*french*/ "Selon moi, les #faucheurs danseurs# du Temple de l'Ombre protègent #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, las #giratorias guadañas# protegen #[[1]]#. - hintTextTable[RHT_SHADOW_TEMPLE_MQ_BEAMOS_SILVER_RUPEES_CHEST] = HintText(CustomMessage("They say that #collecting rupees in a vast cavern# with the Shadow Temple unveils #[[1]]#.", + hintTextTable[RHT_SHADOW_TEMPLE_MQ_BEAMOS_SILVER_RUPEES_CHEST] = HintText(CustomMessage("They say that #collecting rupees in a vast cavern# within the Shadow Temple unveils #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Sammeln von Rubinen in einer riesigen Kaverne# im Schattentempel #[[1]]# offenbaren würde.", /*french*/ "Selon moi, les #pièces argentées dans le Temple de l'Ombre# révèlent #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, hacerte con las #rupias en una gran caverna# del Templo de las Sombras revela #[[1]]#. @@ -1626,7 +1626,7 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*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]]#.", + hintTextTable[RHT_POT_SHADOW_TEMPLE] = HintText(CustomMessage("They say that a #pot in the Shadow Temple# contains #[[1]]#.", /*german*/ "Man erzählt sich, daß ein #Krug im Schattentempel# #[[1]]# enthielte.", /*french*/ "Selon moi, une #jarre dans le Temple de l'Ombre# contient #[[1]]#.", {QM_RED, QM_GREEN})); @@ -1634,27 +1634,27 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*german*/ "Man erzählt sich, daß ein #Herz im Schattentempel# #[[1]]# verstecke.", /*french*/ "Selon moi, un #coeur dans le Temple de l'Ombre# cache #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_SHADOW_TEMPLE_BEAMOS_STORM_FAIRY] = HintText(CustomMessage("They say that an #calling the rain for a sentry guarding a house of the dead# reveals #[[1]]#.", + hintTextTable[RHT_SHADOW_TEMPLE_BEAMOS_STORM_FAIRY] = HintText(CustomMessage("They say that #calling the rain for a sentry guarding a house of the dead# reveals #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Anrufen des Regens, nahe eines Wachpostens des Hauses der Toten#, #[[1]]# enthülle.", /*french*/ "Selon moi, #appeler la pluie pour une sentinelle gardant une maison des morts# révèle #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_SHADOW_TEMPLE_PIT_STORM_FAIRY] = HintText(CustomMessage("They say that an #calling the rain on a platform suspended above a bottomless pit# reveals #[[1]]#.", + hintTextTable[RHT_SHADOW_TEMPLE_PIT_STORM_FAIRY] = HintText(CustomMessage("They say that #calling the rain on a platform suspended above a bottomless pit# reveals #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Anrufen des Regens, auf einer Plattform, welche über einer bodenlosen Grube schwebt#, #[[1]]# enthülle.", /*french*/ "Selon moi, #appeler la pluie sur une plateforme suspendue au-dessus d’un gouffre sans fond# révèle #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_SHADOW_TEMPLE_WIND_HINT_SUN_FAIRY] = HintText(CustomMessage("They say that an #calling the sun near an invisible chest guarded by the dead# reveals #[[1]]#.", + hintTextTable[RHT_SHADOW_TEMPLE_WIND_HINT_SUN_FAIRY] = HintText(CustomMessage("They say that #calling the sun near an invisible chest guarded by the dead# reveals #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Anrufen der Sonne, nahe einer von Toten bewachten unsichtbaren Truhe#, #[[1]]# enthülle.", /*french*/ "Selon moi, #appeler le soleil près d’un coffre invisible gardé par les morts# révèle #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_CRATE_SHADOW_TEMPLE] = HintText(CustomMessage("They say that a #crate in Shadow Temple# contains #[[1]]#.", + hintTextTable[RHT_CRATE_SHADOW_TEMPLE] = HintText(CustomMessage("They say that a #crate in the Shadow Temple# contains #[[1]]#.", /*german*/ "Man erzählt sich, daß eine #Kiste im Schattentempel# #[[1]]# enthielte.", /*french*/ "Selon moi, une #caisse dans le Temple de l'Ombre# contient #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_SIGN_SHADOW_TEMPLE] = HintText(CustomMessage("They say that #reading a sign in Shadow Temple# reveals #[[1]]#.", + hintTextTable[RHT_SIGN_SHADOW_TEMPLE] = HintText(CustomMessage("They say that #reading a sign in the Shadow Temple# reveals #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Lesen eines Schildes im Schattentempel# #[[1]]# enthülle.", /*french*/ "Selon moi, #lire un panneau dans le Temple de l'Ombre# révèle #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_WONDER_ITEM_SHADOW_TEMPLE] = HintText(CustomMessage("They say that a #wonder item in Shadow Temple# hides #[[1]]#.", + hintTextTable[RHT_WONDER_ITEM_SHADOW_TEMPLE] = HintText(CustomMessage("They say that a #wonder item in the Shadow Temple# hides #[[1]]#.", /*german*/ "Man erzählt sich, daß sich ein #Wunder-Gegenstand im Schattentempel# #[[1]]# verstecke.", /*french*/ "Selon moi, un #objet merveilleux dans le Temple de l'Ombre# cache #[[1]]#.", {QM_RED, QM_GREEN})); @@ -1776,7 +1776,7 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*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]]#.", + hintTextTable[RHT_POT_BOTTOM_OF_THE_WELL] = HintText(CustomMessage("They say that a #pot in the Bottom of the Well# contains #[[1]]#.", /*german*/ "Man erzählt sich, daß ein #Krug auf dem Grund des Brunnens# #[[1]]# enthielte.", /*french*/ "Selon moi, une #jarre dans le Puits# contient #[[1]]#.", {QM_RED, QM_GREEN})); @@ -1788,15 +1788,15 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*german*/ "Man erzählt sich, daß ein #im Boden versteckter Pfad# im Brunnen #[[1]]# enthielte.", /*french*/ "Selon moi, un #passage caché sous le sol# dans le puits mène à #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_BOTTOM_OF_THE_WELL_BASEMENT_SUN_FAIRY] = HintText(CustomMessage("They say that an #calling the sun a dead end# within the well reveals #[[1]]#.", + hintTextTable[RHT_BOTTOM_OF_THE_WELL_BASEMENT_SUN_FAIRY] = HintText(CustomMessage("They say that #calling the sun in a dead end# within the well reveals #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Anrufen der Sonne in einer Sackgasse# innerhalb des Brunnens #[[1]]# enthülle.", /*french*/ "Selon moi, #appeler le soleil dans une impasse# à l’intérieur du puits révèle #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_BOTTOM_OF_THE_WELL_MQ_CELL_SUN_FAIRY] = HintText(CustomMessage("They say that an #calling the sun in an empty cell# within the well reveals #[[1]]#.", + hintTextTable[RHT_BOTTOM_OF_THE_WELL_MQ_CELL_SUN_FAIRY] = HintText(CustomMessage("They say that #calling the sun in an empty cell# within the well reveals #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Anrufen der Sonne in einer leeren Zelle# innerhalb des Brunnens #[[1]]# enthülle.", /*french*/ "Selon moi, #appeler le soleil dans une cellule vide# à l’intérieur du puits révèle #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_BOTTOM_OF_THE_WELL_MQ_BASEMENT_SUN_FAIRY] = HintText(CustomMessage("They say that an #calling the sun a dead end# within the well reveals #[[1]]#.", + hintTextTable[RHT_BOTTOM_OF_THE_WELL_MQ_BASEMENT_SUN_FAIRY] = HintText(CustomMessage("They say that #calling the sun in a dead end# within the well reveals #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Anrufen der Sonne in einer Sackgasse# innerhalb des Brunnens #[[1]]# enthülle.", /*french*/ "Selon moi, #appeler le soleil dans une impasse# à l’intérieur du puits révèle #[[1]]#.", {QM_RED, QM_GREEN})); @@ -1804,7 +1804,7 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*german*/ "Man erzählt sich, daß etwas #Gras auf dem Grund des Brunnens# #[[1]]# verstecke.", /*french*/ "Selon moi, de l'#herbe dans le Puits# cache #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_BOTW_BOULDER] = HintText(CustomMessage("They say that a #boulder in Bottom of the Well# contains #[[1]]#.", + hintTextTable[RHT_BOTW_BOULDER] = HintText(CustomMessage("They say that a #boulder in the Bottom of the Well# contains #[[1]]#.", /*german*/ TODO_TRANSLATE, /*french*/ TODO_TRANSLATE, {QM_RED, QM_GREEN})); @@ -1885,11 +1885,11 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*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]]#.", + hintTextTable[RHT_POT_ICE_CAVERN] = HintText(CustomMessage("They say that a #pot in the Ice Cavern# contains #[[1]]#.", /*german*/ "Man erzählt sich, daß ein #Krug in der Eishöhle# #[[1]]# enthielte.", /*french*/ "Selon moi, une #jarre dans la Caverne Polaire# contient #[[1]]#.", { QM_RED, QM_GREEN })); - hintTextTable[RHT_ICE_CAVERN_HEART] = HintText(CustomMessage("They say that atop on a #frozen pillar# lies #[[1]]#.", + hintTextTable[RHT_ICE_CAVERN_HEART] = HintText(CustomMessage("They say that atop a #frozen pillar# lies #[[1]]#.", /*german*/ "Man erzählt sich, daß auf einer #gefrorenen Säule# #[[1]]# |läge|lägen|.", /*french*/ "Selon moi, le dessus d'un #pilier de glace# cache #[[1]]#.", {QM_RED, QM_GREEN})); @@ -2092,23 +2092,23 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*french*/ "Selon moi, #derrière un bloc argent# dans le Gymnase Gerudo gît #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, una #hazaña de fuerza# premia a las bandidas con #[[1]]#. - hintTextTable[RHT_GERUDO_TRAINING_GROUNDS_HEART] = HintText(CustomMessage("They say that a watching a #trial with Dinolfos# is #[[1]]#.", + hintTextTable[RHT_GERUDO_TRAINING_GROUNDS_HEART] = HintText(CustomMessage("They say that watching a #trial with Dinolfos# reveals #[[1]]#.", /*german*/ "Man erzählt sich, daß einer #Prüfung mit Dinodorus# zuzuschauen #[[1]]# enthülle.", /*french*/ "Selon moi, dans #une épreuve avec un Dinolfos# révèle #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_CRATE_GERUDO_TRAINING_GROUND] = HintText(CustomMessage("They say that a #crate in Gerudo Training Ground# contains #[[1]]#.", + hintTextTable[RHT_CRATE_GERUDO_TRAINING_GROUND] = HintText(CustomMessage("They say that a #crate in the Gerudo Training Ground# contains #[[1]]#.", /*german*/ "Man erzählt sich, daß eine #Kiste in der Gerudo-Trainingsarena# #[[1]]# enthielte.", /*french*/ "Selon moi, une #caisse dans le Gymnase Gerudo# contient #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_WONDER_ITEM_GERUDO_TRAINING_GROUND] = HintText(CustomMessage("They say that a #wonder item in Gerudo Training Ground# hides #[[1]]#.", + hintTextTable[RHT_WONDER_ITEM_GERUDO_TRAINING_GROUND] = HintText(CustomMessage("They say that a #wonder item in the Gerudo Training Ground# hides #[[1]]#.", /*german*/ "Man erzählt sich, daß sich ein #Wunder-Gegenstand in der Gerudo-Trainingsarena# #[[1]]# verstecke.", /*french*/ "Selon moi, un #objet merveilleux dans le Gymnase Gerudo# cache #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_GERUDO_TRAINING_GROUND_ICICLE] = HintText(CustomMessage("They say that #breaking an icicle in in Gerudo Training Ground# reveals #[[1]]#.", + hintTextTable[RHT_GERUDO_TRAINING_GROUND_ICICLE] = HintText(CustomMessage("They say that #breaking an icicle in the Gerudo Training Ground# reveals #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Zerschlagen eines Eiszapfens in der Gerudo-Trainingsarena# #[[1]]# enthülle.", /*french*/ "Selon moi, #briser un stalactite de glace dans le Gymnase Gerudo# révèle #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_GERUDO_TRAINING_GROUND_RED_ICE] = HintText(CustomMessage("They say that #melting red ice in Gerudo Training Ground# gives #[[1]]#.", + hintTextTable[RHT_GERUDO_TRAINING_GROUND_RED_ICE] = HintText(CustomMessage("They say that #melting red ice in the Gerudo Training Ground# gives #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Schmelzen von rotem Eis in der Gerudo-Trainingsarena# #[[1]]# gäbe.", /*french*/ "Selon moi, #faire fondre la glace rouge dans le Gymnase Gerudo# donne #[[1]]#.", {QM_RED, QM_GREEN})); @@ -2329,7 +2329,7 @@ void StaticData::HintTable_Init_Exclude_Dungeon() { /*german*/ "Man erzählt sich, daß das #Zerschlagen eines Eiszapfens Ganons Schloß# #[[1]]# enthülle.", /*french*/ "Selon moi, #briser un stalactite de glace dans le Château de Ganon# révèle #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_GANONS_CASTLE_RED_ICE] = HintText(CustomMessage("They say that #melting red ice in a Ganon's Castle# gives #[[1]]#.", + hintTextTable[RHT_GANONS_CASTLE_RED_ICE] = HintText(CustomMessage("They say that #melting red ice in Ganon's Castle# gives #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Schmelzen von rotem Eis in Ganons Schloß# #[[1]]# gäbe.", /*french*/ "Selon moi, #faire fondre la glace rouge dans le Château de Ganon# donne #[[1]]#.", {QM_RED, QM_GREEN})); // clang-format on 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 6ae98cae7d..e9d5a567a0 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 @@ -171,7 +171,7 @@ void StaticData::HintTable_Init_Exclude_Overworld() { /*french*/ "Selon moi, la #grotte dans le labyrinthe sylvestre# contient #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, bajo un #hoyo de un laberinto forestal# yace #[[1]]#. - hintTextTable[RHT_DMT_STORMS_GROTTO_CHEST] = HintText(CustomMessage("They say that #hole flooded with rain on a mountain# holds #[[1]]#.", + hintTextTable[RHT_DMT_STORMS_GROTTO_CHEST] = HintText(CustomMessage("They say that a #hole flooded with rain on a mountain# holds #[[1]]#.", /*german*/ "Man erzählt sich, daß ein #durch Regen geflutetes Erdloch eines Berges# #[[1]]# enthielte.", /*french*/ "Selon moi, la #grotte inondée de pluie sur la montagne# contient #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, bajo un #hoyo de una montaña inundado de lluvia# yace #[[1]]#. @@ -294,7 +294,7 @@ void StaticData::HintTable_Init_Exclude_Overworld() { /*german*/ "Man erzählt sich, daß das #Fischen im Teich# #[[1]]# enthülle.", /*french*/ "Selon moi, #aller à l'étang# révèle #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_LH_HYRULE_LOACH] = HintText(CustomMessage("They say that #fishing the hyrule loach# will give you #[[1]]#.", + hintTextTable[RHT_LH_HYRULE_LOACH] = HintText(CustomMessage("They say that #fishing the Hyrule Loach# will give you #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Fischen der hylianischen Forelle# #[[1]]# einbrächte.", /*french*/ "Selon moi, #pêcher le brochet Hylien# vous donnera #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/ Según dicen, si #pescas a la Locha de Hyrule# encontrarás #[[1]]#. @@ -350,7 +350,7 @@ void StaticData::HintTable_Init_Exclude_Overworld() { /*french*/ "Selon moi, les #amoureux canins# trouveront #[[1]]#.", {QM_RED, QM_GREEN})}); // /*spanish*/ Según dicen, los #amantes caninos# encontrarán #[[1]]#. - hintTextTable[RHT_LW_OCARINA_MEMORY_GAME] = HintText(CustomMessage("They say that #playing an Ocarina in Lost Woods# is rewarded with #[[1]]#.", + hintTextTable[RHT_LW_OCARINA_MEMORY_GAME] = HintText(CustomMessage("They say that #playing an Ocarina in the Lost Woods# is rewarded with #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Spielen der Okarina in den verlorenen Wäldern# #[[1]]# gewähre.", /*french*/ "Selon moi, #jouer l'ocarina dans les Bois Perdus# donne #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/ Según dicen, #tocar la ocarina en el Bosque Perdido# otorga #[[1]]#. @@ -359,7 +359,7 @@ void StaticData::HintTable_Init_Exclude_Overworld() { /*german*/ "Man erzählt sich, daß der Preis für eine Partie #Simon sagt# #[[1]]# |sei|seien|.", /*french*/ "Selon moi, la #récompense de Jean Dit# est #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/ Según dicen, #repetir ciertas melodías# otorga #[[1]]#. - CustomMessage("They say that a #child sing-a-long# holds #[[1]]#.", + CustomMessage("They say that a #child sing-along# holds #[[1]]#.", /*german*/ "Man erzählt sich, daß die #jungen Flötisten# #[[1]]# besäßen.", /*french*/ "Selon moi, les #jeunes flûtistes# donnent #[[1]]#.", {QM_RED, QM_GREEN})}); // /*spanish*/ Según dicen, #tocar junto a otros# otorga #[[1]]#. @@ -369,11 +369,11 @@ void StaticData::HintTable_Init_Exclude_Overworld() { /*french*/ "Selon moi, détruire #10 Skulltulas d'or# donne #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/ Según dicen, #exterminar 10 skulltulas doradas# revela #[[1]]#. {}, { - CustomMessage("They say that #10 bug badges# rewards #[[1]]#.", + CustomMessage("They say that #10 bug badges# reward #[[1]]#.", /*german*/ "Man erzählt sich, daß die Belohnung für #10 Insektenplaketten# #[[1]]# |sei|seien|.", /*french*/ "Selon moi, #10 écussons# donnent #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/ Según dicen, #10 medallas de insectos# otorgan #[[1]]#. - CustomMessage("They say that #10 spider souls# yields #[[1]]#.", + CustomMessage("They say that #10 spider souls# yield #[[1]]#.", /*german*/ "Man erzählt sich, daß #10 Spinnenseelen# #[[1]]# einbrächten.", /*french*/ "Selon moi, #10 âmes# donnent #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/ Según dicen, #10 almas de araña# otorgan #[[1]]#. @@ -547,7 +547,7 @@ void StaticData::HintTable_Init_Exclude_Overworld() { /*french*/ "Selon moi, #haut perché dans le moulin# gît #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, al #borde de un molino# yace #[[1]]#. - hintTextTable[RHT_GRAVEYARD_DAMPE_RACE_FREESTANDING_POH] = HintText(CustomMessage("They say that #dead Dampe's second# prize is #[[1]]#.", + hintTextTable[RHT_GRAVEYARD_DAMPE_RACE_FREESTANDING_POH] = HintText(CustomMessage("They say that #dead Dampé's second prize# is #[[1]]#.", /*german*/ "Man erzählt sich, daß der #zweite Preis des toten Boris# #[[1]]# |sei|seien|.", /*french*/ "Selon moi, la #deuxième course d'Igor# donne #[[1]]#.", {QM_RED, QM_GREEN}), // /*spanish*/ Según dicen, el segundo premio de #la carrera de Dampé# se trata de #[[1]]#. @@ -627,7 +627,7 @@ void StaticData::HintTable_Init_Exclude_Overworld() { /*french*/ "Selon moi, les #geôliers Gerudo# détiennent #[[1]]#.", {QM_RED, QM_GREEN}));//TODO_TRANSLATE update to match // /*spanish*/ Según dicen, #derrotar a las guardas Gerudo# revela #[[1]]#. - hintTextTable[RHT_TH_DEAD_END_CARPENTER] = HintText(CustomMessage("They say that #defeating the Gerudo in a Dead End# reveals #[[1]]#.", + hintTextTable[RHT_TH_DEAD_END_CARPENTER] = HintText(CustomMessage("They say that #defeating the Gerudo in a dead end# reveals #[[1]]#.", /*german*/ "Man erzählt sich, daß das #Besiegen der Gerudo-Wachen# #[[1]]# enthüllen würde.",//TODO_TRANSLATE update to match /*french*/ "Selon moi, les #geôliers Gerudo# détiennent #[[1]]#.", {QM_RED, QM_GREEN}));//TODO_TRANSLATE update to match // /*spanish*/ Según dicen, #derrotar a las guardas Gerudo# revela #[[1]]#. @@ -842,7 +842,7 @@ void StaticData::HintTable_Init_Exclude_Overworld() { /*french*/ "Selon moi, une #Skulltula sur le mur d'un centre de recherche# a #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, la noche revela una #Skulltula junto a un lago# que otorga #[[1]]#. - hintTextTable[RHT_LH_GS_LAB_CRATE] = HintText(CustomMessage("They say that a spider deed underwater in a #lab crate# holds #[[1]]#.", + hintTextTable[RHT_LH_GS_LAB_CRATE] = HintText(CustomMessage("They say that a spider hidden underwater in a #lab crate# holds #[[1]]#.", /*german*/ "Man erzählt sich, daß eine Spinne in einer #Laborkiste# unter Wasser #[[1]]# besäße.", /*french*/ "Selon moi, une #Skulltula dans une boîte au fond d'une cuve d'eau# a #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ Según dicen, una #Skulltula bajo la sumergida caja de un laboratorio# otorga #[[1]]#. @@ -1500,7 +1500,7 @@ void StaticData::HintTable_Init_Exclude_Overworld() { /*german*/ "Man erzählt sich, daß eine #Vase im Kokiri-Wald# #[[1]]# enthielte.", //TODO_TRANSLATE update to match /*french*/ "Selon moi, une #jarre dans la Fôret Kokiri# contient #[[1]]#.", {QM_RED, QM_GREEN})); //TODO_TRANSLATE update to match - hintTextTable[RHT_POT_KNOW_IT_ALL] = HintText(CustomMessage("They say that a #know-it-all bother's pot# contains #[[1]]#.", + hintTextTable[RHT_POT_KNOW_IT_ALL] = HintText(CustomMessage("They say that a #know-it-all brother's pot# contains #[[1]]#.", /*german*/ "Man erzählt sich, daß eine #Vase im Kokiri-Wald# #[[1]]# enthielte.", //TODO_TRANSLATE update to match /*french*/ "Selon moi, une #jarre dans la Fôret Kokiri# contient #[[1]]#.", {QM_RED, QM_GREEN})); //TODO_TRANSLATE update to match @@ -1512,11 +1512,11 @@ void StaticData::HintTable_Init_Exclude_Overworld() { hintTextTable[RHT_TH_KITCHEN_POT_2] = HintText(CustomMessage("They say that a #Hideout's Kitchen pot# contains #[[1]]#.", {QM_RED, QM_GREEN}));//TODO_TRANSLATE - hintTextTable[RHT_TH_1_TORCH_CELL_RIGHT_POT] = HintText(CustomMessage("They say that the #thieve's right pot, watched by a single torch# contains #[[1]]#.", {QM_RED, QM_GREEN}));//TODO_TRANSLATE + hintTextTable[RHT_TH_1_TORCH_CELL_RIGHT_POT] = HintText(CustomMessage("They say that the #thieves' right pot, watched by a single torch# contains #[[1]]#.", {QM_RED, QM_GREEN}));//TODO_TRANSLATE - hintTextTable[RHT_TH_1_TORCH_CELL_MID_POT] = HintText(CustomMessage("They say that the #thieve's middle pot, watched by a single torch# contains #[[1]]#.", {QM_RED, QM_GREEN}));//TODO_TRANSLATE + hintTextTable[RHT_TH_1_TORCH_CELL_MID_POT] = HintText(CustomMessage("They say that the #thieves' middle pot, watched by a single torch# contains #[[1]]#.", {QM_RED, QM_GREEN}));//TODO_TRANSLATE - hintTextTable[RHT_TH_1_TORCH_CELL_LEFT_POT] = HintText(CustomMessage("They say that the #thieve's left pot, watched by a single torch# contains #[[1]]#.", {QM_RED, QM_GREEN}));//TODO_TRANSLATE + hintTextTable[RHT_TH_1_TORCH_CELL_LEFT_POT] = HintText(CustomMessage("They say that the #thieves' left pot, watched by a single torch# contains #[[1]]#.", {QM_RED, QM_GREEN}));//TODO_TRANSLATE hintTextTable[RHT_TH_STEEP_SLOPE_RIGHT_POT] = HintText(CustomMessage("They say that a #Gerudo pot, on the right of a sloped corner# contains #[[1]]#.", {QM_RED, QM_GREEN}));//TODO_TRANSLATE @@ -1556,7 +1556,7 @@ void StaticData::HintTable_Init_Exclude_Overworld() { /*german*/ "Man erzählt sich, daß ein #Krug in Kakariko# #[[1]]# enthielte.", /*french*/ "Selon moi, une #jarre dans le Village de Cocorico# contient #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_POT_DAMPE] = HintText(CustomMessage("They say that a #pot in gravekeeper's tomb# contains #[[1]]#.", + hintTextTable[RHT_POT_DAMPE] = HintText(CustomMessage("They say that a #pot in the gravekeeper's tomb# contains #[[1]]#.", //TODO_TRANSLATE check these to make sure they reference dampe's tomb not the graveyard area /*german*/ "Man erzählt sich, daß ein #Krug auf dem Friedhof# #[[1]]# enthielte.", /*french*/ "Selon moi, une #jarre dans le Cimetière# contient #[[1]]#.", {QM_RED, QM_GREEN})); @@ -1625,7 +1625,7 @@ void StaticData::HintTable_Init_Exclude_Overworld() { /*german*/ "Man erzählt sich, daß innerhalb eines #Grabes eines leichtfüßigen Geistes# #[[1]]# |läge|lägen|.", /*french*/ "Selon moi, dans la #tombe d'un esprit à pieds rapides# se trouve #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ - hintTextTable[RHT_GERUDO_VALLEY_GROTTO_RUPEE] = HintText(CustomMessage("They say that an Octarok in an #underground spring# guards #[[1]]#.", + hintTextTable[RHT_GERUDO_VALLEY_GROTTO_RUPEE] = HintText(CustomMessage("They say that an Octorok in an #underground spring# guards #[[1]]#.", /*german*/ "Man erzählt sich, daß ein Oktorok in einer #untergründigen Quelle# #[[1]]# bewache.", /*french*/ "Selon moi, un Octrocher dans une #source souterraine# garde #[[1]]#.", {QM_RED, QM_GREEN})); // /*spanish*/ @@ -2441,7 +2441,7 @@ void StaticData::HintTable_Init_Exclude_Overworld() { /*german*/ "Man erzählt sich, daß sich ein #Wunder-Gegenstand im Grab des Totengräbers# #[[1]]# verstecke.", /*french*/ "Selon moi, un #objet merveilleux dans la tombe du fossoyeur# cache #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_WONDER_ITEM_DEATH_MOUNTAIN_CRATER] = HintText(CustomMessage("They say that a #wonder item in Death Mountain's Crater# hides #[[1]]#.", + hintTextTable[RHT_WONDER_ITEM_DEATH_MOUNTAIN_CRATER] = HintText(CustomMessage("They say that a #wonder item in Death Mountain Crater# hides #[[1]]#.", /*german*/ "Man erzählt sich, daß sich ein #Wunder-Gegenstand im Todeskrater# #[[1]]# verstecke.", /*french*/ "Selon moi, un #objet merveilleux sur le Mont du Péril# cache #[[1]]#.", {QM_RED, QM_GREEN})); @@ -2461,7 +2461,7 @@ void StaticData::HintTable_Init_Exclude_Overworld() { /*german*/ "Man erzählt sich, daß sich ein #Wunder-Gegenstand in der Gerudo-Festung# #[[1]]# verstecke.", /*french*/ "Selon moi, un #objet merveilleux dans la Forteresse Gerudo# cache #[[1]]#.", {QM_RED, QM_GREEN})); - hintTextTable[RHT_WONDER_ITEM_THIEVES_HIDEOUT] = HintText(CustomMessage("They say that a #wonder item in Thieve's Hideout# hides #[[1]]#.", + hintTextTable[RHT_WONDER_ITEM_THIEVES_HIDEOUT] = HintText(CustomMessage("They say that a #wonder item in Thieves' Hideout# hides #[[1]]#.", /*german*/ "Man erzählt sich, daß sich ein #Wunder-Gegenstand im Versteck der Diebe# #[[1]]# verstecke.", /*french*/ "Selon moi, un #objet merveilleux dans a Cachette des Voleurs# cache #[[1]]#.", {QM_RED, QM_GREEN})); diff --git a/soh/soh/Enhancements/randomizer/Messages/ItemMessages.cpp b/soh/soh/Enhancements/randomizer/Messages/ItemMessages.cpp index 9ac6b09c16..0f48d7740e 100644 --- a/soh/soh/Enhancements/randomizer/Messages/ItemMessages.cpp +++ b/soh/soh/Enhancements/randomizer/Messages/ItemMessages.cpp @@ -136,8 +136,7 @@ void BuildTriforceMessage(CustomMessage& msg) { void BuildCustomItemMessage(Player* player, CustomMessage& msg) { int16_t rgid; - msg = CustomMessage("You found [[article]][[color]][[name]]%w!", - "Du erhältst [[article]][[color]][[name]]%w gefunden!", + msg = CustomMessage("You found [[article]][[color]][[name]]%w!", "Du hast [[article]][[color]][[name]]%w gefunden!", "Vous avez trouvé [[article]][[color]][[name]]%w!", TEXTBOX_TYPE_BLUE); if (player->getItemEntry.objectId != OBJECT_INVALID) { rgid = player->getItemEntry.getItemId; @@ -243,7 +242,7 @@ void BuildMapMessage(uint16_t* textId, bool* loadFromMessageTable) { auto ctx = OTRGlobals::Instance->gRandoContext; CustomMessage msg = CustomMessage("You found the %g[[name]]%w! [[typeHint]]", "Du erhältst das %g[[name]]%w! [[typeHint]]", - "Vous ebtenez %g[[name]]%w! [[typeHint]]", TEXTBOX_TYPE_BLUE); + "Vous obtenez %g[[name]]%w! [[typeHint]]", TEXTBOX_TYPE_BLUE); int sceneNum = -1; switch (itemEntry.getItemId) { case RG_DEKU_TREE_MAP: diff --git a/soh/soh/Enhancements/randomizer/Messages/MerchantMessages.cpp b/soh/soh/Enhancements/randomizer/Messages/MerchantMessages.cpp index 378ce71c51..51398de1b3 100644 --- a/soh/soh/Enhancements/randomizer/Messages/MerchantMessages.cpp +++ b/soh/soh/Enhancements/randomizer/Messages/MerchantMessages.cpp @@ -128,8 +128,8 @@ void BuildCarpetGuyMessage(uint16_t* textId, bool* loadFromMessageTable) { void BuildCarpetGuyFailToBuyMessage(uint16_t* textId, bool* loadFromMessageTable) { CustomMessage msg = - CustomMessage("I'm sorry I can't sell you these fine specimens, they need an %rexperienced owner%w.^" - "Come back when you have had %gBombchus%w of your own."); + CustomMessage("I'm sorry, I can't sell you these fine specimens. They need an %rexperienced owner%w.^" + "Come back when you have %gBombchus%w of your own."); msg.AutoFormat(); msg.LoadIntoFont(); *loadFromMessageTable = false; diff --git a/soh/soh/Enhancements/randomizer/Messages/StaticHints.cpp b/soh/soh/Enhancements/randomizer/Messages/StaticHints.cpp index b15386fe6d..169c16882d 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) { } Rando::Item& item = Rando::StaticData::RetrieveItem(RAND_GET_ITEM_LOC(rc)->GetPlacedRandomizerGet()); CustomMessage msg = CustomMessage("Yeaaarrgh! I'm cursed!!^Please save me by destroying %y[[d]] Spiders of the " - "Curse%w and I will give you my [[color]][[1]]%w!", + "Curse%w and I will give you [[color]][[1]]%w!", /*german*/ "Yeaaarrgh! Ich bin verflucht!^Bitte rette mich, indem Du %y[[d]] Skulltulas%w " "zerstörst und ich werde Dir dafür [[color]][[1]]%w geben!", @@ -157,7 +157,7 @@ void BuildSkulltulaPeopleMessage(uint16_t* textId, bool* loadFromMessageTable) { void Build100SkullsHintMessage(uint16_t* textId, bool* loadFromMessageTable) { CustomMessage msg = CustomMessage("Yeaaarrgh! I'm cursed!!^Please save me by destroying %y100 Spiders of the " - "Curse%w and I will give you my [[color]][[1]]%w!", + "Curse%w and I will give you [[color]][[1]]%w!", /*german*/ "Yeaaarrgh! Ich bin verflucht!^Bitte rette mich, indem Du %y100 Skulltulas%w " "zerstörst und ich werde Dir dafür [[color]][[1]]%w geben!", diff --git a/soh/soh/Enhancements/randomizer/Traps.cpp b/soh/soh/Enhancements/randomizer/Traps.cpp index fbee975f07..f69d4a4bec 100644 --- a/soh/soh/Enhancements/randomizer/Traps.cpp +++ b/soh/soh/Enhancements/randomizer/Traps.cpp @@ -1118,7 +1118,7 @@ static void InitTrickNames() { // TODO_TRANSALTE { Text{ "Fortress of Winds Small Key", "Fortress of Winds Small Key", "Fortress of Winds Small Key" }, Text{ "a ", "une ", "einen " } }, - { Text{ "Thieve's Town Small Key", "Thieve's Town Small Key", "Thieve's Town Small Key" }, + { Text{ "Thieves' Town Small Key", "Thieves' Town Small Key", "Thieves' Town Small Key" }, Text{ "a ", "une ", "einen " } }, { Text{ "Fortress Centrum Small Key", "Fortress Centrum Small Key", "Fortress Centrum Small Key" }, Text{ "a ", "une ", "einen " } }, @@ -1216,7 +1216,7 @@ static void InitTrickNames() { // TODO_TRANSALTE { Text{ "Fortress of Winds Key Ring", "Fortress of Winds Key Ring", "Fortress of Winds Key Ring" }, Text{ "the ", "le ", "den " } }, - { Text{ "Thieve's Town Key Ring", "Thieve's Town Key Ring", "Thieve's Town Key Ring" }, + { Text{ "Thieves' Town Key Ring", "Thieves' Town Key Ring", "Thieves' Town Key Ring" }, Text{ "the ", "le ", "den " } }, { Text{ "Fortress Centrum Key Ring", "Fortress Centrum Key Ring", "Fortress Centrum Key Ring" }, Text{ "the ", "le ", "den " } }, diff --git a/soh/soh/Enhancements/randomizer/fishsanity.h b/soh/soh/Enhancements/randomizer/fishsanity.h index 88538badb9..8f5255807d 100644 --- a/soh/soh/Enhancements/randomizer/fishsanity.h +++ b/soh/soh/Enhancements/randomizer/fishsanity.h @@ -200,9 +200,9 @@ bool Randomizer_GetOverworldFishShuffled(); bool Randomizer_IsAdultPond(); /// Custom shadow draw function to add effect to uncollected fish void Fishsanity_DrawEffShadow(Actor* actor, Lights* lights, PlayState* play); -/// Overriden actor draw function for bottleable fish +/// Overridden actor draw function for bottleable fish void Fishsanity_DrawEnFish(struct Actor* actor, struct PlayState* play); -/// Overriden actor draw function for the fishing pond +/// Overridden actor draw function for the fishing pond void Fishsanity_DrawFishing(struct Actor* actor, struct PlayState* play); void Fishsanity_OpenGreyscaleColor(PlayState* play, Color_RGB8* color, int16_t frameOffset); void Fishsanity_CloseGreyscaleColor(PlayState* play); diff --git a/soh/soh/Enhancements/randomizer/location_access/dungeons/bottom_of_the_well.cpp b/soh/soh/Enhancements/randomizer/location_access/dungeons/bottom_of_the_well.cpp index 5ed22840e9..64080e953b 100644 --- a/soh/soh/Enhancements/randomizer/location_access/dungeons/bottom_of_the_well.cpp +++ b/soh/soh/Enhancements/randomizer/location_access/dungeons/bottom_of_the_well.cpp @@ -9,7 +9,7 @@ void RegionTable_Init_BottomOfTheWell() { // Vanilla/MQ Decider areaTable[RR_BOTW_ENTRYWAY] = Region("Bottom of the Well Entryway", SCENE_BOTTOM_OF_THE_WELL, {}, {}, { //Exits - //Technically involves an fake wall, but passing it lensless is intended in vanilla and it is well telegraphed + //Technically involves a fake wall, but passing it lensless is intended in vanilla and it is well telegraphed //Backshot should be implemented here, or new regions should be added ENTRANCE(RR_BOTW_CORRIDOR, ctx->GetDungeon(Rando::BOTTOM_OF_THE_WELL)->IsVanilla() && logic->CanUse(RG_CRAWL)), ENTRANCE(RR_BOTW_MQ_PERIMETER, ctx->GetDungeon(Rando::BOTTOM_OF_THE_WELL)->IsMQ() && logic->CanUse(RG_CRAWL)), @@ -57,7 +57,7 @@ void RegionTable_Init_BottomOfTheWell() { ENTRANCE(RR_BOTW_B3_BLOCKED_GRASS, ctx->GetTrickOption(RT_LENS_BOTW) || logic->CanUse(RG_LENS_OF_TRUTH)), }); - //This region combines the Middle with the perimeter's hidden areas. If a warp puts link into the middle without crossing the perimeter or using lens, it will need it's own region + //This region combines the Middle with the perimeter's hidden areas. If a warp puts Link into the middle without crossing the perimeter or using lens, it will need it's own region areaTable[RR_BOTW_MIDDLE] = Region("Bottom of the Well Middle", SCENE_BOTTOM_OF_THE_WELL, {}, { //Locations //You can just barely pass the spider on the right side without damage or items, but it's probably tight enough to count as as a trick diff --git a/soh/soh/Enhancements/randomizer/location_access/dungeons/deku_tree.cpp b/soh/soh/Enhancements/randomizer/location_access/dungeons/deku_tree.cpp index a68908bdb1..f99e628020 100644 --- a/soh/soh/Enhancements/randomizer/location_access/dungeons/deku_tree.cpp +++ b/soh/soh/Enhancements/randomizer/location_access/dungeons/deku_tree.cpp @@ -443,7 +443,7 @@ void RegionTable_Init_DekuTree() { //Exits ENTRANCE(RR_DEKU_TREE_MQ_BASEMENT_LEDGE, logic->CanUse(RG_CRAWL) && AnyAgeTime([]{return logic->HasFireSourceWithTorch() || logic->CanUse(RG_FAIRY_BOW);})), ENTRANCE(RR_DEKU_TREE_MQ_BASEMENT_SOUTHWEST_ROOM, true), - //Using a bow to get past here as adult is a bit precise on standing position but simple, doing as as child requires a side-hop with the bow out to shoot through the torch and may be trick worthy + //Using a bow to get past here as adult is a bit precise on standing position but simple, doing so as child requires a side-hop with the bow out to shoot through the torch and may be trick worthy ENTRANCE(RR_DEKU_TREE_MQ_BASEMENT_BACK_ROOM, AnyAgeTime([]{return logic->HasFireSourceWithTorch() || logic->CanUse(RG_FAIRY_BOW);})), }); diff --git a/soh/soh/Enhancements/randomizer/location_access/dungeons/dodongos_cavern.cpp b/soh/soh/Enhancements/randomizer/location_access/dungeons/dodongos_cavern.cpp index 77cbd24b77..d906cc0a14 100644 --- a/soh/soh/Enhancements/randomizer/location_access/dungeons/dodongos_cavern.cpp +++ b/soh/soh/Enhancements/randomizer/location_access/dungeons/dodongos_cavern.cpp @@ -392,7 +392,7 @@ void RegionTable_Init_DodongosCavern() { LOCATION(RC_DODONGOS_CAVERN_MQ_STAIRCASE_UPPER_CRATE_3, logic->CanBreakCrates()), LOCATION(RC_DODONGOS_CAVERN_MQ_STAIRCASE_UPPER_CRATE_4, logic->CanBreakCrates()), LOCATION(RC_DODONGOS_CAVERN_MQ_LOWER_2F_CRATE_SILVER, logic->CanBreakCrates() || (ctx->GetTrickOption(RT_VISIBLE_COLLISION) && (logic->IsChild || logic->CanUse(RG_HOOKSHOT)))), - // possible with the hookshot method and longshot, but precise and would be it's own trick + // possible with the hookshot method and longshot, but precise and would be its own trick LOCATION(RC_DODONGOS_CAVERN_MQ_UPPER_2F_CRATE_SILVER, logic->CanBreakCrates() || (ctx->GetTrickOption(RT_VISIBLE_COLLISION) && logic->IsChild)), }, { //Exits diff --git a/soh/soh/Enhancements/randomizer/location_access/dungeons/fire_temple.cpp b/soh/soh/Enhancements/randomizer/location_access/dungeons/fire_temple.cpp index ac1c43f684..592f6b4668 100644 --- a/soh/soh/Enhancements/randomizer/location_access/dungeons/fire_temple.cpp +++ b/soh/soh/Enhancements/randomizer/location_access/dungeons/fire_temple.cpp @@ -1030,7 +1030,7 @@ void RegionTable_Init_FireTemple() { }, { //Exits //The dropdown here is unusual in that it hits 1 of 3 locations: RR_FIRE_TEMPLE_MQ_2_FIRE_WALLS_LOWER, RR_FIRE_TEMPLE_MQ_2_FIRE_WALLS_UPPER_DOOR, and RR_FIRE_TEMPLE_MQ_2_FIRE_WALLS_SWITCH - //Using this dropdown is in N64 logic elsewhere, but not here, probably because it requires good foreknowlege to determine where to land + //Using this dropdown is in N64 logic elsewhere, but not here, probably because it requires good foreknowledge to determine where to land ENTRANCE(RR_FIRE_TEMPLE_MQ_2_FIRE_WALLS_LOWER, logic->TakeDamage()), ENTRANCE(RR_FIRE_TEMPLE_MQ_2_FIRE_WALLS_UPPER_DOOR, logic->TakeDamage()), ENTRANCE(RR_FIRE_TEMPLE_MQ_2_FIRE_WALLS_SWITCH, logic->TakeDamage()), diff --git a/soh/soh/Enhancements/randomizer/location_access/dungeons/shadow_temple.cpp b/soh/soh/Enhancements/randomizer/location_access/dungeons/shadow_temple.cpp index 847976e8c5..0d8dd4149d 100644 --- a/soh/soh/Enhancements/randomizer/location_access/dungeons/shadow_temple.cpp +++ b/soh/soh/Enhancements/randomizer/location_access/dungeons/shadow_temple.cpp @@ -664,7 +664,7 @@ void RegionTable_Init_ShadowTemple() { ENTRANCE(RR_SHADOW_TEMPLE_MQ_STONE_UMBRELLA_ROOM, true), }); - //For this room, logic assumes you can either take damage, wear passive spike resistence (Goron tunic or hovers) or see the spikes to navigate across the floor + //For this room, logic assumes you can either take damage, wear passive spike resistance (Goron tunic or hovers) or see the spikes to navigate across the floor //As this only matters with 1 heart/OHKO logic, which is already a trick-level setting, using Hook and Longshot to reach rupees without moving is allowed areaTable[RR_SHADOW_TEMPLE_MQ_FLOOR_SPIKES_S_DOOR] = Region("Shadow Temple MQ Floor Spikes South Door", SCENE_SHADOW_TEMPLE, {}, { //Locations @@ -817,7 +817,7 @@ void RegionTable_Init_ShadowTemple() { //Locations LOCATION(RC_SHADOW_TEMPLE_MQ_AFTER_WIND_ENEMY_CHEST, logic->CanKillEnemy(RE_GIBDO) && logic->HasItem(RG_OPEN_CHEST)), LOCATION(RC_SHADOW_TEMPLE_MQ_AFTER_WIND_HIDDEN_CHEST, logic->HasExplosives() && (ctx->GetTrickOption(RT_LENS_SHADOW_MQ) || logic->CanUse(RG_LENS_OF_TRUTH)) && logic->HasItem(RG_OPEN_CHEST)), - //The various methods for this can be a bit specific, might be worthy of it's own trick when it becomes relevant with dungeon shortcut settings. + //The various methods for this can be a bit specific, might be worthy of its own trick when it becomes relevant with dungeon shortcut settings. LOCATION(RC_SHADOW_TEMPLE_MQ_GS_AFTER_WIND, logic->HasExplosives() || (ctx->GetTrickOption(RT_VISIBLE_COLLISION) && logic->CanGetEnemyDrop(RE_GOLD_SKULLTULA))), LOCATION(RC_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_1, logic->CanBreakPots()), LOCATION(RC_SHADOW_TEMPLE_MQ_BEFORE_BOAT_POT_2, logic->CanBreakPots()), diff --git a/soh/soh/Enhancements/randomizer/logic.cpp b/soh/soh/Enhancements/randomizer/logic.cpp index af213f7fdf..58253e005a 100644 --- a/soh/soh/Enhancements/randomizer/logic.cpp +++ b/soh/soh/Enhancements/randomizer/logic.cpp @@ -1067,7 +1067,7 @@ bool Logic::CanKillEnemy(RandomizerEnemy enemy, EnemyDistance distance, bool wal case RE_BEAMOS: return HasExplosives(); case RE_PURPLE_LEEVER: - // dies on it's own, so this is the conditions to spawn it (killing 10 normal leevers) + // dies on its own, so this is the conditions to spawn it (killing 10 normal leevers) // Sticks and Ice arrows work but will need ammo capacity logic // other methods can damage them but not kill them, and they run when hit, making them impractical return CanUse(RG_MASTER_SWORD) || CanUse(RG_BIGGORON_SWORD); @@ -1324,7 +1324,7 @@ bool Logic::WaterRisingTargetTo3FCentral() { HasExplosives() && CanUse(RG_HOVER_BOOTS)); } -/* Water level has 7 events that govern it's logic. +/* Water level has 7 events that govern its logic. * LOGIC_WATER_LOW, LOGIC_WATER_MIDDLE say that the player for sure can set the water to this level * the COULD varients of these 2, as well as LOGIC_WATER_HIGH instead check for if using those emblems would be possible * if the player had a specific water level and ZL diff --git a/soh/soh/Enhancements/randomizer/option_descriptions.cpp b/soh/soh/Enhancements/randomizer/option_descriptions.cpp index 2592bb602e..4912b9fbbe 100644 --- a/soh/soh/Enhancements/randomizer/option_descriptions.cpp +++ b/soh/soh/Enhancements/randomizer/option_descriptions.cpp @@ -3,7 +3,7 @@ namespace Rando { void Settings::CreateOptionDescriptions() { mOptionDescriptions[RSK_FOREST] = - "Determines if Kokiri forest can be left for the Lost Woods bridge or the Deku Tree.\n" + "Determines if Kokiri Forest can be left for the Lost Woods bridge or the Deku Tree.\n" "\n" "On - Kokiri Sword & Deku Shield are required to access " "the Deku Tree, and completing the Deku Tree is required to " @@ -71,7 +71,7 @@ void Settings::CreateOptionDescriptions() { "Stones or medallions.\n" "\n" "Dungeons - Complete the specified amount of dungeons. Dungeons " - "are considered complete after stepping in to the blue warp after " + "are considered complete after stepping into the blue warp after " "the boss.\n" "\n" "Tokens - Obtain the specified amount of Skulltula tokens.\n" @@ -83,7 +83,7 @@ void Settings::CreateOptionDescriptions() { "\n" "Greg as Reward - Greg does change logic (can be part of expected path for opening " "bridge), Greg helps open bridge, max number of rewards on slider increases by 1 to " - "account for Greg. \n" + "account for Greg.\n" "\n" "Greg as Wildcard - Greg does not change logic, Greg helps open the bridge, max number of " "rewards on slider does not change."; @@ -116,16 +116,16 @@ void Settings::CreateOptionDescriptions() { "\n" "If Master Quest Dungeons is set to Set Number or Random, the dungeons chosen " "to be Master Quest here will count towards that total. Any Dungeons set to Vanilla " - "here will be guaranteed to be Vanilla. If Set Number is higher than the amount of dungeons " + "here will be guaranteed to be Vanilla. If Set Number is higher than the number of dungeons " "set to either MQ or Random here, you will have fewer MQ Dungeons than the number you " "set."; mOptionDescriptions[RSK_TRIFORCE_HUNT_PIECES_TOTAL] = - "The amount of Triforce pieces that will be placed in the world. Set to 0 to disable Triforce Hunt.\n" + "The number of Triforce pieces that will be placed in the world. Set to 0 to disable Triforce Hunt.\n" "\n" "Triforce Pieces can be used as a requirement for the Rainbow Bridge, Ganon's Boss Key, Ganon's Soul, or the " "win condition. Keep in mind seed generation can fail if more pieces are placed than there are junk items in " "the item pool."; - mOptionDescriptions[RSK_WINCON_TRIFORCE_COUNT] = "The amount of Triforce pieces required to win the game."; + mOptionDescriptions[RSK_WINCON_TRIFORCE_COUNT] = "The number of Triforce pieces required to win the game."; mOptionDescriptions[RSK_TRIFORCE_HUNT_PIECES_LOCATION] = "Any dungeon - Triforce pieces can only appear inside of any dungeon.\n" "\n" @@ -172,7 +172,7 @@ void Settings::CreateOptionDescriptions() { "Shuffle the pool of entrances between Gerudo Fortress & Thieves' Hideout."; mOptionDescriptions[RSK_SHUFFLE_GROTTO_ENTRANCES] = "Shuffle the pool of grotto entrances, including all graves, small Fairy fountains and the Deku Theatre."; - mOptionDescriptions[RSK_SHUFFLE_OWL_DROPS] = "Randomize where Kaepora Gaebora (the Owl) drops you at when you talk " + mOptionDescriptions[RSK_SHUFFLE_OWL_DROPS] = "Randomize where Kaepora Gaebora (the Owl) drops you when you talk " "to him at Lake Hylia or at the top of Death Mountain Trail."; mOptionDescriptions[RSK_SHUFFLE_WARP_SONGS] = "Randomize where each of the 6 warp songs leads to."; mOptionDescriptions[RSK_SHUFFLE_OVERWORLD_SPAWNS] = @@ -182,7 +182,7 @@ void Settings::CreateOptionDescriptions() { "This stays consistent after saving and loading the game again.\n" "\n" "Keep in mind you may need to temporarily disable the \"Remember Save Location\" time saver to " - "be able use the spawn positions, especially if they are the only logical way to get to certain areas."; + "be able to use the spawn positions, especially if they are the only logical way to get to certain areas."; mOptionDescriptions[RSK_DECOUPLED_ENTRANCES] = "Decouple entrances when shuffling them. This means you are no longer guaranteed " "to end up back where you came from when you go back through an entrance.\n" @@ -260,13 +260,13 @@ void Settings::CreateOptionDescriptions() { "The ability to swim has to be found as an item (you can still be underwater with iron boots).\n" "\n" "If you enter a water entrance without swim you will be respawned on land to prevent infinite death loops.\n" - "If you void out in Water Temple you will immediately be kicked out to prevent a softlock."; + "If you void out in the Water Temple you will immediately be kicked out to prevent a softlock."; mOptionDescriptions[RSK_SHUFFLE_GRAB] = "Shuffle the ability to grab as a progressive upgrade before Goron Bracelet."; mOptionDescriptions[RSK_SHUFFLE_CLIMB] = "Shuffle the ability to climb ladders into the item pool."; mOptionDescriptions[RSK_SHUFFLE_CRAWL] = "Shuffles the ability to use crawlspaces into the item pool."; mOptionDescriptions[RSK_SHUFFLE_SPEAK] = - "Shuffle ability to speak to NPCs. 6 jabbernuts will be shuffled:\nDeku, Gerudo, Goron, Hylian, Kokiri, " + "Shuffle the ability to speak to NPCs. 6 jabbernuts will be shuffled:\nDeku, Gerudo, Goron, Hylian, Kokiri, " "Zora\nKaepora Gaebora speaks any language."; mOptionDescriptions[RSK_SHUFFLE_OPEN_CHEST] = "Shuffles the ability to open chests into the item pool.\n" @@ -277,15 +277,16 @@ void Settings::CreateOptionDescriptions() { "\n" "Shuffled: shuffles Weird Egg into item pool.\n" "\n" - "Skip Waking Talon: Talon already woken and back at Lon Lon Ranch with Malon."; + "Skip Waking Talon: Talon is already awake and back at Lon Lon Ranch with Malon."; mOptionDescriptions[RSK_SHUFFLE_ZELDAS_LETTER] = - "Shuffles Zelda's Letter into the item pool, meeting Zelda gives a random item instead.\n" + "Shuffles Zelda's Letter into the item pool; meeting Zelda gives a random item instead.\n" "\n" - "Required to open Kakariko gate and Happy Mask Shop. Starting with letter starts with gate opened.\n" + "Required to open the Kakariko gate and Happy Mask Shop. Starting with the letter starts with the gate " + "opened.\n" "\n" "Meeting Zelda still triggers Saria at Sacred Forest Meadow.\n" "\n" - "When disabled, \"Start with Zelda's Letter\" skips child Zelda: you also get item Impa would give."; + "When disabled, \"Start with Zelda's Letter\" skips child Zelda: you also get the item Impa would give."; mOptionDescriptions[RSK_SHUFFLE_GERUDO_MEMBERSHIP_CARD] = "Shuffles the Gerudo Membership Card into the item pool.\n" "\n" @@ -295,7 +296,7 @@ void Settings::CreateOptionDescriptions() { "Pots will drop a randomized item the first time they're broken and collected. This does not include the " "flying pots." " Pots will have a different appearance when they hold a randomized item.\n" - "With this option enabled, Ganon's boss key door is moved further up the stairs to\n" + "With this option enabled, Ganon's Boss Key door is moved further up the stairs to\n" "allow access to the pots before obtaining Ganon's Boss Key.\n" "\n" "Off - Pots will not be shuffled.\n" @@ -320,11 +321,11 @@ void Settings::CreateOptionDescriptions() { "Trees will contain randomized items which are dropped the first time the player rolls into one.\n" "Trees will have a special appearance when carrying randomized items.\n" "\nSome trees are dependent on Link's age, such as some trees in Hyrule Field.\nTwo trees at Hyrule Castle are " - "only shuffle with No Logic."; + "only shuffled with No Logic."; mOptionDescriptions[RSK_SHUFFLE_BUSHES] = "Bushes in Hyrule Field & Zora's Fountain will contain randomized items when first walked through."; mOptionDescriptions[RSK_SHUFFLE_ICICLES] = - "Stalagmites and stalactites in Ice Cavern and Ganon's Castle will contain randomized items when broken.\n" + "Stalagmites and stalactites in the Ice Cavern and Ganon's Castle will contain randomized items when broken.\n" "Icicles will have a halo around them when carrying randomized items."; mOptionDescriptions[RSK_SHUFFLE_RED_ICE] = "Red Ice will give randomized items when melted.\n" @@ -435,7 +436,7 @@ void Settings::CreateOptionDescriptions() { "Note that, as child, there is a second loach available in the pond!"; mOptionDescriptions[RSK_SHUFFLE_SCRUBS] = "Off - Scrubs will not be shuffled. The 3 Scrubs that give one-time items in the " - "vanilla game (PoH, Deku Nut capacity, and Deku Stick capacity) will not spawn." + "vanilla game (PoH, Deku Nut capacity, and Deku Stick capacity) will not spawn.\n" "\n" "One-Time Only - Only the 3 Scrubs that give one-time items in the " "vanilla game are shuffled.\n" @@ -476,12 +477,13 @@ void Settings::CreateOptionDescriptions() { "Beans Only - Only the Bean Salesman will have a check, and a pack of Magic Beans will be added " "to the item pool.\n" "All But Beans - Medigoron, Granny and the Carpet Salesman will have checks, " - "A Giant's Knife and a pack of Bombchus will be added to the item pool, and " + "a Giant's Knife and a pack of Bombchus will be added to the item pool, and " "one of the bottles will contain a Blue Potion.\n" "All - Apply both effects.\n" "\n" "Granny's item will only be offered after you have traded in the Odd Mushroom when Shuffle Adult Trade is on. " - "Otherwise when off, you will need to have found the Claim Check to buy her item (simulating the trade quest " + "Otherwise when off, you will need to have found the Claim Check to buy her item (simulating that the trade " + "quest " "is complete)."; mOptionDescriptions[RSK_MERCHANT_PRICES] = "Vanilla - The same price as the Check in vanilla, 60 for the Bean Salesman.\n" @@ -509,10 +511,10 @@ void Settings::CreateOptionDescriptions() { "After choosing a price, set it to the affordable amount based on the wallet required.\n\n" "Affordable prices per tier: starter = 1, adult = 100, giant = 201, tycoon = 501\n\n" "Use this to enable wallet tier locking, but make merchant items not as expensive as they could be."; - mOptionDescriptions[RSK_SHUFFLE_FROG_SONG_RUPEES] = "Shuffles 5 Purple Rupees into to the item pool, and allows\n" + mOptionDescriptions[RSK_SHUFFLE_FROG_SONG_RUPEES] = "Shuffles 5 Purple Rupees into the item pool, and allows\n" "you to earn items by playing songs at the Frog Choir.\n" "\n" - "This setting does not effect the item earned from playing\n" + "This setting does not affect the item earned from playing\n" "the Song of Storms and the frog song minigame."; mOptionDescriptions[RSK_SHUFFLE_BEGGAR] = "Shuffle the rewards the Beggar gives for selling bugs, fish, and Blue Fire.\n" @@ -534,7 +536,7 @@ void Settings::CreateOptionDescriptions() { "Six Chest Game Small Keys are added to the pool, or a single keyring holding all six " "if the Chest Minigame Keyring is selected under Keyrings."; mOptionDescriptions[RSK_EARLY_GRANNYS_SHOP] = - "Makes Granny's Potion Shop available from start, rather than requiring Claim Check to be found first.\n" + "Makes Granny's Potion Shop available from start, rather than requiring the Claim Check to be found first.\n" "\n" "This only applies when Shuffle Adult Trade is disabled. With Shuffle Adult " "Trade enabled, Granny still requires trading the Odd Mushroom as usual."; @@ -544,25 +546,25 @@ void Settings::CreateOptionDescriptions() { "\n" "You can still talk to him multiple times to get Huge Rupees."; mOptionDescriptions[RSK_SHUFFLE_FREESTANDING] = - "Freestanding rupees & hearts are shuffles to random items. " + "Freestanding rupees & hearts are shuffled into random items. " "Freestanding heart pieces and small keys are already shuffled by default.\n" "\n" "Off - freestanding rupees & hearts will not be shuffled.\n" "\n" - "Dungeons - Only freestanding rupees & hearts that are within dungeons.\n" + "Dungeons - Only shuffle freestanding rupees & hearts that are within dungeons.\n" "\n" - "Overworld - Only freestanding rupees & hearts that are outside of dungeons.\n" + "Overworld - Only shuffle freestanding rupees & hearts that are outside of dungeons.\n" "\n" "All Items - Shuffle all freestanding rupees & hearts."; mOptionDescriptions[RSK_SHUFFLE_SILVER] = "Silver rupees will be shuffled.\n" - "Items will be added to pool which completes the silver rupee puzzles,\n" + "Items will be added to the pool, which completes the silver rupee puzzles,\n" "while silver rupee locations will be random items.\n" - "Off - silver rupees won't be shuffled." + "Off - Silver rupees won't be shuffled.\n" "\n" - "On - silver rupees will be individually spread out." + "On - Silver rupees will be individually spread out.\n" "\n" - "Wallet - silver rupees are shuffled as wallets, a single check to set flag for collecting them." + "Wallet - Silver rupees are shuffled as wallets, a single check to set the flag for collecting them.\n" "\n" "Start With - Silver rupees are still replaced with items, but all silver rupee flags start set."; mOptionDescriptions[RSK_SHUFFLE_FOUNTAIN_FAIRIES] = @@ -575,22 +577,21 @@ void Settings::CreateOptionDescriptions() { "\n" "This excludes gossip stones and magic bean locations."; mOptionDescriptions[RSK_SHUFFLE_BUTTERFLY_FAIRIES] = "Shuffle fairies from butterfly locations."; - mOptionDescriptions[RSK_SHUFFLE_GRASS] = - "Grass will drop a randomized item the first time they're cut and collected. " - "Grass will have a different appearance when they hold a randomized item.\n" - "\n" - "Off - Grass will not be shuffled.\n" - "\n" - "Dungeons - Only shuffle grass that are within dungeons.\n" - "\n" - "Overworld - Only shuffle grass that are outside of dungeons.\n" - "\n" - "All Grass - Shuffle all grass."; + mOptionDescriptions[RSK_SHUFFLE_GRASS] = "Grass will drop a randomized item the first time it's cut and collected. " + "Grass will have a different appearance when it holds a randomized item.\n" + "\n" + "Off - Grass will not be shuffled.\n" + "\n" + "Dungeons - Only shuffle grass that is within dungeons.\n" + "\n" + "Overworld - Only shuffle grass that is outside of dungeons.\n" + "\n" + "All Grass - Shuffle all grass."; mOptionDescriptions[RSK_SHUFFLE_ROCKS] = "Shuffle rock locations."; mOptionDescriptions[RSK_SHUFFLE_BOULDERS] = "Shuffle boulder locations."; mOptionDescriptions[RSK_SHUFFLE_DUNGEON_REWARDS] = "Shuffles the location of Spiritual Stones and medallions.\n" - "Vanilla - Spiritual Stones and medallions will be given from their respective boss.\n" + "Vanilla - Spiritual Stones and medallions will be given by their respective boss.\n" "\n" "End of dungeons - Spiritual Stones and medallions will be given as rewards " "for beating major dungeons. Link will always start with one stone or medallion.\n" @@ -644,14 +645,15 @@ void Settings::CreateOptionDescriptions() { "The maximum amount of Keyrings that can be selected by Random or Count is 8, plus one if " "Gerudo Fortress Carpenters is set to Normal and Gerudo Fortress Keys is set to anything " "other than Vanilla, plus one if Shuffle Chest Minigame is on."; - mOptionDescriptions[RSK_GERUDO_KEYS] = "Vanilla - Thieves' Hideout Keys will appear in their vanilla locations.\n" - "\n" - "Any dungeon - Thieves' Hideout Keys can only appear inside of any dungon.\n" - "\n" - "Overworld - Thieves' Hideout Keys can only appear outside of dungeons.\n" - "\n" - "Anywhere - Thieves' Hideout Keys can appear anywhere in the world."; - mOptionDescriptions[RSK_BOSS_KEYSANITY] = "Start with - You will start with Boss keys from all dungeons.\n" + mOptionDescriptions[RSK_GERUDO_KEYS] = + "Vanilla - Thieves' Hideout Keys will appear in their vanilla locations.\n" + "\n" + "Any dungeon - Thieves' Hideout Keys can only appear inside of any dungeon.\n" + "\n" + "Overworld - Thieves' Hideout Keys can only appear outside of dungeons.\n" + "\n" + "Anywhere - Thieves' Hideout Keys can appear anywhere in the world."; + mOptionDescriptions[RSK_BOSS_KEYSANITY] = "Start with - You will start with Boss Keys from all dungeons.\n" "\n" "Vanilla - Boss Keys will appear in their vanilla locations.\n" "\n" @@ -667,20 +669,20 @@ void Settings::CreateOptionDescriptions() { "\n" "Own dungeon - Ganon's Boss Key can appear anywhere inside Ganon's Castle.\n" "\n" - "Start with - Places Ganon's Boss Key in your starting inventory." + "Start with - Places Ganon's Boss Key in your starting inventory.\n" "\n" - "Any dungeon - Ganon's Boss Key Key can only appear inside of any dungeon.\n" + "Any dungeon - Ganon's Boss Key can only appear inside of any dungeon.\n" "\n" - "Overworld - Ganon's Boss Key Key can only appear outside of dungeons.\n" + "Overworld - Ganon's Boss Key can only appear outside of dungeons.\n" "\n" - "Anywhere - Ganon's Boss Key Key can appear anywhere in the world.\n" + "Anywhere - Ganon's Boss Key can appear anywhere in the world.\n" "\n" "Trigger - These settings put the boss key on a trigger, " - "granting key once requirements met:\n" + "granting the key once the requirements are met:\n" "- Stones: Obtain the specified amount of Spiritual Stones.\n" "- Medallions: Obtain the specified amount of medallions.\n" "- Dungeon rewards: Obtain the specified total sum of Spiritual Stones or medallions.\n" - "- Dungeons: Complete the specified amount of dungeons. Dungeons are considered complete after stepping in to " + "- Dungeons: Complete the specified amount of dungeons. Dungeons are considered complete after stepping into " "the blue warp after the boss.\n" "- Tokens: Obtain the specified amount of Skulltula tokens."; mOptionDescriptions[RSK_GBK_OPTIONS] = @@ -689,7 +691,7 @@ void Settings::CreateOptionDescriptions() { "\n" "Greg as Reward - Greg does change logic (can be part of expected path for obtaining " "GBK), Greg helps obtain GBK, max number of rewards on slider increases by 1 to " - "account for Greg. \n" + "account for Greg.\n" "\n" "Greg as Wildcard - Greg does not change logic, Greg helps obtain GBK, max number of " "rewards on slider does not change."; @@ -699,7 +701,7 @@ void Settings::CreateOptionDescriptions() { "\n" "Greg as Reward - Greg does change logic (can be part of expected path for obtaining " "Ganon's Soul), Greg helps obtain Ganon's Soul, max number of rewards on slider increases by 1 to " - "account for Greg. \n" + "account for Greg.\n" "\n" "Greg as Wildcard - Greg does not change logic, Greg helps obtain Ganon's Soul, max number of " "rewards on slider does not change."; @@ -713,13 +715,13 @@ void Settings::CreateOptionDescriptions() { "\n" "Completed - Once the Happy Mask Shop is opened, all masks will be available to be borrowed.\n" "\n" - "Shuffle - Happy Mask Shop never opens, masks are shuffled with rest of items."; + "Shuffle - Happy Mask Shop never opens, masks are shuffled with the rest of the items."; mOptionDescriptions[RSK_SKIP_SCARECROWS_SONG] = "Start with the ability to summon Pierre the Scarecrow. Pulling out an Ocarina in the usual locations will " "automatically summon him.\n" "With \"Shuffle Ocarina Buttons\" enabled, you'll need at least two Ocarina buttons to summon him."; mOptionDescriptions[RSK_SKIP_PLANTING_BEANS] = "Beans will be planted once you find beans.\n" - "If bean souls are shuffled, you must find soul still."; + "If bean souls are shuffled, you must still find the soul."; mOptionDescriptions[RSK_ITEM_POOL] = "Sets how many major items appear in the item pool.\n" "\n" "Plentiful - Extra major items are added to the pool.\n" @@ -732,11 +734,11 @@ void Settings::CreateOptionDescriptions() { mOptionDescriptions[RSK_BASE_ICE_TRAPS] = "Sets if ice traps that exist in vanilla are shuffled into the item pool.\n" "If this is on, 1 Trap will always be added to the pool,\n" - "an additional trap will be added if Gerudo Training Grounds\n" - "is NOT master quest,\n" + "an additional trap will be added if the Gerudo Training Ground\n" + "is NOT Master Quest,\n" "and 4 more will be added if Ganon's Castle is NOT Master Quest."; mOptionDescriptions[RSK_ADDITIONAL_ICE_TRAPS] = - "Sets how many more Ice Traps will be added to item pool,\n" + "Sets how many more Ice Traps will be added to the item pool,\n" "assuming there is enough space after placing Progression Items.\n\n" "You do not need to have base ice traps on for this setting to work."; mOptionDescriptions[RSK_ICE_TRAP_PERCENT] = @@ -778,12 +780,12 @@ void Settings::CreateOptionDescriptions() { "Reading the Temple of Time altar as adult will tell you the locations of the medallions, as well as the " "conditions for building the Rainbow Bridge and getting the Boss Key for Ganon's Castle."; mOptionDescriptions[RSK_GANONDORF_HINT] = - "Talking to Ganondorf in his boss room will tell you the location of the Light Arrows and Master Sword." + "Talking to Ganondorf in his boss room will tell you the location of the Light Arrows and Master Sword. " "If this option is enabled and Ganondorf is reachable without these items, Gossip Stones will never hint the " "appropriate items."; // RANDOTODO make this hint text about no dupe hints a global hint for static hints. Add // to navi? mOptionDescriptions[RSK_SHEIK_LA_HINT] = - "Talking to Sheik inside Ganon's Castle will tell you the location of the Light Arrows." + "Talking to Sheik inside Ganon's Castle will tell you the location of the Light Arrows. " "If this option is enabled and Sheik is reachable without Light Arrows, Gossip Stones will never hint the " "Light Arrows."; mOptionDescriptions[RSK_DAMPES_DIARY_HINT] = @@ -791,8 +793,9 @@ void Settings::CreateOptionDescriptions() { mOptionDescriptions[RSK_GREG_HINT] = "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."; + "tell you the reward for the Hyrule Loach."; + mOptionDescriptions[RSK_BOSS_KEY_HINT] = + "Navi will tell you where the Boss Key can be found when prompted at a 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."; @@ -811,7 +814,7 @@ void Settings::CreateOptionDescriptions() { mOptionDescriptions[RSK_MALON_HINT] = "Talking to Malon as adult will tell you the item on \"Link's cow\", the cow " "you win from beating her time on the Lon Lon Obstacle Course."; mOptionDescriptions[RSK_HBA_HINT] = - "Talking to the Horseback Archery gerudo in Gerudo Fortress, or the nearby sign, will tell you what you win " + "Talking to the Horseback Archery Gerudo in Gerudo Fortress, or the nearby sign, will tell you what you win " "for scoring 1000 and 1500 points on Horseback Archery."; mOptionDescriptions[RSK_WARP_SONG_HINTS] = "Playing a warp song will tell you where it leads. (If warp song " "destinations are vanilla, this is always enabled.)"; @@ -846,12 +849,12 @@ void Settings::CreateOptionDescriptions() { "usual 50.\n\n" "Bombchu Bowling is opened by obtaining the first Bombchu bag."; mOptionDescriptions[RSK_LINKS_POCKET] = - "Dungeon Reward - Link will start with a Spiritual Stone or Medallion, and specific options will open up\n\n" + "Dungeon Reward - Link will start with a Spiritual Stone or Medallion, and specific options will open up.\n\n" "Advancement - Link will start with a useful item.\n\n" "Anything - Link will start with a random item.\n\n" "Nothing - Link will not start with a bonus item."; mOptionDescriptions[RSK_LINKS_POCKET_REWARD] = - "Any Reward - Link starts with a random Spiritual Stone or Medallion\n\n" + "Any Reward - Link starts with a random Spiritual Stone or Medallion.\n\n" "Stone - Link starts with a random Spiritual Stone.\n\n" "Any Medallion - Link starts with a random Medallion.\n\n" "Light Medallion - Link starts with the Light Medallion."; @@ -870,7 +873,7 @@ void Settings::CreateOptionDescriptions() { "Ice Arrows act like Blue Fire, making them able to melt red ice. " "Item placement logic will respect this option, so it might be required to use this to progress."; mOptionDescriptions[RSK_SKELETON_KEY] = - "Adds a new item called the \"Skeleton Key\", it unlocks every dungeon door locked by a small key."; + "Adds a new item called the \"Skeleton Key\"; it unlocks every dungeon door locked by a small key."; mOptionDescriptions[RSK_SUNLIGHT_ARROWS] = "Light Arrows can be used to light up the sun switches instead of using the Mirror Shield. " "Item placement logic will respect this option, so it might be required to use this to progress."; @@ -890,7 +893,7 @@ void Settings::CreateOptionDescriptions() { "required items and locations to beat the game " "will be guaranteed reachable."; mOptionDescriptions[RSK_SHUFFLE_BEAN_SOULS] = - "Shuffle 10 bean souls which must be found to spawn corresponding soil / plant."; + "Shuffle 10 bean souls which must be found to spawn the corresponding soil/plant."; mOptionDescriptions[RSK_SHUFFLE_BOSS_SOULS] = "Shuffles 8 boss souls (one for each blue warp dungeon). A boss will not appear until you collect its " "respective soul."; diff --git a/soh/soh/Enhancements/randomizer/randomizer_entrance_tracker.cpp b/soh/soh/Enhancements/randomizer/randomizer_entrance_tracker.cpp index ed9dc844e9..4e12438e85 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_entrance_tracker.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer_entrance_tracker.cpp @@ -575,7 +575,7 @@ void SortEntranceListByArea(EntranceOverride* entranceList, u8 byDest) { if (curEntrance->reverseIndex == curOverride->index) { entranceList[idx] = tempList[j]; - // "Remove" this entrance from the tempList by setting it's values to zero + // "Remove" this entrance from the tempList by setting its values to zero tempList[j] = emptyOverride; idx++; break; diff --git a/soh/soh/SohGui/MenuTypes.h b/soh/soh/SohGui/MenuTypes.h index ec5607f41c..a1a074e83d 100644 --- a/soh/soh/SohGui/MenuTypes.h +++ b/soh/soh/SohGui/MenuTypes.h @@ -237,7 +237,7 @@ struct WidgetPath { // is run once per frame to update its status (this is done to prevent dozens of redundant CVarGets in each frame loop) // `evaluation` returns a bool which can be determined by whatever code you want that changes its status // `reason` is the text displayed in the disabledTooltip when a widget is disabled by a particular DisableReason -// `active` is what's referenced when determining disabled status for a widget that uses this This can also be used to +// `active` is what's referenced when determining disabled status for a widget that uses this. This can also be used to // hold reasons to hide widgets so that their evaluations are also only run once per frame struct disabledInfo { DisableInfoFunc evaluation; diff --git a/soh/soh/SohGui/ResolutionEditor.cpp b/soh/soh/SohGui/ResolutionEditor.cpp index 0e7b6ce565..b9e0f798e6 100644 --- a/soh/soh/SohGui/ResolutionEditor.cpp +++ b/soh/soh/SohGui/ResolutionEditor.cpp @@ -253,7 +253,7 @@ void ResolutionCustomWidget(WidgetInfo& info) { // Having this button should hopefully prevent support headaches. ImGui::TextColored(messageColor[MESSAGE_QUESTION], ICON_FA_QUESTION_CIRCLE " If the image is stretched and you don't know why, click this."); - if (ImGui::Button("Click to reenable aspect correction.")) { + if (ImGui::Button("Click to re-enable aspect correction.")) { CVarSetInteger(CVAR_PREFIX_ADVANCED_RESOLUTION ".IgnoreAspectCorrection", 0); Ship::Context::GetRawInstance()->GetWindow()->GetGui()->SaveConsoleVariablesNextFrame(); } diff --git a/soh/soh/SohGui/SohMenuDevTools.cpp b/soh/soh/SohGui/SohMenuDevTools.cpp index 43a6a7a5d1..fdb505c880 100644 --- a/soh/soh/SohGui/SohMenuDevTools.cpp +++ b/soh/soh/SohGui/SohMenuDevTools.cpp @@ -128,9 +128,10 @@ void SohMenu::AddMenuDevTools() { AddWidget(path, "Warping", WIDGET_SEPARATOR_TEXT); AddWidget(path, "Better Debug Warp Screen", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_DEVELOPER_TOOLS("BetterDebugWarpScreen")) - .Options(CheckboxOptions() - .Tooltip("Optimized Debug Warp Screen, with the added ability to chose entrances and time of day.") - .DefaultValue(true)); + .Options( + CheckboxOptions() + .Tooltip("Optimized Debug Warp Screen, with the added ability to choose entrances and time of day.") + .DefaultValue(true)); AddWidget(path, "Debug Warp Screen Translation", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_DEVELOPER_TOOLS("DebugWarpScreenTranslation")) .Options(CheckboxOptions() diff --git a/soh/soh/SohGui/SohMenuEnhancements.cpp b/soh/soh/SohGui/SohMenuEnhancements.cpp index 086e0f023a..f05fbc6517 100644 --- a/soh/soh/SohGui/SohMenuEnhancements.cpp +++ b/soh/soh/SohGui/SohMenuEnhancements.cpp @@ -534,8 +534,8 @@ void SohMenu::AddMenuEnhancements() { AddWidget(path, "Exclude Glitch-Aiding Crawlspaces", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("GlitchAidingCrawlspaces")) .PreFunc([](WidgetInfo& info) { info.isHidden = CVarGetInteger(CVAR_ENHANCEMENT("CrawlSpeed"), 0) == 1; }) - .Options(CheckboxOptions().Tooltip("Don't increase crawl speed when exiting glitch-useful crawlspaces." - "Currently it is only the BOTW crawlspace to locked door")); + .Options(CheckboxOptions().Tooltip("Don't increase crawl speed when exiting glitch-useful crawlspaces.\n" + "Currently it is only the BOTW crawlspace to a locked door.")); AddWidget(path, "King Zora Speed: %.2fx", WIDGET_CVAR_SLIDER_FLOAT) .CVar(CVAR_ENHANCEMENT("MweepSpeed")) .Options(FloatSliderOptions().Min(0.1f).Max(5.0f).DefaultValue(1.0f).Format("%.2fx")); @@ -587,7 +587,7 @@ void SohMenu::AddMenuEnhancements() { AddWidget(path, "Spawn Bean Skulltula Faster", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("FasterBeanSkull")) .Options(CheckboxOptions().Tooltip( - "Makes Gold Skulltulas come out of bean patches faster after bugs dig into center.")); + "Makes Gold Skulltulas come out of bean patches faster after bugs dig into the center.")); AddWidget(path, "Biggoron Forge Time: %d days", WIDGET_CVAR_SLIDER_INT) .CVar(CVAR_ENHANCEMENT("ForgeTime")) .Options(IntSliderOptions().Min(0).Max(3).DefaultValue(3).Format("%d days").Tooltip( @@ -610,7 +610,7 @@ void SohMenu::AddMenuEnhancements() { .CVar(CVAR_ENHANCEMENT("DisableGrottoRotation")) .RaceDisable(false) .Options(CheckboxOptions().Tooltip( - "Disables Grottos rotating with the Camera. To be used in conjuction with mods that want to " + "Disables Grottos rotating with the Camera. To be used in conjunction with mods that want to " "replace grottos with 3D objects.")); AddWidget(path, "Disable Link's Sword Trail", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("DisableLinkSwordTrail")) @@ -698,7 +698,7 @@ void SohMenu::AddMenuEnhancements() { "NOTE: Doesn't activate until scene transition.")); AddWidget(path, "Disable Hot/Underwater Warning Text", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("DisableTunicWarningText")) - .Options(CheckboxOptions().Tooltip("Disables warning text when you don't have on the Goron/Zora Tunic " + .Options(CheckboxOptions().Tooltip("Disables warning text when you don't have the Goron/Zora Tunic on " "in Hot/Underwater conditions.")); AddWidget(path, "Remember Minimap State Between Areas", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("RememberMapToggleState")) @@ -795,7 +795,7 @@ void SohMenu::AddMenuEnhancements() { info.options->disabled = !CVarGetInteger(CVAR_ENHANCEMENT("WidescreenActorCulling"), 0) && CVarGetInteger(CVAR_ENHANCEMENT("DisableDrawDistance"), 1) <= 1; info.options->disabledTooltip = - "Requires Actor Draw Distance to be increased or Widscreen Actor Culling to be enabled."; + "Requires Actor Draw Distance to be increased or Widescreen Actor Culling to be enabled."; }) .Options(CheckboxOptions().Tooltip( "Exclude Actors that are useful for Glitches from the extended culling ranges. Some actors may still draw " @@ -831,7 +831,7 @@ void SohMenu::AddMenuEnhancements() { AddWidget(path, "Equipment Toggle", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("EquipmentCanBeRemoved")) .Options(CheckboxOptions().Tooltip( - "Allows equipment to be removed by toggling it on/off\n the equipment subscreen.")); + "Allows equipment to be removed by toggling it on/off in the equipment subscreen.")); AddWidget(path, "Allow Strength Equipment to be Toggled", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("ToggleStrength")) .Callback([](WidgetInfo& info) { @@ -845,7 +845,7 @@ void SohMenu::AddMenuEnhancements() { "that require the player to not have Strength.")); AddWidget(path, "Unsheathe Sword Without Slashing", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("UnsheatheWithoutSlashing")) - .Options(CheckboxOptions().Tooltip("Allows Link to unsheathe sword without slashing automatically.")); + .Options(CheckboxOptions().Tooltip("Allows Link to unsheathe the sword without slashing automatically.")); AddWidget(path, "Sword Toggle Options", WIDGET_CVAR_COMBOBOX) .CVar(CVAR_ENHANCEMENT("SwordToggle")) .PreFunc( @@ -899,7 +899,7 @@ void SohMenu::AddMenuEnhancements() { AddWidget(path, "Persistent Masks", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("PersistentMasks")) .Options( - CheckboxOptions().Tooltip("Stops masks from automatically unequipping on certain situations:\n" + CheckboxOptions().Tooltip("Stops masks from automatically unequipping in certain situations:\n" "- When entering a new scene\n" "- When not in any C-Button or the D-pad\n" "- When saving and quitting\n" @@ -914,7 +914,7 @@ void SohMenu::AddMenuEnhancements() { info.options->disabled = OTRGlobals::Instance->gRandoContext->GetOption(RSK_MASK_QUEST).IsNot(RO_MASK_QUEST_VANILLA); info.options->disabledTooltip = - "This setting is forcefully enabled when Mask Quest is Completed from the start or Shuffled"; + "This setting is forcefully enabled when Mask Quest is Completed from the start or Shuffled."; }) .Options(CheckboxOptions().Tooltip( "After completing the mask trading sub-quest, press A and any direction on the mask " @@ -1038,7 +1038,7 @@ void SohMenu::AddMenuEnhancements() { AddWidget(path, "Bottles", WIDGET_SEPARATOR_TEXT); AddWidget(path, "Rebottle Blue Fire", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("RebottleBlueFire")) - .Options(CheckboxOptions().Tooltip("Blue Fire dropped from bottle can be bottled.")); + .Options(CheckboxOptions().Tooltip("Blue Fire dropped from a bottle can be bottled.")); // Fixes path.sidebarName = "Fixes"; @@ -1059,13 +1059,13 @@ void SohMenu::AddMenuEnhancements() { "Fixes Dampé going backwards in certain circumstances when the player is going backwards.")); AddWidget(path, "Fix Kokiri Forest Quest State", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("FixKokiriForestQuestState")) - .Options(CheckboxOptions().Tooltip("Fixes kokiri animation state to match their text state when getting " + .Options(CheckboxOptions().Tooltip("Fixes Kokiri animation state to match their text state when getting " "Zelda's Letter before Kokiri Emerald.")); AddWidget(path, "Fix Raised Floor Switches", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("FixFloorSwitches")) - .Options(CheckboxOptions().Tooltip( - "Fixes the two raised floor switches, the one in Forest Temple Basement and the one at the top of Fire " - "Temple. This will lower them, making activating them easier.")); + .Options(CheckboxOptions().Tooltip("Fixes the two raised floor switches, the one in the Forest Temple basement " + "and the one at the top of the Fire " + "Temple. This will lower them, making activating them easier.")); AddWidget(path, "Fix Zora Hint Dialogue", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("FixZoraHintDialogue")) .Options(CheckboxOptions().Tooltip( @@ -1104,7 +1104,7 @@ void SohMenu::AddMenuEnhancements() { AddWidget(path, "Fix Goron City Doors After Fire Temple", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("GCDoorsAfterFireFix")) .Options(CheckboxOptions().Tooltip( - "Forces Goron City doors open if you somehow complete Fire Temple without talking to Goron Link " + "Forces Goron City doors open if you somehow complete Fire Temple without talking to Goron Link" " and receiving the Goron Tunic.")); AddWidget(path, "Fix MQ Water 1F Lock", WIDGET_CVAR_CHECKBOX) @@ -1114,8 +1114,8 @@ void SohMenu::AddMenuEnhancements() { info.options->disabledTooltip = "This setting is forcefully enabled when you are playing a Randomizer."; }) .Options(CheckboxOptions().Tooltip( - "The second small key lock MQ water is removed before the player can reach it by a shared flag with some " - "Stalfos on the way to Dark Link.\n" + "The second small key lock in MQ Water Temple is removed before the player can reach it by a shared flag " + "with some Stalfos on the way to Dark Link.\n" "Enabling this will cause that lock to use a different flag, working as intended.")); AddWidget(path, "Item-related Fixes", WIDGET_SEPARATOR_TEXT); @@ -1212,7 +1212,7 @@ void SohMenu::AddMenuEnhancements() { .CVar(CVAR_ENHANCEMENT("FixHammerHand")) .RaceDisable(false) .Options(CheckboxOptions().Tooltip( - "Fixes Adult Link having a backwards Left hand when holding the Megaton Hammer.")); + "Fixes Adult Link having a backwards left hand when holding the Megaton Hammer.")); AddWidget(path, "Fix Vanishing Paths", WIDGET_CVAR_COMBOBOX) .CVar(CVAR_ENHANCEMENT("SceneSpecificDirtPathFix")) .RaceDisable(false) @@ -1432,7 +1432,7 @@ void SohMenu::AddMenuEnhancements() { AddWidget(path, "Cuccos Needed By Anju: %d", WIDGET_CVAR_SLIDER_INT) .CVar(CVAR_ENHANCEMENT("CuccosToReturn")) .Options(IntSliderOptions().Min(0).Max(7).DefaultValue(7).Format("%d").Tooltip( - "The amount of cuccos needed to receive bottle from Anju the Cucco Lady.")); + "The amount of cuccos needed to receive the bottle from Anju the Cucco Lady.")); path.column = SECTION_COLUMN_3; AddWidget(path, "Enemies", WIDGET_SEPARATOR_TEXT); @@ -1635,7 +1635,7 @@ void SohMenu::AddMenuEnhancements() { AddWidget(path, "Forest Temple", WIDGET_SEPARATOR_TEXT); AddWidget(path, "Solve Amy's Puzzle", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("SkipAmyPuzzle")) - .Options(CheckboxOptions().Tooltip("Amy's block pushing puzzle instantly solved.")); + .Options(CheckboxOptions().Tooltip("Amy's block-pushing puzzle is instantly solved.")); AddWidget(path, "Ingo's Race", WIDGET_SEPARATOR_TEXT); AddWidget(path, "Number of Races", WIDGET_CVAR_COMBOBOX) @@ -1667,11 +1667,11 @@ void SohMenu::AddMenuEnhancements() { AddWidget(path, "Guarantee Bite", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("GuaranteeFishingBite")) .PreFunc(fishingDisabledFunc) - .Options(CheckboxOptions().Tooltip("When a line is stable, guarantee bite. Otherwise use Default logic.")); + .Options(CheckboxOptions().Tooltip("When a line is stable, guarantee a bite. Otherwise use Default logic.")); AddWidget(path, "Fish never Escape", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("FishNeverEscape")) .PreFunc(fishingDisabledFunc) - .Options(CheckboxOptions().Tooltip("Once a hook as been set, Fish will never let go while being reeled in.")); + .Options(CheckboxOptions().Tooltip("Once a hook has been set, Fish will never let go while being reeled in.")); AddWidget(path, "Loaches always Appear", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("LoachesAlwaysAppear")) .PreFunc(fishingDisabledFunc) @@ -1722,7 +1722,7 @@ void SohMenu::AddMenuEnhancements() { AddWidget(path, "Bounce off Walls", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("BounceOffWalls")) .Options( - CheckboxOptions().Tooltip("Allows Link to bounce off walls when linear velocity is high enough, this is " + CheckboxOptions().Tooltip("Allows Link to bounce off walls when linear velocity is high enough. This is " "relevant when frequently being knocked back by traps, CC, or in Anchor.")); AddWidget(path, "Mirrored World", WIDGET_CVAR_COMBOBOX) .CVar(CVAR_ENHANCEMENT("MirroredWorldMode")) @@ -1750,12 +1750,12 @@ void SohMenu::AddMenuEnhancements() { .Options(CheckboxOptions().Tooltip("Allows dogs to follow you anywhere you go, even if you leave the Market.")); AddWidget(path, "Rupee Dash Mode", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("RupeeDash")) - .Options(CheckboxOptions().Tooltip("Rupees reduce over time, Link suffers damage when the count hits 0.")); + .Options(CheckboxOptions().Tooltip("Rupees reduce over time; Link suffers damage when the count hits 0.")); AddWidget(path, "Rupee Dash Wallet Scaling", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_ENHANCEMENT("RupeeDashScaling")) .PreFunc([](WidgetInfo& info) { info.isHidden = CVarGetInteger(CVAR_ENHANCEMENT("RupeeDash"), 0) == 0; }) .Options(CheckboxOptions().DefaultValue(true).Tooltip("The larger Link's wallet, the faster Rupees reduce.")); - AddWidget(path, "Rupee Dash Interval %d seconds", WIDGET_CVAR_SLIDER_INT) + AddWidget(path, "Rupee Dash Interval: %d seconds", WIDGET_CVAR_SLIDER_INT) .CVar(CVAR_ENHANCEMENT("RupeeDashInterval")) .PreFunc([](WidgetInfo& info) { info.isHidden = CVarGetInteger(CVAR_ENHANCEMENT("RupeeDash"), 0) == 0; }) .Options(IntSliderOptions() @@ -1858,7 +1858,7 @@ void SohMenu::AddMenuEnhancements() { AddWidget(path, "Shield with Two-Handed Weapons", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_CHEAT("ShieldTwoHanded")) .Options(CheckboxOptions().Tooltip( - "This allows you to put up for shield with any two-handed weapon in hand except for Deku Sticks.")); + "This allows you to put up your shield with any two-handed weapon in hand except for Deku Sticks.")); AddWidget(path, "Deku Sticks:", WIDGET_CVAR_COMBOBOX) .CVar(CVAR_CHEAT("DekuStick")) .Options(ComboboxOptions().ComboMap(dekuStickCheat).DefaultIndex(DEKU_STICK_NORMAL)); diff --git a/soh/soh/SohGui/SohMenuRandomizer.cpp b/soh/soh/SohGui/SohMenuRandomizer.cpp index c69606c2e7..d7fdedfc8a 100644 --- a/soh/soh/SohGui/SohMenuRandomizer.cpp +++ b/soh/soh/SohGui/SohMenuRandomizer.cpp @@ -674,7 +674,7 @@ void SohMenu::AddMenuRandomizer() { WidgetPath path = { "Randomizer", "General", SECTION_COLUMN_1 }; AddSidebarEntry("Randomizer", path.sidebarName, 2); AddWidget(path, - "Be sure to explore the Presets and Enhancements Menus for various Speedups and Quality of life changes!", + "Be sure to explore the Presets and Enhancements Menus for various Speedups and Quality of Life changes!", WIDGET_TEXT) .Options(TextOptions().Color(UIWidgets::Colors::Gray)); AddWidget(path, "Seed Entry", WIDGET_SEPARATOR_TEXT); @@ -764,7 +764,7 @@ void SohMenu::AddMenuRandomizer() { .CVar(CVAR_RANDOMIZER_ENHANCEMENT("CustomKeyModels")) .Options( CheckboxOptions() - .Tooltip("Use Custom graphics for Dungeon Keys, Big and Small, so that they can be easily told apart.") + .Tooltip("Use custom graphics for Dungeon Keys, Big and Small, so that they can be easily told apart.") .DefaultValue(true)); AddWidget(path, "Map & Compass Colors Match Dungeon", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_RANDOMIZER_ENHANCEMENT("ColoredMapsAndCompasses")) @@ -779,7 +779,7 @@ void SohMenu::AddMenuRandomizer() { .CVar(CVAR_RANDOMIZER_ENHANCEMENT("GenericJabberNutModel")) .RaceDisable(false) .Options(CheckboxOptions() - .Tooltip("With Shuffle Speak, jabber nut model & color will be generic.") + .Tooltip("With Shuffle Speak, the jabber nut model & color will be generic.") .DefaultValue(true)); AddWidget(path, "Quest Item Fanfares", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_RANDOMIZER_ENHANCEMENT("QuestItemFanfares")) @@ -797,7 +797,7 @@ void SohMenu::AddMenuRandomizer() { .CVar(CVAR_RANDOMIZER_ENHANCEMENT("SimplerBossSoulModels")) .RaceDisable(false) .Options(CheckboxOptions().Tooltip( - "When shuffling boss souls, they'll appear as a simpler model instead of showing the boss' models." + "When shuffling boss souls, they'll appear as a simpler model instead of showing the bosses' models. " "This might make boss souls more distinguishable from a distance, and can help with performance.")); AddWidget(path, "Skip Get Item Animations", WIDGET_CVAR_COMBOBOX) .CVar(CVAR_RANDOMIZER_ENHANCEMENT("TimeSavers.SkipGetItemAnimation")) @@ -814,7 +814,7 @@ void SohMenu::AddMenuRandomizer() { "The size of the item when it is picked up.")); AddWidget(path, "Signs Hint Entrances", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_RANDOMIZER_ENHANCEMENT("EntrancesOnSigns")) - .Options(CheckboxOptions().Tooltip("If enabled, signs near loading zones will tell you where they lead to.")); + .Options(CheckboxOptions().Tooltip("If enabled, signs near loading zones will tell you where they lead.")); auto randoSettings = Rando::Settings::GetInstance(); randoSettings->CreateOptions(); diff --git a/soh/soh/SohGui/SohMenuSettings.cpp b/soh/soh/SohGui/SohMenuSettings.cpp index 6431677269..53b051dffa 100644 --- a/soh/soh/SohGui/SohMenuSettings.cpp +++ b/soh/soh/SohGui/SohMenuSettings.cpp @@ -237,7 +237,7 @@ void SohMenu::AddMenuSettings() { AddWidget(path, "Text to Speech", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_SETTING("A11yTTS")) .RaceDisable(false) - .Options(CheckboxOptions().Tooltip("Enables text to speech for in game dialog")); + .Options(CheckboxOptions().Tooltip("Enables text to speech for in-game dialogue")); #endif AddWidget(path, "Disable Idle Camera Re-Centering", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_SETTING("A11yDisableIdleCam")) @@ -326,9 +326,10 @@ void SohMenu::AddMenuSettings() { // Graphics Settings static int32_t maxFps = 360; - const char* tooltip = "Uses Matrix Interpolation to create extra frames, resulting in smoother graphics. This is " - "purely visual and does not impact game logic, execution of glitches etc.\n\nA higher target " - "FPS than your monitor's refresh rate will waste resources, and might give a worse result."; + const char* tooltip = + "Uses Matrix Interpolation to create extra frames, resulting in smoother graphics. This is " + "purely visual and does not impact game logic, execution of glitches, etc.\n\nA higher target " + "FPS than your monitor's refresh rate will waste resources, and might give a worse result."; path.sidebarName = "Graphics"; AddSidebarEntry("Settings", "Graphics", 3); AddWidget(path, "Graphics Options", WIDGET_SEPARATOR_TEXT); @@ -405,7 +406,7 @@ void SohMenu::AddMenuSettings() { .RaceDisable(false) .PreFunc([](WidgetInfo& info) { info.isHidden = mSohMenu->disabledMap.at(DISABLE_FOR_NO_VSYNC).active; }) .Options(CheckboxOptions() - .Tooltip("Removes tearing, but clamps your max FPS to your displays refresh rate.") + .Tooltip("Removes tearing, but clamps your max FPS to your display's refresh rate.") .DefaultValue(true)); AddWidget(path, "Windowed Fullscreen", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_SDL_WINDOWED_FULLSCREEN)