mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 08:52:40 +01:00
137 lines
6.2 KiB
ArmAsm
137 lines
6.2 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
|
|
glabel draw_item_entities
|
|
/* 0C9380 80132C80 27BDFFC0 */ addiu $sp, $sp, -0x40
|
|
/* 0C9384 80132C84 AFB00020 */ sw $s0, 0x20($sp)
|
|
/* 0C9388 80132C88 27B00010 */ addiu $s0, $sp, 0x10
|
|
/* 0C938C 80132C8C AFB10024 */ sw $s1, 0x24($sp)
|
|
/* 0C9390 80132C90 0000882D */ daddu $s1, $zero, $zero
|
|
/* 0C9394 80132C94 AFB50034 */ sw $s5, 0x34($sp)
|
|
/* 0C9398 80132C98 24150001 */ addiu $s5, $zero, 1
|
|
/* 0C939C 80132C9C AFB40030 */ sw $s4, 0x30($sp)
|
|
/* 0C93A0 80132CA0 3C140010 */ lui $s4, 0x10
|
|
/* 0C93A4 80132CA4 AFB3002C */ sw $s3, 0x2c($sp)
|
|
/* 0C93A8 80132CA8 2413FFFF */ addiu $s3, $zero, -1
|
|
/* 0C93AC 80132CAC AFB20028 */ sw $s2, 0x28($sp)
|
|
/* 0C93B0 80132CB0 3C120008 */ lui $s2, 8
|
|
/* 0C93B4 80132CB4 AFBF0038 */ sw $ra, 0x38($sp)
|
|
.L80132CB8:
|
|
/* 0C93B8 80132CB8 3C038015 */ lui $v1, 0x8015
|
|
/* 0C93BC 80132CBC 8C6365A0 */ lw $v1, 0x65a0($v1)
|
|
/* 0C93C0 80132CC0 00111080 */ sll $v0, $s1, 2
|
|
/* 0C93C4 80132CC4 00431021 */ addu $v0, $v0, $v1
|
|
/* 0C93C8 80132CC8 8C450000 */ lw $a1, ($v0)
|
|
/* 0C93CC 80132CCC 50A00025 */ beql $a1, $zero, .L80132D64
|
|
/* 0C93D0 80132CD0 26310001 */ addiu $s1, $s1, 1
|
|
/* 0C93D4 80132CD4 8CA40000 */ lw $a0, ($a1)
|
|
/* 0C93D8 80132CD8 10800021 */ beqz $a0, .L80132D60
|
|
/* 0C93DC 80132CDC 30820040 */ andi $v0, $a0, 0x40
|
|
/* 0C93E0 80132CE0 54400020 */ bnel $v0, $zero, .L80132D64
|
|
/* 0C93E4 80132CE4 26310001 */ addiu $s1, $s1, 1
|
|
/* 0C93E8 80132CE8 3C02800A */ lui $v0, 0x800a
|
|
/* 0C93EC 80132CEC 8442A634 */ lh $v0, -0x59cc($v0)
|
|
/* 0C93F0 80132CF0 00551004 */ sllv $v0, $s5, $v0
|
|
/* 0C93F4 80132CF4 00821024 */ and $v0, $a0, $v0
|
|
/* 0C93F8 80132CF8 10400019 */ beqz $v0, .L80132D60
|
|
/* 0C93FC 80132CFC 00941024 */ and $v0, $a0, $s4
|
|
/* 0C9400 80132D00 54400018 */ bnel $v0, $zero, .L80132D64
|
|
/* 0C9404 80132D04 26310001 */ addiu $s1, $s1, 1
|
|
/* 0C9408 80132D08 80A3001D */ lb $v1, 0x1d($a1)
|
|
/* 0C940C 80132D0C 10730006 */ beq $v1, $s3, .L80132D28
|
|
/* 0C9410 80132D10 00921024 */ and $v0, $a0, $s2
|
|
/* 0C9414 80132D14 3C028015 */ lui $v0, 0x8015
|
|
/* 0C9418 80132D18 8C425D88 */ lw $v0, 0x5d88($v0)
|
|
/* 0C941C 80132D1C 54430011 */ bnel $v0, $v1, .L80132D64
|
|
/* 0C9420 80132D20 26310001 */ addiu $s1, $s1, 1
|
|
/* 0C9424 80132D24 00921024 */ and $v0, $a0, $s2
|
|
.L80132D28:
|
|
/* 0C9428 80132D28 14400002 */ bnez $v0, .L80132D34
|
|
/* 0C942C 80132D2C 24020011 */ addiu $v0, $zero, 0x11
|
|
/* 0C9430 80132D30 2402000D */ addiu $v0, $zero, 0xd
|
|
.L80132D34:
|
|
/* 0C9434 80132D34 AE020000 */ sw $v0, ($s0)
|
|
/* 0C9438 80132D38 3C028013 */ lui $v0, 0x8013
|
|
/* 0C943C 80132D3C 244221A4 */ addiu $v0, $v0, 0x21a4
|
|
/* 0C9440 80132D40 0200202D */ daddu $a0, $s0, $zero
|
|
/* 0C9444 80132D44 AE050008 */ sw $a1, 8($s0)
|
|
/* 0C9448 80132D48 AE02000C */ sw $v0, 0xc($s0)
|
|
/* 0C944C 80132D4C 0C047644 */ jal queue_render_task
|
|
/* 0C9450 80132D50 AE000004 */ sw $zero, 4($s0)
|
|
/* 0C9454 80132D54 8C430000 */ lw $v1, ($v0)
|
|
/* 0C9458 80132D58 34630002 */ ori $v1, $v1, 2
|
|
/* 0C945C 80132D5C AC430000 */ sw $v1, ($v0)
|
|
.L80132D60:
|
|
/* 0C9460 80132D60 26310001 */ addiu $s1, $s1, 1
|
|
.L80132D64:
|
|
/* 0C9464 80132D64 2A220100 */ slti $v0, $s1, 0x100
|
|
/* 0C9468 80132D68 1440FFD3 */ bnez $v0, .L80132CB8
|
|
/* 0C946C 80132D6C 00000000 */ nop
|
|
/* 0C9470 80132D70 8FBF0038 */ lw $ra, 0x38($sp)
|
|
/* 0C9474 80132D74 8FB50034 */ lw $s5, 0x34($sp)
|
|
/* 0C9478 80132D78 8FB40030 */ lw $s4, 0x30($sp)
|
|
/* 0C947C 80132D7C 8FB3002C */ lw $s3, 0x2c($sp)
|
|
/* 0C9480 80132D80 8FB20028 */ lw $s2, 0x28($sp)
|
|
/* 0C9484 80132D84 8FB10024 */ lw $s1, 0x24($sp)
|
|
/* 0C9488 80132D88 8FB00020 */ lw $s0, 0x20($sp)
|
|
/* 0C948C 80132D8C 03E00008 */ jr $ra
|
|
/* 0C9490 80132D90 27BD0040 */ addiu $sp, $sp, 0x40
|
|
|
|
/* 0C9494 80132D94 3C02800A */ lui $v0, 0x800a
|
|
/* 0C9498 80132D98 8C42A650 */ lw $v0, -0x59b0($v0)
|
|
/* 0C949C 80132D9C 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* 0C94A0 80132DA0 AFBF0018 */ sw $ra, 0x18($sp)
|
|
/* 0C94A4 80132DA4 AFB10014 */ sw $s1, 0x14($sp)
|
|
/* 0C94A8 80132DA8 3042C000 */ andi $v0, $v0, 0xc000
|
|
/* 0C94AC 80132DAC 14400024 */ bnez $v0, .L80132E40
|
|
/* 0C94B0 80132DB0 AFB00010 */ sw $s0, 0x10($sp)
|
|
/* 0C94B4 80132DB4 0000802D */ daddu $s0, $zero, $zero
|
|
/* 0C94B8 80132DB8 3C118015 */ lui $s1, 0x8015
|
|
/* 0C94BC 80132DBC 26310CC8 */ addiu $s1, $s1, 0xcc8
|
|
.L80132DC0:
|
|
/* 0C94C0 80132DC0 3C038015 */ lui $v1, 0x8015
|
|
/* 0C94C4 80132DC4 8C6365A0 */ lw $v1, 0x65a0($v1)
|
|
/* 0C94C8 80132DC8 00101080 */ sll $v0, $s0, 2
|
|
/* 0C94CC 80132DCC 00431021 */ addu $v0, $v0, $v1
|
|
/* 0C94D0 80132DD0 8C440000 */ lw $a0, ($v0)
|
|
/* 0C94D4 80132DD4 50800017 */ beql $a0, $zero, .L80132E34
|
|
/* 0C94D8 80132DD8 26100001 */ addiu $s0, $s0, 1
|
|
/* 0C94DC 80132DDC 8C820000 */ lw $v0, ($a0)
|
|
/* 0C94E0 80132DE0 50400014 */ beql $v0, $zero, .L80132E34
|
|
/* 0C94E4 80132DE4 26100001 */ addiu $s0, $s0, 1
|
|
/* 0C94E8 80132DE8 8083001B */ lb $v1, 0x1b($a0)
|
|
/* 0C94EC 80132DEC 2C620018 */ sltiu $v0, $v1, 0x18
|
|
/* 0C94F0 80132DF0 1040000F */ beqz $v0, .L80132E30
|
|
/* 0C94F4 80132DF4 00031080 */ sll $v0, $v1, 2
|
|
/* 0C94F8 80132DF8 00511021 */ addu $v0, $v0, $s1
|
|
/* 0C94FC 80132DFC 8C420000 */ lw $v0, ($v0)
|
|
/* 0C9500 80132E00 00400008 */ jr $v0
|
|
/* 0C9504 80132E04 00000000 */ nop
|
|
/* 0C9508 80132E08 0C04D5B1 */ jal func_801356C4
|
|
/* 0C950C 80132E0C 26100001 */ addiu $s0, $s0, 1
|
|
/* 0C9510 80132E10 0804CB8E */ j .L80132E38
|
|
/* 0C9514 80132E14 2A020100 */ slti $v0, $s0, 0x100
|
|
|
|
/* 0C9518 80132E18 0C04D5B5 */ jal func_801356D4
|
|
/* 0C951C 80132E1C 26100001 */ addiu $s0, $s0, 1
|
|
/* 0C9520 80132E20 0804CB8E */ j .L80132E38
|
|
/* 0C9524 80132E24 2A020100 */ slti $v0, $s0, 0x100
|
|
|
|
/* 0C9528 80132E28 0C04D567 */ jal func_8013559C
|
|
/* 0C952C 80132E2C 00000000 */ nop
|
|
.L80132E30:
|
|
/* 0C9530 80132E30 26100001 */ addiu $s0, $s0, 1
|
|
.L80132E34:
|
|
/* 0C9534 80132E34 2A020100 */ slti $v0, $s0, 0x100
|
|
.L80132E38:
|
|
/* 0C9538 80132E38 1440FFE1 */ bnez $v0, .L80132DC0
|
|
/* 0C953C 80132E3C 00000000 */ nop
|
|
.L80132E40:
|
|
/* 0C9540 80132E40 8FBF0018 */ lw $ra, 0x18($sp)
|
|
/* 0C9544 80132E44 8FB10014 */ lw $s1, 0x14($sp)
|
|
/* 0C9548 80132E48 8FB00010 */ lw $s0, 0x10($sp)
|
|
/* 0C954C 80132E4C 03E00008 */ jr $ra
|
|
/* 0C9550 80132E50 27BD0020 */ addiu $sp, $sp, 0x20
|
|
|