コード例 #1
0
ファイル: track.c プロジェクト: blezek/warzone2100
//*
// =======================================================================================================================
// =======================================================================================================================
//
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 );
}
コード例 #2
0
ファイル: audio.cpp プロジェクト: JCDG/warzone2100
//*
// =======================================================================================================================
// =======================================================================================================================
//
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;
}
コード例 #3
0
ファイル: track.c プロジェクト: blezek/warzone2100
//*
// =======================================================================================================================
// =======================================================================================================================
//
SDWORD sound_GetTrackAudibleRadius( SDWORD iTrack )
{
    sound_CheckTrack(iTrack);
    return g_apTrack[iTrack]->iAudibleRadius;
}
コード例 #4
0
ファイル: track.c プロジェクト: blezek/warzone2100
//*
// =======================================================================================================================
// =======================================================================================================================
//
SDWORD sound_GetTrackVolume( SDWORD iTrack )
{
    sound_CheckTrack( iTrack );
    return g_apTrack[iTrack]->iVol;
}
コード例 #5
0
ファイル: track.c プロジェクト: blezek/warzone2100
//*
// =======================================================================================================================
// =======================================================================================================================
//
SDWORD sound_GetTrackTime( SDWORD iTrack )
{
    sound_CheckTrack( iTrack );
    return g_apTrack[iTrack]->iTime;
}
コード例 #6
0
ファイル: track.c プロジェクト: blezek/warzone2100
//*
// =======================================================================================================================
// =======================================================================================================================
//
SDWORD sound_GetNumPlaying( SDWORD iTrack )
{
    sound_CheckTrack( iTrack );
    return g_apTrack[iTrack]->iNumPlaying;
}
コード例 #7
0
ファイル: track.c プロジェクト: blezek/warzone2100
//*
// =======================================================================================================================
// =======================================================================================================================
//
BOOL sound_TrackLooped( SDWORD iTrack )
{
    sound_CheckTrack( iTrack );
    return g_apTrack[iTrack]->bLoop;
}