diff --git a/source/core/defparser.cpp b/source/core/defparser.cpp index 69c6972ba..da0cb5840 100644 --- a/source/core/defparser.cpp +++ b/source/core/defparser.cpp @@ -2055,7 +2055,12 @@ static bool parseDefineQAVInterpolateIgnoreBlock(FScanner& sc, const int& res_id { // Input is a range of values, split on the hypthen and add each value to the output array. auto temparray = input.Split("-"); - for (auto& value : temparray) output.Push(atoi(value)); + if (temparray.Size() == 2) + { + // Test if keywords 'first' and 'last' have been used.' + output.Push(temparray[0].CompareNoCase("first") == 0 ? 0 : atoi(temparray[0])); + output.Push(temparray[1].CompareNoCase("last") == 0 ? maxvalue : atoi(temparray[1])); + } } else { diff --git a/wadsrc/static/filter/blood/engine/engine.def b/wadsrc/static/filter/blood/engine/engine.def index baae2acde..3078a4d0c 100644 --- a/wadsrc/static/filter/blood/engine/engine.def +++ b/wadsrc/static/filter/blood/engine/engine.def @@ -109,7 +109,7 @@ defineqav 10005 { interpolate { type "index" ignore { - frames 3-6 tiles 1 + frames 3-last tiles 1 } } } @@ -154,7 +154,7 @@ defineqav 10012 { interpolate { type "index" ignore { - frames 14-99 tiles 2-3 + frames 14-last tiles 2-3 } } } @@ -211,7 +211,7 @@ defineqav 10021 { interpolate { type "index" ignore { - frames 6-65 tiles all + frames 6-last tiles all } } }