diff --git a/source/games/blood/src/bloodactor.h b/source/games/blood/src/bloodactor.h index ff4fb2b0d..7c84e427b 100644 --- a/source/games/blood/src/bloodactor.h +++ b/source/games/blood/src/bloodactor.h @@ -94,13 +94,12 @@ public: void SetBurnSource(DBloodActor* own) { - x().burnSource = own ? own->GetSpriteIndex() : -1; + x().burnSource = own; } DBloodActor* GetBurnSource() { - if (x().burnSource == -1 || x().burnSource == kMaxSprites - 1) return nullptr; - return base() + x().burnSource; + return x().burnSource; } void SetSpecialOwner() // nnext hackery diff --git a/source/games/blood/src/db.cpp b/source/games/blood/src/db.cpp index 7d511f15e..c2bd829fe 100644 --- a/source/games/blood/src/db.cpp +++ b/source/games/blood/src/db.cpp @@ -856,7 +856,7 @@ void dbLoadMap(const char* pPath, int* pX, int* pY, int* pZ, short* pAngle, sect pXSprite->targetY = bitReader.readSigned(32); pXSprite->targetZ = bitReader.readSigned(32); pXSprite->burnTime = bitReader.readUnsigned(16); - pXSprite->burnSource = bitReader.readSigned(16); + /*pXSprite->burnSource =*/ bitReader.readSigned(16); pXSprite->height = bitReader.readUnsigned(16); pXSprite->stateTimer = bitReader.readUnsigned(16); pXSprite->aiState = NULL; diff --git a/source/games/blood/src/mapstructs.h b/source/games/blood/src/mapstructs.h index 7ba121be8..1d86a6cf0 100644 --- a/source/games/blood/src/mapstructs.h +++ b/source/games/blood/src/mapstructs.h @@ -47,6 +47,7 @@ struct XSPRITE { }; DBloodActor* target; // target sprite + DBloodActor* burnSource; int32_t targetX; // target x int32_t targetY; // target y @@ -61,7 +62,6 @@ struct XSPRITE { int16_t data1; // Data 1 int16_t data2; // Data 2 int16_t data3; // Data 3 - int16_t burnSource; uint16_t txID; // TX ID uint16_t rxID; // RX ID uint16_t command; // Cmd