From f115f9427d58f738174b04e176e9320964246ffd Mon Sep 17 00:00:00 2001 From: Christoph Oelckers <coelckers@users.noreply.github.com> Date: Mon, 2 Jan 2023 18:46:36 +0100 Subject: [PATCH] - got rid of a few more picnum references in Blood. --- source/games/blood/src/aiunicult.cpp | 3 ++- source/games/blood/src/animatesprite.cpp | 4 ++-- source/games/blood/src/db.cpp | 2 +- source/games/blood/src/mapstructs.h | 2 +- source/games/blood/src/mirrors.cpp | 2 +- source/games/blood/src/nnexts.cpp | 8 ++++---- source/games/blood/src/nnexts.h | 2 +- 7 files changed, 12 insertions(+), 11 deletions(-) diff --git a/source/games/blood/src/aiunicult.cpp b/source/games/blood/src/aiunicult.cpp index 5c1006936..809af3843 100644 --- a/source/games/blood/src/aiunicult.cpp +++ b/source/games/blood/src/aiunicult.cpp @@ -2287,7 +2287,8 @@ bool genDudePrepare(DBloodActor* actor, int propId) case kGenDudePropertyMass: { // to ensure mass gets updated, let's clear all cache SPRITEMASS* pMass = &actor->spriteMass; - pMass->seqId = pMass->picnum = 0; + pMass->seqId = 0; + pMass->texid = FNullTextureID(); pMass->scale.Zero(); pMass->clipDist = 0; pMass->mass = pMass->airVel = pMass->fraction = 0; diff --git a/source/games/blood/src/animatesprite.cpp b/source/games/blood/src/animatesprite.cpp index fc0fd2246..50a4ab04e 100644 --- a/source/games/blood/src/animatesprite.cpp +++ b/source/games/blood/src/animatesprite.cpp @@ -656,7 +656,7 @@ void viewProcessSprites(tspriteArray& tsprites, const DVector3& cPos, DAngle cA, } while (nAnim > 0) { - pTSprite->picnum += GetExtInfo(pTSprite->spritetexture()).picanm.num + 1; + pTSprite->setspritetexture(pTSprite->spritetexture() + GetExtInfo(pTSprite->spritetexture()).picanm.num + 1); nAnim--; } @@ -940,7 +940,7 @@ void viewProcessSprites(tspriteArray& tsprites, const DVector3& cPos, DAngle cA, } while (nAnim > 0) { - pTSprite->picnum += GetExtInfo(pTSprite->spritetexture()).picanm.num + 1; + pTSprite->setspritetexture(pTSprite->spritetexture() + GetExtInfo(pTSprite->spritetexture()).picanm.num + 1); nAnim--; } } diff --git a/source/games/blood/src/db.cpp b/source/games/blood/src/db.cpp index 45b9ed279..050524c9d 100644 --- a/source/games/blood/src/db.cpp +++ b/source/games/blood/src/db.cpp @@ -482,7 +482,7 @@ void dbLoadMap(const char* pPath, DVector3& pos, short* pAngle, sectortype** cur *pSprite = {}; pSprite->SetMapPos(LittleLong(load.x), LittleLong(load.y), LittleLong(load.z)); pSprite->cstat = ESpriteFlags::FromInt(LittleShort(load.cstat)); - pSprite->picnum = LittleShort(load.picnum); + pSprite->picnum = LittleShort(load.pic); int secno = LittleShort(load.sectnum); pSprite->statnum = LittleShort(load.statnum); pSprite->Angles.Yaw = mapangle(LittleShort(load.ang)); diff --git a/source/games/blood/src/mapstructs.h b/source/games/blood/src/mapstructs.h index 3b8a088fe..3c80c74b6 100644 --- a/source/games/blood/src/mapstructs.h +++ b/source/games/blood/src/mapstructs.h @@ -9,7 +9,7 @@ struct spritetypedisk { int32_t x, y, z; uint16_t cstat; - int16_t picnum; + int16_t pic; int8_t shade; uint8_t pal, clipdist, detail; uint8_t xrepeat, yrepeat; diff --git a/source/games/blood/src/mirrors.cpp b/source/games/blood/src/mirrors.cpp index 2fd320dd6..87ab3f547 100644 --- a/source/games/blood/src/mirrors.cpp +++ b/source/games/blood/src/mirrors.cpp @@ -117,7 +117,7 @@ void InitMirrors(void) auto sectj = link2->sector(); int j = sectindex(sectj); if (sectj->ceilingtexture != mirrortile) - I_Error("Lower link sector %d doesn't have mirror picnum\n", j); + I_Error("Lower link sector %d doesn't have mirror pic\n", j); mirror[mirrorcnt].type = 2; mirror[mirrorcnt].diff = link2->spr.pos - link->spr.pos; mirror[mirrorcnt].mynum = i; diff --git a/source/games/blood/src/nnexts.cpp b/source/games/blood/src/nnexts.cpp index f43f2f93e..3bc33fc15 100644 --- a/source/games/blood/src/nnexts.cpp +++ b/source/games/blood/src/nnexts.cpp @@ -1416,7 +1416,7 @@ int getSpriteMassBySize(DBloodActor* actor) } SPRITEMASS* cached = &actor->spriteMass; - if (((seqId >= 0 && seqId == cached->seqId) || actor->spr.picnum == cached->picnum) && actor->spr.scale.X == cached->scale.X && + if (((seqId >= 0 && seqId == cached->seqId) || actor->spr.spritetexture() == cached->texid) && actor->spr.scale.X == cached->scale.X && actor->spr.scale.Y == cached->scale.Y && clipDist == cached->clipDist) { return cached->mass; @@ -1499,7 +1499,7 @@ int getSpriteMassBySize(DBloodActor* actor) cached->scale.X = actor->spr.scale.X; cached->scale.Y = actor->spr.scale.Y; - cached->picnum = actor->spr.picnum; + cached->texid = actor->spr.spritetexture(); cached->seqId = seqId; cached->clipDist = actor->clipdist; @@ -9178,7 +9178,7 @@ void callbackUniMissileBurst(DBloodActor* actor, sectortype*) // 22 burstactor->spr.type = actor->spr.type; burstactor->spr.shade = actor->spr.shade; - burstactor->spr.picnum = actor->spr.picnum; + burstactor->spr.setspritetexture(actor->spr.spritetexture()); burstactor->spr.cstat = actor->spr.cstat; @@ -9413,7 +9413,7 @@ FSerializer& Serialize(FSerializer& arc, const char* keyname, SPRITEMASS& w, SPR if (arc.BeginObject(keyname)) { arc("seq", w.seqId, &nul.seqId) - ("picnum", w.picnum, &nul.picnum) + ("texid", w.texid, &nul.texid) ("scale", w.scale, &nul.scale) ("clipdist", w.clipDist) ("mass", w.mass) diff --git a/source/games/blood/src/nnexts.h b/source/games/blood/src/nnexts.h index ae551a526..05c1f0ff9 100644 --- a/source/games/blood/src/nnexts.h +++ b/source/games/blood/src/nnexts.h @@ -194,7 +194,7 @@ enum { // - STRUCTS ------------------------------------------------------------------ struct SPRITEMASS { // sprite mass info for getSpriteMassBySize(); int seqId; - int16_t picnum; // mainly needs for moving debris + FTextureID texid; // mainly needs for moving debris DVector2 scale; int16_t airVel; // mainly needs for moving debris double clipDist; // mass multiplier