diff --git a/source/games/blood/src/nnexts.cpp b/source/games/blood/src/nnexts.cpp index 80e5fd884..75291455f 100644 --- a/source/games/blood/src/nnexts.cpp +++ b/source/games/blood/src/nnexts.cpp @@ -4873,7 +4873,7 @@ void modernTypeTrigger(int destObjType, int destObjIndex, DBloodActor* destactor // change sector lighting dynamically case kModernSectorFXChanger: if (destObjType != OBJ_SECTOR) break; - useSectorLigthChanger(event.actor, &xsector[sector[destObjIndex].extra]); + useSectorLigthChanger(event.actor, §or[destObjIndex]); break; // change target of dudes and make it fight case kModernDudeTargetChanger: @@ -6746,10 +6746,11 @@ void useDataChanger(DBloodActor* sourceactor, int objType, int objIndex, DBloodA // //--------------------------------------------------------------------------- -void useSectorLigthChanger(DBloodActor* sourceactor, XSECTOR* pXSector) +void useSectorLigthChanger(DBloodActor* sourceactor, sectortype* pSector) { auto pXSource = &sourceactor->x(); spritetype* pSource = &sourceactor->s(); + auto pXSector = &pSector->xs(); if (valueIsBetween(pXSource->data1, -1, 32767)) pXSector->wave = ClipHigh(pXSource->data1, 11); @@ -6782,9 +6783,8 @@ void useSectorLigthChanger(DBloodActor* sourceactor, XSECTOR* pXSector) // add to shadeList if amplitude was set to 0 previously if (oldAmplitude != pXSector->amplitude) { - auto newSect = §or[pXSector->reference]; - if (!shadeList.Contains(newSect)) - shadeList.Push(newSect); + if (!shadeList.Contains(pSector)) + shadeList.Push(pSector); } } diff --git a/source/games/blood/src/nnexts.h b/source/games/blood/src/nnexts.h index b0d2bc063..097a22164 100644 --- a/source/games/blood/src/nnexts.h +++ b/source/games/blood/src/nnexts.h @@ -321,7 +321,7 @@ void useUniMissileGen(DBloodActor* sourceactor, DBloodActor* actor); void useSoundGen(DBloodActor* sourceactor, DBloodActor* actor); void useIncDecGen(DBloodActor* sourceactor, short objType, int objIndex, DBloodActor* objactor); void useDataChanger(DBloodActor* sourceactor, int objType, int objIndex, DBloodActor* objActor); -void useSectorLigthChanger(DBloodActor* pXSource, XSECTOR* pXSector); +void useSectorLigthChanger(DBloodActor* pXSource, sectortype* pSector); void useTargetChanger(DBloodActor* sourceactor, DBloodActor* actor); void usePictureChanger(DBloodActor* sourceactor, int objType, int objIndex, DBloodActor* objActor); void useSequentialTx(DBloodActor* pXSource, COMMAND_ID cmd, bool setState);