From 40c09d28f7491d158a8b8a81806d4b84cdf0e031 Mon Sep 17 00:00:00 2001 From: Filip Gawin Date: Sat, 25 Jul 2020 22:38:42 +0200 Subject: fix windows build, don't use crossplatform --- src/fakerw/fake.cpp | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/fakerw/fake.cpp b/src/fakerw/fake.cpp index 457a6b51..6524e87c 100644 --- a/src/fakerw/fake.cpp +++ b/src/fakerw/fake.cpp @@ -858,19 +858,37 @@ RpHAnimHierarchy *RpSkinAtomicGetHAnimHierarchy( const RpAtomic *atomic ) { retu RwImage * RtBMPImageWrite(RwImage *image, const RwChar *imageName) { - char *r = (char *)alloca(strlen((char *)imageName) + 2); - // Use default path(and pass error handling to librw) if we can't find any match - if(!casepath((char *)imageName, r)) r = (char *)imageName; +#ifndef _WIN32 + char *r = nil; + FILE *valid = fopen((char *)imageName, "r"); + if(!valid) { + char *r = (char *)alloca(strlen((char *)imageName) + 2); + // Use default path(and pass error handling to librw) if we can't find any match + if(!casepath((char *)imageName, r)) r = (char *)imageName; + } else + fclose(valid); rw::writeBMP(image, r); +#else + rw::writeBMP(image, imageName); +#endif return image; } RwImage * RtBMPImageRead(const RwChar *imageName) { - char *r = (char *)alloca(strlen((char *)imageName) + 2); - // Use default path(and pass error handling to librw) if we can't find any match - if(!casepath((char *)imageName, r)) r = (char *)imageName; +#ifndef _WIN32 + char *r = nil; + FILE *valid = fopen((char *)imageName, "r"); + if(!valid) { + r = (char *)alloca(strlen((char *)imageName) + 2); + // Use default path(and pass error handling to librw) if we can't find any match + if(!casepath((char *)imageName, r)) r = (char *)imageName; + } else + fclose(valid); return rw::readBMP(r); +#else + return rw::readBMP(imageName); +#endif } #include "rtquat.h" -- cgit v1.2.3