- use actors in a large parts of spritesound calls.

This commit is contained in:
Christoph Oelckers 2021-11-14 18:09:03 +01:00
parent 09950ffa0a
commit 48f41a143f
26 changed files with 121 additions and 183 deletions

View file

@ -688,7 +688,8 @@ void attack(PLAYER& plr, int const i) {
// if ((krand() & (15 < plr.armortype ? 11 : 10)) != 0)
// return;
auto& spr = sprite[i];
auto actor = &whActors[i];
auto& spr = actor->s();
auto& pspr = sprite[plr.spritenum];
if (!droptheshield && plr.shieldpoints > 0 && plr.selectedgun > 0 && plr.selectedgun < 5) {
@ -731,11 +732,11 @@ void attack(PLAYER& plr, int const i) {
k = 3;
break;
case SKELETONTYPE:
spritesound(S_RIP1 + (krand() % 3), &spr);
spritesound(S_RIP1 + (krand() % 3), actor);
if ((krand() % 2) != 0)
spritesound(S_GORE1 + (krand() % 4), &spr);
spritesound(S_GORE1 + (krand() % 4), actor);
if ((krand() % 2) != 0)
spritesound(S_BREATH1 + (krand() % 6), &spr);
spritesound(S_BREATH1 + (krand() % 6), actor);
if (isWh2())
k = (krand() % 5) + 5;
@ -743,18 +744,18 @@ void attack(PLAYER& plr, int const i) {
k >>= 2;
break;
case KATIETYPE: // damage 5 - 50
spritesound(S_DEMONTHROW, &spr);
spritesound(S_DEMONTHROW, actor);
k = (krand() % 45) + 5;
break;
case DEVILTYPE:
spritesound(S_DEMONTHROW, &spr);
spritesound(S_DEMONTHROW, actor);
if (!isWh2())
k >>= 2;
break;
case KOBOLDTYPE:
spritesound(S_GENSWING, &spr);
spritesound(S_GENSWING, actor);
if ((krand() % 10) > 4) {
spritesound(S_KOBOLDHIT, &pspr);
spritesound(S_BREATH1 + (krand() % 6), &pspr);
@ -767,21 +768,21 @@ void attack(PLAYER& plr, int const i) {
case FREDTYPE:
/* Sounds for Fred (currently copied from Goblin) */
spritesound(S_GENSWING, &spr);
spritesound(S_GENSWING, actor);
if (rand() % 10 > 4)
spritesound(S_SWORD1 + (rand() % 6), &spr);
spritesound(S_SWORD1 + (rand() % 6), actor);
k >>= 3;
break;
case IMPTYPE:
if (!isWh2())
break;
spritesound(S_RIP1 + (krand() % 3), &spr);
spritesound(S_RIP1 + (krand() % 3), actor);
if ((krand() % 2) != 0) {
spritesound(S_GORE1 + (krand() % 4), &spr);
spritesound(S_GORE1 + (krand() % 4), actor);
}
if ((krand() % 2) != 0) {
spritesound(S_BREATH1 + (krand() % 6), &spr);
spritesound(S_BREATH1 + (krand() % 6), actor);
}
k = (krand() % 5) + 5;
@ -793,14 +794,14 @@ void attack(PLAYER& plr, int const i) {
if (isWh2())
break;
spritesound(S_GENSWING, &spr);
spritesound(S_GENSWING, actor);
if ((krand() % 10) > 4)
spritesound(S_SWORD1 + (krand() % 6), &spr);
spritesound(S_SWORD1 + (krand() % 6), actor);
k >>= 2;
break;
case NEWGUYTYPE:
if (spr.picnum == NEWGUYMACE) { // damage 5 - 20
spritesound(S_PLRWEAPON2, &spr);
spritesound(S_PLRWEAPON2, actor);
if (krand() % 10 > 4) {
spritesound(S_KOBOLDHIT, &pspr);
spritesound(S_BREATH1 + (krand() % 6), &pspr);
@ -810,31 +811,31 @@ void attack(PLAYER& plr, int const i) {
}
case KURTTYPE:
case GONZOTYPE:
spritesound(S_GENSWING, &spr);
spritesound(S_GENSWING, actor);
if (spr.picnum == GONZOCSWAT || spr.picnum == GONZOGSWAT) { // damage 5 - 15
if (krand() % 10 > 6)
spritesound(S_SWORD1 + (krand() % 6), &spr);
spritesound(S_SWORD1 + (krand() % 6), actor);
k = (krand() % 15) + 5;
}
else if (spr.picnum == GONZOGHMAT) { // damage 5 - 15
if (krand() % 10 > 6)
spritesound(S_SWORD1 + (krand() % 6), &spr);
spritesound(S_SWORD1 + (krand() % 6), actor);
k = (krand() % 10) + 5;
}
else if (spr.picnum == GONZOGSHAT) { // damage 5 - 20
if (krand() % 10 > 3)
spritesound(S_SWORD1 + (krand() % 6), &spr);
spritesound(S_SWORD1 + (krand() % 6), actor);
k = (krand() % 15) + 5;
}
else if (spr.picnum == KURTAT) { // damage 5 - 15
spritesound(S_GENSWING, &spr);
spritesound(S_GENSWING, actor);
if (krand() % 10 > 3) {
spritesound(S_SWORD1 + (krand() % 6), &spr);
spritesound(S_SWORD1 + (krand() % 6), actor);
}
k = (krand() % 10) + 5;
}
else {
spritesound(S_GENSWING, &spr);
spritesound(S_GENSWING, actor);
if (krand() % 10 > 4) {
spritesound(S_SOCK1 + (krand() % 4), &pspr);
spritesound(S_BREATH1 + (krand() % 6), &pspr);
@ -857,15 +858,15 @@ void attack(PLAYER& plr, int const i) {
if (spr.shade > 30)
k >>= 1;
}
spritesound(S_GENSWING, &spr);
spritesound(S_GENSWING, actor);
if ((krand() % 10) > 3)
spritesound(S_SWORD1 + (krand() % 6), &spr);
spritesound(S_SWORD1 + (krand() % 6), actor);
break;
case MINOTAURTYPE:
spritesound(S_GENSWING, &spr);
spritesound(S_GENSWING, actor);
if (krand() % 10 > 4)
spritesound(S_SWORD1 + (krand() % 6), &spr);
spritesound(S_SWORD1 + (krand() % 6), actor);
if (isWh2())
k = (krand() % 25) + 5;
break;

View file

@ -39,7 +39,7 @@ struct EnemyInfo
return e.attackdist;
};
void set(SPRITE &spr)
void set(SPRITE &spr )
{
spr.clipdist = clipdist;
spr.hitag = getHealth(*this, spr);

View file

@ -6,7 +6,6 @@ BEGIN_WH_NS
static void chasedevil(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -85,7 +84,6 @@ static void diedevil(PLAYER& plr, DWHActor* actor)
static void paindevil(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -132,7 +130,6 @@ static void facedevil(PLAYER& plr, DWHActor* actor)
static void fleedevil(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -167,7 +164,6 @@ static void fleedevil(PLAYER& plr, DWHActor* actor)
static void attackdevil(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
getzrange(spr.x, spr.y, spr.z - 1, spr.sectnum, (spr.clipdist) << 2, CLIPMASK0);
@ -229,7 +225,6 @@ static void frozendevil(PLAYER& plr, DWHActor* actor)
static void nukeddevil(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
if (isWh2()) {

View file

@ -139,27 +139,27 @@ static void castdragon(PLAYER& plr, DWHActor* actor)
case DRAGONATTACK + 17:
case DRAGONATTACK + 4:
if ((krand() % 2) != 0)
spritesound(S_FLAME1, &spr);
spritesound(S_FLAME1, actor);
else
spritesound(S_FIREBALL, &spr);
spritesound(S_FIREBALL, actor);
firebreath(plr, i, 1, 2, LOW);
break;
case DRAGONATTACK + 18:
case DRAGONATTACK + 5:
if ((krand() % 2) != 0)
spritesound(S_FLAME1, &spr);
spritesound(S_FLAME1, actor);
else
spritesound(S_FIREBALL, &spr);
spritesound(S_FIREBALL, actor);
firebreath(plr, i, 2, 1, LOW);
break;
case DRAGONATTACK + 19:
case DRAGONATTACK + 6:
if ((krand() % 2) != 0)
spritesound(S_FLAME1, &spr);
spritesound(S_FLAME1, actor);
else
spritesound(S_FIREBALL, &spr);
spritesound(S_FIREBALL, actor);
firebreath(plr, i, 4, 0, LOW);
break;
@ -174,9 +174,9 @@ static void castdragon(PLAYER& plr, DWHActor* actor)
case DRAGONATTACK2 + 2:
if ((krand() % 2) != 0)
spritesound(S_FLAME1, &spr);
spritesound(S_FLAME1, actor);
else
spritesound(S_FIREBALL, &spr);
spritesound(S_FIREBALL, actor);
firebreath(plr, i, 1, -1, HIGH);
break;

View file

@ -7,7 +7,6 @@ static void throwspank(PLAYER& plr, DWHActor* i);
static void chasefatwitch(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -99,7 +98,6 @@ static void nukedfatwitch(PLAYER& plr, DWHActor* actor)
static void painfatwitch(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -145,7 +143,6 @@ static void facefatwitch(PLAYER& plr, DWHActor* actor)
static void attackfatwitch(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
getzrange(spr.x, spr.y, spr.z - 1, spr.sectnum, (spr.clipdist) << 2, CLIPMASK0);
@ -174,7 +171,6 @@ static void attackfatwitch(PLAYER& plr, DWHActor* actor)
static void fleefatwitch(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -257,7 +253,7 @@ static void throwspank(PLAYER& plr, DWHActor* actor)
return;
auto& spawned = sprite[j];
spritesound(S_WITCHTHROW, &spr);
spritesound(S_WITCHTHROW, actor);
spawned.x = spr.x;
spawned.y = spr.y;

View file

@ -123,7 +123,6 @@ static void attackfish(PLAYER& plr, DWHActor* actor)
static void skirmishfish(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;

View file

@ -8,7 +8,6 @@ static void checkexplfred(PLAYER& plr, DWHActor* i);
static void chasefred(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -85,7 +84,6 @@ static void chasefred(PLAYER& plr, DWHActor* actor)
static void skirmishfred(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -225,7 +223,6 @@ static void attackfred(PLAYER& plr, DWHActor* actor)
static void fleefred(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -263,7 +260,6 @@ static void fleefred(PLAYER& plr, DWHActor* actor)
static void painfred(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;

View file

@ -8,7 +8,6 @@ static void checkexplgoblin(PLAYER& plr, DWHActor* i);
static void chasegoblin(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -112,7 +111,6 @@ static void diegoblin(PLAYER& plr, DWHActor* actor)
static void paingoblin(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -164,7 +162,6 @@ static void facegoblin(PLAYER& plr, DWHActor* actor)
static void fleegoblin(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -210,7 +207,7 @@ static void standgoblin(PLAYER& plr, DWHActor* actor)
switch (spr.picnum) {
case GOBLINCHILL:
spr.picnum = GOBLINSURPRISE;
spritesound(S_GOBPAIN1 + (krand() % 2), &spr);
spritesound(S_GOBPAIN1 + (krand() % 2), actor);
SetNewStatus(actor, CHILL);
break;
default:
@ -320,7 +317,6 @@ static void nukedgoblin(PLAYER& plr, DWHActor* actor)
static void skirmishgoblin(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -457,9 +453,9 @@ static void goblinWar(PLAYER& plr, DWHActor* actor)
// goblins are fighting
// JSA_DEMO
if (krand() % 10 > 6)
spritesound(S_GENSWING, &spr);
spritesound(S_GENSWING, actor);
if (krand() % 10 > 6)
spritesound(S_SWORD1 + (krand() % 6), &spr);
spritesound(S_SWORD1 + (krand() % 6), actor);
if (checkdist(plr, actor))
addhealth(plr, -(krand() & 5));

View file

@ -9,7 +9,6 @@ static boolean patrolprocess(PLAYER& plr, DWHActor* i);
static void chasegonzo(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -222,7 +221,6 @@ static void resurectgonzo(PLAYER& plr, DWHActor* actor)
static void skirmishgonzo(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -257,7 +255,6 @@ static void searchgonzo(PLAYER& plr, DWHActor* actor)
static void nukedgonzo(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
chunksofmeat(plr, actor,spr.x, spr.y, spr.z, spr.sectnum, spr.ang);
@ -292,7 +289,6 @@ static void frozengonzo(PLAYER& plr, DWHActor* actor)
static void paingonzo(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -495,7 +491,7 @@ static void castgonzo(PLAYER& plr, DWHActor* actor)
if (spr.picnum == GONZOCSWAT) {
spr.extra--;
spritesound(S_GENTHROW, &spr);
spritesound(S_GENTHROW, actor);
gonzopike(i, plr);
SetNewStatus(actor, CHASE);
}

View file

@ -152,7 +152,6 @@ static void resurectgron(PLAYER& plr, DWHActor* actor)
static void skirmishgron(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -187,7 +186,6 @@ static void searchgron(PLAYER& plr, DWHActor* actor)
static void nukedgron(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
if (isWh2()) {
@ -227,7 +225,6 @@ static void frozengron(PLAYER& plr, DWHActor* actor)
static void paingron(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -339,7 +336,6 @@ static void attackgron(PLAYER& plr, DWHActor* actor)
static void fleegron(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;

View file

@ -225,7 +225,7 @@ static void castguardian(PLAYER& plr, DWHActor* actor)
if (spr.picnum == GUARDIANATTACK + 6) {
spr.picnum = GUARDIAN;
spritesound(S_FIREBALL, &spr);
spritesound(S_FIREBALL, actor);
castspell(plr, actor);
SetNewStatus(actor, CHASE);
}

View file

@ -7,7 +7,6 @@ static void checkexplimp(PLAYER& plr, DWHActor* i);
static void chaseimp(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -104,7 +103,6 @@ static void frozenimp(PLAYER& plr, DWHActor* actor)
static void painimp(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -142,7 +140,6 @@ static void dieimp(PLAYER& plr, DWHActor* actor)
static void nukedimp(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
chunksofmeat(plr, actor,spr.x, spr.y, spr.z, spr.sectnum, spr.ang);
@ -199,7 +196,6 @@ static void faceimp(PLAYER& plr, DWHActor* actor)
static void fleeimp(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -283,7 +279,6 @@ static void searchimp(PLAYER& plr, DWHActor* actor)
static void skirmishimp(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;

View file

@ -7,7 +7,6 @@ void spawnabaddy(DWHActor* i, int monster);
static void chasejudy(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -109,7 +108,6 @@ static void nukedjudy(PLAYER& plr, DWHActor* actor)
static void painjudy(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -157,7 +155,6 @@ static void facejudy(PLAYER& plr, DWHActor* actor)
static void attackjudy(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
getzrange(spr.x, spr.y, spr.z - 1, spr.sectnum, (spr.clipdist) << 2, CLIPMASK0);
@ -187,7 +184,6 @@ static void attackjudy(PLAYER& plr, DWHActor* actor)
static void fleejudy(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -233,7 +229,7 @@ static void castjudy(PLAYER& plr, DWHActor* actor)
if (spr.picnum == JUDYATTACK1 + 3) {
spr.picnum = JUDYATTACK1;
spritesound(S_JUDY1 + krand() % 4, &sprite[i]);
spritesound(S_JUDY1 + krand() % 4, actor);
if (krand() % 100 > 70) {
castspell(plr, actor);
}
@ -288,7 +284,7 @@ static void castjudy(PLAYER& plr, DWHActor* actor)
}
else if (spr.picnum == JUDYATTACK2 + 8) {
spr.picnum = JUDYATTACK2;
spritesound(S_JUDY1 + krand() % 4, &sprite[i]);
spritesound(S_JUDY1 + krand() % 4, actor);
if (krand() % 100 > 50)
skullycastspell(plr, i);
else {

View file

@ -7,7 +7,6 @@ void spawnabaddy(DWHActor* i, int monster);
static void chasekatie(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -84,7 +83,6 @@ static void searchkatie(PLAYER& plr, DWHActor* actor)
static void painkatie(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -132,7 +130,6 @@ static void facekatie(PLAYER& plr, DWHActor* actor)
static void attackkatie(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
getzrange(spr.x, spr.y, spr.z - 1, spr.sectnum, (spr.clipdist) << 2, CLIPMASK0);
@ -161,7 +158,6 @@ static void attackkatie(PLAYER& plr, DWHActor* actor)
static void fleekatie(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -201,7 +197,6 @@ static void fleekatie(PLAYER& plr, DWHActor* actor)
static void castkatie(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -224,7 +219,7 @@ static void castkatie(PLAYER& plr, DWHActor* actor)
}
spr.picnum = KATIE;
spr.extra--;
spritesound(S_FIREBALL, &spr);
spritesound(S_FIREBALL, actor);
SetNewStatus(actor, CHASE);
}
}
@ -243,7 +238,7 @@ static void castkatie(PLAYER& plr, DWHActor* actor)
}
}
spr.picnum = KATIE;
spritesound(S_FIREBALL, &spr);
spritesound(S_FIREBALL, actor);
SetNewStatus(actor, CHASE);
spr.extra--;
}
@ -251,7 +246,7 @@ static void castkatie(PLAYER& plr, DWHActor* actor)
if (spr.picnum == KATIEAT + 16) {
spr.picnum = KATIE;
spritesound(S_FIREBALL, &spr);
spritesound(S_FIREBALL, actor);
castspell(plr, actor);
SetNewStatus(actor, CHASE);
spr.extra++;

View file

@ -15,7 +15,7 @@ static void chasekobold(PLAYER& plr, DWHActor* actor)
spr.lotag = 250;
if ((krand() % 100) > 98)
spritesound(S_KSNARL1 + (krand() % 4), &sprite[i]);
spritesound(S_KSNARL1 + (krand() % 4), actor);
short osectnum = spr.sectnum;
if (cansee(plr.x, plr.y, plr.z, plr.sector, spr.x, spr.y, spr.z - (tileHeight(spr.picnum) << 7),
@ -116,7 +116,6 @@ static void diekobold(PLAYER& plr, DWHActor* actor)
static void painkobold(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -168,7 +167,6 @@ static void facekobold(PLAYER& plr, DWHActor* actor)
static void fleekobold(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -260,7 +258,7 @@ static void searchkobold(PLAYER& plr, DWHActor* actor)
int i = actor->GetSpriteIndex();
if ((krand() % 100) > 98)
spritesound(S_KSNARL1 + (krand() % 4), &sprite[i]);
spritesound(S_KSNARL1 + (krand() % 4), actor);
aisearch(plr, actor, false);
if (!checksector6(actor))
checkexplkobold(plr, actor);
@ -280,7 +278,6 @@ static void frozenkobold(PLAYER& plr, DWHActor* actor)
static void nukedkobold(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
if (isWh2()) {
@ -303,7 +300,6 @@ static void nukedkobold(PLAYER& plr, DWHActor* actor)
static void skirmishkobold(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;

View file

@ -23,7 +23,6 @@ static void standkurt(PLAYER& plr, DWHActor* actor)
static void nukedkurt(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
chunksofmeat(plr, actor,spr.x, spr.y, spr.z, spr.sectnum, spr.ang);

View file

@ -7,7 +7,6 @@ static void checkexplminotaur(PLAYER& plr, DWHActor* i);
static void chaseminotaur(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -106,7 +105,6 @@ static void resurectminotaur(PLAYER& plr, DWHActor* actor)
static void skirmishminotaur(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -134,7 +132,6 @@ static void skirmishminotaur(PLAYER& plr, DWHActor* actor)
static void nukedminotaur(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
if (isWh2()) {
@ -157,7 +154,6 @@ static void nukedminotaur(PLAYER& plr, DWHActor* actor)
static void painminotaur(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -270,7 +266,6 @@ static void dieminotaur(PLAYER& plr, DWHActor* actor)
static void fleeminotaur(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;

View file

@ -24,7 +24,6 @@ static void standnewguy(PLAYER& plr, DWHActor* actor)
static void chasenewguy(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -139,7 +138,6 @@ static void resurectnewguy(PLAYER& plr, DWHActor* actor)
static void skirmishnewguy(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -170,7 +168,6 @@ static void searchnewguy(PLAYER& plr, DWHActor* actor)
static void nukednewguy(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
chunksofmeat(plr, actor,spr.x, spr.y, spr.z, spr.sectnum, spr.ang);
@ -180,7 +177,6 @@ static void nukednewguy(PLAYER& plr, DWHActor* actor)
static void painnewguy(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -227,7 +223,6 @@ static void facenewguy(PLAYER& plr, DWHActor* actor)
static void fleenewguy(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;

View file

@ -7,7 +7,6 @@ static void checkexplskeleton(PLAYER& plr, DWHActor* i);
static void chaseskeleton(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -146,7 +145,6 @@ static void faceskeleton(PLAYER& plr, DWHActor* actor)
static void fleeskeleton(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.picnum = SKELETON;
@ -195,7 +193,7 @@ static void standskeleton(PLAYER& plr, DWHActor* actor)
if (spr.picnum == HANGMAN) {
SetNewStatus(actor, CHILL);
spritesound(S_SKELSEE, &spr);
spritesound(S_SKELSEE, actor);
}
else {
if (plr.shadowtime > 0) {
@ -284,7 +282,6 @@ static void frozenskeleton(PLAYER& plr, DWHActor* actor)
static void nukedskeleton(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
if (isWh2()) {
@ -307,7 +304,6 @@ static void nukedskeleton(PLAYER& plr, DWHActor* actor)
static void skirmishskeleton(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;

View file

@ -5,7 +5,6 @@ BEGIN_WH_NS
static void chaseskully(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -96,7 +95,6 @@ static void nukedskully(PLAYER& plr, DWHActor* actor)
static void painskully(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -144,7 +142,6 @@ static void faceskully(PLAYER& plr, DWHActor* actor)
static void attackskully(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
getzrange(spr.x, spr.y, spr.z - 1, spr.sectnum, (spr.clipdist) << 2, CLIPMASK0);
@ -173,7 +170,6 @@ static void attackskully(PLAYER& plr, DWHActor* actor)
static void fleeskully(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -219,7 +215,7 @@ static void castskully(PLAYER& plr, DWHActor* actor)
if (spr.picnum == SKULLYATTACK + 2) {
spr.picnum = SKULLY;
spritesound(S_SKULLWITCH1 + krand() % 3, &sprite[i]);
spritesound(S_SKULLWITCH1 + krand() % 3, actor);
skullycastspell(plr, i);
SetNewStatus(actor, CHASE);
}

View file

@ -7,7 +7,6 @@ static void checkexplspider(PLAYER& plr, DWHActor* i);
static void chasespider(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -106,7 +105,6 @@ static void resurectspider(PLAYER& plr, DWHActor* actor)
static void skirmishspider(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;
@ -232,7 +230,6 @@ static void attackspider(PLAYER& plr, DWHActor* actor)
static void fleespider(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
spr.lotag -= TICSPERFRAME;

View file

@ -237,7 +237,6 @@ static void diewillow(PLAYER& plr, DWHActor* actor)
static void nukedwillow(PLAYER& plr, DWHActor* actor)
{
int i = actor->GetSpriteIndex();
SPRITE& spr = actor->s();
if (isWh2()) {
@ -269,7 +268,7 @@ static void willowDrain(PLAYER& plr, DWHActor* actor)
spr.lotag -= TICSPERFRAME;
if (spr.lotag < 0) {
spritesound(S_FIREBALL, &spr);
spritesound(S_FIREBALL, actor);
int oldz = spr.z;
spr.z += 6144;
castspell(plr, actor);

View file

@ -87,7 +87,7 @@ void InitItems()
auto& spr = actor->s();
spr.detail = 0;
treasuresfound++;
spritesound(S_TREASURE1, &spr);
spritesound(S_TREASURE1, actor);
int j = krand() % 8;
switch (j) {
case 0:
@ -355,7 +355,7 @@ void InitItems()
case 6:
for (j = 0; j < 8; j++)
explosion(actor->GetSpriteIndex(), spr.x, spr.y, spr.z, spr.owner);
spritesound(S_EXPLODE, &spr);
spritesound(S_EXPLODE, actor);
DeleteActor(actor);
break;
default:
@ -893,7 +893,7 @@ void InitItems()
addhealth(plr, -((krand() % 20) + 5)); // Inflict pain
// make it look and sound painful, too
if ((krand() % 9) == 0) {
spritesound(S_PLRPAIN1 + (rand() % 2), &spr);
spritesound(S_PLRPAIN1 + (rand() % 2), actor);
}
startredflash(10);
DeleteActor(actor);

View file

@ -475,6 +475,10 @@ inline int spritesound(int sn, spritetype *s, int loop = 0, int channel = CHAN_A
return playsound_internal(sn, s, 0, 0, loop, channel);
}
inline int spritesound(int sn, DWHActor* s, int loop = 0, int channel = CHAN_AUTO) {
return playsound_internal(sn, &s->s(), 0, 0, loop, channel);
}
void startmusic(int);
void startsong(int);
void setupmidi();

View file

@ -553,7 +553,7 @@ void animateobjs(PLAYER& plr) {
SetActorPos(actor, &spr.pos);
if (spr.z <= spr.sector()->ceilingz + 32768) {
soundEngine->StopSound(CHAN_CART);
spritesound(S_CLUNK, &spr);
spritesound(S_CLUNK, actor);
ChangeActorStat(actor, 0);
spr.lotag = 1820;
spr.z = spr.sector()->ceilingz + 32768;
@ -599,7 +599,7 @@ void animateobjs(PLAYER& plr) {
SetActorPos(actor, &spr.pos);
if (spr.z >= (spr.sector()->floorz - 32768)) {
soundEngine->StopSound(CHAN_CART);
spritesound(S_CLUNK, &spr);
spritesound(S_CLUNK, actor);
ChangeActorStat(actor, 0);
spr.lotag = 1821;
spr.z = spr.sector()->floorz - 32768;
@ -1251,7 +1251,7 @@ void animateobjs(PLAYER& plr) {
if (cansee(plr.x, plr.y, plr.z, plr.sector, spr.x, spr.y,
spr.z - (tileHeight(spr.picnum) << 7), spr.sectnum)) {
// JSA_NEW
spritesound(S_FIREBALL, &spr);
spritesound(S_FIREBALL, actor);
castspell(plr, actor);
}
}

View file

@ -164,15 +164,15 @@ void newstatus(short sn, int seq) {
ChangeActorStat(actor, BROKENVASE);
switch (spr.picnum) {
case VASEA:
spritesound(S_GLASSBREAK1 + (krand() % 3), &spr);
spritesound(S_GLASSBREAK1 + (krand() % 3), actor);
spr.picnum = SHATTERVASE;
break;
case VASEB:
spritesound(S_GLASSBREAK1 + (krand() % 3), &spr);
spritesound(S_GLASSBREAK1 + (krand() % 3), actor);
spr.picnum = SHATTERVASE2;
break;
case VASEC:
spritesound(S_GLASSBREAK1 + (krand() % 3), &spr);
spritesound(S_GLASSBREAK1 + (krand() % 3), actor);
spr.picnum = SHATTERVASE3;
break;
case STAINGLASS1:
@ -189,7 +189,7 @@ void newstatus(short sn, int seq) {
break;
case FBARRELFALL:
case BARREL:
spritesound(S_BARRELBREAK, &spr);
spritesound(S_BARRELBREAK, actor);
spr.picnum = FSHATTERBARREL;
break;
}
@ -202,27 +202,27 @@ void newstatus(short sn, int seq) {
spr.pal = 7;
break;
case ANIMLEVERDN:
spritesound(S_PULLCHAIN1, &spr);
spritesound(S_PULLCHAIN1, actor);
spr.picnum = LEVERUP;
ChangeActorStat(actor, ANIMLEVERDN);
spr.lotag = 24;
break;
case ANIMLEVERUP:
spritesound(S_PULLCHAIN1, &spr);
spritesound(S_PULLCHAIN1, actor);
spr.picnum = LEVERDOWN;
ChangeActorStat(actor, ANIMLEVERUP);
spr.lotag = 24;
break;
case SKULLPULLCHAIN1:
case PULLTHECHAIN:
spritesound(S_PULLCHAIN1, &spr);
spritesound(S_PULLCHAIN1, actor);
ChangeActorStat(actor, PULLTHECHAIN);
SND_Sound(S_CHAIN1);
spr.lotag = 24;
break;
case FROZEN:
// JSA_NEW
spritesound(S_FREEZE, &spr);
spritesound(S_FREEZE, actor);
ChangeActorStat(actor, FROZEN);
spr.lotag = 3600;
break;
@ -244,7 +244,7 @@ void newstatus(short sn, int seq) {
switch (spr.detail) {
case DEMONTYPE:
spr.lotag = 24;
spritesound(S_GUARDIANPAIN1 + (krand() % 2), &spr);
spritesound(S_GUARDIANPAIN1 + (krand() % 2), actor);
spr.picnum = DEMON - 1;
ChangeActorStat(actor, PAIN);
break;
@ -252,14 +252,14 @@ void newstatus(short sn, int seq) {
spr.lotag = 24;
spr.picnum = NEWGUYPAIN;
ChangeActorStat(actor, PAIN);
spritesound(S_AGM_PAIN1, &spr);
spritesound(S_AGM_PAIN1, actor);
break;
case KURTTYPE:
spr.lotag = 24;
spr.picnum = GONZOCSWPAIN;
ChangeActorStat(actor, PAIN);
spritesound(S_GRONPAINA + (krand() % 3), &spr);
spritesound(S_GRONPAINA + (krand() % 3), actor);
break;
case GONZOTYPE:
@ -274,19 +274,19 @@ void newstatus(short sn, int seq) {
case KURTREADY + 1:
case GONZOCSW:
spr.picnum = GONZOCSWPAIN;
spritesound(S_GRONPAINA + (krand() % 3), &spr);
spritesound(S_GRONPAINA + (krand() % 3), actor);
break;
case GONZOGSW:
spr.picnum = GONZOGSWPAIN;
spritesound(S_GRONPAINA + (krand() % 3), &spr);
spritesound(S_GRONPAINA + (krand() % 3), actor);
break;
case GONZOGHM:
spr.picnum = GONZOGHMPAIN;
spritesound(S_GRONPAINA + (krand() % 3), &spr);
spritesound(S_GRONPAINA + (krand() % 3), actor);
break;
case GONZOGSH:
spr.picnum = GONZOGSHPAIN;
spritesound(S_GRONPAINA, &spr);
spritesound(S_GRONPAINA, actor);
break;
default:
ChangeActorStat(actor, FLEE);
@ -316,7 +316,7 @@ void newstatus(short sn, int seq) {
case GUARDIANTYPE:
spr.lotag = 24;
// spr.picnum=GUARDIANATTACK;
spritesound(S_GUARDIANPAIN1 + (krand() % 2), &spr);
spritesound(S_GUARDIANPAIN1 + (krand() % 2), actor);
if(isWh2()) spr.picnum = GUARDIAN;
else spr.picnum = GUARDIANCHAR;
@ -325,7 +325,7 @@ void newstatus(short sn, int seq) {
case GRONTYPE:
spr.lotag = 24;
ChangeActorStat(actor, PAIN);
spritesound(S_GRONPAINA + krand() % 3, &spr);
spritesound(S_GRONPAINA + krand() % 3, actor);
if(spr.picnum == GRONHAL || spr.picnum == GRONHALATTACK)
spr.picnum = GRONHALPAIN;
@ -337,10 +337,10 @@ void newstatus(short sn, int seq) {
case KOBOLDTYPE:
spr.picnum = KOBOLDDIE;
ChangeActorStat(actor, PAIN);
spritesound(S_KPAIN1 + (krand() % 2), &spr);
spritesound(S_KPAIN1 + (krand() % 2), actor);
break;
case DEVILTYPE:
spritesound(S_MPAIN1, &spr);
spritesound(S_MPAIN1, actor);
spr.picnum = DEVILPAIN;
ChangeActorStat(actor, PAIN);
break;
@ -348,7 +348,7 @@ void newstatus(short sn, int seq) {
spr.picnum = FREDPAIN;
ChangeActorStat(actor, PAIN);
// EG: Sounds for Fred (currently copied from ogre)
spritesound(S_KPAIN1 + (rand() % 2), &spr);
spritesound(S_KPAIN1 + (rand() % 2), actor);
break;
case GOBLINTYPE:
case IMPTYPE:
@ -359,13 +359,13 @@ void newstatus(short sn, int seq) {
} else {
spr.picnum = GOBLINPAIN;
ChangeActorStat(actor, PAIN);
spritesound(S_GOBPAIN1 + (krand() % 2), &spr);
spritesound(S_GOBPAIN1 + (krand() % 2), actor);
}
break;
case MINOTAURTYPE:
spr.picnum = MINOTAURPAIN;
ChangeActorStat(actor, PAIN);
spritesound(S_MPAIN1, &spr);
spritesound(S_MPAIN1, actor);
break;
default:
ChangeActorStat(actor, FLEE);
@ -481,14 +481,14 @@ void newstatus(short sn, int seq) {
break;
case LIFTUP:
if (soundEngine->GetSoundPlayingInfo(SOURCE_Any, nullptr, -1, CHAN_CART) == 0) {
spritesound(S_CLUNK, &spr);
spritesound(S_CLUNK, actor);
spritesound(S_CHAIN1, &spr, 5, CHAN_CART);
}
ChangeActorStat(actor, LIFTUP);
break;
case LIFTDN:
if (soundEngine->GetSoundPlayingInfo(SOURCE_Any, nullptr, -1, CHAN_CART) == 0) {
spritesound(S_CLUNK, &spr);
spritesound(S_CLUNK, actor);
spritesound(S_CHAIN1, &spr, 5, CHAN_CART);
}
ChangeActorStat(actor, LIFTDN);
@ -515,7 +515,7 @@ void newstatus(short sn, int seq) {
spr.cstat |= 1;
ChangeActorStat(actor, ATTACK2);
spr.picnum = DRAGONATTACK2;
spritesound(S_DRAGON1 + (krand() % 3), &spr);
spritesound(S_DRAGON1 + (krand() % 3), actor);
case ATTACK:
spr.lotag = 64;
spr.cstat |= 1;
@ -558,12 +558,12 @@ void newstatus(short sn, int seq) {
break;
case KATIETYPE:
if ((krand() % 10) > 4) {
spritesound(S_JUDY1, &spr);
spritesound(S_JUDY1, actor);
}
spr.picnum = KATIEAT;
break;
case DEMONTYPE:
spritesound(S_GUARDIAN1 + (krand() % 2), &spr);
spritesound(S_GUARDIAN1 + (krand() % 2), actor);
spr.picnum = DEMON;
break;
case GRONTYPE:
@ -577,17 +577,17 @@ void newstatus(short sn, int seq) {
case KOBOLDTYPE:
spr.picnum = KOBOLDATTACK;
if (krand() % 10 > 4)
spritesound(S_KSNARL1 + (krand() % 4), &spr);
spritesound(S_KSNARL1 + (krand() % 4), actor);
break;
case DRAGONTYPE:
if ((krand() % 10) > 3)
spritesound(S_DRAGON1 + (krand() % 2), &spr);
spritesound(S_DRAGON1 + (krand() % 2), actor);
spr.picnum = DRAGONATTACK;
break;
case DEVILTYPE:
if ((krand() % 10) > 4)
spritesound(S_DEMON1 + (krand() % 5), &spr);
spritesound(S_DEMON1 + (krand() % 5), actor);
spr.picnum = DEVILATTACK;
break;
@ -595,7 +595,7 @@ void newstatus(short sn, int seq) {
spr.picnum = FREDATTACK;
/* EG: Sounds for Fred (currently copied from Ogre) */
if (rand() % 10 > 4)
spritesound(S_KSNARL1 + (rand() % 4), &spr);
spritesound(S_KSNARL1 + (rand() % 4), actor);
break;
case SKELETONTYPE:
spr.picnum = SKELETONATTACK;
@ -603,17 +603,17 @@ void newstatus(short sn, int seq) {
case IMPTYPE:
spr.lotag = 92;
if ((krand() % 10) > 5)
spritesound(S_IMPGROWL1 + (krand() % 3), &spr);
spritesound(S_IMPGROWL1 + (krand() % 3), actor);
spr.picnum = IMPATTACK;
break;
case GOBLINTYPE:
if ((krand() % 10) > 5)
spritesound(S_GOBLIN1 + (krand() % 3), &spr);
spritesound(S_GOBLIN1 + (krand() % 3), actor);
spr.picnum = GOBLINATTACK;
break;
case MINOTAURTYPE:
if ((krand() % 10) > 4)
spritesound(S_MSNARL1 + (krand() % 3), &spr);
spritesound(S_MSNARL1 + (krand() % 3), actor);
spr.picnum = MINOTAURATTACK;
break;
@ -622,7 +622,7 @@ void newstatus(short sn, int seq) {
break;
case FATWITCHTYPE:
if ((krand() % 10) > 4)
spritesound(S_FATLAUGH, &spr);
spritesound(S_FATLAUGH, actor);
spr.picnum = FATWITCHATTACK;
break;
case JUDYTYPE:
@ -633,11 +633,11 @@ void newstatus(short sn, int seq) {
spr.picnum = JUDYATTACK2;
break;
case WILLOWTYPE:
spritesound(S_WISP + (krand() % 2), &spr);
spritesound(S_WISP + (krand() % 2), actor);
spr.pal = 7;
break;
case GUARDIANTYPE:
spritesound(S_GUARDIAN1 + (krand() % 2), &spr);
spritesound(S_GUARDIAN1 + (krand() % 2), actor);
spr.picnum = GUARDIANATTACK;
break;
}
@ -726,14 +726,14 @@ void newstatus(short sn, int seq) {
spr.picnum = IMP;
} else {
if (krand() % 10 > 2)
spritesound(S_GOBLIN1 + (krand() % 3), &spr);
spritesound(S_GOBLIN1 + (krand() % 3), actor);
spr.picnum = GOBLIN;
}
break;
case MINOTAURTYPE:
// JSA_DEMO3
spritesound(S_MSNARL1 + (krand() % 4), &spr);
spritesound(S_MSNARL1 + (krand() % 4), actor);
spr.picnum = MINOTAUR;
break;
case SKULLYTYPE:
@ -781,12 +781,12 @@ void newstatus(short sn, int seq) {
case NEWGUYTYPE:
spr.lotag = 20;
spr.picnum = NEWGUYDIE;
spritesound(S_AGM_DIE1 + (krand() % 3), &spr);
spritesound(S_AGM_DIE1 + (krand() % 3), actor);
break;
case KURTTYPE:
case GONZOTYPE:
spr.lotag = 20;
spritesound(S_GRONDEATHA + krand() % 3, &spr);
spritesound(S_GRONDEATHA + krand() % 3, actor);
switch (spr.picnum) {
case KURTSTAND:
case KURTKNEE:
@ -830,12 +830,12 @@ void newstatus(short sn, int seq) {
}
break;
case KATIETYPE:
spritesound(S_JUDYDIE, &spr);
spritesound(S_JUDYDIE, actor);
spr.lotag = 20;
spr.picnum = KATIEPAIN;
break;
case DEMONTYPE:
spritesound(S_GUARDIANDIE, &spr);
spritesound(S_GUARDIANDIE, actor);
explosion(sn, spr.x, spr.y, spr.z, spr.owner);
DeleteActor(actor);
addscore(aiGetPlayerTarget(sn), 1500);
@ -843,7 +843,7 @@ void newstatus(short sn, int seq) {
return;
case GRONTYPE:
spr.lotag = 20;
spritesound(S_GRONDEATHA + krand() % 3, &spr);
spritesound(S_GRONDEATHA + krand() % 3, actor);
if(spr.picnum == GRONHAL || spr.picnum == GRONHALATTACK || spr.picnum == GRONHALPAIN)
spr.picnum = GRONHALDIE;
else if(spr.picnum == GRONSW || spr.picnum == GRONSWATTACK || spr.picnum == GRONSWPAIN)
@ -860,18 +860,18 @@ void newstatus(short sn, int seq) {
spr.lotag = 20;
break;
case KOBOLDTYPE:
spritesound(S_KDIE1 + (krand() % 2), &spr);
spritesound(S_KDIE1 + (krand() % 2), actor);
spr.lotag = 20;
spr.picnum = KOBOLDDIE;
break;
case DRAGONTYPE:
spritesound(S_DEMONDIE1 + (krand() % 2), &spr);
spritesound(S_DEMONDIE1 + (krand() % 2), actor);
spr.lotag = 20;
spr.picnum = DRAGONDIE;
break;
case DEVILTYPE:
spritesound(S_DEMONDIE1 + (krand() % 2), &spr);
spritesound(S_DEMONDIE1 + (krand() % 2), actor);
spr.lotag = 20;
spr.picnum = DEVILDIE;
break;
@ -879,25 +879,25 @@ void newstatus(short sn, int seq) {
spr.lotag = 20;
spr.picnum = FREDDIE;
/* EG: Sounds for Fred (currently copied from Ogre) */
spritesound(S_KDIE1 + (rand() % 2), &spr);
spritesound(S_KDIE1 + (rand() % 2), actor);
break;
case SKELETONTYPE:
spritesound(S_SKELETONDIE, &spr);
spritesound(S_SKELETONDIE, actor);
spr.lotag = 20;
spr.picnum = SKELETONDIE;
break;
case IMPTYPE:
spritesound(S_IMPDIE1 + (krand() % 2), &spr);
spritesound(S_IMPDIE1 + (krand() % 2), actor);
spr.lotag = 20;
spr.picnum = IMPDIE;
break;
case GOBLINTYPE:
spritesound(S_GOBDIE1 + (krand() % 3), &spr);
spritesound(S_GOBDIE1 + (krand() % 3), actor);
spr.lotag = 20;
spr.picnum = GOBLINDIE;
break;
case MINOTAURTYPE:
spritesound(S_MDEATH1, &spr);
spritesound(S_MDEATH1, actor);
spr.lotag = 10;
spr.picnum = MINOTAURDIE;
break;
@ -908,12 +908,12 @@ void newstatus(short sn, int seq) {
case SKULLYTYPE:
spr.lotag = 20;
spr.picnum = SKULLYDIE;
spritesound(S_SKULLWITCHDIE, &spr);
spritesound(S_SKULLWITCHDIE, actor);
break;
case FATWITCHTYPE:
spr.lotag = 20;
spr.picnum = FATWITCHDIE;
spritesound(S_FATWITCHDIE, &spr);
spritesound(S_FATWITCHDIE, actor);
break;
case JUDYTYPE:
spr.lotag = 20;
@ -924,11 +924,11 @@ void newstatus(short sn, int seq) {
return;
} else {
spr.picnum = JUDYDIE;
spritesound(S_JUDYDIE, &spr);
spritesound(S_JUDYDIE, actor);
}
break;
case GUARDIANTYPE:
spritesound(S_GUARDIANDIE, &spr);
spritesound(S_GUARDIANDIE, actor);
for (int j = 0; j < 4; j++)
explosion(sn, spr.x, spr.y, spr.z, spr.owner);
DeleteActor(actor);
@ -936,7 +936,7 @@ void newstatus(short sn, int seq) {
kills++;
return;
case WILLOWTYPE:
spritesound(S_WILLOWDIE, &spr);
spritesound(S_WILLOWDIE, actor);
spr.pal = 0;
spr.lotag = 20;
spr.picnum = WILLOWEXPLO;
@ -1575,7 +1575,7 @@ boolean damageactor(PLAYER& plr, DWHActor* hitactor, DWHActor* actor)
// EG 21 Aug 2017: Move this here so as not to make ouch sounds unless pain is
// happening
if ((krand() & 9) == 0)
spritesound(S_PLRPAIN1 + (rand() % 2), &spr);
spritesound(S_PLRPAIN1 + (rand() % 2), actor);
if (isWh2() && spr.picnum == DART) {
plr.poisoned = 1;
@ -1639,7 +1639,7 @@ boolean damageactor(PLAYER& plr, DWHActor* hitactor, DWHActor* actor)
hitspr.hitag -= 30;
if(spr.picnum == THROWPIKE) {
if ((krand() % 2) != 0)
spritesound(S_GORE1A + krand() % 2, &spr);
spritesound(S_GORE1A + krand() % 2, actor);
}
} else {
switch (spr.picnum) {