diff options
m--------- | librw | 0 | ||||
-rw-r--r-- | src/core/config.h | 2 | ||||
-rw-r--r-- | src/fakerw/fake.cpp | 20 |
3 files changed, 17 insertions, 5 deletions
diff --git a/librw b/librw -Subproject 4db08e15e8bdd0286195f48a28d4c8108ea64c6 +Subproject eb71ca25d0c4f10b39c653d9b9847e38aac198d diff --git a/src/core/config.h b/src/core/config.h index f05e6c4a..163af701 100644 --- a/src/core/config.h +++ b/src/core/config.h @@ -191,7 +191,7 @@ enum Config { #define TOGGLEABLE_BETA_FEATURES // toggleable from debug menu. not too many things #define MORE_LANGUAGES // Add more translations to the game #define DEFAULT_NATIVE_RESOLUTION // Set default video mode to your native resolution (fixes Windows 10 launch) -//#define USE_TXD_CDIMAGE // generate and load textures from txd.img +#define USE_TXD_CDIMAGE // generate and load textures from txd.img //#define USE_TEXTURE_POOL //#define OPENAL diff --git a/src/fakerw/fake.cpp b/src/fakerw/fake.cpp index 26b5ae3d..ccc7635f 100644 --- a/src/fakerw/fake.cpp +++ b/src/fakerw/fake.cpp @@ -294,6 +294,14 @@ static rw::Raster* ConvertTexRaster(rw::Raster *ras) { using namespace rw; + + if(ras->platform == rw::platform) + return ras; + // compatible platforms + if(ras->platform == PLATFORM_D3D8 && rw::platform == PLATFORM_D3D9 || + ras->platform == PLATFORM_D3D9 && rw::platform == PLATFORM_D3D8) + return ras; + Image *img = ras->toImage(); ras->destroy(); img->unindex(); @@ -306,9 +314,7 @@ ConvertTexRaster(rw::Raster *ras) RwBool rwNativeTextureHackRead(RwStream *stream, RwTexture **tex, RwInt32 size) { *tex = Texture::streamReadNative(stream); -#ifdef RW_GL3 - if(strcmp((*tex)->name, "copnu") == 0) - tex = tex; +#ifdef LIBRW (*tex)->raster = ConvertTexRaster((*tex)->raster); #endif return *tex != nil; @@ -830,4 +836,10 @@ RwBool RtCharsetDestroy(RtCharset * charSet) { charSet->destroy(); return // fake shit -RwInt32 _rwD3D8FindCorrectRasterFormat(RwRasterType type, RwInt32 flags) { return 1; } +RwInt32 _rwD3D8FindCorrectRasterFormat(RwRasterType type, RwInt32 flags) +{ +#ifdef RW_GL3 + return '3LGO'; +#endif + return flags & 0xF00; +} |