diff --git a/asm/non_matchings/unknown_0B8920/func_800C01D8.s b/asm/non_matchings/unknown_0B8920/func_800C01D8.s index 9ac29611..576a2ec8 100644 --- a/asm/non_matchings/unknown_0B8920/func_800C01D8.s +++ b/asm/non_matchings/unknown_0B8920/func_800C01D8.s @@ -1,3 +1,8 @@ +.late_rodata +glabel jpt_800E92D0 +.word L800C0310, L800C0320, L800C0370, L800C03C0, L800C03D0, L800C0420, L800C0470 + +.text glabel func_800C01D8 /* 0C0DD8 800C01D8 3C0E800E */ lui $t6, %hi(D_800E31A0) # $t6, 0x800e /* 0C0DDC 800C01DC 8DCE31A0 */ lw $t6, %lo(D_800E31A0)($t6) @@ -74,16 +79,18 @@ glabel func_800C01D8 /* 0C0EEC 800C02EC 10200062 */ beqz $at, .L800C0478 /* 0C0EF0 800C02F0 A0AD0000 */ sb $t5, ($a1) /* 0C0EF4 800C02F4 000E7080 */ sll $t6, $t6, 2 -/* 0C0EF8 800C02F8 3C01800F */ lui $at, %hi(D_800E92D0) # $at, 0x800f +/* 0C0EF8 800C02F8 3C01800F */ lui $at, %hi(jpt_800E92D0) # $at, 0x800f /* 0C0EFC 800C02FC 002E0821 */ addu $at, $at, $t6 -/* 0C0F00 800C0300 8C2E92D0 */ lw $t6, %lo(D_800E92D0)($at) +/* 0C0F00 800C0300 8C2E92D0 */ lw $t6, %lo(jpt_800E92D0)($at) /* 0C0F04 800C0304 00000000 */ nop /* 0C0F08 800C0308 01C00008 */ jr $t6 /* 0C0F0C 800C030C 00000000 */ nop +glabel L800C0310 /* 0C0F10 800C0310 0C0301E0 */ jal func_800C0780 /* 0C0F14 800C0314 00000000 */ nop /* 0C0F18 800C0318 10000057 */ b .L800C0478 /* 0C0F1C 800C031C 00000000 */ nop +glabel L800C0320 /* 0C0F20 800C0320 3C02800E */ lui $v0, %hi(D_800E32D0) # $v0, 0x800e /* 0C0F24 800C0324 3C0F800E */ lui $t7, %hi(D_800E32A0) # $t7, 0x800e /* 0C0F28 800C0328 3C18800E */ lui $t8, %hi(D_800E32AC) # $t8, 0x800e @@ -104,6 +111,7 @@ glabel func_800C01D8 /* 0C0F64 800C0364 24060008 */ li $a2, 8 /* 0C0F68 800C0368 10000043 */ b .L800C0478 /* 0C0F6C 800C036C 00000000 */ nop +glabel L800C0370 /* 0C0F70 800C0370 3C02800E */ lui $v0, %hi(D_800E32D0) # $v0, 0x800e /* 0C0F74 800C0374 3C08800E */ lui $t0, %hi(D_800E32A0) # $t0, 0x800e /* 0C0F78 800C0378 3C09800E */ lui $t1, %hi(D_800E32AC) # $t1, 0x800e @@ -124,10 +132,12 @@ glabel func_800C01D8 /* 0C0FB4 800C03B4 24060008 */ li $a2, 8 /* 0C0FB8 800C03B8 1000002F */ b .L800C0478 /* 0C0FBC 800C03BC 00000000 */ nop +glabel L800C03C0 /* 0C0FC0 800C03C0 0C030575 */ jal func_800C15D4 /* 0C0FC4 800C03C4 00000000 */ nop /* 0C0FC8 800C03C8 1000002B */ b .L800C0478 /* 0C0FCC 800C03CC 00000000 */ nop +glabel L800C03D0 /* 0C0FD0 800C03D0 3C02800E */ lui $v0, %hi(D_800E34F8) # $v0, 0x800e /* 0C0FD4 800C03D4 3C0B800E */ lui $t3, %hi(D_800E349C) # $t3, 0x800e /* 0C0FD8 800C03D8 3C0C800E */ lui $t4, %hi(D_800E3440) # $t4, 0x800e @@ -148,6 +158,7 @@ glabel func_800C01D8 /* 0C1014 800C0414 24060050 */ li $a2, 80 /* 0C1018 800C0418 10000017 */ b .L800C0478 /* 0C101C 800C041C 00000000 */ nop +glabel L800C0420 /* 0C1020 800C0420 3C02800E */ lui $v0, %hi(D_800E3338) # $v0, 0x800e /* 0C1024 800C0424 3C0E800E */ lui $t6, %hi(D_800E330C) # $t6, 0x800e /* 0C1028 800C0428 3C0F800E */ lui $t7, %hi(D_800E3318) # $t7, 0x800e @@ -168,6 +179,7 @@ glabel func_800C01D8 /* 0C1064 800C0464 24060006 */ li $a2, 6 /* 0C1068 800C0468 10000003 */ b .L800C0478 /* 0C106C 800C046C 00000000 */ nop +glabel L800C0470 /* 0C1070 800C0470 0C030990 */ jal func_800C2640 /* 0C1074 800C0474 00000000 */ nop .L800C0478: diff --git a/asm/non_matchings/unknown_0B8920/func_800C0494.s b/asm/non_matchings/unknown_0B8920/func_800C0494.s index 0a06d3ac..8017b168 100644 --- a/asm/non_matchings/unknown_0B8920/func_800C0494.s +++ b/asm/non_matchings/unknown_0B8920/func_800C0494.s @@ -1,3 +1,8 @@ +.late_rodata +glabel jpt_800E92EC +.word L800C056C, L800C0580, L800C0580, L800C0594, L800C0580, L800C0580, L800C05A8 + +.text glabel func_800C0494 /* 0C1094 800C0494 3C03800E */ lui $v1, %hi(D_800E31A4) # $v1, 0x800e /* 0C1098 800C0498 246331A4 */ addiu $v1, %lo(D_800E31A4) # addiu $v1, $v1, 0x31a4 @@ -52,27 +57,31 @@ glabel func_800C0494 /* 0C1148 800C0548 2D610007 */ sltiu $at, $t3, 7 /* 0C114C 800C054C 1020001A */ beqz $at, .L800C05B8 /* 0C1150 800C0550 000B5880 */ sll $t3, $t3, 2 -/* 0C1154 800C0554 3C01800F */ lui $at, %hi(D_800E92EC) # $at, 0x800f +/* 0C1154 800C0554 3C01800F */ lui $at, %hi(jpt_800E92EC) # $at, 0x800f /* 0C1158 800C0558 002B0821 */ addu $at, $at, $t3 -/* 0C115C 800C055C 8C2B92EC */ lw $t3, %lo(D_800E92EC)($at) +/* 0C115C 800C055C 8C2B92EC */ lw $t3, %lo(jpt_800E92EC)($at) /* 0C1160 800C0560 00000000 */ nop /* 0C1164 800C0564 01600008 */ jr $t3 /* 0C1168 800C0568 00000000 */ nop +glabel L800C056C /* 0C116C 800C056C 0C03020D */ jal func_800C0834 /* 0C1170 800C0570 00000000 */ nop /* 0C1174 800C0574 3C03800E */ lui $v1, %hi(D_800E31AC) # $v1, 0x800e /* 0C1178 800C0578 1000000F */ b .L800C05B8 /* 0C117C 800C057C 246331AC */ addiu $v1, %lo(D_800E31AC) # addiu $v1, $v1, 0x31ac +glabel L800C0580 /* 0C1180 800C0580 0C03044C */ jal func_800C1130 /* 0C1184 800C0584 00000000 */ nop /* 0C1188 800C0588 3C03800E */ lui $v1, %hi(D_800E31AC) # $v1, 0x800e /* 0C118C 800C058C 1000000A */ b .L800C05B8 /* 0C1190 800C0590 246331AC */ addiu $v1, %lo(D_800E31AC) # addiu $v1, $v1, 0x31ac +glabel L800C0594 /* 0C1194 800C0594 0C0307BA */ jal func_800C1EE8 /* 0C1198 800C0598 00000000 */ nop /* 0C119C 800C059C 3C03800E */ lui $v1, %hi(D_800E31AC) # $v1, 0x800e /* 0C11A0 800C05A0 10000005 */ b .L800C05B8 /* 0C11A4 800C05A4 246331AC */ addiu $v1, %lo(D_800E31AC) # addiu $v1, $v1, 0x31ac +glabel L800C05A8 /* 0C11A8 800C05A8 0C0309E8 */ jal func_800C27A0 /* 0C11AC 800C05AC 00000000 */ nop /* 0C11B0 800C05B0 3C03800E */ lui $v1, %hi(D_800E31AC) # $v1, 0x800e diff --git a/asm/non_matchings/unknown_0B8920/func_800C05C8.s b/asm/non_matchings/unknown_0B8920/func_800C05C8.s index ea38afa7..37b63e40 100644 --- a/asm/non_matchings/unknown_0B8920/func_800C05C8.s +++ b/asm/non_matchings/unknown_0B8920/func_800C05C8.s @@ -1,3 +1,12 @@ +.late_rodata +glabel D_800E9308 +.float 1.4 +glabel D_800E930C +.float 1.2 +glabel jpt_800E9310 +.word L800C0680, L800C0694, L800C06A8, L800C06BC, L800C06D0, L800C06E4, L800C06F8 + +.text glabel func_800C05C8 /* 0C11C8 800C05C8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0C11CC 800C05CC 3C0E800E */ lui $t6, %hi(D_800E31AC) # $t6, 0x800e @@ -41,42 +50,49 @@ glabel func_800C05C8 /* 0C125C 800C065C 2F010007 */ sltiu $at, $t8, 7 /* 0C1260 800C0660 10200028 */ beqz $at, .L800C0704 /* 0C1264 800C0664 0018C080 */ sll $t8, $t8, 2 -/* 0C1268 800C0668 3C01800F */ lui $at, %hi(D_800E9310) # $at, 0x800f +/* 0C1268 800C0668 3C01800F */ lui $at, %hi(jpt_800E9310) # $at, 0x800f /* 0C126C 800C066C 00380821 */ addu $at, $at, $t8 -/* 0C1270 800C0670 8C389310 */ lw $t8, %lo(D_800E9310)($at) +/* 0C1270 800C0670 8C389310 */ lw $t8, %lo(jpt_800E9310)($at) /* 0C1274 800C0674 00000000 */ nop /* 0C1278 800C0678 03000008 */ jr $t8 /* 0C127C 800C067C 00000000 */ nop +glabel L800C0680 /* 0C1280 800C0680 02002025 */ move $a0, $s0 /* 0C1284 800C0684 0C030282 */ jal func_800C0A08 /* 0C1288 800C0688 02202825 */ move $a1, $s1 /* 0C128C 800C068C 1000001E */ b .L800C0708 /* 0C1290 800C0690 02002025 */ move $a0, $s0 +glabel L800C0694 /* 0C1294 800C0694 02002025 */ move $a0, $s0 /* 0C1298 800C0698 0C0304F9 */ jal func_800C13E4 /* 0C129C 800C069C 02202825 */ move $a1, $s1 /* 0C12A0 800C06A0 10000019 */ b .L800C0708 /* 0C12A4 800C06A4 02002025 */ move $a0, $s0 +glabel L800C06A8 /* 0C12A8 800C06A8 02002025 */ move $a0, $s0 /* 0C12AC 800C06AC 0C030537 */ jal func_800C14DC /* 0C12B0 800C06B0 02202825 */ move $a1, $s1 /* 0C12B4 800C06B4 10000014 */ b .L800C0708 /* 0C12B8 800C06B8 02002025 */ move $a0, $s0 +glabel L800C06BC /* 0C12BC 800C06BC 02002025 */ move $a0, $s0 /* 0C12C0 800C06C0 0C03089D */ jal func_800C2274 /* 0C12C4 800C06C4 02202825 */ move $a1, $s1 /* 0C12C8 800C06C8 1000000F */ b .L800C0708 /* 0C12CC 800C06CC 02002025 */ move $a0, $s0 +glabel L800C06D0 /* 0C12D0 800C06D0 02002025 */ move $a0, $s0 /* 0C12D4 800C06D4 0C0308FE */ jal func_800C23F8 /* 0C12D8 800C06D8 02202825 */ move $a1, $s1 /* 0C12DC 800C06DC 1000000A */ b .L800C0708 /* 0C12E0 800C06E0 02002025 */ move $a0, $s0 +glabel L800C06E4 /* 0C12E4 800C06E4 02002025 */ move $a0, $s0 /* 0C12E8 800C06E8 0C030952 */ jal func_800C2548 /* 0C12EC 800C06EC 02202825 */ move $a1, $s1 /* 0C12F0 800C06F0 10000005 */ b .L800C0708 /* 0C12F4 800C06F4 02002025 */ move $a0, $s0 +glabel L800C06F8 /* 0C12F8 800C06F8 02002025 */ move $a0, $s0 /* 0C12FC 800C06FC 0C030A3A */ jal func_800C28E8 /* 0C1300 800C0700 02202825 */ move $a1, $s1 diff --git a/asm/non_matchings/unknown_0B8920/func_800C1EE8.s b/asm/non_matchings/unknown_0B8920/func_800C1EE8.s index 7cfd2e95..75e4cc35 100644 --- a/asm/non_matchings/unknown_0B8920/func_800C1EE8.s +++ b/asm/non_matchings/unknown_0B8920/func_800C1EE8.s @@ -1,3 +1,8 @@ +.late_rodata +glabel D_800E932C +.float 1.2 + +.text glabel func_800C1EE8 /* 0C2AE8 800C1EE8 27BDFFB0 */ addiu $sp, $sp, -0x50 /* 0C2AEC 800C1EEC 3C03800E */ lui $v1, %hi(D_800E31B0) # $v1, 0x800e diff --git a/asm/non_matchings/unknown_0B8920/func_800C38B4.s b/asm/non_matchings/unknown_0B8920/func_800C38B4.s index 841ded4e..8563d063 100644 --- a/asm/non_matchings/unknown_0B8920/func_800C38B4.s +++ b/asm/non_matchings/unknown_0B8920/func_800C38B4.s @@ -1,3 +1,8 @@ +.late_rodata +glabel jpt_800E9330 +.word L800C3958, L800C3984, L800C3A30, L800C3AA8, L800C3ADC, L800C3B00, L800C3B2C, L800C3B50, L800C3B88, L800C3BA0 + +.text glabel func_800C38B4 /* 0C44B4 800C38B4 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 0C44B8 800C38B8 AFB3002C */ sw $s3, 0x2c($sp) @@ -35,12 +40,13 @@ glabel func_800C38B4 /* 0C4534 800C3934 2DE1000A */ sltiu $at, $t7, 0xa /* 0C4538 800C3938 1020009E */ beqz $at, .L800C3BB4 /* 0C453C 800C393C 000F7880 */ sll $t7, $t7, 2 -/* 0C4540 800C3940 3C01800F */ lui $at, %hi(D_800E9330) # $at, 0x800f +/* 0C4540 800C3940 3C01800F */ lui $at, %hi(jpt_800E9330) # $at, 0x800f /* 0C4544 800C3944 002F0821 */ addu $at, $at, $t7 -/* 0C4548 800C3948 8C2F9330 */ lw $t7, %lo(D_800E9330)($at) +/* 0C4548 800C3948 8C2F9330 */ lw $t7, %lo(jpt_800E9330)($at) /* 0C454C 800C394C 00000000 */ nop /* 0C4550 800C3950 01E00008 */ jr $t7 /* 0C4554 800C3954 00000000 */ nop +glabel L800C3958 /* 0C4558 800C3958 92050001 */ lbu $a1, 1($s0) /* 0C455C 800C395C 26310002 */ addiu $s1, $s1, 2 /* 0C4560 800C3960 24040001 */ li $a0, 1 @@ -52,6 +58,7 @@ glabel func_800C38B4 /* 0C4578 800C3978 92020000 */ lbu $v0, ($s0) /* 0C457C 800C397C 1000008E */ b .L800C3BB8 /* 0C4580 800C3980 28410003 */ slti $at, $v0, 3 +glabel L800C3984 /* 0C4584 800C3984 92090001 */ lbu $t1, 1($s0) /* 0C4588 800C3988 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 /* 0C458C 800C398C AE490004 */ sw $t1, 4($s2) @@ -97,6 +104,7 @@ glabel func_800C38B4 /* 0C4624 800C3A24 92020000 */ lbu $v0, ($s0) /* 0C4628 800C3A28 10000063 */ b .L800C3BB8 /* 0C462C 800C3A2C 28410003 */ slti $at, $v0, 3 +glabel L800C3A30 /* 0C4630 800C3A30 92050001 */ lbu $a1, 1($s0) /* 0C4634 800C3A34 24040001 */ li $a0, 1 /* 0C4638 800C3A38 AE450014 */ sw $a1, 0x14($s2) @@ -127,6 +135,7 @@ glabel func_800C38B4 /* 0C469C 800C3A9C 92020000 */ lbu $v0, ($s0) /* 0C46A0 800C3AA0 10000045 */ b .L800C3BB8 /* 0C46A4 800C3AA4 28410003 */ slti $at, $v0, 3 +glabel L800C3AA8 /* 0C46A8 800C3AA8 920C0001 */ lbu $t4, 1($s0) /* 0C46AC 800C3AAC 00000000 */ nop /* 0C46B0 800C3AB0 15800003 */ bnez $t4, .L800C3AC0 @@ -142,6 +151,7 @@ glabel func_800C38B4 /* 0C46D0 800C3AD0 92020000 */ lbu $v0, ($s0) /* 0C46D4 800C3AD4 10000038 */ b .L800C3BB8 /* 0C46D8 800C3AD8 28410003 */ slti $at, $v0, 3 +glabel L800C3ADC /* 0C46DC 800C3ADC 920E0001 */ lbu $t6, 1($s0) /* 0C46E0 800C3AE0 26310002 */ addiu $s1, $s1, 2 /* 0C46E4 800C3AE4 AE4E0028 */ sw $t6, 0x28($s2) @@ -151,6 +161,7 @@ glabel func_800C38B4 /* 0C46F4 800C3AF4 92020000 */ lbu $v0, ($s0) /* 0C46F8 800C3AF8 1000002F */ b .L800C3BB8 /* 0C46FC 800C3AFC 28410003 */ slti $at, $v0, 3 +glabel L800C3B00 /* 0C4700 800C3B00 8E58002C */ lw $t8, 0x2c($s2) /* 0C4704 800C3B04 92190001 */ lbu $t9, 1($s0) /* 0C4708 800C3B08 26310002 */ addiu $s1, $s1, 2 @@ -162,6 +173,7 @@ glabel func_800C38B4 /* 0C4720 800C3B20 92020000 */ lbu $v0, ($s0) /* 0C4724 800C3B24 10000024 */ b .L800C3BB8 /* 0C4728 800C3B28 28410003 */ slti $at, $v0, 3 +glabel L800C3B2C /* 0C472C 800C3B2C 920A0001 */ lbu $t2, 1($s0) /* 0C4730 800C3B30 26310002 */ addiu $s1, $s1, 2 /* 0C4734 800C3B34 AE4A0030 */ sw $t2, 0x30($s2) @@ -171,6 +183,7 @@ glabel func_800C38B4 /* 0C4744 800C3B44 92020000 */ lbu $v0, ($s0) /* 0C4748 800C3B48 1000001B */ b .L800C3BB8 /* 0C474C 800C3B4C 28410003 */ slti $at, $v0, 3 +glabel L800C3B50 /* 0C4750 800C3B50 828C0000 */ lb $t4, ($s4) /* 0C4754 800C3B54 2404003C */ li $a0, 60 /* 0C4758 800C3B58 15800007 */ bnez $t4, .L800C3B78 @@ -186,12 +199,14 @@ glabel func_800C38B4 /* 0C477C 800C3B7C 26310002 */ addiu $s1, $s1, 2 /* 0C4780 800C3B80 1000000C */ b .L800C3BB4 /* 0C4784 800C3B84 26100002 */ addiu $s0, $s0, 2 +glabel L800C3B88 /* 0C4788 800C3B88 92180001 */ lbu $t8, 1($s0) /* 0C478C 800C3B8C 26310002 */ addiu $s1, $s1, 2 /* 0C4790 800C3B90 A2D80000 */ sb $t8, ($s6) /* 0C4794 800C3B94 92020002 */ lbu $v0, 2($s0) /* 0C4798 800C3B98 10000006 */ b .L800C3BB4 /* 0C479C 800C3B9C 26100002 */ addiu $s0, $s0, 2 +glabel L800C3BA0 /* 0C47A0 800C3BA0 92190001 */ lbu $t9, 1($s0) /* 0C47A4 800C3BA4 26310002 */ addiu $s1, $s1, 2 /* 0C47A8 800C3BA8 A2B90000 */ sb $t9, ($s5) diff --git a/src/unknown_0B8920.c b/src/unknown_0B8920.c index 5585f4f1..1990f103 100644 --- a/src/unknown_0B8920.c +++ b/src/unknown_0B8920.c @@ -101,188 +101,6 @@ s32 *D_800E3190 = NULL; s32 *D_800E3194 = NULL; s32 D_800E3198 = 0; s32 D_800E319C = 0; -s32 D_800E31A0 = 0; -s32 D_800E31A4 = 0; -s32 D_800E31A8 = 0; -s32 D_800E31AC = 0; -s32 D_800E31B0 = 0; -s32 D_800E31B4 = 0; -s32 D_800E31B8 = 0; -s32 D_800E31BC = 0; -s32 D_800E31C0 = 0; -s32 D_800E31C4 = 0; -s32 D_800E31C8 = 0; -s32 D_800E31CC = 0; -s32 D_800E31D0[2] = { 0, 0 }; - -// Fast3D (F3DDKR) display list -u32 D_800E31D8[] = { - 0xE7000000, 0x00000000, - 0xBA001402, 0x00000000, - 0xBA001001, 0x00000000, - 0xBA000E02, 0x00000000, - 0xBA001102, 0x00000000, - 0xBA001301, 0x00000000, - 0xBA000C02, 0x00002000, - 0xBA000903, 0x00000C00, - 0xB9000002, 0x00000000, - 0xB900031D, 0x00504340, - 0xB8000000, 0x00000000 -}; - -s16 D_800E3230[28] = { - 0xFE20, 0x0078, 0xFEC0, 0x0078, 0xFF60, 0x0078, 0x0000, 0x0078, - 0x00A0, 0x0078, 0x0140, 0x0078, 0x01E0, 0x0078, 0xFE20, 0xFF88, - 0xFEC0, 0xFF88, 0xFF60, 0xFF88, 0x0000, 0xFF88, 0x00A0, 0xFF88, - 0x0140, 0xFF88, 0x01E0, 0xFF88 -}; - -s16 D_800E3268[28] = { - 0xFF60, 0x0168, 0xFF60, 0x00F0, 0xFF60, 0x0078, 0xFF60, 0x0000, - 0xFF60, 0xFF88, 0xFF60, 0xFF10, 0xFF60, 0xFF10, 0x00A0, 0x0168, - 0x00A0, 0x00F0, 0x00A0, 0x0078, 0x00A0, 0x0000, 0x00A0, 0xFF88, - 0x00A0, 0xFF10, 0x00A0, 0xFF10 -}; - -s8 D_800E32A0[12] = { - 0x00, 0x02, 0x04, 0x0E, 0x10, 0x12, 0x08, 0x0A, - 0x0C, 0x16, 0x18, 0x1A -}; - -s8 D_800E32AC[12] = { - 0x04, 0x06, 0x08, 0x12, 0x14, 0x16, 0x04, 0x06, - 0x08, 0x12, 0x14, 0x16 -}; - -s8 D_800E32B8[24] = { - 0, 3, 1, 1, 3, 4, 1, 4, - 2, 2, 4, 5, 6, 9, 7, 7, - 9, 10, 7, 10, 8, 8, 10, 11 -}; - -s8 D_800E32D0[12] = { - -1, -1, 0, -1, -1, 0, 0, -1, -1, 0, -1, -1 -}; - -s16 D_800E32DC[24] = { - 0xFCE0, 0x0078, 0xFE20, 0x0078, 0xFF60, 0x0078, 0x00A0, 0x0078, - 0x01E0, 0x0078, 0x0320, 0x0078, 0xFCE0, 0xFF88, 0xFE20, 0xFF88, - 0xFF60, 0xFF88, 0x00A0, 0xFF88, 0x01E0, 0xFF88, 0x0320, 0xFF88 -}; - -s8 D_800E330C[12] = { - 0, 2, 4, 12, 14, 8, 10, 18, 20, 22, 0, 0 -}; - -s8 D_800E3318[12] = { - 4, 6, 8, 16, 18, 4, 6, 14, 16, 18, 0, 0 -}; - -s8 D_800E3324[20] = { - 0, 1, 3, 1, 3, 4, 1, 4, 2, 5, 7, 8, 5, 8, 6, 6, 8, 9, 0, 0 -}; - -s8 D_800E3338[12] = { - -1, -1, 0, -1, 0, 0, -1, 0, -1, -1, 0, 0 -}; - -s16 D_800E3344[126] = { - 0xFF60, 0x00A0, 0xFF70, 0x00A0, 0xFF80, 0x00A0, 0xFF90, 0x00A0, - 0xFFA0, 0x00A0, 0xFFB0, 0x00A0, 0xFFC0, 0x00A0, 0xFFD0, 0x00A0, - 0xFFE0, 0x00A0, 0xFFF0, 0x00A0, 0x0000, 0x00A0, 0x0010, 0x00A0, - 0x0020, 0x00A0, 0x0030, 0x00A0, 0x0040, 0x00A0, 0x0050, 0x00A0, - 0x0060, 0x00A0, 0x0070, 0x00A0, 0x0080, 0x00A0, 0x0090, 0x00A0, - 0x00A0, 0x00A0, 0xFF60, 0xFF38, 0xFF70, 0xFF60, 0xFF80, 0xFF74, - 0xFF90, 0xFF7E, 0xFFA0, 0xFF74, 0xFFB0, 0xFF38, 0xFFC0, 0xFF10, - 0xFFD0, 0xFEFC, 0xFFE0, 0xFEF2, 0xFFF0, 0xFEFC, 0x0000, 0xFF24, - 0x0010, 0xFF2E, 0x0020, 0xFF38, 0x0030, 0xFF2E, 0x0040, 0xFF24, - 0x0050, 0xFEFC, 0x0060, 0xFEF2, 0x0070, 0xFEFC, 0x0080, 0xFF24, - 0x0090, 0xFF60, 0x00A0, 0xFF74, 0xFF60, 0xFEE8, 0xFF70, 0xFEE8, - 0xFF80, 0xFEE8, 0xFF90, 0xFEE8, 0xFFA0, 0xFEE8, 0xFFB0, 0xFEE8, - 0xFFC0, 0xFEE8, 0xFFD0, 0xFEE8, 0xFFE0, 0xFEE8, 0xFFF0, 0xFEE8, - 0x0000, 0xFEE8, 0x0010, 0xFEE8, 0x0020, 0xFEE8, 0x0030, 0xFEE8, - 0x0040, 0xFEE8, 0x0050, 0xFEE8, 0x0060, 0xFEE8, 0x0070, 0xFEE8, - 0x0080, 0xFEE8, 0x0090, 0xFEE8, 0x00A0, 0xFEE8 -}; - -s8 D_800E3440[92] = { - 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, - 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, - 0x0E, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x0E, - 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1A, 0x1C, - 0x1E, 0x20, 0x22, 0x24, 0x26, 0x28, 0x1A, 0x1C, - 0x1E, 0x20, 0x22, 0x24, 0x26, 0x28, 0x00, 0x02, - 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x54, 0x56, - 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, 0x0E, 0x10, - 0x12, 0x14, 0x16, 0x18, 0x1A, 0x62, 0x64, 0x66, - 0x68, 0x6A, 0x6C, 0x6E, 0x1A, 0x1C, 0x1E, 0x20, - 0x22, 0x24, 0x26, 0x28, 0x6E, 0x70, 0x72, 0x74, - 0x76, 0x78, 0x7A, 0x7C -}; - -s8 D_800E349C[92] = { - 0x2A, 0x2C, 0x2E, 0x30, 0x32, 0x34, 0x36, 0x38, - 0x54, 0x56, 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, - 0x38, 0x3A, 0x3C, 0x3E, 0x40, 0x42, 0x44, 0x62, - 0x64, 0x66, 0x68, 0x6A, 0x6C, 0x6E, 0x44, 0x46, - 0x48, 0x4A, 0x4C, 0x4E, 0x50, 0x52, 0x6E, 0x70, - 0x72, 0x74, 0x76, 0x78, 0x7A, 0x7C, 0x54, 0x56, - 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, 0x54, 0x56, - 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, 0x62, 0x64, - 0x66, 0x68, 0x6A, 0x6C, 0x6E, 0x62, 0x64, 0x66, - 0x68, 0x6A, 0x6C, 0x6E, 0x6E, 0x70, 0x72, 0x74, - 0x76, 0x78, 0x7A, 0x7C, 0x6E, 0x70, 0x72, 0x74, - 0x76, 0x78, 0x7A, 0x7C -}; - -s8 D_800E34F8[92] = { - 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, - 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, - 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 -}; - -s8 D_800E3554[244] = { - 0, 8, 9, 0, 9, 1, 1, 9, 10, 1, 10, 2, 2, 10, 11, 2, - 11, 3, 3, 11, 12, 3, 12, 4, 4, 12, 13, 4, 13, 5, 5, 13, - 14, 5, 14, 6, 6, 14, 15, 6, 15, 7, 0, 7, 8, 0, 8, 1, - 1, 8, 9, 1, 9, 2, 2, 9, 10, 2, 10, 3, 3, 10, 11, 3, - 11, 4, 4, 11, 12, 4, 12, 5, 5, 12, 13, 5, 13, 6, 0, 8, - 9, 0, 9, 1, 1, 9, 10, 1, 10, 2, 2, 10, 11, 2, 11, 3, - 3, 11, 12, 3, 12, 4, 4, 12, 13, 4, 13, 5, 5, 13, 14, 5, - 14, 6, 6, 14, 15, 6, 15, 7, 0, 8, 9, 0, 9, 1, 1, 9, - 10, 1, 10, 2, 2, 10, 11, 2, 11, 3, 3, 11, 12, 3, 12, 4, - 4, 12, 13, 4, 13, 5, 5, 13, 14, 5, 14, 6, 6, 14, 15, 6, - 15, 7, 0, 7, 8, 0, 8, 1, 1, 8, 9, 1, 9, 2, 2, 9, - 10, 2, 10, 3, 3, 10, 11, 3, 11, 4, 4, 11, 12, 4, 12, 5, - 5, 12, 13, 5, 13, 6, 0, 8, 9, 0, 9, 1, 1, 9, 10, 1, - 10, 2, 2, 10, 11, 2, 11, 3, 3, 11, 12, 3, 12, 4, 4, 12, - 13, 4, 13, 5, 5, 13, 14, 5, 14, 6, 6, 14, 15, 6, 15, 7, - 0, 0, 0, 0 -}; - -// Fast3D (F3DDKR) display list -u32 D_800E3648[] = { - 0xE7000000, 0x00000000, - 0xB6000000, 0x00010000, - 0xFCFFFFFF, 0xFFFE793C, - 0xEF080C0F, 0x00504340, - 0xB8000000, 0x00000000 -}; - -s8 D_800E3670 = 0; -s16 D_800E3674 = 0; -s32 D_800E3678 = 0; -s32 D_800E367C = 0; - -s32 D_800E3680 = 1; - -s32 D_800E3684 = 0; // Unused? -s32 D_800E3688 = 0; // Unused? -s32 D_800E368C = 0; // Unused? - /*******************************/ @@ -305,49 +123,12 @@ const FloatLiteral D_800E92BC = { 89128.961f }; const FloatLiteral D_800E92C0 = { 6.5333333f }; const FloatLiteral D_800E92C4 = { 89128.961f }; -// This is probably a file boundary. -const DoubleLiteral D_800E92C8 = { 0.0 }; - -// Jump table in func_800C01D8 -const u32 D_800E92D0[] = { - 0x800C0310, 0x800C0320, 0x800C0370, 0x800C03C0, - 0x800C03D0, 0x800C0420, 0x800C0470 -}; - -// Jump table in func_800C0494 -const u32 D_800E92EC[] = { - 0x800C056C, 0x800C0580, 0x800C0580, 0x800C0594, - 0x800C0580, 0x800C0580, 0x800C05A8 -}; - -const FloatLiteral D_800E9308 = { 1.4f }; -const FloatLiteral D_800E930C = { 1.2f }; - -// Jump table in func_800C05C8 -const u32 D_800E9310[] = { - 0x800C0680, 0x800C0694, 0x800C06A8, 0x800C06BC, - 0x800C06D0, 0x800C06E4, 0x800C06F8 -}; - -const FloatLiteral D_800E932C = { 1.2f }; - -// Jump table in func_800C38B4 -const u32 D_800E9330[] = { - 0x800C3958, 0x800C3984, 0x800C3A30, 0x800C3AA8, - 0x800C3ADC, 0x800C3B00, 0x800C3B2C, 0x800C3B50, - 0x800C3B88, 0x800C3BA0 -}; - /*********************************/ /************ .bss ************/ extern s32 D_8012A0D8; extern s32 D_8012A0DC; -extern s8 D_8012A788; -extern u8 D_8012A789; -extern u16 D_8012A7B6; -extern s32* D_8012A7C8; /*****************************/ @@ -479,80 +260,3 @@ GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800BF524.s") GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800BF634.s") GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800BFE98.s") GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800BFFDC.s") - -void func_800C0170(void) { - D_800E31A0 = 1; -} - -void func_800C0180(void) { - D_800E31A0 = 0; -} - -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C018C.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C01D8.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0494.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C05C8.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0724.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0780.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0834.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0A08.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0B00.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C1130.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C13E4.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C14DC.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C15D4.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C1EE8.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2274.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C23F8.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2548.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2640.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C27A0.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C28E8.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C29F0.s") - -void func_800C2AB4(void) { - func_80071140(D_8012A7C8); - D_8012A7B6 = (u16)0; - func_800C5620(6); - func_800C5494(6); -} - - -void func_800C2AF4(s32 arg0) { - D_800E3680 = arg0; -} - -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2B00.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2D6C.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2F1C.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C3048.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C30CC.s") - -void func_800C3140(s32 arg0) { - D_800E3674 = arg0; -} - -void func_800C314C(void) { - D_800E3678 = 0; -} - -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C3158.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C31EC.s") - -s32 func_800C3400(void) { - s32 result = 0; - if (D_800E3670 != 0) { - if (D_8012A789 != 0) { - result = 1; - if (D_8012A788 != 0) { - result = 2; - } - } - } - return result; -} - - -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C3440.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C3564.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C38B4.s") diff --git a/src/unknown_0C0D70.c b/src/unknown_0C0D70.c new file mode 100644 index 00000000..717f0453 --- /dev/null +++ b/src/unknown_0C0D70.c @@ -0,0 +1,272 @@ +/* The comment below is needed for this file to be picked up by generate_ld */ +/* RAM_POS: 0x800C0170 */ + +#include "types.h" +#include "macros.h" + +/************ .data ************/ + +s32 D_800E31A0 = 0; +s32 D_800E31A4 = 0; +s32 D_800E31A8 = 0; +s32 D_800E31AC = 0; +s32 D_800E31B0 = 0; +s32 D_800E31B4 = 0; +s32 D_800E31B8 = 0; +s32 D_800E31BC = 0; +s32 D_800E31C0 = 0; +s32 D_800E31C4 = 0; +s32 D_800E31C8 = 0; +s32 D_800E31CC = 0; +s32 D_800E31D0[2] = { 0, 0 }; + +// Fast3D (F3DDKR) display list +u32 D_800E31D8[] = { + 0xE7000000, 0x00000000, + 0xBA001402, 0x00000000, + 0xBA001001, 0x00000000, + 0xBA000E02, 0x00000000, + 0xBA001102, 0x00000000, + 0xBA001301, 0x00000000, + 0xBA000C02, 0x00002000, + 0xBA000903, 0x00000C00, + 0xB9000002, 0x00000000, + 0xB900031D, 0x00504340, + 0xB8000000, 0x00000000 +}; + +s16 D_800E3230[28] = { + 0xFE20, 0x0078, 0xFEC0, 0x0078, 0xFF60, 0x0078, 0x0000, 0x0078, + 0x00A0, 0x0078, 0x0140, 0x0078, 0x01E0, 0x0078, 0xFE20, 0xFF88, + 0xFEC0, 0xFF88, 0xFF60, 0xFF88, 0x0000, 0xFF88, 0x00A0, 0xFF88, + 0x0140, 0xFF88, 0x01E0, 0xFF88 +}; + +s16 D_800E3268[28] = { + 0xFF60, 0x0168, 0xFF60, 0x00F0, 0xFF60, 0x0078, 0xFF60, 0x0000, + 0xFF60, 0xFF88, 0xFF60, 0xFF10, 0xFF60, 0xFF10, 0x00A0, 0x0168, + 0x00A0, 0x00F0, 0x00A0, 0x0078, 0x00A0, 0x0000, 0x00A0, 0xFF88, + 0x00A0, 0xFF10, 0x00A0, 0xFF10 +}; + +s8 D_800E32A0[12] = { + 0x00, 0x02, 0x04, 0x0E, 0x10, 0x12, 0x08, 0x0A, + 0x0C, 0x16, 0x18, 0x1A +}; + +s8 D_800E32AC[12] = { + 0x04, 0x06, 0x08, 0x12, 0x14, 0x16, 0x04, 0x06, + 0x08, 0x12, 0x14, 0x16 +}; + +s8 D_800E32B8[24] = { + 0, 3, 1, 1, 3, 4, 1, 4, + 2, 2, 4, 5, 6, 9, 7, 7, + 9, 10, 7, 10, 8, 8, 10, 11 +}; + +s8 D_800E32D0[12] = { + -1, -1, 0, -1, -1, 0, 0, -1, -1, 0, -1, -1 +}; + +s16 D_800E32DC[24] = { + 0xFCE0, 0x0078, 0xFE20, 0x0078, 0xFF60, 0x0078, 0x00A0, 0x0078, + 0x01E0, 0x0078, 0x0320, 0x0078, 0xFCE0, 0xFF88, 0xFE20, 0xFF88, + 0xFF60, 0xFF88, 0x00A0, 0xFF88, 0x01E0, 0xFF88, 0x0320, 0xFF88 +}; + +s8 D_800E330C[12] = { + 0, 2, 4, 12, 14, 8, 10, 18, 20, 22, 0, 0 +}; + +s8 D_800E3318[12] = { + 4, 6, 8, 16, 18, 4, 6, 14, 16, 18, 0, 0 +}; + +s8 D_800E3324[20] = { + 0, 1, 3, 1, 3, 4, 1, 4, 2, 5, 7, 8, 5, 8, 6, 6, 8, 9, 0, 0 +}; + +s8 D_800E3338[12] = { + -1, -1, 0, -1, 0, 0, -1, 0, -1, -1, 0, 0 +}; + +s16 D_800E3344[126] = { + 0xFF60, 0x00A0, 0xFF70, 0x00A0, 0xFF80, 0x00A0, 0xFF90, 0x00A0, + 0xFFA0, 0x00A0, 0xFFB0, 0x00A0, 0xFFC0, 0x00A0, 0xFFD0, 0x00A0, + 0xFFE0, 0x00A0, 0xFFF0, 0x00A0, 0x0000, 0x00A0, 0x0010, 0x00A0, + 0x0020, 0x00A0, 0x0030, 0x00A0, 0x0040, 0x00A0, 0x0050, 0x00A0, + 0x0060, 0x00A0, 0x0070, 0x00A0, 0x0080, 0x00A0, 0x0090, 0x00A0, + 0x00A0, 0x00A0, 0xFF60, 0xFF38, 0xFF70, 0xFF60, 0xFF80, 0xFF74, + 0xFF90, 0xFF7E, 0xFFA0, 0xFF74, 0xFFB0, 0xFF38, 0xFFC0, 0xFF10, + 0xFFD0, 0xFEFC, 0xFFE0, 0xFEF2, 0xFFF0, 0xFEFC, 0x0000, 0xFF24, + 0x0010, 0xFF2E, 0x0020, 0xFF38, 0x0030, 0xFF2E, 0x0040, 0xFF24, + 0x0050, 0xFEFC, 0x0060, 0xFEF2, 0x0070, 0xFEFC, 0x0080, 0xFF24, + 0x0090, 0xFF60, 0x00A0, 0xFF74, 0xFF60, 0xFEE8, 0xFF70, 0xFEE8, + 0xFF80, 0xFEE8, 0xFF90, 0xFEE8, 0xFFA0, 0xFEE8, 0xFFB0, 0xFEE8, + 0xFFC0, 0xFEE8, 0xFFD0, 0xFEE8, 0xFFE0, 0xFEE8, 0xFFF0, 0xFEE8, + 0x0000, 0xFEE8, 0x0010, 0xFEE8, 0x0020, 0xFEE8, 0x0030, 0xFEE8, + 0x0040, 0xFEE8, 0x0050, 0xFEE8, 0x0060, 0xFEE8, 0x0070, 0xFEE8, + 0x0080, 0xFEE8, 0x0090, 0xFEE8, 0x00A0, 0xFEE8 +}; + +s8 D_800E3440[92] = { + 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, + 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, + 0x0E, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x0E, + 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1A, 0x1C, + 0x1E, 0x20, 0x22, 0x24, 0x26, 0x28, 0x1A, 0x1C, + 0x1E, 0x20, 0x22, 0x24, 0x26, 0x28, 0x00, 0x02, + 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x54, 0x56, + 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, 0x0E, 0x10, + 0x12, 0x14, 0x16, 0x18, 0x1A, 0x62, 0x64, 0x66, + 0x68, 0x6A, 0x6C, 0x6E, 0x1A, 0x1C, 0x1E, 0x20, + 0x22, 0x24, 0x26, 0x28, 0x6E, 0x70, 0x72, 0x74, + 0x76, 0x78, 0x7A, 0x7C +}; + +s8 D_800E349C[92] = { + 0x2A, 0x2C, 0x2E, 0x30, 0x32, 0x34, 0x36, 0x38, + 0x54, 0x56, 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, + 0x38, 0x3A, 0x3C, 0x3E, 0x40, 0x42, 0x44, 0x62, + 0x64, 0x66, 0x68, 0x6A, 0x6C, 0x6E, 0x44, 0x46, + 0x48, 0x4A, 0x4C, 0x4E, 0x50, 0x52, 0x6E, 0x70, + 0x72, 0x74, 0x76, 0x78, 0x7A, 0x7C, 0x54, 0x56, + 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, 0x54, 0x56, + 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, 0x62, 0x64, + 0x66, 0x68, 0x6A, 0x6C, 0x6E, 0x62, 0x64, 0x66, + 0x68, 0x6A, 0x6C, 0x6E, 0x6E, 0x70, 0x72, 0x74, + 0x76, 0x78, 0x7A, 0x7C, 0x6E, 0x70, 0x72, 0x74, + 0x76, 0x78, 0x7A, 0x7C +}; + +s8 D_800E34F8[92] = { + 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, + 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, + 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 +}; + +s8 D_800E3554[244] = { + 0, 8, 9, 0, 9, 1, 1, 9, 10, 1, 10, 2, 2, 10, 11, 2, + 11, 3, 3, 11, 12, 3, 12, 4, 4, 12, 13, 4, 13, 5, 5, 13, + 14, 5, 14, 6, 6, 14, 15, 6, 15, 7, 0, 7, 8, 0, 8, 1, + 1, 8, 9, 1, 9, 2, 2, 9, 10, 2, 10, 3, 3, 10, 11, 3, + 11, 4, 4, 11, 12, 4, 12, 5, 5, 12, 13, 5, 13, 6, 0, 8, + 9, 0, 9, 1, 1, 9, 10, 1, 10, 2, 2, 10, 11, 2, 11, 3, + 3, 11, 12, 3, 12, 4, 4, 12, 13, 4, 13, 5, 5, 13, 14, 5, + 14, 6, 6, 14, 15, 6, 15, 7, 0, 8, 9, 0, 9, 1, 1, 9, + 10, 1, 10, 2, 2, 10, 11, 2, 11, 3, 3, 11, 12, 3, 12, 4, + 4, 12, 13, 4, 13, 5, 5, 13, 14, 5, 14, 6, 6, 14, 15, 6, + 15, 7, 0, 7, 8, 0, 8, 1, 1, 8, 9, 1, 9, 2, 2, 9, + 10, 2, 10, 3, 3, 10, 11, 3, 11, 4, 4, 11, 12, 4, 12, 5, + 5, 12, 13, 5, 13, 6, 0, 8, 9, 0, 9, 1, 1, 9, 10, 1, + 10, 2, 2, 10, 11, 2, 11, 3, 3, 11, 12, 3, 12, 4, 4, 12, + 13, 4, 13, 5, 5, 13, 14, 5, 14, 6, 6, 14, 15, 6, 15, 7, + 0, 0, 0, 0 +}; + +// Fast3D (F3DDKR) display list +u32 D_800E3648[] = { + 0xE7000000, 0x00000000, + 0xB6000000, 0x00010000, + 0xFCFFFFFF, 0xFFFE793C, + 0xEF080C0F, 0x00504340, + 0xB8000000, 0x00000000 +}; + +s8 D_800E3670 = 0; +s16 D_800E3674 = 0; +s32 D_800E3678 = 0; +s32 D_800E367C = 0; +s32 D_800E3680 = 1; + +/*******************************/ + +/************ .bss ************/ + +extern s8 D_8012A788; +extern u8 D_8012A789; +extern u16 D_8012A7B6; +extern s32* D_8012A7C8; + +/*****************************/ + +void func_800C0170(void) { + D_800E31A0 = 1; +} + +void func_800C0180(void) { + D_800E31A0 = 0; +} + +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C018C.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C01D8.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0494.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C05C8.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0724.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0780.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0834.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0A08.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0B00.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C1130.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C13E4.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C14DC.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C15D4.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C1EE8.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2274.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C23F8.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2548.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2640.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C27A0.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C28E8.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C29F0.s") + +void func_800C2AB4(void) { + func_80071140(D_8012A7C8); + D_8012A7B6 = (u16)0; + func_800C5620(6); + func_800C5494(6); +} + + +void func_800C2AF4(s32 arg0) { + D_800E3680 = arg0; +} + +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2B00.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2D6C.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2F1C.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C3048.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C30CC.s") + +void func_800C3140(s32 arg0) { + D_800E3674 = arg0; +} + +void func_800C314C(void) { + D_800E3678 = 0; +} + +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C3158.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C31EC.s") + +s32 func_800C3400(void) { + s32 result = 0; + if (D_800E3670 != 0) { + if (D_8012A789 != 0) { + result = 1; + if (D_8012A788 != 0) { + result = 2; + } + } + } + return result; +} + + +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C3440.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C3564.s") +GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C38B4.s")