diff --git a/README.md b/README.md
index fc858cce..8e3a7bb2 100644
--- a/README.md
+++ b/README.md
@@ -62,6 +62,89 @@ Credits and links
- Fatalfeel's [Proton SDK forks](https://github.com/fatalfeel) for GLES 2 support and Cocos2D integration
- Vita platform support by @NabsiYa
+# Building the Demo Apps on macOS
+
+The following demo apps have Xcode projects under their `OSX/` folder:
+
+| App | Xcode Project | Audio | Notes |
+|-----|--------------|-------|-------|
+| **RTBareBones** | `RTBareBones/OSX/RTBareBones.xcodeproj` | Dummy (no audio) | Simplest starting point |
+| **RTSimpleApp** | `RTSimpleApp/OSX/RTSimpleApp.xcodeproj` | SDL2_mixer | Basic app with SDL audio |
+| **RTLooneyLadders** | `RTLooneyLadders/OSX/RTLooneyLadders.xcodeproj` | SDL2_mixer | Full game with gamepad support |
+
+All projects target **macOS 11.0+** and build as **universal binaries** (arm64 + x86_64).
+
+## Prerequisites
+
+### 1. Install SDL2 frameworks
+
+RTSimpleApp and RTLooneyLadders require SDL2 and SDL2_mixer. RTBareBones only requires SDL2 headers (no audio).
+
+The Xcode projects look for both frameworks in `~/Library/Frameworks/` automatically.
+
+**Option A — Universal DMG** (arm64 + x86_64, recommended):
+
+```bash
+# SDL2
+curl -L -o /tmp/SDL2.dmg https://github.com/libsdl-org/SDL/releases/download/release-2.30.9/SDL2-2.30.9.dmg
+hdiutil attach /tmp/SDL2.dmg
+cp -r "/Volumes/SDL2/SDL2.framework" ~/Library/Frameworks/
+hdiutil detach "/Volumes/SDL2"
+
+# SDL2_mixer (needed by RTSimpleApp and RTLooneyLadders)
+curl -L -o /tmp/SDL2_mixer.dmg https://github.com/libsdl-org/SDL_mixer/releases/download/release-2.8.0/SDL2_mixer-2.8.0.dmg
+hdiutil attach /tmp/SDL2_mixer.dmg
+cp -r "/Volumes/SDL2_mixer/SDL2_mixer.framework" ~/Library/Frameworks/
+hdiutil detach "/Volumes/SDL2_mixer"
+```
+
+> These are universal frameworks (arm64 + x86_64) so the resulting `.app` runs on both Intel and Apple Silicon Macs.
+
+**Option B — Homebrew** (native arch only, not suitable for universal binary):
+
+```bash
+brew install sdl2 sdl2_mixer
+```
+
+> **Note:** Homebrew on Apple Silicon only provides arm64 libraries. Use Option A if you need a universal binary.
+
+### 2. Generate fonts and textures
+
+RTSimpleApp and RTLooneyLadders require `.rtfont` files generated from source assets. Run `update_media.sh` from each app's `media/` folder (requires RTPack — build it first from `RTPack/linux/` on Linux or use the Windows version):
+
+```bash
+cd RTSimpleApp/media && sh update_media.sh
+cd RTLooneyLadders/media && sh update_media.sh
+```
+
+> **Note:** Without this step the apps will still open but text/fonts will not render.
+
+### 3. Generate the required libpng config header
+
+```bash
+LIBPNG=shared/Irrlicht/source/Irrlicht/libpng
+cp "$LIBPNG/pnglibconf.h.prebuilt" "$LIBPNG/pnglibconf.h"
+```
+
+## Build
+
+Open the desired Xcode project and build (`⌘B`):
+
+```bash
+# RTBareBones
+open RTBareBones/OSX/RTBareBones.xcodeproj
+
+# RTSimpleApp
+open RTSimpleApp/OSX/RTSimpleApp.xcodeproj
+
+# RTLooneyLadders
+open RTLooneyLadders/OSX/RTLooneyLadders.xcodeproj
+```
+
+> **Note:** The SDL2 frameworks are automatically embedded into the `.app` bundle at build time via `@executable_path/../Frameworks`, so the final app is self-contained and does not require SDL2 to be installed on the target machine.
+
+---
+
# Want to contribute?
Feel free to submit a pull request! At this point the goal is that all changes be *non-breaking* to existing projects.
diff --git a/RTBareBones/OSX/English.lproj/MainMenu.xib b/RTBareBones/OSX/English.lproj/MainMenu.xib
index d52b59f2..2cbae73e 100644
--- a/RTBareBones/OSX/English.lproj/MainMenu.xib
+++ b/RTBareBones/OSX/English.lproj/MainMenu.xib
@@ -648,40 +648,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/RTBareBones/OSX/RTBareBones.xcodeproj/project.pbxproj b/RTBareBones/OSX/RTBareBones.xcodeproj/project.pbxproj
index 96b9f44d..bb44ef38 100644
--- a/RTBareBones/OSX/RTBareBones.xcodeproj/project.pbxproj
+++ b/RTBareBones/OSX/RTBareBones.xcodeproj/project.pbxproj
@@ -60,6 +60,74 @@
AF9DBBC6113C611C00D05754 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF9DBBC5113C611C00D05754 /* QuartzCore.framework */; };
AFBD7716113895850015E685 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = AFBD7714113895850015E685 /* MainMenu.xib */; };
AFD4D88A113C504F00C2DE76 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AFD4D889113C504F00C2DE76 /* OpenGL.framework */; };
+ /* libpng build files */
+ BC000001000000000000000002 /* png.c in Sources */ = {isa = PBXBuildFile; fileRef = BC000001000000000000000001 /* png.c */; };
+ BC000001000000000000000102 /* pngerror.c in Sources */ = {isa = PBXBuildFile; fileRef = BC000001000000000000000101 /* pngerror.c */; };
+ BC000001000000000000000202 /* pngget.c in Sources */ = {isa = PBXBuildFile; fileRef = BC000001000000000000000201 /* pngget.c */; };
+ BC000001000000000000000302 /* pngmem.c in Sources */ = {isa = PBXBuildFile; fileRef = BC000001000000000000000301 /* pngmem.c */; };
+ BC000001000000000000000402 /* pngpread.c in Sources */ = {isa = PBXBuildFile; fileRef = BC000001000000000000000401 /* pngpread.c */; };
+ BC000001000000000000000502 /* pngread.c in Sources */ = {isa = PBXBuildFile; fileRef = BC000001000000000000000501 /* pngread.c */; };
+ BC000001000000000000000602 /* pngrio.c in Sources */ = {isa = PBXBuildFile; fileRef = BC000001000000000000000601 /* pngrio.c */; };
+ BC000001000000000000000702 /* pngrtran.c in Sources */ = {isa = PBXBuildFile; fileRef = BC000001000000000000000701 /* pngrtran.c */; };
+ BC000001000000000000000802 /* pngrutil.c in Sources */ = {isa = PBXBuildFile; fileRef = BC000001000000000000000801 /* pngrutil.c */; };
+ BC000001000000000000000902 /* pngset.c in Sources */ = {isa = PBXBuildFile; fileRef = BC000001000000000000000901 /* pngset.c */; };
+ BC000001000000000000000A02 /* pngtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = BC000001000000000000000A01 /* pngtrans.c */; };
+ BC000001000000000000000B02 /* pngwio.c in Sources */ = {isa = PBXBuildFile; fileRef = BC000001000000000000000B01 /* pngwio.c */; };
+ BC000001000000000000000C02 /* pngwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = BC000001000000000000000C01 /* pngwrite.c */; };
+ BC000001000000000000000D02 /* pngwtran.c in Sources */ = {isa = PBXBuildFile; fileRef = BC000001000000000000000D01 /* pngwtran.c */; };
+ BC000001000000000000000E02 /* pngwutil.c in Sources */ = {isa = PBXBuildFile; fileRef = BC000001000000000000000E01 /* pngwutil.c */; };
+ BCARM000000000000000000002 /* arm_init.c in Sources */ = {isa = PBXBuildFile; fileRef = BCARM000000000000000000001 /* arm_init.c */; };
+ BCARM000000000000000000102 /* filter_neon_intrinsics.c in Sources */ = {isa = PBXBuildFile; fileRef = BCARM000000000000000000101 /* filter_neon_intrinsics.c */; };
+ BCARM000000000000000000202 /* palette_neon_intrinsics.c in Sources */ = {isa = PBXBuildFile; fileRef = BCARM000000000000000000201 /* palette_neon_intrinsics.c */; };
+ /* libjpeg + JPGSurfaceLoader build files */
+ 5D8E368214BEF412003BA3DA /* JPGSurfaceLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368014BEF412003BA3DA /* JPGSurfaceLoader.cpp */; };
+ 5D8E368314BEF412003BA3DA /* RTGLESExt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368114BEF412003BA3DA /* RTGLESExt.cpp */; };
+ 5D8E36B314BEF45B003BA3DA /* jcapimin.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368514BEF45B003BA3DA /* jcapimin.c */; };
+ 5D8E36B414BEF45B003BA3DA /* jcapistd.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368614BEF45B003BA3DA /* jcapistd.c */; };
+ 5D8E36B514BEF45B003BA3DA /* jccoefct.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368714BEF45B003BA3DA /* jccoefct.c */; };
+ 5D8E36B614BEF45B003BA3DA /* jccolor.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368814BEF45B003BA3DA /* jccolor.c */; };
+ 5D8E36B714BEF45B003BA3DA /* jcdctmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368914BEF45B003BA3DA /* jcdctmgr.c */; };
+ 5D8E36B814BEF45B003BA3DA /* jchuff.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368A14BEF45B003BA3DA /* jchuff.c */; };
+ 5D8E36B914BEF45B003BA3DA /* jcinit.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368B14BEF45B003BA3DA /* jcinit.c */; };
+ 5D8E36BA14BEF45B003BA3DA /* jcmainct.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368C14BEF45B003BA3DA /* jcmainct.c */; };
+ 5D8E36BB14BEF45B003BA3DA /* jcmarker.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368D14BEF45B003BA3DA /* jcmarker.c */; };
+ 5D8E36BC14BEF45B003BA3DA /* jcmaster.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368E14BEF45B003BA3DA /* jcmaster.c */; };
+ 5D8E36BD14BEF45B003BA3DA /* jcomapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368F14BEF45B003BA3DA /* jcomapi.c */; };
+ 5D8E36BE14BEF45B003BA3DA /* jcparam.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369014BEF45B003BA3DA /* jcparam.c */; };
+ 5D8E36BF14BEF45B003BA3DA /* jcphuff.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369114BEF45B003BA3DA /* jcphuff.c */; };
+ 5D8E36C014BEF45B003BA3DA /* jcprepct.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369214BEF45B003BA3DA /* jcprepct.c */; };
+ 5D8E36C114BEF45B003BA3DA /* jcsample.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369314BEF45B003BA3DA /* jcsample.c */; };
+ 5D8E36C214BEF45B003BA3DA /* jctrans.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369414BEF45B003BA3DA /* jctrans.c */; };
+ 5D8E36C314BEF45B003BA3DA /* jdapimin.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369514BEF45B003BA3DA /* jdapimin.c */; };
+ 5D8E36C414BEF45B003BA3DA /* jdapistd.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369614BEF45B003BA3DA /* jdapistd.c */; };
+ 5D8E36C514BEF45B003BA3DA /* jdatadst.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369714BEF45B003BA3DA /* jdatadst.c */; };
+ 5D8E36C614BEF45B003BA3DA /* jdatasrc.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369814BEF45B003BA3DA /* jdatasrc.c */; };
+ 5D8E36C714BEF45B003BA3DA /* jdcoefct.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369914BEF45B003BA3DA /* jdcoefct.c */; };
+ 5D8E36C814BEF45B003BA3DA /* jdcolor.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369A14BEF45B003BA3DA /* jdcolor.c */; };
+ 5D8E36C914BEF45B003BA3DA /* jddctmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369B14BEF45B003BA3DA /* jddctmgr.c */; };
+ 5D8E36CA14BEF45B003BA3DA /* jdhuff.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369C14BEF45B003BA3DA /* jdhuff.c */; };
+ 5D8E36CB14BEF45B003BA3DA /* jdinput.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369D14BEF45B003BA3DA /* jdinput.c */; };
+ 5D8E36CC14BEF45B003BA3DA /* jdmainct.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369E14BEF45B003BA3DA /* jdmainct.c */; };
+ 5D8E36CD14BEF45B003BA3DA /* jdmarker.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369F14BEF45B003BA3DA /* jdmarker.c */; };
+ 5D8E36CE14BEF45B003BA3DA /* jdmaster.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A014BEF45B003BA3DA /* jdmaster.c */; };
+ 5D8E36CF14BEF45B003BA3DA /* jdmerge.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A114BEF45B003BA3DA /* jdmerge.c */; };
+ 5D8E36D014BEF45B003BA3DA /* jdphuff.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A214BEF45B003BA3DA /* jdphuff.c */; };
+ 5D8E36D114BEF45B003BA3DA /* jdpostct.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A314BEF45B003BA3DA /* jdpostct.c */; };
+ 5D8E36D214BEF45B003BA3DA /* jdsample.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A414BEF45B003BA3DA /* jdsample.c */; };
+ 5D8E36D314BEF45B003BA3DA /* jdtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A514BEF45B003BA3DA /* jdtrans.c */; };
+ 5D8E36D414BEF45B003BA3DA /* jerror.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A614BEF45B003BA3DA /* jerror.c */; };
+ 5D8E36D514BEF45B003BA3DA /* jfdctflt.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A714BEF45B003BA3DA /* jfdctflt.c */; };
+ 5D8E36D614BEF45B003BA3DA /* jfdctfst.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A814BEF45B003BA3DA /* jfdctfst.c */; };
+ 5D8E36D714BEF45B003BA3DA /* jfdctint.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A914BEF45B003BA3DA /* jfdctint.c */; };
+ 5D8E36D814BEF45B003BA3DA /* jidctflt.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36AA14BEF45B003BA3DA /* jidctflt.c */; };
+ 5D8E36D914BEF45B003BA3DA /* jidctfst.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36AB14BEF45B003BA3DA /* jidctfst.c */; };
+ 5D8E36DA14BEF45B003BA3DA /* jidctint.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36AC14BEF45B003BA3DA /* jidctint.c */; };
+ 5D8E36DB14BEF45B003BA3DA /* jidctred.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36AD14BEF45B003BA3DA /* jidctred.c */; };
+ 5D8E36DC14BEF45B003BA3DA /* jmemmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36AE14BEF45B003BA3DA /* jmemmgr.c */; };
+ 5D8E36DD14BEF45B003BA3DA /* jmemnobs.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36AF14BEF45B003BA3DA /* jmemnobs.c */; };
+ 5D8E36DE14BEF45B003BA3DA /* jquant1.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36B014BEF45B003BA3DA /* jquant1.c */; };
+ 5D8E36DF14BEF45B003BA3DA /* jquant2.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36B114BEF45B003BA3DA /* jquant2.c */; };
+ 5D8E36E014BEF45B003BA3DA /* jutils.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36B214BEF45B003BA3DA /* jutils.c */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@@ -71,13 +139,13 @@
5D70B61A12B5FED300A1AB17 /* PlatformSetupOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PlatformSetupOSX.h; path = ../../shared/OSX/PlatformSetupOSX.h; sourceTree = SOURCE_ROOT; };
5D70B61B12B5FED300A1AB17 /* OSXUtils.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = OSXUtils.mm; path = ../../shared/OSX/OSXUtils.mm; sourceTree = SOURCE_ROOT; };
5D70B61C12B5FED300A1AB17 /* OSXUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OSXUtils.h; path = ../../shared/OSX/OSXUtils.h; sourceTree = SOURCE_ROOT; };
- 5D70B61E12B5FED300A1AB17 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
- 5D70B61F12B5FED300A1AB17 /* MainController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainController.h; sourceTree = ""; };
- 5D70B62012B5FED300A1AB17 /* MainController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MainController.mm; sourceTree = ""; };
- 5D70B62112B5FED300A1AB17 /* MyApplication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyApplication.h; sourceTree = ""; };
- 5D70B62312B5FED300A1AB17 /* MyOpenGLView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyOpenGLView.h; sourceTree = ""; };
- 5D70B62412B5FED300A1AB17 /* MyOpenGLView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MyOpenGLView.mm; sourceTree = ""; };
- 5D70C47812B757F500A1AB17 /* MyApplication.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MyApplication.mm; sourceTree = ""; };
+ 5D70B61E12B5FED300A1AB17 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ../../shared/OSX/app/main.m; sourceTree = SOURCE_ROOT; };
+ 5D70B61F12B5FED300A1AB17 /* MainController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ../../shared/OSX/app/MainController.h; sourceTree = SOURCE_ROOT; };
+ 5D70B62012B5FED300A1AB17 /* MainController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ../../shared/OSX/app/MainController.mm; sourceTree = SOURCE_ROOT; };
+ 5D70B62112B5FED300A1AB17 /* MyApplication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ../../shared/OSX/app/MyApplication.h; sourceTree = SOURCE_ROOT; };
+ 5D70B62312B5FED300A1AB17 /* MyOpenGLView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ../../shared/OSX/app/MyOpenGLView.h; sourceTree = SOURCE_ROOT; };
+ 5D70B62412B5FED300A1AB17 /* MyOpenGLView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ../../shared/OSX/app/MyOpenGLView.mm; sourceTree = SOURCE_ROOT; };
+ 5D70C47812B757F500A1AB17 /* MyApplication.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ../../shared/OSX/app/MyApplication.mm; sourceTree = SOURCE_ROOT; };
5DDE012812B4D4F2000C5CC0 /* NetUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetUtils.h; path = ../../shared/Network/NetUtils.h; sourceTree = SOURCE_ROOT; };
5DDE012912B4D4F2000C5CC0 /* NetUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetUtils.cpp; path = ../../shared/Network/NetUtils.cpp; sourceTree = SOURCE_ROOT; };
5DDE012B12B4D4F2000C5CC0 /* FileManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FileManager.h; path = ../../shared/FileSystem/FileManager.h; sourceTree = SOURCE_ROOT; };
@@ -161,6 +229,76 @@
AF9DBBC5113C611C00D05754 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
AFBD7715113895850015E685 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = ""; };
AFD4D889113C504F00C2DE76 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
+ /* libpng file references */
+ BC000001000000000000000001 /* png.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = png.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/png.c; sourceTree = SOURCE_ROOT; };
+ BC000001000000000000000101 /* pngerror.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngerror.c; sourceTree = SOURCE_ROOT; };
+ BC000001000000000000000201 /* pngget.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngget.c; sourceTree = SOURCE_ROOT; };
+ BC000001000000000000000301 /* pngmem.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngmem.c; sourceTree = SOURCE_ROOT; };
+ BC000001000000000000000401 /* pngpread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngpread.c; sourceTree = SOURCE_ROOT; };
+ BC000001000000000000000501 /* pngread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngread.c; sourceTree = SOURCE_ROOT; };
+ BC000001000000000000000601 /* pngrio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngrio.c; sourceTree = SOURCE_ROOT; };
+ BC000001000000000000000701 /* pngrtran.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngrtran.c; sourceTree = SOURCE_ROOT; };
+ BC000001000000000000000801 /* pngrutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngrutil.c; sourceTree = SOURCE_ROOT; };
+ BC000001000000000000000901 /* pngset.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngset.c; sourceTree = SOURCE_ROOT; };
+ BC000001000000000000000A01 /* pngtrans.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngtrans.c; sourceTree = SOURCE_ROOT; };
+ BC000001000000000000000B01 /* pngwio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngwio.c; sourceTree = SOURCE_ROOT; };
+ BC000001000000000000000C01 /* pngwrite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngwrite.c; sourceTree = SOURCE_ROOT; };
+ BC000001000000000000000D01 /* pngwtran.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngwtran.c; sourceTree = SOURCE_ROOT; };
+ BC000001000000000000000E01 /* pngwutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngwutil.c; sourceTree = SOURCE_ROOT; };
+ BCARM000000000000000000001 /* arm_init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = arm_init.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/arm/arm_init.c; sourceTree = SOURCE_ROOT; };
+ BCARM000000000000000000101 /* filter_neon_intrinsics.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = filter_neon_intrinsics.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/arm/filter_neon_intrinsics.c; sourceTree = SOURCE_ROOT; };
+ BCARM000000000000000000201 /* palette_neon_intrinsics.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = palette_neon_intrinsics.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/arm/palette_neon_intrinsics.c; sourceTree = SOURCE_ROOT; };
+ /* libjpeg + JPGSurfaceLoader file references */
+ 5D8E367E14BEF412003BA3DA /* JPGSurfaceLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JPGSurfaceLoader.h; path = ../../shared/Renderer/JPGSurfaceLoader.h; sourceTree = SOURCE_ROOT; };
+ 5D8E368014BEF412003BA3DA /* JPGSurfaceLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JPGSurfaceLoader.cpp; path = ../../shared/Renderer/JPGSurfaceLoader.cpp; sourceTree = SOURCE_ROOT; };
+ 5D8E367F14BEF412003BA3DA /* RTGLESExt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RTGLESExt.h; path = ../../shared/Renderer/RTGLESExt.h; sourceTree = SOURCE_ROOT; };
+ 5D8E368114BEF412003BA3DA /* RTGLESExt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RTGLESExt.cpp; path = ../../shared/Renderer/RTGLESExt.cpp; sourceTree = SOURCE_ROOT; };
+ 5D8E368514BEF45B003BA3DA /* jcapimin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcapimin.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368614BEF45B003BA3DA /* jcapistd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcapistd.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368714BEF45B003BA3DA /* jccoefct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jccoefct.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368814BEF45B003BA3DA /* jccolor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jccolor.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368914BEF45B003BA3DA /* jcdctmgr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcdctmgr.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368A14BEF45B003BA3DA /* jchuff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jchuff.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368B14BEF45B003BA3DA /* jcinit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcinit.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368C14BEF45B003BA3DA /* jcmainct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcmainct.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368D14BEF45B003BA3DA /* jcmarker.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcmarker.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368E14BEF45B003BA3DA /* jcmaster.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcmaster.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368F14BEF45B003BA3DA /* jcomapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcomapi.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369014BEF45B003BA3DA /* jcparam.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcparam.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369114BEF45B003BA3DA /* jcphuff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcphuff.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369214BEF45B003BA3DA /* jcprepct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcprepct.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369314BEF45B003BA3DA /* jcsample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcsample.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369414BEF45B003BA3DA /* jctrans.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jctrans.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369514BEF45B003BA3DA /* jdapimin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdapimin.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369614BEF45B003BA3DA /* jdapistd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdapistd.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369714BEF45B003BA3DA /* jdatadst.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdatadst.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdatadst.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369814BEF45B003BA3DA /* jdatasrc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdatasrc.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369914BEF45B003BA3DA /* jdcoefct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdcoefct.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369A14BEF45B003BA3DA /* jdcolor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdcolor.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369B14BEF45B003BA3DA /* jddctmgr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jddctmgr.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369C14BEF45B003BA3DA /* jdhuff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdhuff.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369D14BEF45B003BA3DA /* jdinput.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdinput.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369E14BEF45B003BA3DA /* jdmainct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdmainct.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369F14BEF45B003BA3DA /* jdmarker.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdmarker.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A014BEF45B003BA3DA /* jdmaster.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdmaster.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A114BEF45B003BA3DA /* jdmerge.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdmerge.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A214BEF45B003BA3DA /* jdphuff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdphuff.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A314BEF45B003BA3DA /* jdpostct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdpostct.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A414BEF45B003BA3DA /* jdsample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdsample.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A514BEF45B003BA3DA /* jdtrans.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdtrans.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A614BEF45B003BA3DA /* jerror.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jerror.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A714BEF45B003BA3DA /* jfdctflt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jfdctflt.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A814BEF45B003BA3DA /* jfdctfst.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jfdctfst.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A914BEF45B003BA3DA /* jfdctint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jfdctint.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36AA14BEF45B003BA3DA /* jidctflt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jidctflt.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36AB14BEF45B003BA3DA /* jidctfst.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jidctfst.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36AC14BEF45B003BA3DA /* jidctint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jidctint.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36AD14BEF45B003BA3DA /* jidctred.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jidctred.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36AE14BEF45B003BA3DA /* jmemmgr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jmemmgr.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36AF14BEF45B003BA3DA /* jmemnobs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jmemnobs.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36B014BEF45B003BA3DA /* jquant1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jquant1.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36B114BEF45B003BA3DA /* jquant2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jquant2.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36B214BEF45B003BA3DA /* jutils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jutils.c; sourceTree = SOURCE_ROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -295,6 +433,7 @@
5DDE017D12B4D4F2000C5CC0 /* PlatformSetup.cpp */,
5DDE017E12B4D4F2000C5CC0 /* PlatformPrecomp.h */,
5DDE017F12B4D4F2000C5CC0 /* PlatformPrecomp.cpp */,
+ BC000001000000000000FF01 /* libpng */,
);
name = shared;
sourceTree = "";
@@ -469,6 +608,53 @@
name = Boost;
sourceTree = SOURCE_ROOT;
};
+ BC000001000000000000FF01 /* libpng */ = {
+ isa = PBXGroup;
+ children = (
+ BC000001000000000000000001 /* png.c */,
+ BC000001000000000000000101 /* pngerror.c */,
+ BC000001000000000000000201 /* pngget.c */,
+ BC000001000000000000000301 /* pngmem.c */,
+ BC000001000000000000000401 /* pngpread.c */,
+ BC000001000000000000000501 /* pngread.c */,
+ BC000001000000000000000601 /* pngrio.c */,
+ BC000001000000000000000701 /* pngrtran.c */,
+ BC000001000000000000000801 /* pngrutil.c */,
+ BC000001000000000000000901 /* pngset.c */,
+ BC000001000000000000000A01 /* pngtrans.c */,
+ BC000001000000000000000B01 /* pngwio.c */,
+ BC000001000000000000000C01 /* pngwrite.c */,
+ BC000001000000000000000D01 /* pngwtran.c */,
+ BC000001000000000000000E01 /* pngwutil.c */,
+ BCARM000000000000000000001 /* arm_init.c */,
+ BCARM000000000000000000101 /* filter_neon_intrinsics.c */,
+ BCARM000000000000000000201 /* palette_neon_intrinsics.c */,
+ );
+ name = libpng;
+ sourceTree = "";
+ };
+ BC000001000000000000FF01 /* libpng */ = {
+ isa = PBXGroup;
+ children = (
+ BC000001000000000000000001 /* png.c */,
+ BC000001000000000000000101 /* pngerror.c */,
+ BC000001000000000000000201 /* pngget.c */,
+ BC000001000000000000000301 /* pngmem.c */,
+ BC000001000000000000000401 /* pngpread.c */,
+ BC000001000000000000000501 /* pngread.c */,
+ BC000001000000000000000601 /* pngrio.c */,
+ BC000001000000000000000701 /* pngrtran.c */,
+ BC000001000000000000000801 /* pngrutil.c */,
+ BC000001000000000000000901 /* pngset.c */,
+ BC000001000000000000000A01 /* pngtrans.c */,
+ BC000001000000000000000B01 /* pngwio.c */,
+ BC000001000000000000000C01 /* pngwrite.c */,
+ BC000001000000000000000D01 /* pngwtran.c */,
+ BC000001000000000000000E01 /* pngwutil.c */,
+ );
+ name = libpng;
+ sourceTree = "";
+ };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -572,6 +758,24 @@
5DDE01A912B4D4F2000C5CC0 /* RenderUtils.cpp in Sources */,
5DDE01AA12B4D4F2000C5CC0 /* PlatformSetup.cpp in Sources */,
5DDE01AB12B4D4F2000C5CC0 /* PlatformPrecomp.cpp in Sources */,
+ BC000001000000000000000002 /* png.c in Sources */,
+ BC000001000000000000000102 /* pngerror.c in Sources */,
+ BC000001000000000000000202 /* pngget.c in Sources */,
+ BC000001000000000000000302 /* pngmem.c in Sources */,
+ BC000001000000000000000402 /* pngpread.c in Sources */,
+ BC000001000000000000000502 /* pngread.c in Sources */,
+ BC000001000000000000000602 /* pngrio.c in Sources */,
+ BC000001000000000000000702 /* pngrtran.c in Sources */,
+ BC000001000000000000000802 /* pngrutil.c in Sources */,
+ BC000001000000000000000902 /* pngset.c in Sources */,
+ BC000001000000000000000A02 /* pngtrans.c in Sources */,
+ BC000001000000000000000B02 /* pngwio.c in Sources */,
+ BC000001000000000000000C02 /* pngwrite.c in Sources */,
+ BC000001000000000000000D02 /* pngwtran.c in Sources */,
+ BC000001000000000000000E02 /* pngwutil.c in Sources */,
+ BCARM000000000000000000002 /* arm_init.c in Sources */,
+ BCARM000000000000000000102 /* filter_neon_intrinsics.c in Sources */,
+ BCARM000000000000000000202 /* palette_neon_intrinsics.c in Sources */,
5DDE01AC12B4D4F2000C5CC0 /* BaseApp.cpp in Sources */,
5DDE02A512B4F526000C5CC0 /* App.cpp in Sources */,
5D70B62512B5FED300A1AB17 /* OSXUtils.mm in Sources */,
@@ -580,6 +784,54 @@
5D70B62912B5FED300A1AB17 /* MyOpenGLView.mm in Sources */,
5D70C47912B757F500A1AB17 /* MyApplication.mm in Sources */,
6424B73F1508A0AC00B545A2 /* ArcadeInputComponent.cpp in Sources */,
+ 5D8E368214BEF412003BA3DA /* JPGSurfaceLoader.cpp in Sources */,
+ 5D8E368314BEF412003BA3DA /* RTGLESExt.cpp in Sources */,
+ 5D8E36B314BEF45B003BA3DA /* jcapimin.c in Sources */,
+ 5D8E36B414BEF45B003BA3DA /* jcapistd.c in Sources */,
+ 5D8E36B514BEF45B003BA3DA /* jccoefct.c in Sources */,
+ 5D8E36B614BEF45B003BA3DA /* jccolor.c in Sources */,
+ 5D8E36B714BEF45B003BA3DA /* jcdctmgr.c in Sources */,
+ 5D8E36B814BEF45B003BA3DA /* jchuff.c in Sources */,
+ 5D8E36B914BEF45B003BA3DA /* jcinit.c in Sources */,
+ 5D8E36BA14BEF45B003BA3DA /* jcmainct.c in Sources */,
+ 5D8E36BB14BEF45B003BA3DA /* jcmarker.c in Sources */,
+ 5D8E36BC14BEF45B003BA3DA /* jcmaster.c in Sources */,
+ 5D8E36BD14BEF45B003BA3DA /* jcomapi.c in Sources */,
+ 5D8E36BE14BEF45B003BA3DA /* jcparam.c in Sources */,
+ 5D8E36BF14BEF45B003BA3DA /* jcphuff.c in Sources */,
+ 5D8E36C014BEF45B003BA3DA /* jcprepct.c in Sources */,
+ 5D8E36C114BEF45B003BA3DA /* jcsample.c in Sources */,
+ 5D8E36C214BEF45B003BA3DA /* jctrans.c in Sources */,
+ 5D8E36C314BEF45B003BA3DA /* jdapimin.c in Sources */,
+ 5D8E36C414BEF45B003BA3DA /* jdapistd.c in Sources */,
+ 5D8E36C514BEF45B003BA3DA /* jdatadst.c in Sources */,
+ 5D8E36C614BEF45B003BA3DA /* jdatasrc.c in Sources */,
+ 5D8E36C714BEF45B003BA3DA /* jdcoefct.c in Sources */,
+ 5D8E36C814BEF45B003BA3DA /* jdcolor.c in Sources */,
+ 5D8E36C914BEF45B003BA3DA /* jddctmgr.c in Sources */,
+ 5D8E36CA14BEF45B003BA3DA /* jdhuff.c in Sources */,
+ 5D8E36CB14BEF45B003BA3DA /* jdinput.c in Sources */,
+ 5D8E36CC14BEF45B003BA3DA /* jdmainct.c in Sources */,
+ 5D8E36CD14BEF45B003BA3DA /* jdmarker.c in Sources */,
+ 5D8E36CE14BEF45B003BA3DA /* jdmaster.c in Sources */,
+ 5D8E36CF14BEF45B003BA3DA /* jdmerge.c in Sources */,
+ 5D8E36D014BEF45B003BA3DA /* jdphuff.c in Sources */,
+ 5D8E36D114BEF45B003BA3DA /* jdpostct.c in Sources */,
+ 5D8E36D214BEF45B003BA3DA /* jdsample.c in Sources */,
+ 5D8E36D314BEF45B003BA3DA /* jdtrans.c in Sources */,
+ 5D8E36D414BEF45B003BA3DA /* jerror.c in Sources */,
+ 5D8E36D514BEF45B003BA3DA /* jfdctflt.c in Sources */,
+ 5D8E36D614BEF45B003BA3DA /* jfdctfst.c in Sources */,
+ 5D8E36D714BEF45B003BA3DA /* jfdctint.c in Sources */,
+ 5D8E36D814BEF45B003BA3DA /* jidctflt.c in Sources */,
+ 5D8E36D914BEF45B003BA3DA /* jidctfst.c in Sources */,
+ 5D8E36DA14BEF45B003BA3DA /* jidctint.c in Sources */,
+ 5D8E36DB14BEF45B003BA3DA /* jidctred.c in Sources */,
+ 5D8E36DC14BEF45B003BA3DA /* jmemmgr.c in Sources */,
+ 5D8E36DD14BEF45B003BA3DA /* jmemnobs.c in Sources */,
+ 5D8E36DE14BEF45B003BA3DA /* jquant1.c in Sources */,
+ 5D8E36DF14BEF45B003BA3DA /* jquant2.c in Sources */,
+ 5D8E36E014BEF45B003BA3DA /* jutils.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -612,12 +864,15 @@
COPY_PHASE_STRIP = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- _DEBUG,
- BOOST_ALL_NO_LIB,
- C_GL_MODE,
- GL_SILENCE_DEPRECATION,
- );
+GCC_PREPROCESSOR_DEFINITIONS = (
+ _DEBUG,
+ BOOST_ALL_NO_LIB,
+ C_GL_MODE,
+ GL_SILENCE_DEPRECATION,
+ RT_PNG_SUPPORT,
+ RT_JPG_SUPPORT,
+ RT_IPV6,
+ );
INFOPLIST_FILE = "RTBareBones-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
PRODUCT_NAME = RTBareBones;
@@ -629,12 +884,15 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- GCC_PREPROCESSOR_DEFINITIONS = (
- BOOST_ALL_NO_LIB,
- NDEBUG,
- C_GL_MODE,
- GL_SILENCE_DEPRECATION,
- );
+GCC_PREPROCESSOR_DEFINITIONS = (
+ BOOST_ALL_NO_LIB,
+ NDEBUG,
+ C_GL_MODE,
+ GL_SILENCE_DEPRECATION,
+ RT_PNG_SUPPORT,
+ RT_JPG_SUPPORT,
+ RT_IPV6,
+ );
INFOPLIST_FILE = "RTBareBones-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
PRODUCT_NAME = RTBareBones;
@@ -653,23 +911,28 @@
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = ../../shared/PlatformPrecomp.h;
- GCC_PREPROCESSOR_DEFINITIONS = (
- _DEBUG,
- BOOST_ALL_NO_LIB,
- C_GL_MODE,
- );
+GCC_PREPROCESSOR_DEFINITIONS = (
+ _DEBUG,
+ BOOST_ALL_NO_LIB,
+ C_GL_MODE,
+ GL_SILENCE_DEPRECATION,
+ RT_PNG_SUPPORT,
+ RT_JPG_SUPPORT,
+ RT_IPV6,
+ );
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- HEADER_SEARCH_PATHS = (
- source,
- ../../shared,
- ../../shared/util/boost/,
- "../../shared/ClanLib-2.0/Sources",
- ../../shared/FliteTTS/include,
- );
- MACOSX_DEPLOYMENT_TARGET = 10.13;
- "MACOSX_DEPLOYMENT_TARGET[arch=*]" = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
- ONLY_ACTIVE_ARCH = YES;
+HEADER_SEARCH_PATHS = (
+ source,
+ ../../shared,
+ ../../shared/util/boost/,
+ "../../shared/ClanLib-2.0/Sources",
+ ../../shared/FliteTTS/include,
+ "$(HOME)/Library/Frameworks/SDL2.framework/Headers",
+ );
+ MACOSX_DEPLOYMENT_TARGET = 11.0;
+ "EXCLUDED_SOURCE_FILE_NAMES[arch=x86_64]" = "arm_init.c filter_neon_intrinsics.c palette_neon_intrinsics.c";
+ OTHER_CFLAGS = "-w -Wno-error";
};
name = Debug;
};
@@ -681,22 +944,28 @@
GCC_C_LANGUAGE_STANDARD = "compiler-default";
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = ../../shared/PlatformPrecomp.h;
- GCC_PREPROCESSOR_DEFINITIONS = (
- BOOST_ALL_NO_LIB,
- NDEBUG,
- C_GL_MODE,
- );
+GCC_PREPROCESSOR_DEFINITIONS = (
+ BOOST_ALL_NO_LIB,
+ NDEBUG,
+ C_GL_MODE,
+ GL_SILENCE_DEPRECATION,
+ RT_PNG_SUPPORT,
+ RT_JPG_SUPPORT,
+ RT_IPV6,
+ );
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- HEADER_SEARCH_PATHS = (
- source,
- ../../shared,
- ../../shared/util/boost/,
- "../../shared/ClanLib-2.0/Sources",
- ../../shared/FliteTTS/include,
- );
- MACOSX_DEPLOYMENT_TARGET = 10.13;
- "MACOSX_DEPLOYMENT_TARGET[arch=*]" = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
+HEADER_SEARCH_PATHS = (
+ source,
+ ../../shared,
+ ../../shared/util/boost/,
+ "../../shared/ClanLib-2.0/Sources",
+ ../../shared/FliteTTS/include,
+ "$(HOME)/Library/Frameworks/SDL2.framework/Headers",
+ );
+ MACOSX_DEPLOYMENT_TARGET = 11.0;
+ "EXCLUDED_SOURCE_FILE_NAMES[arch=x86_64]" = "arm_init.c filter_neon_intrinsics.c palette_neon_intrinsics.c";
+ OTHER_CFLAGS = "-w -Wno-error";
};
name = Release;
};
@@ -725,3 +994,4 @@
};
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
}
+
diff --git a/RTBareBones/source/App.cpp b/RTBareBones/source/App.cpp
index c9d68a2e..03fed323 100644
--- a/RTBareBones/source/App.cpp
+++ b/RTBareBones/source/App.cpp
@@ -21,6 +21,11 @@ FileManager * GetFileManager() {return &g_fileManager;}
AudioManager g_audioManager; //to disable sound, this is a dummy
AudioManager * GetAudioManager(){return &g_audioManager;}
+#ifdef PLATFORM_OSX
+// Required by MainController.mm and BaseApp.cpp - defined in SDL2Main.cpp for SDL builds
+bool g_bIsFullScreen = false;
+#endif
+
App *g_pApp = NULL;
BaseApp * GetBaseApp()
diff --git a/RTLooneyLadders/OSX/English.lproj/InfoPlist.strings b/RTLooneyLadders/OSX/English.lproj/InfoPlist.strings
new file mode 100644
index 00000000..c6f2a8b2
--- /dev/null
+++ b/RTLooneyLadders/OSX/English.lproj/InfoPlist.strings
@@ -0,0 +1,4 @@
+/* Localized versions of Info.plist keys */
+
+CFBundleGetInfoString = "v1.0, Copyright 2010 Apple Inc.";
+NSHumanReadableCopyright = "Copyright © 2010, Apple Inc.";
\ No newline at end of file
diff --git a/RTLooneyLadders/OSX/English.lproj/MainMenu.xib b/RTLooneyLadders/OSX/English.lproj/MainMenu.xib
new file mode 100644
index 00000000..6cd15da7
--- /dev/null
+++ b/RTLooneyLadders/OSX/English.lproj/MainMenu.xib
@@ -0,0 +1,655 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/RTLooneyLadders/OSX/RTLooneyLadders-Info.plist b/RTLooneyLadders/OSX/RTLooneyLadders-Info.plist
new file mode 100644
index 00000000..744f7365
--- /dev/null
+++ b/RTLooneyLadders/OSX/RTLooneyLadders-Info.plist
@@ -0,0 +1,32 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ English
+ CFBundleExecutable
+ ${EXECUTABLE_NAME}
+ CFBundleIconFile
+ app.icns
+ CFBundleIdentifier
+ com.rtsoft.${PRODUCT_NAME:rfc1034identifier}
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ ${PRODUCT_NAME}
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1.1
+ LSMinimumSystemVersion
+ ${MACOSX_DEPLOYMENT_TARGET}
+ NSMainNibFile
+ MainMenu
+ NSPrincipalClass
+ MyApplication
+
+
diff --git a/RTLooneyLadders/OSX/RTLooneyLadders.xcodeproj/project.pbxproj b/RTLooneyLadders/OSX/RTLooneyLadders.xcodeproj/project.pbxproj
new file mode 100644
index 00000000..5d254374
--- /dev/null
+++ b/RTLooneyLadders/OSX/RTLooneyLadders.xcodeproj/project.pbxproj
@@ -0,0 +1,1521 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 54;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 5D361D4A2AB83C0E006C5169 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D361D492AB83C0E006C5169 /* libz.tbd */; };
+ /* RTLooneyLadders Component build files */
+ LL000001000000000000000001 /* BuildingComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LL000001000000000000000011 /* BuildingComponent.cpp */; };
+ LL000001000000000000000002 /* Character.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LL000001000000000000000012 /* Character.cpp */; };
+ LL000001000000000000000003 /* CharComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LL000001000000000000000013 /* CharComponent.cpp */; };
+ LL000001000000000000000004 /* CharManagerComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LL000001000000000000000014 /* CharManagerComponent.cpp */; };
+ LL000001000000000000000005 /* ExplosionComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LL000001000000000000000015 /* ExplosionComponent.cpp */; };
+ LL000001000000000000000006 /* OverlayRenderComponentSpy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LL000001000000000000000016 /* OverlayRenderComponentSpy.cpp */; };
+ /* RTLooneyLadders GUI build files */
+ LL000001000000000000000007 /* AboutMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LL000001000000000000000017 /* AboutMenu.cpp */; };
+ LL000001000000000000000008 /* ControllerTestMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LL000001000000000000000018 /* ControllerTestMenu.cpp */; };
+ LL000001000000000000000009 /* GameMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LL000001000000000000000019 /* GameMenu.cpp */; };
+ LL00000100000000000000000A /* IntroMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LL00000100000000000000001A /* IntroMenu.cpp */; };
+ LL00000100000000000000000B /* MainMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LL00000100000000000000001B /* MainMenu.cpp */; };
+ 5D70B62512B5FED300A1AB17 /* OSXUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B61B12B5FED300A1AB17 /* OSXUtils.mm */; };
+ 5D70B62612B5FED300A1AB17 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B61E12B5FED300A1AB17 /* main.m */; };
+ 5D70B62712B5FED300A1AB17 /* MainController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B62012B5FED300A1AB17 /* MainController.mm */; };
+ 5D70B62912B5FED300A1AB17 /* MyOpenGLView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B62412B5FED300A1AB17 /* MyOpenGLView.mm */; };
+ 5D70B7A112B606DC00A1AB17 /* StreamingInstanceZip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6B312B606DB00A1AB17 /* StreamingInstanceZip.cpp */; };
+ 5D70B7A212B606DC00A1AB17 /* StreamingInstanceFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6B512B606DB00A1AB17 /* StreamingInstanceFile.cpp */; };
+ 5D70B7A312B606DC00A1AB17 /* StreamingInstance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6B712B606DB00A1AB17 /* StreamingInstance.cpp */; };
+ 5D70B7A412B606DC00A1AB17 /* FileSystemZip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6B912B606DC00A1AB17 /* FileSystemZip.cpp */; };
+ 5D70B7A512B606DC00A1AB17 /* FileSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6BB12B606DC00A1AB17 /* FileSystem.cpp */; };
+ 5D70B7A612B606DC00A1AB17 /* FileManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6BD12B606DC00A1AB17 /* FileManager.cpp */; };
+ 5D70B7A712B606DC00A1AB17 /* ResourceManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6BF12B606DC00A1AB17 /* ResourceManager.cpp */; };
+ 5D70B7A812B606DC00A1AB17 /* VariantDB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6C112B606DC00A1AB17 /* VariantDB.cpp */; };
+ 5D70B7A912B606DC00A1AB17 /* Console.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6C312B606DC00A1AB17 /* Console.cpp */; };
+ 5D70B7AA12B606DC00A1AB17 /* GameTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6C512B606DC00A1AB17 /* GameTimer.cpp */; };
+ 5D70B7AB12B606DC00A1AB17 /* MessageManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6C712B606DC00A1AB17 /* MessageManager.cpp */; };
+ 5D70B7AC12B606DC00A1AB17 /* NetHTTP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6CA12B606DC00A1AB17 /* NetHTTP.cpp */; };
+ 5D70B7AD12B606DC00A1AB17 /* NetSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6CC12B606DC00A1AB17 /* NetSocket.cpp */; };
+ 5D70B7AE12B606DC00A1AB17 /* NetUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6CE12B606DC00A1AB17 /* NetUtils.cpp */; };
+ 5D70B7B012B606DC00A1AB17 /* AudioManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6D312B606DC00A1AB17 /* AudioManager.cpp */; };
+AA000004000000000000AA01 /* AudioManagerSDL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA000003000000000000AA01 /* AudioManagerSDL.cpp */; };
+ 5D70B7B112B606DC00A1AB17 /* vec4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6D812B606DC00A1AB17 /* vec4.cpp */; };
+ 5D70B7B212B606DC00A1AB17 /* vec1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6D912B606DC00A1AB17 /* vec1.cpp */; };
+ 5D70B7B312B606DC00A1AB17 /* mat4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6DA12B606DC00A1AB17 /* mat4.cpp */; };
+ 5D70B7B412B606DC00A1AB17 /* mat3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6DB12B606DC00A1AB17 /* mat3.cpp */; };
+ 5D70B7B512B606DC00A1AB17 /* angle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6DC12B606DC00A1AB17 /* angle.cpp */; };
+ 5D70B7B612B606DC00A1AB17 /* vec2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6DD12B606DC00A1AB17 /* vec2.cpp */; };
+ 5D70B7B712B606DC00A1AB17 /* vec3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6DE12B606DC00A1AB17 /* vec3.cpp */; };
+ 5D70B7B812B606DC00A1AB17 /* SliderComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6E212B606DC00A1AB17 /* SliderComponent.cpp */; };
+ 5D70B7B912B606DC00A1AB17 /* SelectButtonWithCustomInputComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6E412B606DC00A1AB17 /* SelectButtonWithCustomInputComponent.cpp */; };
+ 5D70B7BA12B606DC00A1AB17 /* CustomInputComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6E612B606DC00A1AB17 /* CustomInputComponent.cpp */; };
+ 5D70B7BB12B606DC00A1AB17 /* FilterInputComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6E712B606DC00A1AB17 /* FilterInputComponent.cpp */; };
+ 5D70B7BC12B606DC00A1AB17 /* RenderClipComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6E912B606DC00A1AB17 /* RenderClipComponent.cpp */; };
+ 5D70B7BD12B606DC00A1AB17 /* TouchStripComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6EB12B606DC00A1AB17 /* TouchStripComponent.cpp */; };
+ 5D70B7BE12B606DC00A1AB17 /* TrailRenderComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6ED12B606DC00A1AB17 /* TrailRenderComponent.cpp */; };
+ 5D70B7BF12B606DC00A1AB17 /* InputTextRenderComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6EF12B606DC00A1AB17 /* InputTextRenderComponent.cpp */; };
+ 5D70B7C012B606DC00A1AB17 /* RectRenderComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6F112B606DC00A1AB17 /* RectRenderComponent.cpp */; };
+ 5D70B7C112B606DC00A1AB17 /* ScrollBarRenderComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6F312B606DC00A1AB17 /* ScrollBarRenderComponent.cpp */; };
+ 5D70B7C212B606DC00A1AB17 /* ScrollComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6F512B606DC00A1AB17 /* ScrollComponent.cpp */; };
+ 5D70B7C312B606DC00A1AB17 /* TextBoxRenderComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6F712B606DC00A1AB17 /* TextBoxRenderComponent.cpp */; };
+ 5D70B7C412B606DC00A1AB17 /* HTTPComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6F912B606DC00A1AB17 /* HTTPComponent.cpp */; };
+ 5D70B7C512B606DC00A1AB17 /* TyperComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6FB12B606DC00A1AB17 /* TyperComponent.cpp */; };
+ 5D70B7C612B606DC00A1AB17 /* ProgressBarComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6FD12B606DC00A1AB17 /* ProgressBarComponent.cpp */; };
+ 5D70B7C712B606DC00A1AB17 /* TapSequenceDetectComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6FF12B606DC00A1AB17 /* TapSequenceDetectComponent.cpp */; };
+ 5D70B7C812B606DC00A1AB17 /* UnderlineRenderComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B70112B606DC00A1AB17 /* UnderlineRenderComponent.cpp */; };
+ 5D70B7C912B606DC00A1AB17 /* FocusInputComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B70312B606DC00A1AB17 /* FocusInputComponent.cpp */; };
+ 5D70B7CA12B606DC00A1AB17 /* FocusRenderComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B70512B606DC00A1AB17 /* FocusRenderComponent.cpp */; };
+ 5D70B7CB12B606DC00A1AB17 /* FocusUpdateComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B70712B606DC00A1AB17 /* FocusUpdateComponent.cpp */; };
+ 5D70B7CC12B606DC00A1AB17 /* InterpolateComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B70912B606DC00A1AB17 /* InterpolateComponent.cpp */; };
+ 5D70B7CD12B606DC00A1AB17 /* TextRenderComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B70B12B606DC00A1AB17 /* TextRenderComponent.cpp */; };
+ 5D70B7CE12B606DC00A1AB17 /* Button2DComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B70D12B606DC00A1AB17 /* Button2DComponent.cpp */; };
+ 5D70B7CF12B606DC00A1AB17 /* TouchHandlerComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B70F12B606DC00A1AB17 /* TouchHandlerComponent.cpp */; };
+ 5D70B7D012B606DC00A1AB17 /* OverlayRenderComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B71112B606DC00A1AB17 /* OverlayRenderComponent.cpp */; };
+ 5D70B7ED12B606DC00A1AB17 /* EntityUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B74C12B606DC00A1AB17 /* EntityUtils.cpp */; };
+ 5D70B7EE12B606DC00A1AB17 /* Component.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B74E12B606DC00A1AB17 /* Component.cpp */; };
+ 5D70B7EF12B606DC00A1AB17 /* Entity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B75012B606DC00A1AB17 /* Entity.cpp */; };
+ 5D70B7F012B606DC00A1AB17 /* RTFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B75312B606DC00A1AB17 /* RTFont.cpp */; };
+ 5D70B7F112B606DC00A1AB17 /* rtRect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B75612B606DC00A1AB17 /* rtRect.cpp */; };
+ 5D70B7F212B606DC00A1AB17 /* SoftSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B75912B606DC00A1AB17 /* SoftSurface.cpp */; };
+ 5D70B7F312B606DC00A1AB17 /* RenderBatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B75B12B606DC00A1AB17 /* RenderBatcher.cpp */; };
+ 5D70B7F412B606DC00A1AB17 /* L_Defination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B75E12B606DC00A1AB17 /* L_Defination.cpp */; };
+ 5D70B7F512B606DC00A1AB17 /* L_DroppingEffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B76012B606DC00A1AB17 /* L_DroppingEffect.cpp */; };
+ 5D70B7F612B606DC00A1AB17 /* L_EffectEmitter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B76212B606DC00A1AB17 /* L_EffectEmitter.cpp */; };
+ 5D70B7F712B606DC00A1AB17 /* L_EffectManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B76412B606DC00A1AB17 /* L_EffectManager.cpp */; };
+ 5D70B7F812B606DC00A1AB17 /* L_ExplosionEffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B76612B606DC00A1AB17 /* L_ExplosionEffect.cpp */; };
+ 5D70B7F912B606DC00A1AB17 /* L_MotionController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B76812B606DC00A1AB17 /* L_MotionController.cpp */; };
+ 5D70B7FA12B606DC00A1AB17 /* L_Particle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B76A12B606DC00A1AB17 /* L_Particle.cpp */; };
+ 5D70B7FB12B606DC00A1AB17 /* L_ParticleEffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B76C12B606DC00A1AB17 /* L_ParticleEffect.cpp */; };
+ 5D70B7FC12B606DC00A1AB17 /* L_ParticleMem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B76E12B606DC00A1AB17 /* L_ParticleMem.cpp */; };
+ 5D70B7FD12B606DC00A1AB17 /* L_ParticleSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B77012B606DC00A1AB17 /* L_ParticleSystem.cpp */; };
+ 5D70B7FE12B606DC00A1AB17 /* L_ShootingEffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B77212B606DC00A1AB17 /* L_ShootingEffect.cpp */; };
+ 5D70B7FF12B606DC00A1AB17 /* SurfaceAnim.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B77512B606DC00A1AB17 /* SurfaceAnim.cpp */; };
+ 5D70B80012B606DC00A1AB17 /* Surface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B77812B606DC00A1AB17 /* Surface.cpp */; };
+ 5D70B80112B606DC00A1AB17 /* unzip.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B77D12B606DC00A1AB17 /* unzip.c */; };
+ 5D70B80212B606DC00A1AB17 /* ioapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B77F12B606DC00A1AB17 /* ioapi.c */; };
+ 5D70B80312B606DC00A1AB17 /* CRandom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B78112B606DC00A1AB17 /* CRandom.cpp */; };
+ 5D70B80412B606DC00A1AB17 /* PrimeSearch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B78312B606DC00A1AB17 /* PrimeSearch.cpp */; };
+ 5D70B80512B606DC00A1AB17 /* TextScanner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B78512B606DC00A1AB17 /* TextScanner.cpp */; };
+ 5D70B80612B606DC00A1AB17 /* MathUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B78712B606DC00A1AB17 /* MathUtils.cpp */; };
+ 5D70B80712B606DC00A1AB17 /* Variant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B78912B606DC00A1AB17 /* Variant.cpp */; };
+ 5D70B80D12B606DC00A1AB17 /* GLESUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B79212B606DC00A1AB17 /* GLESUtils.cpp */; };
+ 5D70B80E12B606DC00A1AB17 /* ResourceUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B79412B606DC00A1AB17 /* ResourceUtils.cpp */; };
+ 5D70B80F12B606DC00A1AB17 /* MiscUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B79712B606DC00A1AB17 /* MiscUtils.cpp */; };
+ 5D70B81012B606DC00A1AB17 /* RenderUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B79912B606DC00A1AB17 /* RenderUtils.cpp */; };
+ 5D70B81112B606DC00A1AB17 /* PlatformSetup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B79C12B606DC00A1AB17 /* PlatformSetup.cpp */; };
+ 5D70B81212B606DC00A1AB17 /* PlatformPrecomp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B79E12B606DC00A1AB17 /* PlatformPrecomp.cpp */; };
+ 5D70B81312B606DC00A1AB17 /* BaseApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B79F12B606DC00A1AB17 /* BaseApp.cpp */; };
+ 5D70B83412B6074D00A1AB17 /* audio in Resources */ = {isa = PBXBuildFile; fileRef = 5D70B83312B6074D00A1AB17 /* audio */; };
+ 5D70B83612B6075B00A1AB17 /* game in Resources */ = {isa = PBXBuildFile; fileRef = 5D70B83512B6075B00A1AB17 /* game */; };
+ 5D70C4BF12B7586D00A1AB17 /* MyApplication.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5D70C4BE12B7586D00A1AB17 /* MyApplication.mm */; };
+ 5D8E368214BEF412003BA3DA /* JPGSurfaceLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368014BEF412003BA3DA /* JPGSurfaceLoader.cpp */; };
+ 5D8E368314BEF412003BA3DA /* RTGLESExt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368114BEF412003BA3DA /* RTGLESExt.cpp */; };
+ 5D8E36B314BEF45B003BA3DA /* jcapimin.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368514BEF45B003BA3DA /* jcapimin.c */; };
+ 5D8E36B414BEF45B003BA3DA /* jcapistd.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368614BEF45B003BA3DA /* jcapistd.c */; };
+ 5D8E36B514BEF45B003BA3DA /* jccoefct.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368714BEF45B003BA3DA /* jccoefct.c */; };
+ 5D8E36B614BEF45B003BA3DA /* jccolor.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368814BEF45B003BA3DA /* jccolor.c */; };
+ 5D8E36B714BEF45B003BA3DA /* jcdctmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368914BEF45B003BA3DA /* jcdctmgr.c */; };
+ 5D8E36B814BEF45B003BA3DA /* jchuff.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368A14BEF45B003BA3DA /* jchuff.c */; };
+ 5D8E36B914BEF45B003BA3DA /* jcinit.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368B14BEF45B003BA3DA /* jcinit.c */; };
+ 5D8E36BA14BEF45B003BA3DA /* jcmainct.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368C14BEF45B003BA3DA /* jcmainct.c */; };
+ 5D8E36BB14BEF45B003BA3DA /* jcmarker.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368D14BEF45B003BA3DA /* jcmarker.c */; };
+ 5D8E36BC14BEF45B003BA3DA /* jcmaster.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368E14BEF45B003BA3DA /* jcmaster.c */; };
+ 5D8E36BD14BEF45B003BA3DA /* jcomapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E368F14BEF45B003BA3DA /* jcomapi.c */; };
+ 5D8E36BE14BEF45B003BA3DA /* jcparam.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369014BEF45B003BA3DA /* jcparam.c */; };
+ 5D8E36BF14BEF45B003BA3DA /* jcphuff.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369114BEF45B003BA3DA /* jcphuff.c */; };
+ 5D8E36C014BEF45B003BA3DA /* jcprepct.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369214BEF45B003BA3DA /* jcprepct.c */; };
+ 5D8E36C114BEF45B003BA3DA /* jcsample.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369314BEF45B003BA3DA /* jcsample.c */; };
+ 5D8E36C214BEF45B003BA3DA /* jctrans.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369414BEF45B003BA3DA /* jctrans.c */; };
+ 5D8E36C314BEF45B003BA3DA /* jdapimin.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369514BEF45B003BA3DA /* jdapimin.c */; };
+ 5D8E36C414BEF45B003BA3DA /* jdapistd.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369614BEF45B003BA3DA /* jdapistd.c */; };
+ 5D8E36C514BEF45B003BA3DA /* jdatadst.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369714BEF45B003BA3DA /* jdatadst.c */; };
+ 5D8E36C614BEF45B003BA3DA /* jdatasrc.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369814BEF45B003BA3DA /* jdatasrc.c */; };
+ 5D8E36C714BEF45B003BA3DA /* jdcoefct.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369914BEF45B003BA3DA /* jdcoefct.c */; };
+ 5D8E36C814BEF45B003BA3DA /* jdcolor.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369A14BEF45B003BA3DA /* jdcolor.c */; };
+ 5D8E36C914BEF45B003BA3DA /* jddctmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369B14BEF45B003BA3DA /* jddctmgr.c */; };
+ 5D8E36CA14BEF45B003BA3DA /* jdhuff.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369C14BEF45B003BA3DA /* jdhuff.c */; };
+ 5D8E36CB14BEF45B003BA3DA /* jdinput.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369D14BEF45B003BA3DA /* jdinput.c */; };
+ 5D8E36CC14BEF45B003BA3DA /* jdmainct.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369E14BEF45B003BA3DA /* jdmainct.c */; };
+ 5D8E36CD14BEF45B003BA3DA /* jdmarker.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E369F14BEF45B003BA3DA /* jdmarker.c */; };
+ 5D8E36CE14BEF45B003BA3DA /* jdmaster.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A014BEF45B003BA3DA /* jdmaster.c */; };
+ 5D8E36CF14BEF45B003BA3DA /* jdmerge.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A114BEF45B003BA3DA /* jdmerge.c */; };
+ 5D8E36D014BEF45B003BA3DA /* jdphuff.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A214BEF45B003BA3DA /* jdphuff.c */; };
+ 5D8E36D114BEF45B003BA3DA /* jdpostct.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A314BEF45B003BA3DA /* jdpostct.c */; };
+ 5D8E36D214BEF45B003BA3DA /* jdsample.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A414BEF45B003BA3DA /* jdsample.c */; };
+ 5D8E36D314BEF45B003BA3DA /* jdtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A514BEF45B003BA3DA /* jdtrans.c */; };
+ 5D8E36D414BEF45B003BA3DA /* jerror.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A614BEF45B003BA3DA /* jerror.c */; };
+ 5D8E36D514BEF45B003BA3DA /* jfdctflt.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A714BEF45B003BA3DA /* jfdctflt.c */; };
+ 5D8E36D614BEF45B003BA3DA /* jfdctfst.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A814BEF45B003BA3DA /* jfdctfst.c */; };
+ 5D8E36D714BEF45B003BA3DA /* jfdctint.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36A914BEF45B003BA3DA /* jfdctint.c */; };
+ 5D8E36D814BEF45B003BA3DA /* jidctflt.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36AA14BEF45B003BA3DA /* jidctflt.c */; };
+ 5D8E36D914BEF45B003BA3DA /* jidctfst.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36AB14BEF45B003BA3DA /* jidctfst.c */; };
+ 5D8E36DA14BEF45B003BA3DA /* jidctint.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36AC14BEF45B003BA3DA /* jidctint.c */; };
+ 5D8E36DB14BEF45B003BA3DA /* jidctred.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36AD14BEF45B003BA3DA /* jidctred.c */; };
+ 5D8E36DC14BEF45B003BA3DA /* jmemmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36AE14BEF45B003BA3DA /* jmemmgr.c */; };
+ 5D8E36DD14BEF45B003BA3DA /* jmemnobs.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36AF14BEF45B003BA3DA /* jmemnobs.c */; };
+ 5D8E36DE14BEF45B003BA3DA /* jquant1.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36B014BEF45B003BA3DA /* jquant1.c */; };
+ 5D8E36DF14BEF45B003BA3DA /* jquant2.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36B114BEF45B003BA3DA /* jquant2.c */; };
+ 5D8E36E014BEF45B003BA3DA /* jutils.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36B214BEF45B003BA3DA /* jutils.c */; };
+ 5D8E37B114BF0C85003BA3DA /* RenderScissorComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E37B014BF0C85003BA3DA /* RenderScissorComponent.cpp */; };
+ 5DDE02A512B4F526000C5CC0 /* App.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5DDE02A412B4F526000C5CC0 /* App.cpp */; };
+ 5DDE05AA12B58EBD000C5CC0 /* interface in Resources */ = {isa = PBXBuildFile; fileRef = 5DDE05A912B58EBD000C5CC0 /* interface */; };
+ 5DFB863312BB233D00337543 /* app.icns in Resources */ = {isa = PBXBuildFile; fileRef = 5DFB863212BB233D00337543 /* app.icns */; };
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+ AF9DBBC6113C611C00D05754 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF9DBBC5113C611C00D05754 /* QuartzCore.framework */; };
+ AFBD7716113895850015E685 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = AFBD7714113895850015E685 /* MainMenu.xib */; };
+ AFD4D88A113C504F00C2DE76 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AFD4D889113C504F00C2DE76 /* OpenGL.framework */; };
+ /* libpng build files */
+ BD000001000000000000000002 /* png.c in Sources */ = {isa = PBXBuildFile; fileRef = BD000001000000000000000001 /* png.c */; };
+ BD000001000000000000000102 /* pngerror.c in Sources */ = {isa = PBXBuildFile; fileRef = BD000001000000000000000101 /* pngerror.c */; };
+ BD000001000000000000000202 /* pngget.c in Sources */ = {isa = PBXBuildFile; fileRef = BD000001000000000000000201 /* pngget.c */; };
+ BD000001000000000000000302 /* pngmem.c in Sources */ = {isa = PBXBuildFile; fileRef = BD000001000000000000000301 /* pngmem.c */; };
+ BD000001000000000000000402 /* pngpread.c in Sources */ = {isa = PBXBuildFile; fileRef = BD000001000000000000000401 /* pngpread.c */; };
+ BD000001000000000000000502 /* pngread.c in Sources */ = {isa = PBXBuildFile; fileRef = BD000001000000000000000501 /* pngread.c */; };
+ BD000001000000000000000602 /* pngrio.c in Sources */ = {isa = PBXBuildFile; fileRef = BD000001000000000000000601 /* pngrio.c */; };
+ BD000001000000000000000702 /* pngrtran.c in Sources */ = {isa = PBXBuildFile; fileRef = BD000001000000000000000701 /* pngrtran.c */; };
+ BD000001000000000000000802 /* pngrutil.c in Sources */ = {isa = PBXBuildFile; fileRef = BD000001000000000000000801 /* pngrutil.c */; };
+ BD000001000000000000000902 /* pngset.c in Sources */ = {isa = PBXBuildFile; fileRef = BD000001000000000000000901 /* pngset.c */; };
+ BD000001000000000000000A02 /* pngtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = BD000001000000000000000A01 /* pngtrans.c */; };
+ BD000001000000000000000B02 /* pngwio.c in Sources */ = {isa = PBXBuildFile; fileRef = BD000001000000000000000B01 /* pngwio.c */; };
+ BD000001000000000000000C02 /* pngwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = BD000001000000000000000C01 /* pngwrite.c */; };
+ BD000001000000000000000D02 /* pngwtran.c in Sources */ = {isa = PBXBuildFile; fileRef = BD000001000000000000000D01 /* pngwtran.c */; };
+ BD000001000000000000000E02 /* pngwutil.c in Sources */ = {isa = PBXBuildFile; fileRef = BD000001000000000000000E01 /* pngwutil.c */; };
+ BDARM000000000000000000002 /* arm_init.c in Sources */ = {isa = PBXBuildFile; fileRef = BDARM000000000000000000001 /* arm_init.c */; };
+ BDARM000000000000000000102 /* filter_neon_intrinsics.c in Sources */ = {isa = PBXBuildFile; fileRef = BDARM000000000000000000101 /* filter_neon_intrinsics.c */; };
+ BDARM000000000000000000202 /* palette_neon_intrinsics.c in Sources */ = {isa = PBXBuildFile; fileRef = BDARM000000000000000000201 /* palette_neon_intrinsics.c */; };
+ LLEC0000000000000000000006 /* LogDisplayComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LLEC0000000000000000000016 /* LogDisplayComponent.cpp */; };
+ LLEC0000000000000000000007 /* TouchDragComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LLEC0000000000000000000017 /* TouchDragComponent.cpp */; };
+ /* Missing Entity component build files */
+ LLEC0000000000000000000001 /* ArcadeInputComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LLEC0000000000000000000011 /* ArcadeInputComponent.cpp */; };
+ LLEC0000000000000000000002 /* DPadComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LLEC0000000000000000000012 /* DPadComponent.cpp */; };
+ LLEC0000000000000000000003 /* EmitVirtualKeyComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LLEC0000000000000000000013 /* EmitVirtualKeyComponent.cpp */; };
+ LLEC0000000000000000000004 /* EmitVirtualKeyComponentAdvanced.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LLEC0000000000000000000014 /* EmitVirtualKeyComponentAdvanced.cpp */; };
+ LLEC0000000000000000000005 /* TouchHandlerArcadeComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = LLEC0000000000000000000015 /* TouchHandlerArcadeComponent.cpp */; };
+ /* Gamepad build files */
+ GPLL0000000000000000000001 /* GamepadManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = GPLL0000000000000000000011 /* GamepadManager.cpp */; };
+ GPLL0000000000000000000002 /* GamepadProviderSDL2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = GPLL0000000000000000000012 /* GamepadProviderSDL2.cpp */; };
+ GPLL0000000000000000000003 /* GamepadSDL2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = GPLL0000000000000000000013 /* GamepadSDL2.cpp */; };
+ GPLL0000000000000000000004 /* GamepadProvider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = GPLL0000000000000000000014 /* GamepadProvider.cpp */; };
+ GPLL0000000000000000000005 /* Gamepad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = GPLL0000000000000000000015 /* Gamepad.cpp */; };
+ /* SDL2 embed build files */
+ SDLLL00000000000000000001 /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = SDLLL00000000000000000011 /* SDL2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+ SDLLL00000000000000000002 /* SDL2_mixer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = SDLLL00000000000000000012 /* SDL2_mixer.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+/* End PBXBuildFile section */
+
+
+/* Begin PBXFileReference section */
+ 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; };
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; };
+ 256AC3F00F4B6AF500CF3369 /* RTLooneyLadders_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTLooneyLadders_Prefix.pch; sourceTree = ""; };
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; };
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; };
+ 5D361D492AB83C0E006C5169 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
+ 5D70B61A12B5FED300A1AB17 /* PlatformSetupOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PlatformSetupOSX.h; path = ../../shared/OSX/PlatformSetupOSX.h; sourceTree = SOURCE_ROOT; };
+ 5D70B61B12B5FED300A1AB17 /* OSXUtils.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = OSXUtils.mm; path = ../../shared/OSX/OSXUtils.mm; sourceTree = SOURCE_ROOT; };
+ 5D70B61C12B5FED300A1AB17 /* OSXUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OSXUtils.h; path = ../../shared/OSX/OSXUtils.h; sourceTree = SOURCE_ROOT; };
+ 5D70B61E12B5FED300A1AB17 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ../../shared/OSX/app/main.m; sourceTree = SOURCE_ROOT; };
+ 5D70B61F12B5FED300A1AB17 /* MainController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ../../shared/OSX/app/MainController.h; sourceTree = SOURCE_ROOT; };
+ 5D70B62012B5FED300A1AB17 /* MainController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ../../shared/OSX/app/MainController.mm; sourceTree = SOURCE_ROOT; };
+ 5D70B62112B5FED300A1AB17 /* MyApplication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ../../shared/OSX/app/MyApplication.h; sourceTree = SOURCE_ROOT; };
+ 5D70B62312B5FED300A1AB17 /* MyOpenGLView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ../../shared/OSX/app/MyOpenGLView.h; sourceTree = SOURCE_ROOT; };
+ 5D70B62412B5FED300A1AB17 /* MyOpenGLView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ../../shared/OSX/app/MyOpenGLView.mm; sourceTree = SOURCE_ROOT; };
+ 5D70B6B212B606DB00A1AB17 /* StreamingInstanceZip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StreamingInstanceZip.h; path = ../../shared/FileSystem/StreamingInstanceZip.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6B312B606DB00A1AB17 /* StreamingInstanceZip.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StreamingInstanceZip.cpp; path = ../../shared/FileSystem/StreamingInstanceZip.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6B412B606DB00A1AB17 /* StreamingInstanceFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StreamingInstanceFile.h; path = ../../shared/FileSystem/StreamingInstanceFile.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6B512B606DB00A1AB17 /* StreamingInstanceFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StreamingInstanceFile.cpp; path = ../../shared/FileSystem/StreamingInstanceFile.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6B612B606DB00A1AB17 /* StreamingInstance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StreamingInstance.h; path = ../../shared/FileSystem/StreamingInstance.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6B712B606DB00A1AB17 /* StreamingInstance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StreamingInstance.cpp; path = ../../shared/FileSystem/StreamingInstance.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6B812B606DC00A1AB17 /* FileSystemZip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FileSystemZip.h; path = ../../shared/FileSystem/FileSystemZip.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6B912B606DC00A1AB17 /* FileSystemZip.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FileSystemZip.cpp; path = ../../shared/FileSystem/FileSystemZip.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6BA12B606DC00A1AB17 /* FileSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FileSystem.h; path = ../../shared/FileSystem/FileSystem.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6BB12B606DC00A1AB17 /* FileSystem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FileSystem.cpp; path = ../../shared/FileSystem/FileSystem.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6BC12B606DC00A1AB17 /* FileManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FileManager.h; path = ../../shared/FileSystem/FileManager.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6BD12B606DC00A1AB17 /* FileManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FileManager.cpp; path = ../../shared/FileSystem/FileManager.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6BF12B606DC00A1AB17 /* ResourceManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ResourceManager.cpp; path = ../../shared/Manager/ResourceManager.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6C012B606DC00A1AB17 /* ResourceManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResourceManager.h; path = ../../shared/Manager/ResourceManager.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6C112B606DC00A1AB17 /* VariantDB.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VariantDB.cpp; path = ../../shared/Manager/VariantDB.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6C212B606DC00A1AB17 /* VariantDB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VariantDB.h; path = ../../shared/Manager/VariantDB.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6C312B606DC00A1AB17 /* Console.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Console.cpp; path = ../../shared/Manager/Console.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6C412B606DC00A1AB17 /* Console.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Console.h; path = ../../shared/Manager/Console.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6C512B606DC00A1AB17 /* GameTimer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GameTimer.cpp; path = ../../shared/Manager/GameTimer.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6C612B606DC00A1AB17 /* GameTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GameTimer.h; path = ../../shared/Manager/GameTimer.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6C712B606DC00A1AB17 /* MessageManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MessageManager.cpp; path = ../../shared/Manager/MessageManager.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6C812B606DC00A1AB17 /* MessageManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MessageManager.h; path = ../../shared/Manager/MessageManager.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6CA12B606DC00A1AB17 /* NetHTTP.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetHTTP.cpp; path = ../../shared/Network/NetHTTP.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6CB12B606DC00A1AB17 /* NetHTTP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetHTTP.h; path = ../../shared/Network/NetHTTP.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6CC12B606DC00A1AB17 /* NetSocket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetSocket.cpp; path = ../../shared/Network/NetSocket.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6CD12B606DC00A1AB17 /* NetSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetSocket.h; path = ../../shared/Network/NetSocket.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6CE12B606DC00A1AB17 /* NetUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetUtils.cpp; path = ../../shared/Network/NetUtils.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6CF12B606DC00A1AB17 /* NetUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetUtils.h; path = ../../shared/Network/NetUtils.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6D312B606DC00A1AB17 /* AudioManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AudioManager.cpp; path = ../../shared/Audio/AudioManager.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6D412B606DC00A1AB17 /* AudioManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AudioManager.h; path = ../../shared/Audio/AudioManager.h; sourceTree = SOURCE_ROOT; };
+AA000003000000000000AA01 /* AudioManagerSDL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AudioManagerSDL.cpp; path = ../../shared/Audio/AudioManagerSDL.cpp; sourceTree = ""; };
+AA000003000000000000AA02 /* AudioManagerSDL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AudioManagerSDL.h; path = ../../shared/Audio/AudioManagerSDL.h; sourceTree = ""; };
+ 5D70B6D812B606DC00A1AB17 /* vec4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = vec4.cpp; path = "../../shared/ClanLib-2.0/Sources/Core/Math/vec4.cpp"; sourceTree = SOURCE_ROOT; };
+ 5D70B6D912B606DC00A1AB17 /* vec1.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = vec1.cpp; path = "../../shared/ClanLib-2.0/Sources/Core/Math/vec1.cpp"; sourceTree = SOURCE_ROOT; };
+ 5D70B6DA12B606DC00A1AB17 /* mat4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mat4.cpp; path = "../../shared/ClanLib-2.0/Sources/Core/Math/mat4.cpp"; sourceTree = SOURCE_ROOT; };
+ 5D70B6DB12B606DC00A1AB17 /* mat3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mat3.cpp; path = "../../shared/ClanLib-2.0/Sources/Core/Math/mat3.cpp"; sourceTree = SOURCE_ROOT; };
+ 5D70B6DC12B606DC00A1AB17 /* angle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = angle.cpp; path = "../../shared/ClanLib-2.0/Sources/Core/Math/angle.cpp"; sourceTree = SOURCE_ROOT; };
+ 5D70B6DD12B606DC00A1AB17 /* vec2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = vec2.cpp; path = "../../shared/ClanLib-2.0/Sources/Core/Math/vec2.cpp"; sourceTree = SOURCE_ROOT; };
+ 5D70B6DE12B606DC00A1AB17 /* vec3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = vec3.cpp; path = "../../shared/ClanLib-2.0/Sources/Core/Math/vec3.cpp"; sourceTree = SOURCE_ROOT; };
+ 5D70B6E112B606DC00A1AB17 /* SliderComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SliderComponent.h; path = ../../shared/Entity/SliderComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6E212B606DC00A1AB17 /* SliderComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SliderComponent.cpp; path = ../../shared/Entity/SliderComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6E312B606DC00A1AB17 /* SelectButtonWithCustomInputComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SelectButtonWithCustomInputComponent.h; path = ../../shared/Entity/SelectButtonWithCustomInputComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6E412B606DC00A1AB17 /* SelectButtonWithCustomInputComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SelectButtonWithCustomInputComponent.cpp; path = ../../shared/Entity/SelectButtonWithCustomInputComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6E512B606DC00A1AB17 /* CustomInputComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomInputComponent.h; path = ../../shared/Entity/CustomInputComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6E612B606DC00A1AB17 /* CustomInputComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CustomInputComponent.cpp; path = ../../shared/Entity/CustomInputComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6E712B606DC00A1AB17 /* FilterInputComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FilterInputComponent.cpp; path = ../../shared/Entity/FilterInputComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6E812B606DC00A1AB17 /* FilterInputComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FilterInputComponent.h; path = ../../shared/Entity/FilterInputComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6E912B606DC00A1AB17 /* RenderClipComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenderClipComponent.cpp; path = ../../shared/Entity/RenderClipComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6EA12B606DC00A1AB17 /* RenderClipComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenderClipComponent.h; path = ../../shared/Entity/RenderClipComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6EB12B606DC00A1AB17 /* TouchStripComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TouchStripComponent.cpp; path = ../../shared/Entity/TouchStripComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6EC12B606DC00A1AB17 /* TouchStripComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TouchStripComponent.h; path = ../../shared/Entity/TouchStripComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6ED12B606DC00A1AB17 /* TrailRenderComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TrailRenderComponent.cpp; path = ../../shared/Entity/TrailRenderComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6EE12B606DC00A1AB17 /* TrailRenderComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TrailRenderComponent.h; path = ../../shared/Entity/TrailRenderComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6EF12B606DC00A1AB17 /* InputTextRenderComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InputTextRenderComponent.cpp; path = ../../shared/Entity/InputTextRenderComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6F012B606DC00A1AB17 /* InputTextRenderComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InputTextRenderComponent.h; path = ../../shared/Entity/InputTextRenderComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6F112B606DC00A1AB17 /* RectRenderComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RectRenderComponent.cpp; path = ../../shared/Entity/RectRenderComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6F212B606DC00A1AB17 /* RectRenderComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RectRenderComponent.h; path = ../../shared/Entity/RectRenderComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6F312B606DC00A1AB17 /* ScrollBarRenderComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScrollBarRenderComponent.cpp; path = ../../shared/Entity/ScrollBarRenderComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6F412B606DC00A1AB17 /* ScrollBarRenderComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScrollBarRenderComponent.h; path = ../../shared/Entity/ScrollBarRenderComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6F512B606DC00A1AB17 /* ScrollComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScrollComponent.cpp; path = ../../shared/Entity/ScrollComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6F612B606DC00A1AB17 /* ScrollComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScrollComponent.h; path = ../../shared/Entity/ScrollComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6F712B606DC00A1AB17 /* TextBoxRenderComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TextBoxRenderComponent.cpp; path = ../../shared/Entity/TextBoxRenderComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6F812B606DC00A1AB17 /* TextBoxRenderComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextBoxRenderComponent.h; path = ../../shared/Entity/TextBoxRenderComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6F912B606DC00A1AB17 /* HTTPComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HTTPComponent.cpp; path = ../../shared/Entity/HTTPComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6FA12B606DC00A1AB17 /* HTTPComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTTPComponent.h; path = ../../shared/Entity/HTTPComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6FB12B606DC00A1AB17 /* TyperComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TyperComponent.cpp; path = ../../shared/Entity/TyperComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6FC12B606DC00A1AB17 /* TyperComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TyperComponent.h; path = ../../shared/Entity/TyperComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6FD12B606DC00A1AB17 /* ProgressBarComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ProgressBarComponent.cpp; path = ../../shared/Entity/ProgressBarComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B6FE12B606DC00A1AB17 /* ProgressBarComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProgressBarComponent.h; path = ../../shared/Entity/ProgressBarComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B6FF12B606DC00A1AB17 /* TapSequenceDetectComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TapSequenceDetectComponent.cpp; path = ../../shared/Entity/TapSequenceDetectComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B70012B606DC00A1AB17 /* TapSequenceDetectComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TapSequenceDetectComponent.h; path = ../../shared/Entity/TapSequenceDetectComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B70112B606DC00A1AB17 /* UnderlineRenderComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UnderlineRenderComponent.cpp; path = ../../shared/Entity/UnderlineRenderComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B70212B606DC00A1AB17 /* UnderlineRenderComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UnderlineRenderComponent.h; path = ../../shared/Entity/UnderlineRenderComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B70312B606DC00A1AB17 /* FocusInputComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FocusInputComponent.cpp; path = ../../shared/Entity/FocusInputComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B70412B606DC00A1AB17 /* FocusInputComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FocusInputComponent.h; path = ../../shared/Entity/FocusInputComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B70512B606DC00A1AB17 /* FocusRenderComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FocusRenderComponent.cpp; path = ../../shared/Entity/FocusRenderComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B70612B606DC00A1AB17 /* FocusRenderComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FocusRenderComponent.h; path = ../../shared/Entity/FocusRenderComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B70712B606DC00A1AB17 /* FocusUpdateComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FocusUpdateComponent.cpp; path = ../../shared/Entity/FocusUpdateComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B70812B606DC00A1AB17 /* FocusUpdateComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FocusUpdateComponent.h; path = ../../shared/Entity/FocusUpdateComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B70912B606DC00A1AB17 /* InterpolateComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InterpolateComponent.cpp; path = ../../shared/Entity/InterpolateComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B70A12B606DC00A1AB17 /* InterpolateComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InterpolateComponent.h; path = ../../shared/Entity/InterpolateComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B70B12B606DC00A1AB17 /* TextRenderComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TextRenderComponent.cpp; path = ../../shared/Entity/TextRenderComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B70C12B606DC00A1AB17 /* TextRenderComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextRenderComponent.h; path = ../../shared/Entity/TextRenderComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B70D12B606DC00A1AB17 /* Button2DComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Button2DComponent.cpp; path = ../../shared/Entity/Button2DComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B70E12B606DC00A1AB17 /* Button2DComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Button2DComponent.h; path = ../../shared/Entity/Button2DComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B70F12B606DC00A1AB17 /* TouchHandlerComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TouchHandlerComponent.cpp; path = ../../shared/Entity/TouchHandlerComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B71012B606DC00A1AB17 /* TouchHandlerComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TouchHandlerComponent.h; path = ../../shared/Entity/TouchHandlerComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B71112B606DC00A1AB17 /* OverlayRenderComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OverlayRenderComponent.cpp; path = ../../shared/Entity/OverlayRenderComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B71212B606DC00A1AB17 /* OverlayRenderComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OverlayRenderComponent.h; path = ../../shared/Entity/OverlayRenderComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D70B74C12B606DC00A1AB17 /* EntityUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EntityUtils.cpp; path = ../../shared/Entity/EntityUtils.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B74D12B606DC00A1AB17 /* EntityUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EntityUtils.h; path = ../../shared/Entity/EntityUtils.h; sourceTree = SOURCE_ROOT; };
+ 5D70B74E12B606DC00A1AB17 /* Component.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Component.cpp; path = ../../shared/Entity/Component.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B74F12B606DC00A1AB17 /* Component.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Component.h; path = ../../shared/Entity/Component.h; sourceTree = SOURCE_ROOT; };
+ 5D70B75012B606DC00A1AB17 /* Entity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Entity.cpp; path = ../../shared/Entity/Entity.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B75112B606DC00A1AB17 /* Entity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Entity.h; path = ../../shared/Entity/Entity.h; sourceTree = SOURCE_ROOT; };
+ 5D70B75312B606DC00A1AB17 /* RTFont.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RTFont.cpp; path = ../../shared/GUI/RTFont.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B75412B606DC00A1AB17 /* RTFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RTFont.h; path = ../../shared/GUI/RTFont.h; sourceTree = SOURCE_ROOT; };
+ 5D70B75612B606DC00A1AB17 /* rtRect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = rtRect.cpp; path = ../../shared/Math/rtRect.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B75712B606DC00A1AB17 /* rtRect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = rtRect.h; path = ../../shared/Math/rtRect.h; sourceTree = SOURCE_ROOT; };
+ 5D70B75912B606DC00A1AB17 /* SoftSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SoftSurface.cpp; path = ../../shared/Renderer/SoftSurface.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B75A12B606DC00A1AB17 /* SoftSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SoftSurface.h; path = ../../shared/Renderer/SoftSurface.h; sourceTree = SOURCE_ROOT; };
+ 5D70B75B12B606DC00A1AB17 /* RenderBatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenderBatcher.cpp; path = ../../shared/Renderer/RenderBatcher.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B75C12B606DC00A1AB17 /* RenderBatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenderBatcher.h; path = ../../shared/Renderer/RenderBatcher.h; sourceTree = SOURCE_ROOT; };
+ 5D70B75E12B606DC00A1AB17 /* L_Defination.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = L_Defination.cpp; path = ../../shared/Renderer/linearparticle/sources/L_Defination.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B75F12B606DC00A1AB17 /* L_Defination.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = L_Defination.h; path = ../../shared/Renderer/linearparticle/sources/L_Defination.h; sourceTree = SOURCE_ROOT; };
+ 5D70B76012B606DC00A1AB17 /* L_DroppingEffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = L_DroppingEffect.cpp; path = ../../shared/Renderer/linearparticle/sources/L_DroppingEffect.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B76112B606DC00A1AB17 /* L_DroppingEffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = L_DroppingEffect.h; path = ../../shared/Renderer/linearparticle/sources/L_DroppingEffect.h; sourceTree = SOURCE_ROOT; };
+ 5D70B76212B606DC00A1AB17 /* L_EffectEmitter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = L_EffectEmitter.cpp; path = ../../shared/Renderer/linearparticle/sources/L_EffectEmitter.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B76312B606DC00A1AB17 /* L_EffectEmitter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = L_EffectEmitter.h; path = ../../shared/Renderer/linearparticle/sources/L_EffectEmitter.h; sourceTree = SOURCE_ROOT; };
+ 5D70B76412B606DC00A1AB17 /* L_EffectManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = L_EffectManager.cpp; path = ../../shared/Renderer/linearparticle/sources/L_EffectManager.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B76512B606DC00A1AB17 /* L_EffectManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = L_EffectManager.h; path = ../../shared/Renderer/linearparticle/sources/L_EffectManager.h; sourceTree = SOURCE_ROOT; };
+ 5D70B76612B606DC00A1AB17 /* L_ExplosionEffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = L_ExplosionEffect.cpp; path = ../../shared/Renderer/linearparticle/sources/L_ExplosionEffect.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B76712B606DC00A1AB17 /* L_ExplosionEffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = L_ExplosionEffect.h; path = ../../shared/Renderer/linearparticle/sources/L_ExplosionEffect.h; sourceTree = SOURCE_ROOT; };
+ 5D70B76812B606DC00A1AB17 /* L_MotionController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = L_MotionController.cpp; path = ../../shared/Renderer/linearparticle/sources/L_MotionController.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B76912B606DC00A1AB17 /* L_MotionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = L_MotionController.h; path = ../../shared/Renderer/linearparticle/sources/L_MotionController.h; sourceTree = SOURCE_ROOT; };
+ 5D70B76A12B606DC00A1AB17 /* L_Particle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = L_Particle.cpp; path = ../../shared/Renderer/linearparticle/sources/L_Particle.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B76B12B606DC00A1AB17 /* L_Particle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = L_Particle.h; path = ../../shared/Renderer/linearparticle/sources/L_Particle.h; sourceTree = SOURCE_ROOT; };
+ 5D70B76C12B606DC00A1AB17 /* L_ParticleEffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = L_ParticleEffect.cpp; path = ../../shared/Renderer/linearparticle/sources/L_ParticleEffect.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B76D12B606DC00A1AB17 /* L_ParticleEffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = L_ParticleEffect.h; path = ../../shared/Renderer/linearparticle/sources/L_ParticleEffect.h; sourceTree = SOURCE_ROOT; };
+ 5D70B76E12B606DC00A1AB17 /* L_ParticleMem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = L_ParticleMem.cpp; path = ../../shared/Renderer/linearparticle/sources/L_ParticleMem.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B76F12B606DC00A1AB17 /* L_ParticleMem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = L_ParticleMem.h; path = ../../shared/Renderer/linearparticle/sources/L_ParticleMem.h; sourceTree = SOURCE_ROOT; };
+ 5D70B77012B606DC00A1AB17 /* L_ParticleSystem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = L_ParticleSystem.cpp; path = ../../shared/Renderer/linearparticle/sources/L_ParticleSystem.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B77112B606DC00A1AB17 /* L_ParticleSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = L_ParticleSystem.h; path = ../../shared/Renderer/linearparticle/sources/L_ParticleSystem.h; sourceTree = SOURCE_ROOT; };
+ 5D70B77212B606DC00A1AB17 /* L_ShootingEffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = L_ShootingEffect.cpp; path = ../../shared/Renderer/linearparticle/sources/L_ShootingEffect.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B77312B606DC00A1AB17 /* L_ShootingEffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = L_ShootingEffect.h; path = ../../shared/Renderer/linearparticle/sources/L_ShootingEffect.h; sourceTree = SOURCE_ROOT; };
+ 5D70B77412B606DC00A1AB17 /* LinearParticle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LinearParticle.h; path = ../../shared/Renderer/LinearParticle.h; sourceTree = SOURCE_ROOT; };
+ 5D70B77512B606DC00A1AB17 /* SurfaceAnim.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SurfaceAnim.cpp; path = ../../shared/Renderer/SurfaceAnim.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B77612B606DC00A1AB17 /* SurfaceAnim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SurfaceAnim.h; path = ../../shared/Renderer/SurfaceAnim.h; sourceTree = SOURCE_ROOT; };
+ 5D70B77712B606DC00A1AB17 /* bitmap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bitmap.h; path = ../../shared/Renderer/bitmap.h; sourceTree = SOURCE_ROOT; };
+ 5D70B77812B606DC00A1AB17 /* Surface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Surface.cpp; path = ../../shared/Renderer/Surface.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B77912B606DC00A1AB17 /* Surface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Surface.h; path = ../../shared/Renderer/Surface.h; sourceTree = SOURCE_ROOT; };
+ 5D70B77C12B606DC00A1AB17 /* unzip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = unzip.h; path = ../../shared/util/unzip/unzip.h; sourceTree = SOURCE_ROOT; };
+ 5D70B77D12B606DC00A1AB17 /* unzip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = unzip.c; path = ../../shared/util/unzip/unzip.c; sourceTree = SOURCE_ROOT; };
+ 5D70B77E12B606DC00A1AB17 /* ioapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ioapi.h; path = ../../shared/util/unzip/ioapi.h; sourceTree = SOURCE_ROOT; };
+ 5D70B77F12B606DC00A1AB17 /* ioapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ioapi.c; path = ../../shared/util/unzip/ioapi.c; sourceTree = SOURCE_ROOT; };
+ 5D70B78012B606DC00A1AB17 /* crypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = crypt.h; path = ../../shared/util/unzip/crypt.h; sourceTree = SOURCE_ROOT; };
+ 5D70B78112B606DC00A1AB17 /* CRandom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CRandom.cpp; path = ../../shared/util/CRandom.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B78212B606DC00A1AB17 /* CRandom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CRandom.h; path = ../../shared/util/CRandom.h; sourceTree = SOURCE_ROOT; };
+ 5D70B78312B606DC00A1AB17 /* PrimeSearch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PrimeSearch.cpp; path = ../../shared/util/PrimeSearch.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B78412B606DC00A1AB17 /* PrimeSearch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PrimeSearch.h; path = ../../shared/util/PrimeSearch.h; sourceTree = SOURCE_ROOT; };
+ 5D70B78512B606DC00A1AB17 /* TextScanner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TextScanner.cpp; path = ../../shared/util/TextScanner.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B78612B606DC00A1AB17 /* TextScanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextScanner.h; path = ../../shared/util/TextScanner.h; sourceTree = SOURCE_ROOT; };
+ 5D70B78712B606DC00A1AB17 /* MathUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MathUtils.cpp; path = ../../shared/util/MathUtils.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B78812B606DC00A1AB17 /* MathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MathUtils.h; path = ../../shared/util/MathUtils.h; sourceTree = SOURCE_ROOT; };
+ 5D70B78912B606DC00A1AB17 /* Variant.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Variant.cpp; path = ../../shared/util/Variant.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B78A12B606DC00A1AB17 /* Variant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Variant.h; path = ../../shared/util/Variant.h; sourceTree = SOURCE_ROOT; };
+ 5D70B79212B606DC00A1AB17 /* GLESUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GLESUtils.cpp; path = ../../shared/util/GLESUtils.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B79312B606DC00A1AB17 /* GLESUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GLESUtils.h; path = ../../shared/util/GLESUtils.h; sourceTree = SOURCE_ROOT; };
+ 5D70B79412B606DC00A1AB17 /* ResourceUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ResourceUtils.cpp; path = ../../shared/util/ResourceUtils.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B79512B606DC00A1AB17 /* ResourceUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResourceUtils.h; path = ../../shared/util/ResourceUtils.h; sourceTree = SOURCE_ROOT; };
+ 5D70B79612B606DC00A1AB17 /* RTFileFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RTFileFormat.h; path = ../../shared/util/RTFileFormat.h; sourceTree = SOURCE_ROOT; };
+ 5D70B79712B606DC00A1AB17 /* MiscUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MiscUtils.cpp; path = ../../shared/util/MiscUtils.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B79812B606DC00A1AB17 /* MiscUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MiscUtils.h; path = ../../shared/util/MiscUtils.h; sourceTree = SOURCE_ROOT; };
+ 5D70B79912B606DC00A1AB17 /* RenderUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenderUtils.cpp; path = ../../shared/util/RenderUtils.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B79A12B606DC00A1AB17 /* RenderUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenderUtils.h; path = ../../shared/util/RenderUtils.h; sourceTree = SOURCE_ROOT; };
+ 5D70B79B12B606DC00A1AB17 /* PlatformSetup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PlatformSetup.h; path = ../../shared/PlatformSetup.h; sourceTree = SOURCE_ROOT; };
+ 5D70B79C12B606DC00A1AB17 /* PlatformSetup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PlatformSetup.cpp; path = ../../shared/PlatformSetup.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B79D12B606DC00A1AB17 /* PlatformPrecomp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PlatformPrecomp.h; path = ../../shared/PlatformPrecomp.h; sourceTree = SOURCE_ROOT; };
+ 5D70B79E12B606DC00A1AB17 /* PlatformPrecomp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PlatformPrecomp.cpp; path = ../../shared/PlatformPrecomp.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B79F12B606DC00A1AB17 /* BaseApp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BaseApp.cpp; path = ../../shared/BaseApp.cpp; sourceTree = SOURCE_ROOT; };
+ 5D70B7A012B606DC00A1AB17 /* BaseApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BaseApp.h; path = ../../shared/BaseApp.h; sourceTree = SOURCE_ROOT; };
+ 5D70B83312B6074D00A1AB17 /* audio */ = {isa = PBXFileReference; lastKnownFileType = folder; name = audio; path = ../media/audio; sourceTree = SOURCE_ROOT; };
+ 5D70B83512B6075B00A1AB17 /* game */ = {isa = PBXFileReference; lastKnownFileType = folder; name = game; path = ../media/game; sourceTree = SOURCE_ROOT; };
+ 5D70C4BE12B7586D00A1AB17 /* MyApplication.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ../../shared/OSX/app/MyApplication.mm; sourceTree = SOURCE_ROOT; };
+ 5D8E367E14BEF412003BA3DA /* JPGSurfaceLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JPGSurfaceLoader.h; path = ../../shared/Renderer/JPGSurfaceLoader.h; sourceTree = SOURCE_ROOT; };
+ 5D8E367F14BEF412003BA3DA /* RTGLESExt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RTGLESExt.h; path = ../../shared/Renderer/RTGLESExt.h; sourceTree = SOURCE_ROOT; };
+ 5D8E368014BEF412003BA3DA /* JPGSurfaceLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JPGSurfaceLoader.cpp; path = ../../shared/Renderer/JPGSurfaceLoader.cpp; sourceTree = SOURCE_ROOT; };
+ 5D8E368114BEF412003BA3DA /* RTGLESExt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RTGLESExt.cpp; path = ../../shared/Renderer/RTGLESExt.cpp; sourceTree = SOURCE_ROOT; };
+ 5D8E368514BEF45B003BA3DA /* jcapimin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcapimin.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368614BEF45B003BA3DA /* jcapistd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcapistd.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368714BEF45B003BA3DA /* jccoefct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jccoefct.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368814BEF45B003BA3DA /* jccolor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jccolor.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368914BEF45B003BA3DA /* jcdctmgr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcdctmgr.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368A14BEF45B003BA3DA /* jchuff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jchuff.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368B14BEF45B003BA3DA /* jcinit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcinit.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368C14BEF45B003BA3DA /* jcmainct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcmainct.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368D14BEF45B003BA3DA /* jcmarker.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcmarker.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368E14BEF45B003BA3DA /* jcmaster.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcmaster.c; sourceTree = SOURCE_ROOT; };
+ 5D8E368F14BEF45B003BA3DA /* jcomapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcomapi.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369014BEF45B003BA3DA /* jcparam.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcparam.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369114BEF45B003BA3DA /* jcphuff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcphuff.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369214BEF45B003BA3DA /* jcprepct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcprepct.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369314BEF45B003BA3DA /* jcsample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jcsample.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369414BEF45B003BA3DA /* jctrans.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jctrans.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369514BEF45B003BA3DA /* jdapimin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdapimin.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369614BEF45B003BA3DA /* jdapistd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdapistd.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369714BEF45B003BA3DA /* jdatadst.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdatadst.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdatadst.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369814BEF45B003BA3DA /* jdatasrc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdatasrc.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369914BEF45B003BA3DA /* jdcoefct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdcoefct.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369A14BEF45B003BA3DA /* jdcolor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdcolor.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369B14BEF45B003BA3DA /* jddctmgr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jddctmgr.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369C14BEF45B003BA3DA /* jdhuff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdhuff.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369D14BEF45B003BA3DA /* jdinput.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdinput.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369E14BEF45B003BA3DA /* jdmainct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdmainct.c; sourceTree = SOURCE_ROOT; };
+ 5D8E369F14BEF45B003BA3DA /* jdmarker.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdmarker.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A014BEF45B003BA3DA /* jdmaster.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdmaster.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A114BEF45B003BA3DA /* jdmerge.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdmerge.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A214BEF45B003BA3DA /* jdphuff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdphuff.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A314BEF45B003BA3DA /* jdpostct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdpostct.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A414BEF45B003BA3DA /* jdsample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdsample.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A514BEF45B003BA3DA /* jdtrans.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jdtrans.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A614BEF45B003BA3DA /* jerror.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jerror.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A714BEF45B003BA3DA /* jfdctflt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jfdctflt.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A814BEF45B003BA3DA /* jfdctfst.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jfdctfst.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36A914BEF45B003BA3DA /* jfdctint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jfdctint.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36AA14BEF45B003BA3DA /* jidctflt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jidctflt.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36AB14BEF45B003BA3DA /* jidctfst.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jidctfst.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36AC14BEF45B003BA3DA /* jidctint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jidctint.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36AD14BEF45B003BA3DA /* jidctred.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jidctred.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36AE14BEF45B003BA3DA /* jmemmgr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jmemmgr.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36AF14BEF45B003BA3DA /* jmemnobs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jmemnobs.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36B014BEF45B003BA3DA /* jquant1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jquant1.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36B114BEF45B003BA3DA /* jquant2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jquant2.c; sourceTree = SOURCE_ROOT; };
+ 5D8E36B214BEF45B003BA3DA /* jutils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jutils.c; sourceTree = SOURCE_ROOT; };
+ 5D8E37AF14BF0C85003BA3DA /* RenderScissorComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenderScissorComponent.h; path = ../../shared/Entity/RenderScissorComponent.h; sourceTree = SOURCE_ROOT; };
+ 5D8E37B014BF0C85003BA3DA /* RenderScissorComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenderScissorComponent.cpp; path = ../../shared/Entity/RenderScissorComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 5DDE02A312B4F526000C5CC0 /* App.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = App.h; path = ../source/App.h; sourceTree = SOURCE_ROOT; };
+ 5DDE02A412B4F526000C5CC0 /* App.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = App.cpp; path = ../source/App.cpp; sourceTree = SOURCE_ROOT; };
+ 5DDE05A912B58EBD000C5CC0 /* interface */ = {isa = PBXFileReference; lastKnownFileType = folder; name = interface; path = ../media/interface; sourceTree = SOURCE_ROOT; };
+ 5DFB863212BB233D00337543 /* app.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = app.icns; sourceTree = ""; };
+ 8D1107310486CEB800E47090 /* RTLooneyLadders-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "RTLooneyLadders-Info.plist"; sourceTree = ""; };
+ 8D1107320486CEB800E47090 /* RTLooneyLadders.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RTLooneyLadders.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ AF9DBBC5113C611C00D05754 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+ AFBD7715113895850015E685 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = ""; };
+ AFD4D889113C504F00C2DE76 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
+ LLEC0000000000000000000016 /* LogDisplayComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LogDisplayComponent.cpp; path = ../../shared/Entity/LogDisplayComponent.cpp; sourceTree = SOURCE_ROOT; };
+ LLEC0000000000000000000026 /* LogDisplayComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LogDisplayComponent.h; path = ../../shared/Entity/LogDisplayComponent.h; sourceTree = SOURCE_ROOT; };
+ LLEC0000000000000000000017 /* TouchDragComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TouchDragComponent.cpp; path = ../../shared/Entity/TouchDragComponent.cpp; sourceTree = SOURCE_ROOT; };
+ LLEC0000000000000000000027 /* TouchDragComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TouchDragComponent.h; path = ../../shared/Entity/TouchDragComponent.h; sourceTree = SOURCE_ROOT; };
+ /* Missing Entity component file references */
+ LLEC0000000000000000000011 /* ArcadeInputComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ArcadeInputComponent.cpp; path = ../../shared/Entity/ArcadeInputComponent.cpp; sourceTree = SOURCE_ROOT; };
+ LLEC0000000000000000000021 /* ArcadeInputComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ArcadeInputComponent.h; path = ../../shared/Entity/ArcadeInputComponent.h; sourceTree = SOURCE_ROOT; };
+ LLEC0000000000000000000012 /* DPadComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DPadComponent.cpp; path = ../../shared/Entity/DPadComponent.cpp; sourceTree = SOURCE_ROOT; };
+ LLEC0000000000000000000022 /* DPadComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DPadComponent.h; path = ../../shared/Entity/DPadComponent.h; sourceTree = SOURCE_ROOT; };
+ LLEC0000000000000000000013 /* EmitVirtualKeyComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EmitVirtualKeyComponent.cpp; path = ../../shared/Entity/EmitVirtualKeyComponent.cpp; sourceTree = SOURCE_ROOT; };
+ LLEC0000000000000000000023 /* EmitVirtualKeyComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EmitVirtualKeyComponent.h; path = ../../shared/Entity/EmitVirtualKeyComponent.h; sourceTree = SOURCE_ROOT; };
+ LLEC0000000000000000000014 /* EmitVirtualKeyComponentAdvanced.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EmitVirtualKeyComponentAdvanced.cpp; path = ../../shared/Entity/EmitVirtualKeyComponentAdvanced.cpp; sourceTree = SOURCE_ROOT; };
+ LLEC0000000000000000000024 /* EmitVirtualKeyComponentAdvanced.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EmitVirtualKeyComponentAdvanced.h; path = ../../shared/Entity/EmitVirtualKeyComponentAdvanced.h; sourceTree = SOURCE_ROOT; };
+ LLEC0000000000000000000015 /* TouchHandlerArcadeComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TouchHandlerArcadeComponent.cpp; path = ../../shared/Entity/TouchHandlerArcadeComponent.cpp; sourceTree = SOURCE_ROOT; };
+ LLEC0000000000000000000025 /* TouchHandlerArcadeComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TouchHandlerArcadeComponent.h; path = ../../shared/Entity/TouchHandlerArcadeComponent.h; sourceTree = SOURCE_ROOT; };
+ /* Gamepad file references */
+ GPLL0000000000000000000011 /* GamepadManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GamepadManager.cpp; path = ../../shared/Gamepad/GamepadManager.cpp; sourceTree = SOURCE_ROOT; };
+ GPLL0000000000000000000021 /* GamepadManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GamepadManager.h; path = ../../shared/Gamepad/GamepadManager.h; sourceTree = SOURCE_ROOT; };
+ GPLL0000000000000000000012 /* GamepadProviderSDL2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GamepadProviderSDL2.cpp; path = ../../shared/Gamepad/GamepadProviderSDL2.cpp; sourceTree = SOURCE_ROOT; };
+ GPLL0000000000000000000022 /* GamepadProviderSDL2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GamepadProviderSDL2.h; path = ../../shared/Gamepad/GamepadProviderSDL2.h; sourceTree = SOURCE_ROOT; };
+ GPLL0000000000000000000013 /* GamepadSDL2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GamepadSDL2.cpp; path = ../../shared/Gamepad/GamepadSDL2.cpp; sourceTree = SOURCE_ROOT; };
+ GPLL0000000000000000000023 /* GamepadSDL2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GamepadSDL2.h; path = ../../shared/Gamepad/GamepadSDL2.h; sourceTree = SOURCE_ROOT; };
+ GPLL0000000000000000000014 /* GamepadProvider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GamepadProvider.cpp; path = ../../shared/Gamepad/GamepadProvider.cpp; sourceTree = SOURCE_ROOT; };
+ GPLL0000000000000000000024 /* GamepadProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GamepadProvider.h; path = ../../shared/Gamepad/GamepadProvider.h; sourceTree = SOURCE_ROOT; };
+ GPLL0000000000000000000015 /* Gamepad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Gamepad.cpp; path = ../../shared/Gamepad/Gamepad.cpp; sourceTree = SOURCE_ROOT; };
+ GPLL0000000000000000000025 /* Gamepad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Gamepad.h; path = ../../shared/Gamepad/Gamepad.h; sourceTree = SOURCE_ROOT; };
+ /* SDL2 framework references */
+ SDLLL00000000000000000011 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = "$(HOME)/Library/Frameworks/SDL2.framework"; sourceTree = ""; };
+ SDLLL00000000000000000012 /* SDL2_mixer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2_mixer.framework; path = "$(HOME)/Library/Frameworks/SDL2_mixer.framework"; sourceTree = ""; };
+ /* libpng file references */
+ BD000001000000000000000001 /* png.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = png.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/png.c; sourceTree = SOURCE_ROOT; };
+ BD000001000000000000000101 /* pngerror.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngerror.c; sourceTree = SOURCE_ROOT; };
+ BD000001000000000000000201 /* pngget.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngget.c; sourceTree = SOURCE_ROOT; };
+ BD000001000000000000000301 /* pngmem.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngmem.c; sourceTree = SOURCE_ROOT; };
+ BD000001000000000000000401 /* pngpread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngpread.c; sourceTree = SOURCE_ROOT; };
+ BD000001000000000000000501 /* pngread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngread.c; sourceTree = SOURCE_ROOT; };
+ BD000001000000000000000601 /* pngrio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngrio.c; sourceTree = SOURCE_ROOT; };
+ BD000001000000000000000701 /* pngrtran.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngrtran.c; sourceTree = SOURCE_ROOT; };
+ BD000001000000000000000801 /* pngrutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngrutil.c; sourceTree = SOURCE_ROOT; };
+ BD000001000000000000000901 /* pngset.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngset.c; sourceTree = SOURCE_ROOT; };
+ BD000001000000000000000A01 /* pngtrans.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngtrans.c; sourceTree = SOURCE_ROOT; };
+ BD000001000000000000000B01 /* pngwio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngwio.c; sourceTree = SOURCE_ROOT; };
+ BD000001000000000000000C01 /* pngwrite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngwrite.c; sourceTree = SOURCE_ROOT; };
+ BD000001000000000000000D01 /* pngwtran.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngwtran.c; sourceTree = SOURCE_ROOT; };
+ BD000001000000000000000E01 /* pngwutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngwutil.c; sourceTree = SOURCE_ROOT; };
+ BDARM000000000000000000001 /* arm_init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = arm_init.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/arm/arm_init.c; sourceTree = SOURCE_ROOT; };
+ BDARM000000000000000000101 /* filter_neon_intrinsics.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = filter_neon_intrinsics.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/arm/filter_neon_intrinsics.c; sourceTree = SOURCE_ROOT; };
+ BDARM000000000000000000201 /* palette_neon_intrinsics.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = palette_neon_intrinsics.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/arm/palette_neon_intrinsics.c; sourceTree = SOURCE_ROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ SDLLL00000000000000000020 /* Embed Frameworks */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ SDLLL00000000000000000001 /* SDL2.framework in Frameworks */,
+ SDLLL00000000000000000002 /* SDL2_mixer.framework in Frameworks */,
+ );
+ name = "Embed Frameworks";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8D11072E0486CEB800E47090 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 5D361D4A2AB83C0E006C5169 /* libz.tbd in Frameworks */,
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
+ AFD4D88A113C504F00C2DE76 /* OpenGL.framework in Frameworks */,
+ AF9DBBC6113C611C00D05754 /* QuartzCore.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+
+ /* RTLooneyLadders app-specific file references */
+ LL000001000000000000000011 /* BuildingComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BuildingComponent.cpp; path = ../source/Component/BuildingComponent.cpp; sourceTree = SOURCE_ROOT; };
+ LL000001000000000000000021 /* BuildingComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BuildingComponent.h; path = ../source/Component/BuildingComponent.h; sourceTree = SOURCE_ROOT; };
+ LL000001000000000000000012 /* Character.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Character.cpp; path = ../source/Component/Character.cpp; sourceTree = SOURCE_ROOT; };
+ LL000001000000000000000022 /* Character.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Character.h; path = ../source/Component/Character.h; sourceTree = SOURCE_ROOT; };
+ LL000001000000000000000013 /* CharComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CharComponent.cpp; path = ../source/Component/CharComponent.cpp; sourceTree = SOURCE_ROOT; };
+ LL000001000000000000000023 /* CharComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CharComponent.h; path = ../source/Component/CharComponent.h; sourceTree = SOURCE_ROOT; };
+ LL000001000000000000000014 /* CharManagerComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CharManagerComponent.cpp; path = ../source/Component/CharManagerComponent.cpp; sourceTree = SOURCE_ROOT; };
+ LL000001000000000000000024 /* CharManagerComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CharManagerComponent.h; path = ../source/Component/CharManagerComponent.h; sourceTree = SOURCE_ROOT; };
+ LL000001000000000000000015 /* ExplosionComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ExplosionComponent.cpp; path = ../source/Component/ExplosionComponent.cpp; sourceTree = SOURCE_ROOT; };
+ LL000001000000000000000025 /* ExplosionComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExplosionComponent.h; path = ../source/Component/ExplosionComponent.h; sourceTree = SOURCE_ROOT; };
+ LL000001000000000000000016 /* OverlayRenderComponentSpy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OverlayRenderComponentSpy.cpp; path = ../source/Component/OverlayRenderComponentSpy.cpp; sourceTree = SOURCE_ROOT; };
+ LL000001000000000000000026 /* OverlayRenderComponentSpy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OverlayRenderComponentSpy.h; path = ../source/Component/OverlayRenderComponentSpy.h; sourceTree = SOURCE_ROOT; };
+ LL000001000000000000000017 /* AboutMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AboutMenu.cpp; path = ../source/GUI/AboutMenu.cpp; sourceTree = SOURCE_ROOT; };
+ LL000001000000000000000027 /* AboutMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AboutMenu.h; path = ../source/GUI/AboutMenu.h; sourceTree = SOURCE_ROOT; };
+ LL000001000000000000000018 /* ControllerTestMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ControllerTestMenu.cpp; path = ../source/GUI/ControllerTestMenu.cpp; sourceTree = SOURCE_ROOT; };
+ LL000001000000000000000028 /* ControllerTestMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ControllerTestMenu.h; path = ../source/GUI/ControllerTestMenu.h; sourceTree = SOURCE_ROOT; };
+ LL000001000000000000000019 /* GameMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GameMenu.cpp; path = ../source/GUI/GameMenu.cpp; sourceTree = SOURCE_ROOT; };
+ LL000001000000000000000029 /* GameMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GameMenu.h; path = ../source/GUI/GameMenu.h; sourceTree = SOURCE_ROOT; };
+ LL00000100000000000000001A /* IntroMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IntroMenu.cpp; path = ../source/GUI/IntroMenu.cpp; sourceTree = SOURCE_ROOT; };
+ LL00000100000000000000002A /* IntroMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IntroMenu.h; path = ../source/GUI/IntroMenu.h; sourceTree = SOURCE_ROOT; };
+ LL00000100000000000000001B /* MainMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MainMenu.cpp; path = ../source/GUI/MainMenu.cpp; sourceTree = SOURCE_ROOT; };
+ LL00000100000000000000002B /* MainMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MainMenu.h; path = ../source/GUI/MainMenu.h; sourceTree = SOURCE_ROOT; };
+ /* End RTLooneyLadders app-specific file references */
+/* Begin PBXGroup section */
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
+ AFD4D889113C504F00C2DE76 /* OpenGL.framework */,
+ AF9DBBC5113C611C00D05754 /* QuartzCore.framework */,
+ );
+ name = "Linked Frameworks";
+ sourceTree = "";
+ };
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */,
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */,
+ );
+ name = "Other Frameworks";
+ sourceTree = "";
+ };
+ 19C28FACFE9D520D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107320486CEB800E47090 /* RTLooneyLadders.app */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 29B97314FDCFA39411CA2CEA /* RTLooneyLadders */ = {
+ isa = PBXGroup;
+ children = (
+ 5DDE012412B4D49C000C5CC0 /* shared */,
+ 29B97315FDCFA39411CA2CEA /* source */,
+ 29B97317FDCFA39411CA2CEA /* Resources */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
+ 19C28FACFE9D520D11CA2CBB /* Products */,
+ );
+ name = RTLooneyLadders;
+ sourceTree = "";
+ };
+ 29B97315FDCFA39411CA2CEA /* source */ = {
+ isa = PBXGroup;
+ children = (
+ 5D70B82212B6072D00A1AB17 /* GUI */,
+ 5D70B81F12B6072D00A1AB17 /* Component */,
+ 5DDE02A312B4F526000C5CC0 /* App.h */,
+ 5DDE02A412B4F526000C5CC0 /* App.cpp */,
+ 256AC3F00F4B6AF500CF3369 /* RTLooneyLadders_Prefix.pch */,
+ );
+ name = source;
+ sourceTree = "";
+ };
+ 29B97317FDCFA39411CA2CEA /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 5DFB863212BB233D00337543 /* app.icns */,
+ 5D70B83512B6075B00A1AB17 /* game */,
+ 5D70B83312B6074D00A1AB17 /* audio */,
+ 5DDE05A912B58EBD000C5CC0 /* interface */,
+ AFBD7714113895850015E685 /* MainMenu.xib */,
+ 8D1107310486CEB800E47090 /* RTLooneyLadders-Info.plist */,
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
+ );
+ name = Resources;
+ sourceTree = "";
+ };
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 5D361D492AB83C0E006C5169 /* libz.tbd */,
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ 5D70B61912B5FEB000A1AB17 /* OSX */ = {
+ isa = PBXGroup;
+ children = (
+ 5D70B61A12B5FED300A1AB17 /* PlatformSetupOSX.h */,
+ 5D70B61B12B5FED300A1AB17 /* OSXUtils.mm */,
+ 5D70B61C12B5FED300A1AB17 /* OSXUtils.h */,
+ 5D70B61D12B5FED300A1AB17 /* app */,
+ );
+ name = OSX;
+ sourceTree = "";
+ };
+ 5D70B61D12B5FED300A1AB17 /* app */ = {
+ isa = PBXGroup;
+ children = (
+ 5D70C4BE12B7586D00A1AB17 /* MyApplication.mm */,
+ 5D70B61E12B5FED300A1AB17 /* main.m */,
+ 5D70B61F12B5FED300A1AB17 /* MainController.h */,
+ 5D70B62012B5FED300A1AB17 /* MainController.mm */,
+ 5D70B62112B5FED300A1AB17 /* MyApplication.h */,
+ 5D70B62312B5FED300A1AB17 /* MyOpenGLView.h */,
+ 5D70B62412B5FED300A1AB17 /* MyOpenGLView.mm */,
+ );
+ name = app;
+ path = ../../shared/OSX/app;
+ sourceTree = SOURCE_ROOT;
+ };
+ 5D70B6B112B606DB00A1AB17 /* FileSystem */ = {
+ isa = PBXGroup;
+ children = (
+ 5D70B6B212B606DB00A1AB17 /* StreamingInstanceZip.h */,
+ 5D70B6B312B606DB00A1AB17 /* StreamingInstanceZip.cpp */,
+ 5D70B6B412B606DB00A1AB17 /* StreamingInstanceFile.h */,
+ 5D70B6B512B606DB00A1AB17 /* StreamingInstanceFile.cpp */,
+ 5D70B6B612B606DB00A1AB17 /* StreamingInstance.h */,
+ 5D70B6B712B606DB00A1AB17 /* StreamingInstance.cpp */,
+ 5D70B6B812B606DC00A1AB17 /* FileSystemZip.h */,
+ 5D70B6B912B606DC00A1AB17 /* FileSystemZip.cpp */,
+ 5D70B6BA12B606DC00A1AB17 /* FileSystem.h */,
+ 5D70B6BB12B606DC00A1AB17 /* FileSystem.cpp */,
+ 5D70B6BC12B606DC00A1AB17 /* FileManager.h */,
+ 5D70B6BD12B606DC00A1AB17 /* FileManager.cpp */,
+ );
+ name = FileSystem;
+ sourceTree = "";
+ };
+ 5D70B6BE12B606DC00A1AB17 /* Managers */ = {
+ isa = PBXGroup;
+ children = (
+ 5D70B6BF12B606DC00A1AB17 /* ResourceManager.cpp */,
+ 5D70B6C012B606DC00A1AB17 /* ResourceManager.h */,
+ 5D70B6C112B606DC00A1AB17 /* VariantDB.cpp */,
+ 5D70B6C212B606DC00A1AB17 /* VariantDB.h */,
+ 5D70B6C312B606DC00A1AB17 /* Console.cpp */,
+ 5D70B6C412B606DC00A1AB17 /* Console.h */,
+ 5D70B6C512B606DC00A1AB17 /* GameTimer.cpp */,
+ 5D70B6C612B606DC00A1AB17 /* GameTimer.h */,
+ 5D70B6C712B606DC00A1AB17 /* MessageManager.cpp */,
+ 5D70B6C812B606DC00A1AB17 /* MessageManager.h */,
+ );
+ name = Managers;
+ sourceTree = "";
+ };
+ 5D70B6C912B606DC00A1AB17 /* Network */ = {
+ isa = PBXGroup;
+ children = (
+ 5D70B6CA12B606DC00A1AB17 /* NetHTTP.cpp */,
+ 5D70B6CB12B606DC00A1AB17 /* NetHTTP.h */,
+ 5D70B6CC12B606DC00A1AB17 /* NetSocket.cpp */,
+ 5D70B6CD12B606DC00A1AB17 /* NetSocket.h */,
+ 5D70B6CE12B606DC00A1AB17 /* NetUtils.cpp */,
+ 5D70B6CF12B606DC00A1AB17 /* NetUtils.h */,
+ );
+ name = Network;
+ sourceTree = "";
+ };
+ GPLL0000000000000000000030 /* Gamepad */ = {
+ isa = PBXGroup;
+ children = (
+ GPLL0000000000000000000015 /* Gamepad.cpp */,
+ GPLL0000000000000000000025 /* Gamepad.h */,
+ GPLL0000000000000000000014 /* GamepadProvider.cpp */,
+ GPLL0000000000000000000024 /* GamepadProvider.h */,
+ GPLL0000000000000000000011 /* GamepadManager.cpp */,
+ GPLL0000000000000000000021 /* GamepadManager.h */,
+ GPLL0000000000000000000012 /* GamepadProviderSDL2.cpp */,
+ GPLL0000000000000000000022 /* GamepadProviderSDL2.h */,
+ GPLL0000000000000000000013 /* GamepadSDL2.cpp */,
+ GPLL0000000000000000000023 /* GamepadSDL2.h */,
+ );
+ name = Gamepad;
+ sourceTree = "";
+ };
+ 5D70B6D012B606DC00A1AB17 /* Audio */ = {
+ isa = PBXGroup;
+ children = (
+ 5D70B6D312B606DC00A1AB17 /* AudioManager.cpp */,
+ 5D70B6D412B606DC00A1AB17 /* AudioManager.h */,
+ AA000003000000000000AA01 /* AudioManagerSDL.cpp */,
+ AA000003000000000000AA02 /* AudioManagerSDL.h */,
+ );
+ name = Audio;
+ sourceTree = "";
+ };
+ 5D70B6D512B606DC00A1AB17 /* ClanLib */ = {
+ isa = PBXGroup;
+ children = (
+ 5D70B6D612B606DC00A1AB17 /* Core */,
+ );
+ name = ClanLib;
+ sourceTree = "";
+ };
+ 5D70B6D612B606DC00A1AB17 /* Core */ = {
+ isa = PBXGroup;
+ children = (
+ 5D70B6D712B606DC00A1AB17 /* Math */,
+ );
+ name = Core;
+ sourceTree = "";
+ };
+ 5D70B6D712B606DC00A1AB17 /* Math */ = {
+ isa = PBXGroup;
+ children = (
+ 5D70B6D812B606DC00A1AB17 /* vec4.cpp */,
+ 5D70B6D912B606DC00A1AB17 /* vec1.cpp */,
+ 5D70B6DA12B606DC00A1AB17 /* mat4.cpp */,
+ 5D70B6DB12B606DC00A1AB17 /* mat3.cpp */,
+ 5D70B6DC12B606DC00A1AB17 /* angle.cpp */,
+ 5D70B6DD12B606DC00A1AB17 /* vec2.cpp */,
+ 5D70B6DE12B606DC00A1AB17 /* vec3.cpp */,
+ );
+ name = Math;
+ sourceTree = "";
+ };
+ 5D70B6DF12B606DC00A1AB17 /* Entity */ = {
+ isa = PBXGroup;
+ children = (
+ 5D70B6E012B606DC00A1AB17 /* Components */,
+ 5D70B74E12B606DC00A1AB17 /* Component.cpp */,
+ 5D70B74F12B606DC00A1AB17 /* Component.h */,
+ 5D70B74C12B606DC00A1AB17 /* EntityUtils.cpp */,
+ 5D70B74D12B606DC00A1AB17 /* EntityUtils.h */,
+ 5D70B75012B606DC00A1AB17 /* Entity.cpp */,
+ 5D70B75112B606DC00A1AB17 /* Entity.h */,
+ );
+ name = Entity;
+ sourceTree = "";
+ };
+ 5D70B6E012B606DC00A1AB17 /* Components */ = {
+ isa = PBXGroup;
+ children = (
+ LLEC0000000000000000000026 /* LogDisplayComponent.h */,
+ LLEC0000000000000000000016 /* LogDisplayComponent.cpp */,
+ LLEC0000000000000000000027 /* TouchDragComponent.h */,
+ LLEC0000000000000000000017 /* TouchDragComponent.cpp */,
+ LLEC0000000000000000000021 /* ArcadeInputComponent.h */,
+ LLEC0000000000000000000011 /* ArcadeInputComponent.cpp */,
+ LLEC0000000000000000000022 /* DPadComponent.h */,
+ LLEC0000000000000000000012 /* DPadComponent.cpp */,
+ LLEC0000000000000000000023 /* EmitVirtualKeyComponent.h */,
+ LLEC0000000000000000000013 /* EmitVirtualKeyComponent.cpp */,
+ LLEC0000000000000000000024 /* EmitVirtualKeyComponentAdvanced.h */,
+ LLEC0000000000000000000014 /* EmitVirtualKeyComponentAdvanced.cpp */,
+ LLEC0000000000000000000025 /* TouchHandlerArcadeComponent.h */,
+ LLEC0000000000000000000015 /* TouchHandlerArcadeComponent.cpp */,
+ 5D8E37AF14BF0C85003BA3DA /* RenderScissorComponent.h */,
+ 5D8E37B014BF0C85003BA3DA /* RenderScissorComponent.cpp */,
+ 5D70B6E112B606DC00A1AB17 /* SliderComponent.h */,
+ 5D70B6E212B606DC00A1AB17 /* SliderComponent.cpp */,
+ 5D70B6E312B606DC00A1AB17 /* SelectButtonWithCustomInputComponent.h */,
+ 5D70B6E412B606DC00A1AB17 /* SelectButtonWithCustomInputComponent.cpp */,
+ 5D70B6E512B606DC00A1AB17 /* CustomInputComponent.h */,
+ 5D70B6E612B606DC00A1AB17 /* CustomInputComponent.cpp */,
+ 5D70B6E712B606DC00A1AB17 /* FilterInputComponent.cpp */,
+ 5D70B6E812B606DC00A1AB17 /* FilterInputComponent.h */,
+ 5D70B6E912B606DC00A1AB17 /* RenderClipComponent.cpp */,
+ 5D70B6EA12B606DC00A1AB17 /* RenderClipComponent.h */,
+ 5D70B6EB12B606DC00A1AB17 /* TouchStripComponent.cpp */,
+ 5D70B6EC12B606DC00A1AB17 /* TouchStripComponent.h */,
+ 5D70B6ED12B606DC00A1AB17 /* TrailRenderComponent.cpp */,
+ 5D70B6EE12B606DC00A1AB17 /* TrailRenderComponent.h */,
+ 5D70B6EF12B606DC00A1AB17 /* InputTextRenderComponent.cpp */,
+ 5D70B6F012B606DC00A1AB17 /* InputTextRenderComponent.h */,
+ 5D70B6F112B606DC00A1AB17 /* RectRenderComponent.cpp */,
+ 5D70B6F212B606DC00A1AB17 /* RectRenderComponent.h */,
+ 5D70B6F312B606DC00A1AB17 /* ScrollBarRenderComponent.cpp */,
+ 5D70B6F412B606DC00A1AB17 /* ScrollBarRenderComponent.h */,
+ 5D70B6F512B606DC00A1AB17 /* ScrollComponent.cpp */,
+ 5D70B6F612B606DC00A1AB17 /* ScrollComponent.h */,
+ 5D70B6F712B606DC00A1AB17 /* TextBoxRenderComponent.cpp */,
+ 5D70B6F812B606DC00A1AB17 /* TextBoxRenderComponent.h */,
+ 5D70B6F912B606DC00A1AB17 /* HTTPComponent.cpp */,
+ 5D70B6FA12B606DC00A1AB17 /* HTTPComponent.h */,
+ 5D70B6FB12B606DC00A1AB17 /* TyperComponent.cpp */,
+ 5D70B6FC12B606DC00A1AB17 /* TyperComponent.h */,
+ 5D70B6FD12B606DC00A1AB17 /* ProgressBarComponent.cpp */,
+ 5D70B6FE12B606DC00A1AB17 /* ProgressBarComponent.h */,
+ 5D70B6FF12B606DC00A1AB17 /* TapSequenceDetectComponent.cpp */,
+ 5D70B70012B606DC00A1AB17 /* TapSequenceDetectComponent.h */,
+ 5D70B70112B606DC00A1AB17 /* UnderlineRenderComponent.cpp */,
+ 5D70B70212B606DC00A1AB17 /* UnderlineRenderComponent.h */,
+ 5D70B70312B606DC00A1AB17 /* FocusInputComponent.cpp */,
+ 5D70B70412B606DC00A1AB17 /* FocusInputComponent.h */,
+ 5D70B70512B606DC00A1AB17 /* FocusRenderComponent.cpp */,
+ 5D70B70612B606DC00A1AB17 /* FocusRenderComponent.h */,
+ 5D70B70712B606DC00A1AB17 /* FocusUpdateComponent.cpp */,
+ 5D70B70812B606DC00A1AB17 /* FocusUpdateComponent.h */,
+ 5D70B70912B606DC00A1AB17 /* InterpolateComponent.cpp */,
+ 5D70B70A12B606DC00A1AB17 /* InterpolateComponent.h */,
+ 5D70B70B12B606DC00A1AB17 /* TextRenderComponent.cpp */,
+ 5D70B70C12B606DC00A1AB17 /* TextRenderComponent.h */,
+ 5D70B70D12B606DC00A1AB17 /* Button2DComponent.cpp */,
+ 5D70B70E12B606DC00A1AB17 /* Button2DComponent.h */,
+ 5D70B70F12B606DC00A1AB17 /* TouchHandlerComponent.cpp */,
+ 5D70B71012B606DC00A1AB17 /* TouchHandlerComponent.h */,
+ 5D70B71112B606DC00A1AB17 /* OverlayRenderComponent.cpp */,
+ 5D70B71212B606DC00A1AB17 /* OverlayRenderComponent.h */,
+ );
+ name = Components;
+ sourceTree = "";
+ };
+ 5D70B75212B606DC00A1AB17 /* GUI */ = {
+ isa = PBXGroup;
+ children = (
+ 5D70B75312B606DC00A1AB17 /* RTFont.cpp */,
+ 5D70B75412B606DC00A1AB17 /* RTFont.h */,
+ );
+ name = GUI;
+ sourceTree = "";
+ };
+ 5D70B75512B606DC00A1AB17 /* Math */ = {
+ isa = PBXGroup;
+ children = (
+ 5D70B75612B606DC00A1AB17 /* rtRect.cpp */,
+ 5D70B75712B606DC00A1AB17 /* rtRect.h */,
+ );
+ name = Math;
+ sourceTree = "";
+ };
+ 5D70B75812B606DC00A1AB17 /* Render */ = {
+ isa = PBXGroup;
+ children = (
+ 5D8E368414BEF420003BA3DA /* libjpg */,
+ BD000001000000000000FF01 /* libpng */,
+ 5D8E367E14BEF412003BA3DA /* JPGSurfaceLoader.h */,
+ 5D8E367F14BEF412003BA3DA /* RTGLESExt.h */,
+ 5D8E368014BEF412003BA3DA /* JPGSurfaceLoader.cpp */,
+ 5D8E368114BEF412003BA3DA /* RTGLESExt.cpp */,
+ 5D70B75D12B606DC00A1AB17 /* LinearParticle */,
+ 5D70B75912B606DC00A1AB17 /* SoftSurface.cpp */,
+ 5D70B75A12B606DC00A1AB17 /* SoftSurface.h */,
+ 5D70B75B12B606DC00A1AB17 /* RenderBatcher.cpp */,
+ 5D70B77412B606DC00A1AB17 /* LinearParticle.h */,
+ 5D70B77512B606DC00A1AB17 /* SurfaceAnim.cpp */,
+ 5D70B77612B606DC00A1AB17 /* SurfaceAnim.h */,
+ 5D70B77712B606DC00A1AB17 /* bitmap.h */,
+ 5D70B77812B606DC00A1AB17 /* Surface.cpp */,
+ 5D70B77912B606DC00A1AB17 /* Surface.h */,
+ 5D70B75C12B606DC00A1AB17 /* RenderBatcher.h */,
+ );
+ name = Render;
+ path = ..;
+ sourceTree = SOURCE_ROOT;
+ };
+ 5D70B75D12B606DC00A1AB17 /* LinearParticle */ = {
+ isa = PBXGroup;
+ children = (
+ 5D70B75E12B606DC00A1AB17 /* L_Defination.cpp */,
+ 5D70B75F12B606DC00A1AB17 /* L_Defination.h */,
+ 5D70B76012B606DC00A1AB17 /* L_DroppingEffect.cpp */,
+ 5D70B76112B606DC00A1AB17 /* L_DroppingEffect.h */,
+ 5D70B76212B606DC00A1AB17 /* L_EffectEmitter.cpp */,
+ 5D70B76312B606DC00A1AB17 /* L_EffectEmitter.h */,
+ 5D70B76412B606DC00A1AB17 /* L_EffectManager.cpp */,
+ 5D70B76512B606DC00A1AB17 /* L_EffectManager.h */,
+ 5D70B76612B606DC00A1AB17 /* L_ExplosionEffect.cpp */,
+ 5D70B76712B606DC00A1AB17 /* L_ExplosionEffect.h */,
+ 5D70B76812B606DC00A1AB17 /* L_MotionController.cpp */,
+ 5D70B76912B606DC00A1AB17 /* L_MotionController.h */,
+ 5D70B76A12B606DC00A1AB17 /* L_Particle.cpp */,
+ 5D70B76B12B606DC00A1AB17 /* L_Particle.h */,
+ 5D70B76C12B606DC00A1AB17 /* L_ParticleEffect.cpp */,
+ 5D70B76D12B606DC00A1AB17 /* L_ParticleEffect.h */,
+ 5D70B76E12B606DC00A1AB17 /* L_ParticleMem.cpp */,
+ 5D70B76F12B606DC00A1AB17 /* L_ParticleMem.h */,
+ 5D70B77012B606DC00A1AB17 /* L_ParticleSystem.cpp */,
+ 5D70B77112B606DC00A1AB17 /* L_ParticleSystem.h */,
+ 5D70B77212B606DC00A1AB17 /* L_ShootingEffect.cpp */,
+ 5D70B77312B606DC00A1AB17 /* L_ShootingEffect.h */,
+ );
+ name = LinearParticle;
+ path = "../../../../../$(SOURCE_ROOT)";
+ sourceTree = SOURCE_ROOT;
+ };
+ 5D70B77A12B606DC00A1AB17 /* util */ = {
+ isa = PBXGroup;
+ children = (
+ 5D70B78112B606DC00A1AB17 /* CRandom.cpp */,
+ 5D70B78212B606DC00A1AB17 /* CRandom.h */,
+ 5D70B78312B606DC00A1AB17 /* PrimeSearch.cpp */,
+ 5D70B78412B606DC00A1AB17 /* PrimeSearch.h */,
+ 5D70B78512B606DC00A1AB17 /* TextScanner.cpp */,
+ 5D70B78612B606DC00A1AB17 /* TextScanner.h */,
+ 5D70B78712B606DC00A1AB17 /* MathUtils.cpp */,
+ 5D70B78812B606DC00A1AB17 /* MathUtils.h */,
+ 5D70B78912B606DC00A1AB17 /* Variant.cpp */,
+ 5D70B79212B606DC00A1AB17 /* GLESUtils.cpp */,
+ 5D70B79312B606DC00A1AB17 /* GLESUtils.h */,
+ 5D70B79412B606DC00A1AB17 /* ResourceUtils.cpp */,
+ 5D70B79512B606DC00A1AB17 /* ResourceUtils.h */,
+ 5D70B79612B606DC00A1AB17 /* RTFileFormat.h */,
+ 5D70B79712B606DC00A1AB17 /* MiscUtils.cpp */,
+ 5D70B79812B606DC00A1AB17 /* MiscUtils.h */,
+ 5D70B79912B606DC00A1AB17 /* RenderUtils.cpp */,
+ 5D70B79A12B606DC00A1AB17 /* RenderUtils.h */,
+ 5D70B78A12B606DC00A1AB17 /* Variant.h */,
+ 5D70B77B12B606DC00A1AB17 /* unzip */,
+ );
+ name = util;
+ sourceTree = "";
+ };
+ 5D70B77B12B606DC00A1AB17 /* unzip */ = {
+ isa = PBXGroup;
+ children = (
+ 5D70B77C12B606DC00A1AB17 /* unzip.h */,
+ 5D70B77D12B606DC00A1AB17 /* unzip.c */,
+ 5D70B77E12B606DC00A1AB17 /* ioapi.h */,
+ 5D70B77F12B606DC00A1AB17 /* ioapi.c */,
+ 5D70B78012B606DC00A1AB17 /* crypt.h */,
+ );
+ name = unzip;
+ sourceTree = "";
+ };
+ 5D70B81F12B6072D00A1AB17 /* Component */ = {
+ isa = PBXGroup;
+ children = (
+ LL000001000000000000000011 /* BuildingComponent.cpp */,
+ LL000001000000000000000021 /* BuildingComponent.h */,
+ LL000001000000000000000012 /* Character.cpp */,
+ LL000001000000000000000022 /* Character.h */,
+ LL000001000000000000000013 /* CharComponent.cpp */,
+ LL000001000000000000000023 /* CharComponent.h */,
+ LL000001000000000000000014 /* CharManagerComponent.cpp */,
+ LL000001000000000000000024 /* CharManagerComponent.h */,
+ LL000001000000000000000015 /* ExplosionComponent.cpp */,
+ LL000001000000000000000025 /* ExplosionComponent.h */,
+ LL000001000000000000000016 /* OverlayRenderComponentSpy.cpp */,
+ LL000001000000000000000026 /* OverlayRenderComponentSpy.h */,
+);
+ name = Component;
+ sourceTree = "";
+ };
+ 5D70B82212B6072D00A1AB17 /* GUI */ = {
+ isa = PBXGroup;
+ children = (
+ LL000001000000000000000017 /* AboutMenu.cpp */,
+ LL000001000000000000000027 /* AboutMenu.h */,
+ LL000001000000000000000018 /* ControllerTestMenu.cpp */,
+ LL000001000000000000000028 /* ControllerTestMenu.h */,
+ LL000001000000000000000019 /* GameMenu.cpp */,
+ LL000001000000000000000029 /* GameMenu.h */,
+ LL00000100000000000000001A /* IntroMenu.cpp */,
+ LL00000100000000000000002A /* IntroMenu.h */,
+ LL00000100000000000000001B /* MainMenu.cpp */,
+ LL00000100000000000000002B /* MainMenu.h */,
+);
+ name = GUI;
+ sourceTree = "";
+ };
+ 5D8E368414BEF420003BA3DA /* libjpg */ = {
+ isa = PBXGroup;
+ children = (
+ 5D8E368514BEF45B003BA3DA /* jcapimin.c */,
+ 5D8E368614BEF45B003BA3DA /* jcapistd.c */,
+ 5D8E368714BEF45B003BA3DA /* jccoefct.c */,
+ 5D8E368814BEF45B003BA3DA /* jccolor.c */,
+ 5D8E368914BEF45B003BA3DA /* jcdctmgr.c */,
+ 5D8E368A14BEF45B003BA3DA /* jchuff.c */,
+ 5D8E368B14BEF45B003BA3DA /* jcinit.c */,
+ 5D8E368C14BEF45B003BA3DA /* jcmainct.c */,
+ 5D8E368D14BEF45B003BA3DA /* jcmarker.c */,
+ 5D8E368E14BEF45B003BA3DA /* jcmaster.c */,
+ 5D8E368F14BEF45B003BA3DA /* jcomapi.c */,
+ 5D8E369014BEF45B003BA3DA /* jcparam.c */,
+ 5D8E369114BEF45B003BA3DA /* jcphuff.c */,
+ 5D8E369214BEF45B003BA3DA /* jcprepct.c */,
+ 5D8E369314BEF45B003BA3DA /* jcsample.c */,
+ 5D8E369414BEF45B003BA3DA /* jctrans.c */,
+ 5D8E369514BEF45B003BA3DA /* jdapimin.c */,
+ 5D8E369614BEF45B003BA3DA /* jdapistd.c */,
+ 5D8E369714BEF45B003BA3DA /* jdatadst.c */,
+ 5D8E369814BEF45B003BA3DA /* jdatasrc.c */,
+ 5D8E369914BEF45B003BA3DA /* jdcoefct.c */,
+ 5D8E369A14BEF45B003BA3DA /* jdcolor.c */,
+ 5D8E369B14BEF45B003BA3DA /* jddctmgr.c */,
+ 5D8E369C14BEF45B003BA3DA /* jdhuff.c */,
+ 5D8E369D14BEF45B003BA3DA /* jdinput.c */,
+ 5D8E369E14BEF45B003BA3DA /* jdmainct.c */,
+ 5D8E369F14BEF45B003BA3DA /* jdmarker.c */,
+ 5D8E36A014BEF45B003BA3DA /* jdmaster.c */,
+ 5D8E36A114BEF45B003BA3DA /* jdmerge.c */,
+ 5D8E36A214BEF45B003BA3DA /* jdphuff.c */,
+ 5D8E36A314BEF45B003BA3DA /* jdpostct.c */,
+ 5D8E36A414BEF45B003BA3DA /* jdsample.c */,
+ 5D8E36A514BEF45B003BA3DA /* jdtrans.c */,
+ 5D8E36A614BEF45B003BA3DA /* jerror.c */,
+ 5D8E36A714BEF45B003BA3DA /* jfdctflt.c */,
+ 5D8E36A814BEF45B003BA3DA /* jfdctfst.c */,
+ 5D8E36A914BEF45B003BA3DA /* jfdctint.c */,
+ 5D8E36AA14BEF45B003BA3DA /* jidctflt.c */,
+ 5D8E36AB14BEF45B003BA3DA /* jidctfst.c */,
+ 5D8E36AC14BEF45B003BA3DA /* jidctint.c */,
+ 5D8E36AD14BEF45B003BA3DA /* jidctred.c */,
+ 5D8E36AE14BEF45B003BA3DA /* jmemmgr.c */,
+ 5D8E36AF14BEF45B003BA3DA /* jmemnobs.c */,
+ 5D8E36B014BEF45B003BA3DA /* jquant1.c */,
+ 5D8E36B114BEF45B003BA3DA /* jquant2.c */,
+ 5D8E36B214BEF45B003BA3DA /* jutils.c */,
+ );
+ name = libjpg;
+ sourceTree = "";
+ };
+ 5DDE012412B4D49C000C5CC0 /* shared */ = {
+ isa = PBXGroup;
+ children = (
+ 5D70B77A12B606DC00A1AB17 /* util */,
+ 5D70B75512B606DC00A1AB17 /* Math */,
+ 5D70B75212B606DC00A1AB17 /* GUI */,
+ 5D70B75812B606DC00A1AB17 /* Render */,
+ 5D70B6DF12B606DC00A1AB17 /* Entity */,
+ 5D70B6D512B606DC00A1AB17 /* ClanLib */,
+ 5D70B6D012B606DC00A1AB17 /* Audio */,
+ GPLL0000000000000000000030 /* Gamepad */,
+ 5D70B6C912B606DC00A1AB17 /* Network */,
+ 5D70B6BE12B606DC00A1AB17 /* Managers */,
+ 5D70B6B112B606DB00A1AB17 /* FileSystem */,
+ 5D70B61912B5FEB000A1AB17 /* OSX */,
+ 5D70B79B12B606DC00A1AB17 /* PlatformSetup.h */,
+ 5D70B79C12B606DC00A1AB17 /* PlatformSetup.cpp */,
+ 5D70B79D12B606DC00A1AB17 /* PlatformPrecomp.h */,
+ 5D70B79E12B606DC00A1AB17 /* PlatformPrecomp.cpp */,
+ 5D70B79F12B606DC00A1AB17 /* BaseApp.cpp */,
+ 5D70B7A012B606DC00A1AB17 /* BaseApp.h */,
+ );
+ name = shared;
+ sourceTree = "";
+ };
+ BD000001000000000000FF01 /* libpng */ = {
+ isa = PBXGroup;
+ children = (
+ BD000001000000000000000001 /* png.c */,
+ BD000001000000000000000101 /* pngerror.c */,
+ BD000001000000000000000201 /* pngget.c */,
+ BD000001000000000000000301 /* pngmem.c */,
+ BD000001000000000000000401 /* pngpread.c */,
+ BD000001000000000000000501 /* pngread.c */,
+ BD000001000000000000000601 /* pngrio.c */,
+ BD000001000000000000000701 /* pngrtran.c */,
+ BD000001000000000000000801 /* pngrutil.c */,
+ BD000001000000000000000901 /* pngset.c */,
+ BD000001000000000000000A01 /* pngtrans.c */,
+ BD000001000000000000000B01 /* pngwio.c */,
+ BD000001000000000000000C01 /* pngwrite.c */,
+ BD000001000000000000000D01 /* pngwtran.c */,
+ BD000001000000000000000E01 /* pngwutil.c */,
+ BDARM000000000000000000001 /* arm_init.c */,
+ BDARM000000000000000000101 /* filter_neon_intrinsics.c */,
+ BDARM000000000000000000201 /* palette_neon_intrinsics.c */,
+ );
+ name = libpng;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8D1107260486CEB800E47090 /* RTLooneyLadders */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "RTLooneyLadders" */;
+ buildPhases = (
+ 8D1107290486CEB800E47090 /* Resources */,
+ 8D11072C0486CEB800E47090 /* Sources */,
+ 8D11072E0486CEB800E47090 /* Frameworks */,
+ SDLLL00000000000000000020 /* Embed Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = RTLooneyLadders;
+ productInstallPath = "$(HOME)/Applications";
+ productName = RTLooneyLadders;
+ productReference = 8D1107320486CEB800E47090 /* RTLooneyLadders.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ };
+ buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "RTLooneyLadders" */;
+ compatibilityVersion = "Xcode 12.0";
+ developmentRegion = English;
+ hasScannedForEncodings = 1;
+ knownRegions = (
+ English,
+ Japanese,
+ French,
+ German,
+ );
+ mainGroup = 29B97314FDCFA39411CA2CEA /* RTLooneyLadders */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 8D1107260486CEB800E47090 /* RTLooneyLadders */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8D1107290486CEB800E47090 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
+ AFBD7716113895850015E685 /* MainMenu.xib in Resources */,
+ 5DDE05AA12B58EBD000C5CC0 /* interface in Resources */,
+ 5D70B83412B6074D00A1AB17 /* audio in Resources */,
+ 5D70B83612B6075B00A1AB17 /* game in Resources */,
+ 5DFB863312BB233D00337543 /* app.icns in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8D11072C0486CEB800E47090 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 5DDE02A512B4F526000C5CC0 /* App.cpp in Sources */,
+ 5D70B62512B5FED300A1AB17 /* OSXUtils.mm in Sources */,
+ 5D70B62612B5FED300A1AB17 /* main.m in Sources */,
+ 5D70B62712B5FED300A1AB17 /* MainController.mm in Sources */,
+ 5D70B62912B5FED300A1AB17 /* MyOpenGLView.mm in Sources */,
+ 5D70B7A112B606DC00A1AB17 /* StreamingInstanceZip.cpp in Sources */,
+ 5D70B7A212B606DC00A1AB17 /* StreamingInstanceFile.cpp in Sources */,
+ 5D70B7A312B606DC00A1AB17 /* StreamingInstance.cpp in Sources */,
+ 5D70B7A412B606DC00A1AB17 /* FileSystemZip.cpp in Sources */,
+ 5D70B7A512B606DC00A1AB17 /* FileSystem.cpp in Sources */,
+ 5D70B7A612B606DC00A1AB17 /* FileManager.cpp in Sources */,
+ 5D70B7A712B606DC00A1AB17 /* ResourceManager.cpp in Sources */,
+ 5D70B7A812B606DC00A1AB17 /* VariantDB.cpp in Sources */,
+ 5D70B7A912B606DC00A1AB17 /* Console.cpp in Sources */,
+ 5D70B7AA12B606DC00A1AB17 /* GameTimer.cpp in Sources */,
+ 5D70B7AB12B606DC00A1AB17 /* MessageManager.cpp in Sources */,
+ 5D70B7AC12B606DC00A1AB17 /* NetHTTP.cpp in Sources */,
+ 5D70B7AD12B606DC00A1AB17 /* NetSocket.cpp in Sources */,
+ 5D70B7AE12B606DC00A1AB17 /* NetUtils.cpp in Sources */,
+ 5D70B7B012B606DC00A1AB17 /* AudioManager.cpp in Sources */,
+ AA000004000000000000AA01 /* AudioManagerSDL.cpp in Sources */,
+ 5D70B7B112B606DC00A1AB17 /* vec4.cpp in Sources */,
+ 5D70B7B212B606DC00A1AB17 /* vec1.cpp in Sources */,
+ 5D70B7B312B606DC00A1AB17 /* mat4.cpp in Sources */,
+ 5D70B7B412B606DC00A1AB17 /* mat3.cpp in Sources */,
+ 5D70B7B512B606DC00A1AB17 /* angle.cpp in Sources */,
+ 5D70B7B612B606DC00A1AB17 /* vec2.cpp in Sources */,
+ 5D70B7B712B606DC00A1AB17 /* vec3.cpp in Sources */,
+ 5D70B7B812B606DC00A1AB17 /* SliderComponent.cpp in Sources */,
+ 5D70B7B912B606DC00A1AB17 /* SelectButtonWithCustomInputComponent.cpp in Sources */,
+ 5D70B7BA12B606DC00A1AB17 /* CustomInputComponent.cpp in Sources */,
+ 5D70B7BB12B606DC00A1AB17 /* FilterInputComponent.cpp in Sources */,
+ 5D70B7BC12B606DC00A1AB17 /* RenderClipComponent.cpp in Sources */,
+ 5D70B7BD12B606DC00A1AB17 /* TouchStripComponent.cpp in Sources */,
+ 5D70B7BE12B606DC00A1AB17 /* TrailRenderComponent.cpp in Sources */,
+ 5D70B7BF12B606DC00A1AB17 /* InputTextRenderComponent.cpp in Sources */,
+ 5D70B7C012B606DC00A1AB17 /* RectRenderComponent.cpp in Sources */,
+ 5D70B7C112B606DC00A1AB17 /* ScrollBarRenderComponent.cpp in Sources */,
+ 5D70B7C212B606DC00A1AB17 /* ScrollComponent.cpp in Sources */,
+ 5D70B7C312B606DC00A1AB17 /* TextBoxRenderComponent.cpp in Sources */,
+ 5D70B7C412B606DC00A1AB17 /* HTTPComponent.cpp in Sources */,
+ 5D70B7C512B606DC00A1AB17 /* TyperComponent.cpp in Sources */,
+ 5D70B7C612B606DC00A1AB17 /* ProgressBarComponent.cpp in Sources */,
+ 5D70B7C712B606DC00A1AB17 /* TapSequenceDetectComponent.cpp in Sources */,
+ 5D70B7C812B606DC00A1AB17 /* UnderlineRenderComponent.cpp in Sources */,
+ 5D70B7C912B606DC00A1AB17 /* FocusInputComponent.cpp in Sources */,
+ 5D70B7CA12B606DC00A1AB17 /* FocusRenderComponent.cpp in Sources */,
+ 5D70B7CB12B606DC00A1AB17 /* FocusUpdateComponent.cpp in Sources */,
+ 5D70B7CC12B606DC00A1AB17 /* InterpolateComponent.cpp in Sources */,
+ 5D70B7CD12B606DC00A1AB17 /* TextRenderComponent.cpp in Sources */,
+ 5D70B7CE12B606DC00A1AB17 /* Button2DComponent.cpp in Sources */,
+ 5D70B7CF12B606DC00A1AB17 /* TouchHandlerComponent.cpp in Sources */,
+ 5D70B7D012B606DC00A1AB17 /* OverlayRenderComponent.cpp in Sources */,
+ 5D70B7ED12B606DC00A1AB17 /* EntityUtils.cpp in Sources */,
+ 5D70B7EE12B606DC00A1AB17 /* Component.cpp in Sources */,
+ 5D70B7EF12B606DC00A1AB17 /* Entity.cpp in Sources */,
+ 5D70B7F012B606DC00A1AB17 /* RTFont.cpp in Sources */,
+ 5D70B7F112B606DC00A1AB17 /* rtRect.cpp in Sources */,
+ 5D70B7F212B606DC00A1AB17 /* SoftSurface.cpp in Sources */,
+ 5D70B7F312B606DC00A1AB17 /* RenderBatcher.cpp in Sources */,
+ 5D70B7F412B606DC00A1AB17 /* L_Defination.cpp in Sources */,
+ 5D70B7F512B606DC00A1AB17 /* L_DroppingEffect.cpp in Sources */,
+ 5D70B7F612B606DC00A1AB17 /* L_EffectEmitter.cpp in Sources */,
+ 5D70B7F712B606DC00A1AB17 /* L_EffectManager.cpp in Sources */,
+ 5D70B7F812B606DC00A1AB17 /* L_ExplosionEffect.cpp in Sources */,
+ 5D70B7F912B606DC00A1AB17 /* L_MotionController.cpp in Sources */,
+ 5D70B7FA12B606DC00A1AB17 /* L_Particle.cpp in Sources */,
+ 5D70B7FB12B606DC00A1AB17 /* L_ParticleEffect.cpp in Sources */,
+ 5D70B7FC12B606DC00A1AB17 /* L_ParticleMem.cpp in Sources */,
+ 5D70B7FD12B606DC00A1AB17 /* L_ParticleSystem.cpp in Sources */,
+ 5D70B7FE12B606DC00A1AB17 /* L_ShootingEffect.cpp in Sources */,
+ 5D70B7FF12B606DC00A1AB17 /* SurfaceAnim.cpp in Sources */,
+ 5D70B80012B606DC00A1AB17 /* Surface.cpp in Sources */,
+ 5D70B80112B606DC00A1AB17 /* unzip.c in Sources */,
+ 5D70B80212B606DC00A1AB17 /* ioapi.c in Sources */,
+ 5D70B80312B606DC00A1AB17 /* CRandom.cpp in Sources */,
+ 5D70B80412B606DC00A1AB17 /* PrimeSearch.cpp in Sources */,
+ 5D70B80512B606DC00A1AB17 /* TextScanner.cpp in Sources */,
+ 5D70B80612B606DC00A1AB17 /* MathUtils.cpp in Sources */,
+ 5D70B80712B606DC00A1AB17 /* Variant.cpp in Sources */,
+ 5D70B80D12B606DC00A1AB17 /* GLESUtils.cpp in Sources */,
+ 5D70B80E12B606DC00A1AB17 /* ResourceUtils.cpp in Sources */,
+ 5D70B80F12B606DC00A1AB17 /* MiscUtils.cpp in Sources */,
+ 5D70B81012B606DC00A1AB17 /* RenderUtils.cpp in Sources */,
+ 5D70B81112B606DC00A1AB17 /* PlatformSetup.cpp in Sources */,
+ 5D70B81212B606DC00A1AB17 /* PlatformPrecomp.cpp in Sources */,
+ 5D70B81312B606DC00A1AB17 /* BaseApp.cpp in Sources */,
+ LLEC0000000000000000000006 /* LogDisplayComponent.cpp in Sources */,
+ LLEC0000000000000000000007 /* TouchDragComponent.cpp in Sources */,
+ LLEC0000000000000000000001 /* ArcadeInputComponent.cpp in Sources */,
+ LLEC0000000000000000000002 /* DPadComponent.cpp in Sources */,
+ LLEC0000000000000000000003 /* EmitVirtualKeyComponent.cpp in Sources */,
+ LLEC0000000000000000000004 /* EmitVirtualKeyComponentAdvanced.cpp in Sources */,
+ LLEC0000000000000000000005 /* TouchHandlerArcadeComponent.cpp in Sources */,
+ GPLL0000000000000000000005 /* Gamepad.cpp in Sources */,
+ GPLL0000000000000000000004 /* GamepadProvider.cpp in Sources */,
+ GPLL0000000000000000000001 /* GamepadManager.cpp in Sources */,
+ GPLL0000000000000000000002 /* GamepadProviderSDL2.cpp in Sources */,
+ GPLL0000000000000000000003 /* GamepadSDL2.cpp in Sources */,
+ LL000001000000000000000001 /* BuildingComponent.cpp in Sources */,
+ LL000001000000000000000002 /* Character.cpp in Sources */,
+ LL000001000000000000000003 /* CharComponent.cpp in Sources */,
+ LL000001000000000000000004 /* CharManagerComponent.cpp in Sources */,
+ LL000001000000000000000005 /* ExplosionComponent.cpp in Sources */,
+ LL000001000000000000000006 /* OverlayRenderComponentSpy.cpp in Sources */,
+ LL000001000000000000000007 /* AboutMenu.cpp in Sources */,
+ LL000001000000000000000008 /* ControllerTestMenu.cpp in Sources */,
+ LL000001000000000000000009 /* GameMenu.cpp in Sources */,
+ LL00000100000000000000000A /* IntroMenu.cpp in Sources */,
+ LL00000100000000000000000B /* MainMenu.cpp in Sources */,
+ 5D70C4BF12B7586D00A1AB17 /* MyApplication.mm in Sources */,
+ 5D8E368214BEF412003BA3DA /* JPGSurfaceLoader.cpp in Sources */,
+ 5D8E368314BEF412003BA3DA /* RTGLESExt.cpp in Sources */,
+ 5D8E36B314BEF45B003BA3DA /* jcapimin.c in Sources */,
+ 5D8E36B414BEF45B003BA3DA /* jcapistd.c in Sources */,
+ 5D8E36B514BEF45B003BA3DA /* jccoefct.c in Sources */,
+ 5D8E36B614BEF45B003BA3DA /* jccolor.c in Sources */,
+ 5D8E36B714BEF45B003BA3DA /* jcdctmgr.c in Sources */,
+ 5D8E36B814BEF45B003BA3DA /* jchuff.c in Sources */,
+ 5D8E36B914BEF45B003BA3DA /* jcinit.c in Sources */,
+ 5D8E36BA14BEF45B003BA3DA /* jcmainct.c in Sources */,
+ 5D8E36BB14BEF45B003BA3DA /* jcmarker.c in Sources */,
+ 5D8E36BC14BEF45B003BA3DA /* jcmaster.c in Sources */,
+ 5D8E36BD14BEF45B003BA3DA /* jcomapi.c in Sources */,
+ 5D8E36BE14BEF45B003BA3DA /* jcparam.c in Sources */,
+ 5D8E36BF14BEF45B003BA3DA /* jcphuff.c in Sources */,
+ 5D8E36C014BEF45B003BA3DA /* jcprepct.c in Sources */,
+ 5D8E36C114BEF45B003BA3DA /* jcsample.c in Sources */,
+ 5D8E36C214BEF45B003BA3DA /* jctrans.c in Sources */,
+ 5D8E36C314BEF45B003BA3DA /* jdapimin.c in Sources */,
+ 5D8E36C414BEF45B003BA3DA /* jdapistd.c in Sources */,
+ 5D8E36C514BEF45B003BA3DA /* jdatadst.c in Sources */,
+ 5D8E36C614BEF45B003BA3DA /* jdatasrc.c in Sources */,
+ 5D8E36C714BEF45B003BA3DA /* jdcoefct.c in Sources */,
+ 5D8E36C814BEF45B003BA3DA /* jdcolor.c in Sources */,
+ 5D8E36C914BEF45B003BA3DA /* jddctmgr.c in Sources */,
+ 5D8E36CA14BEF45B003BA3DA /* jdhuff.c in Sources */,
+ 5D8E36CB14BEF45B003BA3DA /* jdinput.c in Sources */,
+ 5D8E36CC14BEF45B003BA3DA /* jdmainct.c in Sources */,
+ 5D8E36CD14BEF45B003BA3DA /* jdmarker.c in Sources */,
+ 5D8E36CE14BEF45B003BA3DA /* jdmaster.c in Sources */,
+ 5D8E36CF14BEF45B003BA3DA /* jdmerge.c in Sources */,
+ 5D8E36D014BEF45B003BA3DA /* jdphuff.c in Sources */,
+ 5D8E36D114BEF45B003BA3DA /* jdpostct.c in Sources */,
+ 5D8E36D214BEF45B003BA3DA /* jdsample.c in Sources */,
+ 5D8E36D314BEF45B003BA3DA /* jdtrans.c in Sources */,
+ 5D8E36D414BEF45B003BA3DA /* jerror.c in Sources */,
+ 5D8E36D514BEF45B003BA3DA /* jfdctflt.c in Sources */,
+ 5D8E36D614BEF45B003BA3DA /* jfdctfst.c in Sources */,
+ 5D8E36D714BEF45B003BA3DA /* jfdctint.c in Sources */,
+ 5D8E36D814BEF45B003BA3DA /* jidctflt.c in Sources */,
+ 5D8E36D914BEF45B003BA3DA /* jidctfst.c in Sources */,
+ 5D8E36DA14BEF45B003BA3DA /* jidctint.c in Sources */,
+ 5D8E36DB14BEF45B003BA3DA /* jidctred.c in Sources */,
+ 5D8E36DC14BEF45B003BA3DA /* jmemmgr.c in Sources */,
+ 5D8E36DD14BEF45B003BA3DA /* jmemnobs.c in Sources */,
+ 5D8E36DE14BEF45B003BA3DA /* jquant1.c in Sources */,
+ 5D8E36DF14BEF45B003BA3DA /* jquant2.c in Sources */,
+ 5D8E36E014BEF45B003BA3DA /* jutils.c in Sources */,
+ BD000001000000000000000002 /* png.c in Sources */,
+ BD000001000000000000000102 /* pngerror.c in Sources */,
+ BD000001000000000000000202 /* pngget.c in Sources */,
+ BD000001000000000000000302 /* pngmem.c in Sources */,
+ BD000001000000000000000402 /* pngpread.c in Sources */,
+ BD000001000000000000000502 /* pngread.c in Sources */,
+ BD000001000000000000000602 /* pngrio.c in Sources */,
+ BD000001000000000000000702 /* pngrtran.c in Sources */,
+ BD000001000000000000000802 /* pngrutil.c in Sources */,
+ BD000001000000000000000902 /* pngset.c in Sources */,
+ BD000001000000000000000A02 /* pngtrans.c in Sources */,
+ BD000001000000000000000B02 /* pngwio.c in Sources */,
+ BD000001000000000000000C02 /* pngwrite.c in Sources */,
+ BD000001000000000000000D02 /* pngwtran.c in Sources */,
+ BD000001000000000000000E02 /* pngwutil.c in Sources */,
+ BDARM000000000000000000002 /* arm_init.c in Sources */,
+ BDARM000000000000000000102 /* filter_neon_intrinsics.c in Sources */,
+ BDARM000000000000000000202 /* palette_neon_intrinsics.c in Sources */,
+ 5D8E37B114BF0C85003BA3DA /* RenderScissorComponent.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 089C165DFE840E0CC02AAC07 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "";
+ };
+ AFBD7714113895850015E685 /* MainMenu.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ AFBD7715113895850015E685 /* English */,
+ );
+ name = MainMenu.xib;
+ sourceTree = "";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ C01FCF4B08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ INFOPLIST_FILE = "RTLooneyLadders-Info.plist";
+ INSTALL_PATH = "$(HOME)/Applications";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(LD_RUNPATH_SEARCH_PATHS_$(IS_MACCATALYST))",
+ "@executable_path/../Frameworks",
+ );
+LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)",
+ );
+ FRAMEWORK_SEARCH_PATHS = "$(HOME)/Library/Frameworks";
+ OTHER_LDFLAGS = "-framework SDL2 -framework SDL2_mixer -rpath @executable_path/../Frameworks";
+ MACOSX_DEPLOYMENT_TARGET = 11.0;
+ "EXCLUDED_SOURCE_FILE_NAMES[arch=x86_64]" = "arm_init.c filter_neon_intrinsics.c palette_neon_intrinsics.c";
+ PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)";
+ PRODUCT_NAME = RTLooneyLadders;
+ };
+ name = Debug;
+ };
+ C01FCF4C08A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ INFOPLIST_FILE = "RTLooneyLadders-Info.plist";
+ INSTALL_PATH = "$(HOME)/Applications";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(LD_RUNPATH_SEARCH_PATHS_$(IS_MACCATALYST))",
+ "@executable_path/../Frameworks",
+ );
+LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)",
+ );
+ FRAMEWORK_SEARCH_PATHS = "$(HOME)/Library/Frameworks";
+ OTHER_LDFLAGS = "-framework SDL2 -framework SDL2_mixer -rpath @executable_path/../Frameworks";
+ MACOSX_DEPLOYMENT_TARGET = 11.0;
+ "EXCLUDED_SOURCE_FILE_NAMES[arch=x86_64]" = "arm_init.c filter_neon_intrinsics.c palette_neon_intrinsics.c";
+ PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)";
+ PRODUCT_NAME = RTLooneyLadders;
+ };
+ name = Release;
+ };
+ C01FCF4F08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ../../shared/PlatformPrecomp.h;
+GCC_PREPROCESSOR_DEFINITIONS = (
+ _DEBUG,
+ BOOST_ALL_NO_LIB,
+ PLATFORM_OSX,
+ C_GL_MODE,
+ RT_JPG_SUPPORT,
+ RT_PNG_SUPPORT,
+ RT_IPV6,
+ GL_SILENCE_DEPRECATION,
+ RT_USE_SDL_AUDIO,
+ );
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ ../source,
+ ../../shared,
+ ../../shared/util/boost/,
+ "../../shared/ClanLib-2.0/Sources",
+ ../../shared/FliteTTS/include,
+ ../../shared/OSX,
+ "$(HOME)/Library/Frameworks/SDL2.framework/Headers",
+ "$(HOME)/Library/Frameworks/SDL2_mixer.framework/Headers",
+ );
+ MACOSX_DEPLOYMENT_TARGET = 11.0;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = macosx;
+ };
+ name = Debug;
+ };
+ C01FCF5008A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ../../shared/PlatformPrecomp.h;
+GCC_PREPROCESSOR_DEFINITIONS = (
+ RT_JPG_SUPPORT,
+ RT_PNG_SUPPORT,
+ RT_IPV6,
+ PLATFORM_OSX,
+ BOOST_ALL_NO_LIB,
+ NDEBUG,
+ C_GL_MODE,
+ GL_SILENCE_DEPRECATION,
+ RT_USE_SDL_AUDIO,
+ );
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ ../source,
+ ../../shared,
+ ../../shared/util/boost/,
+ "../../shared/ClanLib-2.0/Sources",
+ ../../shared/FliteTTS/include,
+ ../../shared/OSX,
+ "$(HOME)/Library/Frameworks/SDL2.framework/Headers",
+ "$(HOME)/Library/Frameworks/SDL2_mixer.framework/Headers",
+ );
+ MACOSX_DEPLOYMENT_TARGET = 11.0;
+ SDKROOT = macosx;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "RTLooneyLadders" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4B08A954540054247B /* Debug */,
+ C01FCF4C08A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C01FCF4E08A954540054247B /* Build configuration list for PBXProject "RTLooneyLadders" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4F08A954540054247B /* Debug */,
+ C01FCF5008A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
diff --git a/RTLooneyLadders/OSX/RTLooneyLadders_Prefix.pch b/RTLooneyLadders/OSX/RTLooneyLadders_Prefix.pch
new file mode 100644
index 00000000..50d041e3
--- /dev/null
+++ b/RTLooneyLadders/OSX/RTLooneyLadders_Prefix.pch
@@ -0,0 +1,7 @@
+//
+// Prefix header for all source files of the 'RTLooneyLadders' target in the 'RTLooneyLadders' project
+//
+
+#ifdef __OBJC__
+ #import
+#endif
diff --git a/RTLooneyLadders/OSX/app.icns b/RTLooneyLadders/OSX/app.icns
new file mode 100644
index 00000000..87c15011
Binary files /dev/null and b/RTLooneyLadders/OSX/app.icns differ
diff --git a/RTLooneyLadders/source/App.cpp b/RTLooneyLadders/source/App.cpp
index f4abac06..5882762d 100644
--- a/RTLooneyLadders/source/App.cpp
+++ b/RTLooneyLadders/source/App.cpp
@@ -30,10 +30,17 @@ GamepadManager * GetGamepadManager() {return &g_gamepadManager;}
AudioManagerOS g_audioManager;
#else
- //it's being compiled as a native OSX app
- #include "Audio/AudioManagerFMOD.h"
-
- AudioManagerFMOD g_audioManager; //dummy with no sound
+ //it's being compiled as a native OSX app - use SDL audio, no FMOD required
+#include "Audio/AudioManagerSDL.h"
+#include "Gamepad/GamepadProviderSDL2.h"
+#include
+ AudioManagerSDL g_audioManager;
+ // Required by MainController.mm and BaseApp.cpp - defined in SDL2Main.cpp for SDL builds
+ bool g_bIsFullScreen = false;
+
+// g_sig_SDLEvent is defined in SDL2Main.cpp for SDL-main builds.
+// For the OSX Cocoa build which doesn't use SDL2Main.cpp, define it here.
+boost::signals2::signal g_sig_SDLEvent;
#endif
#else
@@ -121,6 +128,11 @@ bool App::Init()
if (!BaseApp::Init()) return false;
+#ifdef PLATFORM_OSX
+ SDL_Init(SDL_INIT_EVENTS | SDL_INIT_JOYSTICK | SDL_INIT_GAMECONTROLLER);
+ GetGamepadManager()->AddProvider(new GamepadProviderSDL2());
+#endif
+
LogMsg("Save path is %s", GetSavePath().c_str());
if (!GetFont(FONT_SMALL)->Load("interface/font_trajan.rtfont"))
@@ -245,6 +257,10 @@ void App::Update()
BaseApp::Update();
g_gamepadManager.Update();
+#ifdef PLATFORM_OSX
+ SDL_PumpEvents();
+#endif
+
if (!m_bDidPostInit)
{
m_bDidPostInit = true;
diff --git a/RTSimpleApp/OSX/English.lproj/MainMenu.xib b/RTSimpleApp/OSX/English.lproj/MainMenu.xib
index 4c30eff3..6cd15da7 100644
--- a/RTSimpleApp/OSX/English.lproj/MainMenu.xib
+++ b/RTSimpleApp/OSX/English.lproj/MainMenu.xib
@@ -649,40 +649,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/RTSimpleApp/OSX/RTSimpleApp.xcodeproj/project.pbxproj b/RTSimpleApp/OSX/RTSimpleApp.xcodeproj/project.pbxproj
index 153532e5..c22abab5 100644
--- a/RTSimpleApp/OSX/RTSimpleApp.xcodeproj/project.pbxproj
+++ b/RTSimpleApp/OSX/RTSimpleApp.xcodeproj/project.pbxproj
@@ -9,7 +9,6 @@
/* Begin PBXBuildFile section */
5D361D4A2AB83C0E006C5169 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D361D492AB83C0E006C5169 /* libz.tbd */; };
5D361D512AB83E04006C5169 /* UTF16TestMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D361D502AB83E03006C5169 /* UTF16TestMenu.cpp */; };
- 5D423E502AB828D300A99994 /* AudioManagerFMODStudio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D423E4E2AB828D300A99994 /* AudioManagerFMODStudio.cpp */; };
5D70B62512B5FED300A1AB17 /* OSXUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B61B12B5FED300A1AB17 /* OSXUtils.mm */; };
5D70B62612B5FED300A1AB17 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B61E12B5FED300A1AB17 /* main.m */; };
5D70B62712B5FED300A1AB17 /* MainController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B62012B5FED300A1AB17 /* MainController.mm */; };
@@ -29,6 +28,7 @@
5D70B7AD12B606DC00A1AB17 /* NetSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6CC12B606DC00A1AB17 /* NetSocket.cpp */; };
5D70B7AE12B606DC00A1AB17 /* NetUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6CE12B606DC00A1AB17 /* NetUtils.cpp */; };
5D70B7B012B606DC00A1AB17 /* AudioManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6D312B606DC00A1AB17 /* AudioManager.cpp */; };
+AA000004000000000000AA01 /* AudioManagerSDL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA000003000000000000AA01 /* AudioManagerSDL.cpp */; };
5D70B7B112B606DC00A1AB17 /* vec4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6D812B606DC00A1AB17 /* vec4.cpp */; };
5D70B7B212B606DC00A1AB17 /* vec1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6D912B606DC00A1AB17 /* vec1.cpp */; };
5D70B7B312B606DC00A1AB17 /* mat4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D70B6DA12B606DC00A1AB17 /* mat4.cpp */; };
@@ -153,8 +153,6 @@
5D8E36DF14BEF45B003BA3DA /* jquant2.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36B114BEF45B003BA3DA /* jquant2.c */; };
5D8E36E014BEF45B003BA3DA /* jutils.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E36B214BEF45B003BA3DA /* jutils.c */; };
5D8E37B114BF0C85003BA3DA /* RenderScissorComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D8E37B014BF0C85003BA3DA /* RenderScissorComponent.cpp */; };
- 5DD5C5952AB8471F00357191 /* libfmod.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DD5C5942AB8471F00357191 /* libfmod.dylib */; };
- 5DD5C5982AB84B7A00357191 /* libfmod.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5DD5C5942AB8471F00357191 /* libfmod.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
5DDE02A512B4F526000C5CC0 /* App.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5DDE02A412B4F526000C5CC0 /* App.cpp */; };
5DDE05AA12B58EBD000C5CC0 /* interface in Resources */ = {isa = PBXBuildFile; fileRef = 5DDE05A912B58EBD000C5CC0 /* interface */; };
5DEB1B8B12D309CE00A3A6DB /* TouchTestComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5DEB1B8A12D309CE00A3A6DB /* TouchTestComponent.cpp */; };
@@ -166,20 +164,31 @@
AF9DBBC6113C611C00D05754 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF9DBBC5113C611C00D05754 /* QuartzCore.framework */; };
AFBD7716113895850015E685 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = AFBD7714113895850015E685 /* MainMenu.xib */; };
AFD4D88A113C504F00C2DE76 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AFD4D889113C504F00C2DE76 /* OpenGL.framework */; };
+ /* libpng build files */
+ BB000001000000000000000002 /* png.c in Sources */ = {isa = PBXBuildFile; fileRef = BB000001000000000000000001 /* png.c */; };
+ BB000001000000000000000102 /* pngerror.c in Sources */ = {isa = PBXBuildFile; fileRef = BB000001000000000000000101 /* pngerror.c */; };
+ BB000001000000000000000202 /* pngget.c in Sources */ = {isa = PBXBuildFile; fileRef = BB000001000000000000000201 /* pngget.c */; };
+ BB000001000000000000000302 /* pngmem.c in Sources */ = {isa = PBXBuildFile; fileRef = BB000001000000000000000301 /* pngmem.c */; };
+ BB000001000000000000000402 /* pngpread.c in Sources */ = {isa = PBXBuildFile; fileRef = BB000001000000000000000401 /* pngpread.c */; };
+ BB000001000000000000000502 /* pngread.c in Sources */ = {isa = PBXBuildFile; fileRef = BB000001000000000000000501 /* pngread.c */; };
+ BB000001000000000000000602 /* pngrio.c in Sources */ = {isa = PBXBuildFile; fileRef = BB000001000000000000000601 /* pngrio.c */; };
+ BB000001000000000000000702 /* pngrtran.c in Sources */ = {isa = PBXBuildFile; fileRef = BB000001000000000000000701 /* pngrtran.c */; };
+ BB000001000000000000000802 /* pngrutil.c in Sources */ = {isa = PBXBuildFile; fileRef = BB000001000000000000000801 /* pngrutil.c */; };
+ BB000001000000000000000902 /* pngset.c in Sources */ = {isa = PBXBuildFile; fileRef = BB000001000000000000000901 /* pngset.c */; };
+ BB000001000000000000000A02 /* pngtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = BB000001000000000000000A01 /* pngtrans.c */; };
+ BB000001000000000000000B02 /* pngwio.c in Sources */ = {isa = PBXBuildFile; fileRef = BB000001000000000000000B01 /* pngwio.c */; };
+ BB000001000000000000000C02 /* pngwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = BB000001000000000000000C01 /* pngwrite.c */; };
+ BB000001000000000000000D02 /* pngwtran.c in Sources */ = {isa = PBXBuildFile; fileRef = BB000001000000000000000D01 /* pngwtran.c */; };
+ BB000001000000000000000E02 /* pngwutil.c in Sources */ = {isa = PBXBuildFile; fileRef = BB000001000000000000000E01 /* pngwutil.c */; };
+ BBARM000000000000000000002 /* arm_init.c in Sources */ = {isa = PBXBuildFile; fileRef = BBARM000000000000000000001 /* arm_init.c */; };
+ BBARM000000000000000000102 /* filter_neon_intrinsics.c in Sources */ = {isa = PBXBuildFile; fileRef = BBARM000000000000000000101 /* filter_neon_intrinsics.c */; };
+ BBARM000000000000000000202 /* palette_neon_intrinsics.c in Sources */ = {isa = PBXBuildFile; fileRef = BBARM000000000000000000201 /* palette_neon_intrinsics.c */; };
+ /* SDL2 embed build files */
+ SDLSA00000000000000000001 /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = SDLSA00000000000000000011 /* SDL2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+ SDLSA00000000000000000002 /* SDL2_mixer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = SDLSA00000000000000000012 /* SDL2_mixer.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */
-/* Begin PBXCopyFilesBuildPhase section */
- 5D70BB2712B7208900A1AB17 /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = "";
- dstSubfolderSpec = 10;
- files = (
- 5DD5C5982AB84B7A00357191 /* libfmod.dylib in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
+
/* Begin PBXFileReference section */
089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; };
@@ -190,17 +199,15 @@
5D361D492AB83C0E006C5169 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
5D361D4F2AB83E01006C5169 /* UTF16TestMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UTF16TestMenu.h; path = ../source/GUI/UTF16TestMenu.h; sourceTree = ""; };
5D361D502AB83E03006C5169 /* UTF16TestMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UTF16TestMenu.cpp; path = ../source/GUI/UTF16TestMenu.cpp; sourceTree = ""; };
- 5D423E4E2AB828D300A99994 /* AudioManagerFMODStudio.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AudioManagerFMODStudio.cpp; path = ../../shared/Audio/AudioManagerFMODStudio.cpp; sourceTree = ""; };
- 5D423E4F2AB828D300A99994 /* AudioManagerFMODStudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AudioManagerFMODStudio.h; path = ../../shared/Audio/AudioManagerFMODStudio.h; sourceTree = ""; };
5D70B61A12B5FED300A1AB17 /* PlatformSetupOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PlatformSetupOSX.h; path = ../../shared/OSX/PlatformSetupOSX.h; sourceTree = SOURCE_ROOT; };
5D70B61B12B5FED300A1AB17 /* OSXUtils.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = OSXUtils.mm; path = ../../shared/OSX/OSXUtils.mm; sourceTree = SOURCE_ROOT; };
5D70B61C12B5FED300A1AB17 /* OSXUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OSXUtils.h; path = ../../shared/OSX/OSXUtils.h; sourceTree = SOURCE_ROOT; };
- 5D70B61E12B5FED300A1AB17 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
- 5D70B61F12B5FED300A1AB17 /* MainController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainController.h; sourceTree = ""; };
- 5D70B62012B5FED300A1AB17 /* MainController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MainController.mm; sourceTree = ""; };
- 5D70B62112B5FED300A1AB17 /* MyApplication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyApplication.h; sourceTree = ""; };
- 5D70B62312B5FED300A1AB17 /* MyOpenGLView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyOpenGLView.h; sourceTree = ""; };
- 5D70B62412B5FED300A1AB17 /* MyOpenGLView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MyOpenGLView.mm; sourceTree = ""; };
+ 5D70B61E12B5FED300A1AB17 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ../../shared/OSX/app/main.m; sourceTree = SOURCE_ROOT; };
+ 5D70B61F12B5FED300A1AB17 /* MainController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ../../shared/OSX/app/MainController.h; sourceTree = SOURCE_ROOT; };
+ 5D70B62012B5FED300A1AB17 /* MainController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ../../shared/OSX/app/MainController.mm; sourceTree = SOURCE_ROOT; };
+ 5D70B62112B5FED300A1AB17 /* MyApplication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ../../shared/OSX/app/MyApplication.h; sourceTree = SOURCE_ROOT; };
+ 5D70B62312B5FED300A1AB17 /* MyOpenGLView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ../../shared/OSX/app/MyOpenGLView.h; sourceTree = SOURCE_ROOT; };
+ 5D70B62412B5FED300A1AB17 /* MyOpenGLView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ../../shared/OSX/app/MyOpenGLView.mm; sourceTree = SOURCE_ROOT; };
5D70B6B212B606DB00A1AB17 /* StreamingInstanceZip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StreamingInstanceZip.h; path = ../../shared/FileSystem/StreamingInstanceZip.h; sourceTree = SOURCE_ROOT; };
5D70B6B312B606DB00A1AB17 /* StreamingInstanceZip.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StreamingInstanceZip.cpp; path = ../../shared/FileSystem/StreamingInstanceZip.cpp; sourceTree = SOURCE_ROOT; };
5D70B6B412B606DB00A1AB17 /* StreamingInstanceFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StreamingInstanceFile.h; path = ../../shared/FileSystem/StreamingInstanceFile.h; sourceTree = SOURCE_ROOT; };
@@ -231,6 +238,8 @@
5D70B6CF12B606DC00A1AB17 /* NetUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetUtils.h; path = ../../shared/Network/NetUtils.h; sourceTree = SOURCE_ROOT; };
5D70B6D312B606DC00A1AB17 /* AudioManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AudioManager.cpp; path = ../../shared/Audio/AudioManager.cpp; sourceTree = SOURCE_ROOT; };
5D70B6D412B606DC00A1AB17 /* AudioManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AudioManager.h; path = ../../shared/Audio/AudioManager.h; sourceTree = SOURCE_ROOT; };
+AA000003000000000000AA01 /* AudioManagerSDL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AudioManagerSDL.cpp; path = ../../shared/Audio/AudioManagerSDL.cpp; sourceTree = ""; };
+AA000003000000000000AA02 /* AudioManagerSDL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AudioManagerSDL.h; path = ../../shared/Audio/AudioManagerSDL.h; sourceTree = ""; };
5D70B6D812B606DC00A1AB17 /* vec4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = vec4.cpp; path = "../../shared/ClanLib-2.0/Sources/Core/Math/vec4.cpp"; sourceTree = SOURCE_ROOT; };
5D70B6D912B606DC00A1AB17 /* vec1.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = vec1.cpp; path = "../../shared/ClanLib-2.0/Sources/Core/Math/vec1.cpp"; sourceTree = SOURCE_ROOT; };
5D70B6DA12B606DC00A1AB17 /* mat4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mat4.cpp; path = "../../shared/ClanLib-2.0/Sources/Core/Math/mat4.cpp"; sourceTree = SOURCE_ROOT; };
@@ -372,9 +381,9 @@
5D70B82A12B6072D00A1AB17 /* DebugMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DebugMenu.h; path = ../source/GUI/DebugMenu.h; sourceTree = SOURCE_ROOT; };
5D70B82B12B6072D00A1AB17 /* MainMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MainMenu.cpp; path = ../source/GUI/MainMenu.cpp; sourceTree = SOURCE_ROOT; };
5D70B82C12B6072D00A1AB17 /* MainMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MainMenu.h; path = ../source/GUI/MainMenu.h; sourceTree = SOURCE_ROOT; };
- 5D70B83312B6074D00A1AB17 /* audio */ = {isa = PBXFileReference; lastKnownFileType = folder; name = audio; path = ../bin/audio; sourceTree = SOURCE_ROOT; };
- 5D70B83512B6075B00A1AB17 /* game */ = {isa = PBXFileReference; lastKnownFileType = folder; name = game; path = ../bin/game; sourceTree = SOURCE_ROOT; };
- 5D70C4BE12B7586D00A1AB17 /* MyApplication.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MyApplication.mm; sourceTree = ""; };
+ 5D70B83312B6074D00A1AB17 /* audio */ = {isa = PBXFileReference; lastKnownFileType = folder; name = audio; path = ../media/audio; sourceTree = SOURCE_ROOT; };
+ 5D70B83512B6075B00A1AB17 /* game */ = {isa = PBXFileReference; lastKnownFileType = folder; name = game; path = ../media/game; sourceTree = SOURCE_ROOT; };
+ 5D70C4BE12B7586D00A1AB17 /* MyApplication.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ../../shared/OSX/app/MyApplication.mm; sourceTree = SOURCE_ROOT; };
5D8E367E14BEF412003BA3DA /* JPGSurfaceLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JPGSurfaceLoader.h; path = ../../shared/Renderer/JPGSurfaceLoader.h; sourceTree = SOURCE_ROOT; };
5D8E367F14BEF412003BA3DA /* RTGLESExt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RTGLESExt.h; path = ../../shared/Renderer/RTGLESExt.h; sourceTree = SOURCE_ROOT; };
5D8E368014BEF412003BA3DA /* JPGSurfaceLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JPGSurfaceLoader.cpp; path = ../../shared/Renderer/JPGSurfaceLoader.cpp; sourceTree = SOURCE_ROOT; };
@@ -427,10 +436,9 @@
5D8E36B214BEF45B003BA3DA /* jutils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = ../../shared/Irrlicht/source/Irrlicht/jpeglib/jutils.c; sourceTree = SOURCE_ROOT; };
5D8E37AF14BF0C85003BA3DA /* RenderScissorComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenderScissorComponent.h; path = ../../shared/Entity/RenderScissorComponent.h; sourceTree = SOURCE_ROOT; };
5D8E37B014BF0C85003BA3DA /* RenderScissorComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenderScissorComponent.cpp; path = ../../shared/Entity/RenderScissorComponent.cpp; sourceTree = SOURCE_ROOT; };
- 5DD5C5942AB8471F00357191 /* libfmod.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = libfmod.dylib; sourceTree = ""; };
5DDE02A312B4F526000C5CC0 /* App.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = App.h; path = ../source/App.h; sourceTree = SOURCE_ROOT; };
5DDE02A412B4F526000C5CC0 /* App.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = App.cpp; path = ../source/App.cpp; sourceTree = SOURCE_ROOT; };
- 5DDE05A912B58EBD000C5CC0 /* interface */ = {isa = PBXFileReference; lastKnownFileType = folder; name = interface; path = ../bin/interface; sourceTree = SOURCE_ROOT; };
+ 5DDE05A912B58EBD000C5CC0 /* interface */ = {isa = PBXFileReference; lastKnownFileType = folder; name = interface; path = ../media/interface; sourceTree = SOURCE_ROOT; };
5DEB1B8912D309CE00A3A6DB /* TouchTestComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TouchTestComponent.h; path = ../source/Component/TouchTestComponent.h; sourceTree = SOURCE_ROOT; };
5DEB1B8A12D309CE00A3A6DB /* TouchTestComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TouchTestComponent.cpp; path = ../source/Component/TouchTestComponent.cpp; sourceTree = SOURCE_ROOT; };
5DEB1B8C12D309D700A3A6DB /* TouchTestMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TouchTestMenu.h; path = ../source/GUI/TouchTestMenu.h; sourceTree = SOURCE_ROOT; };
@@ -443,14 +451,50 @@
AF9DBBC5113C611C00D05754 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
AFBD7715113895850015E685 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = ""; };
AFD4D889113C504F00C2DE76 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
+ /* SDL2 framework references */
+ SDLSA00000000000000000011 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = "$(HOME)/Library/Frameworks/SDL2.framework"; sourceTree = ""; };
+ SDLSA00000000000000000012 /* SDL2_mixer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2_mixer.framework; path = "$(HOME)/Library/Frameworks/SDL2_mixer.framework"; sourceTree = ""; };
+ /* libpng file references */
+ BB000001000000000000000001 /* png.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = png.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/png.c; sourceTree = SOURCE_ROOT; };
+ BB000001000000000000000101 /* pngerror.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngerror.c; sourceTree = SOURCE_ROOT; };
+ BB000001000000000000000201 /* pngget.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngget.c; sourceTree = SOURCE_ROOT; };
+ BB000001000000000000000301 /* pngmem.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngmem.c; sourceTree = SOURCE_ROOT; };
+ BB000001000000000000000401 /* pngpread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngpread.c; sourceTree = SOURCE_ROOT; };
+ BB000001000000000000000501 /* pngread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngread.c; sourceTree = SOURCE_ROOT; };
+ BB000001000000000000000601 /* pngrio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngrio.c; sourceTree = SOURCE_ROOT; };
+ BB000001000000000000000701 /* pngrtran.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngrtran.c; sourceTree = SOURCE_ROOT; };
+ BB000001000000000000000801 /* pngrutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngrutil.c; sourceTree = SOURCE_ROOT; };
+ BB000001000000000000000901 /* pngset.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngset.c; sourceTree = SOURCE_ROOT; };
+ BB000001000000000000000A01 /* pngtrans.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngtrans.c; sourceTree = SOURCE_ROOT; };
+ BB000001000000000000000B01 /* pngwio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngwio.c; sourceTree = SOURCE_ROOT; };
+ BB000001000000000000000C01 /* pngwrite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngwrite.c; sourceTree = SOURCE_ROOT; };
+ BB000001000000000000000D01 /* pngwtran.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngwtran.c; sourceTree = SOURCE_ROOT; };
+ BB000001000000000000000E01 /* pngwutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/pngwutil.c; sourceTree = SOURCE_ROOT; };
+ BBARM000000000000000000001 /* arm_init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = arm_init.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/arm/arm_init.c; sourceTree = SOURCE_ROOT; };
+ BBARM000000000000000000101 /* filter_neon_intrinsics.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = filter_neon_intrinsics.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/arm/filter_neon_intrinsics.c; sourceTree = SOURCE_ROOT; };
+ BBARM000000000000000000201 /* palette_neon_intrinsics.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = palette_neon_intrinsics.c; path = ../../shared/Irrlicht/source/Irrlicht/libpng/arm/palette_neon_intrinsics.c; sourceTree = SOURCE_ROOT; };
/* End PBXFileReference section */
+/* Begin PBXCopyFilesBuildPhase section */
+ SDLSA00000000000000000020 /* Embed Frameworks */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ SDLSA00000000000000000001 /* SDL2.framework in Frameworks */,
+ SDLSA00000000000000000002 /* SDL2_mixer.framework in Frameworks */,
+ );
+ name = "Embed Frameworks";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
/* Begin PBXFrameworksBuildPhase section */
8D11072E0486CEB800E47090 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 5DD5C5952AB8471F00357191 /* libfmod.dylib in Frameworks */,
5D361D4A2AB83C0E006C5169 /* libz.tbd in Frameworks */,
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
AFD4D88A113C504F00C2DE76 /* OpenGL.framework in Frameworks */,
@@ -529,7 +573,6 @@
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
isa = PBXGroup;
children = (
- 5DD5C5942AB8471F00357191 /* libfmod.dylib */,
5D361D492AB83C0E006C5169 /* libz.tbd */,
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
@@ -615,10 +658,10 @@
5D70B6D012B606DC00A1AB17 /* Audio */ = {
isa = PBXGroup;
children = (
- 5D423E4E2AB828D300A99994 /* AudioManagerFMODStudio.cpp */,
- 5D423E4F2AB828D300A99994 /* AudioManagerFMODStudio.h */,
5D70B6D312B606DC00A1AB17 /* AudioManager.cpp */,
5D70B6D412B606DC00A1AB17 /* AudioManager.h */,
+ AA000003000000000000AA01 /* AudioManagerSDL.cpp */,
+ AA000003000000000000AA02 /* AudioManagerSDL.h */,
);
name = Audio;
sourceTree = "";
@@ -750,6 +793,7 @@
isa = PBXGroup;
children = (
5D8E368414BEF420003BA3DA /* libjpg */,
+ BB000001000000000000FF01 /* libpng */,
5D8E367E14BEF412003BA3DA /* JPGSurfaceLoader.h */,
5D8E367F14BEF412003BA3DA /* RTGLESExt.h */,
5D8E368014BEF412003BA3DA /* JPGSurfaceLoader.cpp */,
@@ -948,6 +992,31 @@
name = shared;
sourceTree = "";
};
+ BB000001000000000000FF01 /* libpng */ = {
+ isa = PBXGroup;
+ children = (
+ BB000001000000000000000001 /* png.c */,
+ BB000001000000000000000101 /* pngerror.c */,
+ BB000001000000000000000201 /* pngget.c */,
+ BB000001000000000000000301 /* pngmem.c */,
+ BB000001000000000000000401 /* pngpread.c */,
+ BB000001000000000000000501 /* pngread.c */,
+ BB000001000000000000000601 /* pngrio.c */,
+ BB000001000000000000000701 /* pngrtran.c */,
+ BB000001000000000000000801 /* pngrutil.c */,
+ BB000001000000000000000901 /* pngset.c */,
+ BB000001000000000000000A01 /* pngtrans.c */,
+ BB000001000000000000000B01 /* pngwio.c */,
+ BB000001000000000000000C01 /* pngwrite.c */,
+ BB000001000000000000000D01 /* pngwtran.c */,
+ BB000001000000000000000E01 /* pngwutil.c */,
+ BBARM000000000000000000001 /* arm_init.c */,
+ BBARM000000000000000000101 /* filter_neon_intrinsics.c */,
+ BBARM000000000000000000201 /* palette_neon_intrinsics.c */,
+ );
+ name = libpng;
+ sourceTree = "";
+ };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -958,7 +1027,7 @@
8D1107290486CEB800E47090 /* Resources */,
8D11072C0486CEB800E47090 /* Sources */,
8D11072E0486CEB800E47090 /* Frameworks */,
- 5D70BB2712B7208900A1AB17 /* CopyFiles */,
+ SDLSA00000000000000000020 /* Embed Frameworks */,
);
buildRules = (
);
@@ -1037,6 +1106,7 @@
5D70B7AD12B606DC00A1AB17 /* NetSocket.cpp in Sources */,
5D70B7AE12B606DC00A1AB17 /* NetUtils.cpp in Sources */,
5D70B7B012B606DC00A1AB17 /* AudioManager.cpp in Sources */,
+AA000004000000000000AA01 /* AudioManagerSDL.cpp in Sources */,
5D70B7B112B606DC00A1AB17 /* vec4.cpp in Sources */,
5D70B7B212B606DC00A1AB17 /* vec1.cpp in Sources */,
5D70B7B312B606DC00A1AB17 /* mat4.cpp in Sources */,
@@ -1081,7 +1151,6 @@
5D70B7F612B606DC00A1AB17 /* L_EffectEmitter.cpp in Sources */,
5D70B7F712B606DC00A1AB17 /* L_EffectManager.cpp in Sources */,
5D70B7F812B606DC00A1AB17 /* L_ExplosionEffect.cpp in Sources */,
- 5D423E502AB828D300A99994 /* AudioManagerFMODStudio.cpp in Sources */,
5D70B7F912B606DC00A1AB17 /* L_MotionController.cpp in Sources */,
5D70B7FA12B606DC00A1AB17 /* L_Particle.cpp in Sources */,
5D70B7FB12B606DC00A1AB17 /* L_ParticleEffect.cpp in Sources */,
@@ -1163,6 +1232,24 @@
5D8E36DE14BEF45B003BA3DA /* jquant1.c in Sources */,
5D8E36DF14BEF45B003BA3DA /* jquant2.c in Sources */,
5D8E36E014BEF45B003BA3DA /* jutils.c in Sources */,
+ BB000001000000000000000002 /* png.c in Sources */,
+ BB000001000000000000000102 /* pngerror.c in Sources */,
+ BB000001000000000000000202 /* pngget.c in Sources */,
+ BB000001000000000000000302 /* pngmem.c in Sources */,
+ BB000001000000000000000402 /* pngpread.c in Sources */,
+ BB000001000000000000000502 /* pngread.c in Sources */,
+ BB000001000000000000000602 /* pngrio.c in Sources */,
+ BB000001000000000000000702 /* pngrtran.c in Sources */,
+ BB000001000000000000000802 /* pngrutil.c in Sources */,
+ BB000001000000000000000902 /* pngset.c in Sources */,
+ BB000001000000000000000A02 /* pngtrans.c in Sources */,
+ BB000001000000000000000B02 /* pngwio.c in Sources */,
+ BB000001000000000000000C02 /* pngwrite.c in Sources */,
+ BB000001000000000000000D02 /* pngwtran.c in Sources */,
+ BB000001000000000000000E02 /* pngwutil.c in Sources */,
+ BBARM000000000000000000002 /* arm_init.c in Sources */,
+ BBARM000000000000000000102 /* filter_neon_intrinsics.c in Sources */,
+ BBARM000000000000000000202 /* palette_neon_intrinsics.c in Sources */,
5D8E37B114BF0C85003BA3DA /* RenderScissorComponent.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -1204,12 +1291,14 @@
"$(LD_RUNPATH_SEARCH_PATHS_$(IS_MACCATALYST))",
"@executable_path/../Frameworks",
);
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- /Users/seth/thirdpartylibs/fmod/api/core/lib,
- "$(PROJECT_DIR)",
- );
- MACOSX_DEPLOYMENT_TARGET = 10.13;
+LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)",
+ );
+ FRAMEWORK_SEARCH_PATHS = "$(HOME)/Library/Frameworks";
+ OTHER_LDFLAGS = "-framework SDL2 -framework SDL2_mixer -rpath @executable_path/../Frameworks";
+ MACOSX_DEPLOYMENT_TARGET = 11.0;
+ "EXCLUDED_SOURCE_FILE_NAMES[arch=x86_64]" = "arm_init.c filter_neon_intrinsics.c palette_neon_intrinsics.c";
PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)";
PRODUCT_NAME = RTSimpleApp;
};
@@ -1226,12 +1315,14 @@
"$(LD_RUNPATH_SEARCH_PATHS_$(IS_MACCATALYST))",
"@executable_path/../Frameworks",
);
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- /Users/seth/thirdpartylibs/fmod/api/core/lib,
- "$(PROJECT_DIR)",
- );
- MACOSX_DEPLOYMENT_TARGET = 10.13;
+LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)",
+ );
+ FRAMEWORK_SEARCH_PATHS = "$(HOME)/Library/Frameworks";
+ OTHER_LDFLAGS = "-framework SDL2 -framework SDL2_mixer -rpath @executable_path/../Frameworks";
+ MACOSX_DEPLOYMENT_TARGET = 11.0;
+ "EXCLUDED_SOURCE_FILE_NAMES[arch=x86_64]" = "arm_init.c filter_neon_intrinsics.c palette_neon_intrinsics.c";
PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)";
PRODUCT_NAME = RTSimpleApp;
};
@@ -1246,27 +1337,32 @@
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = ../../shared/PlatformPrecomp.h;
- GCC_PREPROCESSOR_DEFINITIONS = (
- _DEBUG,
- BOOST_ALL_NO_LIB,
- PLATFORM_OSX,
- C_GL_MODE,
- RT_JPG_SUPPORT,
- );
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- HEADER_SEARCH_PATHS = (
- ../source,
- ../../shared,
- ../../shared/util/boost/,
- "../../shared/ClanLib-2.0/Sources",
- ../../shared/FliteTTS/include,
- ../../shared/OSX,
- "/Users/seth/thirdpartylibs/fmod/api/core/inc/**",
- );
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- ONLY_ACTIVE_ARCH = YES;
- SDKROOT = macosx13.3;
+GCC_PREPROCESSOR_DEFINITIONS = (
+ _DEBUG,
+ BOOST_ALL_NO_LIB,
+ PLATFORM_OSX,
+ C_GL_MODE,
+ RT_JPG_SUPPORT,
+ RT_PNG_SUPPORT,
+ RT_IPV6,
+ GL_SILENCE_DEPRECATION,
+ RT_USE_SDL_AUDIO,
+ );
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ ../source,
+ ../../shared,
+ ../../shared/util/boost/,
+ "../../shared/ClanLib-2.0/Sources",
+ ../../shared/FliteTTS/include,
+ ../../shared/OSX,
+ "$(HOME)/Library/Frameworks/SDL2.framework/Headers",
+ "$(HOME)/Library/Frameworks/SDL2_mixer.framework/Headers",
+ );
+ MACOSX_DEPLOYMENT_TARGET = 11.0;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = macosx;
};
name = Debug;
};
@@ -1276,26 +1372,31 @@
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = ../../shared/PlatformPrecomp.h;
- GCC_PREPROCESSOR_DEFINITIONS = (
- RT_JPG_SUPPORT,
- PLATFORM_OSX,
- BOOST_ALL_NO_LIB,
- NDEBUG,
- C_GL_MODE,
- );
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- HEADER_SEARCH_PATHS = (
- ../source,
- ../../shared,
- ../../shared/util/boost/,
- "../../shared/ClanLib-2.0/Sources",
- ../../shared/FliteTTS/include,
- ../../shared/OSX,
- "/Users/seth/thirdpartylibs/fmod/api/core/inc/**",
- );
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- SDKROOT = macosx13.3;
+GCC_PREPROCESSOR_DEFINITIONS = (
+ RT_JPG_SUPPORT,
+ RT_PNG_SUPPORT,
+ RT_IPV6,
+ PLATFORM_OSX,
+ BOOST_ALL_NO_LIB,
+ NDEBUG,
+ C_GL_MODE,
+ GL_SILENCE_DEPRECATION,
+ RT_USE_SDL_AUDIO,
+ );
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ ../source,
+ ../../shared,
+ ../../shared/util/boost/,
+ "../../shared/ClanLib-2.0/Sources",
+ ../../shared/FliteTTS/include,
+ ../../shared/OSX,
+ "$(HOME)/Library/Frameworks/SDL2.framework/Headers",
+ "$(HOME)/Library/Frameworks/SDL2_mixer.framework/Headers",
+ );
+ MACOSX_DEPLOYMENT_TARGET = 11.0;
+ SDKROOT = macosx;
};
name = Release;
};
diff --git a/RTSimpleApp/source/App.cpp b/RTSimpleApp/source/App.cpp
index 33ea21ff..7add6aa2 100644
--- a/RTSimpleApp/source/App.cpp
+++ b/RTSimpleApp/source/App.cpp
@@ -31,15 +31,12 @@ FileManager * GetFileManager() {return &g_fileManager;}
AudioManagerDenshion g_audioManager;
#else
- //it's being compiled as a native OSX app
- #include "Audio/AudioManagerFMODStudio.h"
- AudioManagerFMOD g_audioManager; //dummy with no sound
-
-//in theory, CocosDenshion should work for the Mac builds, but right now it seems to want a big chunk of
-//Cocos2d included so I'm not fiddling with it for now
-
-//#include "Audio/AudioManagerDenshion.h"
-//AudioManagerDenshion g_audioManager;
+ //it's being compiled as a native OSX app - use SDL audio, no FMOD required
+#include "Audio/AudioManagerSDL.h"
+#include
+ AudioManagerSDL g_audioManager;
+ // Required by MainController.mm and BaseApp.cpp - defined in SDL2Main.cpp for SDL builds
+ bool g_bIsFullScreen = false;
#endif
#else
@@ -176,22 +173,23 @@ bool App::Init()
{
return true;
}
-
+
+#if defined(__APPLE__) && !TARGET_OS_IPHONE
+ // Initialize SDL before BaseApp::Init() which triggers SDL audio init
+ SDL_Init(0);
+#endif
+
if (!BaseApp::Init()) return false;
+
+
LogMsg("Save path is %s", GetSavePath().c_str());
- if (!GetFont(FONT_SMALL)->Load("interface/font_arial.rtfont"))
- {
- LogMsg("Can't load font 1");
- return false;
- }
+ if (!GetFont(FONT_SMALL)->Load("interface/font_arial.rtfont"))
+ LogMsg("Warning: Can't load font_arial.rtfont - run update_media.sh to generate fonts");
if (!GetFont(FONT_LARGE)->Load("interface/font_arial_big.rtfont"))
- {
- LogMsg("Can't load font 2");
- return false;
- }
+ LogMsg("Warning: Can't load font_arial_big.rtfont - run update_media.sh to generate fonts");
//GetFont(FONT_SMALL)->SetSmoothing(false); //if we wanted to disable bilinear filtering on the font
GetBaseApp()->SetFPSVisible(true);
@@ -221,8 +219,13 @@ void App::Kill()
void App::Update()
{
+#if defined(__APPLE__) && !TARGET_OS_IPHONE
+ SDL_PumpEvents();
+#endif
BaseApp::Update();
+
+
if (!m_bDidPostInit)
{
m_bDidPostInit = true;
diff --git a/shared/Gamepad/GamepadProviderSDL2.cpp b/shared/Gamepad/GamepadProviderSDL2.cpp
index eae5ecbf..d2ae1a3e 100644
--- a/shared/Gamepad/GamepadProviderSDL2.cpp
+++ b/shared/Gamepad/GamepadProviderSDL2.cpp
@@ -71,12 +71,17 @@ void GamepadProviderSDL2::OnSDLEvent(VariantList* pVList)
case SDL_CONTROLLERDEVICEADDED:
+ case SDL_JOYDEVICEADDED:
{
+ // Both mapped controllers (SDL_CONTROLLERDEVICEADDED) and generic/unmapped
+ // HID gamepads like Lukton (SDL_JOYDEVICEADDED) are handled here.
+ // AddGamepadBySDLID falls back to SDL_JoystickOpen for unmapped devices.
AddGamepadBySDLID(pEvent->jdevice.which);
break;
}
case SDL_CONTROLLERDEVICEREMOVED:
+ case SDL_JOYDEVICEREMOVED:
{
SDL_JoystickID joystickID = SDL_JOYSTICK_ID_OFFSET + pEvent->jdevice.which;
//LogMsg("Joystick removed, instance id: %d\n", joystickID);
diff --git a/shared/Irrlicht/source/Irrlicht/libpng/pnglibconf.h b/shared/Irrlicht/source/Irrlicht/libpng/pnglibconf.h
new file mode 100644
index 00000000..1e21b37b
--- /dev/null
+++ b/shared/Irrlicht/source/Irrlicht/libpng/pnglibconf.h
@@ -0,0 +1,233 @@
+/* pnglibconf.h - library build configuration */
+
+/* libpng version 1.6.55 */
+
+/* Copyright (c) 2018-2026 Cosmin Truta */
+/* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson */
+
+/* This code is released under the libpng license. */
+/* For conditions of distribution and use, see the disclaimer */
+/* and license in png.h */
+
+/* pnglibconf.h */
+/* Machine generated file: DO NOT EDIT */
+/* Derived from: scripts/pnglibconf.dfa */
+#ifndef PNGLCONF_H
+#define PNGLCONF_H
+/* options */
+#define PNG_16BIT_SUPPORTED
+#define PNG_ALIGNED_MEMORY_SUPPORTED
+/*#undef PNG_ARM_NEON_API_SUPPORTED*/
+/*#undef PNG_ARM_NEON_CHECK_SUPPORTED*/
+#define PNG_BENIGN_ERRORS_SUPPORTED
+#define PNG_BENIGN_READ_ERRORS_SUPPORTED
+/*#undef PNG_BENIGN_WRITE_ERRORS_SUPPORTED*/
+#define PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED
+#define PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED
+#define PNG_COLORSPACE_SUPPORTED
+#define PNG_CONSOLE_IO_SUPPORTED
+#define PNG_CONVERT_tIME_SUPPORTED
+/*#undef PNG_DISABLE_ADLER32_CHECK_SUPPORTED*/
+#define PNG_EASY_ACCESS_SUPPORTED
+/*#undef PNG_ERROR_NUMBERS_SUPPORTED*/
+#define PNG_ERROR_TEXT_SUPPORTED
+#define PNG_FIXED_POINT_SUPPORTED
+#define PNG_FLOATING_ARITHMETIC_SUPPORTED
+#define PNG_FLOATING_POINT_SUPPORTED
+#define PNG_FORMAT_AFIRST_SUPPORTED
+#define PNG_FORMAT_BGR_SUPPORTED
+#define PNG_GAMMA_SUPPORTED
+#define PNG_GET_PALETTE_MAX_SUPPORTED
+#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED
+#define PNG_INCH_CONVERSIONS_SUPPORTED
+#define PNG_INFO_IMAGE_SUPPORTED
+#define PNG_IO_STATE_SUPPORTED
+/*#undef PNG_MIPS_MMI_API_SUPPORTED*/
+/*#undef PNG_MIPS_MMI_CHECK_SUPPORTED*/
+/*#undef PNG_MIPS_MSA_API_SUPPORTED*/
+/*#undef PNG_MIPS_MSA_CHECK_SUPPORTED*/
+#define PNG_MNG_FEATURES_SUPPORTED
+#define PNG_POINTER_INDEXING_SUPPORTED
+/*#undef PNG_POWERPC_VSX_API_SUPPORTED*/
+/*#undef PNG_POWERPC_VSX_CHECK_SUPPORTED*/
+#define PNG_PROGRESSIVE_READ_SUPPORTED
+#define PNG_READ_16BIT_SUPPORTED
+#define PNG_READ_ALPHA_MODE_SUPPORTED
+#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED
+#define PNG_READ_BACKGROUND_SUPPORTED
+#define PNG_READ_BGR_SUPPORTED
+#define PNG_READ_CHECK_FOR_INVALID_INDEX_SUPPORTED
+#define PNG_READ_COMPOSITE_NODIV_SUPPORTED
+#define PNG_READ_COMPRESSED_TEXT_SUPPORTED
+#define PNG_READ_EXPAND_16_SUPPORTED
+#define PNG_READ_EXPAND_SUPPORTED
+#define PNG_READ_FILLER_SUPPORTED
+#define PNG_READ_GAMMA_SUPPORTED
+#define PNG_READ_GET_PALETTE_MAX_SUPPORTED
+#define PNG_READ_GRAY_TO_RGB_SUPPORTED
+#define PNG_READ_INTERLACING_SUPPORTED
+#define PNG_READ_INT_FUNCTIONS_SUPPORTED
+#define PNG_READ_INVERT_ALPHA_SUPPORTED
+#define PNG_READ_INVERT_SUPPORTED
+#define PNG_READ_OPT_PLTE_SUPPORTED
+#define PNG_READ_PACKSWAP_SUPPORTED
+#define PNG_READ_PACK_SUPPORTED
+#define PNG_READ_QUANTIZE_SUPPORTED
+#define PNG_READ_RGB_TO_GRAY_SUPPORTED
+#define PNG_READ_SCALE_16_TO_8_SUPPORTED
+#define PNG_READ_SHIFT_SUPPORTED
+#define PNG_READ_STRIP_16_TO_8_SUPPORTED
+#define PNG_READ_STRIP_ALPHA_SUPPORTED
+#define PNG_READ_SUPPORTED
+#define PNG_READ_SWAP_ALPHA_SUPPORTED
+#define PNG_READ_SWAP_SUPPORTED
+#define PNG_READ_TEXT_SUPPORTED
+#define PNG_READ_TRANSFORMS_SUPPORTED
+#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
+#define PNG_READ_USER_CHUNKS_SUPPORTED
+#define PNG_READ_USER_TRANSFORM_SUPPORTED
+#define PNG_READ_bKGD_SUPPORTED
+#define PNG_READ_cHRM_SUPPORTED
+#define PNG_READ_cICP_SUPPORTED
+#define PNG_READ_cLLI_SUPPORTED
+#define PNG_READ_eXIf_SUPPORTED
+#define PNG_READ_gAMA_SUPPORTED
+#define PNG_READ_hIST_SUPPORTED
+#define PNG_READ_iCCP_SUPPORTED
+#define PNG_READ_iTXt_SUPPORTED
+#define PNG_READ_mDCV_SUPPORTED
+#define PNG_READ_oFFs_SUPPORTED
+#define PNG_READ_pCAL_SUPPORTED
+#define PNG_READ_pHYs_SUPPORTED
+#define PNG_READ_sBIT_SUPPORTED
+#define PNG_READ_sCAL_SUPPORTED
+#define PNG_READ_sPLT_SUPPORTED
+#define PNG_READ_sRGB_SUPPORTED
+#define PNG_READ_tEXt_SUPPORTED
+#define PNG_READ_tIME_SUPPORTED
+#define PNG_READ_tRNS_SUPPORTED
+#define PNG_READ_zTXt_SUPPORTED
+#define PNG_SAVE_INT_32_SUPPORTED
+#define PNG_SAVE_UNKNOWN_CHUNKS_SUPPORTED
+#define PNG_SEQUENTIAL_READ_SUPPORTED
+#define PNG_SETJMP_SUPPORTED
+#define PNG_SET_OPTION_SUPPORTED
+#define PNG_SET_UNKNOWN_CHUNKS_SUPPORTED
+#define PNG_SET_USER_LIMITS_SUPPORTED
+#define PNG_SIMPLIFIED_READ_AFIRST_SUPPORTED
+#define PNG_SIMPLIFIED_READ_BGR_SUPPORTED
+#define PNG_SIMPLIFIED_READ_SUPPORTED
+#define PNG_SIMPLIFIED_WRITE_AFIRST_SUPPORTED
+#define PNG_SIMPLIFIED_WRITE_BGR_SUPPORTED
+#define PNG_SIMPLIFIED_WRITE_STDIO_SUPPORTED
+#define PNG_SIMPLIFIED_WRITE_SUPPORTED
+#define PNG_STDIO_SUPPORTED
+#define PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED
+#define PNG_TEXT_SUPPORTED
+#define PNG_TIME_RFC1123_SUPPORTED
+#define PNG_UNKNOWN_CHUNKS_SUPPORTED
+#define PNG_USER_CHUNKS_SUPPORTED
+#define PNG_USER_LIMITS_SUPPORTED
+#define PNG_USER_MEM_SUPPORTED
+#define PNG_USER_TRANSFORM_INFO_SUPPORTED
+#define PNG_USER_TRANSFORM_PTR_SUPPORTED
+#define PNG_WARNINGS_SUPPORTED
+#define PNG_WRITE_16BIT_SUPPORTED
+#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED
+#define PNG_WRITE_BGR_SUPPORTED
+#define PNG_WRITE_CHECK_FOR_INVALID_INDEX_SUPPORTED
+#define PNG_WRITE_COMPRESSED_TEXT_SUPPORTED
+#define PNG_WRITE_CUSTOMIZE_COMPRESSION_SUPPORTED
+#define PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED
+#define PNG_WRITE_FILLER_SUPPORTED
+#define PNG_WRITE_FILTER_SUPPORTED
+#define PNG_WRITE_FLUSH_SUPPORTED
+#define PNG_WRITE_GET_PALETTE_MAX_SUPPORTED
+#define PNG_WRITE_INTERLACING_SUPPORTED
+#define PNG_WRITE_INT_FUNCTIONS_SUPPORTED
+#define PNG_WRITE_INVERT_ALPHA_SUPPORTED
+#define PNG_WRITE_INVERT_SUPPORTED
+#define PNG_WRITE_OPTIMIZE_CMF_SUPPORTED
+#define PNG_WRITE_PACKSWAP_SUPPORTED
+#define PNG_WRITE_PACK_SUPPORTED
+#define PNG_WRITE_SHIFT_SUPPORTED
+#define PNG_WRITE_SUPPORTED
+#define PNG_WRITE_SWAP_ALPHA_SUPPORTED
+#define PNG_WRITE_SWAP_SUPPORTED
+#define PNG_WRITE_TEXT_SUPPORTED
+#define PNG_WRITE_TRANSFORMS_SUPPORTED
+#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
+#define PNG_WRITE_USER_TRANSFORM_SUPPORTED
+#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
+#define PNG_WRITE_bKGD_SUPPORTED
+#define PNG_WRITE_cHRM_SUPPORTED
+#define PNG_WRITE_cICP_SUPPORTED
+#define PNG_WRITE_cLLI_SUPPORTED
+#define PNG_WRITE_eXIf_SUPPORTED
+#define PNG_WRITE_gAMA_SUPPORTED
+#define PNG_WRITE_hIST_SUPPORTED
+#define PNG_WRITE_iCCP_SUPPORTED
+#define PNG_WRITE_iTXt_SUPPORTED
+#define PNG_WRITE_mDCV_SUPPORTED
+#define PNG_WRITE_oFFs_SUPPORTED
+#define PNG_WRITE_pCAL_SUPPORTED
+#define PNG_WRITE_pHYs_SUPPORTED
+#define PNG_WRITE_sBIT_SUPPORTED
+#define PNG_WRITE_sCAL_SUPPORTED
+#define PNG_WRITE_sPLT_SUPPORTED
+#define PNG_WRITE_sRGB_SUPPORTED
+#define PNG_WRITE_tEXt_SUPPORTED
+#define PNG_WRITE_tIME_SUPPORTED
+#define PNG_WRITE_tRNS_SUPPORTED
+#define PNG_WRITE_zTXt_SUPPORTED
+#define PNG_bKGD_SUPPORTED
+#define PNG_cHRM_SUPPORTED
+#define PNG_cICP_SUPPORTED
+#define PNG_cLLI_SUPPORTED
+#define PNG_eXIf_SUPPORTED
+#define PNG_gAMA_SUPPORTED
+#define PNG_hIST_SUPPORTED
+#define PNG_iCCP_SUPPORTED
+#define PNG_iTXt_SUPPORTED
+#define PNG_mDCV_SUPPORTED
+#define PNG_oFFs_SUPPORTED
+#define PNG_pCAL_SUPPORTED
+#define PNG_pHYs_SUPPORTED
+#define PNG_sBIT_SUPPORTED
+#define PNG_sCAL_SUPPORTED
+#define PNG_sPLT_SUPPORTED
+#define PNG_sRGB_SUPPORTED
+#define PNG_tEXt_SUPPORTED
+#define PNG_tIME_SUPPORTED
+#define PNG_tRNS_SUPPORTED
+#define PNG_zTXt_SUPPORTED
+/* end of options */
+/* settings */
+#define PNG_API_RULE 0
+#define PNG_DEFAULT_READ_MACROS 1
+#define PNG_GAMMA_THRESHOLD_FIXED 5000
+#define PNG_IDAT_READ_SIZE PNG_ZBUF_SIZE
+#define PNG_INFLATE_BUF_SIZE 1024
+#define PNG_LINKAGE_API extern
+#define PNG_LINKAGE_CALLBACK extern
+#define PNG_LINKAGE_DATA extern
+#define PNG_LINKAGE_FUNCTION extern
+#define PNG_MAX_GAMMA_8 11
+#define PNG_QUANTIZE_BLUE_BITS 5
+#define PNG_QUANTIZE_GREEN_BITS 5
+#define PNG_QUANTIZE_RED_BITS 5
+#define PNG_TEXT_Z_DEFAULT_COMPRESSION (-1)
+#define PNG_TEXT_Z_DEFAULT_STRATEGY 0
+#define PNG_USER_CHUNK_CACHE_MAX 1000
+#define PNG_USER_CHUNK_MALLOC_MAX 8000000
+#define PNG_USER_HEIGHT_MAX 1000000
+#define PNG_USER_WIDTH_MAX 1000000
+#define PNG_ZBUF_SIZE 8192
+#define PNG_ZLIB_VERNUM 0 /* unknown */
+#define PNG_Z_DEFAULT_COMPRESSION (-1)
+#define PNG_Z_DEFAULT_NOFILTER_STRATEGY 0
+#define PNG_Z_DEFAULT_STRATEGY 1
+#define PNG_sCAL_PRECISION 5
+#define PNG_sRGB_PROFILE_CHECKS 2
+/* end of settings */
+#endif /* PNGLCONF_H */
diff --git a/shared/OSX/OSXUtils.h b/shared/OSX/OSXUtils.h
index 7cbc3484..3121d53f 100644
--- a/shared/OSX/OSXUtils.h
+++ b/shared/OSX/OSXUtils.h
@@ -13,5 +13,6 @@
void InitDeviceScreenInfoEx(int width, int height, int orientation);
int ConvertOSXKeycodeToProtonVirtualKey(int c);
+void OSXToggleFullscreen();
#endif
diff --git a/shared/OSX/OSXUtils.mm b/shared/OSX/OSXUtils.mm
index 3049521a..33886704 100644
--- a/shared/OSX/OSXUtils.mm
+++ b/shared/OSX/OSXUtils.mm
@@ -572,6 +572,14 @@ int GetTouchesReceived()
{
return 0; //uh, not accurate
}
+
+void OSXToggleFullscreen()
+{
+ dispatch_async(dispatch_get_main_queue(), ^{
+ NSWindow *window = [NSApp mainWindow];
+ [window toggleFullScreen:nil];
+ });
+}
bool IsStillLoadingPersistentData()
{
return false;
diff --git a/shared/OSX/app/MainController.h b/shared/OSX/app/MainController.h
index 5b97c5e4..6dd92b9c 100644
--- a/shared/OSX/app/MainController.h
+++ b/shared/OSX/app/MainController.h
@@ -3,38 +3,21 @@
#import
#import "PlatformSetup.h"
#import "BaseApp.h"
+#import "App.h"
@class MyOpenGLView;
@class Scene;
@interface MainController : NSResponder
{
-
- BOOL isInFullScreenMode;
-
- // full-screen mode
-#if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_5
- NSWindow *fullScreenWindow;
- MyOpenGLView *fullScreenView;
-#else
- CGLContextObj fullScreenContextObj;
-#endif
-
- // window mdoe
+ // window mode
IBOutlet MyOpenGLView *openGLView;
-
- //Scene *scene;
+
BOOL isAnimating;
CFAbsoluteTime renderTime;
}
-- (IBAction) goFullScreen:(id)sender;
-- (void) goWindow;
-
-//- (Scene*) scene;
-
- (CFAbsoluteTime) renderTime;
- (void) setRenderTime:(CFAbsoluteTime)time;
-- (void) OnResizeFinished;
@end
diff --git a/shared/OSX/app/MainController.mm b/shared/OSX/app/MainController.mm
index 46ac32cb..7482c9ba 100644
--- a/shared/OSX/app/MainController.mm
+++ b/shared/OSX/app/MainController.mm
@@ -5,9 +5,39 @@
@implementation MainController
-- (void) awakeFromNib
-{
+
+- (void)applicationDidFinishLaunching:(NSNotification *)notification
+{
+ // No window XIB exists for macOS — create window and OpenGL view programmatically.
+ // Read saved resolution; fall back to 1024x768 if not yet saved.
+ // (save.dat is loaded later by the app, so we use NSUserDefaults as a
+ // lightweight pre-init store, updated by OnScreenSizeChange.)
+ int w = 1024, h = 768;
+
+ NSRect frame = NSMakeRect(0, 0, w, h);
+ NSWindow *window = [[NSWindow alloc]
+ initWithContentRect:frame
+ styleMask:NSWindowStyleMaskTitled |
+ NSWindowStyleMaskClosable |
+ NSWindowStyleMaskMiniaturizable |
+ NSWindowStyleMaskResizable
+ backing:NSBackingStoreBuffered
+ defer:NO];
+ NSString *appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleName"];
+ if (!appName) appName = @"App";
+ [window setTitle:appName];
+ [window setReleasedWhenClosed:NO];
+ [window setDelegate:(id)self];
+
+ // Create the OpenGL view filling the whole content area
+ openGLView = [[MyOpenGLView alloc] initWithFrame:frame];
+ [window setContentView:openGLView];
+
+ // Trigger the same setup that awakeFromNib would have done via XIB
[openGLView awakeFromNib];
+
+ [window center];
+ [window makeKeyAndOrderFront:nil];
}
- (void) dealloc
@@ -61,30 +91,14 @@ - (NSSize) computeFrameSize: (NSSize) frameSize
- (NSSize)windowWillResize:(NSWindow*)sender
toSize:(NSSize)frameSize
{
-
-
frameSize = [self computeFrameSize: frameSize];
-
- [self OnResizeFinished];
-
- return frameSize;
-}
-
-- (void) OnResizeFinished
-{
- NSRect bounds = [openGLView bounds];
- LogMsg("Finished resizing");
- // CGLLockContext( (_CGLContextObject*)[[openGLView openGLContext] CGLContextObj]);
- InitDeviceScreenInfoEx(bounds.size.width, bounds.size.height, ORIENTATION_LANDSCAPE_LEFT);
- // CGLUnlockContext( (_CGLContextObject*) [[openGLView openGLContext] CGLContextObj]);
-
+ return frameSize;
}
- (void) windowDidResize: (NSNotification *) aNotification
{
- NSLog (@"windowDidResize: called");
-
- [openGLView reshape];
+ // reshape updates OpenGL viewport and calls InitDeviceScreenInfoEx with correct new bounds
+ [openGLView reshape];
}
- (void)windowDidMiniaturize:(NSNotification *)notification
@@ -146,8 +160,27 @@ - (void)windowDidDeminiaturize:(NSNotification *)notification
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender
{
- NSLog(@"Last window closed MainController");
- return YES;
+ // Return NO - we handle termination via applicationWillTerminate
+ // Returning YES was causing immediate exit when window wasn't visible yet
+ return NO;
+}
+
+- (void)windowDidEnterFullScreen:(NSNotification *)notification
+{
+ extern bool g_bIsFullScreen;
+ g_bIsFullScreen = true;
+}
+
+- (void)windowDidExitFullScreen:(NSNotification *)notification
+{
+ extern bool g_bIsFullScreen;
+ g_bIsFullScreen = false;
+ [openGLView reshape];
+}
+
+- (void)windowWillClose:(NSNotification *)notification
+{
+ [NSApp terminate:nil];
}
- (void)applicationWillTerminate:(NSNotification *)notification
diff --git a/shared/OSX/app/MyOpenGLView.mm b/shared/OSX/app/MyOpenGLView.mm
index 1f473d82..f3ad5506 100644
--- a/shared/OSX/app/MyOpenGLView.mm
+++ b/shared/OSX/app/MyOpenGLView.mm
@@ -6,39 +6,80 @@ @implementation MyOpenGLView
+ (NSOpenGLPixelFormat*) basicPixelFormat
{
NSOpenGLPixelFormatAttribute attributes [] = {
- NSOpenGLPFAWindow,
- NSOpenGLPFADoubleBuffer, // double buffered
- NSOpenGLPFADepthSize, (NSOpenGLPixelFormatAttribute)16, // 16 bit depth buffer
- (NSOpenGLPixelFormatAttribute)nil
+ NSOpenGLPFADoubleBuffer,
+ NSOpenGLPFADepthSize, (NSOpenGLPixelFormatAttribute)16,
+ NSOpenGLPFAOpenGLProfile, (NSOpenGLPixelFormatAttribute)NSOpenGLProfileVersionLegacy,
+ (NSOpenGLPixelFormatAttribute)0
};
- return [[[NSOpenGLPixelFormat alloc] initWithAttributes:attributes] autorelease];
+ NSOpenGLPixelFormat *pf = [[[NSOpenGLPixelFormat alloc] initWithAttributes:attributes] autorelease];
+ if (!pf)
+ {
+ // Fallback: minimal pixel format
+ NSOpenGLPixelFormatAttribute fallback [] = {
+ NSOpenGLPFADoubleBuffer,
+ (NSOpenGLPixelFormatAttribute)0
+ };
+ pf = [[[NSOpenGLPixelFormat alloc] initWithAttributes:fallback] autorelease];
+ }
+ return pf;
}
// per-window timer function, basic time based animation preformed here
- (void)animationTimer:(NSTimer *)timer
{
- [self drawRect:[self bounds]]; // redraw now instead dirty to enable updates during live resize
+ // Use display instead of calling drawRect directly -
+ // this properly triggers the display cycle and ensures
+ // the OpenGL context is current before drawing
+ [self display];
}
- (void) drawRect:(NSRect)rect
{
+ // Ensure our OpenGL context is current
[[self openGLContext] makeCurrentContext];
-
+
+ // prepareOpenGL is called lazily by the system on first display.
+ // If it hasn't fired yet and we have valid bounds, call it now.
+ if (!GetBaseApp()->IsInitted())
+ {
+ NSRect bounds = [self bounds];
+ if (bounds.size.width > 0 && bounds.size.height > 0)
+ {
+ [self prepareOpenGL];
+ }
+ else
+ {
+ // No valid bounds yet - clear to black and wait
+ glClearColor(0, 0, 0, 1);
+ glClear(GL_COLOR_BUFFER_BIT);
+ [[self openGLContext] flushBuffer];
+ return;
+ }
+ }
+
if (GetBaseApp()->IsInitted())
{
+ // Drain the OS message queue - this is how SetVideoMode, quit, etc. reach us.
+ // On other platforms SDL2Main.cpp or LinuxMain.cpp does this; on macOS we do it here.
+ while (!GetBaseApp()->GetOSMessages()->empty())
+ {
+ OSMessage m = GetBaseApp()->GetOSMessages()->front();
+ GetBaseApp()->GetOSMessages()->pop_front();
+ [self onOSMessage:&m];
+ }
+
GetBaseApp()->Update();
-
- if(!m_bQuitASAP)
+
+ if (!m_bQuitASAP)
{
GetBaseApp()->Draw();
}
}
-
- if ([self inLiveResize] )
- glFlush ();
+
+ if ([self inLiveResize])
+ glFlush();
else
[[self openGLContext] flushBuffer];
-
}
// ---------------------------------
@@ -47,22 +88,29 @@ - (void) drawRect:(NSRect)rect
// called after context is created
- (void) prepareOpenGL
{
-
[super prepareOpenGL];
-
- GLint swapInt = 1;
- [[self openGLContext] setValues:&swapInt forParameter:NSOpenGLCPSwapInterval]; // set to vbl sync
+ GLint swapInt = 1;
+ [[self openGLContext] setValues:&swapInt forParameter:NSOpenGLCPSwapInterval];
- GetBaseApp()->Init();
-
NSRect bounds = [self bounds];
-
InitDeviceScreenInfoEx(bounds.size.width, bounds.size.height, ORIENTATION_LANDSCAPE_LEFT);
-
}
// ---------------------------------
+- (void) reshape
+{
+ [super reshape];
+ NSRect bounds = [self bounds];
+ int w = (int)bounds.size.width;
+ int h = (int)bounds.size.height;
+ if (w > 0 && h > 0)
+ {
+ InitDeviceScreenInfoEx(w, h, ORIENTATION_LANDSCAPE_LEFT);
+ [[self openGLContext] update];
+ }
+}
+
- (void) update // window resizes, moves and display changes (resize, depth and display config change)
{
[super update];
@@ -107,36 +155,29 @@ - (BOOL)resignFirstResponder
- (void) awakeFromNib
{
- // set start values...
-
- time = CFAbsoluteTimeGetCurrent (); // set animation time start time
-
- // start animation timer
+ time = CFAbsoluteTimeGetCurrent();
+
+ // Set working directory to bundle Resources so relative paths work
+ CFBundleRef mainBundle = CFBundleGetMainBundle();
+ CFURLRef resourcesURL = CFBundleCopyResourcesDirectoryURL(mainBundle);
+ char path[PATH_MAX];
+ if (!CFURLGetFileSystemRepresentation(resourcesURL, TRUE, (UInt8 *)path, PATH_MAX))
+ {
+ LogMsg("Error getting bundle path");
+ }
+ CFRelease(resourcesURL);
+ chdir(path);
+
+ // Start animation timer - prepareOpenGL will be called by the system
+ // on the first real draw when the window has valid bounds
timer = [NSTimer timerWithTimeInterval:(1.0f/60.0f) target:self selector:@selector(animationTimer:) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
- [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSEventTrackingRunLoopMode]; // ensure timer fires during resize
-
-
- // Look for changes in view size
- // Note, -reshape will not be called automatically on size changes because NSView does not export it to override
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(reshape)
- name:NSViewGlobalFrameDidChangeNotification
- object:self];
-
- //make the working directory our resources dir, to match other platforms. Shouldn't really matter as GetAppPath() will return it, and we usually use full
- //path names to load stuff anyway.
-
- CFBundleRef mainBundle = CFBundleGetMainBundle();
- CFURLRef resourcesURL = CFBundleCopyResourcesDirectoryURL(mainBundle);
- char path[PATH_MAX];
- if (!CFURLGetFileSystemRepresentation(resourcesURL, TRUE, (UInt8 *)path, PATH_MAX))
- {
- LogMsg("Error getting bundle path");
- }
- CFRelease(resourcesURL);
- chdir(path);
-
+ [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSEventTrackingRunLoopMode];
+
+ [[NSNotificationCenter defaultCenter] addObserver:self
+ selector:@selector(reshape)
+ name:NSViewGlobalFrameDidChangeNotification
+ object:self];
}
@@ -298,13 +339,17 @@ - (void)onOSMessage:(OSMessage *)pMsg
break;
case OSMessage::MESSAGE_SET_VIDEO_MODE:
{
- NSWindow *window = [NSApp mainWindow];
- NSSize frameSize;
- frameSize.width = pMsg->m_x;
- frameSize.height = pMsg->m_y;
- [window setContentSize:frameSize];
- [window center];
- }
+ NSWindow *window = [self window];
+ if (!window) window = [NSApp mainWindow];
+ if (window)
+ {
+ NSSize frameSize;
+ frameSize.width = pMsg->m_x;
+ frameSize.height = pMsg->m_y;
+ [window setContentSize:frameSize];
+ [window center];
+ }
+ }
break;
default: