diff --git a/src/game/dlights.c b/src/game/dlights.c index 9cfd3154f..1e94e420d 100644 --- a/src/game/dlights.c +++ b/src/game/dlights.c @@ -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 diff --git a/src/game/game_092610.c b/src/game/game_092610.c index 3c48da4a6..52f6b2eea 100644 --- a/src/game/game_092610.c +++ b/src/game/game_092610.c @@ -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 ); diff --git a/src/game/prop.c b/src/game/prop.c index 2bacee0c0..893fac90e 100644 --- a/src/game/prop.c +++ b/src/game/prop.c @@ -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: diff --git a/src/game/propobj.c b/src/game/propobj.c index a1255fa76..168e4f161 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -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++) { diff --git a/src/include/game/game_092610.h b/src/include/game/game_092610.h index d14e911bd..32816e6ab 100644 --- a/src/include/game/game_092610.h +++ b/src/include/game/game_092610.h @@ -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