mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
295 lines
14 KiB
ArmAsm
295 lines
14 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
|
|
glabel func_80244BC4
|
|
/* 165424 80244BC4 3C048025 */ lui $a0, 0x8025
|
|
/* 165428 80244BC8 24849B84 */ addiu $a0, $a0, -0x647c
|
|
/* 16542C 80244BCC 8C820000 */ lw $v0, ($a0)
|
|
/* 165430 80244BD0 80420004 */ lb $v0, 4($v0)
|
|
/* 165434 80244BD4 14400009 */ bnez $v0, .L80244BFC
|
|
/* 165438 80244BD8 24020001 */ addiu $v0, $zero, 1
|
|
/* 16543C 80244BDC 3C038025 */ lui $v1, 0x8025
|
|
/* 165440 80244BE0 8063C098 */ lb $v1, -0x3f68($v1)
|
|
/* 165444 80244BE4 14620005 */ bne $v1, $v0, .L80244BFC
|
|
/* 165448 80244BE8 00000000 */ nop
|
|
/* 16544C 80244BEC 8C820004 */ lw $v0, 4($a0)
|
|
/* 165450 80244BF0 90420003 */ lbu $v0, 3($v0)
|
|
/* 165454 80244BF4 1040000B */ beqz $v0, .L80244C24
|
|
/* 165458 80244BF8 24020002 */ addiu $v0, $zero, 2
|
|
.L80244BFC:
|
|
/* 16545C 80244BFC 3C038025 */ lui $v1, 0x8025
|
|
/* 165460 80244C00 8C639B84 */ lw $v1, -0x647c($v1)
|
|
/* 165464 80244C04 80620004 */ lb $v0, 4($v1)
|
|
/* 165468 80244C08 14400006 */ bnez $v0, .L80244C24
|
|
/* 16546C 80244C0C 0000102D */ daddu $v0, $zero, $zero
|
|
/* 165470 80244C10 90630003 */ lbu $v1, 3($v1)
|
|
/* 165474 80244C14 2C630004 */ sltiu $v1, $v1, 4
|
|
/* 165478 80244C18 14600002 */ bnez $v1, .L80244C24
|
|
/* 16547C 80244C1C 24020001 */ addiu $v0, $zero, 1
|
|
/* 165480 80244C20 0000102D */ daddu $v0, $zero, $zero
|
|
.L80244C24:
|
|
/* 165484 80244C24 03E00008 */ jr $ra
|
|
/* 165488 80244C28 00000000 */ nop
|
|
|
|
/* 16548C 80244C2C 00000000 */ nop
|
|
/* 165490 80244C30 27BDFFD0 */ addiu $sp, $sp, -0x30
|
|
/* 165494 80244C34 AFB20020 */ sw $s2, 0x20($sp)
|
|
/* 165498 80244C38 00A0902D */ daddu $s2, $a1, $zero
|
|
/* 16549C 80244C3C AFBF0028 */ sw $ra, 0x28($sp)
|
|
/* 1654A0 80244C40 AFB30024 */ sw $s3, 0x24($sp)
|
|
/* 1654A4 80244C44 AFB1001C */ sw $s1, 0x1c($sp)
|
|
/* 1654A8 80244C48 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 1654AC 80244C4C 80830004 */ lb $v1, 4($a0)
|
|
/* 1654B0 80244C50 2C620005 */ sltiu $v0, $v1, 5
|
|
/* 1654B4 80244C54 10400013 */ beqz $v0, .L80244CA4
|
|
/* 1654B8 80244C58 00C0982D */ daddu $s3, $a2, $zero
|
|
/* 1654BC 80244C5C 00031080 */ sll $v0, $v1, 2
|
|
/* 1654C0 80244C60 3C018025 */ lui $at, 0x8025
|
|
/* 1654C4 80244C64 00220821 */ addu $at, $at, $v0
|
|
/* 1654C8 80244C68 8C22BF70 */ lw $v0, -0x4090($at)
|
|
/* 1654CC 80244C6C 00400008 */ jr $v0
|
|
/* 1654D0 80244C70 00000000 */ nop
|
|
/* 1654D4 80244C74 24040001 */ addiu $a0, $zero, 1
|
|
/* 1654D8 80244C78 0809132B */ j .L80244CAC
|
|
/* 1654DC 80244C7C 24110009 */ addiu $s1, $zero, 9
|
|
|
|
/* 1654E0 80244C80 24040002 */ addiu $a0, $zero, 2
|
|
/* 1654E4 80244C84 0809132B */ j .L80244CAC
|
|
/* 1654E8 80244C88 24110008 */ addiu $s1, $zero, 8
|
|
|
|
/* 1654EC 80244C8C 24040004 */ addiu $a0, $zero, 4
|
|
/* 1654F0 80244C90 0809132B */ j .L80244CAC
|
|
/* 1654F4 80244C94 24110019 */ addiu $s1, $zero, 0x19
|
|
|
|
/* 1654F8 80244C98 24040005 */ addiu $a0, $zero, 5
|
|
/* 1654FC 80244C9C 0809132B */ j .L80244CAC
|
|
/* 165500 80244CA0 24110010 */ addiu $s1, $zero, 0x10
|
|
|
|
.L80244CA4:
|
|
/* 165504 80244CA4 24040003 */ addiu $a0, $zero, 3
|
|
/* 165508 80244CA8 2411000A */ addiu $s1, $zero, 0xa
|
|
.L80244CAC:
|
|
/* 16550C 80244CAC 0C0926A9 */ jal func_80249AA4
|
|
/* 165510 80244CB0 24100004 */ addiu $s0, $zero, 4
|
|
/* 165514 80244CB4 0040202D */ daddu $a0, $v0, $zero
|
|
/* 165518 80244CB8 02512821 */ addu $a1, $s2, $s1
|
|
/* 16551C 80244CBC 02703021 */ addu $a2, $s3, $s0
|
|
/* 165520 80244CC0 240700FF */ addiu $a3, $zero, 0xff
|
|
/* 165524 80244CC4 AFA00010 */ sw $zero, 0x10($sp)
|
|
/* 165528 80244CC8 0C09265F */ jal func_8024997C
|
|
/* 16552C 80244CCC AFA00014 */ sw $zero, 0x14($sp)
|
|
/* 165530 80244CD0 8FBF0028 */ lw $ra, 0x28($sp)
|
|
/* 165534 80244CD4 8FB30024 */ lw $s3, 0x24($sp)
|
|
/* 165538 80244CD8 8FB20020 */ lw $s2, 0x20($sp)
|
|
/* 16553C 80244CDC 8FB1001C */ lw $s1, 0x1c($sp)
|
|
/* 165540 80244CE0 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 165544 80244CE4 03E00008 */ jr $ra
|
|
/* 165548 80244CE8 27BD0030 */ addiu $sp, $sp, 0x30
|
|
|
|
/* 16554C 80244CEC 3C028007 */ lui $v0, 0x8007
|
|
/* 165550 80244CF0 8C42419C */ lw $v0, 0x419c($v0)
|
|
/* 165554 80244CF4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 165558 80244CF8 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 16555C 80244CFC AFB00010 */ sw $s0, 0x10($sp)
|
|
/* 165560 80244D00 904300AB */ lbu $v1, 0xab($v0)
|
|
/* 165564 80244D04 24020001 */ addiu $v0, $zero, 1
|
|
/* 165568 80244D08 14620009 */ bne $v1, $v0, .L80244D30
|
|
/* 16556C 80244D0C 24A50022 */ addiu $a1, $a1, 0x22
|
|
/* 165570 80244D10 3C108025 */ lui $s0, 0x8025
|
|
/* 165574 80244D14 2610C0B0 */ addiu $s0, $s0, -0x3f50
|
|
/* 165578 80244D18 8E040048 */ lw $a0, 0x48($s0)
|
|
/* 16557C 80244D1C 0C051261 */ jal set_icon_render_pos
|
|
/* 165580 80244D20 24C6000A */ addiu $a2, $a2, 0xa
|
|
/* 165584 80244D24 8E040048 */ lw $a0, 0x48($s0)
|
|
/* 165588 80244D28 08091352 */ j .L80244D48
|
|
/* 16558C 80244D2C 00000000 */ nop
|
|
|
|
.L80244D30:
|
|
/* 165590 80244D30 3C108025 */ lui $s0, 0x8025
|
|
/* 165594 80244D34 2610C0B0 */ addiu $s0, $s0, -0x3f50
|
|
/* 165598 80244D38 8E04004C */ lw $a0, 0x4c($s0)
|
|
/* 16559C 80244D3C 0C051261 */ jal set_icon_render_pos
|
|
/* 1655A0 80244D40 24C6000A */ addiu $a2, $a2, 0xa
|
|
/* 1655A4 80244D44 8E04004C */ lw $a0, 0x4c($s0)
|
|
.L80244D48:
|
|
/* 1655A8 80244D48 0C0511F8 */ jal func_801447E0
|
|
/* 1655AC 80244D4C 00000000 */ nop
|
|
/* 1655B0 80244D50 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 1655B4 80244D54 8FB00010 */ lw $s0, 0x10($sp)
|
|
/* 1655B8 80244D58 03E00008 */ jr $ra
|
|
/* 1655BC 80244D5C 27BD0018 */ addiu $sp, $sp, 0x18
|
|
|
|
/* 1655C0 80244D60 3C028007 */ lui $v0, 0x8007
|
|
/* 1655C4 80244D64 8C42419C */ lw $v0, 0x419c($v0)
|
|
/* 1655C8 80244D68 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 1655CC 80244D6C AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 1655D0 80244D70 AFB00010 */ sw $s0, 0x10($sp)
|
|
/* 1655D4 80244D74 904200AB */ lbu $v0, 0xab($v0)
|
|
/* 1655D8 80244D78 14400009 */ bnez $v0, .L80244DA0
|
|
/* 1655DC 80244D7C 24A50022 */ addiu $a1, $a1, 0x22
|
|
/* 1655E0 80244D80 3C108025 */ lui $s0, 0x8025
|
|
/* 1655E4 80244D84 2610C0B0 */ addiu $s0, $s0, -0x3f50
|
|
/* 1655E8 80244D88 8E040040 */ lw $a0, 0x40($s0)
|
|
/* 1655EC 80244D8C 0C051261 */ jal set_icon_render_pos
|
|
/* 1655F0 80244D90 24C6000A */ addiu $a2, $a2, 0xa
|
|
/* 1655F4 80244D94 8E040040 */ lw $a0, 0x40($s0)
|
|
/* 1655F8 80244D98 0809136E */ j .L80244DB8
|
|
/* 1655FC 80244D9C 00000000 */ nop
|
|
|
|
.L80244DA0:
|
|
/* 165600 80244DA0 3C108025 */ lui $s0, 0x8025
|
|
/* 165604 80244DA4 2610C0B0 */ addiu $s0, $s0, -0x3f50
|
|
/* 165608 80244DA8 8E040044 */ lw $a0, 0x44($s0)
|
|
/* 16560C 80244DAC 0C051261 */ jal set_icon_render_pos
|
|
/* 165610 80244DB0 24C6000A */ addiu $a2, $a2, 0xa
|
|
/* 165614 80244DB4 8E040044 */ lw $a0, 0x44($s0)
|
|
.L80244DB8:
|
|
/* 165618 80244DB8 0C0511F8 */ jal func_801447E0
|
|
/* 16561C 80244DBC 00000000 */ nop
|
|
/* 165620 80244DC0 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 165624 80244DC4 8FB00010 */ lw $s0, 0x10($sp)
|
|
/* 165628 80244DC8 03E00008 */ jr $ra
|
|
/* 16562C 80244DCC 27BD0018 */ addiu $sp, $sp, 0x18
|
|
|
|
/* 165630 80244DD0 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 165634 80244DD4 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 165638 80244DD8 00A0802D */ daddu $s0, $a1, $zero
|
|
/* 16563C 80244DDC AFB1001C */ sw $s1, 0x1c($sp)
|
|
/* 165640 80244DE0 AFBF0020 */ sw $ra, 0x20($sp)
|
|
/* 165644 80244DE4 80830004 */ lb $v1, 4($a0)
|
|
/* 165648 80244DE8 24020002 */ addiu $v0, $zero, 2
|
|
/* 16564C 80244DEC 10620014 */ beq $v1, $v0, .L80244E40
|
|
/* 165650 80244DF0 00C0882D */ daddu $s1, $a2, $zero
|
|
/* 165654 80244DF4 3C0200FF */ lui $v0, 0xff
|
|
/* 165658 80244DF8 8C830000 */ lw $v1, ($a0)
|
|
/* 16565C 80244DFC 3442FF00 */ ori $v0, $v0, 0xff00
|
|
/* 165660 80244E00 00621824 */ and $v1, $v1, $v0
|
|
/* 165664 80244E04 24020200 */ addiu $v0, $zero, 0x200
|
|
/* 165668 80244E08 14620003 */ bne $v1, $v0, .L80244E18
|
|
/* 16566C 80244E0C 24040035 */ addiu $a0, $zero, 0x35
|
|
/* 165670 80244E10 0C090B80 */ jal func_80242E00
|
|
/* 165674 80244E14 26260008 */ addiu $a2, $s1, 8
|
|
.L80244E18:
|
|
/* 165678 80244E18 0C0926A9 */ jal func_80249AA4
|
|
/* 16567C 80244E1C 24040009 */ addiu $a0, $zero, 9
|
|
/* 165680 80244E20 0040202D */ daddu $a0, $v0, $zero
|
|
/* 165684 80244E24 26050008 */ addiu $a1, $s0, 8
|
|
/* 165688 80244E28 26260002 */ addiu $a2, $s1, 2
|
|
/* 16568C 80244E2C 24020001 */ addiu $v0, $zero, 1
|
|
/* 165690 80244E30 240700FF */ addiu $a3, $zero, 0xff
|
|
/* 165694 80244E34 AFA00010 */ sw $zero, 0x10($sp)
|
|
/* 165698 80244E38 0C09265F */ jal func_8024997C
|
|
/* 16569C 80244E3C AFA20014 */ sw $v0, 0x14($sp)
|
|
.L80244E40:
|
|
/* 1656A0 80244E40 8FBF0020 */ lw $ra, 0x20($sp)
|
|
/* 1656A4 80244E44 8FB1001C */ lw $s1, 0x1c($sp)
|
|
/* 1656A8 80244E48 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 1656AC 80244E4C 03E00008 */ jr $ra
|
|
/* 1656B0 80244E50 27BD0028 */ addiu $sp, $sp, 0x28
|
|
|
|
/* 1656B4 80244E54 27BDFFD0 */ addiu $sp, $sp, -0x30
|
|
/* 1656B8 80244E58 0080382D */ daddu $a3, $a0, $zero
|
|
/* 1656BC 80244E5C AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 1656C0 80244E60 00A0802D */ daddu $s0, $a1, $zero
|
|
/* 1656C4 80244E64 AFBF002C */ sw $ra, 0x2c($sp)
|
|
/* 1656C8 80244E68 AFB40028 */ sw $s4, 0x28($sp)
|
|
/* 1656CC 80244E6C AFB30024 */ sw $s3, 0x24($sp)
|
|
/* 1656D0 80244E70 AFB20020 */ sw $s2, 0x20($sp)
|
|
/* 1656D4 80244E74 AFB1001C */ sw $s1, 0x1c($sp)
|
|
/* 1656D8 80244E78 80E30004 */ lb $v1, 4($a3)
|
|
/* 1656DC 80244E7C 28620005 */ slti $v0, $v1, 5
|
|
/* 1656E0 80244E80 1040000F */ beqz $v0, .L80244EC0
|
|
/* 1656E4 80244E84 00C0882D */ daddu $s1, $a2, $zero
|
|
/* 1656E8 80244E88 1860000D */ blez $v1, .L80244EC0
|
|
/* 1656EC 80244E8C 2412000A */ addiu $s2, $zero, 0xa
|
|
/* 1656F0 80244E90 24140012 */ addiu $s4, $zero, 0x12
|
|
/* 1656F4 80244E94 3C0400FF */ lui $a0, 0xff
|
|
/* 1656F8 80244E98 3484FF00 */ ori $a0, $a0, 0xff00
|
|
/* 1656FC 80244E9C 3C030001 */ lui $v1, 1
|
|
/* 165700 80244EA0 8CE20000 */ lw $v0, ($a3)
|
|
/* 165704 80244EA4 34630200 */ ori $v1, $v1, 0x200
|
|
/* 165708 80244EA8 00441024 */ and $v0, $v0, $a0
|
|
/* 16570C 80244EAC 14430012 */ bne $v0, $v1, .L80244EF8
|
|
/* 165710 80244EB0 0000982D */ daddu $s3, $zero, $zero
|
|
/* 165714 80244EB4 24040036 */ addiu $a0, $zero, 0x36
|
|
/* 165718 80244EB8 080913BC */ j .L80244EF0
|
|
/* 16571C 80244EBC 26050008 */ addiu $a1, $s0, 8
|
|
|
|
.L80244EC0:
|
|
/* 165720 80244EC0 2412000B */ addiu $s2, $zero, 0xb
|
|
/* 165724 80244EC4 2414000E */ addiu $s4, $zero, 0xe
|
|
/* 165728 80244EC8 3C0400FF */ lui $a0, 0xff
|
|
/* 16572C 80244ECC 3484FF00 */ ori $a0, $a0, 0xff00
|
|
/* 165730 80244ED0 3C030001 */ lui $v1, 1
|
|
/* 165734 80244ED4 8CE20000 */ lw $v0, ($a3)
|
|
/* 165738 80244ED8 34630200 */ ori $v1, $v1, 0x200
|
|
/* 16573C 80244EDC 00441024 */ and $v0, $v0, $a0
|
|
/* 165740 80244EE0 14430005 */ bne $v0, $v1, .L80244EF8
|
|
/* 165744 80244EE4 0000982D */ daddu $s3, $zero, $zero
|
|
/* 165748 80244EE8 24040036 */ addiu $a0, $zero, 0x36
|
|
/* 16574C 80244EEC 26050004 */ addiu $a1, $s0, 4
|
|
.L80244EF0:
|
|
/* 165750 80244EF0 0C090B80 */ jal func_80242E00
|
|
/* 165754 80244EF4 26260008 */ addiu $a2, $s1, 8
|
|
.L80244EF8:
|
|
/* 165758 80244EF8 0C0926A9 */ jal func_80249AA4
|
|
/* 16575C 80244EFC 0240202D */ daddu $a0, $s2, $zero
|
|
/* 165760 80244F00 0040202D */ daddu $a0, $v0, $zero
|
|
/* 165764 80244F04 02142821 */ addu $a1, $s0, $s4
|
|
/* 165768 80244F08 02333021 */ addu $a2, $s1, $s3
|
|
/* 16576C 80244F0C 24C60002 */ addiu $a2, $a2, 2
|
|
/* 165770 80244F10 24020001 */ addiu $v0, $zero, 1
|
|
/* 165774 80244F14 240700FF */ addiu $a3, $zero, 0xff
|
|
/* 165778 80244F18 AFA00010 */ sw $zero, 0x10($sp)
|
|
/* 16577C 80244F1C 0C09265F */ jal func_8024997C
|
|
/* 165780 80244F20 AFA20014 */ sw $v0, 0x14($sp)
|
|
/* 165784 80244F24 8FBF002C */ lw $ra, 0x2c($sp)
|
|
/* 165788 80244F28 8FB40028 */ lw $s4, 0x28($sp)
|
|
/* 16578C 80244F2C 8FB30024 */ lw $s3, 0x24($sp)
|
|
/* 165790 80244F30 8FB20020 */ lw $s2, 0x20($sp)
|
|
/* 165794 80244F34 8FB1001C */ lw $s1, 0x1c($sp)
|
|
/* 165798 80244F38 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 16579C 80244F3C 03E00008 */ jr $ra
|
|
/* 1657A0 80244F40 27BD0030 */ addiu $sp, $sp, 0x30
|
|
|
|
/* 1657A4 80244F44 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 1657A8 80244F48 0080382D */ daddu $a3, $a0, $zero
|
|
/* 1657AC 80244F4C AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 1657B0 80244F50 00A0802D */ daddu $s0, $a1, $zero
|
|
/* 1657B4 80244F54 AFB1001C */ sw $s1, 0x1c($sp)
|
|
/* 1657B8 80244F58 AFBF0020 */ sw $ra, 0x20($sp)
|
|
/* 1657BC 80244F5C 80E30004 */ lb $v1, 4($a3)
|
|
/* 1657C0 80244F60 24020002 */ addiu $v0, $zero, 2
|
|
/* 1657C4 80244F64 10620016 */ beq $v1, $v0, .L80244FC0
|
|
/* 1657C8 80244F68 00C0882D */ daddu $s1, $a2, $zero
|
|
/* 1657CC 80244F6C 3C0400FF */ lui $a0, 0xff
|
|
/* 1657D0 80244F70 3484FF00 */ ori $a0, $a0, 0xff00
|
|
/* 1657D4 80244F74 3C030002 */ lui $v1, 2
|
|
/* 1657D8 80244F78 8CE20000 */ lw $v0, ($a3)
|
|
/* 1657DC 80244F7C 34630200 */ ori $v1, $v1, 0x200
|
|
/* 1657E0 80244F80 00441024 */ and $v0, $v0, $a0
|
|
/* 1657E4 80244F84 14430004 */ bne $v0, $v1, .L80244F98
|
|
/* 1657E8 80244F88 24040037 */ addiu $a0, $zero, 0x37
|
|
/* 1657EC 80244F8C 26050008 */ addiu $a1, $s0, 8
|
|
/* 1657F0 80244F90 0C090B80 */ jal func_80242E00
|
|
/* 1657F4 80244F94 26260008 */ addiu $a2, $s1, 8
|
|
.L80244F98:
|
|
/* 1657F8 80244F98 0C0926A9 */ jal func_80249AA4
|
|
/* 1657FC 80244F9C 2404000A */ addiu $a0, $zero, 0xa
|
|
/* 165800 80244FA0 0040202D */ daddu $a0, $v0, $zero
|
|
/* 165804 80244FA4 26050014 */ addiu $a1, $s0, 0x14
|
|
/* 165808 80244FA8 26260002 */ addiu $a2, $s1, 2
|
|
/* 16580C 80244FAC 24020001 */ addiu $v0, $zero, 1
|
|
/* 165810 80244FB0 240700FF */ addiu $a3, $zero, 0xff
|
|
/* 165814 80244FB4 AFA00010 */ sw $zero, 0x10($sp)
|
|
/* 165818 80244FB8 0C09265F */ jal func_8024997C
|
|
/* 16581C 80244FBC AFA20014 */ sw $v0, 0x14($sp)
|
|
.L80244FC0:
|
|
/* 165820 80244FC0 8FBF0020 */ lw $ra, 0x20($sp)
|
|
/* 165824 80244FC4 8FB1001C */ lw $s1, 0x1c($sp)
|
|
/* 165828 80244FC8 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 16582C 80244FCC 03E00008 */ jr $ra
|
|
/* 165830 80244FD0 27BD0028 */ addiu $sp, $sp, 0x28
|
|
|