mirror of
https://github.com/ZDoom/Raze.git
synced 2025-03-23 17:31:14 +00:00
- Exhumed: Wrap all access to SeqBase[]
array and make static.
This commit is contained in:
parent
53b7235adf
commit
8df52e1265
14 changed files with 36 additions and 26 deletions
|
@ -121,7 +121,7 @@ void AIAnubis::Tick(RunListEvent* ev)
|
|||
const auto ap = ev->pObjActor;
|
||||
const int nAction = ap->nAction;
|
||||
const int nSeq = getSeqFromId(kSeqAnubis, AnubisSeq[nAction].a);
|
||||
const int nFrame = SeqBase[nSeq] + ap->nFrame;
|
||||
const int nFrame = getSeqFrame(nSeq, ap->nFrame);
|
||||
const int nFlag = FrameFlag[nFrame];
|
||||
bool bVal = false;
|
||||
|
||||
|
|
|
@ -802,7 +802,7 @@ void AIBullet::Tick(RunListEvent* ev)
|
|||
int nSeq = getSeqFromId(BulletList[nBullet].nSeq);
|
||||
DExhumedActor* pActor = BulletList[nBullet].pActor;
|
||||
|
||||
int nFlag = FrameFlag[SeqBase[nSeq] + BulletList[nBullet].nFrame];
|
||||
int nFlag = FrameFlag[getSeqFrame(nSeq, BulletList[nBullet].nFrame)];
|
||||
|
||||
seq_MoveSequence(pActor, nSeq, BulletList[nBullet].nFrame);
|
||||
|
||||
|
|
|
@ -218,7 +218,7 @@ void AILavaDude::Tick(RunListEvent* ev)
|
|||
pActor->spr.picnum = seq_GetSeqPicnum2(nSeq, pActor->nFrame);
|
||||
int var_38 = pActor->nFrame;
|
||||
|
||||
int nFlag = FrameFlag[SeqBase[nSeq] + var_38];
|
||||
int nFlag = FrameFlag[getSeqFrame(nSeq, var_38)];
|
||||
|
||||
int var_1C = 0;
|
||||
|
||||
|
|
|
@ -211,7 +211,7 @@ void AILion::Tick(RunListEvent* ev)
|
|||
bVal = true;
|
||||
}
|
||||
|
||||
int nFlag = FrameFlag[SeqBase[nSeq] + pActor->nFrame];
|
||||
int nFlag = FrameFlag[getSeqFrame(nSeq, pActor->nFrame)];
|
||||
DExhumedActor* pTarget = pActor->pTarget;
|
||||
|
||||
auto nMov = MoveCreatureWithCaution(pActor);
|
||||
|
|
|
@ -143,7 +143,7 @@ void AIMummy::Tick(RunListEvent* ev)
|
|||
|
||||
pActor->spr.picnum = seq_GetSeqPicnum2(nSeq, pActor->nFrame);
|
||||
|
||||
int nFrame = SeqBase[nSeq] + pActor->nFrame;
|
||||
int nFrame = getSeqFrame(nSeq, pActor->nFrame);
|
||||
int nFrameFlag = FrameFlag[nFrame];
|
||||
|
||||
seq_MoveSequence(pActor, nSeq, pActor->nFrame);
|
||||
|
|
|
@ -1252,7 +1252,7 @@ void AIQueen::Tick(RunListEvent* ev)
|
|||
bVal = true;
|
||||
}
|
||||
|
||||
int nFlag = FrameFlag[SeqBase[nSeq] + QueenList[nQueen].nFrame];
|
||||
int nFlag = FrameFlag[getSeqFrame(nSeq, QueenList[nQueen].nFrame)];
|
||||
|
||||
if (pActor != nullptr)
|
||||
{
|
||||
|
|
|
@ -215,7 +215,7 @@ void AIRex::Tick(RunListEvent* ev)
|
|||
}
|
||||
}
|
||||
|
||||
int nFlag = FrameFlag[SeqBase[nSeq] + pActor->nFrame];
|
||||
int nFlag = FrameFlag[getSeqFrame(nSeq, pActor->nFrame)];
|
||||
|
||||
DExhumedActor* pTarget = pActor->pTarget;
|
||||
|
||||
|
|
|
@ -223,7 +223,7 @@ void AIRoach::Tick(RunListEvent* ev)
|
|||
pActor->nFrame = 0;
|
||||
}
|
||||
|
||||
int nFlag = FrameFlag[SeqBase[nSeq] + pActor->nFrame];
|
||||
int nFlag = FrameFlag[getSeqFrame(nSeq, pActor->nFrame)];
|
||||
DExhumedActor* pTarget = pActor->pTarget;
|
||||
|
||||
if (nAction > 5) {
|
||||
|
|
|
@ -219,7 +219,7 @@ void AIScorp::Tick(RunListEvent* ev)
|
|||
bVal = true;
|
||||
}
|
||||
|
||||
int nFlag = FrameFlag[SeqBase[nSeq] + pActor->nFrame];
|
||||
int nFlag = FrameFlag[getSeqFrame(nSeq, pActor->nFrame)];
|
||||
pTarget = pActor->pTarget;
|
||||
|
||||
switch (nAction)
|
||||
|
|
|
@ -51,7 +51,7 @@ int16_t nPilotLightBase;
|
|||
int16_t nShadowWidth = 1;
|
||||
int16_t nFlameHeight = 1;
|
||||
|
||||
int16_t SeqBase[kMaxSequences];
|
||||
static int16_t SeqBase[kMaxSequences];
|
||||
int16_t SeqSize[kMaxSequences];
|
||||
int16_t SeqFlag[kMaxSequences];
|
||||
|
||||
|
@ -168,6 +168,17 @@ int getSeqFromId(const int nSeqFileId, const int nSeq)
|
|||
//
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
int getSeqFrame(const int nSeq, const int nFrame)
|
||||
{
|
||||
return SeqBase[nSeq] + nFrame;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
int seq_ReadSequence(const char *seqName)
|
||||
{
|
||||
const int16_t StartFrameCount = frames;
|
||||
|
@ -319,7 +330,7 @@ int seq_ReadSequence(const char *seqName)
|
|||
int seq_GetFirstSeqPicnum(int nSeq)
|
||||
{
|
||||
int i = getSeqFromId(nSeq);
|
||||
i = SeqBase[i];
|
||||
i = getSeqFrame(i);
|
||||
i = FrameBase[i];
|
||||
i = ChunkPict[i];
|
||||
|
||||
|
@ -371,7 +382,7 @@ void seq_LoadSequences()
|
|||
|
||||
nBackgroundPic = seq_GetFirstSeqPicnum(kSeqBackgrnd);
|
||||
|
||||
nPilotLightBase = SeqBase[getSeqFromId(kSeqFlamer, 3)];
|
||||
nPilotLightBase = getSeqFrame(getSeqFromId(kSeqFlamer, 3));
|
||||
nPilotLightCount = SeqSize[getSeqFromId(kSeqFlamer, 3)];
|
||||
nPilotLightFrame = 0;
|
||||
|
||||
|
@ -394,7 +405,7 @@ void seq_LoadSequences()
|
|||
|
||||
int16_t seq_GetFrameFlag(int16_t val, int16_t nFrame)
|
||||
{
|
||||
return FrameFlag[SeqBase[val] + nFrame];
|
||||
return FrameFlag[getSeqFrame(val, nFrame)];
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
@ -437,7 +448,7 @@ void seq_DrawPilotLightSeq(double xOffset, double yOffset)
|
|||
|
||||
int seq_DrawGunSequence(int nSeqOffset, int16_t dx, double xOffs, double yOffs, int nShade, int nPal, DAngle angle, bool align)
|
||||
{
|
||||
int nFrame = SeqBase[nSeqOffset] + dx;
|
||||
int nFrame = getSeqFrame(nSeqOffset, dx);
|
||||
int nFrameBase = FrameBase[nFrame];
|
||||
int nFrameSize = FrameSize[nFrame];
|
||||
int frameFlag = FrameFlag[nFrame];
|
||||
|
@ -479,7 +490,7 @@ int seq_DrawGunSequence(int nSeqOffset, int16_t dx, double xOffs, double yOffs,
|
|||
|
||||
int seq_GetFrameSound(int val, int edx)
|
||||
{
|
||||
return FrameSound[SeqBase[val] + edx];
|
||||
return FrameSound[getSeqFrame(val, edx)];
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
@ -492,7 +503,7 @@ void seq_MoveSequence(DExhumedActor* actor, int16_t nSeq, int16_t nFrame)
|
|||
{
|
||||
assert(nSeq >= 0); // TEMP
|
||||
|
||||
int nSound = FrameSound[SeqBase[nSeq] + nFrame];
|
||||
int nSound = FrameSound[getSeqFrame(nSeq, nFrame)];
|
||||
if (nSound == -1) {
|
||||
return;
|
||||
}
|
||||
|
@ -513,7 +524,7 @@ void seq_MoveSequence(DExhumedActor* actor, int16_t nSeq, int16_t nFrame)
|
|||
|
||||
int seq_GetSeqPicnum2(int16_t nSeq, int16_t nFrame)
|
||||
{
|
||||
int16_t nBase = FrameBase[SeqBase[nSeq] + nFrame];
|
||||
int16_t nBase = FrameBase[getSeqFrame(nSeq, nFrame)];
|
||||
return ChunkPict[nBase];
|
||||
}
|
||||
|
||||
|
@ -525,8 +536,7 @@ int seq_GetSeqPicnum2(int16_t nSeq, int16_t nFrame)
|
|||
|
||||
int seq_GetSeqPicnum(int16_t nSeq, int16_t edx, int16_t ebx)
|
||||
{
|
||||
ebx += SeqBase[getSeqFromId(nSeq, edx)];
|
||||
int16_t c = FrameBase[ebx];
|
||||
int16_t c = FrameBase[getSeqFrame(getSeqFromId(nSeq, edx))];
|
||||
|
||||
return ChunkPict[c];
|
||||
}
|
||||
|
@ -544,7 +554,7 @@ int seq_PlotArrowSequence(int nSprite, int16_t nSeq, int nVal)
|
|||
|
||||
int nSeqOffset = (((pTSprite->Angles.Yaw + DAngle90 + DAngle22_5 - nAngle).Buildang()) & kAngleMask) >> 8;
|
||||
|
||||
int16_t nFrame = SeqBase[nSeqOffset + nSeq] + nVal;
|
||||
int16_t nFrame = getSeqFrame(nSeq + nSeqOffset, nVal);
|
||||
|
||||
int16_t nFrameBase = FrameBase[nFrame];
|
||||
int16_t nFrameSize = FrameSize[nFrame];
|
||||
|
@ -607,8 +617,8 @@ int seq_PlotSequence(int nSprite, int16_t edx, int16_t nFrame, int16_t ecx)
|
|||
val = (((pTSprite->Angles.Yaw + DAngle22_5 - nAngle).Buildang()) & kAngleMask) >> 8;
|
||||
}
|
||||
|
||||
int eax = SeqBase[edx] + nFrame;
|
||||
int edi = SeqBase[edx + val] + nFrame;
|
||||
int eax = getSeqFrame(edx, nFrame);
|
||||
int edi = getSeqFrame(edx + val, nFrame);
|
||||
|
||||
int16_t nBase = FrameBase[edi];
|
||||
int16_t nSize = FrameSize[edi];
|
||||
|
|
|
@ -110,7 +110,6 @@ struct actionSeq
|
|||
|
||||
extern int16_t frames;
|
||||
|
||||
extern int16_t SeqBase[];
|
||||
extern int16_t SeqSize[];
|
||||
extern int16_t FrameFlag[];
|
||||
|
||||
|
@ -143,6 +142,7 @@ int seq_PlotArrowSequence(int nSprite, int16_t nSeq, int nVal);
|
|||
void seq_DrawPilotLightSeq(double xOffset, double yOffset);
|
||||
|
||||
int getSeqFromId(const int nSeqFileId, const int nSeq = 0);
|
||||
int getSeqFrame(const int nSeq, const int nFrame = 0);
|
||||
|
||||
END_PS_NS
|
||||
|
||||
|
|
|
@ -287,7 +287,7 @@ void AISet::Tick(RunListEvent* ev)
|
|||
bVal = true;
|
||||
}
|
||||
|
||||
int nFlag = FrameFlag[SeqBase[nSeq] + pActor->nFrame];
|
||||
int nFlag = FrameFlag[getSeqFrame(nSeq, pActor->nFrame)];
|
||||
DExhumedActor* pTarget = pActor->pTarget;
|
||||
|
||||
if (pTarget && nAction < 10)
|
||||
|
|
|
@ -123,7 +123,7 @@ void AISpider::Tick(RunListEvent* ev)
|
|||
|
||||
seq_MoveSequence(spp, nSeq, spp->nFrame);
|
||||
|
||||
int nFrameFlag = FrameFlag[SeqBase[nSeq] + spp->nFrame];
|
||||
int nFrameFlag = FrameFlag[getSeqFrame(nSeq, spp->nFrame)];
|
||||
|
||||
spp->nFrame++;
|
||||
if (spp->nFrame >= SeqSize[nSeq]) {
|
||||
|
|
|
@ -97,7 +97,7 @@ DEFINE_ACTION_FUNCTION(_Exhumed, GetStatusSequence)
|
|||
PARAM_INT(nSequence);
|
||||
PARAM_INT(frameindex);
|
||||
|
||||
frameindex += SeqBase[nStatusSeqOffset + nSequence];
|
||||
frameindex += getSeqFrame(nSequence + nStatusSeqOffset);
|
||||
if (numret > 0) ret[0].SetInt(FrameBase[frameindex]);
|
||||
if (numret > 1) ret[1].SetInt(FrameSize[frameindex]);
|
||||
return min(numret, 2);
|
||||
|
|
Loading…
Reference in a new issue