mirror of
https://github.com/pmret/papermario.git
synced 2024-11-19 01:12:28 +01:00
a8c85b377a
* split jp gfxRetrace_Callback * func_80025F70 * use 1370_len_7d0 on jp * rename 1370_len_7d0 to main * coverage.py
132 lines
6.4 KiB
ArmAsm
132 lines
6.4 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_800360EC
|
|
/* 114EC 800360EC 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 114F0 800360F0 AFB00010 */ sw $s0, 0x10($sp)
|
|
/* 114F4 800360F4 3C10800A */ lui $s0, %hi(D_8009E754)
|
|
/* 114F8 800360F8 2610E754 */ addiu $s0, $s0, %lo(D_8009E754)
|
|
/* 114FC 800360FC 24020002 */ addiu $v0, $zero, 2
|
|
/* 11500 80036100 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 11504 80036104 86030000 */ lh $v1, ($s0)
|
|
/* 11508 80036108 96070000 */ lhu $a3, ($s0)
|
|
/* 1150C 8003610C 1062001A */ beq $v1, $v0, .L80036178
|
|
/* 11510 80036110 28620003 */ slti $v0, $v1, 3
|
|
/* 11514 80036114 10400005 */ beqz $v0, .L8003612C
|
|
/* 11518 80036118 24020001 */ addiu $v0, $zero, 1
|
|
/* 1151C 8003611C 1062000A */ beq $v1, $v0, .L80036148
|
|
/* 11520 80036120 00000000 */ nop
|
|
/* 11524 80036124 0800D8A4 */ j .L80036290
|
|
/* 11528 80036128 00000000 */ nop
|
|
.L8003612C:
|
|
/* 1152C 8003612C 24020003 */ addiu $v0, $zero, 3
|
|
/* 11530 80036130 1062002A */ beq $v1, $v0, .L800361DC
|
|
/* 11534 80036134 24020004 */ addiu $v0, $zero, 4
|
|
/* 11538 80036138 1062003C */ beq $v1, $v0, .L8003622C
|
|
/* 1153C 8003613C 00000000 */ nop
|
|
/* 11540 80036140 0800D8A4 */ j .L80036290
|
|
/* 11544 80036144 00000000 */ nop
|
|
.L80036148:
|
|
/* 11548 80036148 3C03800A */ lui $v1, %hi(D_8009A630)
|
|
/* 1154C 8003614C 2463A630 */ addiu $v1, $v1, %lo(D_8009A630)
|
|
/* 11550 80036150 8C620000 */ lw $v0, ($v1)
|
|
/* 11554 80036154 34420008 */ ori $v0, $v0, 8
|
|
/* 11558 80036158 0C017F54 */ jal nuContRmbForceStop
|
|
/* 1155C 8003615C AC620000 */ sw $v0, ($v1)
|
|
/* 11560 80036160 96020000 */ lhu $v0, ($s0)
|
|
/* 11564 80036164 24030004 */ addiu $v1, $zero, 4
|
|
/* 11568 80036168 3C01800A */ lui $at, %hi(D_8009E756)
|
|
/* 1156C 8003616C A423E756 */ sh $v1, %lo(D_8009E756)($at)
|
|
/* 11570 80036170 0800D875 */ j .L800361D4
|
|
/* 11574 80036174 24420001 */ addiu $v0, $v0, 1
|
|
.L80036178:
|
|
/* 11578 80036178 3C04800A */ lui $a0, %hi(D_8009E756)
|
|
/* 1157C 8003617C 2484E756 */ addiu $a0, $a0, %lo(D_8009E756)
|
|
/* 11580 80036180 84820000 */ lh $v0, ($a0)
|
|
/* 11584 80036184 94830000 */ lhu $v1, ($a0)
|
|
/* 11588 80036188 10400003 */ beqz $v0, .L80036198
|
|
/* 1158C 8003618C 2462FFFF */ addiu $v0, $v1, -1
|
|
/* 11590 80036190 0800D8A4 */ j .L80036290
|
|
/* 11594 80036194 A4820000 */ sh $v0, ($a0)
|
|
.L80036198:
|
|
/* 11598 80036198 3C038007 */ lui $v1, %hi(gGameStatusPtr)
|
|
/* 1159C 8003619C 2463417C */ addiu $v1, $v1, %lo(gGameStatusPtr)
|
|
/* 115A0 800361A0 8C620000 */ lw $v0, ($v1)
|
|
/* 115A4 800361A4 A0400070 */ sb $zero, 0x70($v0)
|
|
/* 115A8 800361A8 8C620000 */ lw $v0, ($v1)
|
|
/* 115AC 800361AC A0400078 */ sb $zero, 0x78($v0)
|
|
/* 115B0 800361B0 8C620000 */ lw $v0, ($v1)
|
|
/* 115B4 800361B4 84440086 */ lh $a0, 0x86($v0)
|
|
/* 115B8 800361B8 8445008C */ lh $a1, 0x8c($v0)
|
|
/* 115BC 800361BC 0C0168E9 */ jal func_8005A3A4
|
|
/* 115C0 800361C0 0000302D */ daddu $a2, $zero, $zero
|
|
/* 115C4 800361C4 0C017F5C */ jal func_8005FD70
|
|
/* 115C8 800361C8 00000000 */ nop
|
|
/* 115CC 800361CC 96020000 */ lhu $v0, ($s0)
|
|
/* 115D0 800361D0 24420001 */ addiu $v0, $v0, 1
|
|
.L800361D4:
|
|
/* 115D4 800361D4 0800D8A4 */ j .L80036290
|
|
/* 115D8 800361D8 A6020000 */ sh $v0, ($s0)
|
|
.L800361DC:
|
|
/* 115DC 800361DC 0C00F879 */ jal func_8003E1E4
|
|
/* 115E0 800361E0 00000000 */ nop
|
|
/* 115E4 800361E4 0C00E57C */ jal func_800395F0
|
|
/* 115E8 800361E8 00000000 */ nop
|
|
/* 115EC 800361EC 3C028007 */ lui $v0, %hi(gGameStatusPtr)
|
|
/* 115F0 800361F0 8C42417C */ lw $v0, %lo(gGameStatusPtr)($v0)
|
|
/* 115F4 800361F4 0C0B1059 */ jal func_802C4164
|
|
/* 115F8 800361F8 8C44006C */ lw $a0, 0x6c($v0)
|
|
/* 115FC 800361FC 1440002C */ bnez $v0, .L800362B0
|
|
/* 11600 80036200 00000000 */ nop
|
|
/* 11604 80036204 3C05800A */ lui $a1, %hi(D_8009A630)
|
|
/* 11608 80036208 24A5A630 */ addiu $a1, $a1, %lo(D_8009A630)
|
|
/* 1160C 8003620C 2404FFF7 */ addiu $a0, $zero, -9
|
|
/* 11610 80036210 8CA20000 */ lw $v0, ($a1)
|
|
/* 11614 80036214 96030000 */ lhu $v1, ($s0)
|
|
/* 11618 80036218 00441024 */ and $v0, $v0, $a0
|
|
/* 1161C 8003621C 24630001 */ addiu $v1, $v1, 1
|
|
/* 11620 80036220 ACA20000 */ sw $v0, ($a1)
|
|
/* 11624 80036224 0800D8A4 */ j .L80036290
|
|
/* 11628 80036228 A6030000 */ sh $v1, ($s0)
|
|
.L8003622C:
|
|
/* 1162C 8003622C 3C06800A */ lui $a2, %hi(D_8009E750)
|
|
/* 11630 80036230 24C6E750 */ addiu $a2, $a2, %lo(D_8009E750)
|
|
/* 11634 80036234 94C20000 */ lhu $v0, ($a2)
|
|
/* 11638 80036238 3C03800A */ lui $v1, %hi(D_8009E752)
|
|
/* 1163C 8003623C 9463E752 */ lhu $v1, %lo(D_8009E752)($v1)
|
|
/* 11640 80036240 00431023 */ subu $v0, $v0, $v1
|
|
/* 11644 80036244 A4C20000 */ sh $v0, ($a2)
|
|
/* 11648 80036248 00021400 */ sll $v0, $v0, 0x10
|
|
/* 1164C 8003624C 04410008 */ bgez $v0, .L80036270
|
|
/* 11650 80036250 240400FF */ addiu $a0, $zero, 0xff
|
|
/* 11654 80036254 3C05BF80 */ lui $a1, 0xbf80
|
|
/* 11658 80036258 24E20001 */ addiu $v0, $a3, 1
|
|
/* 1165C 8003625C A4C00000 */ sh $zero, ($a2)
|
|
/* 11660 80036260 0C04F38E */ jal func_8013CE38
|
|
/* 11664 80036264 A6020000 */ sh $v0, ($s0)
|
|
/* 11668 80036268 0C00CC60 */ jal func_80033180
|
|
/* 1166C 8003626C 24040004 */ addiu $a0, $zero, 4
|
|
.L80036270:
|
|
/* 11670 80036270 0C00E57C */ jal func_800395F0
|
|
/* 11674 80036274 00000000 */ nop
|
|
/* 11678 80036278 0C037DC8 */ jal func_800DF720
|
|
/* 1167C 8003627C 00000000 */ nop
|
|
/* 11680 80036280 0C016680 */ jal func_80059A00
|
|
/* 11684 80036284 00000000 */ nop
|
|
/* 11688 80036288 0C00B424 */ jal func_8002D090
|
|
/* 1168C 8003628C 00000000 */ nop
|
|
.L80036290:
|
|
/* 11690 80036290 3C02800A */ lui $v0, %hi(D_8009E750)
|
|
/* 11694 80036294 8442E750 */ lh $v0, %lo(D_8009E750)($v0)
|
|
/* 11698 80036298 44820000 */ mtc1 $v0, $f0
|
|
/* 1169C 8003629C 00000000 */ nop
|
|
/* 116A0 800362A0 46800020 */ cvt.s.w $f0, $f0
|
|
/* 116A4 800362A4 44050000 */ mfc1 $a1, $f0
|
|
/* 116A8 800362A8 0C04F38E */ jal func_8013CE38
|
|
/* 116AC 800362AC 0000202D */ daddu $a0, $zero, $zero
|
|
.L800362B0:
|
|
/* 116B0 800362B0 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 116B4 800362B4 8FB00010 */ lw $s0, 0x10($sp)
|
|
/* 116B8 800362B8 03E00008 */ jr $ra
|
|
/* 116BC 800362BC 27BD0018 */ addiu $sp, $sp, 0x18
|