//* // ======================================================================================================================= // ======================================================================================================================= // BOOL sound_Play3DTrack( AUDIO_SAMPLE *psSample ) { TRACK *psTrack; // Check to make sure the requested track is loaded if (!sound_CheckTrack(psSample->iTrack)) { return false; } psTrack = g_apTrack[psSample->iTrack]; return sound_Play3DSample( psTrack, psSample ); }
//* // ======================================================================================================================= // ======================================================================================================================= // static AUDIO_SAMPLE *audio_QueueSample( SDWORD iTrack ) { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ AUDIO_SAMPLE *psSample = NULL; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // return if audio not enabled if ( g_bAudioEnabled == false || g_bAudioPaused == true) { return NULL; } ASSERT( sound_CheckTrack(iTrack) == true, "audio_QueueSample: track %i outside limits\n", iTrack ); // reject track if too many of same ID already in queue if ( audio_CheckSameQueueTracksPlaying(iTrack) == false ) { return NULL; } psSample = (AUDIO_SAMPLE *)calloc(1, sizeof(AUDIO_SAMPLE)); if ( psSample == NULL ) { debug(LOG_ERROR, "audio_QueueSample: Out of memory"); return NULL; } psSample->iTrack = iTrack; psSample->x = SAMPLE_COORD_INVALID; psSample->y = SAMPLE_COORD_INVALID; psSample->z = SAMPLE_COORD_INVALID; psSample->bFinishedPlaying = false; // add to queue audio_AddSampleToTail( &g_psSampleQueue, psSample ); return psSample; }
//* // ======================================================================================================================= // ======================================================================================================================= // SDWORD sound_GetTrackAudibleRadius( SDWORD iTrack ) { sound_CheckTrack(iTrack); return g_apTrack[iTrack]->iAudibleRadius; }
//* // ======================================================================================================================= // ======================================================================================================================= // SDWORD sound_GetTrackVolume( SDWORD iTrack ) { sound_CheckTrack( iTrack ); return g_apTrack[iTrack]->iVol; }
//* // ======================================================================================================================= // ======================================================================================================================= // SDWORD sound_GetTrackTime( SDWORD iTrack ) { sound_CheckTrack( iTrack ); return g_apTrack[iTrack]->iTime; }
//* // ======================================================================================================================= // ======================================================================================================================= // SDWORD sound_GetNumPlaying( SDWORD iTrack ) { sound_CheckTrack( iTrack ); return g_apTrack[iTrack]->iNumPlaying; }
//* // ======================================================================================================================= // ======================================================================================================================= // BOOL sound_TrackLooped( SDWORD iTrack ) { sound_CheckTrack( iTrack ); return g_apTrack[iTrack]->bLoop; }