mirror of
https://github.com/zeldaret/oot.git
synced 2025-01-24 17:47:33 +00:00
Attack_Niw (#272)
* Attack! * Decimal indexes * a * PR * PR * PR * Why break it
This commit is contained in:
parent
3a22219d5d
commit
c25b87923e
17 changed files with 435 additions and 1033 deletions
|
@ -1,15 +0,0 @@
|
|||
glabel EnAttackNiw_Destroy
|
||||
/* 00134 809B5234 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00138 809B5238 8C830118 */ lw $v1, 0x0118($a0) ## 00000118
|
||||
/* 0013C 809B523C 10600008 */ beq $v1, $zero, .L809B5260
|
||||
/* 00140 809B5240 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
|
||||
/* 00144 809B5244 8C6E0130 */ lw $t6, 0x0130($v1) ## 00000130
|
||||
/* 00148 809B5248 11C00005 */ beq $t6, $zero, .L809B5260
|
||||
/* 0014C 809B524C 00000000 */ nop
|
||||
/* 00150 809B5250 84630296 */ lh $v1, 0x0296($v1) ## 00000296
|
||||
/* 00154 809B5254 18600002 */ blez $v1, .L809B5260
|
||||
/* 00158 809B5258 246FFFFF */ addiu $t7, $v1, 0xFFFF ## $t7 = FFFFFFFF
|
||||
/* 0015C 809B525C A44F0296 */ sh $t7, 0x0296($v0) ## 00000296
|
||||
.L809B5260:
|
||||
/* 00160 809B5260 03E00008 */ jr $ra
|
||||
/* 00164 809B5264 00000000 */ nop
|
|
@ -1,25 +0,0 @@
|
|||
glabel EnAttackNiw_Draw
|
||||
/* 00FF0 809B60F0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00FF4 809B60F4 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00FF8 809B60F8 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 00FFC 809B60FC AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 01000 809B6100 0C024F46 */ jal func_80093D18
|
||||
/* 01004 809B6104 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000
|
||||
/* 01008 809B6108 8FA20028 */ lw $v0, 0x0028($sp)
|
||||
/* 0100C 809B610C 3C0F809B */ lui $t7, %hi(func_809B5F98) ## $t7 = 809B0000
|
||||
/* 01010 809B6110 25EF5F98 */ addiu $t7, $t7, %lo(func_809B5F98) ## $t7 = 809B5F98
|
||||
/* 01014 809B6114 8C450150 */ lw $a1, 0x0150($v0) ## 00000150
|
||||
/* 01018 809B6118 8C46016C */ lw $a2, 0x016C($v0) ## 0000016C
|
||||
/* 0101C 809B611C 9047014E */ lbu $a3, 0x014E($v0) ## 0000014E
|
||||
/* 01020 809B6120 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 01024 809B6124 AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 01028 809B6128 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 0102C 809B612C 0C0286B2 */ jal SkelAnime_DrawSV
|
||||
/* 01030 809B6130 AFA20018 */ sw $v0, 0x0018($sp)
|
||||
/* 01034 809B6134 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 01038 809B6138 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 0103C 809B613C 03E00008 */ jr $ra
|
||||
/* 01040 809B6140 00000000 */ nop
|
||||
/* 01044 809B6144 00000000 */ nop
|
||||
/* 01048 809B6148 00000000 */ nop
|
||||
/* 0104C 809B614C 00000000 */ nop
|
|
@ -1,92 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809B6190
|
||||
.float 60000.0
|
||||
|
||||
.text
|
||||
glabel EnAttackNiw_Init
|
||||
/* 00000 809B5100 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00004 809B5104 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00008 809B5108 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 0000C 809B510C AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00010 809B5110 3C05809B */ lui $a1, %hi(D_809B6170) ## $a1 = 809B0000
|
||||
/* 00014 809B5114 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00018 809B5118 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 0001C 809B511C 24A56170 */ addiu $a1, $a1, %lo(D_809B6170) ## $a1 = 809B6170
|
||||
/* 00020 809B5120 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle)
|
||||
/* 00024 809B5124 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle)
|
||||
/* 00028 809B5128 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 0002C 809B512C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 00030 809B5130 0C00AC78 */ jal ActorShape_Init
|
||||
|
||||
/* 00034 809B5134 3C0741C8 */ lui $a3, 0x41C8 ## $a3 = 41C80000
|
||||
/* 00038 809B5138 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000
|
||||
/* 0003C 809B513C 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
|
||||
/* 00040 809B5140 260E0190 */ addiu $t6, $s0, 0x0190 ## $t6 = 00000190
|
||||
/* 00044 809B5144 260F01F0 */ addiu $t7, $s0, 0x01F0 ## $t7 = 000001F0
|
||||
/* 00048 809B5148 24180010 */ addiu $t8, $zero, 0x0010 ## $t8 = 00000010
|
||||
/* 0004C 809B514C AFB80018 */ sw $t8, 0x0018($sp)
|
||||
/* 00050 809B5150 AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 00054 809B5154 AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 00058 809B5158 24E700E8 */ addiu $a3, $a3, 0x00E8 ## $a3 = 060000E8
|
||||
/* 0005C 809B515C 24C62530 */ addiu $a2, $a2, 0x2530 ## $a2 = 06002530
|
||||
/* 00060 809B5160 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00064 809B5164 0C0291BE */ jal SkelAnime_InitSV
|
||||
/* 00068 809B5168 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
|
||||
/* 0006C 809B516C 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
|
||||
/* 00070 809B5170 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00074 809B5174 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
|
||||
/* 00078 809B5178 07210002 */ bgez $t9, .L809B5184
|
||||
/* 0007C 809B517C 00000000 */ nop
|
||||
/* 00080 809B5180 A600001C */ sh $zero, 0x001C($s0) ## 0000001C
|
||||
.L809B5184:
|
||||
/* 00084 809B5184 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00088 809B5188 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
|
||||
/* 0008C 809B518C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00090 809B5190 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 00094 809B5194 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00
|
||||
/* 00098 809B5198 0C00CFC8 */ jal Math_Rand_CenteredFloat
|
||||
|
||||
/* 0009C 809B519C E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C
|
||||
/* 000A0 809B51A0 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 000A4 809B51A4 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00
|
||||
/* 000A8 809B51A8 0C00CFC8 */ jal Math_Rand_CenteredFloat
|
||||
|
||||
/* 000AC 809B51AC E6000298 */ swc1 $f0, 0x0298($s0) ## 00000298
|
||||
/* 000B0 809B51B0 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 000B4 809B51B4 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00
|
||||
/* 000B8 809B51B8 0C00CFC8 */ jal Math_Rand_CenteredFloat
|
||||
|
||||
/* 000BC 809B51BC E600029C */ swc1 $f0, 0x029C($s0) ## 0000029C
|
||||
/* 000C0 809B51C0 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
|
||||
/* 000C4 809B51C4 E60002A0 */ swc1 $f0, 0x02A0($s0) ## 000002A0
|
||||
/* 000C8 809B51C8 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
|
||||
/* 000CC 809B51CC 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 000D0 809B51D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 000D4 809B51D4 8E080004 */ lw $t0, 0x0004($s0) ## 00000004
|
||||
/* 000D8 809B51D8 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
|
||||
/* 000DC 809B51DC 01014824 */ and $t1, $t0, $at
|
||||
/* 000E0 809B51E0 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 000E4 809B51E4 AE090004 */ sw $t1, 0x0004($s0) ## 00000004
|
||||
/* 000E8 809B51E8 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 000EC 809B51EC 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50
|
||||
/* 000F0 809B51F0 3C01809B */ lui $at, %hi(D_809B6190) ## $at = 809B0000
|
||||
/* 000F4 809B51F4 C42A6190 */ lwc1 $f10, %lo(D_809B6190)($at)
|
||||
/* 000F8 809B51F8 46060201 */ sub.s $f8, $f0, $f6
|
||||
/* 000FC 809B51FC 3C0B809B */ lui $t3, %hi(func_809B5670) ## $t3 = 809B0000
|
||||
/* 00100 809B5200 256B5670 */ addiu $t3, $t3, %lo(func_809B5670) ## $t3 = 809B5670
|
||||
/* 00104 809B5204 AE0B0250 */ sw $t3, 0x0250($s0) ## 00000250
|
||||
/* 00108 809B5208 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 0010C 809B520C 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 00110 809B5210 44029000 */ mfc1 $v0, $f18
|
||||
/* 00114 809B5214 00000000 */ nop
|
||||
/* 00118 809B5218 A6020032 */ sh $v0, 0x0032($s0) ## 00000032
|
||||
/* 0011C 809B521C A60200B6 */ sh $v0, 0x00B6($s0) ## 000000B6
|
||||
/* 00120 809B5220 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00124 809B5224 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00128 809B5228 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 0012C 809B522C 03E00008 */ jr $ra
|
||||
/* 00130 809B5230 00000000 */ nop
|
|
@ -1,205 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809B61F4
|
||||
.float 5000.0
|
||||
|
||||
.text
|
||||
glabel EnAttackNiw_Update
|
||||
/* 00BD4 809B5CD4 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 00BD8 809B5CD8 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00BDC 809B5CDC AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00BE0 809B5CE0 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
|
||||
/* 00BE4 809B5CE4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00BE8 809B5CE8 AFAE0040 */ sw $t6, 0x0040($sp)
|
||||
/* 00BEC 809B5CEC 848F028C */ lh $t7, 0x028C($a0) ## 0000028C
|
||||
/* 00BF0 809B5CF0 84820254 */ lh $v0, 0x0254($a0) ## 00000254
|
||||
/* 00BF4 809B5CF4 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
|
||||
/* 00BF8 809B5CF8 10400003 */ beq $v0, $zero, .L809B5D08
|
||||
/* 00BFC 809B5CFC A498028C */ sh $t8, 0x028C($a0) ## 0000028C
|
||||
/* 00C00 809B5D00 2459FFFF */ addiu $t9, $v0, 0xFFFF ## $t9 = FFFFFFFF
|
||||
/* 00C04 809B5D04 A4990254 */ sh $t9, 0x0254($a0) ## 00000254
|
||||
.L809B5D08:
|
||||
/* 00C08 809B5D08 86020258 */ lh $v0, 0x0258($s0) ## 00000258
|
||||
/* 00C0C 809B5D0C 10400002 */ beq $v0, $zero, .L809B5D18
|
||||
/* 00C10 809B5D10 2448FFFF */ addiu $t0, $v0, 0xFFFF ## $t0 = FFFFFFFF
|
||||
/* 00C14 809B5D14 A6080258 */ sh $t0, 0x0258($s0) ## 00000258
|
||||
.L809B5D18:
|
||||
/* 00C18 809B5D18 8602025A */ lh $v0, 0x025A($s0) ## 0000025A
|
||||
/* 00C1C 809B5D1C 10400002 */ beq $v0, $zero, .L809B5D28
|
||||
/* 00C20 809B5D20 2449FFFF */ addiu $t1, $v0, 0xFFFF ## $t1 = FFFFFFFF
|
||||
/* 00C24 809B5D24 A609025A */ sh $t1, 0x025A($s0) ## 0000025A
|
||||
.L809B5D28:
|
||||
/* 00C28 809B5D28 8602025E */ lh $v0, 0x025E($s0) ## 0000025E
|
||||
/* 00C2C 809B5D2C 10400002 */ beq $v0, $zero, .L809B5D38
|
||||
/* 00C30 809B5D30 244AFFFF */ addiu $t2, $v0, 0xFFFF ## $t2 = FFFFFFFF
|
||||
/* 00C34 809B5D34 A60A025E */ sh $t2, 0x025E($s0) ## 0000025E
|
||||
.L809B5D38:
|
||||
/* 00C38 809B5D38 86020260 */ lh $v0, 0x0260($s0) ## 00000260
|
||||
/* 00C3C 809B5D3C 10400002 */ beq $v0, $zero, .L809B5D48
|
||||
/* 00C40 809B5D40 244BFFFF */ addiu $t3, $v0, 0xFFFF ## $t3 = FFFFFFFF
|
||||
/* 00C44 809B5D44 A60B0260 */ sh $t3, 0x0260($s0) ## 00000260
|
||||
.L809B5D48:
|
||||
/* 00C48 809B5D48 8602025C */ lh $v0, 0x025C($s0) ## 0000025C
|
||||
/* 00C4C 809B5D4C 10400002 */ beq $v0, $zero, .L809B5D58
|
||||
/* 00C50 809B5D50 244CFFFF */ addiu $t4, $v0, 0xFFFF ## $t4 = FFFFFFFF
|
||||
/* 00C54 809B5D54 A60C025C */ sh $t4, 0x025C($s0) ## 0000025C
|
||||
.L809B5D58:
|
||||
/* 00C58 809B5D58 86020262 */ lh $v0, 0x0262($s0) ## 00000262
|
||||
/* 00C5C 809B5D5C 10400002 */ beq $v0, $zero, .L809B5D68
|
||||
/* 00C60 809B5D60 244DFFFF */ addiu $t5, $v0, 0xFFFF ## $t5 = FFFFFFFF
|
||||
/* 00C64 809B5D64 A60D0262 */ sh $t5, 0x0262($s0) ## 00000262
|
||||
.L809B5D68:
|
||||
/* 00C68 809B5D68 8A0F0030 */ lwl $t7, 0x0030($s0) ## 00000030
|
||||
/* 00C6C 809B5D6C 9A0F0033 */ lwr $t7, 0x0033($s0) ## 00000033
|
||||
/* 00C70 809B5D70 3C014170 */ lui $at, 0x4170 ## $at = 41700000
|
||||
/* 00C74 809B5D74 44812000 */ mtc1 $at, $f4 ## $f4 = 15.00
|
||||
/* 00C78 809B5D78 AA0F00B4 */ swl $t7, 0x00B4($s0) ## 000000B4
|
||||
/* 00C7C 809B5D7C BA0F00B7 */ swr $t7, 0x00B7($s0) ## 000000B7
|
||||
/* 00C80 809B5D80 960F0034 */ lhu $t7, 0x0034($s0) ## 00000034
|
||||
/* 00C84 809B5D84 E60400C4 */ swc1 $f4, 0x00C4($s0) ## 000000C4
|
||||
/* 00C88 809B5D88 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C8C 809B5D8C A60F00B8 */ sh $t7, 0x00B8($s0) ## 000000B8
|
||||
/* 00C90 809B5D90 AFA50054 */ sw $a1, 0x0054($sp)
|
||||
/* 00C94 809B5D94 8E190250 */ lw $t9, 0x0250($s0) ## 00000250
|
||||
/* 00C98 809B5D98 0320F809 */ jalr $ra, $t9
|
||||
/* 00C9C 809B5D9C 00000000 */ nop
|
||||
/* 00CA0 809B5DA0 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00CA4 809B5DA4 44810000 */ mtc1 $at, $f0 ## $f0 = 20.00
|
||||
/* 00CA8 809B5DA8 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 00CAC 809B5DAC 44813000 */ mtc1 $at, $f6 ## $f6 = 60.00
|
||||
/* 00CB0 809B5DB0 2418001D */ addiu $t8, $zero, 0x001D ## $t8 = 0000001D
|
||||
/* 00CB4 809B5DB4 44060000 */ mfc1 $a2, $f0
|
||||
/* 00CB8 809B5DB8 44070000 */ mfc1 $a3, $f0
|
||||
/* 00CBC 809B5DBC AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 00CC0 809B5DC0 8FA40054 */ lw $a0, 0x0054($sp)
|
||||
/* 00CC4 809B5DC4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00CC8 809B5DC8 0C00B92D */ jal func_8002E4B4
|
||||
/* 00CCC 809B5DCC E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 00CD0 809B5DD0 8E090250 */ lw $t1, 0x0250($s0) ## 00000250
|
||||
/* 00CD4 809B5DD4 3C08809B */ lui $t0, %hi(func_809B5670) ## $t0 = 809B0000
|
||||
/* 00CD8 809B5DD8 25085670 */ addiu $t0, $t0, %lo(func_809B5670) ## $t0 = 809B5670
|
||||
/* 00CDC 809B5DDC 15090005 */ bne $t0, $t1, .L809B5DF4
|
||||
/* 00CE0 809B5DE0 00000000 */ nop
|
||||
/* 00CE4 809B5DE4 0C00B65F */ jal func_8002D97C
|
||||
/* 00CE8 809B5DE8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00CEC 809B5DEC 10000004 */ beq $zero, $zero, .L809B5E00
|
||||
/* 00CF0 809B5DF0 3C01C6FA */ lui $at, 0xC6FA ## $at = C6FA0000
|
||||
.L809B5DF4:
|
||||
/* 00CF4 809B5DF4 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 00CF8 809B5DF8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00CFC 809B5DFC 3C01C6FA */ lui $at, 0xC6FA ## $at = C6FA0000
|
||||
.L809B5E00:
|
||||
/* 00D00 809B5E00 44814000 */ mtc1 $at, $f8 ## $f8 = -32000.00
|
||||
/* 00D04 809B5E04 C60A0080 */ lwc1 $f10, 0x0080($s0) ## 00000080
|
||||
/* 00D08 809B5E08 4608503E */ c.le.s $f10, $f8
|
||||
/* 00D0C 809B5E0C 00000000 */ nop
|
||||
/* 00D10 809B5E10 45020006 */ bc1fl .L809B5E2C
|
||||
/* 00D14 809B5E14 960A0088 */ lhu $t2, 0x0088($s0) ## 00000088
|
||||
/* 00D18 809B5E18 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00D1C 809B5E1C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00D20 809B5E20 10000059 */ beq $zero, $zero, .L809B5F88
|
||||
/* 00D24 809B5E24 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00D28 809B5E28 960A0088 */ lhu $t2, 0x0088($s0) ## 00000088
|
||||
.L809B5E2C:
|
||||
/* 00D2C 809B5E2C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00D30 809B5E30 314B0020 */ andi $t3, $t2, 0x0020 ## $t3 = 00000000
|
||||
/* 00D34 809B5E34 51600024 */ beql $t3, $zero, .L809B5EC8
|
||||
/* 00D38 809B5E38 44810000 */ mtc1 $at, $f0 ## $f0 = 20.00
|
||||
/* 00D3C 809B5E3C 8E0C0250 */ lw $t4, 0x0250($s0) ## 00000250
|
||||
/* 00D40 809B5E40 3C02809B */ lui $v0, %hi(func_809B5C18) ## $v0 = 809B0000
|
||||
/* 00D44 809B5E44 24425C18 */ addiu $v0, $v0, %lo(func_809B5C18) ## $v0 = 809B5C18
|
||||
/* 00D48 809B5E48 104C001E */ beq $v0, $t4, .L809B5EC4
|
||||
/* 00D4C 809B5E4C 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE0
|
||||
/* 00D50 809B5E50 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
|
||||
/* 00D54 809B5E54 0C01DF90 */ jal Math_Vec3f_Copy
|
||||
## Vec3f_Copy
|
||||
/* 00D58 809B5E58 AFA20028 */ sw $v0, 0x0028($sp)
|
||||
/* 00D5C 809B5E5C C7B00034 */ lwc1 $f16, 0x0034($sp)
|
||||
/* 00D60 809B5E60 C6120084 */ lwc1 $f18, 0x0084($s0) ## 00000084
|
||||
/* 00D64 809B5E64 240D0190 */ addiu $t5, $zero, 0x0190 ## $t5 = 00000190
|
||||
/* 00D68 809B5E68 AFAD0014 */ sw $t5, 0x0014($sp)
|
||||
/* 00D6C 809B5E6C 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 00D70 809B5E70 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 00D74 809B5E74 8FA40054 */ lw $a0, 0x0054($sp)
|
||||
/* 00D78 809B5E78 27A50030 */ addiu $a1, $sp, 0x0030 ## $a1 = FFFFFFE0
|
||||
/* 00D7C 809B5E7C E7A40034 */ swc1 $f4, 0x0034($sp)
|
||||
/* 00D80 809B5E80 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00D84 809B5E84 0C00A527 */ jal func_8002949C
|
||||
/* 00D88 809B5E88 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00D8C 809B5E8C 860E0030 */ lh $t6, 0x0030($s0) ## 00000030
|
||||
/* 00D90 809B5E90 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00D94 809B5E94 8FA20028 */ lw $v0, 0x0028($sp)
|
||||
/* 00D98 809B5E98 448E3000 */ mtc1 $t6, $f6 ## $f6 = 0.00
|
||||
/* 00D9C 809B5E9C 3C01809B */ lui $at, %hi(D_809B61F4) ## $at = 809B0000
|
||||
/* 00DA0 809B5EA0 E60002DC */ swc1 $f0, 0x02DC($s0) ## 000002DC
|
||||
/* 00DA4 809B5EA4 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 00DA8 809B5EA8 E600006C */ swc1 $f0, 0x006C($s0) ## 0000006C
|
||||
/* 00DAC 809B5EAC E60002E0 */ swc1 $f0, 0x02E0($s0) ## 000002E0
|
||||
/* 00DB0 809B5EB0 C42A61F4 */ lwc1 $f10, %lo(D_809B61F4)($at)
|
||||
/* 00DB4 809B5EB4 AE020250 */ sw $v0, 0x0250($s0) ## 00000250
|
||||
/* 00DB8 809B5EB8 460A4401 */ sub.s $f16, $f8, $f10
|
||||
/* 00DBC 809B5EBC 10000031 */ beq $zero, $zero, .L809B5F84
|
||||
/* 00DC0 809B5EC0 E61002D0 */ swc1 $f16, 0x02D0($s0) ## 000002D0
|
||||
.L809B5EC4:
|
||||
/* 00DC4 809B5EC4 44810000 */ mtc1 $at, $f0 ## $f0 = -0.00
|
||||
.L809B5EC8:
|
||||
/* 00DC8 809B5EC8 C612008C */ lwc1 $f18, 0x008C($s0) ## 0000008C
|
||||
/* 00DCC 809B5ECC 46000102 */ mul.s $f4, $f0, $f0
|
||||
/* 00DD0 809B5ED0 4604903C */ c.lt.s $f18, $f4
|
||||
/* 00DD4 809B5ED4 00000000 */ nop
|
||||
/* 00DD8 809B5ED8 4502001D */ bc1fl .L809B5F50
|
||||
/* 00DDC 809B5EDC 860B025E */ lh $t3, 0x025E($s0) ## 0000025E
|
||||
/* 00DE0 809B5EE0 8E020118 */ lw $v0, 0x0118($s0) ## 00000118
|
||||
/* 00DE4 809B5EE4 8C4F0130 */ lw $t7, 0x0130($v0) ## 00000130
|
||||
/* 00DE8 809B5EE8 51E00019 */ beql $t7, $zero, .L809B5F50
|
||||
/* 00DEC 809B5EEC 860B025E */ lh $t3, 0x025E($s0) ## 0000025E
|
||||
/* 00DF0 809B5EF0 50400017 */ beql $v0, $zero, .L809B5F50
|
||||
/* 00DF4 809B5EF4 860B025E */ lh $t3, 0x025E($s0) ## 0000025E
|
||||
/* 00DF8 809B5EF8 50400015 */ beql $v0, $zero, .L809B5F50
|
||||
/* 00DFC 809B5EFC 860B025E */ lh $t3, 0x025E($s0) ## 0000025E
|
||||
/* 00E00 809B5F00 8459026A */ lh $t9, 0x026A($v0) ## 0000026A
|
||||
/* 00E04 809B5F04 8FB80040 */ lw $t8, 0x0040($sp)
|
||||
/* 00E08 809B5F08 57200011 */ bnel $t9, $zero, .L809B5F50
|
||||
/* 00E0C 809B5F0C 860B025E */ lh $t3, 0x025E($s0) ## 0000025E
|
||||
/* 00E10 809B5F10 83080A78 */ lb $t0, 0x0A78($t8) ## 00000A78
|
||||
/* 00E14 809B5F14 8FA40054 */ lw $a0, 0x0054($sp)
|
||||
/* 00E18 809B5F18 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00E1C 809B5F1C 1500000B */ bne $t0, $zero, .L809B5F4C
|
||||
/* 00E20 809B5F20 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
|
||||
/* 00E24 809B5F24 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00E28 809B5F28 86070032 */ lh $a3, 0x0032($s0) ## 00000032
|
||||
/* 00E2C 809B5F2C 24090010 */ addiu $t1, $zero, 0x0010 ## $t1 = 00000010
|
||||
/* 00E30 809B5F30 AFA90014 */ sw $t1, 0x0014($sp)
|
||||
/* 00E34 809B5F34 AFA20044 */ sw $v0, 0x0044($sp)
|
||||
/* 00E38 809B5F38 0C00BDB5 */ jal func_8002F6D4
|
||||
/* 00E3C 809B5F3C E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 00E40 809B5F40 8FA30044 */ lw $v1, 0x0044($sp)
|
||||
/* 00E44 809B5F44 240A0046 */ addiu $t2, $zero, 0x0046 ## $t2 = 00000046
|
||||
/* 00E48 809B5F48 A46A026A */ sh $t2, 0x026A($v1) ## 0000026A
|
||||
.L809B5F4C:
|
||||
/* 00E4C 809B5F4C 860B025E */ lh $t3, 0x025E($s0) ## 0000025E
|
||||
.L809B5F50:
|
||||
/* 00E50 809B5F50 240C001E */ addiu $t4, $zero, 0x001E ## $t4 = 0000001E
|
||||
/* 00E54 809B5F54 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00E58 809B5F58 15600003 */ bne $t3, $zero, .L809B5F68
|
||||
/* 00E5C 809B5F5C 24052812 */ addiu $a1, $zero, 0x2812 ## $a1 = 00002812
|
||||
/* 00E60 809B5F60 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00E64 809B5F64 A60C025E */ sh $t4, 0x025E($s0) ## 0000025E
|
||||
.L809B5F68:
|
||||
/* 00E68 809B5F68 860D0260 */ lh $t5, 0x0260($s0) ## 00000260
|
||||
/* 00E6C 809B5F6C 240E0007 */ addiu $t6, $zero, 0x0007 ## $t6 = 00000007
|
||||
/* 00E70 809B5F70 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00E74 809B5F74 15A00003 */ bne $t5, $zero, .L809B5F84
|
||||
/* 00E78 809B5F78 240538FF */ addiu $a1, $zero, 0x38FF ## $a1 = 000038FF
|
||||
/* 00E7C 809B5F7C 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00E80 809B5F80 A60E0260 */ sh $t6, 0x0260($s0) ## 00000260
|
||||
.L809B5F84:
|
||||
/* 00E84 809B5F84 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L809B5F88:
|
||||
/* 00E88 809B5F88 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00E8C 809B5F8C 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
||||
/* 00E90 809B5F90 03E00008 */ jr $ra
|
||||
/* 00E94 809B5F94 00000000 */ nop
|
|
@ -1,287 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809B6194
|
||||
.float -10000
|
||||
glabel jtbl_809B6198
|
||||
.word L809B5348
|
||||
.word L809B5354
|
||||
.word L809B5388
|
||||
.word L809B53E8
|
||||
.word L809B541C
|
||||
.word L809B5430
|
||||
glabel D_809B61B0
|
||||
.float 7000
|
||||
glabel D_809B61B4
|
||||
.float 7000
|
||||
glabel D_809B61B8
|
||||
.float 25000
|
||||
glabel D_809B61BC
|
||||
.float 6000
|
||||
glabel D_809B61C0
|
||||
.float -10000
|
||||
glabel D_809B61C4
|
||||
.float -10000
|
||||
glabel D_809B61C8
|
||||
.float 10000
|
||||
glabel D_809B61CC
|
||||
.float 3000
|
||||
glabel D_809B61D0
|
||||
.float 14000.0
|
||||
glabel D_809B61D4
|
||||
.float 10000
|
||||
|
||||
.text
|
||||
glabel func_809B5268
|
||||
/* 00168 809B5268 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 0016C 809B526C AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00170 809B5270 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00174 809B5274 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00178 809B5278 AFA60028 */ sw $a2, 0x0028($sp)
|
||||
/* 0017C 809B527C 848E0254 */ lh $t6, 0x0254($a0) ## 00000254
|
||||
/* 00180 809B5280 00063400 */ sll $a2, $a2, 16
|
||||
/* 00184 809B5284 00063403 */ sra $a2, $a2, 16
|
||||
/* 00188 809B5288 15C0001D */ bne $t6, $zero, .L809B5300
|
||||
/* 0018C 809B528C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00190 809B5290 14C00004 */ bne $a2, $zero, .L809B52A4
|
||||
/* 00194 809B5294 3C01809B */ lui $at, %hi(D_809B6194) ## $at = 809B0000
|
||||
/* 00198 809B5298 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 0019C 809B529C 10000004 */ beq $zero, $zero, .L809B52B0
|
||||
/* 001A0 809B52A0 E4820264 */ swc1 $f2, 0x0264($a0) ## 00000264
|
||||
.L809B52A4:
|
||||
/* 001A4 809B52A4 C4246194 */ lwc1 $f4, %lo(D_809B6194)($at)
|
||||
/* 001A8 809B52A8 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 001AC 809B52AC E6040264 */ swc1 $f4, 0x0264($s0) ## 00000264
|
||||
.L809B52B0:
|
||||
/* 001B0 809B52B0 860F028E */ lh $t7, 0x028E($s0) ## 0000028E
|
||||
/* 001B4 809B52B4 24190003 */ addiu $t9, $zero, 0x0003 ## $t9 = 00000003
|
||||
/* 001B8 809B52B8 A6190254 */ sh $t9, 0x0254($s0) ## 00000254
|
||||
/* 001BC 809B52BC 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
|
||||
/* 001C0 809B52C0 A618028E */ sh $t8, 0x028E($s0) ## 0000028E
|
||||
/* 001C4 809B52C4 8608028E */ lh $t0, 0x028E($s0) ## 0000028E
|
||||
/* 001C8 809B52C8 31090001 */ andi $t1, $t0, 0x0001 ## $t1 = 00000000
|
||||
/* 001CC 809B52CC 5520000D */ bnel $t1, $zero, .L809B5304
|
||||
/* 001D0 809B52D0 860C0258 */ lh $t4, 0x0258($s0) ## 00000258
|
||||
/* 001D4 809B52D4 14C0000A */ bne $a2, $zero, .L809B5300
|
||||
/* 001D8 809B52D8 E6020264 */ swc1 $f2, 0x0264($s0) ## 00000264
|
||||
/* 001DC 809B52DC 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
|
||||
/* 001E0 809B52E0 44816000 */ mtc1 $at, $f12 ## $f12 = 30.00
|
||||
/* 001E4 809B52E4 0C00CFBE */ jal Math_Rand_ZeroFloat
|
||||
|
||||
/* 001E8 809B52E8 A7A6002A */ sh $a2, 0x002A($sp)
|
||||
/* 001EC 809B52EC 4600018D */ trunc.w.s $f6, $f0
|
||||
/* 001F0 809B52F0 87A6002A */ lh $a2, 0x002A($sp)
|
||||
/* 001F4 809B52F4 440B3000 */ mfc1 $t3, $f6
|
||||
/* 001F8 809B52F8 00000000 */ nop
|
||||
/* 001FC 809B52FC A60B0254 */ sh $t3, 0x0254($s0) ## 00000254
|
||||
.L809B5300:
|
||||
/* 00200 809B5300 860C0258 */ lh $t4, 0x0258($s0) ## 00000258
|
||||
.L809B5304:
|
||||
/* 00204 809B5304 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00208 809B5308 55800056 */ bnel $t4, $zero, .L809B5464
|
||||
/* 0020C 809B530C C6000288 */ lwc1 $f0, 0x0288($s0) ## 00000288
|
||||
/* 00210 809B5310 860D0292 */ lh $t5, 0x0292($s0) ## 00000292
|
||||
/* 00214 809B5314 2CC10006 */ sltiu $at, $a2, 0x0006
|
||||
/* 00218 809B5318 0006C880 */ sll $t9, $a2, 2
|
||||
/* 0021C 809B531C 25AE0001 */ addiu $t6, $t5, 0x0001 ## $t6 = 00000001
|
||||
/* 00220 809B5320 A60E0292 */ sh $t6, 0x0292($s0) ## 00000292
|
||||
/* 00224 809B5324 860F0292 */ lh $t7, 0x0292($s0) ## 00000292
|
||||
/* 00228 809B5328 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000
|
||||
/* 0022C 809B532C 1020004C */ beq $at, $zero, .L809B5460
|
||||
/* 00230 809B5330 A6180292 */ sh $t8, 0x0292($s0) ## 00000292
|
||||
/* 00234 809B5334 3C01809B */ lui $at, %hi(jtbl_809B6198) ## $at = 809B0000
|
||||
/* 00238 809B5338 00390821 */ addu $at, $at, $t9
|
||||
/* 0023C 809B533C 8C396198 */ lw $t9, %lo(jtbl_809B6198)($at)
|
||||
/* 00240 809B5340 03200008 */ jr $t9
|
||||
/* 00244 809B5344 00000000 */ nop
|
||||
glabel L809B5348
|
||||
/* 00248 809B5348 E602026C */ swc1 $f2, 0x026C($s0) ## 0000026C
|
||||
/* 0024C 809B534C 10000044 */ beq $zero, $zero, .L809B5460
|
||||
/* 00250 809B5350 E6020268 */ swc1 $f2, 0x0268($s0) ## 00000268
|
||||
glabel L809B5354
|
||||
/* 00254 809B5354 24080003 */ addiu $t0, $zero, 0x0003 ## $t0 = 00000003
|
||||
/* 00258 809B5358 A6080258 */ sh $t0, 0x0258($s0) ## 00000258
|
||||
/* 0025C 809B535C 3C01809B */ lui $at, %hi(D_809B61B0) ## $at = 809B0000
|
||||
/* 00260 809B5360 C42861B0 */ lwc1 $f8, %lo(D_809B61B0)($at)
|
||||
/* 00264 809B5364 86090292 */ lh $t1, 0x0292($s0) ## 00000292
|
||||
/* 00268 809B5368 3C01809B */ lui $at, %hi(D_809B61B4) ## $at = 809B0000
|
||||
/* 0026C 809B536C E608026C */ swc1 $f8, 0x026C($s0) ## 0000026C
|
||||
/* 00270 809B5370 C42A61B4 */ lwc1 $f10, %lo(D_809B61B4)($at)
|
||||
/* 00274 809B5374 1520003A */ bne $t1, $zero, .L809B5460
|
||||
/* 00278 809B5378 E60A0268 */ swc1 $f10, 0x0268($s0) ## 00000268
|
||||
/* 0027C 809B537C E602026C */ swc1 $f2, 0x026C($s0) ## 0000026C
|
||||
/* 00280 809B5380 10000037 */ beq $zero, $zero, .L809B5460
|
||||
/* 00284 809B5384 E6020268 */ swc1 $f2, 0x0268($s0) ## 00000268
|
||||
glabel L809B5388
|
||||
/* 00288 809B5388 3C01809B */ lui $at, %hi(D_809B61B8) ## $at = 809B0000
|
||||
/* 0028C 809B538C C42061B8 */ lwc1 $f0, %lo(D_809B61B8)($at)
|
||||
/* 00290 809B5390 3C01809B */ lui $at, %hi(D_809B61BC) ## $at = 809B0000
|
||||
/* 00294 809B5394 C42261BC */ lwc1 $f2, %lo(D_809B61BC)($at)
|
||||
/* 00298 809B5398 240A0002 */ addiu $t2, $zero, 0x0002 ## $t2 = 00000002
|
||||
/* 0029C 809B539C A60A0258 */ sh $t2, 0x0258($s0) ## 00000258
|
||||
/* 002A0 809B53A0 3C01809B */ lui $at, %hi(D_809B61C0) ## $at = 809B0000
|
||||
/* 002A4 809B53A4 C43061C0 */ lwc1 $f16, %lo(D_809B61C0)($at)
|
||||
/* 002A8 809B53A8 3C01809B */ lui $at, %hi(D_809B61C4) ## $at = 809B0000
|
||||
/* 002AC 809B53AC 860B0292 */ lh $t3, 0x0292($s0) ## 00000292
|
||||
/* 002B0 809B53B0 E610026C */ swc1 $f16, 0x026C($s0) ## 0000026C
|
||||
/* 002B4 809B53B4 C43261C4 */ lwc1 $f18, %lo(D_809B61C4)($at)
|
||||
/* 002B8 809B53B8 E6000280 */ swc1 $f0, 0x0280($s0) ## 00000280
|
||||
/* 002BC 809B53BC E6000278 */ swc1 $f0, 0x0278($s0) ## 00000278
|
||||
/* 002C0 809B53C0 E6020284 */ swc1 $f2, 0x0284($s0) ## 00000284
|
||||
/* 002C4 809B53C4 E602027C */ swc1 $f2, 0x027C($s0) ## 0000027C
|
||||
/* 002C8 809B53C8 15600025 */ bne $t3, $zero, .L809B5460
|
||||
/* 002CC 809B53CC E6120268 */ swc1 $f18, 0x0268($s0) ## 00000268
|
||||
/* 002D0 809B53D0 3C0145FA */ lui $at, 0x45FA ## $at = 45FA0000
|
||||
/* 002D4 809B53D4 44810000 */ mtc1 $at, $f0 ## $f0 = 8000.00
|
||||
/* 002D8 809B53D8 00000000 */ nop
|
||||
/* 002DC 809B53DC E6000278 */ swc1 $f0, 0x0278($s0) ## 00000278
|
||||
/* 002E0 809B53E0 1000001F */ beq $zero, $zero, .L809B5460
|
||||
/* 002E4 809B53E4 E6000280 */ swc1 $f0, 0x0280($s0) ## 00000280
|
||||
glabel L809B53E8
|
||||
/* 002E8 809B53E8 3C01809B */ lui $at, %hi(D_809B61C8) ## $at = 809B0000
|
||||
/* 002EC 809B53EC C42061C8 */ lwc1 $f0, %lo(D_809B61C8)($at)
|
||||
/* 002F0 809B53F0 860D0292 */ lh $t5, 0x0292($s0) ## 00000292
|
||||
/* 002F4 809B53F4 240C0002 */ addiu $t4, $zero, 0x0002 ## $t4 = 00000002
|
||||
/* 002F8 809B53F8 A60C0258 */ sh $t4, 0x0258($s0) ## 00000258
|
||||
/* 002FC 809B53FC E6000278 */ swc1 $f0, 0x0278($s0) ## 00000278
|
||||
/* 00300 809B5400 15A00017 */ bne $t5, $zero, .L809B5460
|
||||
/* 00304 809B5404 E6000280 */ swc1 $f0, 0x0280($s0) ## 00000280
|
||||
/* 00308 809B5408 3C01809B */ lui $at, %hi(D_809B61CC) ## $at = 809B0000
|
||||
/* 0030C 809B540C C42061CC */ lwc1 $f0, %lo(D_809B61CC)($at)
|
||||
/* 00310 809B5410 E6000278 */ swc1 $f0, 0x0278($s0) ## 00000278
|
||||
/* 00314 809B5414 10000012 */ beq $zero, $zero, .L809B5460
|
||||
/* 00318 809B5418 E6000280 */ swc1 $f0, 0x0280($s0) ## 00000280
|
||||
glabel L809B541C
|
||||
/* 0031C 809B541C 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
|
||||
/* 00320 809B5420 A60E0256 */ sh $t6, 0x0256($s0) ## 00000256
|
||||
/* 00324 809B5424 860F0256 */ lh $t7, 0x0256($s0) ## 00000256
|
||||
/* 00328 809B5428 1000000D */ beq $zero, $zero, .L809B5460
|
||||
/* 0032C 809B542C A60F0254 */ sh $t7, 0x0254($s0) ## 00000254
|
||||
glabel L809B5430
|
||||
/* 00330 809B5430 3C01809B */ lui $at, %hi(D_809B61D0) ## $at = 809B0000
|
||||
/* 00334 809B5434 C42061D0 */ lwc1 $f0, %lo(D_809B61D0)($at)
|
||||
/* 00338 809B5438 86190292 */ lh $t9, 0x0292($s0) ## 00000292
|
||||
/* 0033C 809B543C 24180005 */ addiu $t8, $zero, 0x0005 ## $t8 = 00000005
|
||||
/* 00340 809B5440 A6180258 */ sh $t8, 0x0258($s0) ## 00000258
|
||||
/* 00344 809B5444 E6000278 */ swc1 $f0, 0x0278($s0) ## 00000278
|
||||
/* 00348 809B5448 17200005 */ bne $t9, $zero, .L809B5460
|
||||
/* 0034C 809B544C E6000280 */ swc1 $f0, 0x0280($s0) ## 00000280
|
||||
/* 00350 809B5450 3C01809B */ lui $at, %hi(D_809B61D4) ## $at = 809B0000
|
||||
/* 00354 809B5454 C42061D4 */ lwc1 $f0, %lo(D_809B61D4)($at)
|
||||
/* 00358 809B5458 E6000278 */ swc1 $f0, 0x0278($s0) ## 00000278
|
||||
/* 0035C 809B545C E6000280 */ swc1 $f0, 0x0280($s0) ## 00000280
|
||||
.L809B5460:
|
||||
/* 00360 809B5460 C6000288 */ lwc1 $f0, 0x0288($s0) ## 00000288
|
||||
.L809B5464:
|
||||
/* 00364 809B5464 C60402C0 */ lwc1 $f4, 0x02C0($s0) ## 000002C0
|
||||
/* 00368 809B5468 260402C0 */ addiu $a0, $s0, 0x02C0 ## $a0 = 000002C0
|
||||
/* 0036C 809B546C 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
|
||||
/* 00370 809B5470 46002032 */ c.eq.s $f4, $f0
|
||||
/* 00374 809B5474 00000000 */ nop
|
||||
/* 00378 809B5478 45030005 */ bc1tl .L809B5490
|
||||
/* 0037C 809B547C C6000264 */ lwc1 $f0, 0x0264($s0) ## 00000264
|
||||
/* 00380 809B5480 44050000 */ mfc1 $a1, $f0
|
||||
/* 00384 809B5484 0C01E107 */ jal Math_SmoothScaleMaxF
|
||||
|
||||
/* 00388 809B5488 3C07457A */ lui $a3, 0x457A ## $a3 = 457A0000
|
||||
/* 0038C 809B548C C6000264 */ lwc1 $f0, 0x0264($s0) ## 00000264
|
||||
.L809B5490:
|
||||
/* 00390 809B5490 C60602BC */ lwc1 $f6, 0x02BC($s0) ## 000002BC
|
||||
/* 00394 809B5494 260402BC */ addiu $a0, $s0, 0x02BC ## $a0 = 000002BC
|
||||
/* 00398 809B5498 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
|
||||
/* 0039C 809B549C 46003032 */ c.eq.s $f6, $f0
|
||||
/* 003A0 809B54A0 00000000 */ nop
|
||||
/* 003A4 809B54A4 45030005 */ bc1tl .L809B54BC
|
||||
/* 003A8 809B54A8 C600026C */ lwc1 $f0, 0x026C($s0) ## 0000026C
|
||||
/* 003AC 809B54AC 44050000 */ mfc1 $a1, $f0
|
||||
/* 003B0 809B54B0 0C01E107 */ jal Math_SmoothScaleMaxF
|
||||
|
||||
/* 003B4 809B54B4 3C07457A */ lui $a3, 0x457A ## $a3 = 457A0000
|
||||
/* 003B8 809B54B8 C600026C */ lwc1 $f0, 0x026C($s0) ## 0000026C
|
||||
.L809B54BC:
|
||||
/* 003BC 809B54BC C60802A4 */ lwc1 $f8, 0x02A4($s0) ## 000002A4
|
||||
/* 003C0 809B54C0 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
|
||||
/* 003C4 809B54C4 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
|
||||
/* 003C8 809B54C8 46004032 */ c.eq.s $f8, $f0
|
||||
/* 003CC 809B54CC 260402A4 */ addiu $a0, $s0, 0x02A4 ## $a0 = 000002A4
|
||||
/* 003D0 809B54D0 3C0745DA */ lui $a3, 0x45DA ## $a3 = 45DA0000
|
||||
/* 003D4 809B54D4 45030005 */ bc1tl .L809B54EC
|
||||
/* 003D8 809B54D8 C6000280 */ lwc1 $f0, 0x0280($s0) ## 00000280
|
||||
/* 003DC 809B54DC 44050000 */ mfc1 $a1, $f0
|
||||
/* 003E0 809B54E0 0C01E107 */ jal Math_SmoothScaleMaxF
|
||||
|
||||
/* 003E4 809B54E4 34E7C000 */ ori $a3, $a3, 0xC000 ## $a3 = 45DAC000
|
||||
/* 003E8 809B54E8 C6000280 */ lwc1 $f0, 0x0280($s0) ## 00000280
|
||||
.L809B54EC:
|
||||
/* 003EC 809B54EC C60A02A8 */ lwc1 $f10, 0x02A8($s0) ## 000002A8
|
||||
/* 003F0 809B54F0 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
|
||||
/* 003F4 809B54F4 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
|
||||
/* 003F8 809B54F8 46005032 */ c.eq.s $f10, $f0
|
||||
/* 003FC 809B54FC 260402A8 */ addiu $a0, $s0, 0x02A8 ## $a0 = 000002A8
|
||||
/* 00400 809B5500 3C0745DA */ lui $a3, 0x45DA ## $a3 = 45DA0000
|
||||
/* 00404 809B5504 45030005 */ bc1tl .L809B551C
|
||||
/* 00408 809B5508 C6000284 */ lwc1 $f0, 0x0284($s0) ## 00000284
|
||||
/* 0040C 809B550C 44050000 */ mfc1 $a1, $f0
|
||||
/* 00410 809B5510 0C01E107 */ jal Math_SmoothScaleMaxF
|
||||
|
||||
/* 00414 809B5514 34E7C000 */ ori $a3, $a3, 0xC000 ## $a3 = 45DAC000
|
||||
/* 00418 809B5518 C6000284 */ lwc1 $f0, 0x0284($s0) ## 00000284
|
||||
.L809B551C:
|
||||
/* 0041C 809B551C C61002AC */ lwc1 $f16, 0x02AC($s0) ## 000002AC
|
||||
/* 00420 809B5520 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
|
||||
/* 00424 809B5524 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
|
||||
/* 00428 809B5528 46008032 */ c.eq.s $f16, $f0
|
||||
/* 0042C 809B552C 260402AC */ addiu $a0, $s0, 0x02AC ## $a0 = 000002AC
|
||||
/* 00430 809B5530 3C0745DA */ lui $a3, 0x45DA ## $a3 = 45DA0000
|
||||
/* 00434 809B5534 45030005 */ bc1tl .L809B554C
|
||||
/* 00438 809B5538 C6000268 */ lwc1 $f0, 0x0268($s0) ## 00000268
|
||||
/* 0043C 809B553C 44050000 */ mfc1 $a1, $f0
|
||||
/* 00440 809B5540 0C01E107 */ jal Math_SmoothScaleMaxF
|
||||
|
||||
/* 00444 809B5544 34E7C000 */ ori $a3, $a3, 0xC000 ## $a3 = 45DAC000
|
||||
/* 00448 809B5548 C6000268 */ lwc1 $f0, 0x0268($s0) ## 00000268
|
||||
.L809B554C:
|
||||
/* 0044C 809B554C C61202B0 */ lwc1 $f18, 0x02B0($s0) ## 000002B0
|
||||
/* 00450 809B5550 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
|
||||
/* 00454 809B5554 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
|
||||
/* 00458 809B5558 46009032 */ c.eq.s $f18, $f0
|
||||
/* 0045C 809B555C 260402B0 */ addiu $a0, $s0, 0x02B0 ## $a0 = 000002B0
|
||||
/* 00460 809B5560 3C0745DA */ lui $a3, 0x45DA ## $a3 = 45DA0000
|
||||
/* 00464 809B5564 45030005 */ bc1tl .L809B557C
|
||||
/* 00468 809B5568 C6000278 */ lwc1 $f0, 0x0278($s0) ## 00000278
|
||||
/* 0046C 809B556C 44050000 */ mfc1 $a1, $f0
|
||||
/* 00470 809B5570 0C01E107 */ jal Math_SmoothScaleMaxF
|
||||
|
||||
/* 00474 809B5574 34E7C000 */ ori $a3, $a3, 0xC000 ## $a3 = 45DAC000
|
||||
/* 00478 809B5578 C6000278 */ lwc1 $f0, 0x0278($s0) ## 00000278
|
||||
.L809B557C:
|
||||
/* 0047C 809B557C C60402B4 */ lwc1 $f4, 0x02B4($s0) ## 000002B4
|
||||
/* 00480 809B5580 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
|
||||
/* 00484 809B5584 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
|
||||
/* 00488 809B5588 46002032 */ c.eq.s $f4, $f0
|
||||
/* 0048C 809B558C 260402B4 */ addiu $a0, $s0, 0x02B4 ## $a0 = 000002B4
|
||||
/* 00490 809B5590 3C0745DA */ lui $a3, 0x45DA ## $a3 = 45DA0000
|
||||
/* 00494 809B5594 45030005 */ bc1tl .L809B55AC
|
||||
/* 00498 809B5598 C600027C */ lwc1 $f0, 0x027C($s0) ## 0000027C
|
||||
/* 0049C 809B559C 44050000 */ mfc1 $a1, $f0
|
||||
/* 004A0 809B55A0 0C01E107 */ jal Math_SmoothScaleMaxF
|
||||
|
||||
/* 004A4 809B55A4 34E7C000 */ ori $a3, $a3, 0xC000 ## $a3 = 45DAC000
|
||||
/* 004A8 809B55A8 C600027C */ lwc1 $f0, 0x027C($s0) ## 0000027C
|
||||
.L809B55AC:
|
||||
/* 004AC 809B55AC C60602B8 */ lwc1 $f6, 0x02B8($s0) ## 000002B8
|
||||
/* 004B0 809B55B0 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
|
||||
/* 004B4 809B55B4 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
|
||||
/* 004B8 809B55B8 46003032 */ c.eq.s $f6, $f0
|
||||
/* 004BC 809B55BC 260402B8 */ addiu $a0, $s0, 0x02B8 ## $a0 = 000002B8
|
||||
/* 004C0 809B55C0 3C0745DA */ lui $a3, 0x45DA ## $a3 = 45DA0000
|
||||
/* 004C4 809B55C4 45030005 */ bc1tl .L809B55DC
|
||||
/* 004C8 809B55C8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 004CC 809B55CC 44050000 */ mfc1 $a1, $f0
|
||||
/* 004D0 809B55D0 0C01E107 */ jal Math_SmoothScaleMaxF
|
||||
|
||||
/* 004D4 809B55D4 34E7C000 */ ori $a3, $a3, 0xC000 ## $a3 = 45DAC000
|
||||
/* 004D8 809B55D8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L809B55DC:
|
||||
/* 004DC 809B55DC 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 004E0 809B55E0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 004E4 809B55E4 03E00008 */ jr $ra
|
||||
/* 004E8 809B55E8 00000000 */ nop
|
|
@ -1,37 +0,0 @@
|
|||
glabel func_809B55EC
|
||||
/* 004EC 809B55EC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 004F0 809B55F0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 004F4 809B55F4 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 004F8 809B55F8 8C8502E4 */ lw $a1, 0x02E4($a0) ## 000002E4
|
||||
/* 004FC 809B55FC 0C00B56E */ jal Actor_SetHeight
|
||||
|
||||
/* 00500 809B5600 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 00504 809B5604 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00508 809B5608 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 0050C 809B560C 27A6001E */ addiu $a2, $sp, 0x001E ## $a2 = FFFFFFFE
|
||||
/* 00510 809B5610 0C00BCDD */ jal func_8002F374
|
||||
/* 00514 809B5614 27A7001C */ addiu $a3, $sp, 0x001C ## $a3 = FFFFFFFC
|
||||
/* 00518 809B5618 8FAE0020 */ lw $t6, 0x0020($sp)
|
||||
/* 0051C 809B561C 3C01C1A0 */ lui $at, 0xC1A0 ## $at = C1A00000
|
||||
/* 00520 809B5620 44813000 */ mtc1 $at, $f6 ## $f6 = -20.00
|
||||
/* 00524 809B5624 C5C400EC */ lwc1 $f4, 0x00EC($t6) ## 000000EC
|
||||
/* 00528 809B5628 87A2001E */ lh $v0, 0x001E($sp)
|
||||
/* 0052C 809B562C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00530 809B5630 4606203C */ c.lt.s $f4, $f6
|
||||
/* 00534 809B5634 00000000 */ nop
|
||||
/* 00538 809B5638 45010009 */ bc1t .L809B5660
|
||||
/* 0053C 809B563C 00000000 */ nop
|
||||
/* 00540 809B5640 04400007 */ bltz $v0, .L809B5660
|
||||
/* 00544 809B5644 28410141 */ slti $at, $v0, 0x0141
|
||||
/* 00548 809B5648 10200005 */ beq $at, $zero, .L809B5660
|
||||
/* 0054C 809B564C 87A2001C */ lh $v0, 0x001C($sp)
|
||||
/* 00550 809B5650 04400003 */ bltz $v0, .L809B5660
|
||||
/* 00554 809B5654 284100F1 */ slti $at, $v0, 0x00F1
|
||||
/* 00558 809B5658 14200003 */ bne $at, $zero, .L809B5668
|
||||
/* 0055C 809B565C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L809B5660:
|
||||
/* 00560 809B5660 10000001 */ beq $zero, $zero, .L809B5668
|
||||
/* 00564 809B5664 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L809B5668:
|
||||
/* 00568 809B5668 03E00008 */ jr $ra
|
||||
/* 0056C 809B566C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
|
@ -1,177 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809B61EC
|
||||
.float 14000.0
|
||||
glabel D_809B61F0
|
||||
.float 5000.0
|
||||
|
||||
.text
|
||||
glabel func_809B59B0
|
||||
/* 008B0 809B59B0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 008B4 809B59B4 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 008B8 809B59B8 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 008BC 809B59BC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 008C0 809B59C0 0C26D57B */ jal func_809B55EC
|
||||
/* 008C4 809B59C4 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 008C8 809B59C8 54400006 */ bnel $v0, $zero, .L809B59E4
|
||||
/* 008CC 809B59CC 960E0088 */ lhu $t6, 0x0088($s0) ## 00000088
|
||||
/* 008D0 809B59D0 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 008D4 809B59D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 008D8 809B59D8 1000008B */ beq $zero, $zero, .L809B5C08
|
||||
/* 008DC 809B59DC 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 008E0 809B59E0 960E0088 */ lhu $t6, 0x0088($s0) ## 00000088
|
||||
.L809B59E4:
|
||||
/* 008E4 809B59E4 31CF0001 */ andi $t7, $t6, 0x0001 ## $t7 = 00000000
|
||||
/* 008E8 809B59E8 51E00025 */ beql $t7, $zero, .L809B5A80
|
||||
/* 008EC 809B59EC 860B025C */ lh $t3, 0x025C($s0) ## 0000025C
|
||||
/* 008F0 809B59F0 8618025A */ lh $t8, 0x025A($s0) ## 0000025A
|
||||
/* 008F4 809B59F4 3C014060 */ lui $at, 0x4060 ## $at = 40600000
|
||||
/* 008F8 809B59F8 24090032 */ addiu $t1, $zero, 0x0032 ## $t1 = 00000032
|
||||
/* 008FC 809B59FC 17000005 */ bne $t8, $zero, .L809B5A14
|
||||
/* 00900 809B5A00 240A0064 */ addiu $t2, $zero, 0x0064 ## $t2 = 00000064
|
||||
/* 00904 809B5A04 44812000 */ mtc1 $at, $f4 ## $f4 = 3.50
|
||||
/* 00908 809B5A08 24190003 */ addiu $t9, $zero, 0x0003 ## $t9 = 00000003
|
||||
/* 0090C 809B5A0C A619025A */ sh $t9, 0x025A($s0) ## 0000025A
|
||||
/* 00910 809B5A10 E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060
|
||||
.L809B5A14:
|
||||
/* 00914 809B5A14 3C01C000 */ lui $at, 0xC000 ## $at = C0000000
|
||||
/* 00918 809B5A18 44813000 */ mtc1 $at, $f6 ## $f6 = -2.00
|
||||
/* 0091C 809B5A1C C608006C */ lwc1 $f8, 0x006C($s0) ## 0000006C
|
||||
/* 00920 809B5A20 3C01809B */ lui $at, %hi(D_809B61EC) ## $at = 809B0000
|
||||
/* 00924 809B5A24 46083032 */ c.eq.s $f6, $f8
|
||||
/* 00928 809B5A28 00000000 */ nop
|
||||
/* 0092C 809B5A2C 45030014 */ bc1tl .L809B5A80
|
||||
/* 00930 809B5A30 860B025C */ lh $t3, 0x025C($s0) ## 0000025C
|
||||
/* 00934 809B5A34 C42061EC */ lwc1 $f0, %lo(D_809B61EC)($at)
|
||||
/* 00938 809B5A38 8608008A */ lh $t0, 0x008A($s0) ## 0000008A
|
||||
/* 0093C 809B5A3C 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00940 809B5A40 3C01C000 */ lui $at, 0xC000 ## $at = C0000000
|
||||
/* 00944 809B5A44 44885000 */ mtc1 $t0, $f10 ## $f10 = 0.00
|
||||
/* 00948 809B5A48 44819000 */ mtc1 $at, $f18 ## $f18 = -2.00
|
||||
/* 0094C 809B5A4C A6090262 */ sh $t1, 0x0262($s0) ## 00000262
|
||||
/* 00950 809B5A50 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 00954 809B5A54 A60A025C */ sh $t2, 0x025C($s0) ## 0000025C
|
||||
/* 00958 809B5A58 E6000278 */ swc1 $f0, 0x0278($s0) ## 00000278
|
||||
/* 0095C 809B5A5C E6000280 */ swc1 $f0, 0x0280($s0) ## 00000280
|
||||
/* 00960 809B5A60 E602027C */ swc1 $f2, 0x027C($s0) ## 0000027C
|
||||
/* 00964 809B5A64 E6020284 */ swc1 $f2, 0x0284($s0) ## 00000284
|
||||
/* 00968 809B5A68 E61002D4 */ swc1 $f16, 0x02D4($s0) ## 000002D4
|
||||
/* 0096C 809B5A6C E6020268 */ swc1 $f2, 0x0268($s0) ## 00000268
|
||||
/* 00970 809B5A70 E602026C */ swc1 $f2, 0x026C($s0) ## 0000026C
|
||||
/* 00974 809B5A74 E60202D0 */ swc1 $f2, 0x02D0($s0) ## 000002D0
|
||||
/* 00978 809B5A78 E612006C */ swc1 $f18, 0x006C($s0) ## 0000006C
|
||||
/* 0097C 809B5A7C 860B025C */ lh $t3, 0x025C($s0) ## 0000025C
|
||||
.L809B5A80:
|
||||
/* 00980 809B5A80 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032
|
||||
/* 00984 809B5A84 1561000A */ bne $t3, $at, .L809B5AB0
|
||||
/* 00988 809B5A88 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 0098C 809B5A8C 44816000 */ mtc1 $at, $f12 ## $f12 = 200.00
|
||||
/* 00990 809B5A90 0C00CFC8 */ jal Math_Rand_CenteredFloat
|
||||
|
||||
/* 00994 809B5A94 00000000 */ nop
|
||||
/* 00998 809B5A98 860C008A */ lh $t4, 0x008A($s0) ## 0000008A
|
||||
/* 0099C 809B5A9C 448C2000 */ mtc1 $t4, $f4 ## $f4 = 0.00
|
||||
/* 009A0 809B5AA0 00000000 */ nop
|
||||
/* 009A4 809B5AA4 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 009A8 809B5AA8 46060200 */ add.s $f8, $f0, $f6
|
||||
/* 009AC 809B5AAC E60802D4 */ swc1 $f8, 0x02D4($s0) ## 000002D4
|
||||
.L809B5AB0:
|
||||
/* 009B0 809B5AB0 C60A02D4 */ lwc1 $f10, 0x02D4($s0) ## 000002D4
|
||||
/* 009B4 809B5AB4 C61202DC */ lwc1 $f18, 0x02DC($s0) ## 000002DC
|
||||
/* 009B8 809B5AB8 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 009BC 809B5ABC 4600540D */ trunc.w.s $f16, $f10
|
||||
/* 009C0 809B5AC0 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
|
||||
/* 009C4 809B5AC4 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
|
||||
/* 009C8 809B5AC8 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 009CC 809B5ACC 44058000 */ mfc1 $a1, $f16
|
||||
/* 009D0 809B5AD0 44072000 */ mfc1 $a3, $f4
|
||||
/* 009D4 809B5AD4 00052C00 */ sll $a1, $a1, 16
|
||||
/* 009D8 809B5AD8 00052C03 */ sra $a1, $a1, 16
|
||||
/* 009DC 809B5ADC 00073C00 */ sll $a3, $a3, 16
|
||||
/* 009E0 809B5AE0 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 009E4 809B5AE4 00073C03 */ sra $a3, $a3, 16
|
||||
/* 009E8 809B5AE8 C60602D0 */ lwc1 $f6, 0x02D0($s0) ## 000002D0
|
||||
/* 009EC 809B5AEC C60A02DC */ lwc1 $f10, 0x02DC($s0) ## 000002DC
|
||||
/* 009F0 809B5AF0 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 009F4 809B5AF4 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 009F8 809B5AF8 26040030 */ addiu $a0, $s0, 0x0030 ## $a0 = 00000030
|
||||
/* 009FC 809B5AFC 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
|
||||
/* 00A00 809B5B00 4600540D */ trunc.w.s $f16, $f10
|
||||
/* 00A04 809B5B04 44054000 */ mfc1 $a1, $f8
|
||||
/* 00A08 809B5B08 44078000 */ mfc1 $a3, $f16
|
||||
/* 00A0C 809B5B0C 00052C00 */ sll $a1, $a1, 16
|
||||
/* 00A10 809B5B10 00052C03 */ sra $a1, $a1, 16
|
||||
/* 00A14 809B5B14 00073C00 */ sll $a3, $a3, 16
|
||||
/* 00A18 809B5B18 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 00A1C 809B5B1C 00073C03 */ sra $a3, $a3, 16
|
||||
/* 00A20 809B5B20 3C05461C */ lui $a1, 0x461C ## $a1 = 461C0000
|
||||
/* 00A24 809B5B24 34A54000 */ ori $a1, $a1, 0x4000 ## $a1 = 461C4000
|
||||
/* 00A28 809B5B28 260402DC */ addiu $a0, $s0, 0x02DC ## $a0 = 000002DC
|
||||
/* 00A2C 809B5B2C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00A30 809B5B30 0C01E107 */ jal Math_SmoothScaleMaxF
|
||||
|
||||
/* 00A34 809B5B34 3C07447A */ lui $a3, 0x447A ## $a3 = 447A0000
|
||||
/* 00A38 809B5B38 3C063F66 */ lui $a2, 0x3F66 ## $a2 = 3F660000
|
||||
/* 00A3C 809B5B3C 34C66666 */ ori $a2, $a2, 0x6666 ## $a2 = 3F666666
|
||||
/* 00A40 809B5B40 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
|
||||
/* 00A44 809B5B44 8E0502E0 */ lw $a1, 0x02E0($s0) ## 000002E0
|
||||
/* 00A48 809B5B48 0C01E107 */ jal Math_SmoothScaleMaxF
|
||||
|
||||
/* 00A4C 809B5B4C 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
|
||||
/* 00A50 809B5B50 3C01C000 */ lui $at, 0xC000 ## $at = C0000000
|
||||
/* 00A54 809B5B54 44819000 */ mtc1 $at, $f18 ## $f18 = -2.00
|
||||
/* 00A58 809B5B58 C604006C */ lwc1 $f4, 0x006C($s0) ## 0000006C
|
||||
/* 00A5C 809B5B5C 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00A60 809B5B60 46049032 */ c.eq.s $f18, $f4
|
||||
/* 00A64 809B5B64 00000000 */ nop
|
||||
/* 00A68 809B5B68 4502001A */ bc1fl .L809B5BD4
|
||||
/* 00A6C 809B5B6C 960D0088 */ lhu $t5, 0x0088($s0) ## 00000088
|
||||
/* 00A70 809B5B70 86190262 */ lh $t9, 0x0262($s0) ## 00000262
|
||||
/* 00A74 809B5B74 57200017 */ bnel $t9, $zero, .L809B5BD4
|
||||
/* 00A78 809B5B78 960D0088 */ lhu $t5, 0x0088($s0) ## 00000088
|
||||
/* 00A7C 809B5B7C 96080088 */ lhu $t0, 0x0088($s0) ## 00000088
|
||||
/* 00A80 809B5B80 31090008 */ andi $t1, $t0, 0x0008 ## $t1 = 00000000
|
||||
/* 00A84 809B5B84 55200005 */ bnel $t1, $zero, .L809B5B9C
|
||||
/* 00A88 809B5B88 860B0030 */ lh $t3, 0x0030($s0) ## 00000030
|
||||
/* 00A8C 809B5B8C 860A025C */ lh $t2, 0x025C($s0) ## 0000025C
|
||||
/* 00A90 809B5B90 55400010 */ bnel $t2, $zero, .L809B5BD4
|
||||
/* 00A94 809B5B94 960D0088 */ lhu $t5, 0x0088($s0) ## 00000088
|
||||
/* 00A98 809B5B98 860B0030 */ lh $t3, 0x0030($s0) ## 00000030
|
||||
.L809B5B9C:
|
||||
/* 00A9C 809B5B9C E60202E0 */ swc1 $f2, 0x02E0($s0) ## 000002E0
|
||||
/* 00AA0 809B5BA0 E602006C */ swc1 $f2, 0x006C($s0) ## 0000006C
|
||||
/* 00AA4 809B5BA4 448B3000 */ mtc1 $t3, $f6 ## $f6 = 0.00
|
||||
/* 00AA8 809B5BA8 E60202DC */ swc1 $f2, 0x02DC($s0) ## 000002DC
|
||||
/* 00AAC 809B5BAC 3C01809B */ lui $at, %hi(D_809B61F0) ## $at = 809B0000
|
||||
/* 00AB0 809B5BB0 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 00AB4 809B5BB4 C42A61F0 */ lwc1 $f10, %lo(D_809B61F0)($at)
|
||||
/* 00AB8 809B5BB8 3C0C809B */ lui $t4, %hi(func_809B5C18) ## $t4 = 809B0000
|
||||
/* 00ABC 809B5BBC 258C5C18 */ addiu $t4, $t4, %lo(func_809B5C18) ## $t4 = 809B5C18
|
||||
/* 00AC0 809B5BC0 AE0C0250 */ sw $t4, 0x0250($s0) ## 00000250
|
||||
/* 00AC4 809B5BC4 460A4401 */ sub.s $f16, $f8, $f10
|
||||
/* 00AC8 809B5BC8 1000000E */ beq $zero, $zero, .L809B5C04
|
||||
/* 00ACC 809B5BCC E61002D0 */ swc1 $f16, 0x02D0($s0) ## 000002D0
|
||||
/* 00AD0 809B5BD0 960D0088 */ lhu $t5, 0x0088($s0) ## 00000088
|
||||
.L809B5BD4:
|
||||
/* 00AD4 809B5BD4 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
|
||||
/* 00AD8 809B5BD8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00ADC 809B5BDC 31AE0001 */ andi $t6, $t5, 0x0001 ## $t6 = 00000000
|
||||
/* 00AE0 809B5BE0 11C00006 */ beq $t6, $zero, .L809B5BFC
|
||||
/* 00AE4 809B5BE4 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 00AE8 809B5BE8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00AEC 809B5BEC 0C26D49A */ jal func_809B5268
|
||||
/* 00AF0 809B5BF0 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 00AF4 809B5BF4 10000004 */ beq $zero, $zero, .L809B5C08
|
||||
/* 00AF8 809B5BF8 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L809B5BFC:
|
||||
/* 00AFC 809B5BFC 0C26D49A */ jal func_809B5268
|
||||
/* 00B00 809B5C00 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
|
||||
.L809B5C04:
|
||||
/* 00B04 809B5C04 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L809B5C08:
|
||||
/* 00B08 809B5C08 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00B0C 809B5C0C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00B10 809B5C10 03E00008 */ jr $ra
|
||||
/* 00B14 809B5C14 00000000 */ nop
|
|
@ -1,54 +0,0 @@
|
|||
glabel func_809B5C18
|
||||
/* 00B18 809B5C18 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00B1C 809B5C1C AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00B20 809B5C20 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00B24 809B5C24 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00B28 809B5C28 0C26D57B */ jal func_809B55EC
|
||||
/* 00B2C 809B5C2C AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00B30 809B5C30 54400006 */ bnel $v0, $zero, .L809B5C4C
|
||||
/* 00B34 809B5C34 C60402D0 */ lwc1 $f4, 0x02D0($s0) ## 000002D0
|
||||
/* 00B38 809B5C38 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00B3C 809B5C3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00B40 809B5C40 10000020 */ beq $zero, $zero, .L809B5CC4
|
||||
/* 00B44 809B5C44 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00B48 809B5C48 C60402D0 */ lwc1 $f4, 0x02D0($s0) ## 000002D0
|
||||
.L809B5C4C:
|
||||
/* 00B4C 809B5C4C C60802DC */ lwc1 $f8, 0x02DC($s0) ## 000002DC
|
||||
/* 00B50 809B5C50 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 00B54 809B5C54 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00B58 809B5C58 26040030 */ addiu $a0, $s0, 0x0030 ## $a0 = 00000030
|
||||
/* 00B5C 809B5C5C 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
|
||||
/* 00B60 809B5C60 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 00B64 809B5C64 44053000 */ mfc1 $a1, $f6
|
||||
/* 00B68 809B5C68 44075000 */ mfc1 $a3, $f10
|
||||
/* 00B6C 809B5C6C 00052C00 */ sll $a1, $a1, 16
|
||||
/* 00B70 809B5C70 00052C03 */ sra $a1, $a1, 16
|
||||
/* 00B74 809B5C74 00073C00 */ sll $a3, $a3, 16
|
||||
/* 00B78 809B5C78 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 00B7C 809B5C7C 00073C03 */ sra $a3, $a3, 16
|
||||
/* 00B80 809B5C80 3C05459C */ lui $a1, 0x459C ## $a1 = 459C0000
|
||||
/* 00B84 809B5C84 34A54000 */ ori $a1, $a1, 0x4000 ## $a1 = 459C4000
|
||||
/* 00B88 809B5C88 260402DC */ addiu $a0, $s0, 0x02DC ## $a0 = 000002DC
|
||||
/* 00B8C 809B5C8C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00B90 809B5C90 0C01E107 */ jal Math_SmoothScaleMaxF
|
||||
|
||||
/* 00B94 809B5C94 3C0742C8 */ lui $a3, 0x42C8 ## $a3 = 42C80000
|
||||
/* 00B98 809B5C98 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000
|
||||
/* 00B9C 809B5C9C 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E99999A
|
||||
/* 00BA0 809B5CA0 26040060 */ addiu $a0, $s0, 0x0060 ## $a0 = 00000060
|
||||
/* 00BA4 809B5CA4 3C0540A0 */ lui $a1, 0x40A0 ## $a1 = 40A00000
|
||||
/* 00BA8 809B5CA8 0C01E107 */ jal Math_SmoothScaleMaxF
|
||||
|
||||
/* 00BAC 809B5CAC 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
|
||||
/* 00BB0 809B5CB0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00BB4 809B5CB4 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 00BB8 809B5CB8 0C26D49A */ jal func_809B5268
|
||||
/* 00BBC 809B5CBC 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
|
||||
/* 00BC0 809B5CC0 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L809B5CC4:
|
||||
/* 00BC4 809B5CC4 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00BC8 809B5CC8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00BCC 809B5CCC 03E00008 */ jr $ra
|
||||
/* 00BD0 809B5CD0 00000000 */ nop
|
|
@ -1,91 +0,0 @@
|
|||
glabel func_809B5F98
|
||||
/* 00E98 809B5F98 27BDFFF0 */ addiu $sp, $sp, 0xFFF0 ## $sp = FFFFFFF0
|
||||
/* 00E9C 809B5F9C 3C0F809B */ lui $t7, %hi(D_809B617C) ## $t7 = 809B0000
|
||||
/* 00EA0 809B5FA0 AFA40010 */ sw $a0, 0x0010($sp)
|
||||
/* 00EA4 809B5FA4 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00EA8 809B5FA8 AFA7001C */ sw $a3, 0x001C($sp)
|
||||
/* 00EAC 809B5FAC 25EF617C */ addiu $t7, $t7, %lo(D_809B617C) ## $t7 = 809B617C
|
||||
/* 00EB0 809B5FB0 8DF90000 */ lw $t9, 0x0000($t7) ## 809B617C
|
||||
/* 00EB4 809B5FB4 27AE0000 */ addiu $t6, $sp, 0x0000 ## $t6 = FFFFFFF0
|
||||
/* 00EB8 809B5FB8 8DF80004 */ lw $t8, 0x0004($t7) ## 809B6180
|
||||
/* 00EBC 809B5FBC ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF0
|
||||
/* 00EC0 809B5FC0 8DF90008 */ lw $t9, 0x0008($t7) ## 809B6184
|
||||
/* 00EC4 809B5FC4 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D
|
||||
/* 00EC8 809B5FC8 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF4
|
||||
/* 00ECC 809B5FCC 14A1000A */ bne $a1, $at, .L809B5FF8
|
||||
/* 00ED0 809B5FD0 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFF8
|
||||
/* 00ED4 809B5FD4 8FA20024 */ lw $v0, 0x0024($sp)
|
||||
/* 00ED8 809B5FD8 8FA30020 */ lw $v1, 0x0020($sp)
|
||||
/* 00EDC 809B5FDC C44402BC */ lwc1 $f4, 0x02BC($v0) ## 000002BC
|
||||
/* 00EE0 809B5FE0 84680002 */ lh $t0, 0x0002($v1) ## 00000002
|
||||
/* 00EE4 809B5FE4 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00EE8 809B5FE8 440C3000 */ mfc1 $t4, $f6
|
||||
/* 00EEC 809B5FEC 00000000 */ nop
|
||||
/* 00EF0 809B5FF0 010C6821 */ addu $t5, $t0, $t4
|
||||
/* 00EF4 809B5FF4 A46D0002 */ sh $t5, 0x0002($v1) ## 00000002
|
||||
.L809B5FF8:
|
||||
/* 00EF8 809B5FF8 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
|
||||
/* 00EFC 809B5FFC 8FA20024 */ lw $v0, 0x0024($sp)
|
||||
/* 00F00 809B6000 14A10008 */ bne $a1, $at, .L809B6024
|
||||
/* 00F04 809B6004 8FA30020 */ lw $v1, 0x0020($sp)
|
||||
/* 00F08 809B6008 C44802C0 */ lwc1 $f8, 0x02C0($v0) ## 000002C0
|
||||
/* 00F0C 809B600C 846E0004 */ lh $t6, 0x0004($v1) ## 00000004
|
||||
/* 00F10 809B6010 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 00F14 809B6014 44095000 */ mfc1 $t1, $f10
|
||||
/* 00F18 809B6018 00000000 */ nop
|
||||
/* 00F1C 809B601C 01C95021 */ addu $t2, $t6, $t1
|
||||
/* 00F20 809B6020 A46A0004 */ sh $t2, 0x0004($v1) ## 00000004
|
||||
.L809B6024:
|
||||
/* 00F24 809B6024 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
|
||||
/* 00F28 809B6028 54A10017 */ bnel $a1, $at, .L809B6088
|
||||
/* 00F2C 809B602C 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
|
||||
/* 00F30 809B6030 C45002B8 */ lwc1 $f16, 0x02B8($v0) ## 000002B8
|
||||
/* 00F34 809B6034 846B0000 */ lh $t3, 0x0000($v1) ## 00000000
|
||||
/* 00F38 809B6038 84790002 */ lh $t9, 0x0002($v1) ## 00000002
|
||||
/* 00F3C 809B603C 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 00F40 809B6040 846D0004 */ lh $t5, 0x0004($v1) ## 00000004
|
||||
/* 00F44 809B6044 440F9000 */ mfc1 $t7, $f18
|
||||
/* 00F48 809B6048 00000000 */ nop
|
||||
/* 00F4C 809B604C 016FC021 */ addu $t8, $t3, $t7
|
||||
/* 00F50 809B6050 A4780000 */ sh $t8, 0x0000($v1) ## 00000000
|
||||
/* 00F54 809B6054 C44402B4 */ lwc1 $f4, 0x02B4($v0) ## 000002B4
|
||||
/* 00F58 809B6058 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00F5C 809B605C 44083000 */ mfc1 $t0, $f6
|
||||
/* 00F60 809B6060 00000000 */ nop
|
||||
/* 00F64 809B6064 03286021 */ addu $t4, $t9, $t0
|
||||
/* 00F68 809B6068 A46C0002 */ sh $t4, 0x0002($v1) ## 00000002
|
||||
/* 00F6C 809B606C C44802B0 */ lwc1 $f8, 0x02B0($v0) ## 000002B0
|
||||
/* 00F70 809B6070 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 00F74 809B6074 440E5000 */ mfc1 $t6, $f10
|
||||
/* 00F78 809B6078 00000000 */ nop
|
||||
/* 00F7C 809B607C 01AE4821 */ addu $t1, $t5, $t6
|
||||
/* 00F80 809B6080 A4690004 */ sh $t1, 0x0004($v1) ## 00000004
|
||||
/* 00F84 809B6084 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
|
||||
.L809B6088:
|
||||
/* 00F88 809B6088 54A10017 */ bnel $a1, $at, .L809B60E8
|
||||
/* 00F8C 809B608C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00F90 809B6090 C45002AC */ lwc1 $f16, 0x02AC($v0) ## 000002AC
|
||||
/* 00F94 809B6094 846A0000 */ lh $t2, 0x0000($v1) ## 00000000
|
||||
/* 00F98 809B6098 84780002 */ lh $t8, 0x0002($v1) ## 00000002
|
||||
/* 00F9C 809B609C 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 00FA0 809B60A0 846C0004 */ lh $t4, 0x0004($v1) ## 00000004
|
||||
/* 00FA4 809B60A4 440B9000 */ mfc1 $t3, $f18
|
||||
/* 00FA8 809B60A8 00000000 */ nop
|
||||
/* 00FAC 809B60AC 014B7821 */ addu $t7, $t2, $t3
|
||||
/* 00FB0 809B60B0 A46F0000 */ sh $t7, 0x0000($v1) ## 00000000
|
||||
/* 00FB4 809B60B4 C44402A8 */ lwc1 $f4, 0x02A8($v0) ## 000002A8
|
||||
/* 00FB8 809B60B8 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00FBC 809B60BC 44193000 */ mfc1 $t9, $f6
|
||||
/* 00FC0 809B60C0 00000000 */ nop
|
||||
/* 00FC4 809B60C4 03194021 */ addu $t0, $t8, $t9
|
||||
/* 00FC8 809B60C8 A4680002 */ sh $t0, 0x0002($v1) ## 00000002
|
||||
/* 00FCC 809B60CC C44802A4 */ lwc1 $f8, 0x02A4($v0) ## 000002A4
|
||||
/* 00FD0 809B60D0 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 00FD4 809B60D4 440D5000 */ mfc1 $t5, $f10
|
||||
/* 00FD8 809B60D8 00000000 */ nop
|
||||
/* 00FDC 809B60DC 018D7021 */ addu $t6, $t4, $t5
|
||||
/* 00FE0 809B60E0 A46E0004 */ sh $t6, 0x0004($v1) ## 00000004
|
||||
/* 00FE4 809B60E4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L809B60E8:
|
||||
/* 00FE8 809B60E8 03E00008 */ jr $ra
|
||||
/* 00FEC 809B60EC 27BD0010 */ addiu $sp, $sp, 0x0010 ## $sp = 00000000
|
|
@ -1,22 +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_Attack_Niw_InitVars
|
||||
.word 0x01440500, 0x00000010, 0x00130000, 0x000002E8
|
||||
.word EnAttackNiw_Init
|
||||
.word EnAttackNiw_Destroy
|
||||
.word EnAttackNiw_Update
|
||||
.word EnAttackNiw_Draw
|
||||
glabel D_809B6170
|
||||
.word 0x801F0001, 0xB86CF830, 0x304C0000
|
||||
glabel D_809B617C
|
||||
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||
|
|
@ -380,11 +380,11 @@ void func_8002F5F0(Actor* actor, GlobalContext* globalCtx);
|
|||
u32 func_8002F618(GlobalContext* globalCtx, Actor* actor);
|
||||
u32 func_8002F63C(GlobalContext* globalCtx, Actor* actor, s32 arg2);
|
||||
u32 func_8002F674(GlobalContext* globalCtx, Actor* actor);
|
||||
void func_8002F698(GlobalContext* globalCtx, Actor* arg1, f32 arg2, s16 arg3, f32 arg4, u32 arg5, u32 arg6);
|
||||
void func_8002F6D4(GlobalContext* globalCtx, Actor* arg1, f32 arg2, s16 arg3, f32 arg4, u32 arg5);
|
||||
void func_8002F71C(GlobalContext* globalCtx, Actor* arg1, f32 arg2, s16 arg3, f32 arg4);
|
||||
void func_8002F758(GlobalContext* globalCtx, Actor* arg1, f32 arg2, s16 arg3, f32 arg4, u32 arg5);
|
||||
void func_8002F7A0(GlobalContext* globalCtx, Actor* arg1, f32 arg2, s16 arg3, f32 arg4);
|
||||
void func_8002F698(GlobalContext* globalCtx, Actor* actor, f32 arg2, s16 arg3, f32 arg4, u32 arg5, u32 arg6);
|
||||
void func_8002F6D4(GlobalContext* globalCtx, Actor* actor, f32 arg2, s16 arg3, f32 arg4, u32 arg5);
|
||||
void func_8002F71C(GlobalContext* globalCtx, Actor* actor, f32 arg2, s16 arg3, f32 arg4);
|
||||
void func_8002F758(GlobalContext* globalCtx, Actor* actor, f32 arg2, s16 arg3, f32 arg4, u32 arg5);
|
||||
void func_8002F7A0(GlobalContext* globalCtx, Actor* actor, f32 arg2, s16 arg3, f32 arg4);
|
||||
void func_8002F7DC(Actor* actor, u16 sfxId);
|
||||
void Audio_PlayActorSound2(Actor* actor, u16 sfxId);
|
||||
void func_8002F850(GlobalContext* globalCtx, Actor* actor);
|
||||
|
|
5
spec
5
spec
|
@ -2005,8 +2005,11 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Attack_Niw"
|
||||
include "build/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.o"
|
||||
include "build/data/overlays/actors/z_en_attack_niw.data.o"
|
||||
#ifdef NON_MATCHING
|
||||
include "build/src/overlays/actors/ovl_En_Attack_Niw/ovl_En_Attack_Niw_reloc.o"
|
||||
#else
|
||||
include "build/data/overlays/actors/z_en_attack_niw.reloc.o"
|
||||
#endif
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -1641,7 +1641,7 @@ u32 func_8002F674(GlobalContext* globalCtx, Actor* actor) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_8002F698(GlobalContext* globalCtx, Actor* arg1, f32 arg2, s16 arg3, f32 arg4, u32 arg5, u32 arg6) {
|
||||
void func_8002F698(GlobalContext* globalCtx, Actor* actor, f32 arg2, s16 arg3, f32 arg4, u32 arg5, u32 arg6) {
|
||||
Player* player = PLAYER;
|
||||
player->unk_8A0 = arg6;
|
||||
player->unk_8A1 = arg5;
|
||||
|
@ -1650,20 +1650,20 @@ void func_8002F698(GlobalContext* globalCtx, Actor* arg1, f32 arg2, s16 arg3, f3
|
|||
player->unk_8A8 = arg4;
|
||||
}
|
||||
|
||||
void func_8002F6D4(GlobalContext* globalCtx, Actor* arg1, f32 arg2, s16 arg3, f32 arg4, u32 arg5) {
|
||||
func_8002F698(globalCtx, arg1, arg2, arg3, arg4, 2, arg5);
|
||||
void func_8002F6D4(GlobalContext* globalCtx, Actor* actor, f32 arg2, s16 arg3, f32 arg4, u32 arg5) {
|
||||
func_8002F698(globalCtx, actor, arg2, arg3, arg4, 2, arg5);
|
||||
}
|
||||
|
||||
void func_8002F71C(GlobalContext* globalCtx, Actor* arg1, f32 arg2, s16 arg3, f32 arg4) {
|
||||
func_8002F6D4(globalCtx, arg1, arg2, arg3, arg4, 0);
|
||||
void func_8002F71C(GlobalContext* globalCtx, Actor* actor, f32 arg2, s16 arg3, f32 arg4) {
|
||||
func_8002F6D4(globalCtx, actor, arg2, arg3, arg4, 0);
|
||||
}
|
||||
|
||||
void func_8002F758(GlobalContext* globalCtx, Actor* arg1, f32 arg2, s16 arg3, f32 arg4, u32 arg5) {
|
||||
func_8002F698(globalCtx, arg1, arg2, arg3, arg4, 1, arg5);
|
||||
void func_8002F758(GlobalContext* globalCtx, Actor* actor, f32 arg2, s16 arg3, f32 arg4, u32 arg5) {
|
||||
func_8002F698(globalCtx, actor, arg2, arg3, arg4, 1, arg5);
|
||||
}
|
||||
|
||||
void func_8002F7A0(GlobalContext* globalCtx, Actor* arg1, f32 arg2, s16 arg3, f32 arg4) {
|
||||
func_8002F758(globalCtx, arg1, arg2, arg3, arg4, 0);
|
||||
void func_8002F7A0(GlobalContext* globalCtx, Actor* actor, f32 arg2, s16 arg3, f32 arg4) {
|
||||
func_8002F758(globalCtx, actor, arg2, arg3, arg4, 0);
|
||||
}
|
||||
|
||||
void func_8002F7DC(Actor* actor, u16 sfxId) {
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_en_attack_niw.h"
|
||||
#include "overlays/actors/ovl_En_Niw/z_en_niw.h"
|
||||
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
|
@ -15,7 +16,13 @@ void EnAttackNiw_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void EnAttackNiw_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnAttackNiw_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void func_809B5670(EnAttackNiw* this, GlobalContext* globalCtx);
|
||||
void func_809B5C18(EnAttackNiw* this, GlobalContext* globalCtx);
|
||||
void func_809B59B0(EnAttackNiw* this, GlobalContext* globalCtx);
|
||||
|
||||
extern AnimationHeader D_060000E8;
|
||||
extern SkeletonHeader D_06002530;
|
||||
|
||||
const ActorInit En_Attack_Niw_InitVars = {
|
||||
ACTOR_EN_ATTACK_NIW,
|
||||
ACTORTYPE_ENEMY,
|
||||
|
@ -27,23 +34,372 @@ const ActorInit En_Attack_Niw_InitVars = {
|
|||
(ActorFunc)EnAttackNiw_Update,
|
||||
(ActorFunc)EnAttackNiw_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Attack_Niw/EnAttackNiw_Init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Attack_Niw/EnAttackNiw_Destroy.s")
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_U8(unk_1F, 1, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32_DIV1000(gravity, 63536, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(unk_4C, 0, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
void EnAttackNiw_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnAttackNiw* this = THIS;
|
||||
s32 pad;
|
||||
|
||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 25.0f);
|
||||
SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06002530, &D_060000E8, this->limbDrawTable, this->transitionDrawTable, 16);
|
||||
if (this->actor.params < 0) {
|
||||
this->actor.params = 0;
|
||||
}
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
this->actor.gravity = 0.0f;
|
||||
this->unk_298.x = Math_Rand_CenteredFloat(100.0f);
|
||||
this->unk_298.y = Math_Rand_CenteredFloat(10.0f);
|
||||
this->unk_298.z = Math_Rand_CenteredFloat(100.0f);
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
this->actor.flags &= ~1;
|
||||
this->actor.shape.rot.y = this->actor.posRot.rot.y = (Math_Rand_ZeroOne() - 0.5f) * 60000.0f;
|
||||
this->actionFunc = func_809B5670;
|
||||
}
|
||||
|
||||
void EnAttackNiw_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnAttackNiw* this = THIS;
|
||||
EnNiw* cucco = (EnNiw*)this->actor.attachedA;
|
||||
|
||||
if (this->actor.attachedA != NULL) {
|
||||
if ((cucco->actor.update != NULL) && (cucco->unk_296 > 0)) {
|
||||
cucco->unk_296--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_809B5268(EnAttackNiw* this, GlobalContext* globalCtx, s16 arg2) {
|
||||
if (this->unk_254 == 0) {
|
||||
if (arg2 == 0) {
|
||||
this->unk_264 = 0.0f;
|
||||
} else {
|
||||
this->unk_264 = -10000.0f;
|
||||
}
|
||||
this->unk_28E++;
|
||||
this->unk_254 = 3;
|
||||
if ((this->unk_28E & 1) == 0) {
|
||||
this->unk_264 = 0.0f;
|
||||
if (arg2 == 0) {
|
||||
this->unk_254 = Math_Rand_ZeroFloat(30.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this->unk_258 == 0) {
|
||||
this->unk_292++;
|
||||
this->unk_292 &= 1;
|
||||
switch (arg2) {
|
||||
case 0:
|
||||
this->unk_26C = 0.0f;
|
||||
this->unk_268 = 0.0f;
|
||||
break;
|
||||
case 1:
|
||||
this->unk_258 = 3;
|
||||
this->unk_26C = 7000.0f;
|
||||
this->unk_268 = 7000.0f;
|
||||
if (this->unk_292 == 0) {
|
||||
this->unk_26C = 0.0f;
|
||||
this->unk_268 = 0.0f;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
this->unk_258 = 2;
|
||||
this->unk_268 = this->unk_26C = -10000.0f;
|
||||
this->unk_280 = this->unk_278 = 25000.0f;
|
||||
this->unk_284 = this->unk_27C = 6000.0f;
|
||||
if (this->unk_292 == 0) {
|
||||
this->unk_278 = 8000.0f;
|
||||
this->unk_280 = 8000.0f;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
this->unk_258 = 2;
|
||||
this->unk_278 = 10000.0f;
|
||||
this->unk_280 = 10000.0f;
|
||||
if (this->unk_292 == 0) {
|
||||
this->unk_278 = 3000.0f;
|
||||
this->unk_280 = 3000.0f;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
this->unk_254 = this->unk_256 = 5;
|
||||
break;
|
||||
case 5:
|
||||
this->unk_258 = 5;
|
||||
this->unk_278 = 14000.0f;
|
||||
this->unk_280 = 14000.0f;
|
||||
if (this->unk_292 == 0) {
|
||||
this->unk_278 = 10000.0f;
|
||||
this->unk_280 = 10000.0f;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (this->unk_288 != this->unk_2C0) {
|
||||
Math_SmoothScaleMaxF(&this->unk_2C0, this->unk_288, 0.5f, 4000.0f);
|
||||
}
|
||||
if (this->unk_264 != this->unk_2BC) {
|
||||
Math_SmoothScaleMaxF(&this->unk_2BC, this->unk_264, 0.5f, 4000.0f);
|
||||
}
|
||||
if (this->unk_26C != this->unk_2A4.x) {
|
||||
Math_SmoothScaleMaxF(&this->unk_2A4.x, this->unk_26C, 0.8f, 7000.0f);
|
||||
}
|
||||
if (this->unk_280 != this->unk_2A4.y) {
|
||||
Math_SmoothScaleMaxF(&this->unk_2A4.y, this->unk_280, 0.8f, 7000.0f);
|
||||
}
|
||||
if (this->unk_284 != this->unk_2A4.z) {
|
||||
Math_SmoothScaleMaxF(&this->unk_2A4.z, this->unk_284, 0.8f, 7000.0f);
|
||||
}
|
||||
if (this->unk_268 != this->unk_2B0.x) {
|
||||
Math_SmoothScaleMaxF(&this->unk_2B0.x, this->unk_268, 0.8f, 7000.0f);
|
||||
}
|
||||
if (this->unk_278 != this->unk_2B0.y) {
|
||||
Math_SmoothScaleMaxF(&this->unk_2B0.y, this->unk_278, 0.8f, 7000.0f);
|
||||
}
|
||||
if (this->unk_27C != this->unk_2B0.z) {
|
||||
Math_SmoothScaleMaxF(&this->unk_2B0.z, this->unk_27C, 0.8f, 7000.0f);
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_809B55EC(EnAttackNiw* this, GlobalContext* globalCtx) {
|
||||
s16 sp1E;
|
||||
s16 sp1C;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Attack_Niw/func_809B5268.s")
|
||||
Actor_SetHeight(&this->actor, this->unk_2E4);
|
||||
func_8002F374(globalCtx, &this->actor, &sp1E, &sp1C);
|
||||
if ((this->actor.projectedPos.z < -20.0f) || (sp1E < 0) || (sp1E >= 0x141) || (sp1C < 0) || (sp1C >= 0xF1)) {
|
||||
return 0;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Attack_Niw/func_809B55EC.s")
|
||||
#ifdef NON_MATCHING
|
||||
// Stack, every variable off by 4 bytes
|
||||
void func_809B5670(EnAttackNiw* this, GlobalContext* globalCtx) {
|
||||
Vec3f* pos = &this->actor.posRot.pos;
|
||||
f32 tmpf1;
|
||||
s16 sp4E;
|
||||
s16 sp4C;
|
||||
f32 tmpf2;
|
||||
f32 tmpf3;
|
||||
Vec3f sp34;
|
||||
|
||||
this->actor.speedXZ = 10.0f;
|
||||
|
||||
tmpf1 = (this->unk_298.x + globalCtx->view.lookAt.x) - globalCtx->view.eye.x;
|
||||
tmpf2 = (this->unk_298.y + globalCtx->view.lookAt.y) - globalCtx->view.eye.y;
|
||||
tmpf3 = (this->unk_298.z + globalCtx->view.lookAt.z) - globalCtx->view.eye.z;
|
||||
|
||||
sp34.x = globalCtx->view.lookAt.x + tmpf1;
|
||||
sp34.y = globalCtx->view.lookAt.y + tmpf2;
|
||||
sp34.z = globalCtx->view.lookAt.z + tmpf3;
|
||||
|
||||
this->unk_2D4 = Math_Vec3f_Yaw(pos, &sp34);
|
||||
this->unk_2D0 = (Math_Vec3f_Pitch(pos, &sp34) * -1.0f);
|
||||
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y, this->unk_2D4, 5, this->unk_2DC, 0);
|
||||
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.x, this->unk_2D0, 5, this->unk_2DC, 0);
|
||||
Math_SmoothScaleMaxF(&this->unk_2DC, 5000.0f, 1.0f, 100.0f);
|
||||
Actor_SetHeight(&this->actor, this->unk_2E4);
|
||||
func_8002F374(globalCtx, &this->actor, &sp4E, &sp4C);
|
||||
if (this->actor.bgCheckFlags & 8) {
|
||||
this->unk_2D4 = this->actor.yawTowardsLink;
|
||||
this->unk_2D0 = this->actor.posRot.rot.x - 3000.0f;
|
||||
this->unk_2DC = this->unk_284 = this->unk_27C = 0.0f;
|
||||
this->unk_254 = this->unk_256 = this->unk_258 = this->unk_25A = 0;
|
||||
this->unk_25C = 0x64;
|
||||
this->actor.gravity = -0.2f;
|
||||
this->unk_2E0 = 5.0f;
|
||||
this->unk_288 = 0.0f;
|
||||
this->actionFunc = func_809B59B0;
|
||||
} else if (((this->actor.projectedPos.z > 0.0f) &&
|
||||
(fabsf(sp34.x - this->actor.posRot.pos.x) < 50.0f) &&
|
||||
(fabsf(sp34.y - this->actor.posRot.pos.y) < 50.0f) &&
|
||||
(fabsf(sp34.z - this->actor.posRot.pos.z) < 50.0f)) ||
|
||||
(this->actor.bgCheckFlags & 1)) {
|
||||
this->unk_254 = this->unk_256 = this->unk_258 = this->unk_25A = 0;
|
||||
this->unk_284 = this->unk_27C = this->unk_2DC = 0.0f;
|
||||
this->unk_2D4 = this->actor.yawTowardsLink;
|
||||
this->unk_2D0 = this->actor.posRot.rot.x - 2000.0f;
|
||||
this->actor.gravity = -0.2f;
|
||||
this->unk_2E0 = 5.0f;
|
||||
this->unk_288 = 0.0f;
|
||||
this->actionFunc = func_809B59B0;
|
||||
} else {
|
||||
this->unk_254 = 10;
|
||||
this->unk_264 = -10000.0f;
|
||||
this->unk_288 = -3000.0f;
|
||||
func_809B5268(this, globalCtx, 2);
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Attack_Niw/func_809B5670.s")
|
||||
#endif
|
||||
|
||||
void func_809B59B0(EnAttackNiw* this, GlobalContext* globalCtx) {
|
||||
if (!func_809B55EC(this, globalCtx)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
if (this->actor.bgCheckFlags & 1) {
|
||||
if (this->unk_25A == 0) {
|
||||
this->unk_25A = 3;
|
||||
this->actor.velocity.y = 3.5f;
|
||||
}
|
||||
if (this->actor.gravity != -2.0f) {
|
||||
this->unk_280 = this->unk_278 = 14000.0f;
|
||||
this->unk_2D0 = this->unk_26C = this->unk_268 = this->unk_284 = this->unk_27C = 0.0f;
|
||||
this->unk_2D4 = this->actor.yawTowardsLink;
|
||||
this->unk_262 = 0x32;
|
||||
this->unk_25C = 0x64;
|
||||
this->actor.gravity = -2.0f;
|
||||
}
|
||||
}
|
||||
if (this->unk_25C == 0x32) {
|
||||
this->unk_2D4 = Math_Rand_CenteredFloat(200.0f) + this->actor.yawTowardsLink;
|
||||
}
|
||||
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y, this->unk_2D4, 2, this->unk_2DC, 0);
|
||||
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.x, this->unk_2D0, 2, this->unk_2DC, 0);
|
||||
Math_SmoothScaleMaxF(&this->unk_2DC, 10000.0f, 1.0f, 1000.0f);
|
||||
Math_SmoothScaleMaxF(&this->actor.speedXZ, this->unk_2E0, 0.9f, 1.0f);
|
||||
if ((this->actor.gravity == -2.0f) && (this->unk_262 == 0) &&
|
||||
((this->actor.bgCheckFlags & 8) || (this->unk_25C == 0))) {
|
||||
this->unk_2E0 = 0.0f;
|
||||
this->actor.gravity = 0.0f;
|
||||
this->unk_2DC = 0.0f;
|
||||
this->unk_2D0 = this->actor.posRot.rot.x - 5000.0f;
|
||||
this->actionFunc = func_809B5C18;
|
||||
} else if (this->actor.bgCheckFlags & 1) {
|
||||
func_809B5268(this, globalCtx, 5);
|
||||
} else {
|
||||
func_809B5268(this, globalCtx, 2);
|
||||
}
|
||||
}
|
||||
|
||||
void func_809B5C18(EnAttackNiw* this, GlobalContext* globalCtx) {
|
||||
if (!func_809B55EC(this, globalCtx)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.x, this->unk_2D0, 5, this->unk_2DC, 0);
|
||||
Math_SmoothScaleMaxF(&this->unk_2DC, 5000.0f, 1.0f, 100.0f);
|
||||
Math_SmoothScaleMaxF(&this->actor.velocity.y, 5.0f, 0.3f, 1.0f);
|
||||
func_809B5268(this, globalCtx, 2);
|
||||
}
|
||||
|
||||
void EnAttackNiw_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
f32 tmpf1;
|
||||
EnAttackNiw* this = THIS;
|
||||
EnNiw* cucco;
|
||||
Player* player = PLAYER;
|
||||
s32 pad;
|
||||
Vec3f sp30;
|
||||
GlobalContext* globalCtx2 = globalCtx;
|
||||
|
||||
this->unk_28C++;
|
||||
if (this->unk_254 != 0) {
|
||||
this->unk_254--;
|
||||
}
|
||||
if (this->unk_258 != 0) {
|
||||
this->unk_258--;
|
||||
}
|
||||
if (this->unk_25A != 0) {
|
||||
this->unk_25A--;
|
||||
}
|
||||
if (this->unk_25E != 0) {
|
||||
this->unk_25E--;
|
||||
}
|
||||
if (this->unk_260 != 0) {
|
||||
this->unk_260--;
|
||||
}
|
||||
if (this->unk_25C != 0) {
|
||||
this->unk_25C--;
|
||||
}
|
||||
if (this->unk_262 != 0) {
|
||||
this->unk_262--;
|
||||
}
|
||||
|
||||
this->actor.shape.rot = this->actor.posRot.rot;
|
||||
this->actor.shape.unk_10 = 15.0f;
|
||||
this->actionFunc(this, globalCtx2);
|
||||
func_8002E4B4(globalCtx, &this->actor, 20.0f, 20.0f, 60.0f, 0x1D);
|
||||
|
||||
if (this->actionFunc == func_809B5670) {
|
||||
func_8002D97C(&this->actor);
|
||||
} else {
|
||||
Actor_MoveForward(&this->actor);
|
||||
}
|
||||
|
||||
if (this->actor.groundY <= -32000.0f) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((this->actor.bgCheckFlags & 0x20) && (this->actionFunc != func_809B5C18)) {
|
||||
Math_Vec3f_Copy(&sp30, &this->actor.posRot.pos);
|
||||
sp30.y += this->actor.waterY;
|
||||
func_8002949C(globalCtx, &sp30, 0, 0, 0, 0x190);
|
||||
this->unk_2DC = 0.0f;
|
||||
this->actor.gravity = 0.0f;
|
||||
this->unk_2E0 = 0.0f;
|
||||
this->unk_2D0 = this->actor.posRot.rot.x - 5000.0f;
|
||||
this->actionFunc = func_809B5C18;
|
||||
return;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Attack_Niw/func_809B59B0.s")
|
||||
tmpf1 = 20.0f;
|
||||
if (this->actor.xyzDistFromLinkSq < SQ(tmpf1)) {
|
||||
cucco = (EnNiw*)this->actor.attachedA;
|
||||
if ((this->actor.attachedA->update != NULL) && (this->actor.attachedA != NULL) && (cucco != NULL) &&
|
||||
(cucco->unk_26A == 0) && (player->invincibilityTimer == 0)) {
|
||||
func_8002F6D4(globalCtx, &this->actor, 2.0f, this->actor.posRot.rot.y, 0.0f, 0x10);
|
||||
cucco->unk_26A = 0x46;
|
||||
}
|
||||
}
|
||||
if (this->unk_25E == 0) {
|
||||
this->unk_25E = 30;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_CHICKEN_CRY_A);
|
||||
}
|
||||
if (this->unk_260 == 0) {
|
||||
this->unk_260 = 7;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEKU_WAKEUP);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Attack_Niw/func_809B5C18.s")
|
||||
s32 func_809B5F98(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
|
||||
EnAttackNiw* this = THIS;
|
||||
Vec3f sp0 = { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Attack_Niw/EnAttackNiw_Update.s")
|
||||
if (limbIndex == 13) {
|
||||
rot->y += (s16)this->unk_2BC;
|
||||
}
|
||||
if (limbIndex == 15) {
|
||||
rot->z += (s16)this->unk_2C0;
|
||||
}
|
||||
if (limbIndex == 11) {
|
||||
rot->x += (s16)this->unk_2B0.z;
|
||||
rot->y += (s16)this->unk_2B0.y;
|
||||
rot->z += (s16)this->unk_2B0.x;
|
||||
}
|
||||
if (limbIndex == 7) {
|
||||
rot->x += (s16)this->unk_2A4.z;
|
||||
rot->y += (s16)this->unk_2A4.y;
|
||||
rot->z += (s16)this->unk_2A4.x;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Attack_Niw/func_809B5F98.s")
|
||||
void EnAttackNiw_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnAttackNiw* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Attack_Niw/EnAttackNiw_Draw.s")
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
|
||||
func_809B5F98, NULL, &this->actor);
|
||||
}
|
||||
|
|
|
@ -6,9 +6,49 @@
|
|||
|
||||
struct EnAttackNiw;
|
||||
|
||||
typedef void (*EnAttackNiwActionFunc)(struct EnAttackNiw*, GlobalContext*);
|
||||
|
||||
typedef struct EnAttackNiw {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x19C];
|
||||
/* 0x014C */ SkelAnime skelAnime;
|
||||
/* 0x0190 */ Vec3s limbDrawTable[16];
|
||||
/* 0x01F0 */ Vec3s transitionDrawTable[16];
|
||||
/* 0x0250 */ EnAttackNiwActionFunc actionFunc;
|
||||
/* 0x0254 */ s16 unk_254;
|
||||
/* 0x0256 */ s16 unk_256;
|
||||
/* 0x0258 */ s16 unk_258;
|
||||
/* 0x025A */ s16 unk_25A;
|
||||
/* 0x025C */ s16 unk_25C;
|
||||
/* 0x025E */ s16 unk_25E;
|
||||
/* 0x0260 */ s16 unk_260;
|
||||
/* 0x0262 */ s16 unk_262;
|
||||
/* 0x0264 */ f32 unk_264;
|
||||
/* 0x0268 */ f32 unk_268;
|
||||
/* 0x026C */ f32 unk_26C;
|
||||
/* 0x0270 */ char unk_270[0x8];
|
||||
/* 0x0278 */ f32 unk_278;
|
||||
/* 0x027C */ f32 unk_27C;
|
||||
/* 0x0280 */ f32 unk_280;
|
||||
/* 0x0284 */ f32 unk_284;
|
||||
/* 0x0284 */ f32 unk_288;
|
||||
/* 0x028C */ s16 unk_28C;
|
||||
/* 0x028E */ s16 unk_28E;
|
||||
/* 0x0290 */ char unk_290[0x2];
|
||||
/* 0x0292 */ s16 unk_292;
|
||||
/* 0x0294 */ char unk_294[0x2];
|
||||
/* 0x0296 */ s16 unk_296;
|
||||
/* 0x0298 */ Vec3f unk_298;
|
||||
/* 0x02A4 */ Vec3f unk_2A4;
|
||||
/* 0x02B0 */ Vec3f unk_2B0;
|
||||
/* 0x02BC */ f32 unk_2BC;
|
||||
/* 0x02C0 */ f32 unk_2C0;
|
||||
/* 0x02C4 */ char unk_2C4[0xC];
|
||||
/* 0x02D0 */ f32 unk_2D0;
|
||||
/* 0x02D4 */ f32 unk_2D4;
|
||||
/* 0x02D8 */ char unk_2D8[0x4];
|
||||
/* 0x02DC */ f32 unk_2DC;
|
||||
/* 0x02E0 */ f32 unk_2E0;
|
||||
/* 0x02E4 */ f32 unk_2E4;
|
||||
} EnAttackNiw; // size = 0x02E8
|
||||
|
||||
extern const ActorInit En_Attack_Niw_InitVars;
|
||||
|
|
|
@ -8,7 +8,11 @@ struct EnNiw;
|
|||
|
||||
typedef struct EnNiw {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x19C];
|
||||
/* 0x014C */ char unk_14C[0x11E];
|
||||
/* 0x026A */ s16 unk_26A;
|
||||
/* 0x026C */ char unk_26C[0x2A];
|
||||
/* 0x0296 */ s16 unk_296;
|
||||
/* 0x0298 */ char unk_298[0x50];
|
||||
/* 0x02E8 */ s16 unk_2E8;
|
||||
/* 0x02EA */ char unk_2EA[0x2];
|
||||
/* 0x02EC */ s16 unk_2EC;
|
||||
|
|
|
@ -728,6 +728,10 @@ D_06000194 = 0x06000194;
|
|||
D_06002BF0 = 0x06002BF0;
|
||||
D_06002C8C = 0x06002C8C;
|
||||
|
||||
// z_en_attack_niw
|
||||
D_06002530 = 0x06002530;
|
||||
D_060000E8 = 0x060000E8;
|
||||
|
||||
// z_en_hintnuts
|
||||
D_06000168 = 0x06000168;
|
||||
D_060014E0 = 0x060014E0;
|
||||
|
|
Loading…
Reference in a new issue