summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
m---------librw0
-rw-r--r--src/core/config.h2
-rw-r--r--src/fakerw/fake.cpp20
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;
+}