From 17810bc6cdd098bb28715e9ca49dccd1750f791f Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Fri, 24 Dec 2021 18:44:50 +0100 Subject: [PATCH] - the ones I missed. --- source/games/sw/src/weapon.cpp | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/source/games/sw/src/weapon.cpp b/source/games/sw/src/weapon.cpp index 539c5c477..523d6a499 100644 --- a/source/games/sw/src/weapon.cpp +++ b/source/games/sw/src/weapon.cpp @@ -12610,9 +12610,9 @@ int InitSwordAttack(PLAYERp pp) int InitFistAttack(PLAYERp pp) { - USERp u = pp->Actor()->u(),tu; - auto psp = &pp->Actor()->s(); - SPRITEp sp = nullptr; + auto plActor = pp->actor; + USERp u = plActor->u(),tu; + auto psp = &plActor->s(); unsigned stat; int dist; short reach,face; @@ -12656,15 +12656,13 @@ int InitFistAttack(PLAYERp pp) SWStatIterator it(StatDamageList[stat]); while (auto itActor = it.Next()) { - sp = &itActor->s(); - if (itActor->user.PlayerP == pp) break; - if (!TEST(sp->extra, SPRX_PLAYER_OR_ENEMY)) + if (!TEST(itActor->spr.extra, SPRX_PLAYER_OR_ENEMY)) continue; - dist = Distance(pp->pos.X, pp->pos.Y, sp->pos.X, sp->pos.Y); + dist = Distance(pp->pos.X, pp->pos.Y, itActor->spr.pos.X, itActor->spr.pos.Y); if (pp->InventoryActive[2]) // Shadow Bombs give you demon fist { @@ -12677,12 +12675,12 @@ int InitFistAttack(PLAYERp pp) face = 200; } - if (dist < CLOSE_RANGE_DIST_FUDGE(sp, psp, reach) && PlayerFacingRange(pp, itActor, face)) + if (dist < CLOSE_RANGE_DIST_FUDGE(itActor, plActor, reach) && PlayerFacingRange(pp, itActor, face)) { if (SpriteOverlapZ(pp->Actor(), itActor, Z(20)) || face == 190) { - if (FAFcansee(sp->pos.X,sp->pos.Y,GetSpriteZOfMiddle(sp),sp->sector(),psp->pos.X,psp->pos.Y,GetSpriteZOfMiddle(psp),psp->sector())) - DoDamage(itActor, pp->Actor()); + if (FAFcansee(itActor->spr.pos.X, itActor->spr.pos.Y, ActorZOfMiddle(itActor), itActor->spr.sector(), psp->pos.X, psp->pos.Y, GetSpriteZOfMiddle(psp), psp->sector())) + DoDamage(itActor, plActor); if (face == 190) { SpawnDemonFist(itActor); @@ -17373,8 +17371,9 @@ int InitEnemyUzi(DSWActor* actor) int InitGrenade(PLAYERp pp) { - USERp u = pp->Actor()->u(); - auto sp = &pp->Actor()->s(); + DSWActor* actor = pp->actor; + USERp u = actor->u(); + auto sp = &actor->s(); USERp wu; SPRITEp wp; int nx, ny, nz; @@ -18595,7 +18594,6 @@ void QueueHole(sectortype* hit_sect, walltype* hit_wall, int hit_x, int hit_y, i HoleQueueHead = (HoleQueueHead+1) & (MAX_HOLE_QUEUE-1); - sp = &spawnedActor->s(); spawnedActor->spr.xrepeat = spawnedActor->spr.yrepeat = 16; spawnedActor->spr.cstat = 0; spawnedActor->spr.pal = 0;