From 0482ccf7ae4e5bac2c09127e200d3d0efee443bd Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sat, 22 Jan 2022 21:45:51 +1000 Subject: [PATCH] Decompile func0f0fa574 --- src/game/game_0f09f0.c | 199 +++++------------------------------- src/game/menu/items.c | 4 +- src/include/types.h | 223 ++++------------------------------------- 3 files changed, 43 insertions(+), 383 deletions(-) diff --git a/src/game/game_0f09f0.c b/src/game/game_0f09f0.c index a709e0dc1..c7078a799 100644 --- a/src/game/game_0f09f0.c +++ b/src/game/game_0f09f0.c @@ -5799,7 +5799,7 @@ void menuCloseDialog(void) g_Menus[g_MpPlayerNum].numframes--; } - g_Menus[g_MpPlayerNum].unk65c = g_Menus[g_MpPlayerNum].unk660[layer->siblings[0]->unk04][3]; + g_Menus[g_MpPlayerNum].unk65c = g_Menus[g_MpPlayerNum].unk660[layer->siblings[0]->unk04].unk06; g_Menus[g_MpPlayerNum].unk6d8 = layer->siblings[0]->unk04; g_Menus[g_MpPlayerNum].unk81c = layer->siblings[0]->unk06; g_Menus[g_MpPlayerNum].depth--; @@ -23139,181 +23139,28 @@ glabel var7f1b2a64 ); #endif -#if VERSION >= VERSION_NTSC_1_0 -GLOBAL_ASM( -glabel func0f0fa574 -/* f0fa574: 27bdffc8 */ addiu $sp,$sp,-56 -/* f0fa578: 3c0e8007 */ lui $t6,%hi(g_MpPlayerNum) -/* f0fa57c: 8dce1448 */ lw $t6,%lo(g_MpPlayerNum)($t6) -/* f0fa580: afbf0034 */ sw $ra,0x34($sp) -/* f0fa584: afb70030 */ sw $s7,0x30($sp) -/* f0fa588: 000e78c0 */ sll $t7,$t6,0x3 -/* f0fa58c: 01ee7823 */ subu $t7,$t7,$t6 -/* f0fa590: 000f7880 */ sll $t7,$t7,0x2 -/* f0fa594: afb6002c */ sw $s6,0x2c($sp) -/* f0fa598: afb50028 */ sw $s5,0x28($sp) -/* f0fa59c: afb40024 */ sw $s4,0x24($sp) -/* f0fa5a0: afb30020 */ sw $s3,0x20($sp) -/* f0fa5a4: afb2001c */ sw $s2,0x1c($sp) -/* f0fa5a8: afb10018 */ sw $s1,0x18($sp) -/* f0fa5ac: afb00014 */ sw $s0,0x14($sp) -/* f0fa5b0: 01ee7821 */ addu $t7,$t7,$t6 -/* f0fa5b4: 90830005 */ lbu $v1,0x5($a0) -/* f0fa5b8: 000f78c0 */ sll $t7,$t7,0x3 -/* f0fa5bc: 3c18800a */ lui $t8,%hi(g_Menus) -/* f0fa5c0: 01ee7823 */ subu $t7,$t7,$t6 -/* f0fa5c4: 000f7900 */ sll $t7,$t7,0x4 -/* f0fa5c8: 2718e000 */ addiu $t8,$t8,%lo(g_Menus) -/* f0fa5cc: 0080a825 */ or $s5,$a0,$zero -/* f0fa5d0: 01f89021 */ addu $s2,$t7,$t8 -/* f0fa5d4: 1860002a */ blez $v1,.L0f0fa680 -/* f0fa5d8: 0000b025 */ or $s6,$zero,$zero -/* f0fa5dc: 2417000a */ addiu $s7,$zero,0xa -/* f0fa5e0: 2414ffff */ addiu $s4,$zero,-1 -/* f0fa5e4: 24130014 */ addiu $s3,$zero,0x14 -/* f0fa5e8: 92b90004 */ lbu $t9,0x4($s5) -.L0f0fa5ec: -/* f0fa5ec: 00008025 */ or $s0,$zero,$zero -/* f0fa5f0: 03361021 */ addu $v0,$t9,$s6 -/* f0fa5f4: 00570019 */ multu $v0,$s7 -/* f0fa5f8: 00004012 */ mflo $t0 -/* f0fa5fc: 02488821 */ addu $s1,$s2,$t0 -/* f0fa600: 92290668 */ lbu $t1,0x668($s1) -/* f0fa604: 5920001b */ blezl $t1,.L0f0fa674 -/* f0fa608: 26d60001 */ addiu $s6,$s6,0x1 -/* f0fa60c: 962a0666 */ lhu $t2,0x666($s1) -.L0f0fa610: -/* f0fa610: 8eae0000 */ lw $t6,0x0($s5) -/* f0fa614: 00002825 */ or $a1,$zero,$zero -/* f0fa618: 01501821 */ addu $v1,$t2,$s0 -/* f0fa61c: 00035880 */ sll $t3,$v1,0x2 -/* f0fa620: 024b1021 */ addu $v0,$s2,$t3 -/* f0fa624: 904c04fe */ lbu $t4,0x4fe($v0) -/* f0fa628: 804404ff */ lb $a0,0x4ff($v0) -/* f0fa62c: 8dcf0008 */ lw $t7,0x8($t6) -/* f0fa630: 01930019 */ multu $t4,$s3 -/* f0fa634: 0004c080 */ sll $t8,$a0,0x2 -/* f0fa638: 00006812 */ mflo $t5 -/* f0fa63c: 01af3021 */ addu $a2,$t5,$t7 -/* f0fa640: 12840003 */ beq $s4,$a0,.L0f0fa650 -/* f0fa644: 00000000 */ nop -/* f0fa648: 02582821 */ addu $a1,$s2,$t8 -/* f0fa64c: 24a506dc */ addiu $a1,$a1,0x6dc -.L0f0fa650: -/* f0fa650: 0fc3c218 */ jal menuInitItem -/* f0fa654: 00c02025 */ or $a0,$a2,$zero -/* f0fa658: 92390668 */ lbu $t9,0x668($s1) -/* f0fa65c: 26100001 */ addiu $s0,$s0,0x1 -/* f0fa660: 0219082a */ slt $at,$s0,$t9 -/* f0fa664: 5420ffea */ bnezl $at,.L0f0fa610 -/* f0fa668: 962a0666 */ lhu $t2,0x666($s1) -/* f0fa66c: 92a30005 */ lbu $v1,0x5($s5) -/* f0fa670: 26d60001 */ addiu $s6,$s6,0x1 -.L0f0fa674: -/* f0fa674: 02c3082a */ slt $at,$s6,$v1 -/* f0fa678: 5420ffdc */ bnezl $at,.L0f0fa5ec -/* f0fa67c: 92b90004 */ lbu $t9,0x4($s5) -.L0f0fa680: -/* f0fa680: 8fbf0034 */ lw $ra,0x34($sp) -/* f0fa684: 8fb00014 */ lw $s0,0x14($sp) -/* f0fa688: 8fb10018 */ lw $s1,0x18($sp) -/* f0fa68c: 8fb2001c */ lw $s2,0x1c($sp) -/* f0fa690: 8fb30020 */ lw $s3,0x20($sp) -/* f0fa694: 8fb40024 */ lw $s4,0x24($sp) -/* f0fa698: 8fb50028 */ lw $s5,0x28($sp) -/* f0fa69c: 8fb6002c */ lw $s6,0x2c($sp) -/* f0fa6a0: 8fb70030 */ lw $s7,0x30($sp) -/* f0fa6a4: 03e00008 */ jr $ra -/* f0fa6a8: 27bd0038 */ addiu $sp,$sp,0x38 -); -#else -GLOBAL_ASM( -glabel func0f0fa574 -/* f0f6cc4: 27bdffc8 */ addiu $sp,$sp,-56 -/* f0f6cc8: 3c0e8007 */ lui $t6,0x8007 -/* f0f6ccc: 8dce3af0 */ lw $t6,0x3af0($t6) -/* f0f6cd0: afbf0034 */ sw $ra,0x34($sp) -/* f0f6cd4: afb70030 */ sw $s7,0x30($sp) -/* f0f6cd8: 000e78c0 */ sll $t7,$t6,0x3 -/* f0f6cdc: 01ee7823 */ subu $t7,$t7,$t6 -/* f0f6ce0: 000f78c0 */ sll $t7,$t7,0x3 -/* f0f6ce4: afb6002c */ sw $s6,0x2c($sp) -/* f0f6ce8: afb50028 */ sw $s5,0x28($sp) -/* f0f6cec: afb40024 */ sw $s4,0x24($sp) -/* f0f6cf0: afb30020 */ sw $s3,0x20($sp) -/* f0f6cf4: afb2001c */ sw $s2,0x1c($sp) -/* f0f6cf8: afb10018 */ sw $s1,0x18($sp) -/* f0f6cfc: afb00014 */ sw $s0,0x14($sp) -/* f0f6d00: 01ee7823 */ subu $t7,$t7,$t6 -/* f0f6d04: 90830005 */ lbu $v1,0x5($a0) -/* f0f6d08: 000f7900 */ sll $t7,$t7,0x4 -/* f0f6d0c: 3c18800a */ lui $t8,0x800a -/* f0f6d10: 01ee7823 */ subu $t7,$t7,$t6 -/* f0f6d14: 000f7880 */ sll $t7,$t7,0x2 -/* f0f6d18: 271827c0 */ addiu $t8,$t8,0x27c0 -/* f0f6d1c: 0080a825 */ or $s5,$a0,$zero -/* f0f6d20: 01f89021 */ addu $s2,$t7,$t8 -/* f0f6d24: 1860002a */ blez $v1,.NB0f0f6dd0 -/* f0f6d28: 0000b025 */ or $s6,$zero,$zero -/* f0f6d2c: 2417000a */ addiu $s7,$zero,0xa -/* f0f6d30: 2414ffff */ addiu $s4,$zero,-1 -/* f0f6d34: 24130014 */ addiu $s3,$zero,0x14 -/* f0f6d38: 92b90004 */ lbu $t9,0x4($s5) -.NB0f0f6d3c: -/* f0f6d3c: 00008025 */ or $s0,$zero,$zero -/* f0f6d40: 03361021 */ addu $v0,$t9,$s6 -/* f0f6d44: 00570019 */ multu $v0,$s7 -/* f0f6d48: 00004012 */ mflo $t0 -/* f0f6d4c: 02488821 */ addu $s1,$s2,$t0 -/* f0f6d50: 922905d8 */ lbu $t1,0x5d8($s1) -/* f0f6d54: 5920001b */ blezl $t1,.NB0f0f6dc4 -/* f0f6d58: 26d60001 */ addiu $s6,$s6,0x1 -/* f0f6d5c: 962a05d6 */ lhu $t2,0x5d6($s1) -.NB0f0f6d60: -/* f0f6d60: 8eae0000 */ lw $t6,0x0($s5) -/* f0f6d64: 00002825 */ or $a1,$zero,$zero -/* f0f6d68: 01501821 */ addu $v1,$t2,$s0 -/* f0f6d6c: 00035880 */ sll $t3,$v1,0x2 -/* f0f6d70: 024b1021 */ addu $v0,$s2,$t3 -/* f0f6d74: 904c048e */ lbu $t4,0x48e($v0) -/* f0f6d78: 8044048f */ lb $a0,0x48f($v0) -/* f0f6d7c: 8dcf0008 */ lw $t7,0x8($t6) -/* f0f6d80: 01930019 */ multu $t4,$s3 -/* f0f6d84: 0004c080 */ sll $t8,$a0,0x2 -/* f0f6d88: 00006812 */ mflo $t5 -/* f0f6d8c: 01af3021 */ addu $a2,$t5,$t7 -/* f0f6d90: 12840003 */ beq $s4,$a0,.NB0f0f6da0 -/* f0f6d94: 00000000 */ sll $zero,$zero,0x0 -/* f0f6d98: 02582821 */ addu $a1,$s2,$t8 -/* f0f6d9c: 24a50638 */ addiu $a1,$a1,0x638 -.NB0f0f6da0: -/* f0f6da0: 0fc3b564 */ jal menuInitItem -/* f0f6da4: 00c02025 */ or $a0,$a2,$zero -/* f0f6da8: 923905d8 */ lbu $t9,0x5d8($s1) -/* f0f6dac: 26100001 */ addiu $s0,$s0,0x1 -/* f0f6db0: 0219082a */ slt $at,$s0,$t9 -/* f0f6db4: 5420ffea */ bnezl $at,.NB0f0f6d60 -/* f0f6db8: 962a05d6 */ lhu $t2,0x5d6($s1) -/* f0f6dbc: 92a30005 */ lbu $v1,0x5($s5) -/* f0f6dc0: 26d60001 */ addiu $s6,$s6,0x1 -.NB0f0f6dc4: -/* f0f6dc4: 02c3082a */ slt $at,$s6,$v1 -/* f0f6dc8: 5420ffdc */ bnezl $at,.NB0f0f6d3c -/* f0f6dcc: 92b90004 */ lbu $t9,0x4($s5) -.NB0f0f6dd0: -/* f0f6dd0: 8fbf0034 */ lw $ra,0x34($sp) -/* f0f6dd4: 8fb00014 */ lw $s0,0x14($sp) -/* f0f6dd8: 8fb10018 */ lw $s1,0x18($sp) -/* f0f6ddc: 8fb2001c */ lw $s2,0x1c($sp) -/* f0f6de0: 8fb30020 */ lw $s3,0x20($sp) -/* f0f6de4: 8fb40024 */ lw $s4,0x24($sp) -/* f0f6de8: 8fb50028 */ lw $s5,0x28($sp) -/* f0f6dec: 8fb6002c */ lw $s6,0x2c($sp) -/* f0f6df0: 8fb70030 */ lw $s7,0x30($sp) -/* f0f6df4: 03e00008 */ jr $ra -/* f0f6df8: 27bd0038 */ addiu $sp,$sp,0x38 -); -#endif +void func0f0fa574(struct menuframe *frame) +{ + struct menu *menu = &g_Menus[g_MpPlayerNum]; + s32 i; + s32 j; + + for (i = 0; i < frame->unk05; i++) { + s32 index1 = frame->unk04 + i; + + for (j = 0; j < menu->unk660[index1].unk08; j++) { + s32 index2 = menu->unk660[index1].unk06 + j; + struct menuitem *item = &frame->dialog->items[menu->unk4fc[index2].unk02]; + union menuitemdata *data = NULL; + + if (menu->unk4fc[index2].handlerdataindex != -1) { + data = (union menuitemdata *)&menu->handlerdatabuffer[menu->unk4fc[index2].handlerdataindex]; + } + + menuInitItem(item, data); + } + } +} void func0f0fa6ac(void) { diff --git a/src/game/menu/items.c b/src/game/menu/items.c index 8c63fca61..b0b64a4e5 100644 --- a/src/game/menu/items.c +++ b/src/game/menu/items.c @@ -9038,8 +9038,8 @@ bool menuTickItemScrollable(struct menuitem *item, struct menuframe *frame, stru func0f0f2354(frame, item, &index1, &index2); - wvalue = g_Menus[g_MpPlayerNum].unk660[index2][0]; - hvalue = g_Menus[g_MpPlayerNum].unk4fc[index1][0]; + wvalue = g_Menus[g_MpPlayerNum].unk660[index2].unk00; + hvalue = g_Menus[g_MpPlayerNum].unk4fc[index1].unk00; if (menuIsScrollableUnscrollable(item)) { width = wvalue - 10; diff --git a/src/include/types.h b/src/include/types.h index 0f3a71e2f..8038f8f25 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -3922,218 +3922,31 @@ struct perfectheadtexturelist { struct textureconfig selectedtexture; }; +struct menu4fc { + s16 unk00; + u8 unk02; + s8 handlerdataindex; +}; + +struct menu660 { + u16 unk00; + u16 unk02; + u16 unk04; + u16 unk06; + u8 unk08; +}; + struct menu { -#if VERSION >= VERSION_NTSC_1_0 - struct menuframe frames[10]; -#else - struct menuframe frames[9]; -#endif + struct menuframe frames[VERSION >= VERSION_NTSC_1_0 ? 10 : 9]; /*0x460*/ s16 numframes; /*0x464*/ struct menulayer layers[6]; /*0x4f4*/ s16 depth; // index into layers. 1-indexed? /*0x4f8*/ struct menuframe *curframe; - /*0x4fc*/ s16 unk4fc[1][2]; - /*0x500*/ u32 unk500; - /*0x504*/ u32 unk504; - /*0x508*/ u32 unk508; - /*0x50c*/ u32 unk50c; - /*0x510*/ u32 unk510; - /*0x514*/ u32 unk514; - /*0x518*/ u32 unk518; - /*0x51c*/ u32 unk51c; - /*0x520*/ u32 unk520; - /*0x524*/ u32 unk524; - /*0x528*/ u32 unk528; - /*0x52c*/ u32 unk52c; - /*0x530*/ u32 unk530; - /*0x534*/ u32 unk534; - /*0x538*/ u32 unk538; - /*0x53c*/ u32 unk53c; - /*0x540*/ u32 unk540; - /*0x544*/ u32 unk544; - /*0x548*/ u32 unk548; - /*0x54c*/ u32 unk54c; - /*0x550*/ u32 unk550; - /*0x554*/ u32 unk554; - /*0x558*/ u32 unk558; - /*0x55c*/ u32 unk55c; - /*0x560*/ u32 unk560; - /*0x564*/ u32 unk564; - /*0x568*/ u32 unk568; - /*0x56c*/ u32 unk56c; - /*0x570*/ u32 unk570; - /*0x574*/ u32 unk574; - /*0x578*/ u32 unk578; - /*0x57c*/ u32 unk57c; - /*0x580*/ u32 unk580; - /*0x584*/ u32 unk584; - /*0x588*/ u32 unk588; - /*0x58c*/ u32 unk58c; - /*0x590*/ u32 unk590; - /*0x594*/ u32 unk594; - /*0x598*/ u32 unk598; - /*0x59c*/ u32 unk59c; - /*0x5a0*/ u32 unk5a0; - /*0x5a4*/ u32 unk5a4; - /*0x5a8*/ u32 unk5a8; - /*0x5ac*/ u32 unk5ac; - /*0x5b0*/ u32 unk5b0; - /*0x5b4*/ u32 unk5b4; - /*0x5b8*/ u32 unk5b8; - /*0x5bc*/ u32 unk5bc; - /*0x5c0*/ u32 unk5c0; - /*0x5c4*/ u32 unk5c4; - /*0x5c8*/ u32 unk5c8; - /*0x5cc*/ u32 unk5cc; - /*0x5d0*/ u32 unk5d0; - /*0x5d4*/ u32 unk5d4; - /*0x5d8*/ u32 unk5d8; - /*0x5dc*/ u32 unk5dc; - /*0x5e0*/ u32 unk5e0; - /*0x5e4*/ u32 unk5e4; - /*0x5e8*/ u32 unk5e8; - /*0x5ec*/ u32 unk5ec; - /*0x5f0*/ u32 unk5f0; - /*0x5f4*/ u32 unk5f4; - /*0x5f8*/ u32 unk5f8; - /*0x5fc*/ u32 unk5fc; - /*0x600*/ u32 unk600; - /*0x604*/ u32 unk604; - /*0x608*/ u32 unk608; - /*0x60c*/ u32 unk60c; - /*0x610*/ u32 unk610; - /*0x614*/ u32 unk614; - /*0x618*/ u32 unk618; - /*0x61c*/ u32 unk61c; - /*0x620*/ u32 unk620; - /*0x624*/ u32 unk624; - /*0x628*/ u32 unk628; - /*0x62c*/ u32 unk62c; - /*0x630*/ u32 unk630; - /*0x634*/ u32 unk634; - /*0x638*/ u32 unk638; -#if VERSION >= VERSION_NTSC_1_0 - /*0x63c*/ u32 unk63c; - /*0x640*/ u32 unk640; - /*0x644*/ u32 unk644; - /*0x648*/ u32 unk648; - /*0x64c*/ u32 unk64c; - /*0x650*/ u32 unk650; - /*0x654*/ u32 unk654; - /*0x658*/ u32 unk658; -#endif + /*0x4fc*/ struct menu4fc unk4fc[VERSION >= VERSION_NTSC_1_0 ? 88 : 80]; /*0x65c*/ s32 unk65c; - /*0x660*/ u16 unk660[1][5]; // length unknown - /*0x66c*/ u32 unk66c; - /*0x670*/ u32 unk670; - /*0x674*/ u32 unk674; - /*0x678*/ u32 unk678; - /*0x67c*/ u32 unk67c; - /*0x680*/ u32 unk680; - /*0x684*/ u32 unk684; - /*0x688*/ u32 unk688; - /*0x68c*/ u32 unk68c; - /*0x690*/ u32 unk690; - /*0x694*/ u32 unk694; - /*0x698*/ u32 unk698; - /*0x69c*/ u32 unk69c; - /*0x6a0*/ u32 unk6a0; - /*0x6a4*/ u32 unk6a4; - /*0x6a8*/ u32 unk6a8; - /*0x6ac*/ u32 unk6ac; - /*0x6b0*/ u32 unk6b0; - /*0x6b4*/ u32 unk6b4; - /*0x6b8*/ u32 unk6b8; - /*0x6bc*/ u32 unk6bc; - /*0x6c0*/ u32 unk6c0; -#if VERSION >= VERSION_NTSC_1_0 - /*0x6c4*/ u32 unk6c4; - /*0x6c8*/ u32 unk6c8; - /*0x6cc*/ u32 unk6cc; - /*0x6d0*/ u32 unk6d0; - /*0x6d4*/ u32 unk6d4; -#endif + /*0x660*/ struct menu660 unk660[VERSION >= VERSION_NTSC_1_0 ? 12 : 10]; /*0x6d8*/ s32 unk6d8; - /*0x6dc*/ u32 unk6dc; - /*0x6e0*/ u32 unk6e0; - /*0x6e4*/ u32 unk6e4; - /*0x6e8*/ u32 unk6e8; - /*0x6ec*/ u32 unk6ec; - /*0x6f0*/ u32 unk6f0; - /*0x6f4*/ u32 unk6f4; - /*0x6f8*/ u32 unk6f8; - /*0x6fc*/ u32 unk6fc; - /*0x700*/ u32 unk700; - /*0x704*/ u32 unk704; - /*0x708*/ u32 unk708; - /*0x70c*/ u32 unk70c; - /*0x710*/ u32 unk710; - /*0x714*/ u32 unk714; - /*0x718*/ u32 unk718; - /*0x71c*/ u32 unk71c; - /*0x720*/ u32 unk720; - /*0x724*/ u32 unk724; - /*0x728*/ u32 unk728; - /*0x72c*/ u32 unk72c; - /*0x730*/ u32 unk730; - /*0x734*/ u32 unk734; - /*0x738*/ u32 unk738; - /*0x73c*/ u32 unk73c; - /*0x740*/ u32 unk740; - /*0x744*/ u32 unk744; - /*0x748*/ u32 unk748; - /*0x74c*/ u32 unk74c; - /*0x750*/ u32 unk750; - /*0x754*/ u32 unk754; - /*0x758*/ u32 unk758; - /*0x75c*/ u32 unk75c; - /*0x760*/ u32 unk760; - /*0x764*/ u32 unk764; - /*0x768*/ u32 unk768; - /*0x76c*/ u32 unk76c; - /*0x770*/ u32 unk770; - /*0x774*/ u32 unk774; - /*0x778*/ u32 unk778; - /*0x77c*/ u32 unk77c; - /*0x780*/ u32 unk780; - /*0x784*/ u32 unk784; - /*0x788*/ u32 unk788; - /*0x78c*/ u32 unk78c; - /*0x790*/ u32 unk790; - /*0x794*/ u32 unk794; - /*0x798*/ u32 unk798; - /*0x79c*/ u32 unk79c; - /*0x7a0*/ u32 unk7a0; - /*0x7a4*/ u32 unk7a4; - /*0x7a8*/ u32 unk7a8; - /*0x7ac*/ u32 unk7ac; - /*0x7b0*/ u32 unk7b0; - /*0x7b4*/ u32 unk7b4; - /*0x7b8*/ u32 unk7b8; - /*0x7bc*/ u32 unk7bc; - /*0x7c0*/ u32 unk7c0; - /*0x7c4*/ u32 unk7c4; - /*0x7c8*/ u32 unk7c8; - /*0x7cc*/ u32 unk7cc; - /*0x7d0*/ u32 unk7d0; - /*0x7d4*/ u32 unk7d4; - /*0x7d8*/ u32 unk7d8; - /*0x7dc*/ u32 unk7dc; - /*0x7e0*/ u32 unk7e0; - /*0x7e4*/ u32 unk7e4; - /*0x7e8*/ u32 unk7e8; - /*0x7ec*/ u32 unk7ec; - /*0x7f0*/ u32 unk7f0; - /*0x7f4*/ u32 unk7f4; - /*0x7f8*/ u32 unk7f8; - /*0x7fc*/ u32 unk7fc; - /*0x800*/ u32 unk800; - /*0x804*/ u32 unk804; - /*0x808*/ u32 unk808; - /*0x80c*/ u32 unk80c; - /*0x810*/ u32 unk810; - /*0x814*/ u32 unk814; - /*0x818*/ u32 unk818; + /*0x6dc*/ u32 handlerdatabuffer[80]; /*0x81c*/ s32 unk81c; /*0x820*/ u32 unk820; /*0x824*/ u32 unk824;