New Feature: mp3 audio format is now supported in addition to .wav and .ogg

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8579 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2018-07-19 21:42:07 +00:00
parent c96bed1110
commit 69aeea0679
4 changed files with 144 additions and 72 deletions
+6 -2
View File
@@ -349,10 +349,14 @@ UINT32 PlayVoice( void )
UINT16 iSlot = gIMPVoice[iCurrentVoice].voiceset;
Assert( (iSlot >= 0) && (iSlot <= 999) );
sprintf( zFileName, "Speech\\%03d_001.ogg", iSlot );
sprintf( zFileName, "Speech\\%03d_001.mp3", iSlot );
if ( !FileExists( zFileName ) )
{
sprintf( zFileName, "Speech\\%03d_001.wav", iSlot );
sprintf( zFileName, "Speech\\%03d_001.ogg", iSlot );
if ( !FileExists( zFileName ) )
{
sprintf( zFileName, "Speech\\%03d_001.wav", iSlot );
}
}
return(PlayJA2SampleFromFile( zFileName, RATE_11025, MIDVOLUME, 1, MIDDLEPAN ));
+57 -20
View File
@@ -2342,7 +2342,11 @@ CHAR8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN
sprintf( zFileName, "NPC_SPEECH\\d_%03d_%03d.ogg", usVoiceSet, usQuoteNum );
if ( !FileExists( zFileName ) )
{
sprintf( zFileName, "NPC_SPEECH\\d_%03d_%03d.wav", usVoiceSet, usQuoteNum );
sprintf( zFileName, "NPC_SPEECH\\d_%03d_%03d.mp3", usVoiceSet, usQuoteNum );
if ( !FileExists( zFileName ) )
{
sprintf( zFileName, "NPC_SPEECH\\d_%03d_%03d.wav", usVoiceSet, usQuoteNum );
}
}
}
// #endif
@@ -2484,19 +2488,31 @@ CHAR8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN
{
// 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 );
}
}
// WANNE: We do not have any speech files for the other (!= HERVE) santos bartenders, take HERVE speech files
if (isBartenderSantos && HERVE != ubFileNumID && !FileExists(zFileName))
{
ubFileNumID = HERVE;
sprintf( zFileName,"NPC_SPEECH\\%03d_%03d.ogg",ubFileNumID,usQuoteNum );
}
// We do not have *.ogg file, take *.WAV file
if ( !FileExists( zFileName ) )
{
sprintf( zFileName,"NPC_SPEECH\\%03d_%03d.wav",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 );
}
}
}
}
}
else
@@ -2523,28 +2539,33 @@ CHAR8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN
//inshy: fix for UB-1.13 version only sprintf( zFileName,"SPEECH\\r_%03d_%03d.ogg",ubCharacterNum,usQuoteNum );
if ( gSoundProfileValue[ubCharacterNum].EnabledSound == TRUE )
{
#ifdef JA2UB
#ifdef JA2UB
sprintf( zFileName,"SPEECH\\%03d_%03d.ogg",usVoiceSet,usQuoteNum );
if ( !FileExists( zFileName ) )
{
sprintf( zFileName,"SPEECH\\%03d_%03d.ogg",usVoiceSet,usQuoteNum );
}
#else
#else
sprintf( zFileName,"SPEECH\\r_%03d_%03d.ogg",usVoiceSet,usQuoteNum );
#endif
#endif
if ( !FileExists( zFileName ) )
{
//inshy: fix for UB-1.13 version only
#ifdef JA2UB
#ifdef JA2UB
sprintf( zFileName,"SPEECH\\%03d_%03d.wav",usVoiceSet,usQuoteNum );
if ( !FileExists( zFileName ) )
{
sprintf( zFileName,"SPEECH\\%03d_%03d.wav",usVoiceSet,usQuoteNum );
}
#else
sprintf( zFileName,"SPEECH\\r_%03d_%03d.wav",usVoiceSet,usQuoteNum );
#endif
sprintf( zFileName,"SPEECH\\%03d_%03d.mp3",usVoiceSet,usQuoteNum );
}
#else
sprintf( zFileName,"SPEECH\\r_%03d_%03d.wav",usVoiceSet,usQuoteNum );
if ( !FileExists( zFileName ) )
{
sprintf( zFileName, "SPEECH\\r_%03d_%03d.mp3", usVoiceSet, usQuoteNum );
}
#endif
//<SB> Also check for Russian Gold sound files (identical to international ones)
if(! FileExists( zFileName ) )
@@ -2552,7 +2573,11 @@ CHAR8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN
sprintf( zFileName,"SPEECH\\%03d_%03d.ogg",usVoiceSet,usQuoteNum );
if ( !FileExists( zFileName ) )
{
sprintf( zFileName,"SPEECH\\%03d_%03d.wav",usVoiceSet,usQuoteNum );
sprintf( zFileName,"SPEECH\\%03d_%03d.mp3",usVoiceSet,usQuoteNum );
if ( !FileExists( zFileName ) )
{
sprintf( zFileName, "SPEECH\\%03d_%03d.wav", usVoiceSet, usQuoteNum );
}
}
}
//</SB>
@@ -2569,7 +2594,11 @@ CHAR8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN
if ( !FileExists( zFileName ) )
{
sprintf( zFileName, "SPEECH\\%03d_%03d.wav", usVoiceSet, usQuoteNum );
sprintf( zFileName, "SPEECH\\%03d_%03d.mp3", usVoiceSet, usQuoteNum );
if ( !FileExists( zFileName ) )
{
sprintf( zFileName, "SPEECH\\%03d_%03d.wav", usVoiceSet, usQuoteNum );
}
}
}
}
@@ -2602,7 +2631,11 @@ CHAR8 *GetSnitchDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, B
sprintf( zFileName, "SPEECH\\SNITCH\\NAMES\\%03d_%03d.ogg", usVoiceSet, usQuoteNum );
if ( !FileExists( zFileName ) )
{
sprintf( zFileName, "SPEECH\\SNITCH\\NAMES\\%03d_%03d.wav", usVoiceSet, usQuoteNum );
sprintf( zFileName, "SPEECH\\SNITCH\\NAMES\\%03d_%03d.mp3", usVoiceSet, usQuoteNum );
if ( !FileExists( zFileName ) )
{
sprintf( zFileName, "SPEECH\\SNITCH\\NAMES\\%03d_%03d.wav", usVoiceSet, usQuoteNum );
}
}
}
else
@@ -2610,7 +2643,11 @@ CHAR8 *GetSnitchDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, B
sprintf( zFileName, "SPEECH\\SNITCH\\%03d_%03d.ogg", usVoiceSet, usQuoteNum );
if ( !FileExists( zFileName ) )
{
sprintf( zFileName, "SPEECH\\SNITCH\\%03d_%03d.wav", usVoiceSet, usQuoteNum );
sprintf( zFileName, "SPEECH\\SNITCH\\%03d_%03d.mp3", usVoiceSet, usQuoteNum );
if ( !FileExists( zFileName ) )
{
sprintf( zFileName, "SPEECH\\SNITCH\\%03d_%03d.wav", usVoiceSet, usQuoteNum );
}
}
}
}
+57 -10
View File
@@ -10900,7 +10900,11 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
if ( !FileExists( zFilename ) )
{
sprintf( zFilename, "BATTLESNDS\\%03d_%s%d.wav", usVoiceSet, gBattleSndsData[ubSoundID].zName, numsounds + 1 );
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 ) )
@@ -10920,7 +10924,12 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
sprintf( zFilename, "BATTLESNDS\\%03d_%s%d.ogg", 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.mp3", usVoiceSet, gBattleSndsData[ubSoundID].zName, soundtoplay );
if ( !FileExists( zFilename ) )
sprintf( zFilename, "BATTLESNDS\\%03d_%s%d.wav", usVoiceSet, gBattleSndsData[ubSoundID].zName, soundtoplay );
}
}
else
{
@@ -10935,6 +10944,12 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
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 ( !FileExists( zFilename ) )
@@ -10945,7 +10960,11 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
sprintf( zFilename, "BATTLESNDS\\f_%s.ogg", gBattleSndsData[ubSoundID].zName );
if ( !FileExists( zFilename ) )
{
sprintf( zFilename, "BATTLESNDS\\f_%s.wav", gBattleSndsData[ubSoundID].zName );
sprintf( zFilename, "BATTLESNDS\\f_%s.mp3", gBattleSndsData[ubSoundID].zName );
if ( !FileExists( zFilename ) )
{
sprintf( zFilename, "BATTLESNDS\\f_%s.wav", gBattleSndsData[ubSoundID].zName );
}
}
}
else
@@ -10953,7 +10972,11 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
sprintf( zFilename, "BATTLESNDS\\m_%s.ogg", gBattleSndsData[ubSoundID].zName );
if ( !FileExists( zFilename ) )
{
sprintf( zFilename, "BATTLESNDS\\m_%s.wav", gBattleSndsData[ubSoundID].zName );
sprintf( zFilename, "BATTLESNDS\\m_%s.mp3", gBattleSndsData[ubSoundID].zName );
if ( !FileExists( zFilename ) )
{
sprintf( zFilename, "BATTLESNDS\\m_%s.wav", gBattleSndsData[ubSoundID].zName );
}
}
}
}
@@ -10973,7 +10996,11 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
sprintf( zFilename, "BATTLESNDS\\kid%d_dying.ogg", pSoldier->ubBattleSoundID );
if ( !FileExists( zFilename ) )
{
sprintf( zFilename, "BATTLESNDS\\kid%d_dying.wav", pSoldier->ubBattleSoundID );
sprintf( zFilename, "BATTLESNDS\\kid%d_dying.mp3", pSoldier->ubBattleSoundID );
if ( !FileExists( zFilename ) )
{
sprintf( zFilename, "BATTLESNDS\\kid%d_dying.wav", pSoldier->ubBattleSoundID );
}
}
}
else
@@ -10981,7 +11008,11 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
sprintf( zFilename, "BATTLESNDS\\kid%d_%s.ogg", 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_%s.mp3", pSoldier->ubBattleSoundID, gBattleSndsData[ubSoundID].zName );
if ( !FileExists( zFilename ) )
{
sprintf( zFilename, "BATTLESNDS\\kid%d_%s.wav", pSoldier->ubBattleSoundID, gBattleSndsData[ubSoundID].zName );
}
}
}
}
@@ -10992,7 +11023,11 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
sprintf( zFilename, "BATTLESNDS\\zombie_die.ogg" );
if ( !FileExists( zFilename ) )
{
sprintf( zFilename, "BATTLESNDS\\zombie_die.wav" );
sprintf( zFilename, "BATTLESNDS\\zombie_die.mp3" );
if ( !FileExists( zFilename ) )
{
sprintf( zFilename, "BATTLESNDS\\zombie_die.wav" );
}
}
}
else
@@ -11000,7 +11035,11 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
sprintf( zFilename, "BATTLESNDS\\zombie_%s.ogg", gBattleSndsData[ubSoundID].zName );
if ( !FileExists( zFilename ) )
{
sprintf( zFilename, "BATTLESNDS\\zombie_%s.wav", gBattleSndsData[ubSoundID].zName );
sprintf( zFilename, "BATTLESNDS\\zombie_%s.mp3", gBattleSndsData[ubSoundID].zName );
if ( !FileExists( zFilename ) )
{
sprintf( zFilename, "BATTLESNDS\\zombie_%s.wav", gBattleSndsData[ubSoundID].zName );
}
}
}
}
@@ -11011,7 +11050,11 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
sprintf( zFilename, "BATTLESNDS\\bad%d_die.ogg", pSoldier->ubBattleSoundID );
if ( !FileExists( zFilename ) )
{
sprintf( zFilename, "BATTLESNDS\\bad%d_die.wav", pSoldier->ubBattleSoundID );
sprintf( zFilename, "BATTLESNDS\\bad%d_die.mp3", pSoldier->ubBattleSoundID );
if ( !FileExists( zFilename ) )
{
sprintf( zFilename, "BATTLESNDS\\bad%d_die.wav", pSoldier->ubBattleSoundID );
}
}
}
else
@@ -11019,7 +11062,11 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
sprintf( zFilename, "BATTLESNDS\\bad%d_%s.ogg", 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_%s.mp3", pSoldier->ubBattleSoundID, gBattleSndsData[ubSoundID].zName );
if ( !FileExists( zFilename ) )
{
sprintf( zFilename, "BATTLESNDS\\bad%d_%s.wav", pSoldier->ubBattleSoundID, gBattleSndsData[ubSoundID].zName );
}
}
}
}
+24 -40
View File
@@ -151,57 +151,41 @@ BOOLEAN MusicPlay(UINT32 uiNum)
if ( NewSound == FALSE && MusicMode == MUSIC_OLD_TYPE )
{
#endif
sprintf( zFileName, "%s.ogg", szMusicList[uiNum] );
sprintf( zFileName, "%s.mp3", szMusicList[uiNum] );
if ( !FileExists( zFileName ) )
sprintf( zFileName, "%s.wav", szMusicList[uiNum] );
{
sprintf( zFileName, "%s.ogg", szMusicList[uiNum] );
if ( !FileExists( zFileName ) )
{
sprintf( zFileName, "%s.wav", szMusicList[uiNum] );
}
}
#ifdef NEWMUSIC
}
else if ( NewSound == TRUE )
{
//sprintf( zFileName, szMusicList[15] );
if ( MusicMode == MUSIC_TACTICAL_NOTHING )
CHAR8 modstr[32] = "";
switch ( MusicMode )
{
sprintf( zFileName, "%s\\NOTHING_%d.ogg", szMusicList[15], uiNum);
if ( !FileExists( zFileName ) )
sprintf( zFileName, "%s\\NOTHING_%d.wav", szMusicList[15], uiNum );
case MUSIC_TACTICAL_NOTHING: sprintf( modstr, "NOTHING_" ); break;
case MUSIC_TACTICAL_ENEMYPRESENT: sprintf( modstr, "TENSOR_" ); break;
case MUSIC_TACTICAL_BATTLE: sprintf( modstr, "BATTLE_" ); break;
case MUSIC_TACTICAL_VICTORY: sprintf( modstr, "TRIUMPH_" ); break;
case MUSIC_TACTICAL_BATTLE_MUSIC: sprintf( modstr, "CREATURE_BATTLE_" ); break;
case MUSIC_TACTICAL_CREEPY_MUSIC: sprintf( modstr, "CREEPY_" ); break;
default: break;
}
else if ( MusicMode == MUSIC_TACTICAL_ENEMYPRESENT )
{
sprintf( zFileName, "%s\\TENSOR_%d.ogg", szMusicList[15], uiNum);
if ( !FileExists( zFileName ) )
sprintf( zFileName, "%s\\TENSOR_%d.wav", szMusicList[15], uiNum );
}
else if ( MusicMode == MUSIC_TACTICAL_BATTLE )
{
sprintf( zFileName, "%s\\BATTLE_%d.ogg", szMusicList[15], uiNum);
if ( !FileExists( zFileName ) )
sprintf( zFileName, "%s\\BATTLE_%d.wav", szMusicList[15], uiNum );
}
else if ( MusicMode == MUSIC_TACTICAL_VICTORY )
{
sprintf( zFileName, "%s\\TRIUMPH_%d.ogg", szMusicList[15], uiNum);
sprintf( zFileName, "%s\\%s%d.ogg", szMusicList[15], modstr, uiNum );
if ( !FileExists( zFileName ) )
sprintf( zFileName, "%s\\TRIUMPH_%d.wav", szMusicList[15], uiNum );
}
else if ( MusicMode == MUSIC_TACTICAL_BATTLE_MUSIC )
{
sprintf( zFileName, "%s\\CREATURE_BATTLE_%d.ogg", szMusicList[15], uiNum);
sprintf( zFileName, "%s\\%s%d.wav", szMusicList[15], modstr, uiNum );
if ( !FileExists( zFileName ) )
sprintf( zFileName, "%s\\CREATURE_BATTLE_%d.wav", szMusicList[15], uiNum );
{
sprintf( zFileName, "%s\\%s%d.mp3", szMusicList[15], modstr, uiNum );
}
}
else if ( MusicMode == MUSIC_TACTICAL_CREEPY_MUSIC )
{
sprintf( zFileName, "%s\\CREEPY_%d.ogg", szMusicList[15], uiNum);
if ( !FileExists( zFileName ) )
sprintf( zFileName, "%s\\CREEPY_%d.wav", szMusicList[15], uiNum );
}
else if ( MusicMode == OTHER_MUSIC_TACTICAL )
{
sprintf( zFileName, "%s\\%d.ogg", szMusicList[15], uiNum);
if ( !FileExists( zFileName ) )
sprintf( zFileName, "%s\\%d.wav", szMusicList[15], uiNum );
}
}
#endif
uiMusicHandle = SoundPlayStreamedFile(zFileName, &spParms);