1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-12-29 08:16:11 +00:00

En_Honotrap (#580)

* a good start

* match

* docs

* slight error

* to Link

* fixes

* format

* come on formatter

* Update src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.c

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.c

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.c

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.h

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
This commit is contained in:
petrie911 2021-01-14 14:19:28 -06:00 committed by GitHub
parent 2810aa2b9c
commit 11a021a9a5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
34 changed files with 501 additions and 1527 deletions

View file

@ -1,22 +0,0 @@
glabel EnHonotrap_Destroy
/* 0046C 80A5A09C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00470 80A5A0A0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00474 80A5A0A4 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 00478 80A5A0A8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 0047C 80A5A0AC 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000
/* 00480 80A5A0B0 15C00006 */ bne $t6, $zero, .L80A5A0CC
/* 00484 80A5A0B4 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00488 80A5A0B8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0048C 80A5A0BC 0C017232 */ jal Collider_DestroyTris
/* 00490 80A5A0C0 24C50150 */ addiu $a1, $a2, 0x0150 ## $a1 = 00000150
/* 00494 80A5A0C4 10000004 */ beq $zero, $zero, .L80A5A0D8
/* 00498 80A5A0C8 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A5A0CC:
/* 0049C 80A5A0CC 0C0170EB */ jal Collider_DestroyCylinder
/* 004A0 80A5A0D0 24C50150 */ addiu $a1, $a2, 0x0150 ## $a1 = 00000150
/* 004A4 80A5A0D4 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A5A0D8:
/* 004A8 80A5A0D8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 004AC 80A5A0DC 03E00008 */ jr $ra
/* 004B0 80A5A0E0 00000000 */ nop

View file

@ -1,29 +0,0 @@
glabel EnHonotrap_Draw
/* 012CC 80A5AEFC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 012D0 80A5AF00 AFBF0014 */ sw $ra, 0x0014($sp)
/* 012D4 80A5AF04 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
/* 012D8 80A5AF08 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 012DC 80A5AF0C 10400007 */ beq $v0, $zero, .L80A5AF2C
/* 012E0 80A5AF10 00000000 */ nop
/* 012E4 80A5AF14 10410009 */ beq $v0, $at, .L80A5AF3C
/* 012E8 80A5AF18 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 012EC 80A5AF1C 10410007 */ beq $v0, $at, .L80A5AF3C
/* 012F0 80A5AF20 00000000 */ nop
/* 012F4 80A5AF24 10000008 */ beq $zero, $zero, .L80A5AF48
/* 012F8 80A5AF28 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A5AF2C:
/* 012FC 80A5AF2C 0C296AFF */ jal func_80A5ABFC
/* 01300 80A5AF30 00000000 */ nop
/* 01304 80A5AF34 10000004 */ beq $zero, $zero, .L80A5AF48
/* 01308 80A5AF38 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A5AF3C:
/* 0130C 80A5AF3C 0C296B4A */ jal func_80A5AD28
/* 01310 80A5AF40 00000000 */ nop
/* 01314 80A5AF44 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A5AF48:
/* 01318 80A5AF48 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0131C 80A5AF4C 03E00008 */ jr $ra
/* 01320 80A5AF50 00000000 */ nop
/* 01324 80A5AF54 00000000 */ nop
/* 01328 80A5AF58 00000000 */ nop
/* 0132C 80A5AF5C 00000000 */ nop

View file

@ -1,26 +0,0 @@
glabel EnHonotrap_Init
/* 00414 80A5A044 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00418 80A5A048 AFA5001C */ sw $a1, 0x001C($sp)
/* 0041C 80A5A04C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00420 80A5A050 3C0580A6 */ lui $a1, %hi(D_80A5B03C) ## $a1 = 80A60000
/* 00424 80A5A054 24A5B03C */ addiu $a1, $a1, %lo(D_80A5B03C) ## $a1 = 80A5B03C
/* 00428 80A5A058 0C01E037 */ jal Actor_ProcessInitChain
/* 0042C 80A5A05C AFA40018 */ sw $a0, 0x0018($sp)
/* 00430 80A5A060 8FA40018 */ lw $a0, 0x0018($sp)
/* 00434 80A5A064 8FA5001C */ lw $a1, 0x001C($sp)
/* 00438 80A5A068 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 0043C 80A5A06C 15C00005 */ bne $t6, $zero, .L80A5A084
/* 00440 80A5A070 00000000 */ nop
/* 00444 80A5A074 0C29675C */ jal func_80A59D70
/* 00448 80A5A078 00000000 */ nop
/* 0044C 80A5A07C 10000004 */ beq $zero, $zero, .L80A5A090
/* 00450 80A5A080 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A5A084:
/* 00454 80A5A084 0C2967C2 */ jal func_80A59F08
/* 00458 80A5A088 00000000 */ nop
/* 0045C 80A5A08C 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A5A090:
/* 00460 80A5A090 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00464 80A5A094 03E00008 */ jr $ra
/* 00468 80A5A098 00000000 */ nop

View file

@ -1,94 +0,0 @@
glabel EnHonotrap_Update
/* 00E84 80A5AAB4 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00E88 80A5AAB8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00E8C 80A5AABC AFB00020 */ sw $s0, 0x0020($sp)
/* 00E90 80A5AAC0 AFA5002C */ sw $a1, 0x002C($sp)
/* 00E94 80A5AAC4 84820228 */ lh $v0, 0x0228($a0) ## 00000228
/* 00E98 80A5AAC8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00E9C 80A5AACC 18400002 */ blez $v0, .L80A5AAD8
/* 00EA0 80A5AAD0 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00EA4 80A5AAD4 A48E0228 */ sh $t6, 0x0228($a0) ## 00000228
.L80A5AAD8:
/* 00EA8 80A5AAD8 860F001C */ lh $t7, 0x001C($s0) ## 0000001C
/* 00EAC 80A5AADC 55E0000A */ bnel $t7, $zero, .L80A5AB08
/* 00EB0 80A5AAE0 8619023C */ lh $t9, 0x023C($s0) ## 0000023C
/* 00EB4 80A5AAE4 8E02011C */ lw $v0, 0x011C($s0) ## 0000011C
/* 00EB8 80A5AAE8 5040001A */ beql $v0, $zero, .L80A5AB54
/* 00EBC 80A5AAEC 8E19014C */ lw $t9, 0x014C($s0) ## 0000014C
/* 00EC0 80A5AAF0 8C580130 */ lw $t8, 0x0130($v0) ## 00000130
/* 00EC4 80A5AAF4 57000017 */ bnel $t8, $zero, .L80A5AB54
/* 00EC8 80A5AAF8 8E19014C */ lw $t9, 0x014C($s0) ## 0000014C
/* 00ECC 80A5AAFC 10000014 */ beq $zero, $zero, .L80A5AB50
/* 00ED0 80A5AB00 AE00011C */ sw $zero, 0x011C($s0) ## 0000011C
/* 00ED4 80A5AB04 8619023C */ lh $t9, 0x023C($s0) ## 0000023C
.L80A5AB08:
/* 00ED8 80A5AB08 A2000240 */ sb $zero, 0x0240($s0) ## 00000240
/* 00EDC 80A5AB0C 27280640 */ addiu $t0, $t9, 0x0640 ## $t0 = 00000640
/* 00EE0 80A5AB10 A608023C */ sh $t0, 0x023C($s0) ## 0000023C
/* 00EE4 80A5AB14 0C01DE1C */ jal Math_SinS
## sins?
/* 00EE8 80A5AB18 8604023C */ lh $a0, 0x023C($s0) ## 0000023C
/* 00EEC 80A5AB1C 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 00EF0 80A5AB20 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00
/* 00EF4 80A5AB24 3C014416 */ lui $at, 0x4416 ## $at = 44160000
/* 00EF8 80A5AB28 44814000 */ mtc1 $at, $f8 ## $f8 = 600.00
/* 00EFC 80A5AB2C 46040182 */ mul.s $f6, $f0, $f4
/* 00F00 80A5AB30 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00F04 80A5AB34 3C0540A0 */ lui $a1, 0x40A0 ## $a1 = 40A00000
/* 00F08 80A5AB38 46083280 */ add.s $f10, $f6, $f8
/* 00F0C 80A5AB3C 0C00B56E */ jal Actor_SetHeight
/* 00F10 80A5AB40 E60A00BC */ swc1 $f10, 0x00BC($s0) ## 000000BC
/* 00F14 80A5AB44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00F18 80A5AB48 0C00BE0A */ jal Audio_PlayActorSound2
/* 00F1C 80A5AB4C 2405205B */ addiu $a1, $zero, 0x205B ## $a1 = 0000205B
.L80A5AB50:
/* 00F20 80A5AB50 8E19014C */ lw $t9, 0x014C($s0) ## 0000014C
.L80A5AB54:
/* 00F24 80A5AB54 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00F28 80A5AB58 8FA5002C */ lw $a1, 0x002C($sp)
/* 00F2C 80A5AB5C 0320F809 */ jalr $ra, $t9
/* 00F30 80A5AB60 00000000 */ nop
/* 00F34 80A5AB64 8609001C */ lh $t1, 0x001C($s0) ## 0000001C
/* 00F38 80A5AB68 55200020 */ bnel $t1, $zero, .L80A5ABEC
/* 00F3C 80A5AB6C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00F40 80A5AB70 92020161 */ lbu $v0, 0x0161($s0) ## 00000161
/* 00F44 80A5AB74 8FA4002C */ lw $a0, 0x002C($sp)
/* 00F48 80A5AB78 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
/* 00F4C 80A5AB7C 304A0002 */ andi $t2, $v0, 0x0002 ## $t2 = 00000000
/* 00F50 80A5AB80 1140000D */ beq $t2, $zero, .L80A5ABB8
/* 00F54 80A5AB84 3C0680A6 */ lui $a2, %hi(D_80A5B048) ## $a2 = 80A60000
/* 00F58 80A5AB88 3C0780A6 */ lui $a3, %hi(D_80A5B054) ## $a3 = 80A60000
/* 00F5C 80A5AB8C 240B000F */ addiu $t3, $zero, 0x000F ## $t3 = 0000000F
/* 00F60 80A5AB90 240C0008 */ addiu $t4, $zero, 0x0008 ## $t4 = 00000008
/* 00F64 80A5AB94 AFAC0014 */ sw $t4, 0x0014($sp)
/* 00F68 80A5AB98 AFAB0010 */ sw $t3, 0x0010($sp)
/* 00F6C 80A5AB9C 24E7B054 */ addiu $a3, $a3, %lo(D_80A5B054) ## $a3 = 80A5B054
/* 00F70 80A5ABA0 0C00A3A1 */ jal EffectSsBomb2_SpawnLayered
/* 00F74 80A5ABA4 24C6B048 */ addiu $a2, $a2, %lo(D_80A5B048) ## $a2 = 80A5B048
/* 00F78 80A5ABA8 0C00B55C */ jal Actor_Kill
/* 00F7C 80A5ABAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00F80 80A5ABB0 1000000E */ beq $zero, $zero, .L80A5ABEC
/* 00F84 80A5ABB4 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A5ABB8:
/* 00F88 80A5ABB8 860D022A */ lh $t5, 0x022A($s0) ## 0000022A
/* 00F8C 80A5ABBC 304EFFFD */ andi $t6, $v0, 0xFFFD ## $t6 = 00000000
/* 00F90 80A5ABC0 26060150 */ addiu $a2, $s0, 0x0150 ## $a2 = 00000150
/* 00F94 80A5ABC4 29A10003 */ slti $at, $t5, 0x0003
/* 00F98 80A5ABC8 50200008 */ beql $at, $zero, .L80A5ABEC
/* 00F9C 80A5ABCC 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00FA0 80A5ABD0 A20E0161 */ sb $t6, 0x0161($s0) ## 00000161
/* 00FA4 80A5ABD4 8FA4002C */ lw $a0, 0x002C($sp)
/* 00FA8 80A5ABD8 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00FAC 80A5ABDC 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00FB0 80A5ABE0 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 00FB4 80A5ABE4 00812821 */ addu $a1, $a0, $at
/* 00FB8 80A5ABE8 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A5ABEC:
/* 00FBC 80A5ABEC 8FB00020 */ lw $s0, 0x0020($sp)
/* 00FC0 80A5ABF0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00FC4 80A5ABF4 03E00008 */ jr $ra
/* 00FC8 80A5ABF8 00000000 */ nop

View file

@ -1,41 +0,0 @@
glabel func_80A59C30
/* 00000 80A59C30 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 00004 80A59C34 AFB00014 */ sw $s0, 0x0014($sp)
/* 00008 80A59C38 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0000C 80A59C3C AFB10018 */ sw $s1, 0x0018($sp)
/* 00010 80A59C40 AFBF001C */ sw $ra, 0x001C($sp)
/* 00014 80A59C44 AFA5003C */ sw $a1, 0x003C($sp)
/* 00018 80A59C48 26110150 */ addiu $s1, $s0, 0x0150 ## $s1 = 00000150
/* 0001C 80A59C4C 0C0189B7 */ jal Collider_CylinderUpdate
/* 00020 80A59C50 02202825 */ or $a1, $s1, $zero ## $a1 = 00000150
/* 00024 80A59C54 8FA4003C */ lw $a0, 0x003C($sp)
/* 00028 80A59C58 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0002C 80A59C5C 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00030 80A59C60 00812821 */ addu $a1, $a0, $at
/* 00034 80A59C64 AFA50024 */ sw $a1, 0x0024($sp)
/* 00038 80A59C68 0C0175E7 */ jal CollisionCheck_SetAT
## CollisionCheck_setAT
/* 0003C 80A59C6C 02203025 */ or $a2, $s1, $zero ## $a2 = 00000150
/* 00040 80A59C70 8FA4003C */ lw $a0, 0x003C($sp)
/* 00044 80A59C74 8FA50024 */ lw $a1, 0x0024($sp)
/* 00048 80A59C78 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 0004C 80A59C7C 02203025 */ or $a2, $s1, $zero ## $a2 = 00000150
/* 00050 80A59C80 8FA4003C */ lw $a0, 0x003C($sp)
/* 00054 80A59C84 8FA50024 */ lw $a1, 0x0024($sp)
/* 00058 80A59C88 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 0005C 80A59C8C 02203025 */ or $a2, $s1, $zero ## $a2 = 00000150
/* 00060 80A59C90 920E0240 */ lbu $t6, 0x0240($s0) ## 00000240
/* 00064 80A59C94 35D80001 */ ori $t8, $t6, 0x0001 ## $t8 = 00000001
/* 00068 80A59C98 37080002 */ ori $t0, $t8, 0x0002 ## $t0 = 00000003
/* 0006C 80A59C9C A2180240 */ sb $t8, 0x0240($s0) ## 00000240
/* 00070 80A59CA0 A2080240 */ sb $t0, 0x0240($s0) ## 00000240
/* 00074 80A59CA4 35090004 */ ori $t1, $t0, 0x0004 ## $t1 = 00000007
/* 00078 80A59CA8 A2090240 */ sb $t1, 0x0240($s0) ## 00000240
/* 0007C 80A59CAC 8FBF001C */ lw $ra, 0x001C($sp)
/* 00080 80A59CB0 8FB10018 */ lw $s1, 0x0018($sp)
/* 00084 80A59CB4 8FB00014 */ lw $s0, 0x0014($sp)
/* 00088 80A59CB8 03E00008 */ jr $ra
/* 0008C 80A59CBC 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000

View file

@ -1,62 +0,0 @@
.rdata
glabel D_80A5B070
.asciz "Warning : vector size zero (%s %d)\n"
.balign 4
glabel D_80A5B094
.asciz "../z_en_honotrap.c"
.balign 4
.late_rodata
glabel D_80A5B120
.float 0.001
.text
glabel func_80A59CC0
/* 00090 80A59CC0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00094 80A59CC4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00098 80A59CC8 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 0009C 80A59CCC AFA70018 */ sw $a3, 0x0018($sp)
/* 000A0 80A59CD0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 000A4 80A59CD4 0C032D8A */ jal Math3D_Vec3fMagnitude
/* 000A8 80A59CD8 AFA5001C */ sw $a1, 0x001C($sp)
/* 000AC 80A59CDC 3C0180A6 */ lui $at, %hi(D_80A5B120) ## $at = 80A60000
/* 000B0 80A59CE0 C424B120 */ lwc1 $f4, %lo(D_80A5B120)($at)
/* 000B4 80A59CE4 3C0480A6 */ lui $a0, %hi(D_80A5B070) ## $a0 = 80A60000
/* 000B8 80A59CE8 8FA5001C */ lw $a1, 0x001C($sp)
/* 000BC 80A59CEC 4604003C */ c.lt.s $f0, $f4
/* 000C0 80A59CF0 8FA70018 */ lw $a3, 0x0018($sp)
/* 000C4 80A59CF4 2484B070 */ addiu $a0, $a0, %lo(D_80A5B070) ## $a0 = 80A5B070
/* 000C8 80A59CF8 24060148 */ addiu $a2, $zero, 0x0148 ## $a2 = 00000148
/* 000CC 80A59CFC 4500000D */ bc1f .L80A59D34
/* 000D0 80A59D00 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 000D4 80A59D04 3C0580A6 */ lui $a1, %hi(D_80A5B094) ## $a1 = 80A60000
/* 000D8 80A59D08 24A5B094 */ addiu $a1, $a1, %lo(D_80A5B094) ## $a1 = 80A5B094
/* 000DC 80A59D0C 0C00084C */ jal osSyncPrintf
/* 000E0 80A59D10 AFA70018 */ sw $a3, 0x0018($sp)
/* 000E4 80A59D14 8FA70018 */ lw $a3, 0x0018($sp)
/* 000E8 80A59D18 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 000EC 80A59D1C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 000F0 80A59D20 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
/* 000F4 80A59D24 E4E00004 */ swc1 $f0, 0x0004($a3) ## 00000004
/* 000F8 80A59D28 E4E00000 */ swc1 $f0, 0x0000($a3) ## 00000000
/* 000FC 80A59D2C 1000000C */ beq $zero, $zero, .L80A59D60
/* 00100 80A59D30 E4E60008 */ swc1 $f6, 0x0008($a3) ## 00000008
.L80A59D34:
/* 00104 80A59D34 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00
/* 00108 80A59D38 C4AA0000 */ lwc1 $f10, 0x0000($a1) ## 00000000
/* 0010C 80A59D3C 46004083 */ div.s $f2, $f8, $f0
/* 00110 80A59D40 46025402 */ mul.s $f16, $f10, $f2
/* 00114 80A59D44 E4F00000 */ swc1 $f16, 0x0000($a3) ## 00000000
/* 00118 80A59D48 C4B20004 */ lwc1 $f18, 0x0004($a1) ## 00000004
/* 0011C 80A59D4C 46029102 */ mul.s $f4, $f18, $f2
/* 00120 80A59D50 E4E40004 */ swc1 $f4, 0x0004($a3) ## 00000004
/* 00124 80A59D54 C4A60008 */ lwc1 $f6, 0x0008($a1) ## 00000008
/* 00128 80A59D58 46023202 */ mul.s $f8, $f6, $f2
/* 0012C 80A59D5C E4E80008 */ swc1 $f8, 0x0008($a3) ## 00000008
.L80A59D60:
/* 00130 80A59D60 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00134 80A59D64 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00138 80A59D68 03E00008 */ jr $ra
/* 0013C 80A59D6C 00000000 */ nop

View file

@ -1,110 +0,0 @@
glabel func_80A59D70
/* 00140 80A59D70 27BDFF58 */ addiu $sp, $sp, 0xFF58 ## $sp = FFFFFF58
/* 00144 80A59D74 AFB00030 */ sw $s0, 0x0030($sp)
/* 00148 80A59D78 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 0014C 80A59D7C AFBF0054 */ sw $ra, 0x0054($sp)
/* 00150 80A59D80 AFBE0050 */ sw $s8, 0x0050($sp)
/* 00154 80A59D84 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000
/* 00158 80A59D88 0080F025 */ or $s8, $a0, $zero ## $s8 = 00000000
/* 0015C 80A59D8C AFB7004C */ sw $s7, 0x004C($sp)
/* 00160 80A59D90 AFB60048 */ sw $s6, 0x0048($sp)
/* 00164 80A59D94 AFB50044 */ sw $s5, 0x0044($sp)
/* 00168 80A59D98 AFB40040 */ sw $s4, 0x0040($sp)
/* 0016C 80A59D9C AFB3003C */ sw $s3, 0x003C($sp)
/* 00170 80A59DA0 AFB20038 */ sw $s2, 0x0038($sp)
/* 00174 80A59DA4 AFB10034 */ sw $s1, 0x0034($sp)
/* 00178 80A59DA8 F7B60028 */ sdc1 $f22, 0x0028($sp)
/* 0017C 80A59DAC F7B40020 */ sdc1 $f20, 0x0020($sp)
/* 00180 80A59DB0 0C00B58B */ jal Actor_SetScale
/* 00184 80A59DB4 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD
/* 00188 80A59DB8 0C01DE1C */ jal Math_SinS
## sins?
/* 0018C 80A59DBC 87C40016 */ lh $a0, 0x0016($s8) ## 00000016
/* 00190 80A59DC0 46000586 */ mov.s $f22, $f0
/* 00194 80A59DC4 0C01DE0D */ jal Math_CosS
## coss?
/* 00198 80A59DC8 87C40016 */ lh $a0, 0x0016($s8) ## 00000016
/* 0019C 80A59DCC 27D70150 */ addiu $s7, $s8, 0x0150 ## $s7 = 00000150
/* 001A0 80A59DD0 46000506 */ mov.s $f20, $f0
/* 001A4 80A59DD4 02E02825 */ or $a1, $s7, $zero ## $a1 = 00000150
/* 001A8 80A59DD8 0C0171F8 */ jal Collider_InitTris
/* 001AC 80A59DDC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 001B0 80A59DE0 3C1480A6 */ lui $s4, %hi(D_80A5AFF8) ## $s4 = 80A60000
/* 001B4 80A59DE4 2694AFF8 */ addiu $s4, $s4, %lo(D_80A5AFF8) ## $s4 = 80A5AFF8
/* 001B8 80A59DE8 27CE0170 */ addiu $t6, $s8, 0x0170 ## $t6 = 00000170
/* 001BC 80A59DEC AFAE0010 */ sw $t6, 0x0010($sp)
/* 001C0 80A59DF0 02803825 */ or $a3, $s4, $zero ## $a3 = 80A5AFF8
/* 001C4 80A59DF4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 001C8 80A59DF8 02E02825 */ or $a1, $s7, $zero ## $a1 = 00000150
/* 001CC 80A59DFC 0C0172EB */ jal Collider_SetTris
/* 001D0 80A59E00 03C03025 */ or $a2, $s8, $zero ## $a2 = 00000000
/* 001D4 80A59E04 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
/* 001D8 80A59E08 27D30024 */ addiu $s3, $s8, 0x0024 ## $s3 = 00000024
/* 001DC 80A59E0C 27B60070 */ addiu $s6, $sp, 0x0070 ## $s6 = FFFFFFC8
/* 001E0 80A59E10 24150024 */ addiu $s5, $zero, 0x0024 ## $s5 = 00000024
/* 001E4 80A59E14 02C08025 */ or $s0, $s6, $zero ## $s0 = FFFFFFC8
.L80A59E18:
/* 001E8 80A59E18 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
.L80A59E1C:
/* 001EC 80A59E1C 8E8F000C */ lw $t7, 0x000C($s4) ## 80A5B004
/* 001F0 80A59E20 0012C100 */ sll $t8, $s2, 4
/* 001F4 80A59E24 0312C023 */ subu $t8, $t8, $s2
/* 001F8 80A59E28 0018C080 */ sll $t8, $t8, 2
/* 001FC 80A59E2C 01F8C821 */ addu $t9, $t7, $t8
/* 00200 80A59E30 03311021 */ addu $v0, $t9, $s1
/* 00204 80A59E34 C4440020 */ lwc1 $f4, 0x0020($v0) ## 00000020
/* 00208 80A59E38 C4480018 */ lwc1 $f8, 0x0018($v0) ## 00000018
/* 0020C 80A59E3C 24420018 */ addiu $v0, $v0, 0x0018 ## $v0 = 00000018
/* 00210 80A59E40 46162182 */ mul.s $f6, $f4, $f22
/* 00214 80A59E44 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFC8
/* 00218 80A59E48 02602825 */ or $a1, $s3, $zero ## $a1 = 00000024
/* 0021C 80A59E4C 46144282 */ mul.s $f10, $f8, $f20
/* 00220 80A59E50 02003025 */ or $a2, $s0, $zero ## $a2 = FFFFFFC8
/* 00224 80A59E54 460A3400 */ add.s $f16, $f6, $f10
/* 00228 80A59E58 E6100000 */ swc1 $f16, 0x0000($s0) ## FFFFFFC8
/* 0022C 80A59E5C C4520004 */ lwc1 $f18, 0x0004($v0) ## 0000001C
/* 00230 80A59E60 E6120004 */ swc1 $f18, 0x0004($s0) ## FFFFFFCC
/* 00234 80A59E64 C4440008 */ lwc1 $f4, 0x0008($v0) ## 00000020
/* 00238 80A59E68 C4460000 */ lwc1 $f6, 0x0000($v0) ## 00000018
/* 0023C 80A59E6C 46142202 */ mul.s $f8, $f4, $f20
/* 00240 80A59E70 00000000 */ nop
/* 00244 80A59E74 46163282 */ mul.s $f10, $f6, $f22
/* 00248 80A59E78 460A4401 */ sub.s $f16, $f8, $f10
/* 0024C 80A59E7C 0C01DFA7 */ jal Math_Vec3f_Sum
## Vec3f_Add
/* 00250 80A59E80 E6100008 */ swc1 $f16, 0x0008($s0) ## FFFFFFD0
/* 00254 80A59E84 2631000C */ addiu $s1, $s1, 0x000C ## $s1 = 0000000C
/* 00258 80A59E88 1635FFE4 */ bne $s1, $s5, .L80A59E1C
/* 0025C 80A59E8C 2610000C */ addiu $s0, $s0, 0x000C ## $s0 = FFFFFFD4
/* 00260 80A59E90 27A80088 */ addiu $t0, $sp, 0x0088 ## $t0 = FFFFFFE0
/* 00264 80A59E94 AFA80010 */ sw $t0, 0x0010($sp)
/* 00268 80A59E98 02E02025 */ or $a0, $s7, $zero ## $a0 = 00000150
/* 0026C 80A59E9C 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 00270 80A59EA0 02C03025 */ or $a2, $s6, $zero ## $a2 = FFFFFFC8
/* 00274 80A59EA4 0C0189E8 */ jal func_800627A0
/* 00278 80A59EA8 27A7007C */ addiu $a3, $sp, 0x007C ## $a3 = FFFFFFD4
/* 0027C 80A59EAC 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001
/* 00280 80A59EB0 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00284 80A59EB4 5641FFD8 */ bnel $s2, $at, .L80A59E18
/* 00288 80A59EB8 02C08025 */ or $s0, $s6, $zero ## $s0 = FFFFFFC8
/* 0028C 80A59EBC 0C296839 */ jal func_80A5A0E4
/* 00290 80A59EC0 03C02025 */ or $a0, $s8, $zero ## $a0 = 00000000
/* 00294 80A59EC4 03C02025 */ or $a0, $s8, $zero ## $a0 = 00000000
/* 00298 80A59EC8 0C00B56E */ jal Actor_SetHeight
/* 0029C 80A59ECC 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 002A0 80A59ED0 8FBF0054 */ lw $ra, 0x0054($sp)
/* 002A4 80A59ED4 D7B40020 */ ldc1 $f20, 0x0020($sp)
/* 002A8 80A59ED8 D7B60028 */ ldc1 $f22, 0x0028($sp)
/* 002AC 80A59EDC 8FB00030 */ lw $s0, 0x0030($sp)
/* 002B0 80A59EE0 8FB10034 */ lw $s1, 0x0034($sp)
/* 002B4 80A59EE4 8FB20038 */ lw $s2, 0x0038($sp)
/* 002B8 80A59EE8 8FB3003C */ lw $s3, 0x003C($sp)
/* 002BC 80A59EEC 8FB40040 */ lw $s4, 0x0040($sp)
/* 002C0 80A59EF0 8FB50044 */ lw $s5, 0x0044($sp)
/* 002C4 80A59EF4 8FB60048 */ lw $s6, 0x0048($sp)
/* 002C8 80A59EF8 8FB7004C */ lw $s7, 0x004C($sp)
/* 002CC 80A59EFC 8FBE0050 */ lw $s8, 0x0050($sp)
/* 002D0 80A59F00 03E00008 */ jr $ra
/* 002D4 80A59F04 27BD00A8 */ addiu $sp, $sp, 0x00A8 ## $sp = 00000000

View file

@ -1,93 +0,0 @@
.late_rodata
glabel D_80A5B124
.word 0x43FF8000
.text
glabel func_80A59F08
/* 002D8 80A59F08 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 002DC 80A59F0C AFA50034 */ sw $a1, 0x0034($sp)
/* 002E0 80A59F10 AFBF001C */ sw $ra, 0x001C($sp)
/* 002E4 80A59F14 AFB00018 */ sw $s0, 0x0018($sp)
/* 002E8 80A59F18 3C0538D1 */ lui $a1, 0x38D1 ## $a1 = 38D10000
/* 002EC 80A59F1C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 002F0 80A59F20 0C00B58B */ jal Actor_SetScale
/* 002F4 80A59F24 34A5B717 */ ori $a1, $a1, 0xB717 ## $a1 = 38D1B717
/* 002F8 80A59F28 26050150 */ addiu $a1, $s0, 0x0150 ## $a1 = 00000150
/* 002FC 80A59F2C AFA50024 */ sw $a1, 0x0024($sp)
/* 00300 80A59F30 0C0170D9 */ jal Collider_InitCylinder
/* 00304 80A59F34 8FA40034 */ lw $a0, 0x0034($sp)
/* 00308 80A59F38 3C0780A6 */ lui $a3, %hi(D_80A5B008) ## $a3 = 80A60000
/* 0030C 80A59F3C 24E7B008 */ addiu $a3, $a3, %lo(D_80A5B008) ## $a3 = 80A5B008
/* 00310 80A59F40 8FA40034 */ lw $a0, 0x0034($sp)
/* 00314 80A59F44 8FA50024 */ lw $a1, 0x0024($sp)
/* 00318 80A59F48 0C01712B */ jal Collider_SetCylinder
/* 0031C 80A59F4C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00320 80A59F50 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00324 80A59F54 0C0189B7 */ jal Collider_CylinderUpdate
/* 00328 80A59F58 8FA50024 */ lw $a1, 0x0024($sp)
/* 0032C 80A59F5C 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
/* 00330 80A59F60 44812000 */ mtc1 $at, $f4 ## $f4 = -1.00
/* 00334 80A59F64 3C0680A6 */ lui $a2, %hi(D_80A5B034) ## $a2 = 80A60000
/* 00338 80A59F68 24C6B034 */ addiu $a2, $a2, %lo(D_80A5B034) ## $a2 = 80A5B034
/* 0033C 80A59F6C 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
/* 00340 80A59F70 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00344 80A59F74 0C0187B5 */ jal func_80061ED4
/* 00348 80A59F78 E6040070 */ swc1 $f4, 0x0070($s0) ## 00000070
/* 0034C 80A59F7C 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle)
/* 00350 80A59F80 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle)
/* 00354 80A59F84 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 00358 80A59F88 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 0035C 80A59F8C 0C00AC78 */ jal ActorShape_Init
/* 00360 80A59F90 3C0741F0 */ lui $a3, 0x41F0 ## $a3 = 41F00000
/* 00364 80A59F94 240E0080 */ addiu $t6, $zero, 0x0080 ## $t6 = 00000080
/* 00368 80A59F98 A20E00C8 */ sb $t6, 0x00C8($s0) ## 000000C8
/* 0036C 80A59F9C 8FAF0034 */ lw $t7, 0x0034($sp)
/* 00370 80A59FA0 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00374 80A59FA4 44814000 */ mtc1 $at, $f8 ## $f8 = 10.00
/* 00378 80A59FA8 8DF81C44 */ lw $t8, 0x1C44($t7) ## 00001C44
/* 0037C 80A59FAC 8F080024 */ lw $t0, 0x0024($t8) ## 00000024
/* 00380 80A59FB0 AE08022C */ sw $t0, 0x022C($s0) ## 0000022C
/* 00384 80A59FB4 8F190028 */ lw $t9, 0x0028($t8) ## 00000028
/* 00388 80A59FB8 AE190230 */ sw $t9, 0x0230($s0) ## 00000230
/* 0038C 80A59FBC C6060230 */ lwc1 $f6, 0x0230($s0) ## 00000230
/* 00390 80A59FC0 8F08002C */ lw $t0, 0x002C($t8) ## 0000002C
/* 00394 80A59FC4 46083280 */ add.s $f10, $f6, $f8
/* 00398 80A59FC8 AE080234 */ sw $t0, 0x0234($s0) ## 00000234
/* 0039C 80A59FCC 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 003A0 80A59FD0 E60A0230 */ swc1 $f10, 0x0230($s0) ## 00000230
/* 003A4 80A59FD4 3C0180A6 */ lui $at, %hi(D_80A5B124) ## $at = 80A60000
/* 003A8 80A59FD8 C430B124 */ lwc1 $f16, %lo(D_80A5B124)($at)
/* 003AC 80A59FDC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 003B0 80A59FE0 46100482 */ mul.s $f18, $f0, $f16
/* 003B4 80A59FE4 4600910D */ trunc.w.s $f4, $f18
/* 003B8 80A59FE8 440A2000 */ mfc1 $t2, $f4
/* 003BC 80A59FEC 0C2968DE */ jal func_80A5A378
/* 003C0 80A59FF0 A60A023E */ sh $t2, 0x023E($s0) ## 0000023E
/* 003C4 80A59FF4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 003C8 80A59FF8 0C00BE0A */ jal Audio_PlayActorSound2
/* 003CC 80A59FFC 24052822 */ addiu $a1, $zero, 0x2822 ## $a1 = 00002822
/* 003D0 80A5A000 860B001C */ lh $t3, 0x001C($s0) ## 0000001C
/* 003D4 80A5A004 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 003D8 80A5A008 240CFFFF */ addiu $t4, $zero, 0xFFFF ## $t4 = FFFFFFFF
/* 003DC 80A5A00C 15610008 */ bne $t3, $at, .L80A5A030
/* 003E0 80A5A010 240D000C */ addiu $t5, $zero, 0x000C ## $t5 = 0000000C
/* 003E4 80A5A014 3C01C47A */ lui $at, 0xC47A ## $at = C47A0000
/* 003E8 80A5A018 44813000 */ mtc1 $at, $f6 ## $f6 = -1000.00
/* 003EC 80A5A01C 240E001E */ addiu $t6, $zero, 0x001E ## $t6 = 0000001E
/* 003F0 80A5A020 A20C0003 */ sb $t4, 0x0003($s0) ## 00000003
/* 003F4 80A5A024 A60D0190 */ sh $t5, 0x0190($s0) ## 00000190
/* 003F8 80A5A028 A60E0192 */ sh $t6, 0x0192($s0) ## 00000192
/* 003FC 80A5A02C E60600BC */ swc1 $f6, 0x00BC($s0) ## 000000BC
.L80A5A030:
/* 00400 80A5A030 8FBF001C */ lw $ra, 0x001C($sp)
/* 00404 80A5A034 8FB00018 */ lw $s0, 0x0018($sp)
/* 00408 80A5A038 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 0040C 80A5A03C 03E00008 */ jr $ra
/* 00410 80A5A040 00000000 */ nop

View file

@ -1,7 +0,0 @@
glabel func_80A5A0E4
/* 004B4 80A5A0E4 3C0E80A6 */ lui $t6, %hi(func_80A5A0FC) ## $t6 = 80A60000
/* 004B8 80A5A0E8 25CEA0FC */ addiu $t6, $t6, %lo(func_80A5A0FC) ## $t6 = 80A5A0FC
/* 004BC 80A5A0EC 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003
/* 004C0 80A5A0F0 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
/* 004C4 80A5A0F4 03E00008 */ jr $ra
/* 004C8 80A5A0F8 A48F022A */ sh $t7, 0x022A($a0) ## 0000022A

View file

@ -1,55 +0,0 @@
.late_rodata
glabel D_80A5B128
.word 0x443B8000
.text
glabel func_80A5A0FC
/* 004CC 80A5A0FC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 004D0 80A5A100 AFBF0014 */ sw $ra, 0x0014($sp)
/* 004D4 80A5A104 AFA5001C */ sw $a1, 0x001C($sp)
/* 004D8 80A5A108 8C8E011C */ lw $t6, 0x011C($a0) ## 0000011C
/* 004DC 80A5A10C 240F00C8 */ addiu $t7, $zero, 0x00C8 ## $t7 = 000000C8
/* 004E0 80A5A110 51C00004 */ beql $t6, $zero, .L80A5A124
/* 004E4 80A5A114 84980228 */ lh $t8, 0x0228($a0) ## 00000228
/* 004E8 80A5A118 10000022 */ beq $zero, $zero, .L80A5A1A4
/* 004EC 80A5A11C A48F0228 */ sh $t7, 0x0228($a0) ## 00000228
/* 004F0 80A5A120 84980228 */ lh $t8, 0x0228($a0) ## 00000228
.L80A5A124:
/* 004F4 80A5A124 3C0180A6 */ lui $at, %hi(D_80A5B128) ## $at = 80A60000
/* 004F8 80A5A128 5F00001F */ bgtzl $t8, .L80A5A1A8
/* 004FC 80A5A12C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00500 80A5A130 C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
/* 00504 80A5A134 C426B128 */ lwc1 $f6, %lo(D_80A5B128)($at)
/* 00508 80A5A138 4606203C */ c.lt.s $f4, $f6
/* 0050C 80A5A13C 00000000 */ nop
/* 00510 80A5A140 45020019 */ bc1fl .L80A5A1A8
/* 00514 80A5A144 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00518 80A5A148 C4800094 */ lwc1 $f0, 0x0094($a0) ## 00000094
/* 0051C 80A5A14C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 00520 80A5A150 3C01C42F */ lui $at, 0xC42F ## $at = C42F0000
/* 00524 80A5A154 4608003C */ c.lt.s $f0, $f8
/* 00528 80A5A158 00000000 */ nop
/* 0052C 80A5A15C 45020012 */ bc1fl .L80A5A1A8
/* 00530 80A5A160 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00534 80A5A164 44815000 */ mtc1 $at, $f10 ## $f10 = -700.00
/* 00538 80A5A168 00000000 */ nop
/* 0053C 80A5A16C 4600503C */ c.lt.s $f10, $f0
/* 00540 80A5A170 00000000 */ nop
/* 00544 80A5A174 4502000C */ bc1fl .L80A5A1A8
/* 00548 80A5A178 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0054C 80A5A17C 8499008A */ lh $t9, 0x008A($a0) ## 0000008A
/* 00550 80A5A180 848800B6 */ lh $t0, 0x00B6($a0) ## 000000B6
/* 00554 80A5A184 03281023 */ subu $v0, $t9, $t0
/* 00558 80A5A188 2841C001 */ slti $at, $v0, 0xC001
/* 0055C 80A5A18C 14200005 */ bne $at, $zero, .L80A5A1A4
/* 00560 80A5A190 28414000 */ slti $at, $v0, 0x4000
/* 00564 80A5A194 50200004 */ beql $at, $zero, .L80A5A1A8
/* 00568 80A5A198 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0056C 80A5A19C 0C29686D */ jal func_80A5A1B4
/* 00570 80A5A1A0 00000000 */ nop
.L80A5A1A4:
/* 00574 80A5A1A4 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A5A1A8:
/* 00578 80A5A1A8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0057C 80A5A1AC 03E00008 */ jr $ra
/* 00580 80A5A1B0 00000000 */ nop

View file

@ -1,23 +0,0 @@
glabel func_80A5A1B4
/* 00584 80A5A1B4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00588 80A5A1B8 3C0E80A6 */ lui $t6, %hi(func_80A5A208) ## $t6 = 80A60000
/* 0058C 80A5A1BC AFBF001C */ sw $ra, 0x001C($sp)
/* 00590 80A5A1C0 25CEA208 */ addiu $t6, $t6, %lo(func_80A5A208) ## $t6 = 80A5A208
/* 00594 80A5A1C4 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
/* 00598 80A5A1C8 240F0028 */ addiu $t7, $zero, 0x0028 ## $t7 = 00000028
/* 0059C 80A5A1CC AFAF0010 */ sw $t7, 0x0010($sp)
/* 005A0 80A5A1D0 AFA40020 */ sw $a0, 0x0020($sp)
/* 005A4 80A5A1D4 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
/* 005A8 80A5A1D8 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 005AC 80A5A1DC 0C00D09B */ jal func_8003426C
/* 005B0 80A5A1E0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 005B4 80A5A1E4 8FA40020 */ lw $a0, 0x0020($sp)
/* 005B8 80A5A1E8 2418001E */ addiu $t8, $zero, 0x001E ## $t8 = 0000001E
/* 005BC 80A5A1EC 24052881 */ addiu $a1, $zero, 0x2881 ## $a1 = 00002881
/* 005C0 80A5A1F0 0C00BE0A */ jal Audio_PlayActorSound2
/* 005C4 80A5A1F4 A4980228 */ sh $t8, 0x0228($a0) ## 00000228
/* 005C8 80A5A1F8 8FBF001C */ lw $ra, 0x001C($sp)
/* 005CC 80A5A1FC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 005D0 80A5A200 03E00008 */ jr $ra
/* 005D4 80A5A204 00000000 */ nop

View file

@ -1,57 +0,0 @@
glabel func_80A5A208
/* 005D8 80A5A208 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 005DC 80A5A20C AFBF003C */ sw $ra, 0x003C($sp)
/* 005E0 80A5A210 AFB00038 */ sw $s0, 0x0038($sp)
/* 005E4 80A5A214 AFA5004C */ sw $a1, 0x004C($sp)
/* 005E8 80A5A218 848E022A */ lh $t6, 0x022A($a0) ## 0000022A
/* 005EC 80A5A21C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 005F0 80A5A220 25CFFFFF */ addiu $t7, $t6, 0xFFFF ## $t7 = FFFFFFFF
/* 005F4 80A5A224 A48F022A */ sh $t7, 0x022A($a0) ## 0000022A
/* 005F8 80A5A228 8498022A */ lh $t8, 0x022A($a0) ## 0000022A
/* 005FC 80A5A22C 5F000026 */ bgtzl $t8, .L80A5A2C8
/* 00600 80A5A230 8FBF003C */ lw $ra, 0x003C($sp)
/* 00604 80A5A234 0C2968B6 */ jal func_80A5A2D8
/* 00608 80A5A238 00000000 */ nop
/* 0060C 80A5A23C 0C01DE1C */ jal Math_SinS
## sins?
/* 00610 80A5A240 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00614 80A5A244 E7A00040 */ swc1 $f0, 0x0040($sp)
/* 00618 80A5A248 0C01DE0D */ jal Math_CosS
## coss?
/* 0061C 80A5A24C 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00620 80A5A250 3C014140 */ lui $at, 0x4140 ## $at = 41400000
/* 00624 80A5A254 44811000 */ mtc1 $at, $f2 ## $f2 = 12.00
/* 00628 80A5A258 C7A40040 */ lwc1 $f4, 0x0040($sp)
/* 0062C 80A5A25C C6080008 */ lwc1 $f8, 0x0008($s0) ## 00000008
/* 00630 80A5A260 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00634 80A5A264 46022182 */ mul.s $f6, $f4, $f2
/* 00638 80A5A268 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00
/* 0063C 80A5A26C 8FA6004C */ lw $a2, 0x004C($sp)
/* 00640 80A5A270 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 00644 80A5A274 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00648 80A5A278 2407011C */ addiu $a3, $zero, 0x011C ## $a3 = 0000011C
/* 0064C 80A5A27C 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24
/* 00650 80A5A280 46083280 */ add.s $f10, $f6, $f8
/* 00654 80A5A284 46020182 */ mul.s $f6, $f0, $f2
/* 00658 80A5A288 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 0065C 80A5A28C C610000C */ lwc1 $f16, 0x000C($s0) ## 0000000C
/* 00660 80A5A290 46128101 */ sub.s $f4, $f16, $f18
/* 00664 80A5A294 E7A40014 */ swc1 $f4, 0x0014($sp)
/* 00668 80A5A298 C6080010 */ lwc1 $f8, 0x0010($s0) ## 00000010
/* 0066C 80A5A29C 46083280 */ add.s $f10, $f6, $f8
/* 00670 80A5A2A0 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 00674 80A5A2A4 86190014 */ lh $t9, 0x0014($s0) ## 00000014
/* 00678 80A5A2A8 AFB9001C */ sw $t9, 0x001C($sp)
/* 0067C 80A5A2AC 86080016 */ lh $t0, 0x0016($s0) ## 00000016
/* 00680 80A5A2B0 AFA80020 */ sw $t0, 0x0020($sp)
/* 00684 80A5A2B4 86090018 */ lh $t1, 0x0018($s0) ## 00000018
/* 00688 80A5A2B8 AFAA0028 */ sw $t2, 0x0028($sp)
/* 0068C 80A5A2BC 0C00C916 */ jal Actor_SpawnAsChild
/* 00690 80A5A2C0 AFA90024 */ sw $t1, 0x0024($sp)
/* 00694 80A5A2C4 8FBF003C */ lw $ra, 0x003C($sp)
.L80A5A2C8:
/* 00698 80A5A2C8 8FB00038 */ lw $s0, 0x0038($sp)
/* 0069C 80A5A2CC 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 006A0 80A5A2D0 03E00008 */ jr $ra
/* 006A4 80A5A2D4 00000000 */ nop

View file

@ -1,6 +0,0 @@
glabel func_80A5A2D8
/* 006A8 80A5A2D8 3C0E80A6 */ lui $t6, %hi(func_80A5A2EC) ## $t6 = 80A60000
/* 006AC 80A5A2DC 25CEA2EC */ addiu $t6, $t6, %lo(func_80A5A2EC) ## $t6 = 80A5A2EC
/* 006B0 80A5A2E0 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
/* 006B4 80A5A2E4 03E00008 */ jr $ra
/* 006B8 80A5A2E8 A480022A */ sh $zero, 0x022A($a0) ## 0000022A

View file

@ -1,14 +0,0 @@
glabel func_80A5A2EC
/* 006BC 80A5A2EC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 006C0 80A5A2F0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 006C4 80A5A2F4 AFA5001C */ sw $a1, 0x001C($sp)
/* 006C8 80A5A2F8 848E0228 */ lh $t6, 0x0228($a0) ## 00000228
/* 006CC 80A5A2FC 5DC00004 */ bgtzl $t6, .L80A5A310
/* 006D0 80A5A300 8FBF0014 */ lw $ra, 0x0014($sp)
/* 006D4 80A5A304 0C2968C7 */ jal func_80A5A31C
/* 006D8 80A5A308 00000000 */ nop
/* 006DC 80A5A30C 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A5A310:
/* 006E0 80A5A310 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 006E4 80A5A314 03E00008 */ jr $ra
/* 006E8 80A5A318 00000000 */ nop

View file

@ -1,5 +0,0 @@
glabel func_80A5A31C
/* 006EC 80A5A31C 3C0E80A6 */ lui $t6, %hi(func_80A5A32C) ## $t6 = 80A60000
/* 006F0 80A5A320 25CEA32C */ addiu $t6, $t6, %lo(func_80A5A32C) ## $t6 = 80A5A32C
/* 006F4 80A5A324 03E00008 */ jr $ra
/* 006F8 80A5A328 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C

View file

@ -1,21 +0,0 @@
glabel func_80A5A32C
/* 006FC 80A5A32C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00700 80A5A330 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00704 80A5A334 AFA5001C */ sw $a1, 0x001C($sp)
/* 00708 80A5A338 848E022A */ lh $t6, 0x022A($a0) ## 0000022A
/* 0070C 80A5A33C 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001
/* 00710 80A5A340 A48F022A */ sh $t7, 0x022A($a0) ## 0000022A
/* 00714 80A5A344 8498022A */ lh $t8, 0x022A($a0) ## 0000022A
/* 00718 80A5A348 2B010003 */ slti $at, $t8, 0x0003
/* 0071C 80A5A34C 54200007 */ bnel $at, $zero, .L80A5A36C
/* 00720 80A5A350 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00724 80A5A354 0C296839 */ jal func_80A5A0E4
/* 00728 80A5A358 AFA40018 */ sw $a0, 0x0018($sp)
/* 0072C 80A5A35C 8FA40018 */ lw $a0, 0x0018($sp)
/* 00730 80A5A360 241900C8 */ addiu $t9, $zero, 0x00C8 ## $t9 = 000000C8
/* 00734 80A5A364 A4990228 */ sh $t9, 0x0228($a0) ## 00000228
/* 00738 80A5A368 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A5A36C:
/* 0073C 80A5A36C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00740 80A5A370 03E00008 */ jr $ra
/* 00744 80A5A374 00000000 */ nop

View file

@ -1,5 +0,0 @@
glabel func_80A5A378
/* 00748 80A5A378 3C0E80A6 */ lui $t6, %hi(func_80A5A388) ## $t6 = 80A60000
/* 0074C 80A5A37C 25CEA388 */ addiu $t6, $t6, %lo(func_80A5A388) ## $t6 = 80A5A388
/* 00750 80A5A380 03E00008 */ jr $ra
/* 00754 80A5A384 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C

View file

@ -1,51 +0,0 @@
.late_rodata
glabel D_80A5B12C
.word 0x3B83126F
glabel D_80A5B130
.word 0x3B9D4952
.text
glabel func_80A5A388
/* 00758 80A5A388 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0075C 80A5A38C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00760 80A5A390 AFA5001C */ sw $a1, 0x001C($sp)
/* 00764 80A5A394 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 00768 80A5A398 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 0076C 80A5A39C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00770 80A5A3A0 15C10004 */ bne $t6, $at, .L80A5A3B4
/* 00774 80A5A3A4 24E40050 */ addiu $a0, $a3, 0x0050 ## $a0 = 00000050
/* 00778 80A5A3A8 3C0180A6 */ lui $at, %hi(D_80A5B12C) ## $at = 80A60000
/* 0077C 80A5A3AC 10000003 */ beq $zero, $zero, .L80A5A3BC
/* 00780 80A5A3B0 C420B12C */ lwc1 $f0, %lo(D_80A5B12C)($at)
.L80A5A3B4:
/* 00784 80A5A3B4 3C0180A6 */ lui $at, %hi(D_80A5B130) ## $at = 80A60000
/* 00788 80A5A3B8 C420B130 */ lwc1 $f0, %lo(D_80A5B130)($at)
.L80A5A3BC:
/* 0078C 80A5A3BC 44050000 */ mfc1 $a1, $f0
/* 00790 80A5A3C0 3C063A1D */ lui $a2, 0x3A1D ## $a2 = 3A1D0000
/* 00794 80A5A3C4 34C64952 */ ori $a2, $a2, 0x4952 ## $a2 = 3A1D4952
/* 00798 80A5A3C8 0C01DE80 */ jal Math_StepToF
/* 0079C 80A5A3CC AFA70018 */ sw $a3, 0x0018($sp)
/* 007A0 80A5A3D0 8FA70018 */ lw $a3, 0x0018($sp)
/* 007A4 80A5A3D4 C4E00050 */ lwc1 $f0, 0x0050($a3) ## 00000050
/* 007A8 80A5A3D8 E4E00054 */ swc1 $f0, 0x0054($a3) ## 00000054
/* 007AC 80A5A3DC 1040000B */ beq $v0, $zero, .L80A5A40C
/* 007B0 80A5A3E0 E4E00058 */ swc1 $f0, 0x0058($a3) ## 00000058
/* 007B4 80A5A3E4 84EF001C */ lh $t7, 0x001C($a3) ## 0000001C
/* 007B8 80A5A3E8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 007BC 80A5A3EC 15E10005 */ bne $t7, $at, .L80A5A404
/* 007C0 80A5A3F0 00000000 */ nop
/* 007C4 80A5A3F4 0C296972 */ jal func_80A5A5C8
/* 007C8 80A5A3F8 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 007CC 80A5A3FC 10000004 */ beq $zero, $zero, .L80A5A410
/* 007D0 80A5A400 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A5A404:
/* 007D4 80A5A404 0C296907 */ jal func_80A5A41C
/* 007D8 80A5A408 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
.L80A5A40C:
/* 007DC 80A5A40C 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A5A410:
/* 007E0 80A5A410 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 007E4 80A5A414 03E00008 */ jr $ra
/* 007E8 80A5A418 00000000 */ nop

View file

@ -1,29 +0,0 @@
glabel func_80A5A41C
/* 007EC 80A5A41C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 007F0 80A5A420 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
/* 007F4 80A5A424 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 007F8 80A5A428 AFBF0014 */ sw $ra, 0x0014($sp)
/* 007FC 80A5A42C 240E0028 */ addiu $t6, $zero, 0x0028 ## $t6 = 00000028
/* 00800 80A5A430 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 00804 80A5A434 A48E0228 */ sh $t6, 0x0228($a0) ## 00000228
/* 00808 80A5A438 E4840060 */ swc1 $f4, 0x0060($a0) ## 00000060
/* 0080C 80A5A43C 84840032 */ lh $a0, 0x0032($a0) ## 00000032
/* 00810 80A5A440 0C01DE1C */ jal Math_SinS
## sins?
/* 00814 80A5A444 AFA50018 */ sw $a1, 0x0018($sp)
/* 00818 80A5A448 46000180 */ add.s $f6, $f0, $f0
/* 0081C 80A5A44C 8FA50018 */ lw $a1, 0x0018($sp)
/* 00820 80A5A450 E4A6005C */ swc1 $f6, 0x005C($a1) ## 0000005C
/* 00824 80A5A454 0C01DE0D */ jal Math_CosS
## coss?
/* 00828 80A5A458 84A40032 */ lh $a0, 0x0032($a1) ## 00000032
/* 0082C 80A5A45C 46000200 */ add.s $f8, $f0, $f0
/* 00830 80A5A460 8FA50018 */ lw $a1, 0x0018($sp)
/* 00834 80A5A464 3C0F80A6 */ lui $t7, %hi(func_80A5A484) ## $t7 = 80A60000
/* 00838 80A5A468 25EFA484 */ addiu $t7, $t7, %lo(func_80A5A484) ## $t7 = 80A5A484
/* 0083C 80A5A46C E4A80064 */ swc1 $f8, 0x0064($a1) ## 00000064
/* 00840 80A5A470 ACAF014C */ sw $t7, 0x014C($a1) ## 0000014C
/* 00844 80A5A474 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00848 80A5A478 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0084C 80A5A47C 03E00008 */ jr $ra
/* 00850 80A5A480 00000000 */ nop

View file

@ -1,90 +0,0 @@
glabel func_80A5A484
/* 00854 80A5A484 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00858 80A5A488 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0085C 80A5A48C AFB00020 */ sw $s0, 0x0020($sp)
/* 00860 80A5A490 AFA5002C */ sw $a1, 0x002C($sp)
/* 00864 80A5A494 90820160 */ lbu $v0, 0x0160($a0) ## 00000160
/* 00868 80A5A498 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0086C 80A5A49C 30430002 */ andi $v1, $v0, 0x0002 ## $v1 = 00000000
/* 00870 80A5A4A0 14600004 */ bne $v1, $zero, .L80A5A4B4
/* 00874 80A5A4A4 00000000 */ nop
/* 00878 80A5A4A8 848E0228 */ lh $t6, 0x0228($a0) ## 00000228
/* 0087C 80A5A4AC 5DC00014 */ bgtzl $t6, .L80A5A500
/* 00880 80A5A4B0 C6000060 */ lwc1 $f0, 0x0060($s0) ## 00000060
.L80A5A4B4:
/* 00884 80A5A4B4 10600009 */ beq $v1, $zero, .L80A5A4DC
/* 00888 80A5A4B8 304F0004 */ andi $t7, $v0, 0x0004 ## $t7 = 00000000
/* 0088C 80A5A4BC 15E00007 */ bne $t7, $zero, .L80A5A4DC
/* 00890 80A5A4C0 8FA4002C */ lw $a0, 0x002C($sp)
/* 00894 80A5A4C4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00898 80A5A4C8 8607008A */ lh $a3, 0x008A($s0) ## 0000008A
/* 0089C 80A5A4CC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 008A0 80A5A4D0 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
/* 008A4 80A5A4D4 0C00BDC7 */ jal func_8002F71C
/* 008A8 80A5A4D8 E7A40010 */ swc1 $f4, 0x0010($sp)
.L80A5A4DC:
/* 008AC 80A5A4DC 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 008B0 80A5A4E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 008B4 80A5A4E4 E6000064 */ swc1 $f0, 0x0064($s0) ## 00000064
/* 008B8 80A5A4E8 E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060
/* 008BC 80A5A4EC 0C296A85 */ jal func_80A5AA14
/* 008C0 80A5A4F0 E600005C */ swc1 $f0, 0x005C($s0) ## 0000005C
/* 008C4 80A5A4F4 10000030 */ beq $zero, $zero, .L80A5A5B8
/* 008C8 80A5A4F8 8FBF0024 */ lw $ra, 0x0024($sp)
/* 008CC 80A5A4FC C6000060 */ lwc1 $f0, 0x0060($s0) ## 00000060
.L80A5A500:
/* 008D0 80A5A500 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 008D4 80A5A504 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 008D8 80A5A508 4600303C */ c.lt.s $f6, $f0
/* 008DC 80A5A50C 00000000 */ nop
/* 008E0 80A5A510 45020013 */ bc1fl .L80A5A560
/* 008E4 80A5A514 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 008E8 80A5A518 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024
/* 008EC 80A5A51C C60A005C */ lwc1 $f10, 0x005C($s0) ## 0000005C
/* 008F0 80A5A520 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C
/* 008F4 80A5A524 C6040064 */ lwc1 $f4, 0x0064($s0) ## 00000064
/* 008F8 80A5A528 460A4400 */ add.s $f16, $f8, $f10
/* 008FC 80A5A52C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 00900 80A5A530 24180005 */ addiu $t8, $zero, 0x0005 ## $t8 = 00000005
/* 00904 80A5A534 46049180 */ add.s $f6, $f18, $f4
/* 00908 80A5A538 E6100024 */ swc1 $f16, 0x0024($s0) ## 00000024
/* 0090C 80A5A53C 3C0640E0 */ lui $a2, 0x40E0 ## $a2 = 40E00000
/* 00910 80A5A540 3C074140 */ lui $a3, 0x4140 ## $a3 = 41400000
/* 00914 80A5A544 E606002C */ swc1 $f6, 0x002C($s0) ## 0000002C
/* 00918 80A5A548 AFB80014 */ sw $t8, 0x0014($sp)
/* 0091C 80A5A54C 8FA4002C */ lw $a0, 0x002C($sp)
/* 00920 80A5A550 0C00B92D */ jal func_8002E4B4
/* 00924 80A5A554 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 00928 80A5A558 C6000060 */ lwc1 $f0, 0x0060($s0) ## 00000060
/* 0092C 80A5A55C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
.L80A5A560:
/* 00930 80A5A560 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00
/* 00934 80A5A564 C60A0080 */ lwc1 $f10, 0x0080($s0) ## 00000080
/* 00938 80A5A568 44060000 */ mfc1 $a2, $f0
/* 0093C 80A5A56C 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
/* 00940 80A5A570 46105480 */ add.s $f18, $f10, $f16
/* 00944 80A5A574 44059000 */ mfc1 $a1, $f18
/* 00948 80A5A578 0C01DE80 */ jal Math_StepToF
/* 0094C 80A5A57C 00000000 */ nop
/* 00950 80A5A580 14400007 */ bne $v0, $zero, .L80A5A5A0
/* 00954 80A5A584 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00958 80A5A588 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 0095C 80A5A58C 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
/* 00960 80A5A590 C6040060 */ lwc1 $f4, 0x0060($s0) ## 00000060
/* 00964 80A5A594 46062200 */ add.s $f8, $f4, $f6
/* 00968 80A5A598 10000004 */ beq $zero, $zero, .L80A5A5AC
/* 0096C 80A5A59C E6080060 */ swc1 $f8, 0x0060($s0) ## 00000060
.L80A5A5A0:
/* 00970 80A5A5A0 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 00974 80A5A5A4 00000000 */ nop
/* 00978 80A5A5A8 E60A0060 */ swc1 $f10, 0x0060($s0) ## 00000060
.L80A5A5AC:
/* 0097C 80A5A5AC 0C29670C */ jal func_80A59C30
/* 00980 80A5A5B0 8FA5002C */ lw $a1, 0x002C($sp)
/* 00984 80A5A5B4 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A5A5B8:
/* 00988 80A5A5B8 8FB00020 */ lw $s0, 0x0020($sp)
/* 0098C 80A5A5BC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00990 80A5A5C0 03E00008 */ jr $ra
/* 00994 80A5A5C4 00000000 */ nop

View file

@ -1,37 +0,0 @@
glabel func_80A5A5C8
/* 00998 80A5A5C8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0099C 80A5A5CC 3C0E80A6 */ lui $t6, %hi(func_80A5A658) ## $t6 = 80A60000
/* 009A0 80A5A5D0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 009A4 80A5A5D4 25CEA658 */ addiu $t6, $t6, %lo(func_80A5A658) ## $t6 = 80A5A658
/* 009A8 80A5A5D8 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
/* 009AC 80A5A5DC AFA40018 */ sw $a0, 0x0018($sp)
/* 009B0 80A5A5E0 0C00B6DB */ jal func_8002DB6C
/* 009B4 80A5A5E4 2485022C */ addiu $a1, $a0, 0x022C ## $a1 = 0000022C
/* 009B8 80A5A5E8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 009BC 80A5A5EC 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
/* 009C0 80A5A5F0 8FA40018 */ lw $a0, 0x0018($sp)
/* 009C4 80A5A5F4 240F00A0 */ addiu $t7, $zero, 0x00A0 ## $t7 = 000000A0
/* 009C8 80A5A5F8 460C0100 */ add.s $f4, $f0, $f12
/* 009CC 80A5A5FC C486022C */ lwc1 $f6, 0x022C($a0) ## 0000022C
/* 009D0 80A5A600 C4880024 */ lwc1 $f8, 0x0024($a0) ## 00000024
/* 009D4 80A5A604 C4920230 */ lwc1 $f18, 0x0230($a0) ## 00000230
/* 009D8 80A5A608 46046083 */ div.s $f2, $f12, $f4
/* 009DC 80A5A60C C4840028 */ lwc1 $f4, 0x0028($a0) ## 00000028
/* 009E0 80A5A610 A48F0228 */ sh $t7, 0x0228($a0) ## 00000228
/* 009E4 80A5A614 46083281 */ sub.s $f10, $f6, $f8
/* 009E8 80A5A618 46049181 */ sub.s $f6, $f18, $f4
/* 009EC 80A5A61C 46025402 */ mul.s $f16, $f10, $f2
/* 009F0 80A5A620 C48A0234 */ lwc1 $f10, 0x0234($a0) ## 00000234
/* 009F4 80A5A624 46023202 */ mul.s $f8, $f6, $f2
/* 009F8 80A5A628 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 009FC 80A5A62C E490005C */ swc1 $f16, 0x005C($a0) ## 0000005C
/* 00A00 80A5A630 C490002C */ lwc1 $f16, 0x002C($a0) ## 0000002C
/* 00A04 80A5A634 E4860238 */ swc1 $f6, 0x0238($a0) ## 00000238
/* 00A08 80A5A638 E4880060 */ swc1 $f8, 0x0060($a0) ## 00000060
/* 00A0C 80A5A63C 46105481 */ sub.s $f18, $f10, $f16
/* 00A10 80A5A640 46029102 */ mul.s $f4, $f18, $f2
/* 00A14 80A5A644 E4840064 */ swc1 $f4, 0x0064($a0) ## 00000064
/* 00A18 80A5A648 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00A1C 80A5A64C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00A20 80A5A650 03E00008 */ jr $ra
/* 00A24 80A5A654 00000000 */ nop

View file

@ -1,125 +0,0 @@
glabel func_80A5A658
/* 00A28 80A5A658 27BDFF90 */ addiu $sp, $sp, 0xFF90 ## $sp = FFFFFF90
/* 00A2C 80A5A65C AFB0001C */ sw $s0, 0x001C($sp)
/* 00A30 80A5A660 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00A34 80A5A664 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00A38 80A5A668 AFA50074 */ sw $a1, 0x0074($sp)
/* 00A3C 80A5A66C AFB10020 */ sw $s1, 0x0020($sp)
/* 00A40 80A5A670 3C054150 */ lui $a1, 0x4150 ## $a1 = 41500000
/* 00A44 80A5A674 24840238 */ addiu $a0, $a0, 0x0238 ## $a0 = 00000238
/* 00A48 80A5A678 0C01DE80 */ jal Math_StepToF
/* 00A4C 80A5A67C 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00A50 80A5A680 C6020238 */ lwc1 $f2, 0x0238($s0) ## 00000238
/* 00A54 80A5A684 C604005C */ lwc1 $f4, 0x005C($s0) ## 0000005C
/* 00A58 80A5A688 C6060060 */ lwc1 $f6, 0x0060($s0) ## 00000060
/* 00A5C 80A5A68C 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 00A60 80A5A690 46041002 */ mul.s $f0, $f2, $f4
/* 00A64 80A5A694 46000305 */ abs.s $f12, $f0
/* 00A68 80A5A698 46061002 */ mul.s $f0, $f2, $f6
/* 00A6C 80A5A69C 44066000 */ mfc1 $a2, $f12
/* 00A70 80A5A6A0 46000005 */ abs.s $f0, $f0
/* 00A74 80A5A6A4 E7A00064 */ swc1 $f0, 0x0064($sp)
/* 00A78 80A5A6A8 C6080064 */ lwc1 $f8, 0x0064($s0) ## 00000064
/* 00A7C 80A5A6AC 46081002 */ mul.s $f0, $f2, $f8
/* 00A80 80A5A6B0 46000005 */ abs.s $f0, $f0
/* 00A84 80A5A6B4 E7A00068 */ swc1 $f0, 0x0068($sp)
/* 00A88 80A5A6B8 0C01DE80 */ jal Math_StepToF
/* 00A8C 80A5A6BC 8E05022C */ lw $a1, 0x022C($s0) ## 0000022C
/* 00A90 80A5A6C0 30510001 */ andi $s1, $v0, 0x0001 ## $s1 = 00000000
/* 00A94 80A5A6C4 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
/* 00A98 80A5A6C8 8E050230 */ lw $a1, 0x0230($s0) ## 00000230
/* 00A9C 80A5A6CC 0C01DE80 */ jal Math_StepToF
/* 00AA0 80A5A6D0 8FA60064 */ lw $a2, 0x0064($sp)
/* 00AA4 80A5A6D4 02228824 */ and $s1, $s1, $v0
/* 00AA8 80A5A6D8 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
/* 00AAC 80A5A6DC 8E050234 */ lw $a1, 0x0234($s0) ## 00000234
/* 00AB0 80A5A6E0 0C01DE80 */ jal Math_StepToF
/* 00AB4 80A5A6E4 8FA60068 */ lw $a2, 0x0068($sp)
/* 00AB8 80A5A6E8 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 00ABC 80A5A6EC 240E001D */ addiu $t6, $zero, 0x001D ## $t6 = 0000001D
/* 00AC0 80A5A6F0 02228824 */ and $s1, $s1, $v0
/* 00AC4 80A5A6F4 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00AC8 80A5A6F8 8FA40074 */ lw $a0, 0x0074($sp)
/* 00ACC 80A5A6FC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00AD0 80A5A700 3C0640E0 */ lui $a2, 0x40E0 ## $a2 = 40E00000
/* 00AD4 80A5A704 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 00AD8 80A5A708 0C00B92D */ jal func_8002E4B4
/* 00ADC 80A5A70C E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 00AE0 80A5A710 92020160 */ lbu $v0, 0x0160($s0) ## 00000160
/* 00AE4 80A5A714 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00AE8 80A5A718 8FB80074 */ lw $t8, 0x0074($sp)
/* 00AEC 80A5A71C 304F0004 */ andi $t7, $v0, 0x0004 ## $t7 = 00000000
/* 00AF0 80A5A720 11E00026 */ beq $t7, $zero, .L80A5A7BC
/* 00AF4 80A5A724 30490002 */ andi $t1, $v0, 0x0002 ## $t1 = 00000000
/* 00AF8 80A5A728 8F021C44 */ lw $v0, 0x1C44($t8) ## 00001C44
/* 00AFC 80A5A72C 27B1004C */ addiu $s1, $sp, 0x004C ## $s1 = FFFFFFDC
/* 00B00 80A5A730 02202025 */ or $a0, $s1, $zero ## $a0 = FFFFFFDC
/* 00B04 80A5A734 C4500A40 */ lwc1 $f16, 0x0A40($v0) ## 00000A40
/* 00B08 80A5A738 27A50034 */ addiu $a1, $sp, 0x0034 ## $a1 = FFFFFFC4
/* 00B0C 80A5A73C 46008487 */ neg.s $f18, $f16
/* 00B10 80A5A740 E7B20034 */ swc1 $f18, 0x0034($sp)
/* 00B14 80A5A744 C4440A44 */ lwc1 $f4, 0x0A44($v0) ## 00000A44
/* 00B18 80A5A748 46002187 */ neg.s $f6, $f4
/* 00B1C 80A5A74C E7A60038 */ swc1 $f6, 0x0038($sp)
/* 00B20 80A5A750 C4480A48 */ lwc1 $f8, 0x0A48($v0) ## 00000A48
/* 00B24 80A5A754 46004287 */ neg.s $f10, $f8
/* 00B28 80A5A758 0C296730 */ jal func_80A59CC0
/* 00B2C 80A5A75C E7AA003C */ swc1 $f10, 0x003C($sp)
/* 00B30 80A5A760 2606005C */ addiu $a2, $s0, 0x005C ## $a2 = 0000005C
/* 00B34 80A5A764 8CC80000 */ lw $t0, 0x0000($a2) ## 0000005C
/* 00B38 80A5A768 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFD0
/* 00B3C 80A5A76C 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFDC
/* 00B40 80A5A770 AC880000 */ sw $t0, 0x0000($a0) ## FFFFFFD0
/* 00B44 80A5A774 8CD90004 */ lw $t9, 0x0004($a2) ## 00000060
/* 00B48 80A5A778 AC990004 */ sw $t9, 0x0004($a0) ## FFFFFFD4
/* 00B4C 80A5A77C 8CC80008 */ lw $t0, 0x0008($a2) ## 00000064
/* 00B50 80A5A780 0C032C30 */ jal Math3D_Vec3fReflect
/* 00B54 80A5A784 AC880008 */ sw $t0, 0x0008($a0) ## FFFFFFD8
/* 00B58 80A5A788 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00B5C 80A5A78C 44819000 */ mtc1 $at, $f18 ## $f18 = 0.50
/* 00B60 80A5A790 C6100238 */ lwc1 $f16, 0x0238($s0) ## 00000238
/* 00B64 80A5A794 C60C0064 */ lwc1 $f12, 0x0064($s0) ## 00000064
/* 00B68 80A5A798 C60E005C */ lwc1 $f14, 0x005C($s0) ## 0000005C
/* 00B6C 80A5A79C 46128102 */ mul.s $f4, $f16, $f18
/* 00B70 80A5A7A0 0C034199 */ jal Math_Atan2S
/* 00B74 80A5A7A4 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
/* 00B78 80A5A7A8 A6020032 */ sh $v0, 0x0032($s0) ## 00000032
/* 00B7C 80A5A7AC 0C296A85 */ jal func_80A5AA14
/* 00B80 80A5A7B0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00B84 80A5A7B4 10000017 */ beq $zero, $zero, .L80A5A814
/* 00B88 80A5A7B8 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A5A7BC:
/* 00B8C 80A5A7BC 11200006 */ beq $t1, $zero, .L80A5A7D8
/* 00B90 80A5A7C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00B94 80A5A7C4 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
/* 00B98 80A5A7C8 0C296A85 */ jal func_80A5AA14
/* 00B9C 80A5A7CC E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060
/* 00BA0 80A5A7D0 10000010 */ beq $zero, $zero, .L80A5A814
/* 00BA4 80A5A7D4 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A5A7D8:
/* 00BA8 80A5A7D8 860A0228 */ lh $t2, 0x0228($s0) ## 00000228
/* 00BAC 80A5A7DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00BB0 80A5A7E0 1D400005 */ bgtz $t2, .L80A5A7F8
/* 00BB4 80A5A7E4 00000000 */ nop
/* 00BB8 80A5A7E8 0C296A85 */ jal func_80A5AA14
/* 00BBC 80A5A7EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00BC0 80A5A7F0 10000008 */ beq $zero, $zero, .L80A5A814
/* 00BC4 80A5A7F4 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A5A7F8:
/* 00BC8 80A5A7F8 0C29670C */ jal func_80A59C30
/* 00BCC 80A5A7FC 8FA50074 */ lw $a1, 0x0074($sp)
/* 00BD0 80A5A800 52200004 */ beql $s1, $zero, .L80A5A814
/* 00BD4 80A5A804 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00BD8 80A5A808 0C296A09 */ jal func_80A5A824
/* 00BDC 80A5A80C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00BE0 80A5A810 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A5A814:
/* 00BE4 80A5A814 8FB0001C */ lw $s0, 0x001C($sp)
/* 00BE8 80A5A818 8FB10020 */ lw $s1, 0x0020($sp)
/* 00BEC 80A5A81C 03E00008 */ jr $ra
/* 00BF0 80A5A820 27BD0070 */ addiu $sp, $sp, 0x0070 ## $sp = 00000000

View file

@ -1,16 +0,0 @@
glabel func_80A5A824
/* 00BF4 80A5A824 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00BF8 80A5A828 A4800034 */ sh $zero, 0x0034($a0) ## 00000034
/* 00BFC 80A5A82C 84820034 */ lh $v0, 0x0034($a0) ## 00000034
/* 00C00 80A5A830 3C0E80A6 */ lui $t6, %hi(func_80A5A860) ## $t6 = 80A60000
/* 00C04 80A5A834 25CEA860 */ addiu $t6, $t6, %lo(func_80A5A860) ## $t6 = 80A5A860
/* 00C08 80A5A838 240F0064 */ addiu $t7, $zero, 0x0064 ## $t7 = 00000064
/* 00C0C 80A5A83C AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
/* 00C10 80A5A840 A48F0228 */ sh $t7, 0x0228($a0) ## 00000228
/* 00C14 80A5A844 E4800068 */ swc1 $f0, 0x0068($a0) ## 00000068
/* 00C18 80A5A848 E4800064 */ swc1 $f0, 0x0064($a0) ## 00000064
/* 00C1C 80A5A84C E4800060 */ swc1 $f0, 0x0060($a0) ## 00000060
/* 00C20 80A5A850 E480005C */ swc1 $f0, 0x005C($a0) ## 0000005C
/* 00C24 80A5A854 A4820032 */ sh $v0, 0x0032($a0) ## 00000032
/* 00C28 80A5A858 03E00008 */ jr $ra
/* 00C2C 80A5A85C A4820030 */ sh $v0, 0x0030($a0) ## 00000030

View file

@ -1,132 +0,0 @@
.late_rodata
glabel D_80A5B134
.float 0.08
glabel D_80A5B138
.word 0xBDA3D70A
glabel D_80A5B13C
.word 0x3F733333
glabel D_80A5B140
.float 0.1
.text
glabel func_80A5A860
/* 00C30 80A5A860 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00C34 80A5A864 AFB00020 */ sw $s0, 0x0020($sp)
/* 00C38 80A5A868 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00C3C 80A5A86C AFBF0024 */ sw $ra, 0x0024($sp)
/* 00C40 80A5A870 AFA50044 */ sw $a1, 0x0044($sp)
/* 00C44 80A5A874 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 00C48 80A5A878 24840032 */ addiu $a0, $a0, 0x0032 ## $a0 = 00000032
/* 00C4C 80A5A87C 0C01DE2B */ jal Math_ScaledStepToS
/* 00C50 80A5A880 24060300 */ addiu $a2, $zero, 0x0300 ## $a2 = 00000300
/* 00C54 80A5A884 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 00C58 80A5A888 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 00C5C 80A5A88C 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
/* 00C60 80A5A890 0C01DE80 */ jal Math_StepToF
/* 00C64 80A5A894 3C054040 */ lui $a1, 0x4040 ## $a1 = 40400000
/* 00C68 80A5A898 C6040094 */ lwc1 $f4, 0x0094($s0) ## 00000094
/* 00C6C 80A5A89C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00C70 80A5A8A0 44814000 */ mtc1 $at, $f8 ## $f8 = 10.00
/* 00C74 80A5A8A4 46002187 */ neg.s $f6, $f4
/* 00C78 80A5A8A8 3C0180A6 */ lui $at, %hi(D_80A5B138) ## $at = 80A60000
/* 00C7C 80A5A8AC 4608303C */ c.lt.s $f6, $f8
/* 00C80 80A5A8B0 00000000 */ nop
/* 00C84 80A5A8B4 45000005 */ bc1f .L80A5A8CC
/* 00C88 80A5A8B8 00000000 */ nop
/* 00C8C 80A5A8BC 3C0180A6 */ lui $at, %hi(D_80A5B134) ## $at = 80A60000
/* 00C90 80A5A8C0 C42AB134 */ lwc1 $f10, %lo(D_80A5B134)($at)
/* 00C94 80A5A8C4 10000003 */ beq $zero, $zero, .L80A5A8D4
/* 00C98 80A5A8C8 E60A006C */ swc1 $f10, 0x006C($s0) ## 0000006C
.L80A5A8CC:
/* 00C9C 80A5A8CC C430B138 */ lwc1 $f16, %lo(D_80A5B138)($at)
/* 00CA0 80A5A8D0 E610006C */ swc1 $f16, 0x006C($s0) ## 0000006C
.L80A5A8D4:
/* 00CA4 80A5A8D4 0C00B61A */ jal func_8002D868
/* 00CA8 80A5A8D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00CAC 80A5A8DC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00CB0 80A5A8E0 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
/* 00CB4 80A5A8E4 C6000060 */ lwc1 $f0, 0x0060($s0) ## 00000060
/* 00CB8 80A5A8E8 3C0180A6 */ lui $at, %hi(D_80A5B13C) ## $at = 80A60000
/* 00CBC 80A5A8EC 4600103C */ c.lt.s $f2, $f0
/* 00CC0 80A5A8F0 00000000 */ nop
/* 00CC4 80A5A8F4 45000003 */ bc1f .L80A5A904
/* 00CC8 80A5A8F8 00000000 */ nop
/* 00CCC 80A5A8FC E6020060 */ swc1 $f2, 0x0060($s0) ## 00000060
/* 00CD0 80A5A900 C6000060 */ lwc1 $f0, 0x0060($s0) ## 00000060
.L80A5A904:
/* 00CD4 80A5A904 C432B13C */ lwc1 $f18, %lo(D_80A5B13C)($at)
/* 00CD8 80A5A908 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00CDC 80A5A90C 46120102 */ mul.s $f4, $f0, $f18
/* 00CE0 80A5A910 0C00B5FB */ jal func_8002D7EC
/* 00CE4 80A5A914 E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060
/* 00CE8 80A5A918 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 00CEC 80A5A91C 240E001D */ addiu $t6, $zero, 0x001D ## $t6 = 0000001D
/* 00CF0 80A5A920 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00CF4 80A5A924 8FA40044 */ lw $a0, 0x0044($sp)
/* 00CF8 80A5A928 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00CFC 80A5A92C 3C0640E0 */ lui $a2, 0x40E0 ## $a2 = 40E00000
/* 00D00 80A5A930 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 00D04 80A5A934 0C00B92D */ jal func_8002E4B4
/* 00D08 80A5A938 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00D0C 80A5A93C 92020160 */ lbu $v0, 0x0160($s0) ## 00000160
/* 00D10 80A5A940 8FB80044 */ lw $t8, 0x0044($sp)
/* 00D14 80A5A944 27A50030 */ addiu $a1, $sp, 0x0030 ## $a1 = FFFFFFF0
/* 00D18 80A5A948 304F0004 */ andi $t7, $v0, 0x0004 ## $t7 = 00000000
/* 00D1C 80A5A94C 11E00010 */ beq $t7, $zero, .L80A5A990
/* 00D20 80A5A950 304C0002 */ andi $t4, $v0, 0x0002 ## $t4 = 00000000
/* 00D24 80A5A954 8F021C44 */ lw $v0, 0x1C44($t8) ## 00001C44
/* 00D28 80A5A958 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00D2C 80A5A95C 0C034833 */ jal func_800D20CC
/* 00D30 80A5A960 24440A20 */ addiu $a0, $v0, 0x0A20 ## $a0 = 00000A20
/* 00D34 80A5A964 87B90032 */ lh $t9, 0x0032($sp)
/* 00D38 80A5A968 86090032 */ lh $t1, 0x0032($s0) ## 00000032
/* 00D3C 80A5A96C 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 00D40 80A5A970 00194040 */ sll $t0, $t9, 1
/* 00D44 80A5A974 01095023 */ subu $t2, $t0, $t1
/* 00D48 80A5A978 01415821 */ addu $t3, $t2, $at
/* 00D4C 80A5A97C A60B0032 */ sh $t3, 0x0032($s0) ## 00000032
/* 00D50 80A5A980 0C296A85 */ jal func_80A5AA14
/* 00D54 80A5A984 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00D58 80A5A988 1000001E */ beq $zero, $zero, .L80A5AA04
/* 00D5C 80A5A98C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A5A990:
/* 00D60 80A5A990 1180000D */ beq $t4, $zero, .L80A5A9C8
/* 00D64 80A5A994 3C0180A6 */ lui $at, %hi(D_80A5B140) ## $at = 80A60000
/* 00D68 80A5A998 C420B140 */ lwc1 $f0, %lo(D_80A5B140)($at)
/* 00D6C 80A5A99C C6080068 */ lwc1 $f8, 0x0068($s0) ## 00000068
/* 00D70 80A5A9A0 C6100060 */ lwc1 $f16, 0x0060($s0) ## 00000060
/* 00D74 80A5A9A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00D78 80A5A9A8 46004282 */ mul.s $f10, $f8, $f0
/* 00D7C 80A5A9AC 00000000 */ nop
/* 00D80 80A5A9B0 46008482 */ mul.s $f18, $f16, $f0
/* 00D84 80A5A9B4 E60A0068 */ swc1 $f10, 0x0068($s0) ## 00000068
/* 00D88 80A5A9B8 0C296A85 */ jal func_80A5AA14
/* 00D8C 80A5A9BC E6120060 */ swc1 $f18, 0x0060($s0) ## 00000060
/* 00D90 80A5A9C0 10000010 */ beq $zero, $zero, .L80A5AA04
/* 00D94 80A5A9C4 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A5A9C8:
/* 00D98 80A5A9C8 960D0088 */ lhu $t5, 0x0088($s0) ## 00000088
/* 00D9C 80A5A9CC 31AE0008 */ andi $t6, $t5, 0x0008 ## $t6 = 00000000
/* 00DA0 80A5A9D0 15C00005 */ bne $t6, $zero, .L80A5A9E8
/* 00DA4 80A5A9D4 00000000 */ nop
/* 00DA8 80A5A9D8 860F0228 */ lh $t7, 0x0228($s0) ## 00000228
/* 00DAC 80A5A9DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00DB0 80A5A9E0 1DE00005 */ bgtz $t7, .L80A5A9F8
/* 00DB4 80A5A9E4 00000000 */ nop
.L80A5A9E8:
/* 00DB8 80A5A9E8 0C296A85 */ jal func_80A5AA14
/* 00DBC 80A5A9EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00DC0 80A5A9F0 10000004 */ beq $zero, $zero, .L80A5AA04
/* 00DC4 80A5A9F4 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A5A9F8:
/* 00DC8 80A5A9F8 0C29670C */ jal func_80A59C30
/* 00DCC 80A5A9FC 8FA50044 */ lw $a1, 0x0044($sp)
/* 00DD0 80A5AA00 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A5AA04:
/* 00DD4 80A5AA04 8FB00020 */ lw $s0, 0x0020($sp)
/* 00DD8 80A5AA08 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 00DDC 80A5AA0C 03E00008 */ jr $ra
/* 00DE0 80A5AA10 00000000 */ nop

View file

@ -1,5 +0,0 @@
glabel func_80A5AA14
/* 00DE4 80A5AA14 3C0E80A6 */ lui $t6, %hi(func_80A5AA24) ## $t6 = 80A60000
/* 00DE8 80A5AA18 25CEAA24 */ addiu $t6, $t6, %lo(func_80A5AA24) ## $t6 = 80A5AA24
/* 00DEC 80A5AA1C 03E00008 */ jr $ra
/* 00DF0 80A5AA20 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C

View file

@ -1,41 +0,0 @@
glabel func_80A5AA24
/* 00DF4 80A5AA24 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00DF8 80A5AA28 AFB00020 */ sw $s0, 0x0020($sp)
/* 00DFC 80A5AA2C AFA50034 */ sw $a1, 0x0034($sp)
/* 00E00 80A5AA30 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00E04 80A5AA34 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00E08 80A5AA38 3C0538D1 */ lui $a1, 0x38D1 ## $a1 = 38D10000
/* 00E0C 80A5AA3C 3C06391D */ lui $a2, 0x391D ## $a2 = 391D0000
/* 00E10 80A5AA40 34C64952 */ ori $a2, $a2, 0x4952 ## $a2 = 391D4952
/* 00E14 80A5AA44 34A5B717 */ ori $a1, $a1, 0xB717 ## $a1 = 38D1B717
/* 00E18 80A5AA48 0C01DE80 */ jal Math_StepToF
/* 00E1C 80A5AA4C 24840050 */ addiu $a0, $a0, 0x0050 ## $a0 = 00000050
/* 00E20 80A5AA50 AFA20028 */ sw $v0, 0x0028($sp)
/* 00E24 80A5AA54 C6000050 */ lwc1 $f0, 0x0050($s0) ## 00000050
/* 00E28 80A5AA58 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00E2C 80A5AA5C E6000054 */ swc1 $f0, 0x0054($s0) ## 00000054
/* 00E30 80A5AA60 0C00B638 */ jal Actor_MoveForward
/* 00E34 80A5AA64 E6000058 */ swc1 $f0, 0x0058($s0) ## 00000058
/* 00E38 80A5AA68 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00E3C 80A5AA6C 240E001D */ addiu $t6, $zero, 0x001D ## $t6 = 0000001D
/* 00E40 80A5AA70 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00E44 80A5AA74 8FA40034 */ lw $a0, 0x0034($sp)
/* 00E48 80A5AA78 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00E4C 80A5AA7C 3C0640E0 */ lui $a2, 0x40E0 ## $a2 = 40E00000
/* 00E50 80A5AA80 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 00E54 80A5AA84 0C00B92D */ jal func_8002E4B4
/* 00E58 80A5AA88 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 00E5C 80A5AA8C 8FAF0028 */ lw $t7, 0x0028($sp)
/* 00E60 80A5AA90 51E00004 */ beql $t7, $zero, .L80A5AAA4
/* 00E64 80A5AA94 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00E68 80A5AA98 0C00B55C */ jal Actor_Kill
/* 00E6C 80A5AA9C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00E70 80A5AAA0 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A5AAA4:
/* 00E74 80A5AAA4 8FB00020 */ lw $s0, 0x0020($sp)
/* 00E78 80A5AAA8 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00E7C 80A5AAAC 03E00008 */ jr $ra
/* 00E80 80A5AAB0 00000000 */ nop

View file

@ -1,90 +0,0 @@
.rdata
glabel D_80A5B0A8
.asciz "../z_en_honotrap.c"
.balign 4
glabel D_80A5B0BC
.asciz "../z_en_honotrap.c"
.balign 4
glabel D_80A5B0D0
.asciz "../z_en_honotrap.c"
.balign 4
.text
glabel func_80A5ABFC
/* 00FCC 80A5ABFC 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 00FD0 80A5AC00 AFBF001C */ sw $ra, 0x001C($sp)
/* 00FD4 80A5AC04 AFB00018 */ sw $s0, 0x0018($sp)
/* 00FD8 80A5AC08 AFA40048 */ sw $a0, 0x0048($sp)
/* 00FDC 80A5AC0C AFA5004C */ sw $a1, 0x004C($sp)
/* 00FE0 80A5AC10 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 00FE4 80A5AC14 3C0680A6 */ lui $a2, %hi(D_80A5B0A8) ## $a2 = 80A60000
/* 00FE8 80A5AC18 24C6B0A8 */ addiu $a2, $a2, %lo(D_80A5B0A8) ## $a2 = 80A5B0A8
/* 00FEC 80A5AC1C 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8
/* 00FF0 80A5AC20 240703D6 */ addiu $a3, $zero, 0x03D6 ## $a3 = 000003D6
/* 00FF4 80A5AC24 0C031AB1 */ jal Graph_OpenDisps
/* 00FF8 80A5AC28 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 00FFC 80A5AC2C 8FAF004C */ lw $t7, 0x004C($sp)
/* 01000 80A5AC30 0C024F46 */ jal func_80093D18
/* 01004 80A5AC34 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 01008 80A5AC38 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 0100C 80A5AC3C 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000
/* 01010 80A5AC40 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020
/* 01014 80A5AC44 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 01018 80A5AC48 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
/* 0101C 80A5AC4C AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 01020 80A5AC50 8FA80048 */ lw $t0, 0x0048($sp)
/* 01024 80A5AC54 3C0480A6 */ lui $a0, %hi(D_80A5B060) ## $a0 = 80A60000
/* 01028 80A5AC58 3C0F8016 */ lui $t7, %hi(gSegments)
/* 0102C 80A5AC5C 8509022A */ lh $t1, 0x022A($t0) ## 0000022A
/* 01030 80A5AC60 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 01034 80A5AC64 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 01038 80A5AC68 00095080 */ sll $t2, $t1, 2
/* 0103C 80A5AC6C 008A2021 */ addu $a0, $a0, $t2
/* 01040 80A5AC70 8C84B060 */ lw $a0, %lo(D_80A5B060)($a0)
/* 01044 80A5AC74 3C09DA38 */ lui $t1, 0xDA38 ## $t1 = DA380000
/* 01048 80A5AC78 35290003 */ ori $t1, $t1, 0x0003 ## $t1 = DA380003
/* 0104C 80A5AC7C 00046100 */ sll $t4, $a0, 4
/* 01050 80A5AC80 000C6F02 */ srl $t5, $t4, 28
/* 01054 80A5AC84 000D7080 */ sll $t6, $t5, 2
/* 01058 80A5AC88 01EE7821 */ addu $t7, $t7, $t6
/* 0105C 80A5AC8C 8DEF6FA8 */ lw $t7, %lo(gSegments)($t7)
/* 01060 80A5AC90 00815824 */ and $t3, $a0, $at
/* 01064 80A5AC94 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 01068 80A5AC98 016FC021 */ addu $t8, $t3, $t7
/* 0106C 80A5AC9C 0301C821 */ addu $t9, $t8, $at
/* 01070 80A5ACA0 AC590004 */ sw $t9, 0x0004($v0) ## 00000004
/* 01074 80A5ACA4 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 01078 80A5ACA8 3C0580A6 */ lui $a1, %hi(D_80A5B0BC) ## $a1 = 80A60000
/* 0107C 80A5ACAC 24A5B0BC */ addiu $a1, $a1, %lo(D_80A5B0BC) ## $a1 = 80A5B0BC
/* 01080 80A5ACB0 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
/* 01084 80A5ACB4 AE0802C0 */ sw $t0, 0x02C0($s0) ## 000002C0
/* 01088 80A5ACB8 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
/* 0108C 80A5ACBC 8FAA004C */ lw $t2, 0x004C($sp)
/* 01090 80A5ACC0 240603DB */ addiu $a2, $zero, 0x03DB ## $a2 = 000003DB
/* 01094 80A5ACC4 8D440000 */ lw $a0, 0x0000($t2) ## 00000000
/* 01098 80A5ACC8 0C0346A2 */ jal Matrix_NewMtx
/* 0109C 80A5ACCC AFA20028 */ sw $v0, 0x0028($sp)
/* 010A0 80A5ACD0 8FA30028 */ lw $v1, 0x0028($sp)
/* 010A4 80A5ACD4 3C0E0500 */ lui $t6, %hi(D_05006810) ## $t6 = 05000000
/* 010A8 80A5ACD8 25CE6810 */ addiu $t6, $t6, %lo(D_05006810) ## $t6 = 05006810
/* 010AC 80A5ACDC AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 010B0 80A5ACE0 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 010B4 80A5ACE4 3C0DDE00 */ lui $t5, 0xDE00 ## $t5 = DE000000
/* 010B8 80A5ACE8 3C0680A6 */ lui $a2, %hi(D_80A5B0D0) ## $a2 = 80A60000
/* 010BC 80A5ACEC 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
/* 010C0 80A5ACF0 AE0C02C0 */ sw $t4, 0x02C0($s0) ## 000002C0
/* 010C4 80A5ACF4 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
/* 010C8 80A5ACF8 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
/* 010CC 80A5ACFC 8FAB004C */ lw $t3, 0x004C($sp)
/* 010D0 80A5AD00 24C6B0D0 */ addiu $a2, $a2, %lo(D_80A5B0D0) ## $a2 = 80A5B0D0
/* 010D4 80A5AD04 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8
/* 010D8 80A5AD08 240703DF */ addiu $a3, $zero, 0x03DF ## $a3 = 000003DF
/* 010DC 80A5AD0C 0C031AD5 */ jal Graph_CloseDisps
/* 010E0 80A5AD10 8D650000 */ lw $a1, 0x0000($t3) ## 00000000
/* 010E4 80A5AD14 8FBF001C */ lw $ra, 0x001C($sp)
/* 010E8 80A5AD18 8FB00018 */ lw $s0, 0x0018($sp)
/* 010EC 80A5AD1C 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 010F0 80A5AD20 03E00008 */ jr $ra
/* 010F4 80A5AD24 00000000 */ nop

View file

@ -1,136 +0,0 @@
.rdata
glabel D_80A5B0E4
.asciz "../z_en_honotrap.c"
.balign 4
glabel D_80A5B0F8
.asciz "../z_en_honotrap.c"
.balign 4
glabel D_80A5B10C
.asciz "../z_en_honotrap.c"
.balign 4
.late_rodata
glabel D_80A5B144
.float 9.58738019108e-05
.text
glabel func_80A5AD28
/* 010F8 80A5AD28 27BDFF80 */ addiu $sp, $sp, 0xFF80 ## $sp = FFFFFF80
/* 010FC 80A5AD2C AFB20040 */ sw $s2, 0x0040($sp)
/* 01100 80A5AD30 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
/* 01104 80A5AD34 AFBF0044 */ sw $ra, 0x0044($sp)
/* 01108 80A5AD38 AFB1003C */ sw $s1, 0x003C($sp)
/* 0110C 80A5AD3C AFB00038 */ sw $s0, 0x0038($sp)
/* 01110 80A5AD40 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 01114 80A5AD44 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 01118 80A5AD48 3C0680A6 */ lui $a2, %hi(D_80A5B0E4) ## $a2 = 80A60000
/* 0111C 80A5AD4C 24C6B0E4 */ addiu $a2, $a2, %lo(D_80A5B0E4) ## $a2 = 80A5B0E4
/* 01120 80A5AD50 27A40064 */ addiu $a0, $sp, 0x0064 ## $a0 = FFFFFFE4
/* 01124 80A5AD54 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
/* 01128 80A5AD58 0C031AB1 */ jal Graph_OpenDisps
/* 0112C 80A5AD5C 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 01130 80A5AD60 0C024F61 */ jal func_80093D84
/* 01134 80A5AD64 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
/* 01138 80A5AD68 862E023E */ lh $t6, 0x023E($s1) ## 0000023E
/* 0113C 80A5AD6C 3C09DB06 */ lui $t1, 0xDB06 ## $t1 = DB060000
/* 01140 80A5AD70 35290020 */ ori $t1, $t1, 0x0020 ## $t1 = DB060020
/* 01144 80A5AD74 25CFFFEC */ addiu $t7, $t6, 0xFFEC ## $t7 = FFFFFFEC
/* 01148 80A5AD78 A62F023E */ sh $t7, 0x023E($s1) ## 0000023E
/* 0114C 80A5AD7C 8638023E */ lh $t8, 0x023E($s1) ## 0000023E
/* 01150 80A5AD80 240A0020 */ addiu $t2, $zero, 0x0020 ## $t2 = 00000020
/* 01154 80A5AD84 240B0040 */ addiu $t3, $zero, 0x0040 ## $t3 = 00000040
/* 01158 80A5AD88 331901FF */ andi $t9, $t8, 0x01FF ## $t9 = 00000000
/* 0115C 80A5AD8C A639023E */ sh $t9, 0x023E($s1) ## 0000023E
/* 01160 80A5AD90 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 01164 80A5AD94 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 01168 80A5AD98 240F0080 */ addiu $t7, $zero, 0x0080 ## $t7 = 00000080
/* 0116C 80A5AD9C 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
/* 01170 80A5ADA0 AE0802D0 */ sw $t0, 0x02D0($s0) ## 000002D0
/* 01174 80A5ADA4 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
/* 01178 80A5ADA8 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
/* 0117C 80A5ADAC AFA0001C */ sw $zero, 0x001C($sp)
/* 01180 80A5ADB0 AFAC0018 */ sw $t4, 0x0018($sp)
/* 01184 80A5ADB4 AFAB0014 */ sw $t3, 0x0014($sp)
/* 01188 80A5ADB8 AFAA0010 */ sw $t2, 0x0010($sp)
/* 0118C 80A5ADBC 862D023E */ lh $t5, 0x023E($s1) ## 0000023E
/* 01190 80A5ADC0 240E0020 */ addiu $t6, $zero, 0x0020 ## $t6 = 00000020
/* 01194 80A5ADC4 AFAE0024 */ sw $t6, 0x0024($sp)
/* 01198 80A5ADC8 AFAF0028 */ sw $t7, 0x0028($sp)
/* 0119C 80A5ADCC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 011A0 80A5ADD0 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 011A4 80A5ADD4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 011A8 80A5ADD8 AFA20060 */ sw $v0, 0x0060($sp)
/* 011AC 80A5ADDC 0C0253D0 */ jal Gfx_TwoTexScroll
/* 011B0 80A5ADE0 AFAD0020 */ sw $t5, 0x0020($sp)
/* 011B4 80A5ADE4 8FA30060 */ lw $v1, 0x0060($sp)
/* 011B8 80A5ADE8 3C19FA00 */ lui $t9, 0xFA00 ## $t9 = FA000000
/* 011BC 80A5ADEC 3C08FFC8 */ lui $t0, 0xFFC8 ## $t0 = FFC80000
/* 011C0 80A5ADF0 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 011C4 80A5ADF4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 011C8 80A5ADF8 350800FF */ ori $t0, $t0, 0x00FF ## $t0 = FFC800FF
/* 011CC 80A5ADFC 37398080 */ ori $t9, $t9, 0x8080 ## $t9 = FA008080
/* 011D0 80A5AE00 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 011D4 80A5AE04 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0
/* 011D8 80A5AE08 AC480004 */ sw $t0, 0x0004($v0) ## 00000004
/* 011DC 80A5AE0C AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 011E0 80A5AE10 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 011E4 80A5AE14 3C0AFB00 */ lui $t2, 0xFB00 ## $t2 = FB000000
/* 011E8 80A5AE18 3C0BFF00 */ lui $t3, 0xFF00 ## $t3 = FF000000
/* 011EC 80A5AE1C 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
/* 011F0 80A5AE20 AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002D0
/* 011F4 80A5AE24 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004
/* 011F8 80A5AE28 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
/* 011FC 80A5AE2C 864C07A0 */ lh $t4, 0x07A0($s2) ## 000007A0
/* 01200 80A5AE30 000C6880 */ sll $t5, $t4, 2
/* 01204 80A5AE34 024D7021 */ addu $t6, $s2, $t5
/* 01208 80A5AE38 0C016A7D */ jal Camera_GetCamDirYaw
/* 0120C 80A5AE3C 8DC40790 */ lw $a0, 0x0790($t6) ## 00000790
/* 01210 80A5AE40 862F00B6 */ lh $t7, 0x00B6($s1) ## 000000B6
/* 01214 80A5AE44 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 01218 80A5AE48 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 0121C 80A5AE4C 004FC023 */ subu $t8, $v0, $t7
/* 01220 80A5AE50 0301C821 */ addu $t9, $t8, $at
/* 01224 80A5AE54 00194400 */ sll $t0, $t9, 16
/* 01228 80A5AE58 00084C03 */ sra $t1, $t0, 16
/* 0122C 80A5AE5C 44892000 */ mtc1 $t1, $f4 ## $f4 = 0.00
/* 01230 80A5AE60 3C0180A6 */ lui $at, %hi(D_80A5B144) ## $at = 80A60000
/* 01234 80A5AE64 C428B144 */ lwc1 $f8, %lo(D_80A5B144)($at)
/* 01238 80A5AE68 468021A0 */ cvt.s.w $f6, $f4
/* 0123C 80A5AE6C 46083302 */ mul.s $f12, $f6, $f8
/* 01240 80A5AE70 0C034348 */ jal Matrix_RotateY
/* 01244 80A5AE74 00000000 */ nop
/* 01248 80A5AE78 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 0124C 80A5AE7C 3C0BDA38 */ lui $t3, 0xDA38 ## $t3 = DA380000
/* 01250 80A5AE80 356B0003 */ ori $t3, $t3, 0x0003 ## $t3 = DA380003
/* 01254 80A5AE84 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
/* 01258 80A5AE88 AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0
/* 0125C 80A5AE8C 3C0580A6 */ lui $a1, %hi(D_80A5B0F8) ## $a1 = 80A60000
/* 01260 80A5AE90 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
/* 01264 80A5AE94 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
/* 01268 80A5AE98 24A5B0F8 */ addiu $a1, $a1, %lo(D_80A5B0F8) ## $a1 = 80A5B0F8
/* 0126C 80A5AE9C 24060400 */ addiu $a2, $zero, 0x0400 ## $a2 = 00000400
/* 01270 80A5AEA0 0C0346A2 */ jal Matrix_NewMtx
/* 01274 80A5AEA4 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000
/* 01278 80A5AEA8 AE220004 */ sw $v0, 0x0004($s1) ## 00000004
/* 0127C 80A5AEAC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 01280 80A5AEB0 3C0E0405 */ lui $t6, %hi(D_0404D4E0) ## $t6 = 04050000
/* 01284 80A5AEB4 25CED4E0 */ addiu $t6, $t6, %lo(D_0404D4E0) ## $t6 = 0404D4E0
/* 01288 80A5AEB8 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
/* 0128C 80A5AEBC AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0
/* 01290 80A5AEC0 3C0DDE00 */ lui $t5, 0xDE00 ## $t5 = DE000000
/* 01294 80A5AEC4 3C0680A6 */ lui $a2, %hi(D_80A5B10C) ## $a2 = 80A60000
/* 01298 80A5AEC8 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
/* 0129C 80A5AECC AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
/* 012A0 80A5AED0 8E450000 */ lw $a1, 0x0000($s2) ## 00000000
/* 012A4 80A5AED4 24C6B10C */ addiu $a2, $a2, %lo(D_80A5B10C) ## $a2 = 80A5B10C
/* 012A8 80A5AED8 27A40064 */ addiu $a0, $sp, 0x0064 ## $a0 = FFFFFFE4
/* 012AC 80A5AEDC 0C031AD5 */ jal Graph_CloseDisps
/* 012B0 80A5AEE0 24070404 */ addiu $a3, $zero, 0x0404 ## $a3 = 00000404
/* 012B4 80A5AEE4 8FBF0044 */ lw $ra, 0x0044($sp)
/* 012B8 80A5AEE8 8FB00038 */ lw $s0, 0x0038($sp)
/* 012BC 80A5AEEC 8FB1003C */ lw $s1, 0x003C($sp)
/* 012C0 80A5AEF0 8FB20040 */ lw $s2, 0x0040($sp)
/* 012C4 80A5AEF4 03E00008 */ jr $ra
/* 012C8 80A5AEF8 27BD0080 */ addiu $sp, $sp, 0x0080 ## $sp = 00000000

View file

@ -1,35 +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 En_Honotrap_InitVars
.word 0x011C0600, 0x00000010, 0x00030000, 0x00000244
.word EnHonotrap_Init
.word EnHonotrap_Destroy
.word EnHonotrap_Update
.word EnHonotrap_Draw
glabel D_80A5AF80
.word 0x04000000, 0x00000000, 0x00000000, 0x0001F824, 0x00000000, 0x00010000, 0x00000000, 0x41B80000, 0x41080000, 0xC1B80000, 0x00000000, 0x41080000, 0x00000000, 0xC1B80000, 0x41080000, 0x00000000, 0x00000000, 0x00000000, 0x0001F824, 0x00000000, 0x00010000, 0x00000000, 0x41B80000, 0x41080000, 0x00000000, 0xC1B80000, 0x41080000, 0x41B80000, 0x00000000, 0x41080000
glabel D_80A5AFF8
.word 0x0A000900, 0x00020000, 0x00000002
.word D_80A5AF80
glabel D_80A5B008
.word 0x0A110939, 0x20010000, 0x00000000, 0xFFCFFFFF, 0x01040000, 0x00100000, 0x00000000, 0x19010100, 0x000A0019, 0x00000000, 0x00000000
glabel D_80A5B034
.word 0x00000009, 0x00170100
glabel D_80A5B03C
.word 0xB0F403E8, 0xB0F801F4, 0x30FC03E8
glabel D_80A5B048
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80A5B054
.word 0x00000000, 0x3DCCCCCD, 0x00000000
glabel D_80A5B060
.word 0x0500B0A0, 0x0500B8A0, 0x0500C0A0, 0x0500C0A0

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_80A5B150
.incbin "baserom/ovl_En_Honotrap", 0x1520, 0x000001A0

3
spec
View file

@ -2444,8 +2444,7 @@ endseg
beginseg beginseg
name "ovl_En_Honotrap" name "ovl_En_Honotrap"
include "build/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.o" include "build/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.o"
include "build/data/overlays/actors/z_en_honotrap.data.o" include "build/src/overlays/actors/ovl_En_Honotrap/ovl_En_Honotrap_reloc.o"
include "build/data/overlays/actors/z_en_honotrap.reloc.o"
endseg endseg
beginseg beginseg

View file

@ -1,18 +1,55 @@
/**
* File: z_en_honotrap.c
* Overlay: ovl_En_Honotrap
* Description: Fake eye switches and Dampe flames
*/
#include "z_en_honotrap.h" #include "z_en_honotrap.h"
#define FLAGS 0x00000010 #define FLAGS 0x00000010
#define THIS ((EnHonotrap*)thisx) #define THIS ((EnHonotrap*)thisx)
#define HONOTRAP_AT_ACTIVE (1 << 0)
#define HONOTRAP_AC_ACTIVE (1 << 1)
#define HONOTRAP_OC_ACTIVE (1 << 2)
typedef enum {
/* 0 */ HONOTRAP_EYE_OPEN,
/* 1 */ HONOTRAP_EYE_HALF,
/* 2 */ HONOTRAP_EYE_CLOSE,
/* 3 */ HONOTRAP_EYE_SHUT
} EnHonotrapEyeState;
void EnHonotrap_Init(Actor* thisx, GlobalContext* globalCtx); void EnHonotrap_Init(Actor* thisx, GlobalContext* globalCtx);
void EnHonotrap_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnHonotrap_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnHonotrap_Update(Actor* thisx, GlobalContext* globalCtx); void EnHonotrap_Update(Actor* thisx, GlobalContext* globalCtx);
void EnHonotrap_Draw(Actor* thisx, GlobalContext* globalCtx); void EnHonotrap_Draw(Actor* thisx, GlobalContext* globalCtx);
extern UNK_TYPE D_0404D4E0; void EnHonotrap_SetupEyeIdle(EnHonotrap* this);
extern UNK_TYPE D_05006810; void EnHonotrap_EyeIdle(EnHonotrap* this, GlobalContext* globalCtx);
void EnHonotrap_SetupEyeOpen(EnHonotrap* this);
void EnHonotrap_EyeOpen(EnHonotrap* this, GlobalContext* globalCtx);
void EnHonotrap_SetupEyeAttack(EnHonotrap* this);
void EnHonotrap_EyeAttack(EnHonotrap* this, GlobalContext* globalCtx);
void EnHonotrap_SetupEyeClose(EnHonotrap* this);
void EnHonotrap_EyeClose(EnHonotrap* this, GlobalContext* globalCtx);
void EnHonotrap_SetupFlame(EnHonotrap* this);
void EnHonotrap_Flame(EnHonotrap* this, GlobalContext* globalCtx);
void EnHonotrap_SetupFlameDrop(EnHonotrap* this);
void EnHonotrap_FlameDrop(EnHonotrap* this, GlobalContext* globalCtx);
void EnHonotrap_SetupFlameMove(EnHonotrap* this);
void EnHonotrap_FlameMove(EnHonotrap* this, GlobalContext* globalCtx);
void EnHonotrap_SetupFlameChase(EnHonotrap* this);
void EnHonotrap_FlameChase(EnHonotrap* this, GlobalContext* globalCtx);
void EnHonotrap_SetupFlameVanish(EnHonotrap* this);
void EnHonotrap_FlameVanish(EnHonotrap* this, GlobalContext* globalCtx);
extern Gfx D_0404D4E0[];
extern Gfx D_05006810[];
/*
const ActorInit En_Honotrap_InitVars = { const ActorInit En_Honotrap_InitVars = {
ACTOR_EN_HONOTRAP, ACTOR_EN_HONOTRAP,
ACTORTYPE_PROP, ACTORTYPE_PROP,
@ -24,59 +61,442 @@ const ActorInit En_Honotrap_InitVars = {
(ActorFunc)EnHonotrap_Update, (ActorFunc)EnHonotrap_Update,
(ActorFunc)EnHonotrap_Draw, (ActorFunc)EnHonotrap_Draw,
}; };
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A59C30.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A59CC0.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A59D70.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A59F08.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/EnHonotrap_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/EnHonotrap_Destroy.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5A0E4.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5A0FC.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5A1B4.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5A208.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5A2D8.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5A2EC.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5A31C.s") static ColliderTrisItemInit sTrisElementsInit[2] = {
{
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5A32C.s") { 0x04, { 0x00000000, 0x00, 0x00 }, { 0x0001F824, 0x00, 0x00 }, 0x00, 0x01, 0x00 },
{ { { 0.0f, 23.0f, 8.5f }, { -23.0f, 0.0f, 8.5f }, { 0.0f, -23.0f, 8.5f } } },
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5A378.s") },
{
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5A388.s") { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x0001F824, 0x00, 0x00 }, 0x00, 0x01, 0x00 },
{ { { 0.0f, 23.0f, 8.5f }, { 0.0f, -23.0f, 8.5f }, { 23.0f, 0.0f, 8.5f } } },
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5A41C.s") },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5A484.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5A5C8.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5A658.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5A824.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5A860.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5AA14.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5AA24.s") static ColliderTrisInit sTrisInit = {
{ COLTYPE_UNK10, 0x00, 0x09, 0x00, 0x00, COLSHAPE_TRIS },
2,
sTrisElementsInit,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/EnHonotrap_Update.s") static ColliderCylinderInit sCylinderInit = {
{ COLTYPE_UNK10, 0x11, 0x09, 0x39, 0x20, COLSHAPE_CYLINDER },
{ 0x00, { 0xFFCFFFFF, 0x01, 0x04 }, { 0x00100000, 0x00, 0x00 }, 0x19, 0x01, 0x01 },
{ 10, 25, 0, { 0, 0, 0 } },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5ABFC.s") static CollisionCheckInfoInit sColChkInfoInit = { 0, 9, 23, 1 };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/func_80A5AD28.s") static InitChainEntry sInitChain[] = {
ICHAIN_F32(uncullZoneForward, 1000, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneScale, 500, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Honotrap/EnHonotrap_Draw.s") void EnHonotrap_FlameCollisionCheck(EnHonotrap* this, GlobalContext* globalCtx) {
s32 pad[3];
Collider_CylinderUpdate(&this->actor, &this->collider.cyl);
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.cyl.base);
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.cyl.base);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.cyl.base);
this->colChkFlags |= HONOTRAP_AT_ACTIVE;
this->colChkFlags |= HONOTRAP_AC_ACTIVE;
this->colChkFlags |= HONOTRAP_OC_ACTIVE;
}
void EnHonotrap_GetNormal(Vec3f* normal, Vec3f* vec) {
f32 mag = Math3D_Vec3fMagnitude(vec);
if (mag < 0.001f) {
osSyncPrintf("Warning : vector size zero (%s %d)\n", "../z_en_honotrap.c", 328, normal);
normal->x = normal->y = 0.0f;
normal->z = 1.0f;
} else {
normal->x = vec->x * (1.0f / mag);
normal->y = vec->y * (1.0f / mag);
normal->z = vec->z * (1.0f / mag);
}
}
void EnHonotrap_InitEye(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnHonotrap* this = THIS;
s32 i;
s32 j;
Vec3f* vtx;
Vec3f triangle[3];
f32 cos;
f32 sin;
Actor_SetScale(thisx, 0.1f);
sin = Math_SinS(thisx->initPosRot.rot.y);
cos = Math_CosS(thisx->initPosRot.rot.y);
Collider_InitTris(globalCtx, &this->collider.tris);
Collider_SetTris(globalCtx, &this->collider.tris, thisx, &sTrisInit, this->collider.elements);
for (i = 0; i < 2; i++) {
for (j = 0, vtx = triangle; j < 3; j++, vtx++) {
Vec3f* baseVtx = &sTrisInit.list[i].dim.vtx[j];
vtx->x = baseVtx->z * sin + baseVtx->x * cos;
vtx->y = baseVtx->y;
vtx->z = baseVtx->z * cos - baseVtx->x * sin;
Math_Vec3f_Sum(vtx, &thisx->posRot.pos, vtx);
}
func_800627A0(&this->collider.tris, i, &triangle[0], &triangle[1], &triangle[2]);
}
EnHonotrap_SetupEyeIdle(this);
Actor_SetHeight(thisx, 0.0f);
}
void EnHonotrap_InitFlame(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnHonotrap* this = THIS;
Actor_SetScale(&this->actor, 0.0001f);
Collider_InitCylinder(globalCtx, &this->collider.cyl);
Collider_SetCylinder(globalCtx, &this->collider.cyl, &this->actor, &sCylinderInit);
Collider_CylinderUpdate(&this->actor, &this->collider.cyl);
this->actor.minVelocityY = -1.0f;
func_80061ED4(&this->actor.colChkInfo, NULL, &sColChkInfoInit);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f);
this->actor.shape.unk_14 = 0x80;
this->targetPos = PLAYER->actor.posRot.pos;
this->targetPos.y += 10.0f;
this->flameScroll = Rand_ZeroOne() * 511.0f;
EnHonotrap_SetupFlame(this);
Audio_PlayActorSound2(&this->actor, NA_SE_EV_FLAME_IGNITION);
if (this->actor.params == HONOTRAP_FLAME_DROP) {
this->actor.room = -1;
this->collider.cyl.dim.radius = 12;
this->collider.cyl.dim.height = 30;
this->actor.shape.unk_08 = -1000.0f;
}
}
void EnHonotrap_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(thisx, sInitChain);
if (thisx->params == HONOTRAP_EYE) {
EnHonotrap_InitEye(thisx, globalCtx);
} else {
EnHonotrap_InitFlame(thisx, globalCtx);
}
}
void EnHonotrap_Destroy(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnHonotrap* this = THIS;
if (this->actor.params == HONOTRAP_EYE) {
Collider_DestroyTris(globalCtx, &this->collider.tris);
} else {
Collider_DestroyCylinder(globalCtx, &this->collider.cyl);
}
}
void EnHonotrap_SetupEyeIdle(EnHonotrap* this) {
this->actionFunc = EnHonotrap_EyeIdle;
this->eyeState = HONOTRAP_EYE_SHUT;
}
void EnHonotrap_EyeIdle(EnHonotrap* this, GlobalContext* globalCtx) {
if (this->actor.child != NULL) {
this->timer = 200;
} else if ((this->timer <= 0) && (this->actor.xzDistToLink < 750.0f) && (0.0f > this->actor.yDistToLink) &&
(this->actor.yDistToLink > -700.0f) &&
(-0x4000 < (this->actor.yawTowardsLink - this->actor.shape.rot.y)) &&
((this->actor.yawTowardsLink - this->actor.shape.rot.y) < 0x4000)) {
EnHonotrap_SetupEyeOpen(this);
}
}
void EnHonotrap_SetupEyeOpen(EnHonotrap* this) {
this->actionFunc = EnHonotrap_EyeOpen;
func_8003426C(&this->actor, 0x4000, 0xFF, 0, 0x28);
this->timer = 30;
Audio_PlayActorSound2(&this->actor, NA_SE_EV_RED_EYE);
}
void EnHonotrap_EyeOpen(EnHonotrap* this, GlobalContext* globalCtx) {
f32 cos;
f32 sin;
this->eyeState--;
if (this->eyeState <= HONOTRAP_EYE_OPEN) {
EnHonotrap_SetupEyeAttack(this);
sin = Math_SinS(this->actor.shape.rot.y);
cos = Math_CosS(this->actor.shape.rot.y);
Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_HONOTRAP,
(sin * 12.0f) + this->actor.initPosRot.pos.x, this->actor.initPosRot.pos.y - 10.0f,
(cos * 12.0f) + this->actor.initPosRot.pos.z, this->actor.initPosRot.rot.x,
this->actor.initPosRot.rot.y, this->actor.initPosRot.rot.z, HONOTRAP_FLAME_MOVE);
}
}
void EnHonotrap_SetupEyeAttack(EnHonotrap* this) {
this->actionFunc = EnHonotrap_EyeAttack;
this->eyeState = HONOTRAP_EYE_OPEN;
}
void EnHonotrap_EyeAttack(EnHonotrap* this, GlobalContext* globalCtx) {
if (this->timer <= 0) {
EnHonotrap_SetupEyeClose(this);
}
}
void EnHonotrap_SetupEyeClose(EnHonotrap* this) {
this->actionFunc = EnHonotrap_EyeClose;
}
void EnHonotrap_EyeClose(EnHonotrap* this, GlobalContext* globalCtx) {
this->eyeState++;
if (this->eyeState >= HONOTRAP_EYE_SHUT) {
EnHonotrap_SetupEyeIdle(this);
this->timer = 200;
}
}
void EnHonotrap_SetupFlame(EnHonotrap* this) {
this->actionFunc = EnHonotrap_Flame;
}
void EnHonotrap_Flame(EnHonotrap* this, GlobalContext* globalCtx) {
s32 pad;
s32 ready =
Math_StepToF(&this->actor.scale.x, (this->actor.params == HONOTRAP_FLAME_MOVE) ? 0.004f : 0.0048f, 0.0006f);
this->actor.scale.z = this->actor.scale.y = this->actor.scale.x;
if (ready) {
if (this->actor.params == HONOTRAP_FLAME_MOVE) {
EnHonotrap_SetupFlameMove(this);
} else {
EnHonotrap_SetupFlameDrop(this);
}
}
}
void EnHonotrap_SetupFlameDrop(EnHonotrap* this) {
this->timer = 40;
this->actor.velocity.y = 1.0f;
this->actor.velocity.x = 2.0f * Math_SinS(this->actor.posRot.rot.y);
this->actor.velocity.z = 2.0f * Math_CosS(this->actor.posRot.rot.y);
this->actionFunc = EnHonotrap_FlameDrop;
}
void EnHonotrap_FlameDrop(EnHonotrap* this, GlobalContext* globalCtx) {
if ((this->collider.cyl.base.atFlags & 2) || (this->timer <= 0)) {
if ((this->collider.cyl.base.atFlags & 2) && !(this->collider.cyl.base.atFlags & 4)) {
func_8002F71C(globalCtx, &this->actor, 5.0f, this->actor.yawTowardsLink, 0.0f);
}
this->actor.velocity.x = this->actor.velocity.y = this->actor.velocity.z = 0.0f;
EnHonotrap_SetupFlameVanish(this);
} else {
if (this->actor.velocity.y > 0.0f) {
this->actor.posRot.pos.x += this->actor.velocity.x;
this->actor.posRot.pos.z += this->actor.velocity.z;
func_8002E4B4(globalCtx, &this->actor, 7.0f, 12.0f, 0.0f, 5);
}
if (!Math_StepToF(&this->actor.posRot.pos.y, this->actor.groundY + 1.0f, this->actor.velocity.y)) {
this->actor.velocity.y += 1.0f;
} else {
this->actor.velocity.y = 0.0f;
}
EnHonotrap_FlameCollisionCheck(this, globalCtx);
}
}
void EnHonotrap_SetupFlameMove(EnHonotrap* this) {
f32 distFrac;
this->actionFunc = EnHonotrap_FlameMove;
distFrac = 1.0f / (func_8002DB6C(&this->actor, &this->targetPos) + 1.0f);
this->actor.velocity.x = (this->targetPos.x - this->actor.posRot.pos.x) * distFrac;
this->actor.velocity.y = (this->targetPos.y - this->actor.posRot.pos.y) * distFrac;
this->actor.velocity.z = (this->targetPos.z - this->actor.posRot.pos.z) * distFrac;
this->speedMod = 0.0f;
this->timer = 160;
}
void EnHonotrap_FlameMove(EnHonotrap* this, GlobalContext* globalCtx) {
s32 pad;
Vec3f speed;
s32 ready;
Math_StepToF(&this->speedMod, 13.0f, 0.5f);
speed.x = fabsf(this->speedMod * this->actor.velocity.x);
speed.y = fabsf(this->speedMod * this->actor.velocity.y);
speed.z = fabsf(this->speedMod * this->actor.velocity.z);
ready = Math_StepToF(&this->actor.posRot.pos.x, this->targetPos.x, speed.x) & 1;
ready &= Math_StepToF(&this->actor.posRot.pos.y, this->targetPos.y, speed.y);
ready &= Math_StepToF(&this->actor.posRot.pos.z, this->targetPos.z, speed.z);
func_8002E4B4(globalCtx, &this->actor, 7.0f, 10.0f, 0.0f, 0x1D);
if (this->collider.tris.base.atFlags & 4) {
Player* player = PLAYER;
Vec3f shieldNorm;
Vec3f tempVel;
Vec3f shieldVec;
shieldVec.x = -player->shieldMf.zx;
shieldVec.y = -player->shieldMf.zy;
shieldVec.z = -player->shieldMf.zz;
EnHonotrap_GetNormal(&shieldNorm, &shieldVec);
tempVel = this->actor.velocity;
Math3D_Vec3fReflect(&tempVel, &shieldNorm, &this->actor.velocity);
this->actor.speedXZ = this->speedMod * 0.5f;
this->actor.posRot.rot.y = Math_Atan2S(this->actor.velocity.z, this->actor.velocity.x);
EnHonotrap_SetupFlameVanish(this);
} else if (this->collider.tris.base.atFlags & 2) {
this->actor.velocity.y = this->actor.speedXZ = 0.0f;
EnHonotrap_SetupFlameVanish(this);
} else if (this->timer <= 0) {
EnHonotrap_SetupFlameVanish(this);
} else {
EnHonotrap_FlameCollisionCheck(this, globalCtx);
if (ready) {
EnHonotrap_SetupFlameChase(this);
}
}
}
void EnHonotrap_SetupFlameChase(EnHonotrap* this) {
this->actionFunc = EnHonotrap_FlameChase;
this->actor.velocity.x = this->actor.velocity.y = this->actor.velocity.z = this->actor.speedXZ = 0.0f;
this->actor.posRot.rot.x = this->actor.posRot.rot.y = this->actor.posRot.rot.z = 0;
this->timer = 100;
}
void EnHonotrap_FlameChase(EnHonotrap* this, GlobalContext* globalCtx) {
s32 pad;
Math_ScaledStepToS(&this->actor.posRot.rot.y, this->actor.yawTowardsLink, 0x300);
Math_StepToF(&this->actor.speedXZ, 3.0f, 0.1f);
this->actor.gravity = (-this->actor.yDistToLink < 10.0f) ? 0.08f : -0.08f;
func_8002D868(&this->actor);
if (this->actor.velocity.y > 1.0f) {
this->actor.velocity.y = 1.0f;
}
this->actor.velocity.y *= 0.95f;
func_8002D7EC(&this->actor);
func_8002E4B4(globalCtx, &this->actor, 7.0f, 10.0f, 0.0f, 0x1D);
if (this->collider.cyl.base.atFlags & 4) {
Player* player = PLAYER;
Vec3s shieldRot;
func_800D20CC(&player->shieldMf, &shieldRot, false);
this->actor.posRot.rot.y = ((shieldRot.y * 2) - this->actor.posRot.rot.y) + 0x8000;
EnHonotrap_SetupFlameVanish(this);
} else if (this->collider.cyl.base.atFlags & 2) {
this->actor.speedXZ *= 0.1f;
this->actor.velocity.y *= 0.1f;
EnHonotrap_SetupFlameVanish(this);
} else if ((this->actor.bgCheckFlags & 8) || (this->timer <= 0)) {
EnHonotrap_SetupFlameVanish(this);
} else {
EnHonotrap_FlameCollisionCheck(this, globalCtx);
}
}
void EnHonotrap_SetupFlameVanish(EnHonotrap* this) {
this->actionFunc = EnHonotrap_FlameVanish;
}
void EnHonotrap_FlameVanish(EnHonotrap* this, GlobalContext* globalCtx) {
s32 pad;
s32 ready = Math_StepToF(&this->actor.scale.x, 0.0001f, 0.00015f);
this->actor.scale.z = this->actor.scale.y = this->actor.scale.x;
Actor_MoveForward(&this->actor);
func_8002E4B4(globalCtx, &this->actor, 7.0f, 10.0f, 0.0f, 0x1D);
if (ready) {
Actor_Kill(&this->actor);
}
}
void EnHonotrap_Update(Actor* thisx, GlobalContext* globalCtx) {
static Vec3f velocity = { 0.0f, 0.0f, 0.0f };
static Vec3f accel = { 0.0f, 0.1f, 0.0f };
s32 pad;
EnHonotrap* this = THIS;
if (this->timer > 0) {
this->timer--;
}
if (this->actor.params == HONOTRAP_EYE) {
if ((this->actor.child != NULL) && (this->actor.child->update == NULL)) {
this->actor.child = NULL;
}
} else {
this->colChkFlags = 0;
this->bobPhase += 0x640;
this->actor.shape.unk_08 = (Math_SinS(this->bobPhase) * 1000.0f) + 600.0f;
Actor_SetHeight(&this->actor, 5.0f);
Audio_PlayActorSound2(&this->actor, NA_SE_EV_BURN_OUT - SFX_FLAG);
}
this->actionFunc(this, globalCtx);
if (this->actor.params == HONOTRAP_EYE) {
if (this->collider.tris.base.acFlags & 2) {
EffectSsBomb2_SpawnLayered(globalCtx, &this->actor.posRot.pos, &velocity, &accel, 15, 8);
Actor_Kill(&this->actor);
} else if (this->eyeState < HONOTRAP_EYE_SHUT) {
this->collider.tris.base.acFlags &= ~2;
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.tris.base);
}
}
}
void EnHonotrap_DrawEye(Actor* thisx, GlobalContext* globalCtx) {
static void* eyeTextures[] = { 0x0500B0A0, 0x0500B8A0, 0x0500C0A0, 0x0500C0A0 };
EnHonotrap* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_honotrap.c", 982);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeState]));
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_honotrap.c", 987),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_05006810);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_honotrap.c", 991);
}
void EnHonotrap_DrawFlame(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnHonotrap* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_honotrap.c", 1000);
func_80093D84(globalCtx->state.gfxCtx);
this->flameScroll -= 20;
this->flameScroll &= 0x1FF;
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 0x20, 0x40, 1, 0, this->flameScroll, 0x20, 0x80));
gDPSetPrimColor(POLY_XLU_DISP++, 0x80, 0x80, 255, 200, 0, 255);
gDPSetEnvColor(POLY_XLU_DISP++, 255, 0, 0, 0);
Matrix_RotateY((s16)(Camera_GetCamDirYaw(ACTIVE_CAM) - this->actor.shape.rot.y + 0x8000) * 0.0000958738f,
MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_honotrap.c", 1024),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_0404D4E0);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_honotrap.c", 1028);
}
void EnHonotrap_Draw(Actor* thisx, GlobalContext* globalCtx) {
switch (thisx->params) {
case HONOTRAP_EYE:
EnHonotrap_DrawEye(thisx, globalCtx);
break;
case HONOTRAP_FLAME_MOVE:
case HONOTRAP_FLAME_DROP:
EnHonotrap_DrawFlame(thisx, globalCtx);
break;
}
}

View file

@ -6,11 +6,35 @@
struct EnHonotrap; struct EnHonotrap;
typedef void (*EnHonotrapActionFunc)(struct EnHonotrap*, GlobalContext*);
typedef union {
struct {
ColliderTris tris;
ColliderTrisItem elements[2];
};
ColliderCylinder cyl;
} EnHonotrapCollider; // size = 0xD8
typedef struct EnHonotrap { typedef struct EnHonotrap {
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0xF8]; /* 0x014C */ EnHonotrapActionFunc actionFunc;
/* 0x0150 */ EnHonotrapCollider collider;
/* 0x0228 */ s16 timer;
/* 0x022A */ s16 eyeState;
/* 0x022C */ Vec3f targetPos;
/* 0x0238 */ f32 speedMod;
/* 0x023C */ s16 bobPhase;
/* 0x023E */ s16 flameScroll;
/* 0x0240 */ u8 colChkFlags;
} EnHonotrap; // size = 0x0244 } EnHonotrap; // size = 0x0244
typedef enum {
HONOTRAP_EYE,
HONOTRAP_FLAME_MOVE,
HONOTRAP_FLAME_DROP
} EnHonotrapType;
extern const ActorInit En_Honotrap_InitVars; extern const ActorInit En_Honotrap_InitVars;
#endif #endif

View file

@ -5,6 +5,7 @@
*/ */
#include "z_en_po_relay.h" #include "z_en_po_relay.h"
#include "overlays/actors/ovl_En_Honotrap/z_en_honotrap.h"
#define FLAGS 0x00011019 #define FLAGS 0x00011019
@ -196,7 +197,7 @@ void EnPoRelay_Race(EnPoRelay* this, GlobalContext* globalCtx) {
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HONOTRAP, Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HONOTRAP,
Math_CosS(this->unk_19A) * speed + this->actor.posRot.pos.x, this->actor.posRot.pos.y, Math_CosS(this->unk_19A) * speed + this->actor.posRot.pos.x, this->actor.posRot.pos.y,
Math_SinS(this->unk_19A) * speed + this->actor.posRot.pos.z, 0, Math_SinS(this->unk_19A) * speed + this->actor.posRot.pos.z, 0,
(this->unk_19A + 0x8000) - (0x2000 * multiplier), 0, 2); (this->unk_19A + 0x8000) - (0x2000 * multiplier), 0, HONOTRAP_FLAME_DROP);
} }
} }
Math_SmoothStepToS(&this->actor.posRot.rot.y, this->unk_19A, 2, 0x1000, 0x100); Math_SmoothStepToS(&this->actor.posRot.rot.y, this->unk_19A, 2, 0x1000, 0x100);