mirror of
https://github.com/pmret/papermario.git
synced 2024-11-15 15:32:32 +01:00
555f0ea15b
* effect shim names * fx_1_main and data migration * fx_1_renderWorld * header reorg * remove stale comment * effect_1 * cleanup * fx_6 stuff * most of effect_6, misc changes * cleanup * PR stuff * warningz
142 lines
7.7 KiB
ArmAsm
142 lines
7.7 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_E00961BC
|
|
/* 39443C E00961BC 27BDFF40 */ addiu $sp, $sp, -0xc0
|
|
/* 394440 E00961C0 0080182D */ daddu $v1, $a0, $zero
|
|
/* 394444 E00961C4 3C05DB06 */ lui $a1, 0xdb06
|
|
/* 394448 E00961C8 34A50024 */ ori $a1, $a1, 0x24
|
|
/* 39444C E00961CC 27A40018 */ addiu $a0, $sp, 0x18
|
|
/* 394450 E00961D0 AFB1009C */ sw $s1, 0x9c($sp)
|
|
/* 394454 E00961D4 3C11800A */ lui $s1, %hi(gMasterGfxPos)
|
|
/* 394458 E00961D8 2631A66C */ addiu $s1, $s1, %lo(gMasterGfxPos)
|
|
/* 39445C E00961DC AFB400A8 */ sw $s4, 0xa8($sp)
|
|
/* 394460 E00961E0 3C140001 */ lui $s4, 1
|
|
/* 394464 E00961E4 AFB500AC */ sw $s5, 0xac($sp)
|
|
/* 394468 E00961E8 3C15E700 */ lui $s5, 0xe700
|
|
/* 39446C E00961EC AFBF00B0 */ sw $ra, 0xb0($sp)
|
|
/* 394470 E00961F0 AFB300A4 */ sw $s3, 0xa4($sp)
|
|
/* 394474 E00961F4 AFB200A0 */ sw $s2, 0xa0($sp)
|
|
/* 394478 E00961F8 AFB00098 */ sw $s0, 0x98($sp)
|
|
/* 39447C E00961FC F7B400B8 */ sdc1 $f20, 0xb8($sp)
|
|
/* 394480 E0096200 8E280000 */ lw $t0, ($s1)
|
|
/* 394484 E0096204 8C72000C */ lw $s2, 0xc($v1)
|
|
/* 394488 E0096208 0100102D */ daddu $v0, $t0, $zero
|
|
/* 39448C E009620C 8E530000 */ lw $s3, ($s2)
|
|
/* 394490 E0096210 25080008 */ addiu $t0, $t0, 8
|
|
/* 394494 E0096214 AC550000 */ sw $s5, ($v0)
|
|
/* 394498 E0096218 AC400004 */ sw $zero, 4($v0)
|
|
/* 39449C E009621C AD050000 */ sw $a1, ($t0)
|
|
/* 3944A0 E0096220 8C620010 */ lw $v0, 0x10($v1)
|
|
/* 3944A4 E0096224 36941630 */ ori $s4, $s4, 0x1630
|
|
/* 3944A8 E0096228 AE280000 */ sw $t0, ($s1)
|
|
/* 3944AC E009622C 8C42001C */ lw $v0, 0x1c($v0)
|
|
/* 3944B0 E0096230 3C038000 */ lui $v1, 0x8000
|
|
/* 3944B4 E0096234 00431021 */ addu $v0, $v0, $v1
|
|
/* 3944B8 E0096238 AD020004 */ sw $v0, 4($t0)
|
|
/* 3944BC E009623C 8E450004 */ lw $a1, 4($s2)
|
|
/* 3944C0 E0096240 8E460008 */ lw $a2, 8($s2)
|
|
/* 3944C4 E0096244 8E47000C */ lw $a3, 0xc($s2)
|
|
/* 3944C8 E0096248 25080008 */ addiu $t0, $t0, 8
|
|
/* 3944CC E009624C 0C080108 */ jal shim_guTranslateF
|
|
/* 3944D0 E0096250 AE280000 */ sw $t0, ($s1)
|
|
/* 3944D4 E0096254 27B00058 */ addiu $s0, $sp, 0x58
|
|
/* 3944D8 E0096258 3C013F80 */ lui $at, 0x3f80
|
|
/* 3944DC E009625C 4481A000 */ mtc1 $at, $f20
|
|
/* 3944E0 E0096260 3C038007 */ lui $v1, %hi(gCurrentCameraID)
|
|
/* 3944E4 E0096264 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
|
|
/* 3944E8 E0096268 44800000 */ mtc1 $zero, $f0
|
|
/* 3944EC E009626C 00031080 */ sll $v0, $v1, 2
|
|
/* 3944F0 E0096270 00431021 */ addu $v0, $v0, $v1
|
|
/* 3944F4 E0096274 00021080 */ sll $v0, $v0, 2
|
|
/* 3944F8 E0096278 00431023 */ subu $v0, $v0, $v1
|
|
/* 3944FC E009627C 000218C0 */ sll $v1, $v0, 3
|
|
/* 394500 E0096280 00431021 */ addu $v0, $v0, $v1
|
|
/* 394504 E0096284 000210C0 */ sll $v0, $v0, 3
|
|
/* 394508 E0096288 44060000 */ mfc1 $a2, $f0
|
|
/* 39450C E009628C 3C01800B */ lui $at, %hi(gCameras+0x6C)
|
|
/* 394510 E0096290 00220821 */ addu $at, $at, $v0
|
|
/* 394514 E0096294 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
|
|
/* 394518 E0096298 4407A000 */ mfc1 $a3, $f20
|
|
/* 39451C E009629C 46000007 */ neg.s $f0, $f0
|
|
/* 394520 E00962A0 44050000 */ mfc1 $a1, $f0
|
|
/* 394524 E00962A4 0200202D */ daddu $a0, $s0, $zero
|
|
/* 394528 E00962A8 0C080104 */ jal shim_guRotateF
|
|
/* 39452C E00962AC AFA60010 */ sw $a2, 0x10($sp)
|
|
/* 394530 E00962B0 0200202D */ daddu $a0, $s0, $zero
|
|
/* 394534 E00962B4 27A50018 */ addiu $a1, $sp, 0x18
|
|
/* 394538 E00962B8 0C080114 */ jal shim_guMtxCatF
|
|
/* 39453C E00962BC 00A0302D */ daddu $a2, $a1, $zero
|
|
/* 394540 E00962C0 0200202D */ daddu $a0, $s0, $zero
|
|
/* 394544 E00962C4 8E450018 */ lw $a1, 0x18($s2)
|
|
/* 394548 E00962C8 4407A000 */ mfc1 $a3, $f20
|
|
/* 39454C E00962CC 0C080110 */ jal shim_guScaleF
|
|
/* 394550 E00962D0 00A0302D */ daddu $a2, $a1, $zero
|
|
/* 394554 E00962D4 0200202D */ daddu $a0, $s0, $zero
|
|
/* 394558 E00962D8 27A50018 */ addiu $a1, $sp, 0x18
|
|
/* 39455C E00962DC 0C080114 */ jal shim_guMtxCatF
|
|
/* 394560 E00962E0 00A0302D */ daddu $a2, $a1, $zero
|
|
/* 394564 E00962E4 27A40018 */ addiu $a0, $sp, 0x18
|
|
/* 394568 E00962E8 3C108007 */ lui $s0, %hi(gMatrixListPos)
|
|
/* 39456C E00962EC 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
|
|
/* 394570 E00962F0 3C12800A */ lui $s2, %hi(gDisplayContext)
|
|
/* 394574 E00962F4 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
|
|
/* 394578 E00962F8 96050000 */ lhu $a1, ($s0)
|
|
/* 39457C E00962FC 8E420000 */ lw $v0, ($s2)
|
|
/* 394580 E0096300 00052980 */ sll $a1, $a1, 6
|
|
/* 394584 E0096304 00B42821 */ addu $a1, $a1, $s4
|
|
/* 394588 E0096308 0C080118 */ jal shim_guMtxF2L
|
|
/* 39458C E009630C 00452821 */ addu $a1, $v0, $a1
|
|
/* 394590 E0096310 3C06D838 */ lui $a2, 0xd838
|
|
/* 394594 E0096314 34C60002 */ ori $a2, $a2, 2
|
|
/* 394598 E0096318 8E240000 */ lw $a0, ($s1)
|
|
/* 39459C E009631C 3C03DA38 */ lui $v1, 0xda38
|
|
/* 3945A0 E0096320 0080282D */ daddu $a1, $a0, $zero
|
|
/* 3945A4 E0096324 24840008 */ addiu $a0, $a0, 8
|
|
/* 3945A8 E0096328 AE240000 */ sw $a0, ($s1)
|
|
/* 3945AC E009632C 96020000 */ lhu $v0, ($s0)
|
|
/* 3945B0 E0096330 00139880 */ sll $s3, $s3, 2
|
|
/* 3945B4 E0096334 ACA30000 */ sw $v1, ($a1)
|
|
/* 3945B8 E0096338 24430001 */ addiu $v1, $v0, 1
|
|
/* 3945BC E009633C 3042FFFF */ andi $v0, $v0, 0xffff
|
|
/* 3945C0 E0096340 00021180 */ sll $v0, $v0, 6
|
|
/* 3945C4 E0096344 A6030000 */ sh $v1, ($s0)
|
|
/* 3945C8 E0096348 8E430000 */ lw $v1, ($s2)
|
|
/* 3945CC E009634C 00541021 */ addu $v0, $v0, $s4
|
|
/* 3945D0 E0096350 00621821 */ addu $v1, $v1, $v0
|
|
/* 3945D4 E0096354 24820008 */ addiu $v0, $a0, 8
|
|
/* 3945D8 E0096358 ACA30004 */ sw $v1, 4($a1)
|
|
/* 3945DC E009635C 3C03DE00 */ lui $v1, 0xde00
|
|
/* 3945E0 E0096360 AE220000 */ sw $v0, ($s1)
|
|
/* 3945E4 E0096364 AC830000 */ sw $v1, ($a0)
|
|
/* 3945E8 E0096368 3C05E009 */ lui $a1, %hi(D_E00963E0)
|
|
/* 3945EC E009636C 00B32821 */ addu $a1, $a1, $s3
|
|
/* 3945F0 E0096370 8CA563E0 */ lw $a1, %lo(D_E00963E0)($a1)
|
|
/* 3945F4 E0096374 24820010 */ addiu $v0, $a0, 0x10
|
|
/* 3945F8 E0096378 AE220000 */ sw $v0, ($s1)
|
|
/* 3945FC E009637C 3C020900 */ lui $v0, 0x900
|
|
/* 394600 E0096380 24421508 */ addiu $v0, $v0, 0x1508
|
|
/* 394604 E0096384 AC82000C */ sw $v0, 0xc($a0)
|
|
/* 394608 E0096388 24820018 */ addiu $v0, $a0, 0x18
|
|
/* 39460C E009638C AC830008 */ sw $v1, 8($a0)
|
|
/* 394610 E0096390 AE220000 */ sw $v0, ($s1)
|
|
/* 394614 E0096394 24020040 */ addiu $v0, $zero, 0x40
|
|
/* 394618 E0096398 AC820014 */ sw $v0, 0x14($a0)
|
|
/* 39461C E009639C 24820020 */ addiu $v0, $a0, 0x20
|
|
/* 394620 E00963A0 AC860010 */ sw $a2, 0x10($a0)
|
|
/* 394624 E00963A4 AE220000 */ sw $v0, ($s1)
|
|
/* 394628 E00963A8 AC950018 */ sw $s5, 0x18($a0)
|
|
/* 39462C E00963AC AC80001C */ sw $zero, 0x1c($a0)
|
|
/* 394630 E00963B0 AC850004 */ sw $a1, 4($a0)
|
|
/* 394634 E00963B4 8FBF00B0 */ lw $ra, 0xb0($sp)
|
|
/* 394638 E00963B8 8FB500AC */ lw $s5, 0xac($sp)
|
|
/* 39463C E00963BC 8FB400A8 */ lw $s4, 0xa8($sp)
|
|
/* 394640 E00963C0 8FB300A4 */ lw $s3, 0xa4($sp)
|
|
/* 394644 E00963C4 8FB200A0 */ lw $s2, 0xa0($sp)
|
|
/* 394648 E00963C8 8FB1009C */ lw $s1, 0x9c($sp)
|
|
/* 39464C E00963CC 8FB00098 */ lw $s0, 0x98($sp)
|
|
/* 394650 E00963D0 D7B400B8 */ ldc1 $f20, 0xb8($sp)
|
|
/* 394654 E00963D4 03E00008 */ jr $ra
|
|
/* 394658 E00963D8 27BD00C0 */ addiu $sp, $sp, 0xc0
|
|
/* 39465C E00963DC 00000000 */ nop
|