mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-07-30 19:40:31 -07:00
Organize ship specific save context additions (#4597)
* Basic restructure * Undo most randomizerInf changes for now * Small fixes * Fix linux & mac builds? * Fix remnants of randomizerInf changes * Post-merge fix * Post-merge fix
This commit is contained in:
parent
0d80c4695f
commit
7f31fd2e4e
42 changed files with 695 additions and 640 deletions
|
@ -1625,7 +1625,7 @@ namespace Rando {
|
|||
SetRandoInf(RandoGetToRandInf.at(randoGet), state);
|
||||
break;
|
||||
case RG_TRIFORCE_PIECE:
|
||||
mSaveContext->triforcePiecesCollected += (!state ? -1 : 1);
|
||||
mSaveContext->ship.quest.data.randomizer.triforcePiecesCollected += (!state ? -1 : 1);
|
||||
break;
|
||||
case RG_BOMBCHU_5:
|
||||
case RG_BOMBCHU_10:
|
||||
|
@ -1881,14 +1881,13 @@ namespace Rando {
|
|||
mSaveContext->sceneFlags[5].swch = 0x40000000;
|
||||
|
||||
// SoH specific
|
||||
mSaveContext->backupFW = mSaveContext->fw;
|
||||
mSaveContext->pendingSale = ITEM_NONE;
|
||||
mSaveContext->pendingSaleMod = MOD_NONE;
|
||||
mSaveContext->isBossRushPaused = 0;
|
||||
mSaveContext->pendingIceTrapCount = 0;
|
||||
mSaveContext->ship.backupFW = mSaveContext->fw;
|
||||
mSaveContext->ship.pendingSale = ITEM_NONE;
|
||||
mSaveContext->ship.pendingSaleMod = MOD_NONE;
|
||||
mSaveContext->ship.pendingIceTrapCount = 0;
|
||||
|
||||
// Init with normal quest unless only an MQ rom is provided
|
||||
mSaveContext->questId = OTRGlobals::Instance->HasOriginal() ? QUEST_NORMAL : QUEST_MASTER;
|
||||
mSaveContext->ship.quest.id = OTRGlobals::Instance->HasOriginal() ? QUEST_NORMAL : QUEST_MASTER;
|
||||
|
||||
//RANDOTODO (ADD ITEMLOCATIONS TO GSAVECONTEXT)
|
||||
}
|
||||
|
@ -1937,16 +1936,16 @@ namespace Rando {
|
|||
|
||||
bool Logic::HasAdultTrade(uint32_t itemID) {
|
||||
int tradeIndex = itemID - ITEM_POCKET_EGG;
|
||||
return mSaveContext->adultTradeItems & (1 << tradeIndex);
|
||||
return mSaveContext->ship.quest.data.randomizer.adultTradeItems & (1 << tradeIndex);
|
||||
}
|
||||
|
||||
void Logic::SetAdultTrade(uint32_t itemID, bool state) {
|
||||
int tradeIndex = itemID - ITEM_POCKET_EGG;
|
||||
if (!state) {
|
||||
mSaveContext->adultTradeItems &= ~(1 << tradeIndex);
|
||||
mSaveContext->ship.quest.data.randomizer.adultTradeItems &= ~(1 << tradeIndex);
|
||||
}
|
||||
else {
|
||||
mSaveContext->adultTradeItems |= (1 << tradeIndex);
|
||||
mSaveContext->ship.quest.data.randomizer.adultTradeItems |= (1 << tradeIndex);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1981,15 +1980,15 @@ namespace Rando {
|
|||
}
|
||||
|
||||
bool Logic::CheckRandoInf(uint32_t flag) {
|
||||
return mSaveContext->randomizerInf[flag >> 4] & (1 << (flag & 0xF));
|
||||
return mSaveContext->ship.randomizerInf[flag >> 4] & (1 << (flag & 0xF));
|
||||
}
|
||||
|
||||
void Logic::SetRandoInf(uint32_t flag, bool state) {
|
||||
if (!state) {
|
||||
mSaveContext->randomizerInf[flag >> 4] &= ~(1 << (flag & 0xF));
|
||||
mSaveContext->ship.randomizerInf[flag >> 4] &= ~(1 << (flag & 0xF));
|
||||
}
|
||||
else {
|
||||
mSaveContext->randomizerInf[flag >> 4] |= (1 << (flag & 0xF));
|
||||
mSaveContext->ship.randomizerInf[flag >> 4] |= (1 << (flag & 0xF));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue