mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-11 07:11:39 +00:00
Fixed crash that happened with WW2GI. Thanks to supergoofy for helping me to find the problem.
The problem was there(GAME.CON) // loading screen onevent EVENT_GETLOADTILE { sound AAVE // uses spritesound and crashes } endevent Note: the sound was supposed to be played once but with my approach it plays several sounds simultaneously and that's bad. I have chosen not to limit the sound command usage for WW2GI compatibility. I doubt whether I should commit this and decided that it's better to do after all. If you have a better approach, you're welcome. git-svn-id: https://svn.eduke32.com/eduke32@805 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
03b98ea54c
commit
88c8e0681f
1 changed files with 8 additions and 1 deletions
|
@ -512,17 +512,23 @@ void sound(int num)
|
||||||
int spritesound(unsigned int num, int i)
|
int spritesound(unsigned int num, int i)
|
||||||
{
|
{
|
||||||
if (num >= MAXSOUNDS) return -1;
|
if (num >= MAXSOUNDS) return -1;
|
||||||
|
if (i < 0)
|
||||||
|
{
|
||||||
|
sound(num);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
return xyzsound(num,i,SX,SY,SZ);
|
return xyzsound(num,i,SX,SY,SZ);
|
||||||
}
|
}
|
||||||
|
|
||||||
void stopspritesound(int num, int i)
|
void stopspritesound(int num, int i)
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(i);
|
UNREFERENCED_PARAMETER(i);
|
||||||
stopsound(num);
|
if (num >= 0 && num < MAXSOUNDS) stopsound(num);
|
||||||
}
|
}
|
||||||
|
|
||||||
void stopsound(int num)
|
void stopsound(int num)
|
||||||
{
|
{
|
||||||
|
if (num >= 0 && num < MAXSOUNDS)
|
||||||
if (g_sounds[num].num > 0)
|
if (g_sounds[num].num > 0)
|
||||||
{
|
{
|
||||||
FX_StopSound(g_sounds[num].SoundOwner[g_sounds[num].num-1].voice);
|
FX_StopSound(g_sounds[num].SoundOwner[g_sounds[num].num-1].voice);
|
||||||
|
@ -534,6 +540,7 @@ void stopenvsound(int num,int i)
|
||||||
{
|
{
|
||||||
int j, k;
|
int j, k;
|
||||||
|
|
||||||
|
if (num >= 0 && num < MAXSOUNDS)
|
||||||
if (g_sounds[num].num > 0)
|
if (g_sounds[num].num > 0)
|
||||||
{
|
{
|
||||||
k = g_sounds[num].num;
|
k = g_sounds[num].num;
|
||||||
|
|
Loading…
Reference in a new issue