mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-27 07:07:09 +00:00
Match EnIceHono (#335)
* Match EnIceHono * Cleanup for PR * Delete unused asm * Fix formatting * Requested style changes * PR fixes * More PR fixes * PR fixes
This commit is contained in:
parent
213bac4657
commit
ca2c493374
22 changed files with 339 additions and 1306 deletions
|
@ -1,27 +0,0 @@
|
|||
glabel EnIceHono_Destroy
|
||||
/* 003A0 80A73390 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 003A4 80A73394 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 003A8 80A73398 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 003AC 80A7339C 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
|
||||
/* 003B0 80A733A0 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 003B4 80A733A4 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF
|
||||
/* 003B8 80A733A8 10410003 */ beq $v0, $at, .L80A733B8
|
||||
/* 003BC 80A733AC 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 003C0 80A733B0 5440000A */ bnel $v0, $zero, .L80A733DC
|
||||
/* 003C4 80A733B4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A733B8:
|
||||
/* 003C8 80A733B8 8CE601A8 */ lw $a2, 0x01A8($a3) ## 000001A8
|
||||
/* 003CC 80A733BC AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 003D0 80A733C0 0C01E9F1 */ jal LightContext_RemoveLight
|
||||
|
||||
/* 003D4 80A733C4 248507A8 */ addiu $a1, $a0, 0x07A8 ## $a1 = 000007A8
|
||||
/* 003D8 80A733C8 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 003DC 80A733CC 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 003E0 80A733D0 0C0170EB */ jal Collider_DestroyCylinder
|
||||
|
||||
/* 003E4 80A733D4 24E5015C */ addiu $a1, $a3, 0x015C ## $a1 = 0000015C
|
||||
/* 003E8 80A733D8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A733DC:
|
||||
/* 003EC 80A733DC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 003F0 80A733E0 03E00008 */ jr $ra
|
||||
/* 003F4 80A733E4 00000000 */ nop
|
|
@ -1,140 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A740D8
|
||||
.asciz "../z_en_ice_hono.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A740EC
|
||||
.asciz "../z_en_ice_hono.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A74100
|
||||
.asciz "../z_en_ice_hono.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_80A74174
|
||||
.float 9.58738019108e-05
|
||||
|
||||
.text
|
||||
glabel EnIceHono_Draw
|
||||
/* 00E1C 80A73E0C 27BDFF88 */ addiu $sp, $sp, 0xFF88 ## $sp = FFFFFF88
|
||||
/* 00E20 80A73E10 AFB10038 */ sw $s1, 0x0038($sp)
|
||||
/* 00E24 80A73E14 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00E28 80A73E18 AFBF003C */ sw $ra, 0x003C($sp)
|
||||
/* 00E2C 80A73E1C AFB00034 */ sw $s0, 0x0034($sp)
|
||||
/* 00E30 80A73E20 AFA40078 */ sw $a0, 0x0078($sp)
|
||||
/* 00E34 80A73E24 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 00E38 80A73E28 3C0680A7 */ lui $a2, %hi(D_80A740D8) ## $a2 = 80A70000
|
||||
/* 00E3C 80A73E2C 24C640D8 */ addiu $a2, $a2, %lo(D_80A740D8) ## $a2 = 80A740D8
|
||||
/* 00E40 80A73E30 27A4005C */ addiu $a0, $sp, 0x005C ## $a0 = FFFFFFE4
|
||||
/* 00E44 80A73E34 240702B7 */ addiu $a3, $zero, 0x02B7 ## $a3 = 000002B7
|
||||
/* 00E48 80A73E38 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 00E4C 80A73E3C 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 00E50 80A73E40 0C024F61 */ jal func_80093D84
|
||||
/* 00E54 80A73E44 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
|
||||
/* 00E58 80A73E48 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 00E5C 80A73E4C 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
|
||||
/* 00E60 80A73E50 35EF0020 */ ori $t7, $t7, 0x0020 ## $t7 = DB060020
|
||||
/* 00E64 80A73E54 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
|
||||
/* 00E68 80A73E58 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0
|
||||
/* 00E6C 80A73E5C AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
|
||||
/* 00E70 80A73E60 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
|
||||
/* 00E74 80A73E64 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020
|
||||
/* 00E78 80A73E68 24190040 */ addiu $t9, $zero, 0x0040 ## $t9 = 00000040
|
||||
/* 00E7C 80A73E6C 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
||||
/* 00E80 80A73E70 AFA80018 */ sw $t0, 0x0018($sp)
|
||||
/* 00E84 80A73E74 AFB90014 */ sw $t9, 0x0014($sp)
|
||||
/* 00E88 80A73E78 AFB80010 */ sw $t8, 0x0010($sp)
|
||||
/* 00E8C 80A73E7C AFA0001C */ sw $zero, 0x001C($sp)
|
||||
/* 00E90 80A73E80 8E29009C */ lw $t1, 0x009C($s1) ## 0000009C
|
||||
/* 00E94 80A73E84 240C0020 */ addiu $t4, $zero, 0x0020 ## $t4 = 00000020
|
||||
/* 00E98 80A73E88 240D0080 */ addiu $t5, $zero, 0x0080 ## $t5 = 00000080
|
||||
/* 00E9C 80A73E8C 00090823 */ subu $at, $zero, $t1
|
||||
/* 00EA0 80A73E90 00015080 */ sll $t2, $at, 2
|
||||
/* 00EA4 80A73E94 01415021 */ addu $t2, $t2, $at
|
||||
/* 00EA8 80A73E98 000A5080 */ sll $t2, $t2, 2
|
||||
/* 00EAC 80A73E9C 314B01FF */ andi $t3, $t2, 0x01FF ## $t3 = 00000000
|
||||
/* 00EB0 80A73EA0 AFAB0020 */ sw $t3, 0x0020($sp)
|
||||
/* 00EB4 80A73EA4 AFAD0028 */ sw $t5, 0x0028($sp)
|
||||
/* 00EB8 80A73EA8 AFAC0024 */ sw $t4, 0x0024($sp)
|
||||
/* 00EBC 80A73EAC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00EC0 80A73EB0 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00EC4 80A73EB4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00EC8 80A73EB8 0C0253D0 */ jal Gfx_TwoTexScroll
|
||||
/* 00ECC 80A73EBC AFA20058 */ sw $v0, 0x0058($sp)
|
||||
/* 00ED0 80A73EC0 8FA30058 */ lw $v1, 0x0058($sp)
|
||||
/* 00ED4 80A73EC4 3C0FFA00 */ lui $t7, 0xFA00 ## $t7 = FA000000
|
||||
/* 00ED8 80A73EC8 35EF8080 */ ori $t7, $t7, 0x8080 ## $t7 = FA008080
|
||||
/* 00EDC 80A73ECC AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 00EE0 80A73ED0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 00EE4 80A73ED4 3C01AAFF */ lui $at, 0xAAFF ## $at = AAFF0000
|
||||
/* 00EE8 80A73ED8 3421FF00 */ ori $at, $at, 0xFF00 ## $at = AAFFFF00
|
||||
/* 00EEC 80A73EDC 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
|
||||
/* 00EF0 80A73EE0 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0
|
||||
/* 00EF4 80A73EE4 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
|
||||
/* 00EF8 80A73EE8 8FB80078 */ lw $t8, 0x0078($sp)
|
||||
/* 00EFC 80A73EEC 3C0C0096 */ lui $t4, 0x0096 ## $t4 = 00960000
|
||||
/* 00F00 80A73EF0 358CFF00 */ ori $t4, $t4, 0xFF00 ## $t4 = 0096FF00
|
||||
/* 00F04 80A73EF4 87190150 */ lh $t9, 0x0150($t8) ## 00000150
|
||||
/* 00F08 80A73EF8 3C0BFB00 */ lui $t3, 0xFB00 ## $t3 = FB000000
|
||||
/* 00F0C 80A73EFC 332800FF */ andi $t0, $t9, 0x00FF ## $t0 = 00000000
|
||||
/* 00F10 80A73F00 01014825 */ or $t1, $t0, $at ## $t1 = AAFFFF00
|
||||
/* 00F14 80A73F04 AC490004 */ sw $t1, 0x0004($v0) ## 00000004
|
||||
/* 00F18 80A73F08 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 00F1C 80A73F0C 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
|
||||
/* 00F20 80A73F10 AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0
|
||||
/* 00F24 80A73F14 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
|
||||
/* 00F28 80A73F18 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
|
||||
/* 00F2C 80A73F1C 862D07A0 */ lh $t5, 0x07A0($s1) ## 000007A0
|
||||
/* 00F30 80A73F20 000D7080 */ sll $t6, $t5, 2
|
||||
/* 00F34 80A73F24 022E7821 */ addu $t7, $s1, $t6
|
||||
/* 00F38 80A73F28 0C016A7D */ jal func_8005A9F4
|
||||
/* 00F3C 80A73F2C 8DE40790 */ lw $a0, 0x0790($t7) ## FA008810
|
||||
/* 00F40 80A73F30 8FB80078 */ lw $t8, 0x0078($sp)
|
||||
/* 00F44 80A73F34 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 00F48 80A73F38 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 00F4C 80A73F3C 871900B6 */ lh $t9, 0x00B6($t8) ## 000000B6
|
||||
/* 00F50 80A73F40 00594023 */ subu $t0, $v0, $t9
|
||||
/* 00F54 80A73F44 01014821 */ addu $t1, $t0, $at
|
||||
/* 00F58 80A73F48 00095400 */ sll $t2, $t1, 16
|
||||
/* 00F5C 80A73F4C 000A5C03 */ sra $t3, $t2, 16
|
||||
/* 00F60 80A73F50 448B2000 */ mtc1 $t3, $f4 ## $f4 = 0.00
|
||||
/* 00F64 80A73F54 3C0180A7 */ lui $at, %hi(D_80A74174) ## $at = 80A70000
|
||||
/* 00F68 80A73F58 C4284174 */ lwc1 $f8, %lo(D_80A74174)($at)
|
||||
/* 00F6C 80A73F5C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00F70 80A73F60 46083302 */ mul.s $f12, $f6, $f8
|
||||
/* 00F74 80A73F64 0C034348 */ jal Matrix_RotateY
|
||||
/* 00F78 80A73F68 00000000 */ nop
|
||||
/* 00F7C 80A73F6C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 00F80 80A73F70 3C0DDA38 */ lui $t5, 0xDA38 ## $t5 = DA380000
|
||||
/* 00F84 80A73F74 35AD0003 */ ori $t5, $t5, 0x0003 ## $t5 = DA380003
|
||||
/* 00F88 80A73F78 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
|
||||
/* 00F8C 80A73F7C AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0
|
||||
/* 00F90 80A73F80 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
|
||||
/* 00F94 80A73F84 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
|
||||
/* 00F98 80A73F88 3C0580A7 */ lui $a1, %hi(D_80A740EC) ## $a1 = 80A70000
|
||||
/* 00F9C 80A73F8C 24A540EC */ addiu $a1, $a1, %lo(D_80A740EC) ## $a1 = 80A740EC
|
||||
/* 00FA0 80A73F90 240602CE */ addiu $a2, $zero, 0x02CE ## $a2 = 000002CE
|
||||
/* 00FA4 80A73F94 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 00FA8 80A73F98 AFA2004C */ sw $v0, 0x004C($sp)
|
||||
/* 00FAC 80A73F9C 8FA3004C */ lw $v1, 0x004C($sp)
|
||||
/* 00FB0 80A73FA0 3C180405 */ lui $t8, 0x0405 ## $t8 = 04050000
|
||||
/* 00FB4 80A73FA4 2718D4E0 */ addiu $t8, $t8, 0xD4E0 ## $t8 = 0404D4E0
|
||||
/* 00FB8 80A73FA8 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 00FBC 80A73FAC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 00FC0 80A73FB0 3C0FDE00 */ lui $t7, 0xDE00 ## $t7 = DE000000
|
||||
/* 00FC4 80A73FB4 3C0680A7 */ lui $a2, %hi(D_80A74100) ## $a2 = 80A70000
|
||||
/* 00FC8 80A73FB8 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
|
||||
/* 00FCC 80A73FBC AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0
|
||||
/* 00FD0 80A73FC0 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
|
||||
/* 00FD4 80A73FC4 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
|
||||
/* 00FD8 80A73FC8 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
|
||||
/* 00FDC 80A73FCC 24C64100 */ addiu $a2, $a2, %lo(D_80A74100) ## $a2 = 80A74100
|
||||
/* 00FE0 80A73FD0 27A4005C */ addiu $a0, $sp, 0x005C ## $a0 = FFFFFFE4
|
||||
/* 00FE4 80A73FD4 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 00FE8 80A73FD8 240702D2 */ addiu $a3, $zero, 0x02D2 ## $a3 = 000002D2
|
||||
/* 00FEC 80A73FDC 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
/* 00FF0 80A73FE0 8FB00034 */ lw $s0, 0x0034($sp)
|
||||
/* 00FF4 80A73FE4 8FB10038 */ lw $s1, 0x0038($sp)
|
||||
/* 00FF8 80A73FE8 03E00008 */ jr $ra
|
||||
/* 00FFC 80A73FEC 27BD0078 */ addiu $sp, $sp, 0x0078 ## $sp = 00000000
|
|
@ -1,115 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A740A0
|
||||
.asciz "(ice 炎)(arg_data 0x%04x)\n"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_80A7412C
|
||||
.word 0x477FFF80
|
||||
glabel D_80A74130
|
||||
.word 0x477FFF80
|
||||
|
||||
.text
|
||||
glabel EnIceHono_Init
|
||||
/* 00238 80A73228 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 0023C 80A7322C AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00240 80A73230 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00244 80A73234 AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 00248 80A73238 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
|
||||
/* 0024C 80A7323C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00250 80A73240 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF
|
||||
/* 00254 80A73244 1041000B */ beq $v0, $at, .L80A73274
|
||||
/* 00258 80A73248 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0025C 80A7324C 1040000D */ beq $v0, $zero, .L80A73284
|
||||
/* 00260 80A73250 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00264 80A73254 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00268 80A73258 1041000E */ beq $v0, $at, .L80A73294
|
||||
/* 0026C 80A7325C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00270 80A73260 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00274 80A73264 1041000B */ beq $v0, $at, .L80A73294
|
||||
/* 00278 80A73268 00000000 */ nop
|
||||
/* 0027C 80A7326C 1000000D */ beq $zero, $zero, .L80A732A4
|
||||
/* 00280 80A73270 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF
|
||||
.L80A73274:
|
||||
/* 00284 80A73274 0C29CC07 */ jal func_80A7301C
|
||||
/* 00288 80A73278 8FA50044 */ lw $a1, 0x0044($sp)
|
||||
/* 0028C 80A7327C 10000008 */ beq $zero, $zero, .L80A732A0
|
||||
/* 00290 80A73280 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
.L80A73284:
|
||||
/* 00294 80A73284 0C29CC2F */ jal func_80A730BC
|
||||
/* 00298 80A73288 8FA50044 */ lw $a1, 0x0044($sp)
|
||||
/* 0029C 80A7328C 10000004 */ beq $zero, $zero, .L80A732A0
|
||||
/* 002A0 80A73290 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
.L80A73294:
|
||||
/* 002A4 80A73294 0C29CC70 */ jal func_80A731C0
|
||||
/* 002A8 80A73298 8FA50044 */ lw $a1, 0x0044($sp)
|
||||
/* 002AC 80A7329C 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
.L80A732A0:
|
||||
/* 002B0 80A732A0 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF
|
||||
.L80A732A4:
|
||||
/* 002B4 80A732A4 10410003 */ beq $v0, $at, .L80A732B4
|
||||
/* 002B8 80A732A8 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
|
||||
/* 002BC 80A732AC 54400034 */ bnel $v0, $zero, .L80A73380
|
||||
/* 002C0 80A732B0 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L80A732B4:
|
||||
/* 002C4 80A732B4 C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
|
||||
/* 002C8 80A732B8 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 002CC 80A732BC C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
|
||||
/* 002D0 80A732C0 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 002D4 80A732C4 2419009B */ addiu $t9, $zero, 0x009B ## $t9 = 0000009B
|
||||
/* 002D8 80A732C8 240800D2 */ addiu $t0, $zero, 0x00D2 ## $t0 = 000000D2
|
||||
/* 002DC 80A732CC 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 002E0 80A732D0 44065000 */ mfc1 $a2, $f10
|
||||
/* 002E4 80A732D4 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF
|
||||
/* 002E8 80A732D8 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 002EC 80A732DC 44053000 */ mfc1 $a1, $f6
|
||||
/* 002F0 80A732E0 00063400 */ sll $a2, $a2, 16
|
||||
/* 002F4 80A732E4 00063403 */ sra $a2, $a2, 16
|
||||
/* 002F8 80A732E8 44079000 */ mfc1 $a3, $f18
|
||||
/* 002FC 80A732EC 24C6000A */ addiu $a2, $a2, 0x000A ## $a2 = 0000000A
|
||||
/* 00300 80A732F0 00063400 */ sll $a2, $a2, 16
|
||||
/* 00304 80A732F4 00052C00 */ sll $a1, $a1, 16
|
||||
/* 00308 80A732F8 00073C00 */ sll $a3, $a3, 16
|
||||
/* 0030C 80A732FC 00073C03 */ sra $a3, $a3, 16
|
||||
/* 00310 80A73300 00052C03 */ sra $a1, $a1, 16
|
||||
/* 00314 80A73304 00063403 */ sra $a2, $a2, 16
|
||||
/* 00318 80A73308 AFA90018 */ sw $t1, 0x0018($sp)
|
||||
/* 0031C 80A7330C AFA80014 */ sw $t0, 0x0014($sp)
|
||||
/* 00320 80A73310 AFB90010 */ sw $t9, 0x0010($sp)
|
||||
/* 00324 80A73314 AFA40030 */ sw $a0, 0x0030($sp)
|
||||
/* 00328 80A73318 0C01E763 */ jal Lights_PointNoGlowSetInfo
|
||||
|
||||
/* 0032C 80A7331C AFA0001C */ sw $zero, 0x001C($sp)
|
||||
/* 00330 80A73320 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 00334 80A73324 8FA60030 */ lw $a2, 0x0030($sp)
|
||||
/* 00338 80A73328 0C01E9D9 */ jal LightContext_InsertLight
|
||||
|
||||
/* 0033C 80A7332C 248507A8 */ addiu $a1, $a0, 0x07A8 ## $a1 = 000007A8
|
||||
/* 00340 80A73330 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00344 80A73334 AE0201A8 */ sw $v0, 0x01A8($s0) ## 000001A8
|
||||
/* 00348 80A73338 3C0180A7 */ lui $at, %hi(D_80A7412C) ## $at = 80A70000
|
||||
/* 0034C 80A7333C C424412C */ lwc1 $f4, %lo(D_80A7412C)($at)
|
||||
/* 00350 80A73340 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 00354 80A73344 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 00358 80A73348 440C4000 */ mfc1 $t4, $f8
|
||||
/* 0035C 80A7334C 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00360 80A73350 A60C0154 */ sh $t4, 0x0154($s0) ## 00000154
|
||||
/* 00364 80A73354 3C0180A7 */ lui $at, %hi(D_80A74130) ## $at = 80A70000
|
||||
/* 00368 80A73358 C42A4130 */ lwc1 $f10, %lo(D_80A74130)($at)
|
||||
/* 0036C 80A7335C 3C0480A7 */ lui $a0, %hi(D_80A740A0) ## $a0 = 80A70000
|
||||
/* 00370 80A73360 248440A0 */ addiu $a0, $a0, %lo(D_80A740A0) ## $a0 = 80A740A0
|
||||
/* 00374 80A73364 460A0402 */ mul.s $f16, $f0, $f10
|
||||
/* 00378 80A73368 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 0037C 80A7336C 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 00380 80A73370 440E9000 */ mfc1 $t6, $f18
|
||||
/* 00384 80A73374 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00388 80A73378 A60E0156 */ sh $t6, 0x0156($s0) ## 00000156
|
||||
/* 0038C 80A7337C 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L80A73380:
|
||||
/* 00390 80A73380 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00394 80A73384 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 00398 80A73388 03E00008 */ jr $ra
|
||||
/* 0039C 80A7338C 00000000 */ nop
|
|
@ -1,155 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A740BC
|
||||
.asciz "ありえない値(ratio = %f)\n"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_80A74160
|
||||
.float 0.1
|
||||
|
||||
glabel D_80A74164
|
||||
.float 0.05
|
||||
|
||||
glabel D_80A74168
|
||||
.word 0x3ED9999A
|
||||
glabel D_80A7416C
|
||||
.float 0.7
|
||||
|
||||
glabel D_80A74170
|
||||
.float 0.2
|
||||
|
||||
.text
|
||||
glabel EnIceHono_Update
|
||||
/* 00C38 80A73C28 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 00C3C 80A73C2C AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00C40 80A73C30 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00C44 80A73C34 AFA5004C */ sw $a1, 0x004C($sp)
|
||||
/* 00C48 80A73C38 84820152 */ lh $v0, 0x0152($a0) ## 00000152
|
||||
/* 00C4C 80A73C3C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00C50 80A73C40 24051048 */ addiu $a1, $zero, 0x1048 ## $a1 = 00001048
|
||||
/* 00C54 80A73C44 18400002 */ blez $v0, .L80A73C50
|
||||
/* 00C58 80A73C48 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00C5C 80A73C4C A48E0152 */ sh $t6, 0x0152($a0) ## 00000152
|
||||
.L80A73C50:
|
||||
/* 00C60 80A73C50 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 00C64 80A73C54 54400005 */ bnel $v0, $zero, .L80A73C6C
|
||||
/* 00C68 80A73C58 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF
|
||||
/* 00C6C 80A73C5C 0C00BE3C */ jal func_8002F8F0
|
||||
/* 00C70 80A73C60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C74 80A73C64 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 00C78 80A73C68 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF
|
||||
.L80A73C6C:
|
||||
/* 00C7C 80A73C6C 50410004 */ beql $v0, $at, .L80A73C80
|
||||
/* 00C80 80A73C70 86190156 */ lh $t9, 0x0156($s0) ## 00000156
|
||||
/* 00C84 80A73C74 5440005B */ bnel $v0, $zero, .L80A73DE4
|
||||
/* 00C88 80A73C78 8E02014C */ lw $v0, 0x014C($s0) ## 0000014C
|
||||
/* 00C8C 80A73C7C 86190156 */ lh $t9, 0x0156($s0) ## 00000156
|
||||
.L80A73C80:
|
||||
/* 00C90 80A73C80 860F0154 */ lh $t7, 0x0154($s0) ## 00000154
|
||||
/* 00C94 80A73C84 27284000 */ addiu $t0, $t9, 0x4000 ## $t0 = 00004000
|
||||
/* 00C98 80A73C88 A6080156 */ sh $t0, 0x0156($s0) ## 00000156
|
||||
/* 00C9C 80A73C8C 25F81111 */ addiu $t8, $t7, 0x1111 ## $t8 = 00001111
|
||||
/* 00CA0 80A73C90 A6180154 */ sh $t8, 0x0154($s0) ## 00000154
|
||||
/* 00CA4 80A73C94 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 00CA8 80A73C98 86040156 */ lh $a0, 0x0156($s0) ## 00000156
|
||||
/* 00CAC 80A73C9C E7A00030 */ swc1 $f0, 0x0030($sp)
|
||||
/* 00CB0 80A73CA0 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 00CB4 80A73CA4 86040154 */ lh $a0, 0x0154($s0) ## 00000154
|
||||
/* 00CB8 80A73CA8 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00CBC 80A73CAC E7A00034 */ swc1 $f0, 0x0034($sp)
|
||||
/* 00CC0 80A73CB0 3C013E00 */ lui $at, 0x3E00 ## $at = 3E000000
|
||||
/* 00CC4 80A73CB4 44813000 */ mtc1 $at, $f6 ## $f6 = 0.12
|
||||
/* 00CC8 80A73CB8 C7A40034 */ lwc1 $f4, 0x0034($sp)
|
||||
/* 00CCC 80A73CBC 3C0180A7 */ lui $at, %hi(D_80A74160) ## $at = 80A70000
|
||||
/* 00CD0 80A73CC0 C4304160 */ lwc1 $f16, %lo(D_80A74160)($at)
|
||||
/* 00CD4 80A73CC4 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 00CD8 80A73CC8 C7AA0030 */ lwc1 $f10, 0x0030($sp)
|
||||
/* 00CDC 80A73CCC 3C0180A7 */ lui $at, %hi(D_80A74164) ## $at = 80A70000
|
||||
/* 00CE0 80A73CD0 C4264164 */ lwc1 $f6, %lo(D_80A74164)($at)
|
||||
/* 00CE4 80A73CD4 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 00CE8 80A73CD8 3C0180A7 */ lui $at, %hi(D_80A74168) ## $at = 80A70000
|
||||
/* 00CEC 80A73CDC 3C0480A7 */ lui $a0, %hi(D_80A740BC) ## $a0 = 80A70000
|
||||
/* 00CF0 80A73CE0 46060282 */ mul.s $f10, $f0, $f6
|
||||
/* 00CF4 80A73CE4 46124100 */ add.s $f4, $f8, $f18
|
||||
/* 00CF8 80A73CE8 C4284168 */ lwc1 $f8, %lo(D_80A74168)($at)
|
||||
/* 00CFC 80A73CEC 3C0180A7 */ lui $at, %hi(D_80A7416C) ## $at = 80A70000
|
||||
/* 00D00 80A73CF0 C432416C */ lwc1 $f18, %lo(D_80A7416C)($at)
|
||||
/* 00D04 80A73CF4 46045400 */ add.s $f16, $f10, $f4
|
||||
/* 00D08 80A73CF8 3C0180A7 */ lui $at, %hi(D_80A74170) ## $at = 80A70000
|
||||
/* 00D0C 80A73CFC 46088080 */ add.s $f2, $f16, $f8
|
||||
/* 00D10 80A73D00 4602903C */ c.lt.s $f18, $f2
|
||||
/* 00D14 80A73D04 46001306 */ mov.s $f12, $f2
|
||||
/* 00D18 80A73D08 45030007 */ bc1tl .L80A73D28
|
||||
/* 00D1C 80A73D0C 460062A1 */ cvt.d.s $f10, $f12
|
||||
/* 00D20 80A73D10 C4264170 */ lwc1 $f6, %lo(D_80A74170)($at)
|
||||
/* 00D24 80A73D14 4606103C */ c.lt.s $f2, $f6
|
||||
/* 00D28 80A73D18 00000000 */ nop
|
||||
/* 00D2C 80A73D1C 45020009 */ bc1fl .L80A73D44
|
||||
/* 00D30 80A73D20 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 00D34 80A73D24 460062A1 */ cvt.d.s $f10, $f12
|
||||
.L80A73D28:
|
||||
/* 00D38 80A73D28 248440BC */ addiu $a0, $a0, %lo(D_80A740BC) ## $a0 = 80A740BC
|
||||
/* 00D3C 80A73D2C 44075000 */ mfc1 $a3, $f10
|
||||
/* 00D40 80A73D30 44065800 */ mfc1 $a2, $f11
|
||||
/* 00D44 80A73D34 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00D48 80A73D38 E7AC003C */ swc1 $f12, 0x003C($sp)
|
||||
/* 00D4C 80A73D3C C7AC003C */ lwc1 $f12, 0x003C($sp)
|
||||
/* 00D50 80A73D40 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
.L80A73D44:
|
||||
/* 00D54 80A73D44 C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
|
||||
/* 00D58 80A73D48 3C01431B */ lui $at, 0x431B ## $at = 431B0000
|
||||
/* 00D5C 80A73D4C 4600240D */ trunc.w.s $f16, $f4
|
||||
/* 00D60 80A73D50 44812000 */ mtc1 $at, $f4 ## $f4 = 155.00
|
||||
/* 00D64 80A73D54 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
|
||||
/* 00D68 80A73D58 4600448D */ trunc.w.s $f18, $f8
|
||||
/* 00D6C 80A73D5C 44058000 */ mfc1 $a1, $f16
|
||||
/* 00D70 80A73D60 460C2402 */ mul.s $f16, $f4, $f12
|
||||
/* 00D74 80A73D64 3C014352 */ lui $at, 0x4352 ## $at = 43520000
|
||||
/* 00D78 80A73D68 44069000 */ mfc1 $a2, $f18
|
||||
/* 00D7C 80A73D6C 44819000 */ mtc1 $at, $f18 ## $f18 = 210.00
|
||||
/* 00D80 80A73D70 3C01437F */ lui $at, 0x437F ## $at = 437F0000
|
||||
/* 00D84 80A73D74 44812000 */ mtc1 $at, $f4 ## $f4 = 255.00
|
||||
/* 00D88 80A73D78 4600328D */ trunc.w.s $f10, $f6
|
||||
/* 00D8C 80A73D7C 460C9182 */ mul.s $f6, $f18, $f12
|
||||
/* 00D90 80A73D80 00063400 */ sll $a2, $a2, 16
|
||||
/* 00D94 80A73D84 00063403 */ sra $a2, $a2, 16
|
||||
/* 00D98 80A73D88 44075000 */ mfc1 $a3, $f10
|
||||
/* 00D9C 80A73D8C 24C6000A */ addiu $a2, $a2, 0x000A ## $a2 = 0000000A
|
||||
/* 00DA0 80A73D90 00063400 */ sll $a2, $a2, 16
|
||||
/* 00DA4 80A73D94 4600820D */ trunc.w.s $f8, $f16
|
||||
/* 00DA8 80A73D98 460C2402 */ mul.s $f16, $f4, $f12
|
||||
/* 00DAC 80A73D9C 24080578 */ addiu $t0, $zero, 0x0578 ## $t0 = 00000578
|
||||
/* 00DB0 80A73DA0 00052C00 */ sll $a1, $a1, 16
|
||||
/* 00DB4 80A73DA4 440D4000 */ mfc1 $t5, $f8
|
||||
/* 00DB8 80A73DA8 00073C00 */ sll $a3, $a3, 16
|
||||
/* 00DBC 80A73DAC 00073C03 */ sra $a3, $a3, 16
|
||||
/* 00DC0 80A73DB0 4600328D */ trunc.w.s $f10, $f6
|
||||
/* 00DC4 80A73DB4 00052C03 */ sra $a1, $a1, 16
|
||||
/* 00DC8 80A73DB8 AFA8001C */ sw $t0, 0x001C($sp)
|
||||
/* 00DCC 80A73DBC 4600820D */ trunc.w.s $f8, $f16
|
||||
/* 00DD0 80A73DC0 440F5000 */ mfc1 $t7, $f10
|
||||
/* 00DD4 80A73DC4 00063403 */ sra $a2, $a2, 16
|
||||
/* 00DD8 80A73DC8 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
|
||||
/* 00DDC 80A73DCC 44194000 */ mfc1 $t9, $f8
|
||||
/* 00DE0 80A73DD0 AFAD0010 */ sw $t5, 0x0010($sp)
|
||||
/* 00DE4 80A73DD4 AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 00DE8 80A73DD8 0C01E763 */ jal Lights_PointNoGlowSetInfo
|
||||
|
||||
/* 00DEC 80A73DDC AFB90018 */ sw $t9, 0x0018($sp)
|
||||
/* 00DF0 80A73DE0 8E02014C */ lw $v0, 0x014C($s0) ## 0000014C
|
||||
.L80A73DE4:
|
||||
/* 00DF4 80A73DE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00DF8 80A73DE8 50400004 */ beql $v0, $zero, .L80A73DFC
|
||||
/* 00DFC 80A73DEC 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00E00 80A73DF0 0040F809 */ jalr $ra, $v0
|
||||
/* 00E04 80A73DF4 8FA5004C */ lw $a1, 0x004C($sp)
|
||||
/* 00E08 80A73DF8 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L80A73DFC:
|
||||
/* 00E0C 80A73DFC 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00E10 80A73E00 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 00E14 80A73E04 03E00008 */ jr $ra
|
||||
/* 00E18 80A73E08 00000000 */ nop
|
|
@ -1,12 +0,0 @@
|
|||
glabel func_80A72FF0
|
||||
/* 00000 80A72FF0 C4840000 */ lwc1 $f4, 0x0000($a0) ## 00000000
|
||||
/* 00004 80A72FF4 C4A60000 */ lwc1 $f6, 0x0000($a1) ## 00000000
|
||||
/* 00008 80A72FF8 C4880008 */ lwc1 $f8, 0x0008($a0) ## 00000008
|
||||
/* 0000C 80A72FFC C4AA0008 */ lwc1 $f10, 0x0008($a1) ## 00000008
|
||||
/* 00010 80A73000 46062081 */ sub.s $f2, $f4, $f6
|
||||
/* 00014 80A73004 460A4301 */ sub.s $f12, $f8, $f10
|
||||
/* 00018 80A73008 46021402 */ mul.s $f16, $f2, $f2
|
||||
/* 0001C 80A7300C 00000000 */ nop
|
||||
/* 00020 80A73010 460C6482 */ mul.s $f18, $f12, $f12
|
||||
/* 00024 80A73014 03E00008 */ jr $ra
|
||||
/* 00028 80A73018 46128000 */ add.s $f0, $f16, $f18
|
|
@ -1,47 +0,0 @@
|
|||
glabel func_80A7301C
|
||||
/* 0002C 80A7301C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00030 80A73020 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00034 80A73024 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00038 80A73028 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 0003C 80A7302C 3C0580A7 */ lui $a1, %hi(D_80A74068) ## $a1 = 80A70000
|
||||
/* 00040 80A73030 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00044 80A73034 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 00048 80A73038 24A54068 */ addiu $a1, $a1, %lo(D_80A74068) ## $a1 = 80A74068
|
||||
/* 0004C 80A7303C 3C053BF2 */ lui $a1, 0x3BF2 ## $a1 = 3BF20000
|
||||
/* 00050 80A73040 34A57BB3 */ ori $a1, $a1, 0x7BB3 ## $a1 = 3BF27BB3
|
||||
/* 00054 80A73044 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00058 80A73048 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0005C 80A7304C 8E0E0004 */ lw $t6, 0x0004($s0) ## 00000004
|
||||
/* 00060 80A73050 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00064 80A73054 3C054120 */ lui $a1, 0x4120 ## $a1 = 41200000
|
||||
/* 00068 80A73058 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
|
||||
/* 0006C 80A7305C 0C00B56E */ jal Actor_SetHeight
|
||||
|
||||
/* 00070 80A73060 AE0F0004 */ sw $t7, 0x0004($s0) ## 00000004
|
||||
/* 00074 80A73064 2605015C */ addiu $a1, $s0, 0x015C ## $a1 = 0000015C
|
||||
/* 00078 80A73068 AFA50020 */ sw $a1, 0x0020($sp)
|
||||
/* 0007C 80A7306C 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 00080 80A73070 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 00084 80A73074 3C0780A7 */ lui $a3, %hi(D_80A74010) ## $a3 = 80A70000
|
||||
/* 00088 80A73078 24E74010 */ addiu $a3, $a3, %lo(D_80A74010) ## $a3 = 80A74010
|
||||
/* 0008C 80A7307C 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 00090 80A73080 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 00094 80A73084 0C01712B */ jal Collider_SetCylinder
|
||||
|
||||
/* 00098 80A73088 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 0009C 80A7308C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 000A0 80A73090 0C0189B7 */ jal Collider_CylinderUpdate
|
||||
|
||||
/* 000A4 80A73094 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 000A8 80A73098 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
|
||||
/* 000AC 80A7309C A21800AE */ sb $t8, 0x00AE($s0) ## 000000AE
|
||||
/* 000B0 80A730A0 0C29CD35 */ jal func_80A734D4
|
||||
/* 000B4 80A730A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 000B8 80A730A8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 000BC 80A730AC 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 000C0 80A730B0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 000C4 80A730B4 03E00008 */ jr $ra
|
||||
/* 000C8 80A730B8 00000000 */ nop
|
|
@ -1,81 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A74114
|
||||
.word 0x37A7C5AC
|
||||
glabel D_80A74118
|
||||
.word 0xBE99999A
|
||||
glabel D_80A7411C
|
||||
.word 0x457A0666
|
||||
glabel D_80A74120
|
||||
.word 0x45FA019A
|
||||
|
||||
.text
|
||||
glabel func_80A730BC
|
||||
/* 000CC 80A730BC 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 000D0 80A730C0 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 000D4 80A730C4 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 000D8 80A730C8 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 000DC 80A730CC 3C0580A7 */ lui $a1, %hi(D_80A7407C) ## $a1 = 80A70000
|
||||
/* 000E0 80A730D0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 000E4 80A730D4 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 000E8 80A730D8 24A5407C */ addiu $a1, $a1, %lo(D_80A7407C) ## $a1 = 80A7407C
|
||||
/* 000EC 80A730DC 3C0180A7 */ lui $at, %hi(D_80A74114) ## $at = 80A70000
|
||||
/* 000F0 80A730E0 C4204114 */ lwc1 $f0, %lo(D_80A74114)($at)
|
||||
/* 000F4 80A730E4 3C0180A7 */ lui $at, %hi(D_80A74118) ## $at = 80A70000
|
||||
/* 000F8 80A730E8 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 000FC 80A730EC E6000054 */ swc1 $f0, 0x0054($s0) ## 00000054
|
||||
/* 00100 80A730F0 E6000058 */ swc1 $f0, 0x0058($s0) ## 00000058
|
||||
/* 00104 80A730F4 E6000050 */ swc1 $f0, 0x0050($s0) ## 00000050
|
||||
/* 00108 80A730F8 C4244118 */ lwc1 $f4, %lo(D_80A74118)($at)
|
||||
/* 0010C 80A730FC A6000034 */ sh $zero, 0x0034($s0) ## 00000034
|
||||
/* 00110 80A73100 86020034 */ lh $v0, 0x0034($s0) ## 00000034
|
||||
/* 00114 80A73104 3C01C080 */ lui $at, 0xC080 ## $at = C0800000
|
||||
/* 00118 80A73108 44813000 */ mtc1 $at, $f6 ## $f6 = -4.00
|
||||
/* 0011C 80A7310C 2605015C */ addiu $a1, $s0, 0x015C ## $a1 = 0000015C
|
||||
/* 00120 80A73110 E60800BC */ swc1 $f8, 0x00BC($s0) ## 000000BC
|
||||
/* 00124 80A73114 E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C
|
||||
/* 00128 80A73118 A6020032 */ sh $v0, 0x0032($s0) ## 00000032
|
||||
/* 0012C 80A7311C A6020030 */ sh $v0, 0x0030($s0) ## 00000030
|
||||
/* 00130 80A73120 A60200B8 */ sh $v0, 0x00B8($s0) ## 000000B8
|
||||
/* 00134 80A73124 A60200B6 */ sh $v0, 0x00B6($s0) ## 000000B6
|
||||
/* 00138 80A73128 A60200B4 */ sh $v0, 0x00B4($s0) ## 000000B4
|
||||
/* 0013C 80A7312C E6060070 */ swc1 $f6, 0x0070($s0) ## 00000070
|
||||
/* 00140 80A73130 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00144 80A73134 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 00148 80A73138 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 0014C 80A7313C 3C0780A7 */ lui $a3, %hi(D_80A7403C) ## $a3 = 80A70000
|
||||
/* 00150 80A73140 24E7403C */ addiu $a3, $a3, %lo(D_80A7403C) ## $a3 = 80A7403C
|
||||
/* 00154 80A73144 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00158 80A73148 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 0015C 80A7314C 0C01712B */ jal Collider_SetCylinder
|
||||
|
||||
/* 00160 80A73150 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00164 80A73154 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00168 80A73158 0C0189B7 */ jal Collider_CylinderUpdate
|
||||
|
||||
/* 0016C 80A7315C 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00170 80A73160 3C0180A7 */ lui $at, %hi(D_80A7411C) ## $at = 80A70000
|
||||
/* 00174 80A73164 C430411C */ lwc1 $f16, %lo(D_80A7411C)($at)
|
||||
/* 00178 80A73168 C60A0050 */ lwc1 $f10, 0x0050($s0) ## 00000050
|
||||
/* 0017C 80A7316C 3C0180A7 */ lui $at, %hi(D_80A74120) ## $at = 80A70000
|
||||
/* 00180 80A73170 C6060054 */ lwc1 $f6, 0x0054($s0) ## 00000054
|
||||
/* 00184 80A73174 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 00188 80A73178 240800FD */ addiu $t0, $zero, 0x00FD ## $t0 = 000000FD
|
||||
/* 0018C 80A7317C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00190 80A73180 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 00194 80A73184 440F2000 */ mfc1 $t7, $f4
|
||||
/* 00198 80A73188 00000000 */ nop
|
||||
/* 0019C 80A7318C A60F019C */ sh $t7, 0x019C($s0) ## 0000019C
|
||||
/* 001A0 80A73190 C4284120 */ lwc1 $f8, %lo(D_80A74120)($at)
|
||||
/* 001A4 80A73194 A20800AE */ sb $t0, 0x00AE($s0) ## 000000AE
|
||||
/* 001A8 80A73198 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 001AC 80A7319C 4600540D */ trunc.w.s $f16, $f10
|
||||
/* 001B0 80A731A0 44198000 */ mfc1 $t9, $f16
|
||||
/* 001B4 80A731A4 0C29CD68 */ jal func_80A735A0
|
||||
/* 001B8 80A731A8 A619019E */ sh $t9, 0x019E($s0) ## 0000019E
|
||||
/* 001BC 80A731AC 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 001C0 80A731B0 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 001C4 80A731B4 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 001C8 80A731B8 03E00008 */ jr $ra
|
||||
/* 001CC 80A731BC 00000000 */ nop
|
|
@ -1,35 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A74124
|
||||
.word 0x3A51B717
|
||||
glabel D_80A74128
|
||||
.word 0xBE99999A
|
||||
|
||||
.text
|
||||
glabel func_80A731C0
|
||||
/* 001D0 80A731C0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 001D4 80A731C4 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 001D8 80A731C8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 001DC 80A731CC 3C0580A7 */ lui $a1, %hi(D_80A74088) ## $a1 = 80A70000
|
||||
/* 001E0 80A731D0 24A54088 */ addiu $a1, $a1, %lo(D_80A74088) ## $a1 = 80A74088
|
||||
/* 001E4 80A731D4 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 001E8 80A731D8 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 001EC 80A731DC 3C0180A7 */ lui $at, %hi(D_80A74124) ## $at = 80A70000
|
||||
/* 001F0 80A731E0 C4204124 */ lwc1 $f0, %lo(D_80A74124)($at)
|
||||
/* 001F4 80A731E4 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 001F8 80A731E8 3C0180A7 */ lui $at, %hi(D_80A74128) ## $at = 80A70000
|
||||
/* 001FC 80A731EC 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 00200 80A731F0 E4800054 */ swc1 $f0, 0x0054($a0) ## 00000054
|
||||
/* 00204 80A731F4 E4800058 */ swc1 $f0, 0x0058($a0) ## 00000058
|
||||
/* 00208 80A731F8 E4800050 */ swc1 $f0, 0x0050($a0) ## 00000050
|
||||
/* 0020C 80A731FC C4244128 */ lwc1 $f4, %lo(D_80A74128)($at)
|
||||
/* 00210 80A73200 3C01C080 */ lui $at, 0xC080 ## $at = C0800000
|
||||
/* 00214 80A73204 44813000 */ mtc1 $at, $f6 ## $f6 = -4.00
|
||||
/* 00218 80A73208 E48800BC */ swc1 $f8, 0x00BC($a0) ## 000000BC
|
||||
/* 0021C 80A7320C E484006C */ swc1 $f4, 0x006C($a0) ## 0000006C
|
||||
/* 00220 80A73210 0C29CE7F */ jal func_80A739FC
|
||||
/* 00224 80A73214 E4860070 */ swc1 $f6, 0x0070($a0) ## 00000070
|
||||
/* 00228 80A73218 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0022C 80A7321C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00230 80A73220 03E00008 */ jr $ra
|
||||
/* 00234 80A73224 00000000 */ nop
|
|
@ -1,63 +0,0 @@
|
|||
glabel func_80A733E8
|
||||
/* 003F8 80A733E8 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 003FC 80A733EC AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00400 80A733F0 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 00404 80A733F4 44813000 */ mtc1 $at, $f6 ## $f6 = 60.00
|
||||
/* 00408 80A733F8 C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
|
||||
/* 0040C 80A733FC 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00410 80A73400 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 00414 80A73404 4606203C */ c.lt.s $f4, $f6
|
||||
/* 00418 80A73408 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 0041C 80A7340C 4502002D */ bc1fl .L80A734C4
|
||||
/* 00420 80A73410 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00424 80A73414 8484008A */ lh $a0, 0x008A($a0) ## 0000008A
|
||||
/* 00428 80A73418 AFA60028 */ sw $a2, 0x0028($sp)
|
||||
/* 0042C 80A7341C AFA20024 */ sw $v0, 0x0024($sp)
|
||||
/* 00430 80A73420 00812021 */ addu $a0, $a0, $at
|
||||
/* 00434 80A73424 00042400 */ sll $a0, $a0, 16
|
||||
/* 00438 80A73428 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 0043C 80A7342C 00042403 */ sra $a0, $a0, 16
|
||||
/* 00440 80A73430 3C014220 */ lui $at, 0x4220 ## $at = 42200000
|
||||
/* 00444 80A73434 44814000 */ mtc1 $at, $f8 ## $f8 = 40.00
|
||||
/* 00448 80A73438 8FA20024 */ lw $v0, 0x0024($sp)
|
||||
/* 0044C 80A7343C 8FAE0028 */ lw $t6, 0x0028($sp)
|
||||
/* 00450 80A73440 46080282 */ mul.s $f10, $f0, $f8
|
||||
/* 00454 80A73444 C4500024 */ lwc1 $f16, 0x0024($v0) ## 00000024
|
||||
/* 00458 80A73448 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 0045C 80A7344C 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 00460 80A73450 E7B20018 */ swc1 $f18, 0x0018($sp)
|
||||
/* 00464 80A73454 C4440028 */ lwc1 $f4, 0x0028($v0) ## 00000028
|
||||
/* 00468 80A73458 E7A4001C */ swc1 $f4, 0x001C($sp)
|
||||
/* 0046C 80A7345C 85C4008A */ lh $a0, 0x008A($t6) ## 0000008A
|
||||
/* 00470 80A73460 00812021 */ addu $a0, $a0, $at
|
||||
/* 00474 80A73464 00042400 */ sll $a0, $a0, 16
|
||||
/* 00478 80A73468 0C01DE0D */ jal Math_Coss
|
||||
## coss?
|
||||
/* 0047C 80A7346C 00042403 */ sra $a0, $a0, 16
|
||||
/* 00480 80A73470 3C014220 */ lui $at, 0x4220 ## $at = 42200000
|
||||
/* 00484 80A73474 44813000 */ mtc1 $at, $f6 ## $f6 = 40.00
|
||||
/* 00488 80A73478 8FA20024 */ lw $v0, 0x0024($sp)
|
||||
/* 0048C 80A7347C 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 00490 80A73480 46060202 */ mul.s $f8, $f0, $f6
|
||||
/* 00494 80A73484 C44A002C */ lwc1 $f10, 0x002C($v0) ## 0000002C
|
||||
/* 00498 80A73488 27A40018 */ addiu $a0, $sp, 0x0018 ## $a0 = FFFFFFF0
|
||||
/* 0049C 80A7348C 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024
|
||||
/* 004A0 80A73490 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 004A4 80A73494 0C29CBFC */ jal func_80A72FF0
|
||||
/* 004A8 80A73498 E7B00020 */ swc1 $f16, 0x0020($sp)
|
||||
/* 004AC 80A7349C 3C0144C8 */ lui $at, 0x44C8 ## $at = 44C80000
|
||||
/* 004B0 80A734A0 44819000 */ mtc1 $at, $f18 ## $f18 = 1600.00
|
||||
/* 004B4 80A734A4 00000000 */ nop
|
||||
/* 004B8 80A734A8 4612003E */ c.le.s $f0, $f18
|
||||
/* 004BC 80A734AC 00000000 */ nop
|
||||
/* 004C0 80A734B0 45020004 */ bc1fl .L80A734C4
|
||||
/* 004C4 80A734B4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 004C8 80A734B8 10000002 */ beq $zero, $zero, .L80A734C4
|
||||
/* 004CC 80A734BC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 004D0 80A734C0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80A734C4:
|
||||
/* 004D4 80A734C4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 004D8 80A734C8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 004DC 80A734CC 03E00008 */ jr $ra
|
||||
/* 004E0 80A734D0 00000000 */ nop
|
|
@ -1,10 +0,0 @@
|
|||
glabel func_80A734D4
|
||||
/* 004E4 80A734D4 3C01C47A */ lui $at, 0xC47A ## $at = C47A0000
|
||||
/* 004E8 80A734D8 44812000 */ mtc1 $at, $f4 ## $f4 = -1000.00
|
||||
/* 004EC 80A734DC 3C0E80A7 */ lui $t6, %hi(func_80A734F8) ## $t6 = 80A70000
|
||||
/* 004F0 80A734E0 25CE34F8 */ addiu $t6, $t6, %lo(func_80A734F8) ## $t6 = 80A734F8
|
||||
/* 004F4 80A734E4 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF
|
||||
/* 004F8 80A734E8 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
|
||||
/* 004FC 80A734EC A48F0150 */ sh $t7, 0x0150($a0) ## 00000150
|
||||
/* 00500 80A734F0 03E00008 */ jr $ra
|
||||
/* 00504 80A734F4 E48400BC */ swc1 $f4, 0x00BC($a0) ## 000000BC
|
|
@ -1,47 +0,0 @@
|
|||
glabel func_80A734F8
|
||||
/* 00508 80A734F8 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 0050C 80A734FC AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00510 80A73500 AFB10020 */ sw $s1, 0x0020($sp)
|
||||
/* 00514 80A73504 AFB0001C */ sw $s0, 0x001C($sp)
|
||||
/* 00518 80A73508 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0051C 80A7350C 0C00BD04 */ jal Actor_HasParent
|
||||
/* 00520 80A73510 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00524 80A73514 10400003 */ beq $v0, $zero, .L80A73524
|
||||
/* 00528 80A73518 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0052C 80A7351C 1000000C */ beq $zero, $zero, .L80A73550
|
||||
/* 00530 80A73520 AE000118 */ sw $zero, 0x0118($s0) ## 00000118
|
||||
.L80A73524:
|
||||
/* 00534 80A73524 0C29CCFA */ jal func_80A733E8
|
||||
/* 00538 80A73528 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 0053C 80A7352C 10400008 */ beq $v0, $zero, .L80A73550
|
||||
/* 00540 80A73530 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00544 80A73534 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 00548 80A73538 44812000 */ mtc1 $at, $f4 ## $f4 = 100.00
|
||||
/* 0054C 80A7353C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00550 80A73540 2406007E */ addiu $a2, $zero, 0x007E ## $a2 = 0000007E
|
||||
/* 00554 80A73544 3C074270 */ lui $a3, 0x4270 ## $a3 = 42700000
|
||||
/* 00558 80A73548 0C00BD0D */ jal func_8002F434
|
||||
/* 0055C 80A7354C E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
.L80A73550:
|
||||
/* 00560 80A73550 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 00564 80A73554 44814000 */ mtc1 $at, $f8 ## $f8 = 200.00
|
||||
/* 00568 80A73558 C6060090 */ lwc1 $f6, 0x0090($s0) ## 00000090
|
||||
/* 0056C 80A7355C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00570 80A73560 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 00574 80A73564 4608303C */ c.lt.s $f6, $f8
|
||||
/* 00578 80A73568 02212821 */ addu $a1, $s1, $at
|
||||
/* 0057C 80A7356C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00580 80A73570 45020004 */ bc1fl .L80A73584
|
||||
/* 00584 80A73574 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00588 80A73578 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOT
|
||||
/* 0058C 80A7357C 2606015C */ addiu $a2, $s0, 0x015C ## $a2 = 0000015C
|
||||
/* 00590 80A73580 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L80A73584:
|
||||
/* 00594 80A73584 0C00BE3C */ jal func_8002F8F0
|
||||
/* 00598 80A73588 240520A3 */ addiu $a1, $zero, 0x20A3 ## $a1 = 000020A3
|
||||
/* 0059C 80A7358C 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 005A0 80A73590 8FB0001C */ lw $s0, 0x001C($sp)
|
||||
/* 005A4 80A73594 8FB10020 */ lw $s1, 0x0020($sp)
|
||||
/* 005A8 80A73598 03E00008 */ jr $ra
|
||||
/* 005AC 80A7359C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
|
@ -1,9 +0,0 @@
|
|||
glabel func_80A735A0
|
||||
/* 005B0 80A735A0 3C0E80A7 */ lui $t6, %hi(func_80A735C0) ## $t6 = 80A70000
|
||||
/* 005B4 80A735A4 25CE35C0 */ addiu $t6, $t6, %lo(func_80A735C0) ## $t6 = 80A735C0
|
||||
/* 005B8 80A735A8 240F00C8 */ addiu $t7, $zero, 0x00C8 ## $t7 = 000000C8
|
||||
/* 005BC 80A735AC 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
|
||||
/* 005C0 80A735B0 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
|
||||
/* 005C4 80A735B4 A48F0152 */ sh $t7, 0x0152($a0) ## 00000152
|
||||
/* 005C8 80A735B8 03E00008 */ jr $ra
|
||||
/* 005CC 80A735BC A4980150 */ sh $t8, 0x0150($a0) ## 00000150
|
|
@ -1,131 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A74134
|
||||
.word 0x3ADED289
|
||||
glabel D_80A74138
|
||||
.word 0x455AC000
|
||||
|
||||
.text
|
||||
glabel func_80A735C0
|
||||
/* 005D0 80A735C0 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 005D4 80A735C4 F7B40030 */ sdc1 $f20, 0x0030($sp)
|
||||
/* 005D8 80A735C8 3C0180A7 */ lui $at, %hi(D_80A74134) ## $at = 80A70000
|
||||
/* 005DC 80A735CC C4344134 */ lwc1 $f20, %lo(D_80A74134)($at)
|
||||
/* 005E0 80A735D0 AFB40048 */ sw $s4, 0x0048($sp)
|
||||
/* 005E4 80A735D4 AFBF004C */ sw $ra, 0x004C($sp)
|
||||
/* 005E8 80A735D8 AFB30044 */ sw $s3, 0x0044($sp)
|
||||
/* 005EC 80A735DC AFB20040 */ sw $s2, 0x0040($sp)
|
||||
/* 005F0 80A735E0 AFB1003C */ sw $s1, 0x003C($sp)
|
||||
/* 005F4 80A735E4 AFB00038 */ sw $s0, 0x0038($sp)
|
||||
/* 005F8 80A735E8 94900088 */ lhu $s0, 0x0088($a0) ## 00000088
|
||||
/* 005FC 80A735EC 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
|
||||
/* 00600 80A735F0 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 00604 80A735F4 3C0638A7 */ lui $a2, 0x38A7 ## $a2 = 38A70000
|
||||
/* 00608 80A735F8 4405A000 */ mfc1 $a1, $f20
|
||||
/* 0060C 80A735FC 34C6C5AC */ ori $a2, $a2, 0xC5AC ## $a2 = 38A7C5AC
|
||||
/* 00610 80A73600 24840050 */ addiu $a0, $a0, 0x0050 ## $a0 = 00000050
|
||||
/* 00614 80A73604 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00618 80A73608 32100001 */ andi $s0, $s0, 0x0001 ## $s0 = 00000000
|
||||
/* 0061C 80A7360C C6240050 */ lwc1 $f4, 0x0050($s1) ## 00000050
|
||||
/* 00620 80A73610 4405A000 */ mfc1 $a1, $f20
|
||||
/* 00624 80A73614 3C0638A7 */ lui $a2, 0x38A7 ## $a2 = 38A70000
|
||||
/* 00628 80A73618 34C6C5AC */ ori $a2, $a2, 0xC5AC ## $a2 = 38A7C5AC
|
||||
/* 0062C 80A7361C 26240054 */ addiu $a0, $s1, 0x0054 ## $a0 = 00000054
|
||||
/* 00630 80A73620 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00634 80A73624 E6240058 */ swc1 $f4, 0x0058($s1) ## 00000058
|
||||
/* 00638 80A73628 1200001F */ beq $s0, $zero, .L80A736A8
|
||||
/* 0063C 80A7362C 26921C24 */ addiu $s2, $s4, 0x1C24 ## $s2 = 00001C24
|
||||
/* 00640 80A73630 3C01447A */ lui $at, 0x447A ## $at = 447A0000
|
||||
/* 00644 80A73634 4481A000 */ mtc1 $at, $f20 ## $f20 = 1000.00
|
||||
/* 00648 80A73638 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 0064C 80A7363C 3C130001 */ lui $s3, 0x0001 ## $s3 = 00010000
|
||||
.L80A73640:
|
||||
/* 00650 80A73640 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00654 80A73644 00000000 */ nop
|
||||
/* 00658 80A73648 46140282 */ mul.s $f10, $f0, $f20
|
||||
/* 0065C 80A7364C C6260028 */ lwc1 $f6, 0x0028($s1) ## 00000028
|
||||
/* 00660 80A73650 8E270024 */ lw $a3, 0x0024($s1) ## 00000024
|
||||
/* 00664 80A73654 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
||||
/* 00668 80A73658 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 0066C 80A7365C C628002C */ lwc1 $f8, 0x002C($s1) ## 0000002C
|
||||
/* 00670 80A73660 AFA80024 */ sw $t0, 0x0024($sp)
|
||||
/* 00674 80A73664 4600540D */ trunc.w.s $f16, $f10
|
||||
/* 00678 80A73668 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 0067C 80A7366C AFA00018 */ sw $zero, 0x0018($sp)
|
||||
/* 00680 80A73670 02402025 */ or $a0, $s2, $zero ## $a0 = 00001C24
|
||||
/* 00684 80A73674 440F8000 */ mfc1 $t7, $f16
|
||||
/* 00688 80A73678 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000
|
||||
/* 0068C 80A7367C 240600F0 */ addiu $a2, $zero, 0x00F0 ## $a2 = 000000F0
|
||||
/* 00690 80A73680 01F0C021 */ addu $t8, $t7, $s0
|
||||
/* 00694 80A73684 2719FE0C */ addiu $t9, $t8, 0xFE0C ## $t9 = FFFFFE0C
|
||||
/* 00698 80A73688 AFB9001C */ sw $t9, 0x001C($sp)
|
||||
/* 0069C 80A7368C 0C00C7D4 */ jal Actor_Spawn
|
||||
## ActorSpawn
|
||||
/* 006A0 80A73690 E7A80014 */ swc1 $f8, 0x0014($sp)
|
||||
/* 006A4 80A73694 26102000 */ addiu $s0, $s0, 0x2000 ## $s0 = 00002000
|
||||
/* 006A8 80A73698 1613FFE9 */ bne $s0, $s3, .L80A73640
|
||||
/* 006AC 80A7369C 00000000 */ nop
|
||||
/* 006B0 80A736A0 0C29CDE0 */ jal func_80A73780
|
||||
/* 006B4 80A736A4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
.L80A736A8:
|
||||
/* 006B8 80A736A8 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 006BC 80A736AC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 006C0 80A736B0 3C0180A7 */ lui $at, %hi(D_80A74138) ## $at = 80A70000
|
||||
/* 006C4 80A736B4 C4244138 */ lwc1 $f4, %lo(D_80A74138)($at)
|
||||
/* 006C8 80A736B8 C6320050 */ lwc1 $f18, 0x0050($s1) ## 00000050
|
||||
/* 006CC 80A736BC 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 006D0 80A736C0 24090005 */ addiu $t1, $zero, 0x0005 ## $t1 = 00000005
|
||||
/* 006D4 80A736C4 46049182 */ mul.s $f6, $f18, $f4
|
||||
/* 006D8 80A736C8 AFA90014 */ sw $t1, 0x0014($sp)
|
||||
/* 006DC 80A736CC 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 006E0 80A736D0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 006E4 80A736D4 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
|
||||
/* 006E8 80A736D8 E7A80010 */ swc1 $f8, 0x0010($sp)
|
||||
/* 006EC 80A736DC 44073000 */ mfc1 $a3, $f6
|
||||
/* 006F0 80A736E0 0C00B92D */ jal func_8002E4B4
|
||||
/* 006F4 80A736E4 00000000 */ nop
|
||||
/* 006F8 80A736E8 2630015C */ addiu $s0, $s1, 0x015C ## $s0 = 0000015C
|
||||
/* 006FC 80A736EC 02002825 */ or $a1, $s0, $zero ## $a1 = 0000015C
|
||||
/* 00700 80A736F0 0C0189B7 */ jal Collider_CylinderUpdate
|
||||
|
||||
/* 00704 80A736F4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00708 80A736F8 3C01457A */ lui $at, 0x457A ## $at = 457A0000
|
||||
/* 0070C 80A736FC 44818000 */ mtc1 $at, $f16 ## $f16 = 4000.00
|
||||
/* 00710 80A73700 C62A0050 */ lwc1 $f10, 0x0050($s1) ## 00000050
|
||||
/* 00714 80A73704 3C0145FA */ lui $at, 0x45FA ## $at = 45FA0000
|
||||
/* 00718 80A73708 44814000 */ mtc1 $at, $f8 ## $f8 = 8000.00
|
||||
/* 0071C 80A7370C 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 00720 80A73710 C6260054 */ lwc1 $f6, 0x0054($s1) ## 00000054
|
||||
/* 00724 80A73714 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00728 80A73718 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 0072C 80A7371C 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 00730 80A73720 02812821 */ addu $a1, $s4, $at
|
||||
/* 00734 80A73724 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 00738 80A73728 02003025 */ or $a2, $s0, $zero ## $a2 = 0000015C
|
||||
/* 0073C 80A7372C 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 00740 80A73730 4600540D */ trunc.w.s $f16, $f10
|
||||
/* 00744 80A73734 440B2000 */ mfc1 $t3, $f4
|
||||
/* 00748 80A73738 440D8000 */ mfc1 $t5, $f16
|
||||
/* 0074C 80A7373C A62B019C */ sh $t3, 0x019C($s1) ## 0000019C
|
||||
/* 00750 80A73740 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOT
|
||||
/* 00754 80A73744 A62D019E */ sh $t5, 0x019E($s1) ## 0000019E
|
||||
/* 00758 80A73748 862E0152 */ lh $t6, 0x0152($s1) ## 00000152
|
||||
/* 0075C 80A7374C 5DC00004 */ bgtzl $t6, .L80A73760
|
||||
/* 00760 80A73750 8FBF004C */ lw $ra, 0x004C($sp)
|
||||
/* 00764 80A73754 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00768 80A73758 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 0076C 80A7375C 8FBF004C */ lw $ra, 0x004C($sp)
|
||||
.L80A73760:
|
||||
/* 00770 80A73760 D7B40030 */ ldc1 $f20, 0x0030($sp)
|
||||
/* 00774 80A73764 8FB00038 */ lw $s0, 0x0038($sp)
|
||||
/* 00778 80A73768 8FB1003C */ lw $s1, 0x003C($sp)
|
||||
/* 0077C 80A7376C 8FB20040 */ lw $s2, 0x0040($sp)
|
||||
/* 00780 80A73770 8FB30044 */ lw $s3, 0x0044($sp)
|
||||
/* 00784 80A73774 8FB40048 */ lw $s4, 0x0048($sp)
|
||||
/* 00788 80A73778 03E00008 */ jr $ra
|
||||
/* 0078C 80A7377C 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
|
@ -1,9 +0,0 @@
|
|||
glabel func_80A73780
|
||||
/* 00790 80A73780 3C0E80A7 */ lui $t6, %hi(func_80A737A0) ## $t6 = 80A70000
|
||||
/* 00794 80A73784 25CE37A0 */ addiu $t6, $t6, %lo(func_80A737A0) ## $t6 = 80A737A0
|
||||
/* 00798 80A73788 240F003C */ addiu $t7, $zero, 0x003C ## $t7 = 0000003C
|
||||
/* 0079C 80A7378C 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
|
||||
/* 007A0 80A73790 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
|
||||
/* 007A4 80A73794 A48F0152 */ sh $t7, 0x0152($a0) ## 00000152
|
||||
/* 007A8 80A73798 03E00008 */ jr $ra
|
||||
/* 007AC 80A7379C A4980150 */ sh $t8, 0x0150($a0) ## 00000150
|
|
@ -1,181 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A7413C
|
||||
.word 0x38D1B717
|
||||
glabel D_80A74140
|
||||
.word 0x455AC000
|
||||
glabel D_80A74144
|
||||
.float 6000.0
|
||||
|
||||
.text
|
||||
glabel func_80A737A0
|
||||
/* 007B0 80A737A0 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 007B4 80A737A4 AFBF004C */ sw $ra, 0x004C($sp)
|
||||
/* 007B8 80A737A8 AFB40048 */ sw $s4, 0x0048($sp)
|
||||
/* 007BC 80A737AC AFB30044 */ sw $s3, 0x0044($sp)
|
||||
/* 007C0 80A737B0 AFB20040 */ sw $s2, 0x0040($sp)
|
||||
/* 007C4 80A737B4 AFB1003C */ sw $s1, 0x003C($sp)
|
||||
/* 007C8 80A737B8 AFB00038 */ sw $s0, 0x0038($sp)
|
||||
/* 007CC 80A737BC F7B40030 */ sdc1 $f20, 0x0030($sp)
|
||||
/* 007D0 80A737C0 848E0152 */ lh $t6, 0x0152($a0) ## 00000152
|
||||
/* 007D4 80A737C4 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 007D8 80A737C8 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
|
||||
/* 007DC 80A737CC 29C10015 */ slti $at, $t6, 0x0015
|
||||
/* 007E0 80A737D0 1420000E */ bne $at, $zero, .L80A7380C
|
||||
/* 007E4 80A737D4 24840050 */ addiu $a0, $a0, 0x0050 ## $a0 = 00000050
|
||||
/* 007E8 80A737D8 3C053C34 */ lui $a1, 0x3C34 ## $a1 = 3C340000
|
||||
/* 007EC 80A737DC 3C063912 */ lui $a2, 0x3912 ## $a2 = 39120000
|
||||
/* 007F0 80A737E0 34C6CCF7 */ ori $a2, $a2, 0xCCF7 ## $a2 = 3912CCF7
|
||||
/* 007F4 80A737E4 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 007F8 80A737E8 34A53958 */ ori $a1, $a1, 0x3958 ## $a1 = 3C343958
|
||||
/* 007FC 80A737EC 3C053BC4 */ lui $a1, 0x3BC4 ## $a1 = 3BC40000
|
||||
/* 00800 80A737F0 3C0638FB */ lui $a2, 0x38FB ## $a2 = 38FB0000
|
||||
/* 00804 80A737F4 34C6A882 */ ori $a2, $a2, 0xA882 ## $a2 = 38FBA882
|
||||
/* 00808 80A737F8 34A59BA6 */ ori $a1, $a1, 0x9BA6 ## $a1 = 3BC49BA6
|
||||
/* 0080C 80A737FC 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00810 80A73800 26240054 */ addiu $a0, $s1, 0x0054 ## $a0 = 00000054
|
||||
/* 00814 80A73804 1000000E */ beq $zero, $zero, .L80A73840
|
||||
/* 00818 80A73808 C6240050 */ lwc1 $f4, 0x0050($s1) ## 00000050
|
||||
.L80A7380C:
|
||||
/* 0081C 80A7380C 3C0180A7 */ lui $at, %hi(D_80A7413C) ## $at = 80A70000
|
||||
/* 00820 80A73810 C434413C */ lwc1 $f20, %lo(D_80A7413C)($at)
|
||||
/* 00824 80A73814 3C06391D */ lui $a2, 0x391D ## $a2 = 391D0000
|
||||
/* 00828 80A73818 34C64952 */ ori $a2, $a2, 0x4952 ## $a2 = 391D4952
|
||||
/* 0082C 80A7381C 4405A000 */ mfc1 $a1, $f20
|
||||
/* 00830 80A73820 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00834 80A73824 26240050 */ addiu $a0, $s1, 0x0050 ## $a0 = 00000050
|
||||
/* 00838 80A73828 4405A000 */ mfc1 $a1, $f20
|
||||
/* 0083C 80A7382C 3C06391D */ lui $a2, 0x391D ## $a2 = 391D0000
|
||||
/* 00840 80A73830 34C64952 */ ori $a2, $a2, 0x4952 ## $a2 = 391D4952
|
||||
/* 00844 80A73834 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00848 80A73838 26240054 */ addiu $a0, $s1, 0x0054 ## $a0 = 00000054
|
||||
/* 0084C 80A7383C C6240050 */ lwc1 $f4, 0x0050($s1) ## 00000050
|
||||
.L80A73840:
|
||||
/* 00850 80A73840 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00854 80A73844 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 00858 80A73848 E6240058 */ swc1 $f4, 0x0058($s1) ## 00000058
|
||||
/* 0085C 80A7384C 3C0180A7 */ lui $at, %hi(D_80A74140) ## $at = 80A70000
|
||||
/* 00860 80A73850 C4284140 */ lwc1 $f8, %lo(D_80A74140)($at)
|
||||
/* 00864 80A73854 C6260050 */ lwc1 $f6, 0x0050($s1) ## 00000050
|
||||
/* 00868 80A73858 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
|
||||
/* 0086C 80A7385C 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004
|
||||
/* 00870 80A73860 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 00874 80A73864 AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 00878 80A73868 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 0087C 80A7386C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00880 80A73870 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
|
||||
/* 00884 80A73874 E7B00010 */ swc1 $f16, 0x0010($sp)
|
||||
/* 00888 80A73878 44075000 */ mfc1 $a3, $f10
|
||||
/* 0088C 80A7387C 0C00B92D */ jal func_8002E4B4
|
||||
/* 00890 80A73880 00000000 */ nop
|
||||
/* 00894 80A73884 86220152 */ lh $v0, 0x0152($s1) ## 00000152
|
||||
/* 00898 80A73888 28410019 */ slti $at, $v0, 0x0019
|
||||
/* 0089C 80A7388C 50200011 */ beql $at, $zero, .L80A738D4
|
||||
/* 008A0 80A73890 86280150 */ lh $t0, 0x0150($s1) ## 00000150
|
||||
/* 008A4 80A73894 86380150 */ lh $t8, 0x0150($s1) ## 00000150
|
||||
/* 008A8 80A73898 2719FFF6 */ addiu $t9, $t8, 0xFFF6 ## $t9 = FFFFFFF6
|
||||
/* 008AC 80A7389C A6390150 */ sh $t9, 0x0150($s1) ## 00000150
|
||||
/* 008B0 80A738A0 86220150 */ lh $v0, 0x0150($s1) ## 00000150
|
||||
/* 008B4 80A738A4 04410004 */ bgez $v0, .L80A738B8
|
||||
/* 008B8 80A738A8 28410100 */ slti $at, $v0, 0x0100
|
||||
/* 008BC 80A738AC A6200150 */ sh $zero, 0x0150($s1) ## 00000150
|
||||
/* 008C0 80A738B0 10000007 */ beq $zero, $zero, .L80A738D0
|
||||
/* 008C4 80A738B4 86220152 */ lh $v0, 0x0152($s1) ## 00000152
|
||||
.L80A738B8:
|
||||
/* 008C8 80A738B8 14200003 */ bne $at, $zero, .L80A738C8
|
||||
/* 008CC 80A738BC 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
|
||||
/* 008D0 80A738C0 10000001 */ beq $zero, $zero, .L80A738C8
|
||||
/* 008D4 80A738C4 240300FF */ addiu $v1, $zero, 0x00FF ## $v1 = 000000FF
|
||||
.L80A738C8:
|
||||
/* 008D8 80A738C8 A6230150 */ sh $v1, 0x0150($s1) ## 00000150
|
||||
/* 008DC 80A738CC 86220152 */ lh $v0, 0x0152($s1) ## 00000152
|
||||
.L80A738D0:
|
||||
/* 008E0 80A738D0 86280150 */ lh $t0, 0x0150($s1) ## 00000150
|
||||
.L80A738D4:
|
||||
/* 008E4 80A738D4 29010065 */ slti $at, $t0, 0x0065
|
||||
/* 008E8 80A738D8 1420001B */ bne $at, $zero, .L80A73948
|
||||
/* 008EC 80A738DC 28410028 */ slti $at, $v0, 0x0028
|
||||
/* 008F0 80A738E0 10200019 */ beq $at, $zero, .L80A73948
|
||||
/* 008F4 80A738E4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 008F8 80A738E8 2630015C */ addiu $s0, $s1, 0x015C ## $s0 = 0000015C
|
||||
/* 008FC 80A738EC 0C0189B7 */ jal Collider_CylinderUpdate
|
||||
|
||||
/* 00900 80A738F0 02002825 */ or $a1, $s0, $zero ## $a1 = 0000015C
|
||||
/* 00904 80A738F4 3C0180A7 */ lui $at, %hi(D_80A74144) ## $at = 80A70000
|
||||
/* 00908 80A738F8 C4244144 */ lwc1 $f4, %lo(D_80A74144)($at)
|
||||
/* 0090C 80A738FC C6320050 */ lwc1 $f18, 0x0050($s1) ## 00000050
|
||||
/* 00910 80A73900 3C0145FA */ lui $at, 0x45FA ## $at = 45FA0000
|
||||
/* 00914 80A73904 44818000 */ mtc1 $at, $f16 ## $f16 = 8000.00
|
||||
/* 00918 80A73908 46049182 */ mul.s $f6, $f18, $f4
|
||||
/* 0091C 80A7390C C62A0054 */ lwc1 $f10, 0x0054($s1) ## 00000054
|
||||
/* 00920 80A73910 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00924 80A73914 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 00928 80A73918 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 0092C 80A7391C 02812821 */ addu $a1, $s4, $at
|
||||
/* 00930 80A73920 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
|
||||
/* 00934 80A73924 02003025 */ or $a2, $s0, $zero ## $a2 = 0000015C
|
||||
/* 00938 80A73928 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 0093C 80A7392C 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 00940 80A73930 440A4000 */ mfc1 $t2, $f8
|
||||
/* 00944 80A73934 440C2000 */ mfc1 $t4, $f4
|
||||
/* 00948 80A73938 A62A019C */ sh $t2, 0x019C($s1) ## 0000019C
|
||||
/* 0094C 80A7393C 0C0175E7 */ jal CollisionCheck_SetAT
|
||||
## CollisionCheck_setAT
|
||||
/* 00950 80A73940 A62C019E */ sh $t4, 0x019E($s1) ## 0000019E
|
||||
/* 00954 80A73944 86220152 */ lh $v0, 0x0152($s1) ## 00000152
|
||||
.L80A73948:
|
||||
/* 00958 80A73948 2401002E */ addiu $at, $zero, 0x002E ## $at = 0000002E
|
||||
/* 0095C 80A7394C 1441001E */ bne $v0, $at, .L80A739C8
|
||||
/* 00960 80A73950 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 00964 80A73954 3C01447A */ lui $at, 0x447A ## $at = 447A0000
|
||||
/* 00968 80A73958 4481A000 */ mtc1 $at, $f20 ## $f20 = 1000.00
|
||||
/* 0096C 80A7395C 26921C24 */ addiu $s2, $s4, 0x1C24 ## $s2 = 00001C24
|
||||
/* 00970 80A73960 3413FFFA */ ori $s3, $zero, 0xFFFA ## $s3 = 0000FFFA
|
||||
.L80A73964:
|
||||
/* 00974 80A73964 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00978 80A73968 00000000 */ nop
|
||||
/* 0097C 80A7396C 46140282 */ mul.s $f10, $f0, $f20
|
||||
/* 00980 80A73970 C6260028 */ lwc1 $f6, 0x0028($s1) ## 00000028
|
||||
/* 00984 80A73974 8E270024 */ lw $a3, 0x0024($s1) ## 00000024
|
||||
/* 00988 80A73978 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
|
||||
/* 0098C 80A7397C E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 00990 80A73980 C628002C */ lwc1 $f8, 0x002C($s1) ## 0000002C
|
||||
/* 00994 80A73984 AFB90024 */ sw $t9, 0x0024($sp)
|
||||
/* 00998 80A73988 4600540D */ trunc.w.s $f16, $f10
|
||||
/* 0099C 80A7398C AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 009A0 80A73990 AFA00018 */ sw $zero, 0x0018($sp)
|
||||
/* 009A4 80A73994 02402025 */ or $a0, $s2, $zero ## $a0 = 00001C24
|
||||
/* 009A8 80A73998 440E8000 */ mfc1 $t6, $f16
|
||||
/* 009AC 80A7399C 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000
|
||||
/* 009B0 80A739A0 240600F0 */ addiu $a2, $zero, 0x00F0 ## $a2 = 000000F0
|
||||
/* 009B4 80A739A4 01D07821 */ addu $t7, $t6, $s0
|
||||
/* 009B8 80A739A8 25F8FE0C */ addiu $t8, $t7, 0xFE0C ## $t8 = FFFFFE0C
|
||||
/* 009BC 80A739AC AFB8001C */ sw $t8, 0x001C($sp)
|
||||
/* 009C0 80A739B0 0C00C7D4 */ jal Actor_Spawn
|
||||
## ActorSpawn
|
||||
/* 009C4 80A739B4 E7A80014 */ swc1 $f8, 0x0014($sp)
|
||||
/* 009C8 80A739B8 26101999 */ addiu $s0, $s0, 0x1999 ## $s0 = 00001999
|
||||
/* 009CC 80A739BC 1613FFE9 */ bne $s0, $s3, .L80A73964
|
||||
/* 009D0 80A739C0 00000000 */ nop
|
||||
/* 009D4 80A739C4 86220152 */ lh $v0, 0x0152($s1) ## 00000152
|
||||
.L80A739C8:
|
||||
/* 009D8 80A739C8 5C400004 */ bgtzl $v0, .L80A739DC
|
||||
/* 009DC 80A739CC 8FBF004C */ lw $ra, 0x004C($sp)
|
||||
/* 009E0 80A739D0 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 009E4 80A739D4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 009E8 80A739D8 8FBF004C */ lw $ra, 0x004C($sp)
|
||||
.L80A739DC:
|
||||
/* 009EC 80A739DC D7B40030 */ ldc1 $f20, 0x0030($sp)
|
||||
/* 009F0 80A739E0 8FB00038 */ lw $s0, 0x0038($sp)
|
||||
/* 009F4 80A739E4 8FB1003C */ lw $s1, 0x003C($sp)
|
||||
/* 009F8 80A739E8 8FB20040 */ lw $s2, 0x0040($sp)
|
||||
/* 009FC 80A739EC 8FB30044 */ lw $s3, 0x0044($sp)
|
||||
/* 00A00 80A739F0 8FB40048 */ lw $s4, 0x0048($sp)
|
||||
/* 00A04 80A739F4 03E00008 */ jr $ra
|
||||
/* 00A08 80A739F8 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
|
@ -1,76 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A74148
|
||||
.float 0.005
|
||||
|
||||
glabel D_80A7414C
|
||||
.word 0x3B83126F
|
||||
glabel D_80A74150
|
||||
.float 1.6
|
||||
|
||||
glabel D_80A74154
|
||||
.float 0.005
|
||||
|
||||
glabel D_80A74158
|
||||
.word 0x3B449BA6
|
||||
|
||||
.text
|
||||
glabel func_80A739FC
|
||||
/* 00A0C 80A739FC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00A10 80A73A00 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00A14 80A73A04 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00A18 80A73A08 8499001C */ lh $t9, 0x001C($a0) ## 0000001C
|
||||
/* 00A1C 80A73A0C 3C0E80A7 */ lui $t6, %hi(func_80A73AD0) ## $t6 = 80A70000
|
||||
/* 00A20 80A73A10 25CE3AD0 */ addiu $t6, $t6, %lo(func_80A73AD0) ## $t6 = 80A73AD0
|
||||
/* 00A24 80A73A14 240F002C */ addiu $t7, $zero, 0x002C ## $t7 = 0000002C
|
||||
/* 00A28 80A73A18 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
|
||||
/* 00A2C 80A73A1C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00A30 80A73A20 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00A34 80A73A24 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
|
||||
/* 00A38 80A73A28 A48F0152 */ sh $t7, 0x0152($a0) ## 00000152
|
||||
/* 00A3C 80A73A2C 17210013 */ bne $t9, $at, .L80A73A7C
|
||||
/* 00A40 80A73A30 A4980150 */ sh $t8, 0x0150($a0) ## 00000150
|
||||
/* 00A44 80A73A34 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00A48 80A73A38 00000000 */ nop
|
||||
/* 00A4C 80A73A3C 3C0180A7 */ lui $at, %hi(D_80A74148) ## $at = 80A70000
|
||||
/* 00A50 80A73A40 C4244148 */ lwc1 $f4, %lo(D_80A74148)($at)
|
||||
/* 00A54 80A73A44 3C0180A7 */ lui $at, %hi(D_80A7414C) ## $at = 80A70000
|
||||
/* 00A58 80A73A48 C428414C */ lwc1 $f8, %lo(D_80A7414C)($at)
|
||||
/* 00A5C 80A73A4C 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 00A60 80A73A50 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 00A64 80A73A54 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00A68 80A73A58 E60A0158 */ swc1 $f10, 0x0158($s0) ## 00000158
|
||||
/* 00A6C 80A73A5C 3C0180A7 */ lui $at, %hi(D_80A74150) ## $at = 80A70000
|
||||
/* 00A70 80A73A60 C4304150 */ lwc1 $f16, %lo(D_80A74150)($at)
|
||||
/* 00A74 80A73A64 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00A78 80A73A68 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
|
||||
/* 00A7C 80A73A6C 46100482 */ mul.s $f18, $f0, $f16
|
||||
/* 00A80 80A73A70 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 00A84 80A73A74 10000011 */ beq $zero, $zero, .L80A73ABC
|
||||
/* 00A88 80A73A78 E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
|
||||
.L80A73A7C:
|
||||
/* 00A8C 80A73A7C 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00A90 80A73A80 00000000 */ nop
|
||||
/* 00A94 80A73A84 3C0180A7 */ lui $at, %hi(D_80A74154) ## $at = 80A70000
|
||||
/* 00A98 80A73A88 C4284154 */ lwc1 $f8, %lo(D_80A74154)($at)
|
||||
/* 00A9C 80A73A8C 3C0180A7 */ lui $at, %hi(D_80A74158) ## $at = 80A70000
|
||||
/* 00AA0 80A73A90 C4304158 */ lwc1 $f16, %lo(D_80A74158)($at)
|
||||
/* 00AA4 80A73A94 46080282 */ mul.s $f10, $f0, $f8
|
||||
/* 00AA8 80A73A98 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 00AAC 80A73A9C 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00AB0 80A73AA0 E6120158 */ swc1 $f18, 0x0158($s0) ## 00000158
|
||||
/* 00AB4 80A73AA4 46000100 */ add.s $f4, $f0, $f0
|
||||
/* 00AB8 80A73AA8 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00ABC 80A73AAC 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50
|
||||
/* 00AC0 80A73AB0 00000000 */ nop
|
||||
/* 00AC4 80A73AB4 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00AC8 80A73AB8 E6080068 */ swc1 $f8, 0x0068($s0) ## 00000068
|
||||
.L80A73ABC:
|
||||
/* 00ACC 80A73ABC 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00AD0 80A73AC0 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00AD4 80A73AC4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00AD8 80A73AC8 03E00008 */ jr $ra
|
||||
/* 00ADC 80A73ACC 00000000 */ nop
|
|
@ -1,105 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A7415C
|
||||
.word 0x3F2AC083
|
||||
|
||||
.text
|
||||
glabel func_80A73AD0
|
||||
/* 00AE0 80A73AD0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00AE4 80A73AD4 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00AE8 80A73AD8 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00AEC 80A73ADC AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00AF0 80A73AE0 848E0152 */ lh $t6, 0x0152($a0) ## 00000152
|
||||
/* 00AF4 80A73AE4 3C0538D1 */ lui $a1, 0x38D1 ## $a1 = 38D10000
|
||||
/* 00AF8 80A73AE8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00AFC 80A73AEC 29C10015 */ slti $at, $t6, 0x0015
|
||||
/* 00B00 80A73AF0 14200013 */ bne $at, $zero, .L80A73B40
|
||||
/* 00B04 80A73AF4 34A5B717 */ ori $a1, $a1, 0xB717 ## $a1 = 38D1B717
|
||||
/* 00B08 80A73AF8 3C053BC4 */ lui $a1, 0x3BC4 ## $a1 = 3BC40000
|
||||
/* 00B0C 80A73AFC 3C063927 */ lui $a2, 0x3927 ## $a2 = 39270000
|
||||
/* 00B10 80A73B00 34C6C5AC */ ori $a2, $a2, 0xC5AC ## $a2 = 3927C5AC
|
||||
/* 00B14 80A73B04 34A59BA6 */ ori $a1, $a1, 0x9BA6 ## $a1 = 3BC49BA6
|
||||
/* 00B18 80A73B08 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00B1C 80A73B0C 24840050 */ addiu $a0, $a0, 0x0050 ## $a0 = 00000050
|
||||
/* 00B20 80A73B10 3C0180A7 */ lui $at, %hi(D_80A7415C) ## $at = 80A70000
|
||||
/* 00B24 80A73B14 C426415C */ lwc1 $f6, %lo(D_80A7415C)($at)
|
||||
/* 00B28 80A73B18 C6040158 */ lwc1 $f4, 0x0158($s0) ## 00000158
|
||||
/* 00B2C 80A73B1C 3C063912 */ lui $a2, 0x3912 ## $a2 = 39120000
|
||||
/* 00B30 80A73B20 34C6CCF7 */ ori $a2, $a2, 0xCCF7 ## $a2 = 3912CCF7
|
||||
/* 00B34 80A73B24 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 00B38 80A73B28 26040054 */ addiu $a0, $s0, 0x0054 ## $a0 = 00000054
|
||||
/* 00B3C 80A73B2C 44054000 */ mfc1 $a1, $f8
|
||||
/* 00B40 80A73B30 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00B44 80A73B34 00000000 */ nop
|
||||
/* 00B48 80A73B38 1000000C */ beq $zero, $zero, .L80A73B6C
|
||||
/* 00B4C 80A73B3C C60A0050 */ lwc1 $f10, 0x0050($s0) ## 00000050
|
||||
.L80A73B40:
|
||||
/* 00B50 80A73B40 3C06391D */ lui $a2, 0x391D ## $a2 = 391D0000
|
||||
/* 00B54 80A73B44 34C64952 */ ori $a2, $a2, 0x4952 ## $a2 = 391D4952
|
||||
/* 00B58 80A73B48 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00B5C 80A73B4C 26040050 */ addiu $a0, $s0, 0x0050 ## $a0 = 00000050
|
||||
/* 00B60 80A73B50 3C0538D1 */ lui $a1, 0x38D1 ## $a1 = 38D10000
|
||||
/* 00B64 80A73B54 3C06391D */ lui $a2, 0x391D ## $a2 = 391D0000
|
||||
/* 00B68 80A73B58 34C64952 */ ori $a2, $a2, 0x4952 ## $a2 = 391D4952
|
||||
/* 00B6C 80A73B5C 34A5B717 */ ori $a1, $a1, 0xB717 ## $a1 = 38D1B717
|
||||
/* 00B70 80A73B60 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00B74 80A73B64 26040054 */ addiu $a0, $s0, 0x0054 ## $a0 = 00000054
|
||||
/* 00B78 80A73B68 C60A0050 */ lwc1 $f10, 0x0050($s0) ## 00000050
|
||||
.L80A73B6C:
|
||||
/* 00B7C 80A73B6C 3C063D75 */ lui $a2, 0x3D75 ## $a2 = 3D750000
|
||||
/* 00B80 80A73B70 34C6C28F */ ori $a2, $a2, 0xC28F ## $a2 = 3D75C28F
|
||||
/* 00B84 80A73B74 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
|
||||
/* 00B88 80A73B78 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 00B8C 80A73B7C 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00B90 80A73B80 E60A0058 */ swc1 $f10, 0x0058($s0) ## 00000058
|
||||
/* 00B94 80A73B84 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 00B98 80A73B88 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00B9C 80A73B8C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00BA0 80A73B90 44810000 */ mtc1 $at, $f0 ## $f0 = 10.00
|
||||
/* 00BA4 80A73B94 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
|
||||
/* 00BA8 80A73B98 240F0005 */ addiu $t7, $zero, 0x0005 ## $t7 = 00000005
|
||||
/* 00BAC 80A73B9C 44060000 */ mfc1 $a2, $f0
|
||||
/* 00BB0 80A73BA0 44070000 */ mfc1 $a3, $f0
|
||||
/* 00BB4 80A73BA4 AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 00BB8 80A73BA8 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 00BBC 80A73BAC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00BC0 80A73BB0 0C00B92D */ jal func_8002E4B4
|
||||
/* 00BC4 80A73BB4 E7B00010 */ swc1 $f16, 0x0010($sp)
|
||||
/* 00BC8 80A73BB8 86020152 */ lh $v0, 0x0152($s0) ## 00000152
|
||||
/* 00BCC 80A73BBC 28410019 */ slti $at, $v0, 0x0019
|
||||
/* 00BD0 80A73BC0 10200010 */ beq $at, $zero, .L80A73C04
|
||||
/* 00BD4 80A73BC4 00000000 */ nop
|
||||
/* 00BD8 80A73BC8 86180150 */ lh $t8, 0x0150($s0) ## 00000150
|
||||
/* 00BDC 80A73BCC 2719FFF6 */ addiu $t9, $t8, 0xFFF6 ## $t9 = FFFFFFF6
|
||||
/* 00BE0 80A73BD0 A6190150 */ sh $t9, 0x0150($s0) ## 00000150
|
||||
/* 00BE4 80A73BD4 86020150 */ lh $v0, 0x0150($s0) ## 00000150
|
||||
/* 00BE8 80A73BD8 04410004 */ bgez $v0, .L80A73BEC
|
||||
/* 00BEC 80A73BDC 28410100 */ slti $at, $v0, 0x0100
|
||||
/* 00BF0 80A73BE0 A6000150 */ sh $zero, 0x0150($s0) ## 00000150
|
||||
/* 00BF4 80A73BE4 10000007 */ beq $zero, $zero, .L80A73C04
|
||||
/* 00BF8 80A73BE8 86020152 */ lh $v0, 0x0152($s0) ## 00000152
|
||||
.L80A73BEC:
|
||||
/* 00BFC 80A73BEC 14200003 */ bne $at, $zero, .L80A73BFC
|
||||
/* 00C00 80A73BF0 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
|
||||
/* 00C04 80A73BF4 10000001 */ beq $zero, $zero, .L80A73BFC
|
||||
/* 00C08 80A73BF8 240300FF */ addiu $v1, $zero, 0x00FF ## $v1 = 000000FF
|
||||
.L80A73BFC:
|
||||
/* 00C0C 80A73BFC A6030150 */ sh $v1, 0x0150($s0) ## 00000150
|
||||
/* 00C10 80A73C00 86020152 */ lh $v0, 0x0152($s0) ## 00000152
|
||||
.L80A73C04:
|
||||
/* 00C14 80A73C04 5C400004 */ bgtzl $v0, .L80A73C18
|
||||
/* 00C18 80A73C08 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00C1C 80A73C0C 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00C20 80A73C10 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C24 80A73C14 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A73C18:
|
||||
/* 00C28 80A73C18 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00C2C 80A73C1C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00C30 80A73C20 03E00008 */ jr $ra
|
||||
/* 00C34 80A73C24 00000000 */ nop
|
|
@ -1,28 +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_Ice_Hono_InitVars
|
||||
.word 0x00F00700, 0x00000000, 0x00010000, 0x000001BC
|
||||
.word EnIceHono_Init
|
||||
.word EnIceHono_Destroy
|
||||
.word EnIceHono_Update
|
||||
.word EnIceHono_Draw
|
||||
glabel D_80A74010
|
||||
.word 0x0A000039, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00190050, 0x00000000, 0x00000000
|
||||
glabel D_80A7403C
|
||||
.word 0x0A210021, 0x20010000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x01000100, 0x000C003C, 0x00000000, 0x00000000
|
||||
glabel D_80A74068
|
||||
.word 0x801F0000, 0xB04C003C, 0xB0F403E8, 0xB0F80190, 0x30FC03E8
|
||||
glabel D_80A7407C
|
||||
.word 0xB0F403E8, 0xB0F80190, 0x30FC03E8
|
||||
glabel D_80A74088
|
||||
.word 0xB0F403E8, 0xB0F80190, 0x30FC03E8, 0x00000000, 0x00000000, 0x00000000
|
||||
|
|
@ -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_80A74180
|
||||
.incbin "baserom/ovl_En_Ice_Hono", 0x1190, 0x00000190
|
3
spec
3
spec
|
@ -2574,8 +2574,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Ice_Hono"
|
||||
include "build/src/overlays/actors/ovl_En_Ice_Hono/z_en_ice_hono.o"
|
||||
include "build/data/overlays/actors/z_en_ice_hono.data.o"
|
||||
include "build/data/overlays/actors/z_en_ice_hono.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Ice_Hono/ovl_En_Ice_Hono_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -9,7 +9,18 @@ void EnIceHono_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void EnIceHono_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnIceHono_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void EnIceHono_CapturableFlame(EnIceHono* this, GlobalContext* globalCtx);
|
||||
void EnIceHono_DropFlame(EnIceHono* this, GlobalContext* globalCtx);
|
||||
void EnIceHono_SpreadFlames(EnIceHono* this, GlobalContext* globalCtx);
|
||||
void EnIceHono_SmallFlameMove(EnIceHono* this, GlobalContext* globalCtx);
|
||||
|
||||
void EnIceHono_SetupActionCapturableFlame(EnIceHono* this);
|
||||
void EnIceHono_SetupActionDroppedFlame(EnIceHono* this);
|
||||
void EnIceHono_SetupActionSpreadFlames(EnIceHono* this);
|
||||
void EnIceHono_SetupActionSmallFlame(EnIceHono* this);
|
||||
|
||||
extern Gfx D_0404D4E0[];
|
||||
|
||||
const ActorInit En_Ice_Hono_InitVars = {
|
||||
ACTOR_EN_ICE_HONO,
|
||||
ACTORTYPE_ITEMACTION,
|
||||
|
@ -21,37 +32,334 @@ const ActorInit En_Ice_Hono_InitVars = {
|
|||
(ActorFunc)EnIceHono_Update,
|
||||
(ActorFunc)EnIceHono_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ice_Hono/func_80A72FF0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ice_Hono/func_80A7301C.s")
|
||||
static ColliderCylinderInit sCylinderInitCapturableFlame = {
|
||||
{ COLTYPE_UNK10, 0x00, 0x00, 0x39, 0x20, COLSHAPE_CYLINDER },
|
||||
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
|
||||
{ 25, 80, 0, { 0, 0, 0 } },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ice_Hono/func_80A730BC.s")
|
||||
static ColliderCylinderInit sCylinderInitDroppedFlame = {
|
||||
{ COLTYPE_UNK10, 0x21, 0x00, 0x21, 0x20, COLSHAPE_CYLINDER },
|
||||
{ 0x00, { 0xFFCFFFFF, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x01, 0x00, 0x01 },
|
||||
{ 12, 60, 0, { 0, 0, 0 } },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ice_Hono/func_80A731C0.s")
|
||||
static InitChainEntry sInitChainCapturableFlame[] = {
|
||||
ICHAIN_U8(unk_1F, 0, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(unk_4C, 60, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneForward, 1000, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneScale, 400, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ice_Hono/EnIceHono_Init.s")
|
||||
static InitChainEntry sInitChainDroppedFlame[] = {
|
||||
ICHAIN_F32(uncullZoneForward, 1000, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneScale, 400, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ice_Hono/EnIceHono_Destroy.s")
|
||||
static InitChainEntry sInitChainSmallFlame[] = {
|
||||
ICHAIN_F32(uncullZoneForward, 1000, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneScale, 400, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ice_Hono/func_80A733E8.s")
|
||||
f32 EnIceHono_SquareDist(Vec3f* pos1, Vec3f* pos2) {
|
||||
f32 dx = pos1->x - pos2->x;
|
||||
f32 dz = pos1->z - pos2->z;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ice_Hono/func_80A734D4.s")
|
||||
return SQ(dx) + SQ(dz);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ice_Hono/func_80A734F8.s")
|
||||
void EnIceHono_InitCapturableFlame(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnIceHono* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ice_Hono/func_80A735A0.s")
|
||||
Actor_ProcessInitChain(&this->actor, sInitChainCapturableFlame);
|
||||
Actor_SetScale(&this->actor, 0.0074f);
|
||||
this->actor.flags |= 1;
|
||||
Actor_SetHeight(&this->actor, 10.0f);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ice_Hono/func_80A735C0.s")
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInitCapturableFlame);
|
||||
Collider_CylinderUpdate(&this->actor, &this->collider);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ice_Hono/func_80A73780.s")
|
||||
this->actor.colChkInfo.mass = 0xFF;
|
||||
EnIceHono_SetupActionCapturableFlame(this);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ice_Hono/func_80A737A0.s")
|
||||
void EnIceHono_InitDroppedFlame(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnIceHono* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ice_Hono/func_80A739FC.s")
|
||||
Actor_ProcessInitChain(&this->actor, sInitChainDroppedFlame);
|
||||
this->actor.scale.x = this->actor.scale.z = this->actor.scale.y = 0.00002f;
|
||||
this->actor.gravity = -0.3f;
|
||||
this->actor.minVelocityY = -4.0f;
|
||||
this->actor.shape.unk_08 = 0.0f;
|
||||
this->actor.shape.rot.x = this->actor.shape.rot.y = this->actor.shape.rot.z = this->actor.posRot.rot.x =
|
||||
this->actor.posRot.rot.y = this->actor.posRot.rot.z = 0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ice_Hono/func_80A73AD0.s")
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInitDroppedFlame);
|
||||
Collider_CylinderUpdate(&this->actor, &this->collider);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ice_Hono/EnIceHono_Update.s")
|
||||
this->collider.dim.radius = this->actor.scale.x * 4000.4f;
|
||||
this->collider.dim.height = this->actor.scale.y * 8000.2f;
|
||||
this->actor.colChkInfo.mass = 253;
|
||||
EnIceHono_SetupActionDroppedFlame(this);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ice_Hono/EnIceHono_Draw.s")
|
||||
void EnIceHono_InitSmallFlame(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnIceHono* this = THIS;
|
||||
|
||||
Actor_ProcessInitChain(&this->actor, sInitChainSmallFlame);
|
||||
this->actor.scale.x = this->actor.scale.z = this->actor.scale.y = 0.0008f;
|
||||
this->actor.gravity = -0.3f;
|
||||
this->actor.minVelocityY = -4.0f;
|
||||
this->actor.shape.unk_08 = 0.0f;
|
||||
|
||||
EnIceHono_SetupActionSmallFlame(this);
|
||||
}
|
||||
|
||||
void EnIceHono_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnIceHono* this = THIS;
|
||||
s16 params = this->actor.params;
|
||||
|
||||
switch (this->actor.params) {
|
||||
case -1:
|
||||
EnIceHono_InitCapturableFlame(&this->actor, globalCtx);
|
||||
break;
|
||||
case 0:
|
||||
EnIceHono_InitDroppedFlame(&this->actor, globalCtx);
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
EnIceHono_InitSmallFlame(&this->actor, globalCtx);
|
||||
break;
|
||||
}
|
||||
|
||||
if ((this->actor.params == -1) || (this->actor.params == 0)) {
|
||||
Lights_PointNoGlowSetInfo(&this->lightInfo, this->actor.posRot.pos.x, (s16)this->actor.posRot.pos.y + 10,
|
||||
this->actor.posRot.pos.z, 155, 210, 255, 0);
|
||||
this->lightNode = LightContext_InsertLight(globalCtx, &globalCtx->lightCtx, &this->lightInfo);
|
||||
this->unk_154 = Math_Rand_ZeroOne() * (0x1FFFF / 2.0f);
|
||||
this->unk_156 = Math_Rand_ZeroOne() * (0x1FFFF / 2.0f);
|
||||
// Translates to: "(ice flame)"
|
||||
osSyncPrintf("(ice 炎)(arg_data 0x%04x)\n", this->actor.params);
|
||||
}
|
||||
}
|
||||
|
||||
void EnIceHono_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnIceHono* this = THIS;
|
||||
|
||||
if ((this->actor.params == -1) || (this->actor.params == 0)) {
|
||||
LightContext_RemoveLight(globalCtx, &globalCtx->lightCtx, this->lightNode);
|
||||
Collider_DestroyCylinder(globalCtx, &this->collider);
|
||||
}
|
||||
}
|
||||
|
||||
u32 EnIceHono_LinkCloseAndFacing(EnIceHono* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
if (this->actor.xzDistFromLink < 60.0f) {
|
||||
Vec3f tempPos;
|
||||
tempPos.x = Math_Sins(this->actor.yawTowardsLink + 0x8000) * 40.0f + player->actor.posRot.pos.x;
|
||||
tempPos.y = player->actor.posRot.pos.y;
|
||||
tempPos.z = Math_Coss(this->actor.yawTowardsLink + 0x8000) * 40.0f + player->actor.posRot.pos.z;
|
||||
if (EnIceHono_SquareDist(&tempPos, &this->actor.posRot.pos) <= SQ(40.0f)) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void EnIceHono_SetupActionCapturableFlame(EnIceHono* this) {
|
||||
this->actionFunc = EnIceHono_CapturableFlame;
|
||||
this->alpha = 255;
|
||||
this->actor.shape.unk_08 = -1000.0f;
|
||||
}
|
||||
|
||||
void EnIceHono_CapturableFlame(EnIceHono* this, GlobalContext* globalCtx) {
|
||||
if (Actor_HasParent(&this->actor, globalCtx)) {
|
||||
this->actor.parent = NULL;
|
||||
} else if (EnIceHono_LinkCloseAndFacing(this, globalCtx)) {
|
||||
func_8002F434(&this->actor, globalCtx, 0x7E, 60.0f, 100.0f);
|
||||
}
|
||||
|
||||
if (this->actor.xzDistFromLink < 200.0f) {
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
}
|
||||
func_8002F8F0(&this->actor, NA_SE_EV_FIRE_PILLAR_S - SFX_FLAG);
|
||||
}
|
||||
|
||||
void EnIceHono_SetupActionDroppedFlame(EnIceHono* this) {
|
||||
this->actionFunc = EnIceHono_DropFlame;
|
||||
this->timer = 200;
|
||||
this->alpha = 255;
|
||||
}
|
||||
|
||||
void EnIceHono_DropFlame(EnIceHono* this, GlobalContext* globalCtx) {
|
||||
u32 bgFlag = this->actor.bgCheckFlags & 1;
|
||||
|
||||
Math_ApproxF(&this->actor.scale.x, 0.0017f, 0.00008f);
|
||||
this->actor.scale.z = this->actor.scale.x;
|
||||
Math_ApproxF(&this->actor.scale.y, 0.0017f, 0.00008f);
|
||||
|
||||
if (bgFlag != 0) {
|
||||
s32 i;
|
||||
for (i = 0; i < 8; i++) {
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ICE_HONO, this->actor.posRot.pos.x,
|
||||
this->actor.posRot.pos.y, this->actor.posRot.pos.z, 0,
|
||||
((s32)(Math_Rand_ZeroOne() * 1000.0f) + i * 0x2000) - 0x1F4, 0, 1);
|
||||
}
|
||||
EnIceHono_SetupActionSpreadFlames(this);
|
||||
}
|
||||
Actor_MoveForward(&this->actor);
|
||||
func_8002E4B4(globalCtx, &this->actor, 10.0f, this->actor.scale.x * 3500.0f, 0.0f, 5);
|
||||
|
||||
Collider_CylinderUpdate(&this->actor, &this->collider);
|
||||
this->collider.dim.radius = this->actor.scale.x * 4000.0f;
|
||||
this->collider.dim.height = this->actor.scale.y * 8000.0f;
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
|
||||
if (this->timer <= 0) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
void EnIceHono_SetupActionSpreadFlames(EnIceHono* this) {
|
||||
this->actionFunc = EnIceHono_SpreadFlames;
|
||||
this->timer = 60;
|
||||
this->alpha = 255;
|
||||
}
|
||||
|
||||
void EnIceHono_SpreadFlames(EnIceHono* this, GlobalContext* globalCtx) {
|
||||
if (this->timer > 20) {
|
||||
Math_ApproxF(&this->actor.scale.x, 0.011f, 0.00014f);
|
||||
Math_ApproxF(&this->actor.scale.y, 0.006f, 0.00012f);
|
||||
} else {
|
||||
Math_ApproxF(&this->actor.scale.x, 0.0001f, 0.00015f);
|
||||
Math_ApproxF(&this->actor.scale.y, 0.0001f, 0.00015f);
|
||||
}
|
||||
this->actor.scale.z = this->actor.scale.x;
|
||||
Actor_MoveForward(&this->actor);
|
||||
func_8002E4B4(globalCtx, &this->actor, 10.0f, this->actor.scale.x * 3500.0f, 0.0f, 4);
|
||||
if (this->timer < 25) {
|
||||
this->alpha -= 10;
|
||||
this->alpha = CLAMP(this->alpha, 0, 255);
|
||||
}
|
||||
|
||||
if ((this->alpha > 100) && (this->timer < 40)) {
|
||||
Collider_CylinderUpdate(&this->actor, &this->collider);
|
||||
this->collider.dim.radius = this->actor.scale.x * 6000.0f;
|
||||
this->collider.dim.height = this->actor.scale.y * 8000.0f;
|
||||
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
}
|
||||
if (this->timer == 46) {
|
||||
s32 i;
|
||||
for (i = 0; i < 10; i++) {
|
||||
s32 rot = i * 0x1999;
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ICE_HONO, this->actor.posRot.pos.x,
|
||||
this->actor.posRot.pos.y, this->actor.posRot.pos.z, 0,
|
||||
((s32)(Math_Rand_ZeroOne() * 1000.0f) + rot) - 0x1F4, 0, 2);
|
||||
}
|
||||
}
|
||||
|
||||
if (this->timer <= 0) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
void EnIceHono_SetupActionSmallFlame(EnIceHono* this) {
|
||||
this->actionFunc = EnIceHono_SmallFlameMove;
|
||||
this->timer = 44;
|
||||
this->alpha = 255;
|
||||
if (this->actor.params == 1) {
|
||||
this->smallFlameTargetYScale = (Math_Rand_ZeroOne() * 0.005f) + 0.004f;
|
||||
this->actor.speedXZ = (Math_Rand_ZeroOne() * 1.6f) + 0.5f;
|
||||
} else {
|
||||
this->smallFlameTargetYScale = (Math_Rand_ZeroOne() * 0.005f) + 0.003f;
|
||||
this->actor.speedXZ = (Math_Rand_ZeroOne() * 2.0f) + 0.5f;
|
||||
}
|
||||
}
|
||||
|
||||
void EnIceHono_SmallFlameMove(EnIceHono* this, GlobalContext* globalCtx) {
|
||||
if (this->timer > 20) {
|
||||
Math_ApproxF(&this->actor.scale.x, 0.006f, 0.00016f);
|
||||
Math_ApproxF(&this->actor.scale.y, this->smallFlameTargetYScale * 0.667f, 0.00014f);
|
||||
} else {
|
||||
Math_ApproxF(&this->actor.scale.x, 0.0001f, 0.00015f);
|
||||
Math_ApproxF(&this->actor.scale.y, 0.0001f, 0.00015f);
|
||||
}
|
||||
this->actor.scale.z = this->actor.scale.x;
|
||||
Math_ApproxF(&this->actor.speedXZ, 0, 0.06f);
|
||||
Actor_MoveForward(&this->actor);
|
||||
func_8002E4B4(globalCtx, &this->actor, 10.0f, 10.0f, 0.0f, 5);
|
||||
|
||||
if (this->timer < 25) {
|
||||
this->alpha -= 10;
|
||||
this->alpha = CLAMP(this->alpha, 0, 255);
|
||||
}
|
||||
if (this->timer <= 0) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
void EnIceHono_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnIceHono* this = THIS;
|
||||
s32 pad1;
|
||||
f32 intensity;
|
||||
s32 pad2;
|
||||
f32 sin154;
|
||||
f32 sin156;
|
||||
|
||||
if (this->timer > 0) {
|
||||
this->timer--;
|
||||
}
|
||||
if (this->actor.params == 0) {
|
||||
func_8002F8F0(&this->actor, NA_SE_IT_FLAME - SFX_FLAG);
|
||||
}
|
||||
if ((this->actor.params == -1) || (this->actor.params == 0)) {
|
||||
this->unk_154 += 0x1111;
|
||||
this->unk_156 += 0x4000;
|
||||
sin156 = Math_Sins(this->unk_156);
|
||||
sin154 = Math_Sins(this->unk_154);
|
||||
intensity = (Math_Rand_ZeroOne() * 0.05f) + ((sin154 * 0.125f) + (sin156 * 0.1f)) + 0.425f;
|
||||
if ((intensity > 0.7f) || (intensity < 0.2f)) {
|
||||
// Translates to: "impossible value(ratio = %f)"
|
||||
osSyncPrintf("ありえない値(ratio = %f)\n", (f64)intensity);
|
||||
}
|
||||
Lights_PointNoGlowSetInfo(&this->lightInfo, this->actor.posRot.pos.x, (s16)this->actor.posRot.pos.y + 10,
|
||||
this->actor.posRot.pos.z, (s32)(155.0f * intensity), (s32)(210.0f * intensity),
|
||||
(s32)(255.0f * intensity), 1400);
|
||||
}
|
||||
|
||||
if (this->actionFunc != NULL) {
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
void EnIceHono_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnIceHono* this = THIS;
|
||||
u32 pad;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ice_hono.c", 695);
|
||||
func_80093D84(globalCtx->state.gfxCtx);
|
||||
|
||||
gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
|
||||
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 32, 64, 1, 0, (globalCtx->state.frames * -20) % 512,
|
||||
32, 128));
|
||||
|
||||
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0x80, 0x80, 170, 255, 255, this->alpha);
|
||||
|
||||
gDPSetEnvColor(oGfxCtx->polyXlu.p++, 0, 150, 255, 0);
|
||||
|
||||
Matrix_RotateY((s16)(func_8005A9F4(ACTIVE_CAM) - this->actor.shape.rot.y + 0x8000) * (M_PI / 0x8000),
|
||||
MTXMODE_APPLY);
|
||||
|
||||
gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_ice_hono.c", 718),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(oGfxCtx->polyXlu.p++, D_0404D4E0);
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ice_hono.c", 722);
|
||||
}
|
||||
|
|
|
@ -6,9 +6,19 @@
|
|||
|
||||
struct EnIceHono;
|
||||
|
||||
typedef void (*EnIceHonoActionFunc)(struct EnIceHono*, GlobalContext*);
|
||||
|
||||
typedef struct EnIceHono {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x70];
|
||||
/* 0x014C */ EnIceHonoActionFunc actionFunc;
|
||||
/* 0x0150 */ s16 alpha;
|
||||
/* 0x0152 */ s16 timer;
|
||||
/* 0x0154 */ s16 unk_154;
|
||||
/* 0x0156 */ s16 unk_156;
|
||||
/* 0x0158 */ f32 smallFlameTargetYScale;
|
||||
/* 0x015C */ ColliderCylinder collider;
|
||||
/* 0x01A8 */ LightNode* lightNode;
|
||||
/* 0x01AC */ LightInfo lightInfo;
|
||||
} EnIceHono; // size = 0x01BC
|
||||
|
||||
extern const ActorInit En_Ice_Hono_InitVars;
|
||||
|
|
Loading…
Reference in a new issue