diff --git a/src/thingdef/thingdef_codeptr.cpp b/src/thingdef/thingdef_codeptr.cpp index 7b571b0c5..476c29eaf 100644 --- a/src/thingdef/thingdef_codeptr.cpp +++ b/src/thingdef/thingdef_codeptr.cpp @@ -1747,6 +1747,7 @@ enum SIX_Flags SIXF_TRANSFERSCALE = 1 << 14, SIXF_TRANSFERSPECIAL = 1 << 15, SIXF_CLEARCALLERSPECIAL = 1 << 16, + SIXF_TRANSFERSTENCILCOL = 1 << 17, }; static bool InitSpawnedItem(AActor *self, AActor *mo, int flags) @@ -1859,6 +1860,10 @@ static bool InitSpawnedItem(AActor *self, AActor *mo, int flags) self->special = 0; memset(self->args, 0, sizeof(self->args)); } + if (flags & SIXF_TRANSFERSTENCILCOL) + { + mo->fillcolor = self->fillcolor; + } return true; } diff --git a/wadsrc/static/actors/constants.txt b/wadsrc/static/actors/constants.txt index 24736eb3d..18f991e43 100644 --- a/wadsrc/static/actors/constants.txt +++ b/wadsrc/static/actors/constants.txt @@ -59,6 +59,7 @@ const int SXF_MULTIPLYSPEED = 8192; const int SXF_TRANSFERSCALE = 16384; const int SXF_TRANSFERSPECIAL = 32768; const int SXF_CLEARCALLERSPECIAL = 65536; +const int SXF_TRANSFERSTENCILCOL = 131072; // Flags for A_Chase const int CHF_FASTCHASE = 1;