mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-07-29 15:33:02 -04:00
Decompile func0f16cfe8
This commit is contained in:
@@ -29,7 +29,7 @@ s32 var800840dc = 0;
|
||||
u32 var800840e0 = 0x0000000f;
|
||||
u32 var800840e4 = 0x00000000;
|
||||
s32 var800840e8 = 0;
|
||||
u32 var800840ec = 0x50000000;
|
||||
u16 var800840ec = 0x5000;
|
||||
u32 var800840f0 = 0x00000000;
|
||||
u32 var800840f4 = 0x00000000;
|
||||
u32 var800840f8 = 0x00000078;
|
||||
|
||||
+16
-54
@@ -41,60 +41,22 @@ glabel func0f16cfa0
|
||||
/* f16cfe4: 00000000 */ nop
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f16cfe8
|
||||
/* f16cfe8: 27bdffc8 */ addiu $sp,$sp,-56
|
||||
/* f16cfec: afb60030 */ sw $s6,0x30($sp)
|
||||
/* f16cff0: 3096ffff */ andi $s6,$a0,0xffff
|
||||
/* f16cff4: 2ac15001 */ slti $at,$s6,0x5001
|
||||
/* f16cff8: afbf0034 */ sw $ra,0x34($sp)
|
||||
/* f16cffc: afb5002c */ sw $s5,0x2c($sp)
|
||||
/* f16d000: afb40028 */ sw $s4,0x28($sp)
|
||||
/* f16d004: afb30024 */ sw $s3,0x24($sp)
|
||||
/* f16d008: afb20020 */ sw $s2,0x20($sp)
|
||||
/* f16d00c: afb1001c */ sw $s1,0x1c($sp)
|
||||
/* f16d010: afb00018 */ sw $s0,0x18($sp)
|
||||
/* f16d014: 14200002 */ bnez $at,.L0f16d020
|
||||
/* f16d018: afa40038 */ sw $a0,0x38($sp)
|
||||
/* f16d01c: 24165000 */ addiu $s6,$zero,0x5000
|
||||
.L0f16d020:
|
||||
/* f16d020: 3c11800b */ lui $s1,%hi(var800aaa38)
|
||||
/* f16d024: 3c138009 */ lui $s3,%hi(var80094ed8)
|
||||
/* f16d028: 26734ed8 */ addiu $s3,$s3,%lo(var80094ed8)
|
||||
/* f16d02c: 2631aa38 */ addiu $s1,$s1,%lo(var800aaa38)
|
||||
/* f16d030: 00008025 */ or $s0,$zero,$zero
|
||||
/* f16d034: 24150003 */ addiu $s5,$zero,0x3
|
||||
/* f16d038: 24140108 */ addiu $s4,$zero,0x108
|
||||
/* f16d03c: 24120005 */ addiu $s2,$zero,0x5
|
||||
.L0f16d040:
|
||||
/* f16d040: 8e220000 */ lw $v0,0x0($s1)
|
||||
/* f16d044: 5040000a */ beqzl $v0,.L0f16d070
|
||||
/* f16d048: 26100001 */ addiu $s0,$s0,0x1
|
||||
/* f16d04c: 52420008 */ beql $s2,$v0,.L0f16d070
|
||||
/* f16d050: 26100001 */ addiu $s0,$s0,0x1
|
||||
/* f16d054: 02140019 */ multu $s0,$s4
|
||||
/* f16d058: 32c5ffff */ andi $a1,$s6,0xffff
|
||||
/* f16d05c: 00007012 */ mflo $t6
|
||||
/* f16d060: 026e2021 */ addu $a0,$s3,$t6
|
||||
/* f16d064: 0c003f67 */ jal func0000fd9c
|
||||
/* f16d068: 00000000 */ nop
|
||||
/* f16d06c: 26100001 */ addiu $s0,$s0,0x1
|
||||
.L0f16d070:
|
||||
/* f16d070: 1615fff3 */ bne $s0,$s5,.L0f16d040
|
||||
/* f16d074: 26310010 */ addiu $s1,$s1,0x10
|
||||
/* f16d078: 8fbf0034 */ lw $ra,0x34($sp)
|
||||
/* f16d07c: 3c018008 */ lui $at,%hi(var800840ec)
|
||||
/* f16d080: a43640ec */ sh $s6,%lo(var800840ec)($at)
|
||||
/* f16d084: 8fb60030 */ lw $s6,0x30($sp)
|
||||
/* f16d088: 8fb00018 */ lw $s0,0x18($sp)
|
||||
/* f16d08c: 8fb1001c */ lw $s1,0x1c($sp)
|
||||
/* f16d090: 8fb20020 */ lw $s2,0x20($sp)
|
||||
/* f16d094: 8fb30024 */ lw $s3,0x24($sp)
|
||||
/* f16d098: 8fb40028 */ lw $s4,0x28($sp)
|
||||
/* f16d09c: 8fb5002c */ lw $s5,0x2c($sp)
|
||||
/* f16d0a0: 03e00008 */ jr $ra
|
||||
/* f16d0a4: 27bd0038 */ addiu $sp,$sp,0x38
|
||||
);
|
||||
void func0f16cfe8(u16 volume)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
if (volume > 0x5000) {
|
||||
volume = 0x5000;
|
||||
}
|
||||
|
||||
for (i = 0; i < ARRAYCOUNT(var800aaa38); i++) {
|
||||
if (var800aaa38[i].unk00 != 0 && var800aaa38[i].unk00 != 5) {
|
||||
func0000fd9c(&var80094ed8[i], volume);
|
||||
}
|
||||
}
|
||||
|
||||
var800840ec = volume;
|
||||
}
|
||||
|
||||
bool func0f16d0a8(s32 arg0, s32 arg1)
|
||||
{
|
||||
|
||||
+1
-198
@@ -7740,204 +7740,7 @@ u32 var80094ec8 = 0;
|
||||
u32 var80094ecc = 0;
|
||||
u32 var80094ed0 = 0;
|
||||
u32 var80094ed4 = 0;
|
||||
u32 var80094ed8 = 0;
|
||||
u32 var80094edc = 0;
|
||||
u32 var80094ee0 = 0;
|
||||
u32 var80094ee4 = 0;
|
||||
u32 var80094ee8 = 0;
|
||||
u32 var80094eec = 0;
|
||||
u32 var80094ef0 = 0;
|
||||
u32 var80094ef4 = 0;
|
||||
u32 var80094ef8 = 0;
|
||||
u32 var80094efc = 0;
|
||||
u32 var80094f00 = 0;
|
||||
u32 var80094f04 = 0;
|
||||
u32 var80094f08 = 0;
|
||||
u32 var80094f0c = 0;
|
||||
u32 var80094f10 = 0;
|
||||
u32 var80094f14 = 0;
|
||||
u32 var80094f18 = 0;
|
||||
u32 var80094f1c = 0;
|
||||
u32 var80094f20 = 0;
|
||||
u32 var80094f24 = 0;
|
||||
u32 var80094f28 = 0;
|
||||
u32 var80094f2c = 0;
|
||||
u32 var80094f30 = 0;
|
||||
u32 var80094f34 = 0;
|
||||
u32 var80094f38 = 0;
|
||||
u32 var80094f3c = 0;
|
||||
u32 var80094f40 = 0;
|
||||
u32 var80094f44 = 0;
|
||||
u32 var80094f48 = 0;
|
||||
u32 var80094f4c = 0;
|
||||
u32 var80094f50 = 0;
|
||||
u32 var80094f54 = 0;
|
||||
u32 var80094f58 = 0;
|
||||
u32 var80094f5c = 0;
|
||||
u32 var80094f60 = 0;
|
||||
u32 var80094f64 = 0;
|
||||
u32 var80094f68 = 0;
|
||||
u32 var80094f6c = 0;
|
||||
u32 var80094f70 = 0;
|
||||
u32 var80094f74 = 0;
|
||||
u32 var80094f78 = 0;
|
||||
u32 var80094f7c = 0;
|
||||
u32 var80094f80 = 0;
|
||||
u32 var80094f84 = 0;
|
||||
u32 var80094f88 = 0;
|
||||
u32 var80094f8c = 0;
|
||||
u32 var80094f90 = 0;
|
||||
u32 var80094f94 = 0;
|
||||
u32 var80094f98 = 0;
|
||||
u32 var80094f9c = 0;
|
||||
u32 var80094fa0 = 0;
|
||||
u32 var80094fa4 = 0;
|
||||
u32 var80094fa8 = 0;
|
||||
u32 var80094fac = 0;
|
||||
u32 var80094fb0 = 0;
|
||||
u32 var80094fb4 = 0;
|
||||
u32 var80094fb8 = 0;
|
||||
u32 var80094fbc = 0;
|
||||
u32 var80094fc0 = 0;
|
||||
u32 var80094fc4 = 0;
|
||||
u32 var80094fc8 = 0;
|
||||
u32 var80094fcc = 0;
|
||||
u32 var80094fd0 = 0;
|
||||
u32 var80094fd4 = 0;
|
||||
u32 var80094fd8 = 0;
|
||||
u32 var80094fdc = 0;
|
||||
u32 var80094fe0 = 0;
|
||||
u32 var80094fe4 = 0;
|
||||
u32 var80094fe8 = 0;
|
||||
u32 var80094fec = 0;
|
||||
u32 var80094ff0 = 0;
|
||||
u32 var80094ff4 = 0;
|
||||
u32 var80094ff8 = 0;
|
||||
u32 var80094ffc = 0;
|
||||
u32 var80095000 = 0;
|
||||
u32 var80095004 = 0;
|
||||
u32 var80095008 = 0;
|
||||
u32 var8009500c = 0;
|
||||
u32 var80095010 = 0;
|
||||
u32 var80095014 = 0;
|
||||
u32 var80095018 = 0;
|
||||
u32 var8009501c = 0;
|
||||
u32 var80095020 = 0;
|
||||
u32 var80095024 = 0;
|
||||
u32 var80095028 = 0;
|
||||
u32 var8009502c = 0;
|
||||
u32 var80095030 = 0;
|
||||
u32 var80095034 = 0;
|
||||
u32 var80095038 = 0;
|
||||
u32 var8009503c = 0;
|
||||
u32 var80095040 = 0;
|
||||
u32 var80095044 = 0;
|
||||
u32 var80095048 = 0;
|
||||
u32 var8009504c = 0;
|
||||
u32 var80095050 = 0;
|
||||
u32 var80095054 = 0;
|
||||
u32 var80095058 = 0;
|
||||
u32 var8009505c = 0;
|
||||
u32 var80095060 = 0;
|
||||
u32 var80095064 = 0;
|
||||
u32 var80095068 = 0;
|
||||
u32 var8009506c = 0;
|
||||
u32 var80095070 = 0;
|
||||
u32 var80095074 = 0;
|
||||
u32 var80095078 = 0;
|
||||
u32 var8009507c = 0;
|
||||
u32 var80095080 = 0;
|
||||
u32 var80095084 = 0;
|
||||
u32 var80095088 = 0;
|
||||
u32 var8009508c = 0;
|
||||
u32 var80095090 = 0;
|
||||
u32 var80095094 = 0;
|
||||
u32 var80095098 = 0;
|
||||
u32 var8009509c = 0;
|
||||
u32 var800950a0 = 0;
|
||||
u32 var800950a4 = 0;
|
||||
u32 var800950a8 = 0;
|
||||
u32 var800950ac = 0;
|
||||
u32 var800950b0 = 0;
|
||||
u32 var800950b4 = 0;
|
||||
u32 var800950b8 = 0;
|
||||
u32 var800950bc = 0;
|
||||
u32 var800950c0 = 0;
|
||||
u32 var800950c4 = 0;
|
||||
u32 var800950c8 = 0;
|
||||
u32 var800950cc = 0;
|
||||
u32 var800950d0 = 0;
|
||||
u32 var800950d4 = 0;
|
||||
u32 var800950d8 = 0;
|
||||
u32 var800950dc = 0;
|
||||
u32 var800950e0 = 0;
|
||||
u32 var800950e4 = 0;
|
||||
u32 var800950e8 = 0;
|
||||
u32 var800950ec = 0;
|
||||
u32 var800950f0 = 0;
|
||||
u32 var800950f4 = 0;
|
||||
u32 var800950f8 = 0;
|
||||
u32 var800950fc = 0;
|
||||
u32 var80095100 = 0;
|
||||
u32 var80095104 = 0;
|
||||
u32 var80095108 = 0;
|
||||
u32 var8009510c = 0;
|
||||
u32 var80095110 = 0;
|
||||
u32 var80095114 = 0;
|
||||
u32 var80095118 = 0;
|
||||
u32 var8009511c = 0;
|
||||
u32 var80095120 = 0;
|
||||
u32 var80095124 = 0;
|
||||
u32 var80095128 = 0;
|
||||
u32 var8009512c = 0;
|
||||
u32 var80095130 = 0;
|
||||
u32 var80095134 = 0;
|
||||
u32 var80095138 = 0;
|
||||
u32 var8009513c = 0;
|
||||
u32 var80095140 = 0;
|
||||
u32 var80095144 = 0;
|
||||
u32 var80095148 = 0;
|
||||
u32 var8009514c = 0;
|
||||
u32 var80095150 = 0;
|
||||
u32 var80095154 = 0;
|
||||
u32 var80095158 = 0;
|
||||
u32 var8009515c = 0;
|
||||
u32 var80095160 = 0;
|
||||
u32 var80095164 = 0;
|
||||
u32 var80095168 = 0;
|
||||
u32 var8009516c = 0;
|
||||
u32 var80095170 = 0;
|
||||
u32 var80095174 = 0;
|
||||
u32 var80095178 = 0;
|
||||
u32 var8009517c = 0;
|
||||
u32 var80095180 = 0;
|
||||
u32 var80095184 = 0;
|
||||
u32 var80095188 = 0;
|
||||
u32 var8009518c = 0;
|
||||
u32 var80095190 = 0;
|
||||
u32 var80095194 = 0;
|
||||
u32 var80095198 = 0;
|
||||
u32 var8009519c = 0;
|
||||
u32 var800951a0 = 0;
|
||||
u32 var800951a4 = 0;
|
||||
u32 var800951a8 = 0;
|
||||
u32 var800951ac = 0;
|
||||
u32 var800951b0 = 0;
|
||||
u32 var800951b4 = 0;
|
||||
u32 var800951b8 = 0;
|
||||
u32 var800951bc = 0;
|
||||
u32 var800951c0 = 0;
|
||||
u32 var800951c4 = 0;
|
||||
u32 var800951c8 = 0;
|
||||
u32 var800951cc = 0;
|
||||
u32 var800951d0 = 0;
|
||||
u32 var800951d4 = 0;
|
||||
u32 var800951d8 = 0;
|
||||
u32 var800951dc = 0;
|
||||
u32 var800951e0 = 0;
|
||||
u32 var800951e4 = 0;
|
||||
u32 var800951e8 = 0;
|
||||
u32 var800951ec = 0;
|
||||
struct var80094ed8 var80094ed8[3] = {0};
|
||||
u32 var800951f0 = 0;
|
||||
u32 var800951f4 = 0;
|
||||
u32 var800951f8 = 0;
|
||||
|
||||
@@ -12,6 +12,7 @@ extern u32 var800840d8;
|
||||
extern s32 var800840dc;
|
||||
extern u32 var800840e0;
|
||||
extern s32 var800840e8;
|
||||
extern u16 var800840ec;
|
||||
extern u32 var800840f0;
|
||||
extern u32 var800840f4;
|
||||
extern u32 var800840fc;
|
||||
|
||||
@@ -437,7 +437,7 @@ extern u32 var80094ea0;
|
||||
extern u32 var80094ea4;
|
||||
extern u32 var80094ea8;
|
||||
extern u32 var80094eb0;
|
||||
extern u32 var80094ed8;
|
||||
extern struct var80094ed8 var80094ed8[3];
|
||||
extern u32 var800951f0;
|
||||
extern u32 var80095200;
|
||||
extern u32 var80095208;
|
||||
|
||||
@@ -24,7 +24,7 @@ u32 func0000fba0(void);
|
||||
u32 func0000fbc4(void);
|
||||
u32 func0000fc48(void);
|
||||
u32 func0000fd74(void);
|
||||
u32 func0000fd9c(void);
|
||||
void func0000fd9c(struct var80094ed8 *arg0, u16 volume);
|
||||
void func0000fe18(void);
|
||||
void func0000fe20(void);
|
||||
void func0000fe50(void);
|
||||
|
||||
@@ -6257,4 +6257,73 @@ struct var800aaa38 {
|
||||
u32 unk0c;
|
||||
};
|
||||
|
||||
struct var80094ed8 {
|
||||
/*0x000*/ u32 unk000;
|
||||
/*0x004*/ u32 unk004;
|
||||
/*0x008*/ u32 unk008;
|
||||
/*0x00c*/ u32 unk00c;
|
||||
/*0x010*/ u32 unk010;
|
||||
/*0x014*/ u32 unk014;
|
||||
/*0x018*/ u32 unk018;
|
||||
/*0x01c*/ u32 unk01c;
|
||||
/*0x020*/ u32 unk020;
|
||||
/*0x024*/ u32 unk024;
|
||||
/*0x028*/ u32 unk028;
|
||||
/*0x02c*/ u32 unk02c;
|
||||
/*0x030*/ u32 unk030;
|
||||
/*0x034*/ u32 unk034;
|
||||
/*0x038*/ u32 unk038;
|
||||
/*0x03c*/ u32 unk03c;
|
||||
/*0x040*/ u32 unk040;
|
||||
/*0x044*/ u32 unk044;
|
||||
/*0x048*/ u32 unk048;
|
||||
/*0x04c*/ u32 unk04c;
|
||||
/*0x050*/ u32 unk050;
|
||||
/*0x054*/ u32 unk054;
|
||||
/*0x058*/ u32 unk058;
|
||||
/*0x05c*/ u32 unk05c;
|
||||
/*0x060*/ u32 unk060;
|
||||
/*0x064*/ u32 unk064;
|
||||
/*0x068*/ u32 unk068;
|
||||
/*0x06c*/ u32 unk06c;
|
||||
/*0x070*/ u32 unk070;
|
||||
/*0x074*/ u32 unk074;
|
||||
/*0x078*/ u32 unk078;
|
||||
/*0x07c*/ u32 unk07c;
|
||||
/*0x080*/ u32 unk080;
|
||||
/*0x084*/ u32 unk084;
|
||||
/*0x088*/ u32 unk088;
|
||||
/*0x08c*/ u32 unk08c;
|
||||
/*0x090*/ u32 unk090;
|
||||
/*0x094*/ u32 unk094;
|
||||
/*0x098*/ u32 unk098;
|
||||
/*0x09c*/ u32 unk09c;
|
||||
/*0x0a0*/ u32 unk0a0;
|
||||
/*0x0a4*/ u32 unk0a4;
|
||||
/*0x0a8*/ u32 unk0a8;
|
||||
/*0x0ac*/ u32 unk0ac;
|
||||
/*0x0b0*/ u32 unk0b0;
|
||||
/*0x0b4*/ u32 unk0b4;
|
||||
/*0x0b8*/ u32 unk0b8;
|
||||
/*0x0bc*/ u32 unk0bc;
|
||||
/*0x0c0*/ u32 unk0c0;
|
||||
/*0x0c4*/ u32 unk0c4;
|
||||
/*0x0c8*/ u32 unk0c8;
|
||||
/*0x0cc*/ u32 unk0cc;
|
||||
/*0x0d0*/ u32 unk0d0;
|
||||
/*0x0d4*/ u32 unk0d4;
|
||||
/*0x0d8*/ u32 unk0d8;
|
||||
/*0x0dc*/ u32 unk0dc;
|
||||
/*0x0e0*/ u32 unk0e0;
|
||||
/*0x0e4*/ u32 unk0e4;
|
||||
/*0x0e8*/ u32 unk0e8;
|
||||
/*0x0ec*/ u32 unk0ec;
|
||||
/*0x0f0*/ u32 unk0f0;
|
||||
/*0x0f4*/ u32 unk0f4;
|
||||
/*0x0f8*/ u32 unk0f8;
|
||||
/*0x0fc*/ u32 unk0fc;
|
||||
/*0x100*/ u32 unk100;
|
||||
/*0x104*/ u32 unk104;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+2
-2
@@ -278,9 +278,9 @@ glabel func00011700
|
||||
/* 11728: 00037940 */ sll $t7,$v1,0x5
|
||||
/* 1172c: 01e37821 */ addu $t7,$t7,$v1
|
||||
/* 11730: 000f78c0 */ sll $t7,$t7,0x3
|
||||
/* 11734: 3c048009 */ lui $a0,%hi(var80094fd0)
|
||||
/* 11734: 3c048009 */ lui $a0,%hi(var80094ed8+0xf8)
|
||||
/* 11738: 008f2021 */ addu $a0,$a0,$t7
|
||||
/* 1173c: 8c844fd0 */ lw $a0,%lo(var80094fd0)($a0)
|
||||
/* 1173c: 8c844fd0 */ lw $a0,%lo(var80094ed8+0xf8)($a0)
|
||||
/* 11740: 0c00e7dc */ jal func00039f70
|
||||
/* 11744: afa2001c */ sw $v0,0x1c($sp)
|
||||
/* 11748: 8fa2001c */ lw $v0,0x1c($sp)
|
||||
|
||||
Reference in New Issue
Block a user