aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOystein Eftevaag2006-03-15 07:43:44 +0000
committerOystein Eftevaag2006-03-15 07:43:44 +0000
commit58eed3830bfbea9a05b903c94a4331597fc90dc6 (patch)
treeb7e672c89b537b7f1637081323d822a8f741d47e
parent34b89a3258cd73087ad5b0a41ba82e7171094fd1 (diff)
downloadscummvm-rg350-58eed3830bfbea9a05b903c94a4331597fc90dc6.tar.gz
scummvm-rg350-58eed3830bfbea9a05b903c94a4331597fc90dc6.tar.bz2
scummvm-rg350-58eed3830bfbea9a05b903c94a4331597fc90dc6.zip
* 'make bundle' now copies the default theme files into the bundle.
* Common::File will now look inside the application bundle on MacOS X for a file if it can't find it anywhere else (so it'll find default-theme.ini and .zip) * Cleaned up some #ifs. svn-id: r21308
-rw-r--r--Makefile2
-rw-r--r--common/file.cpp22
-rw-r--r--graphics/scaler.cpp4
-rw-r--r--graphics/scaler/hq2x.cpp4
-rw-r--r--graphics/scaler/hq3x.cpp5
5 files changed, 28 insertions, 9 deletions
diff --git a/Makefile b/Makefile
index e7733ea82d..7cfdc02331 100644
--- a/Makefile
+++ b/Makefile
@@ -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);