diff --git a/source/games/whaven/src/ai.cpp b/source/games/whaven/src/ai.cpp index 78212ae9e..b1b8ca3c2 100644 --- a/source/games/whaven/src/ai.cpp +++ b/source/games/whaven/src/ai.cpp @@ -669,7 +669,7 @@ void skullycastspell(PLAYER& plr, DWHActor* actor) { discrim = 1; spawned.zvel = (short)(((plr.z + (48 << 8) - spawned.z) << 7) / discrim); - spawned.owner = actor->GetSpriteIndex(); + spawnedactor->SetOwner(actor); spawned.clipdist = 16; spawned.lotag = 512; spawned.hitag = 0; diff --git a/source/games/whaven/src/aidemon.cpp b/source/games/whaven/src/aidemon.cpp index 22b58b974..7d7ea0c06 100644 --- a/source/games/whaven/src/aidemon.cpp +++ b/source/games/whaven/src/aidemon.cpp @@ -108,12 +108,12 @@ static void facedemon(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } diff --git a/source/games/whaven/src/aidevil.cpp b/source/games/whaven/src/aidevil.cpp index b49eba6ee..56cb05916 100644 --- a/source/games/whaven/src/aidevil.cpp +++ b/source/games/whaven/src/aidevil.cpp @@ -112,12 +112,12 @@ static void facedevil(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } diff --git a/source/games/whaven/src/aidragon.cpp b/source/games/whaven/src/aidragon.cpp index fc911db71..67c3ba651 100644 --- a/source/games/whaven/src/aidragon.cpp +++ b/source/games/whaven/src/aidragon.cpp @@ -282,12 +282,12 @@ static void facedragon(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } @@ -364,7 +364,7 @@ static void firebreath(PLAYER& plr, DWHActor* actor, int a, int b, int c) else spawned.zvel = (short)((((plr.z + (8 << 8)) - spawned.z) << 7) / discrim);// NEW - spawned.owner = actor->GetSpriteIndex(); + spawnedactor->SetOwner(actor); spawned.clipdist = 16; spawned.lotag = 512; spawned.hitag = 0; diff --git a/source/games/whaven/src/aifatwitch.cpp b/source/games/whaven/src/aifatwitch.cpp index 5186977c5..929a98b0b 100644 --- a/source/games/whaven/src/aifatwitch.cpp +++ b/source/games/whaven/src/aifatwitch.cpp @@ -125,12 +125,12 @@ static void facefatwitch(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } @@ -268,7 +268,7 @@ static void throwspank(PLAYER& plr, DWHActor* actor) if (discrim == 0) discrim = 1; spawned.zvel = (short)(((plr.z + (48 << 8) - spawned.z) << 7) / discrim); - spawned.owner = actor->GetSpriteIndex(); + spawnedactor->SetOwner(actor); spawned.clipdist = 16; spawned.lotag = 512; spawned.hitag = 0; diff --git a/source/games/whaven/src/aifish.cpp b/source/games/whaven/src/aifish.cpp index b8fca577c..f47f6a067 100644 --- a/source/games/whaven/src/aifish.cpp +++ b/source/games/whaven/src/aifish.cpp @@ -164,12 +164,12 @@ static void facefish(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } diff --git a/source/games/whaven/src/aifred.cpp b/source/games/whaven/src/aifred.cpp index 563915031..8c81818ca 100644 --- a/source/games/whaven/src/aifred.cpp +++ b/source/games/whaven/src/aifred.cpp @@ -163,12 +163,12 @@ static void facefred(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } diff --git a/source/games/whaven/src/aigoblin.cpp b/source/games/whaven/src/aigoblin.cpp index 57fa5672b..0d9e73757 100644 --- a/source/games/whaven/src/aigoblin.cpp +++ b/source/games/whaven/src/aigoblin.cpp @@ -142,12 +142,12 @@ static void facegoblin(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } diff --git a/source/games/whaven/src/aigonzo.cpp b/source/games/whaven/src/aigonzo.cpp index 450e0a399..e87ca5e51 100644 --- a/source/games/whaven/src/aigonzo.cpp +++ b/source/games/whaven/src/aigonzo.cpp @@ -333,12 +333,12 @@ static void facegonzo(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } @@ -678,7 +678,7 @@ static void gonzopike(DWHActor* actor, PLAYER& plr) { spawned.zvel += ((krand() % 256) - 128); - spawned.owner = actor->GetSpriteIndex(); + spawnedactor->SetOwner(actor); spawned.lotag = 1024; spawned.hitag = 0; spawned.pal = 0; diff --git a/source/games/whaven/src/aigron.cpp b/source/games/whaven/src/aigron.cpp index 7dd8234b9..896f6920f 100644 --- a/source/games/whaven/src/aigron.cpp +++ b/source/games/whaven/src/aigron.cpp @@ -261,12 +261,12 @@ static void facegron(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } @@ -472,7 +472,7 @@ static void throwhalberd(DWHActor* actor) { spawned.xvel = (short)((krand() & 256) - 128); spawned.yvel = (short)((krand() & 256) - 128); spawned.zvel = (short)((krand() & 256) - 128); - spawned.owner = actor->GetSpriteIndex(); + spawnedactor->SetOwner(actor); spawned.lotag = 0; spawned.hitag = 0; spawned.pal = 0; diff --git a/source/games/whaven/src/aiguardian.cpp b/source/games/whaven/src/aiguardian.cpp index 1e260622b..6f5b4d5a1 100644 --- a/source/games/whaven/src/aiguardian.cpp +++ b/source/games/whaven/src/aiguardian.cpp @@ -132,12 +132,12 @@ static void faceguardian(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } diff --git a/source/games/whaven/src/aiimp.cpp b/source/games/whaven/src/aiimp.cpp index 62d5b4f78..369aef118 100644 --- a/source/games/whaven/src/aiimp.cpp +++ b/source/games/whaven/src/aiimp.cpp @@ -176,12 +176,12 @@ static void faceimp(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } diff --git a/source/games/whaven/src/aijudy.cpp b/source/games/whaven/src/aijudy.cpp index 3ffb7129f..fdc990714 100644 --- a/source/games/whaven/src/aijudy.cpp +++ b/source/games/whaven/src/aijudy.cpp @@ -137,12 +137,12 @@ static void facejudy(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } diff --git a/source/games/whaven/src/aikatie.cpp b/source/games/whaven/src/aikatie.cpp index e5e72e49d..11d67b508 100644 --- a/source/games/whaven/src/aikatie.cpp +++ b/source/games/whaven/src/aikatie.cpp @@ -112,12 +112,12 @@ static void facekatie(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } diff --git a/source/games/whaven/src/aikobold.cpp b/source/games/whaven/src/aikobold.cpp index ccaf1bd66..1a4fbeacd 100644 --- a/source/games/whaven/src/aikobold.cpp +++ b/source/games/whaven/src/aikobold.cpp @@ -146,12 +146,12 @@ static void facekobold(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } diff --git a/source/games/whaven/src/aiminotaur.cpp b/source/games/whaven/src/aiminotaur.cpp index a48b2fe03..7a041ebd2 100644 --- a/source/games/whaven/src/aiminotaur.cpp +++ b/source/games/whaven/src/aiminotaur.cpp @@ -185,12 +185,12 @@ static void faceminotaur(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } diff --git a/source/games/whaven/src/ainewguy.cpp b/source/games/whaven/src/ainewguy.cpp index fe178d3e7..ece1d2944 100644 --- a/source/games/whaven/src/ainewguy.cpp +++ b/source/games/whaven/src/ainewguy.cpp @@ -205,12 +205,12 @@ static void facenewguy(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } @@ -385,7 +385,7 @@ static void newguyarrow(DWHActor* actor, PLAYER& plr) { spawned.zvel += ((krand() % 256) - 128); - spawned.owner = actor->GetSpriteIndex(); + spawnedactor->SetOwner(actor); spawned.lotag = 1024; spawned.hitag = 0; spawned.pal = 0; diff --git a/source/games/whaven/src/aiskeleton.cpp b/source/games/whaven/src/aiskeleton.cpp index fe98a8f2c..e68d9006f 100644 --- a/source/games/whaven/src/aiskeleton.cpp +++ b/source/games/whaven/src/aiskeleton.cpp @@ -125,12 +125,12 @@ static void faceskeleton(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } diff --git a/source/games/whaven/src/aiskully.cpp b/source/games/whaven/src/aiskully.cpp index 2ce31e360..7ceaa8b25 100644 --- a/source/games/whaven/src/aiskully.cpp +++ b/source/games/whaven/src/aiskully.cpp @@ -124,12 +124,12 @@ static void faceskully(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } diff --git a/source/games/whaven/src/aispider.cpp b/source/games/whaven/src/aispider.cpp index e092a5f44..452eab2bc 100644 --- a/source/games/whaven/src/aispider.cpp +++ b/source/games/whaven/src/aispider.cpp @@ -164,12 +164,12 @@ static void facespider(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } diff --git a/source/games/whaven/src/aiwillow.cpp b/source/games/whaven/src/aiwillow.cpp index 85e90b02e..c2180a2fa 100644 --- a/source/games/whaven/src/aiwillow.cpp +++ b/source/games/whaven/src/aiwillow.cpp @@ -154,12 +154,12 @@ static void facewillow(PLAYER& plr, DWHActor* actor) SetNewStatus(actor, FLEE); } else { - spr.owner = plr.spritenum; + actor->SetOwner(plr.actor()); SetNewStatus(actor, CHASE); } } else { // get off the wall - if (spr.owner == plr.spritenum) { + if (actor->GetOwner() == plr.actor()) { spr.ang = (short)(((krand() & 512 - 256) + spr.ang) & 2047); SetNewStatus(actor, FINDME); } diff --git a/source/games/whaven/src/weapons.cpp b/source/games/whaven/src/weapons.cpp index 865909016..0d4f92ea9 100644 --- a/source/games/whaven/src/weapons.cpp +++ b/source/games/whaven/src/weapons.cpp @@ -1720,7 +1720,7 @@ void shootgun(PLAYER& plr, float ang, int guntype) { spawned.xvel = 0; spawned.yvel = 0; spawned.zvel = 0; - spawned.owner = plr.actor()->s().owner; + spawnedactor->CopyOwner(plr.actor()); spawned.lotag = 32; spawned.hitag = 0; spawned.backuploc(); @@ -1771,7 +1771,7 @@ void shootgun(PLAYER& plr, float ang, int guntype) { spawned.xvel = 0; spawned.yvel = 0; spawned.zvel = 0; - spawned.owner = plr.actor()->s().owner; + spawnedactor->CopyOwner(plr.actor()); spawned.lotag = 32; spawned.hitag = 0; movesprite(spawnedactor, (bcos(spawned.ang) * TICSPERFRAME) << 3, @@ -1978,7 +1978,7 @@ void shootgun(PLAYER& plr, float ang, int guntype) { } else { spawned.zvel = plr.horizon.horiz.asq16() >> 12; } - spawned.owner = plr.actor()->s().owner; + spawnedactor->CopyOwner(plr.actor()); spawned.lotag = 1024; spawned.hitag = 0; spawned.pal = 0; @@ -2005,7 +2005,7 @@ void shootgun(PLAYER& plr, float ang, int guntype) { spawned.xvel = (short) ((krand() & 256) - 128); spawned.yvel = (short) ((krand() & 256) - 128); spawned.zvel = plr.horizon.horiz.asq16() >> 12; - spawned.owner = plr.actor()->s().owner; + spawnedactor->CopyOwner(plr.actor()); spawned.lotag = 1024; spawned.hitag = 0; spawned.pal = 0; @@ -2034,7 +2034,7 @@ void shootgun(PLAYER& plr, float ang, int guntype) { spawned.yvel = (short) ((krand() & 256) - 128); // spawned.zvel=((krand()&256)-128); spawned.zvel = plr.horizon.horiz.asq16() >> 12; - spawned.owner = plr.actor()->s().owner; + spawnedactor->CopyOwner(plr.actor()); spawned.lotag = 1024; spawned.hitag = 0; spawned.pal = 0; @@ -2075,7 +2075,7 @@ void shootgun(PLAYER& plr, float ang, int guntype) { spawned.xvel = (short) ((krand() & 256) - 128); spawned.yvel = (short) ((krand() & 256) - 128); spawned.zvel = plr.horizon.horiz.asq16() >> 12; - spawned.owner = plr.actor()->s().owner; + spawnedactor->CopyOwner(plr.actor()); spawned.lotag = 1024; spawned.hitag = 0; spawned.pal = 0; @@ -2102,7 +2102,7 @@ void shootgun(PLAYER& plr, float ang, int guntype) { spawned.xvel = (short) ((krand() & 256) - 128); spawned.yvel = (short) ((krand() & 256) - 128); spawned.zvel = plr.horizon.horiz.asq16() >> 12; - spawned.owner = plr.actor()->s().owner; + spawnedactor->CopyOwner(plr.actor()); spawned.lotag = 1024; spawned.hitag = 0; spawned.pal = 0; @@ -2129,7 +2129,7 @@ void shootgun(PLAYER& plr, float ang, int guntype) { spawned.xvel = (short) ((krand() & 256) - 128); spawned.yvel = (short) ((krand() & 256) - 128); spawned.zvel = (short) ((krand() & 256) - 128); - spawned.owner = plr.actor()->s().owner; + spawnedactor->CopyOwner(plr.actor()); spawned.lotag = 1024; spawned.hitag = 0; spawned.pal = 0; @@ -2168,7 +2168,7 @@ void shootgun(PLAYER& plr, float ang, int guntype) { spawned.zvel = plr.horizon.horiz.asq16() >> 12; } - spawned.owner = plr.actor()->s().owner; + spawnedactor->CopyOwner(plr.actor()); spawned.lotag = 256; spawned.hitag = 0; spawned.clipdist = 48; @@ -2209,7 +2209,7 @@ void shootgun(PLAYER& plr, float ang, int guntype) { spawned.zvel = plr.horizon.horiz.asq16() >> 12; } - spawned.owner = plr.actor()->s().owner; + spawnedactor->CopyOwner(plr.actor()); spawned.lotag = 256; spawned.hitag = 0; spawned.clipdist = 64; diff --git a/source/games/whaven/src/wh.h b/source/games/whaven/src/wh.h index b9a0c4165..ec63c82e7 100644 --- a/source/games/whaven/src/wh.h +++ b/source/games/whaven/src/wh.h @@ -192,10 +192,10 @@ int getPickHeight(); void processobjs(PLAYER& plr); void newstatus(short sn, int seq); void makeafire(int i, int firetype); -void explosion(int i, int x, int y, int z, int owner); -void explosion2(int i, int x, int y, int z, int owner); +void explosion(int i, int x, int y, int z, int ownr); +void explosion2(int i, int x, int y, int z, int ownr); void trailingsmoke(DWHActor* actor, boolean ball); -void icecubes(int i, int x, int y, int z, int owner); +void icecubes(int i, int x, int y, int z, int ownr); boolean damageactor(PLAYER& plr, DWHActor* hitobject, DWHActor* actor); Collision movesprite(DWHActor*, int dx, int dy, int dz, int ceildist, int flordist, int cliptype); void trowajavlin(int s); diff --git a/source/games/whaven/src/whactor.h b/source/games/whaven/src/whactor.h index 3bfca045c..d1ea05f72 100644 --- a/source/games/whaven/src/whactor.h +++ b/source/games/whaven/src/whactor.h @@ -49,6 +49,11 @@ public: s().owner = other->s().owner; } + bool CompareOwner(DWHActor* other) + { + return s().owner == other->s().owner; + } + int GetSpriteIndex() const { return index; diff --git a/source/games/whaven/src/whani.cpp b/source/games/whaven/src/whani.cpp index ecec51458..13247a5d0 100644 --- a/source/games/whaven/src/whani.cpp +++ b/source/games/whaven/src/whani.cpp @@ -971,7 +971,7 @@ void animateobjs(PLAYER& plr) { } if (moveStat.type != kHitNone && spr.picnum == MONSTERBALL) - if (spr.owner == plr.actor()->s().owner) { + if (actor->CompareOwner(plr.actor())) { explosion2(i, spr.x, spr.y, spr.z, i); } else { explosion(i, spr.x, spr.y, spr.z, i); @@ -990,7 +990,7 @@ void animateobjs(PLAYER& plr) { } else if (moveStat.type == kHitWall) { // hit a wall if (spr.picnum == MONSTERBALL) { - if (spr.owner == plr.actor()->s().owner) + if (actor->CompareOwner(plr.actor())) explosion2(i, spr.x, spr.y, spr.z, i); else explosion(i, spr.x, spr.y, spr.z, i); @@ -1009,7 +1009,7 @@ void animateobjs(PLAYER& plr) { if (moveStat.type == kHitSprite) { // Bullet hit a sprite if (spr.picnum == MONSTERBALL) { - if (spr.owner == plr.actor()->s().owner) + if (actor->CompareOwner(plr.actor())) explosion2(i, spr.x, spr.y, spr.z, i); else explosion(i, spr.x, spr.y, spr.z, i); diff --git a/source/games/whaven/src/whobj.cpp b/source/games/whaven/src/whobj.cpp index e536cb431..b2a7b6565 100644 --- a/source/games/whaven/src/whobj.cpp +++ b/source/games/whaven/src/whobj.cpp @@ -1393,7 +1393,7 @@ void makeafire(int i, int firetype) { spawned.backuploc(); } -void explosion(int i, int x, int y, int z, int owner) { +void explosion(int i, int x, int y, int z, int ownr) { auto spawnedactor = InsertActor(sprite[i].sectnum, EXPLO); auto& spawned = spawnedactor->s(); @@ -1431,7 +1431,7 @@ void explosion(int i, int x, int y, int z, int owner) { spawned.backuploc(); } -void explosion2(int i, int x, int y, int z, int owner) { +void explosion2(int i, int x, int y, int z, int ownr) { auto spawnedactor = InsertActor(sprite[i].sectnum, EXPLO); auto& spawned = spawnedactor->s(); @@ -1500,7 +1500,7 @@ void trailingsmoke(DWHActor* actor, boolean ball) { spawned.backuploc(); } -void icecubes(int i, int x, int y, int z, int owner) { +void icecubes(int i, int x, int y, int z, int ownr) { auto actor = &whActors[i]; auto& spr = actor->s(); auto spawnedactor = InsertActor(spr.sectnum, FX); @@ -1537,7 +1537,7 @@ boolean damageactor(PLAYER& plr, DWHActor* hitactor, DWHActor* actor) { auto& spr = actor->s(); auto& hitspr = hitactor->s(); - if (hitactor == plr.actor() && spr.owner == plr.actor()->s().owner) + if (hitactor == plr.actor() && actor->CompareOwner(plr.actor())) return false; if (hitactor == plr.actor() && spr.owner != plr.actor()->s().owner) { diff --git a/source/games/whaven/src/whplr.cpp b/source/games/whaven/src/whplr.cpp index ee42bcf72..056405dde 100644 --- a/source/games/whaven/src/whplr.cpp +++ b/source/games/whaven/src/whplr.cpp @@ -427,7 +427,7 @@ void chunksofmeat(PLAYER& plr, DWHActor* hitActor, int hitx, int hity, int hitz, spawned.zvel = (short) ((krand() & 1023) - 512); if (newchunk == 1) spawned.zvel <<= 1; - spawned.owner = plr.actor()->s().owner; + spawnedactor->CopyOwner(plr.actor()); spawned.lotag = 512; spawned.hitag = 0; spawned.pal = 0;