summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2021-09-01 13:25:47 +0300
committerSergeanur <s.anureev@yandex.ua>2021-09-01 13:25:47 +0300
commit6c3cb330c113c14af6716763fc500f7d4de457a6 (patch)
tree191acab6e5dd36747c7a66402bbbd538ffd73991
parent57757e6c6f04c838ff1827617f03703acdeb44ef (diff)
Audio: PS2 mission audio
-rw-r--r--src/audio/AudioLogic.cpp192
-rw-r--r--src/audio/AudioManager.h2
-rw-r--r--src/audio/AudioSamples.h122
-rw-r--r--src/audio/audio_enums.h204
4 files changed, 366 insertions, 154 deletions
diff --git a/src/audio/AudioLogic.cpp b/src/audio/AudioLogic.cpp
index 2ec0d73f..3932f85c 100644
--- a/src/audio/AudioLogic.cpp
+++ b/src/audio/AudioLogic.cpp
@@ -279,9 +279,15 @@ cAudioManager::ProcessSpecial()
if (m_bIsPaused) {
if (!m_bWasPaused) {
MusicManager.ChangeMusicMode(MUSICMODE_FRONTEND);
+#ifndef GTA_PS2
SampleManager.SetEffectsFadeVolume(MAX_VOLUME);
SampleManager.SetMusicFadeVolume(MAX_VOLUME);
+#endif
}
+#ifdef GTA_PS2
+ if (!SampleManager.IsSampleBankLoaded(SFX_BANK_FRONT_END_MENU))
+ SampleManager.LoadSampleBank(SFX_BANK_FRONT_END_MENU);
+#endif
} else {
if (m_bWasPaused) {
MusicManager.StopFrontEndTrack();
@@ -669,7 +675,11 @@ enum
BRIDGE_WARNING_VOLUME = 100,
MISSION_AUDIO_MAX_DIST = 50,
+#ifdef GTA_PS2
+ MISSION_AUDIO_VOLUME = MAX_VOLUME,
+#else
MISSION_AUDIO_VOLUME = 80,
+#endif
};
#pragma region VEHICLE AUDIO
@@ -8644,40 +8654,45 @@ struct MissionAudioData {
};
Const MissionAudioData MissionAudioNameSfxAssoc[] = {
- {"lib_a1", STREAMED_SOUND_MISSION_LIB_A1}, {"lib_a2", STREAMED_SOUND_MISSION_LIB_A2}, {"lib_a", STREAMED_SOUND_MISSION_LIB_A},
- {"lib_b", STREAMED_SOUND_MISSION_LIB_B}, {"lib_c", STREAMED_SOUND_MISSION_LIB_C}, {"lib_d", STREAMED_SOUND_MISSION_LIB_D},
- {"l2_a", STREAMED_SOUND_MISSION_L2_A}, {"j4t_1", STREAMED_SOUND_MISSION_J4T_1}, {"j4t_2", STREAMED_SOUND_MISSION_J4T_2},
- {"j4t_3", STREAMED_SOUND_MISSION_J4T_3}, {"j4t_4", STREAMED_SOUND_MISSION_J4T_4}, {"j4_a", STREAMED_SOUND_MISSION_J4_A},
- {"j4_b", STREAMED_SOUND_MISSION_J4_B}, {"j4_c", STREAMED_SOUND_MISSION_J4_C}, {"j4_d", STREAMED_SOUND_MISSION_J4_D},
- {"j4_e", STREAMED_SOUND_MISSION_J4_E}, {"j4_f", STREAMED_SOUND_MISSION_J4_F}, {"j6_1", STREAMED_SOUND_MISSION_J6_1},
- {"j6_a", STREAMED_SOUND_MISSION_J6_A}, {"j6_b", STREAMED_SOUND_MISSION_J6_B}, {"j6_c", STREAMED_SOUND_MISSION_J6_C},
- {"j6_d", STREAMED_SOUND_MISSION_J6_D}, {"t4_a", STREAMED_SOUND_MISSION_T4_A}, {"s1_a", STREAMED_SOUND_MISSION_S1_A},
- {"s1_a1", STREAMED_SOUND_MISSION_S1_A1}, {"s1_b", STREAMED_SOUND_MISSION_S1_B}, {"s1_c", STREAMED_SOUND_MISSION_S1_C},
- {"s1_c1", STREAMED_SOUND_MISSION_S1_C1}, {"s1_d", STREAMED_SOUND_MISSION_S1_D}, {"s1_e", STREAMED_SOUND_MISSION_S1_E},
- {"s1_f", STREAMED_SOUND_MISSION_S1_F}, {"s1_g", STREAMED_SOUND_MISSION_S1_G}, {"s1_h", STREAMED_SOUND_MISSION_S1_H},
- {"s1_i", STREAMED_SOUND_MISSION_S1_I}, {"s1_j", STREAMED_SOUND_MISSION_S1_J}, {"s1_k", STREAMED_SOUND_MISSION_S1_K},
- {"s1_l", STREAMED_SOUND_MISSION_S1_L}, {"s3_a", STREAMED_SOUND_MISSION_S3_A}, {"s3_b", STREAMED_SOUND_MISSION_S3_B},
- {"el3_a", STREAMED_SOUND_MISSION_EL3_A}, {"mf1_a", STREAMED_SOUND_MISSION_MF1_A}, {"mf2_a", STREAMED_SOUND_MISSION_MF2_A},
- {"mf3_a", STREAMED_SOUND_MISSION_MF3_A}, {"mf3_b", STREAMED_SOUND_MISSION_MF3_B}, {"mf3_b1", STREAMED_SOUND_MISSION_MF3_B1},
- {"mf3_c", STREAMED_SOUND_MISSION_MF3_C}, {"mf4_a", STREAMED_SOUND_MISSION_MF4_A}, {"mf4_b", STREAMED_SOUND_MISSION_MF4_B},
- {"mf4_c", STREAMED_SOUND_MISSION_MF4_C}, {"a1_a", STREAMED_SOUND_MISSION_A1_A}, {"a3_a", STREAMED_SOUND_MISSION_A3_A},
- {"a5_a", STREAMED_SOUND_MISSION_A5_A}, {"a4_a", STREAMED_SOUND_MISSION_A4_A}, {"a4_b", STREAMED_SOUND_MISSION_A4_B},
- {"a4_c", STREAMED_SOUND_MISSION_A4_C}, {"a4_d", STREAMED_SOUND_MISSION_A4_D}, {"k1_a", STREAMED_SOUND_MISSION_K1_A},
- {"k3_a", STREAMED_SOUND_MISSION_K3_A}, {"r1_a", STREAMED_SOUND_MISSION_R1_A}, {"r2_a", STREAMED_SOUND_MISSION_R2_A},
- {"r2_b", STREAMED_SOUND_MISSION_R2_B}, {"r2_c", STREAMED_SOUND_MISSION_R2_C}, {"r2_d", STREAMED_SOUND_MISSION_R2_D},
- {"r2_e", STREAMED_SOUND_MISSION_R2_E}, {"r2_f", STREAMED_SOUND_MISSION_R2_F}, {"r2_g", STREAMED_SOUND_MISSION_R2_G},
- {"r2_h", STREAMED_SOUND_MISSION_R2_H}, {"r5_a", STREAMED_SOUND_MISSION_R5_A}, {"r6_a", STREAMED_SOUND_MISSION_R6_A},
- {"r6_a1", STREAMED_SOUND_MISSION_R6_A1}, {"r6_b", STREAMED_SOUND_MISSION_R6_B}, {"lo2_a", STREAMED_SOUND_MISSION_LO2_A},
- {"lo6_a", STREAMED_SOUND_MISSION_LO6_A}, {"yd2_a", STREAMED_SOUND_MISSION_YD2_A}, {"yd2_b", STREAMED_SOUND_MISSION_YD2_B},
- {"yd2_c", STREAMED_SOUND_MISSION_YD2_C}, {"yd2_c1", STREAMED_SOUND_MISSION_YD2_C1}, {"yd2_d", STREAMED_SOUND_MISSION_YD2_D},
- {"yd2_e", STREAMED_SOUND_MISSION_YD2_E}, {"yd2_f", STREAMED_SOUND_MISSION_YD2_F}, {"yd2_g", STREAMED_SOUND_MISSION_YD2_G},
- {"yd2_h", STREAMED_SOUND_MISSION_YD2_H}, {"yd2_ass", STREAMED_SOUND_MISSION_YD2_ASS}, {"yd2_ok", STREAMED_SOUND_MISSION_YD2_OK},
- {"h5_a", STREAMED_SOUND_MISSION_H5_A}, {"h5_b", STREAMED_SOUND_MISSION_H5_B}, {"h5_c", STREAMED_SOUND_MISSION_H5_C},
- {"ammu_a", STREAMED_SOUND_MISSION_AMMU_A}, {"ammu_b", STREAMED_SOUND_MISSION_AMMU_B}, {"ammu_c", STREAMED_SOUND_MISSION_AMMU_C},
- {"door_1", STREAMED_SOUND_MISSION_DOOR_1}, {"door_2", STREAMED_SOUND_MISSION_DOOR_2}, {"door_3", STREAMED_SOUND_MISSION_DOOR_3},
- {"door_4", STREAMED_SOUND_MISSION_DOOR_4}, {"door_5", STREAMED_SOUND_MISSION_DOOR_5}, {"door_6", STREAMED_SOUND_MISSION_DOOR_6},
- {"t3_a", STREAMED_SOUND_MISSION_T3_A}, {"t3_b", STREAMED_SOUND_MISSION_T3_B}, {"t3_c", STREAMED_SOUND_MISSION_T3_C},
- {"k1_b", STREAMED_SOUND_MISSION_K1_B}, {"c_1", STREAMED_SOUND_MISSION_CAT1}, {nil, 0}};
+ {"lib_a1", SFX_MISSION_LIB_A1}, {"lib_a2", SFX_MISSION_LIB_A2}, {"lib_a", SFX_MISSION_LIB_A},
+ {"lib_b", SFX_MISSION_LIB_B}, {"lib_c", SFX_MISSION_LIB_C}, {"lib_d", SFX_MISSION_LIB_D},
+ {"l2_a", SFX_MISSION_L2_A}, {"j4t_1", SFX_MISSION_J4T_1}, {"j4t_2", SFX_MISSION_J4T_2},
+ {"j4t_3", SFX_MISSION_J4T_3}, {"j4t_4", SFX_MISSION_J4T_4}, {"j4_a", SFX_MISSION_J4_A},
+ {"j4_b", SFX_MISSION_J4_B}, {"j4_c", SFX_MISSION_J4_C}, {"j4_d", SFX_MISSION_J4_D},
+ {"j4_e", SFX_MISSION_J4_E}, {"j4_f", SFX_MISSION_J4_F}, {"j6_1", SFX_MISSION_J6_1},
+ {"j6_a", SFX_MISSION_J6_A}, {"j6_b", SFX_MISSION_J6_B}, {"j6_c", SFX_MISSION_J6_C},
+ {"j6_d", SFX_MISSION_J6_D}, {"t4_a", SFX_MISSION_T4_A}, {"s1_a", SFX_MISSION_S1_A},
+ {"s1_a1", SFX_MISSION_S1_A1}, {"s1_b", SFX_MISSION_S1_B}, {"s1_c", SFX_MISSION_S1_C},
+ {"s1_c1", SFX_MISSION_S1_C1}, {"s1_d", SFX_MISSION_S1_D}, {"s1_e", SFX_MISSION_S1_E},
+ {"s1_f", SFX_MISSION_S1_F}, {"s1_g", SFX_MISSION_S1_G}, {"s1_h", SFX_MISSION_S1_H},
+ {"s1_i", SFX_MISSION_S1_I}, {"s1_j", SFX_MISSION_S1_J}, {"s1_k", SFX_MISSION_S1_K},
+ {"s1_l", SFX_MISSION_S1_L}, {"s3_a", SFX_MISSION_S3_A}, {"s3_b", SFX_MISSION_S3_B},
+ {"el3_a", SFX_MISSION_EL3_A}, {"mf1_a", SFX_MISSION_MF1_A}, {"mf2_a", SFX_MISSION_MF2_A},
+ {"mf3_a", SFX_MISSION_MF3_A}, {"mf3_b", SFX_MISSION_MF3_B}, {"mf3_b1", SFX_MISSION_MF3_B1},
+ {"mf3_c", SFX_MISSION_MF3_C}, {"mf4_a", SFX_MISSION_MF4_A}, {"mf4_b", SFX_MISSION_MF4_B},
+ {"mf4_c", SFX_MISSION_MF4_C}, {"a1_a", SFX_MISSION_A1_A}, {"a3_a", SFX_MISSION_A3_A},
+ {"a5_a", SFX_MISSION_A5_A}, {"a4_a", SFX_MISSION_A4_A}, {"a4_b", SFX_MISSION_A4_B},
+ {"a4_c", SFX_MISSION_A4_C}, {"a4_d", SFX_MISSION_A4_D}, {"k1_a", SFX_MISSION_K1_A},
+ {"k3_a", SFX_MISSION_K3_A}, {"r1_a", SFX_MISSION_R1_A}, {"r2_a", SFX_MISSION_R2_A},
+ {"r2_b", SFX_MISSION_R2_B}, {"r2_c", SFX_MISSION_R2_C}, {"r2_d", SFX_MISSION_R2_D},
+ {"r2_e", SFX_MISSION_R2_E}, {"r2_f", SFX_MISSION_R2_F}, {"r2_g", SFX_MISSION_R2_G},
+ {"r2_h", SFX_MISSION_R2_H}, {"r5_a", SFX_MISSION_R5_A}, {"r6_a", SFX_MISSION_R6_A},
+ {"r6_a1", SFX_MISSION_R6_A1}, {"r6_b", SFX_MISSION_R6_B}, {"lo2_a", SFX_MISSION_LO2_A},
+ {"lo6_a", SFX_MISSION_LO6_A}, {"yd2_a", SFX_MISSION_YD2_A}, {"yd2_b", SFX_MISSION_YD2_B},
+ {"yd2_c", SFX_MISSION_YD2_C}, {"yd2_c1", SFX_MISSION_YD2_C1}, {"yd2_d", SFX_MISSION_YD2_D},
+ {"yd2_e", SFX_MISSION_YD2_E}, {"yd2_f", SFX_MISSION_YD2_F}, {"yd2_g", SFX_MISSION_YD2_G},
+ {"yd2_h", SFX_MISSION_YD2_H}, {"yd2_ass", SFX_MISSION_YD2_ASS}, {"yd2_ok", SFX_MISSION_YD2_OK},
+ {"h5_a", SFX_MISSION_H5_A}, {"h5_b", SFX_MISSION_H5_B}, {"h5_c", SFX_MISSION_H5_C},
+ {"ammu_a", SFX_MISSION_AMMU_A}, {"ammu_b", SFX_MISSION_AMMU_B}, {"ammu_c", SFX_MISSION_AMMU_C},
+#if GTA_VERSION < GTA3_PC_10
+ {"ammu_d", SFX_AMMU_D }, {"ammu_e", SFX_AMMU_E}, {"ammu_f", SFX_AMMU_F},
+ {"ammu_g", SFX_MISSION_AMMU_A}, {"ammu_h", SFX_MISSION_AMMU_A}, {"ammu_i", SFX_MISSION_AMMU_A},
+ {"ammu_j", SFX_MISSION_AMMU_A}, {"ammu_k", SFX_MISSION_AMMU_A},
+#endif
+ {"door_1", SFX_MISSION_DOOR_1}, {"door_2", SFX_MISSION_DOOR_2}, {"door_3", SFX_MISSION_DOOR_3},
+ {"door_4", SFX_MISSION_DOOR_4}, {"door_5", SFX_MISSION_DOOR_5}, {"door_6", SFX_MISSION_DOOR_6},
+ {"t3_a", SFX_MISSION_T3_A}, {"t3_b", SFX_MISSION_T3_B}, {"t3_c", SFX_MISSION_T3_C},
+ {"k1_b", SFX_MISSION_K1_B}, {"c_1", SFX_MISSION_CAT1}, {nil, 0}};
uint32
FindMissionAudioSfx(const char *name)
@@ -8694,18 +8709,18 @@ bool8
cAudioManager::MissionScriptAudioUsesPoliceChannel(uint32 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:
+ case SFX_MISSION_J6_D:
+ case SFX_MISSION_T4_A:
+ case SFX_MISSION_S1_H:
+ case SFX_MISSION_S3_B:
+ case SFX_MISSION_EL3_A:
+ case SFX_MISSION_A3_A:
+ case SFX_MISSION_A5_A:
+ case SFX_MISSION_K1_A:
+ case SFX_MISSION_R1_A:
+ case SFX_MISSION_R5_A:
+ case SFX_MISSION_LO2_A:
+ case SFX_MISSION_LO6_A:
return TRUE;
default:
return FALSE;
@@ -8798,27 +8813,48 @@ cAudioManager::ProcessMissionAudio()
if (m_bIsInitialised && m_nMissionAudioSampleIndex != NO_SAMPLE) {
switch (m_nMissionAudioLoadingStatus) {
case LOADING_STATUS_NOT_LOADED:
+#ifdef GTA_PS2
+ SampleManager.LoadPedComment(m_nMissionAudioSampleIndex);
+ m_nMissionAudioLoadingStatus = LOADING_STATUS_LOADING;
+#else
SampleManager.PreloadStreamedFile(m_nMissionAudioSampleIndex, 1);
m_nMissionAudioLoadingStatus = LOADING_STATUS_LOADED;
+#endif
nFramesUntilFailedLoad = 0;
break;
- case LOADING_STATUS_FAILED:
+ case LOADING_STATUS_LOADING:
+#ifdef GTA_PS2
+ if (SampleManager.IsPedCommentLoaded(m_nMissionAudioSampleIndex) == TRUE)
+ m_nMissionAudioLoadingStatus = LOADING_STATUS_LOADED;
+ // fallthrough
+ else
+#endif
if (++nFramesUntilFailedLoad >= 90) {
nFramesForPretendPlaying = 0;
g_bMissionAudioLoadFailed = TRUE;
nFramesUntilFailedLoad = 0;
m_nMissionAudioLoadingStatus = LOADING_STATUS_LOADED;
+ return;
}
- return;
- default:
- return;
+#ifdef GTA_PS2
+ else {
+ // try loading again
+ SampleManager.LoadPedComment(m_nMissionAudioSampleIndex);
+ return;
+ }
+#endif
case LOADING_STATUS_LOADED:
if (!m_bIsMissionAudioAllowedToPlay)
break;
if (g_bMissionAudioLoadFailed) {
if (m_bTimerJustReset) {
ClearMissionAudio();
+#ifdef GTA_PS2
+ SampleManager.StopChannel(CHANNEL_POLICE_RADIO); // why?
+ SampleManager.StopChannel(CHANNEL_MISSION_AUDIO);
+#else
SampleManager.StopStreamedFile(1);
+#endif
nFramesForPretendPlaying = 0;
nCheckPlayingDelay = 0;
nFramesUntilFailedLoad = 0;
@@ -8836,10 +8872,24 @@ cAudioManager::ProcessMissionAudio()
if (MissionScriptAudioUsesPoliceChannel(m_nMissionAudioSampleIndex))
SetMissionScriptPoliceAudio(m_nMissionAudioSampleIndex);
else {
+#ifdef GTA_PS2
+ SampleManager.InitialiseChannel(CHANNEL_MISSION_AUDIO, m_nMissionAudioSampleIndex, SFX_BANK_PED_COMMENTS);
+ if (m_bIsPaused)
+ SampleManager.SetChannelFrequency(CHANNEL_MISSION_AUDIO, 0);
+ else
+ SampleManager.SetChannelFrequency(CHANNEL_MISSION_AUDIO, SampleManager.GetSampleBaseFrequency(m_nMissionAudioSampleIndex));
+#else
if (m_bIsPaused)
SampleManager.PauseStream(TRUE, 1);
+#endif
if (m_bIsMissionAudio2D) {
+#ifdef GTA_PS2
+ SampleManager.SetChannelVolume(CHANNEL_MISSION_AUDIO, MISSION_AUDIO_VOLUME);
+ SampleManager.SetChannelPan(CHANNEL_MISSION_AUDIO, 63);
+ SampleManager.SetChannelReverbFlag(CHANNEL_MISSION_AUDIO, FALSE);
+#else
SampleManager.SetStreamedVolumeAndPan(MISSION_AUDIO_VOLUME, 63, TRUE, 1);
+#endif
} else {
distSquared = GetDistanceSquared(m_vecMissionAudioPosition);
if (distSquared < SQR(MISSION_AUDIO_MAX_DIST)) {
@@ -8850,10 +8900,20 @@ cAudioManager::ProcessMissionAudio()
} else {
Vol = 0;
pan = 63;
- }
+ }
+#ifdef GTA_PS2
+ SampleManager.SetChannelVolume(CHANNEL_MISSION_AUDIO, Vol);
+ SampleManager.SetChannelPan(CHANNEL_MISSION_AUDIO, pan);
+ SampleManager.SetChannelReverbFlag(CHANNEL_MISSION_AUDIO, TRUE);
+#else
SampleManager.SetStreamedVolumeAndPan(Vol, pan, TRUE, 1);
+#endif
}
+#ifdef GTA_PS2
+ SampleManager.StartChannel(CHANNEL_MISSION_AUDIO);
+#else
SampleManager.StartPreloadedStreamedFile(1);
+#endif
}
m_nMissionAudioPlayStatus = PLAY_STATUS_PLAYING;
nCheckPlayingDelay = 30;
@@ -8861,7 +8921,12 @@ cAudioManager::ProcessMissionAudio()
case PLAY_STATUS_PLAYING:
if (m_bTimerJustReset) {
ClearMissionAudio();
+#ifdef GTA_PS2
+ SampleManager.StopChannel(CHANNEL_POLICE_RADIO); // why?
+ SampleManager.StopChannel(CHANNEL_MISSION_AUDIO);
+#else
SampleManager.StopStreamedFile(1);
+#endif
return;
}
if (MissionScriptAudioUsesPoliceChannel(m_nMissionAudioSampleIndex)) {
@@ -8871,27 +8936,50 @@ cAudioManager::ProcessMissionAudio()
} else if (GetMissionScriptPoliceAudioPlayingStatus() == PLAY_STATUS_FINISHED || m_nMissionAudioFramesToPlay-- == 0) {
m_nMissionAudioPlayStatus = PLAY_STATUS_FINISHED;
m_nMissionAudioSampleIndex = NO_SAMPLE;
+#ifdef GTA_PS2
+ SampleManager.StopChannel(CHANNEL_POLICE_RADIO);
+#else
SampleManager.StopStreamedFile(1);
+#endif
m_nMissionAudioFramesToPlay = 0;
}
}
} else if (m_bIsMissionAudioPlaying) {
+#ifdef GTA_PS2
+ if (!SampleManager.GetChannelUsedFlag(CHANNEL_MISSION_AUDIO) && !m_bIsPaused && !m_bWasPaused) {
+#else
if (!SampleManager.IsStreamPlaying(1) && !m_bIsPaused && !m_bWasPaused) {
+#endif
m_nMissionAudioPlayStatus = PLAY_STATUS_FINISHED;
m_nMissionAudioSampleIndex = NO_SAMPLE;
+#ifdef GTA_PS2
+ SampleManager.StopChannel(CHANNEL_MISSION_AUDIO);
+#else
SampleManager.StopStreamedFile(1);
+#endif
m_nMissionAudioFramesToPlay = 0;
} else {
+#ifdef GTA_PS2
+ if (m_bIsPaused)
+ SampleManager.SetChannelFrequency(CHANNEL_MISSION_AUDIO, 0);
+ else
+ SampleManager.SetChannelFrequency(CHANNEL_MISSION_AUDIO, SampleManager.GetSampleBaseFrequency(m_nMissionAudioSampleIndex));
+#else
if (m_bIsPaused)
SampleManager.PauseStream(TRUE, 1);
else
SampleManager.PauseStream(FALSE, 1);
+#endif
}
} else {
if (m_bIsPaused)
break;
if (nCheckPlayingDelay-- > 0) {
+#ifdef GTA_PS2
+ if (!SampleManager.GetChannelUsedFlag(CHANNEL_MISSION_AUDIO))
+#else
if (!SampleManager.IsStreamPlaying(1))
+#endif
break;
nCheckPlayingDelay = 0;
}
@@ -8902,6 +8990,8 @@ cAudioManager::ProcessMissionAudio()
break;
}
break;
+ default:
+ return;
}
}
}
diff --git a/src/audio/AudioManager.h b/src/audio/AudioManager.h
index fd9c7aa7..70ced49a 100644
--- a/src/audio/AudioManager.h
+++ b/src/audio/AudioManager.h
@@ -204,7 +204,7 @@ enum {
};
enum PLAY_STATUS { PLAY_STATUS_STOPPED = 0, PLAY_STATUS_PLAYING, PLAY_STATUS_FINISHED };
-enum LOADING_STATUS { LOADING_STATUS_NOT_LOADED = 0, LOADING_STATUS_LOADED, LOADING_STATUS_FAILED };
+enum LOADING_STATUS { LOADING_STATUS_NOT_LOADED = 0, LOADING_STATUS_LOADED, LOADING_STATUS_LOADING };
class cAudioManager
{
diff --git a/src/audio/AudioSamples.h b/src/audio/AudioSamples.h
index df64521c..1e7ba688 100644
--- a/src/audio/AudioSamples.h
+++ b/src/audio/AudioSamples.h
@@ -564,8 +564,9 @@ enum eSfxSample
// bank 59
SFX_EXPLOSION_1,
SFX_BRIDGE_OPEN_WARNING,
-
+#ifndef GTA_PS2
SFX_PAGER, // used to be ped comment on PS2
+#endif
SFX_COP_VOICE_1_ARREST_1,
SFX_COP_VOICE_1_ARREST_2,
@@ -703,6 +704,9 @@ enum eSfxSample
SFX_POLICE_HELI_27,
SFX_POLICE_HELI_28,
SFX_POLICE_HELI_29,
+#ifdef GTA_PS2
+ SFX_MISSION_CAT1,
+#endif
SFX_CHUNKY_DEATH,
SFX_BLACK_DOCKER_VOICE_1_DRIVER_ABUSE_1,
SFX_BLACK_DOCKER_VOICE_1_DRIVER_ABUSE_2,
@@ -761,6 +765,9 @@ enum eSfxSample
SFX_ARMY_VOICE_2_CHASE_13,
SFX_ARMY_VOICE_2_CHASE_14,
SFX_ARMY_VOICE_2_CHASE_15,
+#ifdef GTA_PS2
+ SFX_PAGER,
+#endif
SFX_CLAUDE_LOW_DAMAGE_GRUNT_1,
SFX_CLAUDE_LOW_DAMAGE_GRUNT_2,
SFX_CLAUDE_LOW_DAMAGE_GRUNT_3,
@@ -3140,14 +3147,127 @@ enum eSfxSample
SFX_AMMU_D,
SFX_AMMU_E,
SFX_AMMU_F,
+
+#ifdef GTA_PS2
+ SFX_MISSION_LIB_A1,
+ SFX_MISSION_LIB_A2,
+ SFX_MISSION_LIB_A,
+ SFX_MISSION_LIB_B,
+ SFX_MISSION_LIB_C,
+ SFX_MISSION_LIB_D,
+ SFX_MISSION_L2_A,
+ SFX_MISSION_J4T_1,
+ SFX_MISSION_J4T_2,
+ SFX_MISSION_J4T_3,
+ SFX_MISSION_J4T_4,
+ SFX_MISSION_J4_A,
+ SFX_MISSION_J4_B,
+ SFX_MISSION_J4_C,
+ SFX_MISSION_J4_D,
+ SFX_MISSION_J4_E,
+ SFX_MISSION_J4_F,
+ SFX_MISSION_J6_1,
+ SFX_MISSION_J6_A,
+ SFX_MISSION_J6_B,
+ SFX_MISSION_J6_C,
+ SFX_MISSION_J6_D,
+ SFX_MISSION_T4_A,
+ SFX_MISSION_S1_A,
+ SFX_MISSION_S1_A1,
+ SFX_MISSION_S1_B,
+ SFX_MISSION_S1_C,
+ SFX_MISSION_S1_C1,
+ SFX_MISSION_S1_D,
+ SFX_MISSION_S1_E,
+ SFX_MISSION_S1_F,
+ SFX_MISSION_S1_G,
+ SFX_MISSION_S1_H,
+ SFX_MISSION_S1_I,
+ SFX_MISSION_S1_J,
+ SFX_MISSION_S1_K,
+ SFX_MISSION_S1_L,
+ SFX_MISSION_S3_A,
+ SFX_MISSION_S3_B,
+ SFX_MISSION_EL3_A,
+ SFX_MISSION_MF1_A,
+ SFX_MISSION_MF2_A,
+ SFX_MISSION_MF3_A,
+ SFX_MISSION_MF3_B,
+ SFX_MISSION_MF3_B1,
+ SFX_MISSION_MF3_C,
+ SFX_MISSION_MF4_A,
+ SFX_MISSION_MF4_B,
+ SFX_MISSION_MF4_C,
+ SFX_MISSION_A1_A,
+ SFX_MISSION_A3_A,
+ SFX_MISSION_A5_A,
+ SFX_MISSION_A4_A,
+ SFX_MISSION_A4_B,
+ SFX_MISSION_A4_C,
+ SFX_MISSION_A4_D,
+ SFX_MISSION_K1_A,
+ SFX_MISSION_K3_A,
+ SFX_MISSION_R1_A,
+ SFX_MISSION_R2_A,
+ SFX_MISSION_R2_B,
+ SFX_MISSION_R2_C,
+ SFX_MISSION_R2_D,
+ SFX_MISSION_R2_E,
+ SFX_MISSION_R2_F,
+ SFX_MISSION_R2_G,
+ SFX_MISSION_R2_H,
+ SFX_MISSION_R5_A,
+ SFX_MISSION_R6_A,
+ SFX_MISSION_R6_A1,
+ SFX_MISSION_R6_B,
+ SFX_MISSION_LO2_A,
+ SFX_MISSION_LO6_A,
+ SFX_MISSION_YD2_A,
+ SFX_MISSION_YD2_B,
+ SFX_MISSION_YD2_C,
+ SFX_MISSION_YD2_C1,
+ SFX_MISSION_YD2_D,
+ SFX_MISSION_YD2_E,
+ SFX_MISSION_YD2_F,
+ SFX_MISSION_YD2_G,
+ SFX_MISSION_YD2_H,
+ SFX_MISSION_YD2_ASS,
+ SFX_MISSION_YD2_OK,
+ SFX_MISSION_H5_A,
+ SFX_MISSION_H5_B,
+ SFX_MISSION_H5_C,
+ SFX_MISSION_DOOR_1,
+ SFX_MISSION_DOOR_2,
+ SFX_MISSION_DOOR_3,
+ SFX_MISSION_DOOR_4,
+ SFX_MISSION_DOOR_5,
+ SFX_MISSION_DOOR_6,
+ SFX_MISSION_T3_A,
+ SFX_MISSION_T3_B,
+ SFX_MISSION_T3_C,
+ SFX_MISSION_K1_B,
+ SFX_MISSION_AMMU_A,
+ SFX_MISSION_AMMU_B,
+ SFX_MISSION_AMMU_C,
+#endif
TOTAL_AUDIO_SAMPLES,
NO_SAMPLE,
// shorthands
SAMPLEBANK_START = SFX_CAR_HORN_JEEP,
+#ifdef GTA_PS2
+ SAMPLEBANK_END = SFX_INFO,
+ SAMPLEBANK_MAX = SFX_INFO + 1,
+#else
SAMPLEBANK_END = SFX_PAGER,
SAMPLEBANK_MAX = SFX_PAGER + 1,
+#endif
SAMPLEBANK_PED_START = SFX_COP_VOICE_1_ARREST_1,
+#ifdef GTA_PS2
+ SAMPLEBANK_PED_END = SFX_MISSION_AMMU_C,
+ SAMPLEBANK_PED_MAX = SFX_MISSION_AMMU_C + 1,
+#else
SAMPLEBANK_PED_END = SFX_AMMU_F,
SAMPLEBANK_PED_MAX = SFX_AMMU_F + 1,
+#endif
};
diff --git a/src/audio/audio_enums.h b/src/audio/audio_enums.h
index 69d37a64..b8fc611f 100644
--- a/src/audio/audio_enums.h
+++ b/src/audio/audio_enums.h
@@ -123,107 +123,109 @@ enum eStreamedSounds
STREAMED_SOUND_CUTSCENE_MARTY_PH4,
STREAMED_SOUND_MISSION_COMPLETED,
STREAMED_SOUND_GAME_COMPLETED,
- STREAMED_SOUND_MISSION_LIB_A1,
- STREAMED_SOUND_MISSION_LIB_A2,
- STREAMED_SOUND_MISSION_LIB_A,
- STREAMED_SOUND_MISSION_LIB_B,
- STREAMED_SOUND_MISSION_LIB_C,
- STREAMED_SOUND_MISSION_LIB_D,
- STREAMED_SOUND_MISSION_L2_A,
- STREAMED_SOUND_MISSION_J4T_1,
- STREAMED_SOUND_MISSION_J4T_2,
- STREAMED_SOUND_MISSION_J4T_3,
- STREAMED_SOUND_MISSION_J4T_4,
- STREAMED_SOUND_MISSION_J4_A,
- STREAMED_SOUND_MISSION_J4_B,
- STREAMED_SOUND_MISSION_J4_C,
- STREAMED_SOUND_MISSION_J4_D,
- STREAMED_SOUND_MISSION_J4_E,
- STREAMED_SOUND_MISSION_J4_F,
- STREAMED_SOUND_MISSION_J6_1,
- STREAMED_SOUND_MISSION_J6_A,
- STREAMED_SOUND_MISSION_J6_B,
- STREAMED_SOUND_MISSION_J6_C,
- STREAMED_SOUND_MISSION_J6_D,
- STREAMED_SOUND_MISSION_T4_A,
- STREAMED_SOUND_MISSION_S1_A,
- STREAMED_SOUND_MISSION_S1_A1,
- STREAMED_SOUND_MISSION_S1_B,
- STREAMED_SOUND_MISSION_S1_C,
- STREAMED_SOUND_MISSION_S1_C1,
- STREAMED_SOUND_MISSION_S1_D,
- STREAMED_SOUND_MISSION_S1_E,
- STREAMED_SOUND_MISSION_S1_F,
- STREAMED_SOUND_MISSION_S1_G,
- STREAMED_SOUND_MISSION_S1_H,
- STREAMED_SOUND_MISSION_S1_I,
- STREAMED_SOUND_MISSION_S1_J,
- STREAMED_SOUND_MISSION_S1_K,
- STREAMED_SOUND_MISSION_S1_L,
- STREAMED_SOUND_MISSION_S3_A,
- STREAMED_SOUND_MISSION_S3_B,
- STREAMED_SOUND_MISSION_EL3_A,
- STREAMED_SOUND_MISSION_MF1_A,
- STREAMED_SOUND_MISSION_MF2_A,
- STREAMED_SOUND_MISSION_MF3_A,
- STREAMED_SOUND_MISSION_MF3_B,
- STREAMED_SOUND_MISSION_MF3_B1,
- STREAMED_SOUND_MISSION_MF3_C,
- STREAMED_SOUND_MISSION_MF4_A,
- STREAMED_SOUND_MISSION_MF4_B,
- STREAMED_SOUND_MISSION_MF4_C,
- STREAMED_SOUND_MISSION_A1_A,
- STREAMED_SOUND_MISSION_A3_A,
- STREAMED_SOUND_MISSION_A5_A,
- STREAMED_SOUND_MISSION_A4_A,
- STREAMED_SOUND_MISSION_A4_B,
- STREAMED_SOUND_MISSION_A4_C,
- STREAMED_SOUND_MISSION_A4_D,
- STREAMED_SOUND_MISSION_K1_A,
- STREAMED_SOUND_MISSION_K3_A,
- STREAMED_SOUND_MISSION_R1_A,
- STREAMED_SOUND_MISSION_R2_A,
- STREAMED_SOUND_MISSION_R2_B,
- STREAMED_SOUND_MISSION_R2_C,
- STREAMED_SOUND_MISSION_R2_D,
- STREAMED_SOUND_MISSION_R2_E,
- STREAMED_SOUND_MISSION_R2_F,
- STREAMED_SOUND_MISSION_R2_G,
- STREAMED_SOUND_MISSION_R2_H,
- STREAMED_SOUND_MISSION_R5_A,
- STREAMED_SOUND_MISSION_R6_A,
- STREAMED_SOUND_MISSION_R6_A1,
- STREAMED_SOUND_MISSION_R6_B,
- STREAMED_SOUND_MISSION_LO2_A,
- STREAMED_SOUND_MISSION_LO6_A,
- STREAMED_SOUND_MISSION_YD2_A,
- STREAMED_SOUND_MISSION_YD2_B,
- STREAMED_SOUND_MISSION_YD2_C,
- STREAMED_SOUND_MISSION_YD2_C1,
- STREAMED_SOUND_MISSION_YD2_D,
- STREAMED_SOUND_MISSION_YD2_E,
- STREAMED_SOUND_MISSION_YD2_F,
- STREAMED_SOUND_MISSION_YD2_G,
- STREAMED_SOUND_MISSION_YD2_H,
- STREAMED_SOUND_MISSION_YD2_ASS,
- STREAMED_SOUND_MISSION_YD2_OK,
- STREAMED_SOUND_MISSION_H5_A,
- STREAMED_SOUND_MISSION_H5_B,
- STREAMED_SOUND_MISSION_H5_C,
- STREAMED_SOUND_MISSION_AMMU_A,
- STREAMED_SOUND_MISSION_AMMU_B,
- STREAMED_SOUND_MISSION_AMMU_C,
- STREAMED_SOUND_MISSION_DOOR_1,
- STREAMED_SOUND_MISSION_DOOR_2,
- STREAMED_SOUND_MISSION_DOOR_3,
- STREAMED_SOUND_MISSION_DOOR_4,
- STREAMED_SOUND_MISSION_DOOR_5,
- STREAMED_SOUND_MISSION_DOOR_6,
- STREAMED_SOUND_MISSION_T3_A,
- STREAMED_SOUND_MISSION_T3_B,
- STREAMED_SOUND_MISSION_T3_C,
- STREAMED_SOUND_MISSION_K1_B,
- STREAMED_SOUND_MISSION_CAT1,
+#ifndef GTA_PS2
+ SFX_MISSION_LIB_A1,
+ SFX_MISSION_LIB_A2,
+ SFX_MISSION_LIB_A,
+ SFX_MISSION_LIB_B,
+ SFX_MISSION_LIB_C,
+ SFX_MISSION_LIB_D,
+ SFX_MISSION_L2_A,
+ SFX_MISSION_J4T_1,
+ SFX_MISSION_J4T_2,
+ SFX_MISSION_J4T_3,
+ SFX_MISSION_J4T_4,
+ SFX_MISSION_J4_A,
+ SFX_MISSION_J4_B,
+ SFX_MISSION_J4_C,
+ SFX_MISSION_J4_D,
+ SFX_MISSION_J4_E,
+ SFX_MISSION_J4_F,
+ SFX_MISSION_J6_1,
+ SFX_MISSION_J6_A,
+ SFX_MISSION_J6_B,
+ SFX_MISSION_J6_C,
+ SFX_MISSION_J6_D,
+ SFX_MISSION_T4_A,
+ SFX_MISSION_S1_A,
+ SFX_MISSION_S1_A1,
+ SFX_MISSION_S1_B,
+ SFX_MISSION_S1_C,
+ SFX_MISSION_S1_C1,
+ SFX_MISSION_S1_D,
+ SFX_MISSION_S1_E,
+ SFX_MISSION_S1_F,
+ SFX_MISSION_S1_G,
+ SFX_MISSION_S1_H,
+ SFX_MISSION_S1_I,
+ SFX_MISSION_S1_J,
+ SFX_MISSION_S1_K,
+ SFX_MISSION_S1_L,
+ SFX_MISSION_S3_A,
+ SFX_MISSION_S3_B,
+ SFX_MISSION_EL3_A,
+ SFX_MISSION_MF1_A,
+ SFX_MISSION_MF2_A,
+ SFX_MISSION_MF3_A,
+ SFX_MISSION_MF3_B,
+ SFX_MISSION_MF3_B1,
+ SFX_MISSION_MF3_C,
+ SFX_MISSION_MF4_A,
+ SFX_MISSION_MF4_B,
+ SFX_MISSION_MF4_C,
+ SFX_MISSION_A1_A,
+ SFX_MISSION_A3_A,
+ SFX_MISSION_A5_A,
+ SFX_MISSION_A4_A,
+ SFX_MISSION_A4_B,
+ SFX_MISSION_A4_C,
+ SFX_MISSION_A4_D,
+ SFX_MISSION_K1_A,
+ SFX_MISSION_K3_A,
+ SFX_MISSION_R1_A,
+ SFX_MISSION_R2_A,
+ SFX_MISSION_R2_B,
+ SFX_MISSION_R2_C,
+ SFX_MISSION_R2_D,
+ SFX_MISSION_R2_E,
+ SFX_MISSION_R2_F,
+ SFX_MISSION_R2_G,
+ SFX_MISSION_R2_H,
+ SFX_MISSION_R5_A,
+ SFX_MISSION_R6_A,
+ SFX_MISSION_R6_A1,
+ SFX_MISSION_R6_B,
+ SFX_MISSION_LO2_A,
+ SFX_MISSION_LO6_A,
+ SFX_MISSION_YD2_A,
+ SFX_MISSION_YD2_B,
+ SFX_MISSION_YD2_C,
+ SFX_MISSION_YD2_C1,
+ SFX_MISSION_YD2_D,
+ SFX_MISSION_YD2_E,
+ SFX_MISSION_YD2_F,
+ SFX_MISSION_YD2_G,
+ SFX_MISSION_YD2_H,
+ SFX_MISSION_YD2_ASS,
+ SFX_MISSION_YD2_OK,
+ SFX_MISSION_H5_A,
+ SFX_MISSION_H5_B,
+ SFX_MISSION_H5_C,
+ SFX_MISSION_AMMU_A,
+ SFX_MISSION_AMMU_B,
+ SFX_MISSION_AMMU_C,
+ SFX_MISSION_DOOR_1,
+ SFX_MISSION_DOOR_2,
+ SFX_MISSION_DOOR_3,
+ SFX_MISSION_DOOR_4,
+ SFX_MISSION_DOOR_5,
+ SFX_MISSION_DOOR_6,
+ SFX_MISSION_T3_A,
+ SFX_MISSION_T3_B,
+ SFX_MISSION_T3_C,
+ SFX_MISSION_K1_B,
+ SFX_MISSION_CAT1,
+#endif
TOTAL_STREAMED_SOUNDS,
NO_TRACK,
};