diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | common/file.cpp | 22 | ||||
-rw-r--r-- | graphics/scaler.cpp | 4 | ||||
-rw-r--r-- | graphics/scaler/hq2x.cpp | 4 | ||||
-rw-r--r-- | graphics/scaler/hq3x.cpp | 5 |
5 files changed, 28 insertions, 9 deletions
@@ -94,6 +94,8 @@ bundle: scummvm-static echo "APPL????" > $(bundle_name)/Contents/PkgInfo cp $(srcdir)/dists/macosx/Info.plist $(bundle_name)/Contents/ cp $(srcdir)/scummvm.icns $(bundle_name)/Contents/Resources/ + cp $(srcdir)/gui/themes/default-theme.ini $(bundle_name)/Contents/Resources/ + cp $(srcdir)/gui/themes/default-theme.zip $(bundle_name)/Contents/Resources/ cp scummvm-static $(bundle_name)/Contents/MacOS/scummvm $(srcdir)/tools/credits.pl --rtf > $(bundle_name)/Contents/Resources/Credits.rtf strip $(bundle_name)/Contents/MacOS/scummvm diff --git a/common/file.cpp b/common/file.cpp index 871e4f6053..900edf966c 100644 --- a/common/file.cpp +++ b/common/file.cpp @@ -23,6 +23,10 @@ #include "common/file.h" #include "common/util.h" +#ifdef MACOSX +#include "CoreFoundation/CoreFoundation.h" +#endif + namespace Common { StringList File::_defaultDirectories; @@ -98,6 +102,24 @@ static FILE *fopenNoCase(const char *filename, const char *directory, const char } #endif +// If all else fails, try looking inside the application bundle on MacOS for the lowercase file. +#ifdef MACOSX + if (!file) { + ptr = buf + offsetToFileName; + while (*ptr) { + *ptr = tolower(*ptr); + ptr++; + } + + CFStringRef fileName = CFStringCreateWithBytes(NULL, (const UInt8 *)buf, strlen(buf), kCFStringEncodingASCII, false); + CFURLRef fileUrl = CFBundleCopyResourceURL(CFBundleGetMainBundle(), fileName, NULL, NULL); + if (fileUrl) { + if (CFURLGetFileSystemRepresentation(fileUrl, true, (UInt8 *)buf, sizeof(buf))) + file = fopen(buf, mode); + } + } +#endif + return file; } diff --git a/graphics/scaler.cpp b/graphics/scaler.cpp index 025fe0bd62..d6a8abc63f 100644 --- a/graphics/scaler.cpp +++ b/graphics/scaler.cpp @@ -36,12 +36,10 @@ extern "C" { // NOTE: if your compiler uses different mangled names, add another // condition here -#ifndef _WIN32 -#ifndef MACOSX +#if !defined(_WIN32) && !defined(MACOSX) #define RGBtoYUV _RGBtoYUV #define LUT16to32 _LUT16to32 #endif -#endif #endif diff --git a/graphics/scaler/hq2x.cpp b/graphics/scaler/hq2x.cpp index f8863c0781..567a2fcf53 100644 --- a/graphics/scaler/hq2x.cpp +++ b/graphics/scaler/hq2x.cpp @@ -28,11 +28,9 @@ extern "C" { -#ifndef _WIN32 -#ifndef MACOSX +#if !defined(_WIN32) && !defined(MACOSX) #define hq2x_16 _hq2x_16 #endif -#endif void hq2x_16(const byte *, byte *, uint32, uint32, uint32, uint32); diff --git a/graphics/scaler/hq3x.cpp b/graphics/scaler/hq3x.cpp index 7960dd3b74..64bd17834d 100644 --- a/graphics/scaler/hq3x.cpp +++ b/graphics/scaler/hq3x.cpp @@ -28,11 +28,10 @@ extern "C" { -#ifndef _WIN32 -#ifndef MACOSX +#if !defined(_WIN32) && !defined(MACOSX) #define hq3x_16 _hq3x_16 #endif -#endif + void hq3x_16(const byte *, byte *, uint32, uint32, uint32, uint32); |