Match a variety of functions, identify a struct type and some related variables, regenerated some mips_to_c code (#129)

* Meaningful commit message

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Identify another struct and array

Regenerated a lot of mips_to_c code based on these identifications

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
Tyler McGavran
2022-01-03 02:07:24 -05:00
committed by GitHub
parent 5fbfc21512
commit c3def3e91f
15 changed files with 231 additions and 342 deletions
+2 -2
View File
@@ -1785,7 +1785,7 @@ glabel D_8018E060
glabel D_8018E0E8
.skip 40
glabel D_8018E110
glabel gD_8018E118TotalSize
.skip 8
glabel D_8018E118
@@ -1797,7 +1797,7 @@ glabel D_8018E11C
glabel D_8018E124
.skip 1588
glabel D_8018E758
glabel gNumD_8018E118Entries
.skip 4
glabel D_8018E75C
@@ -437,9 +437,9 @@ glabel L8009ECAC
/* 09F8D0 8009ECD0 8FBF001C */ lw $ra, 0x1c($sp)
glabel L8009ECD4
/* 09F8D4 8009ECD4 0C01BB91 */ jal func_8006EE44
/* 09F8D8 8009ECD8 00000000 */ nop
/* 09F8DC 8009ECDC 3C028019 */ lui $v0, %hi(D_8018E110) # $v0, 0x8019
/* 09F8E0 8009ECE0 2442E110 */ addiu $v0, %lo(D_8018E110) # addiu $v0, $v0, -0x1ef0
/* 09F8D8 8009ECD8 00000000 */ nop
/* 09F8DC 8009ECDC 3C028019 */ lui $v0, %hi(gD_8018E118TotalSize) # $v0, 0x8019
/* 09F8E0 8009ECE0 2442E110 */ addiu $v0, %lo(gD_8018E118TotalSize) # addiu $v0, $v0, -0x1ef0
/* 09F8E4 8009ECE4 8C590000 */ lw $t9, ($v0)
/* 09F8E8 8009ECE8 3C010001 */ lui $at, 1
/* 09F8EC 8009ECEC 3C040200 */ lui $a0, %hi(D_020045E8) # $a0, 0x200
@@ -1,6 +0,0 @@
glabel func_80099110
/* 099D10 80099110 3C018019 */ lui $at, %hi(D_8018E110) # $at, 0x8019
/* 099D14 80099114 AC20E110 */ sw $zero, %lo(D_8018E110)($at)
/* 099D18 80099118 3C018019 */ lui $at, %hi(D_8018E758)
/* 099D1C 8009911C 03E00008 */ jr $ra
/* 099D20 80099120 AC20E758 */ sw $zero, %lo(D_8018E758)($at)
+12 -12
View File
@@ -15,12 +15,12 @@ glabel func_80099184
/* 099DB8 800991B8 11C0006C */ beqz $t6, .L8009936C
/* 099DBC 800991BC 3C158019 */ lui $s5, %hi(D_8018D9B0) # $s5, 0x8019
/* 099DC0 800991C0 3C148019 */ lui $s4, %hi(D_8018D9B4) # $s4, 0x8019
/* 099DC4 800991C4 3C138019 */ lui $s3, %hi(D_8018E758) # $s3, 0x8019
/* 099DC8 800991C8 3C128019 */ lui $s2, %hi(D_8018E110) # $s2, 0x8019
/* 099DC4 800991C4 3C138019 */ lui $s3, %hi(gNumD_8018E118Entries) # $s3, 0x8019
/* 099DC8 800991C8 3C128019 */ lui $s2, %hi(gD_8018E118TotalSize) # $s2, 0x8019
/* 099DCC 800991CC 3C108019 */ lui $s0, %hi(D_8018E118) # $s0, 0x8019
/* 099DD0 800991D0 2610E118 */ addiu $s0, %lo(D_8018E118) # addiu $s0, $s0, -0x1ee8
/* 099DD4 800991D4 2652E110 */ addiu $s2, %lo(D_8018E110) # addiu $s2, $s2, -0x1ef0
/* 099DD8 800991D8 2673E758 */ addiu $s3, %lo(D_8018E758) # addiu $s3, $s3, -0x18a8
/* 099DD4 800991D4 2652E110 */ addiu $s2, %lo(gD_8018E118TotalSize) # addiu $s2, $s2, -0x1ef0
/* 099DD8 800991D8 2673E758 */ addiu $s3, %lo(gNumD_8018E118Entries) # addiu $s3, $s3, -0x18a8
/* 099DDC 800991DC 2694D9B4 */ addiu $s4, %lo(D_8018D9B4) # addiu $s4, $s4, -0x264c
/* 099DE0 800991E0 26B5D9B0 */ addiu $s5, %lo(D_8018D9B0) # addiu $s5, $s5, -0x2650
/* 099DE4 800991E4 8E630000 */ lw $v1, ($s3)
@@ -160,12 +160,12 @@ glabel func_80099184
/* 099FC4 800993C4 00409025 */ move $s2, $v0
/* 099FC8 800993C8 11C0004E */ beqz $t6, .L80099504
/* 099FCC 800993CC 26D6D9B0 */ addiu $s6, %lo(D_8018D9B0) # addiu $s6, $s6, -0x2650
/* 099FD0 800993D0 3C148019 */ lui $s4, %hi(D_8018E758) # $s4, 0x8019
/* 099FD4 800993D4 3C138019 */ lui $s3, %hi(D_8018E110) # $s3, 0x8019
/* 099FD0 800993D0 3C148019 */ lui $s4, %hi(gNumD_8018E118Entries) # $s4, 0x8019
/* 099FD4 800993D4 3C138019 */ lui $s3, %hi(gD_8018E118TotalSize) # $s3, 0x8019
/* 099FD8 800993D8 3C118019 */ lui $s1, %hi(D_8018E118) # $s1, 0x8019
/* 099FDC 800993DC 2631E118 */ addiu $s1, %lo(D_8018E118) # addiu $s1, $s1, -0x1ee8
/* 099FE0 800993E0 2673E110 */ addiu $s3, %lo(D_8018E110) # addiu $s3, $s3, -0x1ef0
/* 099FE4 800993E4 2694E758 */ addiu $s4, %lo(D_8018E758) # addiu $s4, $s4, -0x18a8
/* 099FE0 800993E0 2673E110 */ addiu $s3, %lo(gD_8018E118TotalSize) # addiu $s3, $s3, -0x1ef0
/* 099FE4 800993E4 2694E758 */ addiu $s4, %lo(gNumD_8018E118Entries) # addiu $s4, $s4, -0x18a8
/* 099FE8 800993E8 24150005 */ li $s5, 5
/* 099FEC 800993EC 8E830000 */ lw $v1, ($s4)
.L800993F0:
@@ -272,12 +272,12 @@ glabel func_80099184
/* 09A15C 8009955C 11C00046 */ beqz $t6, .L80099678
/* 09A160 80099560 26B5D9B0 */ addiu $s5, %lo(D_8018D9B0) # addiu $s5, $s5, -0x2650
/* 09A164 80099564 3C148019 */ lui $s4, %hi(D_8018D9B4) # $s4, 0x8019
/* 09A168 80099568 3C138019 */ lui $s3, %hi(D_8018E758) # $s3, 0x8019
/* 09A16C 8009956C 3C128019 */ lui $s2, %hi(D_8018E110) # $s2, 0x8019
/* 09A168 80099568 3C138019 */ lui $s3, %hi(gNumD_8018E118Entries) # $s3, 0x8019
/* 09A16C 8009956C 3C128019 */ lui $s2, %hi(gD_8018E118TotalSize) # $s2, 0x8019
/* 09A170 80099570 3C108019 */ lui $s0, %hi(D_8018E118) # $s0, 0x8019
/* 09A174 80099574 2610E118 */ addiu $s0, %lo(D_8018E118) # addiu $s0, $s0, -0x1ee8
/* 09A178 80099578 2652E110 */ addiu $s2, %lo(D_8018E110) # addiu $s2, $s2, -0x1ef0
/* 09A17C 8009957C 2673E758 */ addiu $s3, %lo(D_8018E758) # addiu $s3, $s3, -0x18a8
/* 09A178 80099578 2652E110 */ addiu $s2, %lo(gD_8018E118TotalSize) # addiu $s2, $s2, -0x1ef0
/* 09A17C 8009957C 2673E758 */ addiu $s3, %lo(gNumD_8018E118Entries) # addiu $s3, $s3, -0x18a8
/* 09A180 80099580 2694D9B4 */ addiu $s4, %lo(D_8018D9B4) # addiu $s4, $s4, -0x264c
/* 09A184 80099584 8E630000 */ lw $v1, ($s3)
.L80099588:
@@ -18,12 +18,12 @@ glabel func_800996BC
/* 09A2FC 800996FC 11C0008A */ beqz $t6, .L80099928
/* 09A300 80099700 2417FFFF */ li $s7, -1
/* 09A304 80099704 3C158019 */ lui $s5, %hi(D_8018D9B4) # $s5, 0x8019
/* 09A308 80099708 3C148019 */ lui $s4, %hi(D_8018E758) # $s4, 0x8019
/* 09A30C 8009970C 3C138019 */ lui $s3, %hi(D_8018E110) # $s3, 0x8019
/* 09A308 80099708 3C148019 */ lui $s4, %hi(gNumD_8018E118Entries) # $s4, 0x8019
/* 09A30C 8009970C 3C138019 */ lui $s3, %hi(gD_8018E118TotalSize) # $s3, 0x8019
/* 09A310 80099710 3C118019 */ lui $s1, %hi(D_8018E118) # $s1, 0x8019
/* 09A314 80099714 2631E118 */ addiu $s1, %lo(D_8018E118) # addiu $s1, $s1, -0x1ee8
/* 09A318 80099718 2673E110 */ addiu $s3, %lo(D_8018E110) # addiu $s3, $s3, -0x1ef0
/* 09A31C 8009971C 2694E758 */ addiu $s4, %lo(D_8018E758) # addiu $s4, $s4, -0x18a8
/* 09A318 80099718 2673E110 */ addiu $s3, %lo(gD_8018E118TotalSize) # addiu $s3, $s3, -0x1ef0
/* 09A31C 8009971C 2694E758 */ addiu $s4, %lo(gNumD_8018E118Entries) # addiu $s4, $s4, -0x18a8
/* 09A320 80099720 26B5D9B4 */ addiu $s5, %lo(D_8018D9B4) # addiu $s5, $s5, -0x264c
/* 09A324 80099724 24160001 */ li $s6, 1
/* 09A328 80099728 8E830000 */ lw $v1, ($s4)
@@ -34,8 +34,8 @@ glabel func_8009A374
/* 09AFE4 8009A3E4 AC790004 */ sw $t9, 4($v1)
/* 09AFE8 8009A3E8 AC600008 */ sw $zero, 8($v1)
/* 09AFEC 8009A3EC AC68000C */ sw $t0, 0xc($v1)
/* 09AFF0 8009A3F0 3C098019 */ lui $t1, %hi(D_8018E758) # $t1, 0x8019
/* 09AFF4 8009A3F4 8D29E758 */ lw $t1, %lo(D_8018E758)($t1)
/* 09AFF0 8009A3F0 3C098019 */ lui $t1, %hi(gNumD_8018E118Entries) # $t1, 0x8019
/* 09AFF4 8009A3F4 8D29E758 */ lw $t1, %lo(gNumD_8018E118Entries)($t1)
/* 09AFF8 8009A3F8 AC690010 */ sw $t1, 0x10($v1)
/* 09AFFC 8009A3FC 8C4A0000 */ lw $t2, ($v0)
/* 09B000 8009A400 5140000A */ beql $t2, $zero, .L8009A42C
@@ -35,8 +35,8 @@ glabel func_8009A478
/* 09B0EC 8009A4EC AC790004 */ sw $t9, 4($v1)
/* 09B0F0 8009A4F0 AC600008 */ sw $zero, 8($v1)
/* 09B0F4 8009A4F4 AC68000C */ sw $t0, 0xc($v1)
/* 09B0F8 8009A4F8 3C098019 */ lui $t1, %hi(D_8018E758) # $t1, 0x8019
/* 09B0FC 8009A4FC 8D29E758 */ lw $t1, %lo(D_8018E758)($t1)
/* 09B0F8 8009A4F8 3C098019 */ lui $t1, %hi(gNumD_8018E118Entries) # $t1, 0x8019
/* 09B0FC 8009A4FC 8D29E758 */ lw $t1, %lo(gNumD_8018E118Entries)($t1)
/* 09B100 8009A500 00003025 */ move $a2, $zero
/* 09B104 8009A504 AC690010 */ sw $t1, 0x10($v1)
/* 09B108 8009A508 8C4A0000 */ lw $t2, ($v0)
@@ -1,6 +1,6 @@
glabel func_8009B8C4
/* 09C4C4 8009B8C4 3C058019 */ lui $a1, %hi(D_8018E758) # $a1, 0x8019
/* 09C4C8 8009B8C8 8CA5E758 */ lw $a1, %lo(D_8018E758)($a1)
/* 09C4C4 8009B8C4 3C058019 */ lui $a1, %hi(gNumD_8018E118Entries) # $a1, 0x8019
/* 09C4C8 8009B8C8 8CA5E758 */ lw $a1, %lo(gNumD_8018E118Entries)($a1)
/* 09C4CC 8009B8CC 27BDFFF0 */ addiu $sp, $sp, -0x10
/* 09C4D0 8009B8D0 00001025 */ move $v0, $zero
/* 09C4D4 8009B8D4 18A0000E */ blez $a1, .L8009B910
@@ -1,18 +0,0 @@
glabel func_800AADD4
/* 0AB9D4 800AADD4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0AB9D8 800AADD8 AFBF0014 */ sw $ra, 0x14($sp)
/* 0AB9DC 800AADDC 8C820000 */ lw $v0, ($a0)
/* 0AB9E0 800AADE0 3C038019 */ lui $v1, %hi(gCharacterGridSelections) # 0x8019
/* 0AB9E4 800AADE4 240F000E */ li $t7, 14
/* 0AB9E8 800AADE8 2442FFCC */ addiu $v0, $v0, -0x34
/* 0AB9EC 800AADEC 00621821 */ addu $v1, $v1, $v0
/* 0AB9F0 800AADF0 8063EDE4 */ lb $v1, %lo(gCharacterGridSelections)($v1) # -0x121c($v1)
/* 0AB9F4 800AADF4 00027040 */ sll $t6, $v0, 1
/* 0AB9F8 800AADF8 01EEC023 */ subu $t8, $t7, $t6
/* 0AB9FC 800AADFC A0980014 */ sb $t8, 0x14($a0)
/* 0ABA00 800AAE00 0C02ABE5 */ jal func_800AAF94
/* 0ABA04 800AAE04 2465FFFF */ addiu $a1, $v1, -1
/* 0ABA08 800AAE08 8FBF0014 */ lw $ra, 0x14($sp)
/* 0ABA0C 800AAE0C 27BD0018 */ addiu $sp, $sp, 0x18
/* 0ABA10 800AAE10 03E00008 */ jr $ra
/* 0ABA14 800AAE14 00000000 */ nop
@@ -1,23 +0,0 @@
glabel func_800AAE18
/* 0ABA18 800AAE18 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0ABA1C 800AAE1C AFBF0014 */ sw $ra, 0x14($sp)
/* 0ABA20 800AAE20 00802825 */ move $a1, $a0
/* 0ABA24 800AAE24 8C840000 */ lw $a0, ($a0)
/* 0ABA28 800AAE28 AFA50018 */ sw $a1, 0x18($sp)
/* 0ABA2C 800AAE2C 0C02ABF3 */ jal func_800AAFCC
/* 0ABA30 800AAE30 2484FFD5 */ addiu $a0, $a0, -0x2b
/* 0ABA34 800AAE34 04400006 */ bltz $v0, .L800AAE50
/* 0ABA38 800AAE38 8FA50018 */ lw $a1, 0x18($sp)
/* 0ABA3C 800AAE3C 00027040 */ sll $t6, $v0, 1
/* 0ABA40 800AAE40 240F000E */ li $t7, 14
/* 0ABA44 800AAE44 01EEC023 */ subu $t8, $t7, $t6
/* 0ABA48 800AAE48 10000003 */ b .L800AAE58
/* 0ABA4C 800AAE4C A0B80014 */ sb $t8, 0x14($a1)
.L800AAE50:
/* 0ABA50 800AAE50 24190006 */ li $t9, 6
/* 0ABA54 800AAE54 A0B90014 */ sb $t9, 0x14($a1)
.L800AAE58:
/* 0ABA58 800AAE58 8FBF0014 */ lw $ra, 0x14($sp)
/* 0ABA5C 800AAE5C 27BD0018 */ addiu $sp, $sp, 0x18
/* 0ABA60 800AAE60 03E00008 */ jr $ra
/* 0ABA64 800AAE64 00000000 */ nop
@@ -1,15 +0,0 @@
glabel func_800AAF94
/* 0ABB94 800AAF94 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0ABB98 800AAF98 AFBF0014 */ sw $ra, 0x14($sp)
/* 0ABB9C 800AAF9C AFA40018 */ sw $a0, 0x18($sp)
/* 0ABBA0 800AAFA0 0C02ABAD */ jal func_800AAEB4
/* 0ABBA4 800AAFA4 00A02025 */ move $a0, $a1
/* 0ABBA8 800AAFA8 8FA30018 */ lw $v1, 0x18($sp)
/* 0ABBAC 800AAFAC 8C4E000C */ lw $t6, 0xc($v0)
/* 0ABBB0 800AAFB0 AC6E000C */ sw $t6, 0xc($v1)
/* 0ABBB4 800AAFB4 8C4F0010 */ lw $t7, 0x10($v0)
/* 0ABBB8 800AAFB8 AC6F0010 */ sw $t7, 0x10($v1)
/* 0ABBBC 800AAFBC 8FBF0014 */ lw $ra, 0x14($sp)
/* 0ABBC0 800AAFC0 27BD0018 */ addiu $sp, $sp, 0x18
/* 0ABBC4 800AAFC4 03E00008 */ jr $ra
/* 0ABBC8 800AAFC8 00000000 */ nop