diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 4580c8d70..1c07e7577 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -6536,38 +6536,17 @@ bool aiPlaySound(void) /** * @cmd 017c */ -GLOBAL_ASM( -glabel ai017c -/* f056268: 3c03800a */ lui $v1,%hi(g_Vars) -/* f05626c: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) -/* f056270: 8c6e0434 */ lw $t6,0x434($v1) -/* f056274: 8c6f0438 */ lw $t7,0x438($v1) -/* f056278: 27bdffe0 */ addiu $sp,$sp,-32 -/* f05627c: afbf001c */ sw $ra,0x1c($sp) -/* f056280: 01cf1021 */ addu $v0,$t6,$t7 -/* f056284: 90580002 */ lbu $t8,0x2($v0) -/* f056288: 90480003 */ lbu $t0,0x3($v0) -/* f05628c: 80440004 */ lb $a0,0x4($v0) -/* f056290: 0018ca00 */ sll $t9,$t8,0x8 -/* f056294: 03282825 */ or $a1,$t9,$t0 -/* f056298: 00054c00 */ sll $t1,$a1,0x10 -/* f05629c: 240b000b */ addiu $t3,$zero,0xb -/* f0562a0: 00092c03 */ sra $a1,$t1,0x10 -/* f0562a4: afab0010 */ sw $t3,0x10($sp) -/* f0562a8: afa00014 */ sw $zero,0x14($sp) -/* f0562ac: 2406ffff */ addiu $a2,$zero,-1 -/* f0562b0: 0fc25010 */ jal audioPlayFromWorldPosition -/* f0562b4: 00003825 */ or $a3,$zero,$zero -/* f0562b8: 3c03800a */ lui $v1,%hi(g_Vars) -/* f0562bc: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) -/* f0562c0: 8c6c0438 */ lw $t4,0x438($v1) -/* f0562c4: 8fbf001c */ lw $ra,0x1c($sp) -/* f0562c8: 27bd0020 */ addiu $sp,$sp,0x20 -/* f0562cc: 258d0005 */ addiu $t5,$t4,0x5 -/* f0562d0: ac6d0438 */ sw $t5,0x438($v1) -/* f0562d4: 03e00008 */ jr $ra -/* f0562d8: 00001025 */ or $v0,$zero,$zero -); +bool aiAssignSound(void) +{ + u8 *cmd = g_Vars.ailist + g_Vars.aioffset; + s16 audio_id = cmd[3] | (cmd[2] << 8); + + audioPlayFromWorldPosition(cmd[4], audio_id, -1, NULL, 11, 0); + + g_Vars.aioffset += 5; + + return false; +} /** * @cmd 00d3 diff --git a/src/include/game/chr/chraicommands.h b/src/include/game/chr/chraicommands.h index 206becddd..dcb08368d 100644 --- a/src/include/game/chr/chraicommands.h +++ b/src/include/game/chr/chraicommands.h @@ -357,7 +357,7 @@ /*0x0179*/ bool ai0179(void); /*0x017a*/ bool ai017a(void); /*0x017b*/ bool aiIfChrUnloaded(void); -/*0x017c*/ bool ai017c(void); +/*0x017c*/ bool aiAssignSound(void); /*0x017d*/ bool aiAudioSetMusicTrack(void); /*0x017e*/ bool aiAudioRestartDefaultMusic(void); /*0x017f*/ bool aiAudioSetSfxTrack(void); diff --git a/src/include/game/game_066310.h b/src/include/game/game_066310.h index 9ea73860f..f7e233df2 100644 --- a/src/include/game/game_066310.h +++ b/src/include/game/game_066310.h @@ -6,7 +6,7 @@ void alarmActivate(void); void alarmDeactivate(void); bool alarmIsActive(void); -bool audioPlayFromWorldPosition(s8 channel_id, s16 audio_id, u8 volumemaybe, struct position *pos, s32 arg4, s32 arg5); +bool audioPlayFromWorldPosition(s8 channel_id, s16 audio_id, s32 volumemaybe, struct position *pos, s32 arg4, s32 arg5); float countdownTimerGetValue(void); bool countdownTimerIsHidden(void); bool countdownTimerIsRunning(void); diff --git a/src/setup/setup_000000.c b/src/setup/setup_000000.c index 77cdc5fd5..1f3bdddac 100644 --- a/src/setup/setup_000000.c +++ b/src/setup/setup_000000.c @@ -14512,7 +14512,7 @@ bool (*g_CommandPointers[])(void) = { /*0x0179*/ ai0179, /*0x017a*/ ai017a, /*0x017b*/ aiIfChrUnloaded, - /*0x017c*/ ai017c, + /*0x017c*/ aiAssignSound, /*0x017d*/ aiAudioSetMusicTrack, /*0x017e*/ aiAudioRestartDefaultMusic, /*0x017f*/ aiAudioSetSfxTrack,