mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-05-24 07:10:39 -04:00
Decompile menuhandlerMpOpenOptions
This commit is contained in:
+12
-28
@@ -16806,10 +16806,10 @@ glabel menudialog00184ec0
|
||||
/* f184f08: 030fc021 */ addu $t8,$t8,$t7
|
||||
/* f184f0c: 001940c0 */ sll $t0,$t9,0x3
|
||||
/* f184f10: 8f18e4f8 */ lw $t8,-0x1b08($t8)
|
||||
/* f184f14: 3c098008 */ lui $t1,%hi(var80086f98)
|
||||
/* f184f14: 3c098008 */ lui $t1,%hi(g_MpOptionsDialogs)
|
||||
/* f184f18: 01194021 */ addu $t0,$t0,$t9
|
||||
/* f184f1c: 000840c0 */ sll $t0,$t0,0x3
|
||||
/* f184f20: 25296f98 */ addiu $t1,$t1,%lo(var80086f98)
|
||||
/* f184f20: 25296f98 */ addiu $t1,$t1,%lo(g_MpOptionsDialogs)
|
||||
/* f184f24: 01095021 */ addu $t2,$t0,$t1
|
||||
/* f184f28: 8d4b0000 */ lw $t3,0x0($t2)
|
||||
/* f184f2c: 8f040000 */ lw $a0,0x0($t8)
|
||||
@@ -17132,30 +17132,14 @@ glabel menuhandler00185068
|
||||
/* f18537c: 27bd0050 */ addiu $sp,$sp,0x50
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel menuhandlerMpOpenOptions
|
||||
/* f185380: 27bdffe8 */ addiu $sp,$sp,-24
|
||||
/* f185384: 24010006 */ addiu $at,$zero,0x6
|
||||
/* f185388: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f18538c: afa5001c */ sw $a1,0x1c($sp)
|
||||
/* f185390: 1481000a */ bne $a0,$at,.L0f1853bc
|
||||
/* f185394: afa60020 */ sw $a2,0x20($sp)
|
||||
/* f185398: 3c0e800b */ lui $t6,0x800b
|
||||
/* f18539c: 91cecb98 */ lbu $t6,-0x3468($t6)
|
||||
/* f1853a0: 3c048008 */ lui $a0,0x8008
|
||||
/* f1853a4: 000e78c0 */ sll $t7,$t6,0x3
|
||||
/* f1853a8: 01ee7821 */ addu $t7,$t7,$t6
|
||||
/* f1853ac: 000f78c0 */ sll $t7,$t7,0x3
|
||||
/* f1853b0: 008f2021 */ addu $a0,$a0,$t7
|
||||
/* f1853b4: 0fc3cbd3 */ jal menuPushDialog
|
||||
/* f1853b8: 8c846f98 */ lw $a0,0x6f98($a0)
|
||||
.L0f1853bc:
|
||||
/* f1853bc: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f1853c0: 27bd0018 */ addiu $sp,$sp,0x18
|
||||
/* f1853c4: 00001025 */ or $v0,$zero,$zero
|
||||
/* f1853c8: 03e00008 */ jr $ra
|
||||
/* f1853cc: 00000000 */ sll $zero,$zero,0x0
|
||||
);
|
||||
s32 menuhandlerMpOpenOptions(u32 operation, struct menu_item *item, s32 *value)
|
||||
{
|
||||
if (operation == MENUOP_SET) {
|
||||
menuPushDialog(g_MpOptionsDialogs[var800acb98].dialog);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f1853d0
|
||||
@@ -17451,9 +17435,9 @@ glabel func0f185774
|
||||
/* f185794: 254acb88 */ addiu $t2,$t2,%lo(g_MpSetup)
|
||||
/* f185798: 914f0010 */ lbu $t7,0x10($t2)
|
||||
/* f18579c: 240b0048 */ addiu $t3,$zero,0x48
|
||||
/* f1857a0: 3c088008 */ lui $t0,%hi(var80086f98)
|
||||
/* f1857a0: 3c088008 */ lui $t0,%hi(g_MpOptionsDialogs)
|
||||
/* f1857a4: 01eb0019 */ multu $t7,$t3
|
||||
/* f1857a8: 25086f98 */ addiu $t0,$t0,%lo(var80086f98)
|
||||
/* f1857a8: 25086f98 */ addiu $t0,$t0,%lo(g_MpOptionsDialogs)
|
||||
/* f1857ac: 0000c012 */ mflo $t8
|
||||
/* f1857b0: 0118c821 */ addu $t9,$t0,$t8
|
||||
/* f1857b4: 8f2c0018 */ lw $t4,0x18($t9)
|
||||
|
||||
@@ -241,7 +241,7 @@ s32 menuhandlerMpMedal(u32, u32, u32 *);
|
||||
s32 menuhandlerMpMultipleTunes(u32, u32, u32 *);
|
||||
s32 menuhandlerMpNumberOfSimulants(u32, u32, u32 *);
|
||||
s32 menuhandlerMpOneHitKills(u32, u32, u32 *);
|
||||
s32 menuhandlerMpOpenOptions(u32, u32, u32 *);
|
||||
s32 menuhandlerMpOpenOptions(u32 operation, struct menu_item *item, s32 *value);
|
||||
s32 menuhandlerMpQuickteamOption(u32, u32, u32 *);
|
||||
s32 menuhandlerMpRestoreHandicapDefaults(u32, u32, u32 *);
|
||||
s32 menuhandlerMpRestoreScoreDefaults(u32 operation, struct menu_item *item, s32 *value);
|
||||
|
||||
@@ -286,7 +286,7 @@ extern struct menu_dialog menudialog_mphilloptions;
|
||||
extern struct menu_dialog menudialog_mphackeroptions;
|
||||
extern u32 var80086e14;
|
||||
extern struct menu_dialog menudialog_mppopacapoptions;
|
||||
extern u32 var80086f98[];
|
||||
extern struct mpoptionsdialoginfo g_MpOptionsDialogs[];
|
||||
extern u16 mpscenarios[];
|
||||
extern u32 var8008716c;
|
||||
extern u32 var800871fc;
|
||||
|
||||
@@ -4007,4 +4007,25 @@ struct mpsetup {
|
||||
u32 options;
|
||||
};
|
||||
|
||||
struct mpoptionsdialoginfo {
|
||||
struct menu_dialog *dialog;
|
||||
void *unk04;
|
||||
void *unk08;
|
||||
void *unk0c;
|
||||
void *unk10;
|
||||
void *unk14;
|
||||
void *unk18;
|
||||
void *unk1c;
|
||||
void *unk20;
|
||||
void *unk24;
|
||||
void *unk28;
|
||||
void *unk2c;
|
||||
void *unk30;
|
||||
void *unk34;
|
||||
void *unk38;
|
||||
void *unk3c;
|
||||
void *unk40;
|
||||
void *unk44;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -11546,13 +11546,13 @@ struct menu_dialog menudialog_mppopacapoptions = {
|
||||
};
|
||||
|
||||
// 2cfb8
|
||||
u32 var80086f98[] = {
|
||||
(u32) &menudialog_mpcombatoptions, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
(u32) &menudialog_mpbriefcaseoptions, (u32)&func0f17ff80, (u32)&func0f17ffdc, (u32)&func0f1802bc, (u32)&func0f1802e0, (u32)&func0f180600, (u32)&func0f18079c, (u32)&func0f180960, (u32)&func0f180a68, (u32)&func0f180b1c, (u32)&func0f180c48, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
(u32) &menudialog_mphackeroptions, (u32)&func0f182b90, (u32)&func0f182b9c, (u32)&func0f182e98, (u32)&func0f1830a4, (u32)&func0f183380, (u32)&func0f1839a8, (u32)&func0f183bb4, (u32)&func0f183d10, (u32)&func0f184218, (u32)&func0f184344, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
(u32) &menudialog_mppopacapoptions, (u32)&func0f1844ec, 0x00000000, (u32)&func0f18450c, (u32)&func0f1848c0, 0x00000000, (u32)&func0f184a18, (u32)&func0f184c18, (u32)&func0f184d84, (u32)&func0f184d8c, (u32)&func0f18452c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
(u32) &menudialog_mphilloptions, (u32)&func0f181b70, 0x00000000, (u32)&func0f181bfc, (u32)&func0f181cf0, 0x00000000, (u32)&func0f182670, (u32)&func0f182908, (u32)&func0f1829e4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, (u32)&func0f182ae8, (u32)&func0f182b08, 0x00000000, (u32)&func0f181b24, (u32)&func0f181b48,
|
||||
(u32) &menudialog_mpcaptureoptions, (u32)&func0f180c98, (u32)&func0f180e1c, (u32)&func0f180e34, (u32)&func0f180e24, (u32)&func0f180e2c, 0x00000000, (u32)&func0f1813d8, (u32)&func0f1814bc, (u32)&func0f181608, (u32)&func0f181764, (u32)&func0f18189c, (u32)&func0f181944, (u32)&func0f18194c, (u32)&func0f1819a4, 0x00000000, 0x00000000, 0x00000000,
|
||||
struct mpoptionsdialoginfo g_MpOptionsDialogs[] = {
|
||||
{ &menudialog_mpcombatoptions, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
|
||||
{ &menudialog_mpbriefcaseoptions, func0f17ff80, func0f17ffdc, func0f1802bc, func0f1802e0, func0f180600, func0f18079c, func0f180960, func0f180a68, func0f180b1c, func0f180c48, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
|
||||
{ &menudialog_mphackeroptions, func0f182b90, func0f182b9c, func0f182e98, func0f1830a4, func0f183380, func0f1839a8, func0f183bb4, func0f183d10, func0f184218, func0f184344, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
|
||||
{ &menudialog_mppopacapoptions, func0f1844ec, NULL, func0f18450c, func0f1848c0, NULL, func0f184a18, func0f184c18, func0f184d84, func0f184d8c, func0f18452c, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
|
||||
{ &menudialog_mphilloptions, func0f181b70, NULL, func0f181bfc, func0f181cf0, NULL, func0f182670, func0f182908, func0f1829e4, NULL, NULL, NULL, NULL, func0f182ae8, func0f182b08, NULL, func0f181b24, func0f181b48 },
|
||||
{ &menudialog_mpcaptureoptions, func0f180c98, func0f180e1c, func0f180e34, func0f180e24, func0f180e2c, NULL, func0f1813d8, func0f1814bc, func0f181608, func0f181764, func0f18189c, func0f181944, func0f18194c, func0f1819a4, NULL, NULL, NULL },
|
||||
};
|
||||
|
||||
// 2d168
|
||||
|
||||
Reference in New Issue
Block a user