From e7dcd279afe43dca10c4061787939ebbde2f8136 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Mon, 1 Nov 2021 14:31:24 +0100 Subject: [PATCH] - PickJumpMaxSpeed. --- source/games/sw/src/break.cpp | 2 -- source/games/sw/src/bunny.cpp | 8 ++++---- source/games/sw/src/game.h | 2 +- source/games/sw/src/ripper.cpp | 13 ++++++------- source/games/sw/src/ripper2.cpp | 6 +++--- source/games/sw/src/sprite.cpp | 4 ---- source/games/sw/src/weapon.cpp | 6 +++--- 7 files changed, 17 insertions(+), 24 deletions(-) diff --git a/source/games/sw/src/break.cpp b/source/games/sw/src/break.cpp index 0e4c29ecb..65fedd8c6 100644 --- a/source/games/sw/src/break.cpp +++ b/source/games/sw/src/break.cpp @@ -857,7 +857,6 @@ int UserBreakSprite(DSWActor* breakActor) SPRITEp bp = &breakActor->s(); short match = bp->lotag; short match_extra; - int BreakSprite = breakActor->GetSpriteIndex(); auto actor = FindBreakSpriteMatch(match); @@ -930,7 +929,6 @@ int AutoBreakSprite(DSWActor* breakActor, short type) SPRITEp bp = &breakActor->s(); BREAK_INFOp break_info; extern void DoWallBreakMatch(short match); - int BreakSprite = breakActor->GetSpriteIndex(); break_info = FindSpriteBreakInfo(bp->picnum); diff --git a/source/games/sw/src/bunny.cpp b/source/games/sw/src/bunny.cpp index 2ac8f2c91..47c96427a 100644 --- a/source/games/sw/src/bunny.cpp +++ b/source/games/sw/src/bunny.cpp @@ -866,7 +866,7 @@ int DoBunnyBeginJumpAttack(DSWActor* actor) DoActorSetSpeed(actor, FAST_SPEED); //u->jump_speed = -800; - PickJumpMaxSpeed(actor->GetSpriteIndex(), -400); // was -800 + PickJumpMaxSpeed(actor, -400); // was -800 SET(u->Flags, SPR_JUMPING); RESET(u->Flags, SPR_FALLING); @@ -1213,7 +1213,7 @@ void BunnyHatch(DSWActor* actor) NewStateGroup(actorNew, nu->ActorActionSet->Jump); nu->ActorActionFunc = DoActorMoveJump; DoActorSetSpeed(actorNew, FAST_SPEED); - PickJumpMaxSpeed(actorNew->GetSpriteIndex(), -600); + PickJumpMaxSpeed(actorNew, -600); SET(nu->Flags, SPR_JUMPING); RESET(nu->Flags, SPR_FALLING); @@ -1269,7 +1269,7 @@ DSWActor* BunnyHatch2(DSWActor* actor) DoActorSetSpeed(actorNew, FAST_SPEED); if (TEST_BOOL3(wp)) { - PickJumpMaxSpeed(actorNew->GetSpriteIndex(), -600-RandomRange(600)); + PickJumpMaxSpeed(actorNew, -600-RandomRange(600)); np->xrepeat = np->yrepeat = 64; np->xvel = 150 + RandomRange(1000); nu->Health = 1; // Easy to pop. Like shootn' skeet. @@ -1277,7 +1277,7 @@ DSWActor* BunnyHatch2(DSWActor* actor) np->ang += RandomRange(128); } else - PickJumpMaxSpeed(actorNew->GetSpriteIndex(), -600); + PickJumpMaxSpeed(actorNew, -600); SET(nu->Flags, SPR_JUMPING); RESET(nu->Flags, SPR_FALLING); diff --git a/source/games/sw/src/game.h b/source/games/sw/src/game.h index 3784d02a2..7cc5d17e3 100644 --- a/source/games/sw/src/game.h +++ b/source/games/sw/src/game.h @@ -2119,7 +2119,7 @@ extern bool NightVision; // /////////////////////////////////////////////////////////////// -int PickJumpMaxSpeed(short SpriteNum, short max_speed); // ripper.c +int PickJumpMaxSpeed(DSWActor*, short max_speed); // ripper.c int DoRipperRipHeart(short SpriteNum); // ripper.c int DoRipper2RipHeart(short SpriteNum); // ripper2.c DSWActor* BunnyHatch2(DSWActor*); // bunny.c diff --git a/source/games/sw/src/ripper.cpp b/source/games/sw/src/ripper.cpp index 9a55d9a28..910b56077 100644 --- a/source/games/sw/src/ripper.cpp +++ b/source/games/sw/src/ripper.cpp @@ -903,11 +903,10 @@ PickJumpSpeed(short SpriteNum, int pix_height) } -int -PickJumpMaxSpeed(short SpriteNum, short max_speed) +int PickJumpMaxSpeed(DSWActor* actor, short max_speed) { - SPRITEp sp = &sprite[SpriteNum]; - USERp u = User[SpriteNum].Data(); + SPRITEp sp = &actor->s(); + USERp u = actor->u(); int zh; ASSERT(max_speed < 0); @@ -986,7 +985,7 @@ InitRipperHang(DSWActor* actor) DoActorSetSpeed(actor, FAST_SPEED); //u->jump_speed = -800; - PickJumpMaxSpeed(SpriteNum, -800); + PickJumpMaxSpeed(actor, -800); SET(u->Flags, SPR_JUMPING); RESET(u->Flags, SPR_FALLING); @@ -1107,7 +1106,7 @@ DoRipperBeginJumpAttack(DSWActor* actor) DoActorSetSpeed(actor, FAST_SPEED); //u->jump_speed = -800; - PickJumpMaxSpeed(SpriteNum, -400); // was -800 + PickJumpMaxSpeed(actor, -400); // was -800 SET(u->Flags, SPR_JUMPING); RESET(u->Flags, SPR_FALLING); @@ -1277,7 +1276,7 @@ void RipperHatch(short Weapon) NewStateGroup(actorNew, nu->ActorActionSet->Jump); nu->ActorActionFunc = DoActorMoveJump; DoActorSetSpeed(actorNew, FAST_SPEED); - PickJumpMaxSpeed(New, -600); + PickJumpMaxSpeed(actorNew, -600); SET(nu->Flags, SPR_JUMPING); RESET(nu->Flags, SPR_FALLING); diff --git a/source/games/sw/src/ripper2.cpp b/source/games/sw/src/ripper2.cpp index 41a4cb036..ecf5c1014 100644 --- a/source/games/sw/src/ripper2.cpp +++ b/source/games/sw/src/ripper2.cpp @@ -983,7 +983,7 @@ InitRipper2Hang(DSWActor* actor) DoActorSetSpeed(actor, FAST_SPEED); //u->jump_speed = -800; - PickJumpMaxSpeed(SpriteNum, -(RandomRange(400)+100)); + PickJumpMaxSpeed(actor, -(RandomRange(400)+100)); SET(u->Flags, SPR_JUMPING); RESET(u->Flags, SPR_FALLING); @@ -1119,7 +1119,7 @@ DoRipper2BeginJumpAttack(DSWActor* actor) DoActorSetSpeed(actor, FAST_SPEED); //u->jump_speed = -800; - PickJumpMaxSpeed(SpriteNum, -(RandomRange(400)+100)); + PickJumpMaxSpeed(actor, -(RandomRange(400)+100)); SET(u->Flags, SPR_JUMPING); RESET(u->Flags, SPR_FALLING); @@ -1289,7 +1289,7 @@ void Ripper2Hatch(short Weapon) NewStateGroup(actorNew, nu->ActorActionSet->Jump); nu->ActorActionFunc = DoActorMoveJump; DoActorSetSpeed(actorNew, FAST_SPEED); - PickJumpMaxSpeed(New, -600); + PickJumpMaxSpeed(actorNew, -600); SET(nu->Flags, SPR_JUMPING); RESET(nu->Flags, SPR_FALLING); diff --git a/source/games/sw/src/sprite.cpp b/source/games/sw/src/sprite.cpp index ad6cf9230..06b312d54 100644 --- a/source/games/sw/src/sprite.cpp +++ b/source/games/sw/src/sprite.cpp @@ -935,16 +935,12 @@ SpawnUser(short SpriteNum, short id, STATEp state) // Problem with sprites spawned really close to white sector walls // cant do a getzrange there // Just put in some valid starting values -#if 0 - DoActorZrange(SpriteNum); -#else u->loz = sector[sp->sectnum].floorz; u->hiz = sector[sp->sectnum].ceilingz; u->lowActor = nullptr; u->highActor = nullptr; u->lo_sectp = §or[sp->sectnum]; u->hi_sectp = §or[sp->sectnum]; -#endif return u; } diff --git a/source/games/sw/src/weapon.cpp b/source/games/sw/src/weapon.cpp index 38c62929d..fc1d4bee9 100644 --- a/source/games/sw/src/weapon.cpp +++ b/source/games/sw/src/weapon.cpp @@ -13079,7 +13079,7 @@ InitSpellNapalm(PLAYERp pp) if (mp[i].dist_over != 0) { sp->ang = NORM_ANGLE(sp->ang + mp[i].ang); - HelpMissileLateral(u->SpriteNum, mp[i].dist_over); + HelpMissileLateral(actor->GetSpriteIndex(), mp[i].dist_over); sp->ang = NORM_ANGLE(sp->ang - mp[i].ang); } @@ -15999,7 +15999,7 @@ InitSerpSpell(DSWActor* actor) sp->clipdist = 1; np->ang = NORM_ANGLE(np->ang + lat_ang[i]); - HelpMissileLateral(New, 4200L); + HelpMissileLateral(actorNew->GetSpriteIndex(), 4200); np->ang = NORM_ANGLE(np->ang - lat_ang[i]); // find the distance to the target (player) @@ -16121,7 +16121,7 @@ InitSerpMonstSpell(DSWActor* actor) sp->clipdist = 1; np->ang = NORM_ANGLE(np->ang + lat_ang[i]); - HelpMissileLateral(New, 4200L); + HelpMissileLateral(actorNew->GetSpriteIndex(), 4200); np->ang = NORM_ANGLE(np->ang - lat_ang[i]); // find the distance to the target (player)