From 747648ce7872595c89022c315e0359afc2673be1 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 22 Jan 2022 22:52:45 +0100 Subject: [PATCH] - added guards against badly defined skies. --- source/build/src/polymost.cpp | 2 +- source/core/textures/skytexture.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/build/src/polymost.cpp b/source/build/src/polymost.cpp index 4533e0d32cb..c6290f5441b 100644 --- a/source/build/src/polymost.cpp +++ b/source/build/src/polymost.cpp @@ -1309,7 +1309,7 @@ static void polymost_flatskyrender(FVector2 const* const dpxy, int32_t const n, float const fglobalang = FixedToFloat(qglobalang); auto sky = getSky(globalpicnum); - int32_t dapskybits = sky.lognumtiles, dapyoffs = sky.pmoffset, daptileyscale = sky.scale * 65536; + int32_t dapskybits = clamp(sky.lognumtiles, 0, 4), dapyoffs = sky.pmoffset, daptileyscale = sky.scale * 65536; int16_t const * dapskyoff = sky.offsets; int remap = TRANSLATION(Translation_Remap + curbasepal, globalpal); diff --git a/source/core/textures/skytexture.cpp b/source/core/textures/skytexture.cpp index 20c76c6e8c1..fd6fe69daaa 100644 --- a/source/core/textures/skytexture.cpp +++ b/source/core/textures/skytexture.cpp @@ -46,7 +46,7 @@ FGameTexture* GetSkyTexture(int basetile, int lognumtiles, const int16_t *tilema FString synthname; - if ((lognumtiles == 0 && remap == 0) || lognumtiles > 4) + if ((lognumtiles == 0 && remap == 0) || lognumtiles > 4 || lognumtiles < 0) { // no special handling - let the old code do its job as-is return nullptr;