UINT32 PlayJA2AmbientRandom( UINT32 usNum, UINT32 uiTimeMin, UINT32 uiTimeMax) { RANDOMPARMS rpParms; memset(&rpParms, 0xff, sizeof(RANDOMPARMS)); rpParms.uiTimeMin=uiTimeMin; rpParms.uiTimeMax=uiTimeMax; rpParms.uiVolMin = CalculateSoundEffectsVolume( AmbientVols[usNum] ); rpParms.uiVolMax = CalculateSoundEffectsVolume( AmbientVols[usNum] ); rpParms.uiPriority=GROUP_AMBIENT; return(SoundPlayRandom(szAmbientEffects[usNum], &rpParms)); }
UINT32 PlayJA2SampleFromFile( STR8 szFileName, UINT32 usRate, UINT32 ubVolume, UINT32 ubLoops, UINT32 uiPan ) { //SoundLog((CHAR8 *)String(" Play sound %s on volume %d", szFileName, ubVolume)); // does the same thing as PlayJA2Sound, but one only has to pass the filename, not the index of the sound array SOUNDPARMS spParms; memset(&spParms, 0xff, sizeof(SOUNDPARMS)); spParms.uiSpeed = usRate; if ( strstr( szFileName, "WEAPONS" ) == NULL ) { spParms.uiVolume = CalculateSoundEffectsVolume( ubVolume ); } else { spParms.uiVolume = (UINT32)( ( ubVolume / (FLOAT) HIGHVOLUME ) * guiSoundEffectsVolume +.5 ) * (1 + gGameExternalOptions.guiWeaponSoundEffectsVolume / 100); } spParms.uiLoop = ubLoops; spParms.uiPan = uiPan; spParms.uiPriority=GROUP_PLAYER; //SoundLog((CHAR8 *)String(" Play sound %s on volume %d", szFileName, spParms.uiVolume)); return(SoundPlay((STR) szFileName, &spParms)); }
UINT32 PlayJA2Sample( UINT32 usNum, UINT32 usRate, UINT32 ubVolume, UINT32 ubLoops, UINT32 uiPan ) { //SoundLog((CHAR8 *)String(" Play sound %s on volume %d", szSoundEffects[usNum], ubVolume)); SOUNDPARMS spParms; memset(&spParms, 0xff, sizeof(SOUNDPARMS)); spParms.uiSpeed = usRate; if ( strstr( szSoundEffects[usNum], "WEAPONS" ) == NULL ) { spParms.uiVolume = CalculateSoundEffectsVolume( ubVolume ); } else { spParms.uiVolume = (UINT32)( ( ubVolume / (FLOAT) HIGHVOLUME ) * guiSoundEffectsVolume +.5 ) * (1 + gGameExternalOptions.guiWeaponSoundEffectsVolume / 100); } spParms.uiVolume &= 0xFFL; spParms.uiLoop = ubLoops; spParms.uiPan = uiPan & 0xFFL; spParms.uiPriority=GROUP_PLAYER; //SoundLog((CHAR8 *)String(" Play sound %s on volume %d", szSoundEffects[usNum], spParms.uiVolume)); return(SoundPlay(szSoundEffects[usNum], &spParms)); }
UINT32 PlayJA2Ambient( UINT32 usNum, UINT32 ubVolume, UINT32 ubLoops) { SOUNDPARMS spParms; memset(&spParms, 0xff, sizeof(SOUNDPARMS)); spParms.uiVolume = CalculateSoundEffectsVolume( ubVolume ); spParms.uiLoop = ubLoops; spParms.uiPriority=GROUP_AMBIENT; return(SoundPlay(szAmbientEffects[usNum], &spParms)); }
UINT32 PlaySoldierJA2Sample( UINT16 usID, UINT32 usNum, UINT32 usRate, UINT32 ubVolume, UINT32 ubLoops, UINT32 uiPan, BOOLEAN fCheck ) { if( !( gTacticalStatus.uiFlags & LOADING_SAVED_GAME ) ) { // CHECK IF GUY IS ON SCREEN BEFORE PLAYING! if ( ( MercPtrs[ usID ]->bVisible != -1 ) || !fCheck ) { return( PlayJA2Sample( usNum, usRate, CalculateSoundEffectsVolume( ubVolume ), ubLoops, uiPan ) ); } } return( 0 ); }
UINT32 PlayJA2StreamingSample( UINT32 usNum, UINT32 usRate, UINT32 ubVolume, UINT32 ubLoops, UINT32 uiPan ) { SOUNDPARMS spParms; memset(&spParms, 0xff, sizeof(SOUNDPARMS)); spParms.uiSpeed = usRate; spParms.uiVolume = CalculateSoundEffectsVolume( ubVolume ); spParms.uiLoop = ubLoops; spParms.uiPan = uiPan; spParms.uiPriority=GROUP_PLAYER; return(SoundPlayStreamedFile(szSoundEffects[usNum], &spParms)); }
UINT32 PlayJA2SampleFromFile( STR8 szFileName, UINT32 usRate, UINT32 ubVolume, UINT32 ubLoops, UINT32 uiPan ) { // does the same thing as PlayJA2Sound, but one only has to pass the filename, not the index of the sound array SOUNDPARMS spParms; memset(&spParms, 0xff, sizeof(SOUNDPARMS)); spParms.uiSpeed = usRate; spParms.uiVolume = CalculateSoundEffectsVolume( ubVolume ); spParms.uiLoop = ubLoops; spParms.uiPan = uiPan; spParms.uiPriority=GROUP_PLAYER; return(SoundPlay(szFileName, &spParms)); }