mirror of
https://github.com/perfect-dark-pc-port/perfect_dark.git
synced 2026-10-24 00:02:43 +02:00
Decompile casingTick
This commit is contained in:
1 parent
763fba657b
commit
85c2773d72
6 files changed
+81
-508
No files matched your search
+2
-2
@@ -52,7 +52,7 @@
|
||||
#include "types.h"
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
u32 var8009d0d0[2];
|
||||
struct sndstate *g_CasingAudioHandles[2];
|
||||
s32 var8009d0d8;
|
||||
u32 var8009d0dc;
|
||||
struct sndstate *g_BgunAudioHandles[4];
|
||||
@@ -115,7 +115,7 @@ u32 var8009d144;
|
||||
s32 var8009d148;
|
||||
u32 var8009d14c;
|
||||
|
||||
u32 var8009d0d0[2];
|
||||
u32 g_CasingAudioHandles[2];
|
||||
s32 var8009d0d8;
|
||||
struct sndstate *g_BgunAudioHandles[4];
|
||||
struct fireslot g_Fireslots[NUM_FIRESLOTS];
|
||||
|
||||
@@ -10,8 +10,8 @@ void casingsReset(void)
|
||||
struct casing *end;
|
||||
struct casing *casing;
|
||||
|
||||
var8009d0d0[0] = 0;
|
||||
var8009d0d0[1] = 0;
|
||||
g_CasingAudioHandles[0] = 0;
|
||||
g_CasingAudioHandles[1] = 0;
|
||||
var8009d0d8 = 0;
|
||||
|
||||
for (i = 0; i != ARRAYCOUNT(g_BgunAudioHandles); i++) {
|
||||
|
||||
+66
-487
@@ -9,494 +9,73 @@
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
const u32 var7f1a8660[] = {0x3e8e38e4};
|
||||
const u32 var7f1a8664[] = {0x3f7ae148};
|
||||
void casingTick(struct casing *casing)
|
||||
{
|
||||
f32 tmp;
|
||||
f32 tmp2;
|
||||
f32 sp8c[3][3];
|
||||
f32 sp68[3][3];
|
||||
s32 i;
|
||||
s32 j;
|
||||
f32 lvupdate = g_Vars.lvupdate240freal;
|
||||
f32 sp58;
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
GLOBAL_ASM(
|
||||
glabel casingTick
|
||||
/* f01d9f0: 27bdff48 */ addiu $sp,$sp,-184
|
||||
/* f01d9f4: afb40034 */ sw $s4,0x34($sp)
|
||||
/* f01d9f8: 3c14800a */ lui $s4,%hi(g_Vars)
|
||||
/* f01d9fc: 26949fc0 */ addiu $s4,$s4,%lo(g_Vars)
|
||||
/* f01da00: 3c017f1b */ lui $at,%hi(var7f1a8660)
|
||||
/* f01da04: c682004c */ lwc1 $f2,0x4c($s4)
|
||||
/* f01da08: c4248660 */ lwc1 $f4,%lo(var7f1a8660)($at)
|
||||
/* f01da0c: afbf003c */ sw $ra,0x3c($sp)
|
||||
/* f01da10: afb50038 */ sw $s5,0x38($sp)
|
||||
/* f01da14: 46041182 */ mul.s $f6,$f2,$f4
|
||||
/* f01da18: afb30030 */ sw $s3,0x30($sp)
|
||||
/* f01da1c: afb2002c */ sw $s2,0x2c($sp)
|
||||
/* f01da20: afb10028 */ sw $s1,0x28($sp)
|
||||
/* f01da24: afb00024 */ sw $s0,0x24($sp)
|
||||
/* f01da28: c4800014 */ lwc1 $f0,0x14($a0)
|
||||
/* f01da2c: 3c013f00 */ lui $at,0x3f00
|
||||
/* f01da30: 44814000 */ mtc1 $at,$f8
|
||||
/* f01da34: 46060301 */ sub.s $f12,$f0,$f6
|
||||
/* f01da38: c4840008 */ lwc1 $f4,0x8($a0)
|
||||
/* f01da3c: 46081282 */ mul.s $f10,$f2,$f8
|
||||
/* f01da40: 3c12800a */ lui $s2,%hi(var8009d0d8)
|
||||
/* f01da44: 460c0400 */ add.s $f16,$f0,$f12
|
||||
/* f01da48: 0080a825 */ or $s5,$a0,$zero
|
||||
/* f01da4c: 2652d0d8 */ addiu $s2,$s2,%lo(var8009d0d8)
|
||||
/* f01da50: 46105482 */ mul.s $f18,$f10,$f16
|
||||
/* f01da54: c48a0000 */ lwc1 $f10,0x0($a0)
|
||||
/* f01da58: 46122180 */ add.s $f6,$f4,$f18
|
||||
/* f01da5c: e4860008 */ swc1 $f6,0x8($a0)
|
||||
/* f01da60: c4880008 */ lwc1 $f8,0x8($a0)
|
||||
/* f01da64: 460a403c */ c.lt.s $f8,$f10
|
||||
/* f01da68: 00000000 */ nop
|
||||
/* f01da6c: 4502004c */ bc1fl .L0f01dba0
|
||||
/* f01da70: c6aa0010 */ lwc1 $f10,0x10($s5)
|
||||
/* f01da74: 8e4e0000 */ lw $t6,0x0($s2)
|
||||
/* f01da78: 3c13800a */ lui $s3,%hi(var8009d0d0)
|
||||
/* f01da7c: 2411ffff */ addiu $s1,$zero,-1
|
||||
/* f01da80: 15c00009 */ bnez $t6,.L0f01daa8
|
||||
/* f01da84: 2673d0d0 */ addiu $s3,$s3,%lo(var8009d0d0)
|
||||
/* f01da88: 8e6f0000 */ lw $t7,0x0($s3)
|
||||
/* f01da8c: 55e00003 */ bnezl $t7,.L0f01da9c
|
||||
/* f01da90: 8e780004 */ lw $t8,0x4($s3)
|
||||
/* f01da94: 00008825 */ or $s1,$zero,$zero
|
||||
/* f01da98: 8e780004 */ lw $t8,0x4($s3)
|
||||
.L0f01da9c:
|
||||
/* f01da9c: 57000003 */ bnezl $t8,.L0f01daac
|
||||
/* f01daa0: 8e990034 */ lw $t9,0x34($s4)
|
||||
/* f01daa4: 24110001 */ addiu $s1,$zero,0x1
|
||||
.L0f01daa8:
|
||||
/* f01daa8: 8e990034 */ lw $t9,0x34($s4)
|
||||
.L0f01daac:
|
||||
/* f01daac: 3c13800a */ lui $s3,%hi(var8009d0d0)
|
||||
/* f01dab0: 2673d0d0 */ addiu $s3,$s3,%lo(var8009d0d0)
|
||||
/* f01dab4: 1b200037 */ blez $t9,.L0f01db94
|
||||
/* f01dab8: 00000000 */ nop
|
||||
/* f01dabc: 06200035 */ bltz $s1,.L0f01db94
|
||||
/* f01dac0: 00000000 */ nop
|
||||
/* f01dac4: 8e820284 */ lw $v0,0x284($s4)
|
||||
/* f01dac8: 24030002 */ addiu $v1,$zero,0x2
|
||||
/* f01dacc: 8c4a0658 */ lw $t2,0x658($v0)
|
||||
/* f01dad0: 106a0030 */ beq $v1,$t2,.L0f01db94
|
||||
/* f01dad4: 00000000 */ nop
|
||||
/* f01dad8: 8c4b0dfc */ lw $t3,0xdfc($v0)
|
||||
/* f01dadc: 106b002d */ beq $v1,$t3,.L0f01db94
|
||||
/* f01dae0: 00000000 */ nop
|
||||
/* f01dae4: 0c004b70 */ jal random
|
||||
/* f01dae8: 00000000 */ nop
|
||||
/* f01daec: 44828000 */ mtc1 $v0,$f16
|
||||
/* f01daf0: 240c0014 */ addiu $t4,$zero,0x10
|
||||
/* f01daf4: 04410005 */ bgez $v0,.L0f01db0c
|
||||
/* f01daf8: 46808120 */ cvt.s.w $f4,$f16
|
||||
/* f01dafc: 3c014f80 */ lui $at,0x4f80
|
||||
/* f01db00: 44819000 */ mtc1 $at,$f18
|
||||
/* f01db04: 00000000 */ nop
|
||||
/* f01db08: 46122100 */ add.s $f4,$f4,$f18
|
||||
.L0f01db0c:
|
||||
/* f01db0c: 3c012f80 */ lui $at,0x2f80
|
||||
/* f01db10: 44813000 */ mtc1 $at,$f6
|
||||
/* f01db14: 3c013e80 */ lui $at,0x3e80
|
||||
/* f01db18: 44815000 */ mtc1 $at,$f10
|
||||
/* f01db1c: 46062202 */ mul.s $f8,$f4,$f6
|
||||
/* f01db20: 3c017f1b */ lui $at,%hi(var7f1a8664)
|
||||
/* f01db24: c4328664 */ lwc1 $f18,%lo(var7f1a8664)($at)
|
||||
/* f01db28: 3c01bf80 */ lui $at,0xbf80
|
||||
/* f01db2c: 44813000 */ mtc1 $at,$f6
|
||||
/* f01db30: 00116880 */ sll $t5,$s1,0x2
|
||||
/* f01db34: ae4c0000 */ sw $t4,0x0($s2)
|
||||
/* f01db38: 460a4402 */ mul.s $f16,$f8,$f10
|
||||
/* f01db3c: 026d8021 */ addu $s0,$s3,$t5
|
||||
/* f01db40: 3c048009 */ lui $a0,%hi(var80095200)
|
||||
/* f01db44: 240effff */ addiu $t6,$zero,-1
|
||||
/* f01db48: 240fffff */ addiu $t7,$zero,-1
|
||||
/* f01db4c: 2418ffff */ addiu $t8,$zero,-1
|
||||
/* f01db50: afb8001c */ sw $t8,0x1c($sp)
|
||||
/* f01db54: 46128100 */ add.s $f4,$f16,$f18
|
||||
/* f01db58: afaf0018 */ sw $t7,0x18($sp)
|
||||
/* f01db5c: afae0010 */ sw $t6,0x10($sp)
|
||||
/* f01db60: 8c845200 */ lw $a0,%lo(var80095200)($a0)
|
||||
/* f01db64: e7a40058 */ swc1 $f4,0x58($sp)
|
||||
/* f01db68: 02003025 */ or $a2,$s0,$zero
|
||||
/* f01db6c: 24058051 */ addiu $a1,$zero,-32687
|
||||
/* f01db70: 2407ffff */ addiu $a3,$zero,-1
|
||||
/* f01db74: 0c004241 */ jal sndStart
|
||||
/* f01db78: e7a60014 */ swc1 $f6,0x14($sp)
|
||||
/* f01db7c: 8e040000 */ lw $a0,0x0($s0)
|
||||
/* f01db80: 24050010 */ addiu $a1,$zero,0x10
|
||||
/* f01db84: 10800003 */ beqz $a0,.L0f01db94
|
||||
/* f01db88: 00000000 */ nop
|
||||
/* f01db8c: 0c00cf94 */ jal audioPostEvent
|
||||
/* f01db90: 8fa60058 */ lw $a2,0x58($sp)
|
||||
.L0f01db94:
|
||||
/* f01db94: 1000006c */ b .L0f01dd48
|
||||
/* f01db98: aea00040 */ sw $zero,0x40($s5)
|
||||
/* f01db9c: c6aa0010 */ lwc1 $f10,0x10($s5)
|
||||
.L0f01dba0:
|
||||
/* f01dba0: c6a60018 */ lwc1 $f6,0x18($s5)
|
||||
/* f01dba4: c6a80004 */ lwc1 $f8,0x4($s5)
|
||||
/* f01dba8: 460a1402 */ mul.s $f16,$f2,$f10
|
||||
/* f01dbac: c6a4000c */ lwc1 $f4,0xc($s5)
|
||||
/* f01dbb0: 3c013980 */ lui $at,0x3980
|
||||
/* f01dbb4: 46061282 */ mul.s $f10,$f2,$f6
|
||||
/* f01dbb8: 44810000 */ mtc1 $at,$f0
|
||||
/* f01dbbc: e6ac0014 */ swc1 $f12,0x14($s5)
|
||||
/* f01dbc0: 27a7008c */ addiu $a3,$sp,0x8c
|
||||
/* f01dbc4: 02a04025 */ or $t0,$s5,$zero
|
||||
/* f01dbc8: 46104480 */ add.s $f18,$f8,$f16
|
||||
/* f01dbcc: 27a60068 */ addiu $a2,$sp,0x68
|
||||
/* f01dbd0: 24100003 */ addiu $s0,$zero,0x3
|
||||
/* f01dbd4: 460a2200 */ add.s $f8,$f4,$f10
|
||||
/* f01dbd8: e6b20004 */ swc1 $f18,0x4($s5)
|
||||
/* f01dbdc: 27a9008c */ addiu $t1,$sp,0x8c
|
||||
/* f01dbe0: e6a8000c */ swc1 $f8,0xc($s5)
|
||||
.L0f01dbe4:
|
||||
/* f01dbe4: 00001825 */ or $v1,$zero,$zero
|
||||
/* f01dbe8: 00e02825 */ or $a1,$a3,$zero
|
||||
/* f01dbec: 01001025 */ or $v0,$t0,$zero
|
||||
/* f01dbf0: 00c02025 */ or $a0,$a2,$zero
|
||||
/* f01dbf4: 8459002e */ lh $t9,0x2e($v0)
|
||||
/* f01dbf8: 24630001 */ addiu $v1,$v1,0x1
|
||||
/* f01dbfc: 44998000 */ mtc1 $t9,$f16
|
||||
/* f01dc00: 00000000 */ nop
|
||||
/* f01dc04: 46808420 */ cvt.s.w $f16,$f16
|
||||
/* f01dc08: 46008482 */ mul.s $f18,$f16,$f0
|
||||
/* f01dc0c: 50700013 */ beql $v1,$s0,.L0f01dc5c
|
||||
/* f01dc10: e4b20000 */ swc1 $f18,0x0($a1)
|
||||
/* f01dc14: e4b20000 */ swc1 $f18,0x0($a1)
|
||||
.L0f01dc18:
|
||||
/* f01dc18: 844a001c */ lh $t2,0x1c($v0)
|
||||
/* f01dc1c: 24630001 */ addiu $v1,$v1,0x1
|
||||
/* f01dc20: 24a50004 */ addiu $a1,$a1,0x4
|
||||
/* f01dc24: 448a8000 */ mtc1 $t2,$f16
|
||||
/* f01dc28: 24420002 */ addiu $v0,$v0,0x2
|
||||
/* f01dc2c: 24840004 */ addiu $a0,$a0,4
|
||||
/* f01dc30: 46808420 */ cvt.s.w $f16,$f16
|
||||
/* f01dc34: 46008402 */ mul.s $f16,$f16,$f0
|
||||
/* f01dc38: e490fffc */ swc1 $f16,-0x4($a0)
|
||||
/* f01dc3c: 8459002e */ lh $t9,0x2e($v0)
|
||||
/* f01dc40: 44998000 */ mtc1 $t9,$f16
|
||||
/* f01dc44: 00000000 */ nop
|
||||
/* f01dc48: 46808420 */ cvt.s.w $f16,$f16
|
||||
/* f01dc4c: 46008482 */ mul.s $f18,$f16,$f0
|
||||
/* f01dc50: 5470fff1 */ bnel $v1,$s0,.L0f01dc18
|
||||
/* f01dc54: e4b20000 */ swc1 $f18,0x0($a1)
|
||||
/* f01dc58: e4b20000 */ swc1 $f18,0x0($a1)
|
||||
.L0f01dc5c:
|
||||
/* f01dc5c: 844a001c */ lh $t2,0x1c($v0)
|
||||
/* f01dc60: 24a50004 */ addiu $a1,$a1,0x4
|
||||
/* f01dc64: 24420002 */ addiu $v0,$v0,0x2
|
||||
/* f01dc68: 448a8000 */ mtc1 $t2,$f16
|
||||
/* f01dc6c: 24840004 */ addiu $a0,$a0,0x4
|
||||
/* f01dc70: 46808420 */ cvt.s.w $f16,$f16
|
||||
/* f01dc74: 46008402 */ mul.s $f16,$f16,$f0
|
||||
/* f01dc78: e490fffc */ swc1 $f16,-0x4($a0)
|
||||
/* f01dc7c: 24c6000c */ addiu $a2,$a2,0xc
|
||||
/* f01dc80: 00c9082b */ sltu $at,$a2,$t1
|
||||
/* f01dc84: 24e7000c */ addiu $a3,$a3,0xc
|
||||
/* f01dc88: 1420ffd6 */ bnez $at,.L0f01dbe4
|
||||
/* f01dc8c: 25080006 */ addiu $t0,$t0,0x6
|
||||
/* f01dc90: 8e8b0034 */ lw $t3,0x34($s4)
|
||||
/* f01dc94: 00008825 */ or $s1,$zero,$zero
|
||||
/* f01dc98: 27b30068 */ addiu $s3,$sp,0x68
|
||||
/* f01dc9c: 19600009 */ blez $t3,.L0f01dcc4
|
||||
/* f01dca0: 27b2008c */ addiu $s2,$sp,0x8c
|
||||
/* f01dca4: 02402025 */ or $a0,$s2,$zero
|
||||
.L0f01dca8:
|
||||
/* f01dca8: 0c005844 */ jal mtx00016110
|
||||
/* f01dcac: 02602825 */ or $a1,$s3,$zero
|
||||
/* f01dcb0: 8e8c0034 */ lw $t4,0x34($s4)
|
||||
/* f01dcb4: 26310001 */ addiu $s1,$s1,0x1
|
||||
/* f01dcb8: 022c082a */ slt $at,$s1,$t4
|
||||
/* f01dcbc: 5420fffa */ bnezl $at,.L0f01dca8
|
||||
/* f01dcc0: 02402025 */ or $a0,$s2,$zero
|
||||
.L0f01dcc4:
|
||||
/* f01dcc4: 3c014580 */ lui $at,0x4580
|
||||
/* f01dcc8: 44810000 */ mtc1 $at,$f0
|
||||
/* f01dccc: 02a04025 */ or $t0,$s5,$zero
|
||||
/* f01dcd0: 27a60068 */ addiu $a2,$sp,0x68
|
||||
/* f01dcd4: 27a5008c */ addiu $a1,$sp,0x8c
|
||||
.L0f01dcd8:
|
||||
/* f01dcd8: 00001825 */ or $v1,$zero,$zero
|
||||
/* f01dcdc: 01001025 */ or $v0,$t0,$zero
|
||||
/* f01dce0: 00c02025 */ or $a0,$a2,$zero
|
||||
/* f01dce4: c4900000 */ lwc1 $f16,0x0($a0)
|
||||
/* f01dce8: 24630001 */ addiu $v1,$v1,0x1
|
||||
/* f01dcec: 46008482 */ mul.s $f18,$f16,$f0
|
||||
/* f01dcf0: 5070000d */ beql $v1,$s0,.L0f01dd28
|
||||
/* f01dcf4: 4600940d */ trunc.w.s $f16,$f18
|
||||
/* f01dcf8: 4600940d */ trunc.w.s $f16,$f18
|
||||
.L0f01dcfc:
|
||||
/* f01dcfc: 24630001 */ addiu $v1,$v1,0x1
|
||||
/* f01dd00: 24420002 */ addiu $v0,$v0,0x2
|
||||
/* f01dd04: 24840004 */ addiu $a0,$a0,0x4
|
||||
/* f01dd08: 440e8000 */ mfc1 $t6,$f16
|
||||
/* f01dd0c: 00000000 */ nop
|
||||
/* f01dd10: a44e001a */ sh $t6,0x1a($v0)
|
||||
/* f01dd14: c4900000 */ lwc1 $f16,0x0($a0)
|
||||
/* f01dd18: 46008482 */ mul.s $f18,$f16,$f0
|
||||
/* f01dd1c: 5470fff7 */ bnel $v1,$s0,.L0f01dcfc
|
||||
/* f01dd20: 4600940d */ trunc.w.s $f16,$f18
|
||||
/* f01dd24: 4600940d */ trunc.w.s $f16,$f18
|
||||
.L0f01dd28:
|
||||
/* f01dd28: 24420002 */ addiu $v0,$v0,0x2
|
||||
/* f01dd2c: 24840004 */ addiu $a0,$a0,0x4
|
||||
/* f01dd30: 440e8000 */ mfc1 $t6,$f16
|
||||
/* f01dd34: 00000000 */ nop
|
||||
/* f01dd38: a44e001a */ sh $t6,0x1a($v0)
|
||||
/* f01dd3c: 24c6000c */ addiu $a2,$a2,0xc
|
||||
/* f01dd40: 14c5ffe5 */ bne $a2,$a1,.L0f01dcd8
|
||||
/* f01dd44: 25080006 */ addiu $t0,$t0,0x6
|
||||
.L0f01dd48:
|
||||
/* f01dd48: 8fbf003c */ lw $ra,0x3c($sp)
|
||||
/* f01dd4c: 8fb00024 */ lw $s0,0x24($sp)
|
||||
/* f01dd50: 8fb10028 */ lw $s1,0x28($sp)
|
||||
/* f01dd54: 8fb2002c */ lw $s2,0x2c($sp)
|
||||
/* f01dd58: 8fb30030 */ lw $s3,0x30($sp)
|
||||
/* f01dd5c: 8fb40034 */ lw $s4,0x34($sp)
|
||||
/* f01dd60: 8fb50038 */ lw $s5,0x38($sp)
|
||||
/* f01dd64: 03e00008 */ jr $ra
|
||||
/* f01dd68: 27bd00b8 */ addiu $sp,$sp,0xb8
|
||||
);
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
glabel casingTick
|
||||
/* f01d9f0: 27bdff48 */ addiu $sp,$sp,-184
|
||||
/* f01d9f4: afb40034 */ sw $s4,0x34($sp)
|
||||
/* f01d9f8: 3c14800a */ lui $s4,%hi(g_Vars)
|
||||
/* f01d9fc: 26949fc0 */ addiu $s4,$s4,%lo(g_Vars)
|
||||
/* f01da00: 3c017f1b */ lui $at,%hi(var7f1a8660)
|
||||
/* f01da04: c682004c */ lwc1 $f2,0x4c($s4)
|
||||
/* f01da08: c4248660 */ lwc1 $f4,%lo(var7f1a8660)($at)
|
||||
/* f01da0c: afbf003c */ sw $ra,0x3c($sp)
|
||||
/* f01da10: afb50038 */ sw $s5,0x38($sp)
|
||||
/* f01da14: 46041182 */ mul.s $f6,$f2,$f4
|
||||
/* f01da18: afb30030 */ sw $s3,0x30($sp)
|
||||
/* f01da1c: afb2002c */ sw $s2,0x2c($sp)
|
||||
/* f01da20: afb10028 */ sw $s1,0x28($sp)
|
||||
/* f01da24: afb00024 */ sw $s0,0x24($sp)
|
||||
/* f01da28: c4800014 */ lwc1 $f0,0x14($a0)
|
||||
/* f01da2c: 3c013f00 */ lui $at,0x3f00
|
||||
/* f01da30: 44814000 */ mtc1 $at,$f8
|
||||
/* f01da34: 46060301 */ sub.s $f12,$f0,$f6
|
||||
/* f01da38: c4840008 */ lwc1 $f4,0x8($a0)
|
||||
/* f01da3c: 46081282 */ mul.s $f10,$f2,$f8
|
||||
/* f01da40: 3c12800a */ lui $s2,%hi(var8009d0d8)
|
||||
/* f01da44: 460c0400 */ add.s $f16,$f0,$f12
|
||||
/* f01da48: 0080a825 */ or $s5,$a0,$zero
|
||||
/* f01da4c: 2652d0d8 */ addiu $s2,$s2,%lo(var8009d0d8)
|
||||
/* f01da50: 46105482 */ mul.s $f18,$f10,$f16
|
||||
/* f01da54: c48a0000 */ lwc1 $f10,0x0($a0)
|
||||
/* f01da58: 46122180 */ add.s $f6,$f4,$f18
|
||||
/* f01da5c: e4860008 */ swc1 $f6,0x8($a0)
|
||||
/* f01da60: c4880008 */ lwc1 $f8,0x8($a0)
|
||||
/* f01da64: 460a403c */ c.lt.s $f8,$f10
|
||||
/* f01da68: 00000000 */ nop
|
||||
/* f01da6c: 4502004c */ bc1fl .L0f01dba0
|
||||
/* f01da70: c6aa0010 */ lwc1 $f10,0x10($s5)
|
||||
/* f01da74: 8e4e0000 */ lw $t6,0x0($s2)
|
||||
/* f01da78: 3c13800a */ lui $s3,%hi(var8009d0d0)
|
||||
/* f01da7c: 2411ffff */ addiu $s1,$zero,-1
|
||||
/* f01da80: 15c00009 */ bnez $t6,.L0f01daa8
|
||||
/* f01da84: 2673d0d0 */ addiu $s3,$s3,%lo(var8009d0d0)
|
||||
/* f01da88: 8e6f0000 */ lw $t7,0x0($s3)
|
||||
/* f01da8c: 55e00003 */ bnezl $t7,.L0f01da9c
|
||||
/* f01da90: 8e780004 */ lw $t8,0x4($s3)
|
||||
/* f01da94: 00008825 */ or $s1,$zero,$zero
|
||||
/* f01da98: 8e780004 */ lw $t8,0x4($s3)
|
||||
.L0f01da9c:
|
||||
/* f01da9c: 57000003 */ bnezl $t8,.L0f01daac
|
||||
/* f01daa0: 8e990034 */ lw $t9,0x34($s4)
|
||||
/* f01daa4: 24110001 */ addiu $s1,$zero,0x1
|
||||
.L0f01daa8:
|
||||
/* f01daa8: 8e990034 */ lw $t9,0x34($s4)
|
||||
.L0f01daac:
|
||||
/* f01daac: 3c13800a */ lui $s3,%hi(var8009d0d0)
|
||||
/* f01dab0: 2673d0d0 */ addiu $s3,$s3,%lo(var8009d0d0)
|
||||
/* f01dab4: 1b200037 */ blez $t9,.L0f01db94
|
||||
/* f01dab8: 00000000 */ nop
|
||||
/* f01dabc: 06200035 */ bltz $s1,.L0f01db94
|
||||
/* f01dac0: 00000000 */ nop
|
||||
/* f01dac4: 8e820284 */ lw $v0,0x284($s4)
|
||||
/* f01dac8: 24030002 */ addiu $v1,$zero,0x2
|
||||
/* f01dacc: 8c4a0658 */ lw $t2,0x658($v0)
|
||||
/* f01dad0: 106a0030 */ beq $v1,$t2,.L0f01db94
|
||||
/* f01dad4: 00000000 */ nop
|
||||
/* f01dad8: 8c4b0dfc */ lw $t3,0xdfc($v0)
|
||||
/* f01dadc: 106b002d */ beq $v1,$t3,.L0f01db94
|
||||
/* f01dae0: 00000000 */ nop
|
||||
/* f01dae4: 0c004b70 */ jal random
|
||||
/* f01dae8: 00000000 */ nop
|
||||
/* f01daec: 44828000 */ mtc1 $v0,$f16
|
||||
/* f01daf0: 240c0014 */ addiu $t4,$zero,0x14
|
||||
/* f01daf4: 04410005 */ bgez $v0,.L0f01db0c
|
||||
/* f01daf8: 46808120 */ cvt.s.w $f4,$f16
|
||||
/* f01dafc: 3c014f80 */ lui $at,0x4f80
|
||||
/* f01db00: 44819000 */ mtc1 $at,$f18
|
||||
/* f01db04: 00000000 */ nop
|
||||
/* f01db08: 46122100 */ add.s $f4,$f4,$f18
|
||||
.L0f01db0c:
|
||||
/* f01db0c: 3c012f80 */ lui $at,0x2f80
|
||||
/* f01db10: 44813000 */ mtc1 $at,$f6
|
||||
/* f01db14: 3c013e80 */ lui $at,0x3e80
|
||||
/* f01db18: 44815000 */ mtc1 $at,$f10
|
||||
/* f01db1c: 46062202 */ mul.s $f8,$f4,$f6
|
||||
/* f01db20: 3c017f1b */ lui $at,%hi(var7f1a8664)
|
||||
/* f01db24: c4328664 */ lwc1 $f18,%lo(var7f1a8664)($at)
|
||||
/* f01db28: 3c01bf80 */ lui $at,0xbf80
|
||||
/* f01db2c: 44813000 */ mtc1 $at,$f6
|
||||
/* f01db30: 00116880 */ sll $t5,$s1,0x2
|
||||
/* f01db34: ae4c0000 */ sw $t4,0x0($s2)
|
||||
/* f01db38: 460a4402 */ mul.s $f16,$f8,$f10
|
||||
/* f01db3c: 026d8021 */ addu $s0,$s3,$t5
|
||||
/* f01db40: 3c048009 */ lui $a0,%hi(var80095200)
|
||||
/* f01db44: 240effff */ addiu $t6,$zero,-1
|
||||
/* f01db48: 240fffff */ addiu $t7,$zero,-1
|
||||
/* f01db4c: 2418ffff */ addiu $t8,$zero,-1
|
||||
/* f01db50: afb8001c */ sw $t8,0x1c($sp)
|
||||
/* f01db54: 46128100 */ add.s $f4,$f16,$f18
|
||||
/* f01db58: afaf0018 */ sw $t7,0x18($sp)
|
||||
/* f01db5c: afae0010 */ sw $t6,0x10($sp)
|
||||
/* f01db60: 8c845200 */ lw $a0,%lo(var80095200)($a0)
|
||||
/* f01db64: e7a40058 */ swc1 $f4,0x58($sp)
|
||||
/* f01db68: 02003025 */ or $a2,$s0,$zero
|
||||
/* f01db6c: 24058051 */ addiu $a1,$zero,-32687
|
||||
/* f01db70: 2407ffff */ addiu $a3,$zero,-1
|
||||
/* f01db74: 0c004241 */ jal sndStart
|
||||
/* f01db78: e7a60014 */ swc1 $f6,0x14($sp)
|
||||
/* f01db7c: 8e040000 */ lw $a0,0x0($s0)
|
||||
/* f01db80: 24050010 */ addiu $a1,$zero,0x10
|
||||
/* f01db84: 10800003 */ beqz $a0,.L0f01db94
|
||||
/* f01db88: 00000000 */ nop
|
||||
/* f01db8c: 0c00cf94 */ jal audioPostEvent
|
||||
/* f01db90: 8fa60058 */ lw $a2,0x58($sp)
|
||||
.L0f01db94:
|
||||
/* f01db94: 1000006c */ b .L0f01dd48
|
||||
/* f01db98: aea00040 */ sw $zero,0x40($s5)
|
||||
/* f01db9c: c6aa0010 */ lwc1 $f10,0x10($s5)
|
||||
.L0f01dba0:
|
||||
/* f01dba0: c6a60018 */ lwc1 $f6,0x18($s5)
|
||||
/* f01dba4: c6a80004 */ lwc1 $f8,0x4($s5)
|
||||
/* f01dba8: 460a1402 */ mul.s $f16,$f2,$f10
|
||||
/* f01dbac: c6a4000c */ lwc1 $f4,0xc($s5)
|
||||
/* f01dbb0: 3c013980 */ lui $at,0x3980
|
||||
/* f01dbb4: 46061282 */ mul.s $f10,$f2,$f6
|
||||
/* f01dbb8: 44810000 */ mtc1 $at,$f0
|
||||
/* f01dbbc: e6ac0014 */ swc1 $f12,0x14($s5)
|
||||
/* f01dbc0: 27a7008c */ addiu $a3,$sp,0x8c
|
||||
/* f01dbc4: 02a04025 */ or $t0,$s5,$zero
|
||||
/* f01dbc8: 46104480 */ add.s $f18,$f8,$f16
|
||||
/* f01dbcc: 27a60068 */ addiu $a2,$sp,0x68
|
||||
/* f01dbd0: 24100003 */ addiu $s0,$zero,0x3
|
||||
/* f01dbd4: 460a2200 */ add.s $f8,$f4,$f10
|
||||
/* f01dbd8: e6b20004 */ swc1 $f18,0x4($s5)
|
||||
/* f01dbdc: 27a9008c */ addiu $t1,$sp,0x8c
|
||||
/* f01dbe0: e6a8000c */ swc1 $f8,0xc($s5)
|
||||
.L0f01dbe4:
|
||||
/* f01dbe4: 00001825 */ or $v1,$zero,$zero
|
||||
/* f01dbe8: 00e02825 */ or $a1,$a3,$zero
|
||||
/* f01dbec: 01001025 */ or $v0,$t0,$zero
|
||||
/* f01dbf0: 00c02025 */ or $a0,$a2,$zero
|
||||
/* f01dbf4: 8459002e */ lh $t9,0x2e($v0)
|
||||
/* f01dbf8: 24630001 */ addiu $v1,$v1,0x1
|
||||
/* f01dbfc: 44998000 */ mtc1 $t9,$f16
|
||||
/* f01dc00: 00000000 */ nop
|
||||
/* f01dc04: 46808420 */ cvt.s.w $f16,$f16
|
||||
/* f01dc08: 46008482 */ mul.s $f18,$f16,$f0
|
||||
/* f01dc0c: 50700013 */ beql $v1,$s0,.L0f01dc5c
|
||||
/* f01dc10: e4b20000 */ swc1 $f18,0x0($a1)
|
||||
/* f01dc14: e4b20000 */ swc1 $f18,0x0($a1)
|
||||
.L0f01dc18:
|
||||
/* f01dc18: 844a001c */ lh $t2,0x1c($v0)
|
||||
/* f01dc1c: 24630001 */ addiu $v1,$v1,0x1
|
||||
/* f01dc20: 24a50004 */ addiu $a1,$a1,0x4
|
||||
/* f01dc24: 448a8000 */ mtc1 $t2,$f16
|
||||
/* f01dc28: 24420002 */ addiu $v0,$v0,0x2
|
||||
/* f01dc2c: 24840004 */ addiu $a0,$a0,4
|
||||
/* f01dc30: 46808420 */ cvt.s.w $f16,$f16
|
||||
/* f01dc34: 46008402 */ mul.s $f16,$f16,$f0
|
||||
/* f01dc38: e490fffc */ swc1 $f16,-0x4($a0)
|
||||
/* f01dc3c: 8459002e */ lh $t9,0x2e($v0)
|
||||
/* f01dc40: 44998000 */ mtc1 $t9,$f16
|
||||
/* f01dc44: 00000000 */ nop
|
||||
/* f01dc48: 46808420 */ cvt.s.w $f16,$f16
|
||||
/* f01dc4c: 46008482 */ mul.s $f18,$f16,$f0
|
||||
/* f01dc50: 5470fff1 */ bnel $v1,$s0,.L0f01dc18
|
||||
/* f01dc54: e4b20000 */ swc1 $f18,0x0($a1)
|
||||
/* f01dc58: e4b20000 */ swc1 $f18,0x0($a1)
|
||||
.L0f01dc5c:
|
||||
/* f01dc5c: 844a001c */ lh $t2,0x1c($v0)
|
||||
/* f01dc60: 24a50004 */ addiu $a1,$a1,0x4
|
||||
/* f01dc64: 24420002 */ addiu $v0,$v0,0x2
|
||||
/* f01dc68: 448a8000 */ mtc1 $t2,$f16
|
||||
/* f01dc6c: 24840004 */ addiu $a0,$a0,0x4
|
||||
/* f01dc70: 46808420 */ cvt.s.w $f16,$f16
|
||||
/* f01dc74: 46008402 */ mul.s $f16,$f16,$f0
|
||||
/* f01dc78: e490fffc */ swc1 $f16,-0x4($a0)
|
||||
/* f01dc7c: 24c6000c */ addiu $a2,$a2,0xc
|
||||
/* f01dc80: 00c9082b */ sltu $at,$a2,$t1
|
||||
/* f01dc84: 24e7000c */ addiu $a3,$a3,0xc
|
||||
/* f01dc88: 1420ffd6 */ bnez $at,.L0f01dbe4
|
||||
/* f01dc8c: 25080006 */ addiu $t0,$t0,0x6
|
||||
/* f01dc90: 8e8b0034 */ lw $t3,0x34($s4)
|
||||
/* f01dc94: 00008825 */ or $s1,$zero,$zero
|
||||
/* f01dc98: 27b30068 */ addiu $s3,$sp,0x68
|
||||
/* f01dc9c: 19600009 */ blez $t3,.L0f01dcc4
|
||||
/* f01dca0: 27b2008c */ addiu $s2,$sp,0x8c
|
||||
/* f01dca4: 02402025 */ or $a0,$s2,$zero
|
||||
.L0f01dca8:
|
||||
/* f01dca8: 0c005844 */ jal mtx00016110
|
||||
/* f01dcac: 02602825 */ or $a1,$s3,$zero
|
||||
/* f01dcb0: 8e8c0034 */ lw $t4,0x34($s4)
|
||||
/* f01dcb4: 26310001 */ addiu $s1,$s1,0x1
|
||||
/* f01dcb8: 022c082a */ slt $at,$s1,$t4
|
||||
/* f01dcbc: 5420fffa */ bnezl $at,.L0f01dca8
|
||||
/* f01dcc0: 02402025 */ or $a0,$s2,$zero
|
||||
.L0f01dcc4:
|
||||
/* f01dcc4: 3c014580 */ lui $at,0x4580
|
||||
/* f01dcc8: 44810000 */ mtc1 $at,$f0
|
||||
/* f01dccc: 02a04025 */ or $t0,$s5,$zero
|
||||
/* f01dcd0: 27a60068 */ addiu $a2,$sp,0x68
|
||||
/* f01dcd4: 27a5008c */ addiu $a1,$sp,0x8c
|
||||
.L0f01dcd8:
|
||||
/* f01dcd8: 00001825 */ or $v1,$zero,$zero
|
||||
/* f01dcdc: 01001025 */ or $v0,$t0,$zero
|
||||
/* f01dce0: 00c02025 */ or $a0,$a2,$zero
|
||||
/* f01dce4: c4900000 */ lwc1 $f16,0x0($a0)
|
||||
/* f01dce8: 24630001 */ addiu $v1,$v1,0x1
|
||||
/* f01dcec: 46008482 */ mul.s $f18,$f16,$f0
|
||||
/* f01dcf0: 5070000d */ beql $v1,$s0,.L0f01dd28
|
||||
/* f01dcf4: 4600940d */ trunc.w.s $f16,$f18
|
||||
/* f01dcf8: 4600940d */ trunc.w.s $f16,$f18
|
||||
.L0f01dcfc:
|
||||
/* f01dcfc: 24630001 */ addiu $v1,$v1,0x1
|
||||
/* f01dd00: 24420002 */ addiu $v0,$v0,0x2
|
||||
/* f01dd04: 24840004 */ addiu $a0,$a0,0x4
|
||||
/* f01dd08: 440e8000 */ mfc1 $t6,$f16
|
||||
/* f01dd0c: 00000000 */ nop
|
||||
/* f01dd10: a44e001a */ sh $t6,0x1a($v0)
|
||||
/* f01dd14: c4900000 */ lwc1 $f16,0x0($a0)
|
||||
/* f01dd18: 46008482 */ mul.s $f18,$f16,$f0
|
||||
/* f01dd1c: 5470fff7 */ bnel $v1,$s0,.L0f01dcfc
|
||||
/* f01dd20: 4600940d */ trunc.w.s $f16,$f18
|
||||
/* f01dd24: 4600940d */ trunc.w.s $f16,$f18
|
||||
.L0f01dd28:
|
||||
/* f01dd28: 24420002 */ addiu $v0,$v0,0x2
|
||||
/* f01dd2c: 24840004 */ addiu $a0,$a0,0x4
|
||||
/* f01dd30: 440e8000 */ mfc1 $t6,$f16
|
||||
/* f01dd34: 00000000 */ nop
|
||||
/* f01dd38: a44e001a */ sh $t6,0x1a($v0)
|
||||
/* f01dd3c: 24c6000c */ addiu $a2,$a2,0xc
|
||||
/* f01dd40: 14c5ffe5 */ bne $a2,$a1,.L0f01dcd8
|
||||
/* f01dd44: 25080006 */ addiu $t0,$t0,0x6
|
||||
.L0f01dd48:
|
||||
/* f01dd48: 8fbf003c */ lw $ra,0x3c($sp)
|
||||
/* f01dd4c: 8fb00024 */ lw $s0,0x24($sp)
|
||||
/* f01dd50: 8fb10028 */ lw $s1,0x28($sp)
|
||||
/* f01dd54: 8fb2002c */ lw $s2,0x2c($sp)
|
||||
/* f01dd58: 8fb30030 */ lw $s3,0x30($sp)
|
||||
/* f01dd5c: 8fb40034 */ lw $s4,0x34($sp)
|
||||
/* f01dd60: 8fb50038 */ lw $s5,0x38($sp)
|
||||
/* f01dd64: 03e00008 */ jr $ra
|
||||
/* f01dd68: 27bd00b8 */ addiu $sp,$sp,0xb8
|
||||
);
|
||||
#endif
|
||||
tmp2 = lvupdate * (1.0f / 3.6f);
|
||||
tmp = casing->unk14 - tmp2;
|
||||
casing->unk08 += lvupdate * 0.5f * (casing->unk14 + tmp);
|
||||
|
||||
if (casing->unk00 > casing->unk08) {
|
||||
i = -1;
|
||||
|
||||
if (var8009d0d8 == 0) {
|
||||
if (g_CasingAudioHandles[0] == NULL) {
|
||||
i = 0;
|
||||
}
|
||||
|
||||
if (g_CasingAudioHandles[1] == NULL) {
|
||||
i = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (g_Vars.lvupdate240 > 0
|
||||
&& i >= 0
|
||||
&& g_Vars.currentplayer->hands[0].mode != HANDMODE_2
|
||||
&& g_Vars.currentplayer->hands[1].mode != HANDMODE_2) {
|
||||
sp58 = random() * (1.0f / U32_MAX) * 0.25f + 0.98f;
|
||||
|
||||
var8009d0d8 = PALDOWN(20);
|
||||
sndStart(var80095200, SFX_8051, &g_CasingAudioHandles[i], -1, -1, -1.0f, -1, -1);
|
||||
|
||||
if (g_CasingAudioHandles[i]) {
|
||||
audioPostEvent(g_CasingAudioHandles[i], 0x10, *(s32 *)&sp58);
|
||||
}
|
||||
}
|
||||
|
||||
casing->unk40 = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
casing->unk14 = tmp;
|
||||
casing->unk04 += lvupdate * casing->unk10;
|
||||
casing->unk0c += lvupdate * casing->unk18;
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
for (j = 0; j < 3; j++) {
|
||||
sp8c[i][j] = casing->unk28[i][j] * (1.0f / 4096.0f);
|
||||
sp68[i][j] = casing->unk1c[i][j] * (1.0f / 4096.0f);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < g_Vars.lvupdate240; i++) {
|
||||
mtx00016110(sp8c, sp68);
|
||||
}
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
for (j = 0; j < 3; j++) {
|
||||
casing->unk1c[i][j] = sp68[i][j] * 4096.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void casingsTick(void)
|
||||
{
|
||||
|
||||
+1
-1
@@ -124,7 +124,7 @@ extern struct briefingobj *g_BriefingObjs;
|
||||
extern struct criteria_roomentered *g_RoomEnteredCriterias;
|
||||
extern struct criteria_multiroomentered *g_MultiroomEnteredCriterias;
|
||||
extern struct criteria_holograph *g_HolographCriterias;
|
||||
extern u32 var8009d0d0[2];
|
||||
extern struct sndstate *g_CasingAudioHandles[2];
|
||||
extern s32 var8009d0d8;
|
||||
extern struct sndstate *g_BgunAudioHandles[4];
|
||||
extern struct fireslot g_Fireslots[NUM_FIRESLOTS];
|
||||
|
||||
@@ -1138,6 +1138,7 @@
|
||||
|
||||
#define HANDMODE_NONE 0
|
||||
#define HANDMODE_1 1
|
||||
#define HANDMODE_2 2
|
||||
#define HANDMODE_6 6
|
||||
#define HANDMODE_7 7
|
||||
#define HANDMODE_8 8
|
||||
|
||||
+9
-16
@@ -6108,22 +6108,15 @@ struct musicevent {
|
||||
};
|
||||
|
||||
struct casing {
|
||||
/*0x00*/ u32 unk00;
|
||||
/*0x04*/ u32 unk04;
|
||||
/*0x08*/ u32 unk08;
|
||||
/*0x0c*/ u32 unk0c;
|
||||
/*0x10*/ u32 unk10;
|
||||
/*0x14*/ u32 unk14;
|
||||
/*0x18*/ u32 unk18;
|
||||
/*0x1c*/ u32 unk1c;
|
||||
/*0x20*/ u32 unk20;
|
||||
/*0x24*/ u32 unk24;
|
||||
/*0x28*/ u32 unk28;
|
||||
/*0x2c*/ u32 unk2c;
|
||||
/*0x30*/ u32 unk30;
|
||||
/*0x34*/ u32 unk34;
|
||||
/*0x38*/ u32 unk38;
|
||||
/*0x3c*/ u32 unk3c;
|
||||
/*0x00*/ f32 unk00;
|
||||
/*0x04*/ f32 unk04;
|
||||
/*0x08*/ f32 unk08;
|
||||
/*0x0c*/ f32 unk0c;
|
||||
/*0x10*/ f32 unk10;
|
||||
/*0x14*/ f32 unk14;
|
||||
/*0x18*/ f32 unk18;
|
||||
/*0x1c*/ s16 unk1c[3][3];
|
||||
/*0x28*/ s16 unk28[3][3];
|
||||
/*0x40*/ u32 unk40;
|
||||
};
|
||||
|
||||
|
||||
Reference in new issue
Block a user