mirror of
https://github.com/DrBeef/Raze.git
synced 2025-02-20 18:52:43 +00:00
- global search & replace for many uses of PLAYER's pSprite pointer.
This commit is contained in:
parent
8dac94326a
commit
b7ee813712
8 changed files with 77 additions and 77 deletions
|
@ -481,14 +481,14 @@ static tspritetype *viewAddEffect(tspritetype* tsprite, int& spritesortcnt, int
|
|||
auto& nVoxel = voxelIndex[nTile];
|
||||
if (cl_showweapon == 2 && r_voxels && nVoxel != -1)
|
||||
{
|
||||
pNSprite->ang = (gView->pSprite->ang + 512) & 2047; // always face viewer
|
||||
pNSprite->ang = (gView->actor->spr.ang + 512) & 2047; // always face viewer
|
||||
pNSprite->cstat |= CSTAT_SPRITE_ALIGNMENT_SLAB;
|
||||
pNSprite->cstat &= ~CSTAT_SPRITE_YFLIP;
|
||||
pNSprite->picnum = nVoxel;
|
||||
if (pPlayer->curWeapon == kWeapLifeLeech) // position lifeleech behind player
|
||||
{
|
||||
pNSprite->pos.X += MulScale(128, Cos(gView->pSprite->ang), 30);
|
||||
pNSprite->pos.Y += MulScale(128, Sin(gView->pSprite->ang), 30);
|
||||
pNSprite->pos.X += MulScale(128, Cos(gView->actor->spr.ang), 30);
|
||||
pNSprite->pos.Y += MulScale(128, Sin(gView->actor->spr.ang), 30);
|
||||
}
|
||||
if ((pPlayer->curWeapon == kWeapLifeLeech) || (pPlayer->curWeapon == kWeapVoodooDoll)) // make lifeleech/voodoo doll always face viewer like sprite
|
||||
pNSprite->ang = (pNSprite->ang + 512) & 2047; // offset angle 90 degrees
|
||||
|
@ -858,7 +858,7 @@ void viewProcessSprites(tspritetype* tsprite, int& spritesortcnt, int32_t cX, in
|
|||
POSTURE *pPosture = &pPlayer->pPosture[pPlayer->lifeMode][pPlayer->posture];
|
||||
pNTSprite->pos.X += MulScale(pPosture->zOffset, Cos(pTSprite->ang), 28);
|
||||
pNTSprite->pos.Y += MulScale(pPosture->zOffset, Sin(pTSprite->ang), 28);
|
||||
pNTSprite->pos.Z = pPlayer->pSprite->pos.Z-pPosture->xOffset;
|
||||
pNTSprite->pos.Z = pPlayer->actor->spr.pos.Z-pPosture->xOffset;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -118,8 +118,8 @@ void hudDraw(PLAYER *gView, sectortype* pSector, double bobx, double boby, doubl
|
|||
}
|
||||
int nShade = pSector->floorshade;
|
||||
int nPalette = 0;
|
||||
if (gView->pSprite->sector()->hasX()) {
|
||||
sectortype* pSector = gView->pSprite->sector();
|
||||
if (gView->actor->spr.sector()->hasX()) {
|
||||
sectortype* pSector = gView->actor->spr.sector();
|
||||
XSECTOR* pXSector = &pSector->xs();
|
||||
if (pXSector->color)
|
||||
nPalette = pSector->floorpal;
|
||||
|
|
|
@ -36,8 +36,8 @@ void GameInterface::WarpToCoords(int x, int y, int z, int ang, int horz)
|
|||
PLAYER *pPlayer = &gPlayer[myconnectindex];
|
||||
VIEW* pView = &gPrevView[myconnectindex];
|
||||
|
||||
pPlayer->pSprite->pos.X = pView->x = gView->pSprite->pos.X = x;
|
||||
pPlayer->pSprite->pos.Y = pView->y = gView->pSprite->pos.Y = y;
|
||||
pPlayer->actor->spr.pos.X = pView->x = gView->actor->spr.pos.X = x;
|
||||
pPlayer->actor->spr.pos.Y = pView->y = gView->actor->spr.pos.Y = y;
|
||||
pPlayer->zView = pView->viewz = gView->zView = z;
|
||||
|
||||
if (ang != INT_MIN)
|
||||
|
|
|
@ -261,7 +261,7 @@ bool powerupActivate(PLAYER *pPlayer, int nPowerUp)
|
|||
else if (isShrinked(pPlayer->actor)) playerDeactivateShrooms(pPlayer);
|
||||
else {
|
||||
playerSizeGrow(pPlayer, 2);
|
||||
if (powerupCheck(&gPlayer[pPlayer->pSprite->type - kDudePlayer1], kPwUpShadowCloak) > 0) {
|
||||
if (powerupCheck(&gPlayer[pPlayer->actor->spr.type - kDudePlayer1], kPwUpShadowCloak) > 0) {
|
||||
powerupDeactivate(pPlayer, kPwUpShadowCloak);
|
||||
pPlayer->pwUpTime[kPwUpShadowCloak] = 0;
|
||||
}
|
||||
|
@ -577,7 +577,7 @@ void playerSetRace(PLAYER *pPlayer, int nLifeMode)
|
|||
pPlayer->lifeMode = nLifeMode;
|
||||
|
||||
// By NoOne: don't forget to change clipdist for grow and shrink modes
|
||||
pPlayer->pSprite->clipdist = pDudeInfo->clipdist;
|
||||
pPlayer->actor->spr.clipdist = pDudeInfo->clipdist;
|
||||
|
||||
for (int i = 0; i < 7; i++)
|
||||
pDudeInfo->damageVal[i] = MulScale(Handicap[gSkill], pDudeInfo->startDamage[i], 8);
|
||||
|
@ -591,15 +591,15 @@ void playerSetGodMode(PLAYER *pPlayer, bool bGodMode)
|
|||
void playerResetInertia(PLAYER *pPlayer)
|
||||
{
|
||||
POSTURE *pPosture = &pPlayer->pPosture[pPlayer->lifeMode][pPlayer->posture];
|
||||
pPlayer->zView = pPlayer->pSprite->pos.Z-pPosture->eyeAboveZ;
|
||||
pPlayer->zWeapon = pPlayer->pSprite->pos.Z-pPosture->weaponAboveZ;
|
||||
pPlayer->zView = pPlayer->actor->spr.pos.Z-pPosture->eyeAboveZ;
|
||||
pPlayer->zWeapon = pPlayer->actor->spr.pos.Z-pPosture->weaponAboveZ;
|
||||
viewBackupView(pPlayer->nPlayer);
|
||||
}
|
||||
|
||||
void playerCorrectInertia(PLAYER* pPlayer, vec3_t const *oldpos)
|
||||
{
|
||||
pPlayer->zView += pPlayer->pSprite->pos.Z-oldpos->Z;
|
||||
pPlayer->zWeapon += pPlayer->pSprite->pos.Z-oldpos->Z;
|
||||
pPlayer->zView += pPlayer->actor->spr.pos.Z-oldpos->Z;
|
||||
pPlayer->zWeapon += pPlayer->actor->spr.pos.Z-oldpos->Z;
|
||||
viewCorrectViewOffsets(pPlayer->nPlayer, oldpos);
|
||||
}
|
||||
|
||||
|
@ -1318,7 +1318,7 @@ int ActionScan(PLAYER *pPlayer, HitInfo* out)
|
|||
|
||||
void UpdatePlayerSpriteAngle(PLAYER *pPlayer)
|
||||
{
|
||||
pPlayer->pSprite->ang = pPlayer->angle.ang.asbuild();
|
||||
pPlayer->actor->spr.ang = pPlayer->angle.ang.asbuild();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
@ -1387,7 +1387,7 @@ void ProcessInput(PLAYER *pPlayer)
|
|||
else if (seqGetStatus(pPlayer->actor) < 0)
|
||||
{
|
||||
if (pPlayer->pSprite)
|
||||
pPlayer->pSprite->type = kThingBloodChunks;
|
||||
pPlayer->actor->spr.type = kThingBloodChunks;
|
||||
actPostSprite(pPlayer->actor, kStatThing);
|
||||
seqSpawn(pPlayer->pDudeInfo->seqStartID+15, pPlayer->actor, -1);
|
||||
playerReset(pPlayer);
|
||||
|
@ -1572,12 +1572,12 @@ void ProcessInput(PLAYER *pPlayer)
|
|||
if (pPlayer->handTime <= 0 && pPlayer->hand)
|
||||
{
|
||||
DBloodActor* pactor = pPlayer->actor;
|
||||
auto spawned = actSpawnDude(pactor, kDudeHand, pPlayer->pSprite->clipdist<<1, 0);
|
||||
auto spawned = actSpawnDude(pactor, kDudeHand, pPlayer->actor->spr.clipdist<<1, 0);
|
||||
if (spawned)
|
||||
{
|
||||
spawned->spr.ang = (pPlayer->pSprite->ang + 1024) & 2047;
|
||||
int x = bcos(pPlayer->pSprite->ang);
|
||||
int y = bsin(pPlayer->pSprite->ang);
|
||||
spawned->spr.ang = (pPlayer->actor->spr.ang + 1024) & 2047;
|
||||
int x = bcos(pPlayer->actor->spr.ang);
|
||||
int y = bsin(pPlayer->actor->spr.ang);
|
||||
spawned->xvel = pPlayer->actor->xvel + MulScale(0x155555, x, 14);
|
||||
spawned->yvel = pPlayer->actor->yvel + MulScale(0x155555, y, 14);
|
||||
spawned->zvel = pPlayer->actor->zvel;
|
||||
|
@ -1682,14 +1682,14 @@ void playerProcess(PLAYER *pPlayer)
|
|||
ProcessInput(pPlayer);
|
||||
int nSpeed = approxDist(actor->xvel, actor->yvel);
|
||||
pPlayer->zViewVel = interpolatedvalue(pPlayer->zViewVel, actor->zvel, 0x7000);
|
||||
int dz = pPlayer->pSprite->pos.Z-pPosture->eyeAboveZ-pPlayer->zView;
|
||||
int dz = pPlayer->actor->spr.pos.Z-pPosture->eyeAboveZ-pPlayer->zView;
|
||||
if (dz > 0)
|
||||
pPlayer->zViewVel += MulScale(dz<<8, 0xa000, 16);
|
||||
else
|
||||
pPlayer->zViewVel += MulScale(dz<<8, 0x1800, 16);
|
||||
pPlayer->zView += pPlayer->zViewVel>>8;
|
||||
pPlayer->zWeaponVel = interpolatedvalue(pPlayer->zWeaponVel, actor->zvel, 0x5000);
|
||||
dz = pPlayer->pSprite->pos.Z-pPosture->weaponAboveZ-pPlayer->zWeapon;
|
||||
dz = pPlayer->actor->spr.pos.Z-pPosture->weaponAboveZ-pPlayer->zWeapon;
|
||||
if (dz > 0)
|
||||
pPlayer->zWeaponVel += MulScale(dz<<8, 0x8000, 16);
|
||||
else
|
||||
|
@ -1778,13 +1778,13 @@ void playerProcess(PLAYER *pPlayer)
|
|||
|
||||
DBloodActor* playerFireMissile(PLAYER *pPlayer, int a2, int a3, int a4, int a5, int a6)
|
||||
{
|
||||
return actFireMissile(pPlayer->actor, a2, pPlayer->zWeapon-pPlayer->pSprite->pos.Z, a3, a4, a5, a6);
|
||||
return actFireMissile(pPlayer->actor, a2, pPlayer->zWeapon-pPlayer->actor->spr.pos.Z, a3, a4, a5, a6);
|
||||
}
|
||||
|
||||
DBloodActor* playerFireThing(PLAYER *pPlayer, int a2, int a3, int thingType, int a5)
|
||||
{
|
||||
assert(thingType >= kThingBase && thingType < kThingMax);
|
||||
return actFireThing(pPlayer->actor, a2, pPlayer->zWeapon-pPlayer->pSprite->pos.Z, pPlayer->slope+a3, thingType, a5);
|
||||
return actFireThing(pPlayer->actor, a2, pPlayer->zWeapon-pPlayer->actor->spr.pos.Z, pPlayer->slope+a3, thingType, a5);
|
||||
}
|
||||
|
||||
void playerFrag(PLAYER *pKiller, PLAYER *pVictim)
|
||||
|
@ -1793,9 +1793,9 @@ void playerFrag(PLAYER *pKiller, PLAYER *pVictim)
|
|||
assert(pVictim != NULL);
|
||||
|
||||
char buffer[128] = "";
|
||||
int nKiller = pKiller->pSprite->type-kDudePlayer1;
|
||||
int nKiller = pKiller->actor->spr.type-kDudePlayer1;
|
||||
assert(nKiller >= 0 && nKiller < kMaxPlayers);
|
||||
int nVictim = pVictim->pSprite->type-kDudePlayer1;
|
||||
int nVictim = pVictim->actor->spr.type-kDudePlayer1;
|
||||
assert(nVictim >= 0 && nVictim < kMaxPlayers);
|
||||
if (nKiller == nVictim)
|
||||
{
|
||||
|
@ -1949,7 +1949,7 @@ int playerDamageSprite(DBloodActor* source, PLAYER *pPlayer, DAMAGE_TYPE nDamage
|
|||
case kDamageExplode:
|
||||
GibSprite(pActor, GIBTYPE_7, NULL, NULL);
|
||||
GibSprite(pActor, GIBTYPE_15, NULL, NULL);
|
||||
pPlayer->pSprite->cstat |= CSTAT_SPRITE_INVISIBLE;
|
||||
pPlayer->actor->spr.cstat |= CSTAT_SPRITE_INVISIBLE;
|
||||
nDeathSeqID = 17;
|
||||
break;
|
||||
default:
|
||||
|
@ -2009,7 +2009,7 @@ int playerDamageSprite(DBloodActor* source, PLAYER *pPlayer, DAMAGE_TYPE nDamage
|
|||
sfxPlay3DSound(pPlayer->actor, 717, 0, 0);
|
||||
GibSprite(pActor, GIBTYPE_7, NULL, NULL);
|
||||
GibSprite(pActor, GIBTYPE_15, NULL, NULL);
|
||||
pPlayer->pSprite->cstat |= CSTAT_SPRITE_INVISIBLE;
|
||||
pPlayer->actor->spr.cstat |= CSTAT_SPRITE_INVISIBLE;
|
||||
nDeathSeqID = 2;
|
||||
break;
|
||||
case kDamageBurn:
|
||||
|
@ -2099,7 +2099,7 @@ void voodooTarget(PLAYER *pPlayer)
|
|||
{
|
||||
DBloodActor* actor = pPlayer->actor;
|
||||
int v4 = pPlayer->aim.dz;
|
||||
int dz = pPlayer->zWeapon-pPlayer->pSprite->pos.Z;
|
||||
int dz = pPlayer->zWeapon-pPlayer->actor->spr.pos.Z;
|
||||
if (UseAmmo(pPlayer, 9, 0) < 8)
|
||||
{
|
||||
pPlayer->voodooTargets = 0;
|
||||
|
|
|
@ -57,11 +57,11 @@ void viewInitializePrediction(void)
|
|||
predict.at70 = gMe->isRunning;
|
||||
predict.at72 = gMe->isUnderwater;
|
||||
predict.at71 = !!(gMe->input.actions & SB_JUMP);
|
||||
predict.x = gMe->pSprite->x;
|
||||
predict.y = gMe->pSprite->y;
|
||||
predict.z = gMe->pSprite->z;
|
||||
predict.sector = gMe->pSprite->sector;
|
||||
predict.at73 = gMe->pSprite->flags;
|
||||
predict.x = gMe->actor->spr.x;
|
||||
predict.y = gMe->actor->spr.y;
|
||||
predict.z = gMe->actor->spr.z;
|
||||
predict.sector = gMe->actor->spr.sector;
|
||||
predict.at73 = gMe->actor->spr.flags;
|
||||
predict.xvel = gMe->actor->xvel;
|
||||
predict.yvel = gMe->actor->yvel;
|
||||
predict.zvel = gMe->actor->zvel;
|
||||
|
@ -90,11 +90,11 @@ void viewInitializePrediction(void)
|
|||
void viewUpdatePrediction(InputPacket *pInput)
|
||||
{
|
||||
predictOld = predict;
|
||||
auto bakCstat = gMe->pSprite->cstat;
|
||||
gMe->pSprite->cstat = 0;
|
||||
auto bakCstat = gMe->actor->spr.cstat;
|
||||
gMe->actor->spr.cstat = 0;
|
||||
fakePlayerProcess(gMe, pInput);
|
||||
fakeActProcessSprites();
|
||||
gMe->pSprite->cstat = bakCstat;
|
||||
gMe->actor->spr.cstat = bakCstat;
|
||||
//predictFifo[gPredictTail&255] = predict;
|
||||
//gPredictTail++;
|
||||
}
|
||||
|
|
|
@ -75,7 +75,7 @@ void BloodSoundEngine::CalcPosVel(int type, const void* source, const float pt[3
|
|||
{
|
||||
FVector3 camera;
|
||||
|
||||
if (gMe && gMe->pSprite) camera = GetSoundPos(&gMe->pSprite->pos);
|
||||
if (gMe && gMe->pSprite) camera = GetSoundPos(&gMe->actor->spr.pos);
|
||||
else camera = { 0, 0, 0 }; // don't crash if there is no player.
|
||||
|
||||
if (vel) vel->Zero();
|
||||
|
@ -113,9 +113,9 @@ void GameInterface::UpdateSounds()
|
|||
|
||||
if (gMe->pSprite)
|
||||
{
|
||||
listener.angle = -gMe->pSprite->ang * float(BAngRadian); // Build uses a period of 2048.
|
||||
listener.angle = -gMe->actor->spr.ang * float(BAngRadian); // Build uses a period of 2048.
|
||||
listener.velocity.Zero();
|
||||
listener.position = GetSoundPos(&gMe->pSprite->pos);
|
||||
listener.position = GetSoundPos(&gMe->actor->spr.pos);
|
||||
listener.valid = true;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -61,8 +61,8 @@ void viewBackupView(int nPlayer)
|
|||
PLAYER *pPlayer = &gPlayer[nPlayer];
|
||||
VIEW *pView = &gPrevView[nPlayer];
|
||||
pView->angle = pPlayer->angle.ang;
|
||||
pView->x = pPlayer->pSprite->pos.X;
|
||||
pView->y = pPlayer->pSprite->pos.Y;
|
||||
pView->x = pPlayer->actor->spr.pos.X;
|
||||
pView->y = pPlayer->actor->spr.pos.Y;
|
||||
pView->viewz = pPlayer->zView;
|
||||
pView->weaponZ = pPlayer->zWeapon-pPlayer->zView-0xc00;
|
||||
pView->horiz = pPlayer->horizon.horiz;
|
||||
|
@ -82,9 +82,9 @@ void viewCorrectViewOffsets(int nPlayer, vec3_t const *oldpos)
|
|||
{
|
||||
PLAYER *pPlayer = &gPlayer[nPlayer];
|
||||
VIEW *pView = &gPrevView[nPlayer];
|
||||
pView->x += pPlayer->pSprite->pos.X-oldpos->X;
|
||||
pView->y += pPlayer->pSprite->pos.Y-oldpos->Y;
|
||||
pView->viewz += pPlayer->pSprite->pos.Z-oldpos->Z;
|
||||
pView->x += pPlayer->actor->spr.pos.X-oldpos->X;
|
||||
pView->y += pPlayer->actor->spr.pos.Y-oldpos->Y;
|
||||
pView->viewz += pPlayer->actor->spr.pos.Z-oldpos->Z;
|
||||
}
|
||||
|
||||
void viewDrawText(FFont* pFont, const char *pString, int x, int y, int nShade, int nPalette, int position, bool shadow)
|
||||
|
@ -402,7 +402,7 @@ void SetupView(int &cX, int& cY, int& cZ, binangle& cA, fixedhoriz& cH, sectorty
|
|||
{
|
||||
int bobWidth, bobHeight;
|
||||
|
||||
pSector = gView->pSprite->sector();
|
||||
pSector = gView->actor->spr.sector();
|
||||
#if 0
|
||||
if (numplayers > 1 && gView == gMe && gPrediction && gMe->pXSprite->health > 0)
|
||||
{
|
||||
|
@ -433,8 +433,8 @@ void SetupView(int &cX, int& cY, int& cZ, binangle& cA, fixedhoriz& cH, sectorty
|
|||
#endif
|
||||
{
|
||||
VIEW* pView = &gPrevView[gViewIndex];
|
||||
cX = interpolatedvalue(pView->x, gView->pSprite->pos.X, gInterpolate);
|
||||
cY = interpolatedvalue(pView->y, gView->pSprite->pos.Y, gInterpolate);
|
||||
cX = interpolatedvalue(pView->x, gView->actor->spr.pos.X, gInterpolate);
|
||||
cY = interpolatedvalue(pView->y, gView->actor->spr.pos.Y, gInterpolate);
|
||||
cZ = interpolatedvalue(pView->viewz, gView->zView, gInterpolate);
|
||||
zDelta = interpolatedvaluef(pView->weaponZ, gView->zWeapon - gView->zView - (12 << 8), gInterpolate);
|
||||
bobWidth = interpolatedvalue(pView->bobWidth, gView->bobWidth, gInterpolate);
|
||||
|
@ -502,11 +502,11 @@ void renderCrystalBall()
|
|||
}
|
||||
//renderSetTarget(4079, 128, 128);
|
||||
renderSetAspect(65536, 78643);
|
||||
int vd8 = pOther->pSprite->x;
|
||||
int vd4 = pOther->pSprite->y;
|
||||
int vd8 = pOther->actor->spr.x;
|
||||
int vd4 = pOther->actor->spr.y;
|
||||
int vd0 = pOther->zView;
|
||||
int vcc = pOther->pSprite-> sectnum;
|
||||
int v50 = pOther->pSprite->ang;
|
||||
int vcc = pOther->actor->spr. sectnum;
|
||||
int v50 = pOther->actor->spr.ang;
|
||||
int v54 = 0;
|
||||
if (pOther->flickerEffect)
|
||||
{
|
||||
|
@ -669,10 +669,10 @@ void viewDrawScreen(bool sceneonly)
|
|||
if (testnewrenderer)
|
||||
{
|
||||
fixedhoriz deliriumPitchI = q16horiz(interpolatedvalue(IntToFixed(deliriumPitchO), IntToFixed(deliriumPitch), gInterpolate));
|
||||
auto bakCstat = gView->pSprite->cstat;
|
||||
gView->pSprite->cstat |= (gViewPos == 0) ? CSTAT_SPRITE_INVISIBLE : CSTAT_SPRITE_TRANSLUCENT | CSTAT_SPRITE_TRANS_FLIP;
|
||||
auto bakCstat = gView->actor->spr.cstat;
|
||||
gView->actor->spr.cstat |= (gViewPos == 0) ? CSTAT_SPRITE_INVISIBLE : CSTAT_SPRITE_TRANSLUCENT | CSTAT_SPRITE_TRANS_FLIP;
|
||||
render_drawrooms(gView->actor, { cX, cY, cZ }, sectnum(pSector), cA, cH + deliriumPitchI, rotscrnang, gInterpolate);
|
||||
gView->pSprite->cstat = bakCstat;
|
||||
gView->actor->spr.cstat = bakCstat;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -681,7 +681,7 @@ void viewDrawScreen(bool sceneonly)
|
|||
}
|
||||
bDeliriumOld = bDelirium && gDeliriumBlur;
|
||||
|
||||
int nClipDist = gView->pSprite->clipdist << 2;
|
||||
int nClipDist = gView->actor->spr.clipdist << 2;
|
||||
int vec, vf4;
|
||||
Collision c1, c2;
|
||||
GetZRange(gView->actor, &vf4, &c1, &vec, &c2, nClipDist, 0);
|
||||
|
@ -715,7 +715,7 @@ void viewDrawScreen(bool sceneonly)
|
|||
}
|
||||
UpdateStatusBar();
|
||||
int zn = ((gView->zWeapon-gView->zView-(12<<8))>>7)+220;
|
||||
PLAYER *pPSprite = &gPlayer[gMe->pSprite->type-kDudePlayer1];
|
||||
PLAYER *pPSprite = &gPlayer[gMe->actor->spr.type-kDudePlayer1];
|
||||
if (IsPlayerSprite(gMe->pSprite) && pPSprite->hand == 1)
|
||||
{
|
||||
gChoke.animateChoke(160, zn, (int)gInterpolate);
|
||||
|
@ -749,7 +749,7 @@ FString GameInterface::GetCoordString()
|
|||
FString out;
|
||||
|
||||
out.Format("pos= %d, %d, %d - angle = %2.3f",
|
||||
gMe->pSprite->pos.X, gMe->pSprite->pos.Y, gMe->pSprite->pos.Z, gMe->pSprite->ang * BAngToDegree);
|
||||
gMe->actor->spr.pos.X, gMe->actor->spr.pos.Y, gMe->actor->spr.pos.Z, gMe->actor->spr.ang * BAngToDegree);
|
||||
|
||||
return out;
|
||||
}
|
||||
|
|
|
@ -211,7 +211,7 @@ static bool checkAmmo2(const PLAYER *pPlayer, int ammotype, int amount)
|
|||
void SpawnBulletEject(PLAYER *pPlayer, int a2, int a3)
|
||||
{
|
||||
POSTURE *pPosture = &pPlayer->pPosture[pPlayer->lifeMode][pPlayer->posture];
|
||||
pPlayer->zView = pPlayer->pSprite->pos.Z-pPosture->eyeAboveZ;
|
||||
pPlayer->zView = pPlayer->actor->spr.pos.Z-pPosture->eyeAboveZ;
|
||||
int dz = pPlayer->zWeapon-(pPlayer->zWeapon-pPlayer->zView)/2;
|
||||
fxSpawnEjectingBrass(pPlayer->actor, dz, a2, a3);
|
||||
}
|
||||
|
@ -219,7 +219,7 @@ void SpawnBulletEject(PLAYER *pPlayer, int a2, int a3)
|
|||
void SpawnShellEject(PLAYER *pPlayer, int a2, int a3)
|
||||
{
|
||||
POSTURE *pPosture = &pPlayer->pPosture[pPlayer->lifeMode][pPlayer->posture];
|
||||
pPlayer->zView = pPlayer->pSprite->pos.Z-pPosture->eyeAboveZ;
|
||||
pPlayer->zView = pPlayer->actor->spr.pos.Z-pPosture->eyeAboveZ;
|
||||
int t = pPlayer->zWeapon - pPlayer->zView;
|
||||
int dz = pPlayer->zWeapon-t+(t>>2);
|
||||
fxSpawnEjectingShell(pPlayer->actor, dz, a2, a3);
|
||||
|
@ -1065,7 +1065,7 @@ void FirePitchfork(int, PLAYER *pPlayer)
|
|||
int r2 = Random2(2000);
|
||||
int r3 = Random2(2000);
|
||||
for (int i = 0; i < 4; i++)
|
||||
actFireVector(actor, (2*i-3)*40, pPlayer->zWeapon-pPlayer->pSprite->pos.Z, aim->dx+r1, aim->dy+r2, aim->dz+r3, kVectorTine);
|
||||
actFireVector(actor, (2*i-3)*40, pPlayer->zWeapon-pPlayer->actor->spr.pos.Z, aim->dx+r1, aim->dy+r2, aim->dz+r3, kVectorTine);
|
||||
}
|
||||
|
||||
void FireSpray(int, PLAYER *pPlayer)
|
||||
|
@ -1191,7 +1191,7 @@ void ThrowRemote(int, PLAYER *pPlayer)
|
|||
auto spawned = playerFireThing(pPlayer, 0, -9460, kThingArmedRemoteBomb, nSpeed);
|
||||
if (spawned)
|
||||
{
|
||||
spawned->xspr.rxID = 90 + (pPlayer->pSprite->type - kDudePlayer1);
|
||||
spawned->xspr.rxID = 90 + (pPlayer->actor->spr.type - kDudePlayer1);
|
||||
UseAmmo(pPlayer, 11, 1);
|
||||
pPlayer->throwPower = 0;
|
||||
}
|
||||
|
@ -1202,14 +1202,14 @@ void DropRemote(int, PLAYER *pPlayer)
|
|||
auto spawned = playerFireThing(pPlayer, 0, 0, kThingArmedRemoteBomb, 0);
|
||||
if (spawned)
|
||||
{
|
||||
spawned->xspr.rxID = 90 + (pPlayer->pSprite->type - kDudePlayer1);
|
||||
spawned->xspr.rxID = 90 + (pPlayer->actor->spr.type - kDudePlayer1);
|
||||
UseAmmo(pPlayer, 11, 1);
|
||||
}
|
||||
}
|
||||
|
||||
void FireRemote(int, PLAYER *pPlayer)
|
||||
{
|
||||
evSendGame(90+(pPlayer->pSprite->type-kDudePlayer1), kCmdOn);
|
||||
evSendGame(90+(pPlayer->actor->spr.type-kDudePlayer1), kCmdOn);
|
||||
}
|
||||
|
||||
enum { kMaxShotgunBarrels = 4 };
|
||||
|
@ -1249,7 +1249,7 @@ void FireShotgun(int nTrigger, PLAYER *pPlayer)
|
|||
r3 = Random3(1500);
|
||||
nType = kVectorShellAP;
|
||||
}
|
||||
actFireVector(actor, 0, pPlayer->zWeapon-pPlayer->pSprite->pos.Z, pPlayer->aim.dx+r1, pPlayer->aim.dy+r2, pPlayer->aim.dz+r3, nType);
|
||||
actFireVector(actor, 0, pPlayer->zWeapon-pPlayer->actor->spr.pos.Z, pPlayer->aim.dx+r1, pPlayer->aim.dy+r2, pPlayer->aim.dz+r3, nType);
|
||||
}
|
||||
UseAmmo(pPlayer, pPlayer->weaponAmmo, nTrigger);
|
||||
pPlayer->flashEffect = 1;
|
||||
|
@ -1273,7 +1273,7 @@ void FireTommy(int nTrigger, PLAYER *pPlayer)
|
|||
int r1 = Random3(400);
|
||||
int r2 = Random3(1200);
|
||||
int r3 = Random3(1200);
|
||||
actFireVector(actor, 0, pPlayer->zWeapon-pPlayer->pSprite->pos.Z, aim->dx+r3, aim->dy+r2, aim->dz+r1, kVectorTommyRegular);
|
||||
actFireVector(actor, 0, pPlayer->zWeapon-pPlayer->actor->spr.pos.Z, aim->dx+r3, aim->dy+r2, aim->dz+r1, kVectorTommyRegular);
|
||||
SpawnBulletEject(pPlayer, -15, -45);
|
||||
pPlayer->visibility = 20;
|
||||
break;
|
||||
|
@ -1283,12 +1283,12 @@ void FireTommy(int nTrigger, PLAYER *pPlayer)
|
|||
int r1 = Random3(400);
|
||||
int r2 = Random3(1200);
|
||||
int r3 = Random3(1200);
|
||||
actFireVector(actor, -120, pPlayer->zWeapon-pPlayer->pSprite->pos.Z, aim->dx+r3, aim->dy+r2, aim->dz+r1, kVectorTommyRegular);
|
||||
actFireVector(actor, -120, pPlayer->zWeapon-pPlayer->actor->spr.pos.Z, aim->dx+r3, aim->dy+r2, aim->dz+r1, kVectorTommyRegular);
|
||||
SpawnBulletEject(pPlayer, -140, -45);
|
||||
r1 = Random3(400);
|
||||
r2 = Random3(1200);
|
||||
r3 = Random3(1200);
|
||||
actFireVector(actor, 120, pPlayer->zWeapon-pPlayer->pSprite->pos.Z, aim->dx+r3, aim->dy+r2, aim->dz+r1, kVectorTommyRegular);
|
||||
actFireVector(actor, 120, pPlayer->zWeapon-pPlayer->actor->spr.pos.Z, aim->dx+r3, aim->dy+r2, aim->dz+r1, kVectorTommyRegular);
|
||||
SpawnBulletEject(pPlayer, 140, 45);
|
||||
pPlayer->visibility = 30;
|
||||
break;
|
||||
|
@ -1313,7 +1313,7 @@ void FireSpread(int nTrigger, PLAYER *pPlayer)
|
|||
r1 = Random3(300);
|
||||
r2 = Random3(600);
|
||||
r3 = Random3(600);
|
||||
actFireVector(actor, 0, pPlayer->zWeapon-pPlayer->pSprite->pos.Z, dx+r3, dy+r2, aim->dz+r1, kVectorTommyAP);
|
||||
actFireVector(actor, 0, pPlayer->zWeapon-pPlayer->actor->spr.pos.Z, dx+r3, dy+r2, aim->dz+r1, kVectorTommyAP);
|
||||
r1 = Random2(90);
|
||||
r2 = Random2(30);
|
||||
SpawnBulletEject(pPlayer, r2, r1);
|
||||
|
@ -1335,14 +1335,14 @@ void AltFireSpread(int nTrigger, PLAYER *pPlayer)
|
|||
r1 = Random3(300);
|
||||
r2 = Random3(600);
|
||||
r3 = Random3(600);
|
||||
actFireVector(actor, -120, pPlayer->zWeapon-pPlayer->pSprite->pos.Z, dx+r3, dy+r2, aim->dz+r1, kVectorTommyAP);
|
||||
actFireVector(actor, -120, pPlayer->zWeapon-pPlayer->actor->spr.pos.Z, dx+r3, dy+r2, aim->dz+r1, kVectorTommyAP);
|
||||
r1 = Random2(45);
|
||||
r2 = Random2(120);
|
||||
SpawnBulletEject(pPlayer, r2, r1);
|
||||
r1 = Random3(300);
|
||||
r2 = Random3(600);
|
||||
r3 = Random3(600);
|
||||
actFireVector(actor, 120, pPlayer->zWeapon-pPlayer->pSprite->pos.Z, dx+r3, dy+r2, aim->dz+r1, kVectorTommyAP);
|
||||
actFireVector(actor, 120, pPlayer->zWeapon-pPlayer->actor->spr.pos.Z, dx+r3, dy+r2, aim->dz+r1, kVectorTommyAP);
|
||||
r1 = Random2(-45);
|
||||
r2 = Random2(-120);
|
||||
SpawnBulletEject(pPlayer, r2, r1);
|
||||
|
@ -1367,14 +1367,14 @@ void AltFireSpread2(int nTrigger, PLAYER *pPlayer)
|
|||
r1 = Random3(300);
|
||||
r2 = Random3(600);
|
||||
r3 = Random3(600);
|
||||
actFireVector(actor, -120, pPlayer->zWeapon-pPlayer->pSprite->pos.Z, dx+r3, dy+r2, aim->dz+r1, kVectorTommyAP);
|
||||
actFireVector(actor, -120, pPlayer->zWeapon-pPlayer->actor->spr.pos.Z, dx+r3, dy+r2, aim->dz+r1, kVectorTommyAP);
|
||||
r1 = Random2(45);
|
||||
r2 = Random2(120);
|
||||
SpawnBulletEject(pPlayer, r2, r1);
|
||||
r1 = Random3(300);
|
||||
r2 = Random3(600);
|
||||
r3 = Random3(600);
|
||||
actFireVector(actor, 120, pPlayer->zWeapon-pPlayer->pSprite->pos.Z, dx+r3, dy+r2, aim->dz+r1, kVectorTommyAP);
|
||||
actFireVector(actor, 120, pPlayer->zWeapon-pPlayer->actor->spr.pos.Z, dx+r3, dy+r2, aim->dz+r1, kVectorTommyAP);
|
||||
r1 = Random2(-45);
|
||||
r2 = Random2(-120);
|
||||
SpawnBulletEject(pPlayer, r2, r1);
|
||||
|
@ -1388,7 +1388,7 @@ void AltFireSpread2(int nTrigger, PLAYER *pPlayer)
|
|||
r1 = Random3(300);
|
||||
r2 = Random3(600);
|
||||
r3 = Random3(600);
|
||||
actFireVector(actor, 0, pPlayer->zWeapon-pPlayer->pSprite->pos.Z, dx+r3, dy+r2, aim->dz+r1, kVectorTommyAP);
|
||||
actFireVector(actor, 0, pPlayer->zWeapon-pPlayer->actor->spr.pos.Z, dx+r3, dy+r2, aim->dz+r1, kVectorTommyAP);
|
||||
r1 = Random2(90);
|
||||
r2 = Random2(30);
|
||||
SpawnBulletEject(pPlayer, r2, r1);
|
||||
|
@ -1521,7 +1521,7 @@ void AltFireVoodoo(int nTrigger, PLAYER *pPlayer)
|
|||
spritetype* pTarget = &targetactor->s();
|
||||
if (!gGameOptions.bFriendlyFire && IsTargetTeammate(pPlayer, pTarget))
|
||||
continue;
|
||||
int nDist = approxDist(pTarget->pos.X - pPlayer->pSprite->pos.X, pTarget->pos.Y - pPlayer->pSprite->pos.Y);
|
||||
int nDist = approxDist(pTarget->pos.X - pPlayer->actor->spr.pos.X, pTarget->pos.Y - pPlayer->actor->spr.pos.Y);
|
||||
if (nDist > 0 && nDist < 51200)
|
||||
{
|
||||
int vc = pPlayer->ammoCount[9] >> 3;
|
||||
|
@ -1560,7 +1560,7 @@ void AltFireVoodoo(int nTrigger, PLAYER *pPlayer)
|
|||
continue;
|
||||
if (v4 > 0)
|
||||
v4--;
|
||||
int nDist = approxDist(pTarget->pos.X - pPlayer->pSprite->pos.X, pTarget->pos.Y - pPlayer->pSprite->pos.Y);
|
||||
int nDist = approxDist(pTarget->pos.X - pPlayer->actor->spr.pos.X, pTarget->pos.Y - pPlayer->actor->spr.pos.Y);
|
||||
if (nDist > 0 && nDist < 51200)
|
||||
{
|
||||
int vc = pPlayer->ammoCount[9] >> 3;
|
||||
|
@ -1764,7 +1764,7 @@ void FireBeast(int , PLAYER * pPlayer)
|
|||
int r1 = Random2(2000);
|
||||
int r2 = Random2(2000);
|
||||
int r3 = Random2(2000);
|
||||
actFireVector(actor, 0, pPlayer->zWeapon-pPlayer->pSprite->pos.Z, pPlayer->aim.dx+r1, pPlayer->aim.dy+r2, pPlayer->aim.dz+r3, kVectorBeastSlash);
|
||||
actFireVector(actor, 0, pPlayer->zWeapon-pPlayer->actor->spr.pos.Z, pPlayer->aim.dx+r1, pPlayer->aim.dy+r2, pPlayer->aim.dz+r3, kVectorBeastSlash);
|
||||
}
|
||||
|
||||
uint8_t gWeaponUpgrade[][13] = {
|
||||
|
|
Loading…
Reference in a new issue