mirror of
https://github.com/halpz/re3.git
synced 2024-12-22 17:35:29 +00:00
Use PS2-y global names on SampMan
This commit is contained in:
parent
a923728877
commit
091a65996e
|
@ -58,69 +58,69 @@ enum LOADING_STATUS { LOADING_STATUS_NOT_LOADED = 0, LOADING_STATUS_LOADED, LOAD
|
|||
void
|
||||
cAudioManager::PreInitialiseGameSpecificSetup() const
|
||||
{
|
||||
BankStartOffset[SFX_BANK_0] = SAMPLEBANK_START;
|
||||
gBankStartOffset[SFX_BANK_0] = SAMPLEBANK_START;
|
||||
#ifdef GTA_PS2
|
||||
BankStartOffset[SFX_BANK_PACARD] = SFX_CAR_ACCEL_1;
|
||||
BankStartOffset[SFX_BANK_PATHFINDER] = SFX_CAR_ACCEL_2;
|
||||
BankStartOffset[SFX_BANK_PORSCHE] = SFX_CAR_ACCEL_3;
|
||||
BankStartOffset[SFX_BANK_SPIDER] = SFX_CAR_ACCEL_4;
|
||||
BankStartOffset[SFX_BANK_MERC] = SFX_CAR_ACCEL_5;
|
||||
BankStartOffset[SFX_BANK_TRUCK] = SFX_CAR_ACCEL_6;
|
||||
BankStartOffset[SFX_BANK_HOTROD] = SFX_CAR_ACCEL_7;
|
||||
BankStartOffset[SFX_BANK_COBRA] = SFX_CAR_ACCEL_8;
|
||||
BankStartOffset[SFX_BANK_NONE] = SFX_CAR_ACCEL_9;
|
||||
BankStartOffset[SFX_BANK_FRONT_END_MENU] = SFX_PAGE_CHANGE_AND_BACK_LEFT;
|
||||
BankStartOffset[SFX_BANK_TRAIN] = SFX_TRAIN_STATION_AMBIENCE_LOOP;
|
||||
BankStartOffset[SFX_BANK_BUILDING_CLUB_1] = SFX_CLUB_1;
|
||||
BankStartOffset[SFX_BANK_BUILDING_CLUB_2] = SFX_CLUB_2;
|
||||
BankStartOffset[SFX_BANK_BUILDING_CLUB_3] = SFX_CLUB_3;
|
||||
BankStartOffset[SFX_BANK_BUILDING_CLUB_4] = SFX_CLUB_4;
|
||||
BankStartOffset[SFX_BANK_BUILDING_CLUB_5] = SFX_CLUB_5;
|
||||
BankStartOffset[SFX_BANK_BUILDING_CLUB_6] = SFX_CLUB_6;
|
||||
BankStartOffset[SFX_BANK_BUILDING_CLUB_7] = SFX_CLUB_7;
|
||||
BankStartOffset[SFX_BANK_BUILDING_CLUB_8] = SFX_CLUB_8;
|
||||
BankStartOffset[SFX_BANK_BUILDING_CLUB_9] = SFX_CLUB_9;
|
||||
BankStartOffset[SFX_BANK_BUILDING_CLUB_10] = SFX_CLUB_10;
|
||||
BankStartOffset[SFX_BANK_BUILDING_CLUB_11] = SFX_CLUB_11;
|
||||
BankStartOffset[SFX_BANK_BUILDING_CLUB_12] = SFX_CLUB_12;
|
||||
BankStartOffset[SFX_BANK_BUILDING_CLUB_RAGGA] = SFX_CLUB_RAGGA;
|
||||
BankStartOffset[SFX_BANK_BUILDING_STRIP_CLUB_1] = SFX_STRIP_CLUB_1;
|
||||
BankStartOffset[SFX_BANK_BUILDING_STRIP_CLUB_2] = SFX_STRIP_CLUB_2;
|
||||
BankStartOffset[SFX_BANK_BUILDING_WORKSHOP] = SFX_WORKSHOP_1;
|
||||
BankStartOffset[SFX_BANK_BUILDING_PIANO_BAR] = SFX_PIANO_BAR_1;
|
||||
BankStartOffset[SFX_BANK_BUILDING_SAWMILL] = SFX_SAWMILL_LOOP;
|
||||
BankStartOffset[SFX_BANK_BUILDING_DOG_FOOD_FACTORY] = SFX_DOG_FOOD_FACTORY;
|
||||
BankStartOffset[SFX_BANK_BUILDING_LAUNDERETTE] = SFX_LAUNDERETTE_LOOP;
|
||||
BankStartOffset[SFX_BANK_BUILDING_RESTAURANT_CHINATOWN] = SFX_RESTAURANT_CHINATOWN;
|
||||
BankStartOffset[SFX_BANK_BUILDING_RESTAURANT_ITALY] = SFX_RESTAURANT_ITALY;
|
||||
BankStartOffset[SFX_BANK_BUILDING_RESTAURANT_GENERIC_1] = SFX_RESTAURANT_GENERIC_1;
|
||||
BankStartOffset[SFX_BANK_BUILDING_RESTAURANT_GENERIC_2] = SFX_RESTAURANT_GENERIC_2;
|
||||
BankStartOffset[SFX_BANK_BUILDING_AIRPORT] = SFX_AIRPORT_ANNOUNCEMENT_1;
|
||||
BankStartOffset[SFX_BANK_BUILDING_SHOP] = SFX_SHOP_LOOP;
|
||||
BankStartOffset[SFX_BANK_BUILDING_CINEMA] = SFX_CINEMA_BASS_1;
|
||||
BankStartOffset[SFX_BANK_BUILDING_DOCKS] = SFX_DOCKS_FOGHORN;
|
||||
BankStartOffset[SFX_BANK_BUILDING_HOME] = SFX_HOME_1;
|
||||
BankStartOffset[SFX_BANK_BUILDING_PORN_1] = SFX_PORN_1_LOOP;
|
||||
BankStartOffset[SFX_BANK_BUILDING_PORN_2] = SFX_PORN_2_LOOP;
|
||||
BankStartOffset[SFX_BANK_BUILDING_PORN_3] = SFX_PORN_3_LOOP;
|
||||
BankStartOffset[SFX_BANK_BUILDING_POLICE_BALL] = SFX_POLICE_BALL_1;
|
||||
BankStartOffset[SFX_BANK_BUILDING_BANK_ALARM] = SFX_BANK_ALARM_1;
|
||||
BankStartOffset[SFX_BANK_BUILDING_RAVE_INDUSTRIAL] = SFX_RAVE_INDUSTRIAL;
|
||||
BankStartOffset[SFX_BANK_BUILDING_RAVE_COMMERCIAL] = SFX_RAVE_COMMERCIAL;
|
||||
BankStartOffset[SFX_BANK_BUILDING_RAVE_SUBURBAN] = SFX_RAVE_SUBURBAN;
|
||||
BankStartOffset[SFX_BANK_BUILDING_RAVE_COMMERCIAL_2] = SFX_RAVE_COMMERCIAL_2;
|
||||
BankStartOffset[SFX_BANK_BUILDING_39] = SFX_CLUB_1_1;
|
||||
BankStartOffset[SFX_BANK_BUILDING_40] = SFX_CLUB_1_2;
|
||||
BankStartOffset[SFX_BANK_BUILDING_41] = SFX_CLUB_1_3;
|
||||
BankStartOffset[SFX_BANK_BUILDING_42] = SFX_CLUB_1_4;
|
||||
BankStartOffset[SFX_BANK_BUILDING_43] = SFX_CLUB_1_5;
|
||||
BankStartOffset[SFX_BANK_BUILDING_44] = SFX_CLUB_1_6;
|
||||
BankStartOffset[SFX_BANK_BUILDING_45] = SFX_CLUB_1_7;
|
||||
BankStartOffset[SFX_BANK_BUILDING_46] = SFX_CLUB_1_8;
|
||||
BankStartOffset[SFX_BANK_BUILDING_47] = SFX_CLUB_1_9;
|
||||
BankStartOffset[SFX_BANK_GENERIC_EXTRA] = SFX_EXPLOSION_1;
|
||||
gBankStartOffset[SFX_BANK_PACARD] = SFX_CAR_ACCEL_1;
|
||||
gBankStartOffset[SFX_BANK_PATHFINDER] = SFX_CAR_ACCEL_2;
|
||||
gBankStartOffset[SFX_BANK_PORSCHE] = SFX_CAR_ACCEL_3;
|
||||
gBankStartOffset[SFX_BANK_SPIDER] = SFX_CAR_ACCEL_4;
|
||||
gBankStartOffset[SFX_BANK_MERC] = SFX_CAR_ACCEL_5;
|
||||
gBankStartOffset[SFX_BANK_TRUCK] = SFX_CAR_ACCEL_6;
|
||||
gBankStartOffset[SFX_BANK_HOTROD] = SFX_CAR_ACCEL_7;
|
||||
gBankStartOffset[SFX_BANK_COBRA] = SFX_CAR_ACCEL_8;
|
||||
gBankStartOffset[SFX_BANK_NONE] = SFX_CAR_ACCEL_9;
|
||||
gBankStartOffset[SFX_BANK_FRONT_END_MENU] = SFX_PAGE_CHANGE_AND_BACK_LEFT;
|
||||
gBankStartOffset[SFX_BANK_TRAIN] = SFX_TRAIN_STATION_AMBIENCE_LOOP;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_CLUB_1] = SFX_CLUB_1;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_CLUB_2] = SFX_CLUB_2;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_CLUB_3] = SFX_CLUB_3;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_CLUB_4] = SFX_CLUB_4;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_CLUB_5] = SFX_CLUB_5;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_CLUB_6] = SFX_CLUB_6;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_CLUB_7] = SFX_CLUB_7;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_CLUB_8] = SFX_CLUB_8;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_CLUB_9] = SFX_CLUB_9;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_CLUB_10] = SFX_CLUB_10;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_CLUB_11] = SFX_CLUB_11;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_CLUB_12] = SFX_CLUB_12;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_CLUB_RAGGA] = SFX_CLUB_RAGGA;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_STRIP_CLUB_1] = SFX_STRIP_CLUB_1;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_STRIP_CLUB_2] = SFX_STRIP_CLUB_2;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_WORKSHOP] = SFX_WORKSHOP_1;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_PIANO_BAR] = SFX_PIANO_BAR_1;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_SAWMILL] = SFX_SAWMILL_LOOP;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_DOG_FOOD_FACTORY] = SFX_DOG_FOOD_FACTORY;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_LAUNDERETTE] = SFX_LAUNDERETTE_LOOP;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_RESTAURANT_CHINATOWN] = SFX_RESTAURANT_CHINATOWN;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_RESTAURANT_ITALY] = SFX_RESTAURANT_ITALY;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_RESTAURANT_GENERIC_1] = SFX_RESTAURANT_GENERIC_1;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_RESTAURANT_GENERIC_2] = SFX_RESTAURANT_GENERIC_2;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_AIRPORT] = SFX_AIRPORT_ANNOUNCEMENT_1;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_SHOP] = SFX_SHOP_LOOP;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_CINEMA] = SFX_CINEMA_BASS_1;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_DOCKS] = SFX_DOCKS_FOGHORN;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_HOME] = SFX_HOME_1;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_PORN_1] = SFX_PORN_1_LOOP;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_PORN_2] = SFX_PORN_2_LOOP;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_PORN_3] = SFX_PORN_3_LOOP;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_POLICE_BALL] = SFX_POLICE_BALL_1;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_BANK_ALARM] = SFX_BANK_ALARM_1;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_RAVE_INDUSTRIAL] = SFX_RAVE_INDUSTRIAL;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_RAVE_COMMERCIAL] = SFX_RAVE_COMMERCIAL;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_RAVE_SUBURBAN] = SFX_RAVE_SUBURBAN;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_RAVE_COMMERCIAL_2] = SFX_RAVE_COMMERCIAL_2;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_39] = SFX_CLUB_1_1;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_40] = SFX_CLUB_1_2;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_41] = SFX_CLUB_1_3;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_42] = SFX_CLUB_1_4;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_43] = SFX_CLUB_1_5;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_44] = SFX_CLUB_1_6;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_45] = SFX_CLUB_1_7;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_46] = SFX_CLUB_1_8;
|
||||
gBankStartOffset[SFX_BANK_BUILDING_47] = SFX_CLUB_1_9;
|
||||
gBankStartOffset[SFX_BANK_GENERIC_EXTRA] = SFX_EXPLOSION_1;
|
||||
#endif // GTA_PS2
|
||||
BankStartOffset[SFX_BANK_PED_COMMENTS] = SAMPLEBANK_PED_START;
|
||||
gBankStartOffset[SFX_BANK_PED_COMMENTS] = SAMPLEBANK_PED_START;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -17,7 +17,7 @@ bool bChannelsCreated = false;
|
|||
|
||||
int32 CChannel::channelsThatNeedService = 0;
|
||||
|
||||
uint8 tempStereoBuffer[PED_BLOCKSIZE * 2];
|
||||
uint8 tempStereoBuffer[PED_BUFFERSIZE * 2];
|
||||
|
||||
void
|
||||
CChannel::InitChannels()
|
||||
|
|
|
@ -96,7 +96,7 @@ enum
|
|||
};
|
||||
|
||||
#define MAX_PEDSFX 7
|
||||
#define PED_BLOCKSIZE 79000
|
||||
#define PED_BUFFERSIZE 79000
|
||||
|
||||
#define MAXPROVIDERS 64
|
||||
|
||||
|
@ -130,7 +130,7 @@ class cSampleManager
|
|||
bool8 m_bInitialised;
|
||||
uint8 m_nNumberOfProviders;
|
||||
char *m_aAudioProviders[MAXPROVIDERS];
|
||||
tSample m_aSamples[TOTAL_AUDIO_SAMPLES];
|
||||
tSample m_aSampleDataTable[TOTAL_AUDIO_SAMPLES];
|
||||
|
||||
public:
|
||||
|
||||
|
@ -217,7 +217,7 @@ public:
|
|||
};
|
||||
|
||||
extern cSampleManager SampleManager;
|
||||
extern uint32 BankStartOffset[MAX_SFX_BANKS];
|
||||
extern uint32 gBankStartOffset[MAX_SFX_BANKS];
|
||||
|
||||
#ifdef AUDIO_OAL
|
||||
extern int defaultProvider;
|
||||
|
|
|
@ -20,27 +20,27 @@
|
|||
#pragma comment( lib, "mss32.lib" )
|
||||
|
||||
cSampleManager SampleManager;
|
||||
uint32 BankStartOffset[MAX_SFX_BANKS];
|
||||
uint32 gBankStartOffset[MAX_SFX_BANKS];
|
||||
///////////////////////////////////////////////////////////////
|
||||
|
||||
char SampleBankDescFilename[] = "AUDIO\\SFX.SDT";
|
||||
char SampleBankDataFilename[] = "AUDIO\\SFX.RAW";
|
||||
|
||||
FILE *fpSampleDescHandle;
|
||||
FILE *fpSampleDataHandle;
|
||||
bool8 bSampleBankLoaded [MAX_SFX_BANKS];
|
||||
int32 nSampleBankDiscStartOffset [MAX_SFX_BANKS];
|
||||
int32 nSampleBankSize [MAX_SFX_BANKS];
|
||||
int32 nSampleBankMemoryStartAddress[MAX_SFX_BANKS];
|
||||
FILE *gFileHandleSampleDesc;
|
||||
FILE *gFileHandleSampleData;
|
||||
bool8 gBankLoaded [MAX_SFX_BANKS];
|
||||
int32 gSampleBankDiscStartOffset [MAX_SFX_BANKS];
|
||||
int32 gSampleBankSize [MAX_SFX_BANKS];
|
||||
int32 gSampleBankMemoryStartAddress[MAX_SFX_BANKS];
|
||||
int32 _nSampleDataEndOffset;
|
||||
|
||||
int32 nPedSlotSfx [MAX_PEDSFX];
|
||||
int32 nPedSlotSfxAddr[MAX_PEDSFX];
|
||||
uint8 nCurrentPedSlot;
|
||||
int32 gPedSfx [MAX_PEDSFX];
|
||||
int32 gPedSfxAddr[MAX_PEDSFX];
|
||||
uint8 gCurPedIndex;
|
||||
|
||||
uint8 nChannelVolume[MAXCHANNELS+MAX2DCHANNELS];
|
||||
uint8 gChannelVolume[MAXCHANNELS+MAX2DCHANNELS];
|
||||
|
||||
uint32 nStreamLength[TOTAL_STREAMED_SOUNDS];
|
||||
uint32 gStreamLength[TOTAL_STREAMED_SOUNDS];
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
struct tMP3Entry
|
||||
|
@ -851,11 +851,11 @@ cSampleManager::Initialise(void)
|
|||
{
|
||||
for ( int32 i = 0; i < TOTAL_AUDIO_SAMPLES; i++ )
|
||||
{
|
||||
m_aSamples[i].nOffset = 0;
|
||||
m_aSamples[i].nSize = 0;
|
||||
m_aSamples[i].nFrequency = 22050;
|
||||
m_aSamples[i].nLoopStart = 0;
|
||||
m_aSamples[i].nLoopEnd = -1;
|
||||
m_aSampleDataTable[i].nOffset = 0;
|
||||
m_aSampleDataTable[i].nSize = 0;
|
||||
m_aSampleDataTable[i].nFrequency = 22050;
|
||||
m_aSampleDataTable[i].nLoopStart = 0;
|
||||
m_aSampleDataTable[i].nLoopEnd = -1;
|
||||
}
|
||||
|
||||
m_nEffectsVolume = MAX_VOLUME;
|
||||
|
@ -890,17 +890,17 @@ cSampleManager::Initialise(void)
|
|||
// banks
|
||||
TRACE("banks");
|
||||
{
|
||||
fpSampleDescHandle = NULL;
|
||||
fpSampleDataHandle = NULL;
|
||||
gFileHandleSampleDesc = NULL;
|
||||
gFileHandleSampleData = NULL;
|
||||
|
||||
_nSampleDataEndOffset = 0;
|
||||
|
||||
for ( int32 i = 0; i < MAX_SFX_BANKS; i++ )
|
||||
{
|
||||
bSampleBankLoaded[i] = FALSE;
|
||||
nSampleBankDiscStartOffset[i] = 0;
|
||||
nSampleBankSize[i] = 0;
|
||||
nSampleBankMemoryStartAddress[i] = 0;
|
||||
gBankLoaded[i] = FALSE;
|
||||
gSampleBankDiscStartOffset[i] = 0;
|
||||
gSampleBankSize[i] = 0;
|
||||
gSampleBankMemoryStartAddress[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -909,18 +909,18 @@ cSampleManager::Initialise(void)
|
|||
{
|
||||
for ( int32 i = 0; i < MAX_PEDSFX; i++ )
|
||||
{
|
||||
nPedSlotSfx[i] = NO_SAMPLE;
|
||||
nPedSlotSfxAddr[i] = 0;
|
||||
gPedSfx[i] = NO_SAMPLE;
|
||||
gPedSfxAddr[i] = 0;
|
||||
}
|
||||
|
||||
nCurrentPedSlot = 0;
|
||||
gCurPedIndex = 0;
|
||||
}
|
||||
|
||||
// channel volume
|
||||
TRACE("vol");
|
||||
{
|
||||
for ( int32 i = 0; i < MAXCHANNELS+MAX2DCHANNELS; i++ )
|
||||
nChannelVolume[i] = 0;
|
||||
gChannelVolume[i] = 0;
|
||||
}
|
||||
|
||||
TRACE("mss");
|
||||
|
@ -947,14 +947,14 @@ cSampleManager::Initialise(void)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
nSampleBankMemoryStartAddress[SFX_BANK_0] = (int32)AIL_mem_alloc_lock(nSampleBankSize[SFX_BANK_0]);
|
||||
if ( !nSampleBankMemoryStartAddress[SFX_BANK_0] )
|
||||
gSampleBankMemoryStartAddress[SFX_BANK_0] = (int32)AIL_mem_alloc_lock(gSampleBankSize[SFX_BANK_0]);
|
||||
if ( !gSampleBankMemoryStartAddress[SFX_BANK_0] )
|
||||
{
|
||||
Terminate();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
nSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] = (int32)AIL_mem_alloc_lock(PED_BLOCKSIZE*MAX_PEDSFX);
|
||||
gSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] = (int32)AIL_mem_alloc_lock(PED_BUFFERSIZE*MAX_PEDSFX);
|
||||
|
||||
}
|
||||
|
||||
|
@ -962,7 +962,7 @@ cSampleManager::Initialise(void)
|
|||
TRACE("cache");
|
||||
FILE *cacheFile = fopen("audio\\sound.cache", "rb");
|
||||
if (cacheFile) {
|
||||
fread(nStreamLength, sizeof(uint32), TOTAL_STREAMED_SOUNDS, cacheFile);
|
||||
fread(gStreamLength, sizeof(uint32), TOTAL_STREAMED_SOUNDS, cacheFile);
|
||||
fclose(cacheFile);
|
||||
m_bInitialised = TRUE;
|
||||
}else {
|
||||
|
@ -1016,7 +1016,7 @@ cSampleManager::Initialise(void)
|
|||
AIL_close_stream(mp3Stream[0]);
|
||||
mp3Stream[0] = NULL;
|
||||
|
||||
nStreamLength[i] = tatalms;
|
||||
gStreamLength[i] = tatalms;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1115,7 +1115,7 @@ cSampleManager::Initialise(void)
|
|||
strcpy(m_szCDRomRootPath, rootpath);
|
||||
|
||||
for ( int32 i = 0; i < TOTAL_STREAMED_SOUNDS; i++ )
|
||||
nStreamLength[i] = streamLength[i];
|
||||
gStreamLength[i] = streamLength[i];
|
||||
|
||||
_bUseHDDAudio = TRUE;
|
||||
}
|
||||
|
@ -1125,7 +1125,7 @@ cSampleManager::Initialise(void)
|
|||
#endif
|
||||
#ifdef AUDIO_CACHE
|
||||
cacheFile = fopen("audio\\sound.cache", "wb");
|
||||
fwrite(nStreamLength, sizeof(uint32), TOTAL_STREAMED_SOUNDS, cacheFile);
|
||||
fwrite(gStreamLength, sizeof(uint32), TOTAL_STREAMED_SOUNDS, cacheFile);
|
||||
fclose(cacheFile);
|
||||
}
|
||||
#endif
|
||||
|
@ -1188,12 +1188,12 @@ cSampleManager::Initialise(void)
|
|||
|
||||
if ( nNumMP3s != 0 )
|
||||
{
|
||||
nStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER] = 0;
|
||||
gStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER] = 0;
|
||||
|
||||
for ( tMP3Entry *e = _pMP3List; e != NULL; e = e->pNext )
|
||||
{
|
||||
e->nTrackStreamPos = nStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER];
|
||||
nStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER] += e->nTrackLength;
|
||||
e->nTrackStreamPos = gStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER];
|
||||
gStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER] += e->nTrackLength;
|
||||
}
|
||||
|
||||
time_t t = time(NULL);
|
||||
|
@ -1270,16 +1270,16 @@ cSampleManager::Terminate(void)
|
|||
|
||||
_DeleteMP3Entries();
|
||||
|
||||
if ( nSampleBankMemoryStartAddress[SFX_BANK_0] != 0 )
|
||||
if ( gSampleBankMemoryStartAddress[SFX_BANK_0] != 0 )
|
||||
{
|
||||
AIL_mem_free_lock((void *)nSampleBankMemoryStartAddress[SFX_BANK_0]);
|
||||
nSampleBankMemoryStartAddress[SFX_BANK_0] = 0;
|
||||
AIL_mem_free_lock((void *)gSampleBankMemoryStartAddress[SFX_BANK_0]);
|
||||
gSampleBankMemoryStartAddress[SFX_BANK_0] = 0;
|
||||
}
|
||||
|
||||
if ( nSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] != 0 )
|
||||
if ( gSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] != 0 )
|
||||
{
|
||||
AIL_mem_free_lock((void *)nSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS]);
|
||||
nSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] = 0;
|
||||
AIL_mem_free_lock((void *)gSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS]);
|
||||
gSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] = 0;
|
||||
}
|
||||
|
||||
if ( DIG )
|
||||
|
@ -1363,10 +1363,10 @@ cSampleManager::UpdateEffectsVolume(void) //[Y], cSampleManager::UpdateSoundBuff
|
|||
{
|
||||
if ( opened_samples[i] && GetChannelUsedFlag(i) )
|
||||
{
|
||||
if ( nChannelVolume[i] )
|
||||
if ( gChannelVolume[i] )
|
||||
{
|
||||
AIL_set_3D_sample_volume(opened_samples[i],
|
||||
m_nEffectsFadeVolume * nChannelVolume[i] * m_nEffectsVolume >> 14);
|
||||
m_nEffectsFadeVolume * gChannelVolume[i] * m_nEffectsVolume >> 14);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1376,10 +1376,10 @@ cSampleManager::UpdateEffectsVolume(void) //[Y], cSampleManager::UpdateSoundBuff
|
|||
{
|
||||
if ( GetChannelUsedFlag(i - MAXCHANNELS) )
|
||||
{
|
||||
if ( nChannelVolume[i - MAXCHANNELS] )
|
||||
if ( gChannelVolume[i - MAXCHANNELS] )
|
||||
{
|
||||
AIL_set_sample_volume(opened_2dsamples[i - MAXCHANNELS],
|
||||
m_nEffectsFadeVolume * nChannelVolume[i - MAXCHANNELS] * m_nEffectsVolume >> 14);
|
||||
m_nEffectsFadeVolume * gChannelVolume[i - MAXCHANNELS] * m_nEffectsVolume >> 14);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1433,13 +1433,13 @@ cSampleManager::LoadSampleBank(uint8 nBank)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if ( fseek(fpSampleDataHandle, nSampleBankDiscStartOffset[nBank], SEEK_SET) != 0 )
|
||||
if ( fseek(gFileHandleSampleData, gSampleBankDiscStartOffset[nBank], SEEK_SET) != 0 )
|
||||
return FALSE;
|
||||
|
||||
if ( fread((void *)nSampleBankMemoryStartAddress[nBank], 1, nSampleBankSize[nBank],fpSampleDataHandle) != nSampleBankSize[nBank] )
|
||||
if ( fread((void *)gSampleBankMemoryStartAddress[nBank], 1, gSampleBankSize[nBank],gFileHandleSampleData) != gSampleBankSize[nBank] )
|
||||
return FALSE;
|
||||
|
||||
bSampleBankLoaded[nBank] = TRUE;
|
||||
gBankLoaded[nBank] = TRUE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -1447,13 +1447,13 @@ cSampleManager::LoadSampleBank(uint8 nBank)
|
|||
void
|
||||
cSampleManager::UnloadSampleBank(uint8 nBank)
|
||||
{
|
||||
bSampleBankLoaded[nBank] = FALSE;
|
||||
gBankLoaded[nBank] = FALSE;
|
||||
}
|
||||
|
||||
bool8
|
||||
cSampleManager::IsSampleBankLoaded(uint8 nBank)
|
||||
{
|
||||
return bSampleBankLoaded[nBank];
|
||||
return gBankLoaded[nBank];
|
||||
}
|
||||
|
||||
bool8
|
||||
|
@ -1463,12 +1463,12 @@ cSampleManager::IsPedCommentLoaded(uint32 nComment)
|
|||
|
||||
for ( int32 i = 0; i < _TODOCONST(3); i++ )
|
||||
{
|
||||
slot = nCurrentPedSlot - i - 1;
|
||||
slot = gCurPedIndex - i - 1;
|
||||
#ifdef FIX_BUGS
|
||||
if (slot < 0)
|
||||
slot += ARRAY_SIZE(nPedSlotSfx);
|
||||
slot += ARRAY_SIZE(gPedSfx);
|
||||
#endif
|
||||
if ( nComment == nPedSlotSfx[slot] )
|
||||
if ( nComment == gPedSfx[slot] )
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -1482,12 +1482,12 @@ cSampleManager::_GetPedCommentSlot(uint32 nComment)
|
|||
|
||||
for ( int32 i = 0; i < _TODOCONST(3); i++ )
|
||||
{
|
||||
slot = nCurrentPedSlot - i - 1;
|
||||
slot = gCurPedIndex - i - 1;
|
||||
#ifdef FIX_BUGS
|
||||
if (slot < 0)
|
||||
slot += ARRAY_SIZE(nPedSlotSfx);
|
||||
slot += ARRAY_SIZE(gPedSfx);
|
||||
#endif
|
||||
if ( nComment == nPedSlotSfx[slot] )
|
||||
if ( nComment == gPedSfx[slot] )
|
||||
return slot;
|
||||
}
|
||||
|
||||
|
@ -1522,17 +1522,17 @@ cSampleManager::LoadPedComment(uint32 nComment)
|
|||
}
|
||||
}
|
||||
|
||||
if ( fseek(fpSampleDataHandle, m_aSamples[nComment].nOffset, SEEK_SET) != 0 )
|
||||
if ( fseek(gFileHandleSampleData, m_aSampleDataTable[nComment].nOffset, SEEK_SET) != 0 )
|
||||
return FALSE;
|
||||
|
||||
if ( fread((void *)(nSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] + PED_BLOCKSIZE*nCurrentPedSlot), 1, m_aSamples[nComment].nSize, fpSampleDataHandle) != m_aSamples[nComment].nSize )
|
||||
if ( fread((void *)(gSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] + PED_BUFFERSIZE*gCurPedIndex), 1, m_aSampleDataTable[nComment].nSize, gFileHandleSampleData) != m_aSampleDataTable[nComment].nSize )
|
||||
return FALSE;
|
||||
|
||||
nPedSlotSfxAddr[nCurrentPedSlot] = nSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] + PED_BLOCKSIZE*nCurrentPedSlot;
|
||||
nPedSlotSfx [nCurrentPedSlot] = nComment;
|
||||
gPedSfxAddr[gCurPedIndex] = gSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] + PED_BUFFERSIZE*gCurPedIndex;
|
||||
gPedSfx [gCurPedIndex] = nComment;
|
||||
|
||||
if ( ++nCurrentPedSlot >= MAX_PEDSFX )
|
||||
nCurrentPedSlot = 0;
|
||||
if ( ++gCurPedIndex >= MAX_PEDSFX )
|
||||
gCurPedIndex = 0;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -1540,10 +1540,10 @@ cSampleManager::LoadPedComment(uint32 nComment)
|
|||
int32
|
||||
cSampleManager::GetBankContainingSound(uint32 offset)
|
||||
{
|
||||
if ( offset >= BankStartOffset[SFX_BANK_PED_COMMENTS] )
|
||||
if ( offset >= gBankStartOffset[SFX_BANK_PED_COMMENTS] )
|
||||
return SFX_BANK_PED_COMMENTS;
|
||||
|
||||
if ( offset >= BankStartOffset[SFX_BANK_0] )
|
||||
if ( offset >= gBankStartOffset[SFX_BANK_0] )
|
||||
return SFX_BANK_0;
|
||||
|
||||
return INVALID_SFX_BANK;
|
||||
|
@ -1552,25 +1552,25 @@ cSampleManager::GetBankContainingSound(uint32 offset)
|
|||
int32
|
||||
cSampleManager::GetSampleBaseFrequency(uint32 nSample)
|
||||
{
|
||||
return m_aSamples[nSample].nFrequency;
|
||||
return m_aSampleDataTable[nSample].nFrequency;
|
||||
}
|
||||
|
||||
int32
|
||||
cSampleManager::GetSampleLoopStartOffset(uint32 nSample)
|
||||
{
|
||||
return m_aSamples[nSample].nLoopStart;
|
||||
return m_aSampleDataTable[nSample].nLoopStart;
|
||||
}
|
||||
|
||||
int32
|
||||
cSampleManager::GetSampleLoopEndOffset(uint32 nSample)
|
||||
{
|
||||
return m_aSamples[nSample].nLoopEnd;
|
||||
return m_aSampleDataTable[nSample].nLoopEnd;
|
||||
}
|
||||
|
||||
uint32
|
||||
cSampleManager::GetSampleLength(uint32 nSample)
|
||||
{
|
||||
return m_aSamples[nSample].nSize >> 1;
|
||||
return m_aSampleDataTable[nSample].nSize >> 1;
|
||||
}
|
||||
|
||||
bool8
|
||||
|
@ -1700,7 +1700,7 @@ cSampleManager::InitialiseChannel(uint32 nChannel, uint32 nSfx, uint8 nBank)
|
|||
if ( !IsSampleBankLoaded(nBank) )
|
||||
return FALSE;
|
||||
|
||||
addr = nSampleBankMemoryStartAddress[nBank] + m_aSamples[nSfx].nOffset - m_aSamples[BankStartOffset[nBank]].nOffset;
|
||||
addr = gSampleBankMemoryStartAddress[nBank] + m_aSampleDataTable[nSfx].nOffset - m_aSampleDataTable[gBankStartOffset[nBank]].nOffset;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1709,14 +1709,14 @@ cSampleManager::InitialiseChannel(uint32 nChannel, uint32 nSfx, uint8 nBank)
|
|||
|
||||
int32 slot = _GetPedCommentSlot(nSfx);
|
||||
|
||||
addr = nPedSlotSfxAddr[slot];
|
||||
addr = gPedSfxAddr[slot];
|
||||
}
|
||||
|
||||
if ( b2d )
|
||||
{
|
||||
if ( opened_2dsamples[nChannel - MAXCHANNELS] )
|
||||
{
|
||||
AIL_set_sample_address(opened_2dsamples[nChannel - MAXCHANNELS], (void *)addr, m_aSamples[nSfx].nSize);
|
||||
AIL_set_sample_address(opened_2dsamples[nChannel - MAXCHANNELS], (void *)addr, m_aSampleDataTable[nSfx].nSize);
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
|
@ -1729,8 +1729,8 @@ cSampleManager::InitialiseChannel(uint32 nChannel, uint32 nSfx, uint8 nBank)
|
|||
info.format = WAVE_FORMAT_PCM;
|
||||
info.data_ptr = (void *)addr;
|
||||
info.channels = 1;
|
||||
info.data_len = m_aSamples[nSfx].nSize;
|
||||
info.rate = m_aSamples[nSfx].nFrequency;
|
||||
info.data_len = m_aSampleDataTable[nSfx].nSize;
|
||||
info.rate = m_aSampleDataTable[nSfx].nFrequency;
|
||||
info.bits = 16;
|
||||
|
||||
if ( AIL_set_3D_sample_info(opened_samples[nChannel], &info) == 0 )
|
||||
|
@ -1749,18 +1749,18 @@ cSampleManager::SetChannelEmittingVolume(uint32 nChannel, uint32 nVolume)
|
|||
uint32 vol = nVolume;
|
||||
if ( vol > MAX_VOLUME ) vol = MAX_VOLUME;
|
||||
|
||||
nChannelVolume[nChannel] = vol;
|
||||
gChannelVolume[nChannel] = vol;
|
||||
|
||||
// increase the volume for JB.MP3 and S4_BDBD.MP3
|
||||
if ( MusicManager.GetMusicMode() == MUSICMODE_CUTSCENE
|
||||
&& MusicManager.GetNextTrack() != STREAMED_SOUND_NEWS_INTRO
|
||||
&& MusicManager.GetNextTrack() != STREAMED_SOUND_CUTSCENE_SAL4_BDBD )
|
||||
{
|
||||
nChannelVolume[nChannel] >>= 2;
|
||||
gChannelVolume[nChannel] >>= 2;
|
||||
}
|
||||
|
||||
if ( opened_samples[nChannel] )
|
||||
AIL_set_3D_sample_volume(opened_samples[nChannel], m_nEffectsFadeVolume*nChannelVolume[nChannel]*m_nEffectsVolume >> 14);
|
||||
AIL_set_3D_sample_volume(opened_samples[nChannel], m_nEffectsFadeVolume*gChannelVolume[nChannel]*m_nEffectsVolume >> 14);
|
||||
|
||||
}
|
||||
|
||||
|
@ -1788,14 +1788,14 @@ cSampleManager::SetChannelVolume(uint32 nChannel, uint32 nVolume)
|
|||
{
|
||||
case CHANNEL_POLICE_RADIO:
|
||||
{
|
||||
nChannelVolume[nChannel] = vol;
|
||||
gChannelVolume[nChannel] = vol;
|
||||
|
||||
// increase the volume for JB.MP3 and S4_BDBD.MP3
|
||||
if ( MusicManager.GetMusicMode() == MUSICMODE_CUTSCENE
|
||||
&& MusicManager.GetNextTrack() != STREAMED_SOUND_NEWS_INTRO
|
||||
&& MusicManager.GetNextTrack() != STREAMED_SOUND_CUTSCENE_SAL4_BDBD )
|
||||
{
|
||||
nChannelVolume[nChannel] >>= 2;
|
||||
gChannelVolume[nChannel] >>= 2;
|
||||
}
|
||||
|
||||
if ( opened_2dsamples[nChannel - MAXCHANNELS] )
|
||||
|
@ -2065,7 +2065,7 @@ cSampleManager::StartStreamedFile(uint8 nFile, uint32 nPos, uint8 nStream)
|
|||
// Just switched to MP3 player
|
||||
if ( !_bIsMp3Active && i == 0 )
|
||||
{
|
||||
if ( nPos > nStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER] )
|
||||
if ( nPos > gStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER] )
|
||||
position = 0;
|
||||
tMP3Entry *e = _pMP3List;
|
||||
|
||||
|
@ -2253,7 +2253,7 @@ int32
|
|||
cSampleManager::GetStreamedFileLength(uint8 nStream)
|
||||
{
|
||||
if ( m_bInitialised )
|
||||
return nStreamLength[nStream];
|
||||
return gStreamLength[nStream];
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -2280,42 +2280,42 @@ cSampleManager::InitialiseSampleBanks(void)
|
|||
{
|
||||
int32 nBank = SFX_BANK_0;
|
||||
|
||||
fpSampleDescHandle = fopen(SampleBankDescFilename, "rb");
|
||||
if ( fpSampleDescHandle == NULL )
|
||||
gFileHandleSampleDesc = fopen(SampleBankDescFilename, "rb");
|
||||
if ( gFileHandleSampleDesc == NULL )
|
||||
return FALSE;
|
||||
|
||||
fpSampleDataHandle = fopen(SampleBankDataFilename, "rb");
|
||||
if ( fpSampleDataHandle == NULL )
|
||||
gFileHandleSampleData = fopen(SampleBankDataFilename, "rb");
|
||||
if ( gFileHandleSampleData == NULL )
|
||||
{
|
||||
fclose(fpSampleDescHandle);
|
||||
fpSampleDescHandle = NULL;
|
||||
fclose(gFileHandleSampleDesc);
|
||||
gFileHandleSampleDesc = NULL;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
fseek(fpSampleDataHandle, 0, SEEK_END);
|
||||
_nSampleDataEndOffset = ftell(fpSampleDataHandle);
|
||||
rewind(fpSampleDataHandle);
|
||||
fseek(gFileHandleSampleData, 0, SEEK_END);
|
||||
_nSampleDataEndOffset = ftell(gFileHandleSampleData);
|
||||
rewind(gFileHandleSampleData);
|
||||
|
||||
fread(m_aSamples, sizeof(tSample), TOTAL_AUDIO_SAMPLES, fpSampleDescHandle);
|
||||
fread(m_aSampleDataTable, sizeof(tSample), TOTAL_AUDIO_SAMPLES, gFileHandleSampleDesc);
|
||||
|
||||
fclose(fpSampleDescHandle);
|
||||
fpSampleDescHandle = NULL;
|
||||
fclose(gFileHandleSampleDesc);
|
||||
gFileHandleSampleDesc = NULL;
|
||||
|
||||
for ( int32 i = 0; i < TOTAL_AUDIO_SAMPLES; i++ )
|
||||
{
|
||||
#ifdef FIX_BUGS
|
||||
if (nBank >= MAX_SFX_BANKS) break;
|
||||
#endif
|
||||
if ( BankStartOffset[nBank] == BankStartOffset[SFX_BANK_0] + i )
|
||||
if ( gBankStartOffset[nBank] == gBankStartOffset[SFX_BANK_0] + i )
|
||||
{
|
||||
nSampleBankDiscStartOffset[nBank] = m_aSamples[i].nOffset;
|
||||
gSampleBankDiscStartOffset[nBank] = m_aSampleDataTable[i].nOffset;
|
||||
nBank++;
|
||||
}
|
||||
}
|
||||
|
||||
nSampleBankSize[SFX_BANK_0] = nSampleBankDiscStartOffset[SFX_BANK_PED_COMMENTS] - nSampleBankDiscStartOffset[SFX_BANK_0];
|
||||
nSampleBankSize[SFX_BANK_PED_COMMENTS] = _nSampleDataEndOffset - nSampleBankDiscStartOffset[SFX_BANK_PED_COMMENTS];
|
||||
gSampleBankSize[SFX_BANK_0] = gSampleBankDiscStartOffset[SFX_BANK_PED_COMMENTS] - gSampleBankDiscStartOffset[SFX_BANK_0];
|
||||
gSampleBankSize[SFX_BANK_PED_COMMENTS] = _nSampleDataEndOffset - gSampleBankDiscStartOffset[SFX_BANK_PED_COMMENTS];
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
cSampleManager SampleManager;
|
||||
bool8 _bSampmanInitialised = FALSE;
|
||||
|
||||
uint32 BankStartOffset[MAX_SFX_BANKS];
|
||||
uint32 gBankStartOffset[MAX_SFX_BANKS];
|
||||
uint32 nNumMP3s;
|
||||
|
||||
cSampleManager::cSampleManager(void)
|
||||
|
|
|
@ -47,9 +47,9 @@
|
|||
//TODO: fix eax3 reverb
|
||||
|
||||
cSampleManager SampleManager;
|
||||
bool8 _bSampmanInitialised = FALSE;
|
||||
bool8 gInitialised = FALSE;
|
||||
|
||||
uint32 BankStartOffset[MAX_SFX_BANKS];
|
||||
uint32 gBankStartOffset[MAX_SFX_BANKS];
|
||||
|
||||
int prevprovider=-1;
|
||||
int curprovider=-1;
|
||||
|
@ -79,26 +79,26 @@ int defaultProvider;
|
|||
char SampleBankDescFilename[] = "audio/sfx.SDT";
|
||||
char SampleBankDataFilename[] = "audio/sfx.RAW";
|
||||
|
||||
FILE *fpSampleDescHandle;
|
||||
FILE *gFileHandleSampleDesc;
|
||||
#ifdef OPUS_SFX
|
||||
OggOpusFile *fpSampleDataHandle;
|
||||
OggOpusFile *gFileHandleSampleData;
|
||||
#else
|
||||
FILE *fpSampleDataHandle;
|
||||
FILE *gFileHandleSampleData;
|
||||
#endif
|
||||
bool8 bSampleBankLoaded [MAX_SFX_BANKS];
|
||||
int32 nSampleBankDiscStartOffset [MAX_SFX_BANKS];
|
||||
int32 nSampleBankSize [MAX_SFX_BANKS];
|
||||
uintptr nSampleBankMemoryStartAddress[MAX_SFX_BANKS];
|
||||
bool8 gBankLoaded [MAX_SFX_BANKS];
|
||||
int32 gSampleBankDiscStartOffset [MAX_SFX_BANKS];
|
||||
int32 gSampleBankSize [MAX_SFX_BANKS];
|
||||
uintptr gSampleBankMemoryStartAddress[MAX_SFX_BANKS];
|
||||
int32 _nSampleDataEndOffset;
|
||||
|
||||
int32 nPedSlotSfx [MAX_PEDSFX];
|
||||
int32 nPedSlotSfxAddr[MAX_PEDSFX];
|
||||
uint8 nCurrentPedSlot;
|
||||
int32 gPedSfx [MAX_PEDSFX];
|
||||
int32 gPedSfxAddr[MAX_PEDSFX];
|
||||
uint8 gCurPedIndex;
|
||||
|
||||
CChannel aChannel[NUM_CHANNELS];
|
||||
uint8 nChannelVolume[NUM_CHANNELS];
|
||||
uint8 gChannelVolume[NUM_CHANNELS];
|
||||
|
||||
uint32 nStreamLength[TOTAL_STREAMED_SOUNDS];
|
||||
uint32 gStreamLength[TOTAL_STREAMED_SOUNDS];
|
||||
ALuint ALStreamSources[MAX_STREAMS][2];
|
||||
ALuint ALStreamBuffers[MAX_STREAMS][NUM_STREAMBUFFERS];
|
||||
|
||||
|
@ -779,7 +779,7 @@ void cSampleManager::ReacquireDigitalHandle(void)
|
|||
bool8
|
||||
cSampleManager::Initialise(void)
|
||||
{
|
||||
if ( _bSampmanInitialised )
|
||||
if ( gInitialised )
|
||||
return TRUE;
|
||||
|
||||
EFXInit();
|
||||
|
@ -788,11 +788,11 @@ cSampleManager::Initialise(void)
|
|||
{
|
||||
for ( int32 i = 0; i < TOTAL_AUDIO_SAMPLES; i++ )
|
||||
{
|
||||
m_aSamples[i].nOffset = 0;
|
||||
m_aSamples[i].nSize = 0;
|
||||
m_aSamples[i].nFrequency = 22050;
|
||||
m_aSamples[i].nLoopStart = 0;
|
||||
m_aSamples[i].nLoopEnd = -1;
|
||||
m_aSampleDataTable[i].nOffset = 0;
|
||||
m_aSampleDataTable[i].nSize = 0;
|
||||
m_aSampleDataTable[i].nFrequency = 22050;
|
||||
m_aSampleDataTable[i].nLoopStart = 0;
|
||||
m_aSampleDataTable[i].nLoopEnd = -1;
|
||||
}
|
||||
|
||||
m_nEffectsVolume = MAX_VOLUME;
|
||||
|
@ -820,31 +820,31 @@ cSampleManager::Initialise(void)
|
|||
}
|
||||
|
||||
{
|
||||
fpSampleDescHandle = NULL;
|
||||
fpSampleDataHandle = NULL;
|
||||
gFileHandleSampleDesc = NULL;
|
||||
gFileHandleSampleData = NULL;
|
||||
|
||||
for ( int32 i = 0; i < MAX_SFX_BANKS; i++ )
|
||||
{
|
||||
bSampleBankLoaded[i] = FALSE;
|
||||
nSampleBankDiscStartOffset[i] = 0;
|
||||
nSampleBankSize[i] = 0;
|
||||
nSampleBankMemoryStartAddress[i] = 0;
|
||||
gBankLoaded[i] = FALSE;
|
||||
gSampleBankDiscStartOffset[i] = 0;
|
||||
gSampleBankSize[i] = 0;
|
||||
gSampleBankMemoryStartAddress[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
for ( int32 i = 0; i < MAX_PEDSFX; i++ )
|
||||
{
|
||||
nPedSlotSfx[i] = NO_SAMPLE;
|
||||
nPedSlotSfxAddr[i] = 0;
|
||||
gPedSfx[i] = NO_SAMPLE;
|
||||
gPedSfxAddr[i] = 0;
|
||||
}
|
||||
|
||||
nCurrentPedSlot = 0;
|
||||
gCurPedIndex = 0;
|
||||
}
|
||||
|
||||
{
|
||||
for ( int32 i = 0; i < NUM_CHANNELS; i++ )
|
||||
nChannelVolume[i] = 0;
|
||||
gChannelVolume[i] = 0;
|
||||
}
|
||||
|
||||
add_providers();
|
||||
|
@ -922,14 +922,14 @@ cSampleManager::Initialise(void)
|
|||
|
||||
{
|
||||
for ( int32 i = 0; i < TOTAL_STREAMED_SOUNDS; i++ )
|
||||
nStreamLength[i] = 0;
|
||||
gStreamLength[i] = 0;
|
||||
}
|
||||
|
||||
#ifdef AUDIO_CACHE
|
||||
FILE *cacheFile = fcaseopen("audio\\sound.cache", "rb");
|
||||
if (cacheFile) {
|
||||
debug("Loadind audio cache (If game crashes around here, then your cache is corrupted, remove audio/sound.cache)\n");
|
||||
fread(nStreamLength, sizeof(uint32), TOTAL_STREAMED_SOUNDS, cacheFile);
|
||||
fread(gStreamLength, sizeof(uint32), TOTAL_STREAMED_SOUNDS, cacheFile);
|
||||
fclose(cacheFile);
|
||||
} else
|
||||
{
|
||||
|
@ -944,7 +944,7 @@ cSampleManager::Initialise(void)
|
|||
delete aStream[0];
|
||||
aStream[0] = NULL;
|
||||
|
||||
nStreamLength[i] = tatalms;
|
||||
gStreamLength[i] = tatalms;
|
||||
} else
|
||||
USERERROR("Can't open '%s'\n", StreamedNameTable[i]);
|
||||
}
|
||||
|
@ -952,7 +952,7 @@ cSampleManager::Initialise(void)
|
|||
cacheFile = fcaseopen("audio\\sound.cache", "wb");
|
||||
if(cacheFile) {
|
||||
debug("Saving audio cache\n");
|
||||
fwrite(nStreamLength, sizeof(uint32), TOTAL_STREAMED_SOUNDS, cacheFile);
|
||||
fwrite(gStreamLength, sizeof(uint32), TOTAL_STREAMED_SOUNDS, cacheFile);
|
||||
fclose(cacheFile);
|
||||
} else {
|
||||
debug("Cannot save audio cache\n");
|
||||
|
@ -967,17 +967,17 @@ cSampleManager::Initialise(void)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
nSampleBankMemoryStartAddress[SFX_BANK_0] = (uintptr)malloc(nSampleBankSize[SFX_BANK_0]);
|
||||
ASSERT(nSampleBankMemoryStartAddress[SFX_BANK_0] != 0);
|
||||
gSampleBankMemoryStartAddress[SFX_BANK_0] = (uintptr)malloc(gSampleBankSize[SFX_BANK_0]);
|
||||
ASSERT(gSampleBankMemoryStartAddress[SFX_BANK_0] != 0);
|
||||
|
||||
if ( nSampleBankMemoryStartAddress[SFX_BANK_0] == 0 )
|
||||
if ( gSampleBankMemoryStartAddress[SFX_BANK_0] == 0 )
|
||||
{
|
||||
Terminate();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
nSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] = (uintptr)malloc(PED_BLOCKSIZE*MAX_PEDSFX);
|
||||
ASSERT(nSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] != 0);
|
||||
gSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] = (uintptr)malloc(PED_BUFFERSIZE*MAX_PEDSFX);
|
||||
ASSERT(gSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] != 0);
|
||||
|
||||
LoadSampleBank(SFX_BANK_0);
|
||||
}
|
||||
|
@ -992,7 +992,7 @@ cSampleManager::Initialise(void)
|
|||
}
|
||||
|
||||
{
|
||||
_bSampmanInitialised = TRUE;
|
||||
gInitialised = TRUE;
|
||||
|
||||
if ( defaultProvider >= 0 && defaultProvider < m_nNumberOfProviders )
|
||||
{
|
||||
|
@ -1014,12 +1014,12 @@ cSampleManager::Initialise(void)
|
|||
|
||||
if ( nNumMP3s != 0 )
|
||||
{
|
||||
nStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER] = 0;
|
||||
gStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER] = 0;
|
||||
|
||||
for ( tMP3Entry *e = _pMP3List; e != NULL; e = e->pNext )
|
||||
{
|
||||
e->nTrackStreamPos = nStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER];
|
||||
nStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER] += e->nTrackLength;
|
||||
e->nTrackStreamPos = gStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER];
|
||||
gStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER] += e->nTrackLength;
|
||||
}
|
||||
|
||||
time_t t = time(NULL);
|
||||
|
@ -1130,19 +1130,19 @@ cSampleManager::Terminate(void)
|
|||
|
||||
CStream::Terminate();
|
||||
|
||||
if ( nSampleBankMemoryStartAddress[SFX_BANK_0] != 0 )
|
||||
if ( gSampleBankMemoryStartAddress[SFX_BANK_0] != 0 )
|
||||
{
|
||||
free((void *)nSampleBankMemoryStartAddress[SFX_BANK_0]);
|
||||
nSampleBankMemoryStartAddress[SFX_BANK_0] = 0;
|
||||
free((void *)gSampleBankMemoryStartAddress[SFX_BANK_0]);
|
||||
gSampleBankMemoryStartAddress[SFX_BANK_0] = 0;
|
||||
}
|
||||
|
||||
if ( nSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] != 0 )
|
||||
if ( gSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] != 0 )
|
||||
{
|
||||
free((void *)nSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS]);
|
||||
nSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] = 0;
|
||||
free((void *)gSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS]);
|
||||
gSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] = 0;
|
||||
}
|
||||
|
||||
_bSampmanInitialised = FALSE;
|
||||
gInitialised = FALSE;
|
||||
}
|
||||
|
||||
bool8 cSampleManager::CheckForAnAudioFileOnCD(void)
|
||||
|
@ -1158,14 +1158,14 @@ char cSampleManager::GetCDAudioDriveLetter(void)
|
|||
void
|
||||
cSampleManager::UpdateEffectsVolume(void)
|
||||
{
|
||||
if ( _bSampmanInitialised )
|
||||
if ( gInitialised )
|
||||
{
|
||||
for ( int32 i = 0; i < NUM_CHANNELS; i++ )
|
||||
{
|
||||
if ( GetChannelUsedFlag(i) )
|
||||
{
|
||||
if ( nChannelVolume[i] != 0 )
|
||||
aChannel[i].SetVolume(m_nEffectsFadeVolume*nChannelVolume[i]*m_nEffectsVolume >> 14);
|
||||
if ( gChannelVolume[i] != 0 )
|
||||
aChannel[i].SetVolume(m_nEffectsFadeVolume*gChannelVolume[i]*m_nEffectsVolume >> 14);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1220,10 +1220,10 @@ cSampleManager::LoadSampleBank(uint8 nBank)
|
|||
|
||||
#ifdef OPUS_SFX
|
||||
int samplesRead = 0;
|
||||
int samplesSize = nSampleBankSize[nBank] / 2;
|
||||
op_pcm_seek(fpSampleDataHandle, 0);
|
||||
int samplesSize = gSampleBankSize[nBank] / 2;
|
||||
op_pcm_seek(gFileHandleSampleData, 0);
|
||||
while (samplesSize > 0) {
|
||||
int size = op_read(fpSampleDataHandle, (opus_int16 *)(nSampleBankMemoryStartAddress[nBank] + samplesRead), samplesSize, NULL);
|
||||
int size = op_read(gFileHandleSampleData, (opus_int16 *)(gSampleBankMemoryStartAddress[nBank] + samplesRead), samplesSize, NULL);
|
||||
if (size <= 0) {
|
||||
// huh?
|
||||
//assert(0);
|
||||
|
@ -1233,13 +1233,13 @@ cSampleManager::LoadSampleBank(uint8 nBank)
|
|||
samplesSize -= size;
|
||||
}
|
||||
#else
|
||||
if ( fseek(fpSampleDataHandle, nSampleBankDiscStartOffset[nBank], SEEK_SET) != 0 )
|
||||
if ( fseek(gFileHandleSampleData, gSampleBankDiscStartOffset[nBank], SEEK_SET) != 0 )
|
||||
return FALSE;
|
||||
|
||||
if ( fread((void *)nSampleBankMemoryStartAddress[nBank], 1, nSampleBankSize[nBank], fpSampleDataHandle) != nSampleBankSize[nBank] )
|
||||
if ( fread((void *)gSampleBankMemoryStartAddress[nBank], 1, gSampleBankSize[nBank], gFileHandleSampleData) != gSampleBankSize[nBank] )
|
||||
return FALSE;
|
||||
#endif
|
||||
bSampleBankLoaded[nBank] = TRUE;
|
||||
gBankLoaded[nBank] = TRUE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -1249,7 +1249,7 @@ cSampleManager::UnloadSampleBank(uint8 nBank)
|
|||
{
|
||||
ASSERT( nBank < MAX_SFX_BANKS);
|
||||
|
||||
bSampleBankLoaded[nBank] = FALSE;
|
||||
gBankLoaded[nBank] = FALSE;
|
||||
}
|
||||
|
||||
bool8
|
||||
|
@ -1257,7 +1257,7 @@ cSampleManager::IsSampleBankLoaded(uint8 nBank)
|
|||
{
|
||||
ASSERT( nBank < MAX_SFX_BANKS);
|
||||
|
||||
return bSampleBankLoaded[nBank];
|
||||
return gBankLoaded[nBank];
|
||||
}
|
||||
|
||||
bool8
|
||||
|
@ -1269,12 +1269,12 @@ cSampleManager::IsPedCommentLoaded(uint32 nComment)
|
|||
|
||||
for ( int32 i = 0; i < _TODOCONST(3); i++ )
|
||||
{
|
||||
slot = nCurrentPedSlot - i - 1;
|
||||
slot = gCurPedIndex - i - 1;
|
||||
#ifdef FIX_BUGS
|
||||
if (slot < 0)
|
||||
slot += ARRAY_SIZE(nPedSlotSfx);
|
||||
slot += ARRAY_SIZE(gPedSfx);
|
||||
#endif
|
||||
if ( nComment == nPedSlotSfx[slot] )
|
||||
if ( nComment == gPedSfx[slot] )
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -1289,12 +1289,12 @@ cSampleManager::_GetPedCommentSlot(uint32 nComment)
|
|||
|
||||
for (int32 i = 0; i < _TODOCONST(3); i++)
|
||||
{
|
||||
slot = nCurrentPedSlot - i - 1;
|
||||
slot = gCurPedIndex - i - 1;
|
||||
#ifdef FIX_BUGS
|
||||
if (slot < 0)
|
||||
slot += ARRAY_SIZE(nPedSlotSfx);
|
||||
slot += ARRAY_SIZE(gPedSfx);
|
||||
#endif
|
||||
if (nComment == nPedSlotSfx[slot])
|
||||
if (nComment == gPedSfx[slot])
|
||||
return slot;
|
||||
}
|
||||
|
||||
|
@ -1333,10 +1333,10 @@ cSampleManager::LoadPedComment(uint32 nComment)
|
|||
|
||||
#ifdef OPUS_SFX
|
||||
int samplesRead = 0;
|
||||
int samplesSize = m_aSamples[nComment].nSize / 2;
|
||||
op_pcm_seek(fpSampleDataHandle, m_aSamples[nComment].nOffset / 2);
|
||||
int samplesSize = m_aSampleDataTable[nComment].nSize / 2;
|
||||
op_pcm_seek(gFileHandleSampleData, m_aSampleDataTable[nComment].nOffset / 2);
|
||||
while (samplesSize > 0) {
|
||||
int size = op_read(fpSampleDataHandle, (opus_int16 *)(nSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] + PED_BLOCKSIZE * nCurrentPedSlot + samplesRead),
|
||||
int size = op_read(gFileHandleSampleData, (opus_int16 *)(gSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] + PED_BUFFERSIZE * gCurPedIndex + samplesRead),
|
||||
samplesSize, NULL);
|
||||
if (size <= 0) {
|
||||
return FALSE;
|
||||
|
@ -1345,17 +1345,17 @@ cSampleManager::LoadPedComment(uint32 nComment)
|
|||
samplesSize -= size;
|
||||
}
|
||||
#else
|
||||
if ( fseek(fpSampleDataHandle, m_aSamples[nComment].nOffset, SEEK_SET) != 0 )
|
||||
if ( fseek(gFileHandleSampleData, m_aSampleDataTable[nComment].nOffset, SEEK_SET) != 0 )
|
||||
return FALSE;
|
||||
|
||||
if ( fread((void *)(nSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] + PED_BLOCKSIZE*nCurrentPedSlot), 1, m_aSamples[nComment].nSize, fpSampleDataHandle) != m_aSamples[nComment].nSize )
|
||||
if ( fread((void *)(gSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] + PED_BUFFERSIZE*gCurPedIndex), 1, m_aSampleDataTable[nComment].nSize, gFileHandleSampleData) != m_aSampleDataTable[nComment].nSize )
|
||||
return FALSE;
|
||||
|
||||
#endif
|
||||
nPedSlotSfx[nCurrentPedSlot] = nComment;
|
||||
gPedSfx[gCurPedIndex] = nComment;
|
||||
|
||||
if ( ++nCurrentPedSlot >= MAX_PEDSFX )
|
||||
nCurrentPedSlot = 0;
|
||||
if ( ++gCurPedIndex >= MAX_PEDSFX )
|
||||
gCurPedIndex = 0;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -1363,10 +1363,10 @@ cSampleManager::LoadPedComment(uint32 nComment)
|
|||
int32
|
||||
cSampleManager::GetBankContainingSound(uint32 offset)
|
||||
{
|
||||
if ( offset >= BankStartOffset[SFX_BANK_PED_COMMENTS] )
|
||||
if ( offset >= gBankStartOffset[SFX_BANK_PED_COMMENTS] )
|
||||
return SFX_BANK_PED_COMMENTS;
|
||||
|
||||
if ( offset >= BankStartOffset[SFX_BANK_0] )
|
||||
if ( offset >= gBankStartOffset[SFX_BANK_0] )
|
||||
return SFX_BANK_0;
|
||||
|
||||
return INVALID_SFX_BANK;
|
||||
|
@ -1376,28 +1376,28 @@ int32
|
|||
cSampleManager::GetSampleBaseFrequency(uint32 nSample)
|
||||
{
|
||||
ASSERT( nSample < TOTAL_AUDIO_SAMPLES );
|
||||
return m_aSamples[nSample].nFrequency;
|
||||
return m_aSampleDataTable[nSample].nFrequency;
|
||||
}
|
||||
|
||||
int32
|
||||
cSampleManager::GetSampleLoopStartOffset(uint32 nSample)
|
||||
{
|
||||
ASSERT( nSample < TOTAL_AUDIO_SAMPLES );
|
||||
return m_aSamples[nSample].nLoopStart;
|
||||
return m_aSampleDataTable[nSample].nLoopStart;
|
||||
}
|
||||
|
||||
int32
|
||||
cSampleManager::GetSampleLoopEndOffset(uint32 nSample)
|
||||
{
|
||||
ASSERT( nSample < TOTAL_AUDIO_SAMPLES );
|
||||
return m_aSamples[nSample].nLoopEnd;
|
||||
return m_aSampleDataTable[nSample].nLoopEnd;
|
||||
}
|
||||
|
||||
uint32
|
||||
cSampleManager::GetSampleLength(uint32 nSample)
|
||||
{
|
||||
ASSERT( nSample < TOTAL_AUDIO_SAMPLES );
|
||||
return m_aSamples[nSample].nSize / sizeof(uint16);
|
||||
return m_aSampleDataTable[nSample].nSize / sizeof(uint16);
|
||||
}
|
||||
|
||||
bool8 cSampleManager::UpdateReverb(void)
|
||||
|
@ -1496,7 +1496,7 @@ cSampleManager::InitialiseChannel(uint32 nChannel, uint32 nSfx, uint8 nBank)
|
|||
if ( !IsSampleBankLoaded(nBank) )
|
||||
return FALSE;
|
||||
|
||||
addr = nSampleBankMemoryStartAddress[nBank] + m_aSamples[nSfx].nOffset - m_aSamples[BankStartOffset[nBank]].nOffset;
|
||||
addr = gSampleBankMemoryStartAddress[nBank] + m_aSampleDataTable[nSfx].nOffset - m_aSampleDataTable[gBankStartOffset[nBank]].nOffset;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1504,7 +1504,7 @@ cSampleManager::InitialiseChannel(uint32 nChannel, uint32 nSfx, uint8 nBank)
|
|||
return FALSE;
|
||||
|
||||
int32 slot = _GetPedCommentSlot(nSfx);
|
||||
addr = (nSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] + PED_BLOCKSIZE * slot);
|
||||
addr = (gSampleBankMemoryStartAddress[SFX_BANK_PED_COMMENTS] + PED_BUFFERSIZE * slot);
|
||||
}
|
||||
|
||||
if ( GetChannelUsedFlag(nChannel) )
|
||||
|
@ -1516,7 +1516,7 @@ cSampleManager::InitialiseChannel(uint32 nChannel, uint32 nSfx, uint8 nBank)
|
|||
aChannel[nChannel].Reset();
|
||||
if ( aChannel[nChannel].HasSource() )
|
||||
{
|
||||
aChannel[nChannel].SetSampleData ((void*)addr, m_aSamples[nSfx].nSize, m_aSamples[nSfx].nFrequency);
|
||||
aChannel[nChannel].SetSampleData ((void*)addr, m_aSampleDataTable[nSfx].nSize, m_aSampleDataTable[nSfx].nFrequency);
|
||||
aChannel[nChannel].SetLoopPoints (0, -1);
|
||||
aChannel[nChannel].SetPitch (1.0f);
|
||||
return TRUE;
|
||||
|
@ -1533,18 +1533,18 @@ cSampleManager::SetChannelEmittingVolume(uint32 nChannel, uint32 nVolume)
|
|||
uint32 vol = nVolume;
|
||||
if ( vol > MAX_VOLUME ) vol = MAX_VOLUME;
|
||||
|
||||
nChannelVolume[nChannel] = vol;
|
||||
gChannelVolume[nChannel] = vol;
|
||||
|
||||
// reduce channel volume when JB.MP3 or S4_BDBD.MP3 playing
|
||||
if ( MusicManager.GetMusicMode() == MUSICMODE_CUTSCENE
|
||||
&& MusicManager.GetNextTrack() != STREAMED_SOUND_NEWS_INTRO
|
||||
&& MusicManager.GetNextTrack() != STREAMED_SOUND_CUTSCENE_SAL4_BDBD )
|
||||
{
|
||||
nChannelVolume[nChannel] = vol / 4;
|
||||
gChannelVolume[nChannel] = vol / 4;
|
||||
}
|
||||
|
||||
// no idea, does this one looks like a bug or it's SetChannelVolume ?
|
||||
aChannel[nChannel].SetVolume(m_nEffectsFadeVolume*nChannelVolume[nChannel]*m_nEffectsVolume >> 14);
|
||||
aChannel[nChannel].SetVolume(m_nEffectsFadeVolume*gChannelVolume[nChannel]*m_nEffectsVolume >> 14);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -1573,14 +1573,14 @@ cSampleManager::SetChannelVolume(uint32 nChannel, uint32 nVolume)
|
|||
uint32 vol = nVolume;
|
||||
if ( vol > MAX_VOLUME ) vol = MAX_VOLUME;
|
||||
|
||||
nChannelVolume[nChannel] = vol;
|
||||
gChannelVolume[nChannel] = vol;
|
||||
|
||||
// reduce the volume for JB.MP3 and S4_BDBD.MP3
|
||||
if ( MusicManager.GetMusicMode() == MUSICMODE_CUTSCENE
|
||||
&& MusicManager.GetNextTrack() != STREAMED_SOUND_NEWS_INTRO
|
||||
&& MusicManager.GetNextTrack() != STREAMED_SOUND_CUTSCENE_SAL4_BDBD )
|
||||
{
|
||||
nChannelVolume[nChannel] = vol / 4;
|
||||
gChannelVolume[nChannel] = vol / 4;
|
||||
}
|
||||
|
||||
aChannel[nChannel].SetVolume(m_nEffectsFadeVolume*vol*m_nEffectsVolume >> 14);
|
||||
|
@ -1727,7 +1727,7 @@ cSampleManager::StartStreamedFile(uint8 nFile, uint32 nPos, uint8 nStream)
|
|||
// Switched to MP3 player just now
|
||||
if ( !_bIsMp3Active && i == 0 )
|
||||
{
|
||||
if ( nPos > nStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER] )
|
||||
if ( nPos > gStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER] )
|
||||
position = 0;
|
||||
tMP3Entry *e = _pMP3List;
|
||||
|
||||
|
@ -1935,7 +1935,7 @@ cSampleManager::GetStreamedFileLength(uint8 nStream)
|
|||
{
|
||||
ASSERT( nStream < TOTAL_STREAMED_SOUNDS );
|
||||
|
||||
return nStreamLength[nStream];
|
||||
return gStreamLength[nStream];
|
||||
}
|
||||
|
||||
bool8
|
||||
|
@ -1977,47 +1977,47 @@ cSampleManager::InitialiseSampleBanks(void)
|
|||
{
|
||||
int32 nBank = SFX_BANK_0;
|
||||
|
||||
fpSampleDescHandle = fcaseopen(SampleBankDescFilename, "rb");
|
||||
if ( fpSampleDescHandle == NULL )
|
||||
gFileHandleSampleDesc = fcaseopen(SampleBankDescFilename, "rb");
|
||||
if ( gFileHandleSampleDesc == NULL )
|
||||
return FALSE;
|
||||
#ifndef OPUS_SFX
|
||||
fpSampleDataHandle = fcaseopen(SampleBankDataFilename, "rb");
|
||||
if ( fpSampleDataHandle == NULL )
|
||||
gFileHandleSampleData = fcaseopen(SampleBankDataFilename, "rb");
|
||||
if ( gFileHandleSampleData == NULL )
|
||||
{
|
||||
fclose(fpSampleDescHandle);
|
||||
fpSampleDescHandle = NULL;
|
||||
fclose(gFileHandleSampleDesc);
|
||||
gFileHandleSampleDesc = NULL;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
fseek(fpSampleDataHandle, 0, SEEK_END);
|
||||
int32 _nSampleDataEndOffset = ftell(fpSampleDataHandle);
|
||||
rewind(fpSampleDataHandle);
|
||||
fseek(gFileHandleSampleData, 0, SEEK_END);
|
||||
int32 _nSampleDataEndOffset = ftell(gFileHandleSampleData);
|
||||
rewind(gFileHandleSampleData);
|
||||
#else
|
||||
int e;
|
||||
fpSampleDataHandle = op_open_file(SampleBankDataFilename, &e);
|
||||
gFileHandleSampleData = op_open_file(SampleBankDataFilename, &e);
|
||||
#endif
|
||||
fread(m_aSamples, sizeof(tSample), TOTAL_AUDIO_SAMPLES, fpSampleDescHandle);
|
||||
fread(m_aSampleDataTable, sizeof(tSample), TOTAL_AUDIO_SAMPLES, gFileHandleSampleDesc);
|
||||
#ifdef OPUS_SFX
|
||||
int32 _nSampleDataEndOffset = m_aSamples[TOTAL_AUDIO_SAMPLES - 1].nOffset + m_aSamples[TOTAL_AUDIO_SAMPLES - 1].nSize;
|
||||
int32 _nSampleDataEndOffset = m_aSampleDataTable[TOTAL_AUDIO_SAMPLES - 1].nOffset + m_aSampleDataTable[TOTAL_AUDIO_SAMPLES - 1].nSize;
|
||||
#endif
|
||||
fclose(fpSampleDescHandle);
|
||||
fpSampleDescHandle = NULL;
|
||||
fclose(gFileHandleSampleDesc);
|
||||
gFileHandleSampleDesc = NULL;
|
||||
|
||||
for ( int32 i = 0; i < TOTAL_AUDIO_SAMPLES; i++ )
|
||||
{
|
||||
#ifdef FIX_BUGS
|
||||
if (nBank >= MAX_SFX_BANKS) break;
|
||||
#endif
|
||||
if ( BankStartOffset[nBank] == BankStartOffset[SFX_BANK_0] + i )
|
||||
if ( gBankStartOffset[nBank] == gBankStartOffset[SFX_BANK_0] + i )
|
||||
{
|
||||
nSampleBankDiscStartOffset[nBank] = m_aSamples[i].nOffset;
|
||||
gSampleBankDiscStartOffset[nBank] = m_aSampleDataTable[i].nOffset;
|
||||
nBank++;
|
||||
}
|
||||
}
|
||||
|
||||
nSampleBankSize[SFX_BANK_0] = nSampleBankDiscStartOffset[SFX_BANK_PED_COMMENTS] - nSampleBankDiscStartOffset[SFX_BANK_0];
|
||||
nSampleBankSize[SFX_BANK_PED_COMMENTS] = _nSampleDataEndOffset - nSampleBankDiscStartOffset[SFX_BANK_PED_COMMENTS];
|
||||
gSampleBankSize[SFX_BANK_0] = gSampleBankDiscStartOffset[SFX_BANK_PED_COMMENTS] - gSampleBankDiscStartOffset[SFX_BANK_0];
|
||||
gSampleBankSize[SFX_BANK_PED_COMMENTS] = _nSampleDataEndOffset - gSampleBankDiscStartOffset[SFX_BANK_PED_COMMENTS];
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue