Decompile propsndGetRandomSparkSound

This commit is contained in:
Ryan Dwyer
2021-11-28 16:05:09 +10:00
parent 6116581d3e
commit 696e685ee6
5 changed files with 35 additions and 38 deletions
+2 -2
View File
@@ -2515,7 +2515,7 @@ glabel func0f002ef8
/* f0032f0: 24050040 */ addiu $a1,$zero,0x40
/* f0032f4: 0fc010e3 */ jal roomAdjustLighting
/* f0032f8: 24060050 */ addiu $a2,$zero,0x50
/* f0032fc: 0fc25480 */ jal func0f095200
/* f0032fc: 0fc25480 */ jal propsndGetRandomSparkSound
/* f003300: 00000000 */ nop
/* f003304: 3c01bf80 */ lui $at,0xbf80
/* f003308: 44810000 */ mtc1 $at,$f0
@@ -2834,7 +2834,7 @@ glabel func0f002ef8
/* f0032f0: 24050040 */ addiu $a1,$zero,0x40
/* f0032f4: 0fc010e3 */ jal roomAdjustLighting
/* f0032f8: 24060050 */ addiu $a2,$zero,0x50
/* f0032fc: 0fc25480 */ jal func0f095200
/* f0032fc: 0fc25480 */ jal propsndGetRandomSparkSound
/* f003300: 00000000 */ nop
/* f003304: 3c01bf80 */ lui $at,0xbf80
/* f003308: 44810000 */ mtc1 $at,$f0
+25 -28
View File
@@ -83,11 +83,6 @@ u32 var8006ae4c = 0x00000000;
u32 var8006ae50 = 0xffff0000;
u32 var8006ae54 = 0x000003e7;
s32 g_PropsndMaxActiveChannels = 0;
u32 var8006ae5c = 0x80b080b1;
u32 var8006ae60 = 0x80b280b3;
u32 var8006ae64 = 0x80b480b5;
u32 var8006ae68 = 0x00000000;
u32 var8006ae6c = 0x00000000;
bool func0f092610(struct prop *prop, s32 arg1)
{
@@ -5081,36 +5076,38 @@ glabel var7f1ab788
/* f0951fc: 00000000 */ nop
);
s32 propsndGetRandomSparkSound(void)
{
s32 index = random() % 6;
s16 sounds[] = {
SFX_80B0,
SFX_80B1,
SFX_80B2,
SFX_80B3,
SFX_80B4,
SFX_80B5,
};
return sounds[index];
}
GLOBAL_ASM(
glabel func0f095200
/* f095200: 27bdffd8 */ addiu $sp,$sp,-40
/* f095204: afbf0014 */ sw $ra,0x14($sp)
/* f095208: 0c004b70 */ jal random
/* f09520c: 00000000 */ nop
/* f095210: 3c0e8007 */ lui $t6,%hi(var8006ae5c)
/* f095214: 25ceae5c */ addiu $t6,$t6,%lo(var8006ae5c)
/* f095218: 8dc10000 */ lw $at,0x0($t6)
/* f09521c: 27a30018 */ addiu $v1,$sp,0x18
/* f095220: ac610000 */ sw $at,0x0($v1)
/* f095224: 8dd90004 */ lw $t9,0x4($t6)
/* f095228: ac790004 */ sw $t9,0x4($v1)
/* f09522c: 8dc10008 */ lw $at,0x8($t6)
/* f095230: ac610008 */ sw $at,0x8($v1)
/* f095234: 24010006 */ addiu $at,$zero,0x6
/* f095238: 0041001b */ divu $zero,$v0,$at
/* f09523c: 00004010 */ mfhi $t0
/* f095240: 8fbf0014 */ lw $ra,0x14($sp)
/* f095244: 00084840 */ sll $t1,$t0,0x1
/* f095248: 00695021 */ addu $t2,$v1,$t1
/* f09524c: 85420000 */ lh $v0,0x0($t2)
/* f095250: 03e00008 */ jr $ra
/* f095254: 27bd0028 */ addiu $sp,$sp,0x28
glabel func0f095258
/* f095258: afa50004 */ sw $a1,0x4($sp)
/* f09525c: 03e00008 */ jr $ra
/* f095260: 00801025 */ or $v0,$a0,$zero
);
GLOBAL_ASM(
glabel func0f095264
/* f095264: afa50004 */ sw $a1,0x4($sp)
/* f095268: 03e00008 */ jr $ra
/* f09526c: 00801025 */ or $v0,$a0,$zero
);
GLOBAL_ASM(
glabel func0f095270
/* f095270: 03e00008 */ jr $ra
/* f095274: 00000000 */ nop
);
+3 -3
View File
@@ -5147,19 +5147,19 @@ void propsTickPadEffects(void)
if ((random() % 2048) <= 50) {
sparksCreate(rooms[0], NULL, &pad.pos, &up, &pad.up, SPARKTYPE_09);
func0f0939f8(NULL, NULL, func0f095200(), -1, -1, 0, 0, 0, &pad.pos, -1, rooms, -1, -1, -1, -1);
func0f0939f8(NULL, NULL, propsndGetRandomSparkSound(), -1, -1, 0, 0, 0, &pad.pos, -1, rooms, -1, -1, -1, -1);
}
if ((random() % 2048) <= 15) {
sparksCreate(rooms[0], NULL, &pad.pos, &up, &pad.up, SPARKTYPE_09);
sparksCreate(rooms[0], NULL, &pad.pos, &up, &pad.up, SPARKTYPE_0A);
func0f0939f8(NULL, NULL, func0f095200(), -1, -1, 0, 0, 0, &pad.pos, -1, rooms, -1, -1, -1, -1);
func0f0939f8(NULL, NULL, propsndGetRandomSparkSound(), -1, -1, 0, 0, 0, &pad.pos, -1, rooms, -1, -1, -1, -1);
}
if ((random() % 2048) <= 5) {
sparksCreate(rooms[0], NULL, &pad.pos, &up, &pad.up, SPARKTYPE_09);
sparksCreate(rooms[0], NULL, &pad.pos, &up, &pad.up, SPARKTYPE_0B);
func0f0939f8(NULL, NULL, func0f095200(), -1, -1, 0, 0, 0, &pad.pos, -1, rooms, -1, -1, -1, -1);
func0f0939f8(NULL, NULL, propsndGetRandomSparkSound(), -1, -1, 0, 0, 0, &pad.pos, -1, rooms, -1, -1, -1, -1);
}
break;
case PADEFFECT_OUTROSMOKE:
+4 -4
View File
@@ -71407,7 +71407,7 @@ glabel doorCreateSparks
/* f08ec40: 0fc4be7c */ jal sparksCreate
/* f08ec44: afb10010 */ sw $s1,0x10($sp)
.L0f08ec48:
/* f08ec48: 0fc25480 */ jal func0f095200
/* f08ec48: 0fc25480 */ jal propsndGetRandomSparkSound
/* f08ec4c: 00000000 */ nop
/* f08ec50: 8e650014 */ lw $a1,0x14($s3)
/* f08ec54: 3c01bf80 */ lui $at,0xbf80
@@ -71432,7 +71432,7 @@ glabel doorCreateSparks
/* f08eca0: e7a00034 */ swc1 $f0,0x34($sp)
/* f08eca4: 0fc24e7e */ jal func0f0939f8
/* f08eca8: e7a00038 */ swc1 $f0,0x38($sp)
/* f08ecac: 0fc25480 */ jal func0f095200
/* f08ecac: 0fc25480 */ jal propsndGetRandomSparkSound
/* f08ecb0: 00000000 */ nop
/* f08ecb4: 8e650014 */ lw $a1,0x14($s3)
/* f08ecb8: 3c01bf80 */ lui $at,0xbf80
@@ -71525,10 +71525,10 @@ glabel doorCreateSparks
// sparksCreate(door->base.prop->rooms[0], door->base.prop, &sp88, &sp70, &pad.up, SPARKTYPE_0D);
// }
//
// func0f0939f8(NULL, door->base.prop, func0f095200(), -1,
// func0f0939f8(NULL, door->base.prop, propsndGetRandomSparkSound(), -1,
// -1, 0, 0, 0, &sp88, -1, door->base.prop->rooms, -1, -1, -1, -1);
//
// func0f0939f8(NULL, door->base.prop, func0f095200(), -1,
// func0f0939f8(NULL, door->base.prop, propsndGetRandomSparkSound(), -1,
// -1, 0, 0, 0, &sp7c, -1, door->base.prop->rooms, -1, -1, -1, -1);
//
// for (i = 0; door->base.prop->rooms[i] != -1; i++) {
+1 -1
View File
@@ -27,7 +27,7 @@ u32 func0f094b1c(void);
u32 func0f094d78(void);
void func0f094ef4(struct coord *pos, s16 *rooms, s32 soundnum, s32 *arg3, s32 *arg4);
void func0f09505c(struct sndstate *handle, struct coord *pos, f32 arg2, f32 arg3, f32 arg4, s16 *rooms, s16 soundnum, u16 arg7, u32 arg8);
u32 func0f095200(void);
s32 propsndGetRandomSparkSound(void);
s32 func0f095278(s32 channelnum);
#endif