From 2ff1bdfd7d64fb6f28d42102a21f1dfb3e804a0e Mon Sep 17 00:00:00 2001 From: Mitchell Richters Date: Sat, 14 Aug 2021 11:06:44 +1000 Subject: [PATCH] - Blood: Add interpolation repair for `kQAVSGUNFIR1` (res_id: 77). Thanks to @Phredreeke for the tiles with overlays baked in for this to work properly. --- source/games/blood/src/qav.cpp | 18 ++++++++++++++++++ wadsrc/static/filter/blood/engine/engine.def | 7 +++++++ .../filter/blood/tiles/9300(3227+3228).png | Bin 0 -> 3993 bytes .../filter/blood/tiles/9301(3227+3229).png | Bin 0 -> 3985 bytes .../filter/blood/tiles/9302(3227+3230).png | Bin 0 -> 3988 bytes .../filter/blood/tiles/9303(3227+3231).png | Bin 0 -> 3968 bytes .../filter/blood/tiles/9304(3227+3232).png | Bin 0 -> 3977 bytes 7 files changed, 25 insertions(+) create mode 100644 wadsrc/static/filter/blood/tiles/9300(3227+3228).png create mode 100644 wadsrc/static/filter/blood/tiles/9301(3227+3229).png create mode 100644 wadsrc/static/filter/blood/tiles/9302(3227+3230).png create mode 100644 wadsrc/static/filter/blood/tiles/9303(3227+3231).png create mode 100644 wadsrc/static/filter/blood/tiles/9304(3227+3232).png diff --git a/source/games/blood/src/qav.cpp b/source/games/blood/src/qav.cpp index 15bf2b6b9..2ced51015 100644 --- a/source/games/blood/src/qav.cpp +++ b/source/games/blood/src/qav.cpp @@ -969,6 +969,24 @@ static void qavRepairTileData(QAV* pQAV) pQAV->frames[i].tiles[1].picnum = -1; } break; + case kQAVSGUNFIR1: + { + // SGUNFIR1's overlay sizes vary from tile to tile and don't interpolate properly. + // Use repaired tiles from Phredreeke where the overlays are baked in. + constexpr int tilearray[8] = { 9301, 9302, 9303, 9304, 9300, 9301, 9302, 3227 }; + + // Loop through each frame to remove overlay and replace use of 3227 with that from tilearray. + for (i = 0; i < pQAV->nFrames; i++) + { + pQAV->frames[i].tiles[0] = pQAV->frames[i].tiles[1]; + pQAV->frames[i].tiles[1] = pQAV->frames[i].tiles[3]; + pQAV->frames[i].tiles[0].picnum = tilearray[i]; + pQAV->frames[i].tiles[2].picnum = -1; + pQAV->frames[i].tiles[3].picnum = -1; + + } + break; + } default: return; } diff --git a/wadsrc/static/filter/blood/engine/engine.def b/wadsrc/static/filter/blood/engine/engine.def index e4843725b..2d63f1c5f 100644 --- a/wadsrc/static/filter/blood/engine/engine.def +++ b/wadsrc/static/filter/blood/engine/engine.def @@ -59,3 +59,10 @@ tilefromtexture 9277 { file "tiles/9277.png" } tilefromtexture 9278 { file "tiles/9278.png" } tilefromtexture 9279 { file "tiles/9279.png" } tilefromtexture 9280 { file "tiles/9280.png" } + +// Patched tiles for QAV interpolation, thanks to Phredreeke for supplying these. +tilefromtexture 9300 { file "tiles/9300(3227+3228).png" } +tilefromtexture 9301 { file "tiles/9301(3227+3229).png" } +tilefromtexture 9302 { file "tiles/9302(3227+3230).png" } +tilefromtexture 9303 { file "tiles/9303(3227+3231).png" } +tilefromtexture 9304 { file "tiles/9304(3227+3232).png" } diff --git a/wadsrc/static/filter/blood/tiles/9300(3227+3228).png b/wadsrc/static/filter/blood/tiles/9300(3227+3228).png new file mode 100644 index 0000000000000000000000000000000000000000..d3d11606045a20700f42ef10ef164333335fa259 GIT binary patch literal 3993 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 literal 0 HcmV?d00001 diff --git a/wadsrc/static/filter/blood/tiles/9301(3227+3229).png b/wadsrc/static/filter/blood/tiles/9301(3227+3229).png new file mode 100644 index 0000000000000000000000000000000000000000..ab2ccc827629ee162c2b14f547cc70969957f476 GIT binary patch literal 3985 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 literal 0 HcmV?d00001 diff --git a/wadsrc/static/filter/blood/tiles/9303(3227+3231).png b/wadsrc/static/filter/blood/tiles/9303(3227+3231).png new file mode 100644 index 0000000000000000000000000000000000000000..cc3047253efd9fa91d8bb408f718ae927d9e8354 GIT binary patch literal 3968 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