mirror of
https://github.com/zeldaret/oot.git
synced 2025-04-06 14:46:21 +00:00
Decompile En_Crow (Guay Enemy) (#444)
* Decompile En_Crow (Guay Enemy) * Remove thisx * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com> * Made suggested changes * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Updated En_Crow * Fixed chained assignment * Updated En_Crow * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Crow/z_en_crow.c Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Added parens * fix formatting Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com> Co-authored-by: Zelllll <elijah@DESKTOP-NMP1I89.localdomain> Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
This commit is contained in:
parent
3c5fe66dcd
commit
c902175d5a
25 changed files with 440 additions and 1548 deletions
|
@ -1,11 +0,0 @@
|
|||
glabel EnCrow_Destroy
|
||||
/* 000EC 809E032C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 000F0 809E0330 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 000F4 809E0334 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 000F8 809E0338 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 000FC 809E033C 0C016F32 */ jal Collider_DestroyJntSph
|
||||
/* 00100 809E0340 24C50238 */ addiu $a1, $a2, 0x0238 ## $a1 = 00000238
|
||||
/* 00104 809E0344 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00108 809E0348 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 0010C 809E034C 03E00008 */ jr $ra
|
||||
/* 00110 809E0350 00000000 */ nop
|
|
@ -1,25 +0,0 @@
|
|||
glabel EnCrow_Draw
|
||||
/* 013A0 809E15E0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 013A4 809E15E4 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 013A8 809E15E8 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 013AC 809E15EC AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 013B0 809E15F0 0C024F46 */ jal func_80093D18
|
||||
/* 013B4 809E15F4 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000
|
||||
/* 013B8 809E15F8 8FA20028 */ lw $v0, 0x0028($sp)
|
||||
/* 013BC 809E15FC 3C0F809E */ lui $t7, %hi(func_809E1434) ## $t7 = 809E0000
|
||||
/* 013C0 809E1600 3C18809E */ lui $t8, %hi(func_809E1520) ## $t8 = 809E0000
|
||||
/* 013C4 809E1604 8C450180 */ lw $a1, 0x0180($v0) ## 00000180
|
||||
/* 013C8 809E1608 8C46019C */ lw $a2, 0x019C($v0) ## 0000019C
|
||||
/* 013CC 809E160C 9047017E */ lbu $a3, 0x017E($v0) ## 0000017E
|
||||
/* 013D0 809E1610 27181520 */ addiu $t8, $t8, %lo(func_809E1520) ## $t8 = 809E1520
|
||||
/* 013D4 809E1614 25EF1434 */ addiu $t7, $t7, %lo(func_809E1434) ## $t7 = 809E1434
|
||||
/* 013D8 809E1618 AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 013DC 809E161C AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 013E0 809E1620 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 013E4 809E1624 0C0286B2 */ jal SkelAnime_DrawSV
|
||||
/* 013E8 809E1628 AFA20018 */ sw $v0, 0x0018($sp)
|
||||
/* 013EC 809E162C 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 013F0 809E1630 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 013F4 809E1634 03E00008 */ jr $ra
|
||||
/* 013F8 809E1638 00000000 */ nop
|
||||
/* 013FC 809E163C 00000000 */ nop
|
|
@ -1,62 +0,0 @@
|
|||
glabel EnCrow_Init
|
||||
/* 00000 809E0240 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00004 809E0244 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 00008 809E0248 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 0000C 809E024C AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00010 809E0250 3C05809E */ lui $a1, %hi(D_809E16CC) ## $a1 = 809E0000
|
||||
/* 00014 809E0254 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00018 809E0258 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 0001C 809E025C 24A516CC */ addiu $a1, $a1, %lo(D_809E16CC) ## $a1 = 809E16CC
|
||||
/* 00020 809E0260 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000
|
||||
/* 00024 809E0264 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
|
||||
/* 00028 809E0268 260E01CA */ addiu $t6, $s0, 0x01CA ## $t6 = 000001CA
|
||||
/* 0002C 809E026C 260F0200 */ addiu $t7, $s0, 0x0200 ## $t7 = 00000200
|
||||
/* 00030 809E0270 24180009 */ addiu $t8, $zero, 0x0009 ## $t8 = 00000009
|
||||
/* 00034 809E0274 AFB80018 */ sw $t8, 0x0018($sp)
|
||||
/* 00038 809E0278 AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 0003C 809E027C AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 00040 809E0280 24E700F0 */ addiu $a3, $a3, 0x00F0 ## $a3 = 060000F0
|
||||
/* 00044 809E0284 24C610C0 */ addiu $a2, $a2, 0x10C0 ## $a2 = 060010C0
|
||||
/* 00048 809E0288 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 0004C 809E028C 0C0291BE */ jal SkelAnime_InitSV
|
||||
/* 00050 809E0290 2605017C */ addiu $a1, $s0, 0x017C ## $a1 = 0000017C
|
||||
/* 00054 809E0294 26050238 */ addiu $a1, $s0, 0x0238 ## $a1 = 00000238
|
||||
/* 00058 809E0298 AFA50030 */ sw $a1, 0x0030($sp)
|
||||
/* 0005C 809E029C 0C016EFE */ jal Collider_InitJntSph
|
||||
/* 00060 809E02A0 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00064 809E02A4 3C07809E */ lui $a3, %hi(D_809E1690) ## $a3 = 809E0000
|
||||
/* 00068 809E02A8 26190258 */ addiu $t9, $s0, 0x0258 ## $t9 = 00000258
|
||||
/* 0006C 809E02AC 8FA50030 */ lw $a1, 0x0030($sp)
|
||||
/* 00070 809E02B0 AFB90010 */ sw $t9, 0x0010($sp)
|
||||
/* 00074 809E02B4 24E71690 */ addiu $a3, $a3, %lo(D_809E1690) ## $a3 = 809E1690
|
||||
/* 00078 809E02B8 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 0007C 809E02BC 0C017014 */ jal Collider_SetJntSph
|
||||
/* 00080 809E02C0 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00084 809E02C4 3C08809E */ lui $t0, %hi(D_809E169C) ## $t0 = 809E0000
|
||||
/* 00088 809E02C8 8D08169C */ lw $t0, %lo(D_809E169C)($t0)
|
||||
/* 0008C 809E02CC 8E0A0254 */ lw $t2, 0x0254($s0) ## 00000254
|
||||
/* 00090 809E02D0 3C05809E */ lui $a1, %hi(D_809E16A8) ## $a1 = 809E0000
|
||||
/* 00094 809E02D4 85090020 */ lh $t1, 0x0020($t0) ## 809E0020
|
||||
/* 00098 809E02D8 3C06809E */ lui $a2, %hi(D_809E16A0) ## $a2 = 809E0000
|
||||
/* 0009C 809E02DC 24C616A0 */ addiu $a2, $a2, %lo(D_809E16A0) ## $a2 = 809E16A0
|
||||
/* 000A0 809E02E0 24A516A8 */ addiu $a1, $a1, %lo(D_809E16A8) ## $a1 = 809E16A8
|
||||
/* 000A4 809E02E4 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
|
||||
/* 000A8 809E02E8 0C0187B5 */ jal func_80061ED4
|
||||
/* 000AC 809E02EC A5490036 */ sh $t1, 0x0036($t2) ## 00000036
|
||||
/* 000B0 809E02F0 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle)
|
||||
/* 000B4 809E02F4 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle)
|
||||
/* 000B8 809E02F8 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 000BC 809E02FC 3C0544FA */ lui $a1, 0x44FA ## $a1 = 44FA0000
|
||||
/* 000C0 809E0300 0C00AC78 */ jal ActorShape_Init
|
||||
|
||||
/* 000C4 809E0304 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000
|
||||
/* 000C8 809E0308 3C01809E */ lui $at, %hi(D_809E16C8) ## $at = 809E0000
|
||||
/* 000CC 809E030C AC2016C8 */ sw $zero, %lo(D_809E16C8)($at)
|
||||
/* 000D0 809E0310 0C2780D5 */ jal func_809E0354
|
||||
/* 000D4 809E0314 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 000D8 809E0318 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 000DC 809E031C 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 000E0 809E0320 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 000E4 809E0324 03E00008 */ jr $ra
|
||||
/* 000E8 809E0328 00000000 */ nop
|
|
@ -1,149 +0,0 @@
|
|||
glabel EnCrow_Update
|
||||
/* 00FE0 809E1220 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 00FE4 809E1224 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00FE8 809E1228 AFB10020 */ sw $s1, 0x0020($sp)
|
||||
/* 00FEC 809E122C AFB0001C */ sw $s0, 0x001C($sp)
|
||||
/* 00FF0 809E1230 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00FF4 809E1234 0C27845D */ jal func_809E1174
|
||||
/* 00FF8 809E1238 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00FFC 809E123C 8E1901C0 */ lw $t9, 0x01C0($s0) ## 000001C0
|
||||
/* 01000 809E1240 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01004 809E1244 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 01008 809E1248 0320F809 */ jalr $ra, $t9
|
||||
/* 0100C 809E124C 00000000 */ nop
|
||||
/* 01010 809E1250 860F00B4 */ lh $t7, 0x00B4($s0) ## 000000B4
|
||||
/* 01014 809E1254 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
|
||||
/* 01018 809E1258 3C08809E */ lui $t0, %hi(func_809E10A8) ## $t0 = 809E0000
|
||||
/* 0101C 809E125C 000FC023 */ subu $t8, $zero, $t7
|
||||
/* 01020 809E1260 C6040050 */ lwc1 $f4, 0x0050($s0) ## 00000050
|
||||
/* 01024 809E1264 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 01028 809E1268 A6180030 */ sh $t8, 0x0030($s0) ## 00000030
|
||||
/* 0102C 809E126C 250810A8 */ addiu $t0, $t0, %lo(func_809E10A8) ## $t0 = 809E10A8
|
||||
/* 01030 809E1270 A60E0032 */ sh $t6, 0x0032($s0) ## 00000032
|
||||
/* 01034 809E1274 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00
|
||||
/* 01038 809E1278 AFA8002C */ sw $t0, 0x002C($sp)
|
||||
/* 0103C 809E127C 8E0901C0 */ lw $t1, 0x01C0($s0) ## 000001C0
|
||||
/* 01040 809E1280 46062002 */ mul.s $f0, $f4, $f6
|
||||
/* 01044 809E1284 51090027 */ beql $t0, $t1, .L809E1324
|
||||
/* 01048 809E1288 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
|
||||
/* 0104C 809E128C 920A00AF */ lbu $t2, 0x00AF($s0) ## 000000AF
|
||||
/* 01050 809E1290 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 01054 809E1294 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01058 809E1298 5140000A */ beql $t2, $zero, .L809E12C4
|
||||
/* 0105C 809E129C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
|
||||
/* 01060 809E12A0 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00
|
||||
/* 01064 809E12A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01068 809E12A8 E7A00030 */ swc1 $f0, 0x0030($sp)
|
||||
/* 0106C 809E12AC 46004282 */ mul.s $f10, $f8, $f0
|
||||
/* 01070 809E12B0 0C00B65F */ jal func_8002D97C
|
||||
/* 01074 809E12B4 E7AA0034 */ swc1 $f10, 0x0034($sp)
|
||||
/* 01078 809E12B8 10000006 */ beq $zero, $zero, .L809E12D4
|
||||
/* 0107C 809E12BC C7A00030 */ lwc1 $f0, 0x0030($sp)
|
||||
/* 01080 809E12C0 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
|
||||
.L809E12C4:
|
||||
/* 01084 809E12C4 E7A00030 */ swc1 $f0, 0x0030($sp)
|
||||
/* 01088 809E12C8 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 0108C 809E12CC E7B00034 */ swc1 $f16, 0x0034($sp)
|
||||
/* 01090 809E12D0 C7A00030 */ lwc1 $f0, 0x0030($sp)
|
||||
.L809E12D4:
|
||||
/* 01094 809E12D4 3C014140 */ lui $at, 0x4140 ## $at = 41400000
|
||||
/* 01098 809E12D8 44819000 */ mtc1 $at, $f18 ## $f18 = 12.00
|
||||
/* 0109C 809E12DC 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
|
||||
/* 010A0 809E12E0 44813000 */ mtc1 $at, $f6 ## $f6 = 25.00
|
||||
/* 010A4 809E12E4 46009102 */ mul.s $f4, $f18, $f0
|
||||
/* 010A8 809E12E8 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 010AC 809E12EC 44815000 */ mtc1 $at, $f10 ## $f10 = 50.00
|
||||
/* 010B0 809E12F0 46003202 */ mul.s $f8, $f6, $f0
|
||||
/* 010B4 809E12F4 240B0007 */ addiu $t3, $zero, 0x0007 ## $t3 = 00000007
|
||||
/* 010B8 809E12F8 AFAB0014 */ sw $t3, 0x0014($sp)
|
||||
/* 010BC 809E12FC 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 010C0 809E1300 44062000 */ mfc1 $a2, $f4
|
||||
/* 010C4 809E1304 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 010C8 809E1308 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 010CC 809E130C 44074000 */ mfc1 $a3, $f8
|
||||
/* 010D0 809E1310 0C00B92D */ jal func_8002E4B4
|
||||
/* 010D4 809E1314 E7B00010 */ swc1 $f16, 0x0010($sp)
|
||||
/* 010D8 809E1318 10000005 */ beq $zero, $zero, .L809E1330
|
||||
/* 010DC 809E131C C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 010E0 809E1320 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
|
||||
.L809E1324:
|
||||
/* 010E4 809E1324 00000000 */ nop
|
||||
/* 010E8 809E1328 E7B20034 */ swc1 $f18, 0x0034($sp)
|
||||
/* 010EC 809E132C C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
.L809E1330:
|
||||
/* 010F0 809E1330 8E190254 */ lw $t9, 0x0254($s0) ## 00000254
|
||||
/* 010F4 809E1334 3C0B809E */ lui $t3, %hi(func_809E0C8C) ## $t3 = 809E0000
|
||||
/* 010F8 809E1338 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 010FC 809E133C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 01100 809E1340 256B0C8C */ addiu $t3, $t3, %lo(func_809E0C8C) ## $t3 = 809E0C8C
|
||||
/* 01104 809E1344 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 01108 809E1348 440D3000 */ mfc1 $t5, $f6
|
||||
/* 0110C 809E134C 02212821 */ addu $a1, $s1, $at
|
||||
/* 01110 809E1350 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 01114 809E1354 A72D0030 */ sh $t5, 0x0030($t9) ## 00000030
|
||||
/* 01118 809E1358 C7AA0034 */ lwc1 $f10, 0x0034($sp)
|
||||
/* 0111C 809E135C C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
|
||||
/* 01120 809E1360 8E180254 */ lw $t8, 0x0254($s0) ## 00000254
|
||||
/* 01124 809E1364 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 01128 809E1368 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 0112C 809E136C 440F9000 */ mfc1 $t7, $f18
|
||||
/* 01130 809E1370 00000000 */ nop
|
||||
/* 01134 809E1374 A70F0032 */ sh $t7, 0x0032($t8) ## 00000032
|
||||
/* 01138 809E1378 C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
|
||||
/* 0113C 809E137C 8E0A0254 */ lw $t2, 0x0254($s0) ## 00000254
|
||||
/* 01140 809E1380 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 01144 809E1384 44093000 */ mfc1 $t1, $f6
|
||||
/* 01148 809E1388 00000000 */ nop
|
||||
/* 0114C 809E138C A5490034 */ sh $t1, 0x0034($t2) ## 00000034
|
||||
/* 01150 809E1390 8E0C01C0 */ lw $t4, 0x01C0($s0) ## 000001C0
|
||||
/* 01154 809E1394 556C0004 */ bnel $t3, $t4, .L809E13A8
|
||||
/* 01158 809E1398 920D0249 */ lbu $t5, 0x0249($s0) ## 00000249
|
||||
/* 0115C 809E139C 0C0175E7 */ jal CollisionCheck_SetAT
|
||||
## CollisionCheck_setAT
|
||||
/* 01160 809E13A0 26060238 */ addiu $a2, $s0, 0x0238 ## $a2 = 00000238
|
||||
/* 01164 809E13A4 920D0249 */ lbu $t5, 0x0249($s0) ## 00000249
|
||||
.L809E13A8:
|
||||
/* 01168 809E13A8 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 0116C 809E13AC 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 01170 809E13B0 31B90001 */ andi $t9, $t5, 0x0001 ## $t9 = 00000000
|
||||
/* 01174 809E13B4 13200004 */ beq $t9, $zero, .L809E13C8
|
||||
/* 01178 809E13B8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 0117C 809E13BC 02212821 */ addu $a1, $s1, $at
|
||||
/* 01180 809E13C0 0C01767D */ jal CollisionCheck_SetAC
|
||||
## CollisionCheck_setAC
|
||||
/* 01184 809E13C4 26060238 */ addiu $a2, $s0, 0x0238 ## $a2 = 00000238
|
||||
.L809E13C8:
|
||||
/* 01188 809E13C8 8FAE002C */ lw $t6, 0x002C($sp)
|
||||
/* 0118C 809E13CC 8E0F01C0 */ lw $t7, 0x01C0($s0) ## 000001C0
|
||||
/* 01190 809E13D0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 01194 809E13D4 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 01198 809E13D8 11CF0004 */ beq $t6, $t7, .L809E13EC
|
||||
/* 0119C 809E13DC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 011A0 809E13E0 02212821 */ addu $a1, $s1, $at
|
||||
/* 011A4 809E13E4 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOT
|
||||
/* 011A8 809E13E8 26060238 */ addiu $a2, $s0, 0x0238 ## $a2 = 00000238
|
||||
.L809E13EC:
|
||||
/* 011AC 809E13EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 011B0 809E13F0 0C00B56E */ jal Actor_SetHeight
|
||||
|
||||
/* 011B4 809E13F4 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 011B8 809E13F8 921800AF */ lbu $t8, 0x00AF($s0) ## 000000AF
|
||||
/* 011BC 809E13FC 2604017C */ addiu $a0, $s0, 0x017C ## $a0 = 0000017C
|
||||
/* 011C0 809E1400 53000008 */ beql $t8, $zero, .L809E1424
|
||||
/* 011C4 809E1404 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 011C8 809E1408 0C0295B2 */ jal func_800A56C8
|
||||
/* 011CC 809E140C 3C054040 */ lui $a1, 0x4040 ## $a1 = 40400000
|
||||
/* 011D0 809E1410 10400003 */ beq $v0, $zero, .L809E1420
|
||||
/* 011D4 809E1414 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 011D8 809E1418 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 011DC 809E141C 24053897 */ addiu $a1, $zero, 0x3897 ## $a1 = 00003897
|
||||
.L809E1420:
|
||||
/* 011E0 809E1420 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L809E1424:
|
||||
/* 011E4 809E1424 8FB0001C */ lw $s0, 0x001C($sp)
|
||||
/* 011E8 809E1428 8FB10020 */ lw $s1, 0x0020($sp)
|
||||
/* 011EC 809E142C 03E00008 */ jr $ra
|
||||
/* 011F0 809E1430 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
|
@ -1,13 +0,0 @@
|
|||
glabel func_809E0354
|
||||
/* 00114 809E0354 908F0249 */ lbu $t7, 0x0249($a0) ## 00000249
|
||||
/* 00118 809E0358 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 0011C 809E035C 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
|
||||
/* 00120 809E0360 3C19809E */ lui $t9, %hi(func_809E0864) ## $t9 = 809E0000
|
||||
/* 00124 809E0364 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064
|
||||
/* 00128 809E0368 27390864 */ addiu $t9, $t9, %lo(func_809E0864) ## $t9 = 809E0864
|
||||
/* 0012C 809E036C 35F80001 */ ori $t8, $t7, 0x0001 ## $t8 = 00000001
|
||||
/* 00130 809E0370 A48E01C4 */ sh $t6, 0x01C4($a0) ## 000001C4
|
||||
/* 00134 809E0374 A0980249 */ sb $t8, 0x0249($a0) ## 00000249
|
||||
/* 00138 809E0378 AC9901C0 */ sw $t9, 0x01C0($a0) ## 000001C0
|
||||
/* 0013C 809E037C 03E00008 */ jr $ra
|
||||
/* 00140 809E0380 E4840198 */ swc1 $f4, 0x0198($a0) ## 00000198
|
|
@ -1,13 +0,0 @@
|
|||
glabel func_809E0384
|
||||
/* 00144 809E0384 3C014080 */ lui $at, 0x4080 ## $at = 40800000
|
||||
/* 00148 809E0388 44812000 */ mtc1 $at, $f4 ## $f4 = 4.00
|
||||
/* 0014C 809E038C 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 00150 809E0390 44813000 */ mtc1 $at, $f6 ## $f6 = 2.00
|
||||
/* 00154 809E0394 3C0F809E */ lui $t7, %hi(func_809E0C8C) ## $t7 = 809E0000
|
||||
/* 00158 809E0398 240E012C */ addiu $t6, $zero, 0x012C ## $t6 = 0000012C
|
||||
/* 0015C 809E039C 25EF0C8C */ addiu $t7, $t7, %lo(func_809E0C8C) ## $t7 = 809E0C8C
|
||||
/* 00160 809E03A0 A48E01C4 */ sh $t6, 0x01C4($a0) ## 000001C4
|
||||
/* 00164 809E03A4 AC8F01C0 */ sw $t7, 0x01C0($a0) ## 000001C0
|
||||
/* 00168 809E03A8 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
|
||||
/* 0016C 809E03AC 03E00008 */ jr $ra
|
||||
/* 00170 809E03B0 E4860198 */ swc1 $f6, 0x0198($a0) ## 00000198
|
|
@ -1,224 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809E16F0
|
||||
.float 0.85
|
||||
|
||||
glabel D_809E16F4
|
||||
.float 0.15
|
||||
|
||||
.text
|
||||
glabel func_809E03B4
|
||||
/* 00174 809E03B4 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68
|
||||
/* 00178 809E03B8 AFB10060 */ sw $s1, 0x0060($sp)
|
||||
/* 0017C 809E03BC 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 00180 809E03C0 AFBF0074 */ sw $ra, 0x0074($sp)
|
||||
/* 00184 809E03C4 AFB50070 */ sw $s5, 0x0070($sp)
|
||||
/* 00188 809E03C8 AFB4006C */ sw $s4, 0x006C($sp)
|
||||
/* 0018C 809E03CC AFB30068 */ sw $s3, 0x0068($sp)
|
||||
/* 00190 809E03D0 AFB20064 */ sw $s2, 0x0064($sp)
|
||||
/* 00194 809E03D4 AFB0005C */ sw $s0, 0x005C($sp)
|
||||
/* 00198 809E03D8 F7BC0050 */ sdc1 $f28, 0x0050($sp)
|
||||
/* 0019C 809E03DC F7BA0048 */ sdc1 $f26, 0x0048($sp)
|
||||
/* 001A0 809E03E0 F7B80040 */ sdc1 $f24, 0x0040($sp)
|
||||
/* 001A4 809E03E4 F7B60038 */ sdc1 $f22, 0x0038($sp)
|
||||
/* 001A8 809E03E8 F7B40030 */ sdc1 $f20, 0x0030($sp)
|
||||
/* 001AC 809E03EC 00A0A825 */ or $s5, $a1, $zero ## $s5 = 00000000
|
||||
/* 001B0 809E03F0 0C01DE0D */ jal Math_Coss
|
||||
## coss?
|
||||
/* 001B4 809E03F4 84840030 */ lh $a0, 0x0030($a0) ## 00000030
|
||||
/* 001B8 809E03F8 C6240068 */ lwc1 $f4, 0x0068($s1) ## 00000068
|
||||
/* 001BC 809E03FC 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 001C0 809E0400 3C01C040 */ lui $at, 0xC040 ## $at = C0400000
|
||||
/* 001C4 809E0404 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 001C8 809E0408 44814000 */ mtc1 $at, $f8 ## $f8 = -3.00
|
||||
/* 001CC 809E040C E6220060 */ swc1 $f2, 0x0060($s1) ## 00000060
|
||||
/* 001D0 809E0410 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 001D4 809E0414 3C063ECC */ lui $a2, 0x3ECC ## $a2 = 3ECC0000
|
||||
/* 001D8 809E0418 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 001DC 809E041C 44071000 */ mfc1 $a3, $f2
|
||||
/* 001E0 809E0420 E6260068 */ swc1 $f6, 0x0068($s1) ## 00000068
|
||||
/* 001E4 809E0424 AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 001E8 809E0428 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3ECCCCCD
|
||||
/* 001EC 809E042C 24A500F0 */ addiu $a1, $a1, 0x00F0 ## $a1 = 060000F0
|
||||
/* 001F0 809E0430 2624017C */ addiu $a0, $s1, 0x017C ## $a0 = 0000017C
|
||||
/* 001F4 809E0434 E7A20010 */ swc1 $f2, 0x0010($sp)
|
||||
/* 001F8 809E0438 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 001FC 809E043C E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
/* 00200 809E0440 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 00204 809E0444 44818000 */ mtc1 $at, $f16 ## $f16 = 100.00
|
||||
/* 00208 809E0448 C62A0050 */ lwc1 $f10, 0x0050($s1) ## 00000050
|
||||
/* 0020C 809E044C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00210 809E0450 44812000 */ mtc1 $at, $f4 ## $f4 = 20.00
|
||||
/* 00214 809E0454 46105602 */ mul.s $f24, $f10, $f16
|
||||
/* 00218 809E0458 C6320028 */ lwc1 $f18, 0x0028($s1) ## 00000028
|
||||
/* 0021C 809E045C 962F0088 */ lhu $t7, 0x0088($s1) ## 00000088
|
||||
/* 00220 809E0460 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00224 809E0464 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00228 809E0468 31F8FFFE */ andi $t8, $t7, 0xFFFE ## $t8 = 00000000
|
||||
/* 0022C 809E046C A6380088 */ sh $t8, 0x0088($s1) ## 00000088
|
||||
/* 00230 809E0470 46182182 */ mul.s $f6, $f4, $f24
|
||||
/* 00234 809E0474 240538EB */ addiu $a1, $zero, 0x38EB ## $a1 = 000038EB
|
||||
/* 00238 809E0478 E62000BC */ swc1 $f0, 0x00BC($s1) ## 000000BC
|
||||
/* 0023C 809E047C E620004C */ swc1 $f0, 0x004C($s1) ## 0000004C
|
||||
/* 00240 809E0480 46069200 */ add.s $f8, $f18, $f6
|
||||
/* 00244 809E0484 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00248 809E0488 E6280028 */ swc1 $f8, 0x0028($s1) ## 00000028
|
||||
/* 0024C 809E048C 922200B1 */ lbu $v0, 0x00B1($s1) ## 000000B1
|
||||
/* 00250 809E0490 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 00254 809E0494 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00258 809E0498 14410048 */ bne $v0, $at, .L809E05BC
|
||||
/* 0025C 809E049C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00260 809E04A0 24190028 */ addiu $t9, $zero, 0x0028 ## $t9 = 00000028
|
||||
/* 00264 809E04A4 AFB90010 */ sw $t9, 0x0010($sp)
|
||||
/* 00268 809E04A8 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
|
||||
/* 0026C 809E04AC 0C00D09B */ jal func_8003426C
|
||||
/* 00270 809E04B0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00274 809E04B4 3C01809E */ lui $at, %hi(D_809E16F0) ## $at = 809E0000
|
||||
/* 00278 809E04B8 C43C16F0 */ lwc1 $f28, %lo(D_809E16F0)($at)
|
||||
/* 0027C 809E04BC 3C01809E */ lui $at, %hi(D_809E16F4) ## $at = 809E0000
|
||||
/* 00280 809E04C0 C43A16F4 */ lwc1 $f26, %lo(D_809E16F4)($at)
|
||||
/* 00284 809E04C4 3C01C0E0 */ lui $at, 0xC0E0 ## $at = C0E00000
|
||||
/* 00288 809E04C8 4481B000 */ mtc1 $at, $f22 ## $f22 = -7.00
|
||||
/* 0028C 809E04CC 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
|
||||
/* 00290 809E04D0 4481A000 */ mtc1 $at, $f20 ## $f20 = 7.00
|
||||
/* 00294 809E04D4 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 00298 809E04D8 24130008 */ addiu $s3, $zero, 0x0008 ## $s3 = 00000008
|
||||
/* 0029C 809E04DC 27B20084 */ addiu $s2, $sp, 0x0084 ## $s2 = FFFFFFEC
|
||||
/* 002A0 809E04E0 32080001 */ andi $t0, $s0, 0x0001 ## $t0 = 00000000
|
||||
.L809E04E4:
|
||||
/* 002A4 809E04E4 51000004 */ beql $t0, $zero, .L809E04F8
|
||||
/* 002A8 809E04E8 4600B006 */ mov.s $f0, $f22
|
||||
/* 002AC 809E04EC 10000002 */ beq $zero, $zero, .L809E04F8
|
||||
/* 002B0 809E04F0 4600A006 */ mov.s $f0, $f20
|
||||
/* 002B4 809E04F4 4600B006 */ mov.s $f0, $f22
|
||||
.L809E04F8:
|
||||
/* 002B8 809E04F8 46180282 */ mul.s $f10, $f0, $f24
|
||||
/* 002BC 809E04FC C6300024 */ lwc1 $f16, 0x0024($s1) ## 00000024
|
||||
/* 002C0 809E0500 32090002 */ andi $t1, $s0, 0x0002 ## $t1 = 00000000
|
||||
/* 002C4 809E0504 46105100 */ add.s $f4, $f10, $f16
|
||||
/* 002C8 809E0508 11200003 */ beq $t1, $zero, .L809E0518
|
||||
/* 002CC 809E050C E7A40084 */ swc1 $f4, 0x0084($sp)
|
||||
/* 002D0 809E0510 10000002 */ beq $zero, $zero, .L809E051C
|
||||
/* 002D4 809E0514 4600A006 */ mov.s $f0, $f20
|
||||
.L809E0518:
|
||||
/* 002D8 809E0518 4600B006 */ mov.s $f0, $f22
|
||||
.L809E051C:
|
||||
/* 002DC 809E051C 46180482 */ mul.s $f18, $f0, $f24
|
||||
/* 002E0 809E0520 C6260028 */ lwc1 $f6, 0x0028($s1) ## 00000028
|
||||
/* 002E4 809E0524 320A0004 */ andi $t2, $s0, 0x0004 ## $t2 = 00000000
|
||||
/* 002E8 809E0528 46069200 */ add.s $f8, $f18, $f6
|
||||
/* 002EC 809E052C 11400003 */ beq $t2, $zero, .L809E053C
|
||||
/* 002F0 809E0530 E7A80088 */ swc1 $f8, 0x0088($sp)
|
||||
/* 002F4 809E0534 10000002 */ beq $zero, $zero, .L809E0540
|
||||
/* 002F8 809E0538 4600A006 */ mov.s $f0, $f20
|
||||
.L809E053C:
|
||||
/* 002FC 809E053C 4600B006 */ mov.s $f0, $f22
|
||||
.L809E0540:
|
||||
/* 00300 809E0540 46180282 */ mul.s $f10, $f0, $f24
|
||||
/* 00304 809E0544 C630002C */ lwc1 $f16, 0x002C($s1) ## 0000002C
|
||||
/* 00308 809E0548 46105100 */ add.s $f4, $f10, $f16
|
||||
/* 0030C 809E054C 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00310 809E0550 E7A4008C */ swc1 $f4, 0x008C($sp)
|
||||
/* 00314 809E0554 461A0482 */ mul.s $f18, $f0, $f26
|
||||
/* 00318 809E0558 240B0096 */ addiu $t3, $zero, 0x0096 ## $t3 = 00000096
|
||||
/* 0031C 809E055C 240C0096 */ addiu $t4, $zero, 0x0096 ## $t4 = 00000096
|
||||
/* 00320 809E0560 240D00FA */ addiu $t5, $zero, 0x00FA ## $t5 = 000000FA
|
||||
/* 00324 809E0564 240E00EB */ addiu $t6, $zero, 0x00EB ## $t6 = 000000EB
|
||||
/* 00328 809E0568 240F00F5 */ addiu $t7, $zero, 0x00F5 ## $t7 = 000000F5
|
||||
/* 0032C 809E056C 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
|
||||
/* 00330 809E0570 461C9180 */ add.s $f6, $f18, $f28
|
||||
/* 00334 809E0574 AFB80024 */ sw $t8, 0x0024($sp)
|
||||
/* 00338 809E0578 AFAF0020 */ sw $t7, 0x0020($sp)
|
||||
/* 0033C 809E057C AFAE001C */ sw $t6, 0x001C($sp)
|
||||
/* 00340 809E0580 46183202 */ mul.s $f8, $f6, $f24
|
||||
/* 00344 809E0584 AFAD0018 */ sw $t5, 0x0018($sp)
|
||||
/* 00348 809E0588 AFAC0014 */ sw $t4, 0x0014($sp)
|
||||
/* 0034C 809E058C AFAB0010 */ sw $t3, 0x0010($sp)
|
||||
/* 00350 809E0590 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000
|
||||
/* 00354 809E0594 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00358 809E0598 02403025 */ or $a2, $s2, $zero ## $a2 = FFFFFFEC
|
||||
/* 0035C 809E059C E7A80028 */ swc1 $f8, 0x0028($sp)
|
||||
/* 00360 809E05A0 0C00A850 */ jal EffectSsEnIce_SpawnFlyingVec3f
|
||||
/* 00364 809E05A4 24070096 */ addiu $a3, $zero, 0x0096 ## $a3 = 00000096
|
||||
/* 00368 809E05A8 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 0036C 809E05AC 5613FFCD */ bnel $s0, $s3, .L809E04E4
|
||||
/* 00370 809E05B0 32080001 */ andi $t0, $s0, 0x0001 ## $t0 = 00000001
|
||||
/* 00374 809E05B4 1000002B */ beq $zero, $zero, .L809E0664
|
||||
/* 00378 809E05B8 8E220004 */ lw $v0, 0x0004($s1) ## 00000004
|
||||
.L809E05BC:
|
||||
/* 0037C 809E05BC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00380 809E05C0 14410021 */ bne $v0, $at, .L809E0648
|
||||
/* 00384 809E05C4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00388 809E05C8 24190028 */ addiu $t9, $zero, 0x0028 ## $t9 = 00000028
|
||||
/* 0038C 809E05CC AFB90010 */ sw $t9, 0x0010($sp)
|
||||
/* 00390 809E05D0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00394 809E05D4 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
|
||||
/* 00398 809E05D8 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
|
||||
/* 0039C 809E05DC 0C00D09B */ jal func_8003426C
|
||||
/* 003A0 809E05E0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 003A4 809E05E4 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 003A8 809E05E8 44815000 */ mtc1 $at, $f10 ## $f10 = 50.00
|
||||
/* 003AC 809E05EC 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 003B0 809E05F0 26320024 */ addiu $s2, $s1, 0x0024 ## $s2 = 00000024
|
||||
/* 003B4 809E05F4 46185402 */ mul.s $f16, $f10, $f24
|
||||
/* 003B8 809E05F8 24140004 */ addiu $s4, $zero, 0x0004 ## $s4 = 00000004
|
||||
/* 003BC 809E05FC 4600810D */ trunc.w.s $f4, $f16
|
||||
/* 003C0 809E0600 44132000 */ mfc1 $s3, $f4
|
||||
/* 003C4 809E0604 00000000 */ nop
|
||||
/* 003C8 809E0608 00139C00 */ sll $s3, $s3, 16
|
||||
/* 003CC 809E060C 00139C03 */ sra $s3, $s3, 16
|
||||
/* 003D0 809E0610 00133C00 */ sll $a3, $s3, 16
|
||||
.L809E0614:
|
||||
/* 003D4 809E0614 00073C03 */ sra $a3, $a3, 16
|
||||
/* 003D8 809E0618 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000
|
||||
/* 003DC 809E061C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 003E0 809E0620 02403025 */ or $a2, $s2, $zero ## $a2 = 00000024
|
||||
/* 003E4 809E0624 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 003E8 809E0628 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 003EC 809E062C 0C00A935 */ jal EffectSsEnFire_SpawnVec3f
|
||||
/* 003F0 809E0630 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 003F4 809E0634 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 003F8 809E0638 5614FFF6 */ bnel $s0, $s4, .L809E0614
|
||||
/* 003FC 809E063C 00133C00 */ sll $a3, $s3, 16
|
||||
/* 00400 809E0640 10000008 */ beq $zero, $zero, .L809E0664
|
||||
/* 00404 809E0644 8E220004 */ lw $v0, 0x0004($s1) ## 00000004
|
||||
.L809E0648:
|
||||
/* 00408 809E0648 24090028 */ addiu $t1, $zero, 0x0028 ## $t1 = 00000028
|
||||
/* 0040C 809E064C AFA90010 */ sw $t1, 0x0010($sp)
|
||||
/* 00410 809E0650 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
|
||||
/* 00414 809E0654 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
|
||||
/* 00418 809E0658 0C00D09B */ jal func_8003426C
|
||||
/* 0041C 809E065C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00420 809E0660 8E220004 */ lw $v0, 0x0004($s1) ## 00000004
|
||||
.L809E0664:
|
||||
/* 00424 809E0664 3C0E809E */ lui $t6, %hi(func_809E0E2C) ## $t6 = 809E0000
|
||||
/* 00428 809E0668 25CE0E2C */ addiu $t6, $t6, %lo(func_809E0E2C) ## $t6 = 809E0E2C
|
||||
/* 0042C 809E066C 304A8000 */ andi $t2, $v0, 0x8000 ## $t2 = 00000000
|
||||
/* 00430 809E0670 51400005 */ beql $t2, $zero, .L809E0688
|
||||
/* 00434 809E0674 922B0249 */ lbu $t3, 0x0249($s1) ## 00000249
|
||||
/* 00438 809E0678 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
|
||||
/* 0043C 809E067C 8E220004 */ lw $v0, 0x0004($s1) ## 00000004
|
||||
/* 00440 809E0680 E6320068 */ swc1 $f18, 0x0068($s1) ## 00000068
|
||||
/* 00444 809E0684 922B0249 */ lbu $t3, 0x0249($s1) ## 00000249
|
||||
.L809E0688:
|
||||
/* 00448 809E0688 344D0010 */ ori $t5, $v0, 0x0010 ## $t5 = 00000010
|
||||
/* 0044C 809E068C AE2D0004 */ sw $t5, 0x0004($s1) ## 00000004
|
||||
/* 00450 809E0690 316CFFFE */ andi $t4, $t3, 0xFFFE ## $t4 = 00000000
|
||||
/* 00454 809E0694 A22C0249 */ sb $t4, 0x0249($s1) ## 00000249
|
||||
/* 00458 809E0698 AE2E01C0 */ sw $t6, 0x01C0($s1) ## 000001C0
|
||||
/* 0045C 809E069C 8FBF0074 */ lw $ra, 0x0074($sp)
|
||||
/* 00460 809E06A0 8FB50070 */ lw $s5, 0x0070($sp)
|
||||
/* 00464 809E06A4 8FB4006C */ lw $s4, 0x006C($sp)
|
||||
/* 00468 809E06A8 8FB30068 */ lw $s3, 0x0068($sp)
|
||||
/* 0046C 809E06AC 8FB20064 */ lw $s2, 0x0064($sp)
|
||||
/* 00470 809E06B0 8FB10060 */ lw $s1, 0x0060($sp)
|
||||
/* 00474 809E06B4 8FB0005C */ lw $s0, 0x005C($sp)
|
||||
/* 00478 809E06B8 D7BC0050 */ ldc1 $f28, 0x0050($sp)
|
||||
/* 0047C 809E06BC D7BA0048 */ ldc1 $f26, 0x0048($sp)
|
||||
/* 00480 809E06C0 D7B80040 */ ldc1 $f24, 0x0040($sp)
|
||||
/* 00484 809E06C4 D7B60038 */ ldc1 $f22, 0x0038($sp)
|
||||
/* 00488 809E06C8 D7B40030 */ ldc1 $f20, 0x0030($sp)
|
||||
/* 0048C 809E06CC 03E00008 */ jr $ra
|
||||
/* 00490 809E06D0 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000
|
|
@ -1,6 +0,0 @@
|
|||
glabel func_809E06D4
|
||||
/* 00494 809E06D4 3C0E809E */ lui $t6, %hi(func_809E0F54) ## $t6 = 809E0000
|
||||
/* 00498 809E06D8 25CE0F54 */ addiu $t6, $t6, %lo(func_809E0F54) ## $t6 = 809E0F54
|
||||
/* 0049C 809E06DC A0800114 */ sb $zero, 0x0114($a0) ## 00000114
|
||||
/* 004A0 809E06E0 03E00008 */ jr $ra
|
||||
/* 004A4 809E06E4 AC8E01C0 */ sw $t6, 0x01C0($a0) ## 000001C0
|
|
@ -1,36 +0,0 @@
|
|||
glabel func_809E06E8
|
||||
/* 004A8 809E06E8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 004AC 809E06EC AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 004B0 809E06F0 8498008A */ lh $t8, 0x008A($a0) ## 0000008A
|
||||
/* 004B4 809E06F4 3C014060 */ lui $at, 0x4060 ## $at = 40600000
|
||||
/* 004B8 809E06F8 44812000 */ mtc1 $at, $f4 ## $f4 = 3.50
|
||||
/* 004BC 809E06FC 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 004C0 809E0700 0301C821 */ addu $t9, $t8, $at
|
||||
/* 004C4 809E0704 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 004C8 809E0708 44813000 */ mtc1 $at, $f6 ## $f6 = 2.00
|
||||
/* 004CC 809E070C 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064
|
||||
/* 004D0 809E0710 240FF000 */ addiu $t7, $zero, 0xF000 ## $t7 = FFFFF000
|
||||
/* 004D4 809E0714 A48E01C4 */ sh $t6, 0x01C4($a0) ## 000001C4
|
||||
/* 004D8 809E0718 A48F01C6 */ sh $t7, 0x01C6($a0) ## 000001C6
|
||||
/* 004DC 809E071C A49901C8 */ sh $t9, 0x01C8($a0) ## 000001C8
|
||||
/* 004E0 809E0720 24080005 */ addiu $t0, $zero, 0x0005 ## $t0 = 00000005
|
||||
/* 004E4 809E0724 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
|
||||
/* 004E8 809E0728 E4860198 */ swc1 $f6, 0x0198($a0) ## 00000198
|
||||
/* 004EC 809E072C AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 004F0 809E0730 AFA80010 */ sw $t0, 0x0010($sp)
|
||||
/* 004F4 809E0734 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 004F8 809E0738 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
|
||||
/* 004FC 809E073C 0C00D09B */ jal func_8003426C
|
||||
/* 00500 809E0740 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00504 809E0744 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 00508 809E0748 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 0050C 809E074C 2405389E */ addiu $a1, $zero, 0x389E ## $a1 = 0000389E
|
||||
/* 00510 809E0750 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 00514 809E0754 3C09809E */ lui $t1, %hi(func_809E1004) ## $t1 = 809E0000
|
||||
/* 00518 809E0758 25291004 */ addiu $t1, $t1, %lo(func_809E1004) ## $t1 = 809E1004
|
||||
/* 0051C 809E075C AC8901C0 */ sw $t1, 0x01C0($a0) ## 000001C0
|
||||
/* 00520 809E0760 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00524 809E0764 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00528 809E0768 03E00008 */ jr $ra
|
||||
/* 0052C 809E076C 00000000 */ nop
|
|
@ -1,70 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809E16F8
|
||||
.float 0.03
|
||||
|
||||
.text
|
||||
glabel func_809E0770
|
||||
/* 00530 809E0770 3C02809E */ lui $v0, %hi(D_809E16C8) ## $v0 = 809E0000
|
||||
/* 00534 809E0774 244216C8 */ addiu $v0, $v0, %lo(D_809E16C8) ## $v0 = 809E16C8
|
||||
/* 00538 809E0778 8C4E0000 */ lw $t6, 0x0000($v0) ## 809E16C8
|
||||
/* 0053C 809E077C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00540 809E0780 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
|
||||
/* 00544 809E0784 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00548 809E0788 15C10015 */ bne $t6, $at, .L809E07E0
|
||||
/* 0054C 809E078C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00550 809E0790 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
||||
/* 00554 809E0794 A48F001C */ sh $t7, 0x001C($a0) ## 0000001C
|
||||
/* 00558 809E0798 AC400000 */ sw $zero, 0x0000($v0) ## 809E16C8
|
||||
/* 0055C 809E079C 3C18809E */ lui $t8, %hi(D_809E169C) ## $t8 = 809E0000
|
||||
/* 00560 809E07A0 8F18169C */ lw $t8, %lo(D_809E169C)($t8)
|
||||
/* 00564 809E07A4 3C01809E */ lui $at, %hi(D_809E16F8) ## $at = 809E0000
|
||||
/* 00568 809E07A8 C42816F8 */ lwc1 $f8, %lo(D_809E16F8)($at)
|
||||
/* 0056C 809E07AC 87190020 */ lh $t9, 0x0020($t8) ## 809E0020
|
||||
/* 00570 809E07B0 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 00574 809E07B4 44818000 */ mtc1 $at, $f16 ## $f16 = 100.00
|
||||
/* 00578 809E07B8 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00
|
||||
/* 0057C 809E07BC 8C8A0254 */ lw $t2, 0x0254($a0) ## 00000254
|
||||
/* 00580 809E07C0 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00584 809E07C4 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 00588 809E07C8 00000000 */ nop
|
||||
/* 0058C 809E07CC 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 00590 809E07D0 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 00594 809E07D4 44092000 */ mfc1 $t1, $f4
|
||||
/* 00598 809E07D8 10000007 */ beq $zero, $zero, .L809E07F8
|
||||
/* 0059C 809E07DC A5490036 */ sh $t1, 0x0036($t2) ## 00000036
|
||||
.L809E07E0:
|
||||
/* 005A0 809E07E0 A4C0001C */ sh $zero, 0x001C($a2) ## 0000001C
|
||||
/* 005A4 809E07E4 3C0B809E */ lui $t3, %hi(D_809E169C) ## $t3 = 809E0000
|
||||
/* 005A8 809E07E8 8D6B169C */ lw $t3, %lo(D_809E169C)($t3)
|
||||
/* 005AC 809E07EC 8CCD0254 */ lw $t5, 0x0254($a2) ## 00000254
|
||||
/* 005B0 809E07F0 856C0020 */ lh $t4, 0x0020($t3) ## 809E0020
|
||||
/* 005B4 809E07F4 A5AC0036 */ sh $t4, 0x0036($t5) ## 00000036
|
||||
.L809E07F8:
|
||||
/* 005B8 809E07F8 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 005BC 809E07FC 24A500F0 */ addiu $a1, $a1, 0x00F0 ## $a1 = 060000F0
|
||||
/* 005C0 809E0800 24C4017C */ addiu $a0, $a2, 0x017C ## $a0 = 0000017C
|
||||
/* 005C4 809E0804 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
|
||||
/* 005C8 809E0808 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 005CC 809E080C 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 005D0 809E0810 24C40024 */ addiu $a0, $a2, 0x0024 ## $a0 = 00000024
|
||||
/* 005D4 809E0814 0C01DF90 */ jal Math_Vec3f_Copy
|
||||
## Vec3f_Copy
|
||||
/* 005D8 809E0818 24C50008 */ addiu $a1, $a2, 0x0008 ## $a1 = 00000008
|
||||
/* 005DC 809E081C 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 005E0 809E0820 3C0144FA */ lui $at, 0x44FA ## $at = 44FA0000
|
||||
/* 005E4 809E0824 44813000 */ mtc1 $at, $f6 ## $f6 = 2000.00
|
||||
/* 005E8 809E0828 44814000 */ mtc1 $at, $f8 ## $f8 = 2000.00
|
||||
/* 005EC 809E082C 3C0F809E */ lui $t7, %hi(func_809E10A8) ## $t7 = 809E0000
|
||||
/* 005F0 809E0830 240E012C */ addiu $t6, $zero, 0x012C ## $t6 = 0000012C
|
||||
/* 005F4 809E0834 25EF10A8 */ addiu $t7, $t7, %lo(func_809E10A8) ## $t7 = 809E10A8
|
||||
/* 005F8 809E0838 A4C000B4 */ sh $zero, 0x00B4($a2) ## 000000B4
|
||||
/* 005FC 809E083C A4C000B8 */ sh $zero, 0x00B8($a2) ## 000000B8
|
||||
/* 00600 809E0840 A4CE01C4 */ sh $t6, 0x01C4($a2) ## 000001C4
|
||||
/* 00604 809E0844 ACC00134 */ sw $zero, 0x0134($a2) ## 00000134
|
||||
/* 00608 809E0848 ACCF01C0 */ sw $t7, 0x01C0($a2) ## 000001C0
|
||||
/* 0060C 809E084C E4C600BC */ swc1 $f6, 0x00BC($a2) ## 000000BC
|
||||
/* 00610 809E0850 E4C8004C */ swc1 $f8, 0x004C($a2) ## 0000004C
|
||||
/* 00614 809E0854 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00618 809E0858 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 0061C 809E085C 03E00008 */ jr $ra
|
||||
/* 00620 809E0860 00000000 */ nop
|
|
@ -1,309 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809E16FC
|
||||
.float 0.1
|
||||
|
||||
glabel D_809E1700
|
||||
.float 0.1
|
||||
|
||||
.text
|
||||
glabel func_809E0864
|
||||
/* 00624 809E0864 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 00628 809E0868 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 0062C 809E086C AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00630 809E0870 AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 00634 809E0874 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
|
||||
/* 00638 809E0878 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0063C 809E087C 2484017C */ addiu $a0, $a0, 0x017C ## $a0 = 0000017C
|
||||
/* 00640 809E0880 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 00644 809E0884 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 00648 809E0888 AFAF003C */ sw $t7, 0x003C($sp)
|
||||
/* 0064C 809E088C 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 00650 809E0890 0C0295B2 */ jal func_800A56C8
|
||||
/* 00654 809E0894 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 00658 809E0898 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 0065C 809E089C AFA20038 */ sw $v0, 0x0038($sp)
|
||||
/* 00660 809E08A0 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
|
||||
/* 00664 809E08A4 44812000 */ mtc1 $at, $f4 ## $f4 = 1.50
|
||||
/* 00668 809E08A8 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 0066C 809E08AC 44814000 */ mtc1 $at, $f8 ## $f8 = 3.00
|
||||
/* 00670 809E08B0 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 00674 809E08B4 96180088 */ lhu $t8, 0x0088($s0) ## 00000088
|
||||
/* 00678 809E08B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0067C 809E08BC 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
|
||||
/* 00680 809E08C0 33190008 */ andi $t9, $t8, 0x0008 ## $t9 = 00000000
|
||||
/* 00684 809E08C4 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 00688 809E08C8 13200004 */ beq $t9, $zero, .L809E08DC
|
||||
/* 0068C 809E08CC E60A0068 */ swc1 $f10, 0x0068($s0) ## 00000068
|
||||
/* 00690 809E08D0 8608007E */ lh $t0, 0x007E($s0) ## 0000007E
|
||||
/* 00694 809E08D4 1000000D */ beq $zero, $zero, .L809E090C
|
||||
/* 00698 809E08D8 A60801C8 */ sh $t0, 0x01C8($s0) ## 000001C8
|
||||
.L809E08DC:
|
||||
/* 0069C 809E08DC 0C00B6EC */ jal func_8002DBB0
|
||||
/* 006A0 809E08E0 AFA50028 */ sw $a1, 0x0028($sp)
|
||||
/* 006A4 809E08E4 3C014396 */ lui $at, 0x4396 ## $at = 43960000
|
||||
/* 006A8 809E08E8 44818000 */ mtc1 $at, $f16 ## $f16 = 300.00
|
||||
/* 006AC 809E08EC 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 006B0 809E08F0 4600803C */ c.lt.s $f16, $f0
|
||||
/* 006B4 809E08F4 00000000 */ nop
|
||||
/* 006B8 809E08F8 45020005 */ bc1fl .L809E0910
|
||||
/* 006BC 809E08FC 860501C8 */ lh $a1, 0x01C8($s0) ## 000001C8
|
||||
/* 006C0 809E0900 0C00B6B0 */ jal func_8002DAC0
|
||||
/* 006C4 809E0904 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 006C8 809E0908 A60201C8 */ sh $v0, 0x01C8($s0) ## 000001C8
|
||||
.L809E090C:
|
||||
/* 006CC 809E090C 860501C8 */ lh $a1, 0x01C8($s0) ## 000001C8
|
||||
.L809E0910:
|
||||
/* 006D0 809E0910 24090010 */ addiu $t1, $zero, 0x0010 ## $t1 = 00000010
|
||||
/* 006D4 809E0914 AFA90010 */ sw $t1, 0x0010($sp)
|
||||
/* 006D8 809E0918 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
|
||||
/* 006DC 809E091C 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
|
||||
/* 006E0 809E0920 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 006E4 809E0924 24070300 */ addiu $a3, $zero, 0x0300 ## $a3 = 00000300
|
||||
/* 006E8 809E0928 14400035 */ bne $v0, $zero, .L809E0A00
|
||||
/* 006EC 809E092C 8FAA0038 */ lw $t2, 0x0038($sp)
|
||||
/* 006F0 809E0930 51400034 */ beql $t2, $zero, .L809E0A04
|
||||
/* 006F4 809E0934 3C01C220 */ lui $at, 0xC220 ## $at = C2200000
|
||||
/* 006F8 809E0938 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 006FC 809E093C 00000000 */ nop
|
||||
/* 00700 809E0940 3C01809E */ lui $at, %hi(D_809E16FC) ## $at = 809E0000
|
||||
/* 00704 809E0944 C43216FC */ lwc1 $f18, %lo(D_809E16FC)($at)
|
||||
/* 00708 809E0948 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0070C 809E094C 4612003C */ c.lt.s $f0, $f18
|
||||
/* 00710 809E0950 00000000 */ nop
|
||||
/* 00714 809E0954 4502002B */ bc1fl .L809E0A04
|
||||
/* 00718 809E0958 3C01C220 */ lui $at, 0xC220 ## $at = C2200000
|
||||
/* 0071C 809E095C 0C00B6B0 */ jal func_8002DAC0
|
||||
/* 00720 809E0960 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
|
||||
/* 00724 809E0964 860B00B6 */ lh $t3, 0x00B6($s0) ## 000000B6
|
||||
/* 00728 809E0968 004B1823 */ subu $v1, $v0, $t3
|
||||
/* 0072C 809E096C 00031C00 */ sll $v1, $v1, 16
|
||||
/* 00730 809E0970 00031C03 */ sra $v1, $v1, 16
|
||||
/* 00734 809E0974 18600010 */ blez $v1, .L809E09B8
|
||||
/* 00738 809E0978 00000000 */ nop
|
||||
/* 0073C 809E097C 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00740 809E0980 00000000 */ nop
|
||||
/* 00744 809E0984 3C014580 */ lui $at, 0x4580 ## $at = 45800000
|
||||
/* 00748 809E0988 44811000 */ mtc1 $at, $f2 ## $f2 = 4096.00
|
||||
/* 0074C 809E098C 860C01C8 */ lh $t4, 0x01C8($s0) ## 000001C8
|
||||
/* 00750 809E0990 46001202 */ mul.s $f8, $f2, $f0
|
||||
/* 00754 809E0994 448C2000 */ mtc1 $t4, $f4 ## $f4 = 0.00
|
||||
/* 00758 809E0998 00000000 */ nop
|
||||
/* 0075C 809E099C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00760 809E09A0 46081280 */ add.s $f10, $f2, $f8
|
||||
/* 00764 809E09A4 460A3400 */ add.s $f16, $f6, $f10
|
||||
/* 00768 809E09A8 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 0076C 809E09AC 440E9000 */ mfc1 $t6, $f18
|
||||
/* 00770 809E09B0 10000010 */ beq $zero, $zero, .L809E09F4
|
||||
/* 00774 809E09B4 A60E01C8 */ sh $t6, 0x01C8($s0) ## 000001C8
|
||||
.L809E09B8:
|
||||
/* 00778 809E09B8 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 0077C 809E09BC 00000000 */ nop
|
||||
/* 00780 809E09C0 3C014580 */ lui $at, 0x4580 ## $at = 45800000
|
||||
/* 00784 809E09C4 44811000 */ mtc1 $at, $f2 ## $f2 = 4096.00
|
||||
/* 00788 809E09C8 860F01C8 */ lh $t7, 0x01C8($s0) ## 000001C8
|
||||
/* 0078C 809E09CC 46001182 */ mul.s $f6, $f2, $f0
|
||||
/* 00790 809E09D0 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
|
||||
/* 00794 809E09D4 00000000 */ nop
|
||||
/* 00798 809E09D8 46802220 */ cvt.s.w $f8, $f4
|
||||
/* 0079C 809E09DC 46061280 */ add.s $f10, $f2, $f6
|
||||
/* 007A0 809E09E0 460A4401 */ sub.s $f16, $f8, $f10
|
||||
/* 007A4 809E09E4 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 007A8 809E09E8 44199000 */ mfc1 $t9, $f18
|
||||
/* 007AC 809E09EC 00000000 */ nop
|
||||
/* 007B0 809E09F0 A61901C8 */ sh $t9, 0x01C8($s0) ## 000001C8
|
||||
.L809E09F4:
|
||||
/* 007B4 809E09F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 007B8 809E09F8 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 007BC 809E09FC 240538B6 */ addiu $a1, $zero, 0x38B6 ## $a1 = 000038B6
|
||||
.L809E0A00:
|
||||
/* 007C0 809E0A00 3C01C220 */ lui $at, 0xC220 ## $at = C2200000
|
||||
.L809E0A04:
|
||||
/* 007C4 809E0A04 44812000 */ mtc1 $at, $f4 ## $f4 = -40.00
|
||||
/* 007C8 809E0A08 C6060084 */ lwc1 $f6, 0x0084($s0) ## 00000084
|
||||
/* 007CC 809E0A0C 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 007D0 809E0A10 2408F000 */ addiu $t0, $zero, 0xF000 ## $t0 = FFFFF000
|
||||
/* 007D4 809E0A14 4606203C */ c.lt.s $f4, $f6
|
||||
/* 007D8 809E0A18 00000000 */ nop
|
||||
/* 007DC 809E0A1C 45020004 */ bc1fl .L809E0A30
|
||||
/* 007E0 809E0A20 44816000 */ mtc1 $at, $f12 ## $f12 = 50.00
|
||||
/* 007E4 809E0A24 10000025 */ beq $zero, $zero, .L809E0ABC
|
||||
/* 007E8 809E0A28 A60801C6 */ sh $t0, 0x01C6($s0) ## 000001C6
|
||||
/* 007EC 809E0A2C 44816000 */ mtc1 $at, $f12 ## $f12 = 50.00
|
||||
.L809E0A30:
|
||||
/* 007F0 809E0A30 C602000C */ lwc1 $f2, 0x000C($s0) ## 0000000C
|
||||
/* 007F4 809E0A34 C6000028 */ lwc1 $f0, 0x0028($s0) ## 00000028
|
||||
/* 007F8 809E0A38 460C1201 */ sub.s $f8, $f2, $f12
|
||||
/* 007FC 809E0A3C 4608003C */ c.lt.s $f0, $f8
|
||||
/* 00800 809E0A40 00000000 */ nop
|
||||
/* 00804 809E0A44 4502000E */ bc1fl .L809E0A80
|
||||
/* 00808 809E0A48 460C1180 */ add.s $f6, $f2, $f12
|
||||
/* 0080C 809E0A4C 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00810 809E0A50 00000000 */ nop
|
||||
/* 00814 809E0A54 3C014500 */ lui $at, 0x4500 ## $at = 45000000
|
||||
/* 00818 809E0A58 44811000 */ mtc1 $at, $f2 ## $f2 = 2048.00
|
||||
/* 0081C 809E0A5C 3C01C500 */ lui $at, 0xC500 ## $at = C5000000
|
||||
/* 00820 809E0A60 44815000 */ mtc1 $at, $f10 ## $f10 = -2048.00
|
||||
/* 00824 809E0A64 46020402 */ mul.s $f16, $f0, $f2
|
||||
/* 00828 809E0A68 46105481 */ sub.s $f18, $f10, $f16
|
||||
/* 0082C 809E0A6C 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 00830 809E0A70 440A2000 */ mfc1 $t2, $f4
|
||||
/* 00834 809E0A74 10000011 */ beq $zero, $zero, .L809E0ABC
|
||||
/* 00838 809E0A78 A60A01C6 */ sh $t2, 0x01C6($s0) ## 000001C6
|
||||
/* 0083C 809E0A7C 460C1180 */ add.s $f6, $f2, $f12
|
||||
.L809E0A80:
|
||||
/* 00840 809E0A80 4600303C */ c.lt.s $f6, $f0
|
||||
/* 00844 809E0A84 00000000 */ nop
|
||||
/* 00848 809E0A88 4502000D */ bc1fl .L809E0AC0
|
||||
/* 0084C 809E0A8C 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 00850 809E0A90 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00854 809E0A94 00000000 */ nop
|
||||
/* 00858 809E0A98 3C014500 */ lui $at, 0x4500 ## $at = 45000000
|
||||
/* 0085C 809E0A9C 44811000 */ mtc1 $at, $f2 ## $f2 = 2048.00
|
||||
/* 00860 809E0AA0 00000000 */ nop
|
||||
/* 00864 809E0AA4 46020202 */ mul.s $f8, $f0, $f2
|
||||
/* 00868 809E0AA8 46024280 */ add.s $f10, $f8, $f2
|
||||
/* 0086C 809E0AAC 4600540D */ trunc.w.s $f16, $f10
|
||||
/* 00870 809E0AB0 440C8000 */ mfc1 $t4, $f16
|
||||
/* 00874 809E0AB4 00000000 */ nop
|
||||
/* 00878 809E0AB8 A60C01C6 */ sh $t4, 0x01C6($s0) ## 000001C6
|
||||
.L809E0ABC:
|
||||
/* 0087C 809E0ABC 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
|
||||
.L809E0AC0:
|
||||
/* 00880 809E0AC0 860501C6 */ lh $a1, 0x01C6($s0) ## 000001C6
|
||||
/* 00884 809E0AC4 240D0008 */ addiu $t5, $zero, 0x0008 ## $t5 = 00000008
|
||||
/* 00888 809E0AC8 AFAD0010 */ sw $t5, 0x0010($sp)
|
||||
/* 0088C 809E0ACC AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 00890 809E0AD0 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
|
||||
/* 00894 809E0AD4 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 00898 809E0AD8 24070100 */ addiu $a3, $zero, 0x0100 ## $a3 = 00000100
|
||||
/* 0089C 809E0ADC 1440003C */ bne $v0, $zero, .L809E0BD0
|
||||
/* 008A0 809E0AE0 8FAE0038 */ lw $t6, 0x0038($sp)
|
||||
/* 008A4 809E0AE4 51C0003B */ beql $t6, $zero, .L809E0BD4
|
||||
/* 008A8 809E0AE8 960C0088 */ lhu $t4, 0x0088($s0) ## 00000088
|
||||
/* 008AC 809E0AEC 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 008B0 809E0AF0 00000000 */ nop
|
||||
/* 008B4 809E0AF4 3C01809E */ lui $at, %hi(D_809E1700) ## $at = 809E0000
|
||||
/* 008B8 809E0AF8 C4321700 */ lwc1 $f18, %lo(D_809E1700)($at)
|
||||
/* 008BC 809E0AFC 4612003C */ c.lt.s $f0, $f18
|
||||
/* 008C0 809E0B00 00000000 */ nop
|
||||
/* 008C4 809E0B04 45020033 */ bc1fl .L809E0BD4
|
||||
/* 008C8 809E0B08 960C0088 */ lhu $t4, 0x0088($s0) ## 00000088
|
||||
/* 008CC 809E0B0C C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C
|
||||
/* 008D0 809E0B10 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
|
||||
/* 008D4 809E0B14 4606203C */ c.lt.s $f4, $f6
|
||||
/* 008D8 809E0B18 00000000 */ nop
|
||||
/* 008DC 809E0B1C 45000010 */ bc1f .L809E0B60
|
||||
/* 008E0 809E0B20 00000000 */ nop
|
||||
/* 008E4 809E0B24 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 008E8 809E0B28 00000000 */ nop
|
||||
/* 008EC 809E0B2C 3C014480 */ lui $at, 0x4480 ## $at = 44800000
|
||||
/* 008F0 809E0B30 44811000 */ mtc1 $at, $f2 ## $f2 = 1024.00
|
||||
/* 008F4 809E0B34 860F01C6 */ lh $t7, 0x01C6($s0) ## 000001C6
|
||||
/* 008F8 809E0B38 46001402 */ mul.s $f16, $f2, $f0
|
||||
/* 008FC 809E0B3C 448F4000 */ mtc1 $t7, $f8 ## $f8 = 0.00
|
||||
/* 00900 809E0B40 00000000 */ nop
|
||||
/* 00904 809E0B44 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00908 809E0B48 46028480 */ add.s $f18, $f16, $f2
|
||||
/* 0090C 809E0B4C 46125101 */ sub.s $f4, $f10, $f18
|
||||
/* 00910 809E0B50 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00914 809E0B54 44193000 */ mfc1 $t9, $f6
|
||||
/* 00918 809E0B58 10000010 */ beq $zero, $zero, .L809E0B9C
|
||||
/* 0091C 809E0B5C A61901C6 */ sh $t9, 0x01C6($s0) ## 000001C6
|
||||
.L809E0B60:
|
||||
/* 00920 809E0B60 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00924 809E0B64 00000000 */ nop
|
||||
/* 00928 809E0B68 3C014480 */ lui $at, 0x4480 ## $at = 44800000
|
||||
/* 0092C 809E0B6C 44811000 */ mtc1 $at, $f2 ## $f2 = 1024.00
|
||||
/* 00930 809E0B70 860801C6 */ lh $t0, 0x01C6($s0) ## 000001C6
|
||||
/* 00934 809E0B74 46001282 */ mul.s $f10, $f2, $f0
|
||||
/* 00938 809E0B78 44884000 */ mtc1 $t0, $f8 ## $f8 = 0.00
|
||||
/* 0093C 809E0B7C 00000000 */ nop
|
||||
/* 00940 809E0B80 46804420 */ cvt.s.w $f16, $f8
|
||||
/* 00944 809E0B84 46025480 */ add.s $f18, $f10, $f2
|
||||
/* 00948 809E0B88 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 0094C 809E0B8C 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00950 809E0B90 440A3000 */ mfc1 $t2, $f6
|
||||
/* 00954 809E0B94 00000000 */ nop
|
||||
/* 00958 809E0B98 A60A01C6 */ sh $t2, 0x01C6($s0) ## 000001C6
|
||||
.L809E0B9C:
|
||||
/* 0095C 809E0B9C 860201C6 */ lh $v0, 0x01C6($s0) ## 000001C6
|
||||
/* 00960 809E0BA0 240BF000 */ addiu $t3, $zero, 0xF000 ## $t3 = FFFFF000
|
||||
/* 00964 809E0BA4 2841F000 */ slti $at, $v0, 0xF000
|
||||
/* 00968 809E0BA8 50200004 */ beql $at, $zero, .L809E0BBC
|
||||
/* 0096C 809E0BAC 28411001 */ slti $at, $v0, 0x1001
|
||||
/* 00970 809E0BB0 10000007 */ beq $zero, $zero, .L809E0BD0
|
||||
/* 00974 809E0BB4 A60B01C6 */ sh $t3, 0x01C6($s0) ## 000001C6
|
||||
/* 00978 809E0BB8 28411001 */ slti $at, $v0, 0x1001
|
||||
.L809E0BBC:
|
||||
/* 0097C 809E0BBC 14200003 */ bne $at, $zero, .L809E0BCC
|
||||
/* 00980 809E0BC0 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
|
||||
/* 00984 809E0BC4 10000001 */ beq $zero, $zero, .L809E0BCC
|
||||
/* 00988 809E0BC8 24031000 */ addiu $v1, $zero, 0x1000 ## $v1 = 00001000
|
||||
.L809E0BCC:
|
||||
/* 0098C 809E0BCC A60301C6 */ sh $v1, 0x01C6($s0) ## 000001C6
|
||||
.L809E0BD0:
|
||||
/* 00990 809E0BD0 960C0088 */ lhu $t4, 0x0088($s0) ## 00000088
|
||||
.L809E0BD4:
|
||||
/* 00994 809E0BD4 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 00998 809E0BD8 2405FF00 */ addiu $a1, $zero, 0xFF00 ## $a1 = FFFFFF00
|
||||
/* 0099C 809E0BDC 318D0001 */ andi $t5, $t4, 0x0001 ## $t5 = 00000000
|
||||
/* 009A0 809E0BE0 51A00004 */ beql $t5, $zero, .L809E0BF4
|
||||
/* 009A4 809E0BE4 860201C4 */ lh $v0, 0x01C4($s0) ## 000001C4
|
||||
/* 009A8 809E0BE8 0C01DE2B */ jal Math_ApproxUpdateScaledS
|
||||
|
||||
/* 009AC 809E0BEC 24060400 */ addiu $a2, $zero, 0x0400 ## $a2 = 00000400
|
||||
/* 009B0 809E0BF0 860201C4 */ lh $v0, 0x01C4($s0) ## 000001C4
|
||||
.L809E0BF4:
|
||||
/* 009B4 809E0BF4 3C014396 */ lui $at, 0x4396 ## $at = 43960000
|
||||
/* 009B8 809E0BF8 10400003 */ beq $v0, $zero, .L809E0C08
|
||||
/* 009BC 809E0BFC 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 009C0 809E0C00 A60E01C4 */ sh $t6, 0x01C4($s0) ## 000001C4
|
||||
/* 009C4 809E0C04 860201C4 */ lh $v0, 0x01C4($s0) ## 000001C4
|
||||
.L809E0C08:
|
||||
/* 009C8 809E0C08 5440001C */ bnel $v0, $zero, .L809E0C7C
|
||||
/* 009CC 809E0C0C 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 009D0 809E0C10 C6080090 */ lwc1 $f8, 0x0090($s0) ## 00000090
|
||||
/* 009D4 809E0C14 44815000 */ mtc1 $at, $f10 ## $f10 = 300.00
|
||||
/* 009D8 809E0C18 8FAF003C */ lw $t7, 0x003C($sp)
|
||||
/* 009DC 809E0C1C 460A403C */ c.lt.s $f8, $f10
|
||||
/* 009E0 809E0C20 00000000 */ nop
|
||||
/* 009E4 809E0C24 45020015 */ bc1fl .L809E0C7C
|
||||
/* 009E8 809E0C28 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 009EC 809E0C2C 8DF8067C */ lw $t8, 0x067C($t7) ## 0000067C
|
||||
/* 009F0 809E0C30 3C01C220 */ lui $at, 0xC220 ## $at = C2200000
|
||||
/* 009F4 809E0C34 0018CA00 */ sll $t9, $t8, 8
|
||||
/* 009F8 809E0C38 07220010 */ bltzl $t9, .L809E0C7C
|
||||
/* 009FC 809E0C3C 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00A00 809E0C40 C6100084 */ lwc1 $f16, 0x0084($s0) ## 00000084
|
||||
/* 00A04 809E0C44 44819000 */ mtc1 $at, $f18 ## $f18 = -40.00
|
||||
/* 00A08 809E0C48 00000000 */ nop
|
||||
/* 00A0C 809E0C4C 4612803C */ c.lt.s $f16, $f18
|
||||
/* 00A10 809E0C50 00000000 */ nop
|
||||
/* 00A14 809E0C54 45020009 */ bc1fl .L809E0C7C
|
||||
/* 00A18 809E0C58 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00A1C 809E0C5C 0C023C20 */ jal Player_GetMask
|
||||
/* 00A20 809E0C60 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 00A24 809E0C64 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00A28 809E0C68 50410004 */ beql $v0, $at, .L809E0C7C
|
||||
/* 00A2C 809E0C6C 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00A30 809E0C70 0C2780E1 */ jal func_809E0384
|
||||
/* 00A34 809E0C74 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00A38 809E0C78 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L809E0C7C:
|
||||
/* 00A3C 809E0C7C 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00A40 809E0C80 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 00A44 809E0C84 03E00008 */ jr $ra
|
||||
/* 00A48 809E0C88 00000000 */ nop
|
|
@ -1,119 +0,0 @@
|
|||
glabel func_809E0C8C
|
||||
/* 00A4C 809E0C8C 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 00A50 809E0C90 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00A54 809E0C94 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00A58 809E0C98 AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 00A5C 809E0C9C 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
|
||||
/* 00A60 809E0CA0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00A64 809E0CA4 2484017C */ addiu $a0, $a0, 0x017C ## $a0 = 0000017C
|
||||
/* 00A68 809E0CA8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 00A6C 809E0CAC AFAF003C */ sw $t7, 0x003C($sp)
|
||||
/* 00A70 809E0CB0 860301C4 */ lh $v1, 0x01C4($s0) ## 000001C4
|
||||
/* 00A74 809E0CB4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00A78 809E0CB8 10600002 */ beq $v1, $zero, .L809E0CC4
|
||||
/* 00A7C 809E0CBC 2478FFFF */ addiu $t8, $v1, 0xFFFF ## $t8 = FFFFFFFF
|
||||
/* 00A80 809E0CC0 A61801C4 */ sh $t8, 0x01C4($s0) ## 000001C4
|
||||
.L809E0CC4:
|
||||
/* 00A84 809E0CC4 0C00B821 */ jal func_8002E084
|
||||
/* 00A88 809E0CC8 24052800 */ addiu $a1, $zero, 0x2800 ## $a1 = 00002800
|
||||
/* 00A8C 809E0CCC 10400019 */ beq $v0, $zero, .L809E0D34
|
||||
/* 00A90 809E0CD0 AFA20038 */ sw $v0, 0x0038($sp)
|
||||
/* 00A94 809E0CD4 8FA2003C */ lw $v0, 0x003C($sp)
|
||||
/* 00A98 809E0CD8 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00A9C 809E0CDC 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00
|
||||
/* 00AA0 809E0CE0 C4440024 */ lwc1 $f4, 0x0024($v0) ## 00000024
|
||||
/* 00AA4 809E0CE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00AA8 809E0CE8 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFEC
|
||||
/* 00AAC 809E0CEC E7A4002C */ swc1 $f4, 0x002C($sp)
|
||||
/* 00AB0 809E0CF0 C4460028 */ lwc1 $f6, 0x0028($v0) ## 00000028
|
||||
/* 00AB4 809E0CF4 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 00AB8 809E0CF8 E7AA0030 */ swc1 $f10, 0x0030($sp)
|
||||
/* 00ABC 809E0CFC C450002C */ lwc1 $f16, 0x002C($v0) ## 0000002C
|
||||
/* 00AC0 809E0D00 0C00B6CA */ jal func_8002DB28
|
||||
/* 00AC4 809E0D04 E7B00034 */ swc1 $f16, 0x0034($sp)
|
||||
/* 00AC8 809E0D08 00022C00 */ sll $a1, $v0, 16
|
||||
/* 00ACC 809E0D0C 28413001 */ slti $at, $v0, 0x3001
|
||||
/* 00AD0 809E0D10 14200002 */ bne $at, $zero, .L809E0D1C
|
||||
/* 00AD4 809E0D14 00052C03 */ sra $a1, $a1, 16
|
||||
/* 00AD8 809E0D18 24053000 */ addiu $a1, $zero, 0x3000 ## $a1 = 00003000
|
||||
.L809E0D1C:
|
||||
/* 00ADC 809E0D1C 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 00AE0 809E0D20 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
|
||||
/* 00AE4 809E0D24 0C01E1EF */ jal Math_SmoothScaleMaxS
|
||||
|
||||
/* 00AE8 809E0D28 24070400 */ addiu $a3, $zero, 0x0400 ## $a3 = 00000400
|
||||
/* 00AEC 809E0D2C 10000007 */ beq $zero, $zero, .L809E0D4C
|
||||
/* 00AF0 809E0D30 8FB90038 */ lw $t9, 0x0038($sp)
|
||||
.L809E0D34:
|
||||
/* 00AF4 809E0D34 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 00AF8 809E0D38 2405F000 */ addiu $a1, $zero, 0xF000 ## $a1 = FFFFF000
|
||||
/* 00AFC 809E0D3C 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
|
||||
/* 00B00 809E0D40 0C01E1EF */ jal Math_SmoothScaleMaxS
|
||||
|
||||
/* 00B04 809E0D44 24070100 */ addiu $a3, $zero, 0x0100 ## $a3 = 00000100
|
||||
/* 00B08 809E0D48 8FB90038 */ lw $t9, 0x0038($sp)
|
||||
.L809E0D4C:
|
||||
/* 00B0C 809E0D4C 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
|
||||
/* 00B10 809E0D50 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
|
||||
/* 00B14 809E0D54 17200007 */ bne $t9, $zero, .L809E0D74
|
||||
/* 00B18 809E0D58 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
|
||||
/* 00B1C 809E0D5C 44819000 */ mtc1 $at, $f18 ## $f18 = 80.00
|
||||
/* 00B20 809E0D60 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090
|
||||
/* 00B24 809E0D64 4604903C */ c.lt.s $f18, $f4
|
||||
/* 00B28 809E0D68 00000000 */ nop
|
||||
/* 00B2C 809E0D6C 45020005 */ bc1fl .L809E0D84
|
||||
/* 00B30 809E0D70 860801C4 */ lh $t0, 0x01C4($s0) ## 000001C4
|
||||
.L809E0D74:
|
||||
/* 00B34 809E0D74 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
|
||||
/* 00B38 809E0D78 0C01E1EF */ jal Math_SmoothScaleMaxS
|
||||
|
||||
/* 00B3C 809E0D7C 24070C00 */ addiu $a3, $zero, 0x0C00 ## $a3 = 00000C00
|
||||
/* 00B40 809E0D80 860801C4 */ lh $t0, 0x01C4($s0) ## 000001C4
|
||||
.L809E0D84:
|
||||
/* 00B44 809E0D84 5100001B */ beql $t0, $zero, .L809E0DF4
|
||||
/* 00B48 809E0D88 92020248 */ lbu $v0, 0x0248($s0) ## 00000248
|
||||
/* 00B4C 809E0D8C 0C023C20 */ jal Player_GetMask
|
||||
/* 00B50 809E0D90 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 00B54 809E0D94 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00B58 809E0D98 50410016 */ beql $v0, $at, .L809E0DF4
|
||||
/* 00B5C 809E0D9C 92020248 */ lbu $v0, 0x0248($s0) ## 00000248
|
||||
/* 00B60 809E0DA0 92090248 */ lbu $t1, 0x0248($s0) ## 00000248
|
||||
/* 00B64 809E0DA4 312A0002 */ andi $t2, $t1, 0x0002 ## $t2 = 00000000
|
||||
/* 00B68 809E0DA8 55400012 */ bnel $t2, $zero, .L809E0DF4
|
||||
/* 00B6C 809E0DAC 92020248 */ lbu $v0, 0x0248($s0) ## 00000248
|
||||
/* 00B70 809E0DB0 960B0088 */ lhu $t3, 0x0088($s0) ## 00000088
|
||||
/* 00B74 809E0DB4 8FAD003C */ lw $t5, 0x003C($sp)
|
||||
/* 00B78 809E0DB8 316C0009 */ andi $t4, $t3, 0x0009 ## $t4 = 00000000
|
||||
/* 00B7C 809E0DBC 5580000D */ bnel $t4, $zero, .L809E0DF4
|
||||
/* 00B80 809E0DC0 92020248 */ lbu $v0, 0x0248($s0) ## 00000248
|
||||
/* 00B84 809E0DC4 8DAE067C */ lw $t6, 0x067C($t5) ## 0000067C
|
||||
/* 00B88 809E0DC8 3C01C220 */ lui $at, 0xC220 ## $at = C2200000
|
||||
/* 00B8C 809E0DCC 000E7A00 */ sll $t7, $t6, 8
|
||||
/* 00B90 809E0DD0 05E20008 */ bltzl $t7, .L809E0DF4
|
||||
/* 00B94 809E0DD4 92020248 */ lbu $v0, 0x0248($s0) ## 00000248
|
||||
/* 00B98 809E0DD8 44813000 */ mtc1 $at, $f6 ## $f6 = -40.00
|
||||
/* 00B9C 809E0DDC C6080084 */ lwc1 $f8, 0x0084($s0) ## 00000084
|
||||
/* 00BA0 809E0DE0 4608303C */ c.lt.s $f6, $f8
|
||||
/* 00BA4 809E0DE4 00000000 */ nop
|
||||
/* 00BA8 809E0DE8 4502000C */ bc1fl .L809E0E1C
|
||||
/* 00BAC 809E0DEC 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00BB0 809E0DF0 92020248 */ lbu $v0, 0x0248($s0) ## 00000248
|
||||
.L809E0DF4:
|
||||
/* 00BB4 809E0DF4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00BB8 809E0DF8 240538B7 */ addiu $a1, $zero, 0x38B7 ## $a1 = 000038B7
|
||||
/* 00BBC 809E0DFC 30580002 */ andi $t8, $v0, 0x0002 ## $t8 = 00000000
|
||||
/* 00BC0 809E0E00 13000003 */ beq $t8, $zero, .L809E0E10
|
||||
/* 00BC4 809E0E04 3059FFFD */ andi $t9, $v0, 0xFFFD ## $t9 = 00000000
|
||||
/* 00BC8 809E0E08 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00BCC 809E0E0C A2190248 */ sb $t9, 0x0248($s0) ## 00000248
|
||||
.L809E0E10:
|
||||
/* 00BD0 809E0E10 0C2780D5 */ jal func_809E0354
|
||||
/* 00BD4 809E0E14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00BD8 809E0E18 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L809E0E1C:
|
||||
/* 00BDC 809E0E1C 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00BE0 809E0E20 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 00BE4 809E0E24 03E00008 */ jr $ra
|
||||
/* 00BE8 809E0E28 00000000 */ nop
|
|
@ -1,86 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809E1704
|
||||
.float 10000.0
|
||||
|
||||
.text
|
||||
glabel func_809E0E2C
|
||||
/* 00BEC 809E0E2C 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 00BF0 809E0E30 AFB00048 */ sw $s0, 0x0048($sp)
|
||||
/* 00BF4 809E0E34 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00BF8 809E0E38 AFBF004C */ sw $ra, 0x004C($sp)
|
||||
/* 00BFC 809E0E3C AFA50054 */ sw $a1, 0x0054($sp)
|
||||
/* 00C00 809E0E40 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 00C04 809E0E44 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 00000068
|
||||
/* 00C08 809E0E48 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00C0C 809E0E4C 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
|
||||
/* 00C10 809E0E50 8E0F0004 */ lw $t7, 0x0004($s0) ## 00000004
|
||||
/* 00C14 809E0E54 240E0028 */ addiu $t6, $zero, 0x0028 ## $t6 = 00000028
|
||||
/* 00C18 809E0E58 A20E0114 */ sb $t6, 0x0114($s0) ## 00000114
|
||||
/* 00C1C 809E0E5C 31F88000 */ andi $t8, $t7, 0x8000 ## $t8 = 00000000
|
||||
/* 00C20 809E0E60 57000038 */ bnel $t8, $zero, .L809E0F44
|
||||
/* 00C24 809E0E64 8FBF004C */ lw $ra, 0x004C($sp)
|
||||
/* 00C28 809E0E68 96190112 */ lhu $t9, 0x0112($s0) ## 00000112
|
||||
/* 00C2C 809E0E6C 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 00C30 809E0E70 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
|
||||
/* 00C34 809E0E74 33284000 */ andi $t0, $t9, 0x4000 ## $t0 = 00000000
|
||||
/* 00C38 809E0E78 51000007 */ beql $t0, $zero, .L809E0E98
|
||||
/* 00C3C 809E0E7C 960B0088 */ lhu $t3, 0x0088($s0) ## 00000088
|
||||
/* 00C40 809E0E80 0C01DE2B */ jal Math_ApproxUpdateScaledS
|
||||
|
||||
/* 00C44 809E0E84 24060200 */ addiu $a2, $zero, 0x0200 ## $a2 = 00000200
|
||||
/* 00C48 809E0E88 860900B8 */ lh $t1, 0x00B8($s0) ## 000000B8
|
||||
/* 00C4C 809E0E8C 252A1780 */ addiu $t2, $t1, 0x1780 ## $t2 = 00001780
|
||||
/* 00C50 809E0E90 A60A00B8 */ sh $t2, 0x00B8($s0) ## 000000B8
|
||||
/* 00C54 809E0E94 960B0088 */ lhu $t3, 0x0088($s0) ## 00000088
|
||||
.L809E0E98:
|
||||
/* 00C58 809E0E98 3C06809E */ lui $a2, %hi(D_809E1640) ## $a2 = 809E0000
|
||||
/* 00C5C 809E0E9C 24C61640 */ addiu $a2, $a2, %lo(D_809E1640) ## $a2 = 809E1640
|
||||
/* 00C60 809E0EA0 316C0001 */ andi $t4, $t3, 0x0001 ## $t4 = 00000000
|
||||
/* 00C64 809E0EA4 15800006 */ bne $t4, $zero, .L809E0EC0
|
||||
/* 00C68 809E0EA8 3C01C6FA */ lui $at, 0xC6FA ## $at = C6FA0000
|
||||
/* 00C6C 809E0EAC 44812000 */ mtc1 $at, $f4 ## $f4 = -32000.00
|
||||
/* 00C70 809E0EB0 C6060080 */ lwc1 $f6, 0x0080($s0) ## 00000080
|
||||
/* 00C74 809E0EB4 46062032 */ c.eq.s $f4, $f6
|
||||
/* 00C78 809E0EB8 00000000 */ nop
|
||||
/* 00C7C 809E0EBC 45000020 */ bc1f .L809E0F40
|
||||
.L809E0EC0:
|
||||
/* 00C80 809E0EC0 3C01809E */ lui $at, %hi(D_809E1704) ## $at = 809E0000
|
||||
/* 00C84 809E0EC4 C42A1704 */ lwc1 $f10, %lo(D_809E1704)($at)
|
||||
/* 00C88 809E0EC8 C6080050 */ lwc1 $f8, 0x0050($s0) ## 00000050
|
||||
/* 00C8C 809E0ECC 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF
|
||||
/* 00C90 809E0ED0 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
|
||||
/* 00C94 809E0ED4 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 00C98 809E0ED8 241900FF */ addiu $t9, $zero, 0x00FF ## $t9 = 000000FF
|
||||
/* 00C9C 809E0EDC 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF
|
||||
/* 00CA0 809E0EE0 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF
|
||||
/* 00CA4 809E0EE4 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
|
||||
/* 00CA8 809E0EE8 240B0009 */ addiu $t3, $zero, 0x0009 ## $t3 = 00000009
|
||||
/* 00CAC 809E0EEC 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
|
||||
/* 00CB0 809E0EF0 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 00CB4 809E0EF4 AFAC003C */ sw $t4, 0x003C($sp)
|
||||
/* 00CB8 809E0EF8 AFAB0038 */ sw $t3, 0x0038($sp)
|
||||
/* 00CBC 809E0EFC AFAA0034 */ sw $t2, 0x0034($sp)
|
||||
/* 00CC0 809E0F00 440E9000 */ mfc1 $t6, $f18
|
||||
/* 00CC4 809E0F04 AFA90028 */ sw $t1, 0x0028($sp)
|
||||
/* 00CC8 809E0F08 AFA80024 */ sw $t0, 0x0024($sp)
|
||||
/* 00CCC 809E0F0C AFB90020 */ sw $t9, 0x0020($sp)
|
||||
/* 00CD0 809E0F10 AFB8001C */ sw $t8, 0x001C($sp)
|
||||
/* 00CD4 809E0F14 AFAF0018 */ sw $t7, 0x0018($sp)
|
||||
/* 00CD8 809E0F18 AFA00030 */ sw $zero, 0x0030($sp)
|
||||
/* 00CDC 809E0F1C AFA0002C */ sw $zero, 0x002C($sp)
|
||||
/* 00CE0 809E0F20 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 00CE4 809E0F24 8FA40054 */ lw $a0, 0x0054($sp)
|
||||
/* 00CE8 809E0F28 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
|
||||
/* 00CEC 809E0F2C 00C03825 */ or $a3, $a2, $zero ## $a3 = 809E1640
|
||||
/* 00CF0 809E0F30 0C00A9AE */ jal EffectSsDeadDb_Spawn
|
||||
/* 00CF4 809E0F34 AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 00CF8 809E0F38 0C2781B5 */ jal func_809E06D4
|
||||
/* 00CFC 809E0F3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L809E0F40:
|
||||
/* 00D00 809E0F40 8FBF004C */ lw $ra, 0x004C($sp)
|
||||
.L809E0F44:
|
||||
/* 00D04 809E0F44 8FB00048 */ lw $s0, 0x0048($sp)
|
||||
/* 00D08 809E0F48 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
||||
/* 00D0C 809E0F4C 03E00008 */ jr $ra
|
||||
/* 00D10 809E0F50 00000000 */ nop
|
|
@ -1,60 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809E1708
|
||||
.word 0x3BC49BA6
|
||||
glabel D_809E170C
|
||||
.float 0.002
|
||||
|
||||
.text
|
||||
glabel func_809E0F54
|
||||
/* 00D14 809E0F54 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00D18 809E0F58 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00D1C 809E0F5C AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00D20 809E0F60 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00D24 809E0F64 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
|
||||
/* 00D28 809E0F68 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00D2C 809E0F6C 3C01809E */ lui $at, %hi(D_809E170C) ## $at = 809E0000
|
||||
/* 00D30 809E0F70 11C00004 */ beq $t6, $zero, .L809E0F84
|
||||
/* 00D34 809E0F74 26040050 */ addiu $a0, $s0, 0x0050 ## $a0 = 00000050
|
||||
/* 00D38 809E0F78 3C01809E */ lui $at, %hi(D_809E1708) ## $at = 809E0000
|
||||
/* 00D3C 809E0F7C 10000002 */ beq $zero, $zero, .L809E0F88
|
||||
/* 00D40 809E0F80 C4201708 */ lwc1 $f0, %lo(D_809E1708)($at)
|
||||
.L809E0F84:
|
||||
/* 00D44 809E0F84 C420170C */ lwc1 $f0, %lo(D_809E170C)($at)
|
||||
.L809E0F88:
|
||||
/* 00D48 809E0F88 44060000 */ mfc1 $a2, $f0
|
||||
/* 00D4C 809E0F8C 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00D50 809E0F90 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 00D54 809E0F94 10400013 */ beq $v0, $zero, .L809E0FE4
|
||||
/* 00D58 809E0F98 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00D5C 809E0F9C 860F001C */ lh $t7, 0x001C($s0) ## 0000001C
|
||||
/* 00D60 809E0FA0 3C02809E */ lui $v0, %hi(D_809E16C8) ## $v0 = 809E0000
|
||||
/* 00D64 809E0FA4 244216C8 */ addiu $v0, $v0, %lo(D_809E16C8) ## $v0 = 809E16C8
|
||||
/* 00D68 809E0FA8 15E0000A */ bne $t7, $zero, .L809E0FD4
|
||||
/* 00D6C 809E0FAC 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
|
||||
/* 00D70 809E0FB0 8C580000 */ lw $t8, 0x0000($v0) ## 809E16C8
|
||||
/* 00D74 809E0FB4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00D78 809E0FB8 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
|
||||
/* 00D7C 809E0FBC 27190001 */ addiu $t9, $t8, 0x0001 ## $t9 = 00000001
|
||||
/* 00D80 809E0FC0 AC590000 */ sw $t9, 0x0000($v0) ## 809E16C8
|
||||
/* 00D84 809E0FC4 0C007E50 */ jal Item_DropCollectibleRandom
|
||||
|
||||
/* 00D88 809E0FC8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00D8C 809E0FCC 10000003 */ beq $zero, $zero, .L809E0FDC
|
||||
/* 00D90 809E0FD0 00000000 */ nop
|
||||
.L809E0FD4:
|
||||
/* 00D94 809E0FD4 0C007D52 */ jal Item_DropCollectible
|
||||
|
||||
/* 00D98 809E0FD8 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
|
||||
.L809E0FDC:
|
||||
/* 00D9C 809E0FDC 0C2781DC */ jal func_809E0770
|
||||
/* 00DA0 809E0FE0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L809E0FE4:
|
||||
/* 00DA4 809E0FE4 C6000050 */ lwc1 $f0, 0x0050($s0) ## 00000050
|
||||
/* 00DA8 809E0FE8 E6000054 */ swc1 $f0, 0x0054($s0) ## 00000054
|
||||
/* 00DAC 809E0FEC E6000058 */ swc1 $f0, 0x0058($s0) ## 00000058
|
||||
/* 00DB0 809E0FF0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00DB4 809E0FF4 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00DB8 809E0FF8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00DBC 809E0FFC 03E00008 */ jr $ra
|
||||
/* 00DC0 809E1000 00000000 */ nop
|
|
@ -1,49 +0,0 @@
|
|||
glabel func_809E1004
|
||||
/* 00DC4 809E1004 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00DC8 809E1008 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00DCC 809E100C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00DD0 809E1010 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00DD4 809E1014 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00DD8 809E1018 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 00DDC 809E101C 2484017C */ addiu $a0, $a0, 0x017C ## $a0 = 0000017C
|
||||
/* 00DE0 809E1020 960E0088 */ lhu $t6, 0x0088($s0) ## 00000088
|
||||
/* 00DE4 809E1024 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
|
||||
/* 00DE8 809E1028 24060003 */ addiu $a2, $zero, 0x0003 ## $a2 = 00000003
|
||||
/* 00DEC 809E102C 31CF0008 */ andi $t7, $t6, 0x0008 ## $t7 = 00000000
|
||||
/* 00DF0 809E1030 11E00004 */ beq $t7, $zero, .L809E1044
|
||||
/* 00DF4 809E1034 24070C00 */ addiu $a3, $zero, 0x0C00 ## $a3 = 00000C00
|
||||
/* 00DF8 809E1038 8618007E */ lh $t8, 0x007E($s0) ## 0000007E
|
||||
/* 00DFC 809E103C 10000005 */ beq $zero, $zero, .L809E1054
|
||||
/* 00E00 809E1040 A61801C8 */ sh $t8, 0x01C8($s0) ## 000001C8
|
||||
.L809E1044:
|
||||
/* 00E04 809E1044 8619008A */ lh $t9, 0x008A($s0) ## 0000008A
|
||||
/* 00E08 809E1048 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 00E0C 809E104C 03214021 */ addu $t0, $t9, $at
|
||||
/* 00E10 809E1050 A60801C8 */ sh $t0, 0x01C8($s0) ## 000001C8
|
||||
.L809E1054:
|
||||
/* 00E14 809E1054 0C01E1EF */ jal Math_SmoothScaleMaxS
|
||||
|
||||
/* 00E18 809E1058 860501C8 */ lh $a1, 0x01C8($s0) ## 000001C8
|
||||
/* 00E1C 809E105C 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 00E20 809E1060 860501C6 */ lh $a1, 0x01C6($s0) ## 000001C6
|
||||
/* 00E24 809E1064 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
|
||||
/* 00E28 809E1068 0C01E1EF */ jal Math_SmoothScaleMaxS
|
||||
|
||||
/* 00E2C 809E106C 24070100 */ addiu $a3, $zero, 0x0100 ## $a3 = 00000100
|
||||
/* 00E30 809E1070 860201C4 */ lh $v0, 0x01C4($s0) ## 000001C4
|
||||
/* 00E34 809E1074 10400003 */ beq $v0, $zero, .L809E1084
|
||||
/* 00E38 809E1078 2449FFFF */ addiu $t1, $v0, 0xFFFF ## $t1 = FFFFFFFF
|
||||
/* 00E3C 809E107C A60901C4 */ sh $t1, 0x01C4($s0) ## 000001C4
|
||||
/* 00E40 809E1080 860201C4 */ lh $v0, 0x01C4($s0) ## 000001C4
|
||||
.L809E1084:
|
||||
/* 00E44 809E1084 54400004 */ bnel $v0, $zero, .L809E1098
|
||||
/* 00E48 809E1088 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00E4C 809E108C 0C2780D5 */ jal func_809E0354
|
||||
/* 00E50 809E1090 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00E54 809E1094 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L809E1098:
|
||||
/* 00E58 809E1098 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00E5C 809E109C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00E60 809E10A0 03E00008 */ jr $ra
|
||||
/* 00E64 809E10A4 00000000 */ nop
|
|
@ -1,70 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809E1710
|
||||
.float 0.03
|
||||
|
||||
glabel D_809E1714
|
||||
.float 0.01
|
||||
|
||||
glabel D_809E1718
|
||||
.float 0.1
|
||||
|
||||
.text
|
||||
glabel func_809E10A8
|
||||
/* 00E68 809E10A8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00E6C 809E10AC AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00E70 809E10B0 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00E74 809E10B4 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00E78 809E10B8 848201C4 */ lh $v0, 0x01C4($a0) ## 000001C4
|
||||
/* 00E7C 809E10BC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00E80 809E10C0 10400003 */ beq $v0, $zero, .L809E10D0
|
||||
/* 00E84 809E10C4 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00E88 809E10C8 A48E01C4 */ sh $t6, 0x01C4($a0) ## 000001C4
|
||||
/* 00E8C 809E10CC 848201C4 */ lh $v0, 0x01C4($a0) ## 000001C4
|
||||
.L809E10D0:
|
||||
/* 00E90 809E10D0 54400024 */ bnel $v0, $zero, .L809E1164
|
||||
/* 00E94 809E10D4 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00E98 809E10D8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 00E9C 809E10DC 2604017C */ addiu $a0, $s0, 0x017C ## $a0 = 0000017C
|
||||
/* 00EA0 809E10E0 8618001C */ lh $t8, 0x001C($s0) ## 0000001C
|
||||
/* 00EA4 809E10E4 3C0F809E */ lui $t7, %hi(EnCrow_Draw) ## $t7 = 809E0000
|
||||
/* 00EA8 809E10E8 25EF15E0 */ addiu $t7, $t7, %lo(EnCrow_Draw) ## $t7 = 809E15E0
|
||||
/* 00EAC 809E10EC 13000004 */ beq $t8, $zero, .L809E1100
|
||||
/* 00EB0 809E10F0 AE0F0134 */ sw $t7, 0x0134($s0) ## 00000134
|
||||
/* 00EB4 809E10F4 3C01809E */ lui $at, %hi(D_809E1710) ## $at = 809E0000
|
||||
/* 00EB8 809E10F8 10000003 */ beq $zero, $zero, .L809E1108
|
||||
/* 00EBC 809E10FC C4201710 */ lwc1 $f0, %lo(D_809E1710)($at)
|
||||
.L809E1100:
|
||||
/* 00EC0 809E1100 3C01809E */ lui $at, %hi(D_809E1714) ## $at = 809E0000
|
||||
/* 00EC4 809E1104 C4201714 */ lwc1 $f0, %lo(D_809E1714)($at)
|
||||
.L809E1108:
|
||||
/* 00EC8 809E1108 3C01809E */ lui $at, %hi(D_809E1718) ## $at = 809E0000
|
||||
/* 00ECC 809E110C C4241718 */ lwc1 $f4, %lo(D_809E1718)($at)
|
||||
/* 00ED0 809E1110 44050000 */ mfc1 $a1, $f0
|
||||
/* 00ED4 809E1114 26040050 */ addiu $a0, $s0, 0x0050 ## $a0 = 00000050
|
||||
/* 00ED8 809E1118 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 00EDC 809E111C 44063000 */ mfc1 $a2, $f6
|
||||
/* 00EE0 809E1120 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00EE4 809E1124 00000000 */ nop
|
||||
/* 00EE8 809E1128 1040000A */ beq $v0, $zero, .L809E1154
|
||||
/* 00EEC 809E112C 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
|
||||
/* 00EF0 809E1130 8E190004 */ lw $t9, 0x0004($s0) ## 00000004
|
||||
/* 00EF4 809E1134 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
|
||||
/* 00EF8 809E1138 A20B00AF */ sb $t3, 0x00AF($s0) ## 000000AF
|
||||
/* 00EFC 809E113C 37280001 */ ori $t0, $t9, 0x0001 ## $t0 = 00000001
|
||||
/* 00F00 809E1140 AE080004 */ sw $t0, 0x0004($s0) ## 00000004
|
||||
/* 00F04 809E1144 01015024 */ and $t2, $t0, $at
|
||||
/* 00F08 809E1148 AE0A0004 */ sw $t2, 0x0004($s0) ## 00000004
|
||||
/* 00F0C 809E114C 0C2780D5 */ jal func_809E0354
|
||||
/* 00F10 809E1150 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L809E1154:
|
||||
/* 00F14 809E1154 C6000050 */ lwc1 $f0, 0x0050($s0) ## 00000050
|
||||
/* 00F18 809E1158 E6000054 */ swc1 $f0, 0x0054($s0) ## 00000054
|
||||
/* 00F1C 809E115C E6000058 */ swc1 $f0, 0x0058($s0) ## 00000058
|
||||
/* 00F20 809E1160 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L809E1164:
|
||||
/* 00F24 809E1164 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00F28 809E1168 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00F2C 809E116C 03E00008 */ jr $ra
|
||||
/* 00F30 809E1170 00000000 */ nop
|
|
@ -1,49 +0,0 @@
|
|||
glabel func_809E1174
|
||||
/* 00F34 809E1174 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00F38 809E1178 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00F3C 809E117C AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00F40 809E1180 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00F44 809E1184 90820249 */ lbu $v0, 0x0249($a0) ## 00000249
|
||||
/* 00F48 809E1188 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00F4C 809E118C 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
|
||||
/* 00F50 809E1190 304E0002 */ andi $t6, $v0, 0x0002 ## $t6 = 00000000
|
||||
/* 00F54 809E1194 11C0001D */ beq $t6, $zero, .L809E120C
|
||||
/* 00F58 809E1198 304FFFFD */ andi $t7, $v0, 0xFFFD ## $t7 = 00000000
|
||||
/* 00F5C 809E119C A08F0249 */ sb $t7, 0x0249($a0) ## 00000249
|
||||
/* 00F60 809E11A0 0C00D594 */ jal func_80035650
|
||||
/* 00F64 809E11A4 8E050254 */ lw $a1, 0x0254($s0) ## 00000254
|
||||
/* 00F68 809E11A8 920200B1 */ lbu $v0, 0x00B1($s0) ## 000000B1
|
||||
/* 00F6C 809E11AC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00F70 809E11B0 14400004 */ bne $v0, $zero, .L809E11C4
|
||||
/* 00F74 809E11B4 00000000 */ nop
|
||||
/* 00F78 809E11B8 921800B0 */ lbu $t8, 0x00B0($s0) ## 000000B0
|
||||
/* 00F7C 809E11BC 53000014 */ beql $t8, $zero, .L809E1210
|
||||
/* 00F80 809E11C0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L809E11C4:
|
||||
/* 00F84 809E11C4 14410005 */ bne $v0, $at, .L809E11DC
|
||||
/* 00F88 809E11C8 00000000 */ nop
|
||||
/* 00F8C 809E11CC 0C2781BA */ jal func_809E06E8
|
||||
/* 00F90 809E11D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00F94 809E11D4 1000000E */ beq $zero, $zero, .L809E1210
|
||||
/* 00F98 809E11D8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L809E11DC:
|
||||
/* 00F9C 809E11DC 0C00D58A */ jal Actor_ApplyDamage
|
||||
|
||||
/* 00FA0 809E11E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00FA4 809E11E4 8E190004 */ lw $t9, 0x0004($s0) ## 00000004
|
||||
/* 00FA8 809E11E8 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
|
||||
/* 00FAC 809E11EC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00FB0 809E11F0 03214024 */ and $t0, $t9, $at
|
||||
/* 00FB4 809E11F4 AE080004 */ sw $t0, 0x0004($s0) ## 00000004
|
||||
/* 00FB8 809E11F8 0C00CB1F */ jal func_80032C7C
|
||||
/* 00FBC 809E11FC 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00FC0 809E1200 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00FC4 809E1204 0C2780ED */ jal func_809E03B4
|
||||
/* 00FC8 809E1208 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
.L809E120C:
|
||||
/* 00FCC 809E120C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L809E1210:
|
||||
/* 00FD0 809E1210 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00FD4 809E1214 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00FD8 809E1218 03E00008 */ jr $ra
|
||||
/* 00FDC 809E121C 00000000 */ nop
|
|
@ -1,72 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809E171C
|
||||
.word 0x3F490FDB
|
||||
glabel D_809E1720
|
||||
.word 0x3F490FDB, 0x00000000, 0x00000000, 0x00000000
|
||||
|
||||
.text
|
||||
glabel func_809E1434
|
||||
/* 011F4 809E1434 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 011F8 809E1438 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 011FC 809E143C 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 01200 809E1440 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 01204 809E1444 AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 01208 809E1448 AFA70024 */ sw $a3, 0x0024($sp)
|
||||
/* 0120C 809E144C 908E00AF */ lbu $t6, 0x00AF($a0) ## 000000AF
|
||||
/* 01210 809E1450 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
|
||||
/* 01214 809E1454 51C0002E */ beql $t6, $zero, .L809E1510
|
||||
/* 01218 809E1458 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0121C 809E145C 14A10013 */ bne $a1, $at, .L809E14AC
|
||||
/* 01220 809E1460 3C01809E */ lui $at, %hi(D_809E171C) ## $at = 809E0000
|
||||
/* 01224 809E1464 C426171C */ lwc1 $f6, %lo(D_809E171C)($at)
|
||||
/* 01228 809E1468 C4840194 */ lwc1 $f4, 0x0194($a0) ## 00000194
|
||||
/* 0122C 809E146C 46062302 */ mul.s $f12, $f4, $f6
|
||||
/* 01230 809E1470 0C0400A4 */ jal sinf
|
||||
|
||||
/* 01234 809E1474 00000000 */ nop
|
||||
/* 01238 809E1478 8FA20028 */ lw $v0, 0x0028($sp)
|
||||
/* 0123C 809E147C 3C014540 */ lui $at, 0x4540 ## $at = 45400000
|
||||
/* 01240 809E1480 44818000 */ mtc1 $at, $f16 ## $f16 = 3072.00
|
||||
/* 01244 809E1484 844F0002 */ lh $t7, 0x0002($v0) ## 00000002
|
||||
/* 01248 809E1488 46008482 */ mul.s $f18, $f16, $f0
|
||||
/* 0124C 809E148C 448F4000 */ mtc1 $t7, $f8 ## $f8 = 0.00
|
||||
/* 01250 809E1490 00000000 */ nop
|
||||
/* 01254 809E1494 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 01258 809E1498 46125100 */ add.s $f4, $f10, $f18
|
||||
/* 0125C 809E149C 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 01260 809E14A0 44193000 */ mfc1 $t9, $f6
|
||||
/* 01264 809E14A4 10000019 */ beq $zero, $zero, .L809E150C
|
||||
/* 01268 809E14A8 A4590002 */ sh $t9, 0x0002($v0) ## 00000002
|
||||
.L809E14AC:
|
||||
/* 0126C 809E14AC 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
|
||||
/* 01270 809E14B0 14A10016 */ bne $a1, $at, .L809E150C
|
||||
/* 01274 809E14B4 3C014020 */ lui $at, 0x4020 ## $at = 40200000
|
||||
/* 01278 809E14B8 44818000 */ mtc1 $at, $f16 ## $f16 = 2.50
|
||||
/* 0127C 809E14BC C4880194 */ lwc1 $f8, 0x0194($a0) ## 00000194
|
||||
/* 01280 809E14C0 3C01809E */ lui $at, %hi(D_809E1720) ## $at = 809E0000
|
||||
/* 01284 809E14C4 C4321720 */ lwc1 $f18, %lo(D_809E1720)($at)
|
||||
/* 01288 809E14C8 46104280 */ add.s $f10, $f8, $f16
|
||||
/* 0128C 809E14CC 46125302 */ mul.s $f12, $f10, $f18
|
||||
/* 01290 809E14D0 0C0400A4 */ jal sinf
|
||||
|
||||
/* 01294 809E14D4 00000000 */ nop
|
||||
/* 01298 809E14D8 8FA20028 */ lw $v0, 0x0028($sp)
|
||||
/* 0129C 809E14DC 3C0145A0 */ lui $at, 0x45A0 ## $at = 45A00000
|
||||
/* 012A0 809E14E0 44814000 */ mtc1 $at, $f8 ## $f8 = 5120.00
|
||||
/* 012A4 809E14E4 84480002 */ lh $t0, 0x0002($v0) ## 00000002
|
||||
/* 012A8 809E14E8 46004402 */ mul.s $f16, $f8, $f0
|
||||
/* 012AC 809E14EC 44882000 */ mtc1 $t0, $f4 ## $f4 = 0.00
|
||||
/* 012B0 809E14F0 00000000 */ nop
|
||||
/* 012B4 809E14F4 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 012B8 809E14F8 46103280 */ add.s $f10, $f6, $f16
|
||||
/* 012BC 809E14FC 4600548D */ trunc.w.s $f18, $f10
|
||||
/* 012C0 809E1500 440A9000 */ mfc1 $t2, $f18
|
||||
/* 012C4 809E1504 00000000 */ nop
|
||||
/* 012C8 809E1508 A44A0002 */ sh $t2, 0x0002($v0) ## 00000002
|
||||
.L809E150C:
|
||||
/* 012CC 809E150C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L809E1510:
|
||||
/* 012D0 809E1510 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 012D4 809E1514 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 012D8 809E1518 03E00008 */ jr $ra
|
||||
/* 012DC 809E151C 00000000 */ nop
|
|
@ -1,52 +0,0 @@
|
|||
glabel func_809E1520
|
||||
/* 012E0 809E1520 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 012E4 809E1524 AFA60030 */ sw $a2, 0x0030($sp)
|
||||
/* 012E8 809E1528 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 012EC 809E152C 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
|
||||
/* 012F0 809E1530 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 012F4 809E1534 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 012F8 809E1538 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 012FC 809E153C 14A1000D */ bne $a1, $at, .L809E1574
|
||||
/* 01300 809E1540 AFA70034 */ sw $a3, 0x0034($sp)
|
||||
/* 01304 809E1544 8FA50038 */ lw $a1, 0x0038($sp)
|
||||
/* 01308 809E1548 3C04809E */ lui $a0, %hi(D_809E16DC) ## $a0 = 809E0000
|
||||
/* 0130C 809E154C 248416DC */ addiu $a0, $a0, %lo(D_809E16DC) ## $a0 = 809E16DC
|
||||
/* 01310 809E1550 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 01314 809E1554 24A5014C */ addiu $a1, $a1, 0x014C ## $a1 = 0000014C
|
||||
/* 01318 809E1558 8FA20038 */ lw $v0, 0x0038($sp)
|
||||
/* 0131C 809E155C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 01320 809E1560 44813000 */ mtc1 $at, $f6 ## $f6 = 20.00
|
||||
/* 01324 809E1564 C4440150 */ lwc1 $f4, 0x0150($v0) ## 00000150
|
||||
/* 01328 809E1568 46062201 */ sub.s $f8, $f4, $f6
|
||||
/* 0132C 809E156C 10000018 */ beq $zero, $zero, .L809E15D0
|
||||
/* 01330 809E1570 E4480150 */ swc1 $f8, 0x0150($v0) ## 00000150
|
||||
.L809E1574:
|
||||
/* 01334 809E1574 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
|
||||
/* 01338 809E1578 10C10005 */ beq $a2, $at, .L809E1590
|
||||
/* 0133C 809E157C 3C04809E */ lui $a0, %hi(D_809E1640) ## $a0 = 809E0000
|
||||
/* 01340 809E1580 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
|
||||
/* 01344 809E1584 10C10002 */ beq $a2, $at, .L809E1590
|
||||
/* 01348 809E1588 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
|
||||
/* 0134C 809E158C 14C10010 */ bne $a2, $at, .L809E15D0
|
||||
.L809E1590:
|
||||
/* 01350 809E1590 00067843 */ sra $t7, $a2, 1
|
||||
/* 01354 809E1594 8FAE0038 */ lw $t6, 0x0038($sp)
|
||||
/* 01358 809E1598 000FC080 */ sll $t8, $t7, 2
|
||||
/* 0135C 809E159C 030FC023 */ subu $t8, $t8, $t7
|
||||
/* 01360 809E15A0 0018C080 */ sll $t8, $t8, 2
|
||||
/* 01364 809E15A4 01D82821 */ addu $a1, $t6, $t8
|
||||
/* 01368 809E15A8 24A50140 */ addiu $a1, $a1, 0x0140 ## $a1 = 00000140
|
||||
/* 0136C 809E15AC AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 01370 809E15B0 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 01374 809E15B4 24841640 */ addiu $a0, $a0, %lo(D_809E1640) ## $a0 = 809E1640
|
||||
/* 01378 809E15B8 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 0137C 809E15BC 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 01380 809E15C0 44818000 */ mtc1 $at, $f16 ## $f16 = 20.00
|
||||
/* 01384 809E15C4 C4AA0004 */ lwc1 $f10, 0x0004($a1) ## 00000004
|
||||
/* 01388 809E15C8 46105481 */ sub.s $f18, $f10, $f16
|
||||
/* 0138C 809E15CC E4B20004 */ swc1 $f18, 0x0004($a1) ## 00000004
|
||||
.L809E15D0:
|
||||
/* 01390 809E15D0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 01394 809E15D4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 01398 809E15D8 03E00008 */ jr $ra
|
||||
/* 0139C 809E15DC 00000000 */ nop
|
|
@ -1,36 +0,0 @@
|
|||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purpose registers
|
||||
|
||||
.section .data
|
||||
|
||||
.balign 16
|
||||
|
||||
glabel D_809E1640
|
||||
.word 0x00000000, 0x00000000, 0x00000000
|
||||
glabel En_Crow_InitVars
|
||||
.word 0x01C00500, 0x00005005, 0x00080000, 0x00000298
|
||||
.word EnCrow_Init
|
||||
.word EnCrow_Destroy
|
||||
.word EnCrow_Update
|
||||
.word EnCrow_Draw
|
||||
glabel D_809E166C
|
||||
.word 0x00000000, 0xFFCFFFFF, 0x00080000, 0xFFCFFFFF, 0x00000000, 0x09010100, 0x01000000, 0x00000000, 0x00140064
|
||||
glabel D_809E1690
|
||||
.word 0x03110939, 0x10000000, 0x00000001
|
||||
glabel D_809E169C
|
||||
.word D_809E166C
|
||||
glabel D_809E16A0
|
||||
.word 0x0100000F, 0x001E1E00
|
||||
glabel D_809E16A8
|
||||
.word 0x10020102, 0x01020202, 0x01020424, 0x32020402, 0x02240000, 0x00000104, 0x02020804, 0x00000400
|
||||
glabel D_809E16C8
|
||||
.word 0x00000000
|
||||
glabel D_809E16CC
|
||||
.word 0xB0F80BB8, 0x89170058, 0xB86CFF38, 0x304C07D0
|
||||
glabel D_809E16DC
|
||||
.word 0x451C4000, 0x00000000, 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_809E1730
|
||||
.incbin "baserom/ovl_En_Crow", 0x14F0, 0x00000180
|
3
spec
3
spec
|
@ -2085,8 +2085,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Crow"
|
||||
include "build/src/overlays/actors/ovl_En_Crow/z_en_crow.o"
|
||||
include "build/data/overlays/actors/z_en_crow.data.o"
|
||||
include "build/data/overlays/actors/z_en_crow.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Crow/ovl_En_Crow_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -9,7 +9,16 @@ void EnCrow_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void EnCrow_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnCrow_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void EnCrow_SetupWait(EnCrow* this);
|
||||
void EnCrow_Wait(EnCrow* this, GlobalContext* globalCtx);
|
||||
void func_809E10A8(EnCrow* this, GlobalContext* globalCtx);
|
||||
void func_809E0C8C(EnCrow* this, GlobalContext* globalCtx);
|
||||
void EnCrow_Die(EnCrow* this, GlobalContext* globalCtx);
|
||||
void func_809E1004(EnCrow* this, GlobalContext* globalCtx);
|
||||
void func_809E0E2C(EnCrow* this, GlobalContext* globalCtx);
|
||||
|
||||
static Vec3f sZeroVecAccel = { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
const ActorInit En_Crow_InitVars = {
|
||||
ACTOR_EN_CROW,
|
||||
ACTORTYPE_ENEMY,
|
||||
|
@ -21,41 +30,434 @@ const ActorInit En_Crow_InitVars = {
|
|||
(ActorFunc)EnCrow_Update,
|
||||
(ActorFunc)EnCrow_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/EnCrow_Init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/EnCrow_Destroy.s")
|
||||
static ColliderJntSphItemInit sJntSphItemsInit = {
|
||||
{ 0x00, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x09, 0x01, 0x01 },
|
||||
{ 1, { { 0, 0, 0 }, 20 }, 100 },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/func_809E0354.s")
|
||||
static ColliderJntSphInit sJntSphInit = {
|
||||
{ COLTYPE_UNK3, 0x11, 0x09, 0x39, 0x10, COLSHAPE_JNTSPH },
|
||||
1,
|
||||
&sJntSphItemsInit,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/func_809E0384.s")
|
||||
static CollisionCheckInfoInit sColChkInfoInit = { 1, 0x000F, 0x001E, 30 };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/func_809E03B4.s")
|
||||
static DamageTable sDamageTable = {
|
||||
0x10, 0x02, 0x01, 0x02, 0x01, 0x02, 0x02, 0x02, 0x01, 0x02, 0x04, 0x24, 0x32, 0x02, 0x04, 0x02,
|
||||
0x02, 0x24, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x02, 0x02, 0x08, 0x04, 0x00, 0x00, 0x04, 0x00,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/func_809E06D4.s")
|
||||
static u32 sDeathCount = 0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/func_809E06E8.s")
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_F32(uncullZoneScale, 3000, ICHAIN_CONTINUE),
|
||||
ICHAIN_S8(naviEnemyId, 88, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32_DIV1000(gravity, 65336, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(unk_4C, 2000, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/func_809E0770.s")
|
||||
static Vec3f sHeadVec[] = { 2500.0f, 0.0f, 0.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/func_809E0864.s")
|
||||
extern SkeletonHeader D_060010C0;
|
||||
extern AnimationHeader D_060000F0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/func_809E0C8C.s")
|
||||
void EnCrow_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnCrow* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/func_809E0E2C.s")
|
||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_060010C0, &D_060000F0, &this->limbDrawTable,
|
||||
&this->transitionDrawTable, 9);
|
||||
Collider_InitJntSph(globalCtx, &this->collider);
|
||||
Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sJntSphInit, &this->colliderItems);
|
||||
this->collider.list[0].dim.worldSphere.radius = sJntSphInit.list->dim.modelSphere.radius;
|
||||
func_80061ED4(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
|
||||
ActorShape_Init(&this->actor.shape, 2000.0f, ActorShadow_DrawFunc_Circle, 20.0f);
|
||||
sDeathCount = 0;
|
||||
EnCrow_SetupWait(this);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/func_809E0F54.s")
|
||||
void EnCrow_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnCrow* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/func_809E1004.s")
|
||||
Collider_DestroyJntSph(globalCtx, &this->collider);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/func_809E10A8.s")
|
||||
void EnCrow_SetupWait(EnCrow* this) {
|
||||
this->timer = 100;
|
||||
this->collider.base.acFlags |= 1;
|
||||
this->actionFunc = EnCrow_Wait;
|
||||
this->skelAnime.animPlaybackSpeed = 1.0f;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/func_809E1174.s")
|
||||
void func_809E0384(EnCrow* this) {
|
||||
this->timer = 300;
|
||||
this->actor.speedXZ = 4.0f;
|
||||
this->skelAnime.animPlaybackSpeed = 2.0f;
|
||||
this->actionFunc = func_809E0C8C;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/EnCrow_Update.s")
|
||||
void func_809E03B4(EnCrow* this, GlobalContext* globalCtx) {
|
||||
s32 i;
|
||||
f32 scale;
|
||||
Vec3f iceParticlePos;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/func_809E1434.s")
|
||||
this->actor.speedXZ *= Math_Coss(this->actor.posRot.rot.x);
|
||||
this->actor.velocity.y = 0.0f;
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_060000F0, 0.4f, 0.0f, 0.0f, 1, -3.0f);
|
||||
scale = this->actor.scale.x * 100.0f;
|
||||
this->actor.posRot.pos.y += 20.0f * scale;
|
||||
this->actor.bgCheckFlags &= ~1;
|
||||
this->actor.shape.unk_08 = 0.0f;
|
||||
this->actor.unk_4C = 0.0f;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_KAICHO_DEAD);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/func_809E1520.s")
|
||||
if (this->actor.colChkInfo.damageEffect == 3) {
|
||||
func_8003426C(&this->actor, 0, 255, 0, 40);
|
||||
for (i = 0; i < 8; i++) {
|
||||
iceParticlePos.x = ((i & 1 ? 7.0f : -7.0f) * scale) + this->actor.posRot.pos.x;
|
||||
iceParticlePos.y = ((i & 2 ? 7.0f : -7.0f) * scale) + this->actor.posRot.pos.y;
|
||||
iceParticlePos.z = ((i & 4 ? 7.0f : -7.0f) * scale) + this->actor.posRot.pos.z;
|
||||
EffectSsEnIce_SpawnFlyingVec3f(globalCtx, &this->actor, &iceParticlePos, 150, 150, 150, 250, 235, 245, 255,
|
||||
((Math_Rand_ZeroOne() * 0.15f) + 0.85f) * scale);
|
||||
}
|
||||
} else if (this->actor.colChkInfo.damageEffect == 2) {
|
||||
func_8003426C(&this->actor, 0x4000, 255, 0, 40);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Crow/EnCrow_Draw.s")
|
||||
for (i = 0; i < 4; i++) {
|
||||
EffectSsEnFire_SpawnVec3f(globalCtx, &this->actor, &this->actor.posRot, 50.0f * scale, 0, 0, i);
|
||||
}
|
||||
} else {
|
||||
func_8003426C(&this->actor, 0x4000, 255, 0, 40);
|
||||
}
|
||||
|
||||
if (this->actor.flags & 0x8000) {
|
||||
this->actor.speedXZ = 0.0f;
|
||||
}
|
||||
|
||||
this->collider.base.acFlags &= ~1;
|
||||
this->actor.flags |= 0x10;
|
||||
|
||||
this->actionFunc = func_809E0E2C;
|
||||
}
|
||||
|
||||
void EnCrow_SetupDie(EnCrow* this) {
|
||||
this->actor.dmgEffectTimer = 0;
|
||||
this->actionFunc = EnCrow_Die;
|
||||
}
|
||||
|
||||
void func_809E06E8(EnCrow* this) {
|
||||
this->timer = 100;
|
||||
this->actor.speedXZ = 3.5f;
|
||||
this->aimRotX = -0x1000;
|
||||
this->aimRotY = this->actor.yawTowardsLink + 0x8000;
|
||||
this->skelAnime.animPlaybackSpeed = 2.0f;
|
||||
func_8003426C(&this->actor, 0, 255, 0, 5);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
|
||||
this->actionFunc = func_809E1004;
|
||||
}
|
||||
|
||||
void func_809E0770(EnCrow* this) {
|
||||
if (sDeathCount == 10) {
|
||||
this->actor.params = 1;
|
||||
sDeathCount = 0;
|
||||
this->collider.list[0].dim.worldSphere.radius = sJntSphInit.list->dim.modelSphere.radius * 0.03f * 100.0f;
|
||||
} else {
|
||||
this->actor.params = 0;
|
||||
this->collider.list[0].dim.worldSphere.radius = sJntSphInit.list->dim.modelSphere.radius;
|
||||
}
|
||||
|
||||
SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_060000F0);
|
||||
Math_Vec3f_Copy(&this->actor.posRot, &this->actor.initPosRot);
|
||||
this->actor.shape.rot.x = 0;
|
||||
this->actor.shape.rot.z = 0;
|
||||
this->timer = 300;
|
||||
this->actor.shape.unk_08 = 2000;
|
||||
this->actor.unk_4C = 2000.0f;
|
||||
this->actor.draw = NULL;
|
||||
this->actionFunc = func_809E10A8;
|
||||
}
|
||||
|
||||
void EnCrow_Wait(EnCrow* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
s32 skelanimeUpdated;
|
||||
s16 var;
|
||||
|
||||
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||
skelanimeUpdated = func_800A56C8(&this->skelAnime, 0.0f);
|
||||
this->actor.speedXZ = (Math_Rand_ZeroOne() * 1.5f) + 3.0f;
|
||||
|
||||
if (this->actor.bgCheckFlags & 8) {
|
||||
this->aimRotY = this->actor.wallPolyRot;
|
||||
} else if (func_8002DBB0(&this->actor, &this->actor.initPosRot) > 300.0f) {
|
||||
this->aimRotY = func_8002DAC0(&this->actor, &this->actor.initPosRot);
|
||||
}
|
||||
|
||||
if ((Math_SmoothScaleMaxMinS(&this->actor.shape.rot.y, this->aimRotY, 5, 0x300, 0x10) == 0) && (skelanimeUpdated) &&
|
||||
(Math_Rand_ZeroOne() < 0.1f)) {
|
||||
var = func_8002DAC0(&this->actor, &this->actor.initPosRot) - this->actor.shape.rot.y;
|
||||
if (var > 0) {
|
||||
this->aimRotY += 0x1000 + (0x1000 * Math_Rand_ZeroOne());
|
||||
} else {
|
||||
this->aimRotY -= 0x1000 + (0x1000 * Math_Rand_ZeroOne());
|
||||
}
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_KAICHO_CRY);
|
||||
}
|
||||
|
||||
if (this->actor.waterY > -40.0f) {
|
||||
this->aimRotX = -0x1000;
|
||||
} else if (this->actor.posRot.pos.y < (this->actor.initPosRot.pos.y - 50.0f)) {
|
||||
this->aimRotX = -0x800 - (Math_Rand_ZeroOne() * 0x800);
|
||||
} else if (this->actor.posRot.pos.y > (this->actor.initPosRot.pos.y + 50.0f)) {
|
||||
this->aimRotX = 0x800 + (Math_Rand_ZeroOne() * 0x800);
|
||||
}
|
||||
|
||||
if ((Math_SmoothScaleMaxMinS(&this->actor.shape.rot.x, this->aimRotX, 10, 0x100, 8) == 0) && (skelanimeUpdated) &&
|
||||
(Math_Rand_ZeroOne() < 0.1f)) {
|
||||
if (this->actor.initPosRot.pos.y < this->actor.posRot.pos.y) {
|
||||
this->aimRotX -= (0x400 * Math_Rand_ZeroOne()) + 0x400;
|
||||
} else {
|
||||
this->aimRotX += (0x400 * Math_Rand_ZeroOne()) + 0x400;
|
||||
}
|
||||
this->aimRotX = CLAMP(this->aimRotX, -0x1000, 0x1000);
|
||||
}
|
||||
|
||||
if (this->actor.bgCheckFlags & 1) {
|
||||
Math_ApproxUpdateScaledS(&this->actor.shape.rot.x, -0x100, 0x400);
|
||||
}
|
||||
|
||||
if (this->timer != 0) {
|
||||
this->timer--;
|
||||
}
|
||||
if ((this->timer == 0) && (this->actor.xzDistFromLink < 300.0f) && !(player->stateFlags1 & 0x00800000) &&
|
||||
(this->actor.waterY < -40.0f) && (Player_GetMask(globalCtx) != PLAYER_MASK_SKULL)) {
|
||||
func_809E0384(this);
|
||||
}
|
||||
}
|
||||
|
||||
void func_809E0C8C(EnCrow* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
s32 yaw;
|
||||
Vec3f pos;
|
||||
s16 target;
|
||||
|
||||
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||
if (this->timer != 0) {
|
||||
this->timer--;
|
||||
}
|
||||
|
||||
yaw = func_8002E084(&this->actor, 0x2800);
|
||||
|
||||
if (yaw != 0) {
|
||||
pos.x = player->actor.posRot.pos.x;
|
||||
pos.y = player->actor.posRot.pos.y + 20.0f;
|
||||
pos.z = player->actor.posRot.pos.z;
|
||||
target = func_8002DB28(&this->actor, &pos);
|
||||
if (target > 0x3000) {
|
||||
target = 0x3000;
|
||||
}
|
||||
Math_SmoothScaleMaxS(&this->actor.shape.rot.x, target, 2, 0x400);
|
||||
} else {
|
||||
Math_SmoothScaleMaxS(&this->actor.shape.rot.x, -0x1000, 2, 0x100);
|
||||
}
|
||||
|
||||
if ((yaw != 0) || (this->actor.xzDistFromLink > 80.0f)) {
|
||||
Math_SmoothScaleMaxS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 4, 0xC00);
|
||||
}
|
||||
|
||||
if ((this->timer == 0) || (Player_GetMask(globalCtx) == PLAYER_MASK_SKULL) || (this->collider.base.atFlags & 2) ||
|
||||
(this->actor.bgCheckFlags & 9) || (player->stateFlags1 & 0x00800000) || (this->actor.waterY > -40.0f)) {
|
||||
if (this->collider.base.atFlags & 2) {
|
||||
this->collider.base.atFlags &= ~2;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_KAICHO_ATTACK);
|
||||
}
|
||||
|
||||
EnCrow_SetupWait(this);
|
||||
}
|
||||
}
|
||||
|
||||
void func_809E0E2C(EnCrow* this, GlobalContext* globalCtx) {
|
||||
Math_ApproxF(&this->actor.speedXZ, 0.0f, 0.5f);
|
||||
this->actor.dmgEffectTimer = 40;
|
||||
|
||||
if (!(this->actor.flags & 0x8000)) {
|
||||
if (this->actor.dmgEffectParams & 0x4000) {
|
||||
Math_ApproxUpdateScaledS(&this->actor.shape.rot.x, 0x4000, 0x200);
|
||||
this->actor.shape.rot.z += 0x1780;
|
||||
}
|
||||
if ((this->actor.bgCheckFlags & 1) || (this->actor.groundY == -32000.0f)) {
|
||||
EffectSsDeadDb_Spawn(globalCtx, &this->actor.posRot, &sZeroVecAccel, &sZeroVecAccel,
|
||||
this->actor.scale.x * 10000.0f, 0, 255, 255, 255, 255, 255, 0, 0, 1, 9, 1);
|
||||
EnCrow_SetupDie(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnCrow_Die(EnCrow* this, GlobalContext* globalCtx) {
|
||||
f32 step;
|
||||
|
||||
if (this->actor.params != 0) {
|
||||
step = 0.006f;
|
||||
} else {
|
||||
step = 0.002f;
|
||||
}
|
||||
|
||||
if (Math_ApproxF(&this->actor.scale, 0.0f, step)) {
|
||||
if (this->actor.params == 0) {
|
||||
sDeathCount++;
|
||||
Item_DropCollectibleRandom(globalCtx, &this->actor, &this->actor.posRot, 0);
|
||||
} else {
|
||||
Item_DropCollectible(globalCtx, &this->actor.posRot, ITEM00_RUPEE_RED);
|
||||
}
|
||||
func_809E0770(this);
|
||||
}
|
||||
|
||||
this->actor.scale.z = this->actor.scale.y = this->actor.scale.x;
|
||||
}
|
||||
|
||||
void func_809E1004(EnCrow* this, GlobalContext* globalCtx) {
|
||||
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||
|
||||
if (this->actor.bgCheckFlags & 8) {
|
||||
this->aimRotY = this->actor.wallPolyRot;
|
||||
} else {
|
||||
this->aimRotY = this->actor.yawTowardsLink + 0x8000;
|
||||
}
|
||||
|
||||
Math_SmoothScaleMaxS(&this->actor.shape.rot.y, this->aimRotY, 3, 0xC00);
|
||||
Math_SmoothScaleMaxS(&this->actor.shape.rot.x, this->aimRotX, 5, 0x100);
|
||||
|
||||
if (this->timer != 0) {
|
||||
this->timer--;
|
||||
}
|
||||
if (this->timer == 0) {
|
||||
EnCrow_SetupWait(this);
|
||||
}
|
||||
}
|
||||
|
||||
void func_809E10A8(EnCrow* this, GlobalContext* globalCtx) {
|
||||
f32 target;
|
||||
|
||||
if (this->timer != 0) {
|
||||
this->timer--;
|
||||
}
|
||||
|
||||
if (this->timer == 0) {
|
||||
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||
this->actor.draw = EnCrow_Draw;
|
||||
if (this->actor.params != 0) {
|
||||
target = 0.03f;
|
||||
} else {
|
||||
target = 0.01f;
|
||||
}
|
||||
if (Math_ApproxF(&this->actor.scale, target, target * 0.1f)) {
|
||||
this->actor.flags |= 1;
|
||||
this->actor.flags &= ~0x10;
|
||||
this->actor.colChkInfo.health = 1;
|
||||
EnCrow_SetupWait(this);
|
||||
}
|
||||
this->actor.scale.z = this->actor.scale.y = this->actor.scale.x;
|
||||
}
|
||||
}
|
||||
|
||||
void func_809E1174(EnCrow* this, GlobalContext* globalCtx) {
|
||||
if (this->collider.base.acFlags & 2) {
|
||||
this->collider.base.acFlags &= ~2;
|
||||
func_80035650(&this->actor, &this->collider.list[0].body, 1);
|
||||
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
|
||||
if (this->actor.colChkInfo.damageEffect == 1) {
|
||||
func_809E06E8(this);
|
||||
} else {
|
||||
Actor_ApplyDamage(&this->actor);
|
||||
this->actor.flags &= ~1;
|
||||
func_80032C7C(globalCtx, &this->actor);
|
||||
func_809E03B4(this, globalCtx);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnCrow_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnCrow* this = THIS;
|
||||
f32 pad;
|
||||
f32 height;
|
||||
f32 scale;
|
||||
|
||||
func_809E1174(this, globalCtx);
|
||||
this->actionFunc(this, globalCtx);
|
||||
scale = this->actor.scale.x * 100.0f;
|
||||
this->actor.posRot.rot.y = this->actor.shape.rot.y;
|
||||
this->actor.posRot.rot.x = -this->actor.shape.rot.x;
|
||||
|
||||
if (this->actionFunc != func_809E10A8) {
|
||||
if (this->actor.colChkInfo.health != 0) {
|
||||
height = 20.0f * scale;
|
||||
func_8002D97C(&this->actor);
|
||||
} else {
|
||||
height = 0.0f;
|
||||
Actor_MoveForward(&this->actor);
|
||||
}
|
||||
func_8002E4B4(globalCtx, &this->actor, 12.0f * scale, 25.0f * scale, 50.0f * scale, 7);
|
||||
} else {
|
||||
height = 0.0f;
|
||||
}
|
||||
|
||||
this->collider.list[0].dim.worldSphere.center.x = this->actor.posRot.pos.x;
|
||||
this->collider.list[0].dim.worldSphere.center.y = this->actor.posRot.pos.y + height;
|
||||
this->collider.list[0].dim.worldSphere.center.z = this->actor.posRot.pos.z;
|
||||
|
||||
if (this->actionFunc == func_809E0C8C) {
|
||||
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider);
|
||||
}
|
||||
|
||||
if (this->collider.base.acFlags & 1) {
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider);
|
||||
}
|
||||
|
||||
if (this->actionFunc != func_809E10A8) {
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider);
|
||||
}
|
||||
|
||||
Actor_SetHeight(&this->actor, height);
|
||||
|
||||
if (this->actor.colChkInfo.health != 0 && func_800A56C8(&this->skelAnime, 3.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_KAICHO_FLUTTER);
|
||||
}
|
||||
}
|
||||
|
||||
s32 EnCrow_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
|
||||
Actor* thisx) {
|
||||
EnCrow* this = THIS;
|
||||
|
||||
if (this->actor.colChkInfo.health != 0) {
|
||||
if (limbIndex == 7) {
|
||||
rot->y += 0xC00 * sinf(this->skelAnime.animCurrentFrame * (M_PI / 4));
|
||||
} else if (limbIndex == 8) {
|
||||
rot->y += 0x1400 * sinf((this->skelAnime.animCurrentFrame + 2.5f) * (M_PI / 4));
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void EnCrow_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
|
||||
EnCrow* this = THIS;
|
||||
Vec3f* vec;
|
||||
|
||||
if (limbIndex == 2) {
|
||||
Matrix_MultVec3f(&sHeadVec, &this->bodyPartsPos[0]);
|
||||
this->bodyPartsPos[0].y -= 20.0f;
|
||||
} else if ((limbIndex == 4) || (limbIndex == 6) || (limbIndex == 8)) {
|
||||
vec = &this->bodyPartsPos[(limbIndex >> 1) - 1];
|
||||
Matrix_MultVec3f(&sZeroVecAccel, vec);
|
||||
vec->y -= 20.0f;
|
||||
}
|
||||
}
|
||||
|
||||
void EnCrow_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnCrow* this = THIS;
|
||||
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
|
||||
EnCrow_OverrideLimbDraw, EnCrow_PostLimbDraw, &this->actor);
|
||||
}
|
||||
|
|
|
@ -6,9 +6,20 @@
|
|||
|
||||
struct EnCrow;
|
||||
|
||||
typedef void (*EnCrowActionFunc)(struct EnCrow*, GlobalContext*);
|
||||
|
||||
typedef struct EnCrow {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x14C];
|
||||
/* 0x014C */ Vec3f bodyPartsPos[4];
|
||||
/* 0x017C */ SkelAnime skelAnime;
|
||||
/* 0x01C0 */ EnCrowActionFunc actionFunc;
|
||||
/* 0x01C4 */ s16 timer;
|
||||
/* 0x01C6 */ s16 aimRotX;
|
||||
/* 0x01C8 */ s16 aimRotY;
|
||||
/* 0x01CA */ Vec3s limbDrawTable[9];
|
||||
/* 0x0200 */ Vec3s transitionDrawTable[9];
|
||||
/* 0x0238 */ ColliderJntSph collider;
|
||||
/* 0x0258 */ ColliderJntSphItem colliderItems[1];
|
||||
} EnCrow; // size = 0x0298
|
||||
|
||||
extern const ActorInit En_Crow_InitVars;
|
||||
|
|
|
@ -1282,6 +1282,10 @@ D_040184B0 = 0x040184B0;
|
|||
D_0601BFB0 = 0x0601BFB0;
|
||||
D_0601C160 = 0x0601C160;
|
||||
|
||||
// z_en_crow
|
||||
D_060010C0 = 0x060010C0;
|
||||
D_060000F0 = 0x060000F0;
|
||||
|
||||
// z_en_rl
|
||||
D_06007B38 = 0x06007B38;
|
||||
D_06000A3C = 0x06000A3C;
|
||||
|
|
Loading…
Add table
Reference in a new issue