diff --git a/src/DamageManager.cpp b/src/DamageManager.cpp index a065e187..1a7f25ed 100644 --- a/src/DamageManager.cpp +++ b/src/DamageManager.cpp @@ -1,21 +1,243 @@ #include "common.h" #include "patcher.h" +#include "General.h" #include "DamageManager.h" -#if 0 -WRAPPER void CDamageManager::SetDoorStatus(int door, unsigned int status) { EAXJMP(0x545920); } -#else -void CDamageManager::SetDoorStatus(int door, unsigned int status) -{ - m_bDoorStatus[door] = status; -} -#endif -#if 0 -WRAPPER unsigned int CDamageManager::GetDoorStatus(int door) { EAXJMP(0x545930); } -#else -unsigned int CDamageManager::GetDoorStatus(int door) +float G_aComponentDamage[] = { 2.5f, 1.25f, 3.2f, 1.4f, 2.5f, 2.8f, 0.5f }; + +void +CDamageManager::ResetDamageStatus(void) { - return m_bDoorStatus[door]; + memset(this, 0, sizeof(*this)); } -#endif \ No newline at end of file + +void +CDamageManager::FuckCarCompletely(void) +{ + int i; + + m_wheelStatus[0] = 2; + // wheels 1-3 not reset? + + m_doorStatus[0] = 3; + m_doorStatus[1] = 3; + m_doorStatus[2] = 3; + m_doorStatus[3] = 3; + m_doorStatus[4] = 3; + m_doorStatus[5] = 3; + + for(i = 0; i < 3; i++){ +#ifdef FIX_BUGS + ProgressPanelDamage(VEHBUMPER_FRONT); + ProgressPanelDamage(VEHBUMPER_REAR); +#else + // this can't be right + ProgressPanelDamage(COMPONENT_BUMPER_FRONT); + ProgressPanelDamage(COMPONENT_BUMPER_REAR); +#endif + } + // Why set to no damage? + m_lightStatus = 0; + m_panelStatus = 0; + SetEngineStatus(250); +} + +bool +CDamageManager::ApplyDamage(tComponent component, float damage, float unused) +{ + tComponentGroup group; + uint8 subComp; + + GetComponentGroup(component, &group, &subComp); + damage *= G_aComponentDamage[group]; + if(damage > 150.0f){ + switch(group){ + case COMPGROUP_WHEEL: + ProgressWheelDamage(subComp); + break; + case COMPGROUP_DOOR: + case COMPGROUP_BOOT: + ProgressDoorDamage(subComp); + break; + case COMPGROUP_BONNET: + if(damage > 220.0f) + ProgressEngineDamage(); + ProgressDoorDamage(subComp); + break; + case COMPGROUP_PANEL: + // so windscreen is a light? + SetLightStatus((eLights)subComp, 1); + // fall through + case COMPGROUP_BUMPER: + if(damage > 220.0f && + (component == COMPONENT_PANEL_FRONT_LEFT || + component == COMPONENT_PANEL_FRONT_RIGHT || + component == COMPONENT_PANEL_WINDSCREEN)) + ProgressEngineDamage(); + ProgressPanelDamage(subComp); + break; + } + return true; + } + return false; +} + +bool +CDamageManager::GetComponentGroup(tComponent component, tComponentGroup *componentGroup, uint8 *subComp) +{ + *subComp = -2; // ?? + + // This is done very strangely in the game, maybe an optimized switch? + if(component >= COMPONENT_PANEL_FRONT_LEFT){ + if(component >= COMPONENT_BUMPER_FRONT) + *componentGroup = COMPGROUP_BUMPER; + else + *componentGroup = COMPGROUP_PANEL; + *subComp = component - COMPONENT_PANEL_FRONT_LEFT; + return true; + }else if(component >= COMPONENT_DOOR_BONNET){ + if(component == COMPONENT_DOOR_BONNET) + *componentGroup = COMPGROUP_BONNET; + else if(component == COMPONENT_DOOR_BOOT) + *componentGroup = COMPGROUP_BOOT; + else + *componentGroup = COMPGROUP_DOOR; + *subComp = component - COMPONENT_DOOR_BONNET; + return true; + }else if(component >= COMPONENT_WHEEL_FRONT_LEFT){ + *componentGroup = COMPGROUP_WHEEL; + *subComp = component - COMPONENT_WHEEL_FRONT_LEFT; + return true; + }else if(component >= COMPONENT_DEFAULT){ + *componentGroup = COMPGROUP_DEFAULT; + *subComp = component - COMPONENT_DEFAULT; + return true; + }else + return false; +} + +void +CDamageManager::SetDoorStatus(int32 door, uint32 status) +{ + m_doorStatus[door] = status; +} + +int32 +CDamageManager::GetDoorStatus(int32 door) +{ + return m_doorStatus[door]; +} + +bool +CDamageManager::ProgressDoorDamage(uint8 door) +{ + int status = GetDoorStatus(door); + if(status == 3) + return false; + SetDoorStatus(door, status+1); + return true; +} + +void +CDamageManager::SetPanelStatus(int32 panel, uint32 status) +{ + m_panelStatus = dpb(status, panel*4, 4, m_panelStatus); +} + +int32 +CDamageManager::GetPanelStatus(int32 panel) +{ + return ldb(panel*4, 4, m_panelStatus); +} + +bool +CDamageManager::ProgressPanelDamage(uint8 panel) +{ + int status = GetPanelStatus(panel); + if(status == 3) + return false; + SetPanelStatus(panel, status+1); + return true; +} + +void +CDamageManager::SetLightStatus(eLights light, uint32 status) +{ + m_lightStatus = dpb(status, light*2, 2, m_lightStatus); +} + +int32 +CDamageManager::GetLightStatus(eLights light) +{ + return ldb(light*2, 2, m_lightStatus); +} + +void +CDamageManager::SetWheelStatus(int32 wheel, uint32 status) +{ + m_wheelStatus[wheel] = status; +} + +int32 +CDamageManager::GetWheelStatus(int32 wheel) +{ + return m_wheelStatus[wheel]; +} + +bool +CDamageManager::ProgressWheelDamage(uint8 wheel) +{ + int status = GetWheelStatus(wheel); + if(status == 3) + return false; + SetWheelStatus(wheel, status+1); + return true; +} + +void +CDamageManager::SetEngineStatus(uint32 status) +{ + if(status > 250) + m_engineStatus = 250; + else + m_engineStatus = status; +} + +int32 +CDamageManager::GetEngineStatus(void) +{ + return m_engineStatus; +} + +bool +CDamageManager::ProgressEngineDamage(void) +{ + int status = GetEngineStatus(); + int newstatus = status + 32 + (CGeneral::GetRandomNumber() & 0x1F); + if(status < 225 && newstatus > 224) + newstatus = 224; + SetEngineStatus(newstatus); + return true; +} + +STARTPATCHES + InjectHook(0x545850, &CDamageManager::ResetDamageStatus, PATCH_JUMP); + InjectHook(0x545B70, &CDamageManager::FuckCarCompletely, PATCH_JUMP); + InjectHook(0x545790, &CDamageManager::GetComponentGroup, PATCH_JUMP); + InjectHook(0x545A80, &CDamageManager::ApplyDamage, PATCH_JUMP); + InjectHook(0x545920, &CDamageManager::SetDoorStatus, PATCH_JUMP); + InjectHook(0x545930, &CDamageManager::GetDoorStatus, PATCH_JUMP); + InjectHook(0x545970, &CDamageManager::ProgressDoorDamage, PATCH_JUMP); + InjectHook(0x5458B0, &CDamageManager::SetPanelStatus, PATCH_JUMP); + InjectHook(0x5458E0, (int32 (CDamageManager::*)(int32))&CDamageManager::GetPanelStatus, PATCH_JUMP); + InjectHook(0x545A00, &CDamageManager::ProgressPanelDamage, PATCH_JUMP); + InjectHook(0x545860, &CDamageManager::SetLightStatus, PATCH_JUMP); + InjectHook(0x545890, &CDamageManager::GetLightStatus, PATCH_JUMP); + InjectHook(0x545900, &CDamageManager::SetWheelStatus, PATCH_JUMP); + InjectHook(0x545910, &CDamageManager::GetWheelStatus, PATCH_JUMP); + InjectHook(0x545A40, &CDamageManager::ProgressWheelDamage, PATCH_JUMP); + InjectHook(0x545940, &CDamageManager::SetEngineStatus, PATCH_JUMP); + InjectHook(0x545960, &CDamageManager::GetEngineStatus, PATCH_JUMP); + InjectHook(0x5459B0, &CDamageManager::ProgressEngineDamage, PATCH_JUMP); +ENDPATCHES diff --git a/src/DamageManager.h b/src/DamageManager.h index 4c1e3925..974c54ee 100644 --- a/src/DamageManager.h +++ b/src/DamageManager.h @@ -2,53 +2,100 @@ #include "common.h" +// TODO: move some of this into Vehicle.h + +enum tComponent +{ + COMPONENT_DEFAULT, + COMPONENT_WHEEL_FRONT_LEFT, + COMPONENT_WHEEL_FRONT_RIGHT, + COMPONENT_WHEEL_REAR_LEFT, + COMPONENT_WHEEL_REAR_RIGHT, + COMPONENT_DOOR_BONNET, + COMPONENT_DOOR_BOOT, + COMPONENT_DOOR_FRONT_LEFT, + COMPONENT_DOOR_FRONT_RIGHT, + COMPONENT_DOOR_REAR_LEFT, + COMPONENT_DOOR_REAR_RIGHT, + COMPONENT_PANEL_FRONT_LEFT, + COMPONENT_PANEL_FRONT_RIGHT, + COMPONENT_PANEL_REAR_LEFT, + COMPONENT_PANEL_REAR_RIGHT, + COMPONENT_PANEL_WINDSCREEN, + COMPONENT_BUMPER_FRONT, + COMPONENT_BUMPER_REAR, +}; + +enum tComponentGroup +{ + COMPGROUP_BUMPER, + COMPGROUP_WHEEL, + COMPGROUP_DOOR, + COMPGROUP_BONNET, + COMPGROUP_BOOT, + COMPGROUP_PANEL, + COMPGROUP_DEFAULT, +}; + +enum eLights +{ + VEHLIGHT_FRONT_LEFT, + VEHLIGHT_FRONT_RIGHT, + VEHLIGHT_REAR_LEFT, + VEHLIGHT_REAR_RIGHT, +}; + +enum { + VEHDOOR_BONNET = 0, + VEHDOOR_BOOT, + VEHDOOR_FRONT_LEFT, + VEHDOOR_FRONT_RIGHT, + VEHDOOR_REAR_LEFT, + VEHDOOR_REAR_RIGHT +}; + +enum { + VEHPANEL_FRONT_LEFT, + VEHPANEL_FRONT_RIGHT, + VEHPANEL_REAR_LEFT, + VEHPANEL_REAR_RIGHT, + VEHPANEL_WINDSCREEN, + VEHBUMPER_FRONT, + VEHBUMPER_REAR, +}; + class CDamageManager { public: - enum { - CAR_DOOR_BONNET = 0, - CAR_DOOR_BUMPER, - CAR_DOOR_LF, - CAR_DOOR_RF, - CAR_DOOR_LR, - CAR_DOOR_RR - }; - - enum { - PANEL_FL = 0, - PANEL_FR, - PANEL_RL, - PANEL_RR, - PANEL_WINDSHIELD, - PANEL_FRONT, - PANEL_BACK - }; - - struct PanelStatus { - uint32 m_nPanelFrontLeftStatus : 4; - uint32 m_nPanelFrontRightStatus : 4; - uint32 m_nPanelBackLeftStatus : 4; - uint32 m_nPanelBackRightStatus : 4; - uint32 m_nWindshieldStatus : 4; - uint32 m_nPanelFrontStatus : 4; - uint32 m_nPanelBackStatus : 4; - }; - float field_0; - char m_bEngineStatus; - char m_bWheelStatus[4]; - char m_bDoorStatus[7]; - uint32 m_abLightStatus; - union{ - PanelStatus m_sPanelsStatus; - uint32 m_abPanelsStatus; - }; - char field_24; - char field_25; - char field_26; - char field_27; + uint8 m_engineStatus; + uint8 m_wheelStatus[4]; + uint8 m_doorStatus[6]; + uint32 m_lightStatus; + uint32 m_panelStatus; + uint32 field_24; - void SetDoorStatus(int, unsigned int); - unsigned int GetDoorStatus(int); -}; \ No newline at end of file + void ResetDamageStatus(void); + void FuckCarCompletely(void); + bool ApplyDamage(tComponent component, float damage, float unused); + bool GetComponentGroup(tComponent component, tComponentGroup *componentGroup, uint8 *foo); + + void SetDoorStatus(int32 door, uint32 status); + int32 GetDoorStatus(int32 door); + bool ProgressDoorDamage(uint8 door); + void SetPanelStatus(int32 panel, uint32 status); + int32 GetPanelStatus(int32 panel); + bool ProgressPanelDamage(uint8 panel); + // needed for CReplay + static int32 GetPanelStatus(uint32 panelstatus, int32 panel) { return ldb(panel*4, 4, panelstatus); } + void SetLightStatus(eLights light, uint32 status); + int32 GetLightStatus(eLights light); + void SetWheelStatus(int32 wheel, uint32 status); + int32 GetWheelStatus(int32 wheel); + bool ProgressWheelDamage(uint8 wheel); + void SetEngineStatus(uint32 status); + int32 GetEngineStatus(void); + bool ProgressEngineDamage(void); +}; +VALIDATE_SIZE(CDamageManager, 0x1C); diff --git a/src/audio/AudioManager.cpp b/src/audio/AudioManager.cpp index 580093db..812c9d62 100644 --- a/src/audio/AudioManager.cpp +++ b/src/audio/AudioManager.cpp @@ -1,14 +1,509 @@ #include "AudioManager.h" + #include "DMAudio.h" #include "ModelIndices.h" +#include "MusicManager.h" #include "Ped.h" +#include "Physical.h" #include "PlayerPed.h" +#include "SampleManager.h" +#include "Vehicle.h" #include "World.h" + #include "common.h" #include "patcher.h" +#include + cAudioManager &AudioManager = *(cAudioManager *)0x880FC0; +constexpr int totalAudioEntitiesSlots = 200; + +char &g_nMissionAudioPlayingStatus = *(char *)0x60ED88; + +char +cAudioManager::GetMissionScriptPoliceAudioPlayingStatus() +{ + return g_nMissionAudioPlayingStatus; +} + +bool +cAudioManager::GetMissionAudioLoadingStatus() +{ + if(m_bIsInitialised) return m_sMissionAudio.m_bLoadingStatus; + + return true; +} + + +uint8 +cAudioManager::GetNum3DProvidersAvailable() +{ + if(m_bIsInitialised) return num3DProvidersAvailable; + return 0; +} + +int8 +cAudioManager::AutoDetect3DProviders() +{ + if(m_bIsInitialised) return cSampleManager.AutoDetect3DProviders(); + + return -1; +} + +bool +cAudioManager::IsMP3RadioChannelAvailable() +{ + if(m_bIsInitialised) return cSampleManager.IsMP3RadioChannelAvailable(); + + return 0; +} + +uint8 +cAudioManager::GetCDAudioDriveLetter() +{ + if(m_bIsInitialised) return cSampleManager.GetCDAudioDriveLetter(); + + return 0; +} + +void +cAudioManager::SetEffectsMasterVolume(uint8 volume) +{ + cSampleManager.SetEffectsMasterVolume(volume); +} + +void +cAudioManager::SetMusicMasterVolume(uint8 volume) +{ + cSampleManager.SetMusicMasterVolume(volume); +} + +void +cAudioManager::SetEffectsFadeVol(uint8 volume) +{ + cSampleManager.SetEffectsFadeVol(volume); +} + +void +cAudioManager::SetMusicFadeVol(uint8 volume) +{ + cSampleManager.SetMusicFadeVol(volume); +} + +void +cAudioManager::SetSpeakerConfig(int32 conf) +{ + cSampleManager.SetSpeakerConfig(conf); +} + +void +cAudioManager::ProcessJumboFlying() +{ + if(SetupJumboFlySound(127u)) SetupJumboEngineSound(63u, 22050); +} + +WRAPPER +bool cAudioManager::SetupJumboEngineSound(uint8, int32) { EAXJMP(0x56F140); } + +int32 *BankStartOffset = (int32 *)0x6FAB70; //[2] + +void +cAudioManager::PreInitialiseGameSpecificSetup() +{ + BankStartOffset[0] = AUDIO_SAMPLE_VEHICLE_HORN_0; + BankStartOffset[1] = AUDIO_SAMPLE_POLICE_COP_1_ARREST_1; +} + +int32 &g_nMissionAudioSfx = *(int32 *)0x60ED84; + +void +cAudioManager::SetMissionScriptPoliceAudio(int32 sfx) +{ + if(m_bIsInitialised) { + if(g_nMissionAudioPlayingStatus != 1) { + g_nMissionAudioPlayingStatus = 0; + g_nMissionAudioSfx = sfx; + } + } +} + +void +cAudioManager::CalculateDistance(bool *ptr, float dist) +{ + if(*ptr == false) { + m_sQueueSample.m_fDistance = std::sqrt(dist); + *ptr = true; + } +} + +bool +cAudioManager::UsesSiren(int32 model) +{ + switch(model) { + case FIRETRUK: + case AMBULAN: + case FBICAR: + case POLICE: + case ENFORCER: + case PREDATOR: return true; + default: return false; + } +} + +bool +cAudioManager::UsesSirenSwitching(int32 model) +{ + switch(model) { + case AMBULAN: + case POLICE: + case ENFORCER: + case PREDATOR: return true; + default: return false; + } +} + +bool +cAudioManager::MissionScriptAudioUsesPoliceChannel(int32 soundMission) +{ + switch(soundMission) { + case STREAMED_SOUND_MISSION_J6_D: + case STREAMED_SOUND_MISSION_T4_A: + case STREAMED_SOUND_MISSION_S1_H: + case STREAMED_SOUND_MISSION_S3_B: + case STREAMED_SOUND_MISSION_EL3_A: + case STREAMED_SOUND_MISSION_A3_A: + case STREAMED_SOUND_MISSION_A5_A: + case STREAMED_SOUND_MISSION_K1_A: + case STREAMED_SOUND_MISSION_R1_A: + case STREAMED_SOUND_MISSION_R5_A: + case STREAMED_SOUND_MISSION_LO2_A: + case STREAMED_SOUND_MISSION_LO6_A: return true; + default: return false; + } +} + +uint8 +cAudioManager::Get3DProviderName(uint8 id) +{ + if(m_bIsInitialised) return 0; + if(id >= num3DProvidersAvailable) return 0; + return asName3DProviders[id]; +} + +void +cAudioManager::ProcessJumboTaxi() +{ + if(SetupJumboFlySound(20u)) { + if(SetupJumboTaxiSound(75u)) SetupJumboWhineSound(18u, 29500); + } +} + +WRAPPER +bool cAudioManager::SetupJumboFlySound(uint8) { EAXJMP(0x56F230); } + +WRAPPER +bool cAudioManager::SetupJumboTaxiSound(uint8) { EAXJMP(0x56EF20); } + +WRAPPER +bool cAudioManager::SetupJumboWhineSound(uint8, int32) { EAXJMP(0x56F070); } + +void +cAudioManager::PlayLoadedMissionAudio() +{ + if(m_bIsInitialised && m_sMissionAudio.m_nSampleIndex != NO_SAMPLE && + m_sMissionAudio.m_bLoadingStatus == 1 && !m_sMissionAudio.m_bPlayStatus) { + m_sMissionAudio.m_bIsPlayed = true; + } +} + +void +cAudioManager::SetMissionAudioLocation(float x, float y, float z) +{ + if(m_bIsInitialised) { + m_sMissionAudio.field_12 = 0; + m_sMissionAudio.m_vecPos.x = x; + m_sMissionAudio.m_vecPos.y = y; + m_sMissionAudio.m_vecPos.z = z; + } +} + +void +cAudioManager::ResetPoliceRadio() +{ + if(m_bIsInitialised) { + if(cSampleManager.GetChannelUsedFlag(28)) cSampleManager.StopChannel(28); + InitialisePoliceRadio(); + } +} + +void +cAudioManager::InterrogateAudioEntities() +{ + int32 i = 0; + int32 next; + + while(i < m_nAudioEntitiesTotal) { + ProcessEntity(m_anAudioEntityIndices[i]); + next = m_anAudioEntityIndices[i++]; + m_asAudioEntities[next].field_24 = 0; + } +} + +void +cAudioManager::ClearRequestedQueue() +{ + for(uint32 i = 0; i < m_bActiveSamples; i++) { + m_abSampleQueueIndexTable[i + 27 * m_bActiveSampleQueue] = m_bActiveSamples; + } + m_bSampleRequestQueuesStatus[m_bActiveSampleQueue] = 0; +} + +// void cAudioManager::AgeCrimes() +//{ + +//} + +bool +cAudioManager::UsesReverseWarning(int32 model) +{ + return model == LINERUN || std::abs(model - FIRETRUK) <= 1 || model == BUS || + model == COACH; // fix +} + +bool +cAudioManager::HasAirBrakes(int32 model) +{ + return model == LINERUN || std::abs(model - FIRETRUK) <= 1 || model == BUS || + model == COACH; // fix +} + +int32 +cAudioManager::GetJumboTaxiFreq() +{ + return (60.833f * m_sQueueSample.m_fDistance) + 22050; +} + +void +cAudioManager::ProcessPhysical(int32 id) +{ + CPhysical *entity = m_asAudioEntities[id].m_pEntity; + if(entity) { + switch(entity->m_type & 7) { + case ENTITY_TYPE_VEHICLE: ProcessVehicle(m_asAudioEntities[id].m_pEntity); break; + case ENTITY_TYPE_PED: ProcessPed(m_asAudioEntities[id].m_pEntity); break; + default: return; + } + } +} + +WRAPPER +void +cAudioManager::ProcessVehicle(CPhysical *) +{ + EAXJMP(0x569A00); +} + +WRAPPER +void +cAudioManager::ProcessPed(CPhysical *) +{ + EAXJMP(0x56F450); +} + +WRAPPER +void +cAudioManager::ProcessPlane(void *ptr) +{ + EAXJMP(0x56E860); +} + +void +cAudioManager::ClearMissionAudio() +{ + if(m_bIsInitialised) { + m_sMissionAudio.m_nSampleIndex = NO_SAMPLE; + m_sMissionAudio.m_bLoadingStatus = 0; + m_sMissionAudio.m_bPlayStatus = 0; + m_sMissionAudio.field_22 = 0; + m_sMissionAudio.m_bIsPlayed = false; + m_sMissionAudio.field_12 = 1; + m_sMissionAudio.field_24 = 0; + } +} + +// void +// cAudioManager::ProcessReverb() +//{ +//} + +bool +cAudioManager::IsMissionAudioSampleFinished() +{ + if(m_bIsInitialised) return m_sMissionAudio.m_bPlayStatus == 2; + + static int32 cPretendFrame = 1; + + return (cPretendFrame++ & 63) == 0; +} + +WRAPPER +void cAudioManager::ProcessEntity(int32) { EAXJMP(0x569870); } + +WRAPPER +void +cAudioManager::InitialisePoliceRadio() +{ + EAXJMP(0x57EEC0); +} + +int32 +cAudioManager::RandomDisplacement(uint32 seed) +{ + int32 value; + + static bool bIsEven = true; + static uint8 base = 0; + + if(!seed) return 0; + + value = m_anRandomTable[(base + seed) % 5] % seed; + base += value; + + if(value % 2) { bIsEven = !bIsEven; } + if(!bIsEven) value = -value; + return value; +} + +void +cAudioManager::ReleaseDigitalHandle() +{ + if(m_bIsInitialised) { cSampleManager.ReleaseDigitalHandle(); } +} + +void +cAudioManager::RequireDigitalHandle() +{ + if(m_bIsInitialised) { cSampleManager.RequireDigitalHandle(); } +} + +void +cAudioManager::SetDynamicAcousticModelingStatus(bool status) +{ + m_bDynamicAcousticModelingStatus = status; +} + +bool +cAudioManager::IsAudioInitialised() const +{ + return m_bIsInitialised; +} + +int32 +cAudioManager::CreateEntity(int32 type, CPhysical *memory) +{ + if(!m_bIsInitialised) return -4; + if(!memory) return -2; + if(type >= TOTAL_AUDIO_TYPES) return -1; + for(uint32 i = 0; i < 200; i++) { + if(!m_asAudioEntities[i].m_bIsUsed) { + m_asAudioEntities[i].m_bIsUsed = true; + m_asAudioEntities[i].m_bStatus = 0; + m_asAudioEntities[i].m_nType = (eAudioType)type; + m_asAudioEntities[i].m_pEntity = memory; + m_asAudioEntities[i].m_awAudioEvent[0] = SOUND_TOTAL_PED_SOUNDS; + m_asAudioEntities[i].m_awAudioEvent[1] = SOUND_TOTAL_PED_SOUNDS; + m_asAudioEntities[i].m_awAudioEvent[2] = SOUND_TOTAL_PED_SOUNDS; + m_asAudioEntities[i].m_awAudioEvent[3] = SOUND_TOTAL_PED_SOUNDS; + m_asAudioEntities[i].field_24 = 0; + m_anAudioEntityIndices[m_nAudioEntitiesTotal++] = i; + return i; + } + } + return -3; +} + +void +cAudioManager::DestroyEntity(int32 id) +{ + if(m_bIsInitialised && id >= 0 && id < totalAudioEntitiesSlots && + m_asAudioEntities[id].m_bIsUsed) { + m_asAudioEntities[id].m_bIsUsed = 0; + for(uint32 i = 0; i < m_nAudioEntitiesTotal; ++i) { + if(id == m_anAudioEntityIndices[i]) { + if(i < totalAudioEntitiesSlots - 1) + memmove(&m_anAudioEntityIndices[i], + &m_anAudioEntityIndices[i + 1], + 4 * (m_nAudioEntitiesTotal - (i + 1))); + m_anAudioEntityIndices[--m_nAudioEntitiesTotal] = + totalAudioEntitiesSlots; + return; + } + } + } +} + +void +cAudioManager::SetEntityStatus(int32 id, bool status) +{ + if(m_bIsInitialised && id >= 0 && id < totalAudioEntitiesSlots) { + if(m_asAudioEntities[id].m_bIsUsed) { m_asAudioEntities[id].m_bStatus = status; } + } +} + +void +cAudioManager::PreTerminateGameSpecificShutdown() +{ + if(m_nBridgeEntity >= 0) { + DestroyEntity(m_nBridgeEntity); + m_nBridgeEntity = -5; + } + if(m_nPoliceChannelEntity >= 0) { + DestroyEntity(m_nPoliceChannelEntity); + m_nPoliceChannelEntity = -5; + } + if(m_nWaterCannonEntity >= 0) { + DestroyEntity(m_nWaterCannonEntity); + m_nWaterCannonEntity = -5; + } + if(m_nFireAudioEntity >= 0) { + DestroyEntity(m_nFireAudioEntity); + m_nFireAudioEntity = -5; + } + if(m_nCollisionEntity >= 0) { + DestroyEntity(m_nCollisionEntity); + m_nCollisionEntity = -5; + } + if(m_nFrontEndEntity >= 0) { + DestroyEntity(m_nFrontEndEntity); + m_nFrontEndEntity = -5; + } + if(m_nProjectileEntity >= 0) { + DestroyEntity(m_nProjectileEntity); + m_nProjectileEntity = -5; + } +} + +void +cAudioManager::PostTerminateGameSpecificShutdown() +{ + ; +} + +void +cAudioManager::GenerateIntegerRandomNumberTable() +{ + for(int32 i = 0; i < 5; i++) { m_anRandomTable[i] = rand(); } +} + +bool &bPlayerJustEnteredCar = *(bool *)0x6508C4; + +void +cAudioManager::PlayerJustGotInCar() +{ + if(m_bIsInitialised) { bPlayerJustEnteredCar = true; } +} + void cAudioManager::PlayerJustLeftCar(void) { @@ -16,16 +511,13 @@ cAudioManager::PlayerJustLeftCar(void) } void -cAudioManager::GetPhrase(uint32 *phrase, uint32 *prevPhrase, uint32 sample, - uint32 maxOffset) +cAudioManager::GetPhrase(uint32 *phrase, uint32 *prevPhrase, uint32 sample, uint32 maxOffset) { - *phrase = sample + m_anRandomTable[m_sQueueSample.m_nEntityIndex & 3] % - maxOffset; + *phrase = sample + m_anRandomTable[m_sQueueSample.m_nEntityIndex & 3] % maxOffset; // check if the same sfx like last time, if yes, then try use next one, // if exceeded range, then choose first available sample - if(*phrase == *prevPhrase && ++*phrase >= sample + maxOffset) - *phrase = sample; + if(*phrase == *prevPhrase && ++*phrase >= sample + maxOffset) *phrase = sample; *prevPhrase = *phrase; } @@ -37,17 +529,12 @@ cAudioManager::GetPlayerTalkSfx(int16 sound) switch(sound) { case SOUND_PED_DAMAGE: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_DAMAGE_REACTION_1, - 11u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_DAMAGE_REACTION_1, 11u); break; - case SOUND_PED_HIT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HIT_REACTION_1, 10u); - break; + case SOUND_PED_HIT: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HIT_REACTION_1, 10u); break; - case SOUND_PED_LAND: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FALL_REACTION_1, 6u); - break; + case SOUND_PED_LAND: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FALL_REACTION_1, 6u); break; default: sfx = NO_SAMPLE; break; } @@ -62,19 +549,16 @@ cAudioManager::GetCopTalkSfx(int16 sound) static uint32 lastSfx = NO_SAMPLE; if(sound == SOUND_PED_ARREST_COP) { - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_POLICE_COP_1_ARREST_1, - 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_POLICE_COP_1_ARREST_1, 6u); } else { if(sound != SOUND_PED_PURSUIT_COP) { return cAudioManager::GetGenericMaleTalkSfx(sound); } pedState = FindPlayerPed()->m_nPedState; - if(pedState == PED_ARRESTED || pedState == PED_DEAD || - pedState == PED_DIE) + if(pedState == PED_ARRESTED || pedState == PED_DEAD || pedState == PED_DIE) return NO_SAMPLE; - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_POLICE_COP_1_PURSUIT_1, - 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_POLICE_COP_1_PURSUIT_1, 7u); } return 13 * (m_sQueueSample.m_nEntityIndex % 5) + sfx; @@ -88,19 +572,16 @@ cAudioManager::GetSwatTalkSfx(int16 sound) static uint32 lastSfx = NO_SAMPLE; if(sound == SOUND_PED_ARREST_SWAT) { - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_POLICE_SWAT_1_PURSUIT_ARREST_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_POLICE_SWAT_1_PURSUIT_ARREST_1, 6u); } else { if(sound != SOUND_PED_PURSUIT_SWAT) { return cAudioManager::GetGenericMaleTalkSfx(sound); } pedState = FindPlayerPed()->m_nPedState; - if(pedState == PED_ARRESTED || pedState == PED_DEAD || - pedState == PED_DIE) + if(pedState == PED_ARRESTED || pedState == PED_DEAD || pedState == PED_DIE) return NO_SAMPLE; - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_POLICE_SWAT_1_PURSUIT_ARREST_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_POLICE_SWAT_1_PURSUIT_ARREST_1, 6u); } return 6 * (m_sQueueSample.m_nEntityIndex % 3) + sfx; @@ -114,19 +595,16 @@ cAudioManager::GetFBITalkSfx(int16 sound) static uint32 lastSfx = NO_SAMPLE; if(sound == SOUND_PED_ARREST_FBI) { - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_POLICE_FBI_1_PURSUIT_ARREST_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_POLICE_FBI_1_PURSUIT_ARREST_1, 6u); } else { if(sound != SOUND_PED_PURSUIT_FBI) { return cAudioManager::GetGenericMaleTalkSfx(sound); } pedState = FindPlayerPed()->m_nPedState; - if(pedState == PED_ARRESTED || pedState == PED_DEAD || - pedState == PED_DIE) + if(pedState == PED_ARRESTED || pedState == PED_DEAD || pedState == PED_DIE) return NO_SAMPLE; - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_POLICE_FBI_1_PURSUIT_ARREST_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_POLICE_FBI_1_PURSUIT_ARREST_1, 6u); } return 6 * (m_sQueueSample.m_nEntityIndex % 3) + sfx; @@ -139,13 +617,10 @@ cAudioManager::GetArmyTalkSfx(int16 sound) PedState pedState; static uint32 lastSfx = NO_SAMPLE; - if(sound != SOUND_PED_PURSUIT_ARMY) { - return cAudioManager::GetGenericMaleTalkSfx(sound); - } + if(sound != SOUND_PED_PURSUIT_ARMY) { return cAudioManager::GetGenericMaleTalkSfx(sound); } pedState = FindPlayerPed()->m_nPedState; - if(pedState == PED_ARRESTED || pedState == PED_DEAD || - pedState == PED_DIE) + if(pedState == PED_ARRESTED || pedState == PED_DEAD || pedState == PED_DIE) return NO_SAMPLE; GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_POLICE_ARMY_1_PURSUIT_1, 15u); @@ -160,24 +635,19 @@ cAudioManager::GetMedicTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_MEDIC_1_HANDS_COWER_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MEDIC_1_HANDS_COWER_1, 5u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MEDIC_1_CAR_JACKED_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MEDIC_1_CAR_JACKED_1, 5u); break; case SOUND_PED_HEALING: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MEDIC_1_HEALING_1, - 12u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MEDIC_1_HEALING_1, 12u); break; case SOUND_PED_LEAVE_VEHICLE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_MEDIC_1_LEAVE_VEHICLE_1, 9u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MEDIC_1_LEAVE_VEHICLE_1, 9u); break; case SOUND_PED_FLEE_RUN: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MEDIC_1_FLEE_RUN_1, - 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MEDIC_1_FLEE_RUN_1, 6u); break; default: return cAudioManager::GetGenericMaleTalkSfx(sound); } @@ -198,36 +668,28 @@ cAudioManager::GetNormalMaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_NORMAL_MALE_HANDS_COWER_1, 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_NORMAL_MALE_HANDS_COWER_1, 7u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_NORMAL_MALE_CAR_JACKED_1, 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_NORMAL_MALE_CAR_JACKED_1, 7u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_NORMAL_MALE_EVADE_1, - 9u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_NORMAL_MALE_EVADE_1, 9u); break; case SOUND_PED_FLEE_RUN: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_NORMAL_MALE_FLEE_RUN_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_NORMAL_MALE_FLEE_RUN_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_NORMAL_MALE_CAR_COLLISION_1, 12u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_NORMAL_MALE_CAR_COLLISION_1, 12u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_NORMAL_MALE_CHAT_SEXY_1, 8u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_NORMAL_MALE_CHAT_SEXY_1, 8u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_NORMAL_MALE_CHAT_EVENT_1, 0xAu); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_NORMAL_MALE_CHAT_EVENT_1, 0xAu); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_NORMAL_MALE_CHAT_1, - 25u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_NORMAL_MALE_CHAT_1, 25u); break; default: return cAudioManager::GetGenericMaleTalkSfx(sound); } @@ -241,13 +703,11 @@ cAudioManager::GetTaxiDriverTalkSfx(int16 sound) static uint32 lastSfx = NO_SAMPLE; if(sound == SOUND_PED_CAR_JACKED) { - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_TAXI_DRIVER_1_CAR_JACKED_1, 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_TAXI_DRIVER_1_CAR_JACKED_1, 7u); } else { if(sound != SOUND_PED_CAR_COLLISION) return cAudioManager::GetGenericMaleTalkSfx(sound); - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_TAXI_DRIVER_1_CAR_COLLISION_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_TAXI_DRIVER_1_CAR_COLLISION_1, 6u); } return 13 * (m_sQueueSample.m_nEntityIndex & 1) + sfx; } @@ -263,26 +723,17 @@ cAudioManager::GetPimpTalkSfx(int16 sound) GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_PIMP_HANDS_UP_1, 7u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_PIMP_CAR_JACKED_1, - 4u); - break; - case SOUND_PED_DEFEND: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_PIMP_DEFEND_1, 9u); - break; - case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_PIMP_EVADE_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_PIMP_CAR_JACKED_1, 4u); break; + case SOUND_PED_DEFEND: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_PIMP_DEFEND_1, 9u); break; + case SOUND_PED_EVADE: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_PIMP_EVADE_1, 6u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_PIMP_CAR_COLLISION_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_PIMP_CAR_COLLISION_1, 5u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_PIMP_CHAT_EVENT_1, - 2u); - break; - case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_PIMP_CHAT_1, 17u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_PIMP_CHAT_EVENT_1, 2u); break; + case SOUND_PED_CHAT: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_PIMP_CHAT_1, 17u); break; default: return cAudioManager::GetGenericMaleTalkSfx(sound); } return sfx; @@ -296,31 +747,24 @@ cAudioManager::GetMafiaTalkSfx(int16 sound) switch(sound) { case SOUND_PED_CAR_JACKING: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_MAFIA_1_CAR_JACKING_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MAFIA_1_CAR_JACKING_1, 2u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MAFIA_1_CAR_JACKED_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MAFIA_1_CAR_JACKED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MAFIA_1_ATTACK_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MAFIA_1_ATTACK_1, 5u); break; case SOUND_PED_EVADE: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MAFIA_1_EVADE_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_MAFIA_1_CAR_COLLISION_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MAFIA_1_CAR_COLLISION_1, 6u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MAFIA_1_CHAT_SEXY_1, - 3u); - break; - case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MAFIA_1_CHAT_1, 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MAFIA_1_CHAT_SEXY_1, 3u); break; + case SOUND_PED_CHAT: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MAFIA_1_CHAT_1, 7u); break; default: return cAudioManager::GetGenericMaleTalkSfx(sound); } return 30 * (m_sQueueSample.m_nEntityIndex % 3) + sfx; @@ -334,35 +778,27 @@ cAudioManager::GetTriadTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_UP: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_TRIAD_1_HANDS_UP_1, - 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_TRIAD_1_HANDS_UP_1, 3u); break; case SOUND_PED_CAR_JACKING: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_TRIAD_1_CAR_JACKING_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_TRIAD_1_CAR_JACKING_1, 2u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_TRIAD_1_CAR_JACKED_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_TRIAD_1_CAR_JACKED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_TRIAD_1_ATTACK_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_TRIAD_1_ATTACK_1, 5u); break; case SOUND_PED_EVADE: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_TRIAD_1_EVADE_1, 4u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_TRIAD_1_CAR_COLLISION_1, 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_TRIAD_1_CAR_COLLISION_1, 7u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_TRIAD_1_CHAT_SEXY_1, - 3u); - break; - case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_TRIAD_1_CHAT_1, 8u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_TRIAD_1_CHAT_SEXY_1, 3u); break; + case SOUND_PED_CHAT: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_TRIAD_1_CHAT_1, 8u); break; default: return cAudioManager::GetGenericMaleTalkSfx(sound); } return sfx; @@ -376,40 +812,31 @@ cAudioManager::GetDiabloTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_UP: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_DIABLO_1_HANDS_UP_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_DIABLO_1_HANDS_UP_1, 4u); break; case SOUND_PED_HANDS_COWER: sound = SOUND_PED_FLEE_SPRINT; return cAudioManager::GetGenericMaleTalkSfx(sound); break; case SOUND_PED_CAR_JACKING: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_DIABLO_1_CAR_JACKING_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_DIABLO_1_CAR_JACKING_1, 2u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_DIABLO_1_CAR_JACKED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_DIABLO_1_CAR_JACKED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_DIABLO_1_ATTACK_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_DIABLO_1_ATTACK_1, 4u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_DIABLO_1_EVADE_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_DIABLO_1_EVADE_1, 4u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_DIABLO_1_CAR_COLLISION_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_DIABLO_1_CAR_COLLISION_1, 5u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_DIABLO_1_CHAT_SEXY_1, - 4u); - break; - case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_DIABLO_1_CHAT_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_DIABLO_1_CHAT_SEXY_1, 4u); break; + case SOUND_PED_CHAT: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_DIABLO_1_CHAT_1, 5u); break; default: return cAudioManager::GetGenericMaleTalkSfx(sound); } return 30 * (m_sQueueSample.m_nEntityIndex & 1) + sfx; @@ -423,28 +850,21 @@ cAudioManager::GetYakuzaTalkSfx(int16 sound) switch(sound) { case SOUND_PED_CAR_JACKING: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_YAKUZA_1_CAR_JACKING_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YAKUZA_1_CAR_JACKING_1, 2u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_YAKUZA_1_CAR_JACKED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YAKUZA_1_CAR_JACKED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YAKUZA_1_ATTACK_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YAKUZA_1_ATTACK_1, 5u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YAKUZA_1_EVADE_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YAKUZA_1_EVADE_1, 4u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_YAKUZA_1_CAR_COLLISION_1, 6u); - break; - case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YAKUZA_1_CHAT_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YAKUZA_1_CAR_COLLISION_1, 6u); break; + case SOUND_PED_CHAT: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YAKUZA_1_CHAT_1, 5u); break; default: return cAudioManager::GetGenericMaleTalkSfx(sound); } return 24 * (m_sQueueSample.m_nEntityIndex & 1) + sfx; @@ -457,35 +877,24 @@ cAudioManager::GetYardieTalkSfx(int16 sound) static uint32 lastSfx = NO_SAMPLE; switch(sound) { - case SOUND_PED_HANDS_UP: - sfx = AUDIO_SAMPLE_PED_YARDIE_1_HANDS_UP_1; - break; + case SOUND_PED_HANDS_UP: sfx = AUDIO_SAMPLE_PED_YARDIE_1_HANDS_UP_1; break; case SOUND_PED_CAR_JACKING: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_YARDIE_1_CAR_JACKING_1, 2u); - break; - case SOUND_PED_CAR_JACKED: - sfx = AUDIO_SAMPLE_PED_YARDIE_1_CAR_JACKED_1; + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YARDIE_1_CAR_JACKING_1, 2u); break; + case SOUND_PED_CAR_JACKED: sfx = AUDIO_SAMPLE_PED_YARDIE_1_CAR_JACKED_1; break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YARDIE_1_ATTACK_1, - 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YARDIE_1_ATTACK_1, 6u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YARDIE_1_EVADE_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YARDIE_1_EVADE_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_YARDIE_1_CAR_COLLISION_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YARDIE_1_CAR_COLLISION_1, 6u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YARDIE_1_CHAT_SEXY_1, - 2u); - break; - case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YARDIE_1_CHAT_1, 8u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YARDIE_1_CHAT_SEXY_1, 2u); break; + case SOUND_PED_CHAT: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_YARDIE_1_CHAT_1, 8u); break; default: return cAudioManager::GetGenericMaleTalkSfx(sound); } return 31 * (m_sQueueSample.m_nEntityIndex & 1) + sfx; @@ -499,32 +908,24 @@ cAudioManager::GetColumbianTalkSfx(int16 sound) switch(sound) { case SOUND_PED_CAR_JACKING: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_COLUMB_1_CAR_JACKING_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_COLUMB_1_CAR_JACKING_1, 2u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_COLUMB_1_CAR_JACKED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_COLUMB_1_CAR_JACKED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_COLUMB_1_ATTACK_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_COLUMB_1_ATTACK_1, 5u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_COLUMB_1_EVADE_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_COLUMB_1_EVADE_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_COLUMB_1_CAR_COLLISION_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_COLUMB_1_CAR_COLLISION_1, 6u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_COLUMB_1_CHAT_SEXY_1, - 2u); - break; - case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_COLUMB_1_CHAT_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_COLUMB_1_CHAT_SEXY_1, 2u); break; + case SOUND_PED_CHAT: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_COLUMB_1_CHAT_1, 5u); break; default: return cAudioManager::GetGenericMaleTalkSfx(sound); } return 27 * (m_sQueueSample.m_nEntityIndex & 1) + sfx; @@ -538,35 +939,27 @@ cAudioManager::GetHoodTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_UP: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOODS_1_HANDS_UP_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOODS_1_HANDS_UP_1, 5u); break; case SOUND_PED_CAR_JACKING: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_HOODS_1_CAR_JACKING_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOODS_1_CAR_JACKING_1, 2u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOODS_1_CAR_JACKED_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOODS_1_CAR_JACKED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOODS_1_ATTACK_1, - 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOODS_1_ATTACK_1, 6u); break; case SOUND_PED_EVADE: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOODS_1_EVADE_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_HOODS_1_CAR_COLLISION_1, 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOODS_1_CAR_COLLISION_1, 7u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOODS_1_CHAT_SEXY_1, - 2u); - break; - case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOODS_1_CHAT_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOODS_1_CHAT_SEXY_1, 2u); break; + case SOUND_PED_CHAT: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOODS_1_CHAT_1, 6u); break; default: return cAudioManager::GetGenericMaleTalkSfx(sound); break; } @@ -581,28 +974,20 @@ cAudioManager::GetBlackCriminalTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_UP: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CRIMINAL_1_HANDS_UP_1, 4u); - break; - case SOUND_PED_CAR_JACKING: - sfx = AUDIO_SAMPLE_PED_BLACK_CRIMINAL_1_CAR_JACKING_1; + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CRIMINAL_1_HANDS_UP_1, 4u); break; + case SOUND_PED_CAR_JACKING: sfx = AUDIO_SAMPLE_PED_BLACK_CRIMINAL_1_CAR_JACKING_1; break; case SOUND_PED_MUGGING: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CRIMINAL_1_MUGGING_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CRIMINAL_1_MUGGING_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CRIMINAL_1_ATTACK_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CRIMINAL_1_ATTACK_1, 5u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CRIMINAL_1_EVADE_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CRIMINAL_1_EVADE_1, 6u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CRIMINAL_1_CAR_COLLISION_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CRIMINAL_1_CAR_COLLISION_1, 5u); break; default: return cAudioManager::GetGenericMaleTalkSfx(sound); break; } @@ -617,28 +1002,20 @@ cAudioManager::GetWhiteCriminalTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_UP: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CRIMINAL_1_HANDS_UP_1, 3u); - break; - case SOUND_PED_CAR_JACKING: - sfx = AUDIO_SAMPLE_PED_WHITE_CRIMINAL_1_CAR_JACKING_1; + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_CRIMINAL_1_HANDS_UP_1, 3u); break; + case SOUND_PED_CAR_JACKING: sfx = AUDIO_SAMPLE_PED_WHITE_CRIMINAL_1_CAR_JACKING_1; break; case SOUND_PED_MUGGING: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CRIMINAL_1_MUGGING_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_CRIMINAL_1_MUGGING_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CRIMINAL_1_ATTACK_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_CRIMINAL_1_ATTACK_1, 4u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CRIMINAL_1_EVADE_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_CRIMINAL_1_EVADE_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CRIMINAL_1_CAR_COLLISION_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_CRIMINAL_1_CAR_COLLISION_1, 4u); break; default: return cAudioManager::GetGenericMaleTalkSfx(sound); break; } @@ -653,34 +1030,27 @@ cAudioManager::GetMaleNo2TalkSfx(int16 sound) switch(sound) { case SOUND_PED_CAR_JACKED: - cAudioManager::GetPhrase( - &sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_NO_2_CAR_JACKED_1, - 3u); + cAudioManager::GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_NO_2_CAR_JACKED_1, + 3u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_NO_2_ROBBED_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_NO_2_ROBBED_1, 4u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_NO_2_ATTACK_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_NO_2_ATTACK_1, 4u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_NO_2_EVADE_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_NO_2_EVADE_1, 4u); break; case SOUND_PED_CAR_COLLISION: - cAudioManager::GetPhrase( - &sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_NO_2_CAR_COLLISION_1, - 7u); + cAudioManager::GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_NO_2_CAR_COLLISION_1, + 7u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_MALE_NO_2_CHAT_SEXY_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_NO_2_CHAT_SEXY_1, 5u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_NO_2_CHAT_1, - 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_NO_2_CHAT_1, 7u); break; default: return cAudioManager::GetGenericMaleTalkSfx(sound); } @@ -695,39 +1065,29 @@ cAudioManager::GetBlackProjectMaleTalkSfx(int16 sound, int32 model) switch(sound) { case SOUND_PED_HANDS_UP: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_MALE_1_HANDS_UP_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_MALE_1_HANDS_UP_1, 3u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_MALE_1_CAR_JACKED_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_MALE_1_CAR_JACKED_1, 2u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_MALE_1_ROBBED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_MALE_1_ROBBED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_MALE_1_ATTACK_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_MALE_1_ATTACK_1, 6u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_MALE_1_EVADE_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_MALE_1_EVADE_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_MALE_1_CAR_COLLISION_1, + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_MALE_1_CAR_COLLISION_1, 7u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_MALE_1_CHAT_SEXY_1, - 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_MALE_1_CHAT_SEXY_1, 3u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_MALE_1_CHAT_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_MALE_1_CHAT_1, 6u); default: return GetGenericMaleTalkSfx(sound); } @@ -743,30 +1103,22 @@ cAudioManager::GetWhiteFatMaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FAT_MALE_1_CAR_JACKED_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FAT_MALE_1_CAR_JACKED_1, 3u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FAT_MALE_1_ROBBED_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FAT_MALE_1_ROBBED_1, 3u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FAT_MALE_1_EVADE_1, 9u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FAT_MALE_1_EVADE_1, 9u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FAT_MALE_1_CAR_COLLISION_1, - 9u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FAT_MALE_1_CAR_COLLISION_1, 9u); break; case SOUND_PED_WAIT_DOUBLEBACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FAT_MALE_1_WAIT_DOUBLEBACK_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FAT_MALE_1_WAIT_DOUBLEBACK_1, 2u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FAT_MALE_1_CHAT_1, 9u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FAT_MALE_1_CHAT_1, 9u); default: return GetGenericMaleTalkSfx(sound); } return sfx; @@ -780,30 +1132,22 @@ cAudioManager::GetBlackFatMaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FAT_MALE_1_CAR_JACKED_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FAT_MALE_1_CAR_JACKED_1, 4u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FAT_MALE_1_ROBBED_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FAT_MALE_1_ROBBED_1, 3u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FAT_MALE_1_EVADE_1, 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FAT_MALE_1_EVADE_1, 7u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FAT_MALE_1_CAR_COLLISION_1, - 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FAT_MALE_1_CAR_COLLISION_1, 6u); break; case SOUND_PED_WAIT_DOUBLEBACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FAT_MALE_1_WAIT_DOUBLEBACK_1, - 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FAT_MALE_1_WAIT_DOUBLEBACK_1, 3u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FAT_MALE_1_CHAT_1, 8u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FAT_MALE_1_CHAT_1, 8u); break; default: return GetGenericMaleTalkSfx(sound); } @@ -818,41 +1162,29 @@ cAudioManager::GetBlackCasualFemaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CASUAL_FEMALE_1_HANDS_COWER_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CASUAL_FEMALE_1_HANDS_COWER_1, 2u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CASUAL_FEMALE_1_CAR_JACKED_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CASUAL_FEMALE_1_CAR_JACKED_1, 2u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CASUAL_FEMALE_1_ROBBED_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CASUAL_FEMALE_1_ROBBED_1, 3u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CASUAL_FEMALE_1_EVADE_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CASUAL_FEMALE_1_EVADE_1, 6u); break; case SOUND_PED_FLEE_RUN: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CASUAL_FEMALE_1_FLEE_RUN_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CASUAL_FEMALE_1_FLEE_RUN_1, 2u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CASUAL_FEMALE_1_CAR_COLLISION_1, 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CASUAL_FEMALE_1_CAR_COLLISION_1, + 7u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CASUAL_FEMALE_1_CHAT_EVENT_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CASUAL_FEMALE_1_CHAT_EVENT_1, 4u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CASUAL_FEMALE_1_CHAT_1, 8u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CASUAL_FEMALE_1_CHAT_1, 8u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -867,40 +1199,27 @@ cAudioManager::GetWhiteCasualFemaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CASUAL_FEMALE_1_HANDS_COWER_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_CASUAL_FEMALE_1_HANDS_COWER_1, 2u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CASUAL_FEMALE_1_CAR_JACKED_1, - 2u); - break; - case SOUND_PED_ROBBED: - sfx = AUDIO_SAMPLE_PED_WHITE_CASUAL_FEMALE_1_ROBBED_1; + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_CASUAL_FEMALE_1_CAR_JACKED_1, 2u); break; + case SOUND_PED_ROBBED: sfx = AUDIO_SAMPLE_PED_WHITE_CASUAL_FEMALE_1_ROBBED_1; break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CASUAL_FEMALE_1_EVADE_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_CASUAL_FEMALE_1_EVADE_1, 3u); break; case SOUND_PED_FLEE_RUN: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CASUAL_FEMALE_1_FLEE_RUN_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_CASUAL_FEMALE_1_FLEE_RUN_1, 2u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CASUAL_FEMALE_1_CAR_COLLISION_1, 8u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_CASUAL_FEMALE_1_CAR_COLLISION_1, + 8u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CASUAL_FEMALE_1_CHAT_EVENT_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_CASUAL_FEMALE_1_CHAT_EVENT_1, 2u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CASUAL_FEMALE_1_CHAT_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_CASUAL_FEMALE_1_CHAT_1, 4u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -915,36 +1234,28 @@ cAudioManager::GetFemaleNo3TalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_FEMALE_NO_3_HANDS_COWER_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FEMALE_NO_3_HANDS_COWER_1, 5u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_FEMALE_NO_3_CAR_JACKED_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FEMALE_NO_3_CAR_JACKED_1, 3u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FEMALE_NO_3_ROBBED_1, - 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FEMALE_NO_3_ROBBED_1, 3u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FEMALE_NO_3_EVADE_1, - 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FEMALE_NO_3_EVADE_1, 6u); break; case SOUND_PED_FLEE_RUN: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_FEMALE_NO_3_FLEE_RUN_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FEMALE_NO_3_FLEE_RUN_1, 4u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_FEMALE_NO_3_CAR_COLLISION_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FEMALE_NO_3_CAR_COLLISION_1, 6u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_FEMALE_NO_3_CHAT_EVENT_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FEMALE_NO_3_CHAT_EVENT_1, 4u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FEMALE_NO_3_CHAT_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FEMALE_NO_3_CHAT_1, 5u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -959,34 +1270,25 @@ cAudioManager::GetBlackFatFemaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FAT_FEMALE_1_HANDS_COWER_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FAT_FEMALE_1_HANDS_COWER_1, 4u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FAT_FEMALE_1_CAR_JACKED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FAT_FEMALE_1_CAR_JACKED_1, 2u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FAT_FEMALE_1_ROBBED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FAT_FEMALE_1_ROBBED_1, 2u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FAT_FEMALE_1_EVADE_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FAT_FEMALE_1_EVADE_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FAT_FEMALE_1_CAR_COLLISION_1, - 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FAT_FEMALE_1_CAR_COLLISION_1, 6u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FAT_FEMALE_1_CHAT_EVENT_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FAT_FEMALE_1_CHAT_EVENT_1, 5u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FAT_FEMALE_1_CHAT_1, 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FAT_FEMALE_1_CHAT_1, 7u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -1001,34 +1303,26 @@ cAudioManager::GetWhiteFatFemaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FAT_FEMALE_1_CAR_JACKED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FAT_FEMALE_1_CAR_JACKED_1, 2u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FAT_FEMALE_1_ROBBED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FAT_FEMALE_1_ROBBED_1, 2u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FAT_FEMALE_1_EVADE_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FAT_FEMALE_1_EVADE_1, 6u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FAT_FEMALE_1_CAR_COLLISION_1, - 8u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FAT_FEMALE_1_CAR_COLLISION_1, 8u); break; case SOUND_PED_WAIT_DOUBLEBACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FAT_FEMALE_1_WAIT_DOUBLEBACK_1, + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FAT_FEMALE_1_WAIT_DOUBLEBACK_1, 2u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FAT_FEMALE_1_CHAT_EVENT_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FAT_FEMALE_1_CHAT_EVENT_1, 4u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FAT_FEMALE_1_CHAT_1, 8u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FAT_FEMALE_1_CHAT_1, 8u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -1043,38 +1337,25 @@ cAudioManager::GetBlackFemaleProstituteTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_UP: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FEMALE_PROSTITUTE_1_HANDS_UP_1, + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FEMALE_PROSTITUTE_1_HANDS_UP_1, 4u); break; - case SOUND_PED_ROBBED: - sfx = AUDIO_SAMPLE_PED_BLACK_FEMALE_PROSTITUTE_1_ROBBED_1; - break; + case SOUND_PED_ROBBED: sfx = AUDIO_SAMPLE_PED_BLACK_FEMALE_PROSTITUTE_1_ROBBED_1; break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FEMALE_PROSTITUTE_1_ATTACK_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FEMALE_PROSTITUTE_1_ATTACK_1, 4u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FEMALE_PROSTITUTE_1_EVADE_1, - 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FEMALE_PROSTITUTE_1_EVADE_1, 3u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FEMALE_PROSTITUTE_1_CAR_COLLISION_1, - 4u); + GetPhrase(&sfx, &lastSfx, + AUDIO_SAMPLE_PED_BLACK_FEMALE_PROSTITUTE_1_CAR_COLLISION_1, 4u); break; case SOUND_PED_SOLICIT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FEMALE_PROSTITUTE_1_SOLICIT_1, - 8u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FEMALE_PROSTITUTE_1_SOLICIT_1, 8u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_FEMALE_PROSTITUTE_1_CHAT_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_FEMALE_PROSTITUTE_1_CHAT_1, 4u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -1089,35 +1370,23 @@ cAudioManager::GetWhiteFemaleProstituteTalkSfx(int16 sound) switch(sound) { case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FEMALE_PROSTITUTE_1_ROBBED_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FEMALE_PROSTITUTE_1_ROBBED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FEMALE_PROSTITUTE_1_ATTACK_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FEMALE_PROSTITUTE_1_ATTACK_1, 4u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FEMALE_PROSTITUTE_1_EVADE_1, - 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FEMALE_PROSTITUTE_1_EVADE_1, 3u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FEMALE_PROSTITUTE_1_CAR_COLLISION_1, - 4u); + GetPhrase(&sfx, &lastSfx, + AUDIO_SAMPLE_PED_WHITE_FEMALE_PROSTITUTE_1_CAR_COLLISION_1, 4u); break; case SOUND_PED_SOLICIT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FEMALE_PROSTITUTE_1_SOLICIT_1, - 8u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FEMALE_PROSTITUTE_1_SOLICIT_1, 8u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_FEMALE_PROSTITUTE_1_CHAT_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_FEMALE_PROSTITUTE_1_CHAT_1, 4u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -1132,42 +1401,30 @@ cAudioManager::GetBlackProjectFemaleOldTalkSfx(int16 sound) switch(sound) { case SOUND_PED_CAR_JACKED: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_OLD_1_CAR_JACKED_1, - 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_OLD_1_CAR_JACKED_1, + 6u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_OLD_1_ROBBED_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_OLD_1_ROBBED_1, 2u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_OLD_1_EVADE_1, - 10u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_OLD_1_EVADE_1, 10u); break; case SOUND_PED_FLEE_RUN: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_OLD_1_FLEE_RUN_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_OLD_1_FLEE_RUN_1, + 6u); break; case SOUND_PED_CAR_COLLISION: cAudioManager::GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_OLD_1_CAR_COLLISION_1, + &sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_OLD_1_CAR_COLLISION_1, 7u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_OLD_1_CHAT_EVENT_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_OLD_1_CHAT_EVENT_1, + 2u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_OLD_1_CHAT_1, - 10u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_OLD_1_CHAT_1, 10u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -1183,40 +1440,31 @@ cAudioManager::GetBlackProjectFemaleYoungTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: cAudioManager::GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_YOUNG_1_HANDS_COWER_1, + &sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_YOUNG_1_HANDS_COWER_1, 4u); break; case SOUND_PED_CAR_JACKED: - sfx = - AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_YOUNG_1_CAR_JACKED_1; + sfx = AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_YOUNG_1_CAR_JACKED_1; break; case SOUND_PED_ROBBED: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_YOUNG_1_ROBBED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_YOUNG_1_ROBBED_1, + 2u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_YOUNG_1_EVADE_1, + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_YOUNG_1_EVADE_1, 5u); break; case SOUND_PED_CAR_COLLISION: cAudioManager::GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_YOUNG_1_CAR_COLLISION_1, + &sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_YOUNG_1_CAR_COLLISION_1, 6u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_YOUNG_1_CHAT_EVENT_1, - 5u); + GetPhrase(&sfx, &lastSfx, + AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_YOUNG_1_CHAT_EVENT_1, 5u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_YOUNG_1_CHAT_1, - 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_PROJECT_FEMALE_YOUNG_1_CHAT_1, 7u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -1231,34 +1479,25 @@ cAudioManager::GetChinatownMaleOldTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_MALE_OLD_HANDS_COWER_1, - 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_MALE_OLD_HANDS_COWER_1, 3u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_MALE_OLD_CAR_JACKED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_MALE_OLD_CAR_JACKED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_MALE_OLD_ATTACK_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_MALE_OLD_ATTACK_1, 5u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_MALE_OLD_EVADE_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_MALE_OLD_EVADE_1, 6u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_MALE_OLD_CAR_COLLISION_1, - 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_MALE_OLD_CAR_COLLISION_1, 6u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_MALE_OLD_CHAT_SEXY_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_MALE_OLD_CHAT_SEXY_1, 3u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_MALE_OLD_CHAT_1, 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_MALE_OLD_CHAT_1, 7u); break; default: return GetGenericMaleTalkSfx(sound); } @@ -1273,36 +1512,26 @@ cAudioManager::GetChinatownMaleYoungTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_MALE_YOUNG_HANDS_COWER_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_MALE_YOUNG_HANDS_COWER_1, 2u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_MALE_YOUNG_CAR_JACKED_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_MALE_YOUNG_CAR_JACKED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_MALE_YOUNG_ATTACK_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_MALE_YOUNG_ATTACK_1, 6u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_MALE_YOUNG_EVADE_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_MALE_YOUNG_EVADE_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_MALE_YOUNG_CAR_COLLISION_1, + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_MALE_YOUNG_CAR_COLLISION_1, 6u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_MALE_YOUNG_CHAT_SEXY_1, - 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_MALE_YOUNG_CHAT_SEXY_1, 3u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_MALE_YOUNG_CHAT_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_MALE_YOUNG_CHAT_1, 6u); break; default: return GetGenericMaleTalkSfx(sound); } @@ -1317,29 +1546,21 @@ cAudioManager::GetChinatownFemaleOldTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_OLD_HANDS_COWER_1, - 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_OLD_HANDS_COWER_1, 3u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_OLD_ROBBED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_OLD_ROBBED_1, 2u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_OLD_EVADE_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_OLD_EVADE_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_OLD_CAR_COLLISION_1, + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_OLD_CAR_COLLISION_1, 5u); break; - case SOUND_PED_CHAT_EVENT: - sfx = AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_OLD_CHAT_EVENT_1; - break; + case SOUND_PED_CHAT_EVENT: sfx = AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_OLD_CHAT_EVENT_1; break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_OLD_CHAT_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_OLD_CHAT_1, 6u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -1354,32 +1575,23 @@ cAudioManager::GetChinatownFemaleYoungTalkSfx(int16 sound) switch(sound) { case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_YOUNG_CAR_JACKED_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_YOUNG_CAR_JACKED_1, 2u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_YOUNG_ROBBED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_YOUNG_ROBBED_1, 2u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_YOUNG_EVADE_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_YOUNG_EVADE_1, 6u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_YOUNG_CAR_COLLISION_1, - 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_YOUNG_CAR_COLLISION_1, + 7u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_YOUNG_CHAT_EVENT_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_YOUNG_CHAT_EVENT_1, 4u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_YOUNG_CHAT_1, 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_CHINATOWN_FEMALE_YOUNG_CHAT_1, 7u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -1394,35 +1606,25 @@ cAudioManager::GetLittleItalyMaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_MALE_1_HANDS_COWER_1, - 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_MALE_1_HANDS_COWER_1, 3u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_MALE_1_CAR_JACKED_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_MALE_1_CAR_JACKED_1, 2u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_MALE_1_ROBBED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_MALE_1_ROBBED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_MALE_1_ATTACK_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_MALE_1_ATTACK_1, 5u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_MALE_1_EVADE_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_MALE_1_EVADE_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_MALE_1_CAR_COLLISION_1, - 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_MALE_1_CAR_COLLISION_1, 7u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_MALE_1_CHAT_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_MALE_1_CHAT_1, 6u); break; default: return GetGenericMaleTalkSfx(sound); } @@ -1437,33 +1639,25 @@ cAudioManager::GetLittleItalyFemaleOldTalkSfx(int16 sound) switch(sound) { case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_OLD_CAR_JACKED_1, + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_OLD_CAR_JACKED_1, 2u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_OLD_ROBBED_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_OLD_ROBBED_1, 2u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_OLD_EVADE_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_OLD_EVADE_1, 6u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_OLD_CAR_COLLISION_1, - 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_OLD_CAR_COLLISION_1, + 7u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_OLD_CHAT_EVENT_1, + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_OLD_CHAT_EVENT_1, 4u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_OLD_CHAT_1, 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_OLD_CHAT_1, 7u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -1478,37 +1672,25 @@ cAudioManager::GetLittleItalyFemaleYoungTalkSfx(int16 sound) switch(sound) { case SOUND_PED_CAR_JACKED: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_YOUNG_CAR_JACKED_1, - 2u); - break; - case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_YOUNG_ROBBED_1, + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_YOUNG_CAR_JACKED_1, 2u); break; + case SOUND_PED_ROBBED: + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_YOUNG_ROBBED_1, 2u); + break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_YOUNG_EVADE_1, - 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_YOUNG_EVADE_1, 7u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_YOUNG_CAR_COLLISION_1, - 6u); + GetPhrase(&sfx, &lastSfx, + AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_YOUNG_CAR_COLLISION_1, 6u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_YOUNG_CHAT_EVENT_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_YOUNG_CHAT_EVENT_1, + 4u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_YOUNG_CHAT_1, - 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_LITTLE_ITALY_FEMALE_YOUNG_CHAT_1, 6u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -1523,29 +1705,22 @@ cAudioManager::GetWhiteDockerMaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_DOCKER_MALE_HANDS_COWER_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_DOCKER_MALE_HANDS_COWER_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_DOCKER_MALE_ATTACK_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_DOCKER_MALE_ATTACK_1, 3u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_DOCKER_MALE_EVADE_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_DOCKER_MALE_EVADE_1, 4u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_DOCKER_MALE_CAR_COLLISION_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_DOCKER_MALE_CAR_COLLISION_1, 4u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_DOCKER_MALE_CHAT_SEXY_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_DOCKER_MALE_CHAT_SEXY_1, 3u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_DOCKER_MALE_CHAT_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_DOCKER_MALE_CHAT_1, 5u); break; default: return GetGenericMaleTalkSfx(sound); } @@ -1560,29 +1735,22 @@ cAudioManager::GetBlackDockerMaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_DOCKER_MALE_HANDS_COWER_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_DOCKER_MALE_HANDS_COWER_1, 3u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_DOCKER_MALE_ATTACK_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_DOCKER_MALE_ATTACK_1, 5u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_DOCKER_MALE_EVADE_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_DOCKER_MALE_EVADE_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_DOCKER_MALE_CAR_COLLISION_1, - 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_DOCKER_MALE_CAR_COLLISION_1, 6u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_DOCKER_MALE_CHAT_SEXY_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_DOCKER_MALE_CHAT_SEXY_1, 3u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_DOCKER_MALE_CHAT_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_DOCKER_MALE_CHAT_1, 5u); break; default: return GetGenericMaleTalkSfx(sound); } @@ -1597,33 +1765,26 @@ cAudioManager::GetScumMaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SCUM_MALE_HANDS_COWER_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_MALE_HANDS_COWER_1, 5u); break; case SOUND_PED_ROBBED: sfx = AUDIO_SAMPLE_PED_SCUM_MALE_ROBBED_1; break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_MALE_ATTACK_1, - 0xAu); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_MALE_ATTACK_1, 0xAu); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_MALE_EVADE_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_MALE_EVADE_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SCUM_MALE_CAR_COLLISION_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_MALE_CAR_COLLISION_1, 6u); break; case SOUND_PED_WAIT_DOUBLEBACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SCUM_MALE_WAIT_DOUBLEBACK_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_MALE_WAIT_DOUBLEBACK_1, 3u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SCUM_MALE_CHAT_SEXY_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_MALE_CHAT_SEXY_1, 5u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_MALE_CHAT_1, - 9u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_MALE_CHAT_1, 9u); break; default: return GetGenericMaleTalkSfx(sound); } @@ -1638,28 +1799,22 @@ cAudioManager::GetScumFemaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SCUM_FEMALE_HANDS_COWER_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_FEMALE_HANDS_COWER_1, 4u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_FEMALE_ROBBED_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_FEMALE_ROBBED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_FEMALE_ATTACK_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_FEMALE_ATTACK_1, 4u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_FEMALE_EVADE_1, - 8u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_FEMALE_EVADE_1, 8u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SCUM_FEMALE_CAR_COLLISION_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_FEMALE_CAR_COLLISION_1, 5u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_FEMALE_CHAT_1, - 13u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SCUM_FEMALE_CHAT_1, 13u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -1674,29 +1829,22 @@ cAudioManager::GetWhiteWorkerMaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_WORKER_MALE_HANDS_COWER_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_WORKER_MALE_HANDS_COWER_1, 3u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_WORKER_MALE_ATTACK_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_WORKER_MALE_ATTACK_1, 3u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_WORKER_MALE_EVADE_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_WORKER_MALE_EVADE_1, 4u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_WORKER_MALE_CAR_COLLISION_1, - 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_WORKER_MALE_CAR_COLLISION_1, 6u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_WORKER_MALE_CHAT_SEXY_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_WORKER_MALE_CHAT_SEXY_1, 2u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_WORKER_MALE_CHAT_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_WORKER_MALE_CHAT_1, 6u); break; default: return GetGenericMaleTalkSfx(sound); } @@ -1711,29 +1859,22 @@ cAudioManager::GetBlackWorkerMaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_WORKER_MALE_HANDS_COWER_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_WORKER_MALE_HANDS_COWER_1, 4u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_WORKER_MALE_ATTACK_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_WORKER_MALE_ATTACK_1, 3u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_WORKER_MALE_EVADE_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_WORKER_MALE_EVADE_1, 3u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_WORKER_MALE_CAR_COLLISION_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_WORKER_MALE_CAR_COLLISION_1, 4u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_WORKER_MALE_CHAT_SEXY_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_WORKER_MALE_CHAT_SEXY_1, 3u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_WORKER_MALE_CHAT_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_WORKER_MALE_CHAT_1, 4u); break; default: return GetGenericMaleTalkSfx(sound); @@ -1749,40 +1890,29 @@ cAudioManager::GetBusinessMaleYoungTalkSfx(int16 sound, int32 model) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_MALE_YOUNG_1_HANDS_COWER_1, - 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_MALE_YOUNG_1_HANDS_COWER_1, 3u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_MALE_YOUNG_1_CAR_JACKED_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_MALE_YOUNG_1_CAR_JACKED_1, 2u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_MALE_YOUNG_1_ROBBED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_MALE_YOUNG_1_ROBBED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_MALE_YOUNG_1_ATTACK_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_MALE_YOUNG_1_ATTACK_1, 4u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_MALE_YOUNG_1_EVADE_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_MALE_YOUNG_1_EVADE_1, 4u); break; case SOUND_PED_FLEE_RUN: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_MALE_YOUNG_1_FLEE_RUN_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_MALE_YOUNG_1_FLEE_RUN_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_MALE_YOUNG_1_CAR_COLLISION_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_MALE_YOUNG_1_CAR_COLLISION_1, + 6u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_MALE_YOUNG_1_CHAT_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_MALE_YOUNG_1_CHAT_1, 6u); break; default: return GetGenericMaleTalkSfx(sound); } @@ -1799,39 +1929,28 @@ cAudioManager::GetBusinessMaleOldTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_MALE_OLD_1_HANDS_COWER_1, - 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_MALE_OLD_1_HANDS_COWER_1, 3u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_MALE_OLD_1_CAR_JACKED_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_MALE_OLD_1_CAR_JACKED_1, 2u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_MALE_OLD_1_ROBBED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_MALE_OLD_1_ROBBED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_MALE_OLD_1_ATTACK_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_MALE_OLD_1_ATTACK_1, 5u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_MALE_OLD_1_EVADE_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_MALE_OLD_1_EVADE_1, 4u); break; case SOUND_PED_FLEE_RUN: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_MALE_OLD_1_FLEE_RUN_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_MALE_OLD_1_FLEE_RUN_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_MALE_OLD_1_CAR_COLLISION_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_MALE_OLD_1_CAR_COLLISION_1, 5u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_MALE_OLD_1_CHAT_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_MALE_OLD_1_CHAT_1, 5u); break; default: return GetGenericMaleTalkSfx(sound); @@ -1847,37 +1966,28 @@ cAudioManager::GetWhiteBusinessFemaleTalkSfx(int16 sound, int32 model) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_WOMAN_1_HANDS_COWER_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_WOMAN_1_HANDS_COWER_1, 4u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_WOMAN_1_CAR_JACKED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_WOMAN_1_CAR_JACKED_1, 2u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_WOMAN_1_ROBBED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_WOMAN_1_ROBBED_1, 2u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_WOMAN_1_EVADE_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_WOMAN_1_EVADE_1, 6u); break; case SOUND_PED_FLEE_RUN: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_WOMAN_1_FLEE_RUN_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_WOMAN_1_FLEE_RUN_1, 4u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_WOMAN_1_CAR_COLLISION_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_WOMAN_1_CAR_COLLISION_1, 5u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_WOMAN_1_CHAT_EVENT_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_WOMAN_1_CHAT_EVENT_1, 4u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BUSINESS_WOMAN_1_CHAT_1, 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BUSINESS_WOMAN_1_CHAT_1, 7u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -1894,41 +2004,29 @@ cAudioManager::GetBlackBusinessFemaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_BUSINESS_FEMALE_HANDS_COWER_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_BUSINESS_FEMALE_HANDS_COWER_1, 5u); break; case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_BUSINESS_FEMALE_CAR_JACKED_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_BUSINESS_FEMALE_CAR_JACKED_1, 4u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_BUSINESS_FEMALE_ROBBED_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_BUSINESS_FEMALE_ROBBED_1, 3u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_BUSINESS_FEMALE_EVADE_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_BUSINESS_FEMALE_EVADE_1, 6u); break; case SOUND_PED_FLEE_RUN: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_BUSINESS_FEMALE_FLEE_RUN_1, - 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_BUSINESS_FEMALE_FLEE_RUN_1, 6u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_BUSINESS_FEMALE_CAR_COLLISION_1, 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_BUSINESS_FEMALE_CAR_COLLISION_1, + 7u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_BUSINESS_FEMALE_CHAT_EVENT_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_BUSINESS_FEMALE_CHAT_EVENT_1, 4u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_BUSINESS_FEMALE_CHAT_1, 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_BUSINESS_FEMALE_CHAT_1, 7u); break; default: return GetGenericFemaleTalkSfx(sound); @@ -1944,32 +2042,25 @@ cAudioManager::GetSupermodelMaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SUPERMODEL_MALE_CAR_JACKED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SUPERMODEL_MALE_CAR_JACKED_1, 2u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SUPERMODEL_MALE_ROBBED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SUPERMODEL_MALE_ROBBED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SUPERMODEL_MALE_ATTACK_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SUPERMODEL_MALE_ATTACK_1, 5u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SUPERMODEL_MALE_EVADE_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SUPERMODEL_MALE_EVADE_1, 6u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SUPERMODEL_MALE_CAR_COLLISION_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SUPERMODEL_MALE_CAR_COLLISION_1, 6u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SUPERMODEL_MALE_CHAT_SEXY_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SUPERMODEL_MALE_CHAT_SEXY_1, 3u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SUPERMODEL_MALE_CHAT_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SUPERMODEL_MALE_CHAT_1, 6u); break; default: return GetGenericMaleTalkSfx(sound); @@ -1985,29 +2076,22 @@ cAudioManager::GetSupermodelFemaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SUPERMODEL_FEMALE_HANDS_COWER_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SUPERMODEL_FEMALE_HANDS_COWER_1, 4u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SUPERMODEL_FEMALE_ROBBED_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SUPERMODEL_FEMALE_ROBBED_1, 3u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SUPERMODEL_FEMALE_EVADE_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SUPERMODEL_FEMALE_EVADE_1, 4u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SUPERMODEL_FEMALE_CAR_COLLISION_1, - 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SUPERMODEL_FEMALE_CAR_COLLISION_1, 7u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SUPERMODEL_FEMALE_CHAT_EVENT_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SUPERMODEL_FEMALE_CHAT_EVENT_1, 5u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SUPERMODEL_FEMALE_CHAT_1, 8u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SUPERMODEL_FEMALE_CHAT_1, 8u); break; default: return GetGenericFemaleTalkSfx(sound); @@ -2023,24 +2107,19 @@ cAudioManager::GetStewardMaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STEWARD_MALE_HANDS_COWER_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STEWARD_MALE_HANDS_COWER_1, 3u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STEWARD_MALE_ATTACK_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STEWARD_MALE_ATTACK_1, 4u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STEWARD_MALE_EVADE_1, - 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STEWARD_MALE_EVADE_1, 3u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STEWARD_MALE_CAR_COLLISION_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STEWARD_MALE_CAR_COLLISION_1, 5u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STEWARD_MALE_CHAT_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STEWARD_MALE_CHAT_1, 4u); break; default: return GetGenericMaleTalkSfx(sound); @@ -2056,21 +2135,16 @@ cAudioManager::GetStewardFemaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STEWARD_FEMALE_1_HANDS_COWER_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STEWARD_FEMALE_1_HANDS_COWER_1, 3u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STEWARD_FEMALE_1_EVADE_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STEWARD_FEMALE_1_EVADE_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STEWARD_FEMALE_1_CAR_COLLISION_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STEWARD_FEMALE_1_CAR_COLLISION_1, 5u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STEWARD_FEMALE_1_CHAT_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STEWARD_FEMALE_1_CHAT_1, 5u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -2085,24 +2159,19 @@ cAudioManager::GetFanMaleTalkSfx(int16 sound, int32 model) switch(sound) { case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FAN_MALE_1_ATTACK_1, - 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FAN_MALE_1_ATTACK_1, 3u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FAN_MALE_1_EVADE_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FAN_MALE_1_EVADE_1, 4u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_FAN_MALE_1_CAR_COLLISION_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FAN_MALE_1_CAR_COLLISION_1, 5u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_FAN_MALE_1_CHAT_EVENT_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FAN_MALE_1_CHAT_EVENT_1, 2u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FAN_MALE_1_CHAT_1, - 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FAN_MALE_1_CHAT_1, 6u); break; default: return GetGenericMaleTalkSfx(sound); } @@ -2118,24 +2187,18 @@ cAudioManager::GetFanFemaleTalkSfx(int16 sound) static uint32 lastSfx = NO_SAMPLE; switch(sound) { - case SOUND_PED_ROBBED: - sfx = AUDIO_SAMPLE_PED_FAN_FEMALE_1_ROBBED_1; - break; + case SOUND_PED_ROBBED: sfx = AUDIO_SAMPLE_PED_FAN_FEMALE_1_ROBBED_1; break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FAN_FEMALE_1_EVADE_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FAN_FEMALE_1_EVADE_1, 4u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_FAN_FEMALE_1_CAR_COLLISION_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FAN_FEMALE_1_CAR_COLLISION_1, 5u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_FAN_FEMALE_1_CHAT_EVENT_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FAN_FEMALE_1_CHAT_EVENT_1, 2u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FAN_FEMALE_1_CHAT_1, - 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FAN_FEMALE_1_CHAT_1, 6u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -2150,24 +2213,19 @@ cAudioManager::GetHospitalMaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_HOSPITAL_MALE_HANDS_COWER_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOSPITAL_MALE_HANDS_COWER_1, 4u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_HOSPITAL_MALE_ATTACK_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOSPITAL_MALE_ATTACK_1, 4u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_HOSPITAL_MALE_EVADE_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOSPITAL_MALE_EVADE_1, 4u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_HOSPITAL_MALE_CAR_COLLISION_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOSPITAL_MALE_CAR_COLLISION_1, 5u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOSPITAL_MALE_CHAT_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOSPITAL_MALE_CHAT_1, 5u); break; default: return GetGenericMaleTalkSfx(sound); } @@ -2182,16 +2240,13 @@ cAudioManager::GetHospitalFemaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_HOSPITAL_FEMALE_EVADE_1, 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOSPITAL_FEMALE_EVADE_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_HOSPITAL_FEMALE_CAR_COLLISION_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOSPITAL_FEMALE_CAR_COLLISION_1, 6u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_HOSPITAL_FEMALE_CHAT_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_HOSPITAL_FEMALE_CHAT_1, 6u); break; default: return GetGenericFemaleTalkSfx(sound); @@ -2207,39 +2262,28 @@ cAudioManager::GetWhiteConstructionWorkerTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CONSTRUCTION_WORKER_HANDS_COWER_1, - 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_CONSTRUCTION_WORKER_HANDS_COWER_1, + 3u); break; case SOUND_PED_CAR_JACKED: sfx = AUDIO_SAMPLE_PED_WHITE_CONSTRUCTION_WORKER_CAR_JACKED_1; break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CONSTRUCTION_WORKER_ATTACK_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_CONSTRUCTION_WORKER_ATTACK_1, 5u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CONSTRUCTION_WORKER_EVADE_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_CONSTRUCTION_WORKER_EVADE_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CONSTRUCTION_WORKER_CAR_COLLISION_1, - 4u); + GetPhrase(&sfx, &lastSfx, + AUDIO_SAMPLE_PED_WHITE_CONSTRUCTION_WORKER_CAR_COLLISION_1, 4u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CONSTRUCTION_WORKER_CHAT_SEXY_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_CONSTRUCTION_WORKER_CHAT_SEXY_1, + 3u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_WHITE_CONSTRUCTION_WORKER_CHAT_1, - 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_WHITE_CONSTRUCTION_WORKER_CHAT_1, 7u); break; default: return GetGenericMaleTalkSfx(sound); } @@ -2254,42 +2298,29 @@ cAudioManager::GetBlackConstructionWorkerTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CONSTRUCTION_WORKER_HANDS_COWER_1, - 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CONSTRUCTION_WORKER_HANDS_COWER_1, + 3u); break; case SOUND_PED_CAR_JACKED: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CONSTRUCTION_WORKER_CAR_JACKED_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CONSTRUCTION_WORKER_CAR_JACKED_1, + 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CONSTRUCTION_WORKER_ATTACK_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CONSTRUCTION_WORKER_ATTACK_1, 5u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CONSTRUCTION_WORKER_EVADE_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CONSTRUCTION_WORKER_EVADE_1, 5u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CONSTRUCTION_WORKER_CAR_COLLISION_1, - 5u); + GetPhrase(&sfx, &lastSfx, + AUDIO_SAMPLE_PED_BLACK_CONSTRUCTION_WORKER_CAR_COLLISION_1, 5u); break; case SOUND_PED_CHAT_SEXY: - GetPhrase( - &sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CONSTRUCTION_WORKER_CHAT_SEXY_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CONSTRUCTION_WORKER_CHAT_SEXY_1, + 4u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_BLACK_CONSTRUCTION_WORKER_CHAT_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_BLACK_CONSTRUCTION_WORKER_CHAT_1, 4u); break; default: return GetGenericMaleTalkSfx(sound); } @@ -2304,29 +2335,22 @@ cAudioManager::GetShopperFemaleTalkSfx(int16 sound, int32 model) switch(sound) { case SOUND_PED_CAR_JACKED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SHOPPER_FEMALE_1_CAR_JACKED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SHOPPER_FEMALE_1_CAR_JACKED_1, 2u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SHOPPER_FEMALE_1_ROBBED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SHOPPER_FEMALE_1_ROBBED_1, 2u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SHOPPER_FEMALE_1_EVADE_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SHOPPER_FEMALE_1_EVADE_1, 6u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SHOPPER_FEMALE_1_CAR_COLLISION_1, - 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SHOPPER_FEMALE_1_CAR_COLLISION_1, 7u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SHOPPER_FEMALE_1_CHAT_EVENT_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SHOPPER_FEMALE_1_CHAT_EVENT_1, 4u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SHOPPER_FEMALE_1_CHAT_1, 7u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SHOPPER_FEMALE_1_CHAT_1, 7u); break; default: return GetGenericFemaleTalkSfx(sound); } @@ -2347,32 +2371,25 @@ cAudioManager::GetStudentMaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STUDENT_MALE_HANDS_COWER_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STUDENT_MALE_HANDS_COWER_1, 2u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STUDENT_MALE_ROBBED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STUDENT_MALE_ROBBED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STUDENT_MALE_ATTACK_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STUDENT_MALE_ATTACK_1, 4u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STUDENT_MALE_EVADE_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STUDENT_MALE_EVADE_1, 4u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STUDENT_MALE_CAR_COLLISION_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STUDENT_MALE_CAR_COLLISION_1, 4u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STUDENT_MALE_CHAT_EVENT_1, 3u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STUDENT_MALE_CHAT_EVENT_1, 3u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STUDENT_MALE_CHAT_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STUDENT_MALE_CHAT_1, 5u); break; default: return GetGenericMaleTalkSfx(sound); @@ -2388,32 +2405,25 @@ cAudioManager::GetStudentFemaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_COWER: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STUDENT_FEMALE_HANDS_COWER_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STUDENT_FEMALE_HANDS_COWER_1, 4u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STUDENT_FEMALE_ROBBED_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STUDENT_FEMALE_ROBBED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STUDENT_FEMALE_ATTACK_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STUDENT_FEMALE_ATTACK_1, 4u); break; case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STUDENT_FEMALE_EVADE_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STUDENT_FEMALE_EVADE_1, 4u); break; case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STUDENT_FEMALE_CAR_COLLISION_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STUDENT_FEMALE_CAR_COLLISION_1, 4u); break; case SOUND_PED_CHAT_EVENT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STUDENT_FEMALE_CHAT_EVENT_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STUDENT_FEMALE_CHAT_EVENT_1, 2u); break; case SOUND_PED_CHAT: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_STUDENT_FEMALE_CHAT_1, 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_STUDENT_FEMALE_CHAT_1, 4u); break; default: return GetGenericFemaleTalkSfx(sound); @@ -2431,36 +2441,20 @@ uint32 cAudioManager::GetSpecialCharacterTalkSfx(int32 modelIndex, int32 sound) { char *modelName = CModelInfo::GetModelInfo(modelIndex)->GetName(); - if(strcmp(modelName, "eight") == 0 || - strcmp(modelName, "eight2") == 0) { + if(strcmp(modelName, "eight") == 0 || strcmp(modelName, "eight2") == 0) { return GetEightTalkSfx(sound); } - if(strcmp(modelName, "frankie") == 0) { - return GetFrankieTalkSfx(sound); - } + if(strcmp(modelName, "frankie") == 0) { return GetFrankieTalkSfx(sound); } if(strcmp(modelName, "misty") == 0) { return GetMistyTalkSfx(sound); } - if(strcmp(modelName, "ojg") == 0 || - strcmp(modelName, "ojg_p") == 0) { + if(strcmp(modelName, "ojg") == 0 || strcmp(modelName, "ojg_p") == 0) { return GetOJGTalkSfx(sound); } - if(strcmp(modelName, "cat") == 0) { - return GetCatatalinaTalkSfx(sound); - } - if(strcmp(modelName, "bomber") == 0) { - return GetBomberTalkSfx(sound); - } - if(strcmp(modelName, "s_guard") == 0) { - return GetSecurityGuardTalkSfx(sound); - } - if(strcmp(modelName, "chunky") == 0) { - return GetChunkyTalkSfx(sound); - } - if(strcmp(modelName, "asuka") == 0) { - return GetGenericFemaleTalkSfx(sound); - } - if(strcmp(modelName, "maria") == 0) { - return GetGenericFemaleTalkSfx(sound); - } + if(strcmp(modelName, "cat") == 0) { return GetCatatalinaTalkSfx(sound); } + if(strcmp(modelName, "bomber") == 0) { return GetBomberTalkSfx(sound); } + if(strcmp(modelName, "s_guard") == 0) { return GetSecurityGuardTalkSfx(sound); } + if(strcmp(modelName, "chunky") == 0) { return GetChunkyTalkSfx(sound); } + if(strcmp(modelName, "asuka") == 0) { return GetGenericFemaleTalkSfx(sound); } + if(strcmp(modelName, "maria") == 0) { return GetGenericFemaleTalkSfx(sound); } return GetGenericMaleTalkSfx(sound); } @@ -2472,20 +2466,16 @@ cAudioManager::GetEightTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_UP: - cAudioManager::GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_EIGHT_HANDS_UP_1, 2u); + cAudioManager::GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_EIGHT_HANDS_UP_1, 2u); break; case SOUND_PED_ROBBED: - cAudioManager::GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_EIGHT_ROBBED_1, 2u); + cAudioManager::GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_EIGHT_ROBBED_1, 2u); break; case SOUND_PED_ATTACK: - cAudioManager::GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_EIGHT_ATTACK_1, 6u); + cAudioManager::GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_EIGHT_ATTACK_1, 6u); break; case SOUND_PED_EVADE: - cAudioManager::GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_EIGHT_EVADE_1, 7u); + cAudioManager::GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_EIGHT_EVADE_1, 7u); break; default: return GetGenericMaleTalkSfx(sound); } @@ -2500,16 +2490,13 @@ cAudioManager::GetFrankieTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_UP: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FRANKIE_HANDS_UP_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FRANKIE_HANDS_UP_1, 4u); break; case SOUND_PED_ROBBED: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FRANKIE_ROBBED_1, - 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FRANKIE_ROBBED_1, 2u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FRANKIE_ATTACK_1, - 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FRANKIE_ATTACK_1, 6u); break; case SOUND_PED_EVADE: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FRANKIE_EVADE_1, 3u); @@ -2527,8 +2514,7 @@ cAudioManager::GetMistyTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_UP: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MISTY_HANDS_UP_1, - 5u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MISTY_HANDS_UP_1, 5u); break; case SOUND_PED_ROBBED: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MISTY_ROBBED_1, 2u); @@ -2536,12 +2522,9 @@ cAudioManager::GetMistyTalkSfx(int16 sound) case SOUND_PED_ATTACK: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MISTY_ATTACK_1, 4u); break; - case SOUND_PED_EVADE: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MISTY_EVADE_1, 5u); - break; + case SOUND_PED_EVADE: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MISTY_EVADE_1, 5u); break; case SOUND_PED_TAXI_CALL: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MISTY_THUMB_LIFT_1, - 4u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MISTY_THUMB_LIFT_1, 4u); break; default: return GetGenericFemaleTalkSfx(sound); break; } @@ -2580,24 +2563,18 @@ cAudioManager::GetSecurityGuardTalkSfx(int16 sound) switch(sound) { case SOUND_PED_HANDS_UP: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SECURITY_GUARD_HANDS_UP_1, 2u); - break; - case SOUND_PED_HANDS_COWER: - sfx = AUDIO_SAMPLE_PED_SECURITY_GUARD_HANDS_COWER_1; + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SECURITY_GUARD_HANDS_UP_1, 2u); break; + case SOUND_PED_HANDS_COWER: sfx = AUDIO_SAMPLE_PED_SECURITY_GUARD_HANDS_COWER_1; break; case SOUND_PED_CAR_JACKED: case SOUND_PED_CAR_COLLISION: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SECURITY_GUARD_CAR_EVENT_1, 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SECURITY_GUARD_CAR_EVENT_1, 6u); break; case SOUND_PED_ATTACK: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SECURITY_GUARD_ATTACK_1, 2u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SECURITY_GUARD_ATTACK_1, 2u); break; case SOUND_PED_FLEE_RUN: - GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_SECURITY_GUARD_CAR_EVENT_1, 12u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_SECURITY_GUARD_CAR_EVENT_1, 12u); break; default: return GetGenericMaleTalkSfx(sound); } @@ -2625,20 +2602,16 @@ cAudioManager::GetGenericMaleTalkSfx(int16 sound) static uint32 lastSfx = NO_SAMPLE; switch(sound) { - case SOUND_PED_DEATH: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_DEATH_1, 8u); - break; + case SOUND_PED_DEATH: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_DEATH_1, 8u); break; case SOUND_PED_BULLET_HIT: case SOUND_PED_DEFEND: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_INJURED_PED_MALE_OUCH_1, - 15u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_INJURED_PED_MALE_OUCH_1, 15u); break; case SOUND_PED_BURNING: GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_BURNING_1, 8u); break; case SOUND_PED_FLEE_SPRINT: - GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_FLEE_SPRINT_1, - 6u); + GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_MALE_FLEE_SPRINT_1, 6u); break; default: return NO_SAMPLE; } @@ -2653,22 +2626,18 @@ cAudioManager::GetGenericFemaleTalkSfx(int16 sound) switch(sound) { case SOUND_PED_DEATH: - cAudioManager::GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_FEMALE_DEATH_1, 10u); + cAudioManager::GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FEMALE_DEATH_1, 10u); break; case SOUND_PED_BULLET_HIT: case SOUND_PED_DEFEND: - cAudioManager::GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_INJURED_PED_FEMALE_OUCH_1, + cAudioManager::GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_INJURED_PED_FEMALE_OUCH_1, 11u); break; case SOUND_PED_BURNING: - cAudioManager::GetPhrase(&sfx, &lastSfx, - AUDIO_SAMPLE_PED_FEMALE_BURNING_1, 9u); + cAudioManager::GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FEMALE_BURNING_1, 9u); break; case SOUND_PED_FLEE_SPRINT: - cAudioManager::GetPhrase( - &sfx, &lastSfx, AUDIO_SAMPLE_PED_FEMALE_FLEE_SPRINT_1, 8u); + cAudioManager::GetPhrase(&sfx, &lastSfx, AUDIO_SAMPLE_PED_FEMALE_FLEE_SPRINT_1, 8u); break; default: return NO_SAMPLE; } @@ -2682,6 +2651,78 @@ cAudioManager::Service() } STARTPATCHES +InjectHook(0x57F050, &cAudioManager::GetMissionScriptPoliceAudioPlayingStatus, PATCH_JUMP); +InjectHook(0x5795D0, &cAudioManager::GetMissionAudioLoadingStatus, PATCH_JUMP); + +InjectHook(0x57A8A0, &cAudioManager::GetNum3DProvidersAvailable, PATCH_JUMP); +InjectHook(0x57A8F0, &cAudioManager::AutoDetect3DProviders, PATCH_JUMP); +InjectHook(0x57A9C0, &cAudioManager::IsMP3RadioChannelAvailable, PATCH_JUMP); +InjectHook(0x57AA30, &cAudioManager::GetCDAudioDriveLetter, PATCH_JUMP); + +InjectHook(0x57A730, &cAudioManager::SetEffectsMasterVolume, PATCH_JUMP); +InjectHook(0x57A750, &cAudioManager::SetMusicMasterVolume, PATCH_JUMP); +InjectHook(0x57A770, &cAudioManager::SetEffectsFadeVol, PATCH_JUMP); +InjectHook(0x57A790, &cAudioManager::SetMusicFadeVol, PATCH_JUMP); + +InjectHook(0x57A9A0, &cAudioManager::SetSpeakerConfig, PATCH_JUMP); + +InjectHook(0x56ECF0, &cAudioManager::ProcessJumboFlying, PATCH_JUMP); +InjectHook(0x569400, &cAudioManager::PreInitialiseGameSpecificSetup, PATCH_JUMP); + +InjectHook(0x57F020, &cAudioManager::SetMissionScriptPoliceAudio, PATCH_JUMP); + +InjectHook(0x5697A0, &cAudioManager::CalculateDistance, PATCH_JUMP); + +InjectHook(0x56C3C0, &cAudioManager::UsesSiren, PATCH_JUMP); +InjectHook(0x56C3F0, &cAudioManager::UsesSirenSwitching, PATCH_JUMP); + +InjectHook(0x579520, &cAudioManager::MissionScriptAudioUsesPoliceChannel, PATCH_JUMP); + +InjectHook(0x57A8C0, &cAudioManager::Get3DProviderName, PATCH_JUMP); +InjectHook(0x56EA10, &cAudioManager::ProcessJumboTaxi, PATCH_JUMP); + +InjectHook(0x579620, &cAudioManager::PlayLoadedMissionAudio, PATCH_JUMP); + +InjectHook(0x5795F0, &cAudioManager::SetMissionAudioLocation, PATCH_JUMP); + +InjectHook(0x57EFF0, &cAudioManager::ResetPoliceRadio, PATCH_JUMP); + +InjectHook(0x57B030, &cAudioManager::InterrogateAudioEntities, PATCH_JUMP); + +InjectHook(0x57C120, &cAudioManager::ClearRequestedQueue, PATCH_JUMP); +// InjectHook(0x580AF0, &cAudioManager::AgeCrimes, PATCH_JUMP); + +InjectHook(0x56C600, &cAudioManager::UsesReverseWarning, PATCH_JUMP); +InjectHook(0x56CAB0, &cAudioManager::HasAirBrakes, PATCH_JUMP); + +InjectHook(0x56F410, &cAudioManager::GetJumboTaxiFreq, PATCH_JUMP); + +InjectHook(0x5699C0, &cAudioManager::ProcessPhysical, PATCH_JUMP); +// InjectHook(0x56E860, &cAudioManager::ProcessPlane, PATCH_JUMP); + +InjectHook(0x5796A0, &cAudioManager::ClearMissionAudio, PATCH_JUMP); +// InjectHook(0x569700, &cAudioManager::ProcessReverb, PATCH_JUMP); + +InjectHook(0x579650, &cAudioManager::IsMissionAudioSampleFinished, PATCH_JUMP); +// done +InjectHook(0x57AF90, &cAudioManager::RandomDisplacement, PATCH_JUMP); + +InjectHook(0x57A9E0, &cAudioManager::ReleaseDigitalHandle, PATCH_JUMP); +InjectHook(0x57A9F0, &cAudioManager::RequireDigitalHandle, PATCH_JUMP); +InjectHook(0x57AA00, &cAudioManager::SetDynamicAcousticModelingStatus, PATCH_JUMP); + +InjectHook(0x57AA50, &cAudioManager::IsAudioInitialised, PATCH_JUMP); + +InjectHook(0x57A310, &cAudioManager::CreateEntity, PATCH_JUMP); +InjectHook(0x57A400, &cAudioManager::DestroyEntity, PATCH_JUMP); +InjectHook(0x57A4C0, &cAudioManager::SetEntityStatus, PATCH_JUMP); + +InjectHook(0x569570, &cAudioManager::PreTerminateGameSpecificShutdown, PATCH_JUMP); +InjectHook(0x569640, &cAudioManager::PostTerminateGameSpecificShutdown, PATCH_JUMP); + +InjectHook(0x57C290, &cAudioManager::GenerateIntegerRandomNumberTable, PATCH_JUMP); + +InjectHook(0x56AD10, &cAudioManager::PlayerJustGotInCar, PATCH_JUMP); InjectHook(0x56AD20, &cAudioManager::PlayerJustLeftCar, PATCH_JUMP); InjectHook(0x570DB0, &cAudioManager::GetPhrase, PATCH_JUMP); diff --git a/src/audio/AudioManager.h b/src/audio/AudioManager.h index aa7d1f72..24dae2ce 100644 --- a/src/audio/AudioManager.h +++ b/src/audio/AudioManager.h @@ -71,12 +71,14 @@ enum eAudioType : int32 { TOTAL_AUDIO_TYPES = 14, }; +class CPhysical; + class tAudioEntity { public: eAudioType m_nType; - void *m_pEntity; - char m_bIsUsed; + CPhysical *m_pEntity; + bool m_bIsUsed; char m_bStatus; int16 m_awAudioEvent[4]; char gap_18[2]; @@ -159,7 +161,7 @@ public: char field_22; char field_23; int field_24; - char m_bIsPlayed; + bool m_bIsPlayed; char field_29; char field_30; char field_31; @@ -175,7 +177,7 @@ public: char field_2; char m_bActiveSamples; char field_4; - char m_bDynamicAcousticModelingStatus; + bool m_bDynamicAcousticModelingStatus; char field_6; char field_7; float field_8; @@ -185,7 +187,7 @@ public: char field_15; int m_nTimer; tActiveSample m_sQueueSample; - char m_bActiveSampleQueue; + uint8 m_bActiveSampleQueue; char gap_109[3]; tActiveSample m_asSamples[54]; char m_abSampleQueueIndexTable[54]; @@ -216,7 +218,92 @@ public: char field_19195; int m_nTimeOfRecentCrime; - void PlayerJustLeftCar(void); + char GetMissionScriptPoliceAudioPlayingStatus(); + bool GetMissionAudioLoadingStatus(); + + uint8 GetNum3DProvidersAvailable(); + int8 AutoDetect3DProviders(); + bool IsMP3RadioChannelAvailable(); + uint8 GetCDAudioDriveLetter(); + + void SetEffectsMasterVolume(uint8 volume); + void SetMusicMasterVolume(uint8 volume); + void SetEffectsFadeVol(uint8 volume); + void SetMusicFadeVol(uint8 volume); + + void SetSpeakerConfig(int32 conf); + + void ProcessJumboFlying(); + bool SetupJumboEngineSound(uint8, int32); // todo + void PreInitialiseGameSpecificSetup(); + void SetMissionScriptPoliceAudio(int32 sfx); + + void CalculateDistance(bool *ptr, float dist); + + bool UsesSiren(int32 model); + bool UsesSirenSwitching(int32 model); + + bool MissionScriptAudioUsesPoliceChannel(int32 soundMission); + + uint8 Get3DProviderName(uint8 id); + + void ProcessJumboTaxi(); + bool SetupJumboFlySound(uint8); // todo + bool SetupJumboTaxiSound(uint8); // todo + bool SetupJumboWhineSound(uint8, int32); // todo + + void PlayLoadedMissionAudio(); + + void SetMissionAudioLocation(float x, float y, float z); + + void ResetPoliceRadio(); + + void InterrogateAudioEntities(); + + void ClearRequestedQueue(); +// void AgeCrimes(); + + bool UsesReverseWarning(int32 model); + bool HasAirBrakes(int32 model); + + int32 GetJumboTaxiFreq(); + + void ProcessPhysical(int32 id); + void ProcessVehicle(CPhysical *); // todo + void ProcessPed(CPhysical *); // todo + void ProcessPlane(void *); // todo + + void ClearMissionAudio(); +// void ProcessReverb(); + + bool IsMissionAudioSampleFinished(); + + void ProcessEntity(int32); + + void InitialisePoliceRadio(); + + // done + + int32 RandomDisplacement(uint32 seed); + + void ReleaseDigitalHandle(); + void RequireDigitalHandle(); + void SetDynamicAcousticModelingStatus(bool status); + + bool IsAudioInitialised() const; + + int32 CreateEntity(int32 type, CPhysical *memory); + void DestroyEntity(int32 id); + void SetEntityStatus(int32 id, bool status); + + void PreTerminateGameSpecificShutdown(); + void PostTerminateGameSpecificShutdown(); + + void GenerateIntegerRandomNumberTable(); + + void PlayerJustGotInCar(); + void PlayerJustLeftCar(); + void Service(); void GetPhrase(uint32 *phrase, uint32 *prevPhrase, uint32 sample, uint32 maxOffset); diff --git a/src/audio/SampleManager.cpp b/src/audio/SampleManager.cpp index 2319baec..7af3446b 100644 --- a/src/audio/SampleManager.cpp +++ b/src/audio/SampleManager.cpp @@ -1,9 +1,92 @@ #include "common.h" +#include "patcher.h" #include "SampleManager.h" CSampleManager &cSampleManager = *(CSampleManager *)0x7341E0; -uint32 &CSampleManager::nNumOfMp3Files = *(uint32*)0x95CC00; + +uint32 &nNumOfMp3Files = *(uint32 *)0x95CC00; +uint8 &num3DProvidersAvailable = *(uint8 *)0x734237; +uint32 *asName3DProviders = (uint32 *)0x734238; bool CSampleManager::IsMP3RadioChannelAvailable() { return nNumOfMp3Files != 0; } + +WRAPPER void +CSampleManager::ReleaseDigitalHandle() +{ + EAXJMP(0x5664B0); +} + +WRAPPER +void +CSampleManager::RequireDigitalHandle() +{ + EAXJMP(0x5664F0); +} + +WRAPPER +char +CSampleManager::AutoDetect3DProviders() +{ + EAXJMP(0x565990); +} + +WRAPPER +uint8 +CSampleManager::GetCDAudioDriveLetter() +{ + EAXJMP(0x566F20); +} + +WRAPPER +void +CSampleManager::SetEffectsMasterVolume(uint8 volume) +{ + EAXJMP(0x567010); +} + +WRAPPER +void +CSampleManager::SetMusicMasterVolume(uint8 volume) +{ + EAXJMP(0x567020); +} + +WRAPPER +void +CSampleManager::SetEffectsFadeVol(uint8 volume) +{ + EAXJMP(0x567030); +} + +WRAPPER +void +CSampleManager::SetMusicFadeVol(uint8 volume) +{ + EAXJMP(0x567040); +} + +WRAPPER +void +CSampleManager::SetSpeakerConfig(uint32 config) +{ + EAXJMP(0x565900); +} + +WRAPPER +bool +CSampleManager::GetChannelUsedFlag(int32 id) +{ + EAXJMP(0x567B00); +} + +WRAPPER +void +CSampleManager::StopChannel(int32 id) +{ + EAXJMP(0x567BE0); +} +STARTPATCHES +InjectHook(0x566490, CSampleManager::IsMP3RadioChannelAvailable, PATCH_JUMP); +ENDPATCHES \ No newline at end of file diff --git a/src/audio/SampleManager.h b/src/audio/SampleManager.h index ae036947..1bee1775 100644 --- a/src/audio/SampleManager.h +++ b/src/audio/SampleManager.h @@ -1,11 +1,37 @@ #pragma once -class CSampleManager { -public: - static uint32 &nNumOfMp3Files; +struct tSample { + int m_nOffset; + unsigned int m_nSize; + int m_nFrequency; + int m_nLoopStart; + int m_nLoopEnd; +}; +class CSampleManager +{ public: + void ReleaseDigitalHandle(); + void RequireDigitalHandle(); + + char AutoDetect3DProviders(); + uint8 GetCDAudioDriveLetter(); + + void SetEffectsMasterVolume(uint8 volume); + void SetMusicMasterVolume(uint8 volume); + void SetEffectsFadeVol(uint8 volume); + void SetMusicFadeVol(uint8 volume); + + void SetSpeakerConfig(uint32 config); + + bool GetChannelUsedFlag(int32 id); + void StopChannel(int32 id); + static bool IsMP3RadioChannelAvailable(); }; +extern uint32 &nNumOfMp3Files; +extern uint8 &num3DProvidersAvailable; +extern uint32* asName3DProviders; + extern CSampleManager &cSampleManager; \ No newline at end of file diff --git a/src/common.h b/src/common.h index 3d260f6e..79626acb 100644 --- a/src/common.h +++ b/src/common.h @@ -49,6 +49,19 @@ typedef uint16_t wchar; #define ALIGNPTR(p) (void*)((((uintptr)(void*)p) + sizeof(void*)-1) & ~(sizeof(void*)-1)) +// PDP-10 like byte functions +#define MASK(p, s) (((1<<(s))-1) << (p)) +inline uint32 dpb(uint32 b, uint32 p, uint32 s, uint32 w) +{ + uint32 m = MASK(p,s); + return w & ~m | b<

