- minimal backend array removal.

This commit is contained in:
Christoph Oelckers 2021-11-27 21:08:49 +01:00
parent 6cecd85cf6
commit befc4572e9
2 changed files with 10 additions and 10 deletions

View file

@ -27,6 +27,7 @@ Ken Silverman's official web site: http://www.advsys.net/ken
#include "gamestruct.h"
#include "gamestruct.h"
#include "hw_voxels.h"
#include "coreactor.h"
#ifdef _MSC_VER
// just make it shut up. Most of this file will go down the drain anyway soon.
@ -1910,12 +1911,10 @@ void polymost_scansector(int32_t sectnum)
{
sectnum = sectorborder[--sectorbordercnt];
int z;
SectIterator it(sectnum);
while ((z = it.NextIndex()) >= 0)
TSectIterator<DCoreActor> it(sectnum);
while (auto act = it.Next())
{
auto const spr = (uspriteptr_t)&sprite[z];
auto spr = &act->s();
if ((spr->cstat & 0x8000) || spr->xrepeat == 0 || spr->yrepeat == 0)
continue;

View file

@ -191,12 +191,13 @@ DBloodActor* InsertSprite(sectortype* pSector, int nStat)
int DeleteSprite(int nSprite)
{
FVector3 pos = GetSoundPos(&sprite[nSprite].pos);
auto sp = &sprite[nSprite];
FVector3 pos = GetSoundPos(&sp->pos);
soundEngine->RelinkSound(SOURCE_Actor, &sprite[nSprite], nullptr, &pos);
assert(sprite[nSprite].statnum >= 0 && sprite[nSprite].statnum < kMaxStatus);
assert(sp->statnum >= 0 && sp->statnum < kMaxStatus);
RemoveSpriteStat(nSprite);
assert(validSectorIndex(sprite[nSprite].sectnum));
assert(sp->insector());
RemoveSpriteSect(nSprite);
InsertSpriteStat(nSprite, kMaxStatus);
#ifdef NOONE_EXTENSIONS
@ -211,7 +212,7 @@ int ChangeSpriteSect(int nSprite, int nSector)
{
assert(nSprite >= 0 && nSprite < kMaxSprites);
assert(validSectorIndex(nSector));
assert(validSectorIndex(sprite[nSprite].sectnum));
assert(sprite[nSprite].insector());
RemoveSpriteSect(nSprite);
InsertSpriteSect(nSprite, nSector);
return 0;
@ -227,7 +228,7 @@ int ChangeSpriteStat(int nSprite, int nStatus)
assert(nSprite >= 0 && nSprite < kMaxSprites);
assert(nStatus >= 0 && nStatus < kMaxStatus);
assert(sprite[nSprite].statnum >= 0 && sprite[nSprite].statnum < kMaxStatus);
assert(validSectorIndex(sprite[nSprite].sectnum));
assert(sprite[nSprite].insector());
RemoveSpriteStat(nSprite);
InsertSpriteStat(nSprite, nStatus);
return 0;