mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
133 lines
6.6 KiB
ArmAsm
133 lines
6.6 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
|
|
glabel func_8004E158
|
|
/* 029558 8004E158 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* 02955C 8004E15C AFB20018 */ sw $s2, 0x18($sp)
|
|
/* 029560 8004E160 0080902D */ daddu $s2, $a0, $zero
|
|
/* 029564 8004E164 AFB00010 */ sw $s0, 0x10($sp)
|
|
/* 029568 8004E168 00A0802D */ daddu $s0, $a1, $zero
|
|
/* 02956C 8004E16C AFB10014 */ sw $s1, 0x14($sp)
|
|
/* 029570 8004E170 00C0882D */ daddu $s1, $a2, $zero
|
|
/* 029574 8004E174 3C050002 */ lui $a1, 2
|
|
/* 029578 8004E178 34A5625A */ ori $a1, $a1, 0x625a
|
|
/* 02957C 8004E17C 24060030 */ addiu $a2, $zero, 0x30
|
|
/* 029580 8004E180 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 029584 8004E184 0C013A20 */ jal func_8004E880
|
|
/* 029588 8004E188 AE470000 */ sw $a3, ($s2)
|
|
/* 02958C 8004E18C 0000282D */ daddu $a1, $zero, $zero
|
|
/* 029590 8004E190 2404007F */ addiu $a0, $zero, 0x7f
|
|
/* 029594 8004E194 3C013F80 */ lui $at, 0x3f80
|
|
/* 029598 8004E198 44810000 */ mtc1 $at, $f0
|
|
/* 02959C 8004E19C 34028000 */ ori $v0, $zero, 0x8000
|
|
/* 0295A0 8004E1A0 AE420048 */ sw $v0, 0x48($s2)
|
|
/* 0295A4 8004E1A4 24023CF0 */ addiu $v0, $zero, 0x3cf0
|
|
/* 0295A8 8004E1A8 AE4200B0 */ sw $v0, 0xb0($s2)
|
|
/* 0295AC 8004E1AC 3C027F00 */ lui $v0, 0x7f00
|
|
/* 0295B0 8004E1B0 AE4200C0 */ sw $v0, 0xc0($s2)
|
|
/* 0295B4 8004E1B4 24020001 */ addiu $v0, $zero, 1
|
|
/* 0295B8 8004E1B8 A242022B */ sb $v0, 0x22b($s2)
|
|
/* 0295BC 8004E1BC 24020002 */ addiu $v0, $zero, 2
|
|
/* 0295C0 8004E1C0 AE400014 */ sw $zero, 0x14($s2)
|
|
/* 0295C4 8004E1C4 AE400018 */ sw $zero, 0x18($s2)
|
|
/* 0295C8 8004E1C8 AE40001C */ sw $zero, 0x1c($s2)
|
|
/* 0295CC 8004E1CC AE400020 */ sw $zero, 0x20($s2)
|
|
/* 0295D0 8004E1D0 A6400058 */ sh $zero, 0x58($s2)
|
|
/* 0295D4 8004E1D4 A640005A */ sh $zero, 0x5a($s2)
|
|
/* 0295D8 8004E1D8 AE400068 */ sw $zero, 0x68($s2)
|
|
/* 0295DC 8004E1DC AE40006C */ sw $zero, 0x6c($s2)
|
|
/* 0295E0 8004E1E0 AE400070 */ sw $zero, 0x70($s2)
|
|
/* 0295E4 8004E1E4 AE4000BC */ sw $zero, 0xbc($s2)
|
|
/* 0295E8 8004E1E8 AE4000B8 */ sw $zero, 0xb8($s2)
|
|
/* 0295EC 8004E1EC AE4000B4 */ sw $zero, 0xb4($s2)
|
|
/* 0295F0 8004E1F0 AE4000CC */ sw $zero, 0xcc($s2)
|
|
/* 0295F4 8004E1F4 AE4000C8 */ sw $zero, 0xc8($s2)
|
|
/* 0295F8 8004E1F8 AE4000C4 */ sw $zero, 0xc4($s2)
|
|
/* 0295FC 8004E1FC A640020C */ sh $zero, 0x20c($s2)
|
|
/* 029600 8004E200 A640020E */ sh $zero, 0x20e($s2)
|
|
/* 029604 8004E204 A2400220 */ sb $zero, 0x220($s2)
|
|
/* 029608 8004E208 AE400204 */ sw $zero, 0x204($s2)
|
|
/* 02960C 8004E20C A2400232 */ sb $zero, 0x232($s2)
|
|
/* 029610 8004E210 A2400221 */ sb $zero, 0x221($s2)
|
|
/* 029614 8004E214 A2500234 */ sb $s0, 0x234($s2)
|
|
/* 029618 8004E218 A2510235 */ sb $s1, 0x235($s2)
|
|
/* 02961C 8004E21C AE400168 */ sw $zero, 0x168($s2)
|
|
/* 029620 8004E220 A2400222 */ sb $zero, 0x222($s2)
|
|
/* 029624 8004E224 A2400223 */ sb $zero, 0x223($s2)
|
|
/* 029628 8004E228 A240022A */ sb $zero, 0x22a($s2)
|
|
/* 02962C 8004E22C A240022C */ sb $zero, 0x22c($s2)
|
|
/* 029630 8004E230 E64000D0 */ swc1 $f0, 0xd0($s2)
|
|
/* 029634 8004E234 A240022D */ sb $zero, 0x22d($s2)
|
|
/* 029638 8004E238 A242022F */ sb $v0, 0x22f($s2)
|
|
/* 02963C 8004E23C 24020003 */ addiu $v0, $zero, 3
|
|
/* 029640 8004E240 A2420230 */ sb $v0, 0x230($s2)
|
|
/* 029644 8004E244 24020004 */ addiu $v0, $zero, 4
|
|
/* 029648 8004E248 A240022E */ sb $zero, 0x22e($s2)
|
|
/* 02964C 8004E24C A2420231 */ sb $v0, 0x231($s2)
|
|
/* 029650 8004E250 00051400 */ sll $v0, $a1, 0x10
|
|
.L8004E254:
|
|
/* 029654 8004E254 00021C03 */ sra $v1, $v0, 0x10
|
|
/* 029658 8004E258 00031040 */ sll $v0, $v1, 1
|
|
/* 02965C 8004E25C 00431021 */ addu $v0, $v0, $v1
|
|
/* 029660 8004E260 00021140 */ sll $v0, $v0, 5
|
|
/* 029664 8004E264 2442025C */ addiu $v0, $v0, 0x25c
|
|
/* 029668 8004E268 02421021 */ addu $v0, $s2, $v0
|
|
/* 02966C 8004E26C AC400018 */ sw $zero, 0x18($v0)
|
|
/* 029670 8004E270 AC400028 */ sw $zero, 0x28($v0)
|
|
/* 029674 8004E274 A4400046 */ sh $zero, 0x46($v0)
|
|
/* 029678 8004E278 A0400048 */ sb $zero, 0x48($v0)
|
|
/* 02967C 8004E27C A040004A */ sb $zero, 0x4a($v0)
|
|
/* 029680 8004E280 A040004B */ sb $zero, 0x4b($v0)
|
|
/* 029684 8004E284 A4400044 */ sh $zero, 0x44($v0)
|
|
/* 029688 8004E288 A0400058 */ sb $zero, 0x58($v0)
|
|
/* 02968C 8004E28C A0440049 */ sb $a0, 0x49($v0)
|
|
/* 029690 8004E290 A040004C */ sb $zero, 0x4c($v0)
|
|
/* 029694 8004E294 28620008 */ slti $v0, $v1, 8
|
|
/* 029698 8004E298 10400005 */ beqz $v0, .L8004E2B0
|
|
/* 02969C 8004E29C 24A20001 */ addiu $v0, $a1, 1
|
|
/* 0296A0 8004E2A0 00031080 */ sll $v0, $v1, 2
|
|
/* 0296A4 8004E2A4 02421021 */ addu $v0, $s2, $v0
|
|
/* 0296A8 8004E2A8 AC400238 */ sw $zero, 0x238($v0)
|
|
/* 0296AC 8004E2AC 24A20001 */ addiu $v0, $a1, 1
|
|
.L8004E2B0:
|
|
/* 0296B0 8004E2B0 0040282D */ daddu $a1, $v0, $zero
|
|
/* 0296B4 8004E2B4 00021400 */ sll $v0, $v0, 0x10
|
|
/* 0296B8 8004E2B8 00021403 */ sra $v0, $v0, 0x10
|
|
/* 0296BC 8004E2BC 28420010 */ slti $v0, $v0, 0x10
|
|
/* 0296C0 8004E2C0 1440FFE4 */ bnez $v0, .L8004E254
|
|
/* 0296C4 8004E2C4 00051400 */ sll $v0, $a1, 0x10
|
|
/* 0296C8 8004E2C8 0000282D */ daddu $a1, $zero, $zero
|
|
.L8004E2CC:
|
|
/* 0296CC 8004E2CC 00051400 */ sll $v0, $a1, 0x10
|
|
/* 0296D0 8004E2D0 24A40001 */ addiu $a0, $a1, 1
|
|
/* 0296D4 8004E2D4 0080282D */ daddu $a1, $a0, $zero
|
|
/* 0296D8 8004E2D8 00021403 */ sra $v0, $v0, 0x10
|
|
/* 0296DC 8004E2DC 00021840 */ sll $v1, $v0, 1
|
|
/* 0296E0 8004E2E0 00621821 */ addu $v1, $v1, $v0
|
|
/* 0296E4 8004E2E4 000318C0 */ sll $v1, $v1, 3
|
|
/* 0296E8 8004E2E8 2463085C */ addiu $v1, $v1, 0x85c
|
|
/* 0296EC 8004E2EC 02431821 */ addu $v1, $s2, $v1
|
|
/* 0296F0 8004E2F0 00042400 */ sll $a0, $a0, 0x10
|
|
/* 0296F4 8004E2F4 00042403 */ sra $a0, $a0, 0x10
|
|
/* 0296F8 8004E2F8 28840018 */ slti $a0, $a0, 0x18
|
|
/* 0296FC 8004E2FC A4600008 */ sh $zero, 8($v1)
|
|
/* 029700 8004E300 A460000A */ sh $zero, 0xa($v1)
|
|
/* 029704 8004E304 AC60000C */ sw $zero, 0xc($v1)
|
|
/* 029708 8004E308 A4600014 */ sh $zero, 0x14($v1)
|
|
/* 02970C 8004E30C A0600016 */ sb $zero, 0x16($v1)
|
|
/* 029710 8004E310 1480FFEE */ bnez $a0, .L8004E2CC
|
|
/* 029714 8004E314 A0600017 */ sb $zero, 0x17($v1)
|
|
/* 029718 8004E318 2644002C */ addiu $a0, $s2, 0x2c
|
|
/* 02971C 8004E31C 0C014EBB */ jal func_80053AEC
|
|
/* 029720 8004E320 24057FFF */ addiu $a1, $zero, 0x7fff
|
|
/* 029724 8004E324 0C015444 */ jal func_80055110
|
|
/* 029728 8004E328 0240202D */ daddu $a0, $s2, $zero
|
|
/* 02972C 8004E32C 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 029730 8004E330 8FB20018 */ lw $s2, 0x18($sp)
|
|
/* 029734 8004E334 8FB10014 */ lw $s1, 0x14($sp)
|
|
/* 029738 8004E338 8FB00010 */ lw $s0, 0x10($sp)
|
|
/* 02973C 8004E33C 03E00008 */ jr $ra
|
|
/* 029740 8004E340 27BD0020 */ addiu $sp, $sp, 0x20
|
|
|