From 22f449b38963f32a7f2677637a3b3726dc856711 Mon Sep 17 00:00:00 2001 From: Sappharad Date: Wed, 26 Apr 2023 21:54:30 -0500 Subject: [PATCH 01/13] Initial changes for macOS to build and run No bundled dependencies required. Follow the steps in the instructions to download SDL2, libogg and libvorbis and extract them into the appropriate folders. You may also need to run the configure steps on ogg and vorbis for missing files to be generated, but once all files exist the LibOggAndVorbis Xcode project is a subproject of RSDKv4 so everything will build for you --- .gitignore | 3 +- RSDKv4.xcodeproj/project.pbxproj | 273 ++++- RSDKv4/Ini.cpp | 2 - RSDKv4/Reader.cpp | 4 +- RSDKv4/Userdata.cpp | 8 +- .../OggAndVorbis.xcodeproj/project.pbxproj | 1057 +++++++++++++++++ .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/vorbis.xcscheme | 66 + dependencies/mac/cocoaHelpers.hpp | 4 +- dependencies/mac/cocoaHelpers.mm | 35 +- 10 files changed, 1421 insertions(+), 39 deletions(-) create mode 100644 dependencies/mac/OggAndVorbis.xcodeproj/project.pbxproj create mode 100644 dependencies/mac/OggAndVorbis.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 dependencies/mac/OggAndVorbis.xcodeproj/xcshareddata/xcschemes/vorbis.xcscheme diff --git a/.gitignore b/.gitignore index 21079b6a7..109acc72f 100644 --- a/.gitignore +++ b/.gitignore @@ -280,4 +280,5 @@ android/local.properties # Linux .flatpak-builder flatpak/*.apk -build-dir \ No newline at end of file +build-dir +dependencies/mac/OggAndVorbis.xcodeproj/project.xcworkspace/xcuserdata diff --git a/RSDKv4.xcodeproj/project.pbxproj b/RSDKv4.xcodeproj/project.pbxproj index 210f8a474..e3d041f46 100644 --- a/RSDKv4.xcodeproj/project.pbxproj +++ b/RSDKv4.xcodeproj/project.pbxproj @@ -7,12 +7,13 @@ objects = { /* Begin PBXBuildFile section */ - C928352A26461CDB00D51CCE /* Vorbis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C96219932589B51000B47AB3 /* Vorbis.framework */; }; - C928352B26461CDB00D51CCE /* Vorbis.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C96219932589B51000B47AB3 /* Vorbis.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - C928352D26461CDC00D51CCE /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C96219832589B10600B47AB3 /* SDL2.framework */; }; - C928352E26461CDC00D51CCE /* SDL2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C96219832589B10600B47AB3 /* SDL2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - C928352F26461CDE00D51CCE /* Ogg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C96219902589B50100B47AB3 /* Ogg.framework */; }; - C928353026461CDE00D51CCE /* Ogg.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C96219902589B50100B47AB3 /* Ogg.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9E03821C29EE36BF00629FE3 /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9E03820729EE36AE00629FE3 /* SDL2.framework */; }; + 9E03821D29EE36BF00629FE3 /* SDL2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9E03820729EE36AE00629FE3 /* SDL2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9EA0884B29FA0CBB00163B50 /* Ogg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9EA0883D29FA0CB600163B50 /* Ogg.framework */; }; + 9EA0884C29FA0CBB00163B50 /* Ogg.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9EA0883D29FA0CB600163B50 /* Ogg.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9EA0884D29FA0CBB00163B50 /* Vorbis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9EA0883F29FA0CB600163B50 /* Vorbis.framework */; }; + 9EA0884E29FA0CBB00163B50 /* Vorbis.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9EA0883F29FA0CB600163B50 /* Vorbis.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9EA0885F29FA11B000163B50 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9EA0885129FA11AF00163B50 /* AppKit.framework */; }; C9283534264621BB00D51CCE /* cocoaHelpers.mm in Sources */ = {isa = PBXBuildFile; fileRef = C9283533264621BB00D51CCE /* cocoaHelpers.mm */; }; C962193925898B0B00B47AB3 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C962193625898B0A00B47AB3 /* Assets.xcassets */; }; C962193E25898B6000B47AB3 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C962193C25898B6000B47AB3 /* Main.storyboard */; }; @@ -83,6 +84,100 @@ C975E72126E31AC000F09AD4 /* tinyxml2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E72026E31AC000F09AD4 /* tinyxml2.cpp */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + 9E03820629EE36AE00629FE3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = BECDF66C0761BA81005FE872; + remoteInfo = Framework; + }; + 9E03820829EE36AE00629FE3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = A7D88B5423E2437C00DCD162; + remoteInfo = "Framework-iOS"; + }; + 9E03820A29EE36AE00629FE3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = A7D88D1523E24BED00DCD162; + remoteInfo = "Framework-tvOS"; + }; + 9E03820C29EE36AE00629FE3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = E2D187CF28A5673500D2B4F1; + remoteInfo = "xcFramework-iOS"; + }; + 9E03820E29EE36AE00629FE3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = BECDF6B30761BA81005FE872; + remoteInfo = "Static Library"; + }; + 9E03821029EE36AE00629FE3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = A7D88E5423E24D3B00DCD162; + remoteInfo = "Static Library-iOS"; + }; + 9E03821229EE36AE00629FE3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = A769B23D23E259AE00872273; + remoteInfo = "Static Library-tvOS"; + }; + 9E03821429EE36AE00629FE3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = DB31407717554B71006C0E22; + remoteInfo = "Shared Library"; + }; + 9E03821629EE36AE00629FE3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = A75FCEB323E25AB700529352; + remoteInfo = "Shared Library-iOS"; + }; + 9E03821829EE36AE00629FE3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = A75FD06C23E25AC700529352; + remoteInfo = "Shared Library-tvOS"; + }; + 9E03821A29EE36AE00629FE3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = BECDF6BE0761BA81005FE872; + remoteInfo = "Standard DMG"; + }; + 9EA0883C29FA0CB600163B50 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9E0381F029EE366300629FE3 /* OggAndVorbis.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 9EA087D229FA013200163B50; + remoteInfo = Ogg; + }; + 9EA0883E29FA0CB600163B50 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9E0381F029EE366300629FE3 /* OggAndVorbis.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 9EA087E629FA099200163B50; + remoteInfo = Vorbis; + }; +/* End PBXContainerItemProxy section */ + /* Begin PBXCopyFilesBuildPhase section */ C928352C26461CDB00D51CCE /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; @@ -90,9 +185,9 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - C928353026461CDE00D51CCE /* Ogg.framework in Embed Frameworks */, - C928352B26461CDB00D51CCE /* Vorbis.framework in Embed Frameworks */, - C928352E26461CDC00D51CCE /* SDL2.framework in Embed Frameworks */, + 9EA0884C29FA0CBB00163B50 /* Ogg.framework in Embed Frameworks */, + 9E03821D29EE36BF00629FE3 /* SDL2.framework in Embed Frameworks */, + 9EA0884E29FA0CBB00163B50 /* Vorbis.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -100,6 +195,9 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 9E0381F029EE366300629FE3 /* OggAndVorbis.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = OggAndVorbis.xcodeproj; path = dependencies/mac/OggAndVorbis.xcodeproj; sourceTree = ""; }; + 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SDL.xcodeproj; path = dependencies/mac/SDL2/Xcode/SDL/SDL.xcodeproj; sourceTree = ""; }; + 9EA0885129FA11AF00163B50 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; C9283533264621BB00D51CCE /* cocoaHelpers.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = cocoaHelpers.mm; path = dependencies/mac/cocoaHelpers.mm; sourceTree = SOURCE_ROOT; }; C9283535264621C800D51CCE /* cocoaHelpers.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = cocoaHelpers.hpp; path = dependencies/mac/cocoaHelpers.hpp; sourceTree = SOURCE_ROOT; }; C962191925898A9300B47AB3 /* RSDKv4.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RSDKv4.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -144,12 +242,6 @@ C962196925898BF600B47AB3 /* Text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Text.cpp; path = RSDKv4/Text.cpp; sourceTree = SOURCE_ROOT; }; C962196A25898BF600B47AB3 /* Collision.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Collision.cpp; path = RSDKv4/Collision.cpp; sourceTree = SOURCE_ROOT; }; C962196B25898BF600B47AB3 /* Reader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Reader.cpp; path = RSDKv4/Reader.cpp; sourceTree = SOURCE_ROOT; }; - C96219832589B10600B47AB3 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = dependencies/mac/SDL2.framework; sourceTree = ""; }; - C96219892589B3D900B47AB3 /* Ogg.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Ogg.framework; path = dependencies/mac/ogg/macosx/Ogg.framework; sourceTree = ""; }; - C962198C2589B3EF00B47AB3 /* Vorbis.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Vorbis.framework; path = "dependencies/mac/libvorbis-1.3.7/macosx/Vorbis.framework"; sourceTree = ""; }; - C96219902589B50100B47AB3 /* Ogg.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Ogg.framework; path = dependencies/mac/libogg/macosx/Ogg.framework; sourceTree = ""; }; - C96219932589B51000B47AB3 /* Vorbis.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Vorbis.framework; path = dependencies/mac/libvorbis/macosx/Vorbis.framework; sourceTree = ""; }; - C96219962589B51E00B47AB3 /* Theora.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Theora.framework; path = dependencies/mac/libtheora/macosx/Theora.framework; sourceTree = ""; }; C975E69826E3190B00F09AD4 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; C975E69A26E3194F00F09AD4 /* InstructionsScreen.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = InstructionsScreen.hpp; path = NativeObjects/InstructionsScreen.hpp; sourceTree = ""; }; C975E69B26E3194F00F09AD4 /* MenuControl.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = MenuControl.hpp; path = NativeObjects/MenuControl.hpp; sourceTree = ""; }; @@ -241,7 +333,6 @@ C975E71E26E31AA800F09AD4 /* stb_image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = stb_image.h; path = "dependencies/all/stb-image/stb_image.h"; sourceTree = SOURCE_ROOT; }; C975E71F26E31AB200F09AD4 /* tinyxml2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = tinyxml2.h; path = dependencies/all/tinyxml2/tinyxml2.h; sourceTree = SOURCE_ROOT; }; C975E72026E31AC000F09AD4 /* tinyxml2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = tinyxml2.cpp; path = dependencies/all/tinyxml2/tinyxml2.cpp; sourceTree = SOURCE_ROOT; }; - C975E72226E31F0700F09AD4 /* libGLEW.2.1.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libGLEW.2.1.0.dylib; path = dependencies/mac/glew/2.1.0_1/lib/libGLEW.2.1.0.dylib; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -249,16 +340,44 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C928352F26461CDE00D51CCE /* Ogg.framework in Frameworks */, + 9EA0884B29FA0CBB00163B50 /* Ogg.framework in Frameworks */, + 9EA0884D29FA0CBB00163B50 /* Vorbis.framework in Frameworks */, + 9EA0885F29FA11B000163B50 /* AppKit.framework in Frameworks */, C975E69926E3190B00F09AD4 /* OpenGL.framework in Frameworks */, - C928352D26461CDC00D51CCE /* SDL2.framework in Frameworks */, - C928352A26461CDB00D51CCE /* Vorbis.framework in Frameworks */, + 9E03821C29EE36BF00629FE3 /* SDL2.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 9E0381F129EE366300629FE3 /* Products */ = { + isa = PBXGroup; + children = ( + 9EA0883D29FA0CB600163B50 /* Ogg.framework */, + 9EA0883F29FA0CB600163B50 /* Vorbis.framework */, + ); + name = Products; + sourceTree = ""; + }; + 9E0381F929EE36AE00629FE3 /* Products */ = { + isa = PBXGroup; + children = ( + 9E03820729EE36AE00629FE3 /* SDL2.framework */, + 9E03820929EE36AE00629FE3 /* SDL2.framework */, + 9E03820B29EE36AE00629FE3 /* SDL2.framework */, + 9E03820D29EE36AE00629FE3 /* SDL2.framework */, + 9E03820F29EE36AE00629FE3 /* libSDL2.a */, + 9E03821129EE36AE00629FE3 /* libSDL2.a */, + 9E03821329EE36AE00629FE3 /* libSDL2.a */, + 9E03821529EE36AE00629FE3 /* libSDL2.dylib */, + 9E03821729EE36AE00629FE3 /* libSDL2.dylib */, + 9E03821929EE36AE00629FE3 /* libSDL2.dylib */, + 9E03821B29EE36AE00629FE3 /* SDL2 */, + ); + name = Products; + sourceTree = ""; + }; C92835312646219900D51CCE /* Helpers */ = { isa = PBXGroup; children = ( @@ -281,6 +400,8 @@ C962191025898A9300B47AB3 = { isa = PBXGroup; children = ( + 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */, + 9E0381F029EE366300629FE3 /* OggAndVorbis.xcodeproj */, C962191B25898A9300B47AB3 /* RSDKv4 */, C962191A25898A9300B47AB3 /* Products */, C96219822589B10600B47AB3 /* Frameworks */, @@ -372,14 +493,8 @@ C96219822589B10600B47AB3 /* Frameworks */ = { isa = PBXGroup; children = ( - C975E72226E31F0700F09AD4 /* libGLEW.2.1.0.dylib */, + 9EA0885129FA11AF00163B50 /* AppKit.framework */, C975E69826E3190B00F09AD4 /* OpenGL.framework */, - C96219962589B51E00B47AB3 /* Theora.framework */, - C96219932589B51000B47AB3 /* Vorbis.framework */, - C96219902589B50100B47AB3 /* Ogg.framework */, - C962198C2589B3EF00B47AB3 /* Vorbis.framework */, - C96219892589B3D900B47AB3 /* Ogg.framework */, - C96219832589B10600B47AB3 /* SDL2.framework */, ); name = Frameworks; sourceTree = ""; @@ -525,6 +640,16 @@ mainGroup = C962191025898A9300B47AB3; productRefGroup = C962191A25898A9300B47AB3 /* Products */; projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 9E0381F129EE366300629FE3 /* Products */; + ProjectRef = 9E0381F029EE366300629FE3 /* OggAndVorbis.xcodeproj */; + }, + { + ProductGroup = 9E0381F929EE36AE00629FE3 /* Products */; + ProjectRef = 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */; + }, + ); projectRoot = ""; targets = ( C962191825898A9300B47AB3 /* RSDKv4 */, @@ -532,6 +657,100 @@ }; /* End PBXProject section */ +/* Begin PBXReferenceProxy section */ + 9E03820729EE36AE00629FE3 /* SDL2.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = SDL2.framework; + remoteRef = 9E03820629EE36AE00629FE3 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9E03820929EE36AE00629FE3 /* SDL2.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = SDL2.framework; + remoteRef = 9E03820829EE36AE00629FE3 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9E03820B29EE36AE00629FE3 /* SDL2.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = SDL2.framework; + remoteRef = 9E03820A29EE36AE00629FE3 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9E03820D29EE36AE00629FE3 /* SDL2.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = SDL2.framework; + remoteRef = 9E03820C29EE36AE00629FE3 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9E03820F29EE36AE00629FE3 /* libSDL2.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libSDL2.a; + remoteRef = 9E03820E29EE36AE00629FE3 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9E03821129EE36AE00629FE3 /* libSDL2.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libSDL2.a; + remoteRef = 9E03821029EE36AE00629FE3 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9E03821329EE36AE00629FE3 /* libSDL2.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libSDL2.a; + remoteRef = 9E03821229EE36AE00629FE3 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9E03821529EE36AE00629FE3 /* libSDL2.dylib */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.dylib"; + path = libSDL2.dylib; + remoteRef = 9E03821429EE36AE00629FE3 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9E03821729EE36AE00629FE3 /* libSDL2.dylib */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.dylib"; + path = libSDL2.dylib; + remoteRef = 9E03821629EE36AE00629FE3 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9E03821929EE36AE00629FE3 /* libSDL2.dylib */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.dylib"; + path = libSDL2.dylib; + remoteRef = 9E03821829EE36AE00629FE3 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9E03821B29EE36AE00629FE3 /* SDL2 */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.executable"; + path = SDL2; + remoteRef = 9E03821A29EE36AE00629FE3 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9EA0883D29FA0CB600163B50 /* Ogg.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = Ogg.framework; + remoteRef = 9EA0883C29FA0CB600163B50 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9EA0883F29FA0CB600163B50 /* Vorbis.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = Vorbis.framework; + remoteRef = 9EA0883E29FA0CB600163B50 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + /* Begin PBXResourcesBuildPhase section */ C962191725898A9300B47AB3 /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -777,6 +996,7 @@ "$(inherited)", "$(PROJECT_DIR)/dependencies/mac/glew/2.1.0_1/lib", ); + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 1.3.0; PRODUCT_BUNDLE_IDENTIFIER = Decomp.RSDKv4; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -815,6 +1035,7 @@ "$(inherited)", "$(PROJECT_DIR)/dependencies/mac/glew/2.1.0_1/lib", ); + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 1.3.0; PRODUCT_BUNDLE_IDENTIFIER = Decomp.RSDKv4; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/RSDKv4/Ini.cpp b/RSDKv4/Ini.cpp index 3ec266abb..1da8e595c 100644 --- a/RSDKv4/Ini.cpp +++ b/RSDKv4/Ini.cpp @@ -264,8 +264,6 @@ void IniParser::Write(const char *filename, bool addPath) sprintf(pathBuffer, "%s/%s", getResourcesPath(), filename); else sprintf(pathBuffer, "%s", filename); -#elif RETRO_PLATFORM == RETRO_OSX - sprintf(pathBuffer, "%s/%s", gamePath, filename); #else sprintf(pathBuffer, "%s", filename); #endif diff --git a/RSDKv4/Reader.cpp b/RSDKv4/Reader.cpp index 977135034..882593b2b 100644 --- a/RSDKv4/Reader.cpp +++ b/RSDKv4/Reader.cpp @@ -28,9 +28,7 @@ bool CheckRSDKFile(const char *filePath) char filePathBuffer[0x100]; #if RETRO_PLATFORM == RETRO_OSX - char pathBuf[0x100]; - sprintf(pathBuf, "%s/%s", gamePath, filePathBuffer); - sprintf(filePathBuffer, "%s", pathBuf); + sprintf(filePathBuffer, "%s/%s", gamePath, filePath); #else sprintf(filePathBuffer, "%s", filePath); #endif diff --git a/RSDKv4/Userdata.cpp b/RSDKv4/Userdata.cpp index 1bc9a4228..a7b5712f8 100644 --- a/RSDKv4/Userdata.cpp +++ b/RSDKv4/Userdata.cpp @@ -202,8 +202,10 @@ void InitUserdata() #endif #if RETRO_PLATFORM == RETRO_OSX - sprintf(gamePath, "%s/RSDKv4", getResourcesPath()); - sprintf(modsPath, "%s/RSDKv4/", getResourcesPath()); + char macBuffer[0x100]; + getResourcesPath(macBuffer, sizeof(macBuffer)); + snprintf(gamePath, sizeof(macBuffer), "%s/", macBuffer); + snprintf(modsPath, sizeof(macBuffer), "%s/", macBuffer); mkdir(gamePath, 0777); #elif RETRO_PLATFORM == RETRO_ANDROID @@ -1308,4 +1310,4 @@ void ApplyWindowChanges() } -#endif \ No newline at end of file +#endif diff --git a/dependencies/mac/OggAndVorbis.xcodeproj/project.pbxproj b/dependencies/mac/OggAndVorbis.xcodeproj/project.pbxproj new file mode 100644 index 000000000..f3f58a0cf --- /dev/null +++ b/dependencies/mac/OggAndVorbis.xcodeproj/project.pbxproj @@ -0,0 +1,1057 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 53; + objects = { + +/* Begin PBXBuildFile section */ + 9EA087DB29FA014F00163B50 /* config_types.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E0381E629EE345100629FE3 /* config_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9EA087DC29FA015C00163B50 /* crctable.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E0381E429EE345100629FE3 /* crctable.h */; }; + 9EA087DD29FA016100163B50 /* ogg.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E0381E729EE345100629FE3 /* ogg.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9EA087DE29FA016600163B50 /* os_types.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E0381E529EE345100629FE3 /* os_types.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9EA087DF29FA017700163B50 /* bitwise.c in Sources */ = {isa = PBXBuildFile; fileRef = 9E0381EC29EE346200629FE3 /* bitwise.c */; }; + 9EA087E029FA017B00163B50 /* framing.c in Sources */ = {isa = PBXBuildFile; fileRef = 9E0381ED29EE346200629FE3 /* framing.c */; }; + 9EA0880529FA0A2200163B50 /* floor0.c in Sources */ = {isa = PBXBuildFile; fileRef = 0CB78C70565B4C7B800A6264 /* floor0.c */; }; + 9EA0880629FA0A2200163B50 /* res0.c in Sources */ = {isa = PBXBuildFile; fileRef = A0CD691FE3C9470C837007FE /* res0.c */; }; + 9EA0880729FA0A2200163B50 /* sharedbook.c in Sources */ = {isa = PBXBuildFile; fileRef = CF6A16A4420C4891B7F5B0C6 /* sharedbook.c */; }; + 9EA0880829FA0A2200163B50 /* lsp.c in Sources */ = {isa = PBXBuildFile; fileRef = EF9D3394239D406291F7A6F6 /* lsp.c */; }; + 9EA0880929FA0A2200163B50 /* info.c in Sources */ = {isa = PBXBuildFile; fileRef = 086BD2A3B6C045B5A1EAB75C /* info.c */; }; + 9EA0880A29FA0A2200163B50 /* synthesis.c in Sources */ = {isa = PBXBuildFile; fileRef = C78ECAC262314A8D96288D34 /* synthesis.c */; }; + 9EA0880B29FA0A2200163B50 /* vorbisfile.c in Sources */ = {isa = PBXBuildFile; fileRef = A0FD3AB5C25C446BBDA3A17F /* vorbisfile.c */; }; + 9EA0880C29FA0A2200163B50 /* analysis.c in Sources */ = {isa = PBXBuildFile; fileRef = 2AE4B9484AAD4C87B8EB584D /* analysis.c */; }; + 9EA0880D29FA0A2200163B50 /* lpc.c in Sources */ = {isa = PBXBuildFile; fileRef = 88B560F82D684765ADEDA6D4 /* lpc.c */; }; + 9EA0880E29FA0A2200163B50 /* floor1.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3ECE5E971F457FAEC9EAEE /* floor1.c */; }; + 9EA0880F29FA0A2200163B50 /* mapping0.c in Sources */ = {isa = PBXBuildFile; fileRef = C0D4F501565046199373A7F6 /* mapping0.c */; }; + 9EA0881029FA0A2200163B50 /* lookup.c in Sources */ = {isa = PBXBuildFile; fileRef = 810EB1D140EB47C0BC3A3297 /* lookup.c */; }; + 9EA0881129FA0A2200163B50 /* psy.c in Sources */ = {isa = PBXBuildFile; fileRef = 4D0AAAADF4A74F479D699116 /* psy.c */; }; + 9EA0881229FA0A2200163B50 /* registry.c in Sources */ = {isa = PBXBuildFile; fileRef = E9697839815644C48E4C086E /* registry.c */; }; + 9EA0881329FA0A2200163B50 /* vorbisenc.c in Sources */ = {isa = PBXBuildFile; fileRef = 4854E6939F6340E8BF748851 /* vorbisenc.c */; }; + 9EA0881429FA0A2200163B50 /* block.c in Sources */ = {isa = PBXBuildFile; fileRef = 55ED18DF9CC740F992EC2B7B /* block.c */; }; + 9EA0881529FA0A2200163B50 /* smallft.c in Sources */ = {isa = PBXBuildFile; fileRef = 7DD7A63E53514EA6A554A6D5 /* smallft.c */; }; + 9EA0881629FA0A2200163B50 /* mdct.c in Sources */ = {isa = PBXBuildFile; fileRef = 3699942A604A4DD09C325E2C /* mdct.c */; }; + 9EA0881729FA0A2200163B50 /* codebook.c in Sources */ = {isa = PBXBuildFile; fileRef = E4221639FE124A52BA52DC3E /* codebook.c */; }; + 9EA0881829FA0A2200163B50 /* envelope.c in Sources */ = {isa = PBXBuildFile; fileRef = 854102DB3CD04DB0B2C143E3 /* envelope.c */; }; + 9EA0881929FA0A2200163B50 /* window.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CC43347F87C4541B6B5F372 /* window.c */; }; + 9EA0881A29FA0A2200163B50 /* bitrate.c in Sources */ = {isa = PBXBuildFile; fileRef = AA2A103AE7F347C1A5B7A1AC /* bitrate.c */; }; + 9EA0881C29FA0A3C00163B50 /* Ogg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9EA087D229FA013200163B50 /* Ogg.framework */; }; + 9EA0882229FA0B1F00163B50 /* codec.h in Headers */ = {isa = PBXBuildFile; fileRef = 90E372C85A08409F839D5926 /* codec.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9EA0882329FA0B1F00163B50 /* vorbisenc.h in Headers */ = {isa = PBXBuildFile; fileRef = BE1B582AA1C640BF83D48F27 /* vorbisenc.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9EA0882429FA0B1F00163B50 /* vorbisfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F154C5295A9406184827D73 /* vorbisfile.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9EA0882529FA0B2500163B50 /* lpc.h in Headers */ = {isa = PBXBuildFile; fileRef = 90314A1A8106424788B35E55 /* lpc.h */; }; + 9EA0882629FA0B2500163B50 /* window.h in Headers */ = {isa = PBXBuildFile; fileRef = A7DF9009CE33444B9A196BB9 /* window.h */; }; + 9EA0882729FA0B2500163B50 /* highlevel.h in Headers */ = {isa = PBXBuildFile; fileRef = 76950002236646A584DA4D57 /* highlevel.h */; }; + 9EA0882829FA0B2500163B50 /* misc.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A32891221F94CB998A24461 /* misc.h */; }; + 9EA0882929FA0B2500163B50 /* envelope.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EA4DC48C2EE458F9469A8C8 /* envelope.h */; }; + 9EA0882A29FA0B2500163B50 /* codebook.h in Headers */ = {isa = PBXBuildFile; fileRef = F83EF03564E4430188AD7FF8 /* codebook.h */; }; + 9EA0882B29FA0B2500163B50 /* lookup_data.h in Headers */ = {isa = PBXBuildFile; fileRef = 4AF2CD97F8D84E5DA772E73D /* lookup_data.h */; }; + 9EA0882C29FA0B2500163B50 /* registry.h in Headers */ = {isa = PBXBuildFile; fileRef = C9D2890F9C504954B71FA6A5 /* registry.h */; }; + 9EA0882D29FA0B2500163B50 /* lsp.h in Headers */ = {isa = PBXBuildFile; fileRef = B5FA6BA728AC4570B67DF8ED /* lsp.h */; }; + 9EA0882E29FA0B2500163B50 /* psy.h in Headers */ = {isa = PBXBuildFile; fileRef = B64F09461A7E4976B1519D1E /* psy.h */; }; + 9EA0882F29FA0B2500163B50 /* scales.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AAF3051B37745DEA89A4930 /* scales.h */; }; + 9EA0883029FA0B2500163B50 /* smallft.c in Headers */ = {isa = PBXBuildFile; fileRef = 882D377E302845829F49227E /* smallft.c */; }; + 9EA0883129FA0B2500163B50 /* os.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C7D5E965B5648E78C3174F8 /* os.h */; }; + 9EA0883229FA0B2500163B50 /* codec_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A25504B2D3D4F5691771F40 /* codec_internal.h */; }; + 9EA0883329FA0B2500163B50 /* backends.h in Headers */ = {isa = PBXBuildFile; fileRef = 71ECC15B71084786851EAE8B /* backends.h */; }; + 9EA0883429FA0B2500163B50 /* lookup.h in Headers */ = {isa = PBXBuildFile; fileRef = 037D181648C04ECB990EA712 /* lookup.h */; }; + 9EA0883529FA0B2500163B50 /* bitrate.h in Headers */ = {isa = PBXBuildFile; fileRef = B6E7D88764104C2E81EF1E62 /* bitrate.h */; }; + 9EA0883629FA0B2500163B50 /* masking.h in Headers */ = {isa = PBXBuildFile; fileRef = 90DAD3A7242F4F78B79890D3 /* masking.h */; }; + 9EA0883729FA0B2500163B50 /* mdct.h in Headers */ = {isa = PBXBuildFile; fileRef = 324253E5D4864B488E063DC9 /* mdct.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 9EA0881E29FA0A3D00163B50 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 5A12D27682F14DA88F232777 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9EA087D129FA013200163B50; + remoteInfo = Ogg; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 037D181648C04ECB990EA712 /* lookup.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = lookup.h; path = libvorbis/lib/lookup.h; sourceTree = SOURCE_ROOT; }; + 086BD2A3B6C045B5A1EAB75C /* info.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = info.c; path = libvorbis/lib/info.c; sourceTree = SOURCE_ROOT; }; + 0A25504B2D3D4F5691771F40 /* codec_internal.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = codec_internal.h; path = libvorbis/lib/codec_internal.h; sourceTree = SOURCE_ROOT; }; + 0CB78C70565B4C7B800A6264 /* floor0.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = floor0.c; path = libvorbis/lib/floor0.c; sourceTree = SOURCE_ROOT; }; + 2AE4B9484AAD4C87B8EB584D /* analysis.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = analysis.c; path = libvorbis/lib/analysis.c; sourceTree = SOURCE_ROOT; }; + 324253E5D4864B488E063DC9 /* mdct.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = mdct.h; path = libvorbis/lib/mdct.h; sourceTree = SOURCE_ROOT; }; + 3699942A604A4DD09C325E2C /* mdct.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = mdct.c; path = libvorbis/lib/mdct.c; sourceTree = SOURCE_ROOT; }; + 3A32891221F94CB998A24461 /* misc.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = misc.h; path = libvorbis/lib/misc.h; sourceTree = SOURCE_ROOT; }; + 4854E6939F6340E8BF748851 /* vorbisenc.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = vorbisenc.c; path = libvorbis/lib/vorbisenc.c; sourceTree = SOURCE_ROOT; }; + 4AF2CD97F8D84E5DA772E73D /* lookup_data.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = lookup_data.h; path = libvorbis/lib/lookup_data.h; sourceTree = SOURCE_ROOT; }; + 4D0AAAADF4A74F479D699116 /* psy.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = psy.c; path = libvorbis/lib/psy.c; sourceTree = SOURCE_ROOT; }; + 55ED18DF9CC740F992EC2B7B /* block.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = block.c; path = libvorbis/lib/block.c; sourceTree = SOURCE_ROOT; }; + 5F154C5295A9406184827D73 /* vorbisfile.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = vorbisfile.h; path = libvorbis/include/vorbis/vorbisfile.h; sourceTree = SOURCE_ROOT; }; + 64040476C5774F6B90E211DC /* CMakeLists.txt */ = {isa = PBXFileReference; explicitFileType = sourcecode.text; fileEncoding = 4; lastKnownFileType = text; name = CMakeLists.txt; path = libvorbis/lib/CMakeLists.txt; sourceTree = SOURCE_ROOT; }; + 71ECC15B71084786851EAE8B /* backends.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = backends.h; path = libvorbis/lib/backends.h; sourceTree = SOURCE_ROOT; }; + 76950002236646A584DA4D57 /* highlevel.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = highlevel.h; path = libvorbis/lib/highlevel.h; sourceTree = SOURCE_ROOT; }; + 7AAF3051B37745DEA89A4930 /* scales.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = scales.h; path = libvorbis/lib/scales.h; sourceTree = SOURCE_ROOT; }; + 7DD7A63E53514EA6A554A6D5 /* smallft.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = smallft.c; path = libvorbis/lib/smallft.c; sourceTree = SOURCE_ROOT; }; + 810EB1D140EB47C0BC3A3297 /* lookup.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = lookup.c; path = libvorbis/lib/lookup.c; sourceTree = SOURCE_ROOT; }; + 854102DB3CD04DB0B2C143E3 /* envelope.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = envelope.c; path = libvorbis/lib/envelope.c; sourceTree = SOURCE_ROOT; }; + 882D377E302845829F49227E /* smallft.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = smallft.c; path = libvorbis/lib/smallft.c; sourceTree = SOURCE_ROOT; }; + 88B560F82D684765ADEDA6D4 /* lpc.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = lpc.c; path = libvorbis/lib/lpc.c; sourceTree = SOURCE_ROOT; }; + 8C7D5E965B5648E78C3174F8 /* os.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = os.h; path = libvorbis/lib/os.h; sourceTree = SOURCE_ROOT; }; + 8CC43347F87C4541B6B5F372 /* window.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = window.c; path = libvorbis/lib/window.c; sourceTree = SOURCE_ROOT; }; + 90314A1A8106424788B35E55 /* lpc.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = lpc.h; path = libvorbis/lib/lpc.h; sourceTree = SOURCE_ROOT; }; + 90DAD3A7242F4F78B79890D3 /* masking.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = masking.h; path = libvorbis/lib/masking.h; sourceTree = SOURCE_ROOT; }; + 90E372C85A08409F839D5926 /* codec.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = codec.h; path = libvorbis/include/vorbis/codec.h; sourceTree = SOURCE_ROOT; }; + 9E0381E429EE345100629FE3 /* crctable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = crctable.h; path = libogg/src/crctable.h; sourceTree = ""; }; + 9E0381E529EE345100629FE3 /* os_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = os_types.h; path = libogg/include/ogg/os_types.h; sourceTree = ""; }; + 9E0381E629EE345100629FE3 /* config_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = config_types.h; path = libogg/include/ogg/config_types.h; sourceTree = ""; }; + 9E0381E729EE345100629FE3 /* ogg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = libogg/include/ogg/ogg.h; sourceTree = ""; }; + 9E0381EC29EE346200629FE3 /* bitwise.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = libogg/src/bitwise.c; sourceTree = ""; }; + 9E0381ED29EE346200629FE3 /* framing.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = framing.c; path = libogg/src/framing.c; sourceTree = ""; }; + 9EA087D229FA013200163B50 /* Ogg.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Ogg.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9EA087E629FA099200163B50 /* Vorbis.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Vorbis.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9EA4DC48C2EE458F9469A8C8 /* envelope.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = envelope.h; path = libvorbis/lib/envelope.h; sourceTree = SOURCE_ROOT; }; + A0CD691FE3C9470C837007FE /* res0.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = res0.c; path = libvorbis/lib/res0.c; sourceTree = SOURCE_ROOT; }; + A0FD3AB5C25C446BBDA3A17F /* vorbisfile.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = vorbisfile.c; path = libvorbis/lib/vorbisfile.c; sourceTree = SOURCE_ROOT; }; + A7DF9009CE33444B9A196BB9 /* window.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = window.h; path = libvorbis/lib/window.h; sourceTree = SOURCE_ROOT; }; + AA2A103AE7F347C1A5B7A1AC /* bitrate.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = bitrate.c; path = libvorbis/lib/bitrate.c; sourceTree = SOURCE_ROOT; }; + B5FA6BA728AC4570B67DF8ED /* lsp.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = lsp.h; path = libvorbis/lib/lsp.h; sourceTree = SOURCE_ROOT; }; + B64F09461A7E4976B1519D1E /* psy.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = psy.h; path = libvorbis/lib/psy.h; sourceTree = SOURCE_ROOT; }; + B6E7D88764104C2E81EF1E62 /* bitrate.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = bitrate.h; path = libvorbis/lib/bitrate.h; sourceTree = SOURCE_ROOT; }; + BE1B582AA1C640BF83D48F27 /* vorbisenc.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = vorbisenc.h; path = libvorbis/include/vorbis/vorbisenc.h; sourceTree = SOURCE_ROOT; }; + C0D4F501565046199373A7F6 /* mapping0.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = mapping0.c; path = libvorbis/lib/mapping0.c; sourceTree = SOURCE_ROOT; }; + C78ECAC262314A8D96288D34 /* synthesis.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = synthesis.c; path = libvorbis/lib/synthesis.c; sourceTree = SOURCE_ROOT; }; + C9D2890F9C504954B71FA6A5 /* registry.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = registry.h; path = libvorbis/lib/registry.h; sourceTree = SOURCE_ROOT; }; + CF6A16A4420C4891B7F5B0C6 /* sharedbook.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = sharedbook.c; path = libvorbis/lib/sharedbook.c; sourceTree = SOURCE_ROOT; }; + E4221639FE124A52BA52DC3E /* codebook.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = codebook.c; path = libvorbis/lib/codebook.c; sourceTree = SOURCE_ROOT; }; + E9697839815644C48E4C086E /* registry.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = registry.c; path = libvorbis/lib/registry.c; sourceTree = SOURCE_ROOT; }; + EF9D3394239D406291F7A6F6 /* lsp.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = lsp.c; path = libvorbis/lib/lsp.c; sourceTree = SOURCE_ROOT; }; + F83EF03564E4430188AD7FF8 /* codebook.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; name = codebook.h; path = libvorbis/lib/codebook.h; sourceTree = SOURCE_ROOT; }; + FD3ECE5E971F457FAEC9EAEE /* floor1.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 4; name = floor1.c; path = libvorbis/lib/floor1.c; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 9EA087CF29FA013200163B50 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9EA087E329FA099200163B50 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 9EA0881C29FA0A3C00163B50 /* Ogg.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 261D26DBBE504DE08C18ED46 /* Header Files */ = { + isa = PBXGroup; + children = ( + 90E372C85A08409F839D5926 /* codec.h */, + BE1B582AA1C640BF83D48F27 /* vorbisenc.h */, + 5F154C5295A9406184827D73 /* vorbisfile.h */, + 71ECC15B71084786851EAE8B /* backends.h */, + B6E7D88764104C2E81EF1E62 /* bitrate.h */, + F83EF03564E4430188AD7FF8 /* codebook.h */, + 0A25504B2D3D4F5691771F40 /* codec_internal.h */, + 9EA4DC48C2EE458F9469A8C8 /* envelope.h */, + 76950002236646A584DA4D57 /* highlevel.h */, + 037D181648C04ECB990EA712 /* lookup.h */, + 4AF2CD97F8D84E5DA772E73D /* lookup_data.h */, + 90314A1A8106424788B35E55 /* lpc.h */, + B5FA6BA728AC4570B67DF8ED /* lsp.h */, + 90DAD3A7242F4F78B79890D3 /* masking.h */, + 324253E5D4864B488E063DC9 /* mdct.h */, + 3A32891221F94CB998A24461 /* misc.h */, + 8C7D5E965B5648E78C3174F8 /* os.h */, + B64F09461A7E4976B1519D1E /* psy.h */, + C9D2890F9C504954B71FA6A5 /* registry.h */, + 7AAF3051B37745DEA89A4930 /* scales.h */, + 882D377E302845829F49227E /* smallft.c */, + A7DF9009CE33444B9A196BB9 /* window.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 40FC5FADC1C64C008FE4B4B9 /* Source Files */ = { + isa = PBXGroup; + children = ( + 2AE4B9484AAD4C87B8EB584D /* analysis.c */, + AA2A103AE7F347C1A5B7A1AC /* bitrate.c */, + 55ED18DF9CC740F992EC2B7B /* block.c */, + E4221639FE124A52BA52DC3E /* codebook.c */, + 854102DB3CD04DB0B2C143E3 /* envelope.c */, + 0CB78C70565B4C7B800A6264 /* floor0.c */, + FD3ECE5E971F457FAEC9EAEE /* floor1.c */, + 086BD2A3B6C045B5A1EAB75C /* info.c */, + 810EB1D140EB47C0BC3A3297 /* lookup.c */, + 88B560F82D684765ADEDA6D4 /* lpc.c */, + EF9D3394239D406291F7A6F6 /* lsp.c */, + C0D4F501565046199373A7F6 /* mapping0.c */, + 3699942A604A4DD09C325E2C /* mdct.c */, + 4D0AAAADF4A74F479D699116 /* psy.c */, + E9697839815644C48E4C086E /* registry.c */, + A0CD691FE3C9470C837007FE /* res0.c */, + CF6A16A4420C4891B7F5B0C6 /* sharedbook.c */, + 7DD7A63E53514EA6A554A6D5 /* smallft.c */, + C78ECAC262314A8D96288D34 /* synthesis.c */, + 4854E6939F6340E8BF748851 /* vorbisenc.c */, + A0FD3AB5C25C446BBDA3A17F /* vorbisfile.c */, + 8CC43347F87C4541B6B5F372 /* window.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 7EE025ECC3D444E392246BF4 /* vorbis */ = { + isa = PBXGroup; + children = ( + 261D26DBBE504DE08C18ED46 /* Header Files */, + 40FC5FADC1C64C008FE4B4B9 /* Source Files */, + 64040476C5774F6B90E211DC /* CMakeLists.txt */, + ); + name = vorbis; + sourceTree = ""; + }; + 9E0381E129EE342300629FE3 /* ogg */ = { + isa = PBXGroup; + children = ( + 9E0381E229EE343200629FE3 /* Header Files */, + 9E0381E329EE343D00629FE3 /* Source Files */, + ); + name = ogg; + sourceTree = ""; + }; + 9E0381E229EE343200629FE3 /* Header Files */ = { + isa = PBXGroup; + children = ( + 9E0381E629EE345100629FE3 /* config_types.h */, + 9E0381E429EE345100629FE3 /* crctable.h */, + 9E0381E729EE345100629FE3 /* ogg.h */, + 9E0381E529EE345100629FE3 /* os_types.h */, + ); + name = "Header Files"; + sourceTree = ""; + }; + 9E0381E329EE343D00629FE3 /* Source Files */ = { + isa = PBXGroup; + children = ( + 9E0381EC29EE346200629FE3 /* bitwise.c */, + 9E0381ED29EE346200629FE3 /* framing.c */, + ); + name = "Source Files"; + sourceTree = ""; + }; + 9EA0881B29FA0A3C00163B50 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; + C23D7853D36844589EB3FA30 = { + isa = PBXGroup; + children = ( + 9E0381E129EE342300629FE3 /* ogg */, + 7EE025ECC3D444E392246BF4 /* vorbis */, + D922F32129F24C88A7AA5561 /* Products */, + 9EA0881B29FA0A3C00163B50 /* Frameworks */, + ); + sourceTree = ""; + }; + D922F32129F24C88A7AA5561 /* Products */ = { + isa = PBXGroup; + children = ( + 9EA087D229FA013200163B50 /* Ogg.framework */, + 9EA087E629FA099200163B50 /* Vorbis.framework */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 9EA087CD29FA013200163B50 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 9EA087DD29FA016100163B50 /* ogg.h in Headers */, + 9EA087DB29FA014F00163B50 /* config_types.h in Headers */, + 9EA087DE29FA016600163B50 /* os_types.h in Headers */, + 9EA087DC29FA015C00163B50 /* crctable.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9EA0882129FA0B0600163B50 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 9EA0883629FA0B2500163B50 /* masking.h in Headers */, + 9EA0882B29FA0B2500163B50 /* lookup_data.h in Headers */, + 9EA0882329FA0B1F00163B50 /* vorbisenc.h in Headers */, + 9EA0882729FA0B2500163B50 /* highlevel.h in Headers */, + 9EA0882A29FA0B2500163B50 /* codebook.h in Headers */, + 9EA0883029FA0B2500163B50 /* smallft.c in Headers */, + 9EA0882229FA0B1F00163B50 /* codec.h in Headers */, + 9EA0883529FA0B2500163B50 /* bitrate.h in Headers */, + 9EA0882F29FA0B2500163B50 /* scales.h in Headers */, + 9EA0882829FA0B2500163B50 /* misc.h in Headers */, + 9EA0882D29FA0B2500163B50 /* lsp.h in Headers */, + 9EA0882E29FA0B2500163B50 /* psy.h in Headers */, + 9EA0882529FA0B2500163B50 /* lpc.h in Headers */, + 9EA0883329FA0B2500163B50 /* backends.h in Headers */, + 9EA0883229FA0B2500163B50 /* codec_internal.h in Headers */, + 9EA0882C29FA0B2500163B50 /* registry.h in Headers */, + 9EA0883429FA0B2500163B50 /* lookup.h in Headers */, + 9EA0883129FA0B2500163B50 /* os.h in Headers */, + 9EA0883729FA0B2500163B50 /* mdct.h in Headers */, + 9EA0882629FA0B2500163B50 /* window.h in Headers */, + 9EA0882929FA0B2500163B50 /* envelope.h in Headers */, + 9EA0882429FA0B1F00163B50 /* vorbisfile.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 9EA087D129FA013200163B50 /* Ogg */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9EA087DA29FA013300163B50 /* Build configuration list for PBXNativeTarget "Ogg" */; + buildPhases = ( + 9EA087CD29FA013200163B50 /* Headers */, + 9EA087CE29FA013200163B50 /* Sources */, + 9EA087CF29FA013200163B50 /* Frameworks */, + 9EA087D029FA013200163B50 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Ogg; + productName = ogg; + productReference = 9EA087D229FA013200163B50 /* Ogg.framework */; + productType = "com.apple.product-type.framework"; + }; + 9EA087E529FA099200163B50 /* Vorbis */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9EA087EA29FA099200163B50 /* Build configuration list for PBXNativeTarget "Vorbis" */; + buildPhases = ( + 9EA0882129FA0B0600163B50 /* Headers */, + 9EA087E229FA099200163B50 /* Sources */, + 9EA087E329FA099200163B50 /* Frameworks */, + 9EA087E429FA099200163B50 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 9EA0881F29FA0A3D00163B50 /* PBXTargetDependency */, + ); + name = Vorbis; + productName = vorbis; + productReference = 9EA087E629FA099200163B50 /* Vorbis.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 5A12D27682F14DA88F232777 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + DefaultBuildSystemTypeForWorkspace = Latest; + LastUpgradeCheck = 1430; + TargetAttributes = { + 9EA087D129FA013200163B50 = { + CreatedOnToolsVersion = 14.3; + }; + 9EA087E529FA099200163B50 = { + CreatedOnToolsVersion = 14.3; + }; + }; + }; + buildConfigurationList = 47A70380EE924A0E967818E0 /* Build configuration list for PBXProject "OggAndVorbis" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = C23D7853D36844589EB3FA30; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 9EA087D129FA013200163B50 /* Ogg */, + 9EA087E529FA099200163B50 /* Vorbis */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 9EA087D029FA013200163B50 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9EA087E429FA099200163B50 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 9EA087CE29FA013200163B50 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 9EA087E029FA017B00163B50 /* framing.c in Sources */, + 9EA087DF29FA017700163B50 /* bitwise.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9EA087E229FA099200163B50 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 9EA0880929FA0A2200163B50 /* info.c in Sources */, + 9EA0881529FA0A2200163B50 /* smallft.c in Sources */, + 9EA0880729FA0A2200163B50 /* sharedbook.c in Sources */, + 9EA0881929FA0A2200163B50 /* window.c in Sources */, + 9EA0880B29FA0A2200163B50 /* vorbisfile.c in Sources */, + 9EA0881729FA0A2200163B50 /* codebook.c in Sources */, + 9EA0881829FA0A2200163B50 /* envelope.c in Sources */, + 9EA0881A29FA0A2200163B50 /* bitrate.c in Sources */, + 9EA0881429FA0A2200163B50 /* block.c in Sources */, + 9EA0880829FA0A2200163B50 /* lsp.c in Sources */, + 9EA0880529FA0A2200163B50 /* floor0.c in Sources */, + 9EA0880A29FA0A2200163B50 /* synthesis.c in Sources */, + 9EA0880F29FA0A2200163B50 /* mapping0.c in Sources */, + 9EA0881029FA0A2200163B50 /* lookup.c in Sources */, + 9EA0880E29FA0A2200163B50 /* floor1.c in Sources */, + 9EA0880D29FA0A2200163B50 /* lpc.c in Sources */, + 9EA0881229FA0A2200163B50 /* registry.c in Sources */, + 9EA0880629FA0A2200163B50 /* res0.c in Sources */, + 9EA0881129FA0A2200163B50 /* psy.c in Sources */, + 9EA0881329FA0A2200163B50 /* vorbisenc.c in Sources */, + 9EA0880C29FA0A2200163B50 /* analysis.c in Sources */, + 9EA0881629FA0A2200163B50 /* mdct.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 9EA0881F29FA0A3D00163B50 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 9EA087D129FA013200163B50 /* Ogg */; + targetProxy = 9EA0881E29FA0A3D00163B50 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 36802AFC97014F8884616270 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.13; + SDKROOT = macosx; + }; + name = Release; + }; + 44946A7D9BEE4247A128AE58 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.13; + SDKROOT = macosx; + }; + name = RelWithDebInfo; + }; + 9EA087D629FA013300163B50 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; + CLANG_ENABLE_MODULES = NO; + CLANG_ENABLE_OBJC_ARC = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_HARDENED_RUNTIME = YES; + ENABLE_MODULE_VERIFIER = YES; + GCC_C_LANGUAGE_STANDARD = "compiler-default"; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + ogg_EXPORTS, + "'CMAKE_INTDIR=\"$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)\"'", + ); + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/libogg/include/"; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "@rpath"; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++20"; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = "-fPIC"; + PRODUCT_BUNDLE_IDENTIFIER = org.xiph.ogg; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 9EA087D729FA013300163B50 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; + CLANG_ENABLE_MODULES = NO; + CLANG_ENABLE_OBJC_ARC = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_HARDENED_RUNTIME = YES; + ENABLE_MODULE_VERIFIER = YES; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = "compiler-default"; + GCC_PREPROCESSOR_DEFINITIONS = ogg_EXPORTS; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/libogg/include/"; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "@rpath"; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++20"; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + OTHER_CFLAGS = ( + "-fPIC", + "-DNDEBUG", + ); + PRODUCT_BUNDLE_IDENTIFIER = org.xiph.ogg; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 9EA087D829FA013300163B50 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; + CLANG_ENABLE_MODULES = NO; + CLANG_ENABLE_OBJC_ARC = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_HARDENED_RUNTIME = YES; + ENABLE_MODULE_VERIFIER = YES; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = "compiler-default"; + GCC_PREPROCESSOR_DEFINITIONS = ogg_EXPORTS; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/libogg/include/"; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "@rpath"; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++20"; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + OTHER_CFLAGS = ( + "-fPIC", + "-DNDEBUG", + ); + PRODUCT_BUNDLE_IDENTIFIER = org.xiph.ogg; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = MinSizeRel; + }; + 9EA087D929FA013300163B50 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; + CLANG_ENABLE_MODULES = NO; + CLANG_ENABLE_OBJC_ARC = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_HARDENED_RUNTIME = YES; + ENABLE_MODULE_VERIFIER = YES; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = "compiler-default"; + GCC_PREPROCESSOR_DEFINITIONS = ogg_EXPORTS; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/libogg/include/"; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "@rpath"; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++20"; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + OTHER_CFLAGS = ( + "-fPIC", + "-DNDEBUG", + ); + PRODUCT_BUNDLE_IDENTIFIER = org.xiph.ogg; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = RelWithDebInfo; + }; + 9EA087EB29FA099200163B50 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = NO; + GCC_C_LANGUAGE_STANDARD = "compiler-default"; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + vorbis_EXPORTS, + "'CMAKE_INTDIR=\"$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)\"'", + ); + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(PROJECT_DIR)/libogg/include", + "$(PROJECT_DIR)/libvorbis/include", + "$(PROJECT_DIR)/libvorbis/lib", + ); + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "@rpath"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.13; + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = org.xiph.vorbis; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 9EA087EC29FA099200163B50 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = NO; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = "compiler-default"; + GCC_PREPROCESSOR_DEFINITIONS = ( + vorbis_EXPORTS, + "'CMAKE_INTDIR=\"$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)\"'", + ); + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(PROJECT_DIR)/libogg/include", + "$(PROJECT_DIR)/libvorbis/include", + "$(PROJECT_DIR)/libvorbis/lib", + ); + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "@rpath"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.13; + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = org.xiph.vorbis; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 9EA087ED29FA099200163B50 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = NO; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = "compiler-default"; + GCC_PREPROCESSOR_DEFINITIONS = ( + vorbis_EXPORTS, + "'CMAKE_INTDIR=\"$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)\"'", + ); + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(PROJECT_DIR)/libogg/include", + "$(PROJECT_DIR)/libvorbis/include", + "$(PROJECT_DIR)/libvorbis/lib", + ); + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "@rpath"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.13; + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = org.xiph.vorbis; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = MinSizeRel; + }; + 9EA087EE29FA099200163B50 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = NO; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = "compiler-default"; + GCC_PREPROCESSOR_DEFINITIONS = ( + vorbis_EXPORTS, + "'CMAKE_INTDIR=\"$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)\"'", + ); + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(PROJECT_DIR)/libogg/include", + "$(PROJECT_DIR)/libvorbis/include", + "$(PROJECT_DIR)/libvorbis/lib", + ); + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "@rpath"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.13; + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = org.xiph.vorbis; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = RelWithDebInfo; + }; + DE249FCC3D0445878C48D460 /* MinSizeRel */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.13; + SDKROOT = macosx; + }; + name = MinSizeRel; + }; + F708B10D00E8453887E9425A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.13; + SDKROOT = macosx; + }; + name = Debug; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 47A70380EE924A0E967818E0 /* Build configuration list for PBXProject "OggAndVorbis" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F708B10D00E8453887E9425A /* Debug */, + 36802AFC97014F8884616270 /* Release */, + DE249FCC3D0445878C48D460 /* MinSizeRel */, + 44946A7D9BEE4247A128AE58 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 9EA087DA29FA013300163B50 /* Build configuration list for PBXNativeTarget "Ogg" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9EA087D629FA013300163B50 /* Debug */, + 9EA087D729FA013300163B50 /* Release */, + 9EA087D829FA013300163B50 /* MinSizeRel */, + 9EA087D929FA013300163B50 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 9EA087EA29FA099200163B50 /* Build configuration list for PBXNativeTarget "Vorbis" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9EA087EB29FA099200163B50 /* Debug */, + 9EA087EC29FA099200163B50 /* Release */, + 9EA087ED29FA099200163B50 /* MinSizeRel */, + 9EA087EE29FA099200163B50 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 5A12D27682F14DA88F232777 /* Project object */; +} diff --git a/dependencies/mac/OggAndVorbis.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/dependencies/mac/OggAndVorbis.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 000000000..3ddf867a1 --- /dev/null +++ b/dependencies/mac/OggAndVorbis.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + BuildSystemType + Latest + + diff --git a/dependencies/mac/OggAndVorbis.xcodeproj/xcshareddata/xcschemes/vorbis.xcscheme b/dependencies/mac/OggAndVorbis.xcodeproj/xcshareddata/xcschemes/vorbis.xcscheme new file mode 100644 index 000000000..4d0a66cc8 --- /dev/null +++ b/dependencies/mac/OggAndVorbis.xcodeproj/xcshareddata/xcschemes/vorbis.xcscheme @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dependencies/mac/cocoaHelpers.hpp b/dependencies/mac/cocoaHelpers.hpp index 92cbc94b9..d4b6fa8fc 100644 --- a/dependencies/mac/cocoaHelpers.hpp +++ b/dependencies/mac/cocoaHelpers.hpp @@ -1,6 +1,8 @@ #ifndef COCOA_HELPERS_H #define COCOA_HELPERS_H -const char* getResourcesPath(void); +void getResourcesPath(char* buffer, int bufferSize); +void getBundleResourcePath(char* buffer, int bufferSize); +const float getMacScreenScale(void); #endif diff --git a/dependencies/mac/cocoaHelpers.mm b/dependencies/mac/cocoaHelpers.mm index 1810091e8..eb6230c3d 100644 --- a/dependencies/mac/cocoaHelpers.mm +++ b/dependencies/mac/cocoaHelpers.mm @@ -1,16 +1,45 @@ #ifdef __APPLE__ +#import #import #include "cocoaHelpers.hpp" +#include -const char* getResourcesPath(void) +void getResourcesPath(char* buffer, int bufferSize) { @autoreleasepool { + NSString* appFolder = [NSBundle.mainBundle.bundlePath stringByDeletingLastPathComponent]; + NSString* dataFile = [appFolder stringByAppendingString:@"/Data.rsdk"]; + NSString* dataFolder = [appFolder stringByAppendingString:@"/Data"]; + NSString* settingsFile = [appFolder stringByAppendingString:@"/settings.ini"]; + if([NSFileManager.defaultManager fileExistsAtPath:dataFile] || + [NSFileManager.defaultManager fileExistsAtPath:settingsFile] || + [NSFileManager.defaultManager fileExistsAtPath:dataFolder]){ + [appFolder getCString:buffer maxLength:bufferSize encoding:NSUTF8StringEncoding]; + return; + } NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES); NSString *applicationSupportDirectory = [paths firstObject]; - - return (char*)[applicationSupportDirectory UTF8String]; + NSString* gameData = [applicationSupportDirectory stringByAppendingString:@"/RSDKv4"]; + if(![NSFileManager.defaultManager fileExistsAtPath:gameData]){ + mkdir([gameData cStringUsingEncoding:NSUTF8StringEncoding], 0777); + } + [gameData getCString:buffer maxLength:bufferSize encoding:NSUTF8StringEncoding]; + return; } } + +void getBundleResourcePath(char* buffer, int bufferSize){ + @autoreleasepool + { + NSString* appFolder = NSBundle.mainBundle.resourcePath; + [appFolder getCString:buffer maxLength:bufferSize encoding:NSUTF8StringEncoding]; + } +} + +const float getMacScreenScale(void){ + return NSScreen.mainScreen.backingScaleFactor; +} + #endif From 955c38ce2273fcc1d4da0bd80fefdfb87a9c1aa3 Mon Sep 17 00:00:00 2001 From: Sappharad Date: Thu, 27 Apr 2023 21:40:10 -0500 Subject: [PATCH 02/13] Fixed: Mods don't work if parent dir ends in Data --- RSDKv4/ModAPI.cpp | 6 +++--- RSDKv4/String.cpp | 28 ++++++++++++++++++++++++++++ RSDKv4/String.hpp | 1 + 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/RSDKv4/ModAPI.cpp b/RSDKv4/ModAPI.cpp index d4041bb13..a9d269a63 100644 --- a/RSDKv4/ModAPI.cpp +++ b/RSDKv4/ModAPI.cpp @@ -266,7 +266,7 @@ void ScanModFolder(ModInfo *info) }; int tokenPos = -1; for (int i = 0; i < 4; ++i) { - tokenPos = FindStringToken(modBuf, folderTest[i], 1); + tokenPos = FindLastStringToken(modBuf, folderTest[i]); if (tokenPos >= 0) break; } @@ -314,7 +314,7 @@ void ScanModFolder(ModInfo *info) }; int tokenPos = -1; for (int i = 0; i < 4; ++i) { - tokenPos = FindStringToken(modBuf, folderTest[i], 1); + tokenPos = FindLastStringToken(modBuf, folderTest[i]); if (tokenPos >= 0) break; } @@ -362,7 +362,7 @@ void ScanModFolder(ModInfo *info) }; int tokenPos = -1; for (int i = 0; i < 4; ++i) { - tokenPos = FindStringToken(modBuf, folderTest[i], 1); + tokenPos = FindLastStringToken(modBuf, folderTest[i]); if (tokenPos >= 0) break; } diff --git a/RSDKv4/String.cpp b/RSDKv4/String.cpp index 7be013730..53b3a5184 100644 --- a/RSDKv4/String.cpp +++ b/RSDKv4/String.cpp @@ -225,6 +225,34 @@ int FindStringToken(const char *string, const char *token, char stopID) return -1; } +int FindLastStringToken(const char *string, const char *token) +{ + int tokenCharID = 0; + bool tokenMatch = true; + int stringCharID = 0; + int foundTokenID = 0; + int lastResult = -1; + + while (string[stringCharID]) { + tokenCharID = 0; + tokenMatch = true; + while (token[tokenCharID]) { + if (!string[tokenCharID + stringCharID]) + return lastResult; + + if (string[tokenCharID + stringCharID] != token[tokenCharID]) + tokenMatch = false; + + ++tokenCharID; + } + if (tokenMatch) + lastResult = stringCharID; + + ++stringCharID; + } + return lastResult; +} + int FindStringTokenUnicode(const ushort *string, const ushort *token, char stopID) { int tokenCharID = 0; diff --git a/RSDKv4/String.hpp b/RSDKv4/String.hpp index 6a5886fa9..6d5106ec5 100644 --- a/RSDKv4/String.hpp +++ b/RSDKv4/String.hpp @@ -140,6 +140,7 @@ inline int StrLength(const char *string) #endif } int FindStringToken(const char *string, const char *token, char stopID); +int FindLastStringToken(const char *string, const char *token); inline void StrCopyW(ushort *dest, const ushort *src) { From 179889ce588260294b434ffef0e9c0fe7fa31f62 Mon Sep 17 00:00:00 2001 From: Sappharad Date: Thu, 27 Apr 2023 21:40:23 -0500 Subject: [PATCH 03/13] Allow Data.rsdk on Mac --- RSDKv4/Userdata.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RSDKv4/Userdata.cpp b/RSDKv4/Userdata.cpp index a7b5712f8..52354e8a2 100644 --- a/RSDKv4/Userdata.cpp +++ b/RSDKv4/Userdata.cpp @@ -260,7 +260,7 @@ void InitUserdata() ini.SetBool("Dev", "UseHQModes", Engine.useHQModes = true); //ini.SetString("Dev", "DataFile", (char *)"ForceData.rsdk"); -#if RETRO_PLATFORM == RETRO_ANDROID +#if RETRO_PLATFORM == RETRO_ANDROID || RETRO_PLATFORM == RETRO_OSX StrCopy(Engine.dataFile[0], "Data.rsdk"); #else StrCopy(Engine.dataFile[0], "ForceData.rsdk"); @@ -406,7 +406,7 @@ void InitUserdata() Engine.startStage_Game = Engine.startStage; //if (!ini.GetString("Dev", "DataFile", Engine.dataFile[0])) -#if RETRO_PLATFORM == RETRO_ANDROID +#if RETRO_PLATFORM == RETRO_ANDROID || RETRO_PLATFORM == RETRO_OSX StrCopy(Engine.dataFile[0], "Data.rsdk"); #else StrCopy(Engine.dataFile[0], "ForceData.rsdk"); From c73b760b8707b391883e660874468dc001eb7929 Mon Sep 17 00:00:00 2001 From: Sappharad Date: Thu, 27 Apr 2023 21:56:00 -0500 Subject: [PATCH 04/13] Enable Hardened Runtime so I can code sign this --- RSDKv4.xcodeproj/project.pbxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/RSDKv4.xcodeproj/project.pbxproj b/RSDKv4.xcodeproj/project.pbxproj index e3d041f46..aeb7f8bba 100644 --- a/RSDKv4.xcodeproj/project.pbxproj +++ b/RSDKv4.xcodeproj/project.pbxproj @@ -973,6 +973,7 @@ CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + ENABLE_HARDENED_RUNTIME = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/dependencies/mac", @@ -1012,6 +1013,7 @@ CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + ENABLE_HARDENED_RUNTIME = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/dependencies/mac", From 309213214769d96c89c091e7ab0342ed52f0e938 Mon Sep 17 00:00:00 2001 From: Sappharad Date: Sat, 29 Apr 2023 22:12:43 -0500 Subject: [PATCH 05/13] Allow Mac Build to be signed & notarized --- .gitignore | 1 + RSDKv4.xcodeproj/project.pbxproj | 511 ++++++------- .../xcshareddata/xcschemes/RSDKv4.xcscheme | 22 +- dependencies/mac/Base.lproj/Main.storyboard | 717 ------------------ dependencies/mac/IndirectMain.cpp | 14 + dependencies/mac/IndirectMain.h | 8 + dependencies/mac/Info.plist | 6 +- .../OggAndVorbis.xcodeproj/project.pbxproj | 4 + .../xcshareddata/xcschemes/Ogg.xcscheme | 66 ++ dependencies/mac/main.mm | 15 + 10 files changed, 359 insertions(+), 1005 deletions(-) delete mode 100644 dependencies/mac/Base.lproj/Main.storyboard create mode 100644 dependencies/mac/IndirectMain.cpp create mode 100644 dependencies/mac/IndirectMain.h create mode 100644 dependencies/mac/OggAndVorbis.xcodeproj/xcshareddata/xcschemes/Ogg.xcscheme create mode 100644 dependencies/mac/main.mm diff --git a/.gitignore b/.gitignore index 109acc72f..a9dff5dfc 100644 --- a/.gitignore +++ b/.gitignore @@ -282,3 +282,4 @@ android/local.properties flatpak/*.apk build-dir dependencies/mac/OggAndVorbis.xcodeproj/project.xcworkspace/xcuserdata +dependencies/mac/SDL2 diff --git a/RSDKv4.xcodeproj/project.pbxproj b/RSDKv4.xcodeproj/project.pbxproj index aeb7f8bba..8ce22a9e9 100644 --- a/RSDKv4.xcodeproj/project.pbxproj +++ b/RSDKv4.xcodeproj/project.pbxproj @@ -7,81 +7,81 @@ objects = { /* Begin PBXBuildFile section */ - 9E03821C29EE36BF00629FE3 /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9E03820729EE36AE00629FE3 /* SDL2.framework */; }; - 9E03821D29EE36BF00629FE3 /* SDL2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9E03820729EE36AE00629FE3 /* SDL2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9EA0884B29FA0CBB00163B50 /* Ogg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9EA0883D29FA0CB600163B50 /* Ogg.framework */; }; - 9EA0884C29FA0CBB00163B50 /* Ogg.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9EA0883D29FA0CB600163B50 /* Ogg.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9EA0884D29FA0CBB00163B50 /* Vorbis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9EA0883F29FA0CB600163B50 /* Vorbis.framework */; }; - 9EA0884E29FA0CBB00163B50 /* Vorbis.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9EA0883F29FA0CB600163B50 /* Vorbis.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9EA0885F29FA11B000163B50 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9EA0885129FA11AF00163B50 /* AppKit.framework */; }; - C9283534264621BB00D51CCE /* cocoaHelpers.mm in Sources */ = {isa = PBXBuildFile; fileRef = C9283533264621BB00D51CCE /* cocoaHelpers.mm */; }; - C962193925898B0B00B47AB3 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C962193625898B0A00B47AB3 /* Assets.xcassets */; }; - C962193E25898B6000B47AB3 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C962193C25898B6000B47AB3 /* Main.storyboard */; }; - C962196C25898BF600B47AB3 /* Audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195625898BF500B47AB3 /* Audio.cpp */; }; - C962196D25898BF600B47AB3 /* Debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195725898BF500B47AB3 /* Debug.cpp */; }; - C962196E25898BF600B47AB3 /* RetroEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195825898BF500B47AB3 /* RetroEngine.cpp */; }; - C962196F25898BF600B47AB3 /* Scene.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195925898BF500B47AB3 /* Scene.cpp */; }; - C962197025898BF600B47AB3 /* Sprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195A25898BF500B47AB3 /* Sprite.cpp */; }; - C962197125898BF600B47AB3 /* Animation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195B25898BF500B47AB3 /* Animation.cpp */; }; - C962197225898BF600B47AB3 /* Drawing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195C25898BF500B47AB3 /* Drawing.cpp */; }; - C962197325898BF600B47AB3 /* Input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195D25898BF500B47AB3 /* Input.cpp */; }; - C962197425898BF600B47AB3 /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195E25898BF500B47AB3 /* String.cpp */; }; - C962197525898BF600B47AB3 /* Ini.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195F25898BF600B47AB3 /* Ini.cpp */; }; - C962197625898BF600B47AB3 /* Scene3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196025898BF600B47AB3 /* Scene3D.cpp */; }; - C962197725898BF600B47AB3 /* Userdata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196125898BF600B47AB3 /* Userdata.cpp */; }; - C962197925898BF600B47AB3 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196325898BF600B47AB3 /* main.cpp */; }; - C962197B25898BF600B47AB3 /* Script.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196525898BF600B47AB3 /* Script.cpp */; }; - C962197C25898BF600B47AB3 /* Palette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196625898BF600B47AB3 /* Palette.cpp */; }; - C962197D25898BF600B47AB3 /* Object.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196725898BF600B47AB3 /* Object.cpp */; }; - C962197E25898BF600B47AB3 /* Math.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196825898BF600B47AB3 /* Math.cpp */; }; - C962197F25898BF600B47AB3 /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196925898BF600B47AB3 /* Text.cpp */; }; - C962198025898BF600B47AB3 /* Collision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196A25898BF600B47AB3 /* Collision.cpp */; }; - C962198125898BF600B47AB3 /* Reader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196B25898BF600B47AB3 /* Reader.cpp */; }; - C975E69926E3190B00F09AD4 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C975E69826E3190B00F09AD4 /* OpenGL.framework */; }; - C975E6EB26E3197400F09AD4 /* StartGameButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6C326E3197100F09AD4 /* StartGameButton.cpp */; }; - C975E6EC26E3197400F09AD4 /* AboutScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6C426E3197100F09AD4 /* AboutScreen.cpp */; }; - C975E6ED26E3197400F09AD4 /* ModsButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6C526E3197100F09AD4 /* ModsButton.cpp */; }; - C975E6EE26E3197400F09AD4 /* RetroGameLoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6C626E3197200F09AD4 /* RetroGameLoop.cpp */; }; - C975E6EF26E3197400F09AD4 /* AchievementsButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6C726E3197200F09AD4 /* AchievementsButton.cpp */; }; - C975E6F026E3197400F09AD4 /* VirtualDPadM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6C826E3197200F09AD4 /* VirtualDPadM.cpp */; }; - C975E6F126E3197400F09AD4 /* OptionsButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6C926E3197200F09AD4 /* OptionsButton.cpp */; }; - C975E6F226E3197400F09AD4 /* FadeScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6CA26E3197200F09AD4 /* FadeScreen.cpp */; }; - C975E6F326E3197400F09AD4 /* DialogPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6CB26E3197200F09AD4 /* DialogPanel.cpp */; }; - C975E6F426E3197400F09AD4 /* InstructionsScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6CC26E3197200F09AD4 /* InstructionsScreen.cpp */; }; - C975E6F526E3197400F09AD4 /* MultiplayerButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6CD26E3197200F09AD4 /* MultiplayerButton.cpp */; }; - C975E6F626E3197400F09AD4 /* SubMenuButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6CE26E3197200F09AD4 /* SubMenuButton.cpp */; }; - C975E6F726E3197400F09AD4 /* PauseMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6CF26E3197200F09AD4 /* PauseMenu.cpp */; }; - C975E6F826E3197400F09AD4 /* RecordsScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D026E3197200F09AD4 /* RecordsScreen.cpp */; }; - C975E6F926E3197400F09AD4 /* ModInfoButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D126E3197200F09AD4 /* ModInfoButton.cpp */; }; - C975E6FA26E3197400F09AD4 /* CreditText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D226E3197200F09AD4 /* CreditText.cpp */; }; - C975E6FB26E3197400F09AD4 /* ZoneButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D326E3197300F09AD4 /* ZoneButton.cpp */; }; - C975E6FC26E3197400F09AD4 /* MenuControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D426E3197300F09AD4 /* MenuControl.cpp */; }; - C975E6FD26E3197400F09AD4 /* TimeAttackButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D526E3197300F09AD4 /* TimeAttackButton.cpp */; }; - C975E6FE26E3197400F09AD4 /* VirtualDPad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D626E3197300F09AD4 /* VirtualDPad.cpp */; }; - C975E6FF26E3197400F09AD4 /* PlayerSelectScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D726E3197300F09AD4 /* PlayerSelectScreen.cpp */; }; - C975E70026E3197400F09AD4 /* SegaIDButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D826E3197300F09AD4 /* SegaIDButton.cpp */; }; - C975E70126E3197400F09AD4 /* StaffCredits.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D926E3197300F09AD4 /* StaffCredits.cpp */; }; - C975E70226E3197400F09AD4 /* PushButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6DA26E3197300F09AD4 /* PushButton.cpp */; }; - C975E70326E3197400F09AD4 /* MenuBG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6DB26E3197300F09AD4 /* MenuBG.cpp */; }; - C975E70426E3197400F09AD4 /* LeaderboardsButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6DC26E3197300F09AD4 /* LeaderboardsButton.cpp */; }; - C975E70526E3197400F09AD4 /* TextLabel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6DD26E3197300F09AD4 /* TextLabel.cpp */; }; - C975E70626E3197400F09AD4 /* BackButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6DE26E3197300F09AD4 /* BackButton.cpp */; }; - C975E70726E3197400F09AD4 /* CWSplash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6DF26E3197300F09AD4 /* CWSplash.cpp */; }; - C975E70826E3197400F09AD4 /* OptionsMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E026E3197300F09AD4 /* OptionsMenu.cpp */; }; - C975E70926E3197400F09AD4 /* AchievementDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E126E3197300F09AD4 /* AchievementDisplay.cpp */; }; - C975E70A26E3197400F09AD4 /* TitleScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E226E3197400F09AD4 /* TitleScreen.cpp */; }; - C975E70B26E3197400F09AD4 /* ModsMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E326E3197400F09AD4 /* ModsMenu.cpp */; }; - C975E70C26E3197400F09AD4 /* AchievementsMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E426E3197400F09AD4 /* AchievementsMenu.cpp */; }; - C975E70D26E3197400F09AD4 /* SegaSplash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E526E3197400F09AD4 /* SegaSplash.cpp */; }; - C975E70E26E3197400F09AD4 /* SettingsScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E626E3197400F09AD4 /* SettingsScreen.cpp */; }; - C975E70F26E3197400F09AD4 /* TimeAttack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E726E3197400F09AD4 /* TimeAttack.cpp */; }; - C975E71026E3197400F09AD4 /* MultiplayerScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E826E3197400F09AD4 /* MultiplayerScreen.cpp */; }; - C975E71126E3197400F09AD4 /* SaveSelect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E926E3197400F09AD4 /* SaveSelect.cpp */; }; - C975E71226E3197400F09AD4 /* MultiplayerHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6EA26E3197400F09AD4 /* MultiplayerHandler.cpp */; }; - C975E71626E3199000F09AD4 /* Networking.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E71326E3199000F09AD4 /* Networking.cpp */; }; - C975E71726E3199000F09AD4 /* ModAPI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E71426E3199000F09AD4 /* ModAPI.cpp */; }; - C975E71826E3199000F09AD4 /* Renderer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E71526E3199000F09AD4 /* Renderer.cpp */; }; - C975E72126E31AC000F09AD4 /* tinyxml2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E72026E31AC000F09AD4 /* tinyxml2.cpp */; }; + 9E1BEFCB29FCACE200A1C6D8 /* ModAPI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E71426E3199000F09AD4 /* ModAPI.cpp */; }; + 9E1BEFCC29FCACE200A1C6D8 /* Renderer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E71526E3199000F09AD4 /* Renderer.cpp */; }; + 9E1BEFCD29FCACE200A1C6D8 /* Networking.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E71326E3199000F09AD4 /* Networking.cpp */; }; + 9E1BEFCE29FCACE600A1C6D8 /* cocoaHelpers.mm in Sources */ = {isa = PBXBuildFile; fileRef = C9283533264621BB00D51CCE /* cocoaHelpers.mm */; }; + 9E1BEFCF29FCACE600A1C6D8 /* IndirectMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9E1BEFB229FCAA8C00A1C6D8 /* IndirectMain.cpp */; }; + 9E1BEFD029FCACEC00A1C6D8 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9E1BEFB429FCAA8C00A1C6D8 /* main.mm */; }; + 9E1BEFD129FCACEC00A1C6D8 /* tinyxml2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E72026E31AC000F09AD4 /* tinyxml2.cpp */; }; + 9E1BEFD229FCACF300A1C6D8 /* FadeScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6CA26E3197200F09AD4 /* FadeScreen.cpp */; }; + 9E1BEFD329FCACF300A1C6D8 /* ModInfoButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D126E3197200F09AD4 /* ModInfoButton.cpp */; }; + 9E1BEFD429FCACF300A1C6D8 /* ModsButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6C526E3197100F09AD4 /* ModsButton.cpp */; }; + 9E1BEFD529FCACF300A1C6D8 /* OptionsMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E026E3197300F09AD4 /* OptionsMenu.cpp */; }; + 9E1BEFD629FCACF300A1C6D8 /* RecordsScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D026E3197200F09AD4 /* RecordsScreen.cpp */; }; + 9E1BEFD729FCACF300A1C6D8 /* ModsMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E326E3197400F09AD4 /* ModsMenu.cpp */; }; + 9E1BEFD829FCACF300A1C6D8 /* CreditText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D226E3197200F09AD4 /* CreditText.cpp */; }; + 9E1BEFD929FCACF300A1C6D8 /* SegaIDButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D826E3197300F09AD4 /* SegaIDButton.cpp */; }; + 9E1BEFDA29FCACF300A1C6D8 /* StartGameButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6C326E3197100F09AD4 /* StartGameButton.cpp */; }; + 9E1BEFDB29FCACF300A1C6D8 /* TextLabel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6DD26E3197300F09AD4 /* TextLabel.cpp */; }; + 9E1BEFDC29FCACF300A1C6D8 /* TitleScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E226E3197400F09AD4 /* TitleScreen.cpp */; }; + 9E1BEFDD29FCACF300A1C6D8 /* MultiplayerHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6EA26E3197400F09AD4 /* MultiplayerHandler.cpp */; }; + 9E1BEFDE29FCACF300A1C6D8 /* SubMenuButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6CE26E3197200F09AD4 /* SubMenuButton.cpp */; }; + 9E1BEFDF29FCACF300A1C6D8 /* VirtualDPad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D626E3197300F09AD4 /* VirtualDPad.cpp */; }; + 9E1BEFE029FCACF300A1C6D8 /* LeaderboardsButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6DC26E3197300F09AD4 /* LeaderboardsButton.cpp */; }; + 9E1BEFE129FCACF300A1C6D8 /* PauseMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6CF26E3197200F09AD4 /* PauseMenu.cpp */; }; + 9E1BEFE229FCACF300A1C6D8 /* RetroGameLoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6C626E3197200F09AD4 /* RetroGameLoop.cpp */; }; + 9E1BEFE329FCACF300A1C6D8 /* StaffCredits.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D926E3197300F09AD4 /* StaffCredits.cpp */; }; + 9E1BEFE429FCACF300A1C6D8 /* VirtualDPadM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6C826E3197200F09AD4 /* VirtualDPadM.cpp */; }; + 9E1BEFE529FCACF300A1C6D8 /* SettingsScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E626E3197400F09AD4 /* SettingsScreen.cpp */; }; + 9E1BEFE629FCACF300A1C6D8 /* PushButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6DA26E3197300F09AD4 /* PushButton.cpp */; }; + 9E1BEFE729FCACF300A1C6D8 /* AchievementsButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6C726E3197200F09AD4 /* AchievementsButton.cpp */; }; + 9E1BEFE829FCACF300A1C6D8 /* AchievementDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E126E3197300F09AD4 /* AchievementDisplay.cpp */; }; + 9E1BEFE929FCACF300A1C6D8 /* AchievementsMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E426E3197400F09AD4 /* AchievementsMenu.cpp */; }; + 9E1BEFEA29FCACF300A1C6D8 /* AboutScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6C426E3197100F09AD4 /* AboutScreen.cpp */; }; + 9E1BEFEB29FCACF300A1C6D8 /* MenuControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D426E3197300F09AD4 /* MenuControl.cpp */; }; + 9E1BEFEC29FCACF300A1C6D8 /* MenuBG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6DB26E3197300F09AD4 /* MenuBG.cpp */; }; + 9E1BEFED29FCACF300A1C6D8 /* DialogPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6CB26E3197200F09AD4 /* DialogPanel.cpp */; }; + 9E1BEFEE29FCACF300A1C6D8 /* OptionsButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6C926E3197200F09AD4 /* OptionsButton.cpp */; }; + 9E1BEFEF29FCACF300A1C6D8 /* CWSplash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6DF26E3197300F09AD4 /* CWSplash.cpp */; }; + 9E1BEFF029FCACF300A1C6D8 /* ZoneButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D326E3197300F09AD4 /* ZoneButton.cpp */; }; + 9E1BEFF129FCACF300A1C6D8 /* PlayerSelectScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D726E3197300F09AD4 /* PlayerSelectScreen.cpp */; }; + 9E1BEFF229FCACF300A1C6D8 /* InstructionsScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6CC26E3197200F09AD4 /* InstructionsScreen.cpp */; }; + 9E1BEFF329FCACF300A1C6D8 /* MultiplayerButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6CD26E3197200F09AD4 /* MultiplayerButton.cpp */; }; + 9E1BEFF429FCACF300A1C6D8 /* BackButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6DE26E3197300F09AD4 /* BackButton.cpp */; }; + 9E1BEFF529FCACF300A1C6D8 /* SegaSplash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E526E3197400F09AD4 /* SegaSplash.cpp */; }; + 9E1BEFF629FCACF300A1C6D8 /* MultiplayerScreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E826E3197400F09AD4 /* MultiplayerScreen.cpp */; }; + 9E1BEFF729FCACF300A1C6D8 /* SaveSelect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E926E3197400F09AD4 /* SaveSelect.cpp */; }; + 9E1BEFF829FCACF300A1C6D8 /* TimeAttackButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6D526E3197300F09AD4 /* TimeAttackButton.cpp */; }; + 9E1BEFF929FCACF300A1C6D8 /* TimeAttack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C975E6E726E3197400F09AD4 /* TimeAttack.cpp */; }; + 9E1BF00E29FCAD0000A1C6D8 /* Collision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196A25898BF600B47AB3 /* Collision.cpp */; }; + 9E1BF00F29FCAD0000A1C6D8 /* Animation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195B25898BF500B47AB3 /* Animation.cpp */; }; + 9E1BF01029FCAD0000A1C6D8 /* Debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195725898BF500B47AB3 /* Debug.cpp */; }; + 9E1BF01129FCAD0000A1C6D8 /* Input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195D25898BF500B47AB3 /* Input.cpp */; }; + 9E1BF01229FCAD0000A1C6D8 /* Audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195625898BF500B47AB3 /* Audio.cpp */; }; + 9E1BF01329FCAD0000A1C6D8 /* Drawing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195C25898BF500B47AB3 /* Drawing.cpp */; }; + 9E1BF01429FCAD0000A1C6D8 /* Ini.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195F25898BF600B47AB3 /* Ini.cpp */; }; + 9E1BF01529FCAD0500A1C6D8 /* RetroEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195825898BF500B47AB3 /* RetroEngine.cpp */; }; + 9E1BF01629FCAD0500A1C6D8 /* Userdata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196125898BF600B47AB3 /* Userdata.cpp */; }; + 9E1BF01729FCAD0500A1C6D8 /* Object.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196725898BF600B47AB3 /* Object.cpp */; }; + 9E1BF01829FCAD0500A1C6D8 /* Math.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196825898BF600B47AB3 /* Math.cpp */; }; + 9E1BF01929FCAD0500A1C6D8 /* Palette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196625898BF600B47AB3 /* Palette.cpp */; }; + 9E1BF01A29FCAD0500A1C6D8 /* Reader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196B25898BF600B47AB3 /* Reader.cpp */; }; + 9E1BF01B29FCAD0500A1C6D8 /* Sprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195A25898BF500B47AB3 /* Sprite.cpp */; }; + 9E1BF01C29FCAD0500A1C6D8 /* Scene.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195925898BF500B47AB3 /* Scene.cpp */; }; + 9E1BF01D29FCAD0500A1C6D8 /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962195E25898BF500B47AB3 /* String.cpp */; }; + 9E1BF01E29FCAD0500A1C6D8 /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196925898BF600B47AB3 /* Text.cpp */; }; + 9E1BF01F29FCAD0500A1C6D8 /* Scene3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196025898BF600B47AB3 /* Scene3D.cpp */; }; + 9E1BF02029FCAD0500A1C6D8 /* Script.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C962196525898BF600B47AB3 /* Script.cpp */; }; + 9E1BF03029FCAFE400A1C6D8 /* Ogg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9EA0883D29FA0CB600163B50 /* Ogg.framework */; }; + 9E1BF03129FCAFE400A1C6D8 /* Ogg.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9EA0883D29FA0CB600163B50 /* Ogg.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9E1BF03229FCAFE400A1C6D8 /* Vorbis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9EA0883F29FA0CB600163B50 /* Vorbis.framework */; }; + 9E1BF03329FCAFE400A1C6D8 /* Vorbis.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9EA0883F29FA0CB600163B50 /* Vorbis.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9E1BF03429FCAFE400A1C6D8 /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9E03820729EE36AE00629FE3 /* SDL2.framework */; }; + 9E1BF03529FCAFE400A1C6D8 /* SDL2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9E03820729EE36AE00629FE3 /* SDL2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9E1BF03629FCAFE400A1C6D8 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9EA0885129FA11AF00163B50 /* AppKit.framework */; }; + 9E1BF03729FCAFE400A1C6D8 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C975E69826E3190B00F09AD4 /* OpenGL.framework */; }; + 9E1BF03929FCB18900A1C6D8 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C962193625898B0A00B47AB3 /* Assets.xcassets */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -179,15 +179,15 @@ /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - C928352C26461CDB00D51CCE /* Embed Frameworks */ = { + 9E1BF03829FCAFE400A1C6D8 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - 9EA0884C29FA0CBB00163B50 /* Ogg.framework in Embed Frameworks */, - 9E03821D29EE36BF00629FE3 /* SDL2.framework in Embed Frameworks */, - 9EA0884E29FA0CBB00163B50 /* Vorbis.framework in Embed Frameworks */, + 9E1BF03529FCAFE400A1C6D8 /* SDL2.framework in Embed Frameworks */, + 9E1BF03129FCAFE400A1C6D8 /* Ogg.framework in Embed Frameworks */, + 9E1BF03329FCAFE400A1C6D8 /* Vorbis.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -197,12 +197,14 @@ /* Begin PBXFileReference section */ 9E0381F029EE366300629FE3 /* OggAndVorbis.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = OggAndVorbis.xcodeproj; path = dependencies/mac/OggAndVorbis.xcodeproj; sourceTree = ""; }; 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SDL.xcodeproj; path = dependencies/mac/SDL2/Xcode/SDL/SDL.xcodeproj; sourceTree = ""; }; + 9E1BEFB229FCAA8C00A1C6D8 /* IndirectMain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IndirectMain.cpp; path = dependencies/mac/IndirectMain.cpp; sourceTree = SOURCE_ROOT; }; + 9E1BEFB329FCAA8C00A1C6D8 /* IndirectMain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IndirectMain.h; path = dependencies/mac/IndirectMain.h; sourceTree = SOURCE_ROOT; }; + 9E1BEFB429FCAA8C00A1C6D8 /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = main.mm; path = dependencies/mac/main.mm; sourceTree = SOURCE_ROOT; }; + 9E1BEFBB29FCABB100A1C6D8 /* RSDKv4.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RSDKv4.app; sourceTree = BUILT_PRODUCTS_DIR; }; 9EA0885129FA11AF00163B50 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; C9283533264621BB00D51CCE /* cocoaHelpers.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = cocoaHelpers.mm; path = dependencies/mac/cocoaHelpers.mm; sourceTree = SOURCE_ROOT; }; C9283535264621C800D51CCE /* cocoaHelpers.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = cocoaHelpers.hpp; path = dependencies/mac/cocoaHelpers.hpp; sourceTree = SOURCE_ROOT; }; - C962191925898A9300B47AB3 /* RSDKv4.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RSDKv4.app; sourceTree = BUILT_PRODUCTS_DIR; }; C962193625898B0A00B47AB3 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = dependencies/mac/Assets.xcassets; sourceTree = SOURCE_ROOT; }; - C962193D25898B6000B47AB3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = dependencies/mac/Base.lproj/Main.storyboard; sourceTree = SOURCE_ROOT; }; C962194125898BCD00B47AB3 /* Text.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Text.hpp; path = RSDKv4/Text.hpp; sourceTree = SOURCE_ROOT; }; C962194225898BCD00B47AB3 /* Script.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Script.hpp; path = RSDKv4/Script.hpp; sourceTree = SOURCE_ROOT; }; C962194325898BCD00B47AB3 /* Audio.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Audio.hpp; path = RSDKv4/Audio.hpp; sourceTree = SOURCE_ROOT; }; @@ -336,15 +338,15 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - C962191625898A9300B47AB3 /* Frameworks */ = { + 9E1BEFB829FCABB100A1C6D8 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9EA0884B29FA0CBB00163B50 /* Ogg.framework in Frameworks */, - 9EA0884D29FA0CBB00163B50 /* Vorbis.framework in Frameworks */, - 9EA0885F29FA11B000163B50 /* AppKit.framework in Frameworks */, - C975E69926E3190B00F09AD4 /* OpenGL.framework in Frameworks */, - 9E03821C29EE36BF00629FE3 /* SDL2.framework in Frameworks */, + 9E1BF03429FCAFE400A1C6D8 /* SDL2.framework in Frameworks */, + 9E1BF03629FCAFE400A1C6D8 /* AppKit.framework in Frameworks */, + 9E1BF03029FCAFE400A1C6D8 /* Ogg.framework in Frameworks */, + 9E1BF03729FCAFE400A1C6D8 /* OpenGL.framework in Frameworks */, + 9E1BF03229FCAFE400A1C6D8 /* Vorbis.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -391,8 +393,11 @@ C92835322646219F00D51CCE /* Helpers */ = { isa = PBXGroup; children = ( - C975E72026E31AC000F09AD4 /* tinyxml2.cpp */, C9283533264621BB00D51CCE /* cocoaHelpers.mm */, + 9E1BEFB229FCAA8C00A1C6D8 /* IndirectMain.cpp */, + 9E1BEFB329FCAA8C00A1C6D8 /* IndirectMain.h */, + 9E1BEFB429FCAA8C00A1C6D8 /* main.mm */, + C975E72026E31AC000F09AD4 /* tinyxml2.cpp */, ); name = Helpers; sourceTree = ""; @@ -411,7 +416,7 @@ C962191A25898A9300B47AB3 /* Products */ = { isa = PBXGroup; children = ( - C962191925898A9300B47AB3 /* RSDKv4.app */, + 9E1BEFBB29FCABB100A1C6D8 /* RSDKv4.app */, ); name = Products; sourceTree = ""; @@ -421,7 +426,6 @@ children = ( C962194025898B6E00B47AB3 /* Header Files */, C962193F25898B6700B47AB3 /* Source Files */, - C962193C25898B6000B47AB3 /* Main.storyboard */, C962193625898B0A00B47AB3 /* Assets.xcassets */, ); path = RSDKv4; @@ -597,14 +601,14 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - C962191825898A9300B47AB3 /* RSDKv4 */ = { + 9E1BEFBA29FCABB100A1C6D8 /* RSDKv4 */ = { isa = PBXNativeTarget; - buildConfigurationList = C962193325898A9400B47AB3 /* Build configuration list for PBXNativeTarget "RSDKv4" */; + buildConfigurationList = 9E1BEFC829FCABB200A1C6D8 /* Build configuration list for PBXNativeTarget "RSDKv4" */; buildPhases = ( - C962191525898A9300B47AB3 /* Sources */, - C962191625898A9300B47AB3 /* Frameworks */, - C962191725898A9300B47AB3 /* Resources */, - C928352C26461CDB00D51CCE /* Embed Frameworks */, + 9E1BEFB729FCABB100A1C6D8 /* Sources */, + 9E1BEFB829FCABB100A1C6D8 /* Frameworks */, + 9E1BEFB929FCABB100A1C6D8 /* Resources */, + 9E1BF03829FCAFE400A1C6D8 /* Embed Frameworks */, ); buildRules = ( ); @@ -612,7 +616,7 @@ ); name = RSDKv4; productName = RSDKv4; - productReference = C962191925898A9300B47AB3 /* RSDKv4.app */; + productReference = 9E1BEFBB29FCABB100A1C6D8 /* RSDKv4.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -624,8 +628,8 @@ LastUpgradeCheck = 1230; ORGANIZATIONNAME = Rubberduckycooly; TargetAttributes = { - C962191825898A9300B47AB3 = { - CreatedOnToolsVersion = 11.6; + 9E1BEFBA29FCABB100A1C6D8 = { + CreatedOnToolsVersion = 14.3; }; }; }; @@ -652,7 +656,7 @@ ); projectRoot = ""; targets = ( - C962191825898A9300B47AB3 /* RSDKv4 */, + 9E1BEFBA29FCABB100A1C6D8 /* RSDKv4 */, ); }; /* End PBXProject section */ @@ -752,104 +756,159 @@ /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ - C962191725898A9300B47AB3 /* Resources */ = { + 9E1BEFB929FCABB100A1C6D8 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - C962193E25898B6000B47AB3 /* Main.storyboard in Resources */, - C962193925898B0B00B47AB3 /* Assets.xcassets in Resources */, + 9E1BF03929FCB18900A1C6D8 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - C962191525898A9300B47AB3 /* Sources */ = { + 9E1BEFB729FCABB100A1C6D8 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - C962197B25898BF600B47AB3 /* Script.cpp in Sources */, - C975E70326E3197400F09AD4 /* MenuBG.cpp in Sources */, - C975E70826E3197400F09AD4 /* OptionsMenu.cpp in Sources */, - C962196F25898BF600B47AB3 /* Scene.cpp in Sources */, - C975E70626E3197400F09AD4 /* BackButton.cpp in Sources */, - C962196E25898BF600B47AB3 /* RetroEngine.cpp in Sources */, - C962197325898BF600B47AB3 /* Input.cpp in Sources */, - C962197C25898BF600B47AB3 /* Palette.cpp in Sources */, - C975E6F726E3197400F09AD4 /* PauseMenu.cpp in Sources */, - C975E72126E31AC000F09AD4 /* tinyxml2.cpp in Sources */, - C962197925898BF600B47AB3 /* main.cpp in Sources */, - C975E70D26E3197400F09AD4 /* SegaSplash.cpp in Sources */, - C975E6FB26E3197400F09AD4 /* ZoneButton.cpp in Sources */, - C975E70226E3197400F09AD4 /* PushButton.cpp in Sources */, - C975E70026E3197400F09AD4 /* SegaIDButton.cpp in Sources */, - C975E6F126E3197400F09AD4 /* OptionsButton.cpp in Sources */, - C962198025898BF600B47AB3 /* Collision.cpp in Sources */, - C975E6EF26E3197400F09AD4 /* AchievementsButton.cpp in Sources */, - C962197625898BF600B47AB3 /* Scene3D.cpp in Sources */, - C975E70C26E3197400F09AD4 /* AchievementsMenu.cpp in Sources */, - C975E6FA26E3197400F09AD4 /* CreditText.cpp in Sources */, - C975E6EB26E3197400F09AD4 /* StartGameButton.cpp in Sources */, - C975E70B26E3197400F09AD4 /* ModsMenu.cpp in Sources */, - C975E6FF26E3197400F09AD4 /* PlayerSelectScreen.cpp in Sources */, - C962197D25898BF600B47AB3 /* Object.cpp in Sources */, - C975E6F826E3197400F09AD4 /* RecordsScreen.cpp in Sources */, - C962197125898BF600B47AB3 /* Animation.cpp in Sources */, - C975E70F26E3197400F09AD4 /* TimeAttack.cpp in Sources */, - C975E71026E3197400F09AD4 /* MultiplayerScreen.cpp in Sources */, - C962197225898BF600B47AB3 /* Drawing.cpp in Sources */, - C975E6FE26E3197400F09AD4 /* VirtualDPad.cpp in Sources */, - C975E70426E3197400F09AD4 /* LeaderboardsButton.cpp in Sources */, - C962198125898BF600B47AB3 /* Reader.cpp in Sources */, - C975E6FC26E3197400F09AD4 /* MenuControl.cpp in Sources */, - C975E6F226E3197400F09AD4 /* FadeScreen.cpp in Sources */, - C975E6F426E3197400F09AD4 /* InstructionsScreen.cpp in Sources */, - C975E6F326E3197400F09AD4 /* DialogPanel.cpp in Sources */, - C962197E25898BF600B47AB3 /* Math.cpp in Sources */, - C975E70E26E3197400F09AD4 /* SettingsScreen.cpp in Sources */, - C975E6F026E3197400F09AD4 /* VirtualDPadM.cpp in Sources */, - C975E70A26E3197400F09AD4 /* TitleScreen.cpp in Sources */, - C975E71726E3199000F09AD4 /* ModAPI.cpp in Sources */, - C975E6F926E3197400F09AD4 /* ModInfoButton.cpp in Sources */, - C962197025898BF600B47AB3 /* Sprite.cpp in Sources */, - C962196C25898BF600B47AB3 /* Audio.cpp in Sources */, - C975E70126E3197400F09AD4 /* StaffCredits.cpp in Sources */, - C975E70726E3197400F09AD4 /* CWSplash.cpp in Sources */, - C975E70526E3197400F09AD4 /* TextLabel.cpp in Sources */, - C962197F25898BF600B47AB3 /* Text.cpp in Sources */, - C962197425898BF600B47AB3 /* String.cpp in Sources */, - C962197525898BF600B47AB3 /* Ini.cpp in Sources */, - C975E6EE26E3197400F09AD4 /* RetroGameLoop.cpp in Sources */, - C975E71126E3197400F09AD4 /* SaveSelect.cpp in Sources */, - C975E71826E3199000F09AD4 /* Renderer.cpp in Sources */, - C975E6FD26E3197400F09AD4 /* TimeAttackButton.cpp in Sources */, - C975E6F626E3197400F09AD4 /* SubMenuButton.cpp in Sources */, - C975E6F526E3197400F09AD4 /* MultiplayerButton.cpp in Sources */, - C975E70926E3197400F09AD4 /* AchievementDisplay.cpp in Sources */, - C975E71226E3197400F09AD4 /* MultiplayerHandler.cpp in Sources */, - C962197725898BF600B47AB3 /* Userdata.cpp in Sources */, - C975E6EC26E3197400F09AD4 /* AboutScreen.cpp in Sources */, - C9283534264621BB00D51CCE /* cocoaHelpers.mm in Sources */, - C975E71626E3199000F09AD4 /* Networking.cpp in Sources */, - C975E6ED26E3197400F09AD4 /* ModsButton.cpp in Sources */, - C962196D25898BF600B47AB3 /* Debug.cpp in Sources */, + 9E1BEFD729FCACF300A1C6D8 /* ModsMenu.cpp in Sources */, + 9E1BEFE029FCACF300A1C6D8 /* LeaderboardsButton.cpp in Sources */, + 9E1BF01929FCAD0500A1C6D8 /* Palette.cpp in Sources */, + 9E1BEFEE29FCACF300A1C6D8 /* OptionsButton.cpp in Sources */, + 9E1BEFE229FCACF300A1C6D8 /* RetroGameLoop.cpp in Sources */, + 9E1BEFF829FCACF300A1C6D8 /* TimeAttackButton.cpp in Sources */, + 9E1BF01B29FCAD0500A1C6D8 /* Sprite.cpp in Sources */, + 9E1BEFE629FCACF300A1C6D8 /* PushButton.cpp in Sources */, + 9E1BEFE829FCACF300A1C6D8 /* AchievementDisplay.cpp in Sources */, + 9E1BEFD029FCACEC00A1C6D8 /* main.mm in Sources */, + 9E1BF02029FCAD0500A1C6D8 /* Script.cpp in Sources */, + 9E1BEFF029FCACF300A1C6D8 /* ZoneButton.cpp in Sources */, + 9E1BEFED29FCACF300A1C6D8 /* DialogPanel.cpp in Sources */, + 9E1BF00E29FCAD0000A1C6D8 /* Collision.cpp in Sources */, + 9E1BEFDD29FCACF300A1C6D8 /* MultiplayerHandler.cpp in Sources */, + 9E1BF01429FCAD0000A1C6D8 /* Ini.cpp in Sources */, + 9E1BEFF329FCACF300A1C6D8 /* MultiplayerButton.cpp in Sources */, + 9E1BF01D29FCAD0500A1C6D8 /* String.cpp in Sources */, + 9E1BEFCD29FCACE200A1C6D8 /* Networking.cpp in Sources */, + 9E1BEFD429FCACF300A1C6D8 /* ModsButton.cpp in Sources */, + 9E1BEFF229FCACF300A1C6D8 /* InstructionsScreen.cpp in Sources */, + 9E1BEFDC29FCACF300A1C6D8 /* TitleScreen.cpp in Sources */, + 9E1BF01F29FCAD0500A1C6D8 /* Scene3D.cpp in Sources */, + 9E1BEFCC29FCACE200A1C6D8 /* Renderer.cpp in Sources */, + 9E1BEFF129FCACF300A1C6D8 /* PlayerSelectScreen.cpp in Sources */, + 9E1BEFCB29FCACE200A1C6D8 /* ModAPI.cpp in Sources */, + 9E1BEFE329FCACF300A1C6D8 /* StaffCredits.cpp in Sources */, + 9E1BF01129FCAD0000A1C6D8 /* Input.cpp in Sources */, + 9E1BF01029FCAD0000A1C6D8 /* Debug.cpp in Sources */, + 9E1BEFDF29FCACF300A1C6D8 /* VirtualDPad.cpp in Sources */, + 9E1BEFD929FCACF300A1C6D8 /* SegaIDButton.cpp in Sources */, + 9E1BEFE129FCACF300A1C6D8 /* PauseMenu.cpp in Sources */, + 9E1BF01E29FCAD0500A1C6D8 /* Text.cpp in Sources */, + 9E1BF00F29FCAD0000A1C6D8 /* Animation.cpp in Sources */, + 9E1BEFE429FCACF300A1C6D8 /* VirtualDPadM.cpp in Sources */, + 9E1BEFF529FCACF300A1C6D8 /* SegaSplash.cpp in Sources */, + 9E1BEFD329FCACF300A1C6D8 /* ModInfoButton.cpp in Sources */, + 9E1BEFDA29FCACF300A1C6D8 /* StartGameButton.cpp in Sources */, + 9E1BEFCF29FCACE600A1C6D8 /* IndirectMain.cpp in Sources */, + 9E1BEFD529FCACF300A1C6D8 /* OptionsMenu.cpp in Sources */, + 9E1BEFDE29FCACF300A1C6D8 /* SubMenuButton.cpp in Sources */, + 9E1BEFE529FCACF300A1C6D8 /* SettingsScreen.cpp in Sources */, + 9E1BEFD629FCACF300A1C6D8 /* RecordsScreen.cpp in Sources */, + 9E1BEFCE29FCACE600A1C6D8 /* cocoaHelpers.mm in Sources */, + 9E1BEFD829FCACF300A1C6D8 /* CreditText.cpp in Sources */, + 9E1BEFE729FCACF300A1C6D8 /* AchievementsButton.cpp in Sources */, + 9E1BEFF629FCACF300A1C6D8 /* MultiplayerScreen.cpp in Sources */, + 9E1BEFF729FCACF300A1C6D8 /* SaveSelect.cpp in Sources */, + 9E1BEFEA29FCACF300A1C6D8 /* AboutScreen.cpp in Sources */, + 9E1BEFEB29FCACF300A1C6D8 /* MenuControl.cpp in Sources */, + 9E1BEFF929FCACF300A1C6D8 /* TimeAttack.cpp in Sources */, + 9E1BF01229FCAD0000A1C6D8 /* Audio.cpp in Sources */, + 9E1BF01529FCAD0500A1C6D8 /* RetroEngine.cpp in Sources */, + 9E1BF01329FCAD0000A1C6D8 /* Drawing.cpp in Sources */, + 9E1BEFD129FCACEC00A1C6D8 /* tinyxml2.cpp in Sources */, + 9E1BEFD229FCACF300A1C6D8 /* FadeScreen.cpp in Sources */, + 9E1BF01729FCAD0500A1C6D8 /* Object.cpp in Sources */, + 9E1BEFEF29FCACF300A1C6D8 /* CWSplash.cpp in Sources */, + 9E1BEFF429FCACF300A1C6D8 /* BackButton.cpp in Sources */, + 9E1BEFEC29FCACF300A1C6D8 /* MenuBG.cpp in Sources */, + 9E1BF01C29FCAD0500A1C6D8 /* Scene.cpp in Sources */, + 9E1BEFE929FCACF300A1C6D8 /* AchievementsMenu.cpp in Sources */, + 9E1BF01629FCAD0500A1C6D8 /* Userdata.cpp in Sources */, + 9E1BEFDB29FCACF300A1C6D8 /* TextLabel.cpp in Sources */, + 9E1BF01A29FCAD0500A1C6D8 /* Reader.cpp in Sources */, + 9E1BF01829FCAD0500A1C6D8 /* Math.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXVariantGroup section */ - C962193C25898B6000B47AB3 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - C962193D25898B6000B47AB3 /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - /* Begin XCBuildConfiguration section */ + 9E1BEFC929FCABB200A1C6D8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CODE_SIGN_ENTITLEMENTS = dependencies/mac/RSDKv4.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = ""; + ENABLE_HARDENED_RUNTIME = YES; + GENERATE_INFOPLIST_FILE = NO; + HEADER_SEARCH_PATHS = ( + "$(PROJECT_DIR)/dependencies/all/asio/asio/include", + "$(PROJECT_DIR)/dependencies/all/tinyxml2", + "$(PROJECT_DIR)/dependencies/all/stb-image", + ); + INFOPLIST_FILE = "$(SRCROOT)/dependencies/mac/Info.plist"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2023 Rubberduckycooly. All rights reserved."; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MARKETING_VERSION = 1.3.0; + PRODUCT_BUNDLE_IDENTIFIER = org.decomp.RSDKv4; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 9E1BEFCA29FCABB200A1C6D8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CODE_SIGN_ENTITLEMENTS = dependencies/mac/RSDKv4.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = ""; + ENABLE_HARDENED_RUNTIME = YES; + GENERATE_INFOPLIST_FILE = NO; + HEADER_SEARCH_PATHS = ( + "$(PROJECT_DIR)/dependencies/all/asio/asio/include", + "$(PROJECT_DIR)/dependencies/all/tinyxml2", + "$(PROJECT_DIR)/dependencies/all/stb-image", + ); + INFOPLIST_FILE = "$(SRCROOT)/dependencies/mac/Info.plist"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2023 Rubberduckycooly. All rights reserved."; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MARKETING_VERSION = 1.3.0; + PRODUCT_BUNDLE_IDENTIFIER = org.decomp.RSDKv4; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; C962193125898A9400B47AB3 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -964,103 +1023,23 @@ }; name = Release; }; - C962193425898A9400B47AB3 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CODE_SIGN_ENTITLEMENTS = dependencies/mac/RSDKv4.entitlements; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - ENABLE_HARDENED_RUNTIME = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/dependencies/mac", - "$(PROJECT_DIR)/dependencies/mac/ogg/macosx", - "$(PROJECT_DIR)/dependencies/mac/libvorbis-1.3.7/macosx", - "$(PROJECT_DIR)/dependencies/mac/libogg/macosx", - "$(PROJECT_DIR)/dependencies/mac/libvorbis/macosx", - "$(PROJECT_DIR)/dependencies/mac/libtheora/macosx", - ); - HEADER_SEARCH_PATHS = ( - "$(PROJECT_DIR)/dependencies/all/asio/asio/include", - "$(PROJECT_DIR)/dependencies/all/tinyxml2", - "$(PROJECT_DIR)/dependencies/all/stb-image", - ); - INFOPLIST_FILE = "$(SRCROOT)/dependencies/mac/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/dependencies/mac/glew/2.1.0_1/lib", - ); - MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 1.3.0; - PRODUCT_BUNDLE_IDENTIFIER = Decomp.RSDKv4; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - C962193525898A9400B47AB3 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CODE_SIGN_ENTITLEMENTS = dependencies/mac/RSDKv4.entitlements; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - ENABLE_HARDENED_RUNTIME = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/dependencies/mac", - "$(PROJECT_DIR)/dependencies/mac/ogg/macosx", - "$(PROJECT_DIR)/dependencies/mac/libvorbis-1.3.7/macosx", - "$(PROJECT_DIR)/dependencies/mac/libogg/macosx", - "$(PROJECT_DIR)/dependencies/mac/libvorbis/macosx", - "$(PROJECT_DIR)/dependencies/mac/libtheora/macosx", - ); - HEADER_SEARCH_PATHS = ( - "$(PROJECT_DIR)/dependencies/all/asio/asio/include", - "$(PROJECT_DIR)/dependencies/all/tinyxml2", - "$(PROJECT_DIR)/dependencies/all/stb-image", - ); - INFOPLIST_FILE = "$(SRCROOT)/dependencies/mac/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/dependencies/mac/glew/2.1.0_1/lib", - ); - MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 1.3.0; - PRODUCT_BUNDLE_IDENTIFIER = Decomp.RSDKv4; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - C962191425898A9300B47AB3 /* Build configuration list for PBXProject "RSDKv4" */ = { + 9E1BEFC829FCABB200A1C6D8 /* Build configuration list for PBXNativeTarget "RSDKv4" */ = { isa = XCConfigurationList; buildConfigurations = ( - C962193125898A9400B47AB3 /* Debug */, - C962193225898A9400B47AB3 /* Release */, + 9E1BEFC929FCABB200A1C6D8 /* Debug */, + 9E1BEFCA29FCABB200A1C6D8 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - C962193325898A9400B47AB3 /* Build configuration list for PBXNativeTarget "RSDKv4" */ = { + C962191425898A9300B47AB3 /* Build configuration list for PBXProject "RSDKv4" */ = { isa = XCConfigurationList; buildConfigurations = ( - C962193425898A9400B47AB3 /* Debug */, - C962193525898A9400B47AB3 /* Release */, + C962193125898A9400B47AB3 /* Debug */, + C962193225898A9400B47AB3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/RSDKv4.xcodeproj/xcshareddata/xcschemes/RSDKv4.xcscheme b/RSDKv4.xcodeproj/xcshareddata/xcschemes/RSDKv4.xcscheme index 5a73e601f..a7303393d 100644 --- a/RSDKv4.xcodeproj/xcshareddata/xcschemes/RSDKv4.xcscheme +++ b/RSDKv4.xcodeproj/xcshareddata/xcschemes/RSDKv4.xcscheme @@ -14,7 +14,7 @@ buildForAnalyzing = "YES"> @@ -40,16 +40,6 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> - - - - - - - - diff --git a/dependencies/mac/Base.lproj/Main.storyboard b/dependencies/mac/Base.lproj/Main.storyboard deleted file mode 100644 index b52090eeb..000000000 --- a/dependencies/mac/Base.lproj/Main.storyboard +++ /dev/null @@ -1,717 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Default - - - - - - - Left to Right - - - - - - - Right to Left - - - - - - - - - - - Default - - - - - - - Left to Right - - - - - - - Right to Left - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dependencies/mac/IndirectMain.cpp b/dependencies/mac/IndirectMain.cpp new file mode 100644 index 000000000..5ebd4b1b1 --- /dev/null +++ b/dependencies/mac/IndirectMain.cpp @@ -0,0 +1,14 @@ +#include "IndirectMain.h" +#include "RetroEngine.hpp" + +int actualMain(int argc, const char * argv[]){ + for (int i = 0; i < argc; ++i) { + if (StrComp(argv[i], "UsingCWD")) + usingCWD = true; + } + + Engine.Init(); + Engine.Run(); + + return 0; +} diff --git a/dependencies/mac/IndirectMain.h b/dependencies/mac/IndirectMain.h new file mode 100644 index 000000000..b3fa3e435 --- /dev/null +++ b/dependencies/mac/IndirectMain.h @@ -0,0 +1,8 @@ +#ifndef IndirectMain_h +#define IndirectMain_h + +#include + +int actualMain(int argc, const char * argv[]); + +#endif /* IndirectMain_h */ diff --git a/dependencies/mac/Info.plist b/dependencies/mac/Info.plist index c3ae5cd42..21f403ac9 100644 --- a/dependencies/mac/Info.plist +++ b/dependencies/mac/Info.plist @@ -4,6 +4,8 @@ BuildMachineOSBuild 20C69 + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIconFile @@ -22,6 +24,8 @@ MacOSX + CFBundleVersion + $(CURRENT_PROJECT_VERSION) DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild @@ -41,7 +45,7 @@ LSApplicationCategoryType public.app-category.games LSMinimumSystemVersion - 10.11 + 10.15 NSHighResolutionCapable True NSHumanReadableCopyright diff --git a/dependencies/mac/OggAndVorbis.xcodeproj/project.pbxproj b/dependencies/mac/OggAndVorbis.xcodeproj/project.pbxproj index f3f58a0cf..1081eeefd 100644 --- a/dependencies/mac/OggAndVorbis.xcodeproj/project.pbxproj +++ b/dependencies/mac/OggAndVorbis.xcodeproj/project.pbxproj @@ -569,6 +569,7 @@ OTHER_CFLAGS = "-fPIC"; PRODUCT_BUNDLE_IDENTIFIER = org.xiph.ogg; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -617,6 +618,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = org.xiph.ogg; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -665,6 +667,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = org.xiph.ogg; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -713,6 +716,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = org.xiph.ogg; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; diff --git a/dependencies/mac/OggAndVorbis.xcodeproj/xcshareddata/xcschemes/Ogg.xcscheme b/dependencies/mac/OggAndVorbis.xcodeproj/xcshareddata/xcschemes/Ogg.xcscheme new file mode 100644 index 000000000..ed996db91 --- /dev/null +++ b/dependencies/mac/OggAndVorbis.xcodeproj/xcshareddata/xcschemes/Ogg.xcscheme @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dependencies/mac/main.mm b/dependencies/mac/main.mm new file mode 100644 index 000000000..65e126da2 --- /dev/null +++ b/dependencies/mac/main.mm @@ -0,0 +1,15 @@ +// +// main.m +// RSDKv4 +// + +#import +#include "IndirectMain.h" + +int main(int argc, const char * argv[]) { + @autoreleasepool { + NSString* appFolder = [NSBundle.mainBundle.bundlePath stringByDeletingLastPathComponent]; + [NSFileManager.defaultManager changeCurrentDirectoryPath:appFolder]; + } + return actualMain(argc, argv); +} From 28fdba230bf1c3d17b93ecb30fb330d3c24c6650 Mon Sep 17 00:00:00 2001 From: Sappharad Date: Sun, 30 Apr 2023 17:25:13 -0500 Subject: [PATCH 06/13] SDL2 reference was bad on fresh checkout. Fixed? --- RSDKv4.xcodeproj/project.pbxproj | 62 ++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 15 deletions(-) diff --git a/RSDKv4.xcodeproj/project.pbxproj b/RSDKv4.xcodeproj/project.pbxproj index 8ce22a9e9..a6dd199c9 100644 --- a/RSDKv4.xcodeproj/project.pbxproj +++ b/RSDKv4.xcodeproj/project.pbxproj @@ -82,6 +82,7 @@ 9E1BF03629FCAFE400A1C6D8 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9EA0885129FA11AF00163B50 /* AppKit.framework */; }; 9E1BF03729FCAFE400A1C6D8 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C975E69826E3190B00F09AD4 /* OpenGL.framework */; }; 9E1BF03929FCB18900A1C6D8 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C962193625898B0A00B47AB3 /* Assets.xcassets */; }; + 9E372A0D29FF1F0B00A22DAD /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9E03820729EE36AE00629FE3 /* SDL2.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -106,13 +107,6 @@ remoteGlobalIDString = A7D88D1523E24BED00DCD162; remoteInfo = "Framework-tvOS"; }; - 9E03820C29EE36AE00629FE3 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = E2D187CF28A5673500D2B4F1; - remoteInfo = "xcFramework-iOS"; - }; 9E03820E29EE36AE00629FE3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */; @@ -162,6 +156,27 @@ remoteGlobalIDString = BECDF6BE0761BA81005FE872; remoteInfo = "Standard DMG"; }; + 9E372A0729FF1F0B00A22DAD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = A75FDB8C23E4C74400529352; + remoteInfo = hidapi; + }; + 9E372A0929FF1F0B00A22DAD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = A75FDB4923E399AC00529352; + remoteInfo = "hidapi-iOS"; + }; + 9E372A0B29FF1F0B00A22DAD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9E0381F829EE36AE00629FE3 /* SDL.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = A75FDB6E23E3A2C900529352; + remoteInfo = "hidapi-tvOS"; + }; 9EA0883C29FA0CB600163B50 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 9E0381F029EE366300629FE3 /* OggAndVorbis.xcodeproj */; @@ -345,6 +360,7 @@ 9E1BF03429FCAFE400A1C6D8 /* SDL2.framework in Frameworks */, 9E1BF03629FCAFE400A1C6D8 /* AppKit.framework in Frameworks */, 9E1BF03029FCAFE400A1C6D8 /* Ogg.framework in Frameworks */, + 9E372A0D29FF1F0B00A22DAD /* SDL2.framework in Frameworks */, 9E1BF03729FCAFE400A1C6D8 /* OpenGL.framework in Frameworks */, 9E1BF03229FCAFE400A1C6D8 /* Vorbis.framework in Frameworks */, ); @@ -368,7 +384,6 @@ 9E03820729EE36AE00629FE3 /* SDL2.framework */, 9E03820929EE36AE00629FE3 /* SDL2.framework */, 9E03820B29EE36AE00629FE3 /* SDL2.framework */, - 9E03820D29EE36AE00629FE3 /* SDL2.framework */, 9E03820F29EE36AE00629FE3 /* libSDL2.a */, 9E03821129EE36AE00629FE3 /* libSDL2.a */, 9E03821329EE36AE00629FE3 /* libSDL2.a */, @@ -376,6 +391,9 @@ 9E03821729EE36AE00629FE3 /* libSDL2.dylib */, 9E03821929EE36AE00629FE3 /* libSDL2.dylib */, 9E03821B29EE36AE00629FE3 /* SDL2 */, + 9E372A0829FF1F0B00A22DAD /* hidapi.framework */, + 9E372A0A29FF1F0B00A22DAD /* hidapi.framework */, + 9E372A0C29FF1F0B00A22DAD /* hidapi.framework */, ); name = Products; sourceTree = ""; @@ -683,13 +701,6 @@ remoteRef = 9E03820A29EE36AE00629FE3 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 9E03820D29EE36AE00629FE3 /* SDL2.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = SDL2.framework; - remoteRef = 9E03820C29EE36AE00629FE3 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 9E03820F29EE36AE00629FE3 /* libSDL2.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -739,6 +750,27 @@ remoteRef = 9E03821A29EE36AE00629FE3 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 9E372A0829FF1F0B00A22DAD /* hidapi.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = hidapi.framework; + remoteRef = 9E372A0729FF1F0B00A22DAD /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9E372A0A29FF1F0B00A22DAD /* hidapi.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = hidapi.framework; + remoteRef = 9E372A0929FF1F0B00A22DAD /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9E372A0C29FF1F0B00A22DAD /* hidapi.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = hidapi.framework; + remoteRef = 9E372A0B29FF1F0B00A22DAD /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; 9EA0883D29FA0CB600163B50 /* Ogg.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; From 649047c9dc17713267fd6c77e0f7b2a6fe957131 Mon Sep 17 00:00:00 2001 From: Sappharad Date: Sun, 30 Apr 2023 18:22:10 -0500 Subject: [PATCH 07/13] macOS autobuild Steps should be fine but this might not work first try --- .github/workflows/build.yml | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3167f083f..2b20265d6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -166,3 +166,36 @@ jobs: with: name: v4-linux path: bin + + v4-macOS: + runs-on: macos-latest + steps: + - name: Checkout + uses: actions/checkout@v1 + with: + submodules: recursive + - name: Download libogg and libvorbis for easier includes + run: | + Invoke-WebRequest -Uri "https://ftp.osuosl.org/pub/xiph/releases/ogg/libogg-1.3.5.zip" -OutFile "libogg.zip" + Expand-Archive -Path libogg.zip -DestinationPath ./dependencies/mac/ + Rename-Item ./dependencies/mac/libogg-1.3.5 libogg + Invoke-WebRequest -Uri "https://ftp.osuosl.org/pub/xiph/releases/vorbis/libvorbis-1.3.7.zip" -OutFile "libvorbis.zip" + Expand-Archive -Path libvorbis.zip -DestinationPath ./dependencies/mac/ + Rename-Item ./dependencies/mac/libvorbis-1.3.7 libvorbis + - name: Download SDL2 + run: | + Invoke-WebRequest -Uri "https://libsdl.org/release/SDL2-2.0.14.zip" -OutFile "SDL2.zip" + Expand-Archive -Path SDL2.zip -DestinationPath ./dependencies/mac/ + Rename-Item ./dependencies/mac/SDL2-2.0.14 SDL2 + - name: Generate Vorbis headers + working-directory: ./dependencies/mac/libogg/ + run: | + ./configure + - name: Build RSDKv4 + run: | + xcodebuild -project RSDKv4.xcodeproj -scheme RSDKv4 DSTROOT="./build" archive + - name: Upload artifacts + uses: actions/upload-artifact@v1.0.0 + with: + name: v4-mac-universal + path: build/Applications From f9ca159bc399445ca9ae6186595c612f21f83b40 Mon Sep 17 00:00:00 2001 From: Sappharad Date: Sun, 30 Apr 2023 18:30:50 -0500 Subject: [PATCH 08/13] Mac Autobuild: Use unix commands not PowerShell --- .github/workflows/build.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2b20265d6..6701a1ddb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -176,17 +176,17 @@ jobs: submodules: recursive - name: Download libogg and libvorbis for easier includes run: | - Invoke-WebRequest -Uri "https://ftp.osuosl.org/pub/xiph/releases/ogg/libogg-1.3.5.zip" -OutFile "libogg.zip" - Expand-Archive -Path libogg.zip -DestinationPath ./dependencies/mac/ - Rename-Item ./dependencies/mac/libogg-1.3.5 libogg - Invoke-WebRequest -Uri "https://ftp.osuosl.org/pub/xiph/releases/vorbis/libvorbis-1.3.7.zip" -OutFile "libvorbis.zip" - Expand-Archive -Path libvorbis.zip -DestinationPath ./dependencies/mac/ - Rename-Item ./dependencies/mac/libvorbis-1.3.7 libvorbis + curl "https://ftp.osuosl.org/pub/xiph/releases/ogg/libogg-1.3.5.zip" --output "libogg.zip" + unzip libogg.zip -d ./dependencies/mac/ + mv ./dependencies/mac/libogg-1.3.5 ./dependencies/mac/libogg + curl "https://ftp.osuosl.org/pub/xiph/releases/vorbis/libvorbis-1.3.7.zip" --output "libvorbis.zip" + unzip libvorbis.zip -d ./dependencies/mac/ + mv ./dependencies/mac/libvorbis-1.3.7 ./dependencies/mac/libvorbis - name: Download SDL2 run: | - Invoke-WebRequest -Uri "https://libsdl.org/release/SDL2-2.0.14.zip" -OutFile "SDL2.zip" - Expand-Archive -Path SDL2.zip -DestinationPath ./dependencies/mac/ - Rename-Item ./dependencies/mac/SDL2-2.0.14 SDL2 + curl "https://libsdl.org/release/SDL2-2.0.14.zip" --output "SDL2.zip" + unzip SDL2.zip -d ./dependencies/mac/ + mv ./dependencies/mac/SDL2-2.0.14 ./dependencies/mac/SDL2 - name: Generate Vorbis headers working-directory: ./dependencies/mac/libogg/ run: | From 564e0b7072b8e911294ca8a31cf11a482f044b2a Mon Sep 17 00:00:00 2001 From: Sappharad Date: Sun, 30 Apr 2023 18:57:59 -0500 Subject: [PATCH 09/13] Zip Mac build ourselves If upload-artifacts performs the zip, permissions are lost and it won't run --- .github/workflows/build.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6701a1ddb..b3c829073 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -194,8 +194,12 @@ jobs: - name: Build RSDKv4 run: | xcodebuild -project RSDKv4.xcodeproj -scheme RSDKv4 DSTROOT="./build" archive + - name: Zip the app ourselves (So it can still run) + run: | + cd ./build/Applications/ + zip -r RSDKv4.zip ./RSDKv4.app/ - name: Upload artifacts - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v3 with: name: v4-mac-universal - path: build/Applications + path: build/Applications/RSDKv5.zip From 5925e078dc32bf28b0bf1694db9faf1a449e2f03 Mon Sep 17 00:00:00 2001 From: Sappharad Date: Sun, 30 Apr 2023 19:09:55 -0500 Subject: [PATCH 10/13] Fixed single character typo --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b3c829073..e13be855d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -202,4 +202,4 @@ jobs: uses: actions/upload-artifact@v3 with: name: v4-mac-universal - path: build/Applications/RSDKv5.zip + path: build/Applications/RSDKv4.zip From 6710149dcfe9399df1d55e714aacda0c75765ce2 Mon Sep 17 00:00:00 2001 From: Sappharad Date: Sun, 30 Apr 2023 19:34:28 -0500 Subject: [PATCH 11/13] Switch mac artifact to DMG The zip doesn't have permissions to run, hopefully DMG fixes it --- .github/workflows/build.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e13be855d..0bd492472 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -194,12 +194,11 @@ jobs: - name: Build RSDKv4 run: | xcodebuild -project RSDKv4.xcodeproj -scheme RSDKv4 DSTROOT="./build" archive - - name: Zip the app ourselves (So it can still run) + - name: Package into DMG to retain execute permissions run: | - cd ./build/Applications/ - zip -r RSDKv4.zip ./RSDKv4.app/ + hdiutil create -volname RSDKv4 -srcfolder ./build/Applications ./build/RSDKv4.dmg - name: Upload artifacts uses: actions/upload-artifact@v3 with: name: v4-mac-universal - path: build/Applications/RSDKv4.zip + path: build/RSDKv4.dmg From e3f298ddec9d3c93609d1883e67a08fa7d4f19c8 Mon Sep 17 00:00:00 2001 From: Sappharad Date: Sun, 30 Apr 2023 19:54:55 -0500 Subject: [PATCH 12/13] Unsigned mac builds always behave poorly Undo previous changes --- .github/workflows/build.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0bd492472..b6e2b4cf8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -194,11 +194,8 @@ jobs: - name: Build RSDKv4 run: | xcodebuild -project RSDKv4.xcodeproj -scheme RSDKv4 DSTROOT="./build" archive - - name: Package into DMG to retain execute permissions - run: | - hdiutil create -volname RSDKv4 -srcfolder ./build/Applications ./build/RSDKv4.dmg - name: Upload artifacts uses: actions/upload-artifact@v3 with: - name: v4-mac-universal - path: build/RSDKv4.dmg + name: v4-mac + path: build/Applications/ From 45ad7cc5e47d7b33badec3d2640667a14ef1bec8 Mon Sep 17 00:00:00 2001 From: Sappharad Date: Sun, 30 Apr 2023 20:10:32 -0500 Subject: [PATCH 13/13] Final mac autobuild setup This is not ideal. Artifacts zips it too, making a double zip. But we need to zip it ourselves or the symlinks get lost and the app breaks. But the app is broken anyway because it's unsigned and you need to run "xattr -cr RSDKv4.app" for it to not say that it's damaged so it can run. --- .github/workflows/build.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b6e2b4cf8..0d7f5ba83 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -194,8 +194,12 @@ jobs: - name: Build RSDKv4 run: | xcodebuild -project RSDKv4.xcodeproj -scheme RSDKv4 DSTROOT="./build" archive + - name: Zip the app ourselves (Important step to retain symlinks) + run: | + cd ./build/Applications/ + zip -r RSDKv4.zip ./RSDKv4.app/ - name: Upload artifacts uses: actions/upload-artifact@v3 with: name: v4-mac - path: build/Applications/ + path: build/Applications/RSDKv4.zip