diff --git a/src/thingdef/thingdef_codeptr.cpp b/src/thingdef/thingdef_codeptr.cpp index fc157c92b..117207302 100644 --- a/src/thingdef/thingdef_codeptr.cpp +++ b/src/thingdef/thingdef_codeptr.cpp @@ -1875,6 +1875,7 @@ enum SIX_Flags SIXF_NOPOINTERS = 0x00400000, SIXF_ORIGINATOR = 0x00800000, SIXF_TRANSFERSPRITEFRAME = 0x01000000, + SIXF_TRANSFERROLL = 0x02000000, }; static bool InitSpawnedItem(AActor *self, AActor *mo, int flags) @@ -2027,6 +2028,11 @@ static bool InitSpawnedItem(AActor *self, AActor *mo, int flags) mo->frame = self->frame; } + if (flags & SIXF_TRANSFERROLL) + { + mo->roll = self->roll; + } + return true; } diff --git a/wadsrc/static/actors/constants.txt b/wadsrc/static/actors/constants.txt index 1604b5c83..aedd01284 100644 --- a/wadsrc/static/actors/constants.txt +++ b/wadsrc/static/actors/constants.txt @@ -73,6 +73,7 @@ const int SXF_SETTRACER = 1 << 21; const int SXF_NOPOINTERS = 1 << 22; const int SXF_ORIGINATOR = 1 << 23; const int SXF_TRANSFERSPRITEFRAME = 1 << 24; +const int SXF_TRANSFERROLL = 1 << 25; // Flags for A_Chase const int CHF_FASTCHASE = 1;