mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-23 15:55:47 +00:00
Doc page switch data and macros for age reqs
This commit is contained in:
parent
4eae3ca126
commit
a831003b36
6 changed files with 296 additions and 108 deletions
|
@ -730,13 +730,24 @@ typedef enum {
|
|||
#define PAUSE_CURSOR_PAGE_RIGHT 11
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ PAUSE_ITEM,
|
||||
/* 0x01 */ PAUSE_MAP,
|
||||
/* 0x02 */ PAUSE_QUEST,
|
||||
/* 0x03 */ PAUSE_EQUIP,
|
||||
/* 0x00 */ PAUSE_ITEM, // -z
|
||||
/* 0x01 */ PAUSE_MAP, // +x
|
||||
/* 0x02 */ PAUSE_QUEST, // +z
|
||||
/* 0x03 */ PAUSE_EQUIP, // -x
|
||||
/* 0x04 */ PAUSE_WORLD_MAP
|
||||
} PauseMenuPage;
|
||||
|
||||
#define PAUSE_ITEM_X (0)
|
||||
#define PAUSE_ITEM_Z (-1)
|
||||
#define PAUSE_MAP_X (1)
|
||||
#define PAUSE_MAP_Z (0)
|
||||
#define PAUSE_QUEST_X (0)
|
||||
#define PAUSE_QUEST_Z (1)
|
||||
#define PAUSE_EQUIP_X (-1)
|
||||
#define PAUSE_EQUIP_Z (0)
|
||||
|
||||
#define PAUSE_EYE_DIST (64.0f)
|
||||
|
||||
#define PAUSE_EQUIP_PLAYER_WIDTH 64
|
||||
#define PAUSE_EQUIP_PLAYER_HEIGHT 112
|
||||
|
||||
|
@ -827,7 +838,7 @@ typedef struct {
|
|||
/* 0x01D6 */ u16 debugState;
|
||||
/* 0x01D8 */ Vec3f eye;
|
||||
/* 0x01E4 */ u16 mainSubState;
|
||||
/* 0x01E6 */ u16 mode;
|
||||
/* 0x01E6 */ u16 nextPageMode; // (2 * prev pageIndex) + (scroll left ? 1 : 0)
|
||||
/* 0x01E8 */ u16 pageIndex; // "kscp_pos"
|
||||
/* 0x01EA */ u16 switchPageTimer;
|
||||
/* 0x01EC */ u16 savePromptSubState;
|
||||
|
|
|
@ -1,22 +1,42 @@
|
|||
#include "global.h"
|
||||
|
||||
s16 sKaleidoSetupKscpPos0[] = {
|
||||
s16 sKaleidoSetupUnusedPageIndex[] = {
|
||||
PAUSE_QUEST, // PAUSE_ITEM
|
||||
PAUSE_EQUIP, // PAUSE_MAP
|
||||
PAUSE_ITEM, // PAUSE_QUEST
|
||||
PAUSE_MAP, // PAUSE_EQUIP
|
||||
};
|
||||
f32 sKaleidoSetupEyeX0[] = { 0.0f, 64.0f, 0.0f, -64.0f };
|
||||
f32 sKaleidoSetupEyeZ0[] = { -64.0f, 0.0f, 64.0f, 0.0f };
|
||||
f32 sKaleidoSetupUnusedEyeX[] = {
|
||||
PAUSE_EYE_DIST * -PAUSE_QUEST_X, // PAUSE_ITEM
|
||||
PAUSE_EYE_DIST * -PAUSE_EQUIP_X, // PAUSE_MAP
|
||||
PAUSE_EYE_DIST * -PAUSE_ITEM_X, // PAUSE_QUEST
|
||||
PAUSE_EYE_DIST * -PAUSE_MAP_X, // PAUSE_EQUIP
|
||||
};
|
||||
f32 sKaleidoSetupUnusedEyeZ[] = {
|
||||
PAUSE_EYE_DIST * -PAUSE_QUEST_Z, // PAUSE_ITEM
|
||||
PAUSE_EYE_DIST * -PAUSE_EQUIP_Z, // PAUSE_MAP
|
||||
PAUSE_EYE_DIST * -PAUSE_ITEM_Z, // PAUSE_QUEST
|
||||
PAUSE_EYE_DIST * -PAUSE_MAP_Z, // PAUSE_EQUIP
|
||||
};
|
||||
|
||||
s16 sKaleidoSetupKscpPos1[] = {
|
||||
s16 sKaleidoSetupRightPageIndex[] = {
|
||||
PAUSE_MAP, // PAUSE_ITEM
|
||||
PAUSE_QUEST, // PAUSE_MAP
|
||||
PAUSE_EQUIP, // PAUSE_QUEST
|
||||
PAUSE_ITEM, // PAUSE_EQUIP
|
||||
};
|
||||
f32 sKaleidoSetupEyeX1[] = { -64.0f, 0.0f, 64.0f, 0.0f };
|
||||
f32 sKaleidoSetupEyeZ1[] = { 0.0f, -64.0f, 0.0f, 64.0f };
|
||||
f32 sKaleidoSetupRightPageEyeX[] = {
|
||||
PAUSE_EYE_DIST * -PAUSE_MAP_X, // PAUSE_ITEM
|
||||
PAUSE_EYE_DIST * -PAUSE_QUEST_X, // PAUSE_MAP
|
||||
PAUSE_EYE_DIST * -PAUSE_EQUIP_X, // PAUSE_QUEST
|
||||
PAUSE_EYE_DIST * -PAUSE_ITEM_X, // PAUSE_EQUIP
|
||||
};
|
||||
f32 sKaleidoSetupRightPageEyeZ[] = {
|
||||
PAUSE_EYE_DIST * -PAUSE_MAP_Z, // PAUSE_ITEM
|
||||
PAUSE_EYE_DIST * -PAUSE_QUEST_Z, // PAUSE_MAP
|
||||
PAUSE_EYE_DIST * -PAUSE_EQUIP_Z, // PAUSE_QUEST
|
||||
PAUSE_EYE_DIST * -PAUSE_ITEM_Z, // PAUSE_EQUIP
|
||||
};
|
||||
|
||||
void KaleidoSetup_Update(PlayState* play) {
|
||||
PauseContext* pauseCtx = &play->pauseCtx;
|
||||
|
@ -45,19 +65,22 @@ void KaleidoSetup_Update(PlayState* play) {
|
|||
pauseCtx->mainSubState = PAUSE_MAIN_STATE_SWITCHING_PAGE; // irrelevant
|
||||
|
||||
if (R_START_LABEL_DD(0) == 0) {
|
||||
pauseCtx->eye.x = sKaleidoSetupEyeX0[pauseCtx->pageIndex];
|
||||
pauseCtx->eye.z = sKaleidoSetupEyeZ0[pauseCtx->pageIndex];
|
||||
pauseCtx->pageIndex = sKaleidoSetupKscpPos0[pauseCtx->pageIndex];
|
||||
// Never reached, unused, and the data would be wrong anyway
|
||||
pauseCtx->eye.x = sKaleidoSetupUnusedEyeX[pauseCtx->pageIndex];
|
||||
pauseCtx->eye.z = sKaleidoSetupUnusedEyeZ[pauseCtx->pageIndex];
|
||||
pauseCtx->pageIndex = sKaleidoSetupUnusedPageIndex[pauseCtx->pageIndex];
|
||||
} else {
|
||||
pauseCtx->eye.x = sKaleidoSetupEyeX1[pauseCtx->pageIndex];
|
||||
pauseCtx->eye.z = sKaleidoSetupEyeZ1[pauseCtx->pageIndex];
|
||||
pauseCtx->pageIndex = sKaleidoSetupKscpPos1[pauseCtx->pageIndex];
|
||||
// Set eye position and pageIndex such that scrolling left brings to the desired page
|
||||
pauseCtx->eye.x = sKaleidoSetupRightPageEyeX[pauseCtx->pageIndex];
|
||||
pauseCtx->eye.z = sKaleidoSetupRightPageEyeZ[pauseCtx->pageIndex];
|
||||
pauseCtx->pageIndex = sKaleidoSetupRightPageIndex[pauseCtx->pageIndex];
|
||||
}
|
||||
|
||||
pauseCtx->mode = (u16)(pauseCtx->pageIndex * 2) + 1;
|
||||
// Set next page mode to scroll left
|
||||
pauseCtx->nextPageMode = (u16)(pauseCtx->pageIndex * 2) + 1;
|
||||
pauseCtx->state = PAUSE_STATE_WAIT_LETTERBOX;
|
||||
|
||||
osSyncPrintf("Mode=%d eye.x=%f, eye.z=%f kscp_pos=%d\n", pauseCtx->mode, pauseCtx->eye.x,
|
||||
osSyncPrintf("Mode=%d eye.x=%f, eye.z=%f kscp_pos=%d\n", pauseCtx->nextPageMode, pauseCtx->eye.x,
|
||||
pauseCtx->eye.z, pauseCtx->pageIndex);
|
||||
}
|
||||
|
||||
|
@ -83,7 +106,7 @@ void KaleidoSetup_Init(PlayState* play) {
|
|||
pauseCtx->alpha = 0;
|
||||
pauseCtx->switchPageTimer = 0;
|
||||
pauseCtx->mainSubState = PAUSE_MAIN_STATE_IDLE;
|
||||
pauseCtx->mode = 0;
|
||||
pauseCtx->nextPageMode = 0;
|
||||
pauseCtx->pageIndex = PAUSE_ITEM;
|
||||
|
||||
pauseCtx->rollRotPageItem = pauseCtx->rollRotPageEquip = pauseCtx->rollRotPageMap = pauseCtx->rollRotPageQuest =
|
||||
|
|
|
@ -438,9 +438,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
|
||||
osSyncPrintf("kscope->select_name[Display_Equipment] = %d\n", pauseCtx->cursorItem[PAUSE_EQUIP]);
|
||||
|
||||
if (!((gEquipAgeReqs[pauseCtx->cursorY[PAUSE_EQUIP]][pauseCtx->cursorX[PAUSE_EQUIP]] == 9) ||
|
||||
(gEquipAgeReqs[pauseCtx->cursorY[PAUSE_EQUIP]][pauseCtx->cursorX[PAUSE_EQUIP]] ==
|
||||
((void)0, gSaveContext.linkAge)))) {
|
||||
if (!CHECK_AGE_REQ_EQUIP(pauseCtx->cursorY[PAUSE_EQUIP], pauseCtx->cursorX[PAUSE_EQUIP])) {
|
||||
pauseCtx->nameColorSet = 1;
|
||||
}
|
||||
|
||||
|
@ -470,9 +468,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
(pauseCtx->state == PAUSE_STATE_MAIN) && (pauseCtx->mainSubState == PAUSE_MAIN_STATE_IDLE) &&
|
||||
CHECK_BTN_ALL(input->press.button, BTN_A) && (pauseCtx->cursorX[PAUSE_EQUIP] != 0)) {
|
||||
|
||||
if ((gEquipAgeReqs[pauseCtx->cursorY[PAUSE_EQUIP]][pauseCtx->cursorX[PAUSE_EQUIP]] == 9) ||
|
||||
(gEquipAgeReqs[pauseCtx->cursorY[PAUSE_EQUIP]][pauseCtx->cursorX[PAUSE_EQUIP]] ==
|
||||
((void)0, gSaveContext.linkAge))) {
|
||||
if (CHECK_AGE_REQ_EQUIP(pauseCtx->cursorY[PAUSE_EQUIP], pauseCtx->cursorX[PAUSE_EQUIP])) {
|
||||
Inventory_ChangeEquipment(pauseCtx->cursorY[PAUSE_EQUIP], pauseCtx->cursorX[PAUSE_EQUIP]);
|
||||
|
||||
if (pauseCtx->cursorY[PAUSE_EQUIP] == 0) {
|
||||
|
@ -524,7 +520,7 @@ 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 (CHECK_AGE_REQ_EQUIP(i, k + 1)) {
|
||||
if (temp == cursorSlot) {
|
||||
pauseCtx->equipVtx[j].v.ob[0] = pauseCtx->equipVtx[j + 2].v.ob[0] =
|
||||
pauseCtx->equipVtx[j].v.ob[0] - 2;
|
||||
|
|
|
@ -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 (!CHECK_AGE_REQ_SLOT(SLOT(item))) {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 100, 100, 100, pauseCtx->alpha);
|
||||
} else {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);
|
||||
|
@ -337,7 +337,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
|
|||
pauseCtx->cursorItem[PAUSE_ITEM] = cursorItem;
|
||||
pauseCtx->cursorSlot[PAUSE_ITEM] = cursorSlot;
|
||||
|
||||
if (!((gSlotAgeReqs[cursorSlot] == 9) || (gSlotAgeReqs[cursorSlot] == ((void)0, gSaveContext.linkAge)))) {
|
||||
if (!CHECK_AGE_REQ_SLOT(cursorSlot)) {
|
||||
pauseCtx->nameColorSet = 1;
|
||||
}
|
||||
|
||||
|
@ -348,9 +348,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
|
|||
if ((pauseCtx->debugState == 0) && (pauseCtx->state == PAUSE_STATE_MAIN) &&
|
||||
(pauseCtx->mainSubState == PAUSE_MAIN_STATE_IDLE)) {
|
||||
if (CHECK_BTN_ANY(input->press.button, BTN_CLEFT | BTN_CDOWN | BTN_CRIGHT)) {
|
||||
if (((gSlotAgeReqs[cursorSlot] == 9) ||
|
||||
(gSlotAgeReqs[cursorSlot] == ((void)0, gSaveContext.linkAge))) &&
|
||||
(cursorItem != ITEM_SOLD_OUT)) {
|
||||
if (CHECK_AGE_REQ_SLOT(cursorSlot) && (cursorItem != ITEM_SOLD_OUT)) {
|
||||
if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
|
||||
pauseCtx->equipTargetCBtn = 0;
|
||||
} else if (CHECK_BTN_ALL(input->press.button, BTN_CDOWN)) {
|
||||
|
@ -436,7 +434,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
|
|||
if (gSaveContext.inventory.items[i] != ITEM_NONE) {
|
||||
if ((pauseCtx->mainSubState == PAUSE_MAIN_STATE_IDLE) && (pauseCtx->pageIndex == PAUSE_ITEM) &&
|
||||
(pauseCtx->cursorSpecialPos == 0)) {
|
||||
if ((gSlotAgeReqs[i] == 9) || (gSlotAgeReqs[i] == ((void)0, gSaveContext.linkAge))) {
|
||||
if (CHECK_AGE_REQ_SLOT(i)) {
|
||||
if ((sEquipState == 2) && (i == 3)) {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, magicArrowEffectsR[pauseCtx->equipTargetItem - 0xBF],
|
||||
magicArrowEffectsG[pauseCtx->equipTargetItem - 0xBF],
|
||||
|
|
|
@ -9,8 +9,19 @@ extern s16 D_8082AAEC_width_MAP_PAGE_VTX_NOT_IN_DUNGEON_SCENE_[];
|
|||
extern s16 D_8082AB2C_height_MAP_PAGE_VTX_NOT_IN_DUNGEON_SCENE_[];
|
||||
extern u8 gSlotAgeReqs[];
|
||||
extern u8 gEquipAgeReqs[EQUIP_TYPE_MAX][4];
|
||||
extern u8 gItemAgeReqs[];
|
||||
extern u8 gAreaGsFlags[];
|
||||
|
||||
#define AGE_REQ_ADULT LINK_AGE_ADULT
|
||||
#define AGE_REQ_CHILD LINK_AGE_CHILD
|
||||
#define AGE_REQ_NONE 9
|
||||
|
||||
#define CHECK_AGE_REQ_SLOT(slot) \
|
||||
((gSlotAgeReqs[slot] == AGE_REQ_NONE) || gSlotAgeReqs[slot] == ((void)0, gSaveContext.linkAge))
|
||||
#define CHECK_AGE_REQ_EQUIP(y, x) \
|
||||
((gEquipAgeReqs[y][x] == 9) || (gEquipAgeReqs[y][x] == ((void)0, gSaveContext.linkAge)))
|
||||
#define CHECK_AGE_REQ_ITEM(item) ((gItemAgeReqs[item] == 9) || (gItemAgeReqs[item] == ((void)0, gSaveContext.linkAge)))
|
||||
|
||||
void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx);
|
||||
s32 KaleidoScope_UpdateQuestStatusPoint(PauseContext* pauseCtx, s32 point);
|
||||
void KaleidoScope_DrawDebugEditor(PlayState* play);
|
||||
|
|
|
@ -136,13 +136,32 @@ s16 D_8082AB2C_height_MAP_PAGE_VTX_NOT_IN_DUNGEON_SCENE_[] = {
|
|||
};
|
||||
|
||||
// TODO may not be indexed by `PAUSE_`
|
||||
static u8 D_8082AB6C[][5] = {
|
||||
{ BTN_ENABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED, BTN_ENABLED }, // PAUSE_ITEM
|
||||
{ BTN_ENABLED, BTN_ENABLED, BTN_ENABLED, BTN_ENABLED, BTN_DISABLED }, // PAUSE_MAP
|
||||
{ BTN_ENABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED }, // PAUSE_QUEST
|
||||
{ BTN_ENABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED, BTN_ENABLED }, // PAUSE_EQUIP
|
||||
{ BTN_ENABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED, BTN_ENABLED }, // PAUSE_WORLD_MAP
|
||||
static u8 D_8082AB6C_buttonStatusNext_[][5] = {
|
||||
// PAUSE_ITEM + SWITCH_PAGE_LEFT_PT
|
||||
//
|
||||
// -> PAUSE_EQUIP
|
||||
{ BTN_ENABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED, BTN_ENABLED },
|
||||
// PAUSE_MAP + SWITCH_PAGE_LEFT_PT
|
||||
//
|
||||
// -> PAUSE_ITEM
|
||||
{ BTN_ENABLED, BTN_ENABLED, BTN_ENABLED, BTN_ENABLED, BTN_DISABLED },
|
||||
// PAUSE_QUEST + SWITCH_PAGE_LEFT_PT
|
||||
// PAUSE_ITEM + SWITCH_PAGE_RIGHT_PT
|
||||
// -> PAUSE_MAP
|
||||
{ BTN_ENABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED },
|
||||
// PAUSE_EQUIP + SWITCH_PAGE_LEFT_PT
|
||||
// PAUSE_MAP + SWITCH_PAGE_RIGHT_PT
|
||||
// -> PAUSE_QUEST
|
||||
{ BTN_ENABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED, BTN_ENABLED },
|
||||
//
|
||||
// PAUSE_QUEST + SWITCH_PAGE_RIGHT_PT
|
||||
// -> PAUSE_EQUIP
|
||||
{ BTN_ENABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED, BTN_ENABLED },
|
||||
//
|
||||
// PAUSE_EQUIP + SWITCH_PAGE_RIGHT_PT
|
||||
// -> PAUSE_ITEM
|
||||
{ BTN_ENABLED, BTN_ENABLED, BTN_ENABLED, BTN_ENABLED, BTN_DISABLED },
|
||||
|
||||
};
|
||||
|
||||
static s16 sColor82ABRed_D_8082AB8C = 0;
|
||||
|
@ -156,55 +175,181 @@ static s16 sDrawGameOverEnvColorBlue_D_8082ABA4 = 0;
|
|||
|
||||
static s16 sInDungeonScene = false;
|
||||
|
||||
// "pt" from debug string in KaleidoScope_SwitchPage
|
||||
static f32 D_8082ABAC_pageSwitch_eye_dx_[] = {
|
||||
-4.0f, // PAUSE_ITEM pt=0
|
||||
4.0f, // PAUSE_ITEM pt=1
|
||||
4.0f, // PAUSE_MAP pt=0
|
||||
4.0f, // PAUSE_MAP pt=1
|
||||
4.0f, // PAUSE_QUEST pt=0
|
||||
-4.0f, // PAUSE_QUEST pt=1
|
||||
-4.0f, // PAUSE_EQUIP pt=0
|
||||
-4.0f, // PAUSE_EQUIP pt=1
|
||||
static f32 sPageSwitchEyeDx[] = {
|
||||
-PAUSE_EYE_DIST * (PAUSE_MAP_X - PAUSE_ITEM_X) / 16, // PAUSE_ITEM right
|
||||
-PAUSE_EYE_DIST*(PAUSE_EQUIP_X - PAUSE_ITEM_X) / 16, // PAUSE_ITEM left
|
||||
-PAUSE_EYE_DIST*(PAUSE_QUEST_X - PAUSE_MAP_X) / 16, // PAUSE_MAP right
|
||||
-PAUSE_EYE_DIST*(PAUSE_ITEM_X - PAUSE_MAP_X) / 16, // PAUSE_MAP left
|
||||
-PAUSE_EYE_DIST*(PAUSE_EQUIP_X - PAUSE_QUEST_X) / 16, // PAUSE_QUEST right
|
||||
-PAUSE_EYE_DIST*(PAUSE_MAP_X - PAUSE_QUEST_X) / 16, // PAUSE_QUEST left
|
||||
-PAUSE_EYE_DIST*(PAUSE_ITEM_X - PAUSE_EQUIP_X) / 16, // PAUSE_EQUIP right
|
||||
-PAUSE_EYE_DIST*(PAUSE_QUEST_X - PAUSE_EQUIP_X) / 16, // PAUSE_EQUIP left
|
||||
};
|
||||
|
||||
static f32 D_8082ABCC_pageSwitch_eye_dz_[] = {
|
||||
-4.0f, // PAUSE_ITEM pt=0
|
||||
-4.0f, // PAUSE_ITEM pt=1
|
||||
-4.0f, // PAUSE_MAP pt=0
|
||||
4.0f, // PAUSE_MAP pt=1
|
||||
4.0f, // PAUSE_QUEST pt=0
|
||||
4.0f, // PAUSE_QUEST pt=1
|
||||
4.0f, // PAUSE_EQUIP pt=0
|
||||
-4.0f, // PAUSE_EQUIP pt=1
|
||||
static f32 sPageSwitchEyeDz[] = {
|
||||
-PAUSE_EYE_DIST * (PAUSE_MAP_Z - PAUSE_ITEM_Z) / 16, // PAUSE_ITEM right
|
||||
-PAUSE_EYE_DIST*(PAUSE_EQUIP_Z - PAUSE_ITEM_Z) / 16, // PAUSE_ITEM left
|
||||
-PAUSE_EYE_DIST*(PAUSE_QUEST_Z - PAUSE_MAP_Z) / 16, // PAUSE_MAP right
|
||||
-PAUSE_EYE_DIST*(PAUSE_ITEM_Z - PAUSE_MAP_Z) / 16, // PAUSE_MAP left
|
||||
-PAUSE_EYE_DIST*(PAUSE_EQUIP_Z - PAUSE_QUEST_Z) / 16, // PAUSE_QUEST right
|
||||
-PAUSE_EYE_DIST*(PAUSE_MAP_Z - PAUSE_QUEST_Z) / 16, // PAUSE_QUEST left
|
||||
-PAUSE_EYE_DIST*(PAUSE_ITEM_Z - PAUSE_EQUIP_Z) / 16, // PAUSE_EQUIP right
|
||||
-PAUSE_EYE_DIST*(PAUSE_QUEST_Z - PAUSE_EQUIP_Z) / 16, // PAUSE_EQUIP left
|
||||
};
|
||||
|
||||
static u16 D_8082ABEC_modeToNewPageIndex_[] = {
|
||||
PAUSE_MAP, // PAUSE_ITEM pt=0
|
||||
PAUSE_EQUIP, // PAUSE_ITEM pt=1
|
||||
PAUSE_QUEST, // PAUSE_MAP pt=0
|
||||
PAUSE_ITEM, // PAUSE_MAP pt=1
|
||||
PAUSE_EQUIP, // PAUSE_QUEST pt=0
|
||||
PAUSE_MAP, // PAUSE_QUEST pt=1
|
||||
PAUSE_ITEM, // PAUSE_EQUIP pt=0
|
||||
PAUSE_QUEST, // PAUSE_EQUIP pt=1
|
||||
static u16 sPageSwitchNextPageIndex[] = {
|
||||
PAUSE_MAP, // PAUSE_ITEM right
|
||||
PAUSE_EQUIP, // PAUSE_ITEM left
|
||||
PAUSE_QUEST, // PAUSE_MAP right
|
||||
PAUSE_ITEM, // PAUSE_MAP left
|
||||
PAUSE_EQUIP, // PAUSE_QUEST right
|
||||
PAUSE_MAP, // PAUSE_QUEST left
|
||||
PAUSE_ITEM, // PAUSE_EQUIP right
|
||||
PAUSE_QUEST, // PAUSE_EQUIP left
|
||||
};
|
||||
|
||||
u8 gSlotAgeReqs[] = {
|
||||
1, 9, 9, 0, 0, 9, 1, 9, 9, 0, 0, 9, 1, 9, 1, 0, 0, 9, 9, 9, 9, 9, 0, 1,
|
||||
AGE_REQ_CHILD, // SLOT_STICK
|
||||
AGE_REQ_NONE, // SLOT_NUT
|
||||
AGE_REQ_NONE, // SLOT_BOMB
|
||||
AGE_REQ_ADULT, // SLOT_BOW
|
||||
AGE_REQ_ADULT, // SLOT_ARROW_FIRE
|
||||
AGE_REQ_NONE, // SLOT_DINS_FIRE
|
||||
AGE_REQ_CHILD, // SLOT_SLINGSHOT
|
||||
AGE_REQ_NONE, // SLOT_OCARINA
|
||||
AGE_REQ_NONE, // SLOT_BOMBCHU
|
||||
AGE_REQ_ADULT, // SLOT_HOOKSHOT
|
||||
AGE_REQ_ADULT, // SLOT_ARROW_ICE
|
||||
AGE_REQ_NONE, // SLOT_FARORES_WIND
|
||||
AGE_REQ_CHILD, // SLOT_BOOMERANG
|
||||
AGE_REQ_NONE, // SLOT_LENS
|
||||
AGE_REQ_CHILD, // SLOT_BEAN
|
||||
AGE_REQ_ADULT, // SLOT_HAMMER
|
||||
AGE_REQ_ADULT, // SLOT_ARROW_LIGHT
|
||||
AGE_REQ_NONE, // SLOT_NAYRUS_LOVE
|
||||
AGE_REQ_NONE, // SLOT_BOTTLE_1
|
||||
AGE_REQ_NONE, // SLOT_BOTTLE_2
|
||||
AGE_REQ_NONE, // SLOT_BOTTLE_3
|
||||
AGE_REQ_NONE, // SLOT_BOTTLE_4
|
||||
AGE_REQ_ADULT, // SLOT_TRADE_ADULT
|
||||
AGE_REQ_CHILD, // SLOT_TRADE_CHILD
|
||||
};
|
||||
|
||||
// Not sure EQUIP_TYPE_MAX is really EQUIP_TYPE_MAX
|
||||
u8 gEquipAgeReqs[EQUIP_TYPE_MAX][4] = {
|
||||
{ 0, 1, 0, 0 },
|
||||
{ 9, 1, 9, 0 },
|
||||
{ 0, 9, 0, 0 },
|
||||
{ 9, 9, 0, 0 },
|
||||
{
|
||||
AGE_REQ_ADULT,
|
||||
AGE_REQ_CHILD,
|
||||
AGE_REQ_ADULT,
|
||||
AGE_REQ_ADULT,
|
||||
}, // EQUIP_TYPE_SWORD
|
||||
{
|
||||
AGE_REQ_NONE,
|
||||
AGE_REQ_CHILD,
|
||||
AGE_REQ_NONE,
|
||||
AGE_REQ_ADULT,
|
||||
}, // EQUIP_TYPE_SHIELD
|
||||
{
|
||||
AGE_REQ_ADULT,
|
||||
AGE_REQ_NONE,
|
||||
AGE_REQ_ADULT,
|
||||
AGE_REQ_ADULT,
|
||||
}, // EQUIP_TYPE_TUNIC
|
||||
{
|
||||
AGE_REQ_NONE,
|
||||
AGE_REQ_NONE,
|
||||
AGE_REQ_ADULT,
|
||||
AGE_REQ_ADULT,
|
||||
}, // EQUIP_TYPE_BOOTS
|
||||
};
|
||||
|
||||
u8 gItemAgeReqs[] = {
|
||||
1, 9, 9, 0, 0, 9, 1, 9, 9, 9, 0, 0, 0, 9, 1, 9, 1, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
|
||||
9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 0, 0, 1, 9, 0, 9, 0, 0, 9, 0, 0, 1, 1, 1, 0, 0, 0, 9, 9, 9, 1, 0, 0, 9, 9, 0,
|
||||
AGE_REQ_CHILD, // ITEM_STICK
|
||||
AGE_REQ_NONE, // ITEM_NUT
|
||||
AGE_REQ_NONE, // ITEM_BOMB
|
||||
AGE_REQ_ADULT, // ITEM_BOW
|
||||
AGE_REQ_ADULT, // ITEM_ARROW_FIRE
|
||||
AGE_REQ_NONE, // ITEM_DINS_FIRE
|
||||
AGE_REQ_CHILD, // ITEM_SLINGSHOT
|
||||
AGE_REQ_NONE, // ITEM_OCARINA_FAIRY
|
||||
AGE_REQ_NONE, // ITEM_OCARINA_TIME
|
||||
AGE_REQ_NONE, // ITEM_BOMBCHU
|
||||
AGE_REQ_ADULT, // ITEM_HOOKSHOT
|
||||
AGE_REQ_ADULT, // ITEM_LONGSHOT
|
||||
AGE_REQ_ADULT, // ITEM_ARROW_ICE
|
||||
AGE_REQ_NONE, // ITEM_FARORES_WIND
|
||||
AGE_REQ_CHILD, // ITEM_BOOMERANG
|
||||
AGE_REQ_NONE, // ITEM_LENS
|
||||
AGE_REQ_CHILD, // ITEM_BEAN
|
||||
AGE_REQ_ADULT, // ITEM_HAMMER
|
||||
AGE_REQ_ADULT, // ITEM_ARROW_LIGHT
|
||||
AGE_REQ_NONE, // ITEM_NAYRUS_LOVE
|
||||
AGE_REQ_NONE, // ITEM_BOTTLE
|
||||
AGE_REQ_NONE, // ITEM_POTION_RED
|
||||
AGE_REQ_NONE, // ITEM_POTION_GREEN
|
||||
AGE_REQ_NONE, // ITEM_POTION_BLUE
|
||||
AGE_REQ_NONE, // ITEM_FAIRY
|
||||
AGE_REQ_NONE, // ITEM_FISH
|
||||
AGE_REQ_NONE, // ITEM_MILK_BOTTLE
|
||||
AGE_REQ_NONE, // ITEM_LETTER_RUTO
|
||||
AGE_REQ_NONE, // ITEM_BLUE_FIRE
|
||||
AGE_REQ_NONE, // ITEM_BUG
|
||||
AGE_REQ_NONE, // ITEM_BIG_POE
|
||||
AGE_REQ_NONE, // ITEM_MILK_HALF
|
||||
AGE_REQ_NONE, // ITEM_POE
|
||||
AGE_REQ_CHILD, // ITEM_WEIRD_EGG
|
||||
AGE_REQ_CHILD, // ITEM_CHICKEN
|
||||
AGE_REQ_CHILD, // ITEM_LETTER_ZELDA
|
||||
AGE_REQ_CHILD, // ITEM_MASK_KEATON
|
||||
AGE_REQ_CHILD, // ITEM_MASK_SKULL
|
||||
AGE_REQ_CHILD, // ITEM_MASK_SPOOKY
|
||||
AGE_REQ_CHILD, // ITEM_MASK_BUNNY
|
||||
AGE_REQ_CHILD, // ITEM_MASK_GORON
|
||||
AGE_REQ_CHILD, // ITEM_MASK_ZORA
|
||||
AGE_REQ_CHILD, // ITEM_MASK_GERUDO
|
||||
AGE_REQ_CHILD, // ITEM_MASK_TRUTH
|
||||
AGE_REQ_CHILD, // ITEM_SOLD_OUT
|
||||
AGE_REQ_ADULT, // ITEM_POCKET_EGG
|
||||
AGE_REQ_ADULT, // ITEM_POCKET_CUCCO
|
||||
AGE_REQ_ADULT, // ITEM_COJIRO
|
||||
AGE_REQ_ADULT, // ITEM_ODD_MUSHROOM
|
||||
AGE_REQ_ADULT, // ITEM_ODD_POTION
|
||||
AGE_REQ_ADULT, // ITEM_SAW
|
||||
AGE_REQ_ADULT, // ITEM_SWORD_BROKEN
|
||||
AGE_REQ_ADULT, // ITEM_PRESCRIPTION
|
||||
AGE_REQ_ADULT, // ITEM_FROG
|
||||
AGE_REQ_ADULT, // ITEM_EYEDROPS
|
||||
AGE_REQ_ADULT, // ITEM_CLAIM_CHECK
|
||||
AGE_REQ_ADULT, // ITEM_BOW_ARROW_FIRE
|
||||
AGE_REQ_ADULT, // ITEM_BOW_ARROW_ICE
|
||||
AGE_REQ_ADULT, // ITEM_BOW_ARROW_LIGHT
|
||||
AGE_REQ_CHILD, // ITEM_SWORD_KOKIRI
|
||||
AGE_REQ_ADULT, // ITEM_SWORD_MASTER
|
||||
AGE_REQ_ADULT, // ITEM_SWORD_BGS
|
||||
AGE_REQ_CHILD, // ITEM_SHIELD_DEKU
|
||||
AGE_REQ_NONE, // ITEM_SHIELD_HYLIAN
|
||||
AGE_REQ_ADULT, // ITEM_SHIELD_MIRROR
|
||||
AGE_REQ_NONE, // ITEM_TUNIC_KOKIRI
|
||||
AGE_REQ_ADULT, // ITEM_TUNIC_GORON
|
||||
AGE_REQ_ADULT, // ITEM_TUNIC_ZORA
|
||||
AGE_REQ_NONE, // ITEM_BOOTS_KOKIRI
|
||||
AGE_REQ_ADULT, // ITEM_BOOTS_IRON
|
||||
AGE_REQ_ADULT, // ITEM_BOOTS_HOVER
|
||||
AGE_REQ_CHILD, // ITEM_BULLET_BAG_30
|
||||
AGE_REQ_CHILD, // ITEM_BULLET_BAG_40
|
||||
AGE_REQ_CHILD, // ITEM_BULLET_BAG_50
|
||||
AGE_REQ_ADULT, // ITEM_QUIVER_30
|
||||
AGE_REQ_ADULT, // ITEM_QUIVER_40
|
||||
AGE_REQ_ADULT, // ITEM_QUIVER_50
|
||||
AGE_REQ_NONE, // ITEM_BOMB_BAG_20
|
||||
AGE_REQ_NONE, // ITEM_BOMB_BAG_30
|
||||
AGE_REQ_NONE, // ITEM_BOMB_BAG_40
|
||||
AGE_REQ_CHILD, // ITEM_BRACELET
|
||||
AGE_REQ_ADULT, // ITEM_GAUNTLETS_SILVER
|
||||
AGE_REQ_ADULT, // ITEM_GAUNTLETS_GOLD
|
||||
AGE_REQ_NONE, // ITEM_SCALE_SILVER
|
||||
AGE_REQ_NONE, // ITEM_SCALE_GOLDEN
|
||||
AGE_REQ_ADULT, // ITEM_SWORD_KNIFE
|
||||
};
|
||||
|
||||
u8 gAreaGsFlags[] = {
|
||||
|
@ -387,26 +532,29 @@ void KaleidoScope_SetDefaultCursor(PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
#define SWITCH_PAGE_LEFT_PT 0
|
||||
#define SWITCH_PAGE_RIGHT_PT 2
|
||||
|
||||
void KaleidoScope_SwitchPage(PauseContext* pauseCtx, u8 pt) {
|
||||
pauseCtx->mainSubState = PAUSE_MAIN_STATE_SWITCHING_PAGE;
|
||||
pauseCtx->switchPageTimer = 0;
|
||||
|
||||
if (!pt) { // pt == 0, scroll left
|
||||
pauseCtx->mode = pauseCtx->pageIndex * 2 + 1;
|
||||
if (!pt) { // SWITCH_PAGE_LEFT_PT
|
||||
pauseCtx->nextPageMode = (pauseCtx->pageIndex * 2) + 1;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_WIN_SCROLL_LEFT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
pauseCtx->cursorSpecialPos = PAUSE_CURSOR_PAGE_RIGHT;
|
||||
} else { // pt == 2, scroll right
|
||||
pauseCtx->mode = pauseCtx->pageIndex * 2;
|
||||
} else { // SWITCH_PAGE_RIGHT_PT
|
||||
pauseCtx->nextPageMode = pauseCtx->pageIndex * 2;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_WIN_SCROLL_RIGHT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
pauseCtx->cursorSpecialPos = PAUSE_CURSOR_PAGE_LEFT;
|
||||
}
|
||||
|
||||
gSaveContext.buttonStatus[1] = D_8082AB6C[pauseCtx->pageIndex + pt][1];
|
||||
gSaveContext.buttonStatus[2] = D_8082AB6C[pauseCtx->pageIndex + pt][2];
|
||||
gSaveContext.buttonStatus[3] = D_8082AB6C[pauseCtx->pageIndex + pt][3];
|
||||
gSaveContext.buttonStatus[4] = D_8082AB6C[pauseCtx->pageIndex + pt][4];
|
||||
gSaveContext.buttonStatus[1] = D_8082AB6C_buttonStatusNext_[pauseCtx->pageIndex + pt][1];
|
||||
gSaveContext.buttonStatus[2] = D_8082AB6C_buttonStatusNext_[pauseCtx->pageIndex + pt][2];
|
||||
gSaveContext.buttonStatus[3] = D_8082AB6C_buttonStatusNext_[pauseCtx->pageIndex + pt][3];
|
||||
gSaveContext.buttonStatus[4] = D_8082AB6C_buttonStatusNext_[pauseCtx->pageIndex + pt][4];
|
||||
|
||||
osSyncPrintf("kscope->kscp_pos+pt = %d\n", pauseCtx->pageIndex + pt);
|
||||
|
||||
|
@ -421,12 +569,12 @@ void KaleidoScope_HandlePageToggles(PauseContext* pauseCtx, Input* input) {
|
|||
}
|
||||
|
||||
if (CHECK_BTN_ALL(input->press.button, BTN_R)) {
|
||||
KaleidoScope_SwitchPage(pauseCtx, 2);
|
||||
KaleidoScope_SwitchPage(pauseCtx, SWITCH_PAGE_RIGHT_PT);
|
||||
return;
|
||||
}
|
||||
|
||||
if (CHECK_BTN_ALL(input->press.button, BTN_Z)) {
|
||||
KaleidoScope_SwitchPage(pauseCtx, 0);
|
||||
KaleidoScope_SwitchPage(pauseCtx, SWITCH_PAGE_LEFT_PT);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -434,7 +582,7 @@ void KaleidoScope_HandlePageToggles(PauseContext* pauseCtx, Input* input) {
|
|||
if (pauseCtx->stickAdjX < -30) {
|
||||
pauseCtx->pageSwitchInputTimer++;
|
||||
if ((pauseCtx->pageSwitchInputTimer >= 10) || (pauseCtx->pageSwitchInputTimer == 0)) {
|
||||
KaleidoScope_SwitchPage(pauseCtx, 0);
|
||||
KaleidoScope_SwitchPage(pauseCtx, SWITCH_PAGE_LEFT_PT);
|
||||
}
|
||||
} else {
|
||||
pauseCtx->pageSwitchInputTimer = -1;
|
||||
|
@ -443,7 +591,7 @@ void KaleidoScope_HandlePageToggles(PauseContext* pauseCtx, Input* input) {
|
|||
if (pauseCtx->stickAdjX > 30) {
|
||||
pauseCtx->pageSwitchInputTimer++;
|
||||
if ((pauseCtx->pageSwitchInputTimer >= 10) || (pauseCtx->pageSwitchInputTimer == 0)) {
|
||||
KaleidoScope_SwitchPage(pauseCtx, 2);
|
||||
KaleidoScope_SwitchPage(pauseCtx, SWITCH_PAGE_RIGHT_PT);
|
||||
}
|
||||
} else {
|
||||
pauseCtx->pageSwitchInputTimer = -1;
|
||||
|
@ -1530,16 +1678,16 @@ void KaleidoScope_UpdateNamePanel(PlayState* play) {
|
|||
void KaleidoScope_UpdateSwitchPage(PlayState* play, Input* input) {
|
||||
PauseContext* pauseCtx = &play->pauseCtx;
|
||||
s32 frameAdvanceFreeze = false;
|
||||
s32 mode;
|
||||
s32 nextPageMode;
|
||||
|
||||
if (R_PAUSE_SWITCH_PAGE_FRAME_ADVANCE_ON && !CHECK_BTN_ALL(input->press.button, BTN_L)) {
|
||||
frameAdvanceFreeze = true;
|
||||
}
|
||||
|
||||
if (!frameAdvanceFreeze) {
|
||||
mode = pauseCtx->mode;
|
||||
pauseCtx->eye.x += D_8082ABAC_pageSwitch_eye_dx_[mode];
|
||||
pauseCtx->eye.z += D_8082ABCC_pageSwitch_eye_dz_[mode];
|
||||
nextPageMode = pauseCtx->nextPageMode;
|
||||
pauseCtx->eye.x += sPageSwitchEyeDx[nextPageMode];
|
||||
pauseCtx->eye.z += sPageSwitchEyeDz[nextPageMode];
|
||||
|
||||
if (pauseCtx->switchPageTimer < 32) {
|
||||
R_PAUSE_CURSOR_LEFT_X -= R_PAUSE_CURSOR_LEFT_MOVE_OFFSET_X / R_PAUSE_UI_ANIMS_DURATION;
|
||||
|
@ -1551,9 +1699,9 @@ void KaleidoScope_UpdateSwitchPage(PlayState* play, Input* input) {
|
|||
|
||||
pauseCtx->switchPageTimer += 4;
|
||||
|
||||
if (pauseCtx->switchPageTimer == 64) {
|
||||
if (pauseCtx->switchPageTimer == (4 * 16)) {
|
||||
pauseCtx->switchPageTimer = 0;
|
||||
pauseCtx->pageIndex = D_8082ABEC_modeToNewPageIndex_[pauseCtx->mode];
|
||||
pauseCtx->pageIndex = sPageSwitchNextPageIndex[pauseCtx->nextPageMode];
|
||||
pauseCtx->mainSubState = PAUSE_MAIN_STATE_IDLE;
|
||||
}
|
||||
}
|
||||
|
@ -2509,8 +2657,8 @@ void KaleidoScope_GrayOutTextureRGBA32(u32* texture, u16 pixelCount) {
|
|||
void KaleidoScope_UpdateOpening(PlayState* play) {
|
||||
PauseContext* pauseCtx = &play->pauseCtx;
|
||||
|
||||
pauseCtx->eye.x += D_8082ABAC_pageSwitch_eye_dx_[pauseCtx->mode] * ZREG(46);
|
||||
pauseCtx->eye.z += D_8082ABCC_pageSwitch_eye_dz_[pauseCtx->mode] * ZREG(46);
|
||||
pauseCtx->eye.x += sPageSwitchEyeDx[pauseCtx->nextPageMode] * ZREG(46);
|
||||
pauseCtx->eye.z += sPageSwitchEyeDz[pauseCtx->nextPageMode] * ZREG(46);
|
||||
pauseCtx->switchPageTimer += 4 * ZREG(46);
|
||||
|
||||
if (pauseCtx->switchPageTimer == (4 * 16 * ZREG(47))) {
|
||||
|
@ -2518,22 +2666,23 @@ void KaleidoScope_UpdateOpening(PlayState* play) {
|
|||
|
||||
func_80084BF4(play, 1);
|
||||
|
||||
gSaveContext.buttonStatus[0] = D_8082AB6C[pauseCtx->pageIndex][0];
|
||||
gSaveContext.buttonStatus[1] = D_8082AB6C[pauseCtx->pageIndex][1];
|
||||
gSaveContext.buttonStatus[2] = D_8082AB6C[pauseCtx->pageIndex][2];
|
||||
gSaveContext.buttonStatus[3] = D_8082AB6C[pauseCtx->pageIndex][3];
|
||||
gSaveContext.buttonStatus[4] = D_8082AB6C[pauseCtx->pageIndex][4];
|
||||
gSaveContext.buttonStatus[0] = D_8082AB6C_buttonStatusNext_[pauseCtx->pageIndex + SWITCH_PAGE_LEFT_PT][0];
|
||||
gSaveContext.buttonStatus[1] = D_8082AB6C_buttonStatusNext_[pauseCtx->pageIndex + SWITCH_PAGE_LEFT_PT][1];
|
||||
gSaveContext.buttonStatus[2] = D_8082AB6C_buttonStatusNext_[pauseCtx->pageIndex + SWITCH_PAGE_LEFT_PT][2];
|
||||
gSaveContext.buttonStatus[3] = D_8082AB6C_buttonStatusNext_[pauseCtx->pageIndex + SWITCH_PAGE_LEFT_PT][3];
|
||||
gSaveContext.buttonStatus[4] = D_8082AB6C_buttonStatusNext_[pauseCtx->pageIndex + SWITCH_PAGE_LEFT_PT][4];
|
||||
|
||||
pauseCtx->pageIndex = D_8082ABEC_modeToNewPageIndex_[pauseCtx->mode];
|
||||
pauseCtx->pageIndex = sPageSwitchNextPageIndex[pauseCtx->nextPageMode];
|
||||
|
||||
pauseCtx->mainSubState = PAUSE_MAIN_STATE_IDLE;
|
||||
pauseCtx->state++; // PAUSE_STATE_MAIN
|
||||
|
||||
pauseCtx->alpha = 255;
|
||||
Interface_LoadActionLabelB(play, DO_ACTION_SAVE);
|
||||
} else if (pauseCtx->switchPageTimer == 64) {
|
||||
pauseCtx->pageIndex = D_8082ABEC_modeToNewPageIndex_[pauseCtx->mode];
|
||||
pauseCtx->mode = (u16)(pauseCtx->pageIndex * 2) + 1;
|
||||
} else if (pauseCtx->switchPageTimer == (4 * 16 * 1)) {
|
||||
// `ZREG(47)` is always 1 so this normally never happens
|
||||
pauseCtx->pageIndex = sPageSwitchNextPageIndex[pauseCtx->nextPageMode];
|
||||
pauseCtx->nextPageMode = (u16)(pauseCtx->pageIndex * 2) + 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2744,7 +2893,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 (!CHECK_AGE_REQ_ITEM(i)) {
|
||||
KaleidoScope_GrayOutTextureRGBA32(SEGMENTED_TO_VIRTUAL(gItemIcons[i]), 0x400);
|
||||
}
|
||||
}
|
||||
|
@ -3126,7 +3275,7 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
R_PAUSE_OFFSET_VERTICAL = -6240;
|
||||
func_800F64E0(0);
|
||||
} else if (CHECK_BTN_ALL(input->press.button, BTN_B)) {
|
||||
pauseCtx->mode = 0;
|
||||
pauseCtx->nextPageMode = 0;
|
||||
pauseCtx->promptChoice = 0;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
|
@ -3174,7 +3323,7 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
} else if (CHECK_BTN_ALL(input->press.button, BTN_B)) {
|
||||
AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF);
|
||||
pauseCtx->mainSubState = PAUSE_MAIN_STATE_IDLE;
|
||||
pauseCtx->mode = 0;
|
||||
pauseCtx->nextPageMode = 0;
|
||||
pauseCtx->promptChoice = 0;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
|
@ -3230,7 +3379,7 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
} else if (CHECK_BTN_ALL(input->press.button, BTN_B)) {
|
||||
AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF);
|
||||
pauseCtx->mainSubState = PAUSE_MAIN_STATE_IDLE;
|
||||
pauseCtx->mode = 0;
|
||||
pauseCtx->nextPageMode = 0;
|
||||
pauseCtx->promptChoice = 0;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
|
|
Loading…
Add table
Reference in a new issue