mirror of
https://github.com/pmret/papermario.git
synced 2024-11-14 23:13:10 +01:00
a4e1c2f522
* fix vscode cpp extension messing with files.associations * move stuff * it builds! * symlink papermario.us.z64 * ci: put baserom in right place * add jp * fix splat dir * ignore starrod dump * .s deps * update jenkins * add dsl back * configure.py versions * wups * fine ethan * fix paths * configure: default to only the version(s) with existing baseroms * fix coverage * fix progress.py * progress.py verisoning * remove format.sh from CONTRIBUTING * update CONTRIBUTING * fix first_diff * diff.py: use ver/current/ * update splat.yaml * trying to fix subrepo * git subrepo pull tools/splat subrepo: subdir: "tools/splat" merged: "06a737f02d" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "06a737f02d" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * configure fix * git subrepo pull tools/splat subrepo: subdir: "tools/splat" merged: "41786effd3" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "41786effd3" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" Co-authored-by: Ethan Roseman <ethteck@gmail.com>
153 lines
7.4 KiB
ArmAsm
153 lines
7.4 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel get_float_variable
|
|
/* ECDDC 802C842C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* ECDE0 802C8430 3C02EFE8 */ lui $v0, 0xefe8
|
|
/* ECDE4 802C8434 34422080 */ ori $v0, $v0, 0x2080
|
|
/* ECDE8 802C8438 0045102A */ slt $v0, $v0, $a1
|
|
/* ECDEC 802C843C 10400006 */ beqz $v0, .L802C8458
|
|
/* ECDF0 802C8440 AFBF0010 */ sw $ra, 0x10($sp)
|
|
/* ECDF4 802C8444 3C02F119 */ lui $v0, 0xf119
|
|
/* ECDF8 802C8448 34424D80 */ ori $v0, $v0, 0x4d80
|
|
/* ECDFC 802C844C 0045102A */ slt $v0, $v0, $a1
|
|
/* ECE00 802C8450 14400005 */ bnez $v0, .L802C8468
|
|
/* ECE04 802C8454 3C02F2E3 */ lui $v0, 0xf2e3
|
|
.L802C8458:
|
|
/* ECE08 802C8458 44850000 */ mtc1 $a1, $f0
|
|
/* ECE0C 802C845C 00000000 */ nop
|
|
/* ECE10 802C8460 080B218D */ j .L802C8634
|
|
/* ECE14 802C8464 46800020 */ cvt.s.w $f0, $f0
|
|
.L802C8468:
|
|
/* ECE18 802C8468 34421100 */ ori $v0, $v0, 0x1100
|
|
/* ECE1C 802C846C 0045102A */ slt $v0, $v0, $a1
|
|
/* ECE20 802C8470 14400003 */ bnez $v0, .L802C8480
|
|
/* ECE24 802C8474 3C02F545 */ lui $v0, 0xf545
|
|
/* ECE28 802C8478 080B218B */ j .L802C862C
|
|
/* ECE2C 802C847C 00A0202D */ daddu $a0, $a1, $zero
|
|
.L802C8480:
|
|
/* ECE30 802C8480 34426B00 */ ori $v0, $v0, 0x6b00
|
|
/* ECE34 802C8484 0045102A */ slt $v0, $v0, $a1
|
|
/* ECE38 802C8488 14400009 */ bnez $v0, .L802C84B0
|
|
/* ECE3C 802C848C 3C02F676 */ lui $v0, 0xf676
|
|
/* ECE40 802C8490 3C020B53 */ lui $v0, 0xb53
|
|
/* ECE44 802C8494 34422B80 */ ori $v0, $v0, 0x2b80
|
|
/* ECE48 802C8498 00A22821 */ addu $a1, $a1, $v0
|
|
/* ECE4C 802C849C 8C83013C */ lw $v1, 0x13c($a0)
|
|
/* ECE50 802C84A0 00051080 */ sll $v0, $a1, 2
|
|
/* ECE54 802C84A4 00431021 */ addu $v0, $v0, $v1
|
|
/* ECE58 802C84A8 080B218B */ j .L802C862C
|
|
/* ECE5C 802C84AC 8C440000 */ lw $a0, ($v0)
|
|
.L802C84B0:
|
|
/* ECE60 802C84B0 34429800 */ ori $v0, $v0, 0x9800
|
|
/* ECE64 802C84B4 0045102A */ slt $v0, $v0, $a1
|
|
/* ECE68 802C84B8 14400007 */ bnez $v0, .L802C84D8
|
|
/* ECE6C 802C84BC 3C02F7A7 */ lui $v0, 0xf7a7
|
|
/* ECE70 802C84C0 3C040A21 */ lui $a0, 0xa21
|
|
/* ECE74 802C84C4 3484FE80 */ ori $a0, $a0, 0xfe80
|
|
/* ECE78 802C84C8 0C05154E */ jal get_global_byte
|
|
/* ECE7C 802C84CC 00A42021 */ addu $a0, $a1, $a0
|
|
/* ECE80 802C84D0 080B218B */ j .L802C862C
|
|
/* ECE84 802C84D4 0040202D */ daddu $a0, $v0, $zero
|
|
.L802C84D8:
|
|
/* ECE88 802C84D8 3442C500 */ ori $v0, $v0, 0xc500
|
|
/* ECE8C 802C84DC 0045102A */ slt $v0, $v0, $a1
|
|
/* ECE90 802C84E0 14400007 */ bnez $v0, .L802C8500
|
|
/* ECE94 802C84E4 3C02FB3B */ lui $v0, 0xfb3b
|
|
/* ECE98 802C84E8 3C0408F0 */ lui $a0, 0x8f0
|
|
/* ECE9C 802C84EC 3484D180 */ ori $a0, $a0, 0xd180
|
|
/* ECEA0 802C84F0 0C051594 */ jal get_area_byte
|
|
/* ECEA4 802C84F4 00A42021 */ addu $a0, $a1, $a0
|
|
/* ECEA8 802C84F8 080B218B */ j .L802C862C
|
|
/* ECEAC 802C84FC 0040202D */ daddu $a0, $v0, $zero
|
|
.L802C8500:
|
|
/* ECEB0 802C8500 34424C00 */ ori $v0, $v0, 0x4c00
|
|
/* ECEB4 802C8504 0045102A */ slt $v0, $v0, $a1
|
|
/* ECEB8 802C8508 14400015 */ bnez $v0, .L802C8560
|
|
/* ECEBC 802C850C 3C02FC6C */ lui $v0, 0xfc6c
|
|
/* ECEC0 802C8510 3C02055D */ lui $v0, 0x55d
|
|
/* ECEC4 802C8514 34424A80 */ ori $v0, $v0, 0x4a80
|
|
/* ECEC8 802C8518 00A22821 */ addu $a1, $a1, $v0
|
|
/* ECECC 802C851C 04A10002 */ bgez $a1, .L802C8528
|
|
/* ECED0 802C8520 00A0182D */ daddu $v1, $a1, $zero
|
|
/* ECED4 802C8524 24A3001F */ addiu $v1, $a1, 0x1f
|
|
.L802C8528:
|
|
/* ECED8 802C8528 00033143 */ sra $a2, $v1, 5
|
|
/* ECEDC 802C852C 00C0182D */ daddu $v1, $a2, $zero
|
|
/* ECEE0 802C8530 00031140 */ sll $v0, $v1, 5
|
|
/* ECEE4 802C8534 00A23023 */ subu $a2, $a1, $v0
|
|
/* ECEE8 802C8538 00031880 */ sll $v1, $v1, 2
|
|
/* ECEEC 802C853C 3C02802E */ lui $v0, %hi(gMapFlags)
|
|
/* ECEF0 802C8540 8C42A480 */ lw $v0, %lo(gMapFlags)($v0)
|
|
/* ECEF4 802C8544 3C013F80 */ lui $at, 0x3f80
|
|
/* ECEF8 802C8548 44810000 */ mtc1 $at, $f0
|
|
/* ECEFC 802C854C 00621821 */ addu $v1, $v1, $v0
|
|
/* ECF00 802C8550 24020001 */ addiu $v0, $zero, 1
|
|
/* ECF04 802C8554 8C630000 */ lw $v1, ($v1)
|
|
/* ECF08 802C8558 080B216D */ j .L802C85B4
|
|
/* ECF0C 802C855C 00C21004 */ sllv $v0, $v0, $a2
|
|
.L802C8560:
|
|
/* ECF10 802C8560 34427900 */ ori $v0, $v0, 0x7900
|
|
/* ECF14 802C8564 0045102A */ slt $v0, $v0, $a1
|
|
/* ECF18 802C8568 14400018 */ bnez $v0, .L802C85CC
|
|
/* ECF1C 802C856C 3C02FD9D */ lui $v0, 0xfd9d
|
|
/* ECF20 802C8570 3C02042C */ lui $v0, 0x42c
|
|
/* ECF24 802C8574 34421D80 */ ori $v0, $v0, 0x1d80
|
|
/* ECF28 802C8578 00A22821 */ addu $a1, $a1, $v0
|
|
/* ECF2C 802C857C 04A10002 */ bgez $a1, .L802C8588
|
|
/* ECF30 802C8580 00A0182D */ daddu $v1, $a1, $zero
|
|
/* ECF34 802C8584 24A3001F */ addiu $v1, $a1, 0x1f
|
|
.L802C8588:
|
|
/* ECF38 802C8588 00033143 */ sra $a2, $v1, 5
|
|
/* ECF3C 802C858C 00C0182D */ daddu $v1, $a2, $zero
|
|
/* ECF40 802C8590 00031140 */ sll $v0, $v1, 5
|
|
/* ECF44 802C8594 00A23023 */ subu $a2, $a1, $v0
|
|
/* ECF48 802C8598 00031880 */ sll $v1, $v1, 2
|
|
/* ECF4C 802C859C 00831821 */ addu $v1, $a0, $v1
|
|
/* ECF50 802C85A0 24020001 */ addiu $v0, $zero, 1
|
|
/* ECF54 802C85A4 00C21004 */ sllv $v0, $v0, $a2
|
|
/* ECF58 802C85A8 8C6300C4 */ lw $v1, 0xc4($v1)
|
|
/* ECF5C 802C85AC 3C013F80 */ lui $at, 0x3f80
|
|
/* ECF60 802C85B0 44810000 */ mtc1 $at, $f0
|
|
.L802C85B4:
|
|
/* ECF64 802C85B4 00622824 */ and $a1, $v1, $v0
|
|
/* ECF68 802C85B8 14A0001E */ bnez $a1, .L802C8634
|
|
/* ECF6C 802C85BC 00000000 */ nop
|
|
/* ECF70 802C85C0 44800000 */ mtc1 $zero, $f0
|
|
/* ECF74 802C85C4 080B218D */ j .L802C8634
|
|
/* ECF78 802C85C8 00000000 */ nop
|
|
.L802C85CC:
|
|
/* ECF7C 802C85CC 3442A600 */ ori $v0, $v0, 0xa600
|
|
/* ECF80 802C85D0 0045102A */ slt $v0, $v0, $a1
|
|
/* ECF84 802C85D4 1440000A */ bnez $v0, .L802C8600
|
|
/* ECF88 802C85D8 3C02FECE */ lui $v0, 0xfece
|
|
/* ECF8C 802C85DC 3C0202FA */ lui $v0, 0x2fa
|
|
/* ECF90 802C85E0 3442F080 */ ori $v0, $v0, 0xf080
|
|
/* ECF94 802C85E4 00A22821 */ addu $a1, $a1, $v0
|
|
/* ECF98 802C85E8 3C03802E */ lui $v1, %hi(gMapVars)
|
|
/* ECF9C 802C85EC 8C63A484 */ lw $v1, %lo(gMapVars)($v1)
|
|
/* ECFA0 802C85F0 00051080 */ sll $v0, $a1, 2
|
|
/* ECFA4 802C85F4 00431021 */ addu $v0, $v0, $v1
|
|
/* ECFA8 802C85F8 080B218B */ j .L802C862C
|
|
/* ECFAC 802C85FC 8C440000 */ lw $a0, ($v0)
|
|
.L802C8600:
|
|
/* ECFB0 802C8600 3442D300 */ ori $v0, $v0, 0xd300
|
|
/* ECFB4 802C8604 0045102A */ slt $v0, $v0, $a1
|
|
/* ECFB8 802C8608 10400003 */ beqz $v0, .L802C8618
|
|
/* ECFBC 802C860C 3C0201C9 */ lui $v0, 0x1c9
|
|
/* ECFC0 802C8610 080B218B */ j .L802C862C
|
|
/* ECFC4 802C8614 00A0202D */ daddu $a0, $a1, $zero
|
|
.L802C8618:
|
|
/* ECFC8 802C8618 3442C380 */ ori $v0, $v0, 0xc380
|
|
/* ECFCC 802C861C 00A22821 */ addu $a1, $a1, $v0
|
|
/* ECFD0 802C8620 00051080 */ sll $v0, $a1, 2
|
|
/* ECFD4 802C8624 00821021 */ addu $v0, $a0, $v0
|
|
/* ECFD8 802C8628 8C440084 */ lw $a0, 0x84($v0)
|
|
.L802C862C:
|
|
/* ECFDC 802C862C 0C0B1248 */ jal fixed_var_to_float
|
|
/* ECFE0 802C8630 00000000 */ nop
|
|
.L802C8634:
|
|
/* ECFE4 802C8634 8FBF0010 */ lw $ra, 0x10($sp)
|
|
/* ECFE8 802C8638 03E00008 */ jr $ra
|
|
/* ECFEC 802C863C 27BD0018 */ addiu $sp, $sp, 0x18
|