Index: ps/trunk/source/graphics/TextureConverter.cpp =================================================================== --- ps/trunk/source/graphics/TextureConverter.cpp +++ ps/trunk/source/graphics/TextureConverter.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2019 Wildfire Games. +/* Copyright (C) 2020 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -33,6 +33,18 @@ #include "nvtt/nvtt.h" +// We assume NVTT is recent enough to support the alpha flag in the DXT1a format. If users try to use an +// old version of NVTT, the game will crash when trying to decode dds files generated by NVTT. +// +// The support was added upstream in https://github.com/castano/nvidia-texture-tools/commit/782a127071895f538c1ae49925a6e15687e3c966 +// so, in theory, 2.0.7 and newer should be enough, but all 2.0.x releases define NVTT_VERSION as 200, so +// we can't distinguish them. NVTT_VERSION is 201 in all development versions of the 2.0.x era, so we also +// have to exclude that value. +#if !defined NVTT_VERSION || NVTT_VERSION == 200 || NVTT_VERSION == 201 +#error Please use NVTT 2.1.0 or newer. \ +If your system does not provide it, you should use the bundled version by NOT passing --with-system-nvtt to premake. +#endif + /** * Output handler to collect NVTT's output into a simplistic buffer. * WARNING: Used in the worker thread - must be thread-safe.