mirror of
https://github.com/DrBeef/Raze.git
synced 2025-01-19 15:40:58 +00:00
- floatiified SW PlaySound
This commit is contained in:
parent
50668e45dd
commit
9486d39360
3 changed files with 15 additions and 24 deletions
|
@ -1651,7 +1651,7 @@ enum
|
|||
|
||||
short SoundAngle(int x, int y);
|
||||
//void PlaySound(int num, short angle, short vol);
|
||||
int _PlaySound(int num, DSWActor* sprite, PLAYER* player, const vec3_t *const pos, int flags, int channel, EChanFlags sndflags);
|
||||
int _PlaySound(int num, DSWActor* sprite, PLAYER* player, const DVector3 *const pos, int flags, int channel, EChanFlags sndflags);
|
||||
void InitAmbient(int num, DSWActor* actor);
|
||||
|
||||
inline void PlaySound(int num, PLAYER* player, int flags, int channel = 8, EChanFlags sndflags = CHANF_NONE)
|
||||
|
@ -1662,18 +1662,9 @@ inline void PlaySound(int num, int flags, int channel = 8, EChanFlags sndflags =
|
|||
{
|
||||
_PlaySound(num, nullptr, nullptr, nullptr, flags, channel, sndflags);
|
||||
}
|
||||
inline void PlaySound(int num, vec3_t *pos, int flags, int channel = 8, EChanFlags sndflags = CHANF_NONE)
|
||||
{
|
||||
_PlaySound(num, nullptr, nullptr, pos, flags, channel, sndflags);
|
||||
}
|
||||
inline void PlaySound(int num, const vec3_t &pos, int flags, int channel = 8, EChanFlags sndflags = CHANF_NONE)
|
||||
{
|
||||
_PlaySound(num, nullptr, nullptr, &pos, flags, channel, sndflags);
|
||||
}
|
||||
inline void PlaySound(int num, const DVector3 &pos, int flags, int channel = 8, EChanFlags sndflags = CHANF_NONE)
|
||||
{
|
||||
vec3_t ppos = { int(pos.X * worldtoint), int(pos.Y * worldtoint), int(pos.Z * zworldtoint) };
|
||||
_PlaySound(num, nullptr, nullptr, &ppos, flags, channel, sndflags);
|
||||
_PlaySound(num, nullptr, nullptr, &pos, flags, channel, sndflags);
|
||||
}
|
||||
|
||||
int _PlayerSound(int num, PLAYER* pp);
|
||||
|
|
|
@ -625,13 +625,13 @@ void GameInterface::UpdateSounds(void)
|
|||
//
|
||||
//==========================================================================
|
||||
|
||||
int _PlaySound(int num, DSWActor* actor, PLAYER* pp, const vec3_t* const ppos, int flags, int channel, EChanFlags cflags)
|
||||
int _PlaySound(int num, DSWActor* actor, PLAYER* pp, const DVector3* const ppos, int flags, int channel, EChanFlags cflags)
|
||||
{
|
||||
if (Prediction || !SoundEnabled() || !soundEngine->isValidSoundId(num))
|
||||
return -1;
|
||||
|
||||
auto sps = actor;
|
||||
auto pos = ppos ? *ppos : vec3_t(0, 0, 0);
|
||||
auto pos = ppos ? *ppos : DVector3(0, 0, 0);
|
||||
|
||||
auto vp = &voc[num];
|
||||
int sourcetype = SOURCE_None;
|
||||
|
@ -643,13 +643,13 @@ int _PlaySound(int num, DSWActor* actor, PLAYER* pp, const vec3_t* const ppos, i
|
|||
{
|
||||
if (actor && !ppos)
|
||||
{
|
||||
pos = actor->int_pos();
|
||||
pos = actor->spr.pos;
|
||||
actor = nullptr;
|
||||
sourcetype = SOURCE_Unattached;
|
||||
}
|
||||
else if (pp && !ppos)
|
||||
{
|
||||
pos = pp->int_ppos();
|
||||
pos = pp->pos;
|
||||
pp = nullptr;
|
||||
sourcetype = SOURCE_Unattached;
|
||||
}
|
||||
|
|
|
@ -11647,7 +11647,7 @@ int InitSwordAttack(PLAYER* pp)
|
|||
{
|
||||
case ZILLA_RUN_R0:
|
||||
SpawnSwordSparks(pp, hit.hitSector, nullptr, hit.int_hitpos().X, hit.int_hitpos().Y, hit.int_hitpos().Z, daang);
|
||||
PlaySound(DIGI_SWORDCLANK, hit.int_hitpos(), v3df_none);
|
||||
PlaySound(DIGI_SWORDCLANK, hit.hitpos, v3df_none);
|
||||
break;
|
||||
case TRASHCAN:
|
||||
if (hitActor->user.WaitTics <= 0)
|
||||
|
@ -11656,7 +11656,7 @@ int InitSwordAttack(PLAYER* pp)
|
|||
ChangeState(hitActor, s_TrashCanPain);
|
||||
}
|
||||
SpawnSwordSparks(pp, hit.hitSector, nullptr, hit.int_hitpos().X, hit.int_hitpos().Y, hit.int_hitpos().Z, daang);
|
||||
PlaySound(DIGI_SWORDCLANK, hit.int_hitpos(), v3df_none);
|
||||
PlaySound(DIGI_SWORDCLANK, hit.hitpos, v3df_none);
|
||||
PlaySound(DIGI_TRASHLID, hitActor, v3df_none);
|
||||
break;
|
||||
case PACHINKO1:
|
||||
|
@ -11665,7 +11665,7 @@ int InitSwordAttack(PLAYER* pp)
|
|||
case PACHINKO4:
|
||||
case 623:
|
||||
SpawnSwordSparks(pp, hit.hitSector, nullptr, hit.int_hitpos().X, hit.int_hitpos().Y, hit.int_hitpos().Z, daang);
|
||||
PlaySound(DIGI_SWORDCLANK, hit.int_hitpos(), v3df_none);
|
||||
PlaySound(DIGI_SWORDCLANK, hit.hitpos, v3df_none);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -11710,7 +11710,7 @@ int InitSwordAttack(PLAYER* pp)
|
|||
else
|
||||
{
|
||||
SpawnSwordSparks(pp, hit.hitSector, hit.hitWall, hit.int_hitpos().X, hit.int_hitpos().Y, hit.int_hitpos().Z, daang);
|
||||
PlaySound(DIGI_SWORDCLANK, hit.int_hitpos(), v3df_none);
|
||||
PlaySound(DIGI_SWORDCLANK, hit.hitpos, v3df_none);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -11817,7 +11817,7 @@ int InitFistAttack(PLAYER* pp)
|
|||
{
|
||||
case ZILLA_RUN_R0:
|
||||
SpawnSwordSparks(pp, hit.hitSector, nullptr, hit.int_hitpos().X, hit.int_hitpos().Y, hit.int_hitpos().Z, daang);
|
||||
PlaySound(DIGI_ARMORHIT, hit.int_hitpos(), v3df_none);
|
||||
PlaySound(DIGI_ARMORHIT, hit.hitpos, v3df_none);
|
||||
break;
|
||||
case TRASHCAN:
|
||||
if (hitActor->user.WaitTics <= 0)
|
||||
|
@ -11826,7 +11826,7 @@ int InitFistAttack(PLAYER* pp)
|
|||
ChangeState(hitActor, s_TrashCanPain);
|
||||
}
|
||||
SpawnSwordSparks(pp, hit.hitSector, nullptr, hit.int_hitpos().X, hit.int_hitpos().Y, hit.int_hitpos().Z, daang);
|
||||
PlaySound(DIGI_ARMORHIT, hit.int_hitpos(), v3df_none);
|
||||
PlaySound(DIGI_ARMORHIT, hit.hitpos, v3df_none);
|
||||
PlaySound(DIGI_TRASHLID, hitActor, v3df_none);
|
||||
break;
|
||||
case PACHINKO1:
|
||||
|
@ -11835,7 +11835,7 @@ int InitFistAttack(PLAYER* pp)
|
|||
case PACHINKO4:
|
||||
case 623:
|
||||
SpawnSwordSparks(pp, hit.hitSector, nullptr, hit.int_hitpos().X, hit.int_hitpos().Y, hit.int_hitpos().Z, daang);
|
||||
PlaySound(DIGI_ARMORHIT, hit.int_hitpos(), v3df_none);
|
||||
PlaySound(DIGI_ARMORHIT, hit.hitpos, v3df_none);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -11863,7 +11863,7 @@ int InitFistAttack(PLAYER* pp)
|
|||
case 5063:
|
||||
case 4947:
|
||||
SpawnSwordSparks(pp, hit.hitSector, nullptr, hit.int_hitpos().X, hit.int_hitpos().Y, hit.int_hitpos().Z, daang);
|
||||
PlaySound(DIGI_ARMORHIT, hit.int_hitpos(), v3df_none);
|
||||
PlaySound(DIGI_ARMORHIT, hit.hitpos, v3df_none);
|
||||
if (RandomRange(1000) > 700)
|
||||
PlayerUpdateHealth(pp,1); // Give some health
|
||||
hitActor->spr.cstat |= (CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN);
|
||||
|
@ -11893,7 +11893,7 @@ int InitFistAttack(PLAYER* pp)
|
|||
else
|
||||
{
|
||||
SpawnSwordSparks(pp, hit.hitSector, hit.hitWall, hit.int_hitpos().X, hit.int_hitpos().Y, hit.int_hitpos().Z, daang);
|
||||
PlaySound(DIGI_ARMORHIT, hit.int_hitpos(), v3df_none);
|
||||
PlaySound(DIGI_ARMORHIT, hit.hitpos, v3df_none);
|
||||
if (PlayerTakeDamage(pp, nullptr))
|
||||
{
|
||||
PlayerUpdateHealth(pp, -(RandomRange(2<<8)>>8));
|
||||
|
|
Loading…
Reference in a new issue