X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=snd_3dras.c;h=0f54d1742fe2fecf3dd0266359ed4309b099ba6c;hb=65f6c04779aa58c69929e0d22967bf152dac17c1;hp=5ef28bc5afa13b66d9fd8a31678088c17044313e;hpb=f14470cac73d0fc2101dfb375e24fbcec871908c;p=xonotic%2Fdarkplaces.git diff --git a/snd_3dras.c b/snd_3dras.c index 5ef28bc5..0f54d174 100644 --- a/snd_3dras.c +++ b/snd_3dras.c @@ -268,7 +268,7 @@ static void S_Play_Common (float fvol, float attenuation){ i++; } - sfx = S_PrecacheSound (name, true, false); + sfx = S_PrecacheSound (name, true, true); if (sfx) S_StartSound (-1, 0, sfx, listener_location, fvol, attenuation); } @@ -588,6 +588,7 @@ sfx_t* S_FindName (const char *name){ return NULL; } int S_LoadSound(sfx_t *sfx, int complain){ + // TODO add SCR_PushLoadingScreen, SCR_PopLoadingScreen calls to this fs_offset_t filesize; char namebuffer[MAX_QPATH +16 ]; char filename [MAX_QPATH +16+4]; @@ -685,11 +686,11 @@ int S_LoadSound(sfx_t *sfx, int complain){ } return false; } -sfx_t *S_PrecacheSound (const char *name, qboolean complain, qboolean lock){ +sfx_t *S_PrecacheSound (const char *name, qboolean complain, qboolean serversound){ sfx_t *sfx; if(ras_version>0 && ras_dll){ #ifdef RAS_PRINT - Con_Printf("Called S_PrecacheSound %s, %i, %i\n",name,complain,lock); + Con_Printf("Called S_PrecacheSound %s, %i, %i\n",name,complain,serversound); #endif if (name == NULL || name[0] == 0) return NULL; @@ -701,12 +702,12 @@ sfx_t *S_PrecacheSound (const char *name, qboolean complain, qboolean lock){ } return NULL; } -void S_ServerSounds (char serversound [][MAX_QPATH], unsigned int numsounds){ +void S_ClearUsed (void){ sfx_t *prev_s, *now_s; unsigned int i; if(ras_version>0 && ras_dll){ - Con_Printf("Called S_ServerSounds\n"); + Con_Printf("Called S_ClearUsed\n"); for(i=0;iflags & SFXFLAG_SERVERSOUND) now_s->flags &= ~SFXFLAG_SERVERSOUND; sfx_next(&prev_s,&now_s); } - - // Add 1 lock and the SFXFLAG_SERVERSOUND flag to each sfx in "serversound" - for (i = 1; i < numsounds; i++){ - now_s = S_FindName (serversound[i]); - if (now_s != NULL) - now_s->flags |= SFXFLAG_SERVERSOUND; - } - - Free_Unlocked_Sfx(); } } } +void S_PurgeUnused(void){ + Free_Unlocked_Sfx(); +} qboolean S_IsSoundPrecached (const sfx_t *sfx){ if(ras_version>0 && ras_dll){ return !sfx->rasptr; @@ -904,7 +899,7 @@ qboolean S_LocalSound (const char *s){ Con_Printf("Called S_LocalSound %s\n",s); #endif - sfx = S_PrecacheSound (s, true, false); + sfx = S_PrecacheSound (s, true, true); if (!sfx) { Con_Printf("S_LocalSound: can't precache %s\n", s); @@ -1007,6 +1002,12 @@ void S_SetChannelVolume (unsigned int ch_ind, float fvol){ } } +float S_GetChannelPosition (unsigned int ch_ind) +{ + // FIXME unsupported + return -1; +} + void S_BlockSound (void){ soundblocked++; } @@ -1022,3 +1023,21 @@ int S_GetSoundRate (void){ Con_Printf("So let's assume 44100.\n"); return 44100; } + +int S_GetSoundChannels (void){ + Con_Printf("Inside 3DRAS, the soundrate of the end-user is NONE of the dev's concern.\n"); + Con_Printf("So let's assume 2.\n"); + return 2; +} + +/* +==================== +SndSys_SendKeyEvents + +Send keyboard events originating from the sound system (e.g. MIDI) +==================== +*/ +void SndSys_SendKeyEvents(void) +{ + // not supported +}