1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-13 10:21:18 +00:00

Split SaveContext into sub-structs (#1393)

* Split SaveContext struct

* run formatter

* Remove temporary-until-split stuff in z_sram

* .

* run formatter
This commit is contained in:
Dragorn421 2023-08-13 21:24:26 +02:00 committed by GitHub
parent e272186b5f
commit 6e7a6d4181
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
107 changed files with 1819 additions and 1751 deletions

View file

@ -162,13 +162,13 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) {
0x18);
}
} else {
if ((gSaveContext.inventory.questItems & 0xF0000000) != 0) {
if ((gSaveContext.save.info.inventory.questItems & 0xF0000000) != 0) {
cursorItem = ITEM_HEART_CONTAINER;
} else {
cursorItem = PAUSE_ITEM_NONE;
}
osSyncPrintf("888 ccc=%d (%d, %d, %x)\n", cursorItem, pauseCtx->cursorPoint[PAUSE_QUEST],
ITEM_HEART_CONTAINER, gSaveContext.inventory.questItems & 0xF0000000);
ITEM_HEART_CONTAINER, gSaveContext.save.info.inventory.questItems & 0xF0000000);
}
sp216 = pauseCtx->cursorPoint[PAUSE_QUEST];
@ -439,7 +439,7 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) {
}
}
if ((gSaveContext.inventory.questItems >> QUEST_HEART_PIECE_COUNT) != 0) {
if ((gSaveContext.save.info.inventory.questItems >> QUEST_HEART_PIECE_COUNT) != 0) {
gDPPipeSync(POLY_OPA_DISP++);
gDPSetCombineLERP(POLY_OPA_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
@ -457,7 +457,8 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) {
POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(
POLY_OPA_DISP,
gItemIcons[ITEM_HEART_PIECE_2 - 1 +
(((gSaveContext.inventory.questItems & 0xF0000000) & 0xF0000000) >> QUEST_HEART_PIECE_COUNT)],
(((gSaveContext.save.info.inventory.questItems & 0xF0000000) & 0xF0000000) >>
QUEST_HEART_PIECE_COUNT)],
48, 48, 0);
}
@ -633,7 +634,7 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 0);
sp208[0] = sp208[1] = 0;
sp208[2] = gSaveContext.inventory.gsTokens;
sp208[2] = gSaveContext.save.info.inventory.gsTokens;
while (sp208[2] >= 100) {
sp208[0]++;
@ -650,7 +651,7 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) {
for (phi_s3 = 0, sp218 = 0, sp21A = 0; phi_s3 < 2; phi_s3++) {
if (phi_s3 == 0) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 0, 0, 0, pauseCtx->alpha);
} else if (gSaveContext.inventory.gsTokens == 100) {
} else if (gSaveContext.save.info.inventory.gsTokens == 100) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 200, 50, 50, pauseCtx->alpha);
} else {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);

View file

@ -138,14 +138,14 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 0);
// Current Health Quarter (X / 4)
KaleidoScope_DrawDigit(play, (gSaveContext.health % 0x10) / 4, 194, 15);
KaleidoScope_DrawDigit(play, (gSaveContext.save.info.playerData.health % 0x10) / 4, 194, 15);
gDPPipeSync(POLY_OPA_DISP++);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255);
// Rupees
spD8[0] = spD8[1] = spD8[2] = 0;
spD8[3] = gSaveContext.rupees;
spD8[3] = gSaveContext.save.info.playerData.rupees;
while (spD8[3] >= 1000) {
spD8[0]++;
spD8[3] -= 1000;
@ -167,7 +167,7 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
// Health capacity
spD8[2] = 0;
spD8[3] = gSaveContext.healthCapacity / 0x10;
spD8[3] = gSaveContext.save.info.playerData.healthCapacity / 0x10;
while (spD8[3] >= 10) {
spD8[2]++;
spD8[3] -= 10;
@ -178,7 +178,7 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
// Health
spD8[2] = 0;
spD8[3] = gSaveContext.health / 0x10;
spD8[3] = gSaveContext.save.info.playerData.health / 0x10;
while (spD8[3] >= 10) {
spD8[2]++;
spD8[3] -= 10;
@ -195,9 +195,9 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
if ((slot <= SLOT_BOW) || (slot == SLOT_SLINGSHOT) || (slot == SLOT_BOMBCHU) || (slot == SLOT_MAGIC_BEAN)) {
spD8[3] = AMMO(gAmmoItems[slot]);
} else if (slot == SLOT_OCARINA) {
spD8[3] = gSaveContext.inventory.items[slot];
spD8[3] = gSaveContext.save.info.inventory.items[slot];
} else {
spD8[3] = gSaveContext.inventory.items[slot];
spD8[3] = gSaveContext.save.info.inventory.items[slot];
}
if (spD8[3] != ITEM_NONE) {
@ -218,7 +218,7 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
for (spD8[1] = 78, i = 0; i < 17; i++) {
spD8[2] = 0;
if ((spD8[3] = gSaveContext.inventory.dungeonKeys[i]) >= 0) {
if ((spD8[3] = gSaveContext.save.info.inventory.dungeonKeys[i]) >= 0) {
while (spD8[3] >= 10) {
spD8[2]++;
spD8[3] -= 10;
@ -243,7 +243,7 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
// Dungeon Items
for (spD8[1] = 78, i = 0; i < 12; i++, spD8[1] += 12) {
spD8[2] = gSaveContext.inventory.dungeonItems[i] & gEquipMasks[0];
spD8[2] = gSaveContext.save.info.inventory.dungeonItems[i] & gEquipMasks[0];
KaleidoScope_DrawDigit(play, spD8[2], spD8[1], 132);
}
@ -284,7 +284,7 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
}
// GS Tokens
spD8[3] = gSaveContext.inventory.gsTokens;
spD8[3] = gSaveContext.save.info.inventory.gsTokens;
spD8[1] = 0;
spD8[2] = 0;
while (spD8[3] >= 100) {
@ -303,7 +303,8 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
// Heart Pieces (X / 4)
KaleidoScope_DrawDigit(
play, ((gSaveContext.inventory.questItems & 0xF0000000) & 0xF0000000) >> QUEST_HEART_PIECE_COUNT, 210, 185);
play, ((gSaveContext.save.info.inventory.questItems & 0xF0000000) & 0xF0000000) >> QUEST_HEART_PIECE_COUNT, 210,
185);
// Handles navigating the menu to different sections with the D-Pad
// When the same direction is held, registers the input periodically based on a timer
@ -343,39 +344,39 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
switch (curSection) {
case 0:
if (CHECK_BTN_ALL(input->press.button, BTN_CUP)) {
gSaveContext.rupees -= 100;
if (gSaveContext.rupees < 0) {
gSaveContext.rupees = 0;
gSaveContext.save.info.playerData.rupees -= 100;
if (gSaveContext.save.info.playerData.rupees < 0) {
gSaveContext.save.info.playerData.rupees = 0;
}
} else if (CHECK_BTN_ALL(input->press.button, BTN_CDOWN)) {
gSaveContext.rupees += 100;
if (gSaveContext.rupees >= 9999) {
gSaveContext.rupees = 9999;
gSaveContext.save.info.playerData.rupees += 100;
if (gSaveContext.save.info.playerData.rupees >= 9999) {
gSaveContext.save.info.playerData.rupees = 9999;
}
} else if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
gSaveContext.rupees--;
if (gSaveContext.rupees < 0) {
gSaveContext.rupees = 0;
gSaveContext.save.info.playerData.rupees--;
if (gSaveContext.save.info.playerData.rupees < 0) {
gSaveContext.save.info.playerData.rupees = 0;
}
} else if (CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
gSaveContext.rupees++;
if (gSaveContext.rupees >= 9999) {
gSaveContext.rupees = 9999;
gSaveContext.save.info.playerData.rupees++;
if (gSaveContext.save.info.playerData.rupees >= 9999) {
gSaveContext.save.info.playerData.rupees = 9999;
}
}
break;
case 1:
if (CHECK_BTN_ALL(input->press.button, BTN_CUP) || CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
gSaveContext.healthCapacity -= 0x10;
if (gSaveContext.healthCapacity < 0x30) {
gSaveContext.healthCapacity = 0x30;
gSaveContext.save.info.playerData.healthCapacity -= 0x10;
if (gSaveContext.save.info.playerData.healthCapacity < 0x30) {
gSaveContext.save.info.playerData.healthCapacity = 0x30;
}
} else if (CHECK_BTN_ALL(input->press.button, BTN_CDOWN) ||
CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
gSaveContext.healthCapacity += 0x10;
if (gSaveContext.healthCapacity >= 0x140) {
gSaveContext.healthCapacity = 0x140;
gSaveContext.save.info.playerData.healthCapacity += 0x10;
if (gSaveContext.save.info.playerData.healthCapacity >= 0x140) {
gSaveContext.save.info.playerData.healthCapacity = 0x140;
}
}
break;
@ -394,13 +395,14 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
case 0x5C:
if (CHECK_BTN_ALL(input->press.button, BTN_CUP) || CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
if ((((gSaveContext.inventory.questItems & 0xF0000000) & 0xF0000000) >> QUEST_HEART_PIECE_COUNT) != 0) {
gSaveContext.inventory.questItems -= (1 << QUEST_HEART_PIECE_COUNT);
if ((((gSaveContext.save.info.inventory.questItems & 0xF0000000) & 0xF0000000) >>
QUEST_HEART_PIECE_COUNT) != 0) {
gSaveContext.save.info.inventory.questItems -= (1 << QUEST_HEART_PIECE_COUNT);
}
} else if (CHECK_BTN_ALL(input->press.button, BTN_CDOWN) ||
CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
if ((gSaveContext.inventory.questItems & 0xF0000000) <= (4 << QUEST_HEART_PIECE_COUNT)) {
gSaveContext.inventory.questItems += (1 << QUEST_HEART_PIECE_COUNT);
if ((gSaveContext.save.info.inventory.questItems & 0xF0000000) <= (4 << QUEST_HEART_PIECE_COUNT)) {
gSaveContext.save.info.inventory.questItems += (1 << QUEST_HEART_PIECE_COUNT);
}
}
break;
@ -432,72 +434,72 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
if (CHECK_BTN_ALL(input->press.button, BTN_CUP)) {
Inventory_DeleteItem(ITEM_OCARINA_FAIRY, SLOT(ITEM_OCARINA_FAIRY));
} else if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
if (gSaveContext.inventory.items[i] == ITEM_NONE) {
gSaveContext.inventory.items[i] = ITEM_OCARINA_FAIRY;
} else if ((gSaveContext.inventory.items[i] >= ITEM_OCARINA_FAIRY) &&
(gSaveContext.inventory.items[i] < ITEM_OCARINA_OF_TIME)) {
gSaveContext.inventory.items[i]++;
if (gSaveContext.save.info.inventory.items[i] == ITEM_NONE) {
gSaveContext.save.info.inventory.items[i] = ITEM_OCARINA_FAIRY;
} else if ((gSaveContext.save.info.inventory.items[i] >= ITEM_OCARINA_FAIRY) &&
(gSaveContext.save.info.inventory.items[i] < ITEM_OCARINA_OF_TIME)) {
gSaveContext.save.info.inventory.items[i]++;
}
} else if (CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
if (gSaveContext.inventory.items[i] == ITEM_NONE) {
gSaveContext.inventory.items[i] = ITEM_OCARINA_OF_TIME;
} else if ((gSaveContext.inventory.items[i] > ITEM_OCARINA_FAIRY) &&
(gSaveContext.inventory.items[i] <= ITEM_OCARINA_OF_TIME)) {
gSaveContext.inventory.items[i]--;
if (gSaveContext.save.info.inventory.items[i] == ITEM_NONE) {
gSaveContext.save.info.inventory.items[i] = ITEM_OCARINA_OF_TIME;
} else if ((gSaveContext.save.info.inventory.items[i] > ITEM_OCARINA_FAIRY) &&
(gSaveContext.save.info.inventory.items[i] <= ITEM_OCARINA_OF_TIME)) {
gSaveContext.save.info.inventory.items[i]--;
}
}
} else if (i == SLOT_HOOKSHOT) {
if (CHECK_BTN_ALL(input->press.button, BTN_CUP)) {
Inventory_DeleteItem(ITEM_HOOKSHOT, SLOT(ITEM_HOOKSHOT));
} else if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
if (gSaveContext.inventory.items[i] == ITEM_NONE) {
gSaveContext.inventory.items[i] = ITEM_HOOKSHOT;
} else if ((gSaveContext.inventory.items[i] >= ITEM_HOOKSHOT) &&
(gSaveContext.inventory.items[i] < ITEM_LONGSHOT)) {
gSaveContext.inventory.items[i]++;
if (gSaveContext.save.info.inventory.items[i] == ITEM_NONE) {
gSaveContext.save.info.inventory.items[i] = ITEM_HOOKSHOT;
} else if ((gSaveContext.save.info.inventory.items[i] >= ITEM_HOOKSHOT) &&
(gSaveContext.save.info.inventory.items[i] < ITEM_LONGSHOT)) {
gSaveContext.save.info.inventory.items[i]++;
}
} else if (CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
if (gSaveContext.inventory.items[i] == ITEM_NONE) {
gSaveContext.inventory.items[i] = ITEM_LONGSHOT;
} else if ((gSaveContext.inventory.items[i] > ITEM_HOOKSHOT) &&
(gSaveContext.inventory.items[i] <= ITEM_LONGSHOT)) {
gSaveContext.inventory.items[i]--;
if (gSaveContext.save.info.inventory.items[i] == ITEM_NONE) {
gSaveContext.save.info.inventory.items[i] = ITEM_LONGSHOT;
} else if ((gSaveContext.save.info.inventory.items[i] > ITEM_HOOKSHOT) &&
(gSaveContext.save.info.inventory.items[i] <= ITEM_LONGSHOT)) {
gSaveContext.save.info.inventory.items[i]--;
}
}
} else if (i == SLOT_TRADE_ADULT) {
if (CHECK_BTN_ALL(input->press.button, BTN_CUP)) {
Inventory_DeleteItem(ITEM_POCKET_EGG, SLOT(ITEM_POCKET_EGG));
} else if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
if (gSaveContext.inventory.items[i] == ITEM_NONE) {
gSaveContext.inventory.items[i] = ITEM_POCKET_EGG;
} else if ((gSaveContext.inventory.items[i] >= ITEM_POCKET_EGG) &&
(gSaveContext.inventory.items[i] < ITEM_CLAIM_CHECK)) {
gSaveContext.inventory.items[i]++;
if (gSaveContext.save.info.inventory.items[i] == ITEM_NONE) {
gSaveContext.save.info.inventory.items[i] = ITEM_POCKET_EGG;
} else if ((gSaveContext.save.info.inventory.items[i] >= ITEM_POCKET_EGG) &&
(gSaveContext.save.info.inventory.items[i] < ITEM_CLAIM_CHECK)) {
gSaveContext.save.info.inventory.items[i]++;
}
} else if (CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
if (gSaveContext.inventory.items[i] == ITEM_NONE) {
gSaveContext.inventory.items[i] = ITEM_CLAIM_CHECK;
} else if ((gSaveContext.inventory.items[i] > ITEM_POCKET_EGG) &&
(gSaveContext.inventory.items[i] <= ITEM_CLAIM_CHECK)) {
gSaveContext.inventory.items[i]--;
if (gSaveContext.save.info.inventory.items[i] == ITEM_NONE) {
gSaveContext.save.info.inventory.items[i] = ITEM_CLAIM_CHECK;
} else if ((gSaveContext.save.info.inventory.items[i] > ITEM_POCKET_EGG) &&
(gSaveContext.save.info.inventory.items[i] <= ITEM_CLAIM_CHECK)) {
gSaveContext.save.info.inventory.items[i]--;
}
}
} else if (i == SLOT_TRADE_CHILD) {
if (CHECK_BTN_ALL(input->press.button, BTN_CUP)) {
Inventory_DeleteItem(ITEM_WEIRD_EGG, SLOT(ITEM_WEIRD_EGG));
} else if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
if (gSaveContext.inventory.items[i] == ITEM_NONE) {
gSaveContext.inventory.items[i] = ITEM_WEIRD_EGG;
} else if ((gSaveContext.inventory.items[i] >= ITEM_WEIRD_EGG) &&
(gSaveContext.inventory.items[i] < ITEM_SOLD_OUT)) {
gSaveContext.inventory.items[i]++;
if (gSaveContext.save.info.inventory.items[i] == ITEM_NONE) {
gSaveContext.save.info.inventory.items[i] = ITEM_WEIRD_EGG;
} else if ((gSaveContext.save.info.inventory.items[i] >= ITEM_WEIRD_EGG) &&
(gSaveContext.save.info.inventory.items[i] < ITEM_SOLD_OUT)) {
gSaveContext.save.info.inventory.items[i]++;
}
} else if (CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
if (gSaveContext.inventory.items[i] == ITEM_NONE) {
gSaveContext.inventory.items[i] = ITEM_SOLD_OUT;
} else if ((gSaveContext.inventory.items[i] > ITEM_WEIRD_EGG) &&
(gSaveContext.inventory.items[i] <= ITEM_SOLD_OUT)) {
gSaveContext.inventory.items[i]--;
if (gSaveContext.save.info.inventory.items[i] == ITEM_NONE) {
gSaveContext.save.info.inventory.items[i] = ITEM_SOLD_OUT;
} else if ((gSaveContext.save.info.inventory.items[i] > ITEM_WEIRD_EGG) &&
(gSaveContext.save.info.inventory.items[i] <= ITEM_SOLD_OUT)) {
gSaveContext.save.info.inventory.items[i]--;
}
}
} else if ((i >= SLOT_BOTTLE_1) && (i <= SLOT_BOTTLE_4)) {
@ -505,18 +507,18 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
Inventory_DeleteItem(ITEM_BOTTLE_EMPTY + i - SLOT_BOTTLE_1,
SLOT(ITEM_BOTTLE_EMPTY) + i - SLOT_BOTTLE_1);
} else if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
if (gSaveContext.inventory.items[i] == ITEM_NONE) {
gSaveContext.inventory.items[i] = ITEM_BOTTLE_EMPTY;
} else if ((gSaveContext.inventory.items[i] >= ITEM_BOTTLE_EMPTY) &&
(gSaveContext.inventory.items[i] <= ITEM_BOTTLE_MILK_HALF)) {
gSaveContext.inventory.items[i]++;
if (gSaveContext.save.info.inventory.items[i] == ITEM_NONE) {
gSaveContext.save.info.inventory.items[i] = ITEM_BOTTLE_EMPTY;
} else if ((gSaveContext.save.info.inventory.items[i] >= ITEM_BOTTLE_EMPTY) &&
(gSaveContext.save.info.inventory.items[i] <= ITEM_BOTTLE_MILK_HALF)) {
gSaveContext.save.info.inventory.items[i]++;
}
} else if (CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
if (gSaveContext.inventory.items[i] == ITEM_NONE) {
gSaveContext.inventory.items[i] = ITEM_BOTTLE_POE;
} else if ((gSaveContext.inventory.items[i] >= ITEM_BOTTLE_POTION_RED) &&
(gSaveContext.inventory.items[i] <= ITEM_BOTTLE_POE)) {
gSaveContext.inventory.items[i]--;
if (gSaveContext.save.info.inventory.items[i] == ITEM_NONE) {
gSaveContext.save.info.inventory.items[i] = ITEM_BOTTLE_POE;
} else if ((gSaveContext.save.info.inventory.items[i] >= ITEM_BOTTLE_POTION_RED) &&
(gSaveContext.save.info.inventory.items[i] <= ITEM_BOTTLE_POE)) {
gSaveContext.save.info.inventory.items[i]--;
}
}
} else if (i < 0x1B) {
@ -524,16 +526,16 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
CHECK_BTN_ALL(input->press.button, BTN_CDOWN) ||
CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
if (i == SLOT_TRADE_ADULT) {
if (gSaveContext.inventory.items[i] == ITEM_NONE) {
gSaveContext.inventory.items[i] = ITEM_MAGIC_BEAN;
if (gSaveContext.save.info.inventory.items[i] == ITEM_NONE) {
gSaveContext.save.info.inventory.items[i] = ITEM_MAGIC_BEAN;
} else {
Inventory_DeleteItem(ITEM_MAGIC_BEAN, SLOT(ITEM_MAGIC_BEAN));
}
} else {
j = sSlotItems[i];
osSyncPrintf("i=%d j=%d\n", i, j);
if (gSaveContext.inventory.items[i] == ITEM_NONE) {
gSaveContext.inventory.items[i] = j;
if (gSaveContext.save.info.inventory.items[i] == ITEM_NONE) {
gSaveContext.save.info.inventory.items[i] = j;
} else {
Inventory_DeleteItem(j, i);
}
@ -543,19 +545,19 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
} else if (curSection < 0x2C) {
if (CHECK_BTN_ALL(input->press.button, BTN_CUP) || CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
i = curSection - 0x1B;
gSaveContext.inventory.dungeonKeys[i]--;
if (gSaveContext.inventory.dungeonKeys[i] < 0) {
gSaveContext.inventory.dungeonKeys[i] = -1;
gSaveContext.save.info.inventory.dungeonKeys[i]--;
if (gSaveContext.save.info.inventory.dungeonKeys[i] < 0) {
gSaveContext.save.info.inventory.dungeonKeys[i] = -1;
}
} else if (CHECK_BTN_ALL(input->press.button, BTN_CDOWN) ||
CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
i = curSection - 0x1B;
if (gSaveContext.inventory.dungeonKeys[i] < 0) {
gSaveContext.inventory.dungeonKeys[i] = 1;
if (gSaveContext.save.info.inventory.dungeonKeys[i] < 0) {
gSaveContext.save.info.inventory.dungeonKeys[i] = 1;
} else {
gSaveContext.inventory.dungeonKeys[i]++;
if (gSaveContext.inventory.dungeonKeys[i] >= 9) {
gSaveContext.inventory.dungeonKeys[i] = 9;
gSaveContext.save.info.inventory.dungeonKeys[i]++;
if (gSaveContext.save.info.inventory.dungeonKeys[i] >= 9) {
gSaveContext.save.info.inventory.dungeonKeys[i] = 9;
}
}
}
@ -577,43 +579,43 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) {
} else {
i = curSection - 0x34; // 0 <= i < 4
if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
gSaveContext.inventory.equipment ^= OWNED_EQUIP_FLAG_ALT(i, 0);
gSaveContext.save.info.inventory.equipment ^= OWNED_EQUIP_FLAG_ALT(i, 0);
}
if (CHECK_BTN_ALL(input->press.button, BTN_CDOWN)) {
gSaveContext.inventory.equipment ^= OWNED_EQUIP_FLAG_ALT(i, 1);
gSaveContext.save.info.inventory.equipment ^= OWNED_EQUIP_FLAG_ALT(i, 1);
}
if (CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
gSaveContext.inventory.equipment ^= OWNED_EQUIP_FLAG_ALT(i, 2);
gSaveContext.save.info.inventory.equipment ^= OWNED_EQUIP_FLAG_ALT(i, 2);
}
if (CHECK_BTN_ALL(input->press.button, BTN_CUP)) {
gSaveContext.inventory.equipment ^= OWNED_EQUIP_FLAG_ALT(i, 3);
gSaveContext.save.info.inventory.equipment ^= OWNED_EQUIP_FLAG_ALT(i, 3);
}
}
} else if (curSection < 0x44) {
i = curSection - 0x38;
if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
gSaveContext.inventory.dungeonItems[i] ^= 4;
gSaveContext.save.info.inventory.dungeonItems[i] ^= 4;
}
if (CHECK_BTN_ALL(input->press.button, BTN_CDOWN)) {
gSaveContext.inventory.dungeonItems[i] ^= 2;
gSaveContext.save.info.inventory.dungeonItems[i] ^= 2;
}
if (CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
gSaveContext.inventory.dungeonItems[i] ^= 1;
gSaveContext.save.info.inventory.dungeonItems[i] ^= 1;
}
} else if (curSection == 0x5B) {
if (CHECK_BTN_ALL(input->press.button, BTN_CUP) || CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
gSaveContext.inventory.gsTokens++;
gSaveContext.save.info.inventory.gsTokens++;
} else if (CHECK_BTN_ALL(input->press.button, BTN_CDOWN) ||
CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
gSaveContext.inventory.gsTokens--;
if (gSaveContext.inventory.gsTokens <= 0) {
gSaveContext.inventory.gsTokens = 0;
gSaveContext.save.info.inventory.gsTokens--;
if (gSaveContext.save.info.inventory.gsTokens <= 0) {
gSaveContext.save.info.inventory.gsTokens = 0;
}
}
} else if (curSection < 0x5C) {
i = curSection - 0x44;
if (CHECK_BTN_ALL(input->press.button, BTN_CUP) || CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
gSaveContext.inventory.questItems ^= gBitFlags[i];
gSaveContext.save.info.inventory.questItems ^= gBitFlags[i];
}
}
}

View file

@ -186,7 +186,8 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
}
}
} else {
if (gBitFlags[pauseCtx->cursorPoint[PAUSE_EQUIP] - 1] & gSaveContext.inventory.equipment) {
if (gBitFlags[pauseCtx->cursorPoint[PAUSE_EQUIP] - 1] &
gSaveContext.save.info.inventory.equipment) {
cursorMoveResult = 2;
}
}
@ -222,7 +223,8 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
cursorMoveResult = 1;
}
} else {
if (gBitFlags[pauseCtx->cursorPoint[PAUSE_EQUIP] - 1] & gSaveContext.inventory.equipment) {
if (gBitFlags[pauseCtx->cursorPoint[PAUSE_EQUIP] - 1] &
gSaveContext.save.info.inventory.equipment) {
cursorMoveResult = 2;
}
}
@ -274,7 +276,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
cursorMoveResult = 1;
}
} else if (gBitFlags[pauseCtx->cursorPoint[PAUSE_EQUIP] - 1] &
gSaveContext.inventory.equipment) {
gSaveContext.save.info.inventory.equipment) {
cursorMoveResult = 2;
}
} else {
@ -292,7 +294,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
cursorMoveResult = 1;
}
} else if (gBitFlags[pauseCtx->cursorPoint[PAUSE_EQUIP] - 1] &
gSaveContext.inventory.equipment) {
gSaveContext.save.info.inventory.equipment) {
cursorMoveResult = 2;
}
} else {
@ -328,7 +330,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
pauseCtx->cursorY[PAUSE_EQUIP] = cursorY;
break;
}
} else if (gBitFlags[cursorPoint - 1] & gSaveContext.inventory.equipment) {
} else if (gBitFlags[cursorPoint - 1] & gSaveContext.save.info.inventory.equipment) {
pauseCtx->cursorPoint[PAUSE_EQUIP] = cursorPoint;
pauseCtx->cursorX[PAUSE_EQUIP] = cursorX;
pauseCtx->cursorY[PAUSE_EQUIP] = cursorY;
@ -369,7 +371,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
pauseCtx->cursorY[PAUSE_EQUIP] = cursorY;
break;
}
} else if (gBitFlags[cursorPoint - 1] & gSaveContext.inventory.equipment) {
} else if (gBitFlags[cursorPoint - 1] & gSaveContext.save.info.inventory.equipment) {
pauseCtx->cursorPoint[PAUSE_EQUIP] = cursorPoint;
pauseCtx->cursorX[PAUSE_EQUIP] = cursorX;
pauseCtx->cursorY[PAUSE_EQUIP] = cursorY;
@ -425,7 +427,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
}
if ((pauseCtx->cursorY[PAUSE_EQUIP] == 0) && (pauseCtx->cursorX[PAUSE_EQUIP] == 3)) {
if (gSaveContext.bgsFlag != 0) {
if (gSaveContext.save.info.playerData.bgsFlag != 0) {
cursorItem = ITEM_HEART_PIECE_2;
} else if (CHECK_OWNED_EQUIP_ALT(EQUIP_TYPE_SWORD, EQUIP_INV_SWORD_BROKENGIANTKNIFE)) {
cursorItem = ITEM_GIANTS_KNIFE;
@ -441,7 +443,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
if (!((gEquipAgeReqs[pauseCtx->cursorY[PAUSE_EQUIP]][pauseCtx->cursorX[PAUSE_EQUIP]] == 9) ||
(gEquipAgeReqs[pauseCtx->cursorY[PAUSE_EQUIP]][pauseCtx->cursorX[PAUSE_EQUIP]] ==
((void)0, gSaveContext.linkAge)))) {
((void)0, gSaveContext.save.linkAge)))) {
pauseCtx->nameColorSet = 1;
}
@ -473,24 +475,25 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
if ((gEquipAgeReqs[pauseCtx->cursorY[PAUSE_EQUIP]][pauseCtx->cursorX[PAUSE_EQUIP]] == 9) ||
(gEquipAgeReqs[pauseCtx->cursorY[PAUSE_EQUIP]][pauseCtx->cursorX[PAUSE_EQUIP]] ==
((void)0, gSaveContext.linkAge))) {
((void)0, gSaveContext.save.linkAge))) {
Inventory_ChangeEquipment(pauseCtx->cursorY[PAUSE_EQUIP], pauseCtx->cursorX[PAUSE_EQUIP]);
if (pauseCtx->cursorY[PAUSE_EQUIP] == 0) {
gSaveContext.infTable[INFTABLE_1DX_INDEX] = 0;
gSaveContext.equips.buttonItems[0] = cursorItem;
gSaveContext.save.info.infTable[INFTABLE_1DX_INDEX] = 0;
gSaveContext.save.info.equips.buttonItems[0] = cursorItem;
if ((pauseCtx->cursorX[PAUSE_EQUIP] == 3) && (gSaveContext.bgsFlag != 0)) {
gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BIGGORON;
gSaveContext.swordHealth = 8;
if ((pauseCtx->cursorX[PAUSE_EQUIP] == 3) && (gSaveContext.save.info.playerData.bgsFlag != 0)) {
gSaveContext.save.info.equips.buttonItems[0] = ITEM_SWORD_BIGGORON;
gSaveContext.save.info.playerData.swordHealth = 8;
} else {
if (gSaveContext.equips.buttonItems[0] == ITEM_HEART_PIECE_2) {
gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BIGGORON;
if (gSaveContext.save.info.equips.buttonItems[0] == ITEM_HEART_PIECE_2) {
gSaveContext.save.info.equips.buttonItems[0] = ITEM_SWORD_BIGGORON;
}
if ((gSaveContext.equips.buttonItems[0] == ITEM_SWORD_BIGGORON) &&
(gSaveContext.bgsFlag == 0) &&
if ((gSaveContext.save.info.equips.buttonItems[0] == ITEM_SWORD_BIGGORON) &&
(gSaveContext.save.info.playerData.bgsFlag == 0) &&
CHECK_OWNED_EQUIP_ALT(EQUIP_TYPE_SWORD, EQUIP_INV_SWORD_BROKENGIANTKNIFE)) {
gSaveContext.equips.buttonItems[0] = ITEM_GIANTS_KNIFE;
gSaveContext.save.info.equips.buttonItems[0] = ITEM_GIANTS_KNIFE;
}
}
@ -525,8 +528,9 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
for (k = 0, temp = rowStart + 1, bit = rowStart, j = point; k < 3; k++, bit++, j += 4, temp++) {
if ((gBitFlags[bit] & gSaveContext.inventory.equipment) && (pauseCtx->cursorSpecialPos == 0)) {
if ((gEquipAgeReqs[i][k + 1] == 9) || (gEquipAgeReqs[i][k + 1] == ((void)0, gSaveContext.linkAge))) {
if ((gBitFlags[bit] & gSaveContext.save.info.inventory.equipment) && (pauseCtx->cursorSpecialPos == 0)) {
if ((gEquipAgeReqs[i][k + 1] == 9) ||
(gEquipAgeReqs[i][k + 1] == ((void)0, gSaveContext.save.linkAge))) {
if (temp == cursorSlot) {
pauseCtx->equipVtx[j].v.ob[0] = pauseCtx->equipVtx[j + 2].v.ob[0] =
pauseCtx->equipVtx[j].v.ob[0] - 2;
@ -572,13 +576,13 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
for (k = 0, bit = rowStart, point = 4; k < 3; k++, point += 4, temp++, bit++) {
if (((u32)i == 0) && (k == 2) && (gSaveContext.bgsFlag != 0)) {
if (((u32)i == 0) && (k == 2) && (gSaveContext.save.info.playerData.bgsFlag != 0)) {
KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gItemIconSwordBiggoronTex, ITEM_ICON_WIDTH,
ITEM_ICON_HEIGHT, point);
} else if ((i == 0) && (k == 2) && (gBitFlags[bit + 1] & gSaveContext.inventory.equipment)) {
} else if ((i == 0) && (k == 2) && (gBitFlags[bit + 1] & gSaveContext.save.info.inventory.equipment)) {
KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gItemIconBrokenGiantsKnifeTex, ITEM_ICON_WIDTH,
ITEM_ICON_HEIGHT, point);
} else if (gBitFlags[bit] & gSaveContext.inventory.equipment) {
} else if (gBitFlags[bit] & gSaveContext.save.info.inventory.equipment) {
KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gItemIcons[ITEM_SWORD_KOKIRI + temp],
ITEM_ICON_WIDTH, ITEM_ICON_HEIGHT, point);
}

View file

@ -24,7 +24,7 @@ void KaleidoScope_DrawAmmoCount(PauseContext* pauseCtx, GraphicsContext* gfxCtx,
gDPPipeSync(POLY_OPA_DISP++);
if (!((gSlotAgeReqs[SLOT(item)] == 9) || gSlotAgeReqs[SLOT(item)] == ((void)0, gSaveContext.linkAge))) {
if (!((gSlotAgeReqs[SLOT(item)] == 9) || gSlotAgeReqs[SLOT(item)] == ((void)0, gSaveContext.save.linkAge))) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 100, 100, 100, pauseCtx->alpha);
} else {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);
@ -126,7 +126,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
// Seems necessary to match
if (pauseCtx->cursorX[PAUSE_ITEM]) {}
if (gSaveContext.inventory.items[pauseCtx->cursorPoint[PAUSE_ITEM]]) {}
if (gSaveContext.save.info.inventory.items[pauseCtx->cursorPoint[PAUSE_ITEM]]) {}
while (moveCursorResult == 0) {
if (pauseCtx->stickAdjX < -30) {
@ -134,7 +134,8 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
pauseCtx->cursorX[PAUSE_ITEM]--;
pauseCtx->cursorPoint[PAUSE_ITEM] -= 1;
if (gSaveContext.inventory.items[pauseCtx->cursorPoint[PAUSE_ITEM]] != ITEM_NONE) {
if (gSaveContext.save.info.inventory.items[pauseCtx->cursorPoint[PAUSE_ITEM]] !=
ITEM_NONE) {
moveCursorResult = 1;
}
} else {
@ -166,7 +167,8 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
pauseCtx->cursorX[PAUSE_ITEM]++;
pauseCtx->cursorPoint[PAUSE_ITEM] += 1;
if (gSaveContext.inventory.items[pauseCtx->cursorPoint[PAUSE_ITEM]] != ITEM_NONE) {
if (gSaveContext.save.info.inventory.items[pauseCtx->cursorPoint[PAUSE_ITEM]] !=
ITEM_NONE) {
moveCursorResult = 1;
}
} else {
@ -197,7 +199,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
}
if (moveCursorResult == 1) {
cursorItem = gSaveContext.inventory.items[pauseCtx->cursorPoint[PAUSE_ITEM]];
cursorItem = gSaveContext.save.info.inventory.items[pauseCtx->cursorPoint[PAUSE_ITEM]];
}
osSyncPrintf("【X cursor=%d(%) (cur_xpt=%d)(ok_fg=%d)(ccc=%d)(key_angle=%d)】 ",
@ -214,7 +216,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
cursorPoint = cursorX = cursorY = 0;
while (true) {
if (gSaveContext.inventory.items[cursorPoint] != ITEM_NONE) {
if (gSaveContext.save.info.inventory.items[cursorPoint] != ITEM_NONE) {
pauseCtx->cursorPoint[PAUSE_ITEM] = cursorPoint;
pauseCtx->cursorX[PAUSE_ITEM] = cursorX;
pauseCtx->cursorY[PAUSE_ITEM] = cursorY;
@ -250,7 +252,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
cursorPoint = cursorX = 5;
cursorY = 0;
while (true) {
if (gSaveContext.inventory.items[cursorPoint] != ITEM_NONE) {
if (gSaveContext.save.info.inventory.items[cursorPoint] != ITEM_NONE) {
pauseCtx->cursorPoint[PAUSE_ITEM] = cursorPoint;
pauseCtx->cursorX[PAUSE_ITEM] = cursorX;
pauseCtx->cursorY[PAUSE_ITEM] = cursorY;
@ -290,7 +292,8 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
pauseCtx->cursorY[PAUSE_ITEM]--;
pauseCtx->cursorPoint[PAUSE_ITEM] -= 6;
if (gSaveContext.inventory.items[pauseCtx->cursorPoint[PAUSE_ITEM]] != ITEM_NONE) {
if (gSaveContext.save.info.inventory.items[pauseCtx->cursorPoint[PAUSE_ITEM]] !=
ITEM_NONE) {
moveCursorResult = 1;
}
} else {
@ -304,7 +307,8 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
pauseCtx->cursorY[PAUSE_ITEM]++;
pauseCtx->cursorPoint[PAUSE_ITEM] += 6;
if (gSaveContext.inventory.items[pauseCtx->cursorPoint[PAUSE_ITEM]] != ITEM_NONE) {
if (gSaveContext.save.info.inventory.items[pauseCtx->cursorPoint[PAUSE_ITEM]] !=
ITEM_NONE) {
moveCursorResult = 1;
}
} else {
@ -328,15 +332,16 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
pauseCtx->cursorColorSet = 4;
if (moveCursorResult == 1) {
cursorItem = gSaveContext.inventory.items[pauseCtx->cursorPoint[PAUSE_ITEM]];
cursorItem = gSaveContext.save.info.inventory.items[pauseCtx->cursorPoint[PAUSE_ITEM]];
} else if (moveCursorResult != 2) {
cursorItem = gSaveContext.inventory.items[pauseCtx->cursorPoint[PAUSE_ITEM]];
cursorItem = gSaveContext.save.info.inventory.items[pauseCtx->cursorPoint[PAUSE_ITEM]];
}
pauseCtx->cursorItem[PAUSE_ITEM] = cursorItem;
pauseCtx->cursorSlot[PAUSE_ITEM] = cursorSlot;
if (!((gSlotAgeReqs[cursorSlot] == 9) || (gSlotAgeReqs[cursorSlot] == ((void)0, gSaveContext.linkAge)))) {
if (!((gSlotAgeReqs[cursorSlot] == 9) ||
(gSlotAgeReqs[cursorSlot] == ((void)0, gSaveContext.save.linkAge)))) {
pauseCtx->nameColorSet = 1;
}
@ -347,7 +352,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
if ((pauseCtx->debugState == 0) && (pauseCtx->state == 6) && (pauseCtx->unk_1E4 == 0)) {
if (CHECK_BTN_ANY(input->press.button, BTN_CLEFT | BTN_CDOWN | BTN_CRIGHT)) {
if (((gSlotAgeReqs[cursorSlot] == 9) ||
(gSlotAgeReqs[cursorSlot] == ((void)0, gSaveContext.linkAge))) &&
(gSlotAgeReqs[cursorSlot] == ((void)0, gSaveContext.save.linkAge))) &&
(cursorItem != ITEM_SOLD_OUT)) {
if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
pauseCtx->equipTargetCBtn = 0;
@ -419,7 +424,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 0);
for (i = 0, j = 24 * 4; i < 3; i++, j += 4) {
if (gSaveContext.equips.buttonItems[i + 1] != ITEM_NONE) {
if (gSaveContext.save.info.equips.buttonItems[i + 1] != ITEM_NONE) {
gSPVertex(POLY_OPA_DISP++, &pauseCtx->itemVtx[j], 4, 0);
POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, gEquippedItemOutlineTex, 32, 32, 0);
}
@ -431,9 +436,9 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
for (i = j = 0; i < 24; i++, j += 4) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);
if (gSaveContext.inventory.items[i] != ITEM_NONE) {
if (gSaveContext.save.info.inventory.items[i] != ITEM_NONE) {
if ((pauseCtx->unk_1E4 == 0) && (pauseCtx->pageIndex == PAUSE_ITEM) && (pauseCtx->cursorSpecialPos == 0)) {
if ((gSlotAgeReqs[i] == 9) || (gSlotAgeReqs[i] == ((void)0, gSaveContext.linkAge))) {
if ((gSlotAgeReqs[i] == 9) || (gSlotAgeReqs[i] == ((void)0, gSaveContext.save.linkAge))) {
if ((sEquipState == 2) && (i == 3)) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, magicArrowEffectsR[pauseCtx->equipTargetItem - 0xBF],
magicArrowEffectsG[pauseCtx->equipTargetItem - 0xBF],
@ -467,8 +472,9 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
}
gSPVertex(POLY_OPA_DISP++, &pauseCtx->itemVtx[j + 0], 4, 0);
KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gItemIcons[gSaveContext.inventory.items[i]],
ITEM_ICON_WIDTH, ITEM_ICON_HEIGHT, 0);
KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx,
gItemIcons[gSaveContext.save.info.inventory.items[i]], ITEM_ICON_WIDTH,
ITEM_ICON_HEIGHT, 0);
}
}
@ -481,8 +487,8 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
for (i = 0; i < 15; i++) {
if ((gAmmoItems[i] != ITEM_NONE) && (gSaveContext.inventory.items[i] != ITEM_NONE)) {
KaleidoScope_DrawAmmoCount(pauseCtx, play->state.gfxCtx, gSaveContext.inventory.items[i]);
if ((gAmmoItems[i] != ITEM_NONE) && (gSaveContext.save.info.inventory.items[i] != ITEM_NONE)) {
KaleidoScope_DrawAmmoCount(pauseCtx, play->state.gfxCtx, gSaveContext.save.info.inventory.items[i]);
}
}
@ -586,219 +592,230 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) {
if (pauseCtx->equipTargetCBtn == 0) {
if (pauseCtx->equipTargetSlot == gSaveContext.equips.cButtonSlots[1]) {
if (gSaveContext.equips.buttonItems[1] != ITEM_NONE) {
if (pauseCtx->equipTargetSlot == gSaveContext.save.info.equips.cButtonSlots[1]) {
if (gSaveContext.save.info.equips.buttonItems[1] != ITEM_NONE) {
if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1) &&
((gSaveContext.equips.buttonItems[1] == ITEM_BOW) ||
((gSaveContext.equips.buttonItems[1] >= ITEM_BOW_FIRE) &&
(gSaveContext.equips.buttonItems[1] <= ITEM_BOW_LIGHT)))) {
((gSaveContext.save.info.equips.buttonItems[1] == ITEM_BOW) ||
((gSaveContext.save.info.equips.buttonItems[1] >= ITEM_BOW_FIRE) &&
(gSaveContext.save.info.equips.buttonItems[1] <= ITEM_BOW_LIGHT)))) {
pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE;
pauseCtx->equipTargetSlot = SLOT_BOW;
} else {
gSaveContext.equips.buttonItems[2] = gSaveContext.equips.buttonItems[1];
gSaveContext.equips.cButtonSlots[1] = gSaveContext.equips.cButtonSlots[0];
gSaveContext.save.info.equips.buttonItems[2] = gSaveContext.save.info.equips.buttonItems[1];
gSaveContext.save.info.equips.cButtonSlots[1] =
gSaveContext.save.info.equips.cButtonSlots[0];
Interface_LoadItemIcon2(play, 2);
}
} else {
gSaveContext.equips.buttonItems[2] = ITEM_NONE;
gSaveContext.equips.cButtonSlots[1] = SLOT_NONE;
gSaveContext.save.info.equips.buttonItems[2] = ITEM_NONE;
gSaveContext.save.info.equips.cButtonSlots[1] = SLOT_NONE;
}
} else if (pauseCtx->equipTargetSlot == gSaveContext.equips.cButtonSlots[2]) {
if (gSaveContext.equips.buttonItems[1] != ITEM_NONE) {
} else if (pauseCtx->equipTargetSlot == gSaveContext.save.info.equips.cButtonSlots[2]) {
if (gSaveContext.save.info.equips.buttonItems[1] != ITEM_NONE) {
if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1) &&
((gSaveContext.equips.buttonItems[1] == ITEM_BOW) ||
((gSaveContext.equips.buttonItems[1] >= ITEM_BOW_FIRE) &&
(gSaveContext.equips.buttonItems[1] <= ITEM_BOW_LIGHT)))) {
((gSaveContext.save.info.equips.buttonItems[1] == ITEM_BOW) ||
((gSaveContext.save.info.equips.buttonItems[1] >= ITEM_BOW_FIRE) &&
(gSaveContext.save.info.equips.buttonItems[1] <= ITEM_BOW_LIGHT)))) {
pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE;
pauseCtx->equipTargetSlot = SLOT_BOW;
} else {
gSaveContext.equips.buttonItems[3] = gSaveContext.equips.buttonItems[1];
gSaveContext.equips.cButtonSlots[2] = gSaveContext.equips.cButtonSlots[0];
gSaveContext.save.info.equips.buttonItems[3] = gSaveContext.save.info.equips.buttonItems[1];
gSaveContext.save.info.equips.cButtonSlots[2] =
gSaveContext.save.info.equips.cButtonSlots[0];
Interface_LoadItemIcon2(play, 3);
}
} else {
gSaveContext.equips.buttonItems[3] = ITEM_NONE;
gSaveContext.equips.cButtonSlots[2] = SLOT_NONE;
gSaveContext.save.info.equips.buttonItems[3] = ITEM_NONE;
gSaveContext.save.info.equips.cButtonSlots[2] = SLOT_NONE;
}
}
if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1)) {
if ((gSaveContext.equips.buttonItems[1] == ITEM_BOW) ||
((gSaveContext.equips.buttonItems[1] >= ITEM_BOW_FIRE) &&
(gSaveContext.equips.buttonItems[1] <= ITEM_BOW_LIGHT))) {
if ((gSaveContext.save.info.equips.buttonItems[1] == ITEM_BOW) ||
((gSaveContext.save.info.equips.buttonItems[1] >= ITEM_BOW_FIRE) &&
(gSaveContext.save.info.equips.buttonItems[1] <= ITEM_BOW_LIGHT))) {
pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE;
pauseCtx->equipTargetSlot = SLOT_BOW;
}
} else if (pauseCtx->equipTargetItem == ITEM_BOW) {
if ((gSaveContext.equips.buttonItems[2] >= ITEM_BOW_FIRE) &&
(gSaveContext.equips.buttonItems[2] <= ITEM_BOW_LIGHT)) {
gSaveContext.equips.buttonItems[2] = gSaveContext.equips.buttonItems[1];
gSaveContext.equips.cButtonSlots[1] = gSaveContext.equips.cButtonSlots[0];
if ((gSaveContext.save.info.equips.buttonItems[2] >= ITEM_BOW_FIRE) &&
(gSaveContext.save.info.equips.buttonItems[2] <= ITEM_BOW_LIGHT)) {
gSaveContext.save.info.equips.buttonItems[2] = gSaveContext.save.info.equips.buttonItems[1];
gSaveContext.save.info.equips.cButtonSlots[1] = gSaveContext.save.info.equips.cButtonSlots[0];
Interface_LoadItemIcon2(play, 2);
} else if ((gSaveContext.equips.buttonItems[3] >= ITEM_BOW_FIRE) &&
(gSaveContext.equips.buttonItems[3] <= ITEM_BOW_LIGHT)) {
gSaveContext.equips.buttonItems[3] = gSaveContext.equips.buttonItems[1];
gSaveContext.equips.cButtonSlots[2] = gSaveContext.equips.cButtonSlots[0];
} else if ((gSaveContext.save.info.equips.buttonItems[3] >= ITEM_BOW_FIRE) &&
(gSaveContext.save.info.equips.buttonItems[3] <= ITEM_BOW_LIGHT)) {
gSaveContext.save.info.equips.buttonItems[3] = gSaveContext.save.info.equips.buttonItems[1];
gSaveContext.save.info.equips.cButtonSlots[2] = gSaveContext.save.info.equips.cButtonSlots[0];
Interface_LoadItemIcon2(play, 3);
}
}
gSaveContext.equips.buttonItems[1] = pauseCtx->equipTargetItem;
gSaveContext.equips.cButtonSlots[0] = pauseCtx->equipTargetSlot;
gSaveContext.save.info.equips.buttonItems[1] = pauseCtx->equipTargetItem;
gSaveContext.save.info.equips.cButtonSlots[0] = pauseCtx->equipTargetSlot;
Interface_LoadItemIcon1(play, 1);
osSyncPrintf("左sl_item_no=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetItem,
gSaveContext.equips.buttonItems[1], gSaveContext.equips.buttonItems[2],
gSaveContext.equips.buttonItems[3]);
gSaveContext.save.info.equips.buttonItems[1], gSaveContext.save.info.equips.buttonItems[2],
gSaveContext.save.info.equips.buttonItems[3]);
osSyncPrintf("左sl_number=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetSlot,
gSaveContext.equips.cButtonSlots[0], gSaveContext.equips.cButtonSlots[1],
gSaveContext.equips.cButtonSlots[2]);
gSaveContext.save.info.equips.cButtonSlots[0],
gSaveContext.save.info.equips.cButtonSlots[1],
gSaveContext.save.info.equips.cButtonSlots[2]);
} else if (pauseCtx->equipTargetCBtn == 1) {
osSyncPrintf("下sl_item_no=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetItem,
gSaveContext.equips.buttonItems[1], gSaveContext.equips.buttonItems[2],
gSaveContext.equips.buttonItems[3]);
gSaveContext.save.info.equips.buttonItems[1], gSaveContext.save.info.equips.buttonItems[2],
gSaveContext.save.info.equips.buttonItems[3]);
osSyncPrintf("下sl_number=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetSlot,
gSaveContext.equips.cButtonSlots[0], gSaveContext.equips.cButtonSlots[1],
gSaveContext.equips.cButtonSlots[2]);
gSaveContext.save.info.equips.cButtonSlots[0],
gSaveContext.save.info.equips.cButtonSlots[1],
gSaveContext.save.info.equips.cButtonSlots[2]);
if (pauseCtx->equipTargetSlot == gSaveContext.equips.cButtonSlots[0]) {
if (gSaveContext.equips.buttonItems[2] != ITEM_NONE) {
if (pauseCtx->equipTargetSlot == gSaveContext.save.info.equips.cButtonSlots[0]) {
if (gSaveContext.save.info.equips.buttonItems[2] != ITEM_NONE) {
if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1) &&
((gSaveContext.equips.buttonItems[2] == ITEM_BOW) ||
((gSaveContext.equips.buttonItems[2] >= ITEM_BOW_FIRE) &&
(gSaveContext.equips.buttonItems[2] <= ITEM_BOW_LIGHT)))) {
((gSaveContext.save.info.equips.buttonItems[2] == ITEM_BOW) ||
((gSaveContext.save.info.equips.buttonItems[2] >= ITEM_BOW_FIRE) &&
(gSaveContext.save.info.equips.buttonItems[2] <= ITEM_BOW_LIGHT)))) {
pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE;
pauseCtx->equipTargetSlot = SLOT_BOW;
} else {
gSaveContext.equips.buttonItems[1] = gSaveContext.equips.buttonItems[2];
gSaveContext.equips.cButtonSlots[0] = gSaveContext.equips.cButtonSlots[1];
gSaveContext.save.info.equips.buttonItems[1] = gSaveContext.save.info.equips.buttonItems[2];
gSaveContext.save.info.equips.cButtonSlots[0] =
gSaveContext.save.info.equips.cButtonSlots[1];
Interface_LoadItemIcon2(play, 1);
}
} else {
gSaveContext.equips.buttonItems[1] = ITEM_NONE;
gSaveContext.equips.cButtonSlots[0] = SLOT_NONE;
gSaveContext.save.info.equips.buttonItems[1] = ITEM_NONE;
gSaveContext.save.info.equips.cButtonSlots[0] = SLOT_NONE;
}
} else if (pauseCtx->equipTargetSlot == gSaveContext.equips.cButtonSlots[2]) {
if (gSaveContext.equips.buttonItems[2] != ITEM_NONE) {
} else if (pauseCtx->equipTargetSlot == gSaveContext.save.info.equips.cButtonSlots[2]) {
if (gSaveContext.save.info.equips.buttonItems[2] != ITEM_NONE) {
if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1) &&
((gSaveContext.equips.buttonItems[2] == ITEM_BOW) ||
((gSaveContext.equips.buttonItems[2] >= ITEM_BOW_FIRE) &&
(gSaveContext.equips.buttonItems[2] <= ITEM_BOW_LIGHT)))) {
((gSaveContext.save.info.equips.buttonItems[2] == ITEM_BOW) ||
((gSaveContext.save.info.equips.buttonItems[2] >= ITEM_BOW_FIRE) &&
(gSaveContext.save.info.equips.buttonItems[2] <= ITEM_BOW_LIGHT)))) {
pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE;
pauseCtx->equipTargetSlot = SLOT_BOW;
} else {
gSaveContext.equips.buttonItems[3] = gSaveContext.equips.buttonItems[2];
gSaveContext.equips.cButtonSlots[2] = gSaveContext.equips.cButtonSlots[1];
gSaveContext.save.info.equips.buttonItems[3] = gSaveContext.save.info.equips.buttonItems[2];
gSaveContext.save.info.equips.cButtonSlots[2] =
gSaveContext.save.info.equips.cButtonSlots[1];
Interface_LoadItemIcon2(play, 3);
}
} else {
gSaveContext.equips.buttonItems[3] = ITEM_NONE;
gSaveContext.equips.cButtonSlots[2] = SLOT_NONE;
gSaveContext.save.info.equips.buttonItems[3] = ITEM_NONE;
gSaveContext.save.info.equips.cButtonSlots[2] = SLOT_NONE;
}
}
if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1)) {
if ((gSaveContext.equips.buttonItems[2] == ITEM_BOW) ||
((gSaveContext.equips.buttonItems[2] >= ITEM_BOW_FIRE) &&
(gSaveContext.equips.buttonItems[2] <= ITEM_BOW_LIGHT))) {
if ((gSaveContext.save.info.equips.buttonItems[2] == ITEM_BOW) ||
((gSaveContext.save.info.equips.buttonItems[2] >= ITEM_BOW_FIRE) &&
(gSaveContext.save.info.equips.buttonItems[2] <= ITEM_BOW_LIGHT))) {
pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE;
pauseCtx->equipTargetSlot = SLOT_BOW;
}
} else if (pauseCtx->equipTargetItem == ITEM_BOW) {
if ((gSaveContext.equips.buttonItems[1] >= ITEM_BOW_FIRE) &&
(gSaveContext.equips.buttonItems[1] <= ITEM_BOW_LIGHT)) {
gSaveContext.equips.buttonItems[1] = gSaveContext.equips.buttonItems[2];
if ((gSaveContext.save.info.equips.buttonItems[1] >= ITEM_BOW_FIRE) &&
(gSaveContext.save.info.equips.buttonItems[1] <= ITEM_BOW_LIGHT)) {
gSaveContext.save.info.equips.buttonItems[1] = gSaveContext.save.info.equips.buttonItems[2];
Interface_LoadItemIcon2(play, 1);
} else if ((gSaveContext.equips.buttonItems[3] >= ITEM_BOW_FIRE) &&
(gSaveContext.equips.buttonItems[3] <= ITEM_BOW_LIGHT)) {
gSaveContext.equips.buttonItems[3] = gSaveContext.equips.buttonItems[2];
} else if ((gSaveContext.save.info.equips.buttonItems[3] >= ITEM_BOW_FIRE) &&
(gSaveContext.save.info.equips.buttonItems[3] <= ITEM_BOW_LIGHT)) {
gSaveContext.save.info.equips.buttonItems[3] = gSaveContext.save.info.equips.buttonItems[2];
Interface_LoadItemIcon2(play, 3);
}
}
gSaveContext.equips.buttonItems[2] = pauseCtx->equipTargetItem;
gSaveContext.equips.cButtonSlots[1] = pauseCtx->equipTargetSlot;
gSaveContext.save.info.equips.buttonItems[2] = pauseCtx->equipTargetItem;
gSaveContext.save.info.equips.cButtonSlots[1] = pauseCtx->equipTargetSlot;
Interface_LoadItemIcon1(play, 2);
osSyncPrintf("下sl_item_no=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetItem,
gSaveContext.equips.buttonItems[1], gSaveContext.equips.buttonItems[2],
gSaveContext.equips.buttonItems[3]);
gSaveContext.save.info.equips.buttonItems[1], gSaveContext.save.info.equips.buttonItems[2],
gSaveContext.save.info.equips.buttonItems[3]);
osSyncPrintf("下sl_number=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetSlot,
gSaveContext.equips.cButtonSlots[0], gSaveContext.equips.cButtonSlots[1],
gSaveContext.equips.cButtonSlots[2]);
gSaveContext.save.info.equips.cButtonSlots[0],
gSaveContext.save.info.equips.cButtonSlots[1],
gSaveContext.save.info.equips.cButtonSlots[2]);
} else {
osSyncPrintf("右sl_item_no=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetItem,
gSaveContext.equips.buttonItems[1], gSaveContext.equips.buttonItems[2],
gSaveContext.equips.buttonItems[3]);
gSaveContext.save.info.equips.buttonItems[1], gSaveContext.save.info.equips.buttonItems[2],
gSaveContext.save.info.equips.buttonItems[3]);
osSyncPrintf("右sl_number=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetSlot,
gSaveContext.equips.cButtonSlots[0], gSaveContext.equips.cButtonSlots[1],
gSaveContext.equips.cButtonSlots[2]);
gSaveContext.save.info.equips.cButtonSlots[0],
gSaveContext.save.info.equips.cButtonSlots[1],
gSaveContext.save.info.equips.cButtonSlots[2]);
if (pauseCtx->equipTargetSlot == gSaveContext.equips.cButtonSlots[0]) {
if (gSaveContext.equips.buttonItems[3] != ITEM_NONE) {
if (pauseCtx->equipTargetSlot == gSaveContext.save.info.equips.cButtonSlots[0]) {
if (gSaveContext.save.info.equips.buttonItems[3] != ITEM_NONE) {
if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1) &&
((gSaveContext.equips.buttonItems[3] == ITEM_BOW) ||
((gSaveContext.equips.buttonItems[3] >= ITEM_BOW_FIRE) &&
(gSaveContext.equips.buttonItems[3] <= ITEM_BOW_LIGHT)))) {
((gSaveContext.save.info.equips.buttonItems[3] == ITEM_BOW) ||
((gSaveContext.save.info.equips.buttonItems[3] >= ITEM_BOW_FIRE) &&
(gSaveContext.save.info.equips.buttonItems[3] <= ITEM_BOW_LIGHT)))) {
pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE;
pauseCtx->equipTargetSlot = SLOT_BOW;
} else {
gSaveContext.equips.buttonItems[1] = gSaveContext.equips.buttonItems[3];
gSaveContext.equips.cButtonSlots[0] = gSaveContext.equips.cButtonSlots[2];
gSaveContext.save.info.equips.buttonItems[1] = gSaveContext.save.info.equips.buttonItems[3];
gSaveContext.save.info.equips.cButtonSlots[0] =
gSaveContext.save.info.equips.cButtonSlots[2];
Interface_LoadItemIcon2(play, 1);
}
} else {
gSaveContext.equips.buttonItems[1] = ITEM_NONE;
gSaveContext.equips.cButtonSlots[0] = SLOT_NONE;
gSaveContext.save.info.equips.buttonItems[1] = ITEM_NONE;
gSaveContext.save.info.equips.cButtonSlots[0] = SLOT_NONE;
}
} else if (pauseCtx->equipTargetSlot == gSaveContext.equips.cButtonSlots[1]) {
if (gSaveContext.equips.buttonItems[3] != ITEM_NONE) {
} else if (pauseCtx->equipTargetSlot == gSaveContext.save.info.equips.cButtonSlots[1]) {
if (gSaveContext.save.info.equips.buttonItems[3] != ITEM_NONE) {
if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1) &&
((gSaveContext.equips.buttonItems[3] == ITEM_BOW) ||
((gSaveContext.equips.buttonItems[3] >= ITEM_BOW_FIRE) &&
(gSaveContext.equips.buttonItems[3] <= ITEM_BOW_LIGHT)))) {
((gSaveContext.save.info.equips.buttonItems[3] == ITEM_BOW) ||
((gSaveContext.save.info.equips.buttonItems[3] >= ITEM_BOW_FIRE) &&
(gSaveContext.save.info.equips.buttonItems[3] <= ITEM_BOW_LIGHT)))) {
pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE;
pauseCtx->equipTargetSlot = SLOT_BOW;
} else {
gSaveContext.equips.buttonItems[2] = gSaveContext.equips.buttonItems[3];
gSaveContext.equips.cButtonSlots[1] = gSaveContext.equips.cButtonSlots[2];
gSaveContext.save.info.equips.buttonItems[2] = gSaveContext.save.info.equips.buttonItems[3];
gSaveContext.save.info.equips.cButtonSlots[1] =
gSaveContext.save.info.equips.cButtonSlots[2];
Interface_LoadItemIcon2(play, 2);
}
} else {
gSaveContext.equips.buttonItems[2] = ITEM_NONE;
gSaveContext.equips.cButtonSlots[1] = SLOT_NONE;
gSaveContext.save.info.equips.buttonItems[2] = ITEM_NONE;
gSaveContext.save.info.equips.cButtonSlots[1] = SLOT_NONE;
}
}
if ((pauseCtx->equipTargetItem >= 0xBF) && (pauseCtx->equipTargetItem <= 0xC1)) {
if ((gSaveContext.equips.buttonItems[3] == ITEM_BOW) ||
((gSaveContext.equips.buttonItems[3] >= ITEM_BOW_FIRE) &&
(gSaveContext.equips.buttonItems[3] <= ITEM_BOW_LIGHT))) {
if ((gSaveContext.save.info.equips.buttonItems[3] == ITEM_BOW) ||
((gSaveContext.save.info.equips.buttonItems[3] >= ITEM_BOW_FIRE) &&
(gSaveContext.save.info.equips.buttonItems[3] <= ITEM_BOW_LIGHT))) {
pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE;
pauseCtx->equipTargetSlot = SLOT_BOW;
}
} else if (pauseCtx->equipTargetItem == ITEM_BOW) {
if ((gSaveContext.equips.buttonItems[1] >= ITEM_BOW_FIRE) &&
(gSaveContext.equips.buttonItems[1] <= ITEM_BOW_LIGHT)) {
gSaveContext.equips.buttonItems[1] = gSaveContext.equips.buttonItems[3];
if ((gSaveContext.save.info.equips.buttonItems[1] >= ITEM_BOW_FIRE) &&
(gSaveContext.save.info.equips.buttonItems[1] <= ITEM_BOW_LIGHT)) {
gSaveContext.save.info.equips.buttonItems[1] = gSaveContext.save.info.equips.buttonItems[3];
Interface_LoadItemIcon2(play, 1);
} else if ((gSaveContext.equips.buttonItems[2] >= ITEM_BOW_FIRE) &&
(gSaveContext.equips.buttonItems[2] <= ITEM_BOW_LIGHT)) {
gSaveContext.equips.buttonItems[2] = gSaveContext.equips.buttonItems[3];
} else if ((gSaveContext.save.info.equips.buttonItems[2] >= ITEM_BOW_FIRE) &&
(gSaveContext.save.info.equips.buttonItems[2] <= ITEM_BOW_LIGHT)) {
gSaveContext.save.info.equips.buttonItems[2] = gSaveContext.save.info.equips.buttonItems[3];
Interface_LoadItemIcon2(play, 2);
}
}
gSaveContext.equips.buttonItems[3] = pauseCtx->equipTargetItem;
gSaveContext.equips.cButtonSlots[2] = pauseCtx->equipTargetSlot;
gSaveContext.save.info.equips.buttonItems[3] = pauseCtx->equipTargetItem;
gSaveContext.save.info.equips.cButtonSlots[2] = pauseCtx->equipTargetSlot;
Interface_LoadItemIcon1(play, 3);
osSyncPrintf("右sl_item_no=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetItem,
gSaveContext.equips.buttonItems[1], gSaveContext.equips.buttonItems[2],
gSaveContext.equips.buttonItems[3]);
gSaveContext.save.info.equips.buttonItems[1], gSaveContext.save.info.equips.buttonItems[2],
gSaveContext.save.info.equips.buttonItems[3]);
osSyncPrintf("右sl_number=%d (1)=%d (2)=%d (3)=%d\n", pauseCtx->equipTargetSlot,
gSaveContext.equips.cButtonSlots[0], gSaveContext.equips.cButtonSlots[1],
gSaveContext.equips.cButtonSlots[2]);
gSaveContext.save.info.equips.cButtonSlots[0],
gSaveContext.save.info.equips.cButtonSlots[1],
gSaveContext.save.info.equips.cButtonSlots[2]);
}
pauseCtx->unk_1E4 = 0;

View file

@ -107,7 +107,7 @@ void KaleidoScope_DrawDungeonMap(PlayState* play, GraphicsContext* gfxCtx) {
if (pauseCtx->stickAdjY > 30) {
if (pauseCtx->cursorPoint[PAUSE_MAP] >= 4) {
for (i = pauseCtx->cursorPoint[PAUSE_MAP] - 3 - 1; i >= 0; i--) {
if ((gSaveContext.sceneFlags[gSaveContext.mapIndex].floors & gBitFlags[i]) ||
if ((gSaveContext.save.info.sceneFlags[gSaveContext.mapIndex].floors & gBitFlags[i]) ||
(CHECK_DUNGEON_ITEM(DUNGEON_MAP, gSaveContext.mapIndex) &&
(gMapData->floorID[interfaceCtx->unk_25A][i] != 0))) {
pauseCtx->cursorPoint[PAUSE_MAP] = i + 3;
@ -118,7 +118,7 @@ void KaleidoScope_DrawDungeonMap(PlayState* play, GraphicsContext* gfxCtx) {
} else if (pauseCtx->stickAdjY < -30) {
if (pauseCtx->cursorPoint[PAUSE_MAP] != 10) {
for (i = pauseCtx->cursorPoint[PAUSE_MAP] - 3 + 1; i < 11; i++) {
if ((gSaveContext.sceneFlags[gSaveContext.mapIndex].floors & gBitFlags[i]) ||
if ((gSaveContext.save.info.sceneFlags[gSaveContext.mapIndex].floors & gBitFlags[i]) ||
(CHECK_DUNGEON_ITEM(DUNGEON_MAP, gSaveContext.mapIndex) &&
(gMapData->floorID[interfaceCtx->unk_25A][i] != 0))) {
pauseCtx->cursorPoint[PAUSE_MAP] = i + 3;
@ -243,7 +243,7 @@ void KaleidoScope_DrawDungeonMap(PlayState* play, GraphicsContext* gfxCtx) {
gSPVertex(POLY_OPA_DISP++, &pauseCtx->mapPageVtx[84], 32, 0);
for (i = j = 0; i < 8; i++, j += 4) {
if ((gSaveContext.sceneFlags[gSaveContext.mapIndex].floors & gBitFlags[i]) ||
if ((gSaveContext.save.info.sceneFlags[gSaveContext.mapIndex].floors & gBitFlags[i]) ||
CHECK_DUNGEON_ITEM(DUNGEON_MAP, gSaveContext.mapIndex)) {
if (i != (pauseCtx->dungeonMapSlot - 3)) {
gDPLoadTextureBlock(POLY_OPA_DISP++, floorIconTexs[gMapData->floorID[interfaceCtx->unk_25A][i]],
@ -558,7 +558,7 @@ void KaleidoScope_DrawWorldMap(PlayState* play, GraphicsContext* gfxCtx) {
gSPVertex(POLY_OPA_DISP++, &pauseCtx->mapPageVtx[60 + k * 4], 32, 0);
for (j = i = 0; i < 8; i++, j += 4) {
if (!(gSaveContext.worldMapAreaData & gBitFlags[cloudFlagNums[k + i]])) {
if (!(gSaveContext.save.info.worldMapAreaData & gBitFlags[cloudFlagNums[k + i]])) {
gDPLoadTextureBlock_4b(POLY_OPA_DISP++, cloudTexs[k + i], G_IM_FMT_I, D_8082AAEC[k + i],
D_8082AB2C[k + i], 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR,
G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);

View file

@ -338,10 +338,10 @@ void KaleidoScope_SetDefaultCursor(PlayState* play) {
switch (pauseCtx->pageIndex) {
case PAUSE_ITEM:
s = pauseCtx->cursorSlot[PAUSE_ITEM];
if (gSaveContext.inventory.items[s] == ITEM_NONE) {
if (gSaveContext.save.info.inventory.items[s] == ITEM_NONE) {
i = s + 1;
while (true) {
if (gSaveContext.inventory.items[i] != ITEM_NONE) {
if (gSaveContext.save.info.inventory.items[i] != ITEM_NONE) {
break;
}
i++;
@ -353,7 +353,7 @@ void KaleidoScope_SetDefaultCursor(PlayState* play) {
return;
}
}
pauseCtx->cursorItem[PAUSE_ITEM] = gSaveContext.inventory.items[i];
pauseCtx->cursorItem[PAUSE_ITEM] = gSaveContext.save.info.inventory.items[i];
pauseCtx->cursorSlot[PAUSE_ITEM] = i;
}
break;
@ -1150,7 +1150,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
if (YREG(7) != 0) {
osSyncPrintf(VT_FGCOL(YELLOW));
osSyncPrintf("キンスタ数(%d) Get_KIN_STA=%x (%x) (%x)\n", YREG(6), GET_GS_FLAGS(YREG(6)),
gAreaGsFlags[YREG(6)], gSaveContext.gsFlags[YREG(6) >> 2]);
gAreaGsFlags[YREG(6)], gSaveContext.save.info.gsFlags[YREG(6) >> 2]);
osSyncPrintf(VT_RST);
YREG(7) = 0;
@ -1916,8 +1916,8 @@ void KaleidoScope_InitVertices(PlayState* play, GraphicsContext* gfxCtx) {
}
for (phi_t3 = 1; phi_t3 < 4; phi_t3++, phi_t2 += 4) {
if (gSaveContext.equips.cButtonSlots[phi_t3 - 1] != ITEM_NONE) {
phi_t4 = gSaveContext.equips.cButtonSlots[phi_t3 - 1] * 4;
if (gSaveContext.save.info.equips.cButtonSlots[phi_t3 - 1] != ITEM_NONE) {
phi_t4 = gSaveContext.save.info.equips.cButtonSlots[phi_t3 - 1] * 4;
pauseCtx->itemVtx[phi_t2 + 0].v.ob[0] = pauseCtx->itemVtx[phi_t2 + 2].v.ob[0] =
pauseCtx->itemVtx[phi_t4].v.ob[0] - 2;
@ -2551,7 +2551,7 @@ void KaleidoScope_Update(PlayState* play) {
gSegments[8] = VIRTUAL_TO_PHYSICAL(pauseCtx->iconItemSegment);
for (i = 0; i < ARRAY_COUNTU(gItemAgeReqs); i++) {
if ((gItemAgeReqs[i] != 9) && (gItemAgeReqs[i] != ((void)0, gSaveContext.linkAge))) {
if ((gItemAgeReqs[i] != 9) && (gItemAgeReqs[i] != ((void)0, gSaveContext.save.linkAge))) {
KaleidoScope_GrayOutTextureRGBA32(SEGMENTED_TO_VIRTUAL(gItemIcons[i]),
ITEM_ICON_WIDTH * ITEM_ICON_HEIGHT);
}
@ -2771,7 +2771,7 @@ void KaleidoScope_Update(PlayState* play) {
pauseCtx->worldMapPoints[7] = 1;
}
if (gBitFlags[1] & gSaveContext.worldMapAreaData) {
if (gBitFlags[1] & gSaveContext.save.info.worldMapAreaData) {
pauseCtx->worldMapPoints[8] = 1;
}
@ -2807,7 +2807,7 @@ void KaleidoScope_Update(PlayState* play) {
pauseCtx->worldMapPoints[8] = 1;
}
if (gBitFlags[10] & gSaveContext.worldMapAreaData) {
if (gBitFlags[10] & gSaveContext.save.info.worldMapAreaData) {
pauseCtx->worldMapPoints[9] = 1;
}
@ -2883,7 +2883,7 @@ void KaleidoScope_Update(PlayState* play) {
if (i == ITEM_EYEBALL_FROG) {
pauseCtx->tradeQuestLocation = 3;
}
if ((i == ITEM_CLAIM_CHECK) && (gSaveContext.bgsFlag == 0)) {
if ((i == ITEM_CLAIM_CHECK) && (gSaveContext.save.info.playerData.bgsFlag == 0)) {
pauseCtx->tradeQuestLocation = 7;
}
}
@ -3080,7 +3080,7 @@ void KaleidoScope_Update(PlayState* play) {
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultReverb);
Play_SaveSceneFlags(play);
gSaveContext.savedSceneId = play->sceneId;
gSaveContext.save.info.playerData.savedSceneId = play->sceneId;
Sram_WriteSave(&play->sramCtx);
pauseCtx->unk_1EC = 4;
D_8082B25C = 3;
@ -3298,9 +3298,9 @@ void KaleidoScope_Update(PlayState* play) {
WREG(2) = 0;
pauseCtx->alpha = 255;
pauseCtx->state = 0xE;
gSaveContext.deaths++;
if (gSaveContext.deaths > 999) {
gSaveContext.deaths = 999;
gSaveContext.save.info.playerData.deaths++;
if (gSaveContext.save.info.playerData.deaths > 999) {
gSaveContext.save.info.playerData.deaths = 999;
}
}
osSyncPrintf("kscope->angle_s = %f\n", pauseCtx->unk_204);
@ -3319,7 +3319,7 @@ void KaleidoScope_Update(PlayState* play) {
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
pauseCtx->promptChoice = 0;
Play_SaveSceneFlags(play);
gSaveContext.savedSceneId = play->sceneId;
gSaveContext.save.info.playerData.savedSceneId = play->sceneId;
Sram_WriteSave(&play->sramCtx);
pauseCtx->state = 0xF;
D_8082B25C = 3;
@ -3347,7 +3347,7 @@ void KaleidoScope_Update(PlayState* play) {
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
Play_SaveSceneFlags(play);
switch (gSaveContext.entranceIndex) {
switch (gSaveContext.save.entranceIndex) {
case ENTR_DEKU_TREE_0:
case ENTR_DODONGOS_CAVERN_0:
case ENTR_JABU_JABU_0:
@ -3366,39 +3366,39 @@ void KaleidoScope_Update(PlayState* play) {
break;
case ENTR_DEKU_TREE_BOSS_0:
gSaveContext.entranceIndex = ENTR_DEKU_TREE_0;
gSaveContext.save.entranceIndex = ENTR_DEKU_TREE_0;
break;
case ENTR_DODONGOS_CAVERN_BOSS_0:
gSaveContext.entranceIndex = ENTR_DODONGOS_CAVERN_0;
gSaveContext.save.entranceIndex = ENTR_DODONGOS_CAVERN_0;
break;
case ENTR_JABU_JABU_BOSS_0:
gSaveContext.entranceIndex = ENTR_JABU_JABU_0;
gSaveContext.save.entranceIndex = ENTR_JABU_JABU_0;
break;
case ENTR_FOREST_TEMPLE_BOSS_0:
gSaveContext.entranceIndex = ENTR_FOREST_TEMPLE_0;
gSaveContext.save.entranceIndex = ENTR_FOREST_TEMPLE_0;
break;
case ENTR_FIRE_TEMPLE_BOSS_0:
gSaveContext.entranceIndex = ENTR_FIRE_TEMPLE_0;
gSaveContext.save.entranceIndex = ENTR_FIRE_TEMPLE_0;
break;
case ENTR_WATER_TEMPLE_BOSS_0:
gSaveContext.entranceIndex = ENTR_WATER_TEMPLE_0;
gSaveContext.save.entranceIndex = ENTR_WATER_TEMPLE_0;
break;
case ENTR_SPIRIT_TEMPLE_BOSS_0:
gSaveContext.entranceIndex = ENTR_SPIRIT_TEMPLE_0;
gSaveContext.save.entranceIndex = ENTR_SPIRIT_TEMPLE_0;
break;
case ENTR_SHADOW_TEMPLE_BOSS_0:
gSaveContext.entranceIndex = ENTR_SHADOW_TEMPLE_0;
gSaveContext.save.entranceIndex = ENTR_SHADOW_TEMPLE_0;
break;
case ENTR_GANONDORF_BOSS_0:
gSaveContext.entranceIndex = ENTR_GANONS_TOWER_0;
gSaveContext.save.entranceIndex = ENTR_GANONS_TOWER_0;
break;
}
} else {
@ -3424,21 +3424,21 @@ void KaleidoScope_Update(PlayState* play) {
Play_TriggerRespawn(play);
gSaveContext.respawnFlag = -2;
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
gSaveContext.health = 0x30;
gSaveContext.save.info.playerData.health = 0x30;
SEQCMD_RESET_AUDIO_HEAP(0, 10);
gSaveContext.healthAccumulator = 0;
gSaveContext.magicState = MAGIC_STATE_IDLE;
gSaveContext.prevMagicState = MAGIC_STATE_IDLE;
osSyncPrintf(VT_FGCOL(YELLOW));
osSyncPrintf("MAGIC_NOW=%d ", gSaveContext.magic);
osSyncPrintf("MAGIC_NOW=%d ", gSaveContext.save.info.playerData.magic);
osSyncPrintf("Z_MAGIC_NOW_NOW=%d → ", gSaveContext.magicFillTarget);
gSaveContext.magicCapacity = 0;
// Set the fill target to be the magic amount before game over
gSaveContext.magicFillTarget = gSaveContext.magic;
gSaveContext.magicFillTarget = gSaveContext.save.info.playerData.magic;
// Set `magicLevel` and `magic` to 0 so `magicCapacity` then `magic` grows from nothing
// to respectively the full capacity and `magicFillTarget`
gSaveContext.magicLevel = gSaveContext.magic = 0;
osSyncPrintf("MAGIC_NOW=%d ", gSaveContext.magic);
gSaveContext.save.info.playerData.magicLevel = gSaveContext.save.info.playerData.magic = 0;
osSyncPrintf("MAGIC_NOW=%d ", gSaveContext.save.info.playerData.magic);
osSyncPrintf("Z_MAGIC_NOW_NOW=%d\n", gSaveContext.magicFillTarget);
osSyncPrintf(VT_RST);
} else {