Fix: some greg hint stuff (#2557)

Co-authored-by: briaguya <briaguya@alice>
This commit is contained in:
briaguya 2023-02-28 12:23:22 -05:00 committed by GitHub
commit 2df6acc908
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 10 deletions

View file

@ -1648,7 +1648,9 @@ extern "C" int CustomMessage_RetrieveIfExists(PlayState* play) {
} }
} else if (Randomizer_GetSettingValue(RSK_DAMPES_DIARY_HINT) && textId == TEXT_DAMPES_DIARY) { } else if (Randomizer_GetSettingValue(RSK_DAMPES_DIARY_HINT) && textId == TEXT_DAMPES_DIARY) {
messageEntry = CustomMessageManager::Instance->RetrieveMessage(Randomizer::randoMiscHintsTableID, TEXT_DAMPES_DIARY); messageEntry = CustomMessageManager::Instance->RetrieveMessage(Randomizer::randoMiscHintsTableID, TEXT_DAMPES_DIARY);
} else if (Randomizer_GetSettingValue(RSK_GREG_HINT) && (textId == 0x704C || textId == 0x6E)) { } else if (play->sceneNum == SCENE_TAKARAYA &&
Randomizer_GetSettingValue(RSK_GREG_HINT) &&
(textId == 0x704C || textId == 0x6E || textId == 0x84)) {
messageEntry = CustomMessageManager::Instance->RetrieveMessage(Randomizer::randoMiscHintsTableID, TEXT_CHEST_GAME_PROCEED); messageEntry = CustomMessageManager::Instance->RetrieveMessage(Randomizer::randoMiscHintsTableID, TEXT_CHEST_GAME_PROCEED);
} else if (Randomizer_GetSettingValue(RSK_SHUFFLE_WARP_SONGS) && } else if (Randomizer_GetSettingValue(RSK_SHUFFLE_WARP_SONGS) &&
(textId >= TEXT_WARP_MINUET_OF_FOREST && textId <= TEXT_WARP_PRELUDE_OF_LIGHT)) { (textId >= TEXT_WARP_MINUET_OF_FOREST && textId <= TEXT_WARP_PRELUDE_OF_LIGHT)) {

View file

@ -104,15 +104,11 @@ void func_80B1778C(EnTakaraMan* this, PlayState* play) {
if (!this->unk_21A && this->unk_214) { if (!this->unk_21A && this->unk_214) {
if (Flags_GetSwitch(play, 0x32)) { if (Flags_GetSwitch(play, 0x32)) {
// text id 0x84 is used in places other than the treasure chest game.
// in order to provide a unique text id that can be replaced for the custom
// greg hint, we set it to 0x6E instead
if (gSaveContext.n64ddFlag && Randomizer_GetSettingValue(RSK_GREG_HINT)) {
this->actor.textId = 0x6E;
} else {
this->actor.textId = 0x84; //Thanks a lot! (Lost) this->actor.textId = 0x84; //Thanks a lot! (Lost)
} // with text state event, it is only possible to talk to the person running the game
this->dialogState = TEXT_STATE_EVENT; // once. we want the player to be able to ask again if they accidentally blast through
// the greg hint box, so we check for greg hint here
this->dialogState = Randomizer_GetSettingValue(RSK_GREG_HINT) ? TEXT_STATE_DONE : TEXT_STATE_EVENT;
} else { } else {
this->actor.textId = 0x704C; //Proceed this->actor.textId = 0x704C; //Proceed
this->dialogState = TEXT_STATE_DONE; this->dialogState = TEXT_STATE_DONE;