>p & (1<m_DamageManager.m_sPanelsStatus.m_nPanelFrontLeftStatus != rp.m_nPanelFrontLeftStatus){ - vehicle->m_DamageManager.m_sPanelsStatus.m_nPanelFrontLeftStatus = rp.m_nPanelFrontLeftStatus; - vehicle->SetPanelDamage(13, CDamageManager::PANEL_FL, flying); + if(vehicle->m_DamageManager.GetPanelStatus(VEHPANEL_FRONT_LEFT) != CDamageManager::GetPanelStatus(panels, VEHPANEL_FRONT_LEFT)){ + vehicle->m_DamageManager.SetPanelStatus(VEHPANEL_FRONT_LEFT, CDamageManager::GetPanelStatus(panels, VEHPANEL_FRONT_LEFT)); + vehicle->SetPanelDamage(13, VEHPANEL_FRONT_LEFT, flying); } - if (vehicle->m_DamageManager.m_sPanelsStatus.m_nPanelFrontRightStatus != rp.m_nPanelFrontRightStatus) { - vehicle->m_DamageManager.m_sPanelsStatus.m_nPanelFrontRightStatus = rp.m_nPanelFrontRightStatus; - vehicle->SetPanelDamage(9, CDamageManager::PANEL_FR, flying); + if(vehicle->m_DamageManager.GetPanelStatus(VEHPANEL_FRONT_RIGHT) != CDamageManager::GetPanelStatus(panels, VEHPANEL_FRONT_RIGHT)){ + vehicle->m_DamageManager.SetPanelStatus(VEHPANEL_FRONT_RIGHT, CDamageManager::GetPanelStatus(panels, VEHPANEL_FRONT_RIGHT)); + vehicle->SetPanelDamage(9, VEHPANEL_FRONT_RIGHT, flying); } - if (vehicle->m_DamageManager.m_sPanelsStatus.m_nPanelBackLeftStatus != rp.m_nPanelBackLeftStatus) { - vehicle->m_DamageManager.m_sPanelsStatus.m_nPanelBackLeftStatus = rp.m_nPanelBackLeftStatus; - vehicle->SetPanelDamage(14, CDamageManager::PANEL_RL, flying); + if(vehicle->m_DamageManager.GetPanelStatus(VEHPANEL_REAR_LEFT) != CDamageManager::GetPanelStatus(panels, VEHPANEL_REAR_LEFT)){ + vehicle->m_DamageManager.SetPanelStatus(VEHPANEL_REAR_LEFT, CDamageManager::GetPanelStatus(panels, VEHPANEL_REAR_LEFT)); + vehicle->SetPanelDamage(14, VEHPANEL_REAR_LEFT, flying); } - if (vehicle->m_DamageManager.m_sPanelsStatus.m_nPanelBackRightStatus != rp.m_nPanelBackRightStatus) { - vehicle->m_DamageManager.m_sPanelsStatus.m_nPanelBackRightStatus = rp.m_nPanelBackRightStatus; - vehicle->SetPanelDamage(10, CDamageManager::PANEL_RR, flying); + if(vehicle->m_DamageManager.GetPanelStatus(VEHPANEL_REAR_RIGHT) != CDamageManager::GetPanelStatus(panels, VEHPANEL_REAR_RIGHT)){ + vehicle->m_DamageManager.SetPanelStatus(VEHPANEL_REAR_RIGHT, CDamageManager::GetPanelStatus(panels, VEHPANEL_REAR_RIGHT)); + vehicle->SetPanelDamage(10, VEHPANEL_REAR_RIGHT, flying); } - if (vehicle->m_DamageManager.m_sPanelsStatus.m_nWindshieldStatus != rp.m_nWindshieldStatus) { - vehicle->m_DamageManager.m_sPanelsStatus.m_nWindshieldStatus = rp.m_nWindshieldStatus; - vehicle->SetPanelDamage(19, CDamageManager::PANEL_WINDSHIELD, flying); + if(vehicle->m_DamageManager.GetPanelStatus(VEHPANEL_WINDSCREEN) != CDamageManager::GetPanelStatus(panels, VEHPANEL_WINDSCREEN)){ + vehicle->m_DamageManager.SetPanelStatus(VEHPANEL_WINDSCREEN, CDamageManager::GetPanelStatus(panels, VEHPANEL_WINDSCREEN)); + vehicle->SetPanelDamage(19, VEHPANEL_WINDSCREEN, flying); } - if (vehicle->m_DamageManager.m_sPanelsStatus.m_nPanelFrontStatus != rp.m_nPanelFrontStatus) { - vehicle->m_DamageManager.m_sPanelsStatus.m_nPanelFrontStatus = rp.m_nPanelFrontStatus; - vehicle->SetPanelDamage(7, CDamageManager::PANEL_FRONT, flying); + if(vehicle->m_DamageManager.GetPanelStatus(VEHBUMPER_FRONT) != CDamageManager::GetPanelStatus(panels, VEHBUMPER_FRONT)){ + vehicle->m_DamageManager.SetPanelStatus(VEHBUMPER_FRONT, CDamageManager::GetPanelStatus(panels, VEHBUMPER_FRONT)); + vehicle->SetPanelDamage(7, VEHBUMPER_FRONT, flying); } - if (vehicle->m_DamageManager.m_sPanelsStatus.m_nPanelBackStatus != rp.m_nPanelBackStatus) { - vehicle->m_DamageManager.m_sPanelsStatus.m_nPanelBackStatus = rp.m_nPanelBackStatus; - vehicle->SetPanelDamage(8, CDamageManager::PANEL_BACK, flying); + if(vehicle->m_DamageManager.GetPanelStatus(VEHBUMPER_REAR) != CDamageManager::GetPanelStatus(panels, VEHBUMPER_REAR)){ + vehicle->m_DamageManager.SetPanelStatus(VEHBUMPER_REAR, CDamageManager::GetPanelStatus(panels, VEHBUMPER_REAR)); + vehicle->SetPanelDamage(8, VEHBUMPER_REAR, flying); } } #endif @@ -625,7 +624,7 @@ void CReplay::StoreCarUpdate(CVehicle *vehicle, int id) vp->matrix.CompressFromFullMatrix(vehicle->GetMatrix()); vp->health = vehicle->m_fHealth / 4.0f; /* Not anticipated that health can be > 1000. */ vp->acceleration = vehicle->m_fGasPedal * 100.0f; - vp->panels = vehicle->IsCar() ? ((CAutomobile*)vehicle)->m_DamageManager.m_abPanelsStatus : 0; + vp->panels = vehicle->IsCar() ? ((CAutomobile*)vehicle)->m_DamageManager.m_panelStatus : 0; vp->velocityX = 8000.0f * max(-4.0f, min(4.0f, vehicle->GetSpeed().x)); /* 8000!? */ vp->velocityY = 8000.0f * max(-4.0f, min(4.0f, vehicle->GetSpeed().y)); vp->velocityZ = 8000.0f * max(-4.0f, min(4.0f, vehicle->GetSpeed().z)); @@ -646,7 +645,7 @@ void CReplay::StoreCarUpdate(CVehicle *vehicle, int id) vp->door_angles[1] = 127.0f / M_PI * car->m_aDoors[3].m_fAngle; vp->door_status = 0; for (int i = 0; i < 6; i++){ - if (car->m_DamageManager.m_bDoorStatus[i] == 3) + if (car->m_DamageManager.GetDoorStatus(i) == 3) vp->door_status |= BIT(i); } } @@ -690,34 +689,34 @@ void CReplay::ProcessCarUpdate(CVehicle *vehicle, float interpolation, CAddressI car->m_aDoors[2].m_fAngle = car->m_aDoors[2].m_fPreviousAngle = vp->door_angles[0] * M_PI / 127.0f; car->m_aDoors[3].m_fAngle = car->m_aDoors[3].m_fPreviousAngle = vp->door_angles[1] * M_PI / 127.0f; if (vp->door_angles[0]) - car->m_DamageManager.m_bDoorStatus[2] = 2; + car->m_DamageManager.SetDoorStatus(2, 2); if (vp->door_angles[1]) - car->m_DamageManager.m_bDoorStatus[3] = 2; - if (vp->door_status & 1 && car->m_DamageManager.GetDoorStatus(CDamageManager::CAR_DOOR_BONNET) != 3){ - car->m_DamageManager.SetDoorStatus(CDamageManager::CAR_DOOR_BONNET, 3); - car->SetDoorDamage(17, CDamageManager::CAR_DOOR_BONNET, true); + car->m_DamageManager.SetDoorStatus(3, 2); + if (vp->door_status & 1 && car->m_DamageManager.GetDoorStatus(VEHDOOR_BONNET) != 3){ + car->m_DamageManager.SetDoorStatus(VEHDOOR_BONNET, 3); + car->SetDoorDamage(17, VEHDOOR_BONNET, true); } - if (vp->door_status & 2 && car->m_DamageManager.GetDoorStatus(CDamageManager::CAR_DOOR_BUMPER) != 3) { - car->m_DamageManager.SetDoorStatus(CDamageManager::CAR_DOOR_BUMPER, 3); - car->SetDoorDamage(18, CDamageManager::CAR_DOOR_BUMPER, true); + if (vp->door_status & 2 && car->m_DamageManager.GetDoorStatus(VEHDOOR_BOOT) != 3) { + car->m_DamageManager.SetDoorStatus(VEHDOOR_BOOT, 3); + car->SetDoorDamage(18, VEHDOOR_BOOT, true); } - if (vp->door_status & 4 && car->m_DamageManager.GetDoorStatus(CDamageManager::CAR_DOOR_LF) != 3) { - car->m_DamageManager.SetDoorStatus(CDamageManager::CAR_DOOR_LF, 3); - car->SetDoorDamage(15, CDamageManager::CAR_DOOR_LF, true); + if (vp->door_status & 4 && car->m_DamageManager.GetDoorStatus(VEHDOOR_FRONT_LEFT) != 3) { + car->m_DamageManager.SetDoorStatus(VEHDOOR_FRONT_LEFT, 3); + car->SetDoorDamage(15, VEHDOOR_FRONT_LEFT, true); } - if (vp->door_status & 8 && car->m_DamageManager.GetDoorStatus(CDamageManager::CAR_DOOR_RF) != 3) { - car->m_DamageManager.SetDoorStatus(CDamageManager::CAR_DOOR_RF, 3); - car->SetDoorDamage(11, CDamageManager::CAR_DOOR_RF, true); + if (vp->door_status & 8 && car->m_DamageManager.GetDoorStatus(VEHDOOR_FRONT_RIGHT) != 3) { + car->m_DamageManager.SetDoorStatus(VEHDOOR_FRONT_RIGHT, 3); + car->SetDoorDamage(11, VEHDOOR_FRONT_RIGHT, true); } - if (vp->door_status & 0x10 && car->m_DamageManager.GetDoorStatus(CDamageManager::CAR_DOOR_LR) != 3) { - car->m_DamageManager.SetDoorStatus(CDamageManager::CAR_DOOR_LR, 3); - car->SetDoorDamage(16, CDamageManager::CAR_DOOR_LR, true); + if (vp->door_status & 0x10 && car->m_DamageManager.GetDoorStatus(VEHDOOR_REAR_LEFT) != 3) { + car->m_DamageManager.SetDoorStatus(VEHDOOR_REAR_LEFT, 3); + car->SetDoorDamage(16, VEHDOOR_REAR_LEFT, true); } - if (vp->door_status & 0x20 && car->m_DamageManager.GetDoorStatus(CDamageManager::CAR_DOOR_RR) != 3) { - car->m_DamageManager.SetDoorStatus(CDamageManager::CAR_DOOR_RR, 3); - car->SetDoorDamage(12, CDamageManager::CAR_DOOR_RR, true); + if (vp->door_status & 0x20 && car->m_DamageManager.GetDoorStatus(VEHDOOR_REAR_RIGHT) != 3) { + car->m_DamageManager.SetDoorStatus(VEHDOOR_REAR_RIGHT, 3); + car->SetDoorDamage(12, VEHDOOR_REAR_RIGHT, true); } - vehicle->m_veh_flagA10 = true; + vehicle->bEngineOn = true; if (vehicle->IsCar()) ((CAutomobile*)vehicle)->m_nDriveWheelsOnGround = 4; CWorld::Remove(vehicle); @@ -1195,8 +1194,8 @@ void CReplay::RestoreStuffFromMem(void) } if (vehicle->IsCar()){ CAutomobile* car = (CAutomobile*)vehicle; - int32 panels = car->m_DamageManager.m_abPanelsStatus; - car->m_DamageManager.m_abPanelsStatus = 0; + int32 panels = car->m_DamageManager.m_panelStatus; + car->m_DamageManager.m_panelStatus = 0; ApplyPanelDamageToCar(panels, car, true); car->SetDoorDamage(17, 0, true); /* BONNET */ car->SetDoorDamage(18, 1, true); /* BUMPER */ diff --git a/src/entities/Ped.cpp b/src/entities/Ped.cpp index e53066f7..ba0e3088 100644 --- a/src/entities/Ped.cpp +++ b/src/entities/Ped.cpp @@ -99,7 +99,7 @@ CPed::FlagToDestroyWhenNextProcessed(void) } bInVehicle = false; m_pMyVehicle = nil; - if (m_nCreatedBy == CREATED_BY_SCRIPT) + if (CharCreatedBy == MISSION_CHAR) m_nPedState = PED_DEAD; else m_nPedState = PED_NONE; @@ -278,7 +278,7 @@ CPed::CPed(uint32 pedType) : m_pedIK(this) m_talkType = 167; m_objective = OBJECTIVE_NONE; m_prevObjective = OBJECTIVE_NONE; - m_nCreatedBy = CREATED_BY_RANDOM; + CharCreatedBy = RANDOM_CHAR; m_leader = nil; m_pedInObjective = nil; m_carInObjective = nil; @@ -1336,13 +1336,13 @@ CPed::BeingDraggedFromCar(void) if (m_vehEnterType == VEHICLE_ENTER_FRONT_LEFT || m_vehEnterType == VEHICLE_ENTER_REAR_LEFT) { if (m_ped_flagF10) { enterAnim = ANIM_CAR_QJACKED; - } else if (m_pMyVehicle->bIsLow) { + } else if (m_pMyVehicle->bLowVehicle) { enterAnim = ANIM_CAR_LJACKED_LHS; } else { enterAnim = ANIM_CAR_JACKED_LHS; } } else if (m_vehEnterType == VEHICLE_ENTER_FRONT_RIGHT || m_vehEnterType == VEHICLE_ENTER_REAR_RIGHT) { - if (m_pMyVehicle->bIsLow) + if (m_pMyVehicle->bLowVehicle) enterAnim = ANIM_CAR_LJACKED_RHS; else enterAnim = ANIM_CAR_JACKED_RHS; @@ -1452,7 +1452,7 @@ CPed::GetLocalPositionToOpenCarDoor(CVector *output, CVehicle *veh, uint32 enter vehDoorOffset = offsetToOpenVanDoor; } else { seatOffset = veh->m_handling->fSeatOffsetDistance * seatPosMult; - if (veh->bIsLow) { + if (veh->bLowVehicle) { vehDoorOffset = offsetToOpenLowCarDoor; } else { vehDoorOffset = offsetToOpenRegularCarDoor; @@ -2203,10 +2203,10 @@ CPed::CanBeDeleted(void) if (this->bInVehicle) return false; - switch (m_nCreatedBy) { - case CREATED_BY_RANDOM: + switch (CharCreatedBy) { + case RANDOM_CHAR: return true; - case CREATED_BY_SCRIPT: + case MISSION_CHAR: return false; default: return true; @@ -2502,7 +2502,7 @@ CPed::SetObjective(eObjective newObj, void *entity) m_vecSeekVehicle = CVector(0.0f, 0.0f, 0.0f); if (newObj == OBJECTIVE_SOLICIT) { m_objectiveTimer = CTimer::GetTimeInMilliseconds() + 10000; - } else if (m_objective == OBJECTIVE_ENTER_CAR_AS_PASSENGER && m_nCreatedBy == CREATED_BY_SCRIPT && + } else if (m_objective == OBJECTIVE_ENTER_CAR_AS_PASSENGER && CharCreatedBy == MISSION_CHAR && (m_carInObjective->m_status == STATUS_PLAYER_DISABLED || CPad::GetPad(CWorld::PlayerInFocus)->DisablePlayerControls)) { SetObjectiveTimer(14000); } else { @@ -2738,7 +2738,7 @@ CPed::ReactToAttack(CEntity *attacker) return; } - if (IsPedInControl() && (m_nCreatedBy != CREATED_BY_SCRIPT || bRespondsToThreats)) { + if (IsPedInControl() && (CharCreatedBy != MISSION_CHAR || bRespondsToThreats)) { CPed *ourLeader = m_leader; if (ourLeader != attacker && (!ourLeader || FindPlayerPed() != ourLeader) && attacker->IsPed()) { diff --git a/src/entities/Ped.h b/src/entities/Ped.h index a774dbbe..3888c076 100644 --- a/src/entities/Ped.h +++ b/src/entities/Ped.h @@ -84,8 +84,8 @@ enum eVehEnter : uint16 { }; enum { - CREATED_BY_RANDOM = 1, - CREATED_BY_SCRIPT + RANDOM_CHAR = 1, + MISSION_CHAR, }; enum PedLineUpPhase { @@ -154,15 +154,15 @@ enum PedState PED_PASSENGER, PED_TAXI_PASSENGER, PED_OPEN_DOOR, - PED_DIE = 48, - PED_DEAD = 49, + PED_DIE, + PED_DEAD, PED_CARJACK, PED_DRAG_FROM_CAR, PED_ENTER_CAR, PED_STEAL_CAR, PED_EXIT_CAR, PED_HANDS_UP, - PED_ARRESTED = 56, + PED_ARRESTED, }; enum eMoveState { @@ -181,6 +181,8 @@ public: // 0x128 CStoredCollPoly m_collPoly; float m_fCollisionSpeed; + + // cf. https://github.com/DK22Pac/plugin-sdk/blob/master/plugin_sa/game_sa/CPed.h from R* uint8 bIsStanding : 1; uint8 m_ped_flagA2 : 1; uint8 m_ped_flagA4 : 1; // stores (CTimer::GetTimeInMilliseconds() < m_lastHitTime) @@ -201,7 +203,7 @@ public: uint8 m_ped_flagC1 : 1; uint8 bRespondsToThreats : 1; - uint8 m_ped_flagC4 : 1; + uint8 m_ped_flagC4 : 1; // false when in bus, bRenderPedInCar? uint8 m_ped_flagC8 : 1; uint8 m_ped_flagC10 : 1; uint8 m_ped_flagC20 : 1; // just left some body part? @@ -261,8 +263,9 @@ public: uint8 m_ped_flagI20 : 1; uint8 m_ped_flagI40 : 1; uint8 m_ped_flagI80 : 1; + uint8 stuff10[3]; - uint8 m_nCreatedBy; + uint8 CharCreatedBy; uint8 field_161; uint8 pad_162[2]; eObjective m_objective; @@ -537,6 +540,8 @@ public: return 0; } } + PedState GetPedState(void) { return m_nPedState; } + void SetPedState(PedState state) { m_nPedState = state; } // to make patching virtual functions possible void SetModelIndex_(uint32 mi) { CPed::SetModelIndex(mi); } diff --git a/src/entities/Physical.h b/src/entities/Physical.h index 7776da92..0f517cf3 100644 --- a/src/entities/Physical.h +++ b/src/entities/Physical.h @@ -109,9 +109,9 @@ public: // Force actually means Impulse here void ApplyMoveForce(float jx, float jy, float jz); void ApplyMoveForce(const CVector &j) { ApplyMoveForce(j.x, j.y, j.z); } - // v(x,y,z) is direction of force, p(x,y,z) is point relative to model center where force is applied - void ApplyTurnForce(float jx, float jy, float jz, float rx, float ry, float rz); - // v is direction of force, p is point relative to model center where force is applied + // j(x,y,z) is direction of force, p(x,y,z) is point relative to model center where force is applied + void ApplyTurnForce(float jx, float jy, float jz, float px, float py, float pz); + // j is direction of force, p is point relative to model center where force is applied void ApplyTurnForce(const CVector &j, const CVector &p) { ApplyTurnForce(j.x, j.y, j.z, p.x, p.y, p.z); } void ApplyFrictionMoveForce(float jx, float jy, float jz); void ApplyFrictionMoveForce(const CVector &j) { ApplyFrictionMoveForce(j.x, j.y, j.z); } diff --git a/src/entities/Vehicle.cpp b/src/entities/Vehicle.cpp index f7c4b065..25bede65 100644 --- a/src/entities/Vehicle.cpp +++ b/src/entities/Vehicle.cpp @@ -1,9 +1,17 @@ #include "common.h" +#include "main.h" #include "patcher.h" +#include "Timer.h" #include "Vehicle.h" #include "Pools.h" +#include "HandlingMgr.h" #include "CarCtrl.h" +#include "Population.h" #include "ModelIndices.h" +#include "World.h" +#include "Lights.h" +#include "PointLights.h" +#include "Renderer.h" #include "DMAudio.h" #include "Radar.h" @@ -40,30 +48,238 @@ CVehicle::~CVehicle() CCarCtrl::NumAmbulancesOnDuty--; bIsAmbulanceOnDuty = false; } - if (bIsFiretruckOnDuty){ + if (bIsFireTruckOnDuty){ CCarCtrl::NumFiretrucksOnDuty--; - bIsFiretruckOnDuty = false; - } -} - -bool -CVehicle::IsLawEnforcementVehicle(void) -{ - switch (m_modelIndex) { - case MI_FBICAR: - case MI_POLICE: - case MI_ENFORCER: - case MI_PREDATOR: - case MI_RHINO: - case MI_BARRACKS: - return true; - default: - return false; + bIsFireTruckOnDuty = false; } } void -CVehicle::ChangeLawEnforcerState(bool enable) +CVehicle::SetModelIndex(uint32 id) +{ + CEntity::SetModelIndex(id); + m_aExtras[0] = CVehicleModelInfo::ms_compsUsed[0]; + m_aExtras[1] = CVehicleModelInfo::ms_compsUsed[1]; + m_nNumMaxPassengers = CVehicleModelInfo::GetMaximumNumberOfPassengersFromNumberOfDoors(id); +} + +bool +CVehicle::SetupLighting(void) +{ + ActivateDirectional(); + SetAmbientColoursForPedsCarsAndObjects(); + + if(bRenderScorched){ + WorldReplaceNormalLightsWithScorched(Scene.world, 0.1f); + }else{ + CVector coors = GetPosition(); + float lighting = CPointLights::GenerateLightsAffectingObject(&coors); + if(!bHasBlip && lighting != 1.0f){ + SetAmbientAndDirectionalColours(lighting); + return true; + } + } + + return false; +} + +void +CVehicle::RemoveLighting(bool reset) +{ + CRenderer::RemoveVehiclePedLights(this, reset); +} + +float +CVehicle::GetHeightAboveRoad(void) +{ + return -1.0f * CModelInfo::GetModelInfo(GetModelIndex())->GetColModel()->boundingBox.min.z; +} + + +bool +CVehicle::IsLawEnforcementVehicle(void) +{ + switch(GetModelIndex()){ + case MI_FBICAR: + case MI_POLICE: + case MI_ENFORCER: + case MI_PREDATOR: + case MI_RHINO: + case MI_BARRACKS: + return true; + default: + return false; + } +} + +bool +CVehicle::UsesSiren(uint32 id) +{ + switch(id){ + case MI_FIRETRUCK: + case MI_AMBULAN: + case MI_FBICAR: + case MI_MRWHOOP: + case MI_POLICE: + case MI_ENFORCER: + case MI_PREDATOR: + return true; + default: + return false; + } +} + +bool +CVehicle::IsVehicleNormal(void) +{ + if(pDriver && m_nNumPassengers == 0 && m_status != STATUS_WRECKED){ + switch(GetModelIndex()) + case MI_FIRETRUCK: + case MI_AMBULAN: + case MI_TAXI: + case MI_POLICE: + case MI_ENFORCER: + case MI_BUS: + case MI_RHINO: + case MI_BARRACKS: + case MI_DODO: + case MI_COACH: + case MI_CABBIE: + case MI_RCBANDIT: + case MI_BORGNINE: + return false; + } + return false; +} + +bool +CVehicle::CarHasRoof(void) +{ + if((m_handling->Flags & HANDLING_HAS_NO_ROOF) == 0) + return true; + if(m_aExtras[0] && m_aExtras[1]) + return false; + return true; +} + +bool +CVehicle::IsUpsideDown(void) +{ + if(GetUp().z > -0.9f) + return false; + return true; +} + +bool +CVehicle::IsOnItsSide(void) +{ + if(GetRight().z < 0.8f && GetRight().z > -0.8f) + return false; + return true; +} + +bool +CVehicle::CanBeDeleted(void) +{ + int i; + + if(m_nNumGettingIn || m_nGettingOutFlags) + return false; + + if(pDriver){ + // This looks like it was inlined + if(pDriver->CharCreatedBy == MISSION_CHAR) + return false; + if(pDriver->GetPedState() != PED_DRIVING && + pDriver->GetPedState() != PED_DEAD) + return false; + } + + for(i = 0; i < 8; i++){ + // Same check as above + if(pPassengers[i]){ + if(pPassengers[i]->CharCreatedBy == MISSION_CHAR) + return false; + if(pPassengers[i]->GetPedState() != PED_DRIVING && + pPassengers[i]->GetPedState() != PED_DEAD) + return false; + } + // and then again... probably because something was inlined + if(pPassengers[i]){ + if(pPassengers[i]->GetPedState() != PED_DRIVING && + pPassengers[i]->GetPedState() != PED_DEAD) + return false; + } + } + + switch(VehicleCreatedBy){ + case RANDOM_VEHICLE: return true; + case MISSION_VEHICLE: return false; + case PARKED_VEHICLE: return true; + case PERMANENT_VEHICLE: return false; + } + return true; +} + +bool +CVehicle::CanPedOpenLocks(CPed *ped) +{ + if(m_nDoorLock == CARLOCK_LOCKED || + m_nDoorLock == CARLOCK_COP_CAR || + m_nDoorLock == CARLOCK_LOCKED_PLAYER_INSIDE) + return false; + if(ped->IsPlayer() && m_nDoorLock == CARLOCK_LOCKOUT_PLAYER_ONLY) + return false; + return true; +} + +bool +CVehicle::CanPedEnterCar(void) +{ + CVector up = GetUp(); + // can't enter when car is on side + if(up.z > 0.1f || up.z < -0.1f){ + // also when car is moving too fast + if(m_vecMoveSpeed.MagnitudeSqr() > sq(0.2f)) + return false; + if(m_vecTurnSpeed.MagnitudeSqr() > sq(0.2f)) + return false; + return true; + } + return false; +} + +bool +CVehicle::CanPedExitCar(void) +{ + CVector up = GetUp(); + if(up.z > 0.1f || up.z < -0.1f){ + // can't exit when car is moving too fast + if(m_vecMoveSpeed.MagnitudeSqr() > 0.005f) + return false; + // if car is slow enough, check turn speed + if(fabs(m_vecTurnSpeed.x) > 0.01f || + fabs(m_vecTurnSpeed.y) > 0.01f || + fabs(m_vecTurnSpeed.z) > 0.01f) + return false; + return true; + }else{ + // What is this? just > replaced by >= ?? + + // can't exit when car is moving too fast + if(m_vecMoveSpeed.MagnitudeSqr() >= 0.005f) + return false; + // if car is slow enough, check turn speed + if(fabs(m_vecTurnSpeed.x) >= 0.01f || + fabs(m_vecTurnSpeed.y) >= 0.01f || + fabs(m_vecTurnSpeed.z) >= 0.01f) + return false; + return true; + } +} + +void +CVehicle::ChangeLawEnforcerState(uint8 enable) { if (enable) { if (!bIsLawEnforcer) { @@ -78,6 +294,111 @@ CVehicle::ChangeLawEnforcerState(bool enable) } } +CPed* +CVehicle::SetUpDriver(void) +{ + if(pDriver) + return pDriver; + if(VehicleCreatedBy != RANDOM_VEHICLE) + return nil; + + pDriver = CPopulation::AddPedInCar(this); + pDriver->m_pMyVehicle = this; + pDriver->m_pMyVehicle->RegisterReference((CEntity**)&pDriver->m_pMyVehicle); + pDriver->bInVehicle = true; + pDriver->SetPedState(PED_DRIVING); + if(bIsBus) + pDriver->m_ped_flagC4 = false; + return pDriver; +} + +CPed* +CVehicle::SetupPassenger(int n) +{ + if(pPassengers[n]) + return pPassengers[n]; + + pPassengers[n] = CPopulation::AddPedInCar(this); + pPassengers[n]->m_pMyVehicle = this; + pPassengers[n]->m_pMyVehicle->RegisterReference((CEntity**)&pPassengers[n]->m_pMyVehicle); + pPassengers[n]->bInVehicle = true; + pPassengers[n]->SetPedState(PED_DRIVING); + if(bIsBus) + pPassengers[n]->m_ped_flagC4 = false; + return pPassengers[n]; +} + +void +CVehicle::SetDriver(CPed *driver) +{ + pDriver = driver; + pDriver->RegisterReference((CEntity**)&pDriver); + + if(bFreebies && driver == FindPlayerPed()){ + if(GetModelIndex() == MI_AMBULAN) + FindPlayerPed()->m_fHealth = min(FindPlayerPed()->m_fHealth + 20.0f, 100.0f); + else if(GetModelIndex() == MI_TAXI) + CWorld::Players[CWorld::PlayerInFocus].m_nMoney += 25; + else if(GetModelIndex() == MI_POLICE) + driver->GiveWeapon(WEAPONTYPE_SHOTGUN, 5); + else if(GetModelIndex() == MI_ENFORCER) + driver->m_fArmour = max(driver->m_fArmour, 100.0f); + else if(GetModelIndex() == MI_CABBIE || GetModelIndex() == MI_BORGNINE) + CWorld::Players[CWorld::PlayerInFocus].m_nMoney += 25; + bFreebies = false; + } + + ApplyTurnForce(0.0f, 0.0f, -0.2f*driver->m_fMass, + driver->GetPosition().x - GetPosition().x, + driver->GetPosition().y - GetPosition().y, + 0.0f); +} + +bool +CVehicle::AddPassenger(CPed *passenger) +{ + int i; + + ApplyTurnForce(0.0f, 0.0f, -0.2f*passenger->m_fMass, + passenger->GetPosition().x - GetPosition().x, + passenger->GetPosition().y - GetPosition().y, + 0.0f); + + for(i = 0; i < m_nNumMaxPassengers; i++) + if(pPassengers[i] == nil){ + pPassengers[i] = passenger; + m_nNumPassengers++; + return true; + } + return false; +} + +bool +CVehicle::AddPassenger(CPed *passenger, uint8 n) +{ + if(bIsBus) + return AddPassenger(passenger); + + ApplyTurnForce(0.0f, 0.0f, -0.2f*passenger->m_fMass, + passenger->GetPosition().x - GetPosition().x, + passenger->GetPosition().y - GetPosition().y, + 0.0f); + + if(n < m_nNumMaxPassengers && pPassengers[n] == nil){ + pPassengers[n] = passenger; + m_nNumPassengers++; + return true; + } + return false; +} + +void +CVehicle::RemoveDriver(void) +{ + m_status = STATUS_ABANDONED; + pDriver = nil; +} + void CVehicle::RemovePassenger(CPed *p) { @@ -101,19 +422,68 @@ CVehicle::RemovePassenger(CPed *p) } void -CVehicle::RemoveDriver(void) +CVehicle::ProcessCarAlarm(void) { - m_status = STATUS_ABANDONED; - pDriver = nil; + uint32 step; + + if(m_nAlarmState == 0 || m_nAlarmState == -1) + return; + + step = CTimer::GetTimeStep()/50.0f * 1000.0f; + if((uint16)m_nAlarmState < step) + m_nAlarmState = 0; + else + m_nAlarmState -= step; } bool -CVehicle::IsUpsideDown(void) +CVehicle::IsSphereTouchingVehicle(float sx, float sy, float sz, float radius) { - return GetUp().z <= -0.9f; + float x, y, z; + // sphere relative to vehicle + CVector sph = CVector(sx, sy, sz) - GetPosition(); + CColModel *colmodel = CModelInfo::GetModelInfo(GetModelIndex())->GetColModel(); + + x = DotProduct(sph, GetRight()); + if(colmodel->boundingBox.min.x - radius > x || + colmodel->boundingBox.max.x + radius < x) + return false; + y = DotProduct(sph, GetForward()); + if(colmodel->boundingBox.min.y - radius > y || + colmodel->boundingBox.max.y + radius < y) + return false; + z = DotProduct(sph, GetUp()); + if(colmodel->boundingBox.min.z - radius > z || + colmodel->boundingBox.max.z + radius < z) + return false; + + return true; } STARTPATCHES + InjectHook(0x551170, &CVehicle::SetModelIndex_, PATCH_JUMP); + InjectHook(0x4A7DD0, &CVehicle::SetupLighting_, PATCH_JUMP); + InjectHook(0x4A7E60, &CVehicle::RemoveLighting_, PATCH_JUMP); + InjectHook(0x417E60, &CVehicle::GetHeightAboveRoad_, PATCH_JUMP); + + InjectHook(0x552880, &CVehicle::IsLawEnforcementVehicle, PATCH_JUMP); InjectHook(0x552820, &CVehicle::ChangeLawEnforcerState, PATCH_JUMP); + InjectHook(0x552200, &CVehicle::UsesSiren, PATCH_JUMP); + InjectHook(0x5527E0, &CVehicle::IsVehicleNormal, PATCH_JUMP); + InjectHook(0x552B70, &CVehicle::CarHasRoof, PATCH_JUMP); + InjectHook(0x552230, &CVehicle::IsUpsideDown, PATCH_JUMP); + InjectHook(0x552260, &CVehicle::IsOnItsSide, PATCH_JUMP); + InjectHook(0x5511B0, &CVehicle::CanBeDeleted, PATCH_JUMP); + InjectHook(0x5522A0, &CVehicle::CanPedOpenLocks, PATCH_JUMP); + InjectHook(0x5522F0, &CVehicle::CanPedEnterCar, PATCH_JUMP); + InjectHook(0x5523C0, &CVehicle::CanPedExitCar, PATCH_JUMP); + InjectHook(0x5520C0, &CVehicle::SetUpDriver, PATCH_JUMP); + InjectHook(0x552160, &CVehicle::SetupPassenger, PATCH_JUMP); + InjectHook(0x551F20, &CVehicle::SetDriver, PATCH_JUMP); + InjectHook(0x551D90, (bool (CVehicle::*)(CPed*))&CVehicle::AddPassenger, PATCH_JUMP); + InjectHook(0x551E10, (bool (CVehicle::*)(CPed*,uint8))&CVehicle::AddPassenger, PATCH_JUMP); InjectHook(0x5520A0, &CVehicle::RemoveDriver, PATCH_JUMP); -ENDPATCHES \ No newline at end of file + InjectHook(0x551EB0, &CVehicle::RemovePassenger, PATCH_JUMP); + InjectHook(0x5525A0, &CVehicle::ProcessCarAlarm, PATCH_JUMP); + InjectHook(0x552620, &CVehicle::IsSphereTouchingVehicle, PATCH_JUMP); +ENDPATCHES diff --git a/src/entities/Vehicle.h b/src/entities/Vehicle.h index e9acaa0b..eb5275ad 100644 --- a/src/entities/Vehicle.h +++ b/src/entities/Vehicle.h @@ -7,7 +7,22 @@ class CPed; class CFire; struct tHandlingData; -enum eCarLock : uint8 { +enum { + RANDOM_VEHICLE = 1, + MISSION_VEHICLE = 2, + PARKED_VEHICLE = 3, + PERMANENT_VEHICLE = 4, +}; + + +enum { + GETTING_IN_OUT_FL = 1, + GETTING_IN_OUT_RL = 2, + GETTING_IN_OUT_FR = 4, + GETTING_IN_OUT_RR = 8 +}; + +enum eCarLock { CARLOCK_NOT_USED, CARLOCK_UNLOCKED, CARLOCK_LOCKED, @@ -18,6 +33,84 @@ enum eCarLock : uint8 { CARLOCK_SKIP_SHUT_DOORS }; +// TODO: where is this used? Is Vehicle.h the right file? +enum eVehicleModel +{ + LANDSTAL, + IDAHO, + STINGER, + LINERUN, + PEREN, + SENTINEL, + PATRIOT, + FIRETRUK, + TRASH, + STRETCH, + MANANA, + INFERNUS, + BLISTA, + PONY, + MULE, + CHEETAH, + AMBULAN, + FBICAR, + MOONBEAM, + ESPERANT, + TAXI, + KURUMA, + BOBCAT, + MRWHOOP, + BFINJECT, + CORPSE, + POLICE, + ENFORCER, + SECURICA, + BANSHEE, + PREDATOR, + BUS, + RHINO, + BARRACKS, + TRAIN, + CHOPPER, + DODO, + COACH, + CABBIE, + STALLION, + RUMPO, + RCBANDIT, + BELLYUP, + MRWONGS, + MAFIA, + YARDIE, + YAKUZA, + DIABLOS, + COLUMB, + HOODS, + AIRTRAIN, + DEADDODO, + SPEEDER, + REEFER, + PANLANT, + FLATBED, + YANKEE, + ESCAPE, + BORGNINE, + TOYZ, + GHOST, + CAR151, + CAR152, + CAR153, + CAR154, + CAR155, + CAR156, + CAR157, + CAR158, + CAR159, +}; + +enum eDoors { +}; + class CVehicle : public CPhysical { public: @@ -26,7 +119,7 @@ public: CAutoPilot m_autoPilot; uint8 m_currentColour1; uint8 m_currentColour2; - uint8 m_anExtras[2]; + uint8 m_aExtras[2]; int16 m_nAlarmState; // m_nWantedStarsOnEnter on DK22 int16 m_nMissionValue; CPed *pDriver; @@ -42,23 +135,27 @@ public: float m_fSteerAngle; float m_fGasPedal; float m_fBreakPedal; - uint8 m_nCreatedBy; // eVehicleCreatedBy - uint8 bIsLawEnforcer : 1; - uint8 bIsAmbulanceOnDuty : 1; - uint8 bIsFiretruckOnDuty : 1; - uint8 m_veh_flagA8 : 1; - uint8 m_veh_flagA10 : 1; - uint8 m_veh_flagA20 : 1; - uint8 m_veh_flagA40 : 1; - uint8 m_veh_flagA80 : 1; - uint8 bIsVan : 1; - uint8 bIsBus : 1; - uint8 bIsBig : 1; - uint8 bIsLow : 1; + uint8 VehicleCreatedBy; + + // cf. https://github.com/DK22Pac/plugin-sdk/blob/master/plugin_sa/game_sa/CVehicle.h from R* + uint8 bIsLawEnforcer: 1; // Is this guy chasing the player at the moment + uint8 bIsAmbulanceOnDuty: 1; // Ambulance trying to get to an accident + uint8 bIsFireTruckOnDuty: 1; // Firetruck trying to get to a fire + uint8 bIsLocked: 1; // Is this guy locked by the script (cannot be removed) + uint8 bEngineOn: 1; // For sound purposes. Parked cars have their engines switched off (so do destroyed cars) + uint8 bIsHandbrakeOn: 1; // How's the handbrake doing ? + uint8 bLightsOn: 1; // Are the lights switched on ? + uint8 bFreebies: 1; // Any freebies left in this vehicle ? + + uint8 bIsVan: 1; // Is this vehicle a van (doors at back of vehicle) + uint8 bIsBus: 1; // Is this vehicle a bus + uint8 bIsBig: 1; // Is this vehicle a bus + uint8 bLowVehicle: 1; // Need this for sporty type cars to use low getting-in/out anims uint8 m_veh_flagB10 : 1; uint8 m_veh_flagB20 : 1; uint8 m_veh_flagB40 : 1; uint8 m_veh_flagB80 : 1; + uint8 m_veh_flagC1 : 1; uint8 m_veh_flagC2 : 1; uint8 m_veh_flagC4 : 1; @@ -67,6 +164,7 @@ public: uint8 m_veh_flagC20 : 1; uint8 m_veh_flagC40 : 1; uint8 m_veh_flagC80 : 1; + uint8 m_veh_flagD1 : 1; uint8 m_veh_flagD2 : 1; uint8 m_veh_flagD4 : 1; @@ -75,8 +173,9 @@ public: uint8 m_veh_flagD20 : 1; uint8 m_veh_flagD40 : 1; uint8 m_veh_flagD80 : 1; + int8 field_1F9; - uint8 m_nAmmoInClip[1]; // Used to make the guns on boat do a reload (20 by default) + uint8 m_nAmmoInClip; // Used to make the guns on boat do a reload (20 by default) int8 field_1FB; int8 field_1FC[4]; float m_fHealth; // 1000.0f = full health. 0 -> explode @@ -99,6 +198,7 @@ public: int8 field_22D; uint8 m_nSirenOrAlarm; int8 field_22F; + // TODO: this is an array CStoredCollPoly m_frontCollPoly; // poly which is under front part of car CStoredCollPoly m_rearCollPoly; // poly which is under rear part of car float m_fSteerRatio; @@ -110,8 +210,29 @@ public: static void operator delete(void*, int); ~CVehicle(void); + // from CEntity + void SetModelIndex(uint32 i); + bool SetupLighting(void); + void RemoveLighting(bool); + void FlagToDestroyWhenNextProcessed(void) {} - void dtor(void) { this->CVehicle::~CVehicle(); } + virtual void ProcessControlInputs(uint8) {} + virtual void GetComponentWorldPosition(int32 component, CVector &pos) {} + virtual bool IsComponentPresent(int32 component) { return false; } + virtual void SetComponentRotation(int32 component, CVector rotation) {} + virtual void OpenDoor(int32, eDoors door, float) {} + virtual void ProcessOpenDoor(uint32, uint32, float) {} + virtual bool IsDoorReady(eDoors door) { return false; } + virtual bool IsDoorFullyOpen(eDoors door) { return false; } + virtual bool IsDoorClosed(eDoors door) { return false; } + virtual bool IsDoorMissing(eDoors door) { return false; } + virtual void RemoveRefsToVehicle(CEntity *ent) {} + virtual void BlowUpCar(CEntity *ent) {} + virtual bool SetUpWheelColModel(CColModel *colModel) { return false; } + virtual void BurstTyre(uint8 tyre) {} + virtual bool IsRoomForPedToLeaveCar(uint32, CVector *) { return false;} + virtual float GetHeightAboveRoad(void); + virtual void PlayCarHorn(void) {} bool IsCar(void) { return m_vehType == VEHICLE_TYPE_CAR; } bool IsBoat(void) { return m_vehType == VEHICLE_TYPE_BOAT; } @@ -119,10 +240,26 @@ public: bool IsHeli(void) { return m_vehType == VEHICLE_TYPE_HELI; } bool IsPlane(void) { return m_vehType == VEHICLE_TYPE_PLANE; } bool IsLawEnforcementVehicle(void); - void ChangeLawEnforcerState(bool enable); - void RemovePassenger(CPed *); - void RemoveDriver(void); + void ChangeLawEnforcerState(uint8 enable); + bool UsesSiren(uint32 id); + bool IsVehicleNormal(void); + bool CarHasRoof(void); bool IsUpsideDown(void); + bool IsOnItsSide(void); + bool CanBeDeleted(void); + bool CanPedOpenLocks(CPed *ped); + bool CanPedEnterCar(void); + bool CanPedExitCar(void); + // do these two actually return something? + CPed *SetUpDriver(void); + CPed *SetupPassenger(int n); + void SetDriver(CPed *driver); + bool AddPassenger(CPed *passenger); + bool AddPassenger(CPed *passenger, uint8 n); + void RemovePassenger(CPed *passenger); + void RemoveDriver(void); + void ProcessCarAlarm(void); + bool IsSphereTouchingVehicle(float sx, float sy, float sz, float radius); static bool &bWheelsOnlyCheat; static bool &bAllDodosCheat; @@ -130,8 +267,16 @@ public: static bool &bCheat4; static bool &bCheat5; static bool &m_bDisableMouseSteering; + + + void dtor(void) { CVehicle::~CVehicle(); } + void SetModelIndex_(uint32 id) { CVehicle::SetModelIndex(id); } + bool SetupLighting_(void) { return CVehicle::SetupLighting(); } + void RemoveLighting_(bool reset) { CVehicle::RemoveLighting(reset); } + float GetHeightAboveRoad_(void) { return CVehicle::GetHeightAboveRoad(); } }; static_assert(sizeof(CVehicle) == 0x288, "CVehicle: error"); static_assert(offsetof(CVehicle, m_pCurSurface) == 0x1E0, "CVehicle: error"); static_assert(offsetof(CVehicle, m_nAlarmState) == 0x1A0, "CVehicle: error"); +static_assert(offsetof(CVehicle, m_nLastWeaponDamage) == 0x228, "CVehicle: error"); diff --git a/src/modelinfo/ModelIndices.h b/src/modelinfo/ModelIndices.h index ff350b55..95b5eb43 100644 --- a/src/modelinfo/ModelIndices.h +++ b/src/modelinfo/ModelIndices.h @@ -250,10 +250,9 @@ enum MI_BUSKER2, MI_BUSKER3, MI_BUSKER4, - MI_PED87, - MI_PED88, - MI_PED89, - MI_LANDSTAL, + // three more peds possible + + MI_LANDSTAL = 90, MI_IDAHO, MI_STINGER, MI_LINERUN,