1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-01-14 04:07:06 +00:00

En_Ssh (House of Skulltula spiders) (#485)

* Darkmeiro decompilation

Bg_Gnd_Darkmeiro decompiled, matched, and documented.

* give this a shot

* fix conflict

* one more try

* could be useful

* whoops

* ZAP2 stuff

* ZAP why

* ZAP again

* eek spiders

* now with names

* fixes and formatting

* expanded enum

* void* limb draw
This commit is contained in:
petrie911 2020-12-02 13:58:21 -06:00 committed by GitHub
parent 620e3418c7
commit fd97e8433e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
53 changed files with 879 additions and 2584 deletions

View file

@ -1,35 +0,0 @@
glabel EnSsh_Destroy
/* 01678 80B038E8 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 0167C 80B038EC AFB30024 */ sw $s3, 0x0024($sp)
/* 01680 80B038F0 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000
/* 01684 80B038F4 AFB40028 */ sw $s4, 0x0028($sp)
/* 01688 80B038F8 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
/* 0168C 80B038FC AFBF002C */ sw $ra, 0x002C($sp)
/* 01690 80B03900 AFB20020 */ sw $s2, 0x0020($sp)
/* 01694 80B03904 AFB1001C */ sw $s1, 0x001C($sp)
/* 01698 80B03908 AFB00018 */ sw $s0, 0x0018($sp)
/* 0169C 80B0390C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 016A0 80B03910 0C009C27 */ jal Effect_Delete
/* 016A4 80B03914 8E650538 */ lw $a1, 0x0538($s3) ## 00000538
/* 016A8 80B03918 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 016AC 80B0391C 267102FC */ addiu $s1, $s3, 0x02FC ## $s1 = 000002FC
/* 016B0 80B03920 241201C8 */ addiu $s2, $zero, 0x01C8 ## $s2 = 000001C8
.L80B03924:
/* 016B4 80B03924 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 016B8 80B03928 0C0170EB */ jal Collider_DestroyCylinder
/* 016BC 80B0392C 02202825 */ or $a1, $s1, $zero ## $a1 = 000002FC
/* 016C0 80B03930 2610004C */ addiu $s0, $s0, 0x004C ## $s0 = 0000004C
/* 016C4 80B03934 1612FFFB */ bne $s0, $s2, .L80B03924
/* 016C8 80B03938 2631004C */ addiu $s1, $s1, 0x004C ## $s1 = 00000348
/* 016CC 80B0393C 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 016D0 80B03940 0C016F32 */ jal Collider_DestroyJntSph
/* 016D4 80B03944 266504C4 */ addiu $a1, $s3, 0x04C4 ## $a1 = 000004C4
/* 016D8 80B03948 8FBF002C */ lw $ra, 0x002C($sp)
/* 016DC 80B0394C 8FB00018 */ lw $s0, 0x0018($sp)
/* 016E0 80B03950 8FB1001C */ lw $s1, 0x001C($sp)
/* 016E4 80B03954 8FB20020 */ lw $s2, 0x0020($sp)
/* 016E8 80B03958 8FB30024 */ lw $s3, 0x0024($sp)
/* 016EC 80B0395C 8FB40028 */ lw $s4, 0x0028($sp)
/* 016F0 80B03960 03E00008 */ jr $ra
/* 016F4 80B03964 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000

View file

@ -1,78 +0,0 @@
.rdata
glabel D_80B045D0
.asciz "../z_en_ssh.c"
.balign 4
glabel D_80B045E0
.asciz "../z_en_ssh.c"
.balign 4
.text
glabel EnSsh_Draw
/* 02048 80B042B8 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 0204C 80B042BC AFBF0024 */ sw $ra, 0x0024($sp)
/* 02050 80B042C0 AFB00020 */ sw $s0, 0x0020($sp)
/* 02054 80B042C4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 02058 80B042C8 0C2C0C18 */ jal func_80B03060
/* 0205C 80B042CC AFA50054 */ sw $a1, 0x0054($sp)
/* 02060 80B042D0 0C2C0BC7 */ jal func_80B02F1C
/* 02064 80B042D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 02068 80B042D8 8FAE0054 */ lw $t6, 0x0054($sp)
/* 0206C 80B042DC 3C0680B0 */ lui $a2, %hi(D_80B045D0) ## $a2 = 80B00000
/* 02070 80B042E0 24C645D0 */ addiu $a2, $a2, %lo(D_80B045D0) ## $a2 = 80B045D0
/* 02074 80B042E4 8DC50000 */ lw $a1, 0x0000($t6) ## 00000000
/* 02078 80B042E8 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFE4
/* 0207C 80B042EC 2407091D */ addiu $a3, $zero, 0x091D ## $a3 = 0000091D
/* 02080 80B042F0 0C031AB1 */ jal Graph_OpenDisps
/* 02084 80B042F4 AFA50044 */ sw $a1, 0x0044($sp)
/* 02088 80B042F8 8FA80044 */ lw $t0, 0x0044($sp)
/* 0208C 80B042FC 3C18DB06 */ lui $t8, 0xDB06 ## $t8 = DB060000
/* 02090 80B04300 37180020 */ ori $t8, $t8, 0x0020 ## $t8 = DB060020
/* 02094 80B04304 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0
/* 02098 80B04308 3C0480B0 */ lui $a0, %hi(D_80B045B8) ## $a0 = 80B00000
/* 0209C 80B0430C 3C0E8016 */ lui $t6, %hi(gSegments)
/* 020A0 80B04310 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
/* 020A4 80B04314 AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0
/* 020A8 80B04318 AC780000 */ sw $t8, 0x0000($v1) ## 00000000
/* 020AC 80B0431C 861905CE */ lh $t9, 0x05CE($s0) ## 000005CE
/* 020B0 80B04320 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 020B4 80B04324 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 020B8 80B04328 00194880 */ sll $t1, $t9, 2
/* 020BC 80B0432C 00892021 */ addu $a0, $a0, $t1
/* 020C0 80B04330 8C8445B8 */ lw $a0, %lo(D_80B045B8)($a0)
/* 020C4 80B04334 3C0680B0 */ lui $a2, %hi(D_80B045E0) ## $a2 = 80B00000
/* 020C8 80B04338 24C645E0 */ addiu $a2, $a2, %lo(D_80B045E0) ## $a2 = 80B045E0
/* 020CC 80B0433C 00045900 */ sll $t3, $a0, 4
/* 020D0 80B04340 000B6702 */ srl $t4, $t3, 28
/* 020D4 80B04344 000C6880 */ sll $t5, $t4, 2
/* 020D8 80B04348 01CD7021 */ addu $t6, $t6, $t5
/* 020DC 80B0434C 8DCE6FA8 */ lw $t6, %lo(gSegments)($t6)
/* 020E0 80B04350 00815024 */ and $t2, $a0, $at
/* 020E4 80B04354 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 020E8 80B04358 014E7821 */ addu $t7, $t2, $t6
/* 020EC 80B0435C 01E1C021 */ addu $t8, $t7, $at
/* 020F0 80B04360 AC780004 */ sw $t8, 0x0004($v1) ## 00000004
/* 020F4 80B04364 8FB90054 */ lw $t9, 0x0054($sp)
/* 020F8 80B04368 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFE4
/* 020FC 80B0436C 24070920 */ addiu $a3, $zero, 0x0920 ## $a3 = 00000920
/* 02100 80B04370 0C031AD5 */ jal Graph_CloseDisps
/* 02104 80B04374 8F250000 */ lw $a1, 0x0000($t9) ## 00000000
/* 02108 80B04378 3C0980B0 */ lui $t1, %hi(func_80B04280) ## $t1 = 80B00000
/* 0210C 80B0437C 25294280 */ addiu $t1, $t1, %lo(func_80B04280) ## $t1 = 80B04280
/* 02110 80B04380 8E050150 */ lw $a1, 0x0150($s0) ## 00000150
/* 02114 80B04384 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C
/* 02118 80B04388 3C0780B0 */ lui $a3, %hi(func_80B04190) ## $a3 = 80B00000
/* 0211C 80B0438C 24E74190 */ addiu $a3, $a3, %lo(func_80B04190) ## $a3 = 80B04190
/* 02120 80B04390 AFB00014 */ sw $s0, 0x0014($sp)
/* 02124 80B04394 AFA90010 */ sw $t1, 0x0010($sp)
/* 02128 80B04398 0C028572 */ jal SkelAnime_DrawOpa
/* 0212C 80B0439C 8FA40054 */ lw $a0, 0x0054($sp)
/* 02130 80B043A0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 02134 80B043A4 8FB00020 */ lw $s0, 0x0020($sp)
/* 02138 80B043A8 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
/* 0213C 80B043AC 03E00008 */ jr $ra
/* 02140 80B043B0 00000000 */ nop
/* 02144 80B043B4 00000000 */ nop
/* 02148 80B043B8 00000000 */ nop
/* 0214C 80B043BC 00000000 */ nop

View file

@ -1,113 +0,0 @@
glabel EnSsh_Init
/* 014E4 80B03754 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 014E8 80B03758 AFB00028 */ sw $s0, 0x0028($sp)
/* 014EC 80B0375C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 014F0 80B03760 AFBF002C */ sw $ra, 0x002C($sp)
/* 014F4 80B03764 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 014F8 80B03768 AFA50044 */ sw $a1, 0x0044($sp)
/* 014FC 80B0376C 0C028800 */ jal SkelAnime_GetFrameCount
/* 01500 80B03770 24840304 */ addiu $a0, $a0, 0x0304 ## $a0 = 06000304
/* 01504 80B03774 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 01508 80B03778 3C0E8016 */ lui $t6, %hi(gSaveContext+0xd0)
/* 0150C 80B0377C 3C0F8016 */ lui $t7, %hi(gSaveContext+0xd0)
/* 01510 80B03780 468021A0 */ cvt.s.w $f6, $f4
/* 01514 80B03784 E7A6003C */ swc1 $f6, 0x003C($sp)
/* 01518 80B03788 8603001C */ lh $v1, 0x001C($s0) ## 0000001C
/* 0151C 80B0378C 14600009 */ bne $v1, $zero, .L80B037B4
/* 01520 80B03790 0003C080 */ sll $t8, $v1, 2
/* 01524 80B03794 85CEE730 */ lh $t6, %lo(gSaveContext+0xd0)($t6)
/* 01528 80B03798 29C10064 */ slti $at, $t6, 0x0064
/* 0152C 80B0379C 1420000F */ bne $at, $zero, .L80B037DC
/* 01530 80B037A0 00000000 */ nop
/* 01534 80B037A4 0C00B55C */ jal Actor_Kill
/* 01538 80B037A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0153C 80B037AC 1000004A */ beq $zero, $zero, .L80B038D8
/* 01540 80B037B0 8FBF002C */ lw $ra, 0x002C($sp)
.L80B037B4:
/* 01544 80B037B4 85EFE730 */ lh $t7, %lo(gSaveContext+0xd0)($t7)
/* 01548 80B037B8 0303C021 */ addu $t8, $t8, $v1
/* 0154C 80B037BC 0018C040 */ sll $t8, $t8, 1
/* 01550 80B037C0 01F8082A */ slt $at, $t7, $t8
/* 01554 80B037C4 14200005 */ bne $at, $zero, .L80B037DC
/* 01558 80B037C8 00000000 */ nop
/* 0155C 80B037CC 0C00B55C */ jal Actor_Kill
/* 01560 80B037D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01564 80B037D4 10000040 */ beq $zero, $zero, .L80B038D8
/* 01568 80B037D8 8FBF002C */ lw $ra, 0x002C($sp)
.L80B037DC:
/* 0156C 80B037DC 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle)
/* 01570 80B037E0 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle)
/* 01574 80B037E4 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 01578 80B037E8 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 0157C 80B037EC 0C00AC78 */ jal ActorShape_Init
/* 01580 80B037F0 3C0741F0 */ lui $a3, 0x41F0 ## $a3 = 41F00000
/* 01584 80B037F4 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 01588 80B037F8 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000
/* 0158C 80B037FC 26190190 */ addiu $t9, $s0, 0x0190 ## $t9 = 00000190
/* 01590 80B03800 26080244 */ addiu $t0, $s0, 0x0244 ## $t0 = 00000244
/* 01594 80B03804 2409001E */ addiu $t1, $zero, 0x001E ## $t1 = 0000001E
/* 01598 80B03808 AFA90018 */ sw $t1, 0x0018($sp)
/* 0159C 80B0380C AFA80014 */ sw $t0, 0x0014($sp)
/* 015A0 80B03810 AFB90010 */ sw $t9, 0x0010($sp)
/* 015A4 80B03814 24C652E0 */ addiu $a2, $a2, 0x52E0 ## $a2 = 060052E0
/* 015A8 80B03818 AFA50030 */ sw $a1, 0x0030($sp)
/* 015AC 80B0381C 8FA40044 */ lw $a0, 0x0044($sp)
/* 015B0 80B03820 0C02915F */ jal SkelAnime_Init
/* 015B4 80B03824 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 015B8 80B03828 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 015BC 80B0382C C7A8003C */ lwc1 $f8, 0x003C($sp)
/* 015C0 80B03830 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 015C4 80B03834 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 015C8 80B03838 44070000 */ mfc1 $a3, $f0
/* 015CC 80B0383C AFAA0014 */ sw $t2, 0x0014($sp)
/* 015D0 80B03840 24A50304 */ addiu $a1, $a1, 0x0304 ## $a1 = 06000304
/* 015D4 80B03844 8FA40030 */ lw $a0, 0x0030($sp)
/* 015D8 80B03848 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 015DC 80B0384C E7A80010 */ swc1 $f8, 0x0010($sp)
/* 015E0 80B03850 0C029468 */ jal SkelAnime_ChangeAnim
/* 015E4 80B03854 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 015E8 80B03858 0C2C08C0 */ jal func_80B02300
/* 015EC 80B0385C 8FA40044 */ lw $a0, 0x0044($sp)
/* 015F0 80B03860 AE020538 */ sw $v0, 0x0538($s0) ## 00000538
/* 015F4 80B03864 8FA50044 */ lw $a1, 0x0044($sp)
/* 015F8 80B03868 0C2C0970 */ jal func_80B025C0
/* 015FC 80B0386C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01600 80B03870 A60005CA */ sh $zero, 0x05CA($s0) ## 000005CA
/* 01604 80B03874 A20005CC */ sb $zero, 0x05CC($s0) ## 000005CC
/* 01608 80B03878 8FA50044 */ lw $a1, 0x0044($sp)
/* 0160C 80B0387C 0C2C08FF */ jal func_80B023FC
/* 01610 80B03880 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01614 80B03884 860B001C */ lh $t3, 0x001C($s0) ## 0000001C
/* 01618 80B03888 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0161C 80B0388C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01620 80B03890 11600006 */ beq $t3, $zero, .L80B038AC
/* 01624 80B03894 3C053F40 */ lui $a1, 0x3F40 ## $a1 = 3F400000
/* 01628 80B03898 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0162C 80B0389C 0C2C0A53 */ jal func_80B0294C
/* 01630 80B038A0 3C053F00 */ lui $a1, 0x3F00 ## $a1 = 3F000000
/* 01634 80B038A4 10000004 */ beq $zero, $zero, .L80B038B8
/* 01638 80B038A8 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
.L80B038AC:
/* 0163C 80B038AC 0C2C0A53 */ jal func_80B0294C
/* 01640 80B038B0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01644 80B038B4 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
.L80B038B8:
/* 01648 80B038B8 860C0032 */ lh $t4, 0x0032($s0) ## 00000032
/* 0164C 80B038BC 3C0580B0 */ lui $a1, %hi(func_80B03FF0) ## $a1 = 80B00000
/* 01650 80B038C0 24A53FF0 */ addiu $a1, $a1, %lo(func_80B03FF0) ## $a1 = 80B03FF0
/* 01654 80B038C4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01658 80B038C8 E60A006C */ swc1 $f10, 0x006C($s0) ## 0000006C
/* 0165C 80B038CC 0C2C089C */ jal func_80B02270
/* 01660 80B038D0 A60C0524 */ sh $t4, 0x0524($s0) ## 00000524
/* 01664 80B038D4 8FBF002C */ lw $ra, 0x002C($sp)
.L80B038D8:
/* 01668 80B038D8 8FB00028 */ lw $s0, 0x0028($sp)
/* 0166C 80B038DC 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 01670 80B038E0 03E00008 */ jr $ra
/* 01674 80B038E4 00000000 */ nop

View file

@ -1,82 +0,0 @@
glabel EnSsh_Update
/* 01E04 80B04074 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 01E08 80B04078 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01E0C 80B0407C AFB00020 */ sw $s0, 0x0020($sp)
/* 01E10 80B04080 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01E14 80B04084 0C2C0FD2 */ jal func_80B03F48
/* 01E18 80B04088 AFA5002C */ sw $a1, 0x002C($sp)
/* 01E1C 80B0408C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01E20 80B04090 0C2C0CC3 */ jal func_80B0330C
/* 01E24 80B04094 8FA5002C */ lw $a1, 0x002C($sp)
/* 01E28 80B04098 54400039 */ bnel $v0, $zero, .L80B04180
/* 01E2C 80B0409C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01E30 80B040A0 860E0532 */ lh $t6, 0x0532($s0) ## 00000532
/* 01E34 80B040A4 11C00005 */ beq $t6, $zero, .L80B040BC
/* 01E38 80B040A8 00000000 */ nop
/* 01E3C 80B040AC 0C2C0AB1 */ jal func_80B02AC4
/* 01E40 80B040B0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01E44 80B040B4 10000014 */ beq $zero, $zero, .L80B04108
/* 01E48 80B040B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80B040BC:
/* 01E4C 80B040BC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 01E50 80B040C0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01E54 80B040C4 0C00B5FB */ jal func_8002D7EC
/* 01E58 80B040C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01E5C 80B040CC 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 01E60 80B040D0 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004
/* 01E64 80B040D4 AFAF0014 */ sw $t7, 0x0014($sp)
/* 01E68 80B040D8 44060000 */ mfc1 $a2, $f0
/* 01E6C 80B040DC 44070000 */ mfc1 $a3, $f0
/* 01E70 80B040E0 8FA4002C */ lw $a0, 0x002C($sp)
/* 01E74 80B040E4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01E78 80B040E8 0C00B92D */ jal func_8002E4B4
/* 01E7C 80B040EC E7A00010 */ swc1 $f0, 0x0010($sp)
/* 01E80 80B040F0 8E1902F8 */ lw $t9, 0x02F8($s0) ## 000002F8
/* 01E84 80B040F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01E88 80B040F8 8FA5002C */ lw $a1, 0x002C($sp)
/* 01E8C 80B040FC 0320F809 */ jalr $ra, $t9
/* 01E90 80B04100 00000000 */ nop
/* 01E94 80B04104 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80B04108:
/* 01E98 80B04108 0C2C0B45 */ jal func_80B02D14
/* 01E9C 80B0410C 8FA5002C */ lw $a1, 0x002C($sp)
/* 01EA0 80B04110 860305D0 */ lh $v1, 0x05D0($s0) ## 000005D0
/* 01EA4 80B04114 2404003C */ addiu $a0, $zero, 0x003C ## $a0 = 0000003C
/* 01EA8 80B04118 14600003 */ bne $v1, $zero, .L80B04128
/* 01EAC 80B0411C 2478FFFF */ addiu $t8, $v1, 0xFFFF ## $t8 = FFFFFFFF
/* 01EB0 80B04120 10000004 */ beq $zero, $zero, .L80B04134
/* 01EB4 80B04124 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B04128:
/* 01EB8 80B04128 A61805D0 */ sh $t8, 0x05D0($s0) ## 000005D0
/* 01EBC 80B0412C 860305D0 */ lh $v1, 0x05D0($s0) ## 000005D0
/* 01EC0 80B04130 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
.L80B04134:
/* 01EC4 80B04134 54400006 */ bnel $v0, $zero, .L80B04150
/* 01EC8 80B04138 A60305CE */ sh $v1, 0x05CE($s0) ## 000005CE
/* 01ECC 80B0413C 0C01DF64 */ jal Math_Rand_S16Offset
/* 01ED0 80B04140 2405003C */ addiu $a1, $zero, 0x003C ## $a1 = 0000003C
/* 01ED4 80B04144 A60205D0 */ sh $v0, 0x05D0($s0) ## 000005D0
/* 01ED8 80B04148 860305D0 */ lh $v1, 0x05D0($s0) ## 000005D0
/* 01EDC 80B0414C A60305CE */ sh $v1, 0x05CE($s0) ## 000005CE
.L80B04150:
/* 01EE0 80B04150 860805CE */ lh $t0, 0x05CE($s0) ## 000005CE
/* 01EE4 80B04154 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01EE8 80B04158 29010003 */ slti $at, $t0, 0x0003
/* 01EEC 80B0415C 14200002 */ bne $at, $zero, .L80B04168
/* 01EF0 80B04160 00000000 */ nop
/* 01EF4 80B04164 A60005CE */ sh $zero, 0x05CE($s0) ## 000005CE
.L80B04168:
/* 01EF8 80B04168 0C2C0DA3 */ jal func_80B0368C
/* 01EFC 80B0416C 8FA5002C */ lw $a1, 0x002C($sp)
/* 01F00 80B04170 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01F04 80B04174 0C00B56E */ jal Actor_SetHeight
/* 01F08 80B04178 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 01F0C 80B0417C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B04180:
/* 01F10 80B04180 8FB00020 */ lw $s0, 0x0020($sp)
/* 01F14 80B04184 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01F18 80B04188 03E00008 */ jr $ra
/* 01F1C 80B0418C 00000000 */ nop

View file

@ -1,3 +0,0 @@
glabel func_80B02270
/* 00000 80B02270 03E00008 */ jr $ra
/* 00004 80B02274 AC8502F8 */ sw $a1, 0x02F8($a0) ## 000002F8

View file

@ -1,35 +0,0 @@
glabel func_80B02278
/* 00008 80B02278 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 0000C 80B0227C 3C0E80B0 */ lui $t6, %hi(D_80B04508) ## $t6 = 80B00000
/* 00010 80B02280 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00014 80B02284 AFA40040 */ sw $a0, 0x0040($sp)
/* 00018 80B02288 AFA50044 */ sw $a1, 0x0044($sp)
/* 0001C 80B0228C 25CE4508 */ addiu $t6, $t6, %lo(D_80B04508) ## $t6 = 80B04508
/* 00020 80B02290 8DD80000 */ lw $t8, 0x0000($t6) ## 80B04508
/* 00024 80B02294 27A60034 */ addiu $a2, $sp, 0x0034 ## $a2 = FFFFFFF4
/* 00028 80B02298 24080064 */ addiu $t0, $zero, 0x0064 ## $t0 = 00000064
/* 0002C 80B0229C ACD80000 */ sw $t8, 0x0000($a2) ## FFFFFFF4
/* 00030 80B022A0 8DCF0004 */ lw $t7, 0x0004($t6) ## 80B0450C
/* 00034 80B022A4 240900DC */ addiu $t1, $zero, 0x00DC ## $t1 = 000000DC
/* 00038 80B022A8 240A0008 */ addiu $t2, $zero, 0x0008 ## $t2 = 00000008
/* 0003C 80B022AC ACCF0004 */ sw $t7, 0x0004($a2) ## FFFFFFF8
/* 00040 80B022B0 8DD80008 */ lw $t8, 0x0008($t6) ## 80B04510
/* 00044 80B022B4 00C03825 */ or $a3, $a2, $zero ## $a3 = FFFFFFF4
/* 00048 80B022B8 27A50028 */ addiu $a1, $sp, 0x0028 ## $a1 = FFFFFFE8
/* 0004C 80B022BC ACD80008 */ sw $t8, 0x0008($a2) ## FFFFFFFC
/* 00050 80B022C0 8FB90040 */ lw $t9, 0x0040($sp)
/* 00054 80B022C4 8FA40044 */ lw $a0, 0x0044($sp)
/* 00058 80B022C8 C7240024 */ lwc1 $f4, 0x0024($t9) ## 00000024
/* 0005C 80B022CC E7A40028 */ swc1 $f4, 0x0028($sp)
/* 00060 80B022D0 C7260080 */ lwc1 $f6, 0x0080($t9) ## 00000080
/* 00064 80B022D4 E7A6002C */ swc1 $f6, 0x002C($sp)
/* 00068 80B022D8 C728002C */ lwc1 $f8, 0x002C($t9) ## 0000002C
/* 0006C 80B022DC AFAA0018 */ sw $t2, 0x0018($sp)
/* 00070 80B022E0 AFA90014 */ sw $t1, 0x0014($sp)
/* 00074 80B022E4 AFA80010 */ sw $t0, 0x0010($sp)
/* 00078 80B022E8 0C00A3E1 */ jal EffectSsBlast_SpawnWhiteCustomScale
/* 0007C 80B022EC E7A80030 */ swc1 $f8, 0x0030($sp)
/* 00080 80B022F0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00084 80B022F4 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 00088 80B022F8 03E00008 */ jr $ra
/* 0008C 80B022FC 00000000 */ nop

View file

@ -1,65 +0,0 @@
glabel func_80B02300
/* 00090 80B02300 27BDFE28 */ addiu $sp, $sp, 0xFE28 ## $sp = FFFFFE28
/* 00094 80B02304 3C0E80B0 */ lui $t6, %hi(D_80B04514) ## $t6 = 80B00000
/* 00098 80B02308 8DCE4514 */ lw $t6, %lo(D_80B04514)($t6)
/* 0009C 80B0230C 3C0F80B0 */ lui $t7, %hi(D_80B04518) ## $t7 = 80B00000
/* 000A0 80B02310 3C1880B0 */ lui $t8, %hi(D_80B0451C) ## $t8 = 80B00000
/* 000A4 80B02314 8DEF4518 */ lw $t7, %lo(D_80B04518)($t7)
/* 000A8 80B02318 8F18451C */ lw $t8, %lo(D_80B0451C)($t8)
/* 000AC 80B0231C 3C1980B0 */ lui $t9, %hi(D_80B04520) ## $t9 = 80B00000
/* 000B0 80B02320 8F394520 */ lw $t9, %lo(D_80B04520)($t9)
/* 000B4 80B02324 AFAE0034 */ sw $t6, 0x0034($sp)
/* 000B8 80B02328 AFAF0030 */ sw $t7, 0x0030($sp)
/* 000BC 80B0232C AFB8002C */ sw $t8, 0x002C($sp)
/* 000C0 80B02330 AFB90028 */ sw $t9, 0x0028($sp)
/* 000C4 80B02334 93AD0031 */ lbu $t5, 0x0031($sp)
/* 000C8 80B02338 93AC0035 */ lbu $t4, 0x0035($sp)
/* 000CC 80B0233C 93A80034 */ lbu $t0, 0x0034($sp)
/* 000D0 80B02340 93A90030 */ lbu $t1, 0x0030($sp)
/* 000D4 80B02344 93AA002C */ lbu $t2, 0x002C($sp)
/* 000D8 80B02348 93AB0028 */ lbu $t3, 0x0028($sp)
/* 000DC 80B0234C 93AF0029 */ lbu $t7, 0x0029($sp)
/* 000E0 80B02350 93AE002D */ lbu $t6, 0x002D($sp)
/* 000E4 80B02354 93B80036 */ lbu $t8, 0x0036($sp)
/* 000E8 80B02358 A3AD01C1 */ sb $t5, 0x01C1($sp)
/* 000EC 80B0235C A3AC01BD */ sb $t4, 0x01BD($sp)
/* 000F0 80B02360 A3A801BC */ sb $t0, 0x01BC($sp)
/* 000F4 80B02364 A3A901C0 */ sb $t1, 0x01C0($sp)
/* 000F8 80B02368 A3AA01C4 */ sb $t2, 0x01C4($sp)
/* 000FC 80B0236C A3AB01C8 */ sb $t3, 0x01C8($sp)
/* 00100 80B02370 93AB0033 */ lbu $t3, 0x0033($sp)
/* 00104 80B02374 93AA0037 */ lbu $t2, 0x0037($sp)
/* 00108 80B02378 93A9002A */ lbu $t1, 0x002A($sp)
/* 0010C 80B0237C 93A8002E */ lbu $t0, 0x002E($sp)
/* 00110 80B02380 93AC002F */ lbu $t4, 0x002F($sp)
/* 00114 80B02384 93AD002B */ lbu $t5, 0x002B($sp)
/* 00118 80B02388 93B90032 */ lbu $t9, 0x0032($sp)
/* 0011C 80B0238C A3AF01C9 */ sb $t7, 0x01C9($sp)
/* 00120 80B02390 A3AE01C5 */ sb $t6, 0x01C5($sp)
/* 00124 80B02394 A3B801BE */ sb $t8, 0x01BE($sp)
/* 00128 80B02398 AFBF001C */ sw $ra, 0x001C($sp)
/* 0012C 80B0239C 240E0006 */ addiu $t6, $zero, 0x0006 ## $t6 = 00000006
/* 00130 80B023A0 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003
/* 00134 80B023A4 27B80038 */ addiu $t8, $sp, 0x0038 ## $t8 = FFFFFE60
/* 00138 80B023A8 AFAE01CC */ sw $t6, 0x01CC($sp)
/* 0013C 80B023AC AFA001D0 */ sw $zero, 0x01D0($sp)
/* 00140 80B023B0 AFAF01D4 */ sw $t7, 0x01D4($sp)
/* 00144 80B023B4 AFB80014 */ sw $t8, 0x0014($sp)
/* 00148 80B023B8 27A50020 */ addiu $a1, $sp, 0x0020 ## $a1 = FFFFFE48
/* 0014C 80B023BC AFA00010 */ sw $zero, 0x0010($sp)
/* 00150 80B023C0 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 00154 80B023C4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00158 80B023C8 A3AB01C3 */ sb $t3, 0x01C3($sp)
/* 0015C 80B023CC A3AA01BF */ sb $t2, 0x01BF($sp)
/* 00160 80B023D0 A3A901CA */ sb $t1, 0x01CA($sp)
/* 00164 80B023D4 A3A801C6 */ sb $t0, 0x01C6($sp)
/* 00168 80B023D8 A3AC01C7 */ sb $t4, 0x01C7($sp)
/* 0016C 80B023DC A3AD01CB */ sb $t5, 0x01CB($sp)
/* 00170 80B023E0 0C009B35 */ jal Effect_Add
## Effect_Add
/* 00174 80B023E4 A3B901C2 */ sb $t9, 0x01C2($sp)
/* 00178 80B023E8 8FBF001C */ lw $ra, 0x001C($sp)
/* 0017C 80B023EC 8FA20020 */ lw $v0, 0x0020($sp)
/* 00180 80B023F0 27BD01D8 */ addiu $sp, $sp, 0x01D8 ## $sp = 00000000
/* 00184 80B023F4 03E00008 */ jr $ra
/* 00188 80B023F8 00000000 */ nop

View file

@ -1,40 +0,0 @@
glabel func_80B023FC
/* 0018C 80B023FC 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 00190 80B02400 AFBF0034 */ sw $ra, 0x0034($sp)
/* 00194 80B02404 AFB00030 */ sw $s0, 0x0030($sp)
/* 00198 80B02408 AFA50054 */ sw $a1, 0x0054($sp)
/* 0019C 80B0240C C4840024 */ lwc1 $f4, 0x0024($a0) ## 00000024
/* 001A0 80B02410 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 001A4 80B02414 44814000 */ mtc1 $at, $f8 ## $f8 = 1000.00
/* 001A8 80B02418 E7A4003C */ swc1 $f4, 0x003C($sp)
/* 001AC 80B0241C C4860028 */ lwc1 $f6, 0x0028($a0) ## 00000028
/* 001B0 80B02420 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 001B4 80B02424 27AE004C */ addiu $t6, $sp, 0x004C ## $t6 = FFFFFFFC
/* 001B8 80B02428 46083280 */ add.s $f10, $f6, $f8
/* 001BC 80B0242C 27B90048 */ addiu $t9, $sp, 0x0048 ## $t9 = FFFFFFF8
/* 001C0 80B02430 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 001C4 80B02434 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 001C8 80B02438 E7AA0040 */ swc1 $f10, 0x0040($sp)
/* 001CC 80B0243C C490002C */ lwc1 $f16, 0x002C($a0) ## 0000002C
/* 001D0 80B02440 24A407C0 */ addiu $a0, $a1, 0x07C0 ## $a0 = 000007C0
/* 001D4 80B02444 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
/* 001D8 80B02448 AFB90024 */ sw $t9, 0x0024($sp)
/* 001DC 80B0244C AFB80020 */ sw $t8, 0x0020($sp)
/* 001E0 80B02450 AFAF001C */ sw $t7, 0x001C($sp)
/* 001E4 80B02454 AFA00018 */ sw $zero, 0x0018($sp)
/* 001E8 80B02458 AFA00014 */ sw $zero, 0x0014($sp)
/* 001EC 80B0245C AFAE0010 */ sw $t6, 0x0010($sp)
/* 001F0 80B02460 26070544 */ addiu $a3, $s0, 0x0544 ## $a3 = 00000544
/* 001F4 80B02464 27A6003C */ addiu $a2, $sp, 0x003C ## $a2 = FFFFFFEC
/* 001F8 80B02468 0C00F7A1 */ jal func_8003DE84
/* 001FC 80B0246C E7B00044 */ swc1 $f16, 0x0044($sp)
/* 00200 80B02470 14400003 */ bne $v0, $zero, .L80B02480
/* 00204 80B02474 8FBF0034 */ lw $ra, 0x0034($sp)
/* 00208 80B02478 10000002 */ beq $zero, $zero, .L80B02484
/* 0020C 80B0247C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B02480:
/* 00210 80B02480 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80B02484:
/* 00214 80B02484 8FB00030 */ lw $s0, 0x0030($sp)
/* 00218 80B02488 03E00008 */ jr $ra
/* 0021C 80B0248C 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000

View file

@ -1,67 +0,0 @@
glabel func_80B02490
/* 00220 80B02490 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 00224 80B02494 3C0F80B0 */ lui $t7, %hi(D_80B04524) ## $t7 = 80B00000
/* 00228 80B02498 AFBF001C */ sw $ra, 0x001C($sp)
/* 0022C 80B0249C AFB00018 */ sw $s0, 0x0018($sp)
/* 00230 80B024A0 25EF4524 */ addiu $t7, $t7, %lo(D_80B04524) ## $t7 = 80B04524
/* 00234 80B024A4 8DF90000 */ lw $t9, 0x0000($t7) ## 80B04524
/* 00238 80B024A8 27AE004C */ addiu $t6, $sp, 0x004C ## $t6 = FFFFFFF4
/* 0023C 80B024AC 8DF80004 */ lw $t8, 0x0004($t7) ## 80B04528
/* 00240 80B024B0 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
/* 00244 80B024B4 8DF90008 */ lw $t9, 0x0008($t7) ## 80B0452C
/* 00248 80B024B8 3C0980B0 */ lui $t1, %hi(D_80B04530) ## $t1 = 80B00000
/* 0024C 80B024BC 25294530 */ addiu $t1, $t1, %lo(D_80B04530) ## $t1 = 80B04530
/* 00250 80B024C0 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8
/* 00254 80B024C4 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC
/* 00258 80B024C8 8D2B0000 */ lw $t3, 0x0000($t1) ## 80B04530
/* 0025C 80B024CC 27A80040 */ addiu $t0, $sp, 0x0040 ## $t0 = FFFFFFE8
/* 00260 80B024D0 8D2A0004 */ lw $t2, 0x0004($t1) ## 80B04534
/* 00264 80B024D4 AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFE8
/* 00268 80B024D8 8D2B0008 */ lw $t3, 0x0008($t1) ## 80B04538
/* 0026C 80B024DC AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFEC
/* 00270 80B024E0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00274 80B024E4 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFF0
/* 00278 80B024E8 C486053C */ lwc1 $f6, 0x053C($a0) ## 0000053C
/* 0027C 80B024EC C7A4004C */ lwc1 $f4, 0x004C($sp)
/* 00280 80B024F0 C7AA0050 */ lwc1 $f10, 0x0050($sp)
/* 00284 80B024F4 46062202 */ mul.s $f8, $f4, $f6
/* 00288 80B024F8 C7A40054 */ lwc1 $f4, 0x0054($sp)
/* 0028C 80B024FC E7A8004C */ swc1 $f8, 0x004C($sp)
/* 00290 80B02500 C490053C */ lwc1 $f16, 0x053C($a0) ## 0000053C
/* 00294 80B02504 46105482 */ mul.s $f18, $f10, $f16
/* 00298 80B02508 C7AA0040 */ lwc1 $f10, 0x0040($sp)
/* 0029C 80B0250C E7B20050 */ swc1 $f18, 0x0050($sp)
/* 002A0 80B02510 C486053C */ lwc1 $f6, 0x053C($a0) ## 0000053C
/* 002A4 80B02514 46062202 */ mul.s $f8, $f4, $f6
/* 002A8 80B02518 C7A40044 */ lwc1 $f4, 0x0044($sp)
/* 002AC 80B0251C E7A80054 */ swc1 $f8, 0x0054($sp)
/* 002B0 80B02520 C490053C */ lwc1 $f16, 0x053C($a0) ## 0000053C
/* 002B4 80B02524 46105482 */ mul.s $f18, $f10, $f16
/* 002B8 80B02528 C7AA0048 */ lwc1 $f10, 0x0048($sp)
/* 002BC 80B0252C E7B20040 */ swc1 $f18, 0x0040($sp)
/* 002C0 80B02530 C486053C */ lwc1 $f6, 0x053C($a0) ## 0000053C
/* 002C4 80B02534 46062202 */ mul.s $f8, $f4, $f6
/* 002C8 80B02538 E7A80044 */ swc1 $f8, 0x0044($sp)
/* 002CC 80B0253C C490053C */ lwc1 $f16, 0x053C($a0) ## 0000053C
/* 002D0 80B02540 46105482 */ mul.s $f18, $f10, $f16
/* 002D4 80B02544 0C034213 */ jal Matrix_Push
/* 002D8 80B02548 E7B20048 */ swc1 $f18, 0x0048($sp)
/* 002DC 80B0254C 27A4004C */ addiu $a0, $sp, 0x004C ## $a0 = FFFFFFF4
/* 002E0 80B02550 0C0346BD */ jal Matrix_MultVec3f
/* 002E4 80B02554 27A50034 */ addiu $a1, $sp, 0x0034 ## $a1 = FFFFFFDC
/* 002E8 80B02558 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFE8
/* 002EC 80B0255C 0C0346BD */ jal Matrix_MultVec3f
/* 002F0 80B02560 27A50028 */ addiu $a1, $sp, 0x0028 ## $a1 = FFFFFFD0
/* 002F4 80B02564 0C034221 */ jal Matrix_Pull
/* 002F8 80B02568 00000000 */ nop
/* 002FC 80B0256C 0C009AC3 */ jal Effect_GetByIndex
/* 00300 80B02570 8E040538 */ lw $a0, 0x0538($s0) ## 00000538
/* 00304 80B02574 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
/* 00308 80B02578 27A50034 */ addiu $a1, $sp, 0x0034 ## $a1 = FFFFFFDC
/* 0030C 80B0257C 0C007F7C */ jal EffectBlure_AddVertex
/* 00310 80B02580 27A60028 */ addiu $a2, $sp, 0x0028 ## $a2 = FFFFFFD0
/* 00314 80B02584 8FBF001C */ lw $ra, 0x001C($sp)
/* 00318 80B02588 8FB00018 */ lw $s0, 0x0018($sp)
/* 0031C 80B0258C 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
/* 00320 80B02590 03E00008 */ jr $ra
/* 00324 80B02594 00000000 */ nop

View file

@ -1,11 +0,0 @@
glabel func_80B02598
/* 00328 80B02598 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0032C 80B0259C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00330 80B025A0 0C009AC3 */ jal Effect_GetByIndex
/* 00334 80B025A4 8C840538 */ lw $a0, 0x0538($a0) ## 00000538
/* 00338 80B025A8 0C008048 */ jal EffectBlure_AddSpace
/* 0033C 80B025AC 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
/* 00340 80B025B0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00344 80B025B4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00348 80B025B8 03E00008 */ jr $ra
/* 0034C 80B025BC 00000000 */ nop

View file

@ -1,85 +0,0 @@
glabel func_80B025C0
/* 00350 80B025C0 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98
/* 00354 80B025C4 3C0F80B0 */ lui $t7, %hi(D_80B0453C) ## $t7 = 80B00000
/* 00358 80B025C8 AFBF0034 */ sw $ra, 0x0034($sp)
/* 0035C 80B025CC AFB40030 */ sw $s4, 0x0030($sp)
/* 00360 80B025D0 AFB3002C */ sw $s3, 0x002C($sp)
/* 00364 80B025D4 AFB20028 */ sw $s2, 0x0028($sp)
/* 00368 80B025D8 AFB10024 */ sw $s1, 0x0024($sp)
/* 0036C 80B025DC AFB00020 */ sw $s0, 0x0020($sp)
/* 00370 80B025E0 25EF453C */ addiu $t7, $t7, %lo(D_80B0453C) ## $t7 = 80B0453C
/* 00374 80B025E4 8DF90000 */ lw $t9, 0x0000($t7) ## 80B0453C
/* 00378 80B025E8 8DF80004 */ lw $t8, 0x0004($t7) ## 80B04540
/* 0037C 80B025EC 27AE0050 */ addiu $t6, $sp, 0x0050 ## $t6 = FFFFFFE8
/* 00380 80B025F0 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFE8
/* 00384 80B025F4 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFEC
/* 00388 80B025F8 8DF8000C */ lw $t8, 0x000C($t7) ## 80B04548
/* 0038C 80B025FC 8DF90008 */ lw $t9, 0x0008($t7) ## 80B04544
/* 00390 80B02600 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
/* 00394 80B02604 ADD8000C */ sw $t8, 0x000C($t6) ## FFFFFFF4
/* 00398 80B02608 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFF0
/* 0039C 80B0260C 8DF90010 */ lw $t9, 0x0010($t7) ## 80B0454C
/* 003A0 80B02610 8DF80014 */ lw $t8, 0x0014($t7) ## 80B04550
/* 003A4 80B02614 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000
/* 003A8 80B02618 249002FC */ addiu $s0, $a0, 0x02FC ## $s0 = 000002FC
/* 003AC 80B0261C 27B10050 */ addiu $s1, $sp, 0x0050 ## $s1 = FFFFFFE8
/* 003B0 80B02620 27B40068 */ addiu $s4, $sp, 0x0068 ## $s4 = 00000000
/* 003B4 80B02624 ADD90010 */ sw $t9, 0x0010($t6) ## FFFFFFF8
/* 003B8 80B02628 ADD80014 */ sw $t8, 0x0014($t6) ## FFFFFFFC
.L80B0262C:
/* 003BC 80B0262C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 003C0 80B02630 0C0170D9 */ jal Collider_InitCylinder
/* 003C4 80B02634 02002825 */ or $a1, $s0, $zero ## $a1 = 000002FC
/* 003C8 80B02638 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 003CC 80B0263C 02002825 */ or $a1, $s0, $zero ## $a1 = 000002FC
/* 003D0 80B02640 02603025 */ or $a2, $s3, $zero ## $a2 = 00000000
/* 003D4 80B02644 0C01712B */ jal Collider_SetCylinder
/* 003D8 80B02648 8E270000 */ lw $a3, 0x0000($s1) ## FFFFFFE8
/* 003DC 80B0264C 26310004 */ addiu $s1, $s1, 0x0004 ## $s1 = FFFFFFEC
/* 003E0 80B02650 1634FFF6 */ bne $s1, $s4, .L80B0262C
/* 003E4 80B02654 2610004C */ addiu $s0, $s0, 0x004C ## $s0 = 00000348
/* 003E8 80B02658 3C080003 */ lui $t0, 0x0003 ## $t0 = 00030000
/* 003EC 80B0265C 3C09FFC0 */ lui $t1, 0xFFC0 ## $t1 = FFC00000
/* 003F0 80B02660 3C0DFFCC */ lui $t5, 0xFFCC ## $t5 = FFCC0000
/* 003F4 80B02664 3508F8E9 */ ori $t0, $t0, 0xF8E9 ## $t0 = 0003F8E9
/* 003F8 80B02668 35290716 */ ori $t1, $t1, 0x0716 ## $t1 = FFC00716
/* 003FC 80B0266C 240A0009 */ addiu $t2, $zero, 0x0009 ## $t2 = 00000009
/* 00400 80B02670 240B000D */ addiu $t3, $zero, 0x000D ## $t3 = 0000000D
/* 00404 80B02674 240C0002 */ addiu $t4, $zero, 0x0002 ## $t4 = 00000002
/* 00408 80B02678 35AD0716 */ ori $t5, $t5, 0x0716 ## $t5 = FFCC0716
/* 0040C 80B0267C AE68031C */ sw $t0, 0x031C($s3) ## 0000031C
/* 00410 80B02680 AE690368 */ sw $t1, 0x0368($s3) ## 00000368
/* 00414 80B02684 A26A03A8 */ sb $t2, 0x03A8($s3) ## 000003A8
/* 00418 80B02688 A26B03C2 */ sb $t3, 0x03C2($s3) ## 000003C2
/* 0041C 80B0268C A26C03C0 */ sb $t4, 0x03C0($s3) ## 000003C0
/* 00420 80B02690 AE6D03B4 */ sw $t5, 0x03B4($s3) ## 000003B4
/* 00424 80B02694 0C016C80 */ jal DamageTable_Get
/* 00428 80B02698 24040002 */ addiu $a0, $zero, 0x0002 ## $a0 = 00000002
/* 0042C 80B0269C 3C0680B0 */ lui $a2, %hi(D_80B0449C) ## $a2 = 80B00000
/* 00430 80B026A0 24C6449C */ addiu $a2, $a2, %lo(D_80B0449C) ## $a2 = 80B0449C
/* 00434 80B026A4 26640098 */ addiu $a0, $s3, 0x0098 ## $a0 = 00000098
/* 00438 80B026A8 0C0187BF */ jal func_80061EFC
/* 0043C 80B026AC 00402825 */ or $a1, $v0, $zero ## $a1 = 00000000
/* 00440 80B026B0 267004C4 */ addiu $s0, $s3, 0x04C4 ## $s0 = 000004C4
/* 00444 80B026B4 02002825 */ or $a1, $s0, $zero ## $a1 = 000004C4
/* 00448 80B026B8 0C016EFE */ jal Collider_InitJntSph
/* 0044C 80B026BC 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00450 80B026C0 3C0780B0 */ lui $a3, %hi(D_80B044F8) ## $a3 = 80B00000
/* 00454 80B026C4 266E04E4 */ addiu $t6, $s3, 0x04E4 ## $t6 = 000004E4
/* 00458 80B026C8 AFAE0010 */ sw $t6, 0x0010($sp)
/* 0045C 80B026CC 24E744F8 */ addiu $a3, $a3, %lo(D_80B044F8) ## $a3 = 80B044F8
/* 00460 80B026D0 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00464 80B026D4 02002825 */ or $a1, $s0, $zero ## $a1 = 000004C4
/* 00468 80B026D8 0C017014 */ jal Collider_SetJntSph
/* 0046C 80B026DC 02603025 */ or $a2, $s3, $zero ## $a2 = 00000000
/* 00470 80B026E0 8FBF0034 */ lw $ra, 0x0034($sp)
/* 00474 80B026E4 8FB00020 */ lw $s0, 0x0020($sp)
/* 00478 80B026E8 8FB10024 */ lw $s1, 0x0024($sp)
/* 0047C 80B026EC 8FB20028 */ lw $s2, 0x0028($sp)
/* 00480 80B026F0 8FB3002C */ lw $s3, 0x002C($sp)
/* 00484 80B026F4 8FB40030 */ lw $s4, 0x0030($sp)
/* 00488 80B026F8 03E00008 */ jr $ra
/* 0048C 80B026FC 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000

View file

@ -1,80 +0,0 @@
glabel func_80B02700
/* 00490 80B02700 27BDFF80 */ addiu $sp, $sp, 0xFF80 ## $sp = FFFFFF80
/* 00494 80B02704 3C0E80B0 */ lui $t6, %hi(D_80B04554) ## $t6 = 80B00000
/* 00498 80B02708 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0049C 80B0270C AFA40080 */ sw $a0, 0x0080($sp)
/* 004A0 80B02710 AFA50084 */ sw $a1, 0x0084($sp)
/* 004A4 80B02714 25CE4554 */ addiu $t6, $t6, %lo(D_80B04554) ## $t6 = 80B04554
/* 004A8 80B02718 8DD80000 */ lw $t8, 0x0000($t6) ## 80B04554
/* 004AC 80B0271C 27A20064 */ addiu $v0, $sp, 0x0064 ## $v0 = FFFFFFE4
/* 004B0 80B02720 3C0980B0 */ lui $t1, %hi(D_80B04570) ## $t1 = 80B00000
/* 004B4 80B02724 AC580000 */ sw $t8, 0x0000($v0) ## FFFFFFE4
/* 004B8 80B02728 8DCF0004 */ lw $t7, 0x0004($t6) ## 80B04558
/* 004BC 80B0272C 25294570 */ addiu $t1, $t1, %lo(D_80B04570) ## $t1 = 80B04570
/* 004C0 80B02730 27B90048 */ addiu $t9, $sp, 0x0048 ## $t9 = FFFFFFC8
/* 004C4 80B02734 AC4F0004 */ sw $t7, 0x0004($v0) ## FFFFFFE8
/* 004C8 80B02738 8DD80008 */ lw $t8, 0x0008($t6) ## 80B0455C
/* 004CC 80B0273C 3C0D80B0 */ lui $t5, %hi(D_80B0458C) ## $t5 = 80B00000
/* 004D0 80B02740 25AD458C */ addiu $t5, $t5, %lo(D_80B0458C) ## $t5 = 80B0458C
/* 004D4 80B02744 AC580008 */ sw $t8, 0x0008($v0) ## FFFFFFEC
/* 004D8 80B02748 8DCF000C */ lw $t7, 0x000C($t6) ## 80B04560
/* 004DC 80B0274C 27AC0040 */ addiu $t4, $sp, 0x0040 ## $t4 = FFFFFFC0
/* 004E0 80B02750 AC4F000C */ sw $t7, 0x000C($v0) ## FFFFFFF0
/* 004E4 80B02754 8DD80010 */ lw $t8, 0x0010($t6) ## 80B04564
/* 004E8 80B02758 AC580010 */ sw $t8, 0x0010($v0) ## FFFFFFF4
/* 004EC 80B0275C 8DCF0014 */ lw $t7, 0x0014($t6) ## 80B04568
/* 004F0 80B02760 AC4F0014 */ sw $t7, 0x0014($v0) ## FFFFFFF8
/* 004F4 80B02764 8DD80018 */ lw $t8, 0x0018($t6) ## 80B0456C
/* 004F8 80B02768 AC580018 */ sw $t8, 0x0018($v0) ## FFFFFFFC
/* 004FC 80B0276C 8D2B0000 */ lw $t3, 0x0000($t1) ## 80B04570
/* 00500 80B02770 8D2A0004 */ lw $t2, 0x0004($t1) ## 80B04574
/* 00504 80B02774 AF2B0000 */ sw $t3, 0x0000($t9) ## FFFFFFC8
/* 00508 80B02778 8D2B0008 */ lw $t3, 0x0008($t1) ## 80B04578
/* 0050C 80B0277C AF2A0004 */ sw $t2, 0x0004($t9) ## FFFFFFCC
/* 00510 80B02780 8D2A000C */ lw $t2, 0x000C($t1) ## 80B0457C
/* 00514 80B02784 AF2B0008 */ sw $t3, 0x0008($t9) ## FFFFFFD0
/* 00518 80B02788 8D2B0010 */ lw $t3, 0x0010($t1) ## 80B04580
/* 0051C 80B0278C AF2A000C */ sw $t2, 0x000C($t9) ## FFFFFFD4
/* 00520 80B02790 8D2A0014 */ lw $t2, 0x0014($t1) ## 80B04584
/* 00524 80B02794 AF2B0010 */ sw $t3, 0x0010($t9) ## FFFFFFD8
/* 00528 80B02798 8D2B0018 */ lw $t3, 0x0018($t1) ## 80B04588
/* 0052C 80B0279C AF2A0014 */ sw $t2, 0x0014($t9) ## FFFFFFDC
/* 00530 80B027A0 AF2B0018 */ sw $t3, 0x0018($t9) ## FFFFFFE0
/* 00534 80B027A4 8DAF0000 */ lw $t7, 0x0000($t5) ## 80B0458C
/* 00538 80B027A8 AD8F0000 */ sw $t7, 0x0000($t4) ## FFFFFFC0
/* 0053C 80B027AC 99AF0006 */ lwr $t7, 0x0006($t5) ## 80B04592
/* 00540 80B027B0 B98F0006 */ swr $t7, 0x0006($t4) ## FFFFFFC6
/* 00544 80B027B4 8FA30084 */ lw $v1, 0x0084($sp)
/* 00548 80B027B8 00031880 */ sll $v1, $v1, 2
/* 0054C 80B027BC 00434021 */ addu $t0, $v0, $v1
/* 00550 80B027C0 8D040000 */ lw $a0, 0x0000($t0) ## 00000000
/* 00554 80B027C4 AFA80030 */ sw $t0, 0x0030($sp)
/* 00558 80B027C8 0C028800 */ jal SkelAnime_GetFrameCount
/* 0055C 80B027CC AFA30034 */ sw $v1, 0x0034($sp)
/* 00560 80B027D0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00564 80B027D4 8FA30034 */ lw $v1, 0x0034($sp)
/* 00568 80B027D8 8FA80030 */ lw $t0, 0x0030($sp)
/* 0056C 80B027DC 46802020 */ cvt.s.w $f0, $f4
/* 00570 80B027E0 8FB90084 */ lw $t9, 0x0084($sp)
/* 00574 80B027E4 03A3C021 */ addu $t8, $sp, $v1
/* 00578 80B027E8 3C01C0C0 */ lui $at, 0xC0C0 ## $at = C0C00000
/* 0057C 80B027EC 03B94821 */ addu $t1, $sp, $t9
/* 00580 80B027F0 44813000 */ mtc1 $at, $f6 ## $f6 = -6.00
/* 00584 80B027F4 E7A0003C */ swc1 $f0, 0x003C($sp)
/* 00588 80B027F8 8F060048 */ lw $a2, 0x0048($t8) ## 00000048
/* 0058C 80B027FC 8D050000 */ lw $a1, 0x0000($t0) ## 00000000
/* 00590 80B02800 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00594 80B02804 91290040 */ lbu $t1, 0x0040($t1) ## 00000040
/* 00598 80B02808 8FA40080 */ lw $a0, 0x0080($sp)
/* 0059C 80B0280C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 005A0 80B02810 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 005A4 80B02814 AFA90014 */ sw $t1, 0x0014($sp)
/* 005A8 80B02818 0C029468 */ jal SkelAnime_ChangeAnim
/* 005AC 80B0281C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 005B0 80B02820 8FBF0024 */ lw $ra, 0x0024($sp)
/* 005B4 80B02824 C7A0003C */ lwc1 $f0, 0x003C($sp)
/* 005B8 80B02828 27BD0080 */ addiu $sp, $sp, 0x0080 ## $sp = 00000000
/* 005BC 80B0282C 03E00008 */ jr $ra
/* 005C0 80B02830 00000000 */ nop

View file

@ -1,9 +0,0 @@
glabel func_80B02834
/* 005C4 80B02834 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 005C8 80B02838 AFBF0014 */ sw $ra, 0x0014($sp)
/* 005CC 80B0283C 0C2C09C0 */ jal func_80B02700
/* 005D0 80B02840 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
/* 005D4 80B02844 8FBF0014 */ lw $ra, 0x0014($sp)
/* 005D8 80B02848 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 005DC 80B0284C 03E00008 */ jr $ra
/* 005E0 80B02850 00000000 */ nop

View file

@ -1,14 +0,0 @@
glabel func_80B02854
/* 005E4 80B02854 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 005E8 80B02858 AFBF0014 */ sw $ra, 0x0014($sp)
/* 005EC 80B0285C AFA40018 */ sw $a0, 0x0018($sp)
/* 005F0 80B02860 0C00BE0A */ jal Audio_PlayActorSound2
/* 005F4 80B02864 24053869 */ addiu $a1, $zero, 0x3869 ## $a1 = 00003869
/* 005F8 80B02868 8FA40018 */ lw $a0, 0x0018($sp)
/* 005FC 80B0286C 0C2C09C0 */ jal func_80B02700
/* 00600 80B02870 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00604 80B02874 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00608 80B02878 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0060C 80B0287C 03E00008 */ jr $ra
/* 00610 80B02880 00000000 */ nop

View file

@ -1,19 +0,0 @@
glabel func_80B02884
/* 00614 80B02884 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00618 80B02888 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0061C 80B0288C C4860080 */ lwc1 $f6, 0x0080($a0) ## 00000080
/* 00620 80B02890 C4840540 */ lwc1 $f4, 0x0540($a0) ## 00000540
/* 00624 80B02894 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
/* 00628 80B02898 46062200 */ add.s $f8, $f4, $f6
/* 0062C 80B0289C E4880028 */ swc1 $f8, 0x0028($a0) ## 00000028
/* 00630 80B028A0 0C2C09C0 */ jal func_80B02700
/* 00634 80B028A4 AFA40018 */ sw $a0, 0x0018($sp)
/* 00638 80B028A8 4600028D */ trunc.w.s $f10, $f0
/* 0063C 80B028AC 8FA40018 */ lw $a0, 0x0018($sp)
/* 00640 80B028B0 440F5000 */ mfc1 $t7, $f10
/* 00644 80B028B4 00000000 */ nop
/* 00648 80B028B8 A48F0534 */ sh $t7, 0x0534($a0) ## 00000534
/* 0064C 80B028BC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00650 80B028C0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00654 80B028C4 03E00008 */ jr $ra
/* 00658 80B028C8 00000000 */ nop

View file

@ -1,23 +0,0 @@
glabel func_80B028CC
/* 0065C 80B028CC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00660 80B028D0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00664 80B028D4 848E0528 */ lh $t6, 0x0528($a0) ## 00000528
/* 00668 80B028D8 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004
/* 0066C 80B028DC 55C00009 */ bnel $t6, $zero, .L80B02904
/* 00670 80B028E0 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
/* 00674 80B028E4 0C2C09C0 */ jal func_80B02700
/* 00678 80B028E8 AFA40018 */ sw $a0, 0x0018($sp)
/* 0067C 80B028EC 4600010D */ trunc.w.s $f4, $f0
/* 00680 80B028F0 8FA40018 */ lw $a0, 0x0018($sp)
/* 00684 80B028F4 44182000 */ mfc1 $t8, $f4
/* 00688 80B028F8 00000000 */ nop
/* 0068C 80B028FC A4980534 */ sh $t8, 0x0534($a0) ## 00000534
/* 00690 80B02900 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
.L80B02904:
/* 00694 80B02904 44813000 */ mtc1 $at, $f6 ## $f6 = -10.00
/* 00698 80B02908 00000000 */ nop
/* 0069C 80B0290C E4860060 */ swc1 $f6, 0x0060($a0) ## 00000060
/* 006A0 80B02910 8FBF0014 */ lw $ra, 0x0014($sp)
/* 006A4 80B02914 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 006A8 80B02918 03E00008 */ jr $ra
/* 006AC 80B0291C 00000000 */ nop

View file

@ -1,13 +0,0 @@
glabel func_80B02920
/* 006B0 80B02920 848E0532 */ lh $t6, 0x0532($a0) ## 00000532
/* 006B4 80B02924 24190078 */ addiu $t9, $zero, 0x0078 ## $t9 = 00000078
/* 006B8 80B02928 15C00006 */ bne $t6, $zero, .L80B02944
/* 006BC 80B0292C 00000000 */ nop
/* 006C0 80B02930 948F05CA */ lhu $t7, 0x05CA($a0) ## 000005CA
/* 006C4 80B02934 A4990532 */ sh $t9, 0x0532($a0) ## 00000532
/* 006C8 80B02938 A0800114 */ sb $zero, 0x0114($a0) ## 00000114
/* 006CC 80B0293C 35F80008 */ ori $t8, $t7, 0x0008 ## $t8 = 00000008
/* 006D0 80B02940 A49805CA */ sh $t8, 0x05CA($a0) ## 000005CA
.L80B02944:
/* 006D4 80B02944 03E00008 */ jr $ra
/* 006D8 80B02948 00000000 */ nop

View file

@ -1,103 +0,0 @@
.late_rodata
glabel D_80B045F0
.float 0.04
.text
glabel func_80B0294C
/* 006DC 80B0294C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 006E0 80B02950 44857000 */ mtc1 $a1, $f14 ## $f14 = 0.00
/* 006E4 80B02954 AFBF0014 */ sw $ra, 0x0014($sp)
/* 006E8 80B02958 AFA40018 */ sw $a0, 0x0018($sp)
/* 006EC 80B0295C AFA60020 */ sw $a2, 0x0020($sp)
/* 006F0 80B02960 8C8504E0 */ lw $a1, 0x04E0($a0) ## 000004E0
/* 006F4 80B02964 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 006F8 80B02968 00801025 */ or $v0, $a0, $zero ## $v0 = 00000000
/* 006FC 80B0296C 84AE002E */ lh $t6, 0x002E($a1) ## 0000002E
/* 00700 80B02970 240401C8 */ addiu $a0, $zero, 0x01C8 ## $a0 = 000001C8
/* 00704 80B02974 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
/* 00708 80B02978 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
/* 0070C 80B0297C 00000000 */ nop
/* 00710 80B02980 46802320 */ cvt.s.w $f12, $f4
/* 00714 80B02984 460E6302 */ mul.s $f12, $f12, $f14
/* 00718 80B02988 4600618D */ trunc.w.s $f6, $f12
/* 0071C 80B0298C 44183000 */ mfc1 $t8, $f6
/* 00720 80B02990 00000000 */ nop
/* 00724 80B02994 A4B8002E */ sh $t8, 0x002E($a1) ## 0000002E
/* 00728 80B02998 C7A80020 */ lwc1 $f8, 0x0020($sp)
/* 0072C 80B0299C 46087402 */ mul.s $f16, $f14, $f8
/* 00730 80B029A0 00000000 */ nop
/* 00734 80B029A4 2463004C */ addiu $v1, $v1, 0x004C ## $v1 = 0000004C
/* 00738 80B029A8 10640019 */ beq $v1, $a0, .L80B02A10
/* 0073C 80B029AC 84590340 */ lh $t9, 0x0340($v0) ## 00000340
.L80B029B0:
/* 00740 80B029B0 8448033C */ lh $t0, 0x033C($v0) ## 0000033C
/* 00744 80B029B4 44999000 */ mtc1 $t9, $f18 ## $f18 = 0.00
/* 00748 80B029B8 8449033E */ lh $t1, 0x033E($v0) ## 0000033E
/* 0074C 80B029BC 44886000 */ mtc1 $t0, $f12 ## $f12 = 0.00
/* 00750 80B029C0 468094A0 */ cvt.s.w $f18, $f18
/* 00754 80B029C4 44895000 */ mtc1 $t1, $f10 ## $f10 = 0.00
/* 00758 80B029C8 2463004C */ addiu $v1, $v1, 0x004C ## $v1 = 00000098
/* 0075C 80B029CC 2442004C */ addiu $v0, $v0, 0x004C ## $v0 = 0000004C
/* 00760 80B029D0 84590340 */ lh $t9, 0x0340($v0) ## 0000038C
/* 00764 80B029D4 46806320 */ cvt.s.w $f12, $f12
/* 00768 80B029D8 460E9482 */ mul.s $f18, $f18, $f14
/* 0076C 80B029DC 468052A0 */ cvt.s.w $f10, $f10
/* 00770 80B029E0 46106302 */ mul.s $f12, $f12, $f16
/* 00774 80B029E4 4600948D */ trunc.w.s $f18, $f18
/* 00778 80B029E8 460E5282 */ mul.s $f10, $f10, $f14
/* 0077C 80B029EC 440B9000 */ mfc1 $t3, $f18
/* 00780 80B029F0 4600630D */ trunc.w.s $f12, $f12
/* 00784 80B029F4 A44B02F4 */ sh $t3, 0x02F4($v0) ## 00000340
/* 00788 80B029F8 4600528D */ trunc.w.s $f10, $f10
/* 0078C 80B029FC 440D6000 */ mfc1 $t5, $f12
/* 00790 80B02A00 440F5000 */ mfc1 $t7, $f10
/* 00794 80B02A04 A44D02F0 */ sh $t5, 0x02F0($v0) ## 0000033C
/* 00798 80B02A08 1464FFE9 */ bne $v1, $a0, .L80B029B0
/* 0079C 80B02A0C A44F02F2 */ sh $t7, 0x02F2($v0) ## 0000033E
.L80B02A10:
/* 007A0 80B02A10 44999000 */ mtc1 $t9, $f18 ## $f18 = 0.00
/* 007A4 80B02A14 8448033C */ lh $t0, 0x033C($v0) ## 00000388
/* 007A8 80B02A18 8449033E */ lh $t1, 0x033E($v0) ## 0000038A
/* 007AC 80B02A1C 468094A0 */ cvt.s.w $f18, $f18
/* 007B0 80B02A20 44886000 */ mtc1 $t0, $f12 ## $f12 = 0.00
/* 007B4 80B02A24 44895000 */ mtc1 $t1, $f10 ## $f10 = 0.00
/* 007B8 80B02A28 2442004C */ addiu $v0, $v0, 0x004C ## $v0 = 00000098
/* 007BC 80B02A2C 46806320 */ cvt.s.w $f12, $f12
/* 007C0 80B02A30 460E9482 */ mul.s $f18, $f18, $f14
/* 007C4 80B02A34 00000000 */ nop
/* 007C8 80B02A38 46106302 */ mul.s $f12, $f12, $f16
/* 007CC 80B02A3C 468052A0 */ cvt.s.w $f10, $f10
/* 007D0 80B02A40 4600948D */ trunc.w.s $f18, $f18
/* 007D4 80B02A44 460E5282 */ mul.s $f10, $f10, $f14
/* 007D8 80B02A48 440B9000 */ mfc1 $t3, $f18
/* 007DC 80B02A4C 4600630D */ trunc.w.s $f12, $f12
/* 007E0 80B02A50 A44B02F4 */ sh $t3, 0x02F4($v0) ## 0000038C
/* 007E4 80B02A54 4600528D */ trunc.w.s $f10, $f10
/* 007E8 80B02A58 440D6000 */ mfc1 $t5, $f12
/* 007EC 80B02A5C 440F5000 */ mfc1 $t7, $f10
/* 007F0 80B02A60 A44D02F0 */ sh $t5, 0x02F0($v0) ## 00000388
/* 007F4 80B02A64 A44F02F2 */ sh $t7, 0x02F2($v0) ## 0000038A
/* 007F8 80B02A68 3C0180B0 */ lui $at, %hi(D_80B045F0) ## $at = 80B00000
/* 007FC 80B02A6C C43245F0 */ lwc1 $f18, %lo(D_80B045F0)($at)
/* 00800 80B02A70 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 00804 80B02A74 AFA60018 */ sw $a2, 0x0018($sp)
/* 00808 80B02A78 460E9102 */ mul.s $f4, $f18, $f14
/* 0080C 80B02A7C E7AE001C */ swc1 $f14, 0x001C($sp)
/* 00810 80B02A80 44052000 */ mfc1 $a1, $f4
/* 00814 80B02A84 0C00B58B */ jal Actor_SetScale
/* 00818 80B02A88 00000000 */ nop
/* 0081C 80B02A8C 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 00820 80B02A90 C7AE001C */ lwc1 $f14, 0x001C($sp)
/* 00824 80B02A94 44813000 */ mtc1 $at, $f6 ## $f6 = 40.00
/* 00828 80B02A98 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
/* 0082C 80B02A9C 44815000 */ mtc1 $at, $f10 ## $f10 = 1.50
/* 00830 80B02AA0 460E3202 */ mul.s $f8, $f6, $f14
/* 00834 80B02AA4 8FA60018 */ lw $a2, 0x0018($sp)
/* 00838 80B02AA8 460A7482 */ mul.s $f18, $f14, $f10
/* 0083C 80B02AAC E4C80540 */ swc1 $f8, 0x0540($a2) ## 00000540
/* 00840 80B02AB0 E4D2053C */ swc1 $f18, 0x053C($a2) ## 0000053C
/* 00844 80B02AB4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00848 80B02AB8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0084C 80B02ABC 03E00008 */ jr $ra
/* 00850 80B02AC0 00000000 */ nop

View file

@ -1,64 +0,0 @@
glabel func_80B02AC4
/* 00854 80B02AC4 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00858 80B02AC8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0085C 80B02ACC AFB00020 */ sw $s0, 0x0020($sp)
/* 00860 80B02AD0 84820532 */ lh $v0, 0x0532($a0) ## 00000532
/* 00864 80B02AD4 24010078 */ addiu $at, $zero, 0x0078 ## $at = 00000078
/* 00868 80B02AD8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0086C 80B02ADC 1441000A */ bne $v0, $at, .L80B02B08
/* 00870 80B02AE0 00000000 */ nop
/* 00874 80B02AE4 948E05CA */ lhu $t6, 0x05CA($a0) ## 000005CA
/* 00878 80B02AE8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 0087C 80B02AEC 240600C8 */ addiu $a2, $zero, 0x00C8 ## $a2 = 000000C8
/* 00880 80B02AF0 31CF0001 */ andi $t7, $t6, 0x0001 ## $t7 = 00000000
/* 00884 80B02AF4 11E00004 */ beq $t7, $zero, .L80B02B08
/* 00888 80B02AF8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 0088C 80B02AFC 0C00D09B */ jal func_8003426C
/* 00890 80B02B00 AFA20010 */ sw $v0, 0x0010($sp)
/* 00894 80B02B04 86020532 */ lh $v0, 0x0532($s0) ## 00000532
.L80B02B08:
/* 00898 80B02B08 14400003 */ bne $v0, $zero, .L80B02B18
/* 0089C 80B02B0C 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
/* 008A0 80B02B10 10000003 */ beq $zero, $zero, .L80B02B20
/* 008A4 80B02B14 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
.L80B02B18:
/* 008A8 80B02B18 A6180532 */ sh $t8, 0x0532($s0) ## 00000532
/* 008AC 80B02B1C 86030532 */ lh $v1, 0x0532($s0) ## 00000532
.L80B02B20:
/* 008B0 80B02B20 1060000A */ beq $v1, $zero, .L80B02B4C
/* 008B4 80B02B24 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 008B8 80B02B28 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 008BC 80B02B2C AFB90010 */ sw $t9, 0x0010($sp)
/* 008C0 80B02B30 26040526 */ addiu $a0, $s0, 0x0526 ## $a0 = 00000526
/* 008C4 80B02B34 24052710 */ addiu $a1, $zero, 0x2710 ## $a1 = 00002710
/* 008C8 80B02B38 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
/* 008CC 80B02B3C 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 008D0 80B02B40 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
/* 008D4 80B02B44 10000010 */ beq $zero, $zero, .L80B02B88
/* 008D8 80B02B48 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B02B4C:
/* 008DC 80B02B4C 960805CA */ lhu $t0, 0x05CA($s0) ## 000005CA
/* 008E0 80B02B50 860A0536 */ lh $t2, 0x0536($s0) ## 00000536
/* 008E4 80B02B54 A6000532 */ sh $zero, 0x0532($s0) ## 00000532
/* 008E8 80B02B58 3109FFFE */ andi $t1, $t0, 0xFFFE ## $t1 = 00000000
/* 008EC 80B02B5C A60905CA */ sh $t1, 0x05CA($s0) ## 000005CA
/* 008F0 80B02B60 15400003 */ bne $t2, $zero, .L80B02B70
/* 008F4 80B02B64 A600052A */ sh $zero, 0x052A($s0) ## 0000052A
/* 008F8 80B02B68 240B001E */ addiu $t3, $zero, 0x001E ## $t3 = 0000001E
/* 008FC 80B02B6C A60B052A */ sh $t3, 0x052A($s0) ## 0000052A
.L80B02B70:
/* 00900 80B02B70 0C00BE0A */ jal Audio_PlayActorSound2
/* 00904 80B02B74 24053884 */ addiu $a1, $zero, 0x3884 ## $a1 = 00003884
/* 00908 80B02B78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0090C 80B02B7C 0C00BE0A */ jal Audio_PlayActorSound2
/* 00910 80B02B80 24056868 */ addiu $a1, $zero, 0x6868 ## $a1 = 00006868
/* 00914 80B02B84 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80B02B88:
/* 00918 80B02B88 8FBF0024 */ lw $ra, 0x0024($sp)
/* 0091C 80B02B8C 8FB00020 */ lw $s0, 0x0020($sp)
/* 00920 80B02B90 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00924 80B02B94 03E00008 */ jr $ra
/* 00928 80B02B98 00000000 */ nop

View file

@ -1,67 +0,0 @@
.late_rodata
glabel D_80B045F4
.float 10000.0
.text
glabel func_80B02B9C
/* 0092C 80B02B9C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00930 80B02BA0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00934 80B02BA4 AFB00020 */ sw $s0, 0x0020($sp)
/* 00938 80B02BA8 AFA5002C */ sw $a1, 0x002C($sp)
/* 0093C 80B02BAC 8482052C */ lh $v0, 0x052C($a0) ## 0000052C
/* 00940 80B02BB0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00944 80B02BB4 10400002 */ beq $v0, $zero, .L80B02BC0
/* 00948 80B02BB8 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 0094C 80B02BBC A48E052C */ sh $t6, 0x052C($a0) ## 0000052C
.L80B02BC0:
/* 00950 80B02BC0 8602052A */ lh $v0, 0x052A($s0) ## 0000052A
/* 00954 80B02BC4 14400003 */ bne $v0, $zero, .L80B02BD4
/* 00958 80B02BC8 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
/* 0095C 80B02BCC 10000004 */ beq $zero, $zero, .L80B02BE0
/* 00960 80B02BD0 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
.L80B02BD4:
/* 00964 80B02BD4 A60F052A */ sh $t7, 0x052A($s0) ## 0000052A
/* 00968 80B02BD8 8602052A */ lh $v0, 0x052A($s0) ## 0000052A
/* 0096C 80B02BDC 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
.L80B02BE0:
/* 00970 80B02BE0 50600012 */ beql $v1, $zero, .L80B02C2C
/* 00974 80B02BE4 86090536 */ lh $t1, 0x0536($s0) ## 00000536
/* 00978 80B02BE8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 0097C 80B02BEC 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 00980 80B02BF0 44814000 */ mtc1 $at, $f8 ## $f8 = 30.00
/* 00984 80B02BF4 468021A0 */ cvt.s.w $f6, $f4
/* 00988 80B02BF8 86180032 */ lh $t8, 0x0032($s0) ## 00000032
/* 0098C 80B02BFC 3C0180B0 */ lui $at, %hi(D_80B045F4) ## $at = 80B00000
/* 00990 80B02C00 C43045F4 */ lwc1 $f16, %lo(D_80B045F4)($at)
/* 00994 80B02C04 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
/* 00998 80B02C08 46083283 */ div.s $f10, $f6, $f8
/* 0099C 80B02C0C 468021A0 */ cvt.s.w $f6, $f4
/* 009A0 80B02C10 460A8482 */ mul.s $f18, $f16, $f10
/* 009A4 80B02C14 46123200 */ add.s $f8, $f6, $f18
/* 009A8 80B02C18 4600440D */ trunc.w.s $f16, $f8
/* 009AC 80B02C1C 44088000 */ mfc1 $t0, $f16
/* 009B0 80B02C20 1000000D */ beq $zero, $zero, .L80B02C58
/* 009B4 80B02C24 A6080032 */ sh $t0, 0x0032($s0) ## 00000032
/* 009B8 80B02C28 86090536 */ lh $t1, 0x0536($s0) ## 00000536
.L80B02C2C:
/* 009BC 80B02C2C 5520000B */ bnel $t1, $zero, .L80B02C5C
/* 009C0 80B02C30 860C0032 */ lh $t4, 0x0032($s0) ## 00000032
/* 009C4 80B02C34 860A0532 */ lh $t2, 0x0532($s0) ## 00000532
/* 009C8 80B02C38 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 009CC 80B02C3C 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 009D0 80B02C40 15400005 */ bne $t2, $zero, .L80B02C58
/* 009D4 80B02C44 24072710 */ addiu $a3, $zero, 0x2710 ## $a3 = 00002710
/* 009D8 80B02C48 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 009DC 80B02C4C 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 009E0 80B02C50 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 009E4 80B02C54 AFAB0010 */ sw $t3, 0x0010($sp)
.L80B02C58:
/* 009E8 80B02C58 860C0032 */ lh $t4, 0x0032($s0) ## 00000032
.L80B02C5C:
/* 009EC 80B02C5C A60C00B6 */ sh $t4, 0x00B6($s0) ## 000000B6
/* 009F0 80B02C60 8FBF0024 */ lw $ra, 0x0024($sp)
/* 009F4 80B02C64 8FB00020 */ lw $s0, 0x0020($sp)
/* 009F8 80B02C68 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 009FC 80B02C6C 03E00008 */ jr $ra
/* 00A00 80B02C70 00000000 */ nop

View file

@ -1,46 +0,0 @@
glabel func_80B02C74
/* 00A04 80B02C74 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00A08 80B02C78 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00A0C 80B02C7C AFB00020 */ sw $s0, 0x0020($sp)
/* 00A10 80B02C80 AFA5002C */ sw $a1, 0x002C($sp)
/* 00A14 80B02C84 848E0536 */ lh $t6, 0x0536($a0) ## 00000536
/* 00A18 80B02C88 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00A1C 80B02C8C 55C0000E */ bnel $t6, $zero, .L80B02CC8
/* 00A20 80B02C90 86020532 */ lh $v0, 0x0532($s0) ## 00000532
/* 00A24 80B02C94 848F0532 */ lh $t7, 0x0532($a0) ## 00000532
/* 00A28 80B02C98 24840032 */ addiu $a0, $a0, 0x0032 ## $a0 = 00000032
/* 00A2C 80B02C9C 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 00A30 80B02CA0 15E00008 */ bne $t7, $zero, .L80B02CC4
/* 00A34 80B02CA4 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 00A38 80B02CA8 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 00A3C 80B02CAC 86070526 */ lh $a3, 0x0526($s0) ## 00000526
/* 00A40 80B02CB0 AFB80010 */ sw $t8, 0x0010($sp)
/* 00A44 80B02CB4 38A58000 */ xori $a1, $a1, 0x8000 ## $a1 = FFFF8000
/* 00A48 80B02CB8 00052C00 */ sll $a1, $a1, 16
/* 00A4C 80B02CBC 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 00A50 80B02CC0 00052C03 */ sra $a1, $a1, 16
.L80B02CC4:
/* 00A54 80B02CC4 86020532 */ lh $v0, 0x0532($s0) ## 00000532
.L80B02CC8:
/* 00A58 80B02CC8 86190032 */ lh $t9, 0x0032($s0) ## 00000032
/* 00A5C 80B02CCC 2841001E */ slti $at, $v0, 0x001E
/* 00A60 80B02CD0 1020000B */ beq $at, $zero, .L80B02D00
/* 00A64 80B02CD4 A61900B6 */ sh $t9, 0x00B6($s0) ## 000000B6
/* 00A68 80B02CD8 30480001 */ andi $t0, $v0, 0x0001 ## $t0 = 00000000
/* 00A6C 80B02CDC 51000006 */ beql $t0, $zero, .L80B02CF8
/* 00A70 80B02CE0 860B00B6 */ lh $t3, 0x00B6($s0) ## 000000B6
/* 00A74 80B02CE4 860900B6 */ lh $t1, 0x00B6($s0) ## 000000B6
/* 00A78 80B02CE8 252A07D0 */ addiu $t2, $t1, 0x07D0 ## $t2 = 000007D0
/* 00A7C 80B02CEC 10000004 */ beq $zero, $zero, .L80B02D00
/* 00A80 80B02CF0 A60A00B6 */ sh $t2, 0x00B6($s0) ## 000000B6
/* 00A84 80B02CF4 860B00B6 */ lh $t3, 0x00B6($s0) ## 000000B6
.L80B02CF8:
/* 00A88 80B02CF8 256CF830 */ addiu $t4, $t3, 0xF830 ## $t4 = FFFFF830
/* 00A8C 80B02CFC A60C00B6 */ sh $t4, 0x00B6($s0) ## 000000B6
.L80B02D00:
/* 00A90 80B02D00 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00A94 80B02D04 8FB00020 */ lw $s0, 0x0020($sp)
/* 00A98 80B02D08 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00A9C 80B02D0C 03E00008 */ jr $ra
/* 00AA0 80B02D10 00000000 */ nop

View file

@ -1,18 +0,0 @@
glabel func_80B02D14
/* 00AA4 80B02D14 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00AA8 80B02D18 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00AAC 80B02D1C 848E0532 */ lh $t6, 0x0532($a0) ## 00000532
/* 00AB0 80B02D20 11C00005 */ beq $t6, $zero, .L80B02D38
/* 00AB4 80B02D24 00000000 */ nop
/* 00AB8 80B02D28 0C2C0B1D */ jal func_80B02C74
/* 00ABC 80B02D2C 00000000 */ nop
/* 00AC0 80B02D30 10000004 */ beq $zero, $zero, .L80B02D44
/* 00AC4 80B02D34 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B02D38:
/* 00AC8 80B02D38 0C2C0AE7 */ jal func_80B02B9C
/* 00ACC 80B02D3C 00000000 */ nop
/* 00AD0 80B02D40 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B02D44:
/* 00AD4 80B02D44 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00AD8 80B02D48 03E00008 */ jr $ra
/* 00ADC 80B02D4C 00000000 */ nop

View file

@ -1,30 +0,0 @@
glabel func_80B02D50
/* 00AE0 80B02D50 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00AE4 80B02D54 AFBF001C */ sw $ra, 0x001C($sp)
/* 00AE8 80B02D58 AFA40020 */ sw $a0, 0x0020($sp)
/* 00AEC 80B02D5C 8CAE009C */ lw $t6, 0x009C($a1) ## 0000009C
/* 00AF0 80B02D60 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00AF4 80B02D64 44811000 */ mtc1 $at, $f2 ## $f2 = 0.50
/* 00AF8 80B02D68 31CF0008 */ andi $t7, $t6, 0x0008 ## $t7 = 00000000
/* 00AFC 80B02D6C 11E00006 */ beq $t7, $zero, .L80B02D88
/* 00B00 80B02D70 46001006 */ mov.s $f0, $f2
/* 00B04 80B02D74 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
/* 00B08 80B02D78 44812000 */ mtc1 $at, $f4 ## $f4 = -1.00
/* 00B0C 80B02D7C 00000000 */ nop
/* 00B10 80B02D80 46041002 */ mul.s $f0, $f2, $f4
/* 00B14 80B02D84 00000000 */ nop
.L80B02D88:
/* 00B18 80B02D88 8FA40020 */ lw $a0, 0x0020($sp)
/* 00B1C 80B02D8C 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 00B20 80B02D90 44050000 */ mfc1 $a1, $f0
/* 00B24 80B02D94 3C063ECC */ lui $a2, 0x3ECC ## $a2 = 3ECC0000
/* 00B28 80B02D98 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3ECCCCCD
/* 00B2C 80B02D9C 3C07447A */ lui $a3, 0x447A ## $a3 = 447A0000
/* 00B30 80B02DA0 24840060 */ addiu $a0, $a0, 0x0060 ## $a0 = 00000060
/* 00B34 80B02DA4 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 00B38 80B02DA8 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00B3C 80B02DAC 8FBF001C */ lw $ra, 0x001C($sp)
/* 00B40 80B02DB0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00B44 80B02DB4 03E00008 */ jr $ra
/* 00B48 80B02DB8 00000000 */ nop

View file

@ -1,73 +0,0 @@
glabel func_80B02DBC
/* 00B4C 80B02DBC 948E05CA */ lhu $t6, 0x05CA($a0) ## 000005CA
/* 00B50 80B02DC0 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
/* 00B54 80B02DC4 31CF0004 */ andi $t7, $t6, 0x0004 ## $t7 = 00000000
/* 00B58 80B02DC8 51E00004 */ beql $t7, $zero, .L80B02DDC
/* 00B5C 80B02DCC 84980528 */ lh $t8, 0x0528($a0) ## 00000528
/* 00B60 80B02DD0 03E00008 */ jr $ra
/* 00B64 80B02DD4 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80B02DD8:
/* 00B68 80B02DD8 84980528 */ lh $t8, 0x0528($a0) ## 00000528
.L80B02DDC:
/* 00B6C 80B02DDC 53000004 */ beql $t8, $zero, .L80B02DF0
/* 00B70 80B02DE0 84990536 */ lh $t9, 0x0536($a0) ## 00000536
/* 00B74 80B02DE4 03E00008 */ jr $ra
/* 00B78 80B02DE8 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80B02DEC:
/* 00B7C 80B02DEC 84990536 */ lh $t9, 0x0536($a0) ## 00000536
.L80B02DF0:
/* 00B80 80B02DF0 53200004 */ beql $t9, $zero, .L80B02E04
/* 00B84 80B02DF4 84880534 */ lh $t0, 0x0534($a0) ## 00000534
/* 00B88 80B02DF8 03E00008 */ jr $ra
/* 00B8C 80B02DFC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80B02E00:
/* 00B90 80B02E00 84880534 */ lh $t0, 0x0534($a0) ## 00000534
.L80B02E04:
/* 00B94 80B02E04 3C014320 */ lui $at, 0x4320 ## $at = 43200000
/* 00B98 80B02E08 51000004 */ beql $t0, $zero, .L80B02E1C
/* 00B9C 80B02E0C 44812000 */ mtc1 $at, $f4 ## $f4 = 160.00
/* 00BA0 80B02E10 03E00008 */ jr $ra
/* 00BA4 80B02E14 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80B02E18:
/* 00BA8 80B02E18 44812000 */ mtc1 $at, $f4 ## $f4 = 160.00
.L80B02E1C:
/* 00BAC 80B02E1C C4860090 */ lwc1 $f6, 0x0090($a0) ## 00000090
/* 00BB0 80B02E20 4606203C */ c.lt.s $f4, $f6
/* 00BB4 80B02E24 00000000 */ nop
/* 00BB8 80B02E28 45020004 */ bc1fl .L80B02E3C
/* 00BBC 80B02E2C C4420028 */ lwc1 $f2, 0x0028($v0) ## 00000029
/* 00BC0 80B02E30 03E00008 */ jr $ra
/* 00BC4 80B02E34 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B02E38:
/* 00BC8 80B02E38 C4420028 */ lwc1 $f2, 0x0028($v0) ## 00000028
.L80B02E3C:
/* 00BCC 80B02E3C C4880028 */ lwc1 $f8, 0x0028($a0) ## 00000028
/* 00BD0 80B02E40 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 00BD4 80B02E44 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
/* 00BD8 80B02E48 46024001 */ sub.s $f0, $f8, $f2
/* 00BDC 80B02E4C 460A003C */ c.lt.s $f0, $f10
/* 00BE0 80B02E50 00000000 */ nop
/* 00BE4 80B02E54 45010007 */ bc1t .L80B02E74
/* 00BE8 80B02E58 00000000 */ nop
/* 00BEC 80B02E5C 44818000 */ mtc1 $at, $f16 ## $f16 = 400.00
/* 00BF0 80B02E60 00000000 */ nop
/* 00BF4 80B02E64 4600803C */ c.lt.s $f16, $f0
/* 00BF8 80B02E68 00000000 */ nop
/* 00BFC 80B02E6C 45020004 */ bc1fl .L80B02E80
/* 00C00 80B02E70 C4920080 */ lwc1 $f18, 0x0080($a0) ## 00000080
.L80B02E74:
/* 00C04 80B02E74 03E00008 */ jr $ra
/* 00C08 80B02E78 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B02E7C:
/* 00C0C 80B02E7C C4920080 */ lwc1 $f18, 0x0080($a0) ## 00000080
.L80B02E80:
/* 00C10 80B02E80 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 00C14 80B02E84 4612103C */ c.lt.s $f2, $f18
/* 00C18 80B02E88 00000000 */ nop
/* 00C1C 80B02E8C 45000003 */ bc1f .L80B02E9C
/* 00C20 80B02E90 00000000 */ nop
/* 00C24 80B02E94 03E00008 */ jr $ra
/* 00C28 80B02E98 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B02E9C:
/* 00C2C 80B02E9C 03E00008 */ jr $ra
/* 00C30 80B02EA0 00000000 */ nop

View file

@ -1,16 +0,0 @@
glabel func_80B02EA4
/* 00C34 80B02EA4 C4800060 */ lwc1 $f0, 0x0060($a0) ## 00000060
/* 00C38 80B02EA8 C4840028 */ lwc1 $f4, 0x0028($a0) ## 00000028
/* 00C3C 80B02EAC C488000C */ lwc1 $f8, 0x000C($a0) ## 0000000C
/* 00C40 80B02EB0 46000180 */ add.s $f6, $f0, $f0
/* 00C44 80B02EB4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00C48 80B02EB8 46062080 */ add.s $f2, $f4, $f6
/* 00C4C 80B02EBC 4602403E */ c.le.s $f8, $f2
/* 00C50 80B02EC0 00000000 */ nop
/* 00C54 80B02EC4 45000003 */ bc1f .L80B02ED4
/* 00C58 80B02EC8 00000000 */ nop
/* 00C5C 80B02ECC 03E00008 */ jr $ra
/* 00C60 80B02ED0 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80B02ED4:
/* 00C64 80B02ED4 03E00008 */ jr $ra
/* 00C68 80B02ED8 00000000 */ nop

View file

@ -1,18 +0,0 @@
glabel func_80B02EDC
/* 00C6C 80B02EDC C4800060 */ lwc1 $f0, 0x0060($a0) ## 00000060
/* 00C70 80B02EE0 C4840028 */ lwc1 $f4, 0x0028($a0) ## 00000028
/* 00C74 80B02EE4 C48A0080 */ lwc1 $f10, 0x0080($a0) ## 00000080
/* 00C78 80B02EE8 46000180 */ add.s $f6, $f0, $f0
/* 00C7C 80B02EEC C4880540 */ lwc1 $f8, 0x0540($a0) ## 00000540
/* 00C80 80B02EF0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00C84 80B02EF4 46062080 */ add.s $f2, $f4, $f6
/* 00C88 80B02EF8 460A1401 */ sub.s $f16, $f2, $f10
/* 00C8C 80B02EFC 4608803E */ c.le.s $f16, $f8
/* 00C90 80B02F00 00000000 */ nop
/* 00C94 80B02F04 45000003 */ bc1f .L80B02F14
/* 00C98 80B02F08 00000000 */ nop
/* 00C9C 80B02F0C 03E00008 */ jr $ra
/* 00CA0 80B02F10 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80B02F14:
/* 00CA4 80B02F14 03E00008 */ jr $ra
/* 00CA8 80B02F18 00000000 */ nop

View file

@ -1,96 +0,0 @@
.late_rodata
glabel D_80B045F8
.word 0x3E2AAAAB
glabel D_80B045FC
.word 0x43360B61
glabel D_80B04600
.float 9.58738019108e-05
.text
glabel func_80B02F1C
/* 00CAC 80B02F1C 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 00CB0 80B02F20 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00CB4 80B02F24 AFB00020 */ sw $s0, 0x0020($sp)
/* 00CB8 80B02F28 F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 00CBC 80B02F2C 84820536 */ lh $v0, 0x0536($a0) ## 00000536
/* 00CC0 80B02F30 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00CC4 80B02F34 10400045 */ beq $v0, $zero, .L80B0304C
/* 00CC8 80B02F38 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
/* 00CCC 80B02F3C 848E05C8 */ lh $t6, 0x05C8($a0) ## 000005C8
/* 00CD0 80B02F40 A4980536 */ sh $t8, 0x0536($a0) ## 00000536
/* 00CD4 80B02F44 84820536 */ lh $v0, 0x0536($a0) ## 00000536
/* 00CD8 80B02F48 25CF0640 */ addiu $t7, $t6, 0x0640 ## $t7 = 00000640
/* 00CDC 80B02F4C A48F05C8 */ sh $t7, 0x05C8($a0) ## 000005C8
/* 00CE0 80B02F50 54400004 */ bnel $v0, $zero, .L80B02F64
/* 00CE4 80B02F54 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00CE8 80B02F58 A48005C8 */ sh $zero, 0x05C8($a0) ## 000005C8
/* 00CEC 80B02F5C 84820536 */ lh $v0, 0x0536($a0) ## 00000536
/* 00CF0 80B02F60 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
.L80B02F64:
/* 00CF4 80B02F64 3C0180B0 */ lui $at, %hi(D_80B045F8) ## $at = 80B00000
/* 00CF8 80B02F68 C42845F8 */ lwc1 $f8, %lo(D_80B045F8)($at)
/* 00CFC 80B02F6C 468021A0 */ cvt.s.w $f6, $f4
/* 00D00 80B02F70 860405C8 */ lh $a0, 0x05C8($s0) ## 000005C8
/* 00D04 80B02F74 46083502 */ mul.s $f20, $f6, $f8
/* 00D08 80B02F78 0C01DE1C */ jal Math_Sins
## sins?
/* 00D0C 80B02F7C 00000000 */ nop
/* 00D10 80B02F80 3C0180B0 */ lui $at, %hi(D_80B045FC) ## $at = 80B00000
/* 00D14 80B02F84 C42A45FC */ lwc1 $f10, %lo(D_80B045FC)($at)
/* 00D18 80B02F88 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 00D1C 80B02F8C C6080548 */ lwc1 $f8, 0x0548($s0) ## 00000548
/* 00D20 80B02F90 460AA402 */ mul.s $f16, $f20, $f10
/* 00D24 80B02F94 46083501 */ sub.s $f20, $f6, $f8
/* 00D28 80B02F98 46100482 */ mul.s $f18, $f0, $f16
/* 00D2C 80B02F9C 4600910D */ trunc.w.s $f4, $f18
/* 00D30 80B02FA0 44042000 */ mfc1 $a0, $f4
/* 00D34 80B02FA4 00000000 */ nop
/* 00D38 80B02FA8 00042400 */ sll $a0, $a0, 16
/* 00D3C 80B02FAC 00042403 */ sra $a0, $a0, 16
/* 00D40 80B02FB0 0C01DE1C */ jal Math_Sins
## sins?
/* 00D44 80B02FB4 A7A40032 */ sh $a0, 0x0032($sp)
/* 00D48 80B02FB8 46140282 */ mul.s $f10, $f0, $f20
/* 00D4C 80B02FBC 87A40032 */ lh $a0, 0x0032($sp)
/* 00D50 80B02FC0 0C01DE0D */ jal Math_Coss
## coss?
/* 00D54 80B02FC4 E7AA0044 */ swc1 $f10, 0x0044($sp)
/* 00D58 80B02FC8 46140402 */ mul.s $f16, $f0, $f20
/* 00D5C 80B02FCC 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 00D60 80B02FD0 00000000 */ nop
/* 00D64 80B02FD4 E7B2004C */ swc1 $f18, 0x004C($sp)
/* 00D68 80B02FD8 0C034213 */ jal Matrix_Push
/* 00D6C 80B02FDC E7B00048 */ swc1 $f16, 0x0048($sp)
/* 00D70 80B02FE0 C60C0544 */ lwc1 $f12, 0x0544($s0) ## 00000544
/* 00D74 80B02FE4 C60E0548 */ lwc1 $f14, 0x0548($s0) ## 00000548
/* 00D78 80B02FE8 8E06054C */ lw $a2, 0x054C($s0) ## 0000054C
/* 00D7C 80B02FEC 0C034261 */ jal Matrix_Translate
/* 00D80 80B02FF0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00D84 80B02FF4 86080032 */ lh $t0, 0x0032($s0) ## 00000032
/* 00D88 80B02FF8 3C0180B0 */ lui $at, %hi(D_80B04600) ## $at = 80B00000
/* 00D8C 80B02FFC C4284600 */ lwc1 $f8, %lo(D_80B04600)($at)
/* 00D90 80B03000 44882000 */ mtc1 $t0, $f4 ## $f4 = 0.00
/* 00D94 80B03004 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00D98 80B03008 468021A0 */ cvt.s.w $f6, $f4
/* 00D9C 80B0300C 46083302 */ mul.s $f12, $f6, $f8
/* 00DA0 80B03010 0C034348 */ jal Matrix_RotateY
/* 00DA4 80B03014 00000000 */ nop
/* 00DA8 80B03018 27A40044 */ addiu $a0, $sp, 0x0044 ## $a0 = FFFFFFF4
/* 00DAC 80B0301C 0C0346BD */ jal Matrix_MultVec3f
/* 00DB0 80B03020 27A50038 */ addiu $a1, $sp, 0x0038 ## $a1 = FFFFFFE8
/* 00DB4 80B03024 0C034221 */ jal Matrix_Pull
/* 00DB8 80B03028 00000000 */ nop
/* 00DBC 80B0302C 87A90032 */ lh $t1, 0x0032($sp)
/* 00DC0 80B03030 00095040 */ sll $t2, $t1, 1
/* 00DC4 80B03034 000A5823 */ subu $t3, $zero, $t2
/* 00DC8 80B03038 A60B00B8 */ sh $t3, 0x00B8($s0) ## 000000B8
/* 00DCC 80B0303C C7AA0038 */ lwc1 $f10, 0x0038($sp)
/* 00DD0 80B03040 E60A0024 */ swc1 $f10, 0x0024($s0) ## 00000024
/* 00DD4 80B03044 C7B00040 */ lwc1 $f16, 0x0040($sp)
/* 00DD8 80B03048 E610002C */ swc1 $f16, 0x002C($s0) ## 0000002C
.L80B0304C:
/* 00DDC 80B0304C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00DE0 80B03050 D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 00DE4 80B03054 8FB00020 */ lw $s0, 0x0020($sp)
/* 00DE8 80B03058 03E00008 */ jr $ra
/* 00DEC 80B0305C 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000

View file

@ -1,32 +0,0 @@
glabel func_80B03060
/* 00DF0 80B03060 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
/* 00DF4 80B03064 844E0860 */ lh $t6, 0x0860($v0) ## 00000860
/* 00DF8 80B03068 24820314 */ addiu $v0, $a0, 0x0314 ## $v0 = 00000314
/* 00DFC 80B0306C 51C0000E */ beql $t6, $zero, .L80B030A8
/* 00E00 80B03070 8C4B0008 */ lw $t3, 0x0008($v0) ## 0000031C
/* 00E04 80B03074 24820314 */ addiu $v0, $a0, 0x0314 ## $v0 = 00000314
/* 00E08 80B03078 8C4F0008 */ lw $t7, 0x0008($v0) ## 0000031C
/* 00E0C 80B0307C 2403FFFD */ addiu $v1, $zero, 0xFFFD ## $v1 = FFFFFFFD
/* 00E10 80B03080 35F80002 */ ori $t8, $t7, 0x0002 ## $t8 = 00000002
/* 00E14 80B03084 AC580008 */ sw $t8, 0x0008($v0) ## 0000031C
/* 00E18 80B03088 8C990368 */ lw $t9, 0x0368($a0) ## 00000368
/* 00E1C 80B0308C 8C8903B4 */ lw $t1, 0x03B4($a0) ## 000003B4
/* 00E20 80B03090 03234024 */ and $t0, $t9, $v1
/* 00E24 80B03094 01235024 */ and $t2, $t1, $v1
/* 00E28 80B03098 AC880368 */ sw $t0, 0x0368($a0) ## 00000368
/* 00E2C 80B0309C 03E00008 */ jr $ra
/* 00E30 80B030A0 AC8A03B4 */ sw $t2, 0x03B4($a0) ## 000003B4
.L80B030A4:
/* 00E34 80B030A4 8C4B0008 */ lw $t3, 0x0008($v0) ## 0000031C
.L80B030A8:
/* 00E38 80B030A8 2403FFFD */ addiu $v1, $zero, 0xFFFD ## $v1 = FFFFFFFD
/* 00E3C 80B030AC 01636024 */ and $t4, $t3, $v1
/* 00E40 80B030B0 AC4C0008 */ sw $t4, 0x0008($v0) ## 0000031C
/* 00E44 80B030B4 8C8D0368 */ lw $t5, 0x0368($a0) ## 00000368
/* 00E48 80B030B8 8C8F03B4 */ lw $t7, 0x03B4($a0) ## 000003B4
/* 00E4C 80B030BC 35AE0002 */ ori $t6, $t5, 0x0002 ## $t6 = 00000002
/* 00E50 80B030C0 35F80002 */ ori $t8, $t7, 0x0002 ## $t8 = 00000002
/* 00E54 80B030C4 AC8E0368 */ sw $t6, 0x0368($a0) ## 00000368
/* 00E58 80B030C8 AC9803B4 */ sw $t8, 0x03B4($a0) ## 000003B4
/* 00E5C 80B030CC 03E00008 */ jr $ra
/* 00E60 80B030D0 00000000 */ nop

View file

@ -1,76 +0,0 @@
glabel func_80B030D4
/* 00E64 80B030D4 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00E68 80B030D8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00E6C 80B030DC AFB00020 */ sw $s0, 0x0020($sp)
/* 00E70 80B030E0 AFA5002C */ sw $a1, 0x002C($sp)
/* 00E74 80B030E4 908E05CC */ lbu $t6, 0x05CC($a0) ## 000005CC
/* 00E78 80B030E8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00E7C 80B030EC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00E80 80B030F0 15C00006 */ bne $t6, $zero, .L80B0310C
/* 00E84 80B030F4 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
/* 00E88 80B030F8 848F052A */ lh $t7, 0x052A($a0) ## 0000052A
/* 00E8C 80B030FC 55E00004 */ bnel $t7, $zero, .L80B03110
/* 00E90 80B03100 02001025 */ or $v0, $s0, $zero ## $v0 = 00000000
/* 00E94 80B03104 10000030 */ beq $zero, $zero, .L80B031C8
/* 00E98 80B03108 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B0310C:
/* 00E9C 80B0310C 02001025 */ or $v0, $s0, $zero ## $v0 = 00000000
.L80B03110:
/* 00EA0 80B03110 240600E4 */ addiu $a2, $zero, 0x00E4 ## $a2 = 000000E4
/* 00EA4 80B03114 2405FFFE */ addiu $a1, $zero, 0xFFFE ## $a1 = FFFFFFFE
.L80B03118:
/* 00EA8 80B03118 904403F3 */ lbu $a0, 0x03F3($v0) ## 000003F3
/* 00EAC 80B0311C 2463004C */ addiu $v1, $v1, 0x004C ## $v1 = 0000004C
/* 00EB0 80B03120 30980001 */ andi $t8, $a0, 0x0001 ## $t8 = 00000000
/* 00EB4 80B03124 13000003 */ beq $t8, $zero, .L80B03134
/* 00EB8 80B03128 0085C824 */ and $t9, $a0, $a1
/* 00EBC 80B0312C A05903F3 */ sb $t9, 0x03F3($v0) ## 000003F3
/* 00EC0 80B03130 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
.L80B03134:
/* 00EC4 80B03134 1466FFF8 */ bne $v1, $a2, .L80B03118
/* 00EC8 80B03138 2442004C */ addiu $v0, $v0, 0x004C ## $v0 = 0000004C
/* 00ECC 80B0313C 14E00003 */ bne $a3, $zero, .L80B0314C
/* 00ED0 80B03140 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00ED4 80B03144 10000020 */ beq $zero, $zero, .L80B031C8
/* 00ED8 80B03148 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B0314C:
/* 00EDC 80B0314C 86090536 */ lh $t1, 0x0536($s0) ## 00000536
/* 00EE0 80B03150 2408001E */ addiu $t0, $zero, 0x001E ## $t0 = 0000001E
/* 00EE4 80B03154 A608052C */ sh $t0, 0x052C($s0) ## 0000052C
/* 00EE8 80B03158 15200003 */ bne $t1, $zero, .L80B03168
/* 00EEC 80B0315C 00000000 */ nop
/* 00EF0 80B03160 860A052C */ lh $t2, 0x052C($s0) ## 0000052C
/* 00EF4 80B03164 A60A052A */ sh $t2, 0x052A($s0) ## 0000052A
.L80B03168:
/* 00EF8 80B03168 0C00BE0A */ jal Audio_PlayActorSound2
/* 00EFC 80B0316C 24053884 */ addiu $a1, $zero, 0x3884 ## $a1 = 00003884
/* 00F00 80B03170 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00F04 80B03174 0C00BE0A */ jal Audio_PlayActorSound2
/* 00F08 80B03178 24056868 */ addiu $a1, $zero, 0x6868 ## $a1 = 00006868
/* 00F0C 80B0317C 8FA4002C */ lw $a0, 0x002C($sp)
/* 00F10 80B03180 3C190001 */ lui $t9, 0x0001 ## $t9 = 00010000
/* 00F14 80B03184 2405FFF8 */ addiu $a1, $zero, 0xFFF8 ## $a1 = FFFFFFF8
/* 00F18 80B03188 0324C821 */ addu $t9, $t9, $a0
/* 00F1C 80B0318C 8F391D58 */ lw $t9, 0x1D58($t9) ## 00011D58
/* 00F20 80B03190 0320F809 */ jalr $ra, $t9
/* 00F24 80B03194 00000000 */ nop
/* 00F28 80B03198 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
/* 00F2C 80B0319C 44812000 */ mtc1 $at, $f4 ## $f4 = 6.00
/* 00F30 80B031A0 8607008A */ lh $a3, 0x008A($s0) ## 0000008A
/* 00F34 80B031A4 8FA4002C */ lw $a0, 0x002C($sp)
/* 00F38 80B031A8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00F3C 80B031AC 3C064080 */ lui $a2, 0x4080 ## $a2 = 40800000
/* 00F40 80B031B0 0C00BDC7 */ jal func_8002F71C
/* 00F44 80B031B4 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 00F48 80B031B8 920B05CC */ lbu $t3, 0x05CC($s0) ## 000005CC
/* 00F4C 80B031BC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 00F50 80B031C0 256CFFFF */ addiu $t4, $t3, 0xFFFF ## $t4 = FFFFFFFF
/* 00F54 80B031C4 A20C05CC */ sb $t4, 0x05CC($s0) ## 000005CC
.L80B031C8:
/* 00F58 80B031C8 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00F5C 80B031CC 8FB00020 */ lw $s0, 0x0020($sp)
/* 00F60 80B031D0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00F64 80B031D4 03E00008 */ jr $ra
/* 00F68 80B031D8 00000000 */ nop

View file

@ -1,27 +0,0 @@
glabel func_80B031DC
/* 00F6C 80B031DC 908203A5 */ lbu $v0, 0x03A5($a0) ## 000003A5
/* 00F70 80B031E0 304E0002 */ andi $t6, $v0, 0x0002 ## $t6 = 00000000
/* 00F74 80B031E4 000E782B */ sltu $t7, $zero, $t6
/* 00F78 80B031E8 15E00003 */ bne $t7, $zero, .L80B031F8
/* 00F7C 80B031EC 3058FFFD */ andi $t8, $v0, 0xFFFD ## $t8 = 00000000
/* 00F80 80B031F0 03E00008 */ jr $ra
/* 00F84 80B031F4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B031F8:
/* 00F88 80B031F8 84880536 */ lh $t0, 0x0536($a0) ## 00000536
/* 00F8C 80B031FC 24190008 */ addiu $t9, $zero, 0x0008 ## $t9 = 00000008
/* 00F90 80B03200 A09803A5 */ sb $t8, 0x03A5($a0) ## 000003A5
/* 00F94 80B03204 15000009 */ bne $t0, $zero, .L80B0322C
/* 00F98 80B03208 A499052E */ sh $t9, 0x052E($a0) ## 0000052E
/* 00F9C 80B0320C 8489052C */ lh $t1, 0x052C($a0) ## 0000052C
/* 00FA0 80B03210 55200007 */ bnel $t1, $zero, .L80B03230
/* 00FA4 80B03214 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 00FA8 80B03218 848A0532 */ lh $t2, 0x0532($a0) ## 00000532
/* 00FAC 80B0321C 240B003C */ addiu $t3, $zero, 0x003C ## $t3 = 0000003C
/* 00FB0 80B03220 55400003 */ bnel $t2, $zero, .L80B03230
/* 00FB4 80B03224 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 00FB8 80B03228 A48B0536 */ sh $t3, 0x0536($a0) ## 00000536
.L80B0322C:
/* 00FBC 80B0322C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80B03230:
/* 00FC0 80B03230 03E00008 */ jr $ra
/* 00FC4 80B03234 00000000 */ nop

View file

@ -1,62 +0,0 @@
glabel func_80B03238
/* 00FC8 80B03238 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00FCC 80B0323C AFBF001C */ sw $ra, 0x001C($sp)
/* 00FD0 80B03240 AFB00018 */ sw $s0, 0x0018($sp)
/* 00FD4 80B03244 AFA50024 */ sw $a1, 0x0024($sp)
/* 00FD8 80B03248 908E030D */ lbu $t6, 0x030D($a0) ## 0000030D
/* 00FDC 80B0324C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00FE0 80B03250 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
/* 00FE4 80B03254 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000
/* 00FE8 80B03258 11E00005 */ beq $t7, $zero, .L80B03270
/* 00FEC 80B0325C 248202FC */ addiu $v0, $a0, 0x02FC ## $v0 = 000002FC
/* 00FF0 80B03260 90580011 */ lbu $t8, 0x0011($v0) ## 0000030D
/* 00FF4 80B03264 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
/* 00FF8 80B03268 3319FFFD */ andi $t9, $t8, 0xFFFD ## $t9 = 00000000
/* 00FFC 80B0326C A0590011 */ sb $t9, 0x0011($v0) ## 0000030D
.L80B03270:
/* 01000 80B03270 92080359 */ lbu $t0, 0x0359($s0) ## 00000359
/* 01004 80B03274 26020348 */ addiu $v0, $s0, 0x0348 ## $v0 = 00000348
/* 01008 80B03278 31090002 */ andi $t1, $t0, 0x0002 ## $t1 = 00000000
/* 0100C 80B0327C 11200005 */ beq $t1, $zero, .L80B03294
/* 01010 80B03280 00000000 */ nop
/* 01014 80B03284 904A0011 */ lbu $t2, 0x0011($v0) ## 00000359
/* 01018 80B03288 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
/* 0101C 80B0328C 314BFFFD */ andi $t3, $t2, 0xFFFD ## $t3 = 00000000
/* 01020 80B03290 A04B0011 */ sb $t3, 0x0011($v0) ## 00000359
.L80B03294:
/* 01024 80B03294 54600004 */ bnel $v1, $zero, .L80B032A8
/* 01028 80B03298 920205CC */ lbu $v0, 0x05CC($s0) ## 000005CC
/* 0102C 80B0329C 10000016 */ beq $zero, $zero, .L80B032F8
/* 01030 80B032A0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 01034 80B032A4 920205CC */ lbu $v0, 0x05CC($s0) ## 000005CC
.L80B032A8:
/* 01038 80B032A8 240C0008 */ addiu $t4, $zero, 0x0008 ## $t4 = 00000008
/* 0103C 80B032AC A60C052E */ sh $t4, 0x052E($s0) ## 0000052E
/* 01040 80B032B0 1C400002 */ bgtz $v0, .L80B032BC
/* 01044 80B032B4 244D0001 */ addiu $t5, $v0, 0x0001 ## $t5 = 00000001
/* 01048 80B032B8 A20D05CC */ sb $t5, 0x05CC($s0) ## 000005CC
.L80B032BC:
/* 0104C 80B032BC 860E0532 */ lh $t6, 0x0532($s0) ## 00000532
/* 01050 80B032C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01054 80B032C4 15C00006 */ bne $t6, $zero, .L80B032E0
/* 01058 80B032C8 00000000 */ nop
/* 0105C 80B032CC 0C00BE0A */ jal Audio_PlayActorSound2
/* 01060 80B032D0 2405389E */ addiu $a1, $zero, 0x389E ## $a1 = 0000389E
/* 01064 80B032D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01068 80B032D8 0C00BE0A */ jal Audio_PlayActorSound2
/* 0106C 80B032DC 24056867 */ addiu $a1, $zero, 0x6867 ## $a1 = 00006867
.L80B032E0:
/* 01070 80B032E0 0C2C0A48 */ jal func_80B02920
/* 01074 80B032E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01078 80B032E8 960F05CA */ lhu $t7, 0x05CA($s0) ## 000005CA
/* 0107C 80B032EC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 01080 80B032F0 35F80001 */ ori $t8, $t7, 0x0001 ## $t8 = 00000001
/* 01084 80B032F4 A61805CA */ sh $t8, 0x05CA($s0) ## 000005CA
.L80B032F8:
/* 01088 80B032F8 8FBF001C */ lw $ra, 0x001C($sp)
/* 0108C 80B032FC 8FB00018 */ lw $s0, 0x0018($sp)
/* 01090 80B03300 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01094 80B03304 03E00008 */ jr $ra
/* 01098 80B03308 00000000 */ nop

View file

@ -1,52 +0,0 @@
glabel func_80B0330C
/* 0109C 80B0330C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 010A0 80B03310 AFBF001C */ sw $ra, 0x001C($sp)
/* 010A4 80B03314 AFB00018 */ sw $s0, 0x0018($sp)
/* 010A8 80B03318 AFA50024 */ sw $a1, 0x0024($sp)
/* 010AC 80B0331C 848E0532 */ lh $t6, 0x0532($a0) ## 00000532
/* 010B0 80B03320 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 010B4 80B03324 15C00003 */ bne $t6, $zero, .L80B03334
/* 010B8 80B03328 00000000 */ nop
/* 010BC 80B0332C 0C2C0C35 */ jal func_80B030D4
/* 010C0 80B03330 00000000 */ nop
.L80B03334:
/* 010C4 80B03334 0C2C0C77 */ jal func_80B031DC
/* 010C8 80B03338 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 010CC 80B0333C 10400003 */ beq $v0, $zero, .L80B0334C
/* 010D0 80B03340 8FAF0024 */ lw $t7, 0x0024($sp)
/* 010D4 80B03344 10000018 */ beq $zero, $zero, .L80B033A8
/* 010D8 80B03348 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B0334C:
/* 010DC 80B0334C 91F81C26 */ lbu $t8, 0x1C26($t7) ## 00001C26
/* 010E0 80B03350 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 010E4 80B03354 13000012 */ beq $t8, $zero, .L80B033A0
/* 010E8 80B03358 00000000 */ nop
/* 010EC 80B0335C 86080532 */ lh $t0, 0x0532($s0) ## 00000532
/* 010F0 80B03360 24190008 */ addiu $t9, $zero, 0x0008 ## $t9 = 00000008
/* 010F4 80B03364 A619052E */ sh $t9, 0x052E($s0) ## 0000052E
/* 010F8 80B03368 15000006 */ bne $t0, $zero, .L80B03384
/* 010FC 80B0336C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01100 80B03370 0C00BE0A */ jal Audio_PlayActorSound2
/* 01104 80B03374 2405389E */ addiu $a1, $zero, 0x389E ## $a1 = 0000389E
/* 01108 80B03378 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0110C 80B0337C 0C00BE0A */ jal Audio_PlayActorSound2
/* 01110 80B03380 24056867 */ addiu $a1, $zero, 0x6867 ## $a1 = 00006867
.L80B03384:
/* 01114 80B03384 0C2C0A48 */ jal func_80B02920
/* 01118 80B03388 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0111C 80B0338C 960905CA */ lhu $t1, 0x05CA($s0) ## 000005CA
/* 01120 80B03390 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 01124 80B03394 352A0001 */ ori $t2, $t1, 0x0001 ## $t2 = 00000001
/* 01128 80B03398 10000003 */ beq $zero, $zero, .L80B033A8
/* 0112C 80B0339C A60A05CA */ sh $t2, 0x05CA($s0) ## 000005CA
.L80B033A0:
/* 01130 80B033A0 0C2C0C8E */ jal func_80B03238
/* 01134 80B033A4 8FA50024 */ lw $a1, 0x0024($sp)
.L80B033A8:
/* 01138 80B033A8 8FBF001C */ lw $ra, 0x001C($sp)
/* 0113C 80B033AC 8FB00018 */ lw $s0, 0x0018($sp)
/* 01140 80B033B0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01144 80B033B4 03E00008 */ jr $ra
/* 01148 80B033B8 00000000 */ nop

View file

@ -1,20 +0,0 @@
glabel func_80B033BC
/* 0114C 80B033BC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 01150 80B033C0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01154 80B033C4 AFA50024 */ sw $a1, 0x0024($sp)
/* 01158 80B033C8 248602FC */ addiu $a2, $a0, 0x02FC ## $a2 = 000002FC
/* 0115C 80B033CC 00C02825 */ or $a1, $a2, $zero ## $a1 = 000002FC
/* 01160 80B033D0 0C0189B7 */ jal Collider_CylinderUpdate
/* 01164 80B033D4 AFA6001C */ sw $a2, 0x001C($sp)
/* 01168 80B033D8 8FA40024 */ lw $a0, 0x0024($sp)
/* 0116C 80B033DC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01170 80B033E0 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01174 80B033E4 8FA6001C */ lw $a2, 0x001C($sp)
/* 01178 80B033E8 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 0117C 80B033EC 00812821 */ addu $a1, $a0, $at
/* 01180 80B033F0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01184 80B033F4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01188 80B033F8 03E00008 */ jr $ra
/* 0118C 80B033FC 00000000 */ nop

View file

@ -1,54 +0,0 @@
glabel func_80B03400
/* 01190 80B03400 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 01194 80B03404 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01198 80B03408 848F00B6 */ lh $t7, 0x00B6($a0) ## 000000B6
/* 0119C 80B0340C 848E008A */ lh $t6, 0x008A($a0) ## 0000008A
/* 011A0 80B03410 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000
/* 011A4 80B03414 24860348 */ addiu $a2, $a0, 0x0348 ## $a2 = 00000348
/* 011A8 80B03418 01CF1023 */ subu $v0, $t6, $t7
/* 011AC 80B0341C 00021400 */ sll $v0, $v0, 16
/* 011B0 80B03420 00021403 */ sra $v0, $v0, 16
/* 011B4 80B03424 04400004 */ bltz $v0, .L80B03438
/* 011B8 80B03428 00021823 */ subu $v1, $zero, $v0
/* 011BC 80B0342C 00021C00 */ sll $v1, $v0, 16
/* 011C0 80B03430 10000003 */ beq $zero, $zero, .L80B03440
/* 011C4 80B03434 00031C03 */ sra $v1, $v1, 16
.L80B03438:
/* 011C8 80B03438 00031C00 */ sll $v1, $v1, 16
/* 011CC 80B0343C 00031C03 */ sra $v1, $v1, 16
.L80B03440:
/* 011D0 80B03440 28613FFC */ slti $at, $v1, 0x3FFC
/* 011D4 80B03444 1020000E */ beq $at, $zero, .L80B03480
/* 011D8 80B03448 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000348
/* 011DC 80B0344C 24860394 */ addiu $a2, $a0, 0x0394 ## $a2 = 00000394
/* 011E0 80B03450 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000394
/* 011E4 80B03454 AFA60018 */ sw $a2, 0x0018($sp)
/* 011E8 80B03458 0C0189B7 */ jal Collider_CylinderUpdate
/* 011EC 80B0345C AFA70024 */ sw $a3, 0x0024($sp)
/* 011F0 80B03460 8FA40024 */ lw $a0, 0x0024($sp)
/* 011F4 80B03464 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 011F8 80B03468 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 011FC 80B0346C 8FA60018 */ lw $a2, 0x0018($sp)
/* 01200 80B03470 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 01204 80B03474 00812821 */ addu $a1, $a0, $at
/* 01208 80B03478 1000000B */ beq $zero, $zero, .L80B034A8
/* 0120C 80B0347C 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B03480:
/* 01210 80B03480 AFA60018 */ sw $a2, 0x0018($sp)
/* 01214 80B03484 0C0189B7 */ jal Collider_CylinderUpdate
/* 01218 80B03488 AFA70024 */ sw $a3, 0x0024($sp)
/* 0121C 80B0348C 8FA40024 */ lw $a0, 0x0024($sp)
/* 01220 80B03490 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01224 80B03494 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01228 80B03498 8FA60018 */ lw $a2, 0x0018($sp)
/* 0122C 80B0349C 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 01230 80B034A0 00812821 */ addu $a1, $a0, $at
/* 01234 80B034A4 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B034A8:
/* 01238 80B034A8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 0123C 80B034AC 03E00008 */ jr $ra
/* 01240 80B034B0 00000000 */ nop

View file

@ -1,127 +0,0 @@
.late_rodata
glabel D_80B04604
.float 3.14159274101
.text
glabel func_80B034B4
/* 01244 80B034B4 27BDFF60 */ addiu $sp, $sp, 0xFF60 ## $sp = FFFFFF60
/* 01248 80B034B8 3C0F80B0 */ lui $t7, %hi(D_80B04594) ## $t7 = 80B00000
/* 0124C 80B034BC AFB70044 */ sw $s7, 0x0044($sp)
/* 01250 80B034C0 AFB20030 */ sw $s2, 0x0030($sp)
/* 01254 80B034C4 25EF4594 */ addiu $t7, $t7, %lo(D_80B04594) ## $t7 = 80B04594
/* 01258 80B034C8 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
/* 0125C 80B034CC 00A0B825 */ or $s7, $a1, $zero ## $s7 = 00000000
/* 01260 80B034D0 AFBF004C */ sw $ra, 0x004C($sp)
/* 01264 80B034D4 AFBE0048 */ sw $s8, 0x0048($sp)
/* 01268 80B034D8 AFB60040 */ sw $s6, 0x0040($sp)
/* 0126C 80B034DC AFB5003C */ sw $s5, 0x003C($sp)
/* 01270 80B034E0 AFB40038 */ sw $s4, 0x0038($sp)
/* 01274 80B034E4 AFB30034 */ sw $s3, 0x0034($sp)
/* 01278 80B034E8 AFB1002C */ sw $s1, 0x002C($sp)
/* 0127C 80B034EC AFB00028 */ sw $s0, 0x0028($sp)
/* 01280 80B034F0 F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 01284 80B034F4 F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 01288 80B034F8 25E80024 */ addiu $t0, $t7, 0x0024 ## $t0 = 80B045B8
/* 0128C 80B034FC 27AE007C */ addiu $t6, $sp, 0x007C ## $t6 = FFFFFFDC
.L80B03500:
/* 01290 80B03500 8DF90000 */ lw $t9, 0x0000($t7) ## 80B04594
/* 01294 80B03504 25EF000C */ addiu $t7, $t7, 0x000C ## $t7 = 80B045A0
/* 01298 80B03508 25CE000C */ addiu $t6, $t6, 0x000C ## $t6 = FFFFFFE8
/* 0129C 80B0350C ADD9FFF4 */ sw $t9, -0x000C($t6) ## FFFFFFDC
/* 012A0 80B03510 8DF8FFF8 */ lw $t8, -0x0008($t7) ## 80B04598
/* 012A4 80B03514 ADD8FFF8 */ sw $t8, -0x0008($t6) ## FFFFFFE0
/* 012A8 80B03518 8DF9FFFC */ lw $t9, -0x0004($t7) ## 80B0459C
/* 012AC 80B0351C 15E8FFF8 */ bne $t7, $t0, .L80B03500
/* 012B0 80B03520 ADD9FFFC */ sw $t9, -0x0004($t6) ## FFFFFFE4
/* 012B4 80B03524 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 012B8 80B03528 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 012BC 80B0352C 02E1F021 */ addu $s8, $s7, $at
/* 012C0 80B03530 3C0180B0 */ lui $at, %hi(D_80B04604) ## $at = 80B00000
/* 012C4 80B03534 C4364604 */ lwc1 $f22, %lo(D_80B04604)($at)
/* 012C8 80B03538 3C014700 */ lui $at, 0x4700 ## $at = 47000000
/* 012CC 80B0353C 4481A000 */ mtc1 $at, $f20 ## $f20 = 32768.00
/* 012D0 80B03540 26560024 */ addiu $s6, $s2, 0x0024 ## $s6 = 00000024
/* 012D4 80B03544 27B0007C */ addiu $s0, $sp, 0x007C ## $s0 = FFFFFFDC
/* 012D8 80B03548 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 012DC 80B0354C 02408825 */ or $s1, $s2, $zero ## $s1 = 00000000
/* 012E0 80B03550 265403E0 */ addiu $s4, $s2, 0x03E0 ## $s4 = 000003E0
/* 012E4 80B03554 27B50070 */ addiu $s5, $sp, 0x0070 ## $s5 = FFFFFFD0
.L80B03558:
/* 012E8 80B03558 8ECA0000 */ lw $t2, 0x0000($s6) ## 00000024
/* 012EC 80B0355C C6040000 */ lwc1 $f4, 0x0000($s0) ## FFFFFFDC
/* 012F0 80B03560 C60A0004 */ lwc1 $f10, 0x0004($s0) ## FFFFFFE0
/* 012F4 80B03564 AEAA0000 */ sw $t2, 0x0000($s5) ## FFFFFFD0
/* 012F8 80B03568 8EC90004 */ lw $t1, 0x0004($s6) ## 00000028
/* 012FC 80B0356C AEA90004 */ sw $t1, 0x0004($s5) ## FFFFFFD4
/* 01300 80B03570 8ECA0008 */ lw $t2, 0x0008($s6) ## 0000002C
/* 01304 80B03574 AEAA0008 */ sw $t2, 0x0008($s5) ## FFFFFFD8
/* 01308 80B03578 C646053C */ lwc1 $f6, 0x053C($s2) ## 0000053C
/* 0130C 80B0357C 46062202 */ mul.s $f8, $f4, $f6
/* 01310 80B03580 C6040008 */ lwc1 $f4, 0x0008($s0) ## FFFFFFE4
/* 01314 80B03584 E6080000 */ swc1 $f8, 0x0000($s0) ## FFFFFFDC
/* 01318 80B03588 C650053C */ lwc1 $f16, 0x053C($s2) ## 0000053C
/* 0131C 80B0358C 46105482 */ mul.s $f18, $f10, $f16
/* 01320 80B03590 E6120004 */ swc1 $f18, 0x0004($s0) ## FFFFFFE0
/* 01324 80B03594 C646053C */ lwc1 $f6, 0x053C($s2) ## 0000053C
/* 01328 80B03598 46062202 */ mul.s $f8, $f4, $f6
/* 0132C 80B0359C 0C034213 */ jal Matrix_Push
/* 01330 80B035A0 E6080008 */ swc1 $f8, 0x0008($s0) ## FFFFFFE4
/* 01334 80B035A4 C7AC0070 */ lwc1 $f12, 0x0070($sp)
/* 01338 80B035A8 C7AE0074 */ lwc1 $f14, 0x0074($sp)
/* 0133C 80B035AC 8FA60078 */ lw $a2, 0x0078($sp)
/* 01340 80B035B0 0C034261 */ jal Matrix_Translate
/* 01344 80B035B4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 01348 80B035B8 864B0524 */ lh $t3, 0x0524($s2) ## 00000524
/* 0134C 80B035BC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 01350 80B035C0 448B5000 */ mtc1 $t3, $f10 ## $f10 = 0.00
/* 01354 80B035C4 00000000 */ nop
/* 01358 80B035C8 46805420 */ cvt.s.w $f16, $f10
/* 0135C 80B035CC 46148483 */ div.s $f18, $f16, $f20
/* 01360 80B035D0 46169302 */ mul.s $f12, $f18, $f22
/* 01364 80B035D4 0C034348 */ jal Matrix_RotateY
/* 01368 80B035D8 00000000 */ nop
/* 0136C 80B035DC 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFDC
/* 01370 80B035E0 0C0346BD */ jal Matrix_MultVec3f
/* 01374 80B035E4 02A02825 */ or $a1, $s5, $zero ## $a1 = FFFFFFD0
/* 01378 80B035E8 0C034221 */ jal Matrix_Pull
/* 0137C 80B035EC 00000000 */ nop
/* 01380 80B035F0 C7A40070 */ lwc1 $f4, 0x0070($sp)
/* 01384 80B035F4 02E02025 */ or $a0, $s7, $zero ## $a0 = 00000000
/* 01388 80B035F8 03C02825 */ or $a1, $s8, $zero ## $a1 = 00000000
/* 0138C 80B035FC 4600218D */ trunc.w.s $f6, $f4
/* 01390 80B03600 02803025 */ or $a2, $s4, $zero ## $a2 = 000003E0
/* 01394 80B03604 440D3000 */ mfc1 $t5, $f6
/* 01398 80B03608 00000000 */ nop
/* 0139C 80B0360C A62D0426 */ sh $t5, 0x0426($s1) ## 00000426
/* 013A0 80B03610 C7A80074 */ lwc1 $f8, 0x0074($sp)
/* 013A4 80B03614 4600428D */ trunc.w.s $f10, $f8
/* 013A8 80B03618 440F5000 */ mfc1 $t7, $f10
/* 013AC 80B0361C 00000000 */ nop
/* 013B0 80B03620 A62F0428 */ sh $t7, 0x0428($s1) ## 00000428
/* 013B4 80B03624 C7B00078 */ lwc1 $f16, 0x0078($sp)
/* 013B8 80B03628 4600848D */ trunc.w.s $f18, $f16
/* 013BC 80B0362C 44189000 */ mfc1 $t8, $f18
/* 013C0 80B03630 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 013C4 80B03634 A638042A */ sh $t8, 0x042A($s1) ## 0000042A
/* 013C8 80B03638 2673004C */ addiu $s3, $s3, 0x004C ## $s3 = 0000004C
/* 013CC 80B0363C 240100E4 */ addiu $at, $zero, 0x00E4 ## $at = 000000E4
/* 013D0 80B03640 2610000C */ addiu $s0, $s0, 0x000C ## $s0 = FFFFFFE8
/* 013D4 80B03644 2631004C */ addiu $s1, $s1, 0x004C ## $s1 = 0000004C
/* 013D8 80B03648 1661FFC3 */ bne $s3, $at, .L80B03558
/* 013DC 80B0364C 2694004C */ addiu $s4, $s4, 0x004C ## $s4 = 0000042C
/* 013E0 80B03650 8FBF004C */ lw $ra, 0x004C($sp)
/* 013E4 80B03654 D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 013E8 80B03658 D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 013EC 80B0365C 8FB00028 */ lw $s0, 0x0028($sp)
/* 013F0 80B03660 8FB1002C */ lw $s1, 0x002C($sp)
/* 013F4 80B03664 8FB20030 */ lw $s2, 0x0030($sp)
/* 013F8 80B03668 8FB30034 */ lw $s3, 0x0034($sp)
/* 013FC 80B0366C 8FB40038 */ lw $s4, 0x0038($sp)
/* 01400 80B03670 8FB5003C */ lw $s5, 0x003C($sp)
/* 01404 80B03674 8FB60040 */ lw $s6, 0x0040($sp)
/* 01408 80B03678 8FB70044 */ lw $s7, 0x0044($sp)
/* 0140C 80B0367C 8FBE0048 */ lw $s8, 0x0048($sp)
/* 01410 80B03680 27BD00A0 */ addiu $sp, $sp, 0x00A0 ## $sp = 00000000
/* 01414 80B03684 03E00008 */ jr $ra
/* 01418 80B03688 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001

View file

@ -1,58 +0,0 @@
glabel func_80B0368C
/* 0141C 80B0368C 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 01420 80B03690 AFBF001C */ sw $ra, 0x001C($sp)
/* 01424 80B03694 AFB00018 */ sw $s0, 0x0018($sp)
/* 01428 80B03698 908E00AF */ lbu $t6, 0x00AF($a0) ## 000000AF
/* 0142C 80B0369C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 01430 80B036A0 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 01434 80B036A4 15C0000E */ bne $t6, $zero, .L80B036E0
/* 01438 80B036A8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0143C 80B036AC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01440 80B036B0 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01444 80B036B4 00A12821 */ addu $a1, $a1, $at
/* 01448 80B036B8 24E604C4 */ addiu $a2, $a3, 0x04C4 ## $a2 = 000004C4
/* 0144C 80B036BC AFA60024 */ sw $a2, 0x0024($sp)
/* 01450 80B036C0 0C0175E7 */ jal CollisionCheck_SetAT
## CollisionCheck_setAT
/* 01454 80B036C4 AFA50028 */ sw $a1, 0x0028($sp)
/* 01458 80B036C8 8FA50028 */ lw $a1, 0x0028($sp)
/* 0145C 80B036CC 8FA60024 */ lw $a2, 0x0024($sp)
/* 01460 80B036D0 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 01464 80B036D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01468 80B036D8 1000001A */ beq $zero, $zero, .L80B03744
/* 0146C 80B036DC 8FBF001C */ lw $ra, 0x001C($sp)
.L80B036E0:
/* 01470 80B036E0 84EF052C */ lh $t7, 0x052C($a3) ## 0000052C
/* 01474 80B036E4 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 01478 80B036E8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 0147C 80B036EC 55E00005 */ bnel $t7, $zero, .L80B03704
/* 01480 80B036F0 84E2052E */ lh $v0, 0x052E($a3) ## 0000052E
/* 01484 80B036F4 0C2C0D2D */ jal func_80B034B4
/* 01488 80B036F8 AFA70030 */ sw $a3, 0x0030($sp)
/* 0148C 80B036FC 8FA70030 */ lw $a3, 0x0030($sp)
/* 01490 80B03700 84E2052E */ lh $v0, 0x052E($a3) ## 0000052E
.L80B03704:
/* 01494 80B03704 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 01498 80B03708 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 0149C 80B0370C 14400003 */ bne $v0, $zero, .L80B0371C
/* 014A0 80B03710 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
/* 014A4 80B03714 10000003 */ beq $zero, $zero, .L80B03724
/* 014A8 80B03718 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
.L80B0371C:
/* 014AC 80B0371C A4F8052E */ sh $t8, 0x052E($a3) ## 0000052E
/* 014B0 80B03720 84E3052E */ lh $v1, 0x052E($a3) ## 0000052E
.L80B03724:
/* 014B4 80B03724 54600007 */ bnel $v1, $zero, .L80B03744
/* 014B8 80B03728 8FBF001C */ lw $ra, 0x001C($sp)
/* 014BC 80B0372C 0C2C0CEF */ jal func_80B033BC
/* 014C0 80B03730 AFA70030 */ sw $a3, 0x0030($sp)
/* 014C4 80B03734 8FA40030 */ lw $a0, 0x0030($sp)
/* 014C8 80B03738 0C2C0D00 */ jal func_80B03400
/* 014CC 80B0373C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 014D0 80B03740 8FBF001C */ lw $ra, 0x001C($sp)
.L80B03744:
/* 014D4 80B03744 8FB00018 */ lw $s0, 0x0018($sp)
/* 014D8 80B03748 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 014DC 80B0374C 03E00008 */ jr $ra
/* 014E0 80B03750 00000000 */ nop

View file

@ -1,24 +0,0 @@
glabel func_80B03968
/* 016F8 80B03968 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 016FC 80B0396C AFBF0014 */ sw $ra, 0x0014($sp)
/* 01700 80B03970 AFA40018 */ sw $a0, 0x0018($sp)
/* 01704 80B03974 0C2C0B6F */ jal func_80B02DBC
/* 01708 80B03978 AFA5001C */ sw $a1, 0x001C($sp)
/* 0170C 80B0397C 10400009 */ beq $v0, $zero, .L80B039A4
/* 01710 80B03980 8FA40018 */ lw $a0, 0x0018($sp)
/* 01714 80B03984 0C2C0A33 */ jal func_80B028CC
/* 01718 80B03988 8FA40018 */ lw $a0, 0x0018($sp)
/* 0171C 80B0398C 3C0580B0 */ lui $a1, %hi(func_80B03D74) ## $a1 = 80B00000
/* 01720 80B03990 24A53D74 */ addiu $a1, $a1, %lo(func_80B03D74) ## $a1 = 80B03D74
/* 01724 80B03994 0C2C089C */ jal func_80B02270
/* 01728 80B03998 8FA40018 */ lw $a0, 0x0018($sp)
/* 0172C 80B0399C 10000004 */ beq $zero, $zero, .L80B039B0
/* 01730 80B039A0 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B039A4:
/* 01734 80B039A4 0C2C0B54 */ jal func_80B02D50
/* 01738 80B039A8 8FA5001C */ lw $a1, 0x001C($sp)
/* 0173C 80B039AC 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B039B0:
/* 01740 80B039B0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01744 80B039B4 03E00008 */ jr $ra
/* 01748 80B039B8 00000000 */ nop

View file

@ -1,19 +0,0 @@
glabel func_80B039BC
/* 0174C 80B039BC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01750 80B039C0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01754 80B039C4 AFA40018 */ sw $a0, 0x0018($sp)
/* 01758 80B039C8 0C2C0B54 */ jal func_80B02D50
/* 0175C 80B039CC AFA5001C */ sw $a1, 0x001C($sp)
/* 01760 80B039D0 8FA40018 */ lw $a0, 0x0018($sp)
/* 01764 80B039D4 0C00BCCD */ jal func_8002F334
/* 01768 80B039D8 8FA5001C */ lw $a1, 0x001C($sp)
/* 0176C 80B039DC 10400004 */ beq $v0, $zero, .L80B039F0
/* 01770 80B039E0 8FAF0018 */ lw $t7, 0x0018($sp)
/* 01774 80B039E4 3C0E80B0 */ lui $t6, %hi(func_80B03A00) ## $t6 = 80B00000
/* 01778 80B039E8 25CE3A00 */ addiu $t6, $t6, %lo(func_80B03A00) ## $t6 = 80B03A00
/* 0177C 80B039EC ADEE02F8 */ sw $t6, 0x02F8($t7) ## 000002F8
.L80B039F0:
/* 01780 80B039F0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01784 80B039F4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01788 80B039F8 03E00008 */ jr $ra
/* 0178C 80B039FC 00000000 */ nop

View file

@ -1,190 +0,0 @@
glabel func_80B03A00
/* 01790 80B03A00 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01794 80B03A04 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01798 80B03A08 AFA5001C */ sw $a1, 0x001C($sp)
/* 0179C 80B03A0C 0C00BC65 */ jal func_8002F194
/* 017A0 80B03A10 AFA40018 */ sw $a0, 0x0018($sp)
/* 017A4 80B03A14 10400020 */ beq $v0, $zero, .L80B03A98
/* 017A8 80B03A18 8FA70018 */ lw $a3, 0x0018($sp)
/* 017AC 80B03A1C 84EF001C */ lh $t7, 0x001C($a3) ## 0000001C
/* 017B0 80B03A20 3C0E80B0 */ lui $t6, %hi(func_80B039BC) ## $t6 = 80B00000
/* 017B4 80B03A24 25CE39BC */ addiu $t6, $t6, %lo(func_80B039BC) ## $t6 = 80B039BC
/* 017B8 80B03A28 15E00006 */ bne $t7, $zero, .L80B03A44
/* 017BC 80B03A2C ACEE02F8 */ sw $t6, 0x02F8($a3) ## 000002F8
/* 017C0 80B03A30 3C038016 */ lui $v1, %hi(gSaveContext)
/* 017C4 80B03A34 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 017C8 80B03A38 94780EE6 */ lhu $t8, 0x0EE6($v1) ## 8015F546
/* 017CC 80B03A3C 37190040 */ ori $t9, $t8, 0x0040 ## $t9 = 00000040
/* 017D0 80B03A40 A4790EE6 */ sh $t9, 0x0EE6($v1) ## 8015F546
.L80B03A44:
/* 017D4 80B03A44 94E2010E */ lhu $v0, 0x010E($a3) ## 0000010E
/* 017D8 80B03A48 3C038016 */ lui $v1, %hi(gSaveContext)
/* 017DC 80B03A4C 24010026 */ addiu $at, $zero, 0x0026 ## $at = 00000026
/* 017E0 80B03A50 10410004 */ beq $v0, $at, .L80B03A64
/* 017E4 80B03A54 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 017E8 80B03A58 24010027 */ addiu $at, $zero, 0x0027 ## $at = 00000027
/* 017EC 80B03A5C 54410006 */ bnel $v0, $at, .L80B03A78
/* 017F0 80B03A60 24010024 */ addiu $at, $zero, 0x0024 ## $at = 00000024
.L80B03A64:
/* 017F4 80B03A64 94680F2A */ lhu $t0, 0x0F2A($v1) ## 8015F58A
/* 017F8 80B03A68 35090040 */ ori $t1, $t0, 0x0040 ## $t1 = 00000040
/* 017FC 80B03A6C A4690F2A */ sh $t1, 0x0F2A($v1) ## 8015F58A
/* 01800 80B03A70 94E2010E */ lhu $v0, 0x010E($a3) ## 0000010E
/* 01804 80B03A74 24010024 */ addiu $at, $zero, 0x0024 ## $at = 00000024
.L80B03A78:
/* 01808 80B03A78 10410003 */ beq $v0, $at, .L80B03A88
/* 0180C 80B03A7C 24010025 */ addiu $at, $zero, 0x0025 ## $at = 00000025
/* 01810 80B03A80 5441007F */ bnel $v0, $at, .L80B03C80
/* 01814 80B03A84 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B03A88:
/* 01818 80B03A88 946A0F2A */ lhu $t2, 0x0F2A($v1) ## 8015F58A
/* 0181C 80B03A8C 354B0080 */ ori $t3, $t2, 0x0080 ## $t3 = 00000080
/* 01820 80B03A90 1000007A */ beq $zero, $zero, .L80B03C7C
/* 01824 80B03A94 A46B0F2A */ sh $t3, 0x0F2A($v1) ## 8015F58A
.L80B03A98:
/* 01828 80B03A98 84E30528 */ lh $v1, 0x0528($a3) ## 00000528
/* 0182C 80B03A9C 5060000E */ beql $v1, $zero, .L80B03AD8
/* 01830 80B03AA0 84E30534 */ lh $v1, 0x0534($a3) ## 00000534
/* 01834 80B03AA4 14600003 */ bne $v1, $zero, .L80B03AB4
/* 01838 80B03AA8 246CFFFF */ addiu $t4, $v1, 0xFFFF ## $t4 = 8015E65F
/* 0183C 80B03AAC 10000003 */ beq $zero, $zero, .L80B03ABC
/* 01840 80B03AB0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B03AB4:
/* 01844 80B03AB4 A4EC0528 */ sh $t4, 0x0528($a3) ## 00000528
/* 01848 80B03AB8 84E20528 */ lh $v0, 0x0528($a3) ## 00000528
.L80B03ABC:
/* 0184C 80B03ABC 14400005 */ bne $v0, $zero, .L80B03AD4
/* 01850 80B03AC0 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 01854 80B03AC4 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
/* 01858 80B03AC8 0C2C09C0 */ jal func_80B02700
/* 0185C 80B03ACC AFA70018 */ sw $a3, 0x0018($sp)
/* 01860 80B03AD0 8FA70018 */ lw $a3, 0x0018($sp)
.L80B03AD4:
/* 01864 80B03AD4 84E30534 */ lh $v1, 0x0534($a3) ## 00000534
.L80B03AD8:
/* 01868 80B03AD8 5060000E */ beql $v1, $zero, .L80B03B14
/* 0186C 80B03ADC 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 01870 80B03AE0 14600003 */ bne $v1, $zero, .L80B03AF0
/* 01874 80B03AE4 246DFFFF */ addiu $t5, $v1, 0xFFFF ## $t5 = FFFFFFFF
/* 01878 80B03AE8 10000003 */ beq $zero, $zero, .L80B03AF8
/* 0187C 80B03AEC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B03AF0:
/* 01880 80B03AF0 A4ED0534 */ sh $t5, 0x0534($a3) ## 00000534
/* 01884 80B03AF4 84E20534 */ lh $v0, 0x0534($a3) ## 00000534
.L80B03AF8:
/* 01888 80B03AF8 14400005 */ bne $v0, $zero, .L80B03B10
/* 0188C 80B03AFC 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 01890 80B03B00 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
/* 01894 80B03B04 0C2C09C0 */ jal func_80B02700
/* 01898 80B03B08 AFA70018 */ sw $a3, 0x0018($sp)
/* 0189C 80B03B0C 8FA70018 */ lw $a3, 0x0018($sp)
.L80B03B10:
/* 018A0 80B03B10 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
.L80B03B14:
/* 018A4 80B03B14 8FA5001C */ lw $a1, 0x001C($sp)
/* 018A8 80B03B18 0C2C0B6F */ jal func_80B02DBC
/* 018AC 80B03B1C AFA70018 */ sw $a3, 0x0018($sp)
/* 018B0 80B03B20 1440000A */ bne $v0, $zero, .L80B03B4C
/* 018B4 80B03B24 8FA70018 */ lw $a3, 0x0018($sp)
/* 018B8 80B03B28 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 018BC 80B03B2C 0C2C0A15 */ jal func_80B02854
/* 018C0 80B03B30 AFA70018 */ sw $a3, 0x0018($sp)
/* 018C4 80B03B34 3C0580B0 */ lui $a1, %hi(func_80B03E74) ## $a1 = 80B00000
/* 018C8 80B03B38 8FA40018 */ lw $a0, 0x0018($sp)
/* 018CC 80B03B3C 0C2C089C */ jal func_80B02270
/* 018D0 80B03B40 24A53E74 */ addiu $a1, $a1, %lo(func_80B03E74) ## $a1 = 80B03E74
/* 018D4 80B03B44 1000004E */ beq $zero, $zero, .L80B03C80
/* 018D8 80B03B48 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B03B4C:
/* 018DC 80B03B4C 84E30530 */ lh $v1, 0x0530($a3) ## 00000530
/* 018E0 80B03B50 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 018E4 80B03B54 2405386A */ addiu $a1, $zero, 0x386A ## $a1 = 0000386A
/* 018E8 80B03B58 14600003 */ bne $v1, $zero, .L80B03B68
/* 018EC 80B03B5C 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF
/* 018F0 80B03B60 10000003 */ beq $zero, $zero, .L80B03B70
/* 018F4 80B03B64 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B03B68:
/* 018F8 80B03B68 A4EE0530 */ sh $t6, 0x0530($a3) ## 00000530
/* 018FC 80B03B6C 84E20530 */ lh $v0, 0x0530($a3) ## 00000530
.L80B03B70:
/* 01900 80B03B70 54400007 */ bnel $v0, $zero, .L80B03B90
/* 01904 80B03B74 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 01908 80B03B78 0C00BE0A */ jal Audio_PlayActorSound2
/* 0190C 80B03B7C AFA70018 */ sw $a3, 0x0018($sp)
/* 01910 80B03B80 8FA70018 */ lw $a3, 0x0018($sp)
/* 01914 80B03B84 240F0040 */ addiu $t7, $zero, 0x0040 ## $t7 = 00000040
/* 01918 80B03B88 A4EF0530 */ sh $t7, 0x0530($a3) ## 00000530
/* 0191C 80B03B8C 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
.L80B03B90:
/* 01920 80B03B90 8FA5001C */ lw $a1, 0x001C($sp)
/* 01924 80B03B94 0C2C0B54 */ jal func_80B02D50
/* 01928 80B03B98 AFA70018 */ sw $a3, 0x0018($sp)
/* 0192C 80B03B9C 8FA70018 */ lw $a3, 0x0018($sp)
/* 01930 80B03BA0 84F80528 */ lh $t8, 0x0528($a3) ## 00000528
/* 01934 80B03BA4 57000036 */ bnel $t8, $zero, .L80B03C80
/* 01938 80B03BA8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0193C 80B03BAC 84F90534 */ lh $t9, 0x0534($a3) ## 00000534
/* 01940 80B03BB0 8FA4001C */ lw $a0, 0x001C($sp)
/* 01944 80B03BB4 2405000D */ addiu $a1, $zero, 0x000D ## $a1 = 0000000D
/* 01948 80B03BB8 57200031 */ bnel $t9, $zero, .L80B03C80
/* 0194C 80B03BBC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01950 80B03BC0 0C01B0D8 */ jal Text_GetFaceReaction
/* 01954 80B03BC4 AFA70018 */ sw $a3, 0x0018($sp)
/* 01958 80B03BC8 8FA70018 */ lw $a3, 0x0018($sp)
/* 0195C 80B03BCC 3048FFFF */ andi $t0, $v0, 0xFFFF ## $t0 = 00000000
/* 01960 80B03BD0 15000026 */ bne $t0, $zero, .L80B03C6C
/* 01964 80B03BD4 A4E2010E */ sh $v0, 0x010E($a3) ## 0000010E
/* 01968 80B03BD8 84E9001C */ lh $t1, 0x001C($a3) ## 0000001C
/* 0196C 80B03BDC 3C038016 */ lui $v1, %hi(gSaveContext)
/* 01970 80B03BE0 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 01974 80B03BE4 55200020 */ bnel $t1, $zero, .L80B03C68
/* 01978 80B03BE8 24090022 */ addiu $t1, $zero, 0x0022 ## $t1 = 00000022
/* 0197C 80B03BEC 846200D0 */ lh $v0, 0x00D0($v1) ## 8015E730
/* 01980 80B03BF0 240A0029 */ addiu $t2, $zero, 0x0029 ## $t2 = 00000029
/* 01984 80B03BF4 28410032 */ slti $at, $v0, 0x0032
/* 01988 80B03BF8 54200004 */ bnel $at, $zero, .L80B03C0C
/* 0198C 80B03BFC 2841000A */ slti $at, $v0, 0x000A
/* 01990 80B03C00 1000001A */ beq $zero, $zero, .L80B03C6C
/* 01994 80B03C04 A4EA010E */ sh $t2, 0x010E($a3) ## 0000010E
/* 01998 80B03C08 2841000A */ slti $at, $v0, 0x000A
.L80B03C0C:
/* 0199C 80B03C0C 5420000C */ bnel $at, $zero, .L80B03C40
/* 019A0 80B03C10 946F0F2A */ lhu $t7, 0x0F2A($v1) ## 8015F58A
/* 019A4 80B03C14 946B0F2A */ lhu $t3, 0x0F2A($v1) ## 8015F58A
/* 019A8 80B03C18 240D0024 */ addiu $t5, $zero, 0x0024 ## $t5 = 00000024
/* 019AC 80B03C1C 240E0025 */ addiu $t6, $zero, 0x0025 ## $t6 = 00000025
/* 019B0 80B03C20 316C0080 */ andi $t4, $t3, 0x0080 ## $t4 = 00000000
/* 019B4 80B03C24 11800003 */ beq $t4, $zero, .L80B03C34
/* 019B8 80B03C28 00000000 */ nop
/* 019BC 80B03C2C 1000000F */ beq $zero, $zero, .L80B03C6C
/* 019C0 80B03C30 A4ED010E */ sh $t5, 0x010E($a3) ## 0000010E
.L80B03C34:
/* 019C4 80B03C34 1000000D */ beq $zero, $zero, .L80B03C6C
/* 019C8 80B03C38 A4EE010E */ sh $t6, 0x010E($a3) ## 0000010E
/* 019CC 80B03C3C 946F0F2A */ lhu $t7, 0x0F2A($v1) ## 8015F58A
.L80B03C40:
/* 019D0 80B03C40 24190027 */ addiu $t9, $zero, 0x0027 ## $t9 = 00000027
/* 019D4 80B03C44 24080026 */ addiu $t0, $zero, 0x0026 ## $t0 = 00000026
/* 019D8 80B03C48 31F80040 */ andi $t8, $t7, 0x0040 ## $t8 = 00000000
/* 019DC 80B03C4C 13000003 */ beq $t8, $zero, .L80B03C5C
/* 019E0 80B03C50 00000000 */ nop
/* 019E4 80B03C54 10000005 */ beq $zero, $zero, .L80B03C6C
/* 019E8 80B03C58 A4F9010E */ sh $t9, 0x010E($a3) ## 0000010E
.L80B03C5C:
/* 019EC 80B03C5C 10000003 */ beq $zero, $zero, .L80B03C6C
/* 019F0 80B03C60 A4E8010E */ sh $t0, 0x010E($a3) ## 0000010E
/* 019F4 80B03C64 24090022 */ addiu $t1, $zero, 0x0022 ## $t1 = 00000022
.L80B03C68:
/* 019F8 80B03C68 A4E9010E */ sh $t1, 0x010E($a3) ## 0000010E
.L80B03C6C:
/* 019FC 80B03C6C 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 01A00 80B03C70 8FA5001C */ lw $a1, 0x001C($sp)
/* 01A04 80B03C74 0C00BCB3 */ jal func_8002F2CC
/* 01A08 80B03C78 3C0642C8 */ lui $a2, 0x42C8 ## $a2 = 42C80000
.L80B03C7C:
/* 01A0C 80B03C7C 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B03C80:
/* 01A10 80B03C80 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01A14 80B03C84 03E00008 */ jr $ra
/* 01A18 80B03C88 00000000 */ nop

View file

@ -1,70 +0,0 @@
glabel func_80B03C8C
/* 01A1C 80B03C8C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 01A20 80B03C90 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01A24 80B03C94 AFB00020 */ sw $s0, 0x0020($sp)
/* 01A28 80B03C98 AFA5002C */ sw $a1, 0x002C($sp)
/* 01A2C 80B03C9C 84820528 */ lh $v0, 0x0528($a0) ## 00000528
/* 01A30 80B03CA0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01A34 80B03CA4 5040000C */ beql $v0, $zero, .L80B03CD8
/* 01A38 80B03CA8 86020534 */ lh $v0, 0x0534($s0) ## 00000534
/* 01A3C 80B03CAC 14400003 */ bne $v0, $zero, .L80B03CBC
/* 01A40 80B03CB0 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 01A44 80B03CB4 10000003 */ beq $zero, $zero, .L80B03CC4
/* 01A48 80B03CB8 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
.L80B03CBC:
/* 01A4C 80B03CBC A60E0528 */ sh $t6, 0x0528($s0) ## 00000528
/* 01A50 80B03CC0 86030528 */ lh $v1, 0x0528($s0) ## 00000528
.L80B03CC4:
/* 01A54 80B03CC4 14600003 */ bne $v1, $zero, .L80B03CD4
/* 01A58 80B03CC8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01A5C 80B03CCC 0C2C09C0 */ jal func_80B02700
/* 01A60 80B03CD0 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
.L80B03CD4:
/* 01A64 80B03CD4 86020534 */ lh $v0, 0x0534($s0) ## 00000534
.L80B03CD8:
/* 01A68 80B03CD8 5040000C */ beql $v0, $zero, .L80B03D0C
/* 01A6C 80B03CDC C6060080 */ lwc1 $f6, 0x0080($s0) ## 00000080
/* 01A70 80B03CE0 14400003 */ bne $v0, $zero, .L80B03CF0
/* 01A74 80B03CE4 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
/* 01A78 80B03CE8 10000003 */ beq $zero, $zero, .L80B03CF8
/* 01A7C 80B03CEC 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
.L80B03CF0:
/* 01A80 80B03CF0 A60F0534 */ sh $t7, 0x0534($s0) ## 00000534
/* 01A84 80B03CF4 86030534 */ lh $v1, 0x0534($s0) ## 00000534
.L80B03CF8:
/* 01A88 80B03CF8 14600003 */ bne $v1, $zero, .L80B03D08
/* 01A8C 80B03CFC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01A90 80B03D00 0C2C09C0 */ jal func_80B02700
/* 01A94 80B03D04 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
.L80B03D08:
/* 01A98 80B03D08 C6060080 */ lwc1 $f6, 0x0080($s0) ## 00000080
.L80B03D0C:
/* 01A9C 80B03D0C C6080540 */ lwc1 $f8, 0x0540($s0) ## 00000540
/* 01AA0 80B03D10 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 01AA4 80B03D14 3C063F19 */ lui $a2, 0x3F19 ## $a2 = 3F190000
/* 01AA8 80B03D18 46083280 */ add.s $f10, $f6, $f8
/* 01AAC 80B03D1C 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3F19999A
/* 01AB0 80B03D20 26040060 */ addiu $a0, $s0, 0x0060 ## $a0 = 00000060
/* 01AB4 80B03D24 3C054000 */ lui $a1, 0x4000 ## $a1 = 40000000
/* 01AB8 80B03D28 4604503E */ c.le.s $f10, $f4
/* 01ABC 80B03D2C 00000000 */ nop
/* 01AC0 80B03D30 45020008 */ bc1fl .L80B03D54
/* 01AC4 80B03D34 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
/* 01AC8 80B03D38 3C0580B0 */ lui $a1, %hi(func_80B03A00) ## $a1 = 80B00000
/* 01ACC 80B03D3C 24A53A00 */ addiu $a1, $a1, %lo(func_80B03A00) ## $a1 = 80B03A00
/* 01AD0 80B03D40 0C2C089C */ jal func_80B02270
/* 01AD4 80B03D44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01AD8 80B03D48 10000006 */ beq $zero, $zero, .L80B03D64
/* 01ADC 80B03D4C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01AE0 80B03D50 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
.L80B03D54:
/* 01AE4 80B03D54 3C07447A */ lui $a3, 0x447A ## $a3 = 447A0000
/* 01AE8 80B03D58 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 01AEC 80B03D5C E7B00010 */ swc1 $f16, 0x0010($sp)
/* 01AF0 80B03D60 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B03D64:
/* 01AF4 80B03D64 8FB00020 */ lw $s0, 0x0020($sp)
/* 01AF8 80B03D68 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01AFC 80B03D6C 03E00008 */ jr $ra
/* 01B00 80B03D70 00000000 */ nop

View file

@ -1,75 +0,0 @@
glabel func_80B03D74
/* 01B04 80B03D74 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 01B08 80B03D78 AFBF001C */ sw $ra, 0x001C($sp)
/* 01B0C 80B03D7C AFB00018 */ sw $s0, 0x0018($sp)
/* 01B10 80B03D80 AFA50024 */ sw $a1, 0x0024($sp)
/* 01B14 80B03D84 84820528 */ lh $v0, 0x0528($a0) ## 00000528
/* 01B18 80B03D88 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01B1C 80B03D8C 5040000C */ beql $v0, $zero, .L80B03DC0
/* 01B20 80B03D90 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01B24 80B03D94 14400003 */ bne $v0, $zero, .L80B03DA4
/* 01B28 80B03D98 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 01B2C 80B03D9C 10000003 */ beq $zero, $zero, .L80B03DAC
/* 01B30 80B03DA0 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
.L80B03DA4:
/* 01B34 80B03DA4 A60E0528 */ sh $t6, 0x0528($s0) ## 00000528
/* 01B38 80B03DA8 86030528 */ lh $v1, 0x0528($s0) ## 00000528
.L80B03DAC:
/* 01B3C 80B03DAC 14600003 */ bne $v1, $zero, .L80B03DBC
/* 01B40 80B03DB0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01B44 80B03DB4 0C2C09C0 */ jal func_80B02700
/* 01B48 80B03DB8 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004
.L80B03DBC:
/* 01B4C 80B03DBC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80B03DC0:
/* 01B50 80B03DC0 0C2C0B6F */ jal func_80B02DBC
/* 01B54 80B03DC4 8FA50024 */ lw $a1, 0x0024($sp)
/* 01B58 80B03DC8 14400009 */ bne $v0, $zero, .L80B03DF0
/* 01B5C 80B03DCC 00000000 */ nop
/* 01B60 80B03DD0 0C2C0A15 */ jal func_80B02854
/* 01B64 80B03DD4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01B68 80B03DD8 3C0580B0 */ lui $a1, %hi(func_80B03E74) ## $a1 = 80B00000
/* 01B6C 80B03DDC 24A53E74 */ addiu $a1, $a1, %lo(func_80B03E74) ## $a1 = 80B03E74
/* 01B70 80B03DE0 0C2C089C */ jal func_80B02270
/* 01B74 80B03DE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01B78 80B03DE8 1000001E */ beq $zero, $zero, .L80B03E64
/* 01B7C 80B03DEC 8FBF001C */ lw $ra, 0x001C($sp)
.L80B03DF0:
/* 01B80 80B03DF0 0C2C0BB7 */ jal func_80B02EDC
/* 01B84 80B03DF4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01B88 80B03DF8 1040000B */ beq $v0, $zero, .L80B03E28
/* 01B8C 80B03DFC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01B90 80B03E00 0C2C089E */ jal func_80B02278
/* 01B94 80B03E04 8FA50024 */ lw $a1, 0x0024($sp)
/* 01B98 80B03E08 0C2C0A21 */ jal func_80B02884
/* 01B9C 80B03E0C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01BA0 80B03E10 3C0580B0 */ lui $a1, %hi(func_80B03C8C) ## $a1 = 80B00000
/* 01BA4 80B03E14 24A53C8C */ addiu $a1, $a1, %lo(func_80B03C8C) ## $a1 = 80B03C8C
/* 01BA8 80B03E18 0C2C089C */ jal func_80B02270
/* 01BAC 80B03E1C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01BB0 80B03E20 10000010 */ beq $zero, $zero, .L80B03E64
/* 01BB4 80B03E24 8FBF001C */ lw $ra, 0x001C($sp)
.L80B03E28:
/* 01BB8 80B03E28 86020530 */ lh $v0, 0x0530($s0) ## 00000530
/* 01BBC 80B03E2C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01BC0 80B03E30 14400003 */ bne $v0, $zero, .L80B03E40
/* 01BC4 80B03E34 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
/* 01BC8 80B03E38 10000003 */ beq $zero, $zero, .L80B03E48
/* 01BCC 80B03E3C 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
.L80B03E40:
/* 01BD0 80B03E40 A60F0530 */ sh $t7, 0x0530($s0) ## 00000530
/* 01BD4 80B03E44 86030530 */ lh $v1, 0x0530($s0) ## 00000530
.L80B03E48:
/* 01BD8 80B03E48 54600006 */ bnel $v1, $zero, .L80B03E64
/* 01BDC 80B03E4C 8FBF001C */ lw $ra, 0x001C($sp)
/* 01BE0 80B03E50 0C00BE0A */ jal Audio_PlayActorSound2
/* 01BE4 80B03E54 24053868 */ addiu $a1, $zero, 0x3868 ## $a1 = 00003868
/* 01BE8 80B03E58 24180003 */ addiu $t8, $zero, 0x0003 ## $t8 = 00000003
/* 01BEC 80B03E5C A6180530 */ sh $t8, 0x0530($s0) ## 00000530
/* 01BF0 80B03E60 8FBF001C */ lw $ra, 0x001C($sp)
.L80B03E64:
/* 01BF4 80B03E64 8FB00018 */ lw $s0, 0x0018($sp)
/* 01BF8 80B03E68 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01BFC 80B03E6C 03E00008 */ jr $ra
/* 01C00 80B03E70 00000000 */ nop

View file

@ -1,58 +0,0 @@
glabel func_80B03E74
/* 01C04 80B03E74 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 01C08 80B03E78 AFBF001C */ sw $ra, 0x001C($sp)
/* 01C0C 80B03E7C AFB00018 */ sw $s0, 0x0018($sp)
/* 01C10 80B03E80 AFA5002C */ sw $a1, 0x002C($sp)
/* 01C14 80B03E84 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01C18 80B03E88 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 01C1C 80B03E8C C4860160 */ lwc1 $f6, 0x0160($a0) ## 00000160
/* 01C20 80B03E90 C4840164 */ lwc1 $f4, 0x0164($a0) ## 00000164
/* 01C24 80B03E94 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01C28 80B03E98 46003201 */ sub.s $f8, $f6, $f0
/* 01C2C 80B03E9C 46082283 */ div.s $f10, $f4, $f8
/* 01C30 80B03EA0 E7AA0024 */ swc1 $f10, 0x0024($sp)
/* 01C34 80B03EA4 C7B00024 */ lwc1 $f16, 0x0024($sp)
/* 01C38 80B03EA8 46008032 */ c.eq.s $f16, $f0
/* 01C3C 80B03EAC 00000000 */ nop
/* 01C40 80B03EB0 45020004 */ bc1fl .L80B03EC4
/* 01C44 80B03EB4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01C48 80B03EB8 0C2C0A15 */ jal func_80B02854
/* 01C4C 80B03EBC 00000000 */ nop
/* 01C50 80B03EC0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80B03EC4:
/* 01C54 80B03EC4 0C2C0B6F */ jal func_80B02DBC
/* 01C58 80B03EC8 8FA5002C */ lw $a1, 0x002C($sp)
/* 01C5C 80B03ECC 10400009 */ beq $v0, $zero, .L80B03EF4
/* 01C60 80B03ED0 00000000 */ nop
/* 01C64 80B03ED4 0C2C0A33 */ jal func_80B028CC
/* 01C68 80B03ED8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01C6C 80B03EDC 3C0580B0 */ lui $a1, %hi(func_80B03D74) ## $a1 = 80B00000
/* 01C70 80B03EE0 24A53D74 */ addiu $a1, $a1, %lo(func_80B03D74) ## $a1 = 80B03D74
/* 01C74 80B03EE4 0C2C089C */ jal func_80B02270
/* 01C78 80B03EE8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01C7C 80B03EEC 10000012 */ beq $zero, $zero, .L80B03F38
/* 01C80 80B03EF0 8FBF001C */ lw $ra, 0x001C($sp)
.L80B03EF4:
/* 01C84 80B03EF4 0C2C0BA9 */ jal func_80B02EA4
/* 01C88 80B03EF8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01C8C 80B03EFC 10400009 */ beq $v0, $zero, .L80B03F24
/* 01C90 80B03F00 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 01C94 80B03F04 0C2C0A0D */ jal func_80B02834
/* 01C98 80B03F08 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01C9C 80B03F0C 3C0580B0 */ lui $a1, %hi(func_80B03968) ## $a1 = 80B00000
/* 01CA0 80B03F10 24A53968 */ addiu $a1, $a1, %lo(func_80B03968) ## $a1 = 80B03968
/* 01CA4 80B03F14 0C2C089C */ jal func_80B02270
/* 01CA8 80B03F18 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01CAC 80B03F1C 10000006 */ beq $zero, $zero, .L80B03F38
/* 01CB0 80B03F20 8FBF001C */ lw $ra, 0x001C($sp)
.L80B03F24:
/* 01CB4 80B03F24 44819000 */ mtc1 $at, $f18 ## $f18 = 0.00
/* 01CB8 80B03F28 C7A60024 */ lwc1 $f6, 0x0024($sp)
/* 01CBC 80B03F2C 46069102 */ mul.s $f4, $f18, $f6
/* 01CC0 80B03F30 E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060
/* 01CC4 80B03F34 8FBF001C */ lw $ra, 0x001C($sp)
.L80B03F38:
/* 01CC8 80B03F38 8FB00018 */ lw $s0, 0x0018($sp)
/* 01CCC 80B03F3C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01CD0 80B03F40 03E00008 */ jr $ra
/* 01CD4 80B03F44 00000000 */ nop

View file

@ -1,47 +0,0 @@
glabel func_80B03F48
/* 01CD8 80B03F48 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01CDC 80B03F4C AFBF0014 */ sw $ra, 0x0014($sp)
/* 01CE0 80B03F50 948205CA */ lhu $v0, 0x05CA($a0) ## 000005CA
/* 01CE4 80B03F54 304E0010 */ andi $t6, $v0, 0x0010 ## $t6 = 00000000
/* 01CE8 80B03F58 51C00013 */ beql $t6, $zero, .L80B03FA8
/* 01CEC 80B03F5C 8488052A */ lh $t0, 0x052A($a0) ## 0000052A
/* 01CF0 80B03F60 848F052A */ lh $t7, 0x052A($a0) ## 0000052A
/* 01CF4 80B03F64 55E0001F */ bnel $t7, $zero, .L80B03FE4
/* 01CF8 80B03F68 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01CFC 80B03F6C 8499001C */ lh $t9, 0x001C($a0) ## 0000001C
/* 01D00 80B03F70 3058FFEF */ andi $t8, $v0, 0xFFEF ## $t8 = 00000000
/* 01D04 80B03F74 A49805CA */ sh $t8, 0x05CA($a0) ## 000005CA
/* 01D08 80B03F78 13200006 */ beq $t9, $zero, .L80B03F94
/* 01D0C 80B03F7C 3C053F40 */ lui $a1, 0x3F40 ## $a1 = 3F400000
/* 01D10 80B03F80 3C053F00 */ lui $a1, 0x3F00 ## $a1 = 3F000000
/* 01D14 80B03F84 0C2C0A53 */ jal func_80B0294C
/* 01D18 80B03F88 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01D1C 80B03F8C 10000015 */ beq $zero, $zero, .L80B03FE4
/* 01D20 80B03F90 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B03F94:
/* 01D24 80B03F94 0C2C0A53 */ jal func_80B0294C
/* 01D28 80B03F98 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01D2C 80B03F9C 10000011 */ beq $zero, $zero, .L80B03FE4
/* 01D30 80B03FA0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01D34 80B03FA4 8488052A */ lh $t0, 0x052A($a0) ## 0000052A
.L80B03FA8:
/* 01D38 80B03FA8 5100000E */ beql $t0, $zero, .L80B03FE4
/* 01D3C 80B03FAC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01D40 80B03FB0 848A001C */ lh $t2, 0x001C($a0) ## 0000001C
/* 01D44 80B03FB4 34490010 */ ori $t1, $v0, 0x0010 ## $t1 = 00000010
/* 01D48 80B03FB8 A48905CA */ sh $t1, 0x05CA($a0) ## 000005CA
/* 01D4C 80B03FBC 11400006 */ beq $t2, $zero, .L80B03FD8
/* 01D50 80B03FC0 3C053F40 */ lui $a1, 0x3F40 ## $a1 = 3F400000
/* 01D54 80B03FC4 3C053F00 */ lui $a1, 0x3F00 ## $a1 = 3F000000
/* 01D58 80B03FC8 0C2C0A53 */ jal func_80B0294C
/* 01D5C 80B03FCC 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
/* 01D60 80B03FD0 10000004 */ beq $zero, $zero, .L80B03FE4
/* 01D64 80B03FD4 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B03FD8:
/* 01D68 80B03FD8 0C2C0A53 */ jal func_80B0294C
/* 01D6C 80B03FDC 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
/* 01D70 80B03FE0 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B03FE4:
/* 01D74 80B03FE4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01D78 80B03FE8 03E00008 */ jr $ra
/* 01D7C 80B03FEC 00000000 */ nop

View file

@ -1,36 +0,0 @@
glabel func_80B03FF0
/* 01D80 80B03FF0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 01D84 80B03FF4 AFBF001C */ sw $ra, 0x001C($sp)
/* 01D88 80B03FF8 AFB00018 */ sw $s0, 0x0018($sp)
/* 01D8C 80B03FFC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01D90 80B04000 0C2C0BB7 */ jal func_80B02EDC
/* 01D94 80B04004 AFA50024 */ sw $a1, 0x0024($sp)
/* 01D98 80B04008 14400009 */ bne $v0, $zero, .L80B04030
/* 01D9C 80B0400C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01DA0 80B04010 3C0580B0 */ lui $a1, %hi(func_80B03968) ## $a1 = 80B00000
/* 01DA4 80B04014 0C2C089C */ jal func_80B02270
/* 01DA8 80B04018 24A53968 */ addiu $a1, $a1, %lo(func_80B03968) ## $a1 = 80B03968
/* 01DAC 80B0401C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01DB0 80B04020 0C2C0E5A */ jal func_80B03968
/* 01DB4 80B04024 8FA50024 */ lw $a1, 0x0024($sp)
/* 01DB8 80B04028 1000000E */ beq $zero, $zero, .L80B04064
/* 01DBC 80B0402C 8FBF001C */ lw $ra, 0x001C($sp)
.L80B04030:
/* 01DC0 80B04030 0C2C0A21 */ jal func_80B02884
/* 01DC4 80B04034 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01DC8 80B04038 960E05CA */ lhu $t6, 0x05CA($s0) ## 000005CA
/* 01DCC 80B0403C 3C0580B0 */ lui $a1, %hi(func_80B03C8C) ## $a1 = 80B00000
/* 01DD0 80B04040 24A53C8C */ addiu $a1, $a1, %lo(func_80B03C8C) ## $a1 = 80B03C8C
/* 01DD4 80B04044 35CF0004 */ ori $t7, $t6, 0x0004 ## $t7 = 00000004
/* 01DD8 80B04048 A60F05CA */ sh $t7, 0x05CA($s0) ## 000005CA
/* 01DDC 80B0404C 0C2C089C */ jal func_80B02270
/* 01DE0 80B04050 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01DE4 80B04054 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01DE8 80B04058 0C2C0F23 */ jal func_80B03C8C
/* 01DEC 80B0405C 8FA50024 */ lw $a1, 0x0024($sp)
/* 01DF0 80B04060 8FBF001C */ lw $ra, 0x001C($sp)
.L80B04064:
/* 01DF4 80B04064 8FB00018 */ lw $s0, 0x0018($sp)
/* 01DF8 80B04068 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01DFC 80B0406C 03E00008 */ jr $ra
/* 01E00 80B04070 00000000 */ nop

View file

@ -1,68 +0,0 @@
glabel func_80B04190
/* 01F20 80B04190 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01F24 80B04194 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 01F28 80B04198 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01F2C 80B0419C AFA40018 */ sw $a0, 0x0018($sp)
/* 01F30 80B041A0 10A1000C */ beq $a1, $at, .L80B041D4
/* 01F34 80B041A4 AFA70024 */ sw $a3, 0x0024($sp)
/* 01F38 80B041A8 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 01F3C 80B041AC 10A1001B */ beq $a1, $at, .L80B0421C
/* 01F40 80B041B0 8FA4002C */ lw $a0, 0x002C($sp)
/* 01F44 80B041B4 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 01F48 80B041B8 10A1001F */ beq $a1, $at, .L80B04238
/* 01F4C 80B041BC 8FA4002C */ lw $a0, 0x002C($sp)
/* 01F50 80B041C0 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
/* 01F54 80B041C4 10A10023 */ beq $a1, $at, .L80B04254
/* 01F58 80B041C8 8FA4002C */ lw $a0, 0x002C($sp)
/* 01F5C 80B041CC 10000028 */ beq $zero, $zero, .L80B04270
/* 01F60 80B041D0 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B041D4:
/* 01F64 80B041D4 8FA4002C */ lw $a0, 0x002C($sp)
/* 01F68 80B041D8 8482052A */ lh $v0, 0x052A($a0) ## 0000052A
/* 01F6C 80B041DC 50400024 */ beql $v0, $zero, .L80B04270
/* 01F70 80B041E0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01F74 80B041E4 848E0536 */ lh $t6, 0x0536($a0) ## 00000536
/* 01F78 80B041E8 28410002 */ slti $at, $v0, 0x0002
/* 01F7C 80B041EC 55C00020 */ bnel $t6, $zero, .L80B04270
/* 01F80 80B041F0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01F84 80B041F4 14200005 */ bne $at, $zero, .L80B0420C
/* 01F88 80B041F8 00000000 */ nop
/* 01F8C 80B041FC 0C2C0924 */ jal func_80B02490
/* 01F90 80B04200 00000000 */ nop
/* 01F94 80B04204 1000001A */ beq $zero, $zero, .L80B04270
/* 01F98 80B04208 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B0420C:
/* 01F9C 80B0420C 0C2C0966 */ jal func_80B02598
/* 01FA0 80B04210 00000000 */ nop
/* 01FA4 80B04214 10000016 */ beq $zero, $zero, .L80B04270
/* 01FA8 80B04218 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B0421C:
/* 01FAC 80B0421C 848F001C */ lh $t7, 0x001C($a0) ## 0000001C
/* 01FB0 80B04220 3C180600 */ lui $t8, 0x0600 ## $t8 = 06000000
/* 01FB4 80B04224 271846C0 */ addiu $t8, $t8, 0x46C0 ## $t8 = 060046C0
/* 01FB8 80B04228 55E00011 */ bnel $t7, $zero, .L80B04270
/* 01FBC 80B0422C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01FC0 80B04230 1000000E */ beq $zero, $zero, .L80B0426C
/* 01FC4 80B04234 ACD80000 */ sw $t8, 0x0000($a2) ## 00000000
.L80B04238:
/* 01FC8 80B04238 8499001C */ lh $t9, 0x001C($a0) ## 0000001C
/* 01FCC 80B0423C 3C080600 */ lui $t0, 0x0600 ## $t0 = 06000000
/* 01FD0 80B04240 25084080 */ addiu $t0, $t0, 0x4080 ## $t0 = 06004080
/* 01FD4 80B04244 5720000A */ bnel $t9, $zero, .L80B04270
/* 01FD8 80B04248 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01FDC 80B0424C 10000007 */ beq $zero, $zero, .L80B0426C
/* 01FE0 80B04250 ACC80000 */ sw $t0, 0x0000($a2) ## 00000000
.L80B04254:
/* 01FE4 80B04254 8489001C */ lh $t1, 0x001C($a0) ## 0000001C
/* 01FE8 80B04258 3C0A0600 */ lui $t2, 0x0600 ## $t2 = 06000000
/* 01FEC 80B0425C 254A4DE8 */ addiu $t2, $t2, 0x4DE8 ## $t2 = 06004DE8
/* 01FF0 80B04260 55200003 */ bnel $t1, $zero, .L80B04270
/* 01FF4 80B04264 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01FF8 80B04268 ACCA0000 */ sw $t2, 0x0000($a2) ## 00000000
.L80B0426C:
/* 01FFC 80B0426C 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B04270:
/* 02000 80B04270 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 02004 80B04274 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 02008 80B04278 03E00008 */ jr $ra
/* 0200C 80B0427C 00000000 */ nop

View file

@ -1,15 +0,0 @@
glabel func_80B04280
/* 02010 80B04280 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 02014 80B04284 AFA40018 */ sw $a0, 0x0018($sp)
/* 02018 80B04288 AFA5001C */ sw $a1, 0x001C($sp)
/* 0201C 80B0428C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 02020 80B04290 8FA50028 */ lw $a1, 0x0028($sp)
/* 02024 80B04294 AFBF0014 */ sw $ra, 0x0014($sp)
/* 02028 80B04298 AFA60020 */ sw $a2, 0x0020($sp)
/* 0202C 80B0429C AFA70024 */ sw $a3, 0x0024($sp)
/* 02030 80B042A0 0C018A29 */ jal func_800628A4
/* 02034 80B042A4 24A504C4 */ addiu $a1, $a1, 0x04C4 ## $a1 = 000004C4
/* 02038 80B042A8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0203C 80B042AC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 02040 80B042B0 03E00008 */ jr $ra
/* 02044 80B042B4 00000000 */ nop

View file

@ -1,64 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel D_80B043C0
.word 0xFFFF0000, 0x00000000, 0x00000400, 0xFFFFFFFF, 0x00010000, 0x00000000, 0x04000400, 0xFFFFFFFF, 0x00010064, 0x00000000, 0x04000000, 0xFFFFFFFF, 0xFFFF0064, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xE7000000, 0x00000000, 0xD7000000, 0x00000000, 0xFCFFFFFF, 0xFFFFFEFB, 0xE200001C, 0xC8112078, 0xD9F1FBFF, 0x00000000, 0xFA000000, 0xFFFFFFFF, 0x01004008
.word D_80B043C0
.word 0x05000204, 0x00000000, 0x05000406, 0x00000000, 0xDF000000, 0x00000000
glabel En_Ssh_InitVars
.word 0x01880400, 0x00000035, 0x015E0000, 0x000005D4
.word EnSsh_Init
.word EnSsh_Destroy
.word EnSsh_Update
.word EnSsh_Draw
glabel D_80B04470
.word 0x06000900, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01010000, 0x00200032, 0xFFE80000, 0x00000000
glabel D_80B0449C
.word 0x01000000, 0x00000000, 0xFF000000
glabel D_80B044A8
.word 0x06000039, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x0014003C, 0xFFE20000, 0x00000000
glabel D_80B044D4
.word 0x00000000, 0xFFCFFFFF, 0x00040000, 0x00000000, 0x00000000, 0x01000100, 0x01000000, 0xFF100000, 0x001C0064
glabel D_80B044F8
.word 0x06110039, 0x10000000, 0x00000001
.word D_80B044D4
glabel D_80B04508
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80B04514
.word 0xFFFFFF4B
glabel D_80B04518
.word 0xFFFFFF4B
glabel D_80B0451C
.word 0xFFFFFF00
glabel D_80B04520
.word 0xFFFFFF00
glabel D_80B04524
.word 0x44508000, 0x44508000, 0x00000000
glabel D_80B04530
.word 0x44508000, 0xC4120000, 0x00000000
glabel D_80B0453C
.word D_80B04470
.word D_80B04470
.word D_80B04470
.word D_80B044A8
.word D_80B044A8
.word D_80B044A8
glabel D_80B04554
.word 0x06005BE8, 0x06000304, 0x06000304, 0x060055F8, 0x06000304, 0x06000304, 0x06005BE8
glabel D_80B04570
.word 0x3F800000, 0x40800000, 0x3F800000, 0x3F800000, 0x41000000, 0x40C00000, 0x40000000
glabel D_80B0458C
.word 0x03030103, 0x01010100
glabel D_80B04594
.word 0x42200000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xC2200000, 0x00000000, 0x00000000
glabel D_80B045B8
.word 0x060007E0, 0x06000C60, 0x06001060, 0x00000000, 0x00000000, 0x00000000

View file

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_80B04610
.incbin "baserom/ovl_En_Ssh", 0x23A0, 0x00000280

3
spec
View file

@ -3010,8 +3010,7 @@ endseg
beginseg
name "ovl_En_Ssh"
include "build/src/overlays/actors/ovl_En_Ssh/z_en_ssh.o"
include "build/data/overlays/actors/z_en_ssh.data.o"
include "build/data/overlays/actors/z_en_ssh.reloc.o"
include "build/src/overlays/actors/ovl_En_Ssh/ovl_En_Ssh_reloc.o"
endseg
beginseg

View file

@ -4,12 +4,57 @@
#define THIS ((EnSsh*)thisx)
#define SSH_STATE_STUNNED (1 << 0)
#define SSH_STATE_GROUND_START (1 << 2)
#define SSH_STATE_ATTACKED (1 << 3)
#define SSH_STATE_SPIN (1 << 4)
typedef enum {
SSH_ANIM_UNK0, // Unused animation. Possibly being knocked back?
SSH_ANIM_UP,
SSH_ANIM_WAIT,
SSH_ANIM_LAND,
SSH_ANIM_DROP,
SSH_ANIM_UNK5, // Slower version of ANIM_DROP
SSH_ANIM_UNK6 // Faster repeating version of ANIM_UNK0
} EnSshAnimation;
void EnSsh_Init(Actor* thisx, GlobalContext* globalCtx);
void EnSsh_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnSsh_Update(Actor* thisx, GlobalContext* globalCtx);
void EnSsh_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
void EnSsh_Idle(EnSsh* this, GlobalContext* globalCtx);
void EnSsh_Drop(EnSsh* this, GlobalContext* globalCtx);
void EnSsh_Return(EnSsh* this, GlobalContext* globalCtx);
void EnSsh_Start(EnSsh* this, GlobalContext* globalCtx);
extern AnimationHeader D_06000304;
extern SkeletonHeader D_060052E0;
extern Gfx D_060046C0[];
extern Gfx D_06004080[];
extern Gfx D_06004DE8[];
static Vtx D_80B043C0[] = {
VTX(-1, 0, 0, 0, 1024, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(1, 0, 0, 1024, 1024, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(1, 100, 0, 1024, 0, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(-1, 100, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF),
};
static Gfx D_80B04400[] = {
gsDPPipeSync(),
gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_OFF),
gsDPSetCombineLERP(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, PRIMITIVE, 0, 0, 0, PRIMITIVE),
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2),
gsSPClearGeometryMode(G_CULL_BACK | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR),
gsDPSetPrimColor(0, 0, 255, 255, 255, 255),
gsSPVertex(D_80B043C0, 4, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(0, 2, 3, 0),
gsSPEndDisplayList(),
};
const ActorInit En_Ssh_InitVars = {
ACTOR_EN_SSH,
ACTORTYPE_NPC,
@ -21,95 +66,799 @@ const ActorInit En_Ssh_InitVars = {
(ActorFunc)EnSsh_Update,
(ActorFunc)EnSsh_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02270.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02278.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02300.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B023FC.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02490.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02598.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B025C0.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02700.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02834.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02854.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02884.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B028CC.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02920.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B0294C.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02AC4.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02B9C.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02C74.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02D14.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02D50.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02DBC.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02EA4.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02EDC.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B02F1C.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B03060.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B030D4.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B031DC.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B03238.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B0330C.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B033BC.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B03400.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B034B4.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B0368C.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/EnSsh_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/EnSsh_Destroy.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B03968.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B039BC.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B03A00.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B03C8C.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B03D74.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B03E74.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B03F48.s")
static ColliderCylinderInit sCylinderInit1 = {
{ COLTYPE_UNK6, 0x00, 0x09, 0x00, 0x10, COLSHAPE_CYLINDER },
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x01, 0x01, 0x00 },
{ 32, 50, -24, { 0, 0, 0 } },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B03FF0.s")
static CollisionCheckInfoInit2 sColChkInfoInit = { 1, 0, 0, 0, 0xFF };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/EnSsh_Update.s")
static ColliderCylinderInit sCylinderInit2 = {
{ COLTYPE_UNK6, 0x00, 0x00, 0x39, 0x10, COLSHAPE_CYLINDER },
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
{ 20, 60, -30, { 0, 0, 0 } },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B04190.s")
static ColliderJntSphItemInit sJntSphElementInit[1] = {
{
{ 0x00, { 0xFFCFFFFF, 0x00, 0x04 }, { 0x00000000, 0x00, 0x00 }, 0x01, 0x00, 0x01 },
{ 1, { { 0, -240, 0 }, 28 }, 100 },
},
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/func_80B04280.s")
static ColliderJntSphInit sJntSphInit = {
{ COLTYPE_UNK6, 0x11, 0x00, 0x39, 0x10, COLSHAPE_JNTSPH },
1,
sJntSphElementInit,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ssh/EnSsh_Draw.s")
void EnSsh_SetupAction(EnSsh* this, EnSshActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
void EnSsh_SpawnShockwave(EnSsh* this, GlobalContext* globalCtx) {
Vec3f zeroVec = { 0.0f, 0.0f, 0.0f };
Vec3f pos;
pos.x = this->actor.posRot.pos.x;
pos.y = this->actor.groundY;
pos.z = this->actor.posRot.pos.z;
EffectSsBlast_SpawnWhiteCustomScale(globalCtx, &pos, &zeroVec, &zeroVec, 100, 220, 8);
}
s32 EnSsh_CreateBlureEffect(GlobalContext* globalCtx) {
EffectBlureInit1 blureInit;
u8 p1StartColor[] = { 255, 255, 255, 75 };
u8 p2StartColor[] = { 255, 255, 255, 75 };
u8 p1EndColor[] = { 255, 255, 255, 0 };
u8 p2EndColor[] = { 255, 255, 255, 0 };
s32 i;
s32 blureIdx;
for (i = 0; i < 4; i++) {
blureInit.p1StartColor[i] = p1StartColor[i];
blureInit.p2StartColor[i] = p2StartColor[i];
blureInit.p1EndColor[i] = p1EndColor[i];
blureInit.p2EndColor[i] = p2EndColor[i];
}
blureInit.elemDuration = 6;
blureInit.unkFlag = 0;
blureInit.calcMode = 3;
Effect_Add(globalCtx, &blureIdx, EFFECT_BLURE1, 0, 0, &blureInit);
return blureIdx;
}
s32 EnSsh_CheckCeilingPos(EnSsh* this, GlobalContext* globalCtx) {
CollisionPoly* sp4C;
u32 sp48;
Vec3f sp3C;
sp3C.x = this->actor.posRot.pos.x;
sp3C.y = this->actor.posRot.pos.y + 1000.0f;
sp3C.z = this->actor.posRot.pos.z;
if (!func_8003DE84(&globalCtx->colCtx, &this->actor.posRot.pos, &sp3C, &this->ceilingPos, &sp4C, 0, 0, 1, 1,
&sp48)) {
return false;
} else {
return true;
}
}
void EnSsh_AddBlureVertex(EnSsh* this) {
Vec3f p1base = { 834.0f, 834.0f, 0.0f };
Vec3f p2base = { 834.0f, -584.0f, 0.0f };
Vec3f p1;
Vec3f p2;
p1base.x *= this->colliderScale;
p1base.y *= this->colliderScale;
p1base.z *= this->colliderScale;
p2base.x *= this->colliderScale;
p2base.y *= this->colliderScale;
p2base.z *= this->colliderScale;
Matrix_Push();
Matrix_MultVec3f(&p1base, &p1);
Matrix_MultVec3f(&p2base, &p2);
Matrix_Pull();
EffectBlure_AddVertex(Effect_GetByIndex(this->blureIdx), &p1, &p2);
}
void EnSsh_AddBlureSpace(EnSsh* this) {
EffectBlure_AddSpace(Effect_GetByIndex(this->blureIdx));
}
void EnSsh_InitColliders(EnSsh* this, GlobalContext* globalCtx) {
ColliderCylinderInit* cylinders[6] = {
&sCylinderInit1, &sCylinderInit1, &sCylinderInit1, &sCylinderInit2, &sCylinderInit2, &sCylinderInit2,
};
s32 i;
s32 pad;
for (i = 0; i < ARRAY_COUNT(cylinders); i++) {
Collider_InitCylinder(globalCtx, &this->colCylinder[i]);
Collider_SetCylinder(globalCtx, &this->colCylinder[i], &this->actor, cylinders[i]);
}
this->colCylinder[0].body.bumper.flags = 0x0003F8E9;
this->colCylinder[1].body.bumper.flags = 0xFFC00716;
this->colCylinder[2].base.type = 9;
this->colCylinder[2].body.bumperFlags = 0xD;
this->colCylinder[2].body.flags = 2;
this->colCylinder[2].body.bumper.flags = 0xFFCC0716;
func_80061EFC(&this->actor.colChkInfo, DamageTable_Get(2), &sColChkInfoInit);
Collider_InitJntSph(globalCtx, &this->colSph);
Collider_SetJntSph(globalCtx, &this->colSph, &this->actor, &sJntSphInit, this->colSphElements);
}
f32 EnSsh_SetAnimation(EnSsh* this, s32 animIndex) {
AnimationHeader* animation[] = {
0x06005BE8, 0x06000304, 0x06000304, 0x060055F8, 0x06000304, 0x06000304, 0x06005BE8
};
f32 playbackSpeed[] = { 1.0f, 4.0f, 1.0f, 1.0f, 8.0f, 6.0f, 2.0f };
u8 mode[] = { 3, 3, 1, 3, 1, 1, 1 };
f32 frameCount = SkelAnime_GetFrameCount(&animation[animIndex]->genericHeader);
s32 pad;
SkelAnime_ChangeAnim(&this->skelAnime, animation[animIndex], playbackSpeed[animIndex], 0.0f, frameCount,
mode[animIndex], -6.0f);
return frameCount;
}
void EnSsh_SetWaitAnimation(EnSsh* this) {
EnSsh_SetAnimation(this, SSH_ANIM_WAIT);
}
void EnSsh_SetReturnAnimation(EnSsh* this) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALTU_UP);
EnSsh_SetAnimation(this, SSH_ANIM_UP);
}
void EnSsh_SetLandAnimation(EnSsh* this) {
this->actor.posRot.pos.y = this->groundYoffset + this->actor.groundY;
this->animTimer = EnSsh_SetAnimation(this, SSH_ANIM_LAND);
}
void EnSsh_SetDropAnimation(EnSsh* this) {
if (this->unkTimer == 0) {
this->animTimer = EnSsh_SetAnimation(this, SSH_ANIM_DROP);
}
this->actor.velocity.y = -10.0f;
}
void EnSsh_SetStunned(EnSsh* this) {
if (this->stunTimer == 0) {
this->stateFlags |= SSH_STATE_ATTACKED;
this->stunTimer = 120;
this->actor.dmgEffectTimer = 0;
}
}
void EnSsh_SetColliderScale(EnSsh* this, f32 scale, f32 radiusMod) {
f32 radius;
f32 height;
f32 yShift;
s32 i;
radius = this->colSph.list[0].dim.modelSphere.radius;
radius *= scale;
this->colSph.list[0].dim.modelSphere.radius = radius;
for (i = 0; i < 6; i++) {
yShift = this->colCylinder[i].dim.yShift;
radius = this->colCylinder[i].dim.radius;
height = this->colCylinder[i].dim.height;
yShift *= scale;
radius *= scale * radiusMod;
height *= scale;
this->colCylinder[i].dim.yShift = yShift;
this->colCylinder[i].dim.radius = radius;
this->colCylinder[i].dim.height = height;
}
Actor_SetScale(&this->actor, 0.04f * scale);
this->groundYoffset = 40.0f * scale;
this->colliderScale = scale * 1.5f;
}
s32 EnSsh_Damaged(EnSsh* this) {
if ((this->stunTimer == 120) && (this->stateFlags & SSH_STATE_STUNNED)) {
func_8003426C(&this->actor, 0, 0xC8, 0, this->stunTimer);
}
if (DECR(this->stunTimer) != 0) {
Math_SmoothScaleMaxMinS(&this->maxTurnRate, 0x2710, 0xA, 0x3E8, 1);
return false;
} else {
this->stunTimer = 0;
this->stateFlags &= ~SSH_STATE_STUNNED;
this->spinTimer = 0;
if (this->swayTimer == 0) {
this->spinTimer = 30;
}
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALTU_ROLL);
Audio_PlayActorSound2(&this->actor, NA_SE_VO_ST_ATTACK);
return true;
}
}
void EnSsh_Turn(EnSsh* this, GlobalContext* globalCtx) {
if (this->hitTimer != 0) {
this->hitTimer--;
}
if (DECR(this->spinTimer) != 0) {
this->actor.posRot.rot.y += 10000.0f * (this->spinTimer / 30.0f);
} else if ((this->swayTimer == 0) && (this->stunTimer == 0)) {
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y, this->actor.yawTowardsLink, 4, 0x2710, 1);
}
this->actor.shape.rot.y = this->actor.posRot.rot.y;
}
void EnSsh_Stunned(EnSsh* this, GlobalContext* globalCtx) {
if ((this->swayTimer == 0) && (this->stunTimer == 0)) {
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y, this->actor.yawTowardsLink ^ 0x8000, 4, this->maxTurnRate,
1);
}
this->actor.shape.rot.y = this->actor.posRot.rot.y;
if (this->stunTimer < 30) {
if (this->stunTimer & 1) {
this->actor.shape.rot.y += 0x7D0;
} else {
this->actor.shape.rot.y -= 0x7D0;
}
}
}
void EnSsh_UpdateYaw(EnSsh* this, GlobalContext* globalCtx) {
if (this->stunTimer != 0) {
EnSsh_Stunned(this, globalCtx);
} else {
EnSsh_Turn(this, globalCtx);
}
}
void EnSsh_Bob(EnSsh* this, GlobalContext* globalCtx) {
f32 bobVel = 0.5f;
if ((globalCtx->state.frames & 8) != 0) {
bobVel *= -1.0f;
}
Math_SmoothScaleMaxMinF(&this->actor.velocity.y, bobVel, 0.4f, 1000.0f, 0.0f);
}
s32 EnSsh_IsCloseToLink(EnSsh* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
f32 yDist;
if (this->stateFlags & SSH_STATE_GROUND_START) {
return true;
}
if (this->unkTimer != 0) {
return true;
}
if (this->swayTimer != 0) {
return true;
}
if (this->animTimer != 0) {
return true;
}
if (this->actor.xzDistFromLink > 160.0f) {
return false;
}
yDist = this->actor.posRot.pos.y - player->actor.posRot.pos.y;
if (yDist < 0.0f || yDist > 400.0f) {
return false;
}
if (player->actor.posRot.pos.y < this->actor.groundY) {
return false;
}
return true;
}
s32 EnSsh_IsCloseToHome(EnSsh* this) {
f32 vel = this->actor.velocity.y;
f32 nextY = this->actor.posRot.pos.y + 2.0f * this->actor.velocity.y;
if (nextY >= this->actor.initPosRot.pos.y) {
return 1;
}
return 0;
}
s32 EnSsh_IsCloseToGround(EnSsh* this) {
f32 vel = this->actor.velocity.y;
f32 nextY = this->actor.posRot.pos.y + 2.0f * this->actor.velocity.y;
if ((nextY - this->actor.groundY) <= this->groundYoffset) {
return 1;
}
return 0;
}
void EnSsh_Sway(EnSsh* this) {
Vec3f swayVecBase;
Vec3f swayVec;
f32 temp;
s16 swayAngle;
if (this->swayTimer != 0) {
this->swayAngle += 0x640;
this->swayTimer--;
if (this->swayTimer == 0) {
this->swayAngle = 0;
}
temp = this->swayTimer * (1.0f / 6);
swayAngle = temp * (0x10000 / 360.0f) * Math_Sins(this->swayAngle);
temp = this->actor.posRot.pos.y - this->ceilingPos.y;
swayVecBase.x = Math_Sins(swayAngle) * temp;
swayVecBase.y = Math_Coss(swayAngle) * temp;
swayVecBase.z = 0.0f;
Matrix_Push();
Matrix_Translate(this->ceilingPos.x, this->ceilingPos.y, this->ceilingPos.z, MTXMODE_NEW);
Matrix_RotateY(this->actor.posRot.rot.y * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_MultVec3f(&swayVecBase, &swayVec);
Matrix_Pull();
this->actor.shape.rot.z = -(swayAngle * 2);
this->actor.posRot.pos.x = swayVec.x;
this->actor.posRot.pos.z = swayVec.z;
}
}
void EnSsh_CheckBodyStickHit(EnSsh* this, GlobalContext* globalCtx) {
ColliderBody* body = &this->colCylinder[0].body;
Player* player = PLAYER;
if (player->unk_860 != 0) {
body->bumper.flags |= 2;
this->colCylinder[1].body.bumper.flags &= ~2;
this->colCylinder[2].body.bumper.flags &= ~2;
} else {
body->bumper.flags &= ~2;
this->colCylinder[1].body.bumper.flags |= 2;
this->colCylinder[2].body.bumper.flags |= 2;
}
}
s32 EnSsh_CheckHitLink(EnSsh* this, GlobalContext* globalCtx) {
s32 i;
s32 hit = false;
if ((this->hitCount == 0) && (this->spinTimer == 0)) {
return false;
}
for (i = 0; i < 3; i++) {
if (this->colCylinder[i + 3].base.maskB & 1) {
this->colCylinder[i + 3].base.maskB &= ~1;
hit = true;
}
}
if (!hit) {
return false;
}
this->hitTimer = 30;
if (this->swayTimer == 0) {
this->spinTimer = this->hitTimer;
}
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALTU_ROLL);
Audio_PlayActorSound2(&this->actor, NA_SE_VO_ST_ATTACK);
globalCtx->damagePlayer(globalCtx, -8);
func_8002F71C(globalCtx, &this->actor, 4.0f, this->actor.yawTowardsLink, 6.0f);
this->hitCount--;
return true;
}
s32 EnSsh_CheckHitFront(EnSsh* this) {
u32 acFlags;
if (this->colCylinder[2].base.acFlags) {} // Needed for matching
acFlags = this->colCylinder[2].base.acFlags;
if (!!(acFlags & 2) == 0) {
return 0;
} else {
this->colCylinder[2].base.acFlags &= ~2;
this->invincibilityTimer = 8;
if ((this->swayTimer == 0) && (this->hitTimer == 0) && (this->stunTimer == 0)) {
this->swayTimer = 60;
}
return 1;
}
}
s32 EnSsh_CheckHitBack(EnSsh* this, GlobalContext* globalCtx) {
ColliderCylinder* cyl = &this->colCylinder[0];
s32 hit = false;
if (cyl->base.acFlags & 2) {
cyl->base.acFlags &= ~2;
hit = true;
}
cyl = &this->colCylinder[1];
if (cyl->base.acFlags & 2) {
cyl->base.acFlags &= ~2;
hit = true;
}
if (!hit) {
return false;
}
this->invincibilityTimer = 8;
if (this->hitCount <= 0) {
this->hitCount++;
}
if (this->stunTimer == 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
Audio_PlayActorSound2(&this->actor, NA_SE_VO_ST_DAMAGE);
}
EnSsh_SetStunned(this);
this->stateFlags |= SSH_STATE_STUNNED;
return false;
}
s32 EnSsh_CollisionCheck(EnSsh* this, GlobalContext* globalCtx) {
if (this->stunTimer == 0) {
EnSsh_CheckHitLink(this, globalCtx);
}
if (EnSsh_CheckHitFront(this)) {
return false;
} else if (globalCtx->actorCtx.unk_02 != 0) {
this->invincibilityTimer = 8;
if (this->stunTimer == 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
Audio_PlayActorSound2(&this->actor, NA_SE_VO_ST_DAMAGE);
}
EnSsh_SetStunned(this);
this->stateFlags |= SSH_STATE_STUNNED;
return false;
} else {
return EnSsh_CheckHitBack(this, globalCtx);
// Always returns false
}
}
void EnSsh_SetBodyCylinderAC(EnSsh* this, GlobalContext* globalCtx) {
Collider_CylinderUpdate(&this->actor, &this->colCylinder[0]);
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->colCylinder[0].base);
}
void EnSsh_SetLegsCylinderAC(EnSsh* this, GlobalContext* globalCtx) {
s16 angleTowardsLink = ABS((s16)(this->actor.yawTowardsLink - this->actor.shape.rot.y));
if (angleTowardsLink < 90 * (0x10000 / 360)) {
Collider_CylinderUpdate(&this->actor, &this->colCylinder[2]);
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->colCylinder[2].base);
} else {
Collider_CylinderUpdate(&this->actor, &this->colCylinder[1]);
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->colCylinder[1].base);
}
}
s32 EnSsh_SetCylinderOC(EnSsh* this, GlobalContext* globalCtx) {
Vec3f cyloffsets[] = {
{ 40.0f, 0.0f, 0.0f },
{ 0.0f, 0.0f, 0.0f },
{ -40.0f, 0.0f, 0.0f },
};
Vec3f cylPos;
s32 i;
for (i = 0; i < 3; i++) {
cylPos = this->actor.posRot.pos;
cyloffsets[i].x *= this->colliderScale;
cyloffsets[i].y *= this->colliderScale;
cyloffsets[i].z *= this->colliderScale;
Matrix_Push();
Matrix_Translate(cylPos.x, cylPos.y, cylPos.z, MTXMODE_NEW);
Matrix_RotateY((this->initialYaw / (f32)0x8000) * M_PI, MTXMODE_APPLY);
Matrix_MultVec3f(&cyloffsets[i], &cylPos);
Matrix_Pull();
this->colCylinder[i + 3].dim.pos.x = cylPos.x;
this->colCylinder[i + 3].dim.pos.y = cylPos.y;
this->colCylinder[i + 3].dim.pos.z = cylPos.z;
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colCylinder[i + 3].base);
}
return 1;
}
void EnSsh_SetColliders(EnSsh* this, GlobalContext* globalCtx) {
if (this->actor.colChkInfo.health == 0) {
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->colSph.base);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colSph.base);
} else {
if (this->hitTimer == 0) {
EnSsh_SetCylinderOC(this, globalCtx);
}
if (DECR(this->invincibilityTimer) == 0) {
EnSsh_SetBodyCylinderAC(this, globalCtx);
EnSsh_SetLegsCylinderAC(this, globalCtx);
}
}
}
void EnSsh_Init(Actor* thisx, GlobalContext* globalCtx) {
f32 frameCount;
s32 pad;
EnSsh* this = THIS;
frameCount = SkelAnime_GetFrameCount(&D_06000304.genericHeader);
if (this->actor.params == ENSSH_FATHER) {
if (gSaveContext.inventory.gsTokens >= 100) {
Actor_Kill(&this->actor);
return;
}
} else if (gSaveContext.inventory.gsTokens >= (this->actor.params * 10)) {
Actor_Kill(&this->actor);
return;
}
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f);
SkelAnime_Init(globalCtx, &this->skelAnime, &D_060052E0, NULL, this->limbDrawTable, this->transDrawTable, 30);
SkelAnime_ChangeAnim(&this->skelAnime, &D_06000304, 1.0f, 0.0f, frameCount, 1, 0.0f);
this->blureIdx = EnSsh_CreateBlureEffect(globalCtx);
EnSsh_InitColliders(this, globalCtx);
this->stateFlags = 0;
this->hitCount = 0;
EnSsh_CheckCeilingPos(this, globalCtx);
if (this->actor.params != ENSSH_FATHER) {
EnSsh_SetColliderScale(this, 0.5f, 1.0f);
} else {
EnSsh_SetColliderScale(this, 0.75f, 1.0f);
}
this->actor.gravity = 0.0f;
this->initialYaw = this->actor.posRot.rot.y;
EnSsh_SetupAction(this, EnSsh_Start);
}
void EnSsh_Destroy(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnSsh* this = THIS;
s32 i;
Effect_Delete(globalCtx, this->blureIdx);
for (i = 0; i < 6; i++) {
Collider_DestroyCylinder(globalCtx, &this->colCylinder[i]);
}
Collider_DestroyJntSph(globalCtx, &this->colSph);
}
void EnSsh_Wait(EnSsh* this, GlobalContext* globalCtx) {
if (EnSsh_IsCloseToLink(this, globalCtx)) {
EnSsh_SetDropAnimation(this);
EnSsh_SetupAction(this, EnSsh_Drop);
} else {
EnSsh_Bob(this, globalCtx);
}
}
void EnSsh_Talk(EnSsh* this, GlobalContext* globalCtx) {
EnSsh_Bob(this, globalCtx);
if (func_8002F334(&this->actor, globalCtx)) {
this->actionFunc = EnSsh_Idle;
}
}
void EnSsh_Idle(EnSsh* this, GlobalContext* globalCtx) {
if (1) {}
if (func_8002F194(&this->actor, globalCtx)) {
this->actionFunc = EnSsh_Talk;
if (this->actor.params == ENSSH_FATHER) {
gSaveContext.eventChkInf[9] |= 0x40;
}
if ((this->actor.textId == 0x26) || (this->actor.textId == 0x27)) {
gSaveContext.infTable[25] |= 0x40;
}
if ((this->actor.textId == 0x24) || (this->actor.textId == 0x25)) {
gSaveContext.infTable[25] |= 0x80;
}
} else {
if ((this->unkTimer != 0) && (DECR(this->unkTimer) == 0)) {
EnSsh_SetAnimation(this, SSH_ANIM_WAIT);
}
if ((this->animTimer != 0) && (DECR(this->animTimer) == 0)) {
EnSsh_SetAnimation(this, SSH_ANIM_WAIT);
}
if (!EnSsh_IsCloseToLink(this, globalCtx)) {
EnSsh_SetReturnAnimation(this);
EnSsh_SetupAction(this, EnSsh_Return);
} else {
if (DECR(this->sfxTimer) == 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALTU_LAUGH);
this->sfxTimer = 64;
}
EnSsh_Bob(this, globalCtx);
if ((this->unkTimer == 0) && (this->animTimer == 0)) {
this->actor.textId = Text_GetFaceReaction(globalCtx, 0xD);
if (this->actor.textId == 0) {
if (this->actor.params == ENSSH_FATHER) {
if (gSaveContext.inventory.gsTokens >= 50) {
this->actor.textId = 0x29;
} else if (gSaveContext.inventory.gsTokens >= 10) {
if (gSaveContext.infTable[25] & 0x80) {
this->actor.textId = 0x24;
} else {
this->actor.textId = 0x25;
}
} else {
if (gSaveContext.infTable[25] & 0x40) {
this->actor.textId = 0x27;
} else {
this->actor.textId = 0x26;
}
}
} else {
this->actor.textId = 0x22;
}
}
func_8002F2CC(&this->actor, globalCtx, 100.0f);
}
}
}
}
void EnSsh_Land(EnSsh* this, GlobalContext* globalCtx) {
if ((this->unkTimer != 0) && (DECR(this->unkTimer) == 0)) {
EnSsh_SetAnimation(this, SSH_ANIM_WAIT);
}
if ((this->animTimer != 0) && (DECR(this->animTimer) == 0)) {
EnSsh_SetAnimation(this, SSH_ANIM_WAIT);
}
if ((this->actor.groundY + this->groundYoffset) <= this->actor.posRot.pos.y) {
EnSsh_SetupAction(this, EnSsh_Idle);
} else {
Math_SmoothScaleMaxMinF(&this->actor.velocity.y, 2.0f, 0.6f, 1000.0f, 0.0f);
}
}
void EnSsh_Drop(EnSsh* this, GlobalContext* globalCtx) {
if ((this->unkTimer != 0) && (DECR(this->unkTimer) == 0)) {
EnSsh_SetAnimation(this, SSH_ANIM_DROP);
}
if (!EnSsh_IsCloseToLink(this, globalCtx)) {
EnSsh_SetReturnAnimation(this);
EnSsh_SetupAction(this, EnSsh_Return);
} else if (EnSsh_IsCloseToGround(this)) {
EnSsh_SpawnShockwave(this, globalCtx);
EnSsh_SetLandAnimation(this);
EnSsh_SetupAction(this, EnSsh_Land);
} else if (DECR(this->sfxTimer) == 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALTU_DOWN);
this->sfxTimer = 3;
}
}
void EnSsh_Return(EnSsh* this, GlobalContext* globalCtx) {
f32 frameRatio = this->skelAnime.animCurrentFrame / (this->skelAnime.totalFrames - 1.0f);
if (frameRatio == 1.0f) {
EnSsh_SetReturnAnimation(this);
}
if (EnSsh_IsCloseToLink(this, globalCtx)) {
EnSsh_SetDropAnimation(this);
EnSsh_SetupAction(this, EnSsh_Drop);
} else if (EnSsh_IsCloseToHome(this)) {
EnSsh_SetWaitAnimation(this);
EnSsh_SetupAction(this, EnSsh_Wait);
} else {
this->actor.velocity.y = 4.0f * frameRatio;
}
}
void EnSsh_UpdateColliderScale(EnSsh* this) {
if (this->stateFlags & SSH_STATE_SPIN) {
if (this->spinTimer == 0) {
this->stateFlags &= ~SSH_STATE_SPIN;
if (this->actor.params != ENSSH_FATHER) {
EnSsh_SetColliderScale(this, 0.5f, 1.0f);
} else {
EnSsh_SetColliderScale(this, 0.75f, 1.0f);
}
}
} else {
if (this->spinTimer != 0) {
this->stateFlags |= SSH_STATE_SPIN;
if (this->actor.params != ENSSH_FATHER) {
EnSsh_SetColliderScale(this, 0.5f, 2.0f);
} else {
EnSsh_SetColliderScale(this, 0.75f, 2.0f);
}
}
}
}
void EnSsh_Start(EnSsh* this, GlobalContext* globalCtx) {
if (!EnSsh_IsCloseToGround(this)) {
EnSsh_SetupAction(this, EnSsh_Wait);
EnSsh_Wait(this, globalCtx);
} else {
EnSsh_SetLandAnimation(this);
this->stateFlags |= 4;
EnSsh_SetupAction(this, EnSsh_Land);
EnSsh_Land(this, globalCtx);
}
}
void EnSsh_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnSsh* this = THIS;
EnSsh_UpdateColliderScale(this);
if (EnSsh_CollisionCheck(this, globalCtx)) {
return; // EnSsh_CollisionCheck always returns false, so this never happens
}
if (this->stunTimer != 0) {
EnSsh_Damaged(this);
} else {
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
func_8002D7EC(&this->actor);
func_8002E4B4(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
this->actionFunc(this, globalCtx);
}
EnSsh_UpdateYaw(this, globalCtx);
if (DECR(this->blinkTimer) == 0) {
this->blinkTimer = Math_Rand_S16Offset(60, 60);
}
this->blinkState = this->blinkTimer;
if (this->blinkState >= 3) {
this->blinkState = 0;
}
EnSsh_SetColliders(this, globalCtx);
Actor_SetHeight(&this->actor, 0.0f);
}
s32 EnSsh_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
EnSsh* this = THIS;
switch (limbIndex) {
case 1:
if ((this->spinTimer != 0) && (this->swayTimer == 0)) {
if (this->spinTimer >= 2) {
EnSsh_AddBlureVertex(this);
} else {
EnSsh_AddBlureSpace(this);
}
}
break;
case 4:
if (this->actor.params == ENSSH_FATHER) {
*dList = D_060046C0;
}
break;
case 5:
if (this->actor.params == ENSSH_FATHER) {
*dList = D_06004080;
}
break;
case 8:
if (this->actor.params == ENSSH_FATHER) {
*dList = D_06004DE8;
}
break;
}
return 0;
}
void EnSsh_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
EnSsh* this = THIS;
func_800628A4(limbIndex, &this->colSph);
}
void EnSsh_Draw(Actor* thisx, GlobalContext* globalCtx) {
static u32* blinkTex[] = { 0x060007E0, 0x06000C60, 0x06001060 };
s32 pad;
EnSsh* this = THIS;
EnSsh_CheckBodyStickHit(this, globalCtx);
EnSsh_Sway(this);
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ssh.c", 2333);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(blinkTex[this->blinkState]));
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ssh.c", 2336);
SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnSsh_OverrideLimbDraw,
EnSsh_PostLimbDraw, &this->actor);
}

View file

@ -6,11 +6,41 @@
struct EnSsh;
typedef void (*EnSshActionFunc)(struct EnSsh*, GlobalContext*);
typedef struct EnSsh {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x488];
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ Vec3s limbDrawTable[30];
/* 0x0244 */ Vec3s transDrawTable[30];
/* 0x02F8 */ EnSshActionFunc actionFunc;
/* 0x02FC */ ColliderCylinder colCylinder[6];
/* 0x04C4 */ ColliderJntSph colSph;
/* 0x04E4 */ ColliderJntSphItem colSphElements[1];
/* 0x0524 */ s16 initialYaw;
/* 0x0526 */ s16 maxTurnRate;
/* 0x0528 */ s16 unkTimer;
/* 0x052A */ s16 spinTimer;
/* 0x052C */ s16 hitTimer;
/* 0x052E */ s16 invincibilityTimer;
/* 0x0530 */ s16 sfxTimer;
/* 0x0532 */ s16 stunTimer;
/* 0x0534 */ s16 animTimer;
/* 0x0536 */ s16 swayTimer;
/* 0x0538 */ s32 blureIdx;
/* 0x053C */ f32 colliderScale;
/* 0x0540 */ f32 groundYoffset;
/* 0x0544 */ Vec3f ceilingPos;
/* 0x0558 */ char unk_558[0x78];
/* 0x05C8 */ s16 swayAngle;
/* 0x05CA */ u16 stateFlags;
/* 0x05CC */ u8 hitCount;
/* 0x05CE */ s16 blinkState;
/* 0x05D0 */ s16 blinkTimer;
} EnSsh; // size = 0x05D4
extern const ActorInit En_Ssh_InitVars;
#define ENSSH_FATHER 0
#endif

View file

@ -54,7 +54,7 @@ static ColliderCylinderInit sCylinderInit = {
{ 32, 50, -24, { 0, 0, 0 } },
};
static CollisionCheckInfoInit2 sColChkInit = { 0x02, 0x0000, 0x0000, 0x0000, 0xFF };
static CollisionCheckInfoInit2 sColChkInit = { 2, 0, 0, 0, 0xFF };
static ColliderCylinderInit sCylinderInit2 = {
{ COLTYPE_UNK6, 0x00, 0x00, 0x39, 0x10, COLSHAPE_CYLINDER },
@ -247,7 +247,7 @@ void EnSt_InitColliders(EnSt* this, GlobalContext* globalCtx) {
Collider_SetCylinder(globalCtx, &this->colCylinder[i], &this->actor, cylinders[i]);
}
this->colCylinder[0].body.bumper.flags = 0x3F8F9;
this->colCylinder[0].body.bumper.flags = 0x0003F8F9;
this->colCylinder[1].body.bumper.flags = 0xFFC00706;
this->colCylinder[2].base.type = 9;
this->colCylinder[2].body.bumperFlags = 0xD;
@ -453,7 +453,7 @@ s32 EnSt_CheckColliders(EnSt* this, GlobalContext* globalCtx) {
}
if (EnSt_CheckHitBackside(&this->actor, globalCtx)) {
// player has hit the backside ofthe skulltulla
// player has hit the backside of the skulltulla
return true;
}
@ -581,7 +581,7 @@ void EnSt_UpdateYaw(EnSt* this, GlobalContext* globalCtx) {
rot = this->actor.shape.rot;
yawTarget = (this->actionFunc == EnSt_WaitOnGround ? this->actor.yawTowardsLink : this->initalYaw);
yawDiff = rot.y - (yawTarget ^ yawDir);
if (ABS(yawDiff) < 0x4001) {
if (ABS(yawDiff) <= 0x4000) {
Math_SmoothScaleMaxMinS(&rot.y, yawTarget ^ yawDir, 4, 0x2000, 1);
} else {
rot.y += 0x2000;

View file

@ -1404,6 +1404,13 @@ D_060087AC = 0x060087AC;
D_060056B0 = 0x060056B0;
D_060063B8 = 0x060063B8;
// z_en_ssh
D_06000304 = 0x06000304;
D_060052E0 = 0x060052E0;
D_060046C0 = 0x060046C0;
D_06004080 = 0x06004080;
D_06004DE8 = 0x06004DE8;
// z_en_st
D_06005298 = 0x06005298;
D_06000304 = 0x06000304;