message: Don't do save operations on unwriteable formats (DDS, BMP); allows notation on the testfile
diff: @@ -96,8 +96,9 @@ bool ReadLine(io::IReadFile* file, std::string &line)
  void testImage(const std::string& path, IrrlichtDevice* device, video::IGPUMeshBuffer* fullScreenTriangle)
  {
  os::Printer::log("Reading", path);
  +
  auto& assetMgr = device->getAssetManager();
  - video::IVideoDriver* driver = device->getVideoDriver();
  + auto* driver = device->getVideoDriver();
  asset::ICPUTexture* cputex[1] = { static_cast<asset::ICPUTexture*>(assetMgr.getAsset(path, {})) };
  @@ -107,13 +108,20 @@ void testImage(const std::string& path, IrrlichtDevice* device, video::IGPUMeshB
  core::splitFilename(path.c_str(), nullptr, &filename, &extension);
  filename += "."; filename += extension;
  + bool writeable = (extension != "dds") && (extension != "bmp");
  +
  auto tex = driver->getGPUObjectsFromAssets(cputex,cputex+1u).front();
  {
  auto tmpTex = driver->createGPUTexture(video::ITexture::ETT_2D,tex->getSize(),1u,tex->getColorFormat());
  presentImageOnScreen(device, fullScreenTriangle, tex, tmpTex);
  - dumpTextureToFile(device, tmpTex, (io::path("screen_")+filename).c_str());
  +
  + if (writeable)
  + dumpTextureToFile(device, tex, (io::path("screen_")+filename).c_str());
  +
  tmpTex->drop();
  }
  +
  + if (writeable)
  {
  asset::CImageData* img = *cputex[0]->getMipMap(0u).first;
  asset::IAssetWriter::SAssetWriteParams wparams(img);
  @@ -158,7 +166,7 @@ int main()
  if (file)
  {
  std::string line;
  - while (ReadLine(file, line))
  + while (ReadLine(file, line) && line != "" && line[0] != ';')
  testImage(line, device, fullScreenTriangle);
  }
  }
  