From 0970e80c6060cd185837a8bc95ba61f67b4a5f8a Mon Sep 17 00:00:00 2001 From: briaguya Date: Mon, 30 May 2022 05:51:46 -0400 Subject: [PATCH 01/15] start great fairy item replacement (dins etc.) --- soh/soh/Enhancements/randomizer.cpp | 253 +++++++++++++++++- soh/soh/Enhancements/randomizer.h | 4 +- soh/soh/OTRGlobals.cpp | 8 +- soh/soh/OTRGlobals.h | 4 +- .../ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c | 19 +- 5 files changed, 274 insertions(+), 14 deletions(-) diff --git a/soh/soh/Enhancements/randomizer.cpp b/soh/soh/Enhancements/randomizer.cpp index 64fb6f714..f95e650cd 100644 --- a/soh/soh/Enhancements/randomizer.cpp +++ b/soh/soh/Enhancements/randomizer.cpp @@ -791,14 +791,253 @@ GetItemID Randomizer::GetItemFromActor(s16 actorId, s16 actorParams, s16 sceneNu return GetItemFromGet(this->itemLocations[GetCheckFromActor(sceneNum, actorId, actorParams)], ogItemId); } -ItemID Randomizer::GetItemIdFromGetItem(GetItemID getItemId) { - return GetItemFromGetItem(getItemId); -} - -ItemID Randomizer::GetItemFromGetItem(GetItemID getItemId) { +ItemID Randomizer::GetItemidFromGetitemid(GetItemID getItemId) { switch (getItemId) { + case GI_STICKS_1: + return ITEM_STICK; + case GI_BOMBS_1: + return ITEM_BOMB; + case GI_BOW: + return ITEM_BOW; + case GI_ARROW_FIRE: + return ITEM_ARROW_FIRE; + case GI_DINS_FIRE: + return ITEM_DINS_FIRE; + case GI_SLINGSHOT: + return ITEM_SLINGSHOT; + case GI_OCARINA_FAIRY: + return ITEM_OCARINA_FAIRY; + case GI_OCARINA_OOT: + return ITEM_OCARINA_TIME; + case GI_LONGSHOT: + return ITEM_BOMBCHU; + case GI_HOOKSHOT: + return ITEM_HOOKSHOT; + case GI_LETTER_ZELDA: + return ITEM_LONGSHOT; + case GI_ARROW_ICE: + return ITEM_ARROW_ICE; + case GI_FARORES_WIND: + return ITEM_FARORES_WIND; + case GI_BOOMERANG: + return ITEM_BOOMERANG; + case GI_LENS: + return ITEM_LENS; + case GI_BEAN: + return ITEM_BEAN; + case GI_HAMMER: + return ITEM_HAMMER; + case GI_ARROW_LIGHT: + return ITEM_ARROW_LIGHT; + case GI_NAYRUS_LOVE: + return ITEM_NAYRUS_LOVE; + case GI_BOTTLE: + return ITEM_BOTTLE; + case GI_POTION_RED: + return ITEM_POTION_RED; + case GI_POTION_GREEN: + return ITEM_POTION_GREEN; + case GI_POTION_BLUE: + return ITEM_POTION_BLUE; + case GI_FAIRY: + return ITEM_FAIRY; + case GI_FISH: + return ITEM_FISH; + case GI_MILK_BOTTLE: + return ITEM_MILK_BOTTLE; + case GI_LETTER_RUTO: + return ITEM_LETTER_RUTO; + case GI_BLUE_FIRE: + return ITEM_BLUE_FIRE; + case GI_BUGS: + return ITEM_BUG; + case GI_BIG_POE: + return ITEM_BIG_POE; + case GI_POE: + return ITEM_POE; + case GI_WEIRD_EGG: + return ITEM_WEIRD_EGG; + case GI_CHICKEN: + return ITEM_CHICKEN; + case GI_MASK_KEATON: + return ITEM_MASK_KEATON; + case GI_MASK_SKULL: + return ITEM_MASK_SKULL; + case GI_MASK_SPOOKY: + return ITEM_MASK_SPOOKY; + case GI_MASK_BUNNY: + return ITEM_MASK_BUNNY; + case GI_MASK_GORON: + return ITEM_MASK_GORON; + case GI_MASK_ZORA: + return ITEM_MASK_ZORA; + case GI_MASK_GERUDO: + return ITEM_MASK_GERUDO; + case GI_MASK_TRUTH: + return ITEM_MASK_TRUTH; + case GI_POCKET_EGG: + return ITEM_POCKET_EGG; + case GI_POCKET_CUCCO: + return ITEM_POCKET_CUCCO; + case GI_COJIRO: + return ITEM_COJIRO; + case GI_ODD_MUSHROOM: + return ITEM_ODD_MUSHROOM; + case GI_ODD_POTION: + return ITEM_ODD_POTION; + case GI_SAW: + return ITEM_SAW; + case GI_SWORD_BROKEN: + return ITEM_SWORD_BROKEN; + case GI_PRESCRIPTION: + return ITEM_PRESCRIPTION; + case GI_FROG: + return ITEM_FROG; + case GI_EYEDROPS: + return ITEM_EYEDROPS; + case GI_CLAIM_CHECK: + return ITEM_CLAIM_CHECK; + case GI_SWORD_KOKIRI: + return ITEM_SWORD_KOKIRI; + case GI_SWORD_BGS: + return ITEM_SWORD_BGS; + case GI_SHIELD_DEKU: + return ITEM_SHIELD_DEKU; + case GI_SHIELD_HYLIAN: + return ITEM_SHIELD_HYLIAN; + case GI_SHIELD_MIRROR: + return ITEM_SHIELD_MIRROR; + case GI_TUNIC_GORON: + return ITEM_TUNIC_GORON; + case GI_TUNIC_ZORA: + return ITEM_TUNIC_ZORA; + case GI_BOOTS_IRON: + return ITEM_BOOTS_IRON; + case GI_BOOTS_HOVER: + return ITEM_BOOTS_HOVER; + case GI_BULLET_BAG_30: + return ITEM_BULLET_BAG_30; + case GI_BULLET_BAG_40: + return ITEM_BULLET_BAG_40; + case GI_BULLET_BAG_50: + return ITEM_BULLET_BAG_50; + case GI_QUIVER_40: + return ITEM_QUIVER_40; + case GI_QUIVER_50: + return ITEM_QUIVER_50; + case GI_BOMB_BAG_20: + return ITEM_BOMB_BAG_20; + case GI_BOMB_BAG_30: + return ITEM_BOMB_BAG_30; + case GI_BOMB_BAG_40: + return ITEM_BOMB_BAG_40; + case GI_BRACELET: + return ITEM_BRACELET; + case GI_GAUNTLETS_SILVER: + return ITEM_GAUNTLETS_SILVER; + case GI_GAUNTLETS_GOLD: + return ITEM_GAUNTLETS_GOLD; + case GI_SCALE_SILVER: + return ITEM_SCALE_SILVER; + case GI_SCALE_GOLD: + return ITEM_SCALE_GOLDEN; + case GI_SWORD_KNIFE: + return ITEM_SWORD_KNIFE; + case GI_WALLET_ADULT: + return ITEM_WALLET_ADULT; + case GI_WALLET_GIANT: + return ITEM_WALLET_GIANT; + case GI_MEDALLION_FOREST: + return ITEM_MEDALLION_FOREST; case GI_MEDALLION_FIRE: return ITEM_MEDALLION_FIRE; + case GI_MEDALLION_WATER: + return ITEM_MEDALLION_WATER; + case GI_MEDALLION_SHADOW: + return ITEM_MEDALLION_SPIRIT; + case GI_MEDALLION_SPIRIT: + return ITEM_MEDALLION_SHADOW; + case GI_MEDALLION_LIGHT: + return ITEM_MEDALLION_LIGHT; + case GI_STONE_KOKIRI: + return ITEM_KOKIRI_EMERALD; + case GI_STONE_GORON: + return ITEM_GORON_RUBY; + case GI_STONE_ZORA: + return ITEM_ZORA_SAPPHIRE; + case GI_STONE_OF_AGONY: + return ITEM_STONE_OF_AGONY; + case GI_GERUDO_CARD: + return ITEM_GERUDO_CARD; + case GI_HEART_CONTAINER: + return ITEM_HEART_CONTAINER; + case GI_HEART_PIECE: + return ITEM_HEART_PIECE; + case GI_KEY_BOSS: + return ITEM_KEY_BOSS; + case GI_COMPASS: + return ITEM_COMPASS; + case GI_MAP: + return ITEM_DUNGEON_MAP; + case GI_KEY_SMALL: + return ITEM_KEY_SMALL; + case GI_MAGIC_SMALL: + return ITEM_MAGIC_SMALL; + case GI_MAGIC_LARGE: + return ITEM_MAGIC_LARGE; + case GI_MILK: + return ITEM_MILK; + case GI_HEART: + return ITEM_HEART; + case GI_RUPEE_GREEN: + return ITEM_RUPEE_GREEN; + case GI_RUPEE_BLUE: + return ITEM_RUPEE_BLUE; + case GI_RUPEE_RED: + return ITEM_RUPEE_RED; + case GI_RUPEE_PURPLE: + return ITEM_RUPEE_PURPLE; + case GI_RUPEE_GOLD: + return ITEM_RUPEE_GOLD; + case GI_STICKS_5: + return ITEM_STICKS_5; + case GI_STICKS_10: + return ITEM_STICKS_10; + case GI_NUTS_5: + return ITEM_NUTS_5; + case GI_NUTS_10: + return ITEM_NUTS_10; + case GI_BOMBS_5: + return ITEM_BOMBS_5; + case GI_BOMBS_10: + return ITEM_BOMBS_10; + case GI_BOMBS_20: + return ITEM_BOMBS_20; + case GI_BOMBS_30: + return ITEM_BOMBS_30; + case GI_ARROWS_SMALL: + return ITEM_ARROWS_SMALL; + case GI_ARROWS_MEDIUM: + return ITEM_ARROWS_MEDIUM; + case GI_ARROWS_LARGE: + return ITEM_ARROWS_LARGE; + case GI_SEEDS_30: + return ITEM_SEEDS_30; + case GI_BOMBCHUS_5: + return ITEM_BOMBCHUS_5; + case GI_BOMBCHUS_20: + return ITEM_BOMBCHUS_20; + case GI_STICK_UPGRADE_20: + return ITEM_STICK_UPGRADE_20; + case GI_STICK_UPGRADE_30: + return ITEM_STICK_UPGRADE_30; + case GI_NUT_UPGRADE_30: + return ITEM_NUT_UPGRADE_30; + case GI_NUT_UPGRADE_40: + return ITEM_NUT_UPGRADE_40; + case GI_NONE: + default: + return ITEM_NONE; } } @@ -1041,6 +1280,10 @@ GetItemID Randomizer::GetItemFromGet(RandomizerGet randoGet, GetItemID ogItemId) } } +GetItemID Randomizer::GetRandomizedItemIdFromKnownCheck(RandomizerCheck randomizerCheck, GetItemID ogId) { + return GetItemFromGet(this->itemLocations[randomizerCheck], ogId); +} + RandomizerCheck Randomizer::GetCheckFromActor(s16 sceneNum, s16 actorId, s16 actorParams) { if (!gSaveContext.n64ddFlag) { return UNKNOWN_CHECK; diff --git a/soh/soh/Enhancements/randomizer.h b/soh/soh/Enhancements/randomizer.h index cdeb947be..57d1faa72 100644 --- a/soh/soh/Enhancements/randomizer.h +++ b/soh/soh/Enhancements/randomizer.h @@ -21,8 +21,8 @@ class Randomizer { s16 GetItemModelFromId(s16 itemId); void LoadItemLocations(const char* spoilerFileName); void ParseItemLocations(const char* spoilerFileName); - ItemID GetItemIdFromGetItem(GetItemID getItemId); - ItemID GetItemFromGetItem(GetItemID getItemId); + ItemID GetItemidFromGetitemid(GetItemID getItemId); + GetItemID GetRandomizedItemIdFromKnownCheck(RandomizerCheck randomizerCheck, GetItemID ogId); GetItemID GetRandomizedItemId(GetItemID ogId, s16 actorId, s16 actorParams, s16 sceneNum); }; diff --git a/soh/soh/OTRGlobals.cpp b/soh/soh/OTRGlobals.cpp index 4ca7155d9..30df1264b 100644 --- a/soh/soh/OTRGlobals.cpp +++ b/soh/soh/OTRGlobals.cpp @@ -1040,10 +1040,10 @@ extern "C" s32 GetRandomizedItemId(GetItemID ogId, s16 actorId, s16 actorParams, return OTRGlobals::Instance->gRandomizer->GetRandomizedItemId(ogId, actorId, actorParams, sceneNum); } -extern "C" ItemID GetItemIdFromGetItem(GetItemID getItemId) { - return OTRGlobals::Instance->gRandomizer->GetItemIdFromGetItem(getItemId); +extern "C" s32 GetRandomizedItemIdFromKnownCheck(RandomizerCheck randomizerCheck, GetItemID ogId) { + return OTRGlobals::Instance->gRandomizer->GetRandomizedItemIdFromKnownCheck(randomizerCheck, ogId); } -extern "C" ItemID GetItemFromGetItem(GetItemID getItemId) { - return OTRGlobals::Instance->gRandomizer->GetItemFromGetItem(getItemId); +extern "C" ItemID GetItemidFromGetitemid(GetItemID getItemId) { + return OTRGlobals::Instance->gRandomizer->GetItemidFromGetitemid(getItemId); } \ No newline at end of file diff --git a/soh/soh/OTRGlobals.h b/soh/soh/OTRGlobals.h index 433905b0d..5e3c20f04 100644 --- a/soh/soh/OTRGlobals.h +++ b/soh/soh/OTRGlobals.h @@ -78,9 +78,9 @@ void LoadItemLocations(const char* spoilerFileName); void ParseItemLocations(const char* spoilerfilename); ItemID GetItemIdFromGetItem(GetItemID getItemId); s16 GetItemModelFromId(s16 itemId); -ItemID GetItemFromGetItem(GetItemID getItemId); +ItemID GetItemidFromGetitemid(GetItemID getItemId); s32 GetRandomizedItemId(GetItemID ogId, s16 actorId, s16 actorParams, s16 sceneNum); - +s32 GetRandomizedItemIdFromKnownCheck(RandomizerCheck randomizerCheck, GetItemID ogId); #endif #endif \ No newline at end of file diff --git a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c index 5b13aab9b..829412d34 100644 --- a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c +++ b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c @@ -208,6 +208,8 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) { if (globalCtx->sceneNum != SCENE_DAIYOUSEI_IZUMI) { switch (this->fountainType) { + // todo ensure we're seting givingReward based on if the check has been checked, + // not based on if the spell is in inventory case FAIRY_SPELL_FARORES_WIND: if (!(gSaveContext.itemGetInf[1] & 0x100)) { givingReward = true; @@ -226,6 +228,8 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) { } } else { switch (this->fountainType) { + // todo ensure we're setting givingReward based on if the check has been checked, + // not based on magic meter case FAIRY_UPGRADE_MAGIC: if (!gSaveContext.magicAcquired || BREG(2)) { // "Spin Attack speed UP" @@ -764,7 +768,20 @@ void BgDyYoseizo_Give_Reward(BgDyYoseizo* this, GlobalContext* globalCtx) { gSaveContext.healthAccumulator = 0x140; Interface_ChangeAlpha(9); gSaveContext.itemGetInf[1] |= sItemGetFlags[actionIndex]; - Item_Give(globalCtx, sItemIds[actionIndex]); + if(gSaveContext.n64ddFlag) { + switch(sItemIds[actionIndex]) { + case ITEM_DINS_FIRE: + Item_Give(globalCtx, GetItemidFromGetitemid(GetRandomizedItemIdFromKnownCheck(OGC_GREAT_FAIRY_REWARD, GI_DINS_FIRE))); + break; + case ITEM_FARORES_WIND: + Item_Give(globalCtx, GetItemidFromGetitemid(GetRandomizedItemIdFromKnownCheck(ZF_GREAT_FAIRY_REWARD, GI_FARORES_WIND))); + break; + case ITEM_NAYRUS_LOVE: + Item_Give(globalCtx, GetItemidFromGetitemid(GetRandomizedItemIdFromKnownCheck(COLOSSUS_GREAT_FAIRY_REWARD, GI_NAYRUS_LOVE))); + } + } else { + Item_Give(globalCtx, sItemIds[actionIndex]); + } } } else { this->item->actor.world.pos.x = player->actor.world.pos.x; From d0e872ab29db711db55296b0f340fc43cf7ee77e Mon Sep 17 00:00:00 2001 From: briaguya Date: Mon, 30 May 2022 05:55:55 -0400 Subject: [PATCH 02/15] todo --- soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c | 1 + 1 file changed, 1 insertion(+) diff --git a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c index 829412d34..2e1e5fe1b 100644 --- a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c +++ b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c @@ -714,6 +714,7 @@ void BgDyYoseizo_Give_Reward(BgDyYoseizo* this, GlobalContext* globalCtx) { (globalCtx->csCtx.npcActions[0]->action < 13)) { actionIndex = globalCtx->csCtx.npcActions[0]->action - 10; + // todo figure out which checks to use here switch (actionIndex) { case FAIRY_UPGRADE_MAGIC: gSaveContext.magicAcquired = true; From b80b28cda23699343408b5384c6bc330b65f4857 Mon Sep 17 00:00:00 2001 From: briaguya Date: Mon, 30 May 2022 13:24:20 -0400 Subject: [PATCH 03/15] trying to figure out fairy get item animations --- soh/soh/Enhancements/randomizer.cpp | 5 ++ .../ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c | 51 +++++++++++++++---- 2 files changed, 47 insertions(+), 9 deletions(-) diff --git a/soh/soh/Enhancements/randomizer.cpp b/soh/soh/Enhancements/randomizer.cpp index f95e650cd..6fa707df8 100644 --- a/soh/soh/Enhancements/randomizer.cpp +++ b/soh/soh/Enhancements/randomizer.cpp @@ -1828,6 +1828,11 @@ RandomizerCheck Randomizer::GetCheckFromActor(s16 sceneNum, s16 actorId, s16 act case 262: return ZF_ICEBERG_FREESTANDING_POH; } + case 61: + switch(actorId) { + case 11: + return HC_GREAT_FAIRY_REWARD; + } } return UNKNOWN_CHECK; diff --git a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c index 2e1e5fe1b..dfe246fd8 100644 --- a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c +++ b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c @@ -211,19 +211,37 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) { // todo ensure we're seting givingReward based on if the check has been checked, // not based on if the spell is in inventory case FAIRY_SPELL_FARORES_WIND: - if (!(gSaveContext.itemGetInf[1] & 0x100)) { - givingReward = true; - } + // if (gSaveContext.n64ddFlag) { + // s32 getItemId = GetRandomizedItemId(GI_FARORES_WIND, this->actor.id, this->actor.params, globalCtx->sceneNum); + // func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); + // return; + // } else { + if (!(gSaveContext.itemGetInf[1] & 0x100)) { + givingReward = true; + } + // } break; case FAIRY_SPELL_DINS_FIRE: - if (!(gSaveContext.itemGetInf[1] & 0x200)) { - givingReward = true; - } + // if (gSaveContext.n64ddFlag) { + // s32 getItemId = GetRandomizedItemId(GI_DINS_FIRE, this->actor.id, this->actor.params, globalCtx->sceneNum); + // func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); + // return; + // } else { + if (!(gSaveContext.itemGetInf[1] & 0x200)) { + givingReward = true; + } + // } break; case FAIRY_SPELL_NAYRUS_LOVE: - if (!(gSaveContext.itemGetInf[1] & 0x400)) { - givingReward = true; - } + // if (gSaveContext.n64ddFlag) { + // s32 getItemId = GetRandomizedItemId(GI_NAYRUS_LOVE, this->actor.id, this->actor.params, globalCtx->sceneNum); + // func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); + // return; + // } else { + if (!(gSaveContext.itemGetInf[1] & 0x400)) { + givingReward = true; + } + // } break; } } else { @@ -262,14 +280,29 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) { if (globalCtx->sceneNum != SCENE_DAIYOUSEI_IZUMI) { switch (this->fountainType) { case FAIRY_SPELL_FARORES_WIND: + if (gSaveContext.n64ddFlag) { + s32 getItemId = GetRandomizedItemId(GI_FARORES_WIND, this->actor.id, this->actor.params, globalCtx->sceneNum); + func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); + return; + } globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyFaroresWindCs); gSaveContext.cutsceneTrigger = 1; break; case FAIRY_SPELL_DINS_FIRE: + if (gSaveContext.n64ddFlag) { + s32 getItemId = GetRandomizedItemId(GI_DINS_FIRE, this->actor.id, this->actor.params, globalCtx->sceneNum); + func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); + return; + } globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyDinsFireCs); gSaveContext.cutsceneTrigger = 1; break; case FAIRY_SPELL_NAYRUS_LOVE: + if (gSaveContext.n64ddFlag) { + s32 getItemId = GetRandomizedItemId(GI_NAYRUS_LOVE, this->actor.id, this->actor.params, globalCtx->sceneNum); + func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); + return; + } globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyNayrusLoveCs); gSaveContext.cutsceneTrigger = 1; break; From eb2262e05b31b0f6aa4712407af3eef0097d2588 Mon Sep 17 00:00:00 2001 From: briaguya Date: Mon, 30 May 2022 15:24:42 -0400 Subject: [PATCH 04/15] wip items from fairies --- .../ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c | 80 ++++++++++++++----- 1 file changed, 59 insertions(+), 21 deletions(-) diff --git a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c index dfe246fd8..139babac9 100644 --- a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c +++ b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c @@ -193,15 +193,40 @@ void BgDyYoseizo_CheckMagicAcquired(BgDyYoseizo* this, GlobalContext* globalCtx) return; } } + + if(gSaveContext.n64ddFlag) { + GivePlayerBlargRandoReward(this, GET_PLAYER(globalCtx), globalCtx); + return; + } + func_8002DF54(globalCtx, &this->actor, 1); this->actionFunc = BgDyYoseizo_ChooseType; } } +u8 blargSuccess; +void GivePlayerBlargRandoReward(BgDyYoseizo* this, Player* player, GlobalContext* globalCtx) { + GetItemID getItemId = GetRandomizedItemIdFromKnownCheck(HC_GREAT_FAIRY_REWARD, GI_NONE); + + if (blargSuccess && !Player_InBlockingCsMode(globalCtx, GET_PLAYER(globalCtx))) { + globalCtx->sceneLoadFlag = 0x14; + globalCtx->fadeTransition = 7; + gSaveContext.nextTransition = 3; + + // gSaveContext.eventChkInf[5] |= 0x200; + globalCtx->nextEntranceIndex = 0x0594; + gSaveContext.nextCutsceneIndex = 0; //Actor_Kill(&this->actor); + } else if (!blargSuccess) { + blargSuccess = func_8002F434(&this->actor, globalCtx, getItemId, 10000.0f, 100.0f); + } +} + void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) { s32 givingReward; + // if(!gSaveContext.n64ddFlag) { func_8002DF54(globalCtx, &this->actor, 1); + // } // "Mode" osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ もうど ☆☆☆☆☆ %d\n" VT_RST, globalCtx->msgCtx.ocarinaMode); givingReward = false; @@ -216,9 +241,11 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) { // func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); // return; // } else { + if (gSaveContext.n64ddFlag) { if (!(gSaveContext.itemGetInf[1] & 0x100)) { givingReward = true; } + } // } break; case FAIRY_SPELL_DINS_FIRE: @@ -275,34 +302,37 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) { } } - if (givingReward) { + if (givingReward && !gSaveContext.n64ddFlag) { if (gSaveContext.sceneSetupIndex < 4) { if (globalCtx->sceneNum != SCENE_DAIYOUSEI_IZUMI) { switch (this->fountainType) { case FAIRY_SPELL_FARORES_WIND: - if (gSaveContext.n64ddFlag) { - s32 getItemId = GetRandomizedItemId(GI_FARORES_WIND, this->actor.id, this->actor.params, globalCtx->sceneNum); - func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); - return; - } + // if (gSaveContext.n64ddFlag) { + // givingReward = false; + // s32 getItemId = GetRandomizedItemId(GI_FARORES_WIND, this->actor.id, this->actor.params, globalCtx->sceneNum); + // func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); + // return; + // } globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyFaroresWindCs); gSaveContext.cutsceneTrigger = 1; break; case FAIRY_SPELL_DINS_FIRE: - if (gSaveContext.n64ddFlag) { - s32 getItemId = GetRandomizedItemId(GI_DINS_FIRE, this->actor.id, this->actor.params, globalCtx->sceneNum); - func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); - return; - } + // if (gSaveContext.n64ddFlag) { + // givingReward = false; + // s32 getItemId = GetRandomizedItemId(GI_DINS_FIRE, this->actor.id, this->actor.params, globalCtx->sceneNum); + // func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); + // return; + // } globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyDinsFireCs); gSaveContext.cutsceneTrigger = 1; break; case FAIRY_SPELL_NAYRUS_LOVE: - if (gSaveContext.n64ddFlag) { - s32 getItemId = GetRandomizedItemId(GI_NAYRUS_LOVE, this->actor.id, this->actor.params, globalCtx->sceneNum); - func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); - return; - } + // if (gSaveContext.n64ddFlag) { + // givingReward = false; + // s32 getItemId = GetRandomizedItemId(GI_NAYRUS_LOVE, this->actor.id, this->actor.params, globalCtx->sceneNum); + // func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); + // return; + // } globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyNayrusLoveCs); gSaveContext.cutsceneTrigger = 1; break; @@ -329,12 +359,20 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) { } globalCtx->envCtx.unk_BF = 2; - - if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) { - OnePointCutscene_Init(globalCtx, 8603, -99, NULL, MAIN_CAM); + if(!gSaveContext.n64ddFlag) { + if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) { + OnePointCutscene_Init(globalCtx, 8603, -99, NULL, MAIN_CAM); + } else { + OnePointCutscene_Init(globalCtx, 8604, -99, NULL, MAIN_CAM); + }; } else { - OnePointCutscene_Init(globalCtx, 8604, -99, NULL, MAIN_CAM); - }; + if (gSaveContext.n64ddFlag) { + givingReward = false; + s32 getItemId = GetRandomizedItemId(GI_FARORES_WIND, this->actor.id, this->actor.params, globalCtx->sceneNum); + func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); + return; + } + } Audio_PlayActorSound2(&this->actor, NA_SE_EV_GREAT_FAIRY_APPEAR); this->actor.draw = BgDyYoseizo_Draw; From da1e9bd91dec03c5201167922750bb3e5e444b2d Mon Sep 17 00:00:00 2001 From: briaguya Date: Mon, 30 May 2022 16:30:03 -0400 Subject: [PATCH 05/15] fairy rewards starting to work --- .../ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c | 80 ++++++++++++++----- 1 file changed, 59 insertions(+), 21 deletions(-) diff --git a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c index 139babac9..2532d8feb 100644 --- a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c +++ b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c @@ -31,6 +31,8 @@ void BgDyYoseizo_Update(Actor* thisx, GlobalContext* globalCtx); void BgDyYoseizo_Draw(Actor* thisx, GlobalContext* globalCtx); void BgDyYoseizo_CheckMagicAcquired(BgDyYoseizo* this, GlobalContext* globalCtx); +// void GivePlayerRandoRewardGreatFairy(BgDyYoseizo* this, GlobalContext* globalCtx); + void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx); void BgDyYoseizo_SetupSpinGrow_NoReward(BgDyYoseizo* this, GlobalContext* globalCtx); void BgDyYoseizo_SpinGrow_NoReward(BgDyYoseizo* this, GlobalContext* globalCtx); @@ -67,10 +69,47 @@ const ActorInit Bg_Dy_Yoseizo_InitVars = { NULL, }; +u8 successGreatFairy; +void GivePlayerRandoRewardGreatFairy(BgDyYoseizo* this, GlobalContext* globalCtx) { + Player* player = GET_PLAYER(globalCtx); + GetItemID getItemId = GetRandomizedItemIdFromKnownCheck(HC_GREAT_FAIRY_REWARD, GI_NONE); + + if (successGreatFairy && !Player_InBlockingCsMode(globalCtx, GET_PLAYER(globalCtx))) { + Flags_SetTreasure(globalCtx, this->fountainType + 1); + successGreatFairy = 0; + Actor_Kill(&this->actor); + // globalCtx->sceneLoadFlag = 0x14; + // globalCtx->fadeTransition = 7; + // gSaveContext.nextTransition = 3; + + // // gSaveContext.eventChkInf[5] |= 0x200; + // globalCtx->nextEntranceIndex = 0x0594; + // gSaveContext.nextCutsceneIndex = 0; + } else if (!successGreatFairy) { + successGreatFairy = func_8002F434(&this->actor, globalCtx, getItemId, 10000.0f, 100.0f); + } +} + + void BgDyYoseizo_Init(Actor* thisx, GlobalContext* globalCtx2) { GlobalContext* globalCtx = globalCtx2; BgDyYoseizo* this = (BgDyYoseizo*)thisx; + // if(gSaveContext.n64ddFlag) { + // GivePlayerBlargRandoReward(this, GET_PLAYER(globalCtx), globalCtx); + // return; + // } + // if(gSaveContext.n64ddFlag) { + // if(Flags_GetCollectible(globalCtx, this->fountainType)) { + // gSaveContext.healthAccumulator = 0x140; + // Magic_Fill(globalCtx); + // Actor_Kill(&this->actor); + // } else { + // this->actionFunc = GivePlayerBlargRandoReward; + // } + // return; + // } + this->fountainType = globalCtx->curSpawn; if (this->fountainType < 0) { @@ -92,7 +131,9 @@ void BgDyYoseizo_Init(Actor* thisx, GlobalContext* globalCtx2) { SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gGreatFairySkel, &gGreatFairyLayingDownTransitionAnim, this->jointTable, this->morphTable, 28); } + this->actionFunc = BgDyYoseizo_CheckMagicAcquired; + } void BgDyYoseizo_Destroy(Actor* this, GlobalContext* globalCtx) { @@ -180,8 +221,26 @@ void BgDyYoseizo_Bob(BgDyYoseizo* this, GlobalContext* globalCtx) { } void BgDyYoseizo_CheckMagicAcquired(BgDyYoseizo* this, GlobalContext* globalCtx) { + // if(gSaveContext.n64ddFlag) { + // GivePlayerBlargRandoReward(this, GET_PLAYER(globalCtx), globalCtx); + // return; + // } + + if (Flags_GetSwitch(globalCtx, 0x38)) { globalCtx->msgCtx.ocarinaMode = OCARINA_MODE_04; + + if(gSaveContext.n64ddFlag) { + gSaveContext.healthAccumulator = 0x140; + Magic_Fill(globalCtx); + if(Flags_GetTreasure(globalCtx, this->fountainType + 1)) { + Actor_Kill(&this->actor); + } else { + GivePlayerRandoRewardGreatFairy(this, globalCtx); + } + return; + } + if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) { if (!gSaveContext.magicAcquired && (this->fountainType != FAIRY_UPGRADE_MAGIC)) { Actor_Kill(&this->actor); @@ -194,32 +253,11 @@ void BgDyYoseizo_CheckMagicAcquired(BgDyYoseizo* this, GlobalContext* globalCtx) } } - if(gSaveContext.n64ddFlag) { - GivePlayerBlargRandoReward(this, GET_PLAYER(globalCtx), globalCtx); - return; - } - func_8002DF54(globalCtx, &this->actor, 1); this->actionFunc = BgDyYoseizo_ChooseType; } } -u8 blargSuccess; -void GivePlayerBlargRandoReward(BgDyYoseizo* this, Player* player, GlobalContext* globalCtx) { - GetItemID getItemId = GetRandomizedItemIdFromKnownCheck(HC_GREAT_FAIRY_REWARD, GI_NONE); - - if (blargSuccess && !Player_InBlockingCsMode(globalCtx, GET_PLAYER(globalCtx))) { - globalCtx->sceneLoadFlag = 0x14; - globalCtx->fadeTransition = 7; - gSaveContext.nextTransition = 3; - - // gSaveContext.eventChkInf[5] |= 0x200; - globalCtx->nextEntranceIndex = 0x0594; - gSaveContext.nextCutsceneIndex = 0; //Actor_Kill(&this->actor); - } else if (!blargSuccess) { - blargSuccess = func_8002F434(&this->actor, globalCtx, getItemId, 10000.0f, 100.0f); - } -} void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) { s32 givingReward; From 44b1233ded15b380a48b383f18e1cca912636967 Mon Sep 17 00:00:00 2001 From: briaguya Date: Mon, 30 May 2022 17:04:34 -0400 Subject: [PATCH 06/15] fairy rewards working --- soh/soh/Enhancements/randomizer.cpp | 39 ++++++++++++++++++- .../ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c | 3 +- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/soh/soh/Enhancements/randomizer.cpp b/soh/soh/Enhancements/randomizer.cpp index 6fa707df8..4f546ce04 100644 --- a/soh/soh/Enhancements/randomizer.cpp +++ b/soh/soh/Enhancements/randomizer.cpp @@ -1231,6 +1231,26 @@ GetItemID Randomizer::GetItemFromGet(RandomizerGet randoGet, GetItemID ogItemId) return GI_SEEDS_30; case BOTTLE_WITH_BIG_POE: return GI_BIG_POE; + case BOTTLE: + return GI_BOTTLE; + case BOTTLE_WITH_BLUE_FIRE: + return GI_BLUE_FIRE; + case BOTTLE_WITH_BLUE_POTION: + return GI_POTION_BLUE; + case BOTTLE_WITH_BUGS: + return GI_BUGS; + case BOTTLE_WITH_FAIRY: + return GI_FAIRY; + case BOTTLE_WITH_FISH: + return GI_FISH; + case BOTTLE_WITH_GREEN_POTION: + return GI_POTION_GREEN; + case BOTTLE_WITH_MILK: + return GI_MILK_BOTTLE; + case BOTTLE_WITH_POE: + return GI_POE; + case BOTTLE_WITH_RED_POTION: + return GI_POTION_RED; case PIECE_OF_HEART_TREASURE_CHEST_GAME: return GI_HEART_PIECE_WIN; case DEKU_STICK_CAPACITY: @@ -1828,10 +1848,25 @@ RandomizerCheck Randomizer::GetCheckFromActor(s16 sceneNum, s16 actorId, s16 act case 262: return ZF_ICEBERG_FREESTANDING_POH; } + case 59: + // using fountainType as actorParams + switch(actorParams) { + case 1: + return DMT_GREAT_FAIRY_REWARD; + case 2: + return DMC_GREAT_FAIRY_REWARD; + case 3: + return OGC_GREAT_FAIRY_REWARD; + } case 61: - switch(actorId) { - case 11: + // using fountainType as actorParams + switch(actorParams) { + case 1: + return ZF_GREAT_FAIRY_REWARD; + case 2: return HC_GREAT_FAIRY_REWARD; + case 3: + return COLOSSUS_GREAT_FAIRY_REWARD; } } diff --git a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c index 2532d8feb..25fe014cf 100644 --- a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c +++ b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c @@ -72,7 +72,8 @@ const ActorInit Bg_Dy_Yoseizo_InitVars = { u8 successGreatFairy; void GivePlayerRandoRewardGreatFairy(BgDyYoseizo* this, GlobalContext* globalCtx) { Player* player = GET_PLAYER(globalCtx); - GetItemID getItemId = GetRandomizedItemIdFromKnownCheck(HC_GREAT_FAIRY_REWARD, GI_NONE); + GetItemID getItemId = GetRandomizedItemId(GI_NONE, this->actor.id, this->fountainType + 1, globalCtx->sceneNum); + // GetItemID getItemId = GetRandomizedItemIdFromKnownCheck(HC_GREAT_FAIRY_REWARD, GI_NONE); if (successGreatFairy && !Player_InBlockingCsMode(globalCtx, GET_PLAYER(globalCtx))) { Flags_SetTreasure(globalCtx, this->fountainType + 1); From 6ba055a930dacb0aa5f77de45b4aeeb5cb5c4a69 Mon Sep 17 00:00:00 2001 From: briaguya Date: Mon, 30 May 2022 17:05:59 -0400 Subject: [PATCH 07/15] begin cleanup --- soh/soh/Enhancements/randomizer.cpp | 250 ---------------------------- 1 file changed, 250 deletions(-) diff --git a/soh/soh/Enhancements/randomizer.cpp b/soh/soh/Enhancements/randomizer.cpp index 4f546ce04..632a4778d 100644 --- a/soh/soh/Enhancements/randomizer.cpp +++ b/soh/soh/Enhancements/randomizer.cpp @@ -791,256 +791,6 @@ GetItemID Randomizer::GetItemFromActor(s16 actorId, s16 actorParams, s16 sceneNu return GetItemFromGet(this->itemLocations[GetCheckFromActor(sceneNum, actorId, actorParams)], ogItemId); } -ItemID Randomizer::GetItemidFromGetitemid(GetItemID getItemId) { - switch (getItemId) { - case GI_STICKS_1: - return ITEM_STICK; - case GI_BOMBS_1: - return ITEM_BOMB; - case GI_BOW: - return ITEM_BOW; - case GI_ARROW_FIRE: - return ITEM_ARROW_FIRE; - case GI_DINS_FIRE: - return ITEM_DINS_FIRE; - case GI_SLINGSHOT: - return ITEM_SLINGSHOT; - case GI_OCARINA_FAIRY: - return ITEM_OCARINA_FAIRY; - case GI_OCARINA_OOT: - return ITEM_OCARINA_TIME; - case GI_LONGSHOT: - return ITEM_BOMBCHU; - case GI_HOOKSHOT: - return ITEM_HOOKSHOT; - case GI_LETTER_ZELDA: - return ITEM_LONGSHOT; - case GI_ARROW_ICE: - return ITEM_ARROW_ICE; - case GI_FARORES_WIND: - return ITEM_FARORES_WIND; - case GI_BOOMERANG: - return ITEM_BOOMERANG; - case GI_LENS: - return ITEM_LENS; - case GI_BEAN: - return ITEM_BEAN; - case GI_HAMMER: - return ITEM_HAMMER; - case GI_ARROW_LIGHT: - return ITEM_ARROW_LIGHT; - case GI_NAYRUS_LOVE: - return ITEM_NAYRUS_LOVE; - case GI_BOTTLE: - return ITEM_BOTTLE; - case GI_POTION_RED: - return ITEM_POTION_RED; - case GI_POTION_GREEN: - return ITEM_POTION_GREEN; - case GI_POTION_BLUE: - return ITEM_POTION_BLUE; - case GI_FAIRY: - return ITEM_FAIRY; - case GI_FISH: - return ITEM_FISH; - case GI_MILK_BOTTLE: - return ITEM_MILK_BOTTLE; - case GI_LETTER_RUTO: - return ITEM_LETTER_RUTO; - case GI_BLUE_FIRE: - return ITEM_BLUE_FIRE; - case GI_BUGS: - return ITEM_BUG; - case GI_BIG_POE: - return ITEM_BIG_POE; - case GI_POE: - return ITEM_POE; - case GI_WEIRD_EGG: - return ITEM_WEIRD_EGG; - case GI_CHICKEN: - return ITEM_CHICKEN; - case GI_MASK_KEATON: - return ITEM_MASK_KEATON; - case GI_MASK_SKULL: - return ITEM_MASK_SKULL; - case GI_MASK_SPOOKY: - return ITEM_MASK_SPOOKY; - case GI_MASK_BUNNY: - return ITEM_MASK_BUNNY; - case GI_MASK_GORON: - return ITEM_MASK_GORON; - case GI_MASK_ZORA: - return ITEM_MASK_ZORA; - case GI_MASK_GERUDO: - return ITEM_MASK_GERUDO; - case GI_MASK_TRUTH: - return ITEM_MASK_TRUTH; - case GI_POCKET_EGG: - return ITEM_POCKET_EGG; - case GI_POCKET_CUCCO: - return ITEM_POCKET_CUCCO; - case GI_COJIRO: - return ITEM_COJIRO; - case GI_ODD_MUSHROOM: - return ITEM_ODD_MUSHROOM; - case GI_ODD_POTION: - return ITEM_ODD_POTION; - case GI_SAW: - return ITEM_SAW; - case GI_SWORD_BROKEN: - return ITEM_SWORD_BROKEN; - case GI_PRESCRIPTION: - return ITEM_PRESCRIPTION; - case GI_FROG: - return ITEM_FROG; - case GI_EYEDROPS: - return ITEM_EYEDROPS; - case GI_CLAIM_CHECK: - return ITEM_CLAIM_CHECK; - case GI_SWORD_KOKIRI: - return ITEM_SWORD_KOKIRI; - case GI_SWORD_BGS: - return ITEM_SWORD_BGS; - case GI_SHIELD_DEKU: - return ITEM_SHIELD_DEKU; - case GI_SHIELD_HYLIAN: - return ITEM_SHIELD_HYLIAN; - case GI_SHIELD_MIRROR: - return ITEM_SHIELD_MIRROR; - case GI_TUNIC_GORON: - return ITEM_TUNIC_GORON; - case GI_TUNIC_ZORA: - return ITEM_TUNIC_ZORA; - case GI_BOOTS_IRON: - return ITEM_BOOTS_IRON; - case GI_BOOTS_HOVER: - return ITEM_BOOTS_HOVER; - case GI_BULLET_BAG_30: - return ITEM_BULLET_BAG_30; - case GI_BULLET_BAG_40: - return ITEM_BULLET_BAG_40; - case GI_BULLET_BAG_50: - return ITEM_BULLET_BAG_50; - case GI_QUIVER_40: - return ITEM_QUIVER_40; - case GI_QUIVER_50: - return ITEM_QUIVER_50; - case GI_BOMB_BAG_20: - return ITEM_BOMB_BAG_20; - case GI_BOMB_BAG_30: - return ITEM_BOMB_BAG_30; - case GI_BOMB_BAG_40: - return ITEM_BOMB_BAG_40; - case GI_BRACELET: - return ITEM_BRACELET; - case GI_GAUNTLETS_SILVER: - return ITEM_GAUNTLETS_SILVER; - case GI_GAUNTLETS_GOLD: - return ITEM_GAUNTLETS_GOLD; - case GI_SCALE_SILVER: - return ITEM_SCALE_SILVER; - case GI_SCALE_GOLD: - return ITEM_SCALE_GOLDEN; - case GI_SWORD_KNIFE: - return ITEM_SWORD_KNIFE; - case GI_WALLET_ADULT: - return ITEM_WALLET_ADULT; - case GI_WALLET_GIANT: - return ITEM_WALLET_GIANT; - case GI_MEDALLION_FOREST: - return ITEM_MEDALLION_FOREST; - case GI_MEDALLION_FIRE: - return ITEM_MEDALLION_FIRE; - case GI_MEDALLION_WATER: - return ITEM_MEDALLION_WATER; - case GI_MEDALLION_SHADOW: - return ITEM_MEDALLION_SPIRIT; - case GI_MEDALLION_SPIRIT: - return ITEM_MEDALLION_SHADOW; - case GI_MEDALLION_LIGHT: - return ITEM_MEDALLION_LIGHT; - case GI_STONE_KOKIRI: - return ITEM_KOKIRI_EMERALD; - case GI_STONE_GORON: - return ITEM_GORON_RUBY; - case GI_STONE_ZORA: - return ITEM_ZORA_SAPPHIRE; - case GI_STONE_OF_AGONY: - return ITEM_STONE_OF_AGONY; - case GI_GERUDO_CARD: - return ITEM_GERUDO_CARD; - case GI_HEART_CONTAINER: - return ITEM_HEART_CONTAINER; - case GI_HEART_PIECE: - return ITEM_HEART_PIECE; - case GI_KEY_BOSS: - return ITEM_KEY_BOSS; - case GI_COMPASS: - return ITEM_COMPASS; - case GI_MAP: - return ITEM_DUNGEON_MAP; - case GI_KEY_SMALL: - return ITEM_KEY_SMALL; - case GI_MAGIC_SMALL: - return ITEM_MAGIC_SMALL; - case GI_MAGIC_LARGE: - return ITEM_MAGIC_LARGE; - case GI_MILK: - return ITEM_MILK; - case GI_HEART: - return ITEM_HEART; - case GI_RUPEE_GREEN: - return ITEM_RUPEE_GREEN; - case GI_RUPEE_BLUE: - return ITEM_RUPEE_BLUE; - case GI_RUPEE_RED: - return ITEM_RUPEE_RED; - case GI_RUPEE_PURPLE: - return ITEM_RUPEE_PURPLE; - case GI_RUPEE_GOLD: - return ITEM_RUPEE_GOLD; - case GI_STICKS_5: - return ITEM_STICKS_5; - case GI_STICKS_10: - return ITEM_STICKS_10; - case GI_NUTS_5: - return ITEM_NUTS_5; - case GI_NUTS_10: - return ITEM_NUTS_10; - case GI_BOMBS_5: - return ITEM_BOMBS_5; - case GI_BOMBS_10: - return ITEM_BOMBS_10; - case GI_BOMBS_20: - return ITEM_BOMBS_20; - case GI_BOMBS_30: - return ITEM_BOMBS_30; - case GI_ARROWS_SMALL: - return ITEM_ARROWS_SMALL; - case GI_ARROWS_MEDIUM: - return ITEM_ARROWS_MEDIUM; - case GI_ARROWS_LARGE: - return ITEM_ARROWS_LARGE; - case GI_SEEDS_30: - return ITEM_SEEDS_30; - case GI_BOMBCHUS_5: - return ITEM_BOMBCHUS_5; - case GI_BOMBCHUS_20: - return ITEM_BOMBCHUS_20; - case GI_STICK_UPGRADE_20: - return ITEM_STICK_UPGRADE_20; - case GI_STICK_UPGRADE_30: - return ITEM_STICK_UPGRADE_30; - case GI_NUT_UPGRADE_30: - return ITEM_NUT_UPGRADE_30; - case GI_NUT_UPGRADE_40: - return ITEM_NUT_UPGRADE_40; - case GI_NONE: - default: - return ITEM_NONE; - } -} - GetItemID Randomizer::GetItemFromGet(RandomizerGet randoGet, GetItemID ogItemId) { switch(randoGet) { case UNKNOWN_GET: From 8558e7234b5614a7b6e91286f0fc0a693923b54e Mon Sep 17 00:00:00 2001 From: briaguya Date: Mon, 30 May 2022 17:08:18 -0400 Subject: [PATCH 08/15] more cleaning --- soh/soh/Enhancements/randomizer.h | 1 - soh/soh/OTRGlobals.cpp | 4 ---- soh/soh/OTRGlobals.h | 1 - 3 files changed, 6 deletions(-) diff --git a/soh/soh/Enhancements/randomizer.h b/soh/soh/Enhancements/randomizer.h index 57d1faa72..6df2dcb3f 100644 --- a/soh/soh/Enhancements/randomizer.h +++ b/soh/soh/Enhancements/randomizer.h @@ -21,7 +21,6 @@ class Randomizer { s16 GetItemModelFromId(s16 itemId); void LoadItemLocations(const char* spoilerFileName); void ParseItemLocations(const char* spoilerFileName); - ItemID GetItemidFromGetitemid(GetItemID getItemId); GetItemID GetRandomizedItemIdFromKnownCheck(RandomizerCheck randomizerCheck, GetItemID ogId); GetItemID GetRandomizedItemId(GetItemID ogId, s16 actorId, s16 actorParams, s16 sceneNum); }; diff --git a/soh/soh/OTRGlobals.cpp b/soh/soh/OTRGlobals.cpp index 30df1264b..02a039da7 100644 --- a/soh/soh/OTRGlobals.cpp +++ b/soh/soh/OTRGlobals.cpp @@ -1043,7 +1043,3 @@ extern "C" s32 GetRandomizedItemId(GetItemID ogId, s16 actorId, s16 actorParams, extern "C" s32 GetRandomizedItemIdFromKnownCheck(RandomizerCheck randomizerCheck, GetItemID ogId) { return OTRGlobals::Instance->gRandomizer->GetRandomizedItemIdFromKnownCheck(randomizerCheck, ogId); } - -extern "C" ItemID GetItemidFromGetitemid(GetItemID getItemId) { - return OTRGlobals::Instance->gRandomizer->GetItemidFromGetitemid(getItemId); -} \ No newline at end of file diff --git a/soh/soh/OTRGlobals.h b/soh/soh/OTRGlobals.h index 5e3c20f04..c541cd92d 100644 --- a/soh/soh/OTRGlobals.h +++ b/soh/soh/OTRGlobals.h @@ -78,7 +78,6 @@ void LoadItemLocations(const char* spoilerFileName); void ParseItemLocations(const char* spoilerfilename); ItemID GetItemIdFromGetItem(GetItemID getItemId); s16 GetItemModelFromId(s16 itemId); -ItemID GetItemidFromGetitemid(GetItemID getItemId); s32 GetRandomizedItemId(GetItemID ogId, s16 actorId, s16 actorParams, s16 sceneNum); s32 GetRandomizedItemIdFromKnownCheck(RandomizerCheck randomizerCheck, GetItemID ogId); #endif From ae8fa55bb86daae2e34e8df6aa118b735a0aae70 Mon Sep 17 00:00:00 2001 From: briaguya Date: Mon, 30 May 2022 17:09:54 -0400 Subject: [PATCH 09/15] remove some commented out code --- .../ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c | 25 ------------------- 1 file changed, 25 deletions(-) diff --git a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c index 25fe014cf..d4b3a98d6 100644 --- a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c +++ b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c @@ -31,8 +31,6 @@ void BgDyYoseizo_Update(Actor* thisx, GlobalContext* globalCtx); void BgDyYoseizo_Draw(Actor* thisx, GlobalContext* globalCtx); void BgDyYoseizo_CheckMagicAcquired(BgDyYoseizo* this, GlobalContext* globalCtx); -// void GivePlayerRandoRewardGreatFairy(BgDyYoseizo* this, GlobalContext* globalCtx); - void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx); void BgDyYoseizo_SetupSpinGrow_NoReward(BgDyYoseizo* this, GlobalContext* globalCtx); void BgDyYoseizo_SpinGrow_NoReward(BgDyYoseizo* this, GlobalContext* globalCtx); @@ -73,19 +71,11 @@ u8 successGreatFairy; void GivePlayerRandoRewardGreatFairy(BgDyYoseizo* this, GlobalContext* globalCtx) { Player* player = GET_PLAYER(globalCtx); GetItemID getItemId = GetRandomizedItemId(GI_NONE, this->actor.id, this->fountainType + 1, globalCtx->sceneNum); - // GetItemID getItemId = GetRandomizedItemIdFromKnownCheck(HC_GREAT_FAIRY_REWARD, GI_NONE); if (successGreatFairy && !Player_InBlockingCsMode(globalCtx, GET_PLAYER(globalCtx))) { Flags_SetTreasure(globalCtx, this->fountainType + 1); successGreatFairy = 0; Actor_Kill(&this->actor); - // globalCtx->sceneLoadFlag = 0x14; - // globalCtx->fadeTransition = 7; - // gSaveContext.nextTransition = 3; - - // // gSaveContext.eventChkInf[5] |= 0x200; - // globalCtx->nextEntranceIndex = 0x0594; - // gSaveContext.nextCutsceneIndex = 0; } else if (!successGreatFairy) { successGreatFairy = func_8002F434(&this->actor, globalCtx, getItemId, 10000.0f, 100.0f); } @@ -96,21 +86,6 @@ void BgDyYoseizo_Init(Actor* thisx, GlobalContext* globalCtx2) { GlobalContext* globalCtx = globalCtx2; BgDyYoseizo* this = (BgDyYoseizo*)thisx; - // if(gSaveContext.n64ddFlag) { - // GivePlayerBlargRandoReward(this, GET_PLAYER(globalCtx), globalCtx); - // return; - // } - // if(gSaveContext.n64ddFlag) { - // if(Flags_GetCollectible(globalCtx, this->fountainType)) { - // gSaveContext.healthAccumulator = 0x140; - // Magic_Fill(globalCtx); - // Actor_Kill(&this->actor); - // } else { - // this->actionFunc = GivePlayerBlargRandoReward; - // } - // return; - // } - this->fountainType = globalCtx->curSpawn; if (this->fountainType < 0) { From d54d429e77dbf36aa1caf778fb3769594ac4738c Mon Sep 17 00:00:00 2001 From: briaguya Date: Mon, 30 May 2022 17:10:22 -0400 Subject: [PATCH 10/15] remove lines --- .../gamestates/ovl_file_choose/z_file_nameset_PAL.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/soh/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c b/soh/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c index c36ee957a..c45e478d8 100644 --- a/soh/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c +++ b/soh/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c @@ -449,6 +449,19 @@ void FileChoose_DrawNameEntry(GameState* thisx) { dayTime = ((void)0, gSaveContext.dayTime); + // hacky function for testing + // while drag and drop is broken on linux + // enter "rando" as file name + // if(this->fileNames[1][0] == '5' && + // this->fileNames[1][1] == '$' && + // this->fileNames[1][2] == '1' && + // this->fileNames[1][3] == '\'' && + // this->fileNames[1][4] == '2') + // { + ParseItemLocations("spoiler.json"); + LoadItemLocations("spoiler.json"); + // } + Sram_InitSave(this, &this->sramCtx); // todo: fill link's pocket here From 5ac97c9f0f13e0a884ee665faab3aff64a936e73 Mon Sep 17 00:00:00 2001 From: briaguya Date: Mon, 30 May 2022 17:10:37 -0400 Subject: [PATCH 11/15] remove lines --- soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c index d4b3a98d6..513569dba 100644 --- a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c +++ b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c @@ -107,9 +107,7 @@ void BgDyYoseizo_Init(Actor* thisx, GlobalContext* globalCtx2) { SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gGreatFairySkel, &gGreatFairyLayingDownTransitionAnim, this->jointTable, this->morphTable, 28); } - this->actionFunc = BgDyYoseizo_CheckMagicAcquired; - } void BgDyYoseizo_Destroy(Actor* this, GlobalContext* globalCtx) { From e41f6bd743cbc11445b014ef4e593706fe47d31f Mon Sep 17 00:00:00 2001 From: briaguya Date: Mon, 30 May 2022 17:11:34 -0400 Subject: [PATCH 12/15] cleaaannnnn --- .../overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c index 513569dba..be61f52a6 100644 --- a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c +++ b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c @@ -195,12 +195,6 @@ void BgDyYoseizo_Bob(BgDyYoseizo* this, GlobalContext* globalCtx) { } void BgDyYoseizo_CheckMagicAcquired(BgDyYoseizo* this, GlobalContext* globalCtx) { - // if(gSaveContext.n64ddFlag) { - // GivePlayerBlargRandoReward(this, GET_PLAYER(globalCtx), globalCtx); - // return; - // } - - if (Flags_GetSwitch(globalCtx, 0x38)) { globalCtx->msgCtx.ocarinaMode = OCARINA_MODE_04; @@ -226,7 +220,6 @@ void BgDyYoseizo_CheckMagicAcquired(BgDyYoseizo* this, GlobalContext* globalCtx) return; } } - func_8002DF54(globalCtx, &this->actor, 1); this->actionFunc = BgDyYoseizo_ChooseType; } From ef27ab912e1ae7c0fe98bdd0217ef635a86e4fb6 Mon Sep 17 00:00:00 2001 From: briaguya Date: Mon, 30 May 2022 17:13:24 -0400 Subject: [PATCH 13/15] revert choosetype --- .../ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c | 81 ++++--------------- 1 file changed, 14 insertions(+), 67 deletions(-) diff --git a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c index be61f52a6..85762b12f 100644 --- a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c +++ b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c @@ -225,61 +225,34 @@ void BgDyYoseizo_CheckMagicAcquired(BgDyYoseizo* this, GlobalContext* globalCtx) } } - void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) { s32 givingReward; - // if(!gSaveContext.n64ddFlag) { func_8002DF54(globalCtx, &this->actor, 1); - // } // "Mode" osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ もうど ☆☆☆☆☆ %d\n" VT_RST, globalCtx->msgCtx.ocarinaMode); givingReward = false; if (globalCtx->sceneNum != SCENE_DAIYOUSEI_IZUMI) { switch (this->fountainType) { - // todo ensure we're seting givingReward based on if the check has been checked, - // not based on if the spell is in inventory case FAIRY_SPELL_FARORES_WIND: - // if (gSaveContext.n64ddFlag) { - // s32 getItemId = GetRandomizedItemId(GI_FARORES_WIND, this->actor.id, this->actor.params, globalCtx->sceneNum); - // func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); - // return; - // } else { - if (gSaveContext.n64ddFlag) { - if (!(gSaveContext.itemGetInf[1] & 0x100)) { - givingReward = true; - } + if (!(gSaveContext.itemGetInf[1] & 0x100)) { + givingReward = true; } - // } break; case FAIRY_SPELL_DINS_FIRE: - // if (gSaveContext.n64ddFlag) { - // s32 getItemId = GetRandomizedItemId(GI_DINS_FIRE, this->actor.id, this->actor.params, globalCtx->sceneNum); - // func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); - // return; - // } else { - if (!(gSaveContext.itemGetInf[1] & 0x200)) { - givingReward = true; - } - // } + if (!(gSaveContext.itemGetInf[1] & 0x200)) { + givingReward = true; + } break; case FAIRY_SPELL_NAYRUS_LOVE: - // if (gSaveContext.n64ddFlag) { - // s32 getItemId = GetRandomizedItemId(GI_NAYRUS_LOVE, this->actor.id, this->actor.params, globalCtx->sceneNum); - // func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); - // return; - // } else { - if (!(gSaveContext.itemGetInf[1] & 0x400)) { - givingReward = true; - } - // } + if (!(gSaveContext.itemGetInf[1] & 0x400)) { + givingReward = true; + } break; } } else { switch (this->fountainType) { - // todo ensure we're setting givingReward based on if the check has been checked, - // not based on magic meter case FAIRY_UPGRADE_MAGIC: if (!gSaveContext.magicAcquired || BREG(2)) { // "Spin Attack speed UP" @@ -307,37 +280,19 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) { } } - if (givingReward && !gSaveContext.n64ddFlag) { + if (givingReward) { if (gSaveContext.sceneSetupIndex < 4) { if (globalCtx->sceneNum != SCENE_DAIYOUSEI_IZUMI) { switch (this->fountainType) { case FAIRY_SPELL_FARORES_WIND: - // if (gSaveContext.n64ddFlag) { - // givingReward = false; - // s32 getItemId = GetRandomizedItemId(GI_FARORES_WIND, this->actor.id, this->actor.params, globalCtx->sceneNum); - // func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); - // return; - // } globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyFaroresWindCs); gSaveContext.cutsceneTrigger = 1; break; case FAIRY_SPELL_DINS_FIRE: - // if (gSaveContext.n64ddFlag) { - // givingReward = false; - // s32 getItemId = GetRandomizedItemId(GI_DINS_FIRE, this->actor.id, this->actor.params, globalCtx->sceneNum); - // func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); - // return; - // } globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyDinsFireCs); gSaveContext.cutsceneTrigger = 1; break; case FAIRY_SPELL_NAYRUS_LOVE: - // if (gSaveContext.n64ddFlag) { - // givingReward = false; - // s32 getItemId = GetRandomizedItemId(GI_NAYRUS_LOVE, this->actor.id, this->actor.params, globalCtx->sceneNum); - // func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); - // return; - // } globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyNayrusLoveCs); gSaveContext.cutsceneTrigger = 1; break; @@ -364,20 +319,12 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) { } globalCtx->envCtx.unk_BF = 2; - if(!gSaveContext.n64ddFlag) { - if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) { - OnePointCutscene_Init(globalCtx, 8603, -99, NULL, MAIN_CAM); - } else { - OnePointCutscene_Init(globalCtx, 8604, -99, NULL, MAIN_CAM); - }; + + if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) { + OnePointCutscene_Init(globalCtx, 8603, -99, NULL, MAIN_CAM); } else { - if (gSaveContext.n64ddFlag) { - givingReward = false; - s32 getItemId = GetRandomizedItemId(GI_FARORES_WIND, this->actor.id, this->actor.params, globalCtx->sceneNum); - func_8002F434(&this->actor, globalCtx, getItemId, 100.0f, 50.0f); - return; - } - } + OnePointCutscene_Init(globalCtx, 8604, -99, NULL, MAIN_CAM); + }; Audio_PlayActorSound2(&this->actor, NA_SE_EV_GREAT_FAIRY_APPEAR); this->actor.draw = BgDyYoseizo_Draw; From 0021688a951dee0be16e96a8b16a5fb0a5b277a2 Mon Sep 17 00:00:00 2001 From: briaguya Date: Mon, 30 May 2022 17:15:05 -0400 Subject: [PATCH 14/15] more cleanup --- .../actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c index 85762b12f..4ce5dfdc2 100644 --- a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c +++ b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c @@ -737,7 +737,6 @@ void BgDyYoseizo_Give_Reward(BgDyYoseizo* this, GlobalContext* globalCtx) { (globalCtx->csCtx.npcActions[0]->action < 13)) { actionIndex = globalCtx->csCtx.npcActions[0]->action - 10; - // todo figure out which checks to use here switch (actionIndex) { case FAIRY_UPGRADE_MAGIC: gSaveContext.magicAcquired = true; @@ -792,20 +791,7 @@ void BgDyYoseizo_Give_Reward(BgDyYoseizo* this, GlobalContext* globalCtx) { gSaveContext.healthAccumulator = 0x140; Interface_ChangeAlpha(9); gSaveContext.itemGetInf[1] |= sItemGetFlags[actionIndex]; - if(gSaveContext.n64ddFlag) { - switch(sItemIds[actionIndex]) { - case ITEM_DINS_FIRE: - Item_Give(globalCtx, GetItemidFromGetitemid(GetRandomizedItemIdFromKnownCheck(OGC_GREAT_FAIRY_REWARD, GI_DINS_FIRE))); - break; - case ITEM_FARORES_WIND: - Item_Give(globalCtx, GetItemidFromGetitemid(GetRandomizedItemIdFromKnownCheck(ZF_GREAT_FAIRY_REWARD, GI_FARORES_WIND))); - break; - case ITEM_NAYRUS_LOVE: - Item_Give(globalCtx, GetItemidFromGetitemid(GetRandomizedItemIdFromKnownCheck(COLOSSUS_GREAT_FAIRY_REWARD, GI_NAYRUS_LOVE))); - } - } else { - Item_Give(globalCtx, sItemIds[actionIndex]); - } + Item_Give(globalCtx, sItemIds[actionIndex]); } } else { this->item->actor.world.pos.x = player->actor.world.pos.x; From 9568a1dae353aeb2244915c5171f9603877af5cb Mon Sep 17 00:00:00 2001 From: briaguya Date: Mon, 30 May 2022 17:16:10 -0400 Subject: [PATCH 15/15] revert filechoose --- .../gamestates/ovl_file_choose/z_file_nameset_PAL.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/soh/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c b/soh/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c index c45e478d8..c36ee957a 100644 --- a/soh/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c +++ b/soh/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c @@ -449,19 +449,6 @@ void FileChoose_DrawNameEntry(GameState* thisx) { dayTime = ((void)0, gSaveContext.dayTime); - // hacky function for testing - // while drag and drop is broken on linux - // enter "rando" as file name - // if(this->fileNames[1][0] == '5' && - // this->fileNames[1][1] == '$' && - // this->fileNames[1][2] == '1' && - // this->fileNames[1][3] == '\'' && - // this->fileNames[1][4] == '2') - // { - ParseItemLocations("spoiler.json"); - LoadItemLocations("spoiler.json"); - // } - Sram_InitSave(this, &this->sramCtx); // todo: fill link's pocket here