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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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: