diff --git a/src/game/data/data_02a0e0.c b/src/game/data/data_02a0e0.c index 2097f1107..f61ab6228 100644 --- a/src/game/data/data_02a0e0.c +++ b/src/game/data/data_02a0e0.c @@ -28,7 +28,7 @@ u32 var800840d8 = 0x00000000; s32 var800840dc = 0; u32 var800840e0 = 0x0000000f; u32 var800840e4 = 0x00000000; -u32 var800840e8 = 0x00000000; +s32 var800840e8 = 0; u32 var800840ec = 0x50000000; u32 var800840f0 = 0x00000000; u32 var800840f4 = 0x00000000; diff --git a/src/game/game_0b63b0.c b/src/game/game_0b63b0.c index 85d66c892..3ca251222 100644 --- a/src/game/game_0b63b0.c +++ b/src/game/game_0b63b0.c @@ -12600,7 +12600,7 @@ Gfx *func0f0c07c8(Gfx *gdl) if (pass) { if (g_Vars.mplayerisrunning == false) { - func0f16dba4(); + audioPlaySoloDeathTrack(); } else { func0f16dd14(); } diff --git a/src/game/game_16cfa0.c b/src/game/game_16cfa0.c index 710afe28f..dfe5abd31 100644 --- a/src/game/game_16cfa0.c +++ b/src/game/game_16cfa0.c @@ -877,66 +877,20 @@ glabel func0f16db3c /* f16dba0: 27bd0018 */ addiu $sp,$sp,0x18 ); -GLOBAL_ASM( -glabel func0f16dba4 -/* f16dba4: 27bdffe0 */ addiu $sp,$sp,-32 -/* f16dba8: afbf0014 */ sw $ra,0x14($sp) -/* f16dbac: 240e0001 */ addiu $t6,$zero,0x1 -/* f16dbb0: 3c018008 */ lui $at,%hi(var800840e8) -/* f16dbb4: 0fc5b50c */ jal func0f16d430 -/* f16dbb8: ac2e40e8 */ sw $t6,%lo(var800840e8)($at) -/* f16dbbc: 0fc5b490 */ jal func0f16d240 -/* f16dbc0: 24040003 */ addiu $a0,$zero,0x3 -/* f16dbc4: 0fc5b490 */ jal func0f16d240 -/* f16dbc8: 24040004 */ addiu $a0,$zero,0x4 -/* f16dbcc: 0fc5b82d */ jal audioStopTrack -/* f16dbd0: 2404ffff */ addiu $a0,$zero,-1 -/* f16dbd4: 0fc5b490 */ jal func0f16d240 -/* f16dbd8: 24040002 */ addiu $a0,$zero,0x2 -/* f16dbdc: 0fc5b490 */ jal func0f16d240 -/* f16dbe0: 24040001 */ addiu $a0,$zero,0x1 -/* f16dbe4: 0fc5b490 */ jal func0f16d240 -/* f16dbe8: 24040005 */ addiu $a0,$zero,0x5 -/* f16dbec: 3c028006 */ lui $v0,%hi(g_SfxVolume) -/* f16dbf0: 9442ddc8 */ lhu $v0,%lo(g_SfxVolume)($v0) -/* f16dbf4: 28415001 */ slti $at,$v0,0x5001 -/* f16dbf8: 14200003 */ bnez $at,.L0f16dc08 -/* f16dbfc: 00401825 */ or $v1,$v0,$zero -/* f16dc00: 10000001 */ b .L0f16dc08 -/* f16dc04: 24035000 */ addiu $v1,$zero,0x5000 -.L0f16dc08: -/* f16dc08: 0fc5b3e8 */ jal func0f16cfa0 -/* f16dc0c: afa30018 */ sw $v1,0x18($sp) -/* f16dc10: 8fa30018 */ lw $v1,0x18($sp) -/* f16dc14: 0043082a */ slt $at,$v0,$v1 -/* f16dc18: 10200009 */ beqz $at,.L0f16dc40 -/* f16dc1c: 3c028006 */ lui $v0,%hi(g_SfxVolume) -/* f16dc20: 9442ddc8 */ lhu $v0,%lo(g_SfxVolume)($v0) -/* f16dc24: 28415001 */ slti $at,$v0,0x5001 -/* f16dc28: 14200003 */ bnez $at,.L0f16dc38 -/* f16dc2c: 00401825 */ or $v1,$v0,$zero -/* f16dc30: 10000006 */ b .L0f16dc4c -/* f16dc34: 24085000 */ addiu $t0,$zero,0x5000 -.L0f16dc38: -/* f16dc38: 10000004 */ b .L0f16dc4c -/* f16dc3c: 00604025 */ or $t0,$v1,$zero -.L0f16dc40: -/* f16dc40: 0fc5b3e8 */ jal func0f16cfa0 -/* f16dc44: 00000000 */ nop -/* f16dc48: 00404025 */ or $t0,$v0,$zero -.L0f16dc4c: -/* f16dc4c: 24040001 */ addiu $a0,$zero,0x1 -/* f16dc50: 2405000a */ addiu $a1,$zero,0xa -/* f16dc54: 24060000 */ addiu $a2,$zero,0x0 -/* f16dc58: 0fc5b46f */ jal func0f16d1bc -/* f16dc5c: 3107ffff */ andi $a3,$t0,0xffff -/* f16dc60: 0fc5b513 */ jal func0f16d44c -/* f16dc64: 00000000 */ nop -/* f16dc68: 8fbf0014 */ lw $ra,0x14($sp) -/* f16dc6c: 27bd0020 */ addiu $sp,$sp,0x20 -/* f16dc70: 03e00008 */ jr $ra -/* f16dc74: 00000000 */ nop -); +void audioPlaySoloDeathTrack(void) +{ + var800840e8 = 1; + + func0f16d430(); + func0f16d240(3); + func0f16d240(4); + audioStopTrack(-1); + func0f16d240(2); + func0f16d240(1); + func0f16d240(5); + func0f16d1bc(1, MUSIC_DEATH_SOLO, 0, VOLUME(g_SfxVolume) > func0f16cfa0() ? VOLUME(g_SfxVolume) : func0f16cfa0()); + func0f16d44c(); +} void audioPlayMpDeathTrack(f32 arg0) { diff --git a/src/include/game/data/data_02a0e0.h b/src/include/game/data/data_02a0e0.h index 726c8f473..677e09b6f 100644 --- a/src/include/game/data/data_02a0e0.h +++ b/src/include/game/data/data_02a0e0.h @@ -10,6 +10,7 @@ extern u32 var800840d4; extern u32 var800840d8; extern s32 var800840dc; extern u32 var800840e0; +extern s32 var800840e8; extern u32 var800840f0; extern u32 var800840f4; extern u32 var800840fc; diff --git a/src/include/game/game_16cfa0.h b/src/include/game/game_16cfa0.h index d05cc057a..83ec9d6b9 100644 --- a/src/include/game/game_16cfa0.h +++ b/src/include/game/game_16cfa0.h @@ -26,7 +26,7 @@ u32 func0f16da2c(void); u32 func0f16daa4(void); void audioSetBgMusicForMenu(void); void func0f16db3c(void); -void func0f16dba4(void); +void audioPlaySoloDeathTrack(void); void audioPlayMpDeathTrack(f32 arg0); void func0f16dd14(void); void func0f16ddb0(void);