mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-29 23:24:32 -04:00
feat(decomp): ABCD MAXTOK test — the 10 paired gen0 functions banked (whole-binary SHA); verdict 8k=16k 10/10 > 24k=32k 8/10 (P31 S61-6)
This commit is contained in:
@@ -564,7 +564,69 @@ INCLUDE_ASM("asm/md_MAIN_003/nonmatchings/md_MAIN_003", func_800D06BC);
|
||||
|
||||
INCLUDE_ASM("asm/md_MAIN_003/nonmatchings/md_MAIN_003", func_800D0740);
|
||||
|
||||
INCLUDE_ASM("asm/md_MAIN_003/nonmatchings/md_MAIN_003", func_800D09A0);
|
||||
__asm__(".text\n.align 2\n.globl func_800D09A0\n.ent\tfunc_800D09A0\n"
|
||||
"func_800D09A0:\n.frame $sp,32,$31\n.mask 0xC0010000,-16\n.fmask 0,0\n"
|
||||
".set\tnoreorder\n"
|
||||
"addiu $sp, $sp, -32\n"
|
||||
"sw $ra, 24($sp)\n"
|
||||
"sw $fp, 20($sp)\n"
|
||||
"sw $s0, 16($sp)\n"
|
||||
"addu $fp, $sp, $zero\n"
|
||||
"lui $s0, %hi(D_800AF630)\n"
|
||||
"addiu $s0, $s0, %lo(D_800AF630)\n"
|
||||
"jal func_800D12D0\n"
|
||||
"nop\n"
|
||||
"lui $v0, %hi(D_800EC898)\n"
|
||||
"lhu $v0, %lo(D_800EC898)($v0)\n"
|
||||
"nop\n"
|
||||
"addiu $v1, $v0, 1\n"
|
||||
"addu $v0, $v1, $zero\n"
|
||||
"lui $at, %hi(D_800EC898)\n"
|
||||
"sh $v0, %lo(D_800EC898)($at)\n"
|
||||
"lui $v0, %hi(D_800EC898)\n"
|
||||
"lhu $v0, %lo(D_800EC898)($v0)\n"
|
||||
"nop\n"
|
||||
"andi $v1, $v0, 4\n"
|
||||
"sll $a0, $v1, 16\n"
|
||||
"sra $v0, $a0, 16\n"
|
||||
"beqz $v0, .L800D0A24\n"
|
||||
"nop\n"
|
||||
"lui $v0, %hi(D_800EC894)\n"
|
||||
"lh $v0, %lo(D_800EC894)($v0)\n"
|
||||
"nop\n"
|
||||
"addu $a0, $v0, $zero\n"
|
||||
"addiu $a1, $zero, 1\n"
|
||||
"jal func_800D1D14\n"
|
||||
"nop\n"
|
||||
"j .L800D0A40\n"
|
||||
"nop\n"
|
||||
".L800D0A24:\n"
|
||||
"lui $v0, %hi(D_800EC894)\n"
|
||||
"lh $v0, %lo(D_800EC894)($v0)\n"
|
||||
"nop\n"
|
||||
"addu $a0, $v0, $zero\n"
|
||||
"addu $a1, $zero, $zero\n"
|
||||
"jal func_800D1D14\n"
|
||||
"nop\n"
|
||||
".L800D0A40:\n"
|
||||
"lui $v0, %hi(D_800EC898)\n"
|
||||
"lh $v0, %lo(D_800EC898)($v0)\n"
|
||||
"nop\n"
|
||||
"slti $v1, $v0, 33\n"
|
||||
"bnez $v1, .L800D0A60\n"
|
||||
"nop\n"
|
||||
"jal func_800118AC\n"
|
||||
"nop\n"
|
||||
".L800D0A60:\n"
|
||||
"addu $sp, $fp, $zero\n"
|
||||
"lw $ra, 24($sp)\n"
|
||||
"lw $fp, 20($sp)\n"
|
||||
"lw $s0, 16($sp)\n"
|
||||
"addiu $sp, $sp, 32\n"
|
||||
"jr $ra\n"
|
||||
"nop\n"
|
||||
".set\treorder\n.end\tfunc_800D09A0\n");
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/md_MAIN_003/nonmatchings/md_MAIN_003", func_800D0A7C);
|
||||
|
||||
|
||||
@@ -3227,9 +3227,36 @@ extern void func_80187778(s32*, s32);
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001_jr_80184F64", func_80185474);
|
||||
extern int func_80178970(void);
|
||||
extern void func_80178D18(void);
|
||||
extern void func_8012A828(s32, s32);
|
||||
|
||||
void func_80185474(void *arg0) {
|
||||
|
||||
extern short D_801C36E8;
|
||||
if (func_80178970() != 0) {
|
||||
((void (*)(s32))func_80178D18)((s32)arg0);
|
||||
*(short *)((char *)arg0 + 0x2) = 2;
|
||||
((void (*)(s32, s32))func_8012A828)((int)arg0, (int)&D_801C36E8);
|
||||
*(short *)((char *)arg0 + 0x34) = 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern int func_80178970(void);
|
||||
extern void func_80178D18(void);
|
||||
extern void func_8012A828(s32, s32);
|
||||
|
||||
void func_801854D0(void *arg0) {
|
||||
extern short D_801C36E8;
|
||||
if (func_80178970() != 0) {
|
||||
((void (*)(s32))func_80178D18)((s32)arg0);
|
||||
*(short *)((char *)arg0 + 0x2) = 9;
|
||||
((void (*)(s32, s32))func_8012A828)((s32)arg0, (s32)&D_801C36E8);
|
||||
*(short *)((char *)arg0 + 0x34) = 2;
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001_jr_80184F64", func_801854D0);
|
||||
|
||||
extern s32 func_801788B8(s32 arg0, s32 arg1);
|
||||
extern s32 func_801855CC(void *a0);
|
||||
@@ -3694,7 +3721,20 @@ extern void func_80178CBC(s32 *a0, s32 a1);
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001_jr_80184F64", func_801860CC);
|
||||
void func_801860CC(void *arg0) {
|
||||
extern int func_80178970(void);
|
||||
extern void func_80178D18(void);
|
||||
extern void func_8012A828(s32, s32);
|
||||
extern short D_801C36E8;
|
||||
|
||||
if (func_80178970() != 0) {
|
||||
((void (*)(s32))func_80178D18)((s32)arg0);
|
||||
*(short *)((char *)arg0 + 0x2) = 27;
|
||||
*(short *)((char *)arg0 + 0x34) = 2;
|
||||
((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801C36E8);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern void func_8012C1B8(void);
|
||||
extern s32 func_80185C9C(void *a0);
|
||||
|
||||
@@ -6043,7 +6043,24 @@ extern void func_80178CBC(s32 a0, s32 a1);
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC05_017/nonmatchings/ov_SC05_017_jr_8017AE2C", func_8017FFE8);
|
||||
extern int func_80178970(void);
|
||||
extern void func_80178D18(void);
|
||||
extern void func_8012A828(s32, s32);
|
||||
|
||||
void func_8017FFE8(void *arg0) {
|
||||
extern u16 D_801ECE68;
|
||||
extern u16 D_801ECE6A;
|
||||
extern short D_801B9A64;
|
||||
void *s0 = arg0;
|
||||
|
||||
if (func_80178970() != 0) {
|
||||
((void (*)(s32))func_80178D18)((s32)s0);
|
||||
*(short *)((char *)s0 + 0x2) = D_801ECE68;
|
||||
*(short *)((char *)s0 + 0x34) = D_801ECE6A;
|
||||
((void (*)(s32, s32))func_8012A828)((s32)s0, (s32)&D_801B9A64);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void func_8012E88C(s32);
|
||||
|
||||
@@ -3502,7 +3502,24 @@ extern void func_80178CBC(s32 a0, s32 a1);
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC05_017/nonmatchings/ov_SC05_017_jr_801808D4", func_80181490);
|
||||
extern int func_80178970(void);
|
||||
extern void func_80178D18(void);
|
||||
extern void func_8012A828(s32, s32);
|
||||
|
||||
void func_80181490(void *arg0)
|
||||
{
|
||||
extern short D_801ECE78;
|
||||
extern short D_801ECE7A;
|
||||
extern short D_801B9A64;
|
||||
|
||||
if (func_80178970() != 0) {
|
||||
((void (*)(s32))func_80178D18)((s32)arg0);
|
||||
*(short *)((char *)arg0 + 0x2) = D_801ECE78;
|
||||
*(short *)((char *)arg0 + 0x34) = D_801ECE7A;
|
||||
((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801B9A64);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user