From 3152a6cc463add40e0369962485c9479c4b27490 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Wed, 21 Apr 2021 18:09:49 +0200 Subject: [PATCH] CNullDriver: store real size for dummy textures --- source/Irrlicht/CNullDriver.cpp | 4 +++- source/Irrlicht/CNullDriver.h | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/source/Irrlicht/CNullDriver.cpp b/source/Irrlicht/CNullDriver.cpp index 87a51df4..0f91df24 100644 --- a/source/Irrlicht/CNullDriver.cpp +++ b/source/Irrlicht/CNullDriver.cpp @@ -725,7 +725,9 @@ video::ITexture* CNullDriver::findTexture(const io::path& filename) ITexture* CNullDriver::createDeviceDependentTexture(const io::path& name, IImage* image) { - return new SDummyTexture(name, ETT_2D); + SDummyTexture* dummy = new SDummyTexture(name, ETT_2D); + dummy->setSize(image->getDimension()); + return dummy; } ITexture* CNullDriver::createDeviceDependentTextureCubemap(const io::path& name, const core::array& image) diff --git a/source/Irrlicht/CNullDriver.h b/source/Irrlicht/CNullDriver.h index 11191661..12f26439 100644 --- a/source/Irrlicht/CNullDriver.h +++ b/source/Irrlicht/CNullDriver.h @@ -783,6 +783,8 @@ namespace video { SDummyTexture(const io::path& name, E_TEXTURE_TYPE type) : ITexture(name, type) {}; + void setSize(const core::dimension2d& size) { Size = OriginalSize = size; } + virtual void* lock(E_TEXTURE_LOCK_MODE mode = ETLM_READ_WRITE, u32 mipmapLevel=0, u32 layer = 0, E_TEXTURE_LOCK_FLAGS lockFlags = ETLF_FLIP_Y_UP_RTT) _IRR_OVERRIDE_ { return 0; } virtual void unlock()_IRR_OVERRIDE_ {} virtual void regenerateMipMapLevels(void* data = 0, u32 layer = 0) _IRR_OVERRIDE_ {}