From e19a9ee65b3f8d956194ae2f6b16827cad2cc836 Mon Sep 17 00:00:00 2001 From: Niko Date: Fri, 19 Apr 2024 10:16:30 -0700 Subject: [PATCH] penta sfx fix --- decompile/General/Vehicle/VehBirth_EngineAudio_AllPlayers.c | 4 ---- decompile/General/Vehicle/VehStuckProc_Warp_Init.c | 6 ++++-- decompile/WorkInProgress/src/HOWL/h134_EngineSound_Player.c | 6 +----- ghidra/Vehicle.c | 4 ++-- 4 files changed, 7 insertions(+), 13 deletions(-) diff --git a/decompile/General/Vehicle/VehBirth_EngineAudio_AllPlayers.c b/decompile/General/Vehicle/VehBirth_EngineAudio_AllPlayers.c index ef5f30c8..3d59c589 100644 --- a/decompile/General/Vehicle/VehBirth_EngineAudio_AllPlayers.c +++ b/decompile/General/Vehicle/VehBirth_EngineAudio_AllPlayers.c @@ -15,10 +15,6 @@ void DECOMP_VehBirth_EngineAudio_AllPlayers(void) int engine = data.MetaDataCharacters [data.characterIDs[driverID]].engineID; - // fix for PAL/JPN, use slots 0,1,2,3, - // engineID of 4 (penta) changes to 0 - engine = engine&3; - #ifndef REBUILD_PS1 EngineAudio_InitOnce((engine * 4) + driverID, 0x8080); #endif diff --git a/decompile/General/Vehicle/VehStuckProc_Warp_Init.c b/decompile/General/Vehicle/VehStuckProc_Warp_Init.c index 0255aa63..34abcbf5 100644 --- a/decompile/General/Vehicle/VehStuckProc_Warp_Init.c +++ b/decompile/General/Vehicle/VehStuckProc_Warp_Init.c @@ -25,9 +25,11 @@ void DECOMP_VehStuckProc_Warp_Init(struct Thread *th, struct Driver *d) } u_char playerID = d->driverID; + + int engine = data.MetaDataCharacters + [data.characterIDs[playerID]].engineID; - // engineID from metadata, given characterID - EngineAudio_Stop((playerID + (data.MetaDataCharacters[data.characterIDs[playerID]].engineID * 4)) & 0xffff); + EngineAudio_Stop((engine * 4) + playerID); // CameraDC, freecam mode sdata->gGT->cameraDC[playerID].cameraMode = 3; diff --git a/decompile/WorkInProgress/src/HOWL/h134_EngineSound_Player.c b/decompile/WorkInProgress/src/HOWL/h134_EngineSound_Player.c index 4e4f3d63..f509f623 100644 --- a/decompile/WorkInProgress/src/HOWL/h134_EngineSound_Player.c +++ b/decompile/WorkInProgress/src/HOWL/h134_EngineSound_Player.c @@ -339,9 +339,5 @@ RECALCULATE: int engine = data.MetaDataCharacters [data.characterIDs[id]].engineID; - // fix for PAL/JPN, use slots 0,1,2,3, - // engineID of 4 (penta) changes to 0 - engine = engine&3; - - EngineAudio_Recalculate((engine * 4) + (id & 0xffff), vol | LR); + EngineAudio_Recalculate((engine * 4) + id, vol | LR); } diff --git a/ghidra/Vehicle.c b/ghidra/Vehicle.c index 41ca6ec0..ec5dc386 100644 --- a/ghidra/Vehicle.c +++ b/ghidra/Vehicle.c @@ -1031,7 +1031,7 @@ void FUN_80058ba4(void) // thread -> driver -> driverID uVar1 = (uint)*(byte *)(*(int *)(iVar2 + 0x30) + 0x4a); - // Initialize car engine sound + // EngineAudio_InitOnce FUN_80028880( // engineID from metadata, given characterID @@ -16497,7 +16497,7 @@ void FUN_80068e04(undefined4 param_1,int param_2) FUN_80028808(*(undefined4 *)(param_2 + 0x300)); *(undefined4 *)(param_2 + 0x300) = 0; - // engineID from metadata, given characterID + // EngineAudio_Stop (driverID + engineID*4) FUN_80028b54((uint)*(byte *)(param_2 + 0x4a) + *(int *)(&DAT_80086d90 + (int)(short)(&DAT_80086e84)[*(byte *)(param_2 + 0x4a)] * 0x10) * 4 & 0xffff