diff --git a/source/games/whaven/src/ai.cpp b/source/games/whaven/src/ai.cpp index d8d114630..3a56a4654 100644 --- a/source/games/whaven/src/ai.cpp +++ b/source/games/whaven/src/ai.cpp @@ -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; diff --git a/source/games/whaven/src/ai.h b/source/games/whaven/src/ai.h index a77e71eb3..1366fbe91 100644 --- a/source/games/whaven/src/ai.h +++ b/source/games/whaven/src/ai.h @@ -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); diff --git a/source/games/whaven/src/aidevil.cpp b/source/games/whaven/src/aidevil.cpp index 4e46494c4..8d0d5447c 100644 --- a/source/games/whaven/src/aidevil.cpp +++ b/source/games/whaven/src/aidevil.cpp @@ -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()) { diff --git a/source/games/whaven/src/aidragon.cpp b/source/games/whaven/src/aidragon.cpp index 2cc030cc6..28200399e 100644 --- a/source/games/whaven/src/aidragon.cpp +++ b/source/games/whaven/src/aidragon.cpp @@ -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; diff --git a/source/games/whaven/src/aifatwitch.cpp b/source/games/whaven/src/aifatwitch.cpp index 39bb161a2..5ceb2aaf0 100644 --- a/source/games/whaven/src/aifatwitch.cpp +++ b/source/games/whaven/src/aifatwitch.cpp @@ -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; diff --git a/source/games/whaven/src/aifish.cpp b/source/games/whaven/src/aifish.cpp index c458d7f93..31dabdb40 100644 --- a/source/games/whaven/src/aifish.cpp +++ b/source/games/whaven/src/aifish.cpp @@ -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; diff --git a/source/games/whaven/src/aifred.cpp b/source/games/whaven/src/aifred.cpp index 6aa54e31b..293360d2e 100644 --- a/source/games/whaven/src/aifred.cpp +++ b/source/games/whaven/src/aifred.cpp @@ -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; diff --git a/source/games/whaven/src/aigoblin.cpp b/source/games/whaven/src/aigoblin.cpp index 0d43960c1..73e73feb8 100644 --- a/source/games/whaven/src/aigoblin.cpp +++ b/source/games/whaven/src/aigoblin.cpp @@ -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)); diff --git a/source/games/whaven/src/aigonzo.cpp b/source/games/whaven/src/aigonzo.cpp index 43f296cca..072a79de4 100644 --- a/source/games/whaven/src/aigonzo.cpp +++ b/source/games/whaven/src/aigonzo.cpp @@ -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); } diff --git a/source/games/whaven/src/aigron.cpp b/source/games/whaven/src/aigron.cpp index dfe6ca5ed..5e7b44c9a 100644 --- a/source/games/whaven/src/aigron.cpp +++ b/source/games/whaven/src/aigron.cpp @@ -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; diff --git a/source/games/whaven/src/aiguardian.cpp b/source/games/whaven/src/aiguardian.cpp index cb6e3f5fe..1d15cf1f9 100644 --- a/source/games/whaven/src/aiguardian.cpp +++ b/source/games/whaven/src/aiguardian.cpp @@ -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); } diff --git a/source/games/whaven/src/aiimp.cpp b/source/games/whaven/src/aiimp.cpp index e5fcefb6a..7a6ae4424 100644 --- a/source/games/whaven/src/aiimp.cpp +++ b/source/games/whaven/src/aiimp.cpp @@ -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; diff --git a/source/games/whaven/src/aijudy.cpp b/source/games/whaven/src/aijudy.cpp index cad6fbd1b..02e4a92f3 100644 --- a/source/games/whaven/src/aijudy.cpp +++ b/source/games/whaven/src/aijudy.cpp @@ -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 { diff --git a/source/games/whaven/src/aikatie.cpp b/source/games/whaven/src/aikatie.cpp index 506db071f..e5fdb044c 100644 --- a/source/games/whaven/src/aikatie.cpp +++ b/source/games/whaven/src/aikatie.cpp @@ -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++; diff --git a/source/games/whaven/src/aikobold.cpp b/source/games/whaven/src/aikobold.cpp index b7fbb13d7..3b8686bbc 100644 --- a/source/games/whaven/src/aikobold.cpp +++ b/source/games/whaven/src/aikobold.cpp @@ -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; diff --git a/source/games/whaven/src/aikurt.cpp b/source/games/whaven/src/aikurt.cpp index fcc930e60..09330141e 100644 --- a/source/games/whaven/src/aikurt.cpp +++ b/source/games/whaven/src/aikurt.cpp @@ -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); diff --git a/source/games/whaven/src/aiminotaur.cpp b/source/games/whaven/src/aiminotaur.cpp index 895100632..fc28b8450 100644 --- a/source/games/whaven/src/aiminotaur.cpp +++ b/source/games/whaven/src/aiminotaur.cpp @@ -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; diff --git a/source/games/whaven/src/ainewguy.cpp b/source/games/whaven/src/ainewguy.cpp index 5ae8c8dbe..e54aa6ae4 100644 --- a/source/games/whaven/src/ainewguy.cpp +++ b/source/games/whaven/src/ainewguy.cpp @@ -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; diff --git a/source/games/whaven/src/aiskeleton.cpp b/source/games/whaven/src/aiskeleton.cpp index 96948f595..01e25efb6 100644 --- a/source/games/whaven/src/aiskeleton.cpp +++ b/source/games/whaven/src/aiskeleton.cpp @@ -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; diff --git a/source/games/whaven/src/aiskully.cpp b/source/games/whaven/src/aiskully.cpp index 3e3349918..462567252 100644 --- a/source/games/whaven/src/aiskully.cpp +++ b/source/games/whaven/src/aiskully.cpp @@ -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); } diff --git a/source/games/whaven/src/aispider.cpp b/source/games/whaven/src/aispider.cpp index 865c46410..a686e6f22 100644 --- a/source/games/whaven/src/aispider.cpp +++ b/source/games/whaven/src/aispider.cpp @@ -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; diff --git a/source/games/whaven/src/aiwillow.cpp b/source/games/whaven/src/aiwillow.cpp index 7ceefb90a..1d0a7c64e 100644 --- a/source/games/whaven/src/aiwillow.cpp +++ b/source/games/whaven/src/aiwillow.cpp @@ -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); diff --git a/source/games/whaven/src/items.cpp b/source/games/whaven/src/items.cpp index 3771fba3b..735885581 100644 --- a/source/games/whaven/src/items.cpp +++ b/source/games/whaven/src/items.cpp @@ -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); diff --git a/source/games/whaven/src/wh.h b/source/games/whaven/src/wh.h index feb40b056..165d74354 100644 --- a/source/games/whaven/src/wh.h +++ b/source/games/whaven/src/wh.h @@ -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(); diff --git a/source/games/whaven/src/whani.cpp b/source/games/whaven/src/whani.cpp index b67df0b78..3ed02ecab 100644 --- a/source/games/whaven/src/whani.cpp +++ b/source/games/whaven/src/whani.cpp @@ -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); } } diff --git a/source/games/whaven/src/whobj.cpp b/source/games/whaven/src/whobj.cpp index 3bb20f6d6..ee4e99f49 100644 --- a/source/games/whaven/src/whobj.cpp +++ b/source/games/whaven/src/whobj.cpp @@ -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) {