code_80086E70: match 8008AA3C, 8008ADD0 (#377)

This commit is contained in:
Joshua Peisach
2023-08-22 20:29:16 -04:00
committed by GitHub
parent 63f97bbfa3
commit 6e56638950
3 changed files with 18 additions and 142 deletions
@@ -1,56 +0,0 @@
glabel func_8008AA3C
/* 08B63C 8008AA3C 000470C0 */ sll $t6, $a0, 3
/* 08B640 8008AA40 01C47023 */ subu $t6, $t6, $a0
/* 08B644 8008AA44 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016
/* 08B648 8008AA48 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18
/* 08B64C 8008AA4C 000E7140 */ sll $t6, $t6, 5
/* 08B650 8008AA50 01CF1021 */ addu $v0, $t6, $t7
/* 08B654 8008AA54 8C430080 */ lw $v1, 0x80($v0)
/* 08B658 8008AA58 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 08B65C 8008AA5C AFBF0014 */ sw $ra, 0x14($sp)
/* 08B660 8008AA60 24630002 */ addiu $v1, $v1, 2
/* 08B664 8008AA64 AC43007C */ sw $v1, 0x7c($v0)
/* 08B668 8008AA68 A4400096 */ sh $zero, 0x96($v0)
/* 08B66C 8008AA6C A4400098 */ sh $zero, 0x98($v0)
/* 08B670 8008AA70 8478FFFE */ lh $t8, -2($v1)
/* 08B674 8008AA74 240B2710 */ li $t3, 10000
/* 08B678 8008AA78 A4580094 */ sh $t8, 0x94($v0)
/* 08B67C 8008AA7C 84790000 */ lh $t9, ($v1)
/* 08B680 8008AA80 44992000 */ mtc1 $t9, $f4
/* 08B684 8008AA84 00000000 */ nop
/* 08B688 8008AA88 468021A0 */ cvt.s.w $f6, $f4
/* 08B68C 8008AA8C E4460028 */ swc1 $f6, 0x28($v0)
/* 08B690 8008AA90 84680002 */ lh $t0, 2($v1)
/* 08B694 8008AA94 44884000 */ mtc1 $t0, $f8
/* 08B698 8008AA98 00000000 */ nop
/* 08B69C 8008AA9C 468042A0 */ cvt.s.w $f10, $f8
/* 08B6A0 8008AAA0 E44A002C */ swc1 $f10, 0x2c($v0)
/* 08B6A4 8008AAA4 84690004 */ lh $t1, 4($v1)
/* 08B6A8 8008AAA8 44898000 */ mtc1 $t1, $f16
/* 08B6AC 8008AAAC 00000000 */ nop
/* 08B6B0 8008AAB0 468084A0 */ cvt.s.w $f18, $f16
/* 08B6B4 8008AAB4 E4520030 */ swc1 $f18, 0x30($v0)
/* 08B6B8 8008AAB8 846A0006 */ lh $t2, 6($v1)
/* 08B6BC 8008AABC AFA40018 */ sw $a0, 0x18($sp)
/* 08B6C0 8008AAC0 016A001A */ div $zero, $t3, $t2
/* 08B6C4 8008AAC4 00006012 */ mflo $t4
/* 08B6C8 8008AAC8 A44C009A */ sh $t4, 0x9a($v0)
/* 08B6CC 8008AACC 15400002 */ bnez $t2, .L8008AAD8
/* 08B6D0 8008AAD0 00000000 */ nop
/* 08B6D4 8008AAD4 0007000D */ break 7
.L8008AAD8:
/* 08B6D8 8008AAD8 2401FFFF */ li $at, -1
/* 08B6DC 8008AADC 15410004 */ bne $t2, $at, .L8008AAF0
/* 08B6E0 8008AAE0 3C018000 */ lui $at, 0x8000
/* 08B6E4 8008AAE4 15610002 */ bne $t3, $at, .L8008AAF0
/* 08B6E8 8008AAE8 00000000 */ nop
/* 08B6EC 8008AAEC 0006000D */ break 6
.L8008AAF0:
/* 08B6F0 8008AAF0 0C022A48 */ jal func_8008A920
/* 08B6F4 8008AAF4 00000000 */ nop
/* 08B6F8 8008AAF8 0C021BF5 */ jal func_80086FD4
/* 08B6FC 8008AAFC 8FA40018 */ lw $a0, 0x18($sp)
/* 08B700 8008AB00 8FBF0014 */ lw $ra, 0x14($sp)
/* 08B704 8008AB04 27BD0018 */ addiu $sp, $sp, 0x18
/* 08B708 8008AB08 03E00008 */ jr $ra
/* 08B70C 8008AB0C 00000000 */ nop
@@ -1,48 +0,0 @@
glabel func_8008ADD0
/* 08B9D0 8008ADD0 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000
/* 08B9D4 8008ADD4 44819800 */ mtc1 $at, $f19
/* 08B9D8 8008ADD8 44856000 */ mtc1 $a1, $f12
/* 08B9DC 8008ADDC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
/* 08B9E0 8008ADE0 44812800 */ mtc1 $at, $f5
/* 08B9E4 8008ADE4 44802000 */ mtc1 $zero, $f4
/* 08B9E8 8008ADE8 46006021 */ cvt.d.s $f0, $f12
/* 08B9EC 8008ADEC 44809000 */ mtc1 $zero, $f18
/* 08B9F0 8008ADF0 46202181 */ sub.d $f6, $f4, $f0
/* 08B9F4 8008ADF4 3C013FF8 */ li $at, 0x3FF80000 # 1.937500
/* 08B9F8 8008ADF8 46200400 */ add.d $f16, $f0, $f0
/* 08B9FC 8008ADFC 46203220 */ cvt.s.d $f8, $f6
/* 08BA00 8008AE00 460040A1 */ cvt.d.s $f2, $f8
/* 08BA04 8008AE04 46321282 */ mul.d $f10, $f2, $f18
/* 08BA08 8008AE08 00000000 */ nop
/* 08BA0C 8008AE0C 46225102 */ mul.d $f4, $f10, $f2
/* 08BA10 8008AE10 44805000 */ mtc1 $zero, $f10
/* 08BA14 8008AE14 44815800 */ mtc1 $at, $f11
/* 08BA18 8008AE18 3C014008 */ li $at, 0x40080000 # 2.125000
/* 08BA1C 8008AE1C 460C6202 */ mul.s $f8, $f12, $f12
/* 08BA20 8008AE20 462021A0 */ cvt.s.d $f6, $f4
/* 08BA24 8008AE24 460043A1 */ cvt.d.s $f14, $f8
/* 08BA28 8008AE28 E4860000 */ swc1 $f6, ($a0)
/* 08BA2C 8008AE2C 462A7102 */ mul.d $f4, $f14, $f10
/* 08BA30 8008AE30 44805000 */ mtc1 $zero, $f10
/* 08BA34 8008AE34 44815800 */ mtc1 $at, $f11
/* 08BA38 8008AE38 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
/* 08BA3C 8008AE3C 46302181 */ sub.d $f6, $f4, $f16
/* 08BA40 8008AE40 462A7102 */ mul.d $f4, $f14, $f10
/* 08BA44 8008AE44 46203220 */ cvt.s.d $f8, $f6
/* 08BA48 8008AE48 44814800 */ mtc1 $at, $f9
/* 08BA4C 8008AE4C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
/* 08BA50 8008AE50 46302181 */ sub.d $f6, $f4, $f16
/* 08BA54 8008AE54 E4880004 */ swc1 $f8, 4($a0)
/* 08BA58 8008AE58 44804000 */ mtc1 $zero, $f8
/* 08BA5C 8008AE5C 00000000 */ nop
/* 08BA60 8008AE60 46283281 */ sub.d $f10, $f6, $f8
/* 08BA64 8008AE64 44804000 */ mtc1 $zero, $f8
/* 08BA68 8008AE68 44814800 */ mtc1 $at, $f9
/* 08BA6C 8008AE6C 46325102 */ mul.d $f4, $f10, $f18
/* 08BA70 8008AE70 00000000 */ nop
/* 08BA74 8008AE74 46287282 */ mul.d $f10, $f14, $f8
/* 08BA78 8008AE78 462021A0 */ cvt.s.d $f6, $f4
/* 08BA7C 8008AE7C 46205120 */ cvt.s.d $f4, $f10
/* 08BA80 8008AE80 E4860008 */ swc1 $f6, 8($a0)
/* 08BA84 8008AE84 03E00008 */ jr $ra
/* 08BA88 8008AE88 E484000C */ swc1 $f4, 0xc($a0)
+18 -38
View File
@@ -1325,30 +1325,24 @@ void func_8008A9B8(s32 objectIndex) {
func_8008A920(objectIndex);
}
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
void func_8008A920(); /* extern */
void func_8008AA3C(s32 objectIndex) {
s32 temp_v1;
struct_80165C18_entry *temp_v0;
s16* temp_v1;
struct_80165C18_entry* temp_v0;
temp_v0 = &D_80165C18[objectIndex];
temp_v1 = temp_v0->unk_080 + 2;
temp_v0->unk_07C = temp_v1;
temp_v0->unk_084[9] = 0;
temp_v0->unk_098 = 0;
temp_v0->unk_084[8] = temp_v1->unk-2;
temp_v0->unk_028[0] = (f32) temp_v1->unk0;
temp_v0->unk_028[1] = (f32) temp_v1->unk2;
temp_v0->unk_028[2] = (f32) temp_v1->unk4;
temp_v0->unk_09A = (s16) (0x2710 / (s16) temp_v1->unk6);
func_8008A920();
temp_v1 = temp_v0->unk_080[0];
temp_v1 = &temp_v0->unk_080[0][1];
(&D_80165C18[objectIndex])->unk_07C = (s16 (*)[4]) temp_v1;
(&D_80165C18[objectIndex])->unk_084[9] = 0;
(&D_80165C18[objectIndex])->unk_098 = 0;
(&D_80165C18[objectIndex])->unk_084[8] = temp_v1[-1];
(&D_80165C18[objectIndex])->unk_028[0] = (f32) temp_v1[0];
(&D_80165C18[objectIndex])->unk_028[1] = (f32) temp_v1[1];
(&D_80165C18[objectIndex])->unk_028[2] = (f32) temp_v1[2];
(&D_80165C18[objectIndex])->unk_09A = (s16) (0x2710 / (s16) temp_v1[3]);
func_8008A920(objectIndex);
func_80086FD4(objectIndex);
}
#else
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008AA3C.s")
#endif
void func_8008AB10(s32 objectIndex) {
s16 temp_t3;
@@ -1448,26 +1442,12 @@ UNUSED void func_8008ADC8(void) {
}
#ifdef MIPS_TO_C
//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Aug-09-2023
void func_8008ADD0(f32 *arg0, f32 arg1) {
f64 temp_f0;
f64 temp_f14;
f64 temp_f16;
f64 temp_f2;
temp_f0 = (f64) arg1;
temp_f16 = 2.0 * temp_f0;
temp_f2 = (f64) (f32) (1.0 - temp_f0);
temp_f14 = (f64) (arg1 * arg1);
arg0->unk0 = (f32) (temp_f2 * -0.5 * temp_f2);
arg0->unk4 = (f32) ((temp_f14 * 1.5) - temp_f16);
arg0->unk8 = (f32) ((((temp_f14 * 3.0) - temp_f16) - 1.0) * -0.5);
arg0->unkC = (f32) (temp_f14 * 0.5);
void func_8008ADD0(f32 arg0[], f32 arg1) {
arg0[0] = (f32) (1.0 - arg1) * -0.5 * (f32) (1.0 - arg1);
arg0[1] = arg1 * arg1 * 1.5 - 2.0 * arg1;
arg0[2] = (arg1 * arg1 * 3.0 - 2.0 * arg1 - (f32) 1.0) * -0.5;
arg0[3] = arg1 * arg1 * 0.5;
}
#else
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008ADD0.s")
#endif
UNUSED void func_8008AE8C(void) {