Added glabels whose lower offset is only added.

This commit is contained in:
Antonio Castelli
2021-05-30 12:48:50 -07:00
parent 575e639a17
commit a72a063b79
21 changed files with 73 additions and 58 deletions
@@ -1,9 +1,9 @@
glabel func_8002F2AC
/* 02FEAC 8002F2AC 3C038012 */ lui $v1, %hi(D_8011B118) # $v1, 0x8012
/* 02FEB0 8002F2B0 8C63B118 */ lw $v1, %lo(D_8011B118)($v1)
/* 02FEB4 8002F2B4 3C0E8012 */ lui $t6, 0x8012
/* 02FEB4 8002F2B4 3C0E8012 */ lui $t6, %hi(D_8011B120) # $t6, 0x8012
/* 02FEB8 8002F2B8 18600028 */ blez $v1, .L8002F35C
/* 02FEBC 8002F2BC 25C4B120 */ addiu $a0, $t6, -0x4ee0
/* 02FEBC 8002F2BC 25C4B120 */ addiu $a0, $t6, %lo(D_8011B120)
/* 02FEC0 8002F2C0 00037900 */ sll $t7, $v1, 4
/* 02FEC4 8002F2C4 01E42821 */ addu $a1, $t7, $a0
/* 02FEC8 8002F2C8 24840010 */ addiu $a0, $a0, 0x10
@@ -30,26 +30,26 @@ glabel func_8003833C
/* 038FAC 800383AC 0C027B2E */ jal is_tt_unlocked
/* 038FB0 800383B0 00000000 */ nop
/* 038FB4 800383B4 10400005 */ beqz $v0, .L800383CC
/* 038FB8 800383B8 3C06800E */ lui $a2, 0x800e
/* 038FB8 800383B8 3C06800E */ lui $a2, %hi(D_800DCA58) # $a2, 0x800e
/* 038FBC 800383BC 3C06800E */ lui $a2, %hi(D_800DCA70) # $a2, 0x800e
/* 038FC0 800383C0 24C6CA70 */ addiu $a2, %lo(D_800DCA70) # addiu $a2, $a2, -0x3590
/* 038FC4 800383C4 1000000E */ b .L80038400
/* 038FC8 800383C8 2404000A */ li $a0, 10
.L800383CC:
/* 038FCC 800383CC 24C6CA58 */ addiu $a2, $a2, -0x35a8
/* 038FCC 800383CC 24C6CA58 */ addiu $a2, %lo(D_800DCA58) # addiu $a2, $a2, -0x35a8
/* 038FD0 800383D0 1000000B */ b .L80038400
/* 038FD4 800383D4 24040009 */ li $a0, 9
.L800383D8:
/* 038FD8 800383D8 0C027B2E */ jal is_tt_unlocked
/* 038FDC 800383DC 00000000 */ nop
/* 038FE0 800383E0 10400005 */ beqz $v0, .L800383F8
/* 038FE4 800383E4 3C06800E */ lui $a2, 0x800e
/* 038FE4 800383E4 3C06800E */ lui $a2, %hi(D_800DCA50) # $a2, 0x800e
/* 038FE8 800383E8 3C06800E */ lui $a2, %hi(D_800DCA64) # $a2, 0x800e
/* 038FEC 800383EC 24C6CA64 */ addiu $a2, %lo(D_800DCA64) # addiu $a2, $a2, -0x359c
/* 038FF0 800383F0 10000003 */ b .L80038400
/* 038FF4 800383F4 24040009 */ li $a0, 9
.L800383F8:
/* 038FF8 800383F8 24C6CA50 */ addiu $a2, $a2, -0x35b0
/* 038FF8 800383F8 24C6CA50 */ addiu $a2, %lo(D_800DCA50) # addiu $a2, $a2, -0x35b0
/* 038FFC 800383FC 24040008 */ li $a0, 8
.L80038400:
/* 039000 80038400 1880000E */ blez $a0, .L8003843C
@@ -1,9 +1,9 @@
glabel func_80069F28
/* 06AB28 80069F28 3C038012 */ lui $v1, %hi(D_80120CE0) # $v1, 0x8012
/* 06AB2C 80069F2C 8C630CE0 */ lw $v1, %lo(D_80120CE0)($v1)
/* 06AB30 80069F30 3C0E8012 */ lui $t6, 0x8012
/* 06AB30 80069F30 3C0E8012 */ lui $t6, %hi(D_80120AC0) # $t6, 0x8012
/* 06AB34 80069F34 04600009 */ bltz $v1, .L80069F5C
/* 06AB38 80069F38 25C20AC0 */ addiu $v0, $t6, 0xac0
/* 06AB38 80069F38 25C20AC0 */ addiu $v0, $t6, %lo(D_80120AC0)
/* 06AB3C 80069F3C 00037900 */ sll $t7, $v1, 4
/* 06AB40 80069F40 01E37821 */ addu $t7, $t7, $v1
/* 06AB44 80069F44 000F7880 */ sll $t7, $t7, 2
@@ -46,9 +46,9 @@ glabel func_80071850
/* 0724E4 800718E4 ACA0FFF0 */ sw $zero, -0x10($a1)
/* 0724E8 800718E8 3C048012 */ lui $a0, %hi(D_801235C0) # $a0, 0x8012
/* 0724EC 800718EC 8C8435C0 */ lw $a0, %lo(D_801235C0)($a0)
/* 0724F0 800718F0 3C0E8012 */ lui $t6, 0x8012
/* 0724F0 800718F0 3C0E8012 */ lui $t6, %hi(D_80123580) # $t6, 0x8012
/* 0724F4 800718F4 1880003B */ blez $a0, .L800719E4
/* 0724F8 800718F8 25C53580 */ addiu $a1, $t6, 0x3580
/* 0724F8 800718F8 25C53580 */ addiu $a1, $t6, %lo(D_80123580)
/* 0724FC 800718FC 00047900 */ sll $t7, $a0, 4
/* 072500 80071900 01E55021 */ addu $t2, $t7, $a1
/* 072504 80071904 24100014 */ li $s0, 20
@@ -157,9 +157,9 @@ glabel func_80071A24
/* 072874 80071C74 3C038012 */ lui $v1, %hi(D_801235C0) # $v1, 0x8012
/* 072878 80071C78 8C6335C0 */ lw $v1, %lo(D_801235C0)($v1)
/* 07287C 80071C7C 3C0E8012 */ lui $t6, 0x8012
/* 07287C 80071C7C 3C0E8012 */ lui $t6, %hi(D_80123580) # $t6, 0x8012
/* 072880 80071C80 04600017 */ bltz $v1, .L80071CE0
/* 072884 80071C84 25C43580 */ addiu $a0, $t6, 0x3580
/* 072884 80071C84 25C43580 */ addiu $a0, $t6, %lo(D_80123580)
/* 072888 80071C88 00037900 */ sll $t7, $v1, 4
/* 07288C 80071C8C 01E44021 */ addu $t0, $t7, $a0
/* 072890 80071C90 240C0014 */ li $t4, 20
@@ -86,8 +86,8 @@ glabel func_8007A550
/* 07B284 8007A684 24A56260 */ addiu $a1, %lo(D_80126260) # addiu $a1, $a1, 0x6260
/* 07B288 8007A688 0C01EAFF */ jal func_8007ABFC
/* 07B28C 8007A68C 24060050 */ li $a2, 80
/* 07B290 8007A690 3C058012 */ lui $a1, 0x8012
/* 07B294 8007A694 24A46260 */ addiu $a0, $a1, 0x6260
/* 07B290 8007A690 3C058012 */ lui $a1, %hi(D_80126260) # $a1, 0x8012
/* 07B294 8007A694 24A46260 */ addiu $a0, $a1, %lo(D_80126260)
/* 07B298 8007A698 24020500 */ li $v0, 1280
/* 07B29C 8007A69C 24190280 */ li $t9, 640
/* 07B2A0 8007A6A0 24080400 */ li $t0, 1024
@@ -114,8 +114,8 @@ glabel func_8007A550
/* 07B2EC 8007A6EC 24A56260 */ addiu $a1, %lo(D_80126260) # addiu $a1, $a1, 0x6260
/* 07B2F0 8007A6F0 0C01EAFF */ jal func_8007ABFC
/* 07B2F4 8007A6F4 24060050 */ li $a2, 80
/* 07B2F8 8007A6F8 3C058012 */ lui $a1, 0x8012
/* 07B2FC 8007A6FC 24A46260 */ addiu $a0, $a1, 0x6260
/* 07B2F8 8007A6F8 3C058012 */ lui $a1, %hi(D_80126260) # $a1, 0x8012
/* 07B2FC 8007A6FC 24A46260 */ addiu $a0, $a1, %lo(D_80126260)
/* 07B300 8007A700 24020500 */ li $v0, 1280
/* 07B304 8007A704 24090280 */ li $t1, 640
/* 07B308 8007A708 240A0400 */ li $t2, 1024
@@ -159,7 +159,7 @@ glabel MenuAudioOptionsLoop
/* 085AB4 80084EB4 1100001F */ beqz $t0, .L80084F34
/* 085AB8 80084EB8 00000000 */ nop
/* 085ABC 80084EBC 05010008 */ bgez $t0, .L80084EE0
/* 085AC0 80084EC0 3C02800E */ lui $v0, 0x800e
/* 085AC0 80084EC0 3C02800E */ lui $v0, %hi(D_800DFAC8) # $v0, 0x800e
/* 085AC4 80084EC4 3C02800E */ lui $v0, %hi(D_800DFAC8) # $v0, 0x800e
/* 085AC8 80084EC8 2442FAC8 */ addiu $v0, %lo(D_800DFAC8) # addiu $v0, $v0, -0x538
/* 085ACC 80084ECC 8C590000 */ lw $t9, ($v0)
@@ -168,7 +168,7 @@ glabel MenuAudioOptionsLoop
/* 085AD8 80084ED8 10000006 */ b .L80084EF4
/* 085ADC 80084EDC AC4A0000 */ sw $t2, ($v0)
.L80084EE0:
/* 085AE0 80084EE0 2442FAC8 */ addiu $v0, $v0, -0x538
/* 085AE0 80084EE0 2442FAC8 */ addiu $v0, %lo(D_800DFAC8) # addiu $v0, $v0, -0x538
/* 085AE4 80084EE4 8C4C0000 */ lw $t4, ($v0)
/* 085AE8 80084EE8 00000000 */ nop
/* 085AEC 80084EEC 258B0001 */ addiu $t3, $t4, 1
@@ -15,7 +15,7 @@ glabel MenuCharacterSelectInit
/* 08BC00 8008B000 0C027B2E */ jal is_tt_unlocked
/* 08BC04 8008B004 00000000 */ nop
/* 08BC08 8008B008 10400007 */ beqz $v0, .L8008B028
/* 08BC0C 8008B00C 3C078012 */ lui $a3, 0x8012
/* 08BC0C 8008B00C 3C078012 */ lui $a3, %hi(D_801263CC) # $a3, 0x8012
/* 08BC10 8008B010 3C078012 */ lui $a3, %hi(D_801263CC) # $a3, 0x8012
/* 08BC14 8008B014 3C0E800E */ lui $t6, %hi(D_800DFF40) # $t6, 0x800e
/* 08BC18 8008B018 24E763CC */ addiu $a3, %lo(D_801263CC) # addiu $a3, $a3, 0x63cc
@@ -24,7 +24,7 @@ glabel MenuCharacterSelectInit
/* 08BC24 8008B024 ACEE0000 */ sw $t6, ($a3)
.L8008B028:
/* 08BC28 8008B028 3C0F800E */ lui $t7, %hi(D_800DFE40) # $t7, 0x800e
/* 08BC2C 8008B02C 24E763CC */ addiu $a3, $a3, 0x63cc
/* 08BC2C 8008B02C 24E763CC */ addiu $a3, %lo(D_801263CC) # addiu $a3, $a3, 0x63cc
/* 08BC30 8008B030 25EFFE40 */ addiu $t7, %lo(D_800DFE40) # addiu $t7, $t7, -0x1c0
/* 08BC34 8008B034 1000000F */ b .L8008B074
/* 08BC38 8008B038 ACEF0000 */ sw $t7, ($a3)
@@ -62,7 +62,7 @@ glabel MenuGameSelectInit
/* 08D1F0 8008C5F0 0C027B18 */ jal func_8009EC60
/* 08D1F4 8008C5F4 00000000 */ nop
/* 08D1F8 8008C5F8 10400009 */ beqz $v0, .L8008C620
/* 08D1FC 8008C5FC 3C038012 */ lui $v1, 0x8012
/* 08D1FC 8008C5FC 3C038012 */ lui $v1, %hi(D_80126460) # $v1, 0x8012
/* 08D200 8008C600 3C038012 */ lui $v1, %hi(D_80126460) # $v1, 0x8012
/* 08D204 8008C604 3C08800E */ lui $t0, %hi(D_800E0278) # $t0, 0x800e
/* 08D208 8008C608 24636460 */ addiu $v1, %lo(D_80126460) # addiu $v1, $v1, 0x6460
@@ -73,7 +73,7 @@ glabel MenuGameSelectInit
/* 08D21C 8008C61C AE890000 */ sw $t1, ($s4)
.L8008C620:
/* 08D220 8008C620 3C0A800E */ lui $t2, %hi(D_800E0198) # $t2, 0x800e
/* 08D224 8008C624 24636460 */ addiu $v1, $v1, 0x6460
/* 08D224 8008C624 24636460 */ addiu $v1, %lo(D_80126460) # addiu $v1, $v1, 0x6460
/* 08D228 8008C628 254A0198 */ addiu $t2, %lo(D_800E0198) # addiu $t2, $t2, 0x198
/* 08D22C 8008C62C 240B0001 */ li $t3, 1
/* 08D230 8008C630 AC6A0000 */ sw $t2, ($v1)
@@ -153,8 +153,8 @@ glabel MenuTrophyRaceRankingsInit
/* 09984C 80098C4C 00004025 */ move $t0, $zero
.L80098C50:
/* 099850 80098C50 18A00011 */ blez $a1, .L80098C98
/* 099854 80098C54 3C188012 */ lui $t8, 0x8012
/* 099858 80098C58 270263F8 */ addiu $v0, $t8, 0x63f8
/* 099854 80098C54 3C188012 */ lui $t8, %hi(D_801263F8) # $t8, 0x8012
/* 099858 80098C58 270263F8 */ addiu $v0, $t8, %lo(D_801263F8)
/* 09985C 80098C5C 0005C880 */ sll $t9, $a1, 2
/* 099860 80098C60 3C04800E */ lui $a0, %hi(D_800E1004) # $a0, 0x800e
/* 099864 80098C64 24841004 */ addiu $a0, %lo(D_800E1004) # addiu $a0, $a0, 0x1004
@@ -282,8 +282,8 @@ glabel MenuTrophyRaceRankingsInit
/* 099A14 80098E14 3C048012 */ lui $a0, %hi(D_80126430) # $a0, 0x8012
/* 099A18 80098E18 18A00010 */ blez $a1, .L80098E5C
/* 099A1C 80098E1C 24846430 */ addiu $a0, %lo(D_80126430) # addiu $a0, $a0, 0x6430
/* 099A20 80098E20 3C0F8012 */ lui $t7, 0x8012
/* 099A24 80098E24 25E26420 */ addiu $v0, $t7, 0x6420
/* 099A20 80098E20 3C0F8012 */ lui $t7, %hi(D_80126420) # $t7, 0x8012
/* 099A24 80098E24 25E26420 */ addiu $v0, $t7, %lo(D_80126420)
/* 099A28 80098E28 00A21821 */ addu $v1, $a1, $v0
.L80098E2C:
/* 099A2C 80098E2C 90990000 */ lbu $t9, ($a0)
@@ -48,8 +48,8 @@ glabel func_8008F00C
/* 08FCB8 8008F0B8 3C048012 */ lui $a0, %hi(D_801269C4) # $a0, 0x8012
/* 08FCBC 8008F0BC 18C0000B */ blez $a2, .L8008F0EC
/* 08FCC0 8008F0C0 24180001 */ li $t8, 1
/* 08FCC4 8008F0C4 3C0F8012 */ lui $t7, 0x8012
/* 08FCC8 8008F0C8 25E369C0 */ addiu $v1, $t7, 0x69c0
/* 08FCC4 8008F0C4 3C0F8012 */ lui $t7, %hi(p1_vehicle) # $t7, 0x8012
/* 08FCC8 8008F0C8 25E369C0 */ addiu $v1, $t7, %lo(p1_vehicle)
/* 08FCCC 8008F0CC 00C32821 */ addu $a1, $a2, $v1
/* 08FCD0 8008F0D0 248469C4 */ addiu $a0, %lo(D_801269C4) # addiu $a0, $a0, 0x69c4
.L8008F0D4:
@@ -139,8 +139,8 @@ glabel func_8009963C
.L80099830:
/* 09A430 80099830 19800027 */ blez $t4, .L800998D0
/* 09A434 80099834 3C048012 */ lui $a0, %hi(D_80126508) # $a0, 0x8012
/* 09A438 80099838 3C198012 */ lui $t9, 0x8012
/* 09A43C 8009983C 27236520 */ addiu $v1, $t9, 0x6520
/* 09A438 80099838 3C198012 */ lui $t9, %hi(D_80126520) # $t9, 0x8012
/* 09A43C 8009983C 27236520 */ addiu $v1, $t9, %lo(D_80126520)
/* 09A440 80099840 3C058012 */ lui $a1, %hi(D_80126540) # $a1, 0x8012
/* 09A444 80099844 3C068012 */ lui $a2, %hi(D_80126510) # $a2, 0x8012
/* 09A448 80099848 3C078012 */ lui $a3, %hi(D_80126518) # $a3, 0x8012
@@ -78,8 +78,8 @@ glabel func_800998E0
/* 09A60C 80099A0C A478FFFE */ sh $t8, -2($v1)
.L80099A10:
/* 09A610 80099A10 1920000D */ blez $t1, .L80099A48
/* 09A614 80099A14 3C198012 */ lui $t9, 0x8012
/* 09A618 80099A18 27226540 */ addiu $v0, $t9, 0x6540
/* 09A614 80099A14 3C198012 */ lui $t9, %hi(D_80126540) # $t9, 0x8012
/* 09A618 80099A18 27226540 */ addiu $v0, $t9, %lo(D_80126540)
/* 09A61C 80099A1C 01222021 */ addu $a0, $t1, $v0
.L80099A20:
/* 09A620 80099A20 90430000 */ lbu $v1, ($v0)
@@ -309,7 +309,7 @@ glabel func_80099E8C
/* 09AF28 8009A328 240FFFFF */ li $t7, -1
/* 09AF2C 8009A32C 24010002 */ li $at, 2
/* 09AF30 8009A330 10410007 */ beq $v0, $at, .L8009A350
/* 09AF34 8009A334 3C05800E */ lui $a1, 0x800e
/* 09AF34 8009A334 3C05800E */ lui $a1, %hi(D_800E048C) # $a1, 0x800e
/* 09AF38 8009A338 3C05800E */ lui $a1, %hi(D_800E045C) # $a1, 0x800e
/* 09AF3C 8009A33C 10000005 */ b .L8009A354
/* 09AF40 8009A340 24A5045C */ addiu $a1, %lo(D_800E045C) # addiu $a1, $a1, 0x45c
@@ -318,7 +318,7 @@ glabel func_80099E8C
/* 09AF48 8009A348 10000002 */ b .L8009A354
/* 09AF4C 8009A34C 24A50474 */ addiu $a1, %lo(D_800E0474) # addiu $a1, $a1, 0x474
.L8009A350:
/* 09AF50 8009A350 24A5048C */ addiu $a1, $a1, 0x48c
/* 09AF50 8009A350 24A5048C */ addiu $a1, %lo(D_800E048C) # addiu $a1, $a1, 0x48c
.L8009A354:
/* 09AF54 8009A354 862B0008 */ lh $t3, 8($s1)
/* 09AF58 8009A358 862D000A */ lh $t5, 0xa($s1)
@@ -38,8 +38,8 @@ glabel func_8009C6D4
/* 09D35C 8009C75C 3C01800E */ lui $at, %hi(D_800DF758) # $at, 0x800e
/* 09D360 8009C760 18600008 */ blez $v1, .L8009C784
/* 09D364 8009C764 A420F758 */ sh $zero, %lo(D_800DF758)($at)
/* 09D368 8009C768 3C0C8012 */ lui $t4, 0x8012
/* 09D36C 8009C76C 25826750 */ addiu $v0, $t4, 0x6750
/* 09D368 8009C768 3C0C8012 */ lui $t4, %hi(D_80126750) # $t4, 0x8012
/* 09D36C 8009C76C 25826750 */ addiu $v0, $t4, %lo(D_80126750)
/* 09D370 8009C770 00622021 */ addu $a0, $v1, $v0
.L8009C774:
/* 09D374 8009C774 24420001 */ addiu $v0, $v0, 1
@@ -1052,7 +1052,7 @@ glabel func_8009F034
/* 0A0BA8 8009FFA8 00000000 */ nop
/* 0A0BAC 8009FFAC 30590040 */ andi $t9, $v0, 0x40
/* 0A0BB0 8009FFB0 13200008 */ beqz $t9, .L8009FFD4
/* 0A0BB4 8009FFB4 3C02800E */ lui $v0, 0x800e
/* 0A0BB4 8009FFB4 3C02800E */ lui $v0, %hi(D_800E27A4) # $v0, 0x800e
/* 0A0BB8 8009FFB8 3C02800E */ lui $v0, %hi(D_800E27A4) # $v0, 0x800e
/* 0A0BBC 8009FFBC 244227A4 */ addiu $v0, %lo(D_800E27A4) # addiu $v0, $v0, 0x27a4
/* 0A0BC0 8009FFC0 80580001 */ lb $t8, 1($v0)
@@ -1063,7 +1063,7 @@ glabel func_8009F034
.L8009FFD4:
/* 0A0BD4 8009FFD4 3C0E800E */ lui $t6, %hi(D_800E27A8) # $t6, 0x800e
/* 0A0BD8 8009FFD8 81CE27A8 */ lb $t6, %lo(D_800E27A8)($t6)
/* 0A0BDC 8009FFDC 244227A4 */ addiu $v0, $v0, 0x27a4
/* 0A0BDC 8009FFDC 244227A4 */ addiu $v0, %lo(D_800E27A4) # addiu $v0, $v0, 0x27a4
/* 0A0BE0 8009FFE0 A04E0001 */ sb $t6, 1($v0)
.L8009FFE4:
/* 0A0BE4 8009FFE4 8FBF0064 */ lw $ra, 0x64($sp)
@@ -43,12 +43,12 @@ glabel func_800A19A4
/* 0A2648 800A1A48 00000000 */ nop
.L800A1A4C:
/* 0A264C 800A1A4C 8E470000 */ lw $a3, ($s2)
/* 0A2650 800A1A50 3C148012 */ lui $s4, 0x8012
/* 0A2654 800A1A54 3C158012 */ lui $s5, 0x8012
/* 0A2658 800A1A58 3C168012 */ lui $s6, 0x8012
/* 0A265C 800A1A5C 26C66D04 */ addiu $a2, $s6, 0x6d04
/* 0A2660 800A1A60 26A56D00 */ addiu $a1, $s5, 0x6d00
/* 0A2664 800A1A64 26846CFC */ addiu $a0, $s4, 0x6cfc
/* 0A2650 800A1A50 3C148012 */ lui $s4, %hi(D_80126CFC) # $s4, 0x8012
/* 0A2654 800A1A54 3C158012 */ lui $s5, %hi(D_80126D00) # $s5, 0x8012
/* 0A2658 800A1A58 3C168012 */ lui $s6, %hi(D_80126D04) # $s6, 0x8012
/* 0A265C 800A1A5C 26C66D04 */ addiu $a2, $s6, %lo(D_80126D04)
/* 0A2660 800A1A60 26A56D00 */ addiu $a1, $s5, %lo(D_80126D00)
/* 0A2664 800A1A64 26846CFC */ addiu $a0, $s4, %lo(D_80126CFC)
/* 0A2668 800A1A68 24110003 */ li $s1, 3
/* 0A266C 800A1A6C 0C02A980 */ jal func_800AA600
/* 0A2670 800A1A70 24E70640 */ addiu $a3, $a3, 0x640
@@ -126,9 +126,9 @@ glabel func_800C5B58
/* 0C693C 800C5D3C 3C0D800E */ lui $t5, %hi(D_800E3710) # $t5, 0x800e
/* 0C6940 800C5D40 AC4B0004 */ sw $t3, 4($v0)
/* 0C6944 800C5D44 81AD3710 */ lb $t5, %lo(D_800E3710)($t5)
/* 0C6948 800C5D48 3C0E800E */ lui $t6, 0x800e
/* 0C6948 800C5D48 3C0E800E */ lui $t6, %hi(D_800E3710) # $t6, 0x800e
/* 0C694C 800C5D4C 05A00023 */ bltz $t5, .L800C5DDC
/* 0C6950 800C5D50 25D03710 */ addiu $s0, $t6, 0x3710
/* 0C6950 800C5D50 25D03710 */ addiu $s0, $t6, %lo(D_800E3710)
/* 0C6954 800C5D54 82020000 */ lb $v0, ($s0)
/* 0C6958 800C5D58 00000000 */ nop
.L800C5D5C:
+4 -2
View File
@@ -55,8 +55,10 @@ u16 D_800DC9D0[64] = {
0x0002, 0x0504, 0x0001, 0x0000,
0x0000, 0x0004, 0x0000, 0x0000
};
s8 D_800DCA50[17] = {
2, 5, 6, 3, 10, 8, 7, 9,
s8 D_800DCA50[8] = {
2, 5, 6, 3, 10, 8, 7, 9
};
u8 D_800DCA58[9] = {
2, 5, 6, 3, 10, 8, 7, 9, 11
};
s8 D_800DCA64[9] = {
+22 -10
View File
@@ -2,14 +2,18 @@ import re
from file_util import FileUtil
LINE_START_REGEX = r'\n(/\* ([0-9A-F]{6}) [0-9A-F]{8} [0-9A-F]{8} \*/\s+|\.L80[0-9A-F]{6}:|\n)'
REG_REGEX = r'(\$(at|v[0-1]|a[0-3]|t[0-9]|s[0-7]|f[0-9]{1,2}|k[0-1]|gp|sp|fp|ra|zero))'
LINE_START_REGEX = r'\n(/\* ([0-9A-F]{6}) [0-9A-F]{8} [0-9A-F]{8} \*/\s+|\.L80[0-9A-F]{6}:)?'
REG_REGEX = r'(\$(at|v[0-1]|a[0-3]|t[0-9]|s[0-7]|f[0-9]{1,2}|k[01]|gp|sp|fp|ra|zero))'
GLABEL_UPPER_REGEX = '(' + LINE_START_REGEX + r'lui\s+' + REG_REGEX + r',\s+(0x80[0-9a-f]{2}))'
GLABEL_LOWER_REGEX = '(' + LINE_START_REGEX + r'[sl][bhwd](u|c1)?\s+' + REG_REGEX + r',\s+(-?0x[0-9a-f]{3,4})\(\4\))'
GLABEL_LOWER_LS_REGEX = r'[sl][bhwd](u|c1)?\s+' + REG_REGEX + r',\s+(-?0x[0-9a-f]{3,4})\(\4\)'
GLABEL_LOWER_ADDU_REGEX = r'addiu\s+' + REG_REGEX + r',\s+\4,\s+(-?0x[0-9a-f]{3,4})'
GLABEL_LOWER_REGEX = LINE_START_REGEX + '(' + GLABEL_LOWER_LS_REGEX + '|' + GLABEL_LOWER_ADDU_REGEX + ')'
GLABEL_REGEX = GLABEL_UPPER_REGEX + '(' + LINE_START_REGEX + '[^\n]*){0,10}' + GLABEL_LOWER_REGEX
UPPER_INSTR_REGEX_TMPL = r'(/\* %s[^\n]*lui\s+)([^\n]*)'
LOWER_INSTR_REGEX_TMPL = r'(/\* %s[^\n]*[ls][bhwd](u|c1)?\s+' + REG_REGEX + r',\s+)-?0x[0-9a-f]{3,4}([^\n]*)'
UPPER_INSTR_REGEX_TMPL = r'(/\* %s[^\n#]*lui\s+)([^\n]*)'
LOWER_INSTR_LS_REGEX_TMPL = r'(/\* %s[^\n#]*[ls][bhwd](u|c1)?\s+' + REG_REGEX + r',\s+)-?0x[0-9a-f]{3,4}([^\n]*)'
LOWER_INSTR_ADDU_REGEX_TMPL = r'(/\* %s[^\n#]*addiu\s+' + REG_REGEX + r',\s+' + REG_REGEX + r',\s+)-?0x[0-9a-f]{3,4}'
LOWER_INSTR_ADDU_SAME_REGEX_TMPL = r'(/\* %s[^\n#]*)(addiu\s+' + REG_REGEX + r',\s+\3,\s+-?0x[0-9a-f]{3,4})'
IGNORE_GLABELS = ['D_800E389E', 'D_801264A1', 'D_800E1B84']
@@ -21,9 +25,11 @@ def _find_glabels(asm):
matches = re.findall(GLABEL_REGEX, contents)
for match in matches:
reg = match[3]
offsets = (match[2], match[11]) # ROM offsets of the lui and [sl][bhw]
offsets = (match[2], match[10]) # ROM offsets of the lui and [sl][bhw]
glabel_upper = int(match[5], 16) # upper immediate of glabel
glabel_lower = int(match[15], 16) # lower immediate of the glabel
lower_group = 15 if match[15] else 18 # lower immediate of the glabel
is_addu = lower_group == 18
glabel_lower = int(match[lower_group], 16)
glabel_lower &= 0xFFFF
if glabel_lower & 0x8000:
glabel_upper -= 1
@@ -32,11 +38,17 @@ def _find_glabels(asm):
glabels.append((glabel, *offsets))
# replace upper instruction
contents = re.sub(UPPER_INSTR_REGEX_TMPL % offsets[0],
r'\1' + '%s, %%hi(%s) # ' % (reg, glabel) + r'\2',
r'\1%s, %%hi(%s) # \2' % (reg, glabel),
contents)
# replace lower instruction
contents = re.sub(LOWER_INSTR_REGEX_TMPL % offsets[1],
r'\1' + '%%lo(%s)' % (glabel) + r'\5',
contents = re.sub(LOWER_INSTR_LS_REGEX_TMPL % offsets[1],
r'\1%%lo(%s)\5' % glabel,
contents)
contents = re.sub(LOWER_INSTR_ADDU_SAME_REGEX_TMPL % offsets[1],
r'\1addiu \3, %%lo(%s) # \2' % glabel,
contents)
contents = re.sub(LOWER_INSTR_ADDU_REGEX_TMPL % offsets[1],
r'\1%%lo(%s)' % glabel,
contents)
if len(matches):
FileUtil.write_text_to_file(file, contents)

Some files were not shown because too many files have changed in this diff Show More