mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
- Added a wrapper that takes care of determining the file type of audio files.
- Fix: 'hit' sounds of non-profile NPCs were not played correctly git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8580 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+2
-2
@@ -55,8 +55,8 @@
|
||||
|
||||
#endif
|
||||
|
||||
CHAR8 czVersionNumber[16] = { "Build 18.07.14" }; //YY.MM.DD
|
||||
CHAR8 czVersionNumber[16] = { "Build 18.07.21" }; //YY.MM.DD
|
||||
CHAR16 zTrackingNumber[16] = { L"Z" };
|
||||
CHAR16 zRevisionNumber[16] = { L"Revision 8577" };
|
||||
CHAR16 zRevisionNumber[16] = { L"Revision 8580" };
|
||||
|
||||
// SAVE_GAME_VERSION is defined in header, change it there
|
||||
|
||||
@@ -345,19 +345,14 @@ BOOLEAN CameBackToVoicePageButNotFinished( )
|
||||
UINT32 PlayVoice( void )
|
||||
{
|
||||
CHAR8 zFileName[164];
|
||||
CHAR8 zFileNameHelp[164];
|
||||
|
||||
UINT16 iSlot = gIMPVoice[iCurrentVoice].voiceset;
|
||||
Assert( (iSlot >= 0) && (iSlot <= 999) );
|
||||
|
||||
sprintf( zFileName, "Speech\\%03d_001.mp3", iSlot );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "Speech\\%03d_001.ogg", iSlot );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "Speech\\%03d_001.wav", iSlot );
|
||||
}
|
||||
}
|
||||
sprintf( zFileNameHelp, "Speech\\%03d_001", iSlot );
|
||||
|
||||
SoundFileExists( zFileNameHelp, zFileName );
|
||||
|
||||
return(PlayJA2SampleFromFile( zFileName, RATE_11025, MIDVOLUME, 1, MIDDLEPAN ));
|
||||
}
|
||||
|
||||
@@ -2552,3 +2552,20 @@ UINT32 GetFreeSpaceOnHardDrive( STR pzDriveLetter )
|
||||
return( uiBytesFree );
|
||||
}
|
||||
|
||||
// Flugente: simple wrapper to check whether an audio file in mp3/ogg/wav format exists
|
||||
BOOLEAN SoundFileExists( STR strFilename, STR zFoundFilename )
|
||||
{
|
||||
SGPFILENAME zFilename;
|
||||
|
||||
sprintf( zFoundFilename, "%s.mp3", strFilename );
|
||||
if ( !FileExists( zFoundFilename ) )
|
||||
{
|
||||
sprintf( zFoundFilename, "%s.ogg", strFilename );
|
||||
if ( !FileExists( zFoundFilename ) )
|
||||
{
|
||||
sprintf( zFoundFilename, "%s.wav", strFilename );
|
||||
}
|
||||
}
|
||||
|
||||
return FileExists( zFoundFilename );
|
||||
}
|
||||
|
||||
@@ -192,6 +192,9 @@ UINT32 GetFreeSpaceOnHardDriveWhereGameIsRunningFrom( );
|
||||
//Gets the free hard drive space from the drive letter passed in. It has to be the root dir. ( eg. c:\ )
|
||||
UINT32 GetFreeSpaceOnHardDrive( STR pzDriveLetter );
|
||||
|
||||
// Flugente: simple wrapper to check whether an audio file in mp3/ogg/wav format exists
|
||||
BOOLEAN SoundFileExists( STR strFilename, STR zFoundFilename );
|
||||
|
||||
/*
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
+41
-199
@@ -2314,7 +2314,7 @@ void CreateTalkingUI( INT8 bUIHandlerID, INT32 iFaceIndex, UINT8 ubCharacterNum,
|
||||
CHAR8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN fWavFile )
|
||||
{
|
||||
static CHAR8 zFileName[164];
|
||||
static CHAR8 zFileNameExists[164];
|
||||
static CHAR8 zFileNameHelper[164];
|
||||
UINT32 ubFileNumID;
|
||||
BOOLEAN isBartenderSantos = FALSE;
|
||||
|
||||
@@ -2331,23 +2331,11 @@ CHAR8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN
|
||||
// build name of wav file (characternum + quotenum)
|
||||
//SB: curiously, there are no g_%03d_%03d audio files in all russian versions
|
||||
// #ifdef RUSSIAN
|
||||
// sprintf( zFileName,"NPC_SPEECH\\g_%03d_%03d.ogg",ubCharacterNum,usQuoteNum );
|
||||
// if ( !FileExists( zFileName ) )
|
||||
// {
|
||||
// sprintf( zFileName,"NPC_SPEECH\\g_%03d_%03d.wav",ubCharacterNum,usQuoteNum );
|
||||
// }
|
||||
// sprintf( zFileNameHelper,"NPC_SPEECH\\g_%03d_%03d",ubCharacterNum,usQuoteNum );
|
||||
// #else
|
||||
if ( gSoundProfileValue[ubCharacterNum].EnabledSound == TRUE )
|
||||
{
|
||||
sprintf( zFileName, "NPC_SPEECH\\d_%03d_%03d.ogg", usVoiceSet, usQuoteNum );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "NPC_SPEECH\\d_%03d_%03d.mp3", usVoiceSet, usQuoteNum );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "NPC_SPEECH\\d_%03d_%03d.wav", usVoiceSet, usQuoteNum );
|
||||
}
|
||||
}
|
||||
sprintf( zFileNameHelper, "NPC_SPEECH\\d_%03d_%03d", usVoiceSet, usQuoteNum );
|
||||
}
|
||||
// #endif
|
||||
}
|
||||
@@ -2364,7 +2352,6 @@ CHAR8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN
|
||||
|| ProfileCurrentlyTalkingInDialoguePanel( ubCharacterNum )
|
||||
|| (gMercProfiles[ ubCharacterNum ].ubMiscFlags & PROFILE_MISC_FLAG_FORCENPCQUOTE) )
|
||||
)
|
||||
|
||||
{
|
||||
ubFileNumID = usVoiceSet;
|
||||
|
||||
@@ -2373,107 +2360,33 @@ CHAR8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN
|
||||
isBartenderSantos = TRUE;
|
||||
ubFileNumID = HERVE;
|
||||
}
|
||||
else if ( ubCharacterNum == PETER )
|
||||
else if ( ubCharacterNum == PETER || ubCharacterNum == ALBERTO || ubCharacterNum == CARLO )
|
||||
{
|
||||
isBartenderSantos = TRUE;
|
||||
sprintf( (char *)zFileNameExists,"NPCDATA\\%03d.EDT", PETER );
|
||||
sprintf( (char *)zFileName,"NPCDATA\\%03d.EDT", ubCharacterNum );
|
||||
if ( !FileExists( zFileName ) )
|
||||
ubFileNumID = HERVE;
|
||||
else
|
||||
ubFileNumID = PETER;
|
||||
}
|
||||
else if ( ubCharacterNum == ALBERTO )
|
||||
{
|
||||
isBartenderSantos = TRUE;
|
||||
sprintf( (char *)zFileNameExists,"NPCDATA\\%03d.EDT", ALBERTO );
|
||||
if ( !FileExists( zFileName ) )
|
||||
ubFileNumID = HERVE;
|
||||
else
|
||||
ubFileNumID = ALBERTO;
|
||||
}
|
||||
else if ( ubCharacterNum == CARLO )
|
||||
{
|
||||
isBartenderSantos = TRUE;
|
||||
sprintf( (char *)zFileNameExists,"NPCDATA\\%03d.EDT", CARLO );
|
||||
if ( !FileExists( zFileName ) )
|
||||
ubFileNumID = HERVE;
|
||||
else
|
||||
ubFileNumID = CARLO;
|
||||
ubFileNumID = ubCharacterNum;
|
||||
}
|
||||
|
||||
#ifdef JA2UB
|
||||
if ( ubCharacterNum == MANUEL_UB )
|
||||
if ( ubCharacterNum == MANUEL_UB ||
|
||||
ubCharacterNum == BIGGENS_UB ||
|
||||
ubCharacterNum == JOHN_K_UB ||
|
||||
ubCharacterNum == TEX_UB ||
|
||||
ubCharacterNum == GASTON_UB ||
|
||||
ubCharacterNum == STOGIE_UB ||
|
||||
ubCharacterNum == JERRY_MILO_UB ||
|
||||
ubCharacterNum == PGMALE4_UB ||
|
||||
ubCharacterNum == BETTY_UB ||
|
||||
ubCharacterNum == RAUL_UB ||
|
||||
ubCharacterNum == MORRIS_UB ||
|
||||
ubCharacterNum == RUDY_UB )
|
||||
{
|
||||
sprintf( (char *)zFileNameExists,"NPCDATA\\%03d.EDT", MANUEL_UB );
|
||||
ubFileNumID = MANUEL_UB;
|
||||
sprintf( (char *)zFileName,"NPCDATA\\%03d.EDT", ubCharacterNum );
|
||||
ubFileNumID = ubCharacterNum;
|
||||
}
|
||||
|
||||
if ( ubCharacterNum == BIGGENS_UB )
|
||||
{
|
||||
sprintf( (char *)zFileNameExists,"NPCDATA\\%03d.EDT", BIGGENS_UB );
|
||||
ubFileNumID = BIGGENS_UB;
|
||||
}
|
||||
|
||||
if ( ubCharacterNum == JOHN_K_UB )
|
||||
{
|
||||
sprintf( (char *)zFileNameExists,"NPCDATA\\%03d.EDT", JOHN_K_UB );
|
||||
ubFileNumID = JOHN_K_UB;
|
||||
}
|
||||
|
||||
if ( ubCharacterNum == TEX_UB )
|
||||
{
|
||||
sprintf( (char *)zFileNameExists,"NPCDATA\\%03d.EDT", TEX_UB );
|
||||
ubFileNumID = TEX_UB;
|
||||
}
|
||||
|
||||
if ( ubCharacterNum == GASTON_UB )
|
||||
{
|
||||
sprintf( (char *)zFileNameExists,"NPCDATA\\%03d.EDT", GASTON_UB );
|
||||
ubFileNumID = GASTON_UB;
|
||||
}
|
||||
|
||||
if ( ubCharacterNum == STOGIE_UB )
|
||||
{
|
||||
sprintf( (char *)zFileNameExists,"NPCDATA\\%03d.EDT", STOGIE_UB );
|
||||
ubFileNumID = STOGIE_UB;
|
||||
}
|
||||
|
||||
if ( ubCharacterNum == JERRY_MILO_UB )
|
||||
{
|
||||
sprintf( (char *)zFileNameExists,"NPCDATA\\%03d.EDT", JERRY_MILO_UB );
|
||||
ubFileNumID = JERRY_MILO_UB;
|
||||
}
|
||||
|
||||
if ( ubCharacterNum == PGMALE4_UB )
|
||||
{
|
||||
sprintf( (char *)zFileNameExists,"NPCDATA\\%03d.EDT", PGMALE4_UB );
|
||||
ubFileNumID = PGMALE4_UB;
|
||||
}
|
||||
|
||||
if ( ubCharacterNum == BETTY_UB )
|
||||
{
|
||||
sprintf( (char *)zFileNameExists,"NPCDATA\\%03d.EDT", BETTY_UB );
|
||||
ubFileNumID = BETTY_UB;
|
||||
}
|
||||
|
||||
if ( ubCharacterNum == RAUL_UB )
|
||||
{
|
||||
sprintf( (char *)zFileNameExists,"NPCDATA\\%03d.EDT", RAUL_UB );
|
||||
ubFileNumID = RAUL_UB;
|
||||
}
|
||||
|
||||
if ( ubCharacterNum == MORRIS_UB )
|
||||
{
|
||||
sprintf( (char *)zFileNameExists,"NPCDATA\\%03d.EDT", MORRIS_UB );
|
||||
ubFileNumID = MORRIS_UB;
|
||||
}
|
||||
|
||||
if ( ubCharacterNum == RUDY_UB )
|
||||
{
|
||||
sprintf( (char *)zFileNameExists,"NPCDATA\\%03d.EDT", RUDY_UB );
|
||||
ubFileNumID = RUDY_UB;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
// If we are character #155, check fact!
|
||||
@@ -2487,31 +2400,13 @@ CHAR8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN
|
||||
if ( gSoundProfileValue[ubFileNumID].EnabledSound == TRUE )
|
||||
{
|
||||
// Lesh: patch to allow playback ogg speech files
|
||||
sprintf( zFileName,"NPC_SPEECH\\%03d_%03d.ogg",ubFileNumID,usQuoteNum );
|
||||
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "NPC_SPEECH\\%03d_%03d.mp3", ubFileNumID, usQuoteNum );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "NPC_SPEECH\\%03d_%03d.wav", ubFileNumID, usQuoteNum );
|
||||
}
|
||||
}
|
||||
sprintf( zFileNameHelper,"NPC_SPEECH\\%03d_%03d",ubFileNumID,usQuoteNum );
|
||||
|
||||
// WANNE: We do not have any speech files for the other (!= HERVE) santos bartenders, take HERVE speech files
|
||||
if (isBartenderSantos && HERVE != ubFileNumID && !FileExists(zFileName))
|
||||
if (isBartenderSantos && HERVE != ubFileNumID && !SoundFileExists( zFileNameHelper, zFileName ) )
|
||||
{
|
||||
ubFileNumID = HERVE;
|
||||
sprintf( zFileName,"NPC_SPEECH\\%03d_%03d.ogg",ubFileNumID,usQuoteNum );
|
||||
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "NPC_SPEECH\\%03d_%03d.mp3", ubFileNumID, usQuoteNum );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "NPC_SPEECH\\%03d_%03d.wav", ubFileNumID, usQuoteNum );
|
||||
}
|
||||
}
|
||||
sprintf( zFileNameHelper,"NPC_SPEECH\\%03d_%03d",ubFileNumID,usQuoteNum );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2540,48 +2435,15 @@ CHAR8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN
|
||||
if ( gSoundProfileValue[ubCharacterNum].EnabledSound == TRUE )
|
||||
{
|
||||
#ifdef JA2UB
|
||||
sprintf( zFileName,"SPEECH\\%03d_%03d.ogg",usVoiceSet,usQuoteNum );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName,"SPEECH\\%03d_%03d.ogg",usVoiceSet,usQuoteNum );
|
||||
}
|
||||
//inshy: fix for UB-1.13 version only
|
||||
sprintf( zFileNameHelper,"SPEECH\\%03d_%03d",usVoiceSet,usQuoteNum );
|
||||
#else
|
||||
sprintf( zFileName,"SPEECH\\r_%03d_%03d.ogg",usVoiceSet,usQuoteNum );
|
||||
#endif
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
//inshy: fix for UB-1.13 version only
|
||||
#ifdef JA2UB
|
||||
sprintf( zFileName,"SPEECH\\%03d_%03d.wav",usVoiceSet,usQuoteNum );
|
||||
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName,"SPEECH\\%03d_%03d.mp3",usVoiceSet,usQuoteNum );
|
||||
}
|
||||
#else
|
||||
sprintf( zFileName,"SPEECH\\r_%03d_%03d.wav",usVoiceSet,usQuoteNum );
|
||||
sprintf( zFileNameHelper,"SPEECH\\r_%03d_%03d",usVoiceSet,usQuoteNum );
|
||||
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "SPEECH\\r_%03d_%03d.mp3", usVoiceSet, usQuoteNum );
|
||||
}
|
||||
//<SB> Also check for Russian Gold sound files (identical to international ones)
|
||||
if ( !SoundFileExists( zFileNameHelper, zFileName ) )
|
||||
sprintf( zFileNameHelper, "SPEECH\\%03d_%03d", usVoiceSet, usQuoteNum );
|
||||
#endif
|
||||
|
||||
//<SB> Also check for Russian Gold sound files (identical to international ones)
|
||||
if(! FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName,"SPEECH\\%03d_%03d.ogg",usVoiceSet,usQuoteNum );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName,"SPEECH\\%03d_%03d.mp3",usVoiceSet,usQuoteNum );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "SPEECH\\%03d_%03d.wav", usVoiceSet, usQuoteNum );
|
||||
}
|
||||
}
|
||||
}
|
||||
//</SB>
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -2590,16 +2452,7 @@ CHAR8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN
|
||||
if ( gSoundProfileValue[ubCharacterNum].EnabledSound == TRUE )
|
||||
{
|
||||
// build name of wav file (characternum + quotenum)
|
||||
sprintf( zFileName, "SPEECH\\%03d_%03d.ogg", usVoiceSet, usQuoteNum );
|
||||
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "SPEECH\\%03d_%03d.mp3", usVoiceSet, usQuoteNum );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "SPEECH\\%03d_%03d.wav", usVoiceSet, usQuoteNum );
|
||||
}
|
||||
}
|
||||
sprintf( zFileNameHelper, "SPEECH\\%03d_%03d", usVoiceSet, usQuoteNum );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2610,13 +2463,16 @@ CHAR8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN
|
||||
}
|
||||
}
|
||||
|
||||
if ( fWavFile )
|
||||
SoundFileExists( zFileNameHelper, zFileName );
|
||||
|
||||
return( zFileName );
|
||||
}
|
||||
|
||||
CHAR8 *GetSnitchDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN fWavFile, BOOLEAN fName )
|
||||
{
|
||||
static CHAR8 zFileName[164];
|
||||
static CHAR8 zFileNameExists[164];
|
||||
static CHAR8 zFilename_Used[164];
|
||||
|
||||
// Flugente: For the voice set itself, use this number
|
||||
UINT32 usVoiceSet = gMercProfiles[ubCharacterNum].usVoiceIndex;
|
||||
@@ -2628,40 +2484,26 @@ CHAR8 *GetSnitchDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, B
|
||||
// build name of wav file (characternum + quotenum)
|
||||
if(fName)
|
||||
{
|
||||
sprintf( zFileName, "SPEECH\\SNITCH\\NAMES\\%03d_%03d.ogg", usVoiceSet, usQuoteNum );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "SPEECH\\SNITCH\\NAMES\\%03d_%03d.mp3", usVoiceSet, usQuoteNum );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "SPEECH\\SNITCH\\NAMES\\%03d_%03d.wav", usVoiceSet, usQuoteNum );
|
||||
}
|
||||
}
|
||||
sprintf( zFileName, "SPEECH\\SNITCH\\NAMES\\%03d_%03d", usVoiceSet, usQuoteNum );
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf( zFileName, "SPEECH\\SNITCH\\%03d_%03d.ogg", usVoiceSet, usQuoteNum );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "SPEECH\\SNITCH\\%03d_%03d.mp3", usVoiceSet, usQuoteNum );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "SPEECH\\SNITCH\\%03d_%03d.wav", usVoiceSet, usQuoteNum );
|
||||
}
|
||||
}
|
||||
sprintf( zFileName, "SPEECH\\SNITCH\\%03d_%03d", usVoiceSet, usQuoteNum );
|
||||
}
|
||||
|
||||
SoundFileExists( zFileName, zFilename_Used );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// assume EDT files are in EDT directory on HARD DRIVE
|
||||
if(fName)
|
||||
sprintf( zFileName, "MERCEDT\\SNITCH\\NAMES\\%03d.EDT", usVoiceSet );
|
||||
sprintf( zFilename_Used, "MERCEDT\\SNITCH\\NAMES\\%03d.EDT", usVoiceSet );
|
||||
else
|
||||
sprintf( zFileName, "MERCEDT\\SNITCH\\%03d.EDT", usVoiceSet );
|
||||
sprintf( zFilename_Used, "MERCEDT\\SNITCH\\%03d.EDT", usVoiceSet );
|
||||
}
|
||||
|
||||
return( zFileName );
|
||||
return( zFilename_Used );
|
||||
}
|
||||
|
||||
// Used to see if the dialog text file exists
|
||||
|
||||
+29
-109
@@ -10626,6 +10626,7 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
|
||||
//in this function, pSoldier stands in for the this pointer, since
|
||||
//this soldier could be a vehicle, then the merc that makes the sound is inside
|
||||
SGPFILENAME zFilename;
|
||||
SGPFILENAME zFilename_Used;
|
||||
SOUNDPARMS spParms;
|
||||
UINT8 ubSoundID = 0;
|
||||
UINT32 uiSoundID;
|
||||
@@ -10896,18 +10897,9 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
|
||||
UINT16 numsounds = QuoteExp[pSoldier->ubProfile].numBattleSounds[ubSoundID];
|
||||
|
||||
// check: is there a sound with a bigger number?
|
||||
sprintf( zFilename, "BATTLESNDS\\%03d_%s%d.ogg", usVoiceSet, gBattleSndsData[ubSoundID].zName, numsounds + 1 );
|
||||
sprintf( zFilename, "BATTLESNDS\\%03d_%s%d", usVoiceSet, gBattleSndsData[ubSoundID].zName, numsounds + 1 );
|
||||
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\%03d_%s%d.mp3", usVoiceSet, gBattleSndsData[ubSoundID].zName, numsounds + 1 );
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\%03d_%s%d.wav", usVoiceSet, gBattleSndsData[ubSoundID].zName, numsounds + 1 );
|
||||
}
|
||||
}
|
||||
|
||||
if ( FileExists( zFilename ) )
|
||||
if ( SoundFileExists( zFilename, zFilename_Used ) )
|
||||
{
|
||||
QuoteExp[pSoldier->ubProfile].numBattleSounds[ubSoundID]++;
|
||||
}
|
||||
@@ -10921,63 +10913,27 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
|
||||
|
||||
if ( soundtoplay > 1 )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\%03d_%s%d.ogg", usVoiceSet, gBattleSndsData[ubSoundID].zName, soundtoplay );
|
||||
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\%03d_%s%d.mp3", usVoiceSet, gBattleSndsData[ubSoundID].zName, soundtoplay );
|
||||
|
||||
if ( !FileExists( zFilename ) )
|
||||
sprintf( zFilename, "BATTLESNDS\\%03d_%s%d.wav", usVoiceSet, gBattleSndsData[ubSoundID].zName, soundtoplay );
|
||||
}
|
||||
sprintf( zFilename, "BATTLESNDS\\%03d_%s%d", usVoiceSet, gBattleSndsData[ubSoundID].zName, soundtoplay );
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\%03d_%s.ogg", usVoiceSet, gBattleSndsData[ubSoundID].zName );
|
||||
|
||||
if ( !FileExists( zFilename ) )
|
||||
sprintf( zFilename, "BATTLESNDS\\%03d_%s.wav", usVoiceSet, gBattleSndsData[ubSoundID].zName );
|
||||
sprintf( zFilename, "BATTLESNDS\\%03d_%s", usVoiceSet, gBattleSndsData[ubSoundID].zName );
|
||||
|
||||
// due to legacy reasons, we both have to check for versions with '1' and without a number here
|
||||
if ( !FileExists( zFilename ) )
|
||||
sprintf( zFilename, "BATTLESNDS\\%03d_%s%d.ogg", usVoiceSet, gBattleSndsData[ubSoundID].zName, 1 );
|
||||
|
||||
if ( !FileExists( zFilename ) )
|
||||
sprintf( zFilename, "BATTLESNDS\\%03d_%s%d.wav", usVoiceSet, gBattleSndsData[ubSoundID].zName, 1 );
|
||||
|
||||
if ( !FileExists( zFilename ) )
|
||||
sprintf( zFilename, "BATTLESNDS\\%03d_%s.mp3", usVoiceSet, gBattleSndsData[ubSoundID].zName );
|
||||
|
||||
if ( !FileExists( zFilename ) )
|
||||
sprintf( zFilename, "BATTLESNDS\\%03d_%s%d.mp3", usVoiceSet, gBattleSndsData[ubSoundID].zName, 1 );
|
||||
if ( !SoundFileExists( zFilename, zFilename_Used ) )
|
||||
sprintf( zFilename, "BATTLESNDS\\%03d_%s%d", usVoiceSet, gBattleSndsData[ubSoundID].zName, 1 );
|
||||
}
|
||||
|
||||
if ( !FileExists( zFilename ) )
|
||||
if ( !SoundFileExists( zFilename, zFilename_Used ) )
|
||||
{
|
||||
// OK, temp build file...
|
||||
if ( pSoldier->ubBodyType == REGFEMALE )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\f_%s.ogg", gBattleSndsData[ubSoundID].zName );
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\f_%s.mp3", gBattleSndsData[ubSoundID].zName );
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\f_%s.wav", gBattleSndsData[ubSoundID].zName );
|
||||
}
|
||||
}
|
||||
sprintf( zFilename, "BATTLESNDS\\f_%s", gBattleSndsData[ubSoundID].zName );
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\m_%s.ogg", gBattleSndsData[ubSoundID].zName );
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\m_%s.mp3", gBattleSndsData[ubSoundID].zName );
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\m_%s.wav", gBattleSndsData[ubSoundID].zName );
|
||||
}
|
||||
}
|
||||
sprintf( zFilename, "BATTLESNDS\\m_%s", gBattleSndsData[ubSoundID].zName );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10993,85 +10949,49 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
|
||||
{
|
||||
if ( ubSoundID == BATTLE_SOUND_DIE1 )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\kid%d_dying.ogg", pSoldier->ubBattleSoundID );
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\kid%d_dying.mp3", pSoldier->ubBattleSoundID );
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\kid%d_dying.wav", pSoldier->ubBattleSoundID );
|
||||
}
|
||||
}
|
||||
sprintf( zFilename, "BATTLESNDS\\kid%d_dying", pSoldier->ubBattleSoundID );
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\kid%d_%s.ogg", pSoldier->ubBattleSoundID, gBattleSndsData[ubSoundID].zName );
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\kid%d_%s.mp3", pSoldier->ubBattleSoundID, gBattleSndsData[ubSoundID].zName );
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\kid%d_%s.wav", pSoldier->ubBattleSoundID, gBattleSndsData[ubSoundID].zName );
|
||||
}
|
||||
}
|
||||
sprintf( zFilename, "BATTLESNDS\\kid%d_%s1", pSoldier->ubBattleSoundID, gBattleSndsData[ubSoundID].zName );
|
||||
|
||||
if ( !SoundFileExists( zFilename, zFilename_Used ) )
|
||||
sprintf( zFilename, "BATTLESNDS\\kid%d_%s2", pSoldier->ubBattleSoundID, gBattleSndsData[ubSoundID].zName );
|
||||
}
|
||||
}
|
||||
else if ( pSoldier->IsZombie( ) ) // Madd: add zombie sounds
|
||||
{
|
||||
if ( ubSoundID == BATTLE_SOUND_DIE1 )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\zombie_die.ogg" );
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\zombie_die.mp3" );
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\zombie_die.wav" );
|
||||
}
|
||||
}
|
||||
sprintf( zFilename, "BATTLESNDS\\zombie_die" );
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\zombie_%s.ogg", gBattleSndsData[ubSoundID].zName );
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\zombie_%s.mp3", gBattleSndsData[ubSoundID].zName );
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\zombie_%s.wav", gBattleSndsData[ubSoundID].zName );
|
||||
}
|
||||
}
|
||||
sprintf( zFilename, "BATTLESNDS\\zombie_%s1", gBattleSndsData[ubSoundID].zName );
|
||||
|
||||
if ( !SoundFileExists( zFilename, zFilename_Used ) )
|
||||
sprintf( zFilename, "BATTLESNDS\\zombie_%s2", gBattleSndsData[ubSoundID].zName );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( ubSoundID == BATTLE_SOUND_DIE1 )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\bad%d_die.ogg", pSoldier->ubBattleSoundID );
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\bad%d_die.mp3", pSoldier->ubBattleSoundID );
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\bad%d_die.wav", pSoldier->ubBattleSoundID );
|
||||
}
|
||||
}
|
||||
sprintf( zFilename, "BATTLESNDS\\bad%d_die", pSoldier->ubBattleSoundID );
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\bad%d_%s.ogg", pSoldier->ubBattleSoundID, gBattleSndsData[ubSoundID].zName );
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\bad%d_%s.mp3", pSoldier->ubBattleSoundID, gBattleSndsData[ubSoundID].zName );
|
||||
if ( !FileExists( zFilename ) )
|
||||
{
|
||||
sprintf( zFilename, "BATTLESNDS\\bad%d_%s.wav", pSoldier->ubBattleSoundID, gBattleSndsData[ubSoundID].zName );
|
||||
}
|
||||
}
|
||||
sprintf( zFilename, "BATTLESNDS\\bad%d_%s1", pSoldier->ubBattleSoundID, gBattleSndsData[ubSoundID].zName );
|
||||
|
||||
if ( !SoundFileExists( zFilename, zFilename_Used ) )
|
||||
sprintf( zFilename, "BATTLESNDS\\bad%d_%s2", pSoldier->ubBattleSoundID, gBattleSndsData[ubSoundID].zName );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( !SoundFileExists( zFilename, zFilename_Used ) )
|
||||
return FALSE;
|
||||
|
||||
// Play sound!
|
||||
memset( &spParms, 0xff, sizeof(SOUNDPARMS) );
|
||||
|
||||
@@ -11102,7 +11022,7 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
|
||||
|
||||
if ( gSoundProfileValue[pSoldier->ubProfile].EnabledSound == TRUE || pSoldier->ubProfile == NO_PROFILE )
|
||||
{
|
||||
if ( (uiSoundID = SoundPlay( zFilename, &spParms )) == SOUND_ERROR )
|
||||
if ( (uiSoundID = SoundPlay( zFilename_Used, &spParms )) == SOUND_ERROR )
|
||||
{
|
||||
return(FALSE);
|
||||
}
|
||||
|
||||
+5
-18
@@ -151,20 +151,13 @@ BOOLEAN MusicPlay(UINT32 uiNum)
|
||||
if ( NewSound == FALSE && MusicMode == MUSIC_OLD_TYPE )
|
||||
{
|
||||
#endif
|
||||
sprintf( zFileName, "%s.mp3", szMusicList[uiNum] );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "%s.ogg", szMusicList[uiNum] );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "%s.wav", szMusicList[uiNum] );
|
||||
}
|
||||
}
|
||||
SoundFileExists( szMusicList[uiNum], zFileName );
|
||||
#ifdef NEWMUSIC
|
||||
}
|
||||
else if ( NewSound == TRUE )
|
||||
{
|
||||
CHAR8 modstr[32] = "";
|
||||
CHAR8 modstr2[164] = "";
|
||||
|
||||
switch ( MusicMode )
|
||||
{
|
||||
@@ -176,16 +169,10 @@ BOOLEAN MusicPlay(UINT32 uiNum)
|
||||
case MUSIC_TACTICAL_CREEPY_MUSIC: sprintf( modstr, "CREEPY_" ); break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
sprintf( modstr2, "%s\\%s%d", szMusicList[15], modstr, uiNum );
|
||||
|
||||
sprintf( zFileName, "%s\\%s%d.ogg", szMusicList[15], modstr, uiNum );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "%s\\%s%d.wav", szMusicList[15], modstr, uiNum );
|
||||
if ( !FileExists( zFileName ) )
|
||||
{
|
||||
sprintf( zFileName, "%s\\%s%d.mp3", szMusicList[15], modstr, uiNum );
|
||||
}
|
||||
}
|
||||
SoundFileExists( modstr2, zFileName );
|
||||
}
|
||||
#endif
|
||||
uiMusicHandle = SoundPlayStreamedFile(zFileName, &spParms);
|
||||
|
||||
Reference in New Issue
Block a user