diff --git a/source/games/sw/src/skull.cpp b/source/games/sw/src/skull.cpp index 1e58186bf..f6642ed17 100644 --- a/source/games/sw/src/skull.cpp +++ b/source/games/sw/src/skull.cpp @@ -39,7 +39,6 @@ int InitSpriteChemBomb(DSWActor*); int InitFlashBomb(DSWActor* actor); int InitCaltrops(DSWActor* actor); int InitPhosphorus(int16_t SpriteNum); -bool SpriteOverlapZ(int16_t, int16_t, int); ////////////////////// // @@ -382,7 +381,7 @@ int DoSkullJump(DSWActor* actor) DISTANCE(sp->x, sp->y, u->targetActor->s().x, u->targetActor->s().y, dist, a, b, c); if (dist < 1000 && - SpriteOverlapZ(actor->GetSpriteIndex(), u->targetActor->GetSpriteIndex(), Z(32))) + SpriteOverlapZ(actor, u->targetActor, Z(32))) { UpdateSinglePlayKills(actor); DoSkullBeginDeath(actor); @@ -780,7 +779,7 @@ int DoBettyJump(DSWActor* actor) DISTANCE(sp->x, sp->y, u->targetActor->s().x, u->targetActor->s().y, dist, a, b, c); if (dist < 1000 && - SpriteOverlapZ(actor->GetSpriteIndex(), u->targetActor->GetSpriteIndex(), Z(32))) + SpriteOverlapZ(actor, u->targetActor, Z(32))) { UpdateSinglePlayKills(actor); DoBettyBeginDeath(actor); diff --git a/source/games/sw/src/sprite.cpp b/source/games/sw/src/sprite.cpp index ed98702df..d2da132c5 100644 --- a/source/games/sw/src/sprite.cpp +++ b/source/games/sw/src/sprite.cpp @@ -4630,10 +4630,9 @@ bool SpriteOverlap(DSWActor* actor_a, DSWActor* actor_b) } -bool -SpriteOverlapZ(int16_t spritenum_a, int16_t spritenum_b, int z_overlap) +bool SpriteOverlapZ(DSWActor* actor_a, DSWActor* actor_b, int z_overlap) { - SPRITEp spa = &sprite[spritenum_a], spb = &sprite[spritenum_b]; + SPRITEp spa = &actor_a->s(), spb = &actor_b->s(); int spa_tos, spa_bos, spb_tos, spb_bos; diff --git a/source/games/sw/src/sprite.h b/source/games/sw/src/sprite.h index b774992f0..25bdafff8 100644 --- a/source/games/sw/src/sprite.h +++ b/source/games/sw/src/sprite.h @@ -57,7 +57,7 @@ bool ActorSpawn(DSWActor*); int SpawnItemsMatch(short match); void PicAnimOff(short picnum); int MissileWaterAdjust(DSWActor*); -bool SpriteOverlapZ(int16_t spritenum_a,int16_t spritenum_b,int z_overlap); +bool SpriteOverlapZ(DSWActor*, DSWActor*, int); enum { diff --git a/source/games/sw/src/weapon.cpp b/source/games/sw/src/weapon.cpp index 42a10a24b..e1319adb3 100644 --- a/source/games/sw/src/weapon.cpp +++ b/source/games/sw/src/weapon.cpp @@ -12550,7 +12550,7 @@ int InitSwordAttack(PLAYERp pp) if (dist < CLOSE_RANGE_DIST_FUDGE(sp, psp, reach) && PLAYER_FACING_RANGE(pp, sp, face)) { - if (SpriteOverlapZ(pp->Actor()->GetSpriteIndex(), itActor->GetSpriteIndex(), Z(20))) + if (SpriteOverlapZ(pp->Actor(), itActor, Z(20))) { if (FAFcansee(sp->x, sp->y, SPRITEp_MID(sp), sp->sectnum, psp->x, psp->y, SPRITEp_MID(psp), psp->sectnum)) DoDamage(itActor, pp->Actor()); @@ -12735,7 +12735,7 @@ int InitFistAttack(PLAYERp pp) if (dist < CLOSE_RANGE_DIST_FUDGE(sp, psp, reach) && PLAYER_FACING_RANGE(pp, sp, face)) { - if (SpriteOverlapZ(pp->Actor()->GetSpriteIndex(), itActor->GetSpriteIndex(), Z(20)) || face == 190) + if (SpriteOverlapZ(pp->Actor(), itActor, Z(20)) || face == 190) { if (FAFcansee(sp->x,sp->y,SPRITEp_MID(sp),sp->sectnum,psp->x,psp->y,SPRITEp_MID(psp),psp->sectnum)) DoDamage(itActor, pp->Actor()); @@ -13065,7 +13065,7 @@ int InitMiniSumoClap(DSWActor* actor) if (dist < CLOSE_RANGE_DIST_FUDGE(tsp, sp, 1000)) { - if (SpriteOverlapZ(actor->GetSpriteIndex(), u->targetActor->GetSpriteIndex(), Z(20))) + if (SpriteOverlapZ(actor, u->targetActor, Z(20))) { if (FAFcansee(tsp->x, tsp->y, ActorMid(u->targetActor), tsp->sectnum, sp->x, sp->y, SPRITEp_MID(sp), sp->sectnum)) {