- preparations for unlimited tsprites.

Right now it is a no-op because Polymost cannot deal with this properly.
This commit is contained in:
Christoph Oelckers 2022-01-10 00:38:26 +01:00
parent 2377b17106
commit e892de21ec
7 changed files with 11 additions and 0 deletions

View file

@ -428,3 +428,7 @@ inline int pushmove(vec3_t* const vect, sectortype** const sect, int32_t const w
}
tspritetype* renderAddTsprite(tspritetype* tsprite, int& spritesortcnt, DCoreActor* actor);
inline void validateTSpriteSize(tspritetype*& tsprite, int& spritesortcnt)
{
}

View file

@ -412,6 +412,8 @@ void dragpoint(walltype* startwall, int newx, int newy)
tspritetype* renderAddTsprite(tspritetype* tsprite, int& spritesortcnt, DCoreActor* actor)
{
validateTSpriteSize(tsprite, spritesortcnt);
if (spritesortcnt >= MAXSPRITESONSCREEN) return nullptr;
auto tspr = &tsprite[spritesortcnt++];

View file

@ -553,6 +553,7 @@ void viewProcessSprites(tspritetype* tsprite, int& spritesortcnt, int32_t cX, in
int nViewSprites = spritesortcnt;
for (int nTSprite = spritesortcnt - 1; nTSprite >= 0; nTSprite--)
{
validateTSpriteSize(tsprite, spritesortcnt);
tspritetype* pTSprite = &tsprite[nTSprite];
auto owneractor = static_cast<DBloodActor*>(pTSprite->ownerActor);
if (owneractor->spr.detail > gDetail)

View file

@ -139,6 +139,7 @@ void animatesprites_d(tspritetype* tsprite, int& spritesortcnt, int x, int y, in
//Between drawrooms() and drawmasks() is the perfect time to animate sprites
for (j = 0; j < spritesortcnt; j++)
{
validateTSpriteSize(tsprite, spritesortcnt);
t = &tsprite[j];
h = static_cast<DDukeActor*>(t->ownerActor);
auto OwnerAc = h->GetOwner();

View file

@ -124,6 +124,7 @@ void animatesprites_r(tspritetype* tsprite, int& spritesortcnt, int x, int y, in
//Between drawrooms() and drawmasks() is the perfect time to animate sprites
for (j = 0; j < spritesortcnt; j++)
{
validateTSpriteSize(tsprite, spritesortcnt);
t = &tsprite[j];
h = static_cast<DDukeActor*>(t->ownerActor);
auto OwnerAc = h->GetOwner();

View file

@ -73,6 +73,7 @@ static void analyzesprites(tspritetype* tsprite, int& spritesortcnt, int x, int
myspritesortcnt = &spritesortcnt;
for (int i = 0; i < spritesortcnt; i++) {
validateTSpriteSize(tsprite, spritesortcnt);
pTSprite = &tsprite[i];
if (pTSprite->ownerActor)

View file

@ -605,6 +605,7 @@ void analyzesprites(tspritetype* tsprite, int& spritesortcnt, int viewx, int vie
for (tSpriteNum = spritesortcnt - 1; tSpriteNum >= 0; tSpriteNum--)
{
validateTSpriteSize(tsprite, spritesortcnt);
tspritetype* tsp = &tsprite[tSpriteNum];
auto tActor = static_cast<DSWActor*>(tsp->ownerActor);
auto tsectp = tsp->sectp;