mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Cleaned up hard-coded array/struct accessing in asm.
This commit is contained in:
@@ -25,15 +25,14 @@ glabel func_80068158
|
||||
/* 068DAC 800681AC 00053023 */ negu $a2, $a1
|
||||
.L800681B0:
|
||||
/* 068DB0 800681B0 8CE50000 */ lw $a1, ($a3)
|
||||
# Accessing D_800DD064[*].unk30.
|
||||
/* 068DB4 800681B4 3C19800E */ lui $t9, %hi(D_800DD064) # $t9, 0x800e
|
||||
/* 068DB4 800681B4 3C19800E */ lui $t9, %hi(D_800DD064+0x30) # $t9, 0x800e
|
||||
/* 068DB8 800681B8 0005C080 */ sll $t8, $a1, 2
|
||||
/* 068DBC 800681BC 0305C023 */ subu $t8, $t8, $a1
|
||||
/* 068DC0 800681C0 0018C080 */ sll $t8, $t8, 2
|
||||
/* 068DC4 800681C4 0305C021 */ addu $t8, $t8, $a1
|
||||
/* 068DC8 800681C8 0018C080 */ sll $t8, $t8, 2
|
||||
/* 068DCC 800681CC 0338C821 */ addu $t9, $t9, $t8
|
||||
/* 068DD0 800681D0 8F39D094 */ lw $t9, -0x2f6c($t9)
|
||||
/* 068DD0 800681D0 8F39D094 */ lw $t9, %lo(D_800DD064+0x30)($t9)
|
||||
/* 068DD4 800681D4 3C0A800E */ lui $t2, %hi(D_800DD148) # $t2, 0x800e
|
||||
/* 068DD8 800681D8 332B0001 */ andi $t3, $t9, 1
|
||||
/* 068DDC 800681DC 1560001A */ bnez $t3, .L80068248
|
||||
|
||||
@@ -8,15 +8,14 @@ glabel func_800682AC
|
||||
/* 068EC4 800682C4 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* 068EC8 800682C8 3C0F8012 */ lui $t7, %hi(D_80120CE4) # $t7, 0x8012
|
||||
/* 068ECC 800682CC 8DEF0CE4 */ lw $t7, %lo(D_80120CE4)($t7)
|
||||
# Accessing D_800DD064[*].unk30.
|
||||
/* 068ED0 800682D0 3C19800E */ lui $t9, %hi(D_800DD064) # $t9, 0x800e
|
||||
/* 068ED0 800682D0 3C19800E */ lui $t9, %hi(D_800DD064+0x30) # $t9, 0x800e
|
||||
/* 068ED4 800682D4 000FC080 */ sll $t8, $t7, 2
|
||||
/* 068ED8 800682D8 030FC023 */ subu $t8, $t8, $t7
|
||||
/* 068EDC 800682DC 0018C080 */ sll $t8, $t8, 2
|
||||
/* 068EE0 800682E0 030FC021 */ addu $t8, $t8, $t7
|
||||
/* 068EE4 800682E4 0018C080 */ sll $t8, $t8, 2
|
||||
/* 068EE8 800682E8 0338C821 */ addu $t9, $t9, $t8
|
||||
/* 068EEC 800682EC 8F39D094 */ lw $t9, -0x2f6c($t9)
|
||||
/* 068EEC 800682EC 8F39D094 */ lw $t9, %lo(D_800DD064+0x30)($t9)
|
||||
/* 068EF0 800682F0 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* 068EF4 800682F4 332A0001 */ andi $t2, $t9, 1
|
||||
/* 068EF8 800682F8 00024402 */ srl $t0, $v0, 0x10
|
||||
|
||||
@@ -15,37 +15,32 @@ glabel menu_boot_init
|
||||
/* 089128 80088528 85CEF7C4 */ lh $t6, %lo(D_800DF7C4)($t6)
|
||||
/* 08912C 8008852C 3C048012 */ lui $a0, %hi(D_80126550) # $a0, 0x8012
|
||||
/* 089130 80088530 24846550 */ addiu $a0, %lo(D_80126550) # addiu $a0, $a0, 0x6550
|
||||
# Accessing D_800DF7C4[1].
|
||||
/* 089134 80088534 3C08800E */ lui $t0, %hi(D_800DF7C4) # $t0, 0x800e
|
||||
/* 089134 80088534 3C08800E */ lui $t0, %hi(D_800DF7C4+2) # $t0, 0x800e
|
||||
/* 089138 80088538 000E7880 */ sll $t7, $t6, 2
|
||||
/* 08913C 8008853C 8508F7C6 */ lh $t0, -0x83a($t0)
|
||||
/* 08913C 8008853C 8508F7C6 */ lh $t0, %lo(D_800DF7C4+2)($t0)
|
||||
/* 089140 80088540 008FC021 */ addu $t8, $a0, $t7
|
||||
/* 089144 80088544 8F190000 */ lw $t9, ($t8)
|
||||
/* 089148 80088548 3C01800E */ lui $at, %hi(D_800DF7DC) # $at, 0x800e
|
||||
# Accessing D_800DF7C4[2].
|
||||
/* 08914C 8008854C 3C0C800E */ lui $t4, %hi(D_800DF7C4) # $t4, 0x800e
|
||||
/* 08914C 8008854C 3C0C800E */ lui $t4, %hi(D_800DF7C4+4) # $t4, 0x800e
|
||||
/* 089150 80088550 00084880 */ sll $t1, $t0, 2
|
||||
/* 089154 80088554 858CF7C8 */ lh $t4, -0x838($t4)
|
||||
/* 089154 80088554 858CF7C8 */ lh $t4, %lo(D_800DF7C4+4)($t4)
|
||||
/* 089158 80088558 00895021 */ addu $t2, $a0, $t1
|
||||
/* 08915C 8008855C AC39F7DC */ sw $t9, %lo(D_800DF7DC)($at)
|
||||
/* 089160 80088560 8D4B0000 */ lw $t3, ($t2)
|
||||
# Accessing D_800DF7DC[1] (instr 089170) and D_800DF7DC[2] (instr 089190).
|
||||
/* 089164 80088564 3C01800E */ lui $at, %hi(D_800DF7DC) # $at, 0x800e
|
||||
# Accessing D_800DF7DC[1] and D_800DF7DC[2].
|
||||
/* 089164 80088564 3C01800E */ lui $at, %hi(D_800DF7DC+8) # $at, 0x800e
|
||||
/* 089168 80088568 000C6880 */ sll $t5, $t4, 2
|
||||
/* 08916C 8008856C 008D7021 */ addu $t6, $a0, $t5
|
||||
/* 089170 80088570 AC2BF7E4 */ sw $t3, -0x81c($at)
|
||||
/* 089170 80088570 AC2BF7E4 */ sw $t3, %lo(D_800DF7DC+8)($at)
|
||||
/* 089174 80088574 8DCF0000 */ lw $t7, ($t6)
|
||||
# The extra lui is here.
|
||||
# Accessing D_800DF7DC[3].
|
||||
/* 089178 80088578 3C03800E */ lui $v1, %hi(D_800DF7DC) # $v1, 0x800e
|
||||
# Accessing D_800DF7C4[3].
|
||||
/* 08917C 8008857C 3C02800E */ lui $v0, %hi(D_800DF7C4) # $v0, 0x800e
|
||||
# Accessing D_800DF7C4[11].
|
||||
/* 089180 80088580 3C05800E */ lui $a1, %hi(D_800DF7C4) # $a1, 0x800e
|
||||
/* 089184 80088584 24A5F7DA */ addiu $a1, $a1, -0x826
|
||||
/* 089188 80088588 2442F7CA */ addiu $v0, $v0, -0x836
|
||||
/* 08918C 8008858C 2463F7F4 */ addiu $v1, $v1, -0x80c
|
||||
/* 089190 80088590 AC2FF7EC */ sw $t7, -0x814($at)
|
||||
/* 089178 80088578 3C03800E */ lui $v1, %hi(D_800DF7DC+0x18) # $v1, 0x800e
|
||||
/* 08917C 8008857C 3C02800E */ lui $v0, %hi(D_800DF7C4+6) # $v0, 0x800e
|
||||
/* 089180 80088580 3C05800E */ lui $a1, %hi(D_800DF7C4+22) # $a1, 0x800e
|
||||
/* 089184 80088584 24A5F7DA */ addiu $a1, %lo(D_800DF7C4+22) # addiu $a1, $a1, -0x826
|
||||
/* 089188 80088588 2442F7CA */ addiu $v0, %lo(D_800DF7C4+6) # addiu $v0, $v0, -0x836
|
||||
/* 08918C 8008858C 2463F7F4 */ addiu $v1, %lo(D_800DF7DC+0x18) # addiu $v1, $v1, -0x80c
|
||||
/* 089190 80088590 AC2FF7EC */ sw $t7, %lo(D_800DF7DC+0x10)($at)
|
||||
.L80088594:
|
||||
/* 089194 80088594 84580000 */ lh $t8, ($v0)
|
||||
/* 089198 80088598 844A0002 */ lh $t2, 2($v0)
|
||||
|
||||
@@ -49,36 +49,31 @@ glabel MenuTitleScreenInit
|
||||
/* 0841F0 800835F0 8508F7C4 */ lh $t0, %lo(D_800DF7C4)($t0)
|
||||
/* 0841F4 800835F4 3C048012 */ lui $a0, %hi(D_80126550) # $a0, 0x8012
|
||||
/* 0841F8 800835F8 24846550 */ addiu $a0, %lo(D_80126550) # addiu $a0, $a0, 0x6550
|
||||
# Accessing D_800DF7C4[1].
|
||||
/* 0841FC 800835FC 3C0C800E */ lui $t4, %hi(D_800DF7C4) # $t4, 0x800e
|
||||
/* 0841FC 800835FC 3C0C800E */ lui $t4, %hi(D_800DF7C4+2) # $t4, 0x800e
|
||||
/* 084200 80083600 00084880 */ sll $t1, $t0, 2
|
||||
/* 084204 80083604 858CF7C6 */ lh $t4, -0x83a($t4)
|
||||
/* 084204 80083604 858CF7C6 */ lh $t4, %lo(D_800DF7C4+2)($t4)
|
||||
/* 084208 80083608 00895021 */ addu $t2, $a0, $t1
|
||||
/* 08420C 8008360C 8D4B0000 */ lw $t3, ($t2)
|
||||
/* 084210 80083610 3C01800E */ lui $at, %hi(D_800DF7DC) # $at, 0x800e
|
||||
# Accessing D_800DF7C4[2].
|
||||
/* 084214 80083614 3C18800E */ lui $t8, %hi(D_800DF7C4) # $t8, 0x800e
|
||||
/* 084214 80083614 3C18800E */ lui $t8, %hi(D_800DF7C4+4) # $t8, 0x800e
|
||||
/* 084218 80083618 000C6880 */ sll $t5, $t4, 2
|
||||
/* 08421C 8008361C 8718F7C8 */ lh $t8, -0x838($t8)
|
||||
/* 08421C 8008361C 8718F7C8 */ lh $t8, %lo(D_800DF7C4+4)($t8)
|
||||
/* 084220 80083620 008D7021 */ addu $t6, $a0, $t5
|
||||
/* 084224 80083624 AC2BF7DC */ sw $t3, %lo(D_800DF7DC)($at)
|
||||
/* 084228 80083628 8DCF0000 */ lw $t7, ($t6)
|
||||
# Accessing D_800DF7DC[1] (instr 084238) and D_800DF7DC[2] (instr 084258).
|
||||
/* 08422C 8008362C 3C01800E */ lui $at, %hi(D_800DF7DC) # $at, 0x800e
|
||||
# Accessing D_800DF7DC[1] and D_800DF7DC[2].
|
||||
/* 08422C 8008362C 3C01800E */ lui $at, %hi(D_800DF7DC+8) # $at, 0x800e
|
||||
/* 084230 80083630 0018C880 */ sll $t9, $t8, 2
|
||||
/* 084234 80083634 00994021 */ addu $t0, $a0, $t9
|
||||
/* 084238 80083638 AC2FF7E4 */ sw $t7, -0x81c($at)
|
||||
/* 084238 80083638 AC2FF7E4 */ sw $t7, %lo(D_800DF7DC+8)($at)
|
||||
/* 08423C 8008363C 8D090000 */ lw $t1, ($t0)
|
||||
# Accessing D_800DF7DC[3].
|
||||
/* 084240 80083640 3C03800E */ lui $v1, %hi(D_800DF7DC) # $v1, 0x800e
|
||||
# Accessing D_800DF7C4[3].
|
||||
/* 084244 80083644 3C02800E */ lui $v0, %hi(D_800DF7C4) # $v0, 0x800e
|
||||
# Accessing D_800DF7C4[11].
|
||||
/* 084248 80083648 3C05800E */ lui $a1, %hi(D_800DF7C4) # $a1, 0x800e
|
||||
/* 08424C 8008364C 24A5F7DA */ addiu $a1, $a1, -0x826
|
||||
/* 084250 80083650 2442F7CA */ addiu $v0, $v0, -0x836
|
||||
/* 084254 80083654 2463F7F4 */ addiu $v1, $v1, -0x80c
|
||||
/* 084258 80083658 AC29F7EC */ sw $t1, -0x814($at)
|
||||
/* 084240 80083640 3C03800E */ lui $v1, %hi(D_800DF7DC+0x18) # $v1, 0x800e
|
||||
/* 084244 80083644 3C02800E */ lui $v0, %hi(D_800DF7C4+6) # $v0, 0x800e
|
||||
/* 084248 80083648 3C05800E */ lui $a1, %hi(D_800DF7C4+22) # $a1, 0x800e
|
||||
/* 08424C 8008364C 24A5F7DA */ addiu $a1, %lo(D_800DF7C4+22) # addiu $a1, $a1, -0x826
|
||||
/* 084250 80083650 2442F7CA */ addiu $v0, %lo(D_800DF7C4+6) # addiu $v0, $v0, -0x836
|
||||
/* 084254 80083654 2463F7F4 */ addiu $v1, %lo(D_800DF7DC+0x18) # addiu $v1, $v1, -0x80c
|
||||
/* 084258 80083658 AC29F7EC */ sw $t1, %lo(D_800DF7DC+0x10)($at)
|
||||
.L8008365C:
|
||||
/* 08425C 8008365C 844A0000 */ lh $t2, ($v0)
|
||||
/* 084260 80083660 844E0002 */ lh $t6, 2($v0)
|
||||
|
||||
@@ -41,13 +41,12 @@ glabel func_8008DC7C
|
||||
/* 08E910 8008DD10 3C068012 */ lui $a2, %hi(D_8012648C) # $a2, 0x8012
|
||||
/* 08E914 8008DD14 24C6648C */ addiu $a2, %lo(D_8012648C) # addiu $a2, $a2, 0x648c
|
||||
/* 08E918 8008DD18 8CC90000 */ lw $t1, ($a2)
|
||||
# This is accessing unk801264A0->unk1
|
||||
/* 08E91C 8008DD1C 3C0B8012 */ lui $t3, 0x8012
|
||||
/* 08E91C 8008DD1C 3C0B8012 */ lui $t3, %hi(D_801264A0+1) # $t3, 0x8012
|
||||
/* 08E920 8008DD20 00095080 */ sll $t2, $t1, 2
|
||||
/* 08E924 8008DD24 01495023 */ subu $t2, $t2, $t1
|
||||
/* 08E928 8008DD28 000A5080 */ sll $t2, $t2, 2
|
||||
/* 08E92C 8008DD2C 016A5821 */ addu $t3, $t3, $t2
|
||||
/* 08E930 8008DD30 916B64A1 */ lbu $t3, 0x64a1($t3)
|
||||
/* 08E930 8008DD30 916B64A1 */ lbu $t3, %lo(D_801264A0+1)($t3)
|
||||
/* 08E934 8008DD34 00002825 */ move $a1, $zero
|
||||
/* 08E938 8008DD38 11600007 */ beqz $t3, .L8008DD58
|
||||
/* 08E93C 8008DD3C 24040241 */ li $a0, 577
|
||||
|
||||
@@ -166,10 +166,9 @@ glabel func_80094D28
|
||||
/* 095B84 80094F84 3C014000 */ li $at, 0x40000000 # 2.000000
|
||||
/* 095B88 80094F88 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 095B8C 80094F8C 44813000 */ mtc1 $at, $f6
|
||||
# Accessing D_800DF510[4].unk8.
|
||||
/* 095B90 80094F90 3C01800E */ lui $at, %hi(D_800DF510) # $at, 0x800e
|
||||
/* 095B90 80094F90 3C01800E */ lui $at, %hi(D_800DF510+4*0x20+8) # $at, 0x800e
|
||||
/* 095B94 80094F94 E5880090 */ swc1 $f8, 0x90($t4)
|
||||
/* 095B98 80094F98 C42AF598 */ lwc1 $f10, -0xa68($at)
|
||||
/* 095B98 80094F98 C42AF598 */ lwc1 $f10, %lo(D_800DF510+4*0x20+8)($at)
|
||||
/* 095B9C 80094F9C 46043201 */ sub.s $f8, $f6, $f4
|
||||
/* 095BA0 80094FA0 8C4D0000 */ lw $t5, ($v0)
|
||||
/* 095BA4 80094FA4 46085402 */ mul.s $f16, $f10, $f8
|
||||
|
||||
@@ -207,11 +207,10 @@ glabel func_80095728
|
||||
/* 096620 80095A20 E584008C */ swc1 $f4, 0x8c($t4)
|
||||
/* 096624 80095A24 8C4D0000 */ lw $t5, ($v0)
|
||||
/* 096628 80095A28 44813000 */ mtc1 $at, $f6
|
||||
# Accessing D_800DF510[4].unk8.
|
||||
/* 09662C 80095A2C 3C01800E */ lui $at, %hi(D_800DF510) # $at, 0x800e
|
||||
/* 09662C 80095A2C 3C01800E */ lui $at, %hi(D_800DF510+4*0x20+8) # $at, 0x800e
|
||||
/* 096630 80095A30 E5A60090 */ swc1 $f6, 0x90($t5)
|
||||
/* 096634 80095A34 8C4E0000 */ lw $t6, ($v0)
|
||||
/* 096638 80095A38 C428F598 */ lwc1 $f8, -0xa68($at)
|
||||
/* 096638 80095A38 C428F598 */ lwc1 $f8, %lo(D_800DF510+4*0x20+8)($at)
|
||||
/* 09663C 80095A3C 00000000 */ nop
|
||||
/* 096640 80095A40 E5C80088 */ swc1 $f8, 0x88($t6)
|
||||
/* 096644 80095A44 8FAF002C */ lw $t7, 0x2c($sp)
|
||||
|
||||
Reference in New Issue
Block a user