mirror of
https://github.com/halpz/re3.git
synced 2025-06-30 04:36:18 +00:00
Merge branch 'master' into ps2menu
This commit is contained in:
@ -70,36 +70,36 @@ cAudioManager::GetCollisionOneShotRatio(int32 a, float b) const
|
||||
case SURFACE_DEFAULT:
|
||||
case SURFACE_TARMAC:
|
||||
case SURFACE_PAVEMENT:
|
||||
case SURFACE_STONE:
|
||||
case SURFACE_BOLLARD: result = GetCollisionRatio(b, 10.f, 60.f, 50.f); break;
|
||||
case SURFACE_STEEP_CLIFF:
|
||||
case SURFACE_TRANSPARENT_STONE: result = GetCollisionRatio(b, 10.f, 60.f, 50.f); break;
|
||||
case SURFACE_GRASS:
|
||||
case SURFACE_LOOSE30: result = GetCollisionRatio(b, 0.f, 2.f, 2.f); break;
|
||||
case SURFACE_DIRT: result = GetCollisionRatio(b, 0.f, 2.f, 2.f); break;
|
||||
case SURFACE_DIRTTRACK: result = GetCollisionRatio(b, 0.f, 2.f, 2.f); break;
|
||||
case SURFACE_METAL6: result = GetCollisionRatio(b, 6.f, 50.f, 44.f); break;
|
||||
case SURFACE_CARDBOARDBOX: result = GetCollisionRatio(b, 0.f, 2.f, 2.f); break;
|
||||
case SURFACE_GRAVEL: result = GetCollisionRatio(b, 0.f, 2.f, 2.f); break;
|
||||
case SURFACE_MUD_DRY: result = GetCollisionRatio(b, 0.f, 2.f, 2.f); break;
|
||||
case SURFACE_CAR: result = GetCollisionRatio(b, 6.f, 50.f, 44.f); break;
|
||||
case SURFACE_GLASS: result = GetCollisionRatio(b, 0.1f, 10.f, 9.9f); break;
|
||||
case SURFACE_SCAFFOLD:
|
||||
case SURFACE_STEEL: result = GetCollisionRatio(b, 30.f, 130.f, 100.f); break;
|
||||
case SURFACE_METAL_DOOR: result = GetCollisionRatio(b, 20.f, 100.f, 80.f); break;
|
||||
case SURFACE_BILLBOARD: result = GetCollisionRatio(b, 0.f, 4.f, 4.f); break;
|
||||
case SURFACE_METAL_POLE:
|
||||
case SURFACE_GATE: result = GetCollisionRatio(b, 1.f, 10.f, 9.f); break;
|
||||
case SURFACE_STREET_LIGHT: result = GetCollisionRatio(b, 1.f, 10.f, 9.f); break;
|
||||
case SURFACE_METAL14: result = GetCollisionRatio(b, 1.f, 15.f, 14.f); break;
|
||||
case SURFACE_METAL15: result = GetCollisionRatio(b, 8.f, 50.f, 42.f); break;
|
||||
case SURFACE_METAL_FENCE: result = GetCollisionRatio(b, 0.1f, 10.f, 9.9f); break;
|
||||
case SURFACE_FLESH: result = GetCollisionRatio(b, 0.f, 20.f, 20.f); break;
|
||||
case SURFACE_TRANSPARENT_CLOTH:
|
||||
case SURFACE_THICK_METAL_PLATE: result = GetCollisionRatio(b, 30.f, 130.f, 100.f); break;
|
||||
case SURFACE_GARAGE_DOOR: result = GetCollisionRatio(b, 20.f, 100.f, 80.f); break;
|
||||
case SURFACE_CAR_PANEL: result = GetCollisionRatio(b, 0.f, 4.f, 4.f); break;
|
||||
case SURFACE_SCAFFOLD_POLE:
|
||||
case SURFACE_METAL_GATE: result = GetCollisionRatio(b, 1.f, 10.f, 9.f); break;
|
||||
case SURFACE_LAMP_POST: result = GetCollisionRatio(b, 1.f, 10.f, 9.f); break;
|
||||
case SURFACE_FIRE_HYDRANT: result = GetCollisionRatio(b, 1.f, 15.f, 14.f); break;
|
||||
case SURFACE_GIRDER: result = GetCollisionRatio(b, 8.f, 50.f, 42.f); break;
|
||||
case SURFACE_METAL_CHAIN_FENCE: result = GetCollisionRatio(b, 0.1f, 10.f, 9.9f); break;
|
||||
case SURFACE_PED: result = GetCollisionRatio(b, 0.f, 20.f, 20.f); break;
|
||||
case SURFACE_SAND: result = GetCollisionRatio(b, 0.f, 10.f, 10.f); break;
|
||||
case SURFACE_PUDDLE: result = GetCollisionRatio(b, 0.f, 10.f, 10.f); break;
|
||||
case SURFACE_WOOD: result = GetCollisionRatio(b, 1.f, 4.f, 3.f); break;
|
||||
case SURFACE_WOOD_BOX: result = GetCollisionRatio(b, 0.1f, 5.f, 4.9f); break;
|
||||
case SURFACE_WOOD_PLANK: result = GetCollisionRatio(b, 0.1f, 40.f, 39.9f); break;
|
||||
case SURFACE_TIRE:
|
||||
case SURFACE_RUBBER29: result = GetCollisionRatio(b, 0.f, 10.f, 10.f); break;
|
||||
case SURFACE_HARD24: result = GetCollisionRatio(b, 0.1f, 4.f, 3.9f); break;
|
||||
case SURFACE_WATER: result = GetCollisionRatio(b, 0.f, 10.f, 10.f); break;
|
||||
case SURFACE_WOOD_CRATES: result = GetCollisionRatio(b, 1.f, 4.f, 3.f); break;
|
||||
case SURFACE_WOOD_BENCH: result = GetCollisionRatio(b, 0.1f, 5.f, 4.9f); break;
|
||||
case SURFACE_WOOD_SOLID: result = GetCollisionRatio(b, 0.1f, 40.f, 39.9f); break;
|
||||
case SURFACE_RUBBER:
|
||||
case SURFACE_WHEELBASE: result = GetCollisionRatio(b, 0.f, 10.f, 10.f); break;
|
||||
case SURFACE_PLASTIC: result = GetCollisionRatio(b, 0.1f, 4.f, 3.9f); break;
|
||||
case SURFACE_HEDGE: result = GetCollisionRatio(b, 0.f, 0.5f, 0.5f); break;
|
||||
case SURFACE_METAL27: result = GetCollisionRatio(b, 4.f, 40.f, 36.f); break;
|
||||
case SURFACE_METAL28: result = GetCollisionRatio(b, 0.f, 5.f, 5.f); break;
|
||||
case SURFACE_CONTAINER: result = GetCollisionRatio(b, 4.f, 40.f, 36.f); break;
|
||||
case SURFACE_NEWS_VENDOR: result = GetCollisionRatio(b, 0.f, 5.f, 5.f); break;
|
||||
default: result = 0.f; break;
|
||||
}
|
||||
|
||||
@ -130,18 +130,18 @@ cAudioManager::SetLoopingCollisionRequestedSfxFreqAndGetVol(const cAudioCollisio
|
||||
m_sQueueSample.m_nSampleIndex = SFX_RAIN;
|
||||
m_sQueueSample.m_nFrequency = 13000.f * ratio + 35000;
|
||||
vol = 50.f * ratio;
|
||||
} else if(surface1 == SURFACE_PUDDLE || surface2 == SURFACE_PUDDLE) {
|
||||
} else if(surface1 == SURFACE_WATER || surface2 == SURFACE_WATER) {
|
||||
ratio = GetCollisionRatio(audioCollision.m_fIntensity2, 0.0001f, 0.09f, 0.0899f);
|
||||
m_sQueueSample.m_nSampleIndex = SFX_BOAT_WATER_LOOP;
|
||||
m_sQueueSample.m_nFrequency = 6050.f * ratio + 16000;
|
||||
vol = 30.f * ratio;
|
||||
} else if(surface1 == SURFACE_DIRT || surface2 == SURFACE_DIRT || surface1 == SURFACE_DIRTTRACK ||
|
||||
surface2 == SURFACE_DIRTTRACK || surface1 == SURFACE_SAND || surface2 == SURFACE_SAND) {
|
||||
} else if(surface1 == SURFACE_GRAVEL || surface2 == SURFACE_GRAVEL || surface1 == SURFACE_MUD_DRY ||
|
||||
surface2 == SURFACE_MUD_DRY || surface1 == SURFACE_SAND || surface2 == SURFACE_SAND) {
|
||||
ratio = GetCollisionRatio(audioCollision.m_fIntensity2, 0.0001f, 0.09f, 0.0899f);
|
||||
m_sQueueSample.m_nSampleIndex = SFX_GRAVEL_SKID;
|
||||
m_sQueueSample.m_nFrequency = 6000.f * ratio + 10000;
|
||||
vol = 50.f * ratio;
|
||||
} else if(surface1 == SURFACE_FLESH || surface2 == SURFACE_FLESH) {
|
||||
} else if(surface1 == SURFACE_PED || surface2 == SURFACE_PED) {
|
||||
return 0;
|
||||
} else {
|
||||
ratio = GetCollisionRatio(audioCollision.m_fIntensity2, 0.0001f, 0.09f, 0.0899f);
|
||||
@ -240,9 +240,9 @@ cAudioManager::SetUpOneShotCollisionSound(const cAudioCollision &col)
|
||||
s2 = col.m_bSurface2;
|
||||
}
|
||||
ratio = GetCollisionOneShotRatio(s1, col.m_fIntensity1);
|
||||
if(s1 == SURFACE_METAL6 && s2 == SURFACE_FLESH) ratio /= 4.0f;
|
||||
if(s1 == SURFACE_METAL6 && ratio < 0.6f) {
|
||||
s1 = SURFACE_BILLBOARD;
|
||||
if(s1 == SURFACE_CAR && s2 == SURFACE_PED) ratio /= 4.0f;
|
||||
if(s1 == SURFACE_CAR && ratio < 0.6f) {
|
||||
s1 = SURFACE_CAR_PANEL;
|
||||
ratio = Min(1.f, 2.f * ratio);
|
||||
}
|
||||
emittingVol = 40.f * ratio;
|
||||
@ -290,13 +290,13 @@ cAudioManager::SetUpOneShotCollisionSound(const cAudioCollision &col)
|
||||
}
|
||||
switch(s1) {
|
||||
case SURFACE_GLASS: m_sQueueSample.m_nFrequency = 13500; break;
|
||||
case SURFACE_METAL15: m_sQueueSample.m_nFrequency = 8819; break;
|
||||
case SURFACE_PUDDLE:
|
||||
case SURFACE_GIRDER: m_sQueueSample.m_nFrequency = 8819; break;
|
||||
case SURFACE_WATER:
|
||||
m_sQueueSample.m_nFrequency =
|
||||
2 * SampleManager.GetSampleBaseFrequency(m_sQueueSample.m_nSampleIndex);
|
||||
break;
|
||||
case SURFACE_TIRE: m_sQueueSample.m_nFrequency = 6000; break;
|
||||
case SURFACE_HARD24: m_sQueueSample.m_nFrequency = 8000; break;
|
||||
case SURFACE_RUBBER: m_sQueueSample.m_nFrequency = 6000; break;
|
||||
case SURFACE_PLASTIC: m_sQueueSample.m_nFrequency = 8000; break;
|
||||
default:
|
||||
m_sQueueSample.m_nFrequency =
|
||||
SampleManager.GetSampleBaseFrequency(m_sQueueSample.m_nSampleIndex);
|
||||
|
8861
src/audio/AudioLogic.cpp
Normal file
8861
src/audio/AudioLogic.cpp
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -75,7 +75,18 @@ public:
|
||||
uint8 m_nCommentsInBank[NUM_PED_COMMENTS_BANKS];
|
||||
uint8 m_nActiveBank;
|
||||
|
||||
cPedComments();
|
||||
cPedComments()
|
||||
{
|
||||
for (int i = 0; i < NUM_PED_COMMENTS_SLOTS; i++)
|
||||
for (int j = 0; j < NUM_PED_COMMENTS_BANKS; j++) {
|
||||
m_asPedComments[j][i].m_nProcess = -1;
|
||||
m_nIndexMap[j][i] = NUM_PED_COMMENTS_SLOTS;
|
||||
}
|
||||
|
||||
for (int i = 0; i < NUM_PED_COMMENTS_BANKS; i++)
|
||||
m_nCommentsInBank[i] = 0;
|
||||
m_nActiveBank = 0;
|
||||
}
|
||||
void Add(tPedComment *com);
|
||||
void Process();
|
||||
};
|
||||
@ -202,11 +213,11 @@ public:
|
||||
float GetReflectionsDistance(int32 idx) const { return m_afReflectionsDistances[idx]; }
|
||||
int32 GetRandomNumber(int32 idx) const { return m_anRandomTable[idx]; }
|
||||
int32 GetRandomNumberInRange(int32 idx, int32 low, int32 high) const { return (m_anRandomTable[idx] % (high - low + 1)) + low; }
|
||||
bool IsMissionAudioPlaying() const { return m_sMissionAudio.m_nPlayStatus == 1; }
|
||||
bool IsMissionAudioSamplePlaying() const { return m_sMissionAudio.m_nPlayStatus == 1; }
|
||||
|
||||
// "Should" be in alphabetic order, except "getXTalkSfx"
|
||||
void AddDetailsToRequestedOrderList(uint8 sample);
|
||||
void AddPlayerCarSample(uint8 emittingVolume, int32 freq, uint32 sample, uint8 unk1,
|
||||
void AddPlayerCarSample(uint8 emittingVolume, int32 freq, uint32 sample, uint8 bank,
|
||||
uint8 counter, bool notLooping);
|
||||
void AddReflectionsToRequestedQueue();
|
||||
void AddReleasingSounds();
|
||||
@ -222,11 +233,10 @@ public:
|
||||
float speedMultiplier) const;
|
||||
int32 ComputePan(float, CVector *);
|
||||
uint8 ComputeVolume(uint8 emittingVolume, float soundIntensity, float distance) const;
|
||||
int32 CreateEntity(int32 type, void *entity);
|
||||
int32 CreateEntity(eAudioType type, void *entity);
|
||||
|
||||
void DestroyAllGameCreatedEntities();
|
||||
void DestroyEntity(int32 id);
|
||||
void DoJumboVolOffset() const;
|
||||
void DoPoliceRadioCrackle();
|
||||
|
||||
// functions returning talk sfx,
|
||||
@ -318,7 +328,7 @@ public:
|
||||
float GetCollisionRatio(float a, float b, float c, float d) const;
|
||||
float GetDistanceSquared(const CVector &v) const;
|
||||
int32 GetJumboTaxiFreq() const;
|
||||
bool GetMissionAudioLoadingStatus() const;
|
||||
uint8 GetMissionAudioLoadingStatus() const;
|
||||
int8 GetMissionScriptPoliceAudioPlayingStatus() const;
|
||||
uint8 GetNum3DProvidersAvailable() const;
|
||||
int32 GetPedCommentSfx(CPed *ped, int32 sound);
|
||||
@ -348,7 +358,7 @@ public:
|
||||
void PostInitialiseGameSpecificSetup();
|
||||
void PostTerminateGameSpecificShutdown();
|
||||
void PreInitialiseGameSpecificSetup() const;
|
||||
void PreloadMissionAudio(const char *name);
|
||||
void PreloadMissionAudio(Const char *name);
|
||||
void PreTerminateGameSpecificShutdown();
|
||||
/// processX - main logic of adding new sounds
|
||||
void ProcessActiveQueues();
|
||||
@ -410,7 +420,7 @@ public:
|
||||
void ProcessVehicleOneShots(cVehicleParams *params);
|
||||
bool ProcessVehicleReverseWarning(cVehicleParams *params);
|
||||
bool ProcessVehicleRoadNoise(cVehicleParams *params);
|
||||
void ProcessVehicleSirenOrAlarm(cVehicleParams *params);
|
||||
bool ProcessVehicleSirenOrAlarm(cVehicleParams *params);
|
||||
void ProcessVehicleSkidding(cVehicleParams *params);
|
||||
void ProcessWaterCannon(int32);
|
||||
void ProcessWeather(int32 id);
|
||||
@ -464,11 +474,11 @@ public:
|
||||
bool UsesSiren(int32 model) const;
|
||||
bool UsesSirenSwitching(int32 model) const;
|
||||
|
||||
#ifdef GTA_PC
|
||||
// only used in pc
|
||||
void AdjustSamplesVolume();
|
||||
uint8 ComputeEmittingVolume(uint8 emittingVolume, float intensity, float dist);
|
||||
|
||||
void DebugShit();
|
||||
#endif
|
||||
};
|
||||
|
||||
#ifdef AUDIO_MSS
|
||||
|
@ -350,42 +350,52 @@ enum eSfxSample : uint32
|
||||
SFX_RADIO_CLICK,
|
||||
SFX_INFO,
|
||||
|
||||
// bank 1
|
||||
SFX_CAR_ACCEL_1,
|
||||
SFX_CAR_AFTER_ACCEL_1,
|
||||
SFX_CAR_FINGER_OFF_ACCEL_1,
|
||||
|
||||
// bank 2
|
||||
SFX_CAR_ACCEL_2,
|
||||
SFX_CAR_AFTER_ACCEL_2,
|
||||
SFX_CAR_FINGER_OFF_ACCEL_2,
|
||||
|
||||
// bank 3
|
||||
SFX_CAR_ACCEL_3,
|
||||
SFX_CAR_AFTER_ACCEL_3,
|
||||
SFX_CAR_FINGER_OFF_ACCEL_3,
|
||||
|
||||
// bank 4
|
||||
SFX_CAR_ACCEL_4,
|
||||
SFX_CAR_AFTER_ACCEL_4,
|
||||
SFX_CAR_FINGER_OFF_ACCEL_4,
|
||||
|
||||
// bank 5
|
||||
SFX_CAR_ACCEL_5,
|
||||
SFX_CAR_AFTER_ACCEL_5,
|
||||
SFX_CAR_FINGER_OFF_ACCEL_5,
|
||||
|
||||
// bank 6
|
||||
SFX_CAR_ACCEL_6,
|
||||
SFX_CAR_AFTER_ACCEL_6,
|
||||
SFX_CAR_FINGER_OFF_ACCEL_6,
|
||||
|
||||
// bank 7
|
||||
SFX_CAR_ACCEL_7,
|
||||
SFX_CAR_AFTER_ACCEL_7,
|
||||
SFX_CAR_FINGER_OFF_ACCEL_7,
|
||||
|
||||
// bank 8
|
||||
SFX_CAR_ACCEL_8,
|
||||
SFX_CAR_AFTER_ACCEL_8,
|
||||
SFX_CAR_FINGER_OFF_ACCEL_8,
|
||||
|
||||
// bank 9
|
||||
SFX_CAR_ACCEL_9,
|
||||
SFX_CAR_AFTER_ACCEL_9,
|
||||
SFX_CAR_FINGER_OFF_ACCEL_9,
|
||||
|
||||
// bank 10
|
||||
SFX_PAGE_CHANGE_AND_BACK_LEFT,
|
||||
SFX_PAGE_CHANGE_AND_BACK_RIGHT,
|
||||
SFX_HIGHLIGHT_LEFT,
|
||||
@ -402,64 +412,142 @@ enum eSfxSample : uint32
|
||||
SFX_NOISE_BURST_3,
|
||||
SFX_ERROR_LEFT,
|
||||
SFX_ERROR_RIGHT,
|
||||
|
||||
// bank 11
|
||||
SFX_TRAIN_STATION_AMBIENCE_LOOP,
|
||||
SFX_TRAIN_STATION_ANNOUNCE,
|
||||
|
||||
// bank 12
|
||||
SFX_CLUB_1,
|
||||
|
||||
// bank 13
|
||||
SFX_CLUB_2,
|
||||
|
||||
// bank 14
|
||||
SFX_CLUB_3,
|
||||
|
||||
// bank 15
|
||||
SFX_CLUB_4,
|
||||
|
||||
// bank 16
|
||||
SFX_CLUB_5,
|
||||
|
||||
// bank 17
|
||||
SFX_CLUB_6,
|
||||
|
||||
// bank 18
|
||||
SFX_CLUB_7,
|
||||
|
||||
// bank 19
|
||||
SFX_CLUB_8,
|
||||
|
||||
// bank 20
|
||||
SFX_CLUB_9,
|
||||
|
||||
// bank 21
|
||||
SFX_CLUB_10,
|
||||
|
||||
// bank 22
|
||||
SFX_CLUB_11,
|
||||
|
||||
// bank 23
|
||||
SFX_CLUB_12,
|
||||
|
||||
// bank 24
|
||||
SFX_CLUB_RAGGA,
|
||||
|
||||
// bank 25
|
||||
SFX_STRIP_CLUB_1,
|
||||
|
||||
// bank 26
|
||||
SFX_STRIP_CLUB_2,
|
||||
|
||||
// bank 27
|
||||
SFX_WORKSHOP_1,
|
||||
|
||||
// bank 28
|
||||
SFX_PIANO_BAR_1,
|
||||
|
||||
// bank 29
|
||||
SFX_SAWMILL_LOOP,
|
||||
SFX_SAWMILL_CUT_WOOD,
|
||||
|
||||
// bank 30
|
||||
SFX_DOG_FOOD_FACTORY,
|
||||
|
||||
// bank 31
|
||||
SFX_LAUNDERETTE_LOOP,
|
||||
SFX_LAUNDERETTE_SONG_LOOP,
|
||||
|
||||
// bank 32
|
||||
SFX_RESTAURANT_CHINATOWN,
|
||||
|
||||
// bank 33
|
||||
SFX_RESTAURANT_ITALY,
|
||||
|
||||
// bank 34
|
||||
SFX_RESTAURANT_GENERIC_1,
|
||||
|
||||
// bank 35
|
||||
SFX_RESTAURANT_GENERIC_2,
|
||||
|
||||
// bank 36
|
||||
SFX_AIRPORT_ANNOUNCEMENT_1,
|
||||
SFX_AIRPORT_ANNOUNCEMENT_2,
|
||||
SFX_AIRPORT_ANNOUNCEMENT_3,
|
||||
SFX_AIRPORT_ANNOUNCEMENT_4,
|
||||
|
||||
// bank 37
|
||||
SFX_SHOP_LOOP,
|
||||
SFX_SHOP_TILL_1,
|
||||
SFX_SHOP_TILL_2,
|
||||
|
||||
// bank 38
|
||||
SFX_CINEMA_BASS_1,
|
||||
SFX_CINEMA_BASS_2,
|
||||
SFX_CINEMA_BASS_3,
|
||||
|
||||
// bank 39
|
||||
SFX_DOCKS_FOGHORN,
|
||||
|
||||
// bank 40
|
||||
SFX_HOME_1,
|
||||
SFX_HOME_2,
|
||||
SFX_HOME_3,
|
||||
SFX_HOME_4,
|
||||
SFX_HOME_5,
|
||||
|
||||
// bank 41
|
||||
SFX_PORN_1_LOOP,
|
||||
SFX_PORN_1_GROAN_1,
|
||||
SFX_PORN_1_GROAN_2,
|
||||
|
||||
// bank 42
|
||||
SFX_PORN_2_LOOP,
|
||||
SFX_PORN_2_GROAN_1,
|
||||
SFX_PORN_2_GROAN_2,
|
||||
|
||||
// bank 43
|
||||
SFX_PORN_3_LOOP,
|
||||
SFX_PORN_3_GROAN_1,
|
||||
SFX_PORN_3_GROAN_2,
|
||||
|
||||
// bank 44
|
||||
SFX_POLICE_BALL_1,
|
||||
|
||||
// bank 45
|
||||
SFX_BANK_ALARM_1,
|
||||
|
||||
// bank 46
|
||||
SFX_RAVE_INDUSTRIAL,
|
||||
|
||||
// bank 47
|
||||
SFX_RAVE_COMMERCIAL,
|
||||
|
||||
// bank 48
|
||||
SFX_RAVE_SUBURBAN,
|
||||
|
||||
// bank 49
|
||||
SFX_RAVE_COMMERCIAL_2,
|
||||
|
||||
// unused banks 50-58
|
||||
@ -473,6 +561,7 @@ enum eSfxSample : uint32
|
||||
SFX_CLUB_1_8,
|
||||
SFX_CLUB_1_9,
|
||||
|
||||
// bank 59
|
||||
SFX_EXPLOSION_1,
|
||||
SFX_BRIDGE_OPEN_WARNING,
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
void
|
||||
cAudioScriptObject::Reset()
|
||||
{
|
||||
AudioId = SCRSOUND_INVALID;
|
||||
AudioId = SCRIPT_SOUND_INVALID;
|
||||
Posn = CVector(0.0f, 0.0f, 0.0f);
|
||||
AudioEntity = AEHANDLE_NONE;
|
||||
}
|
||||
|
@ -1,135 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
enum
|
||||
{
|
||||
SCRSOUND_TEST_1,
|
||||
_SCRSOUND_UNK_1,
|
||||
_SCRSOUND_UNK_2,
|
||||
_SCRSOUND_UNK_3,
|
||||
_SCRSOUND_CLUB_1_S,
|
||||
_SCRSOUND_CLUB_1_L,
|
||||
_SCRSOUND_CLUB_2_S,
|
||||
_SCRSOUND_CLUB_2_L,
|
||||
_SCRSOUND_CLUB_3_S,
|
||||
_SCRSOUND_CLUB_3_L,
|
||||
_SCRSOUND_CLUB_4_S,
|
||||
_SCRSOUND_CLUB_4_L,
|
||||
_SCRSOUND_CLUB_5_S,
|
||||
_SCRSOUND_CLUB_5_L,
|
||||
_SCRSOUND_CLUB_6_S,
|
||||
_SCRSOUND_CLUB_6_L,
|
||||
_SCRSOUND_CLUB_7_S,
|
||||
_SCRSOUND_CLUB_7_L,
|
||||
_SCRSOUND_CLUB_8_S,
|
||||
_SCRSOUND_CLUB_8_L,
|
||||
_SCRSOUND_CLUB_9_S,
|
||||
_SCRSOUND_CLUB_9_L,
|
||||
_SCRSOUND_CLUB_10_S,
|
||||
_SCRSOUND_CLUB_10_L,
|
||||
_SCRSOUND_CLUB_11_S,
|
||||
_SCRSOUND_CLUB_11_L,
|
||||
_SCRSOUND_CLUB_12_S,
|
||||
_SCRSOUND_CLUB_12_L,
|
||||
_SCRSOUND_CLUB_RAGGA_S,
|
||||
_SCRSOUND_CLUB_RAGGA_L,
|
||||
SCRSOUND_STRIP_CLUB_LOOP_1_S,
|
||||
_SCRSOUND_STRIP_CLUB_LOOP_1_L,
|
||||
SCRSOUND_STRIP_CLUB_LOOP_2_S,
|
||||
_SCRSOUND_STRIP_CLUB_LOOP_2_L,
|
||||
_SCRSOUND_SFX_WORKSHOP_1,
|
||||
_SCRSOUND_SFX_WORKSHOP_2,
|
||||
_SCRSOUND_SAWMILL_LOOP_S,
|
||||
SCRSOUND_SAWMILL_LOOP_L,
|
||||
_SCRSOUND_DOG_FOOD_FACTORY_S,
|
||||
_SCRSOUND_DOG_FOOD_FACTORY_L,
|
||||
_SCRSOUND_LAUNDERETTE_1,
|
||||
_SCRSOUND_LAUNDERETTE_2,
|
||||
_SCRSOUND_RESTAURANT_CHINATOWN_S,
|
||||
_SCRSOUND_RESTAURANT_CHINATOWN_L,
|
||||
_SCRSOUND_RESTAURANT_ITALY_S,
|
||||
_SCRSOUND_RESTAURANT_ITALY_L,
|
||||
_SCRSOUND_RESTAURANT_GENERIC_1_S,
|
||||
_SCRSOUND_RESTAURANT_GENERIC_1_L,
|
||||
_SCRSOUND_RESTAURANT_GENERIC_2_S,
|
||||
_SCRSOUND_RESTAURANT_GENERIC_2_L,
|
||||
_SCRSOUND_AIRPORT_ANNOUNCEMENT_S,
|
||||
_SCRSOUND_AIRPORT_ANNOUNCEMENT_L,
|
||||
_SCRSOUND_SHOP_LOOP_1,
|
||||
_SCRSOUND_SHOP_LOOP_2,
|
||||
_SCRSOUND_CINEMA_S,
|
||||
_SCRSOUND_CINEMA_L,
|
||||
_SCRSOUND_DOCKS_FOGHORN_S,
|
||||
_SCRSOUND_DOCKS_FOGHORN_L,
|
||||
_SCRSOUND_HOME_S,
|
||||
_SCRSOUND_HOME_L,
|
||||
_SCRSOUND_PIANO_BAR,
|
||||
_SCRSOUND_CLUB,
|
||||
SCRSOUND_PORN_CINEMA_1_S,
|
||||
_SCRSOUND_PORN_CINEMA_1_L,
|
||||
SCRSOUND_PORN_CINEMA_2_S,
|
||||
_SCRSOUND_PORN_CINEMA_2_L,
|
||||
SCRSOUND_PORN_CINEMA_3_S,
|
||||
_SCRSOUND_PORN_CINEMA_3_L,
|
||||
_SCRSOUND_BANK_ALARM_LOOP_S,
|
||||
SCRSOUND_BANK_ALARM_LOOP_L,
|
||||
_SCRSOUND_POLICE_BALL_LOOP_S,
|
||||
SCRSOUND_POLICE_BALL_LOOP_L,
|
||||
_SCRSOUND_RAVE_LOOP_INDUSTRIAL_S,
|
||||
SCRSOUND_RAVE_LOOP_INDUSTRIAL_L,
|
||||
_SCRSOUND_UNK_74,
|
||||
_SCRSOUND_UNK_75,
|
||||
_SCRSOUND_POLICE_CELL_BEATING_LOOP_S,
|
||||
SCRSOUND_POLICE_CELL_BEATING_LOOP_L,
|
||||
SCRSOUND_INJURED_PED_MALE_OUCH_S,
|
||||
SCRSOUND_INJURED_PED_MALE_OUCH_L,
|
||||
SCRSOUND_INJURED_PED_FEMALE_OUCH_S,
|
||||
SCRSOUND_INJURED_PED_FEMALE_OUCH_L,
|
||||
SCRSOUND_EVIDENCE_PICKUP,
|
||||
SCRSOUND_UNLOAD_GOLD,
|
||||
_SCRSOUND_RAVE_INDUSTRIAL_S,
|
||||
_SCRSOUND_RAVE_INDUSTRIAL_L,
|
||||
_SCRSOUND_RAVE_COMMERCIAL_S,
|
||||
_SCRSOUND_RAVE_COMMERCIAL_L,
|
||||
_SCRSOUND_RAVE_SUBURBAN_S,
|
||||
_SCRSOUND_RAVE_SUBURBAN_L,
|
||||
_SCRSOUND_GROAN_S,
|
||||
_SCRSOUND_GROAN_L,
|
||||
SCRSOUND_GATE_START_CLUNK,
|
||||
SCRSOUND_GATE_STOP_CLUNK,
|
||||
SCRSOUND_PART_MISSION_COMPLETE,
|
||||
SCRSOUND_CHUNKY_RUN_SHOUT,
|
||||
SCRSOUND_SECURITY_GUARD_RUN_AWAY_SHOUT,
|
||||
SCRSOUND_RACE_START_1,
|
||||
SCRSOUND_RACE_START_2,
|
||||
SCRSOUND_RACE_START_3,
|
||||
SCRSOUND_RACE_START_GO,
|
||||
SCRSOUND_SWAT_PED_SHOUT,
|
||||
SCRSOUND_PRETEND_FIRE_LOOP,
|
||||
SCRSOUND_AMMUNATION_CHAT_1,
|
||||
SCRSOUND_AMMUNATION_CHAT_2,
|
||||
SCRSOUND_AMMUNATION_CHAT_3,
|
||||
_SCRSOUND_BULLET_WALL_1,
|
||||
_SCRSOUND_BULLET_WALL_2,
|
||||
_SCRSOUND_BULLET_WALL_3,
|
||||
_SCRSOUND_UNK_109,
|
||||
_SCRSOUND_GLASSFX2_1,
|
||||
_SCRSOUND_GLASSFX2_2,
|
||||
_SCRSOUND_PHONE_RING,
|
||||
_SCRSOUND_UNK_113,
|
||||
_SCRSOUND_GLASS_SMASH_1,
|
||||
_SCRSOUND_GLASS_SMASH_2,
|
||||
_SCRSOUND_GLASS_CRACK,
|
||||
_SCRSOUND_GLASS_SHARD,
|
||||
_SCRSOUND_WOODEN_BOX_SMASH,
|
||||
_SCRSOUND_CARDBOARD_BOX_SMASH,
|
||||
_SCRSOUND_COL_CAR,
|
||||
_SCRSOUND_TYRE_BUMP,
|
||||
_SCRSOUND_BULLET_SHELL_HIT_GROUND_1,
|
||||
_SCRSOUND_BULLET_SHELL_HIT_GROUND_2,
|
||||
TOTAL_SCRSOUNDS,
|
||||
SCRSOUND_INVALID
|
||||
};
|
||||
|
||||
class cAudioScriptObject
|
||||
{
|
||||
public:
|
||||
|
@ -29,7 +29,7 @@ cDMAudio::Service(void)
|
||||
}
|
||||
|
||||
int32
|
||||
cDMAudio::CreateEntity(int32 type, void *UID)
|
||||
cDMAudio::CreateEntity(eAudioType type, void *UID)
|
||||
{
|
||||
return AudioManager.CreateEntity(type, (CPhysical *)UID);
|
||||
}
|
||||
@ -88,7 +88,7 @@ cDMAudio::SetEffectsFadeVol(uint8 volume)
|
||||
uint8 vol = volume;
|
||||
if ( vol > MAX_VOLUME ) vol = MAX_VOLUME;
|
||||
|
||||
AudioManager.SetEffectsFadeVolume(vol);
|
||||
AudioManager.SetEffectsFadeVol(vol);
|
||||
}
|
||||
|
||||
void
|
||||
@ -97,7 +97,7 @@ cDMAudio::SetMusicFadeVol(uint8 volume)
|
||||
uint8 vol = volume;
|
||||
if ( vol > MAX_VOLUME ) vol = MAX_VOLUME;
|
||||
|
||||
AudioManager.SetMusicFadeVolume(vol);
|
||||
AudioManager.SetMusicFadeVol(vol);
|
||||
}
|
||||
|
||||
uint8
|
||||
@ -296,7 +296,7 @@ cDMAudio::StopCutSceneMusic(void)
|
||||
}
|
||||
|
||||
void
|
||||
cDMAudio::PreloadMissionAudio(char *missionAudio)
|
||||
cDMAudio::PreloadMissionAudio(Const char *missionAudio)
|
||||
{
|
||||
AudioManager.PreloadMissionAudio(missionAudio);
|
||||
}
|
||||
|
@ -20,7 +20,7 @@ public:
|
||||
void Terminate(void);
|
||||
void Service(void);
|
||||
|
||||
int32 CreateEntity(int32 type, void *UID);
|
||||
int32 CreateEntity(eAudioType type, void *UID);
|
||||
void DestroyEntity(int32 audioEntity);
|
||||
void SetEntityStatus(int32 audioEntity, uint8 status);
|
||||
void PlayOneShot(int32 audioEntity, uint16 oneShot, float volume);
|
||||
@ -77,7 +77,7 @@ public:
|
||||
void PlayPreloadedCutSceneMusic(void);
|
||||
void StopCutSceneMusic(void);
|
||||
|
||||
void PreloadMissionAudio(char *missionAudio);
|
||||
void PreloadMissionAudio(Const char *missionAudio);
|
||||
uint8 GetMissionAudioLoadingStatus(void);
|
||||
void SetMissionAudioLocation(float x, float y, float z);
|
||||
void PlayLoadedMissionAudio(void);
|
||||
|
@ -21,8 +21,6 @@ int32 gNumRetunePresses;
|
||||
int32 gRetuneCounter;
|
||||
bool bHasStarted;
|
||||
|
||||
const int maxVolume = 127;
|
||||
|
||||
cMusicManager::cMusicManager()
|
||||
{
|
||||
m_bIsInitialised = false;
|
||||
@ -303,14 +301,14 @@ cMusicManager::GetRadioInCar(void)
|
||||
CVehicle *veh = FindPlayerVehicle();
|
||||
if (veh != nil){
|
||||
if (UsesPoliceRadio(veh)) {
|
||||
if (m_nRadioInCar == NO_STREAMED_SOUND || CReplay::IsPlayingBack() && AudioManager.m_nUserPause)
|
||||
if (m_nRadioInCar == NO_STREAMED_SOUND || (CReplay::IsPlayingBack() && AudioManager.m_nUserPause == 0))
|
||||
return POLICE_RADIO;
|
||||
return m_nRadioInCar;
|
||||
} else return veh->m_nRadioStation;
|
||||
}
|
||||
}
|
||||
|
||||
if (m_nRadioInCar == NO_STREAMED_SOUND || CReplay::IsPlayingBack() && AudioManager.m_nUserPause)
|
||||
if (m_nRadioInCar == NO_STREAMED_SOUND || (CReplay::IsPlayingBack() && AudioManager.m_nUserPause == 0))
|
||||
return RADIO_OFF;
|
||||
return m_nRadioInCar;
|
||||
}
|
||||
@ -375,7 +373,7 @@ cMusicManager::Service()
|
||||
if (!m_bIsInitialised || m_bDisabled) return;
|
||||
|
||||
if (m_nMusicMode == MUSICMODE_CUTSCENE) {
|
||||
SampleManager.SetStreamedVolumeAndPan(maxVolume, 63, 1, 0);
|
||||
SampleManager.SetStreamedVolumeAndPan(MAX_VOLUME, 63, 1, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -528,7 +526,7 @@ cMusicManager::ServiceGameMode()
|
||||
} else if (dist >= 100.0f) {
|
||||
int8 volume = ((45.0f - (Sqrt(dist) - 10.0f)) / 45.0f * 100.0f);
|
||||
int8 pan;
|
||||
if (AudioManager.IsMissionAudioPlaying())
|
||||
if (AudioManager.IsMissionAudioSamplePlaying())
|
||||
volume /= 4;
|
||||
if (volume != 0) {
|
||||
CVector trVec;
|
||||
@ -540,7 +538,7 @@ cMusicManager::ServiceGameMode()
|
||||
if (gRetuneCounter)
|
||||
volume /= 4;
|
||||
SampleManager.SetStreamedVolumeAndPan(volume, pan, 0, 0);
|
||||
} else if (AudioManager.IsMissionAudioPlaying()) {
|
||||
} else if (AudioManager.IsMissionAudioSamplePlaying()) {
|
||||
SampleManager.SetStreamedVolumeAndPan(25, 63, 0, 0);
|
||||
} else if (gRetuneCounter) {
|
||||
SampleManager.SetStreamedVolumeAndPan(25, 63, 0, 0);
|
||||
@ -548,7 +546,7 @@ cMusicManager::ServiceGameMode()
|
||||
SampleManager.SetStreamedVolumeAndPan(100, 63, 0, 0);
|
||||
}
|
||||
}
|
||||
} else if (AudioManager.IsMissionAudioPlaying()) {
|
||||
} else if (AudioManager.IsMissionAudioSamplePlaying()) {
|
||||
SampleManager.SetStreamedVolumeAndPan(25, 63, 0, 0);
|
||||
nFramesSinceCutsceneEnded = 0;
|
||||
} else {
|
||||
@ -676,7 +674,7 @@ cMusicManager::PreloadCutSceneMusic(uint8 track)
|
||||
while (SampleManager.IsStreamPlaying(0))
|
||||
SampleManager.StopStreamedFile(0);
|
||||
SampleManager.PreloadStreamedFile(track, 0);
|
||||
SampleManager.SetStreamedVolumeAndPan(maxVolume, 63, 1, 0);
|
||||
SampleManager.SetStreamedVolumeAndPan(MAX_VOLUME, 63, 1, 0);
|
||||
m_nCurrentStreamedSound = track;
|
||||
}
|
||||
}
|
||||
@ -834,7 +832,7 @@ cMusicManager::ServiceAnnouncement()
|
||||
|
||||
SampleManager.SetStreamedVolumeAndPan(0, 63, 0, 0);
|
||||
if (SampleManager.StartStreamedFile(m_nAnnouncement, 0, 0)) {
|
||||
SampleManager.SetStreamedVolumeAndPan(AudioManager.IsMissionAudioPlaying() ? 25 : 100, 63, 0, 0);
|
||||
SampleManager.SetStreamedVolumeAndPan(AudioManager.IsMissionAudioSamplePlaying() ? 25 : 100, 63, 0, 0);
|
||||
m_bAnnouncementInProgress = true;
|
||||
m_nPreviousStreamedSound = m_nCurrentStreamedSound;
|
||||
m_nCurrentStreamedSound = m_nAnnouncement;
|
||||
@ -907,7 +905,7 @@ cMusicManager::ChangeRadioChannel()
|
||||
return false;
|
||||
if (!SampleManager.StartStreamedFile(m_nCurrentStreamedSound, GetTrackStartPos(m_nCurrentStreamedSound), 0))
|
||||
return false;
|
||||
SampleManager.SetStreamedVolumeAndPan(AudioManager.IsMissionAudioPlaying() ? 25 : 100, 63, 0, 0);
|
||||
SampleManager.SetStreamedVolumeAndPan(AudioManager.IsMissionAudioSamplePlaying() ? 25 : 100, 63, 0, 0);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -14,7 +14,6 @@
|
||||
#include "Zones.h"
|
||||
#include "sampman.h"
|
||||
|
||||
const int maxVolume = 127;
|
||||
const int channels = ARRAY_SIZE(cAudioManager::m_asActiveSamples);
|
||||
const int policeChannel = channels + 1;
|
||||
|
||||
@ -225,7 +224,7 @@ cAudioManager::ServicePoliceRadioChannel(int32 wantedLevel)
|
||||
}
|
||||
} else if (!SampleManager.GetChannelUsedFlag(policeChannel)) {
|
||||
SampleManager.PreloadStreamedFile(g_nMissionAudioSfx, 1);
|
||||
SampleManager.SetStreamedVolumeAndPan(maxVolume, 63, 1, 1);
|
||||
SampleManager.SetStreamedVolumeAndPan(MAX_VOLUME, 63, 1, 1);
|
||||
SampleManager.StartPreloadedStreamedFile(1);
|
||||
g_nMissionAudioPlayingStatus = 1;
|
||||
bMissionAudioPhysicalPlayingStatus = 0;
|
||||
|
@ -238,18 +238,18 @@ enum AudioEntityHandle {
|
||||
enum eAudioType : int32
|
||||
{
|
||||
AUDIOTYPE_PHYSICAL = 0,
|
||||
AUDIOTYPE_EXPLOSION = 1,
|
||||
AUDIOTYPE_FIRE = 2,
|
||||
AUDIOTYPE_WEATHER = 3,
|
||||
AUDIOTYPE_CRANE = 4,
|
||||
AUDIOTYPE_SCRIPTOBJECT = 5,
|
||||
AUDIOTYPE_BRIDGE = 6,
|
||||
AUDIOTYPE_COLLISION = 7,
|
||||
AUDIOTYPE_FRONTEND = 8,
|
||||
AUDIOTYPE_PROJECTILE = 9,
|
||||
AUDIOTYPE_GARAGE = 10,
|
||||
AUDIOTYPE_FIREHYDRANT = 11,
|
||||
AUDIOTYPE_WATERCANNON = 12,
|
||||
AUDIOTYPE_POLICERADIO = 13,
|
||||
TOTAL_AUDIO_TYPES = 14,
|
||||
AUDIOTYPE_EXPLOSION,
|
||||
AUDIOTYPE_FIRE,
|
||||
AUDIOTYPE_WEATHER,
|
||||
AUDIOTYPE_CRANE,
|
||||
AUDIOTYPE_SCRIPTOBJECT,
|
||||
AUDIOTYPE_BRIDGE,
|
||||
AUDIOTYPE_COLLISION,
|
||||
AUDIOTYPE_FRONTEND,
|
||||
AUDIOTYPE_PROJECTILE,
|
||||
AUDIOTYPE_GARAGE,
|
||||
AUDIOTYPE_FIREHYDRANT,
|
||||
AUDIOTYPE_WATERCANNON,
|
||||
AUDIOTYPE_POLICERADIO,
|
||||
TOTAL_AUDIO_TYPES,
|
||||
};
|
||||
|
@ -35,15 +35,13 @@
|
||||
*/
|
||||
ALDeviceList::ALDeviceList()
|
||||
{
|
||||
ALDEVICEINFO ALDeviceInfo;
|
||||
char *devices;
|
||||
int index;
|
||||
const char *defaultDeviceName;
|
||||
const char *actualDeviceName;
|
||||
|
||||
// DeviceInfo vector stores, for each enumerated device, it's device name, selection status, spec version #, and extension support
|
||||
vDeviceInfo.empty();
|
||||
vDeviceInfo.reserve(10);
|
||||
nNumOfDevices = 0;
|
||||
|
||||
defaultDeviceIndex = 0;
|
||||
|
||||
@ -65,51 +63,49 @@ ALDeviceList::ALDeviceList()
|
||||
// if new actual device name isn't already in the list, then add it...
|
||||
actualDeviceName = alcGetString(device, ALC_DEVICE_SPECIFIER);
|
||||
bool bNewName = true;
|
||||
for (int i = 0; i < GetNumDevices(); i++) {
|
||||
for (unsigned int i = 0; i < GetNumDevices(); i++) {
|
||||
if (strcmp(GetDeviceName(i), actualDeviceName) == 0) {
|
||||
bNewName = false;
|
||||
}
|
||||
}
|
||||
if ((bNewName) && (actualDeviceName != NULL) && (strlen(actualDeviceName) > 0)) {
|
||||
memset(&ALDeviceInfo, 0, sizeof(ALDEVICEINFO));
|
||||
ALDEVICEINFO ALDeviceInfo;
|
||||
ALDeviceInfo.bSelected = true;
|
||||
ALDeviceInfo.strDeviceName.assign(actualDeviceName, strlen(actualDeviceName));
|
||||
ALDeviceInfo.strDeviceName = actualDeviceName;
|
||||
alcGetIntegerv(device, ALC_MAJOR_VERSION, sizeof(int), &ALDeviceInfo.iMajorVersion);
|
||||
alcGetIntegerv(device, ALC_MINOR_VERSION, sizeof(int), &ALDeviceInfo.iMinorVersion);
|
||||
|
||||
ALDeviceInfo.pvstrExtensions = new std::vector<std::string>;
|
||||
|
||||
// Check for ALC Extensions
|
||||
if (alcIsExtensionPresent(device, "ALC_EXT_CAPTURE") == AL_TRUE)
|
||||
ALDeviceInfo.pvstrExtensions->push_back("ALC_EXT_CAPTURE");
|
||||
ALDeviceInfo.Extensions |= ADEXT_EXT_CAPTURE;
|
||||
if (alcIsExtensionPresent(device, "ALC_EXT_EFX") == AL_TRUE)
|
||||
ALDeviceInfo.pvstrExtensions->push_back("ALC_EXT_EFX");
|
||||
ALDeviceInfo.Extensions |= ADEXT_EXT_EFX;
|
||||
|
||||
// Check for AL Extensions
|
||||
if (alIsExtensionPresent("AL_EXT_OFFSET") == AL_TRUE)
|
||||
ALDeviceInfo.pvstrExtensions->push_back("AL_EXT_OFFSET");
|
||||
ALDeviceInfo.Extensions |= ADEXT_EXT_OFFSET;
|
||||
|
||||
if (alIsExtensionPresent("AL_EXT_LINEAR_DISTANCE") == AL_TRUE)
|
||||
ALDeviceInfo.pvstrExtensions->push_back("AL_EXT_LINEAR_DISTANCE");
|
||||
ALDeviceInfo.Extensions |= ADEXT_EXT_LINEAR_DISTANCE;
|
||||
if (alIsExtensionPresent("AL_EXT_EXPONENT_DISTANCE") == AL_TRUE)
|
||||
ALDeviceInfo.pvstrExtensions->push_back("AL_EXT_EXPONENT_DISTANCE");
|
||||
ALDeviceInfo.Extensions |= ADEXT_EXT_EXPONENT_DISTANCE;
|
||||
|
||||
if (alIsExtensionPresent("EAX2.0") == AL_TRUE)
|
||||
ALDeviceInfo.pvstrExtensions->push_back("EAX2.0");
|
||||
ALDeviceInfo.Extensions |= ADEXT_EAX2;
|
||||
if (alIsExtensionPresent("EAX3.0") == AL_TRUE)
|
||||
ALDeviceInfo.pvstrExtensions->push_back("EAX3.0");
|
||||
ALDeviceInfo.Extensions |= ADEXT_EAX3;
|
||||
if (alIsExtensionPresent("EAX4.0") == AL_TRUE)
|
||||
ALDeviceInfo.pvstrExtensions->push_back("EAX4.0");
|
||||
ALDeviceInfo.Extensions |= ADEXT_EAX4;
|
||||
if (alIsExtensionPresent("EAX5.0") == AL_TRUE)
|
||||
ALDeviceInfo.pvstrExtensions->push_back("EAX5.0");
|
||||
ALDeviceInfo.Extensions |= ADEXT_EAX5;
|
||||
|
||||
if (alIsExtensionPresent("EAX-RAM") == AL_TRUE)
|
||||
ALDeviceInfo.pvstrExtensions->push_back("EAX-RAM");
|
||||
ALDeviceInfo.Extensions |= ADEXT_EAX_RAM;
|
||||
|
||||
// Get Source Count
|
||||
ALDeviceInfo.uiSourceCount = GetMaxNumSources();
|
||||
|
||||
vDeviceInfo.push_back(ALDeviceInfo);
|
||||
aDeviceInfo[nNumOfDevices++] = ALDeviceInfo;
|
||||
}
|
||||
alcMakeContextCurrent(NULL);
|
||||
alcDestroyContext(context);
|
||||
@ -129,31 +125,23 @@ ALDeviceList::ALDeviceList()
|
||||
*/
|
||||
ALDeviceList::~ALDeviceList()
|
||||
{
|
||||
for (unsigned int i = 0; i < vDeviceInfo.size(); i++) {
|
||||
if (vDeviceInfo[i].pvstrExtensions) {
|
||||
vDeviceInfo[i].pvstrExtensions->empty();
|
||||
delete vDeviceInfo[i].pvstrExtensions;
|
||||
}
|
||||
}
|
||||
|
||||
vDeviceInfo.empty();
|
||||
}
|
||||
|
||||
/*
|
||||
* Returns the number of devices in the complete device list
|
||||
*/
|
||||
int ALDeviceList::GetNumDevices()
|
||||
unsigned int ALDeviceList::GetNumDevices()
|
||||
{
|
||||
return (int)vDeviceInfo.size();
|
||||
return nNumOfDevices;
|
||||
}
|
||||
|
||||
/*
|
||||
* Returns the device name at an index in the complete device list
|
||||
*/
|
||||
char * ALDeviceList::GetDeviceName(int index)
|
||||
const char * ALDeviceList::GetDeviceName(unsigned int index)
|
||||
{
|
||||
if (index < GetNumDevices())
|
||||
return (char *)vDeviceInfo[index].strDeviceName.c_str();
|
||||
return aDeviceInfo[index].strDeviceName;
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
@ -161,13 +149,13 @@ char * ALDeviceList::GetDeviceName(int index)
|
||||
/*
|
||||
* Returns the major and minor version numbers for a device at a specified index in the complete list
|
||||
*/
|
||||
void ALDeviceList::GetDeviceVersion(int index, int *major, int *minor)
|
||||
void ALDeviceList::GetDeviceVersion(unsigned int index, int *major, int *minor)
|
||||
{
|
||||
if (index < GetNumDevices()) {
|
||||
if (major)
|
||||
*major = vDeviceInfo[index].iMajorVersion;
|
||||
*major = aDeviceInfo[index].iMajorVersion;
|
||||
if (minor)
|
||||
*minor = vDeviceInfo[index].iMinorVersion;
|
||||
*minor = aDeviceInfo[index].iMinorVersion;
|
||||
}
|
||||
return;
|
||||
}
|
||||
@ -175,10 +163,10 @@ void ALDeviceList::GetDeviceVersion(int index, int *major, int *minor)
|
||||
/*
|
||||
* Returns the maximum number of Sources that can be generate on the given device
|
||||
*/
|
||||
unsigned int ALDeviceList::GetMaxNumSources(int index)
|
||||
unsigned int ALDeviceList::GetMaxNumSources(unsigned int index)
|
||||
{
|
||||
if (index < GetNumDevices())
|
||||
return vDeviceInfo[index].uiSourceCount;
|
||||
return aDeviceInfo[index].uiSourceCount;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
@ -186,20 +174,9 @@ unsigned int ALDeviceList::GetMaxNumSources(int index)
|
||||
/*
|
||||
* Checks if the extension is supported on the given device
|
||||
*/
|
||||
bool ALDeviceList::IsExtensionSupported(int index, const char *szExtName)
|
||||
bool ALDeviceList::IsExtensionSupported(int index, unsigned short ext)
|
||||
{
|
||||
bool bReturn = false;
|
||||
|
||||
if (index < GetNumDevices()) {
|
||||
for (unsigned int i = 0; i < vDeviceInfo[index].pvstrExtensions->size(); i++) {
|
||||
if (!_stricmp(vDeviceInfo[index].pvstrExtensions->at(i).c_str(), szExtName)) {
|
||||
bReturn = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return bReturn;
|
||||
return !!(aDeviceInfo[index].Extensions & ext);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -216,10 +193,10 @@ int ALDeviceList::GetDefaultDevice()
|
||||
void ALDeviceList::FilterDevicesMinVer(int major, int minor)
|
||||
{
|
||||
int dMajor, dMinor;
|
||||
for (unsigned int i = 0; i < vDeviceInfo.size(); i++) {
|
||||
for (unsigned int i = 0; i < nNumOfDevices; i++) {
|
||||
GetDeviceVersion(i, &dMajor, &dMinor);
|
||||
if ((dMajor < major) || ((dMajor == major) && (dMinor < minor))) {
|
||||
vDeviceInfo[i].bSelected = false;
|
||||
aDeviceInfo[i].bSelected = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -230,10 +207,10 @@ void ALDeviceList::FilterDevicesMinVer(int major, int minor)
|
||||
void ALDeviceList::FilterDevicesMaxVer(int major, int minor)
|
||||
{
|
||||
int dMajor, dMinor;
|
||||
for (unsigned int i = 0; i < vDeviceInfo.size(); i++) {
|
||||
for (unsigned int i = 0; i < nNumOfDevices; i++) {
|
||||
GetDeviceVersion(i, &dMajor, &dMinor);
|
||||
if ((dMajor > major) || ((dMajor == major) && (dMinor > minor))) {
|
||||
vDeviceInfo[i].bSelected = false;
|
||||
aDeviceInfo[i].bSelected = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -241,20 +218,12 @@ void ALDeviceList::FilterDevicesMaxVer(int major, int minor)
|
||||
/*
|
||||
* Deselects device which don't support the given extension name
|
||||
*/
|
||||
void ALDeviceList::FilterDevicesExtension(char *szExtName)
|
||||
void
|
||||
ALDeviceList::FilterDevicesExtension(unsigned short ext)
|
||||
{
|
||||
bool bFound;
|
||||
|
||||
for (unsigned int i = 0; i < vDeviceInfo.size(); i++) {
|
||||
bFound = false;
|
||||
for (unsigned int j = 0; j < vDeviceInfo[i].pvstrExtensions->size(); j++) {
|
||||
if (!_stricmp(vDeviceInfo[i].pvstrExtensions->at(j).c_str(), szExtName)) {
|
||||
bFound = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!bFound)
|
||||
vDeviceInfo[i].bSelected = false;
|
||||
for (unsigned int i = 0; i < nNumOfDevices; i++) {
|
||||
if (!IsExtensionSupported(i, ext))
|
||||
aDeviceInfo[i].bSelected = false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -263,8 +232,8 @@ void ALDeviceList::FilterDevicesExtension(char *szExtName)
|
||||
*/
|
||||
void ALDeviceList::ResetFilters()
|
||||
{
|
||||
for (int i = 0; i < GetNumDevices(); i++) {
|
||||
vDeviceInfo[i].bSelected = true;
|
||||
for (unsigned int i = 0; i < GetNumDevices(); i++) {
|
||||
aDeviceInfo[i].bSelected = true;
|
||||
}
|
||||
filterIndex = 0;
|
||||
}
|
||||
@ -274,10 +243,10 @@ void ALDeviceList::ResetFilters()
|
||||
*/
|
||||
int ALDeviceList::GetFirstFilteredDevice()
|
||||
{
|
||||
int i;
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < GetNumDevices(); i++) {
|
||||
if (vDeviceInfo[i].bSelected == true) {
|
||||
if (aDeviceInfo[i].bSelected == true) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -290,10 +259,10 @@ int ALDeviceList::GetFirstFilteredDevice()
|
||||
*/
|
||||
int ALDeviceList::GetNextFilteredDevice()
|
||||
{
|
||||
int i;
|
||||
unsigned int i;
|
||||
|
||||
for (i = filterIndex; i < GetNumDevices(); i++) {
|
||||
if (vDeviceInfo[i].bSelected == true) {
|
||||
if (aDeviceInfo[i].bSelected == true) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -5,38 +5,58 @@
|
||||
|
||||
#ifdef AUDIO_OAL
|
||||
#pragma warning(disable: 4786) //disable warning "identifier was truncated to '255' characters in the browser information"
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
typedef struct
|
||||
enum
|
||||
{
|
||||
std::string strDeviceName;
|
||||
ADEXT_EXT_CAPTURE = (1 << 0),
|
||||
ADEXT_EXT_EFX = (1 << 1),
|
||||
ADEXT_EXT_OFFSET = (1 << 2),
|
||||
ADEXT_EXT_LINEAR_DISTANCE = (1 << 3),
|
||||
ADEXT_EXT_EXPONENT_DISTANCE = (1 << 4),
|
||||
ADEXT_EAX2 = (1 << 5),
|
||||
ADEXT_EAX3 = (1 << 6),
|
||||
ADEXT_EAX4 = (1 << 7),
|
||||
ADEXT_EAX5 = (1 << 8),
|
||||
ADEXT_EAX_RAM = (1 << 9),
|
||||
};
|
||||
|
||||
struct ALDEVICEINFO {
|
||||
const char *strDeviceName;
|
||||
int iMajorVersion;
|
||||
int iMinorVersion;
|
||||
unsigned int uiSourceCount;
|
||||
std::vector<std::string> *pvstrExtensions;
|
||||
unsigned short Extensions;
|
||||
bool bSelected;
|
||||
} ALDEVICEINFO, *LPALDEVICEINFO;
|
||||
|
||||
ALDEVICEINFO() : iMajorVersion(0), iMinorVersion(0), uiSourceCount(0), bSelected(false)
|
||||
{
|
||||
strDeviceName = NULL;
|
||||
Extensions = 0;
|
||||
}
|
||||
};
|
||||
|
||||
typedef ALDEVICEINFO *LPALDEVICEINFO;
|
||||
|
||||
class ALDeviceList
|
||||
{
|
||||
private:
|
||||
std::vector<ALDEVICEINFO> vDeviceInfo;
|
||||
ALDEVICEINFO aDeviceInfo[64];
|
||||
unsigned int nNumOfDevices;
|
||||
int defaultDeviceIndex;
|
||||
int filterIndex;
|
||||
|
||||
public:
|
||||
ALDeviceList ();
|
||||
~ALDeviceList ();
|
||||
int GetNumDevices();
|
||||
char *GetDeviceName(int index);
|
||||
void GetDeviceVersion(int index, int *major, int *minor);
|
||||
unsigned int GetMaxNumSources(int index);
|
||||
bool IsExtensionSupported(int index, const char *szExtName);
|
||||
unsigned int GetNumDevices();
|
||||
const char *GetDeviceName(unsigned int index);
|
||||
void GetDeviceVersion(unsigned int index, int *major, int *minor);
|
||||
unsigned int GetMaxNumSources(unsigned int index);
|
||||
bool IsExtensionSupported(int index, unsigned short ext);
|
||||
int GetDefaultDevice();
|
||||
void FilterDevicesMinVer(int major, int minor);
|
||||
void FilterDevicesMaxVer(int major, int minor);
|
||||
void FilterDevicesExtension(char *szExtName);
|
||||
void FilterDevicesExtension(unsigned short ext);
|
||||
void ResetFilters();
|
||||
int GetFirstFilteredDevice();
|
||||
int GetNextFilteredDevice();
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include "channel.h"
|
||||
#include "common.h"
|
||||
|
||||
#ifdef AUDIO_OAL
|
||||
#include "common.h"
|
||||
#include "channel.h"
|
||||
#include "sampman.h"
|
||||
|
||||
#ifndef _WIN32
|
||||
|
@ -1,5 +1,4 @@
|
||||
#pragma once
|
||||
#include "common.h"
|
||||
|
||||
#ifdef AUDIO_OAL
|
||||
#include "oal/oal_utils.h"
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include "common.h"
|
||||
#include "oal_utils.h"
|
||||
|
||||
#ifdef AUDIO_OAL
|
||||
|
@ -1,5 +1,4 @@
|
||||
#pragma once
|
||||
#include "common.h"
|
||||
|
||||
#ifdef AUDIO_OAL
|
||||
#include "eax.h"
|
||||
|
@ -1,11 +1,9 @@
|
||||
#include "stream.h"
|
||||
#include "common.h"
|
||||
|
||||
#ifdef AUDIO_OAL
|
||||
#include "common.h"
|
||||
#include "stream.h"
|
||||
#include "sampman.h"
|
||||
|
||||
#include <sndfile.h>
|
||||
#include <mpg123.h>
|
||||
#ifdef _WIN32
|
||||
typedef long ssize_t;
|
||||
#pragma comment( lib, "libsndfile-1.lib" )
|
||||
@ -13,6 +11,8 @@ typedef long ssize_t;
|
||||
#else
|
||||
#include "crossplatform.h"
|
||||
#endif
|
||||
#include <sndfile.h>
|
||||
#include <mpg123.h>
|
||||
|
||||
class CSndFile : public IDecoder
|
||||
{
|
||||
|
@ -1,5 +1,4 @@
|
||||
#pragma once
|
||||
#include "common.h"
|
||||
|
||||
#ifdef AUDIO_OAL
|
||||
#include <AL/al.h>
|
||||
|
@ -3,7 +3,7 @@
|
||||
#include "AudioSamples.h"
|
||||
|
||||
#define MAX_VOLUME 127
|
||||
#define MAX_FREQ 22050
|
||||
#define MAX_FREQ DIGITALRATE
|
||||
|
||||
struct tSample {
|
||||
int32 nOffset;
|
||||
@ -13,9 +13,83 @@ struct tSample {
|
||||
int32 nLoopEnd;
|
||||
};
|
||||
|
||||
#ifdef GTA_PS2
|
||||
#define PS2BANK(e) e
|
||||
#else
|
||||
#define PS2BANK(e) e = SAMPLEBANK_MAIN
|
||||
#endif // GTA_PS2
|
||||
|
||||
|
||||
enum
|
||||
{
|
||||
SAMPLEBANK_MAIN,
|
||||
|
||||
CAR_SAMPLEBANKS_OFFSET,
|
||||
SAMPLEBANK_CAR_PACARD = CAR_SAMPLEBANKS_OFFSET,
|
||||
SAMPLEBANK_CAR_PATHFINDER,
|
||||
SAMPLEBANK_CAR_PORSCHE,
|
||||
SAMPLEBANK_CAR_SPIDER,
|
||||
SAMPLEBANK_CAR_MERC,
|
||||
SAMPLEBANK_CAR_MACKTRUCK,
|
||||
SAMPLEBANK_CAR_HOTROD,
|
||||
SAMPLEBANK_CAR_COBRA,
|
||||
SAMPLEBANK_CAR_NONE,
|
||||
|
||||
PS2BANK(SAMPLEBANK_FRONTEND),
|
||||
|
||||
PS2BANK(SAMPLEBANK_TRAIN),
|
||||
|
||||
PS2BANK(SAMPLEBANK_BUILDING_CLUB_1),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_CLUB_2),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_CLUB_3),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_CLUB_4),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_CLUB_5),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_CLUB_6),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_CLUB_7),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_CLUB_8),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_CLUB_9),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_CLUB_10),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_CLUB_11),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_CLUB_12),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_CLUB_RAGGA),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_STRIP_CLUB_1),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_STRIP_CLUB_2),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_WORKSHOP),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_PIANO_BAR),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_SAWMILL),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_DOG_FOOD_FACTORY),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_LAUNDERETTE),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_RESTAURANT_CHINATOWN),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_RESTAURANT_ITALY),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_RESTAURANT_GENERIC_1),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_RESTAURANT_GENERIC_2),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_AIRPORT),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_SHOP),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_CINEMA),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_DOCKS),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_HOME),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_PORN_1),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_PORN_2),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_PORN_3),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_POLICE_BALL),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_BANK_ALARM),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_RAVE_INDUSTRIAL),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_RAVE_COMMERCIAL),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_RAVE_SUBURBAN),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_RAVE_COMMERCIAL_2),
|
||||
|
||||
PS2BANK(SAMPLEBANK_BUILDING_39),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_40),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_41),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_42),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_43),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_44),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_45),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_46),
|
||||
PS2BANK(SAMPLEBANK_BUILDING_47),
|
||||
|
||||
PS2BANK(SAMPLEBANK_EXTRAS),
|
||||
|
||||
SAMPLEBANK_PED,
|
||||
MAX_SAMPLEBANKS,
|
||||
SAMPLEBANK_INVALID
|
||||
|
@ -1445,7 +1445,7 @@ cSampleManager::IsSampleBankLoaded(uint8 nBank)
|
||||
bool
|
||||
cSampleManager::IsPedCommentLoaded(uint32 nComment)
|
||||
{
|
||||
uint8 slot;
|
||||
int8 slot;
|
||||
|
||||
for ( int32 i = 0; i < _TODOCONST(3); i++ )
|
||||
{
|
||||
@ -1464,11 +1464,15 @@ cSampleManager::IsPedCommentLoaded(uint32 nComment)
|
||||
int32
|
||||
cSampleManager::_GetPedCommentSlot(uint32 nComment)
|
||||
{
|
||||
uint8 slot;
|
||||
int8 slot;
|
||||
|
||||
for ( int32 i = 0; i < _TODOCONST(3); i++ )
|
||||
{
|
||||
slot = nCurrentPedSlot - i - 1;
|
||||
#ifdef FIX_BUGS
|
||||
if (slot < 0)
|
||||
slot += ARRAY_SIZE(nPedSlotSfx);
|
||||
#endif
|
||||
if ( nComment == nPedSlotSfx[slot] )
|
||||
return slot;
|
||||
}
|
||||
|
@ -174,10 +174,10 @@ add_providers()
|
||||
}
|
||||
|
||||
if ( alGetEnumValue("AL_EFFECT_EAXREVERB") != 0
|
||||
|| pDeviceList->IsExtensionSupported(i, "EAX2.0")
|
||||
|| pDeviceList->IsExtensionSupported(i, "EAX3.0")
|
||||
|| pDeviceList->IsExtensionSupported(i, "EAX4.0")
|
||||
|| pDeviceList->IsExtensionSupported(i, "EAX5.0") )
|
||||
|| pDeviceList->IsExtensionSupported(i, ADEXT_EAX2)
|
||||
|| pDeviceList->IsExtensionSupported(i, ADEXT_EAX3)
|
||||
|| pDeviceList->IsExtensionSupported(i, ADEXT_EAX4)
|
||||
|| pDeviceList->IsExtensionSupported(i, ADEXT_EAX5) )
|
||||
{
|
||||
if ( n < MAXPROVIDERS )
|
||||
{
|
||||
@ -775,7 +775,7 @@ cSampleManager::IsPedCommentLoaded(uint32 nComment)
|
||||
{
|
||||
ASSERT( nComment < TOTAL_AUDIO_SAMPLES );
|
||||
|
||||
uint8 slot;
|
||||
int8 slot;
|
||||
|
||||
for ( int32 i = 0; i < _TODOCONST(3); i++ )
|
||||
{
|
||||
@ -795,11 +795,15 @@ cSampleManager::IsPedCommentLoaded(uint32 nComment)
|
||||
int32
|
||||
cSampleManager::_GetPedCommentSlot(uint32 nComment)
|
||||
{
|
||||
uint8 slot;
|
||||
int8 slot;
|
||||
|
||||
for (int32 i = 0; i < _TODOCONST(3); i++)
|
||||
{
|
||||
slot = nCurrentPedSlot - i - 1;
|
||||
#ifdef FIX_BUGS
|
||||
if (slot < 0)
|
||||
slot += ARRAY_SIZE(nPedSlotSfx);
|
||||
#endif
|
||||
if (nComment == nPedSlotSfx[slot])
|
||||
return slot;
|
||||
}
|
||||
|
@ -1,301 +1,303 @@
|
||||
#pragma once
|
||||
|
||||
enum eSound : int16
|
||||
enum eSound : uint16
|
||||
{
|
||||
SOUND_CAR_DOOR_CLOSE_BONNET = 0,
|
||||
SOUND_CAR_DOOR_CLOSE_BUMPER = 1,
|
||||
SOUND_CAR_DOOR_CLOSE_FRONT_LEFT = 2,
|
||||
SOUND_CAR_DOOR_CLOSE_FRONT_RIGHT = 3,
|
||||
SOUND_CAR_DOOR_CLOSE_BACK_LEFT = 4,
|
||||
SOUND_CAR_DOOR_CLOSE_BACK_RIGHT = 5,
|
||||
SOUND_CAR_DOOR_OPEN_BONNET = 6,
|
||||
SOUND_CAR_DOOR_OPEN_BUMPER = 7,
|
||||
SOUND_CAR_DOOR_OPEN_FRONT_LEFT = 8,
|
||||
SOUND_CAR_DOOR_OPEN_FRONT_RIGHT = 9,
|
||||
SOUND_CAR_DOOR_OPEN_BACK_LEFT = 10,
|
||||
SOUND_CAR_DOOR_OPEN_BACK_RIGHT = 11,
|
||||
SOUND_CAR_WINDSHIELD_CRACK = 12,
|
||||
SOUND_CAR_JUMP = 13,
|
||||
SOUND_E = 14,
|
||||
SOUND_F = 15,
|
||||
SOUND_CAR_ENGINE_START = 16,
|
||||
SOUND_CAR_LIGHT_BREAK = 17,
|
||||
SOUND_CAR_HYDRAULIC_1 = 18,
|
||||
SOUND_CAR_HYDRAULIC_2 = 19,
|
||||
SOUND_CAR_HYDRAULIC_3 = 20,
|
||||
SOUND_CAR_JERK = 21,
|
||||
SOUND_CAR_SPLASH = 22,
|
||||
SOUND_17 = 23,
|
||||
SOUND_18 = 24,
|
||||
SOUND_19 = 25,
|
||||
SOUND_CAR_TANK_TURRET_ROTATE = 26,
|
||||
SOUND_CAR_BOMB_TICK = 27,
|
||||
SOUND_PLANE_ON_GROUND = 28,
|
||||
SOUND_STEP_START = 29,
|
||||
SOUND_STEP_END = 30,
|
||||
SOUND_FALL_LAND = 31,
|
||||
SOUND_FALL_COLLAPSE = 32,
|
||||
SOUND_FIGHT_PUNCH_33 = 33,
|
||||
SOUND_FIGHT_KICK_34 = 34,
|
||||
SOUND_FIGHT_HEADBUTT_35 = 35,
|
||||
SOUND_FIGHT_PUNCH_36 = 36,
|
||||
SOUND_FIGHT_PUNCH_37 = 37,
|
||||
SOUND_FIGHT_CLOSE_PUNCH_38 = 38,
|
||||
SOUND_FIGHT_PUNCH_39 = 39,
|
||||
SOUND_FIGHT_PUNCH_OR_KICK_BELOW_40 = 40,
|
||||
SOUND_FIGHT_PUNCH_41 = 41,
|
||||
SOUND_FIGHT_PUNCH_FROM_BEHIND_42 = 42,
|
||||
SOUND_FIGHT_KNEE_OR_KICK_43 = 43,
|
||||
SOUND_FIGHT_KICK_44 = 44,
|
||||
SOUND_2D = 45,
|
||||
SOUND_WEAPON_BAT_ATTACK = 46,
|
||||
SOUND_WEAPON_SHOT_FIRED = 47,
|
||||
SOUND_WEAPON_RELOAD = 48,
|
||||
SOUND_WEAPON_AK47_BULLET_ECHO = 49,
|
||||
SOUND_WEAPON_UZI_BULLET_ECHO = 50,
|
||||
SOUND_WEAPON_M16_BULLET_ECHO = 51,
|
||||
SOUND_WEAPON_FLAMETHROWER_FIRE = 52,
|
||||
SOUND_WEAPON_SNIPER_SHOT_NO_ZOOM = 53,
|
||||
SOUND_WEAPON_ROCKET_SHOT_NO_ZOOM = 54,
|
||||
SOUND_WEAPON_HIT_PED = 55,
|
||||
SOUND_WEAPON_HIT_VEHICLE = 56,
|
||||
SOUND_GARAGE_NO_MONEY = 57,
|
||||
SOUND_GARAGE_BAD_VEHICLE = 58,
|
||||
SOUND_GARAGE_OPENING = 59,
|
||||
SOUND_GARAGE_BOMB_ALREADY_SET = 60,
|
||||
SOUND_GARAGE_BOMB1_SET = 61,
|
||||
SOUND_GARAGE_BOMB2_SET = 62,
|
||||
SOUND_GARAGE_BOMB3_SET = 63,
|
||||
SOUND_40 = 64,
|
||||
SOUND_41 = 65,
|
||||
SOUND_GARAGE_VEHICLE_DECLINED = 66,
|
||||
SOUND_GARAGE_VEHICLE_ACCEPTED = 67,
|
||||
SOUND_GARAGE_DOOR_CLOSED = 68,
|
||||
SOUND_GARAGE_DOOR_OPENED = 69,
|
||||
SOUND_CRANE_PICKUP = 70,
|
||||
SOUND_PICKUP_WEAPON_BOUGHT = 71,
|
||||
SOUND_PICKUP_WEAPON = 72,
|
||||
SOUND_PICKUP_HEALTH = 73,
|
||||
SOUND_4A = 74,
|
||||
SOUND_4B = 75,
|
||||
SOUND_PICKUP_ADRENALINE = 76,
|
||||
SOUND_PICKUP_ARMOUR = 77,
|
||||
SOUND_PICKUP_BONUS = 78,
|
||||
SOUND_PICKUP_MONEY = 79,
|
||||
SOUND_PICKUP_HIDDEN_PACKAGE = 80,
|
||||
SOUND_PICKUP_PACMAN_PILL = 81,
|
||||
SOUND_PICKUP_PACMAN_PACKAGE = 82,
|
||||
SOUND_PICKUP_FLOAT_PACKAGE = 83,
|
||||
SOUND_BOMB_TIMED_ACTIVATED = 84,
|
||||
SOUND_55 = 85,
|
||||
SOUND_BOMB_ONIGNITION_ACTIVATED = 86,
|
||||
SOUND_BOMB_TICK = 87,
|
||||
SOUND_RAMPAGE_START = 88,
|
||||
SOUND_RAMPAGE_ONGOING = 89,
|
||||
SOUND_RAMPAGE_PASSED = 90,
|
||||
SOUND_RAMPAGE_FAILED = 91,
|
||||
SOUND_RAMPAGE_KILL = 92,
|
||||
SOUND_RAMPAGE_CAR_BLOWN = 93,
|
||||
SOUND_EVIDENCE_PICKUP = 94,
|
||||
SOUND_UNLOAD_GOLD = 95,
|
||||
SOUND_PAGER = 96,
|
||||
SOUND_PED_DEATH = 97, // 103 in VC
|
||||
SOUND_PED_DAMAGE = 98, // 104 in VC
|
||||
SOUND_PED_HIT = 99, // 105 in VC
|
||||
SOUND_PED_LAND = 100, // hopefully 106 in VC
|
||||
SOUND_PED_BULLET_HIT = 101,
|
||||
SOUND_PED_BOMBER = 102,
|
||||
SOUND_PED_BURNING = 103, // 108 in VC
|
||||
SOUND_PED_ARREST_FBI = 104,
|
||||
SOUND_PED_ARREST_SWAT = 105,
|
||||
SOUND_PED_ARREST_COP = 106,
|
||||
SOUND_PED_HELI_PLAYER_FOUND = 107,
|
||||
SOUND_PED_HANDS_UP = 108,
|
||||
SOUND_PED_HANDS_COWER = 109,
|
||||
SOUND_PED_FLEE_SPRINT = 110, // 120 in VC
|
||||
SOUND_PED_CAR_JACKING = 111,
|
||||
SOUND_PED_MUGGING = 112,
|
||||
SOUND_PED_CAR_JACKED = 113,
|
||||
SOUND_PED_ROBBED = 114,
|
||||
SOUND_PED_TAXI_WAIT = 115, // 137 in VC
|
||||
SOUND_PED_ATTACK = 116,
|
||||
SOUND_PED_DEFEND = 117,
|
||||
SOUND_PED_PURSUIT_ARMY = 118,
|
||||
SOUND_PED_PURSUIT_FBI = 119,
|
||||
SOUND_PED_PURSUIT_SWAT = 120,
|
||||
SOUND_PED_PURSUIT_COP = 121,
|
||||
SOUND_PED_HEALING = 122,
|
||||
SOUND_PED_7B = 123,
|
||||
SOUND_PED_LEAVE_VEHICLE = 124,
|
||||
SOUND_PED_EVADE = 125, // 142 in VC
|
||||
SOUND_PED_FLEE_RUN = 126,
|
||||
SOUND_PED_CAR_COLLISION = 127, // 144-145-146 in VC
|
||||
SOUND_PED_SOLICIT = 128,
|
||||
SOUND_PED_EXTINGUISHING_FIRE = 129,
|
||||
SOUND_PED_WAIT_DOUBLEBACK = 130,
|
||||
SOUND_PED_CHAT_SEXY = 131,
|
||||
SOUND_PED_CHAT_EVENT = 132,
|
||||
SOUND_PED_CHAT = 133,
|
||||
SOUND_PED_BODYCAST_HIT = 134,
|
||||
SOUND_PED_TAXI_CALL = 135,
|
||||
SOUND_INJURED_PED_MALE_OUCH = 136,
|
||||
SOUND_INJURED_PED_FEMALE = 137,
|
||||
SOUND_INJURED_PED_MALE_PRISON = 138,
|
||||
SOUND_RACE_START_3 = 139,
|
||||
SOUND_RACE_START_2 = 140,
|
||||
SOUND_RACE_START_1 = 141,
|
||||
SOUND_RACE_START_GO = 142,
|
||||
SOUND_SPLASH = 143,
|
||||
SOUND_WATER_FALL = 144,
|
||||
SOUND_SPLATTER = 145,
|
||||
SOUND_CAR_PED_COLLISION = 146,
|
||||
SOUND_CLOCK_TICK = 147,
|
||||
SOUND_PART_MISSION_COMPLETE = 148,
|
||||
SOUND_FRONTEND_MENU_STARTING = 149,
|
||||
SOUND_FRONTEND_MENU_COMPLETED = 150,
|
||||
SOUND_FRONTEND_MENU_DENIED = 151,
|
||||
SOUND_FRONTEND_MENU_SUCCESS = 152,
|
||||
SOUND_FRONTEND_EXIT = 153,
|
||||
SOUND_FRONTEND_STEREO = 154,
|
||||
SOUND_FRONTEND_MONO = 155,
|
||||
SOUND_FRONTEND_AUDIO_TEST = 156,
|
||||
SOUND_FRONTEND_FAIL = 157,
|
||||
SOUND_FRONTEND_NO_RADIO = 158,
|
||||
SOUND_FRONTEND_RADIO_CHANGE = 159,
|
||||
SOUND_A0 = 160,
|
||||
SOUND_AMMUNATION_WELCOME_1 = 161,
|
||||
SOUND_AMMUNATION_WELCOME_2 = 162,
|
||||
SOUND_AMMUNATION_WELCOME_3 = 163,
|
||||
SOUND_LIGHTNING = 164,
|
||||
SOUND_A5 = 165,
|
||||
SOUND_TOTAL_SOUNDS = 166,
|
||||
SOUND_TOTAL_PED_SOUNDS = 167,
|
||||
SOUND_CAR_DOOR_CLOSE_BUMPER,
|
||||
SOUND_CAR_DOOR_CLOSE_FRONT_LEFT,
|
||||
SOUND_CAR_DOOR_CLOSE_FRONT_RIGHT,
|
||||
SOUND_CAR_DOOR_CLOSE_BACK_LEFT,
|
||||
SOUND_CAR_DOOR_CLOSE_BACK_RIGHT,
|
||||
SOUND_CAR_DOOR_OPEN_BONNET,
|
||||
SOUND_CAR_DOOR_OPEN_BUMPER,
|
||||
SOUND_CAR_DOOR_OPEN_FRONT_LEFT,
|
||||
SOUND_CAR_DOOR_OPEN_FRONT_RIGHT,
|
||||
SOUND_CAR_DOOR_OPEN_BACK_LEFT,
|
||||
SOUND_CAR_DOOR_OPEN_BACK_RIGHT,
|
||||
SOUND_CAR_WINDSHIELD_CRACK,
|
||||
SOUND_CAR_JUMP,
|
||||
SOUND_E,
|
||||
SOUND_F,
|
||||
SOUND_CAR_ENGINE_START,
|
||||
SOUND_CAR_LIGHT_BREAK,
|
||||
SOUND_CAR_HYDRAULIC_1,
|
||||
SOUND_CAR_HYDRAULIC_2,
|
||||
SOUND_CAR_HYDRAULIC_3,
|
||||
SOUND_CAR_JERK,
|
||||
SOUND_CAR_SPLASH,
|
||||
SOUND_BOAT_SLOWDOWN,
|
||||
SOUND_TRAIN_DOOR_CLOSE,
|
||||
SOUND_TRAIN_DOOR_OPEN,
|
||||
SOUND_CAR_TANK_TURRET_ROTATE,
|
||||
SOUND_CAR_BOMB_TICK,
|
||||
SOUND_PLANE_ON_GROUND,
|
||||
SOUND_STEP_START,
|
||||
SOUND_STEP_END,
|
||||
SOUND_FALL_LAND,
|
||||
SOUND_FALL_COLLAPSE,
|
||||
SOUND_FIGHT_PUNCH_33,
|
||||
SOUND_FIGHT_KICK_34,
|
||||
SOUND_FIGHT_HEADBUTT_35,
|
||||
SOUND_FIGHT_PUNCH_36,
|
||||
SOUND_FIGHT_PUNCH_37,
|
||||
SOUND_FIGHT_CLOSE_PUNCH_38,
|
||||
SOUND_FIGHT_PUNCH_39,
|
||||
SOUND_FIGHT_PUNCH_OR_KICK_BELOW_40,
|
||||
SOUND_FIGHT_PUNCH_41,
|
||||
SOUND_FIGHT_PUNCH_FROM_BEHIND_42,
|
||||
SOUND_FIGHT_KNEE_OR_KICK_43,
|
||||
SOUND_FIGHT_KICK_44,
|
||||
SOUND_2D,
|
||||
SOUND_WEAPON_BAT_ATTACK,
|
||||
SOUND_WEAPON_SHOT_FIRED,
|
||||
SOUND_WEAPON_RELOAD,
|
||||
SOUND_WEAPON_AK47_BULLET_ECHO,
|
||||
SOUND_WEAPON_UZI_BULLET_ECHO,
|
||||
SOUND_WEAPON_M16_BULLET_ECHO,
|
||||
SOUND_WEAPON_FLAMETHROWER_FIRE,
|
||||
SOUND_WEAPON_SNIPER_SHOT_NO_ZOOM,
|
||||
SOUND_WEAPON_ROCKET_SHOT_NO_ZOOM,
|
||||
SOUND_WEAPON_HIT_PED,
|
||||
SOUND_WEAPON_HIT_VEHICLE,
|
||||
SOUND_GARAGE_NO_MONEY,
|
||||
SOUND_GARAGE_BAD_VEHICLE,
|
||||
SOUND_GARAGE_OPENING,
|
||||
SOUND_GARAGE_BOMB_ALREADY_SET,
|
||||
SOUND_GARAGE_BOMB1_SET,
|
||||
SOUND_GARAGE_BOMB2_SET,
|
||||
SOUND_GARAGE_BOMB3_SET,
|
||||
SOUND_40,
|
||||
SOUND_41,
|
||||
SOUND_GARAGE_VEHICLE_DECLINED,
|
||||
SOUND_GARAGE_VEHICLE_ACCEPTED,
|
||||
SOUND_GARAGE_DOOR_CLOSED,
|
||||
SOUND_GARAGE_DOOR_OPENED,
|
||||
SOUND_CRANE_PICKUP,
|
||||
SOUND_PICKUP_WEAPON_BOUGHT,
|
||||
SOUND_PICKUP_WEAPON,
|
||||
SOUND_PICKUP_HEALTH,
|
||||
SOUND_PICKUP_ERROR,
|
||||
SOUND_4B,
|
||||
SOUND_PICKUP_ADRENALINE,
|
||||
SOUND_PICKUP_ARMOUR,
|
||||
SOUND_PICKUP_BONUS,
|
||||
SOUND_PICKUP_MONEY,
|
||||
SOUND_PICKUP_HIDDEN_PACKAGE,
|
||||
SOUND_PICKUP_PACMAN_PILL,
|
||||
SOUND_PICKUP_PACMAN_PACKAGE,
|
||||
SOUND_PICKUP_FLOAT_PACKAGE,
|
||||
SOUND_BOMB_TIMED_ACTIVATED,
|
||||
SOUND_55,
|
||||
SOUND_BOMB_ONIGNITION_ACTIVATED,
|
||||
SOUND_BOMB_TICK,
|
||||
SOUND_RAMPAGE_START,
|
||||
SOUND_RAMPAGE_ONGOING,
|
||||
SOUND_RAMPAGE_PASSED,
|
||||
SOUND_RAMPAGE_FAILED,
|
||||
SOUND_RAMPAGE_KILL,
|
||||
SOUND_RAMPAGE_CAR_BLOWN,
|
||||
SOUND_EVIDENCE_PICKUP,
|
||||
SOUND_UNLOAD_GOLD,
|
||||
SOUND_PAGER,
|
||||
SOUND_PED_DEATH,
|
||||
SOUND_PED_DAMAGE,
|
||||
SOUND_PED_HIT,
|
||||
SOUND_PED_LAND,
|
||||
SOUND_PED_BULLET_HIT,
|
||||
SOUND_PED_BOMBER,
|
||||
SOUND_PED_BURNING,
|
||||
SOUND_PED_ARREST_FBI,
|
||||
SOUND_PED_ARREST_SWAT,
|
||||
SOUND_PED_ARREST_COP,
|
||||
SOUND_PED_HELI_PLAYER_FOUND,
|
||||
SOUND_PED_HANDS_UP,
|
||||
SOUND_PED_HANDS_COWER,
|
||||
SOUND_PED_FLEE_SPRINT,
|
||||
SOUND_PED_CAR_JACKING,
|
||||
SOUND_PED_MUGGING,
|
||||
SOUND_PED_CAR_JACKED,
|
||||
SOUND_PED_ROBBED,
|
||||
SOUND_PED_TAXI_WAIT,
|
||||
SOUND_PED_ATTACK,
|
||||
SOUND_PED_DEFEND,
|
||||
SOUND_PED_PURSUIT_ARMY,
|
||||
SOUND_PED_PURSUIT_FBI,
|
||||
SOUND_PED_PURSUIT_SWAT,
|
||||
SOUND_PED_PURSUIT_COP,
|
||||
SOUND_PED_HEALING,
|
||||
SOUND_PED_7B,
|
||||
SOUND_PED_LEAVE_VEHICLE,
|
||||
SOUND_PED_EVADE,
|
||||
SOUND_PED_FLEE_RUN,
|
||||
SOUND_PED_CAR_COLLISION,
|
||||
SOUND_PED_SOLICIT,
|
||||
SOUND_PED_EXTINGUISHING_FIRE,
|
||||
SOUND_PED_WAIT_DOUBLEBACK,
|
||||
SOUND_PED_CHAT_SEXY,
|
||||
SOUND_PED_CHAT_EVENT,
|
||||
SOUND_PED_CHAT,
|
||||
SOUND_PED_BODYCAST_HIT,
|
||||
SOUND_PED_TAXI_CALL,
|
||||
SOUND_INJURED_PED_MALE_OUCH,
|
||||
SOUND_INJURED_PED_FEMALE,
|
||||
SOUND_INJURED_PED_MALE_PRISON,
|
||||
SOUND_RACE_START_3,
|
||||
SOUND_RACE_START_2,
|
||||
SOUND_RACE_START_1,
|
||||
SOUND_RACE_START_GO,
|
||||
SOUND_SPLASH,
|
||||
SOUND_WATER_FALL,
|
||||
SOUND_SPLATTER,
|
||||
SOUND_CAR_PED_COLLISION,
|
||||
SOUND_CLOCK_TICK,
|
||||
SOUND_PART_MISSION_COMPLETE,
|
||||
SOUND_FRONTEND_MENU_STARTING,
|
||||
SOUND_FRONTEND_MENU_NEW_PAGE,
|
||||
SOUND_FRONTEND_MENU_NAVIGATION,
|
||||
SOUND_FRONTEND_MENU_SETTING_CHANGE,
|
||||
SOUND_FRONTEND_MENU_BACK,
|
||||
SOUND_FRONTEND_STEREO,
|
||||
SOUND_FRONTEND_MONO,
|
||||
SOUND_FRONTEND_AUDIO_TEST,
|
||||
SOUND_FRONTEND_FAIL,
|
||||
SOUND_FRONTEND_NO_RADIO,
|
||||
SOUND_FRONTEND_RADIO_CHANGE,
|
||||
SOUND_HUD,
|
||||
SOUND_AMMUNATION_WELCOME_1,
|
||||
SOUND_AMMUNATION_WELCOME_2,
|
||||
SOUND_AMMUNATION_WELCOME_3,
|
||||
SOUND_LIGHTNING,
|
||||
SOUND_A5,
|
||||
SOUND_TOTAL_SOUNDS,
|
||||
SOUND_NO_SOUND,
|
||||
};
|
||||
|
||||
|
||||
enum eScriptSounds : int16 {
|
||||
enum eScriptSounds : uint16 {
|
||||
SCRIPT_SOUND_0 = 0,
|
||||
SCRIPT_SOUND_1 = 1,
|
||||
SCRIPT_SOUND_2 = 2,
|
||||
SCRIPT_SOUND_3 = 3,
|
||||
SCRIPT_SOUND_PARTY_1_LOOP_S = 4,
|
||||
SCRIPT_SOUND_PARTY_1_LOOP_L = 5,
|
||||
SCRIPT_SOUND_PARTY_2_LOOP_S = 6,
|
||||
SCRIPT_SOUND_PARTY_2_LOOP_L = 7,
|
||||
SCRIPT_SOUND_PARTY_3_LOOP_S = 8,
|
||||
SCRIPT_SOUND_PARTY_3_LOOP_L = 9,
|
||||
SCRIPT_SOUND_PARTY_4_LOOP_S = 10,
|
||||
SCRIPT_SOUND_PARTY_4_LOOP_L = 11,
|
||||
SCRIPT_SOUND_PARTY_5_LOOP_S = 12,
|
||||
SCRIPT_SOUND_PARTY_5_LOOP_L = 13,
|
||||
SCRIPT_SOUND_PARTY_6_LOOP_S = 14,
|
||||
SCRIPT_SOUND_PARTY_6_LOOP_L = 15,
|
||||
SCRIPT_SOUND_PARTY_7_LOOP_S = 16,
|
||||
SCRIPT_SOUND_PARTY_7_LOOP_L = 17,
|
||||
SCRIPT_SOUND_PARTY_8_LOOP_S = 18,
|
||||
SCRIPT_SOUND_PARTY_8_LOOP_L = 19,
|
||||
SCRIPT_SOUND_PARTY_9_LOOP_S = 20,
|
||||
SCRIPT_SOUND_PARTY_9_LOOP_L = 21,
|
||||
SCRIPT_SOUND_PARTY_10_LOOP_S = 22,
|
||||
SCRIPT_SOUND_PARTY_10_LOOP_L = 23,
|
||||
SCRIPT_SOUND_PARTY_11_LOOP_S = 24,
|
||||
SCRIPT_SOUND_PARTY_11_LOOP_L = 25,
|
||||
SCRIPT_SOUND_PARTY_12_LOOP_S = 26,
|
||||
SCRIPT_SOUND_PARTY_12_LOOP_L = 27,
|
||||
SCRIPT_SOUND_PARTY_13_LOOP_S = 28,
|
||||
SCRIPT_SOUND_PARTY_13_LOOP_L = 29,
|
||||
SCRIPT_SOUND_STRIP_CLUB_LOOP_1_S = 30,
|
||||
SCRIPT_SOUND_STRIP_CLUB_LOOP_1_L = 31,
|
||||
SCRIPT_SOUND_STRIP_CLUB_LOOP_2_S = 32,
|
||||
SCRIPT_SOUND_STRIP_CLUB_LOOP_2_L = 33,
|
||||
SCRIPT_SOUND_WORK_SHOP_LOOP_S = 34,
|
||||
SCRIPT_SOUND_WORK_SHOP_LOOP_L = 35,
|
||||
SCRIPT_SOUND_SAWMILL_LOOP_S = 36,
|
||||
SCRIPT_SOUND_SAWMILL_LOOP_L = 37,
|
||||
SCRIPT_SOUND_38 = 38,
|
||||
SCRIPT_SOUND_39 = 39,
|
||||
SCRIPT_SOUND_LAUNDERETTE_LOOP_S = 40,
|
||||
SCRIPT_SOUND_LAUNDERETTE_LOOP_L = 41,
|
||||
SCRIPT_SOUND_CHINATOWN_RESTAURANT_S = 42,
|
||||
SCRIPT_SOUND_CHINATOWN_RESTAURANT_L = 43,
|
||||
SCRIPT_SOUND_CIPRIANI_RESAURANT_S = 44,
|
||||
SCRIPT_SOUND_CIPRIANI_RESAURANT_L = 45,
|
||||
SCRIPT_SOUND_46_S = 46,
|
||||
SCRIPT_SOUND_47_L = 47,
|
||||
SCRIPT_SOUND_MARCO_BISTRO_S = 48,
|
||||
SCRIPT_SOUND_MARCO_BISTRO_L = 49,
|
||||
SCRIPT_SOUND_AIRPORT_LOOP_S = 50,
|
||||
SCRIPT_SOUND_AIRPORT_LOOP_L = 51,
|
||||
SCRIPT_SOUND_SHOP_LOOP_S = 52,
|
||||
SCRIPT_SOUND_SHOP_LOOP_L = 53,
|
||||
SCRIPT_SOUND_CINEMA_LOOP_S = 54,
|
||||
SCRIPT_SOUND_CINEMA_LOOP_L = 55,
|
||||
SCRIPT_SOUND_DOCKS_LOOP_S = 56,
|
||||
SCRIPT_SOUND_DOCKS_LOOP_L = 57,
|
||||
SCRIPT_SOUND_HOME_LOOP_S = 58,
|
||||
SCRIPT_SOUND_HOME_LOOP_L = 59,
|
||||
SCRIPT_SOUND_FRANKIE_PIANO = 60,
|
||||
SCRIPT_SOUND_PARTY_1_LOOP = 61,
|
||||
SCRIPT_SOUND_PORN_CINEMA_1_S = 62,
|
||||
SCRIPT_SOUND_PORN_CINEMA_1_L = 63,
|
||||
SCRIPT_SOUND_PORN_CINEMA_2_S = 64,
|
||||
SCRIPT_SOUND_PORN_CINEMA_2_L = 65,
|
||||
SCRIPT_SOUND_PORN_CINEMA_3_S = 66,
|
||||
SCRIPT_SOUND_PORN_CINEMA_3_L = 67,
|
||||
SCRIPT_SOUND_BANK_ALARM_LOOP_S = 68,
|
||||
SCRIPT_SOUND_BANK_ALARM_LOOP_L = 69,
|
||||
SCRIPT_SOUND_POLICE_BALL_LOOP_S = 70,
|
||||
SCRIPT_SOUND_POLICE_BALL_LOOP_L = 71,
|
||||
SCRIPT_SOUND_RAVE_LOOP_INDUSTRIAL_S = 72,
|
||||
SCRIPT_SOUND_RAVE_LOOP_INDUSTRIAL_L = 73,
|
||||
SCRIPT_SOUND_74 = 74,
|
||||
SCRIPT_SOUND_75 = 75,
|
||||
SCRIPT_SOUND_POLICE_CELL_BEATING_LOOP_S = 76,
|
||||
SCRIPT_SOUND_POLICE_CELL_BEATING_LOOP_L = 77,
|
||||
SCRIPT_SOUND_INJURED_PED_MALE_OUCH_S = 78,
|
||||
SCRIPT_SOUND_INJURED_PED_MALE_OUCH_L = 79,
|
||||
SCRIPT_SOUND_INJURED_PED_FEMALE_OUCH_S = 80,
|
||||
SCRIPT_SOUND_INJURED_PED_FEMALE_OUCH_L = 81,
|
||||
SCRIPT_SOUND_EVIDENCE_PICKUP = 82,
|
||||
SCRIPT_SOUND_UNLOAD_GOLD = 83,
|
||||
SCRIPT_SOUND_RAVE_1_LOOP_S = 84,
|
||||
SCRIPT_SOUND_RAVE_1_LOOP_L = 85,
|
||||
SCRIPT_SOUND_RAVE_2_LOOP_S = 86,
|
||||
SCRIPT_SOUND_RAVE_2_LOOP_L = 87,
|
||||
SCRIPT_SOUND_RAVE_3_LOOP_S = 88,
|
||||
SCRIPT_SOUND_RAVE_3_LOOP_L = 89,
|
||||
SCRIPT_SOUND_MISTY_SEX_S = 90,
|
||||
SCRIPT_SOUND_MISTY_SEX_L = 91,
|
||||
SCRIPT_SOUND_GATE_START_CLUNK = 92,
|
||||
SCRIPT_SOUND_GATE_STOP_CLUNK = 93,
|
||||
SCRIPT_SOUND_PART_MISSION_COMPLETE = 94,
|
||||
SCRIPT_SOUND_CHUNKY_RUN_SHOUT = 95,
|
||||
SCRIPT_SOUND_SECURITY_GUARD_AWAY_SHOUT = 96,
|
||||
SCRIPT_SOUND_RACE_START_3 = 97,
|
||||
SCRIPT_SOUND_RACE_START_2 = 98,
|
||||
SCRIPT_SOUND_RACE_START_1 = 99,
|
||||
SCRIPT_SOUND_RACE_START_GO = 100,
|
||||
SCRIPT_SOUND_SWAT_PED_SHOUT = 101,
|
||||
SCRIPT_SOUND_PRETEND_FIRE_LOOP = 102,
|
||||
SCRIPT_SOUND_AMMUNATION_CHAT_1 = 103,
|
||||
SCRIPT_SOUND_AMMUNATION_CHAT_2 = 104,
|
||||
SCRIPT_SOUND_AMMUNATION_CHAT_3 = 105,
|
||||
SCRIPT_SOUND_BULLET_HIT_GROUND_1 = 106,
|
||||
SCRIPT_SOUND_BULLET_HIT_GROUND_2 = 107,
|
||||
SCRIPT_SOUND_BULLET_HIT_GROUND_3 = 108,
|
||||
SCRIPT_SOUND_BULLET_HIT_WATER = 109, //no sound
|
||||
SCRIPT_SOUND_110 = 110,
|
||||
SCRIPT_SOUND_111 = 111,
|
||||
SCRIPT_SOUND_PAYPHONE_RINGING = 112,
|
||||
SCRIPT_SOUND_113 = 113,
|
||||
SCRIPT_SOUND_GLASS_BREAK_L = 114,
|
||||
SCRIPT_SOUND_GLASS_BREAK_S = 115,
|
||||
SCRIPT_SOUND_GLASS_CRACK = 116,
|
||||
SCRIPT_SOUND_GLASS_LIGHT_BREAK = 117,
|
||||
SCRIPT_SOUND_BOX_DESTROYED_1 = 118,
|
||||
SCRIPT_SOUND_BOX_DESTROYED_2 = 119,
|
||||
SCRIPT_SOUND_METAL_COLLISION = 120,
|
||||
SCRIPT_SOUND_TIRE_COLLISION = 121,
|
||||
SCRIPT_SOUND_GUNSHELL_DROP = 122,
|
||||
SCRIPT_SOUND_GUNSHELL_DROP_SOFT = 123,
|
||||
SCRIPT_SOUND_1,
|
||||
SCRIPT_SOUND_2,
|
||||
SCRIPT_SOUND_3,
|
||||
SCRIPT_SOUND_PARTY_1_LOOP_S,
|
||||
SCRIPT_SOUND_PARTY_1_LOOP_L,
|
||||
SCRIPT_SOUND_PARTY_2_LOOP_S,
|
||||
SCRIPT_SOUND_PARTY_2_LOOP_L,
|
||||
SCRIPT_SOUND_PARTY_3_LOOP_S,
|
||||
SCRIPT_SOUND_PARTY_3_LOOP_L,
|
||||
SCRIPT_SOUND_PARTY_4_LOOP_S,
|
||||
SCRIPT_SOUND_PARTY_4_LOOP_L,
|
||||
SCRIPT_SOUND_PARTY_5_LOOP_S,
|
||||
SCRIPT_SOUND_PARTY_5_LOOP_L,
|
||||
SCRIPT_SOUND_PARTY_6_LOOP_S,
|
||||
SCRIPT_SOUND_PARTY_6_LOOP_L,
|
||||
SCRIPT_SOUND_PARTY_7_LOOP_S,
|
||||
SCRIPT_SOUND_PARTY_7_LOOP_L,
|
||||
SCRIPT_SOUND_PARTY_8_LOOP_S,
|
||||
SCRIPT_SOUND_PARTY_8_LOOP_L,
|
||||
SCRIPT_SOUND_PARTY_9_LOOP_S,
|
||||
SCRIPT_SOUND_PARTY_9_LOOP_L,
|
||||
SCRIPT_SOUND_PARTY_10_LOOP_S,
|
||||
SCRIPT_SOUND_PARTY_10_LOOP_L,
|
||||
SCRIPT_SOUND_PARTY_11_LOOP_S,
|
||||
SCRIPT_SOUND_PARTY_11_LOOP_L,
|
||||
SCRIPT_SOUND_PARTY_12_LOOP_S,
|
||||
SCRIPT_SOUND_PARTY_12_LOOP_L,
|
||||
SCRIPT_SOUND_PARTY_13_LOOP_S,
|
||||
SCRIPT_SOUND_PARTY_13_LOOP_L,
|
||||
SCRIPT_SOUND_STRIP_CLUB_LOOP_1_S,
|
||||
SCRIPT_SOUND_STRIP_CLUB_LOOP_1_L,
|
||||
SCRIPT_SOUND_STRIP_CLUB_LOOP_2_S,
|
||||
SCRIPT_SOUND_STRIP_CLUB_LOOP_2_L,
|
||||
SCRIPT_SOUND_WORK_SHOP_LOOP_S,
|
||||
SCRIPT_SOUND_WORK_SHOP_LOOP_L,
|
||||
SCRIPT_SOUND_SAWMILL_LOOP_S,
|
||||
SCRIPT_SOUND_SAWMILL_LOOP_L,
|
||||
SCRIPT_SOUND_38,
|
||||
SCRIPT_SOUND_39,
|
||||
SCRIPT_SOUND_LAUNDERETTE_LOOP_S,
|
||||
SCRIPT_SOUND_LAUNDERETTE_LOOP_L,
|
||||
SCRIPT_SOUND_CHINATOWN_RESTAURANT_S,
|
||||
SCRIPT_SOUND_CHINATOWN_RESTAURANT_L,
|
||||
SCRIPT_SOUND_CIPRIANI_RESAURANT_S,
|
||||
SCRIPT_SOUND_CIPRIANI_RESAURANT_L,
|
||||
SCRIPT_SOUND_46_S,
|
||||
SCRIPT_SOUND_47_L,
|
||||
SCRIPT_SOUND_MARCO_BISTRO_S,
|
||||
SCRIPT_SOUND_MARCO_BISTRO_L,
|
||||
SCRIPT_SOUND_AIRPORT_LOOP_S,
|
||||
SCRIPT_SOUND_AIRPORT_LOOP_L,
|
||||
SCRIPT_SOUND_SHOP_LOOP_S,
|
||||
SCRIPT_SOUND_SHOP_LOOP_L,
|
||||
SCRIPT_SOUND_CINEMA_LOOP_S,
|
||||
SCRIPT_SOUND_CINEMA_LOOP_L,
|
||||
SCRIPT_SOUND_DOCKS_LOOP_S,
|
||||
SCRIPT_SOUND_DOCKS_LOOP_L,
|
||||
SCRIPT_SOUND_HOME_LOOP_S,
|
||||
SCRIPT_SOUND_HOME_LOOP_L,
|
||||
SCRIPT_SOUND_FRANKIE_PIANO,
|
||||
SCRIPT_SOUND_PARTY_1_LOOP,
|
||||
SCRIPT_SOUND_PORN_CINEMA_1_S,
|
||||
SCRIPT_SOUND_PORN_CINEMA_1_L,
|
||||
SCRIPT_SOUND_PORN_CINEMA_2_S,
|
||||
SCRIPT_SOUND_PORN_CINEMA_2_L,
|
||||
SCRIPT_SOUND_PORN_CINEMA_3_S,
|
||||
SCRIPT_SOUND_PORN_CINEMA_3_L,
|
||||
SCRIPT_SOUND_BANK_ALARM_LOOP_S,
|
||||
SCRIPT_SOUND_BANK_ALARM_LOOP_L,
|
||||
SCRIPT_SOUND_POLICE_BALL_LOOP_S,
|
||||
SCRIPT_SOUND_POLICE_BALL_LOOP_L,
|
||||
SCRIPT_SOUND_RAVE_LOOP_INDUSTRIAL_S,
|
||||
SCRIPT_SOUND_RAVE_LOOP_INDUSTRIAL_L,
|
||||
SCRIPT_SOUND_74,
|
||||
SCRIPT_SOUND_75,
|
||||
SCRIPT_SOUND_POLICE_CELL_BEATING_LOOP_S,
|
||||
SCRIPT_SOUND_POLICE_CELL_BEATING_LOOP_L,
|
||||
SCRIPT_SOUND_INJURED_PED_MALE_OUCH_S,
|
||||
SCRIPT_SOUND_INJURED_PED_MALE_OUCH_L,
|
||||
SCRIPT_SOUND_INJURED_PED_FEMALE_OUCH_S,
|
||||
SCRIPT_SOUND_INJURED_PED_FEMALE_OUCH_L,
|
||||
SCRIPT_SOUND_EVIDENCE_PICKUP,
|
||||
SCRIPT_SOUND_UNLOAD_GOLD,
|
||||
SCRIPT_SOUND_RAVE_1_LOOP_S,
|
||||
SCRIPT_SOUND_RAVE_1_LOOP_L,
|
||||
SCRIPT_SOUND_RAVE_2_LOOP_S,
|
||||
SCRIPT_SOUND_RAVE_2_LOOP_L,
|
||||
SCRIPT_SOUND_RAVE_3_LOOP_S,
|
||||
SCRIPT_SOUND_RAVE_3_LOOP_L,
|
||||
SCRIPT_SOUND_MISTY_SEX_S,
|
||||
SCRIPT_SOUND_MISTY_SEX_L,
|
||||
SCRIPT_SOUND_GATE_START_CLUNK,
|
||||
SCRIPT_SOUND_GATE_STOP_CLUNK,
|
||||
SCRIPT_SOUND_PART_MISSION_COMPLETE,
|
||||
SCRIPT_SOUND_CHUNKY_RUN_SHOUT,
|
||||
SCRIPT_SOUND_SECURITY_GUARD_AWAY_SHOUT,
|
||||
SCRIPT_SOUND_RACE_START_3,
|
||||
SCRIPT_SOUND_RACE_START_2,
|
||||
SCRIPT_SOUND_RACE_START_1,
|
||||
SCRIPT_SOUND_RACE_START_GO,
|
||||
SCRIPT_SOUND_SWAT_PED_SHOUT,
|
||||
SCRIPT_SOUND_PRETEND_FIRE_LOOP,
|
||||
SCRIPT_SOUND_AMMUNATION_CHAT_1,
|
||||
SCRIPT_SOUND_AMMUNATION_CHAT_2,
|
||||
SCRIPT_SOUND_AMMUNATION_CHAT_3,
|
||||
SCRIPT_SOUND_BULLET_HIT_GROUND_1,
|
||||
SCRIPT_SOUND_BULLET_HIT_GROUND_2,
|
||||
SCRIPT_SOUND_BULLET_HIT_GROUND_3,
|
||||
SCRIPT_SOUND_BULLET_HIT_WATER, // no sound
|
||||
SCRIPT_SOUND_TRAIN_ANNOUNCEMENT_1,
|
||||
SCRIPT_SOUND_TRAIN_ANNOUNCEMENT_2,
|
||||
SCRIPT_SOUND_PAYPHONE_RINGING,
|
||||
SCRIPT_SOUND_113,
|
||||
SCRIPT_SOUND_GLASS_BREAK_L,
|
||||
SCRIPT_SOUND_GLASS_BREAK_S,
|
||||
SCRIPT_SOUND_GLASS_CRACK,
|
||||
SCRIPT_SOUND_GLASS_LIGHT_BREAK,
|
||||
SCRIPT_SOUND_BOX_DESTROYED_1,
|
||||
SCRIPT_SOUND_BOX_DESTROYED_2,
|
||||
SCRIPT_SOUND_METAL_COLLISION,
|
||||
SCRIPT_SOUND_TIRE_COLLISION,
|
||||
SCRIPT_SOUND_GUNSHELL_DROP,
|
||||
SCRIPT_SOUND_GUNSHELL_DROP_SOFT,
|
||||
SCRIPT_SOUND_TOTAL,
|
||||
SCRIPT_SOUND_INVALID,
|
||||
};
|
||||
|
Reference in New Issue
Block a user