mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-10 23:02:03 +00:00
Exhumed sound coordinate fixes
This commit is contained in:
parent
999840a9b5
commit
7d725bfe8a
1 changed files with 6 additions and 24 deletions
|
@ -129,7 +129,7 @@ bool looped[kMaxSounds];
|
||||||
|
|
||||||
short StaticSound[kMaxSounds];
|
short StaticSound[kMaxSounds];
|
||||||
int fakesources[] = { 0, 1, 2, 3 };
|
int fakesources[] = { 0, 1, 2, 3 };
|
||||||
int swirlysources[4];
|
int swirlysources[4]= { 0, 1, 2, 3 };
|
||||||
|
|
||||||
int nLocalChan = 0;
|
int nLocalChan = 0;
|
||||||
|
|
||||||
|
@ -455,20 +455,20 @@ void EXSoundEngine::CalcPosVel(int type, const void* source, const float pt[3],
|
||||||
int which = *(int*)source;
|
int which = *(int*)source;
|
||||||
float phase = ((int)totalclock << (4 + which)) * (M_PI / 1024);
|
float phase = ((int)totalclock << (4 + which)) * (M_PI / 1024);
|
||||||
pos->X = fcampos.X + 256 * cos(phase);
|
pos->X = fcampos.X + 256 * cos(phase);
|
||||||
pos->Y = fcampos.Y + 256 * sin(phase);
|
pos->Z = fcampos.Z + 256 * sin(phase);
|
||||||
}
|
}
|
||||||
else if (type == SOURCE_EXBoss)
|
else if (type == SOURCE_EXBoss)
|
||||||
{
|
{
|
||||||
int which = *(int*)source;
|
int which = *(int*)source;
|
||||||
*pos = fcampos;
|
*pos = fcampos;
|
||||||
// Should be positioned in 90° intervals.
|
// Should be positioned in 90¡ intervals.
|
||||||
switch (which)
|
switch (which)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
case 0: pos->X -= 256; break;
|
case 0: pos->X -= 256; break;
|
||||||
case 1: pos->Y -= 256; break;
|
case 1: pos->Z -= 256; break;
|
||||||
case 2: pos->X += 256; break;
|
case 2: pos->X += 256; break;
|
||||||
case 3: pos->Y += 256; break;
|
case 3: pos->Z += 256; break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (type == SOURCE_Actor)
|
else if (type == SOURCE_Actor)
|
||||||
|
@ -493,12 +493,6 @@ void EXSoundEngine::CalcPosVel(int type, const void* source, const float pt[3],
|
||||||
//
|
//
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
int GetDistFromDXDY(int dx, int dy)
|
|
||||||
{
|
|
||||||
int nSqr = dx*dx+dy*dy;
|
|
||||||
return (nSqr>>3)-(nSqr>>5);
|
|
||||||
}
|
|
||||||
|
|
||||||
void UpdateSounds()
|
void UpdateSounds()
|
||||||
{
|
{
|
||||||
if (nFreeze)
|
if (nFreeze)
|
||||||
|
@ -574,19 +568,7 @@ void PlayFX2(unsigned short nSound, short nSprite)
|
||||||
soundz = sprite[nSprite].z;
|
soundz = sprite[nSprite].z;
|
||||||
}
|
}
|
||||||
|
|
||||||
int dx = (initx-soundx) >> 8;
|
|
||||||
int dy = (inity-soundy) >> 8;
|
|
||||||
|
|
||||||
int nDist = GetDistFromDXDY(dx, dy);
|
|
||||||
if (nDist >= 255)
|
|
||||||
{
|
|
||||||
if ((int16_t)nSound > -1)
|
|
||||||
StopSpriteSound(nSound);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
int nVolume = 255;
|
int nVolume = 255;
|
||||||
|
|
||||||
short v10 = (nSound&0xe00)>>9;
|
short v10 = (nSound&0xe00)>>9;
|
||||||
nSound &= 0x1ff;
|
nSound &= 0x1ff;
|
||||||
|
|
||||||
|
@ -622,7 +604,7 @@ void PlayFXAtXYZ(unsigned short ax, int x, int y, int z, int nSector)
|
||||||
soundx = x;
|
soundx = x;
|
||||||
soundy = y;
|
soundy = y;
|
||||||
soundz = z;
|
soundz = z;
|
||||||
soundsect = nSector&0xfff;
|
soundsect = nSector&0x3fff;
|
||||||
PlayFX2(ax, -1);
|
PlayFX2(ax, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue