Documenting pause
This commit is contained in:
@@ -52,8 +52,27 @@ extern void func_802FACA4(enum item_e);
|
|||||||
extern void func_8033BD20(void *);
|
extern void func_8033BD20(void *);
|
||||||
|
|
||||||
enum gcpausemenu_state_e {
|
enum gcpausemenu_state_e {
|
||||||
PAUSE_STATE_0_CLOSED = 0,
|
PAUSE_STATE_0_CLOSED,
|
||||||
PAUSE_STATE_1_OPENING = 1
|
PAUSE_STATE_1_OPENING,
|
||||||
|
PAUSE_STATE_2_MENU,
|
||||||
|
PAUSE_STATE_3_RETURNING_TO_GAME,
|
||||||
|
PAUSE_STATE_4_PROCESS_SELECTION,
|
||||||
|
PAUSE_STATE_5_CONFIRM_SELECTION,
|
||||||
|
PAUSE_STATE_6_UNKNOWN,
|
||||||
|
PAUSE_STATE_7_LEVEL_TOTALS_INIT,
|
||||||
|
PAUSE_STATE_8_LEVEL_TOTALS_OPENING,
|
||||||
|
PAUSE_STATE_9_LEVEL_TOTALS,
|
||||||
|
PAUSE_STATE_A_UNKNOWN,
|
||||||
|
PAUSE_STATE_B_UNKNOWN,
|
||||||
|
PAUSE_STATE_C_UNKNOWN,
|
||||||
|
PAUSE_STATE_D_UNKNOWN,
|
||||||
|
PAUSE_STATE_E_UNKNOWN,
|
||||||
|
PAUSE_STATE_F_UNKNOWN,
|
||||||
|
PAUSE_STATE_10_UNKNOWN,
|
||||||
|
PAUSE_STATE_11_UNKNOWN,
|
||||||
|
PAUSE_STATE_12_UNKNOWN,
|
||||||
|
PAUSE_STATE_13_UNKNOWN,
|
||||||
|
PAUSE_STATE_14_UNKNOWN
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -127,7 +146,7 @@ struct{
|
|||||||
u8 state;
|
u8 state;
|
||||||
u8 unk1;
|
u8 unk1;
|
||||||
u8 selection; //menu page
|
u8 selection; //menu page
|
||||||
u8 unk3_7:1;
|
u8 exit_pause:1;
|
||||||
u8 unk3_6:1; //busy?
|
u8 unk3_6:1; //busy?
|
||||||
u8 unk3_5:1;
|
u8 unk3_5:1;
|
||||||
u8 unk3_4:1;
|
u8 unk3_4:1;
|
||||||
@@ -135,7 +154,7 @@ struct{
|
|||||||
u8 right_joystick_visible:1;
|
u8 right_joystick_visible:1;
|
||||||
u8 b_button_visible:1;
|
u8 b_button_visible:1;
|
||||||
u8 unk3_0:1;
|
u8 unk3_0:1;
|
||||||
s8 unk4;
|
s8 zoombox_processed_count;
|
||||||
s8 unk5;
|
s8 unk5;
|
||||||
u8 unk6;
|
u8 unk6;
|
||||||
u8 unk7;
|
u8 unk7;
|
||||||
@@ -174,7 +193,7 @@ s32 D_80383084;
|
|||||||
char D_80383088[0x18];
|
char D_80383088[0x18];
|
||||||
|
|
||||||
/* public */
|
/* public */
|
||||||
void gcpausemenu_803129DC(s32,s32);
|
void gcpausemenu_zoombox_callback(s32, s32);
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void gcpausemenu_defrag(void){
|
void gcpausemenu_defrag(void){
|
||||||
@@ -210,7 +229,7 @@ void gcpausemenu_free(void){
|
|||||||
void gcpausemenu_zoomboxes_initMainMenu(void){
|
void gcpausemenu_zoomboxes_initMainMenu(void){
|
||||||
s32 i;
|
s32 i;
|
||||||
for(i = 0; i<4; i++){
|
for(i = 0; i<4; i++){
|
||||||
D_80383010.zoombox[i] = gczoombox_new(D_8036C4E0[i].y,D_8036C4E0[i].portrait, 2, 0,gcpausemenu_803129DC);
|
D_80383010.zoombox[i] = gczoombox_new(D_8036C4E0[i].y,D_8036C4E0[i].portrait, 2, 0, gcpausemenu_zoombox_callback);
|
||||||
func_803184C8(D_80383010.zoombox[i], 60.0f, 5, 2, 0.3f, 0, 0);
|
func_803184C8(D_80383010.zoombox[i], 60.0f, 5, 2, 0.3f, 0, 0);
|
||||||
func_80318640(D_80383010.zoombox[i], 0x1C, 0.75f, 0.9f, 0);
|
func_80318640(D_80383010.zoombox[i], 0x1C, 0.75f, 0.9f, 0);
|
||||||
func_80318760(D_80383010.zoombox[i], 8000);
|
func_80318760(D_80383010.zoombox[i], 8000);
|
||||||
@@ -221,7 +240,7 @@ void gcpausemenu_zoomboxes_initTotalsMenu(void){
|
|||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
for(i = 0; i<4; i++){
|
for(i = 0; i<4; i++){
|
||||||
D_80383010.zoombox[i] = gczoombox_new(D_8036C520[i].y,D_8036C520[i].portrait, (i == 3) ? 1 : 2 , 0,gcpausemenu_803129DC);
|
D_80383010.zoombox[i] = gczoombox_new(D_8036C520[i].y,D_8036C520[i].portrait, (i == 3) ? 1 : 2 , 0, gcpausemenu_zoombox_callback);
|
||||||
func_803184C8(D_80383010.zoombox[i], 40.0f, 5, 2, 0.3f, 0, 0);
|
func_803184C8(D_80383010.zoombox[i], 40.0f, 5, 2, 0.3f, 0, 0);
|
||||||
func_80318640(D_80383010.zoombox[i], 0x46, 0.9f, 0.7f, 1);
|
func_80318640(D_80383010.zoombox[i], 0x46, 0.9f, 0.7f, 1);
|
||||||
func_80318760(D_80383010.zoombox[i], 8000);
|
func_80318760(D_80383010.zoombox[i], 8000);
|
||||||
@@ -413,13 +432,13 @@ void gcpausemenu_8031209C(struct1As *arg0, s32 arg1){
|
|||||||
void gcPauseMenu_setState(enum gcpausemenu_state_e next_state){
|
void gcPauseMenu_setState(enum gcpausemenu_state_e next_state){
|
||||||
s32 i;
|
s32 i;
|
||||||
switch(next_state){
|
switch(next_state){
|
||||||
case 0:
|
case PAUSE_STATE_0_CLOSED:
|
||||||
gcpausemenu_80311A84();
|
gcpausemenu_80311A84();
|
||||||
D_80383010.unk1 = 0;
|
D_80383010.unk1 = 0;
|
||||||
D_80383010.left_joystick_visible = D_80383010.right_joystick_visible = D_80383010.unk3_7 = D_80383010.selection = D_80383010.unk4 = 0;
|
D_80383010.left_joystick_visible = D_80383010.right_joystick_visible = D_80383010.exit_pause = D_80383010.selection = D_80383010.zoombox_processed_count = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case PAUSE_STATE_1_OPENING:
|
||||||
D_80383010.unkC = D_80383010.unk3_6 = D_80383010.unk7 = 0;
|
D_80383010.unkC = D_80383010.unk3_6 = D_80383010.unk7 = 0;
|
||||||
gcpausemenu_8031209C(D_8036C4E0, 4);
|
gcpausemenu_8031209C(D_8036C4E0, 4);
|
||||||
|
|
||||||
@@ -431,18 +450,18 @@ void gcPauseMenu_setState(enum gcpausemenu_state_e next_state){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case PAUSE_STATE_2_MENU:
|
||||||
D_80383010.unk3_6 = 0;
|
D_80383010.unk3_6 = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case PAUSE_STATE_3_RETURNING_TO_GAME:
|
||||||
gcpausemenu_80311B44();
|
gcpausemenu_80311B44();
|
||||||
D_80383010.unkC = D_80383010.unk3_6 = 0;
|
D_80383010.unkC = D_80383010.unk3_6 = 0;
|
||||||
D_80383010.unk5 = 3;
|
D_80383010.unk5 = 3;
|
||||||
gcpausemenu_8031209C(D_8036C4E0, 4);
|
gcpausemenu_8031209C(D_8036C4E0, 4);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5:/* 8B334 803122C4 3C128038 */
|
case PAUSE_STATE_5_CONFIRM_SELECTION:/* 8B334 803122C4 3C128038 */
|
||||||
D_80383010.unkC = 3;
|
D_80383010.unkC = 3;
|
||||||
D_80383010.unk5 = D_80383010.unk3_6 = 0;
|
D_80383010.unk5 = D_80383010.unk3_6 = 0;
|
||||||
gcpausemenu_8031209C(D_8036C4E0, 4);
|
gcpausemenu_8031209C(D_8036C4E0, 4);
|
||||||
@@ -451,19 +470,19 @@ void gcPauseMenu_setState(enum gcpausemenu_state_e next_state){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 6:/* 8B3A8 80312338 0C0C46D1 */
|
case PAUSE_STATE_6_UNKNOWN:/* 8B3A8 80312338 0C0C46D1 */
|
||||||
gcpausemenu_80311B44();
|
gcpausemenu_80311B44();
|
||||||
D_80383010.unkC = 0.0f;
|
D_80383010.unkC = 0.0f;
|
||||||
D_80383010.unk4 = D_80383010.selection = 0;
|
D_80383010.zoombox_processed_count = D_80383010.selection = 0;
|
||||||
// 0;
|
// 0;
|
||||||
for(i = 0; i < 4; i++){
|
for(i = 0; i < 4; i++){
|
||||||
func_80318964(D_80383010.zoombox[i]);
|
func_80318964(D_80383010.zoombox[i]);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 7:/* 8B3F4 80312384 44803000 */
|
case PAUSE_STATE_7_LEVEL_TOTALS_INIT:/* 8B3F4 80312384 44803000 */
|
||||||
D_80383010.unk1 = 1;
|
D_80383010.unk1 = 1;
|
||||||
D_80383010.b_button_visible = 1;
|
D_80383010.b_button_visible = TRUE;
|
||||||
D_80383010.unk20 = D_80383010.unk28 = 0.0f;
|
D_80383010.unk20 = D_80383010.unk28 = 0.0f;
|
||||||
gcpausemenu_zoomboxes_free();
|
gcpausemenu_zoomboxes_free();
|
||||||
gcpausemenu_zoomboxes_initTotalsMenu();
|
gcpausemenu_zoomboxes_initTotalsMenu();
|
||||||
@@ -476,7 +495,7 @@ void gcPauseMenu_setState(enum gcpausemenu_state_e next_state){
|
|||||||
gcpausemenu_printTotals();
|
gcpausemenu_printTotals();
|
||||||
}
|
}
|
||||||
|
|
||||||
for(i = 0; i<4; i++){//L80312420
|
for (i = 0; i < 4; i++) {//L80312420
|
||||||
if(D_8036C58C[D_80383010.selection].level_id == 6){
|
if(D_8036C58C[D_80383010.selection].level_id == 6){
|
||||||
gczoombox_highlight(D_80383010.zoombox[i], (!(i == 0) && !(i == 2)));
|
gczoombox_highlight(D_80383010.zoombox[i], (!(i == 0) && !(i == 2)));
|
||||||
}
|
}
|
||||||
@@ -489,8 +508,8 @@ void gcPauseMenu_setState(enum gcpausemenu_state_e next_state){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 8: /* 8B54C 803124DC 44809000 */
|
case PAUSE_STATE_8_LEVEL_TOTALS_OPENING: /* 8B54C 803124DC 44809000 */
|
||||||
D_80383010.unk4 = 0;
|
D_80383010.zoombox_processed_count = 0;
|
||||||
D_80383010.unkC = 0.0f;
|
D_80383010.unkC = 0.0f;
|
||||||
gcpausemenu_8031209C(D_8036C520, 4);
|
gcpausemenu_8031209C(D_8036C520, 4);
|
||||||
D_80383010.unk8 = -0x10;
|
D_80383010.unk8 = -0x10;
|
||||||
@@ -498,17 +517,17 @@ void gcPauseMenu_setState(enum gcpausemenu_state_e next_state){
|
|||||||
D_80383010.unk3_5 = 1;
|
D_80383010.unk3_5 = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xA:
|
case PAUSE_STATE_A_UNKNOWN:
|
||||||
D_80383010.unk3_5 = 1;
|
D_80383010.unk3_5 = 1;
|
||||||
D_80383010.unkC = 0.0f;
|
D_80383010.unkC = 0.0f;
|
||||||
D_80383010.unk5 = 4;
|
D_80383010.unk5 = 4;
|
||||||
if(D_80383010.unk9 != 0xC){
|
if(D_80383010.unk9 != 0xC){
|
||||||
D_80383010.b_button_visible = 0;
|
D_80383010.b_button_visible = FALSE;
|
||||||
}
|
}
|
||||||
gcpausemenu_8031209C(D_8036C520, 4);
|
gcpausemenu_8031209C(D_8036C520, 4);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xB:
|
case PAUSE_STATE_B_UNKNOWN:
|
||||||
if(D_80383010.selection && D_80383010.selection == gcpausemenu_levelToMenuPage(level_get())){
|
if(D_80383010.selection && D_80383010.selection == gcpausemenu_levelToMenuPage(level_get())){
|
||||||
func_802F5188();
|
func_802F5188();
|
||||||
}
|
}
|
||||||
@@ -516,7 +535,7 @@ void gcPauseMenu_setState(enum gcpausemenu_state_e next_state){
|
|||||||
gcpausemenu_zoomboxes_initMainMenu();
|
gcpausemenu_zoomboxes_initMainMenu();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xC:
|
case PAUSE_STATE_C_UNKNOWN:
|
||||||
D_80383010.unk1 = 2;
|
D_80383010.unk1 = 2;
|
||||||
D_80383010.unk6++;
|
D_80383010.unk6++;
|
||||||
D_80383010.unk3_5 = 1;
|
D_80383010.unk3_5 = 1;
|
||||||
@@ -526,7 +545,7 @@ void gcPauseMenu_setState(enum gcpausemenu_state_e next_state){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xD:/* 8B694 80312624 3C128038 */
|
case PAUSE_STATE_D_UNKNOWN:/* 8B694 80312624 3C128038 */
|
||||||
D_80383010.unk6 = 0xFF;
|
D_80383010.unk6 = 0xFF;
|
||||||
D_80383010.unk3_5 = 1;
|
D_80383010.unk3_5 = 1;
|
||||||
if(D_80383010.selection && D_80383010.selection == gcpausemenu_levelToMenuPage(level_get())){
|
if(D_80383010.selection && D_80383010.selection == gcpausemenu_levelToMenuPage(level_get())){
|
||||||
@@ -560,7 +579,7 @@ void gcPauseMenu_setState(enum gcpausemenu_state_e next_state){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xE:/* 8B824 803127B4 3C128038 */
|
case PAUSE_STATE_E_UNKNOWN:/* 8B824 803127B4 3C128038 */
|
||||||
D_80383010.unk1 = 4;
|
D_80383010.unk1 = 4;
|
||||||
D_80383010.selection = D_80383010.unk9;
|
D_80383010.selection = D_80383010.unk9;
|
||||||
D_80383010.unk9 = -1;
|
D_80383010.unk9 = -1;
|
||||||
@@ -572,85 +591,90 @@ void gcPauseMenu_setState(enum gcpausemenu_state_e next_state){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xF: /* 8B8FC 8031288C 3C128038 */
|
case PAUSE_STATE_F_UNKNOWN: /* 8B8FC 8031288C 3C128038 */
|
||||||
D_80383010.unk8 = -0x10;
|
D_80383010.unk8 = -0x10;
|
||||||
D_80383010.unk6 = 0xff;
|
D_80383010.unk6 = 0xff;
|
||||||
D_80383010.unk3_5 = D_80383010.sns_visible = 1;
|
D_80383010.unk3_5 = D_80383010.sns_visible = TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x10:
|
case PAUSE_STATE_10_UNKNOWN:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x11: /* 8B944 803128D4 3C128038 */
|
case PAUSE_STATE_11_UNKNOWN: /* 8B944 803128D4 3C128038 */
|
||||||
D_80383010.unk3_5 = 1;
|
D_80383010.unk3_5 = 1;
|
||||||
D_80383010.sns_visible = 0;
|
D_80383010.sns_visible = 0;
|
||||||
if(D_80383010.unk9 == -1)
|
if(D_80383010.unk9 == -1)
|
||||||
D_80383010.b_button_visible = 0;
|
D_80383010.b_button_visible = FALSE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x12: /* 8B978 80312908 3C128038 */
|
case PAUSE_STATE_12_UNKNOWN: /* 8B978 80312908 3C128038 */
|
||||||
D_80383010.selection = D_80383010.unk9;
|
D_80383010.selection = D_80383010.unk9;
|
||||||
func_8033BD20(&D_80383010.sns_egg_model); //free
|
func_8033BD20(&D_80383010.sns_egg_model); //free
|
||||||
func_8033BD20(&D_80383010.ice_key_model); //free
|
func_8033BD20(&D_80383010.ice_key_model); //free
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x13: /* 8B9A8 80312938 3C128038 */
|
case PAUSE_STATE_13_UNKNOWN: /* 8B9A8 80312938 3C128038 */
|
||||||
D_80383010.unk3_7 = 0;
|
D_80383010.exit_pause = FALSE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x14: /* 8B9C0 80312950 3C128038 */
|
case PAUSE_STATE_14_UNKNOWN: /* 8B9C0 80312950 3C128038 */
|
||||||
D_80383010.unk3_7 = D_80383010.unk3_6 = 0;
|
D_80383010.exit_pause = D_80383010.unk3_6 = FALSE;
|
||||||
D_80383010.unkC = 0.0f;
|
D_80383010.unkC = 0.0f;
|
||||||
func_8025A430(-1, 0x7D0, 3);
|
func_8025A430(-1, 0x7D0, 3);
|
||||||
func_8025A2B0();
|
func_8025A2B0();
|
||||||
func_802DC528(0,0);
|
func_802DC528(0,0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
D_80383010.state = next_state;
|
D_80383010.state = next_state;
|
||||||
}
|
}
|
||||||
|
|
||||||
void gcpausemenu_803129DC(s32 arg0, s32 arg1) {
|
void gcpausemenu_zoombox_callback(s32 portrait_id, s32 zoombox_state) {
|
||||||
s8 var_t9;
|
s8 var_t9;
|
||||||
u8 temp_t6;
|
u8 temp_t6;
|
||||||
|
|
||||||
switch (D_80383010.state) {
|
switch (D_80383010.state) {
|
||||||
case 3:
|
case PAUSE_STATE_3_RETURNING_TO_GAME:
|
||||||
case 10:
|
case PAUSE_STATE_A_UNKNOWN:
|
||||||
if (arg1 == 6) {
|
if (zoombox_state == 6) {
|
||||||
D_80383010.unk4++;
|
D_80383010.zoombox_processed_count++;
|
||||||
} else if (arg1 == 4) {
|
} else if (zoombox_state == 4) {
|
||||||
D_80383010.unk5 = (s8) (D_80383010.unk5 - 1);
|
D_80383010.unk5 = (s8)(D_80383010.unk5 - 1);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
|
||||||
if (arg1 == 4) {
|
case PAUSE_STATE_5_CONFIRM_SELECTION:
|
||||||
D_80383010.unk5 = (s8) (D_80383010.unk5 - 1);
|
if (zoombox_state == 4) {
|
||||||
}
|
D_80383010.unk5 = (s8)(D_80383010.unk5 - 1);
|
||||||
break;
|
}
|
||||||
case 1:
|
break;
|
||||||
case 8:
|
|
||||||
if (arg1 == 1) {
|
case PAUSE_STATE_1_OPENING:
|
||||||
D_80383010.unk4 = (s8) (D_80383010.unk4 + 1);
|
case PAUSE_STATE_8_LEVEL_TOTALS_OPENING:
|
||||||
}
|
if (zoombox_state == 1) {
|
||||||
break;
|
D_80383010.zoombox_processed_count++;
|
||||||
case 12:
|
}
|
||||||
if (arg1 == 4) {
|
break;
|
||||||
D_80383010.unk5 = (s8) (D_80383010.unk5 - 1);
|
|
||||||
}
|
case PAUSE_STATE_C_UNKNOWN:
|
||||||
break;
|
if (zoombox_state == 4) {
|
||||||
case 6:
|
D_80383010.unk5 = (s8)(D_80383010.unk5 - 1);
|
||||||
if (arg1 == 6) {
|
}
|
||||||
D_80383010.unk4++;
|
break;
|
||||||
}
|
|
||||||
break;
|
case PAUSE_STATE_6_UNKNOWN:
|
||||||
|
if (zoombox_state == 6) {
|
||||||
|
D_80383010.zoombox_processed_count++;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if( (arg1 == 2)
|
|
||||||
&& (D_80383010.unk1 == 0)
|
if ((zoombox_state == 2) &&
|
||||||
&& (arg0 - 4 != D_80383010.selection)
|
(D_80383010.unk1 == 0) &&
|
||||||
) {
|
(portrait_id - 4 != D_80383010.selection)) {
|
||||||
gczoombox_highlight(D_80383010.zoombox[arg0 - 4], 0);
|
gczoombox_highlight(D_80383010.zoombox[portrait_id - 4], 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -705,7 +729,7 @@ void gcpausemenu_init(void) {
|
|||||||
gcpausemenu_zoomboxes_initMainMenu();
|
gcpausemenu_zoomboxes_initMainMenu();
|
||||||
D_80383010.joystick_sprite = assetcache_get(0x7EB);
|
D_80383010.joystick_sprite = assetcache_get(0x7EB);
|
||||||
D_80383010.joystick_frame_count = spriteGetFrameCount(D_80383010.joystick_sprite);
|
D_80383010.joystick_frame_count = spriteGetFrameCount(D_80383010.joystick_sprite);
|
||||||
D_80383010.left_joystick_alpha = temp_v1 = D_80383010.right_joystick_alpha = 0;
|
D_80383010.left_joystick_alpha = temp_v1 = D_80383010.right_joystick_alpha = 0;
|
||||||
D_80383010.joystick_frame = D_80383010.unk3_4 = temp_v1;
|
D_80383010.joystick_frame = D_80383010.unk3_4 = temp_v1;
|
||||||
|
|
||||||
D_80383010.b_button_sprite = assetcache_get(0x7ED);
|
D_80383010.b_button_sprite = assetcache_get(0x7ED);
|
||||||
@@ -714,7 +738,7 @@ void gcpausemenu_init(void) {
|
|||||||
D_80383010.page_cnt = gcpausemenu_initLargestPageIndex();
|
D_80383010.page_cnt = gcpausemenu_initLargestPageIndex();
|
||||||
D_80383010.sns_alpha = D_80383010.sns_visible = D_80383010.unk70_31 = D_80383010.unk70_30 = 0;
|
D_80383010.sns_alpha = D_80383010.sns_visible = D_80383010.unk70_31 = D_80383010.unk70_30 = 0;
|
||||||
rumbleManager_80250FC0();
|
rumbleManager_80250FC0();
|
||||||
gcPauseMenu_setState(0);
|
gcPauseMenu_setState(PAUSE_STATE_0_CLOSED);
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 gcpausemenu_80312D78(struct1As *arg0, s32 arg1) {
|
s32 gcpausemenu_80312D78(struct1As *arg0, s32 arg1) {
|
||||||
@@ -801,7 +825,7 @@ void gcpausemenu_getNextPage(s32 arg0) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
while( (D_80383010.unk9 != 0) && itemscore_timeScores_get(D_8036C58C[D_80383010.unk9].level_id) == 0);
|
while( (D_80383010.unk9 != 0) && itemscore_timeScores_get(D_8036C58C[D_80383010.unk9].level_id) == 0);
|
||||||
gcPauseMenu_setState((D_80383010.unk9 == 0xC) ? 0xA : 0xC);
|
gcPauseMenu_setState((D_80383010.unk9 == 0xC) ? PAUSE_STATE_A_UNKNOWN : PAUSE_STATE_C_UNKNOWN);
|
||||||
D_80383010.unk7 = 6;
|
D_80383010.unk7 = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -890,17 +914,17 @@ s32 gcPauseMenu_update(void){
|
|||||||
|
|
||||||
case PAUSE_STATE_1_OPENING: //opening
|
case PAUSE_STATE_1_OPENING: //opening
|
||||||
if(gcpausemenu_80312D78(D_8036C4E0, 4) == 4){
|
if(gcpausemenu_80312D78(D_8036C4E0, 4) == 4){
|
||||||
if(((D_80383010.return_to_lair_disabled)? 3: 4 ) == D_80383010.unk4){
|
if(((D_80383010.return_to_lair_disabled)? 3: 4 ) == D_80383010.zoombox_processed_count){
|
||||||
D_80383010.unk4 = 0;
|
D_80383010.zoombox_processed_count = 0;
|
||||||
gcPauseMenu_setState(2);
|
gcPauseMenu_setState(PAUSE_STATE_2_MENU);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(func_8024E67C(0) == 1){
|
if(func_8024E67C(0) == 1){
|
||||||
gcPauseMenu_setState(6);
|
gcPauseMenu_setState(PAUSE_STATE_6_UNKNOWN);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2: //open
|
case PAUSE_STATE_2_MENU: //open
|
||||||
if(D_80383010.unk70_31 && !func_802FC3C4()){
|
if(D_80383010.unk70_31 && !func_802FC3C4()){
|
||||||
func_802FACA4(ITEM_12_JINJOS);
|
func_802FACA4(ITEM_12_JINJOS);
|
||||||
D_80383010.unk70_31 = 0;
|
D_80383010.unk70_31 = 0;
|
||||||
@@ -910,19 +934,19 @@ s32 gcPauseMenu_update(void){
|
|||||||
D_80383010.unk70_30 = 0;
|
D_80383010.unk70_30 = 0;
|
||||||
}
|
}
|
||||||
if(func_8024E67C(0) == 1){
|
if(func_8024E67C(0) == 1){
|
||||||
gcPauseMenu_setState(6);
|
gcPauseMenu_setState(PAUSE_STATE_6_UNKNOWN);
|
||||||
}else if(face_button[FACE_BUTTON(BUTTON_A)] == 1){
|
}else if(face_button[FACE_BUTTON(BUTTON_A)] == 1){
|
||||||
switch(D_80383010.selection){
|
switch(D_80383010.selection){
|
||||||
case 1://L80313594
|
case 1://L80313594
|
||||||
if(level > 0 && level < 0xC)
|
if (level > 0 && level < LEVEL_C_BOSS && D_8036C560[level - 1].map != -1) {
|
||||||
if(D_8036C560[level-1].map != -1)
|
gcPauseMenu_setState(PAUSE_STATE_5_CONFIRM_SELECTION);
|
||||||
gcPauseMenu_setState(5);
|
}
|
||||||
break;
|
break;
|
||||||
case 3://L803135D0
|
case 3://L803135D0
|
||||||
gcPauseMenu_setState(5);
|
gcPauseMenu_setState(PAUSE_STATE_5_CONFIRM_SELECTION);
|
||||||
break;
|
break;
|
||||||
default://L803135E4
|
default://L803135E4
|
||||||
gcPauseMenu_setState(3);
|
gcPauseMenu_setState(PAUSE_STATE_3_RETURNING_TO_GAME);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -930,7 +954,7 @@ s32 gcPauseMenu_update(void){
|
|||||||
gczoombox_highlight(D_80383010.zoombox[D_80383010.selection], 0);
|
gczoombox_highlight(D_80383010.zoombox[D_80383010.selection], 0);
|
||||||
D_80383010.selection = 0;
|
D_80383010.selection = 0;
|
||||||
gczoombox_highlight(D_80383010.zoombox[D_80383010.selection], 1);
|
gczoombox_highlight(D_80383010.zoombox[D_80383010.selection], 1);
|
||||||
gcPauseMenu_setState(3);
|
gcPauseMenu_setState(PAUSE_STATE_3_RETURNING_TO_GAME);
|
||||||
}
|
}
|
||||||
else if(D_80383010.unk7 > 0) {//L8031364C
|
else if(D_80383010.unk7 > 0) {//L8031364C
|
||||||
D_80383010.unk7--;
|
D_80383010.unk7--;
|
||||||
@@ -970,7 +994,7 @@ s32 gcPauseMenu_update(void){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3: //returning to game
|
case PAUSE_STATE_3_RETURNING_TO_GAME: //returning to game
|
||||||
gcpausemenu_80312E80(D_8036C4E0,4);
|
gcpausemenu_80312E80(D_8036C4E0,4);
|
||||||
if(D_80383010.unk5 <= 0){
|
if(D_80383010.unk5 <= 0){
|
||||||
for(i = 0; i<4; i++){
|
for(i = 0; i<4; i++){
|
||||||
@@ -978,15 +1002,15 @@ s32 gcPauseMenu_update(void){
|
|||||||
}
|
}
|
||||||
D_80383010.unk5 = 0x7F;
|
D_80383010.unk5 = 0x7F;
|
||||||
}
|
}
|
||||||
if(D_80383010.unk4 == 4){
|
if (D_80383010.zoombox_processed_count == 4) {
|
||||||
D_80383010.unk4 = 0;
|
D_80383010.zoombox_processed_count = 0;
|
||||||
gcPauseMenu_setState(4);
|
gcPauseMenu_setState(PAUSE_STATE_4_PROCESS_SELECTION);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 4:
|
case PAUSE_STATE_4_PROCESS_SELECTION:
|
||||||
switch(D_80383010.selection){
|
switch(D_80383010.selection){
|
||||||
case 0://L803138FC
|
case 0://L803138FC
|
||||||
D_80383010.unk3_7 = 1;
|
D_80383010.exit_pause = TRUE;
|
||||||
break;
|
break;
|
||||||
case 1://L80313908 //return to lair
|
case 1://L80313908 //return to lair
|
||||||
volatileFlag_set(VOLATILE_FLAG_16, 1);
|
volatileFlag_set(VOLATILE_FLAG_16, 1);
|
||||||
@@ -996,200 +1020,204 @@ s32 gcPauseMenu_update(void){
|
|||||||
}else{
|
}else{
|
||||||
func_802E4078(D_8036C560[level-1].map, D_8036C560[level-1].exit, 1);
|
func_802E4078(D_8036C560[level-1].map, D_8036C560[level-1].exit, 1);
|
||||||
}
|
}
|
||||||
gcPauseMenu_setState(0x13);
|
gcPauseMenu_setState(PAUSE_STATE_13_UNKNOWN);
|
||||||
break;
|
break;
|
||||||
case 2://L80313978
|
case 2://L80313978
|
||||||
D_80383010.selection = gcpausemenu_levelToMenuPage(level_get());
|
D_80383010.selection = gcpausemenu_levelToMenuPage(level_get());
|
||||||
gcPauseMenu_setState(7);
|
gcPauseMenu_setState(PAUSE_STATE_7_LEVEL_TOTALS_INIT);
|
||||||
break;
|
break;
|
||||||
case 3://L8031399C
|
case 3://L8031399C
|
||||||
func_802C5994();
|
func_802C5994();
|
||||||
volatileFlag_set(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ,0);
|
volatileFlag_set(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ,0);
|
||||||
if(!fileProgressFlag_get(FILEPROG_BD_ENTER_LAIR_CUTSCENE) || fileProgressFlag_get(FILEPROG_A6_FURNACE_FUN_COMPLETE)){
|
if(!fileProgressFlag_get(FILEPROG_BD_ENTER_LAIR_CUTSCENE) || fileProgressFlag_get(FILEPROG_A6_FURNACE_FUN_COMPLETE)){
|
||||||
gcPauseMenu_setState(0x14);
|
gcPauseMenu_setState(PAUSE_STATE_14_UNKNOWN);
|
||||||
}else{
|
}else{
|
||||||
func_802E412C(1,0);
|
func_802E412C(1,0);
|
||||||
func_802E4078(MAP_83_CS_GAME_OVER_MACHINE_ROOM, 0, 1);
|
func_802E4078(MAP_83_CS_GAME_OVER_MACHINE_ROOM, 0, 1);
|
||||||
gcPauseMenu_setState(0x13);
|
gcPauseMenu_setState(PAUSE_STATE_13_UNKNOWN);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
case PAUSE_STATE_5_CONFIRM_SELECTION:
|
||||||
if(3.0 < D_80383010.unkC){
|
if(3.0 < D_80383010.unkC){
|
||||||
if( D_8036C4E0[D_80383010.selection].unkF){
|
if( D_8036C4E0[D_80383010.selection].unkF){
|
||||||
gczoombox_minimize(D_80383010.zoombox[D_80383010.selection]);
|
gczoombox_minimize(D_80383010.zoombox[D_80383010.selection]);
|
||||||
}
|
|
||||||
D_80383010.unk3_6 ^= 1;
|
|
||||||
gczoombox_maximize(D_80383010.zoombox[D_80383010.selection]);
|
|
||||||
if(D_8036C4E0[D_80383010.selection].unkF = func_803183A4(D_80383010.zoombox[D_80383010.selection], (D_80383010.unk3_6)? "ARE YOU SURE?" : "A - YES, B - NO"))
|
|
||||||
D_80383010.unkC = 0.0;
|
|
||||||
}//L80313AF4
|
|
||||||
if(func_8024E67C(0) == 1){
|
|
||||||
gcPauseMenu_setState(6);
|
|
||||||
}else if(face_button[FACE_BUTTON(BUTTON_B)] == 1){
|
|
||||||
D_80383010.unk4 = (D_80383010.return_to_lair_disabled)? 3 : 4;
|
|
||||||
func_803188B4(D_80383010.zoombox[D_80383010.selection]);
|
|
||||||
gcPauseMenu_setState(1);
|
|
||||||
}else if(face_button[FACE_BUTTON(BUTTON_A)] == 1){//L80313B68
|
|
||||||
gcPauseMenu_setState(3);
|
|
||||||
}
|
}
|
||||||
break;
|
D_80383010.unk3_6 ^= 1;
|
||||||
|
gczoombox_maximize(D_80383010.zoombox[D_80383010.selection]);
|
||||||
|
if(D_8036C4E0[D_80383010.selection].unkF = func_803183A4(D_80383010.zoombox[D_80383010.selection], (D_80383010.unk3_6)? "ARE YOU SURE?" : "A - YES, B - NO"))
|
||||||
|
D_80383010.unkC = 0.0;
|
||||||
|
}//L80313AF4
|
||||||
|
if(func_8024E67C(0) == 1){
|
||||||
|
gcPauseMenu_setState(PAUSE_STATE_6_UNKNOWN);
|
||||||
|
}else if(face_button[FACE_BUTTON(BUTTON_B)] == 1){
|
||||||
|
D_80383010.zoombox_processed_count = (D_80383010.return_to_lair_disabled)? 3 : 4;
|
||||||
|
func_803188B4(D_80383010.zoombox[D_80383010.selection]);
|
||||||
|
gcPauseMenu_setState(PAUSE_STATE_1_OPENING);
|
||||||
|
}else if(face_button[FACE_BUTTON(BUTTON_A)] == 1){//L80313B68
|
||||||
|
gcPauseMenu_setState(PAUSE_STATE_3_RETURNING_TO_GAME);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case 6://80313B80
|
case PAUSE_STATE_6_UNKNOWN://80313B80
|
||||||
if(D_80383010.unk4 == 4){
|
if(D_80383010.zoombox_processed_count == 4){
|
||||||
if(0.2 < D_80383010.unkC){
|
if(0.2 < D_80383010.unkC){
|
||||||
D_80383010.unk4 = 0;
|
D_80383010.zoombox_processed_count = 0;
|
||||||
gcPauseMenu_setState(4);
|
gcPauseMenu_setState(PAUSE_STATE_4_PROCESS_SELECTION);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case 7:
|
case PAUSE_STATE_7_LEVEL_TOTALS_INIT:
|
||||||
gcPauseMenu_setState(8);
|
gcPauseMenu_setState(PAUSE_STATE_8_LEVEL_TOTALS_OPENING);
|
||||||
break;
|
break;
|
||||||
case 8:
|
|
||||||
gcpausemenu_printTotalsHeader(D_80383010.selection);
|
|
||||||
gcpausemenu_80312FD0(1);
|
|
||||||
gcpausemenu_80312D78(D_8036C520,4);
|
|
||||||
gcpausemenu_updateBButtonAndJoystickSprites();
|
|
||||||
if(D_80383010.unk4 == 4){
|
|
||||||
D_80383010.unk4 = 0;
|
|
||||||
gcPauseMenu_setState(9);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 9:
|
|
||||||
gcpausemenu_printTotalsHeader(D_80383010.selection);
|
|
||||||
gcpausemenu_80312FD0(1);
|
|
||||||
gcpausemenu_updateBButtonAndJoystickSprites();
|
|
||||||
if(func_8024E67C(0) == 1){
|
|
||||||
D_80383010.unk1 = 3;
|
|
||||||
gcPauseMenu_setState(0xA);
|
|
||||||
}else if(face_button[FACE_BUTTON(BUTTON_B)] == 1){
|
|
||||||
gcPauseMenu_setState(0xA);
|
|
||||||
}else if(0.75 < joystick[JOYSTICK_X]){
|
|
||||||
if((s32)D_80383010.selection < gcpausemenu_getMaxPage())
|
|
||||||
gcpausemenu_getNextPage(1);
|
|
||||||
}else if(joystick[JOYSTICK_X] < -0.75){//L80313CCC
|
|
||||||
if((s32)D_80383010.selection > 0){
|
|
||||||
gcpausemenu_getNextPage(-1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 0xA://80313D00
|
case PAUSE_STATE_8_LEVEL_TOTALS_OPENING:
|
||||||
gcpausemenu_printTotalsHeader(D_80383010.selection);
|
gcpausemenu_printTotalsHeader(D_80383010.selection);
|
||||||
gcpausemenu_80312FD0(-1);
|
gcpausemenu_80312FD0(1);
|
||||||
gcpausemenu_80312E80(D_8036C520, 4);
|
gcpausemenu_80312D78(D_8036C520,4);
|
||||||
gcpausemenu_updateBButtonAndJoystickSprites();
|
gcpausemenu_updateBButtonAndJoystickSprites();
|
||||||
if(D_80383010.unk9 != 0xC){
|
if(D_80383010.zoombox_processed_count == 4){
|
||||||
D_80383010.left_joystick_visible = 0;
|
D_80383010.zoombox_processed_count = 0;
|
||||||
D_80383010.right_joystick_visible = 0;
|
gcPauseMenu_setState(PAUSE_STATE_9_LEVEL_TOTALS);
|
||||||
}//L80313D50
|
}
|
||||||
if(!D_80383010.unk5){
|
break;
|
||||||
for(i = 0; i < 4; i++){
|
|
||||||
gczoombox_close(D_80383010.zoombox[i]);
|
|
||||||
}
|
|
||||||
D_80383010.unk5 = 1;
|
|
||||||
}//L80313D8C
|
|
||||||
if( D_80383010.unk4 == 4){
|
|
||||||
D_80383010.unk4 = 0;
|
|
||||||
gcPauseMenu_setState(0xB);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 0xB:
|
case PAUSE_STATE_9_LEVEL_TOTALS:
|
||||||
if(D_80383010.unk1 == 3){
|
gcpausemenu_printTotalsHeader(D_80383010.selection);
|
||||||
D_80383010.unk3_7 = 1;
|
gcpausemenu_80312FD0(1);
|
||||||
}
|
gcpausemenu_updateBButtonAndJoystickSprites();
|
||||||
else{
|
|
||||||
gcPauseMenu_setState((D_80383010.unk9 == 0xC)? 0xE : 0);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 0xC: //Flip to Sns Total page
|
if (func_8024E67C(0) == 1) {
|
||||||
gcpausemenu_printTotalsHeader(D_80383010.selection);
|
D_80383010.unk1 = 3;
|
||||||
gcpausemenu_80312FD0(-1);
|
gcPauseMenu_setState(PAUSE_STATE_A_UNKNOWN);
|
||||||
gcpausemenu_updateBButtonAndJoystickSprites();
|
} else if (face_button[FACE_BUTTON(BUTTON_B)] == 1) {
|
||||||
if(D_80383010.unk5 == 0 && !D_80383010.unk3_5){
|
gcPauseMenu_setState(PAUSE_STATE_A_UNKNOWN);
|
||||||
gcPauseMenu_setState(0xd);
|
} else if (0.75 < joystick[JOYSTICK_X]) {
|
||||||
|
if ((s32) D_80383010.selection < gcpausemenu_getMaxPage()) {
|
||||||
|
gcpausemenu_getNextPage(1);
|
||||||
}
|
}
|
||||||
break;
|
} else if (joystick[JOYSTICK_X] < -0.75) {//L80313CCC
|
||||||
|
if ((s32) D_80383010.selection > 0) {
|
||||||
case 0xD: //Open SnS Total Page
|
|
||||||
gcpausemenu_printTotalsHeader(D_80383010.selection);
|
|
||||||
gcpausemenu_80312FD0(1);
|
|
||||||
gcpausemenu_updateBButtonAndJoystickSprites();
|
|
||||||
if(D_80383010.unk7 > 0)
|
|
||||||
D_80383010.unk7--;
|
|
||||||
else
|
|
||||||
gcPauseMenu_setState(9);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 0xE:
|
|
||||||
gcPauseMenu_setState(0xF);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 0xF:
|
|
||||||
gcpausemenu_printTotalsHeader(D_80383010.selection);
|
|
||||||
gcpausemenu_80312FD0(1);
|
|
||||||
gcpausemenu_updateBButtonAndJoystickSprites();
|
|
||||||
if(!D_80383010.unk3_5){
|
|
||||||
gcPauseMenu_setState(0x10);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 0x10:
|
|
||||||
gcpausemenu_printTotalsHeader(D_80383010.selection);
|
|
||||||
gcpausemenu_updateBButtonAndJoystickSprites();
|
|
||||||
if(func_8024E67C(0) == 1){
|
|
||||||
D_80383010.unk1 = 3;
|
|
||||||
gcPauseMenu_setState(0x11);
|
|
||||||
}//L80313EFC
|
|
||||||
else if(face_button[FACE_BUTTON(BUTTON_B)] == 1){
|
|
||||||
gcPauseMenu_setState(0x11);
|
|
||||||
}
|
|
||||||
else if(joystick[JOYSTICK_X] < -0.75){
|
|
||||||
gcpausemenu_getNextPage(-1);
|
gcpausemenu_getNextPage(-1);
|
||||||
gcPauseMenu_setState(0x11);
|
|
||||||
}
|
}
|
||||||
break;
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case 0x11:
|
case PAUSE_STATE_A_UNKNOWN://80313D00
|
||||||
gcpausemenu_printTotalsHeader(D_80383010.selection);
|
gcpausemenu_printTotalsHeader(D_80383010.selection);
|
||||||
gcpausemenu_80312FD0(-1);
|
gcpausemenu_80312FD0(-1);
|
||||||
gcpausemenu_updateBButtonAndJoystickSprites();
|
gcpausemenu_80312E80(D_8036C520, 4);
|
||||||
if(D_80383010.unk9 == -1){
|
gcpausemenu_updateBButtonAndJoystickSprites();
|
||||||
D_80383010.left_joystick_visible = 0;
|
if(D_80383010.unk9 != 0xC){
|
||||||
D_80383010.right_joystick_visible = 0;
|
D_80383010.left_joystick_visible = FALSE;
|
||||||
|
D_80383010.right_joystick_visible = FALSE;
|
||||||
|
}//L80313D50
|
||||||
|
if(!D_80383010.unk5){
|
||||||
|
for(i = 0; i < 4; i++){
|
||||||
|
gczoombox_close(D_80383010.zoombox[i]);
|
||||||
}
|
}
|
||||||
if(D_80383010.sns_alpha == 0){
|
D_80383010.unk5 = 1;
|
||||||
gcPauseMenu_setState(0x12);
|
}//L80313D8C
|
||||||
}
|
if (D_80383010.zoombox_processed_count == 4) {
|
||||||
break;
|
D_80383010.zoombox_processed_count = 0;
|
||||||
|
gcPauseMenu_setState(PAUSE_STATE_B_UNKNOWN);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case 0x12:
|
case PAUSE_STATE_B_UNKNOWN:
|
||||||
if(D_80383010.unk1 == 3){
|
if (D_80383010.unk1 == 3) {
|
||||||
D_80383010.unk3_7 = 1;
|
D_80383010.exit_pause = TRUE;
|
||||||
}else{
|
}
|
||||||
gcPauseMenu_setState((D_80383010.unk9 != -1)?7:0);
|
else {
|
||||||
}
|
gcPauseMenu_setState((D_80383010.unk9 == 0xC) ? PAUSE_STATE_E_UNKNOWN : PAUSE_STATE_0_CLOSED);
|
||||||
break;
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case 0x14:
|
case PAUSE_STATE_C_UNKNOWN: //Flip to Sns Total page
|
||||||
func_802DC5B8();
|
gcpausemenu_printTotalsHeader(D_80383010.selection);
|
||||||
if( 5.0 < D_80383010.unkC){
|
gcpausemenu_80312FD0(-1);
|
||||||
if(!D_80383010.unk3_6){
|
gcpausemenu_updateBButtonAndJoystickSprites();
|
||||||
func_802DC560(0,0);
|
if(D_80383010.unk5 == 0 && !D_80383010.unk3_5){
|
||||||
func_802E412C(1,0);
|
gcPauseMenu_setState(PAUSE_STATE_D_UNKNOWN);
|
||||||
func_802E4078(0x1f, 0, 1);
|
}
|
||||||
D_80383010.unk3_6 = 1;
|
break;
|
||||||
}
|
|
||||||
|
case PAUSE_STATE_D_UNKNOWN: //Open SnS Total Page
|
||||||
|
gcpausemenu_printTotalsHeader(D_80383010.selection);
|
||||||
|
gcpausemenu_80312FD0(1);
|
||||||
|
gcpausemenu_updateBButtonAndJoystickSprites();
|
||||||
|
if(D_80383010.unk7 > 0)
|
||||||
|
D_80383010.unk7--;
|
||||||
|
else
|
||||||
|
gcPauseMenu_setState(PAUSE_STATE_9_LEVEL_TOTALS);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PAUSE_STATE_E_UNKNOWN:
|
||||||
|
gcPauseMenu_setState(PAUSE_STATE_F_UNKNOWN);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PAUSE_STATE_F_UNKNOWN:
|
||||||
|
gcpausemenu_printTotalsHeader(D_80383010.selection);
|
||||||
|
gcpausemenu_80312FD0(1);
|
||||||
|
gcpausemenu_updateBButtonAndJoystickSprites();
|
||||||
|
if(!D_80383010.unk3_5){
|
||||||
|
gcPauseMenu_setState(PAUSE_STATE_10_UNKNOWN);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PAUSE_STATE_10_UNKNOWN:
|
||||||
|
gcpausemenu_printTotalsHeader(D_80383010.selection);
|
||||||
|
gcpausemenu_updateBButtonAndJoystickSprites();
|
||||||
|
if(func_8024E67C(0) == 1){
|
||||||
|
D_80383010.unk1 = 3;
|
||||||
|
gcPauseMenu_setState(PAUSE_STATE_11_UNKNOWN);
|
||||||
|
}//L80313EFC
|
||||||
|
else if(face_button[FACE_BUTTON(BUTTON_B)] == 1){
|
||||||
|
gcPauseMenu_setState(PAUSE_STATE_11_UNKNOWN);
|
||||||
|
}
|
||||||
|
else if(joystick[JOYSTICK_X] < -0.75){
|
||||||
|
gcpausemenu_getNextPage(-1);
|
||||||
|
gcPauseMenu_setState(PAUSE_STATE_11_UNKNOWN);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PAUSE_STATE_11_UNKNOWN:
|
||||||
|
gcpausemenu_printTotalsHeader(D_80383010.selection);
|
||||||
|
gcpausemenu_80312FD0(-1);
|
||||||
|
gcpausemenu_updateBButtonAndJoystickSprites();
|
||||||
|
if(D_80383010.unk9 == -1){
|
||||||
|
D_80383010.left_joystick_visible = FALSE;
|
||||||
|
D_80383010.right_joystick_visible = FALSE;
|
||||||
|
}
|
||||||
|
if(D_80383010.sns_alpha == 0){
|
||||||
|
gcPauseMenu_setState(PAUSE_STATE_12_UNKNOWN);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PAUSE_STATE_12_UNKNOWN:
|
||||||
|
if(D_80383010.unk1 == 3){
|
||||||
|
D_80383010.exit_pause = TRUE;
|
||||||
|
}else{
|
||||||
|
gcPauseMenu_setState((D_80383010.unk9 != -1) ? PAUSE_STATE_7_LEVEL_TOTALS_INIT : PAUSE_STATE_0_CLOSED);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PAUSE_STATE_14_UNKNOWN:
|
||||||
|
func_802DC5B8();
|
||||||
|
if( 5.0 < D_80383010.unkC){
|
||||||
|
if(!D_80383010.unk3_6){
|
||||||
|
func_802DC560(0,0);
|
||||||
|
func_802E412C(1,0);
|
||||||
|
func_802E4078(MAP_1F_CS_START_RAREWARE, 0, 1);
|
||||||
|
D_80383010.unk3_6 = 1;
|
||||||
}
|
}
|
||||||
break;
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
return D_80383010.unk3_7;
|
return D_80383010.exit_pause;
|
||||||
}
|
}
|
||||||
|
|
||||||
void __gcpausemenu_drawSprite(Gfx** gdl, Mtx** mptr, Vtx** vptr, BKSprite* sprite, s32 frame, f32 x, f32 y, f32 w, f32 h, u8 a){
|
void __gcpausemenu_drawSprite(Gfx** gdl, Mtx** mptr, Vtx** vptr, BKSprite* sprite, s32 frame, f32 x, f32 y, f32 w, f32 h, u8 a){
|
||||||
@@ -1397,19 +1425,19 @@ void gcpausemenu_draw(Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (D_80383010.sns_visible != 0) {
|
if (D_80383010.sns_visible != FALSE) {
|
||||||
if (D_80383010.sns_alpha < 0xFF) {
|
if (D_80383010.sns_alpha < 0xFF) {
|
||||||
D_80383010.sns_alpha = (D_80383010.sns_alpha + 0xC < 0xFF) ? D_80383010.sns_alpha + 0xC : 0xFF;
|
D_80383010.sns_alpha = (D_80383010.sns_alpha + 0xC < 0xFF) ? D_80383010.sns_alpha + 0xC : 0xFF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (D_80383010.sns_visible == 0) {
|
if (D_80383010.sns_visible == FALSE) {
|
||||||
if (D_80383010.sns_alpha > 0) {
|
if (D_80383010.sns_alpha > 0) {
|
||||||
D_80383010.sns_alpha = (D_80383010.sns_alpha - 0xC > 0) ? D_80383010.sns_alpha - 0xC : 0;
|
D_80383010.sns_alpha = (D_80383010.sns_alpha - 0xC > 0) ? D_80383010.sns_alpha - 0xC : 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (D_80383010.state == 0x14) {
|
if (D_80383010.state == PAUSE_STATE_14_UNKNOWN) {
|
||||||
func_802DC604(gfx, mtx, vtx);
|
func_802DC604(gfx, mtx, vtx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1431,8 +1459,9 @@ void gcpausemenu_80314B24(void){
|
|||||||
|
|
||||||
void gcpausemenu_returnToLair(void){
|
void gcpausemenu_returnToLair(void){
|
||||||
s32 level = level_get();
|
s32 level = level_get();
|
||||||
if(0 < level && level < 0xC && D_8036C560[level-1].map != -1){
|
|
||||||
|
if (0 < level && level < LEVEL_C_BOSS && D_8036C560[level - 1].map != -1) {
|
||||||
volatileFlag_set(VOLATILE_FLAG_16, TRUE);
|
volatileFlag_set(VOLATILE_FLAG_16, TRUE);
|
||||||
func_802E4078(D_8036C560[level-1].map, D_8036C560[level-1].exit, 1);
|
func_802E4078(D_8036C560[level - 1].map, D_8036C560[level - 1].exit, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1043,12 +1043,12 @@ void func_80316E60(GcZoombox *this){
|
|||||||
func_80318488(this);
|
func_80318488(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80316E84(GcZoombox *this, s32 arg1){
|
void func_80316E84(GcZoombox *this, s32 state){
|
||||||
if(this->unk134 != arg1){
|
if(this->unk134 != state){
|
||||||
if(this->unk130 != NULL){
|
if (this->callback != NULL) {
|
||||||
this->unk130(this->portrait_id, arg1);
|
this->callback(this->portrait_id, state);
|
||||||
}
|
}
|
||||||
this->unk134 = arg1;
|
this->unk134 = state;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1378,13 +1378,13 @@ void __gczoombox_load_sfx(GcZoombox *this, GcZoomboxSprite portrait_id){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GcZoombox *gczoombox_new(s32 arg0, GcZoomboxSprite portrait_id, s32 arg2, s32 arg3, void (*arg4)(s32, s32)){
|
GcZoombox *gczoombox_new(s32 y, GcZoomboxSprite portrait_id, s32 arg2, s32 arg3, void (*callback)(s32 portrait_id, s32 state)){
|
||||||
GcZoombox *this;
|
GcZoombox *this;
|
||||||
s32 i;
|
s32 i;
|
||||||
s32 temp_v1;
|
s32 temp_v1;
|
||||||
|
|
||||||
this = (GcZoombox *)malloc(sizeof(GcZoombox));
|
this = (GcZoombox *)malloc(sizeof(GcZoombox));
|
||||||
this->unk130 = arg4;
|
this->callback = callback;
|
||||||
this->state = 0xB;
|
this->state = 0xB;
|
||||||
this->portrait_id = portrait_id;
|
this->portrait_id = portrait_id;
|
||||||
this->unk134 = this->str_cnt = this->current_str_index = 0;
|
this->unk134 = this->str_cnt = this->current_str_index = 0;
|
||||||
@@ -1399,7 +1399,7 @@ GcZoombox *gczoombox_new(s32 arg0, GcZoomboxSprite portrait_id, s32 arg2, s32 ar
|
|||||||
this->unk15C = 0;
|
this->unk15C = 0;
|
||||||
this->unk160 = 0;
|
this->unk160 = 0;
|
||||||
this->unk166 = this->unk1A4_19;
|
this->unk166 = this->unk1A4_19;
|
||||||
this->unk164 = arg0;
|
this->unk164 = y;
|
||||||
this->unk168 = 0xFF;
|
this->unk168 = 0xFF;
|
||||||
this->unk1A4_24 = arg3;
|
this->unk1A4_24 = arg3;
|
||||||
if(this->unk1A4_24){
|
if(this->unk1A4_24){
|
||||||
|
@@ -132,7 +132,7 @@ typedef struct {
|
|||||||
f32 unk110[5]; //sfx_???
|
f32 unk110[5]; //sfx_???
|
||||||
s16 unk124[5]; //sfx_???
|
s16 unk124[5]; //sfx_???
|
||||||
s16 unk12E;
|
s16 unk12E;
|
||||||
void (*unk130)(s32, s32);
|
void (*callback)(s32 portrait_id, s32 state);
|
||||||
u8 unk134;
|
u8 unk134;
|
||||||
u8 state;
|
u8 state;
|
||||||
u8 portrait_id; //0x136
|
u8 portrait_id; //0x136
|
||||||
|
Reference in New Issue
Block a user