hintless altar text (#2456)

Co-authored-by: briaguya <briaguya@alice>
This commit is contained in:
briaguya 2023-02-15 21:00:44 -05:00 committed by GitHub
parent 622d8c4aff
commit deb47ea430
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 37 additions and 31 deletions

View file

@ -1079,9 +1079,7 @@ int Fill() {
} }
//Always execute ganon hint generation for the funny line //Always execute ganon hint generation for the funny line
CreateGanonText(); CreateGanonText();
if (AltarHintText) { CreateAltarText(AltarHintText);
CreateAltarText();
}
if (DampeHintText) { if (DampeHintText) {
CreateDampesDiaryText(); CreateDampesDiaryText();
} }

View file

@ -678,9 +678,10 @@ static Text BuildGanonBossKeyText() {
return Text()+"$b"+ganonBossKeyText+"^"; return Text()+"$b"+ganonBossKeyText+"^";
} }
void CreateAltarText() { void CreateAltarText(Option withHints) {
//Child Altar Text //Child Altar Text
if (withHints) {
childAltarText = Hint(SPIRITUAL_STONE_TEXT_START).GetText()+"^"+ childAltarText = Hint(SPIRITUAL_STONE_TEXT_START).GetText()+"^"+
//Spiritual Stones //Spiritual Stones
(StartingKokiriEmerald.Value<uint8_t>() ? Text{ "##", "##", "##" } (StartingKokiriEmerald.Value<uint8_t>() ? Text{ "##", "##", "##" }
@ -691,10 +692,16 @@ void CreateAltarText() {
: BuildDungeonRewardText(ZORA_SAPPHIRE)) + : BuildDungeonRewardText(ZORA_SAPPHIRE)) +
//How to open Door of Time, the event trigger is necessary to read the altar multiple times //How to open Door of Time, the event trigger is necessary to read the altar multiple times
BuildDoorOfTimeText(); BuildDoorOfTimeText();
} else {
childAltarText = BuildDoorOfTimeText();
}
CreateMessageFromTextObject(0x7040, 0, 2, 3, AddColorsAndFormat(childAltarText, {QM_GREEN, QM_RED, QM_BLUE})); CreateMessageFromTextObject(0x7040, 0, 2, 3, AddColorsAndFormat(childAltarText, {QM_GREEN, QM_RED, QM_BLUE}));
//Adult Altar Text //Adult Altar Text
adultAltarText = Hint(ADULT_ALTAR_TEXT_START).GetText()+"^"+ adultAltarText = Hint(ADULT_ALTAR_TEXT_START).GetText() + "^";
if (withHints) {
adultAltarText = adultAltarText +
//Medallion Areas //Medallion Areas
(StartingLightMedallion.Value<uint8_t>() ? Text{ "##", "##", "##" } (StartingLightMedallion.Value<uint8_t>() ? Text{ "##", "##", "##" }
: BuildDungeonRewardText(LIGHT_MEDALLION)) + : BuildDungeonRewardText(LIGHT_MEDALLION)) +
@ -707,8 +714,9 @@ void CreateAltarText() {
(StartingSpiritMedallion.Value<uint8_t>() ? Text{ "##", "##", "##" } (StartingSpiritMedallion.Value<uint8_t>() ? Text{ "##", "##", "##" }
: BuildDungeonRewardText(SPIRIT_MEDALLION)) + : BuildDungeonRewardText(SPIRIT_MEDALLION)) +
(StartingShadowMedallion.Value<uint8_t>() ? Text{ "##", "##", "##" } (StartingShadowMedallion.Value<uint8_t>() ? Text{ "##", "##", "##" }
: BuildDungeonRewardText(SHADOW_MEDALLION)) + : BuildDungeonRewardText(SHADOW_MEDALLION));
}
adultAltarText = adultAltarText +
//Bridge requirement //Bridge requirement
BuildBridgeReqsText()+ BuildBridgeReqsText()+

View file

@ -223,7 +223,7 @@ extern void CreateMerchantsHints();
extern void CreateWarpSongTexts(); extern void CreateWarpSongTexts();
extern void CreateDampesDiaryText(); extern void CreateDampesDiaryText();
extern void CreateGanonText(); extern void CreateGanonText();
extern void CreateAltarText(); extern void CreateAltarText(Option withHints);
Text& GetChildAltarText(); Text& GetChildAltarText();
Text& GetAdultAltarText(); Text& GetAdultAltarText();

View file

@ -1570,7 +1570,7 @@ extern "C" int CustomMessage_RetrieveIfExists(PlayState* play) {
Randomizer_GetCheckFromActor(stone->id, play->sceneNum, actorParams); Randomizer_GetCheckFromActor(stone->id, play->sceneNum, actorParams);
messageEntry = CustomMessageManager::Instance->RetrieveMessage(Randomizer::hintMessageTableID, hintCheck); messageEntry = CustomMessageManager::Instance->RetrieveMessage(Randomizer::hintMessageTableID, hintCheck);
} else if ((textId == TEXT_ALTAR_CHILD || textId == TEXT_ALTAR_ADULT) && Randomizer_GetSettingValue(RSK_TOT_ALTAR_HINT)) { } else if ((textId == TEXT_ALTAR_CHILD || textId == TEXT_ALTAR_ADULT)) {
// rando hints at altar // rando hints at altar
messageEntry = (LINK_IS_ADULT) messageEntry = (LINK_IS_ADULT)
? CustomMessageManager::Instance->RetrieveMessage(Randomizer::hintMessageTableID, TEXT_ALTAR_ADULT) ? CustomMessageManager::Instance->RetrieveMessage(Randomizer::hintMessageTableID, TEXT_ALTAR_ADULT)