diff --git a/asm/non_matchings/unknown_032760/func_80033F44.s b/asm/non_matchings/unknown_032760/func_80033F44.s deleted file mode 100644 index dfff52f4..00000000 --- a/asm/non_matchings/unknown_032760/func_80033F44.s +++ /dev/null @@ -1,9 +0,0 @@ -glabel func_80033F44 -/* 034B44 80033F44 AFA50004 */ sw $a1, 4($sp) -/* 034B48 80033F48 8C8F004C */ lw $t7, 0x4c($a0) -/* 034B4C 80033F4C 240E0002 */ li $t6, 2 -/* 034B50 80033F50 A5EE0014 */ sh $t6, 0x14($t7) -/* 034B54 80033F54 8C98004C */ lw $t8, 0x4c($a0) -/* 034B58 80033F58 03E00008 */ jr $ra -/* 034B5C 80033F5C A3000011 */ sb $zero, 0x11($t8) - diff --git a/asm/non_matchings/unknown_032760/func_80034844.s b/asm/non_matchings/unknown_032760/func_80034844.s deleted file mode 100644 index 3959bca5..00000000 --- a/asm/non_matchings/unknown_032760/func_80034844.s +++ /dev/null @@ -1,9 +0,0 @@ -glabel func_80034844 -/* 035444 80034844 AFA50004 */ sw $a1, 4($sp) -/* 035448 80034848 8C8F004C */ lw $t7, 0x4c($a0) -/* 03544C 8003484C 240E0002 */ li $t6, 2 -/* 035450 80034850 A5EE0014 */ sh $t6, 0x14($t7) -/* 035454 80034854 8C98004C */ lw $t8, 0x4c($a0) -/* 035458 80034858 03E00008 */ jr $ra -/* 03545C 8003485C A3000011 */ sb $zero, 0x11($t8) - diff --git a/asm/non_matchings/unknown_032760/func_80034B4C.s b/asm/non_matchings/unknown_032760/func_80034B4C.s deleted file mode 100644 index af45fd39..00000000 --- a/asm/non_matchings/unknown_032760/func_80034B4C.s +++ /dev/null @@ -1,9 +0,0 @@ -glabel func_80034B4C -/* 03574C 80034B4C 8C8F0078 */ lw $t7, 0x78($a0) -/* 035750 80034B50 848E0018 */ lh $t6, 0x18($a0) -/* 035754 80034B54 01E50019 */ multu $t7, $a1 -/* 035758 80034B58 0000C012 */ mflo $t8 -/* 03575C 80034B5C 01D8C821 */ addu $t9, $t6, $t8 -/* 035760 80034B60 03E00008 */ jr $ra -/* 035764 80034B64 A4990018 */ sh $t9, 0x18($a0) - diff --git a/asm/non_matchings/unknown_032760/func_8003522C.s b/asm/non_matchings/unknown_032760/func_8003522C.s deleted file mode 100644 index 65dca978..00000000 --- a/asm/non_matchings/unknown_032760/func_8003522C.s +++ /dev/null @@ -1,15 +0,0 @@ -glabel func_8003522C -/* 035E2C 8003522C AFA50004 */ sw $a1, 4($sp) -/* 035E30 80035230 8C8F004C */ lw $t7, 0x4c($a0) -/* 035E34 80035234 240E0002 */ li $t6, 2 -/* 035E38 80035238 A5EE0014 */ sh $t6, 0x14($t7) -/* 035E3C 8003523C 8C98004C */ lw $t8, 0x4c($a0) -/* 035E40 80035240 24190014 */ li $t9, 20 -/* 035E44 80035244 A3000011 */ sb $zero, 0x11($t8) -/* 035E48 80035248 8C88004C */ lw $t0, 0x4c($a0) -/* 035E4C 8003524C 00000000 */ nop -/* 035E50 80035250 A1190010 */ sb $t9, 0x10($t0) -/* 035E54 80035254 8C89004C */ lw $t1, 0x4c($a0) -/* 035E58 80035258 03E00008 */ jr $ra -/* 035E5C 8003525C A1200012 */ sb $zero, 0x12($t1) - diff --git a/asm/non_matchings/unknown_032760/func_80035E20.s b/asm/non_matchings/unknown_032760/func_80035E20.s deleted file mode 100644 index 48711ec3..00000000 --- a/asm/non_matchings/unknown_032760/func_80035E20.s +++ /dev/null @@ -1,7 +0,0 @@ -glabel func_80035E20 -/* 036A20 80035E20 AFA50004 */ sw $a1, 4($sp) -/* 036A24 80035E24 8C8E0040 */ lw $t6, 0x40($a0) -/* 036A28 80035E28 AC800078 */ sw $zero, 0x78($a0) -/* 036A2C 80035E2C 03E00008 */ jr $ra -/* 036A30 80035E30 AC8E007C */ sw $t6, 0x7c($a0) - diff --git a/asm/non_matchings/unknown_032760/func_80036194.s b/asm/non_matchings/unknown_032760/func_80036194.s deleted file mode 100644 index 97f3a120..00000000 --- a/asm/non_matchings/unknown_032760/func_80036194.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel func_80036194 -/* 036D94 80036194 AFA50004 */ sw $a1, 4($sp) -/* 036D98 80036198 8C8F004C */ lw $t7, 0x4c($a0) -/* 036D9C 8003619C 240E0001 */ li $t6, 1 -/* 036DA0 800361A0 A5EE0014 */ sh $t6, 0x14($t7) -/* 036DA4 800361A4 8C98004C */ lw $t8, 0x4c($a0) -/* 036DA8 800361A8 2419001E */ li $t9, 30 -/* 036DAC 800361AC A3000011 */ sb $zero, 0x11($t8) -/* 036DB0 800361B0 8C88004C */ lw $t0, 0x4c($a0) -/* 036DB4 800361B4 44802000 */ mtc1 $zero, $f4 -/* 036DB8 800361B8 A1190010 */ sb $t9, 0x10($t0) -/* 036DBC 800361BC 8C89004C */ lw $t1, 0x4c($a0) -/* 036DC0 800361C0 240A00FF */ li $t2, 255 -/* 036DC4 800361C4 A1200012 */ sb $zero, 0x12($t1) -/* 036DC8 800361C8 8C820064 */ lw $v0, 0x64($a0) -/* 036DCC 800361CC 3C018012 */ lui $at, 0x8012 -/* 036DD0 800361D0 A04A000D */ sb $t2, 0xd($v0) -/* 036DD4 800361D4 E4440000 */ swc1 $f4, ($v0) -/* 036DD8 800361D8 03E00008 */ jr $ra -/* 036DDC 800361DC AC20D4D8 */ sw $zero, -0x2b28($at) - diff --git a/asm/non_matchings/unknown_032760/func_80037578.s b/asm/non_matchings/unknown_032760/func_80037578.s deleted file mode 100644 index bdddd63a..00000000 --- a/asm/non_matchings/unknown_032760/func_80037578.s +++ /dev/null @@ -1,9 +0,0 @@ -glabel func_80037578 -/* 038178 80037578 90AE0009 */ lbu $t6, 9($a1) -/* 03817C 8003757C 00000000 */ nop -/* 038180 80037580 000E7840 */ sll $t7, $t6, 1 -/* 038184 80037584 AC8F0078 */ sw $t7, 0x78($a0) -/* 038188 80037588 90B80008 */ lbu $t8, 8($a1) -/* 03818C 8003758C 03E00008 */ jr $ra -/* 038190 80037590 AC98007C */ sw $t8, 0x7c($a0) - diff --git a/asm/non_matchings/unknown_032760/func_80037624.s b/asm/non_matchings/unknown_032760/func_80037624.s deleted file mode 100644 index bdbbccd3..00000000 --- a/asm/non_matchings/unknown_032760/func_80037624.s +++ /dev/null @@ -1,8 +0,0 @@ -glabel func_80037624 -/* 038224 80037624 AFA50004 */ sw $a1, 4($sp) -/* 038228 80037628 848E0006 */ lh $t6, 6($a0) -/* 03822C 8003762C 00000000 */ nop -/* 038230 80037630 35CF4000 */ ori $t7, $t6, 0x4000 -/* 038234 80037634 03E00008 */ jr $ra -/* 038238 80037638 A48F0006 */ sh $t7, 6($a0) - diff --git a/asm/non_matchings/unknown_032760/func_80037CE8.s b/asm/non_matchings/unknown_032760/func_80037CE8.s deleted file mode 100644 index bc236401..00000000 --- a/asm/non_matchings/unknown_032760/func_80037CE8.s +++ /dev/null @@ -1,10 +0,0 @@ -glabel func_80037CE8 -/* 0388E8 80037CE8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0388EC 80037CEC AFBF0014 */ sw $ra, 0x14($sp) -/* 0388F0 80037CF0 0C007D18 */ jal func_8001F460 -/* 0388F4 80037CF4 00803025 */ move $a2, $a0 -/* 0388F8 80037CF8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0388FC 80037CFC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 038900 80037D00 03E00008 */ jr $ra -/* 038904 80037D04 00000000 */ nop - diff --git a/asm/non_matchings/unknown_032760/func_80037D08.s b/asm/non_matchings/unknown_032760/func_80037D08.s deleted file mode 100644 index 4dfe053d..00000000 --- a/asm/non_matchings/unknown_032760/func_80037D08.s +++ /dev/null @@ -1,22 +0,0 @@ -glabel func_80037D08 -/* 038908 80037D08 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 03890C 80037D0C AFBF0014 */ sw $ra, 0x14($sp) -/* 038910 80037D10 8C8E0064 */ lw $t6, 0x64($a0) -/* 038914 80037D14 00803025 */ move $a2, $a0 -/* 038918 80037D18 0C007D18 */ jal func_8001F460 -/* 03891C 80037D1C AFAE0018 */ sw $t6, 0x18($sp) -/* 038920 80037D20 8FB80018 */ lw $t8, 0x18($sp) -/* 038924 80037D24 240F0001 */ li $t7, 1 -/* 038928 80037D28 8719002A */ lh $t9, 0x2a($t8) -/* 03892C 80037D2C 01E22023 */ subu $a0, $t7, $v0 -/* 038930 80037D30 1B200002 */ blez $t9, .L80037D3C -/* 038934 80037D34 00000000 */ nop -/* 038938 80037D38 00002025 */ move $a0, $zero -.L80037D3C: -/* 03893C 80037D3C 0C008D74 */ jal func_800235D0 -/* 038940 80037D40 00000000 */ nop -/* 038944 80037D44 8FBF0014 */ lw $ra, 0x14($sp) -/* 038948 80037D48 27BD0020 */ addiu $sp, $sp, 0x20 -/* 03894C 80037D4C 03E00008 */ jr $ra -/* 038950 80037D50 00000000 */ nop - diff --git a/asm/non_matchings/unknown_032760/func_8003818C.s b/asm/non_matchings/unknown_032760/func_8003818C.s deleted file mode 100644 index d25f5d3a..00000000 --- a/asm/non_matchings/unknown_032760/func_8003818C.s +++ /dev/null @@ -1,15 +0,0 @@ -glabel func_8003818C -/* 038D8C 8003818C AFA50004 */ sw $a1, 4($sp) -/* 038D90 80038190 8C8F004C */ lw $t7, 0x4c($a0) -/* 038D94 80038194 240E0081 */ li $t6, 129 -/* 038D98 80038198 A5EE0014 */ sh $t6, 0x14($t7) -/* 038D9C 8003819C 8C99004C */ lw $t9, 0x4c($a0) -/* 038DA0 800381A0 24180002 */ li $t8, 2 -/* 038DA4 800381A4 A3380011 */ sb $t8, 0x11($t9) -/* 038DA8 800381A8 8C89004C */ lw $t1, 0x4c($a0) -/* 038DAC 800381AC 24080014 */ li $t0, 20 -/* 038DB0 800381B0 A1280010 */ sb $t0, 0x10($t1) -/* 038DB4 800381B4 8C8A004C */ lw $t2, 0x4c($a0) -/* 038DB8 800381B8 03E00008 */ jr $ra -/* 038DBC 800381BC A1400012 */ sb $zero, 0x12($t2) - diff --git a/asm/non_matchings/unknown_032760/func_800381C0.s b/asm/non_matchings/unknown_032760/func_800381C0.s deleted file mode 100644 index f101cc3d..00000000 --- a/asm/non_matchings/unknown_032760/func_800381C0.s +++ /dev/null @@ -1,10 +0,0 @@ -glabel func_800381C0 -/* 038DC0 800381C0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 038DC4 800381C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 038DC8 800381C8 0C007D18 */ jal func_8001F460 -/* 038DCC 800381CC 00803025 */ move $a2, $a0 -/* 038DD0 800381D0 8FBF0014 */ lw $ra, 0x14($sp) -/* 038DD4 800381D4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 038DD8 800381D8 03E00008 */ jr $ra -/* 038DDC 800381DC 00000000 */ nop - diff --git a/asm/non_matchings/unknown_032760/func_800381E0.s b/asm/non_matchings/unknown_032760/func_800381E0.s deleted file mode 100644 index faa4f807..00000000 --- a/asm/non_matchings/unknown_032760/func_800381E0.s +++ /dev/null @@ -1,15 +0,0 @@ -glabel func_800381E0 -/* 038DE0 800381E0 AFA50004 */ sw $a1, 4($sp) -/* 038DE4 800381E4 8C8F004C */ lw $t7, 0x4c($a0) -/* 038DE8 800381E8 240E0001 */ li $t6, 1 -/* 038DEC 800381EC A5EE0014 */ sh $t6, 0x14($t7) -/* 038DF0 800381F0 8C99004C */ lw $t9, 0x4c($a0) -/* 038DF4 800381F4 24180002 */ li $t8, 2 -/* 038DF8 800381F8 A3380011 */ sb $t8, 0x11($t9) -/* 038DFC 800381FC 8C89004C */ lw $t1, 0x4c($a0) -/* 038E00 80038200 24080014 */ li $t0, 20 -/* 038E04 80038204 A1280010 */ sb $t0, 0x10($t1) -/* 038E08 80038208 8C8A004C */ lw $t2, 0x4c($a0) -/* 038E0C 8003820C 03E00008 */ jr $ra -/* 038E10 80038210 A1400012 */ sb $zero, 0x12($t2) - diff --git a/asm/non_matchings/unknown_032760/func_80038214.s b/asm/non_matchings/unknown_032760/func_80038214.s deleted file mode 100644 index ee29dee5..00000000 --- a/asm/non_matchings/unknown_032760/func_80038214.s +++ /dev/null @@ -1,15 +0,0 @@ -glabel func_80038214 -/* 038E14 80038214 AFA50004 */ sw $a1, 4($sp) -/* 038E18 80038218 8C8F004C */ lw $t7, 0x4c($a0) -/* 038E1C 8003821C 240E0081 */ li $t6, 129 -/* 038E20 80038220 A5EE0014 */ sh $t6, 0x14($t7) -/* 038E24 80038224 8C99004C */ lw $t9, 0x4c($a0) -/* 038E28 80038228 24180002 */ li $t8, 2 -/* 038E2C 8003822C A3380011 */ sb $t8, 0x11($t9) -/* 038E30 80038230 8C89004C */ lw $t1, 0x4c($a0) -/* 038E34 80038234 24080014 */ li $t0, 20 -/* 038E38 80038238 A1280010 */ sb $t0, 0x10($t1) -/* 038E3C 8003823C 8C8A004C */ lw $t2, 0x4c($a0) -/* 038E40 80038240 03E00008 */ jr $ra -/* 038E44 80038244 A1400012 */ sb $zero, 0x12($t2) - diff --git a/asm/non_matchings/unknown_032760/func_80038248.s b/asm/non_matchings/unknown_032760/func_80038248.s deleted file mode 100644 index c71edec7..00000000 --- a/asm/non_matchings/unknown_032760/func_80038248.s +++ /dev/null @@ -1,15 +0,0 @@ -glabel func_80038248 -/* 038E48 80038248 AFA50004 */ sw $a1, 4($sp) -/* 038E4C 8003824C 8C8F004C */ lw $t7, 0x4c($a0) -/* 038E50 80038250 240E0001 */ li $t6, 1 -/* 038E54 80038254 A5EE0014 */ sh $t6, 0x14($t7) -/* 038E58 80038258 8C99004C */ lw $t9, 0x4c($a0) -/* 038E5C 8003825C 24180002 */ li $t8, 2 -/* 038E60 80038260 A3380011 */ sb $t8, 0x11($t9) -/* 038E64 80038264 8C89004C */ lw $t1, 0x4c($a0) -/* 038E68 80038268 24080014 */ li $t0, 20 -/* 038E6C 8003826C A1280010 */ sb $t0, 0x10($t1) -/* 038E70 80038270 8C8A004C */ lw $t2, 0x4c($a0) -/* 038E74 80038274 03E00008 */ jr $ra -/* 038E78 80038278 A1400012 */ sb $zero, 0x12($t2) - diff --git a/asm/non_matchings/unknown_032760/func_80038A78.s b/asm/non_matchings/unknown_032760/func_80038A78.s deleted file mode 100644 index c3ae9c61..00000000 --- a/asm/non_matchings/unknown_032760/func_80038A78.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_80038A78 -/* 039678 80038A78 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 03967C 80038A7C AFBF0014 */ sw $ra, 0x14($sp) -/* 039680 80038A80 848E0018 */ lh $t6, 0x18($a0) -/* 039684 80038A84 000578C0 */ sll $t7, $a1, 3 -/* 039688 80038A88 01CFC021 */ addu $t8, $t6, $t7 -/* 03968C 80038A8C A4980018 */ sh $t8, 0x18($a0) -/* 039690 80038A90 84990018 */ lh $t9, 0x18($a0) -/* 039694 80038A94 00000000 */ nop -/* 039698 80038A98 2B210100 */ slti $at, $t9, 0x100 -/* 03969C 80038A9C 14200007 */ bnez $at, .L80038ABC -/* 0396A0 80038AA0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0396A4 80038AA4 0C003FEE */ jal func_8000FFB8 -/* 0396A8 80038AA8 AFA40018 */ sw $a0, 0x18($sp) -/* 0396AC 80038AAC 8FA40018 */ lw $a0, 0x18($sp) -/* 0396B0 80038AB0 240800FF */ li $t0, 255 -/* 0396B4 80038AB4 A4880018 */ sh $t0, 0x18($a0) -/* 0396B8 80038AB8 8FBF0014 */ lw $ra, 0x14($sp) -.L80038ABC: -/* 0396BC 80038ABC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0396C0 80038AC0 03E00008 */ jr $ra -/* 0396C4 80038AC4 00000000 */ nop - diff --git a/asm/non_matchings/unknown_032760/func_80039160.s b/asm/non_matchings/unknown_032760/func_80039160.s deleted file mode 100644 index da68646b..00000000 --- a/asm/non_matchings/unknown_032760/func_80039160.s +++ /dev/null @@ -1,11 +0,0 @@ -glabel func_80039160 -/* 039D60 80039160 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 039D64 80039164 AFBF0014 */ sw $ra, 0x14($sp) -/* 039D68 80039168 80AE0008 */ lb $t6, 8($a1) -/* 039D6C 8003916C 0C0044E4 */ jal func_80011390 -/* 039D70 80039170 AC8E0078 */ sw $t6, 0x78($a0) -/* 039D74 80039174 8FBF0014 */ lw $ra, 0x14($sp) -/* 039D78 80039178 27BD0018 */ addiu $sp, $sp, 0x18 -/* 039D7C 8003917C 03E00008 */ jr $ra -/* 039D80 80039180 00000000 */ nop - diff --git a/asm/non_matchings/unknown_032760/func_800391C8.s b/asm/non_matchings/unknown_032760/func_800391C8.s deleted file mode 100644 index c136f290..00000000 --- a/asm/non_matchings/unknown_032760/func_800391C8.s +++ /dev/null @@ -1,15 +0,0 @@ -glabel func_800391C8 -/* 039DC8 800391C8 AFA50004 */ sw $a1, 4($sp) -/* 039DCC 800391CC 8C8F004C */ lw $t7, 0x4c($a0) -/* 039DD0 800391D0 240E0001 */ li $t6, 1 -/* 039DD4 800391D4 A5EE0014 */ sh $t6, 0x14($t7) -/* 039DD8 800391D8 8C99004C */ lw $t9, 0x4c($a0) -/* 039DDC 800391DC 24180003 */ li $t8, 3 -/* 039DE0 800391E0 A3380011 */ sb $t8, 0x11($t9) -/* 039DE4 800391E4 8C89004C */ lw $t1, 0x4c($a0) -/* 039DE8 800391E8 24080014 */ li $t0, 20 -/* 039DEC 800391EC A1280010 */ sb $t0, 0x10($t1) -/* 039DF0 800391F0 8C8A004C */ lw $t2, 0x4c($a0) -/* 039DF4 800391F4 03E00008 */ jr $ra -/* 039DF8 800391F8 A1400012 */ sb $zero, 0x12($t2) - diff --git a/asm/non_matchings/unknown_032760/func_8003CE64.s b/asm/non_matchings/unknown_032760/func_8003CE64.s deleted file mode 100644 index 3e39b4ca..00000000 --- a/asm/non_matchings/unknown_032760/func_8003CE64.s +++ /dev/null @@ -1,17 +0,0 @@ -glabel func_8003CE64 -/* 03DA64 8003CE64 8C8F004C */ lw $t7, 0x4c($a0) -/* 03DA68 8003CE68 240E0002 */ li $t6, 2 -/* 03DA6C 8003CE6C A5EE0014 */ sh $t6, 0x14($t7) -/* 03DA70 8003CE70 8C98004C */ lw $t8, 0x4c($a0) -/* 03DA74 8003CE74 24190014 */ li $t9, 20 -/* 03DA78 8003CE78 A3000011 */ sb $zero, 0x11($t8) -/* 03DA7C 8003CE7C 8C88004C */ lw $t0, 0x4c($a0) -/* 03DA80 8003CE80 00000000 */ nop -/* 03DA84 8003CE84 A1190010 */ sb $t9, 0x10($t0) -/* 03DA88 8003CE88 8C89004C */ lw $t1, 0x4c($a0) -/* 03DA8C 8003CE8C 00000000 */ nop -/* 03DA90 8003CE90 A1200012 */ sb $zero, 0x12($t1) -/* 03DA94 8003CE94 90AA0008 */ lbu $t2, 8($a1) -/* 03DA98 8003CE98 03E00008 */ jr $ra -/* 03DA9C 8003CE9C AC8A0078 */ sw $t2, 0x78($a0) - diff --git a/asm/non_matchings/unknown_032760/func_8003CF18.s b/asm/non_matchings/unknown_032760/func_8003CF18.s deleted file mode 100644 index 49ed687a..00000000 --- a/asm/non_matchings/unknown_032760/func_8003CF18.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel func_8003CF18 -/* 03DB18 8003CF18 90AE0008 */ lbu $t6, 8($a1) -/* 03DB1C 8003CF1C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 03DB20 8003CF20 448E2000 */ mtc1 $t6, $f4 -/* 03DB24 8003CF24 05C10004 */ bgez $t6, .L8003CF38 -/* 03DB28 8003CF28 468021A0 */ cvt.s.w $f6, $f4 -/* 03DB2C 8003CF2C 44814000 */ mtc1 $at, $f8 -/* 03DB30 8003CF30 00000000 */ nop -/* 03DB34 8003CF34 46083180 */ add.s $f6, $f6, $f8 -.L8003CF38: -/* 03DB38 8003CF38 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 03DB3C 8003CF3C 44815000 */ mtc1 $at, $f10 -/* 03DB40 8003CF40 00000000 */ nop -/* 03DB44 8003CF44 460A3002 */ mul.s $f0, $f6, $f10 -/* 03DB48 8003CF48 00000000 */ nop -/* 03DB4C 8003CF4C 46000002 */ mul.s $f0, $f0, $f0 -/* 03DB50 8003CF50 03E00008 */ jr $ra -/* 03DB54 8003CF54 E4800078 */ swc1 $f0, 0x78($a0) - diff --git a/asm/non_matchings/unknown_032760/func_8003CF58.s b/asm/non_matchings/unknown_032760/func_8003CF58.s deleted file mode 100644 index 01d3d8aa..00000000 --- a/asm/non_matchings/unknown_032760/func_8003CF58.s +++ /dev/null @@ -1,18 +0,0 @@ -glabel func_8003CF58 -/* 03DB58 8003CF58 8C8F004C */ lw $t7, 0x4c($a0) -/* 03DB5C 8003CF5C 240E0002 */ li $t6, 2 -/* 03DB60 8003CF60 A5EE0014 */ sh $t6, 0x14($t7) -/* 03DB64 8003CF64 8C98004C */ lw $t8, 0x4c($a0) -/* 03DB68 8003CF68 00000000 */ nop -/* 03DB6C 8003CF6C A3000011 */ sb $zero, 0x11($t8) -/* 03DB70 8003CF70 90B90009 */ lbu $t9, 9($a1) -/* 03DB74 8003CF74 8C88004C */ lw $t0, 0x4c($a0) -/* 03DB78 8003CF78 00000000 */ nop -/* 03DB7C 8003CF7C A1190010 */ sb $t9, 0x10($t0) -/* 03DB80 8003CF80 90A90008 */ lbu $t1, 8($a1) -/* 03DB84 8003CF84 00000000 */ nop -/* 03DB88 8003CF88 AC890078 */ sw $t1, 0x78($a0) -/* 03DB8C 8003CF8C 90AA0009 */ lbu $t2, 9($a1) -/* 03DB90 8003CF90 03E00008 */ jr $ra -/* 03DB94 8003CF94 AC8A007C */ sw $t2, 0x7c($a0) - diff --git a/asm/non_matchings/unknown_032760/func_8003CF98.s b/asm/non_matchings/unknown_032760/func_8003CF98.s deleted file mode 100644 index 3194c301..00000000 --- a/asm/non_matchings/unknown_032760/func_8003CF98.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel func_8003CF98 -/* 03DB98 8003CF98 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 03DB9C 8003CF9C AFBF0014 */ sw $ra, 0x14($sp) -/* 03DBA0 8003CFA0 AFA40018 */ sw $a0, 0x18($sp) -/* 03DBA4 8003CFA4 AFA5001C */ sw $a1, 0x1c($sp) -/* 03DBA8 8003CFA8 8C8E004C */ lw $t6, 0x4c($a0) -/* 03DBAC 8003CFAC 8C98007C */ lw $t8, 0x7c($a0) -/* 03DBB0 8003CFB0 91CF0013 */ lbu $t7, 0x13($t6) -/* 03DBB4 8003CFB4 00000000 */ nop -/* 03DBB8 8003CFB8 01F8082A */ slt $at, $t7, $t8 -/* 03DBBC 8003CFBC 10200005 */ beqz $at, .L8003CFD4 -/* 03DBC0 8003CFC0 8FBF0014 */ lw $ra, 0x14($sp) -/* 03DBC4 8003CFC4 8C840078 */ lw $a0, 0x78($a0) -/* 03DBC8 8003CFC8 0C00A011 */ jal func_80028044 -/* 03DBCC 8003CFCC 00000000 */ nop -/* 03DBD0 8003CFD0 8FBF0014 */ lw $ra, 0x14($sp) -.L8003CFD4: -/* 03DBD4 8003CFD4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03DBD8 8003CFD8 03E00008 */ jr $ra -/* 03DBDC 8003CFDC 00000000 */ nop - diff --git a/asm/non_matchings/unknown_032760/func_8003CFE0.s b/asm/non_matchings/unknown_032760/func_8003CFE0.s deleted file mode 100644 index 3c059d70..00000000 --- a/asm/non_matchings/unknown_032760/func_8003CFE0.s +++ /dev/null @@ -1,22 +0,0 @@ -glabel func_8003CFE0 -/* 03DBE0 8003CFE0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 03DBE4 8003CFE4 AFBF0014 */ sw $ra, 0x14($sp) -/* 03DBE8 8003CFE8 90A60009 */ lbu $a2, 9($a1) -/* 03DBEC 8003CFEC 240100FF */ li $at, 255 -/* 03DBF0 8003CFF0 14C10006 */ bne $a2, $at, .L8003D00C -/* 03DBF4 8003CFF4 00000000 */ nop -/* 03DBF8 8003CFF8 0C007123 */ jal func_8001C48C -/* 03DBFC 8003CFFC AFA5001C */ sw $a1, 0x1c($sp) -/* 03DC00 8003D000 8FA5001C */ lw $a1, 0x1c($sp) -/* 03DC04 8003D004 304600FF */ andi $a2, $v0, 0xff -/* 03DC08 8003D008 A0A20009 */ sb $v0, 9($a1) -.L8003D00C: -/* 03DC0C 8003D00C 0C00746F */ jal func_8001D1BC -/* 03DC10 8003D010 00C02025 */ move $a0, $a2 -/* 03DC14 8003D014 0C00746B */ jal func_8001D1AC -/* 03DC18 8003D018 00000000 */ nop -/* 03DC1C 8003D01C 8FBF0014 */ lw $ra, 0x14($sp) -/* 03DC20 8003D020 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03DC24 8003D024 03E00008 */ jr $ra -/* 03DC28 8003D028 00000000 */ nop - diff --git a/asm/non_matchings/unknown_032760/func_8003D038.s b/asm/non_matchings/unknown_032760/func_8003D038.s deleted file mode 100644 index 98882fb7..00000000 --- a/asm/non_matchings/unknown_032760/func_8003D038.s +++ /dev/null @@ -1,10 +0,0 @@ -glabel func_8003D038 -/* 03DC38 8003D038 240E0078 */ li $t6, 120 -/* 03DC3C 8003D03C A48E0018 */ sh $t6, 0x18($a0) -/* 03DC40 8003D040 80AF0008 */ lb $t7, 8($a1) -/* 03DC44 8003D044 00000000 */ nop -/* 03DC48 8003D048 25F8FFFF */ addiu $t8, $t7, -1 -/* 03DC4C 8003D04C 33190003 */ andi $t9, $t8, 3 -/* 03DC50 8003D050 03E00008 */ jr $ra -/* 03DC54 8003D054 AC990078 */ sw $t9, 0x78($a0) - diff --git a/asm/non_matchings/unknown_032760/func_8003D3EC.s b/asm/non_matchings/unknown_032760/func_8003D3EC.s deleted file mode 100644 index 05b1e752..00000000 --- a/asm/non_matchings/unknown_032760/func_8003D3EC.s +++ /dev/null @@ -1,6 +0,0 @@ -glabel func_8003D3EC -/* 03DFEC 8003D3EC AFA50004 */ sw $a1, 4($sp) -/* 03DFF0 8003D3F0 240E0064 */ li $t6, 100 -/* 03DFF4 8003D3F4 03E00008 */ jr $ra -/* 03DFF8 8003D3F8 A48E0018 */ sh $t6, 0x18($a0) - diff --git a/asm/non_matchings/unknown_032760/func_800403A8.s b/asm/non_matchings/unknown_032760/func_800403A8.s deleted file mode 100644 index 70bfd84c..00000000 --- a/asm/non_matchings/unknown_032760/func_800403A8.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel func_800403A8 -/* 040FA8 800403A8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 040FAC 800403AC AFBF0014 */ sw $ra, 0x14($sp) -/* 040FB0 800403B0 AFA40018 */ sw $a0, 0x18($sp) -/* 040FB4 800403B4 0C00C72B */ jal func_80031CAC -/* 040FB8 800403B8 AFA60020 */ sw $a2, 0x20($sp) -/* 040FBC 800403BC 8FAE0018 */ lw $t6, 0x18($sp) -/* 040FC0 800403C0 00000000 */ nop -/* 040FC4 800403C4 ADC20064 */ sw $v0, 0x64($t6) -/* 040FC8 800403C8 8FBF0014 */ lw $ra, 0x14($sp) -/* 040FCC 800403CC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 040FD0 800403D0 03E00008 */ jr $ra -/* 040FD4 800403D4 00000000 */ nop - diff --git a/asm/non_matchings/unknown_032760/func_80040448.s b/asm/non_matchings/unknown_032760/func_80040448.s deleted file mode 100644 index fa536c52..00000000 --- a/asm/non_matchings/unknown_032760/func_80040448.s +++ /dev/null @@ -1,24 +0,0 @@ -glabel func_80040448 -/* 041048 80040448 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 04104C 8004044C AFBF0014 */ sw $ra, 0x14($sp) -/* 041050 80040450 AFA5001C */ sw $a1, 0x1c($sp) -/* 041054 80040454 8C870064 */ lw $a3, 0x64($a0) -/* 041058 80040458 00803025 */ move $a2, $a0 -/* 04105C 8004045C 10E00006 */ beqz $a3, .L80040478 -/* 041060 80040460 00E02025 */ move $a0, $a3 -/* 041064 80040464 0C02FBAD */ jal func_800BEEB4 -/* 041068 80040468 AFA60018 */ sw $a2, 0x18($sp) -/* 04106C 8004046C 8FA60018 */ lw $a2, 0x18($sp) -/* 041070 80040470 00000000 */ nop -/* 041074 80040474 E4C00010 */ swc1 $f0, 0x10($a2) -.L80040478: -/* 041078 80040478 8FAF001C */ lw $t7, 0x1c($sp) -/* 04107C 8004047C 84CE0018 */ lh $t6, 0x18($a2) -/* 041080 80040480 000FC0C0 */ sll $t8, $t7, 3 -/* 041084 80040484 01D8C821 */ addu $t9, $t6, $t8 -/* 041088 80040488 A4D90018 */ sh $t9, 0x18($a2) -/* 04108C 8004048C 8FBF0014 */ lw $ra, 0x14($sp) -/* 041090 80040490 27BD0018 */ addiu $sp, $sp, 0x18 -/* 041094 80040494 03E00008 */ jr $ra -/* 041098 80040498 00000000 */ nop - diff --git a/asm/non_matchings/unknown_032760/func_80040800.s b/asm/non_matchings/unknown_032760/func_80040800.s deleted file mode 100644 index 3ed8b66b..00000000 --- a/asm/non_matchings/unknown_032760/func_80040800.s +++ /dev/null @@ -1,10 +0,0 @@ -glabel func_80040800 -/* 041400 80040800 84AE0008 */ lh $t6, 8($a1) -/* 041404 80040804 00000000 */ nop -/* 041408 80040808 448E2000 */ mtc1 $t6, $f4 -/* 04140C 8004080C 00000000 */ nop -/* 041410 80040810 46802020 */ cvt.s.w $f0, $f4 -/* 041414 80040814 46000002 */ mul.s $f0, $f0, $f0 -/* 041418 80040818 03E00008 */ jr $ra -/* 04141C 8004081C E4800078 */ swc1 $f0, 0x78($a0) - diff --git a/asm/non_matchings/unknown_032760/func_8004092C.s b/asm/non_matchings/unknown_032760/func_8004092C.s deleted file mode 100644 index b48ee8ed..00000000 --- a/asm/non_matchings/unknown_032760/func_8004092C.s +++ /dev/null @@ -1,10 +0,0 @@ -glabel func_8004092C -/* 04152C 8004092C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 041530 80040930 AFBF0014 */ sw $ra, 0x14($sp) -/* 041534 80040934 0C02B22A */ jal func_800AC8A8 -/* 041538 80040938 AFA5001C */ sw $a1, 0x1c($sp) -/* 04153C 8004093C 8FBF0014 */ lw $ra, 0x14($sp) -/* 041540 80040940 27BD0018 */ addiu $sp, $sp, 0x18 -/* 041544 80040944 03E00008 */ jr $ra -/* 041548 80040948 00000000 */ nop - diff --git a/asm/non_matchings/unknown_032760/func_8004094C.s b/asm/non_matchings/unknown_032760/func_8004094C.s deleted file mode 100644 index 430b97ae..00000000 --- a/asm/non_matchings/unknown_032760/func_8004094C.s +++ /dev/null @@ -1,24 +0,0 @@ -glabel func_8004094C -/* 04154C 8004094C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 041550 80040950 AFBF0014 */ sw $ra, 0x14($sp) -/* 041554 80040954 AFA5001C */ sw $a1, 0x1c($sp) -/* 041558 80040958 AFA60020 */ sw $a2, 0x20($sp) -/* 04155C 8004095C 0C02B3D8 */ jal func_800ACF60 -/* 041560 80040960 AFA40018 */ sw $a0, 0x18($sp) -/* 041564 80040964 8FAE001C */ lw $t6, 0x1c($sp) -/* 041568 80040968 8FA40018 */ lw $a0, 0x18($sp) -/* 04156C 8004096C 85CF0008 */ lh $t7, 8($t6) -/* 041570 80040970 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 041574 80040974 448F2000 */ mtc1 $t7, $f4 -/* 041578 80040978 44815000 */ mtc1 $at, $f10 -/* 04157C 8004097C 468021A0 */ cvt.s.w $f6, $f4 -/* 041580 80040980 E4860008 */ swc1 $f6, 8($a0) -/* 041584 80040984 C4880008 */ lwc1 $f8, 8($a0) -/* 041588 80040988 00000000 */ nop -/* 04158C 8004098C 460A4403 */ div.s $f16, $f8, $f10 -/* 041590 80040990 E4900008 */ swc1 $f16, 8($a0) -/* 041594 80040994 8FBF0014 */ lw $ra, 0x14($sp) -/* 041598 80040998 27BD0018 */ addiu $sp, $sp, 0x18 -/* 04159C 8004099C 03E00008 */ jr $ra -/* 0415A0 800409A0 00000000 */ nop - diff --git a/asm/non_matchings/unknown_032760/func_800409A4.s b/asm/non_matchings/unknown_032760/func_800409A4.s deleted file mode 100644 index 1e232be3..00000000 --- a/asm/non_matchings/unknown_032760/func_800409A4.s +++ /dev/null @@ -1,11 +0,0 @@ -glabel func_800409A4 -/* 0415A4 800409A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0415A8 800409A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0415AC 800409AC AFA5001C */ sw $a1, 0x1c($sp) -/* 0415B0 800409B0 0C02FD49 */ jal func_800BF524 -/* 0415B4 800409B4 AFA60020 */ sw $a2, 0x20($sp) -/* 0415B8 800409B8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0415BC 800409BC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0415C0 800409C0 03E00008 */ jr $ra -/* 0415C4 800409C4 00000000 */ nop - diff --git a/asm/non_matchings/unknown_032760/func_80042014.s b/asm/non_matchings/unknown_032760/func_80042014.s deleted file mode 100644 index 6a1de13e..00000000 --- a/asm/non_matchings/unknown_032760/func_80042014.s +++ /dev/null @@ -1,12 +0,0 @@ -glabel func_80042014 -/* 042C14 80042014 8C820064 */ lw $v0, 0x64($a0) -/* 042C18 80042018 94AE0008 */ lhu $t6, 8($a1) -/* 042C1C 8004201C 00000000 */ nop -/* 042C20 80042020 A44E0000 */ sh $t6, ($v0) -/* 042C24 80042024 90AF000A */ lbu $t7, 0xa($a1) -/* 042C28 80042028 00000000 */ nop -/* 042C2C 8004202C A04F0002 */ sb $t7, 2($v0) -/* 042C30 80042030 90B8000B */ lbu $t8, 0xb($a1) -/* 042C34 80042034 03E00008 */ jr $ra -/* 042C38 80042038 A0580003 */ sb $t8, 3($v0) - diff --git a/asm/non_matchings/unknown_032760/func_8004203C.s b/asm/non_matchings/unknown_032760/func_8004203C.s deleted file mode 100644 index 9b178e6d..00000000 --- a/asm/non_matchings/unknown_032760/func_8004203C.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_8004203C -/* 042C3C 8004203C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 042C40 80042040 AFBF001C */ sw $ra, 0x1c($sp) -/* 042C44 80042044 AFA40020 */ sw $a0, 0x20($sp) -/* 042C48 80042048 AFA50024 */ sw $a1, 0x24($sp) -/* 042C4C 8004204C 00A07825 */ move $t7, $a1 -/* 042C50 80042050 91E60008 */ lbu $a2, 8($t7) -/* 042C54 80042054 90A50009 */ lbu $a1, 9($a1) -/* 042C58 80042058 8C84006C */ lw $a0, 0x6c($a0) -/* 042C5C 8004205C AFA00014 */ sw $zero, 0x14($sp) -/* 042C60 80042060 AFA00010 */ sw $zero, 0x10($sp) -/* 042C64 80042064 0C02BC4D */ jal func_800AF134 -/* 042C68 80042068 00003825 */ move $a3, $zero -/* 042C6C 8004206C 8FB80024 */ lw $t8, 0x24($sp) -/* 042C70 80042070 8FA80020 */ lw $t0, 0x20($sp) -/* 042C74 80042074 9719000A */ lhu $t9, 0xa($t8) -/* 042C78 80042078 00000000 */ nop -/* 042C7C 8004207C AD190078 */ sw $t9, 0x78($t0) -/* 042C80 80042080 8FBF001C */ lw $ra, 0x1c($sp) -/* 042C84 80042084 27BD0020 */ addiu $sp, $sp, 0x20 -/* 042C88 80042088 03E00008 */ jr $ra -/* 042C8C 8004208C 00000000 */ nop - diff --git a/asm/non_matchings/unknown_032760/func_8004210C.s b/asm/non_matchings/unknown_032760/func_8004210C.s deleted file mode 100644 index d3062de8..00000000 --- a/asm/non_matchings/unknown_032760/func_8004210C.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel func_8004210C -/* 042D0C 8004210C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 042D10 80042110 AFBF0014 */ sw $ra, 0x14($sp) -/* 042D14 80042114 AFA40018 */ sw $a0, 0x18($sp) -/* 042D18 80042118 AFA5001C */ sw $a1, 0x1c($sp) -/* 042D1C 8004211C 0C0078A7 */ jal func_8001E29C -/* 042D20 80042120 24040014 */ li $a0, 20 -/* 042D24 80042124 8FAE001C */ lw $t6, 0x1c($sp) -/* 042D28 80042128 8FA30018 */ lw $v1, 0x18($sp) -/* 042D2C 8004212C 81CF0008 */ lb $t7, 8($t6) -/* 042D30 80042130 AC60003C */ sw $zero, 0x3c($v1) -/* 042D34 80042134 000FC1C0 */ sll $t8, $t7, 7 -/* 042D38 80042138 0302C821 */ addu $t9, $t8, $v0 -/* 042D3C 8004213C AC790064 */ sw $t9, 0x64($v1) -/* 042D40 80042140 8FBF0014 */ lw $ra, 0x14($sp) -/* 042D44 80042144 27BD0018 */ addiu $sp, $sp, 0x18 -/* 042D48 80042148 03E00008 */ jr $ra -/* 042D4C 8004214C 00000000 */ nop - diff --git a/asm/non_matchings/unknown_032760/func_80042CD0.s b/asm/non_matchings/unknown_032760/func_80042CD0.s deleted file mode 100644 index c59a75e7..00000000 --- a/asm/non_matchings/unknown_032760/func_80042CD0.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_80042CD0 -/* 0438D0 80042CD0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0438D4 80042CD4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0438D8 80042CD8 AFA5001C */ sw $a1, 0x1c($sp) -/* 0438DC 80042CDC AFA40018 */ sw $a0, 0x18($sp) -/* 0438E0 80042CE0 0C007D18 */ jal func_8001F460 -/* 0438E4 80042CE4 00803025 */ move $a2, $a0 -/* 0438E8 80042CE8 8FA40018 */ lw $a0, 0x18($sp) -/* 0438EC 80042CEC 8FAF001C */ lw $t7, 0x1c($sp) -/* 0438F0 80042CF0 848E0018 */ lh $t6, 0x18($a0) -/* 0438F4 80042CF4 000FC0C0 */ sll $t8, $t7, 3 -/* 0438F8 80042CF8 01D8C821 */ addu $t9, $t6, $t8 -/* 0438FC 80042CFC 332800FF */ andi $t0, $t9, 0xff -/* 043900 80042D00 A4880018 */ sh $t0, 0x18($a0) -/* 043904 80042D04 8FBF0014 */ lw $ra, 0x14($sp) -/* 043908 80042D08 27BD0018 */ addiu $sp, $sp, 0x18 -/* 04390C 80042D0C 03E00008 */ jr $ra -/* 043910 80042D10 00000000 */ nop - -/* 043914 80042D14 00000000 */ nop -/* 043918 80042D18 00000000 */ nop -/* 04391C 80042D1C 00000000 */ nop - diff --git a/include/structs.h b/include/structs.h index 8341de84..01c39951 100644 --- a/include/structs.h +++ b/include/structs.h @@ -164,9 +164,29 @@ typedef struct { /* 0x4C */ u32 unk4C; } dkr_wave_t; +typedef struct Player_40 { + u8 pad0[0xC]; + f32 unkC; +} Player_40; + +typedef struct Player_4C { + u8 pad0[0x10]; + u8 unk10; + u8 unk11; + u8 unk12; + u8 unk13; + u16 unk14; +} Player_4C; + +typedef struct Player_64 { + f32 unk0; + u8 pad4[9]; + u8 unkD; +} Player_64; + /* Size: 0x0630 bytes */ -typedef struct { +typedef struct Player { /* 0x0000 */ u16 y_rotation; /* 0x0002 */ u16 x_rotation; /* 0x0004 */ u16 z_rotation; @@ -175,7 +195,7 @@ typedef struct { /* 0x000C */ f32 x_position; /* 0x0010 */ f32 y_position; /* 0x0014 */ f32 z_position; - /* 0x0018 */ u16 unk18; + /* 0x0018 */ s16 unk18; /* 0x001A */ u16 unk1A; /* 0x001C */ f32 x_velocity; /* 0x0020 */ f32 y_velocity; @@ -198,25 +218,25 @@ typedef struct { /* 0x003E */ u8 unk3E; /* 0x003F */ u8 unk3F; - /* 0x0040 */ void *descriptor_ptr; + /* 0x0040 */ Player_40 *descriptor_ptr; /* 0x0044 */ void *unk44; /* 0x0048 */ u16 unk48; /* 0x004A */ u16 unk4A; - /* 0x004C */ void *unk4C; //player + 0x318 + /* 0x004C */ Player_4C *unk4C; //player + 0x318 /* 0x0050 */ void *unk50; //player + 0x2F4 /* 0x0054 */ void *unk54; //player + 0x2C0 /* 0x0058 */ void *unk58; //player + 0x304 /* 0x005C */ u32 unk5C; /* 0x0060 */ void *unk60; //player + 0x340 - /* 0x0064 */ void *unk64; //player + 0x98 + /* 0x0064 */ Player_64 *unk64; //player + 0x98 /* 0x0068 */ void *unk68; //player + 0x80 /* 0x006C */ void *unk6C; //player + 0x370 /* 0x0070 */ u32 unk70; /* 0x0074 */ u32 unk74; /* 0x0078 */ u32 unk78; - /* 0x007C */ u32 unk7C; + /* 0x007C */ s32 unk7C; /* 0x0080 */ void *unk80; /* 0x0084 */ u32 unk84; @@ -422,6 +442,6 @@ typedef struct { /* 0x0374 */ s32 unk374; u32 unk378[174]; // Not an array. Unknown values. -} dkr_player_t; +} Player; #endif diff --git a/src/mips1/unknown_032760.c b/src/mips1/unknown_032760.c index 0bfd1898..54891f97 100644 --- a/src/mips1/unknown_032760.c +++ b/src/mips1/unknown_032760.c @@ -3,13 +3,14 @@ #include "types.h" #include "macros.h" - -extern s16 D_8011D4E2; +#include "structs.h" extern s32 D_800DC95C; -extern s32 D_8011D4DC; extern f32 D_8011D4D0; +extern s32 D_8011D4D8; +extern s32 D_8011D4DC; +extern s16 D_8011D4E2; GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80031B60.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80031BB8.s") @@ -29,23 +30,76 @@ GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80033A14.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80033C08.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80033CC0.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80033DD0.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80033F44.s") + +void func_80033F44(Player *arg0, s32 arg1) { + arg0->unk4C->unk14 = 2; + arg0->unk4C->unk11 = 0; +} + GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80033F60.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80034530.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800345A0.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80034844.s") + +// Literally the same function as func_80033F44() +void func_80034844(Player *arg0, s32 arg1) { + arg0->unk4C->unk14 = 2; + arg0->unk4C->unk11 = 0; +} + GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80034860.s") + +#if 1 GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80034AF0.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80034B4C.s") +#else +// regalloc issues +void func_80034AF0(Player *arg0, u8 *arg1) { + f32 phi_f0 = (s32)arg1[9]; + if (phi_f0 < 10.0f) { + phi_f0 = 10.0f; + } + phi_f0 /= 64; + arg0->scale = arg0->descriptor_ptr->unkC * phi_f0; + arg0->unk78 = arg1[8]; +} +#endif + +typedef struct unk80034B4C { + u8 pad0[0x18]; + s16 unk18; + u8 pad1A[0x5E]; + s32 unk78; +} unk80034B4C; + +void func_80034B4C(unk80034B4C *arg0, s32 arg1) { + arg0->unk18 += arg0->unk78 * arg1; +} void func_80034B68(s32 arg0, s32 arg1) { } GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80034B74.s") + +#if 1 GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80034E70.s") +#else +void func_80034E70(Player *arg0, u8 *arg1) { + arg0->unk4C->unk14 = 1; + arg0->unk4C->unk11 = 2; + // Regalloc issue here. + arg0->unk0 = arg1[8] << 10; +} +#endif + GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80034E9C.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003522C.s") + +void func_8003522C(Player *arg0, s32 arg1) { + arg0->unk4C->unk14 = 2; + arg0->unk4C->unk11 = 0; + arg0->unk4C->unk10 = 0x14; + arg0->unk4C->unk12 = 0; +} + GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80035260.s") void func_80035640(s32 arg0, s32 arg1) { @@ -59,25 +113,94 @@ GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003588C.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003596C.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80035AE8.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80035C50.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80035E20.s") + +typedef struct unk80035E20 { + u8 pad0[0x40]; + s32 unk40; + u8 pad44[0x34]; + s32 unk78; + s32 unk7C; +} unk80035E20; + +void func_80035E20(unk80035E20 *arg0, s32 arg1) { + arg0->unk78 = 0; + arg0->unk7C = arg0->unk40; +} + GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80035E34.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80035EF8.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80035F6C.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80036040.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80036194.s") + +void func_80036194(Player *arg0, s32 arg1) { + Player_64* temp; + arg0->unk4C->unk14 = 1; + arg0->unk4C->unk11 = 0; + arg0->unk4C->unk10 = 0x1E; + arg0->unk4C->unk12 = 0; + temp = arg0->unk64; + temp->unkD = 0xFF; + temp->unk0 = 0.0f; + D_8011D4D8 = 0; +} + GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800361E0.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80036BCC.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80036C30.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800370D4.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80037578.s") + +typedef struct unk80037578 { + u8 pad0[0x78]; + s32 unk78; + s32 unk7C; +} unk80037578; + +void func_80037578(unk80037578 *arg0, u8 *arg1) { + arg0->unk78 = arg1[9] * 2; + arg0->unk7C = arg1[8]; +} + GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80037594.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80037624.s") + +typedef struct unk80037624 { + u8 pad0[6]; + s16 unk6; +} unk80037624; + +void func_80037624(unk80037624 *arg0, s32 arg1) { + arg0->unk6 |= 0x4000; +} + GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003763C.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800376E0.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800377E4.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80037A18.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80037CE8.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80037D08.s") + +void func_80037CE8(s32 arg0, s32 arg1) { + func_8001F460(arg0, arg1, arg0); +} + +typedef struct unk80037D08_arg0_64 { + u8 pad0[0x2A]; + s16 unk2A; +} unk80037D08_arg0_64; + +typedef struct unk80037D08_arg0 { + u8 pad0[0x64]; + unk80037D08_arg0_64* unk64; +} unk80037D08_arg0; + +void func_80037D08(unk80037D08_arg0 *arg0, s32 arg1) { + s32 phi_a0; + unk80037D08_arg0_64 *sp18; + + sp18 = arg0->unk64; + phi_a0 = 1 - func_8001F460(arg0, arg1, arg0); + if (sp18->unk2A > 0) { + phi_a0 = 0; + } + func_800235D0(phi_a0); +} void func_80037D54(s32 arg0, s32 arg1) { @@ -94,11 +217,42 @@ void func_80037D6C(s32 arg0, s32 arg1) { GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80037D78.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800380F8.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003818C.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800381C0.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800381E0.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80038214.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80038248.s") + +void func_8003818C(Player *arg0, s32 arg1) { + arg0->unk4C->unk14 = 0x81; + arg0->unk4C->unk11 = 2; + arg0->unk4C->unk10 = 0x14; + arg0->unk4C->unk12 = 0; +} + +// Literally the same as func_80037CE8() +void func_800381C0(s32 arg0, s32 arg1) { + func_8001F460(arg0, arg1, arg0); +} + +void func_800381E0(Player *arg0, s32 arg1) { + arg0->unk4C->unk14 = 1; + arg0->unk4C->unk11 = 2; + arg0->unk4C->unk10 = 0x14; + arg0->unk4C->unk12 = 0; +} + +// Literally the same as func_8003818C() +void func_80038214(Player *arg0, s32 arg1) { + arg0->unk4C->unk14 = 0x81; + arg0->unk4C->unk11 = 2; + arg0->unk4C->unk10 = 0x14; + arg0->unk4C->unk12 = 0; +} + +// Literally the same as func_800381E0() +void func_80038248(Player *arg0, s32 arg1) { + arg0->unk4C->unk14 = 1; + arg0->unk4C->unk11 = 2; + arg0->unk4C->unk10 = 0x14; + arg0->unk4C->unk12 = 0; +} + GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003827C.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003833C.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80038710.s") @@ -116,7 +270,18 @@ void func_80038A6C(s32 arg0, s32 arg1) { } -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80038A78.s") +typedef struct unk80038A78 { + u8 pad0[0x18]; + s16 unk18; +} unk80038A78; + +void func_80038A78(unk80038A78 *arg0, s32 arg1) { + arg0->unk18 += arg1 * 8; + if (arg0->unk18 >= 0x100) { + func_8000FFB8(); + arg0->unk18 = 0xFF; + } +} void func_80038AC8(s32 arg0, s32 arg1) { @@ -129,19 +294,53 @@ GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80038D58.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80038DC4.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80038E3C.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80038F58.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80039160.s") + +typedef struct unk80039160 { + u8 pad0[0x78]; + s32 unk78; +} unk80039160; + +void func_80039160(unk80039160 *arg0, s8 *arg1) { + arg0->unk78 = arg1[8]; + func_80011390(); +} void func_80039184(s32 arg0, s32 arg1) { } +#if 1 GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80039190.s") +#else + +typedef struct unk80039190 { + u16 unk0; + u8 pad2[0x76]; + s32 unk78; + s32 unk7C; +} unk80039190; + +void func_80039190(unk80039190 *arg0, u8 *arg1) { + s32 temp; + arg0->unk78 = arg1[8]; + arg0->unk7C = arg1[9]; + + // Regalloc issues here + arg0->unk0 = arg1[10] * 0x400; +} +#endif void func_800391BC(s32 arg0, s32 arg1) { } -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800391C8.s") +void func_800391C8(Player *arg0, s32 arg1) { + arg0->unk4C->unk14 = 1; + arg0->unk4C->unk11 = 3; + arg0->unk4C->unk10 = 0x14; + arg0->unk4C->unk12 = 0; +} + GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800391FC.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800392B8.s") @@ -180,8 +379,17 @@ GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003C644.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003C7A4.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003C9EC.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003CA68.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003CE64.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003CEA0.s") + +void func_8003CE64(Player *arg0, u8 *arg1) { + arg0->unk4C->unk14 = 2; + arg0->unk4C->unk11 = 0; + arg0->unk4C->unk10 = 0x14; + arg0->unk4C->unk12 = 0; + arg0->unk78 = arg1[8]; +} + +//GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003CEA0.s") + void func_8003CF00(s32 arg0, s32 arg1) { @@ -191,16 +399,56 @@ void func_8003CF0C(s32 arg0, s32 arg1) { } -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003CF18.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003CF58.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003CF98.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003CFE0.s") +typedef struct unk8003CF18 { + u8 pad1A[0x78]; + f32 unk78; +} unk8003CF18; + +void func_8003CF18(unk8003CF18 *arg0, u8 *arg1) { + f32 temp_f0; + temp_f0 = arg1[8] * 8.0f; + temp_f0 = temp_f0 * temp_f0; + arg0->unk78 = temp_f0; +} + +void func_8003CF58(Player *arg0, u8 *arg1) { + arg0->unk4C->unk14 = 2; + arg0->unk4C->unk11 = 0; + arg0->unk4C->unk10 = arg1[9]; + arg0->unk78 = arg1[8]; + arg0->unk7C = arg1[9]; +} + +void func_8003CF98(Player *arg0, s32 arg1) { + if (arg0->unk4C->unk13 < arg0->unk7C) { + func_80028044(arg0->unk78); + } +} + +void func_8003CFE0(s32 arg0, u8 *arg1) { + if (arg1[9] == 0xFF) { + arg1[9] = func_8001C48C(arg0) & 0xFF; + } + func_8001D1BC(arg1[9], arg1); + func_8001D1AC(); +} void func_8003D02C(s32 arg0, s32 arg1) { } -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003D038.s") +typedef struct unk8003D038 { + u8 pad0[0x18]; + s16 unk18; + u8 pad1A[0x5E]; + s32 unk78; +} unk8003D038; + +void func_8003D038(unk8003D038 *arg0, s8 *arg1) { + arg0->unk18 = 0x78; + arg0->unk78 = (arg1[8] - 1) & 3; +} + GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003D058.s") void func_8003D2AC(s32 arg0, s32 arg1) { @@ -208,7 +456,16 @@ void func_8003D2AC(s32 arg0, s32 arg1) { } GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003D2B8.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003D3EC.s") + +typedef struct unk8003D3EC { + u8 pad0[0x18]; + u16 unk18; +} unk8003D3EC; + +void func_8003D3EC(unk8003D3EC *arg0, s32 arg1) { + arg0->unk18 = 0x64; +} + GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003D3FC.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003D534.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003D5A0.s") @@ -250,24 +507,112 @@ GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8003FEF4.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8004001C.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800400A4.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80040148.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800403A8.s") + +typedef struct unk800403A8 { + u8 pad0[0x64]; + s32 unk64; +} unk800403A8; + +void func_800403A8(unk800403A8 *arg0, s32 arg1, s32 arg2) { + arg0->unk64 = func_80031CAC(arg0, arg1); +} + GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800403D8.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80040448.s") + +f32 func_800BEEB4(Player_64*); + +void func_80040448(Player *arg0, s32 arg1) { + if (arg0->unk64 != NULL) { + arg0->y_position = func_800BEEB4(arg0->unk64); + } + arg0->unk18 += arg1 * 8; +} + GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8004049C.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80040570.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80040800.s") + +typedef struct unk80040800 { + u8 pad0[0x78]; + f32 unk78; +} unk80040800; + +void func_80040800(unk80040800 *arg0, s16 *arg1) { + f32 temp = arg1[4]; + temp *= temp; + arg0->unk78 = temp; +} + GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80040820.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8004092C.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8004094C.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800409A4.s") + +void func_8004092C(s32 arg0, s32 arg1) { + func_800AC8A8(arg0); +} + +void func_8004094C(Player *arg0, s16 *arg1, s32 arg2) { + func_800ACF60(); + arg0->scale = arg1[4]; + arg0->scale /= 40.0f; +} + +void func_800409A4(s32 arg0, s32 arg1, s32 arg2) { + func_800BF524(arg0); +} + GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800409C8.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80040C54.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80041A90.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80041E80.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80042014.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8004203C.s") + +typedef struct unk80042014_arg0_64 { + u16 unk0; + u8 unk2; + u8 unk3; +} unk80042014_arg0_64; + +typedef struct unk80042014_arg0 { + u8 pad0[0x64]; + unk80042014_arg0_64* unk64; +} unk80042014_arg0; + +typedef struct unk80042014_arg1 { + u8 pad0[8]; + u16 unk8; + u8 unkA; + u8 unkB; +} unk80042014_arg1; + +void func_80042014(unk80042014_arg0 *arg0, unk80042014_arg1 *arg1) { + unk80042014_arg0_64* temp = arg0->unk64; + temp->unk0 = arg1->unk8; + temp->unk2 = arg1->unkA; + temp->unk3 = arg1->unkB; +} + +typedef struct unk8004203C_arg1 { + u8 pad0[0x8]; + u8 unk8; + u8 unk9; + u16 unkA; +} unk8004203C_arg1; + +void func_8004203C(Player *arg0, unk8004203C_arg1 *arg1) { + func_800AF134(arg0->unk6C, arg1->unk9, arg1->unk8, 0, 0, 0); + arg0->unk78 = arg1->unkA; +} + GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80042090.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_8004210C.s") + +typedef struct unk8004210C { + u8 pad0[0x3C]; + s32 unk3C; + u8 pad40[0x24]; + s32 unk64; +} unk8004210C; + +void func_8004210C(unk8004210C *arg0, s8 *arg1) { + arg0->unk64 = func_8001E29C(0x14) + (arg1[8] << 7); + arg0->unk3C = 0; +} void func_80042150(s32 arg0, s32 arg1, s32 arg2) { @@ -287,4 +632,15 @@ GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800422F0.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80042998.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80042A1C.s") GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80042A90.s") -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80042CD0.s") + +typedef struct unk80042CD0 { + u8 pad0[0x18]; + s16 unk18; +} unk80042CD0; + +void func_80042CD0(unk80042CD0 *arg0, s32 arg1) { + func_8001F460(arg0, arg1, arg0); + arg0->unk18 = (arg0->unk18 + (arg1 * 8)) & 0xFF; +} + +