- usePictureChanger

This commit is contained in:
Christoph Oelckers 2021-08-29 13:28:13 +02:00
parent 088fa6690c
commit 49879af921
2 changed files with 9 additions and 9 deletions

View file

@ -4807,7 +4807,7 @@ void modernTypeTrigger(int destObjType, int destObjIndex, DBloodActor* destactor
break;
// change picture and palette of TX ID object
case kModernObjPicnumChanger:
usePictureChanger(pXSource, destObjType, destObjIndex);
usePictureChanger(event.actor, destObjType, destObjIndex, destactor);
break;
// change various properties
case kModernObjPropertiesChanger:
@ -7030,9 +7030,9 @@ void useTargetChanger(DBloodActor* sourceactor, DBloodActor* actor)
//
//---------------------------------------------------------------------------
void usePictureChanger(XSPRITE* pXSource, int objType, int objIndex) {
//spritetype* pSource = &sprite[pXSource->reference];
void usePictureChanger(DBloodActor* sourceactor, int objType, int objIndex, DBloodActor* objActor)
{
auto pXSource = &sourceactor->x();
switch (objType) {
case OBJ_SECTOR:
@ -7050,13 +7050,13 @@ void usePictureChanger(XSPRITE* pXSource, int objType, int objIndex) {
break;
case OBJ_SPRITE:
if (valueIsBetween(pXSource->data1, -1, 32767))
sprite[objIndex].picnum = pXSource->data1;
objActor->s().picnum = pXSource->data1;
if (pXSource->data2 >= 0) sprite[objIndex].shade = (pXSource->data2 > 127) ? 127 : pXSource->data2;
else if (pXSource->data2 < -1) sprite[objIndex].shade = (pXSource->data2 < -127) ? -127 : pXSource->data2;
if (pXSource->data2 >= 0) objActor->s().shade = (pXSource->data2 > 127) ? 127 : pXSource->data2;
else if (pXSource->data2 < -1) objActor->s().shade = (pXSource->data2 < -127) ? -127 : pXSource->data2;
if (valueIsBetween(pXSource->data3, -1, 32767))
sprite[objIndex].pal = uint8_t(pXSource->data3);
objActor->s().pal = uint8_t(pXSource->data3);
break;
case OBJ_WALL:
if (valueIsBetween(pXSource->data1, -1, 32767))

View file

@ -328,7 +328,7 @@ void useIncDecGen(DBloodActor* sourceactor, short objType, int objIndex, DBloodA
void useDataChanger(DBloodActor* sourceactor, int objType, int objIndex, DBloodActor* objActor);
void useSectorLigthChanger(DBloodActor* pXSource, XSECTOR* pXSector);
void useTargetChanger(DBloodActor* sourceactor, DBloodActor* actor);
void usePictureChanger(XSPRITE* pXSource, int objType, int objIndex);
void usePictureChanger(DBloodActor* sourceactor, int objType, int objIndex, DBloodActor* objActor);
void useSequentialTx(DBloodActor* pXSource, COMMAND_ID cmd, bool setState);
void useRandomTx(DBloodActor* sourceactor, COMMAND_ID cmd, bool setState);
void useDudeSpawn(DBloodActor* pXSource, DBloodActor* pSprite);