- make Blood's burn source a pointer.

This commit is contained in:
Christoph Oelckers 2021-11-28 13:35:35 +01:00
parent 3a44f168e0
commit 73243f95bb
3 changed files with 4 additions and 5 deletions

View file

@ -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

View file

@ -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;

View file

@ -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