mirror of
https://github.com/openmoh/openmohaa.git
synced 2025-04-28 13:47:58 +03:00
Add tmvolume from Spearhead and Breakthrough
This commit is contained in:
parent
51c7e27bc1
commit
5edee7d12e
2 changed files with 34 additions and 3 deletions
|
@ -646,6 +646,8 @@ qboolean S_OPENAL_Init()
|
|||
Cmd_AddCommand("tmstart", S_TriggeredMusic_Start);
|
||||
Cmd_AddCommand("tmstartloop", S_TriggeredMusic_StartLoop);
|
||||
Cmd_AddCommand("tmstop", S_TriggeredMusic_Stop);
|
||||
// Added in 2.0
|
||||
Cmd_AddCommand("tmvolume", S_TriggeredMusic_Volume);
|
||||
|
||||
S_OPENAL_ClearLoopingSounds();
|
||||
load_sfx_info();
|
||||
|
@ -3049,7 +3051,13 @@ bool openal_channel::set_sfx(sfx_t *pSfx)
|
|||
qalGenBuffers(1, &pSfx->buffer);
|
||||
alDieIfError();
|
||||
|
||||
qalBufferData(pSfx->buffer, fmt, &pSfx->data[pSfx->info.dataofs], pSfx->info.datasize - pSfx->info.dataofs, pSfx->info.rate);
|
||||
qalBufferData(
|
||||
pSfx->buffer,
|
||||
fmt,
|
||||
&pSfx->data[pSfx->info.dataofs],
|
||||
pSfx->info.datasize - pSfx->info.dataofs,
|
||||
pSfx->info.rate
|
||||
);
|
||||
alDieIfError();
|
||||
}
|
||||
}
|
||||
|
@ -4139,6 +4147,28 @@ void S_TriggeredMusic_Stop()
|
|||
openal.tm_loopcount = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
==============
|
||||
S_TriggeredMusic_Volume
|
||||
|
||||
Added in 2.0
|
||||
==============
|
||||
*/
|
||||
void S_TriggeredMusic_Volume()
|
||||
{
|
||||
if (!s_bSoundStarted) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (Cmd_Argc() != 2) {
|
||||
Com_Printf("tmvolume <0-1>\n\n");
|
||||
return;
|
||||
}
|
||||
|
||||
openal.chan_trig_music.fVolume = atof(Cmd_Argv(1));
|
||||
music_volume_changed = true;
|
||||
}
|
||||
|
||||
/*
|
||||
==============
|
||||
S_TriggeredMusic_Pause
|
||||
|
@ -4565,7 +4595,7 @@ U32 openal_channel_two_d_stream::sample_offset()
|
|||
alDieIfError();
|
||||
|
||||
totalQueueLength = getQueueLength();
|
||||
bytesPerSample = getBytesPerSample();
|
||||
bytesPerSample = getBytesPerSample();
|
||||
|
||||
assert(playerByteOffset < totalQueueLength);
|
||||
assert(streamNextOffset >= totalQueueLength || stream);
|
||||
|
@ -4878,7 +4908,7 @@ unsigned int openal_channel_two_d_stream::getCurrentStreamPosition() const
|
|||
if (streamNextOffset >= queueLength) {
|
||||
return streamNextOffset - queueLength;
|
||||
} else if (streamHandle) {
|
||||
snd_stream_t* stream = (snd_stream_t*)streamHandle;
|
||||
snd_stream_t *stream = (snd_stream_t *)streamHandle;
|
||||
return (stream->info.size + streamNextOffset - queueLength) % stream->info.size;
|
||||
} else {
|
||||
return queueLength - streamNextOffset;
|
||||
|
|
|
@ -150,6 +150,7 @@ void S_TriggeredMusic_SetupHandle(const char* pszName, int iLoopCount, int iOffs
|
|||
void S_TriggeredMusic_Start();
|
||||
void S_TriggeredMusic_StartLoop();
|
||||
void S_TriggeredMusic_Stop();
|
||||
void S_TriggeredMusic_Volume();
|
||||
void S_TriggeredMusic_Pause();
|
||||
void S_TriggeredMusic_Unpause();
|
||||
void S_TriggeredMusic_PlayIntroMusic();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue