From b694003fa8b351d2fdde8d8f0d4569acd29468ac Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Sat, 29 Nov 2025 14:10:11 -0800
Subject: [PATCH] Added an Xcode project
---
.gitignore | 4 +
.../AccentColor.colorset/Contents.json | 11 +
.../AppIcon.appiconset/Contents.json | 85 ++
Xcode/Assets.xcassets/Contents.json | 6 +
Xcode/Maelstrom.xcodeproj/project.pbxproj | 774 ++++++++++++++++++
external/SDL_net | 2 +-
game/main.cpp | 3 +
7 files changed, 884 insertions(+), 1 deletion(-)
create mode 100644 .gitignore
create mode 100644 Xcode/Assets.xcassets/AccentColor.colorset/Contents.json
create mode 100644 Xcode/Assets.xcassets/AppIcon.appiconset/Contents.json
create mode 100644 Xcode/Assets.xcassets/Contents.json
create mode 100644 Xcode/Maelstrom.xcodeproj/project.pbxproj
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..92516a97
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+# for Xcode
+.DS_Store
+xcuserdata
+*.xcworkspace
diff --git a/Xcode/Assets.xcassets/AccentColor.colorset/Contents.json b/Xcode/Assets.xcassets/AccentColor.colorset/Contents.json
new file mode 100644
index 00000000..eb878970
--- /dev/null
+++ b/Xcode/Assets.xcassets/AccentColor.colorset/Contents.json
@@ -0,0 +1,11 @@
+{
+ "colors" : [
+ {
+ "idiom" : "universal"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Xcode/Assets.xcassets/AppIcon.appiconset/Contents.json b/Xcode/Assets.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 00000000..ffdfe150
--- /dev/null
+++ b/Xcode/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,85 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "size" : "1024x1024"
+ },
+ {
+ "appearances" : [
+ {
+ "appearance" : "luminosity",
+ "value" : "dark"
+ }
+ ],
+ "idiom" : "universal",
+ "platform" : "ios",
+ "size" : "1024x1024"
+ },
+ {
+ "appearances" : [
+ {
+ "appearance" : "luminosity",
+ "value" : "tinted"
+ }
+ ],
+ "idiom" : "universal",
+ "platform" : "ios",
+ "size" : "1024x1024"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "1x",
+ "size" : "16x16"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "2x",
+ "size" : "16x16"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "1x",
+ "size" : "32x32"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "2x",
+ "size" : "32x32"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "1x",
+ "size" : "128x128"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "2x",
+ "size" : "128x128"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "1x",
+ "size" : "256x256"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "2x",
+ "size" : "256x256"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "1x",
+ "size" : "512x512"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "2x",
+ "size" : "512x512"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Xcode/Assets.xcassets/Contents.json b/Xcode/Assets.xcassets/Contents.json
new file mode 100644
index 00000000..73c00596
--- /dev/null
+++ b/Xcode/Assets.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Xcode/Maelstrom.xcodeproj/project.pbxproj b/Xcode/Maelstrom.xcodeproj/project.pbxproj
new file mode 100644
index 00000000..ff16c606
--- /dev/null
+++ b/Xcode/Maelstrom.xcodeproj/project.pbxproj
@@ -0,0 +1,774 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 77;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ AA9285A22EDB9A5D0005200A /* SDL3_net.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA9285A12EDB9A5D0005200A /* SDL3_net.framework */; };
+ AA9285A32EDB9A5D0005200A /* SDL3_net.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = AA9285A12EDB9A5D0005200A /* SDL3_net.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+ AA9285A42EDB9A6A0005200A /* SDL3.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA9285772EDB8EA00005200A /* SDL3.framework */; };
+ AA9285A52EDB9A6A0005200A /* SDL3.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = AA9285772EDB8EA00005200A /* SDL3.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+ AA928DE52EDB9CA60005200A /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DCF2EDB9CA60005200A /* main.cpp */; };
+ AA928DE62EDB9CA60005200A /* about.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DB32EDB9CA60005200A /* about.cpp */; };
+ AA928DE72EDB9CA60005200A /* MaelstromUI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DCD2EDB9CA60005200A /* MaelstromUI.cpp */; };
+ AA928DE82EDB9CA60005200A /* rect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DDF2EDB9CA60005200A /* rect.cpp */; };
+ AA928DE92EDB9CA60005200A /* netplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DD52EDB9CA60005200A /* netplay.cpp */; };
+ AA928DEA2EDB9CA60005200A /* objects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DD92EDB9CA60005200A /* objects.cpp */; };
+ AA928DEB2EDB9CA60005200A /* game.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DBC2EDB9CA60005200A /* game.cpp */; };
+ AA928DEC2EDB9CA60005200A /* lobby.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DC62EDB9CA60005200A /* lobby.cpp */; };
+ AA928DED2EDB9CA60005200A /* MacDialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DC92EDB9CA60005200A /* MacDialog.cpp */; };
+ AA928DEE2EDB9CA60005200A /* continue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DB62EDB9CA60005200A /* continue.cpp */; };
+ AA928DEF2EDB9CA60005200A /* player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DDC2EDB9CA60005200A /* player.cpp */; };
+ AA928DF02EDB9CA60005200A /* load.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DC42EDB9CA60005200A /* load.cpp */; };
+ AA928DF12EDB9CA60005200A /* gameover.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DC02EDB9CA60005200A /* gameover.cpp */; };
+ AA928DF22EDB9CA60005200A /* object.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DD72EDB9CA60005200A /* object.cpp */; };
+ AA928DF32EDB9CA60005200A /* myerror.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DD32EDB9CA60005200A /* myerror.cpp */; };
+ AA928DF42EDB9CA60005200A /* fastrand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DBA2EDB9CA60005200A /* fastrand.cpp */; };
+ AA928DF52EDB9CA60005200A /* replay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DE12EDB9CA60005200A /* replay.cpp */; };
+ AA928DF62EDB9CA60005200A /* gameinfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DBE2EDB9CA60005200A /* gameinfo.cpp */; };
+ AA928DF72EDB9CA60005200A /* make.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DD12EDB9CA60005200A /* make.cpp */; };
+ AA928DF82EDB9CA60005200A /* scores.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DE32EDB9CA60005200A /* scores.cpp */; };
+ AA928DF92EDB9CA60005200A /* init.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DC22EDB9CA60005200A /* init.cpp */; };
+ AA928DFA2EDB9CA60005200A /* controls.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928DB82EDB9CA60005200A /* controls.cpp */; };
+ AA928E082EDB9CEA0005200A /* files.c in Sources */ = {isa = PBXBuildFile; fileRef = AA928DFF2EDB9CEA0005200A /* files.c */; };
+ AA928E092EDB9CEA0005200A /* hashtable.c in Sources */ = {isa = PBXBuildFile; fileRef = AA928E012EDB9CEA0005200A /* hashtable.c */; };
+ AA928E0A2EDB9CEA0005200A /* loadxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E032EDB9CEA0005200A /* loadxml.cpp */; };
+ AA928E0B2EDB9CEA0005200A /* prefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E052EDB9CEA0005200A /* prefs.cpp */; };
+ AA928E342EDB9D1B0005200A /* UIPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E2E2EDB9D1B0005200A /* UIPanel.cpp */; };
+ AA928E352EDB9D1B0005200A /* UIElementThumbstick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E282EDB9D1B0005200A /* UIElementThumbstick.cpp */; };
+ AA928E362EDB9D1B0005200A /* UIBaseElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E122EDB9D1B0005200A /* UIBaseElement.cpp */; };
+ AA928E372EDB9D1B0005200A /* UIContainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E142EDB9D1B0005200A /* UIContainer.cpp */; };
+ AA928E382EDB9D1B0005200A /* UIArea.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E102EDB9D1B0005200A /* UIArea.cpp */; };
+ AA928E392EDB9D1B0005200A /* UIDrawEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E1A2EDB9D1B0005200A /* UIDrawEngine.cpp */; };
+ AA928E3A2EDB9D1B0005200A /* UIDialogButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E182EDB9D1B0005200A /* UIDialogButton.cpp */; };
+ AA928E3B2EDB9D1B0005200A /* UIElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E1C2EDB9D1B0005200A /* UIElement.cpp */; };
+ AA928E3C2EDB9D1B0005200A /* UITexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E332EDB9D1B0005200A /* UITexture.cpp */; };
+ AA928E3D2EDB9D1B0005200A /* UIElementCheckbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E202EDB9D1B0005200A /* UIElementCheckbox.cpp */; };
+ AA928E3E2EDB9D1B0005200A /* SDL_FrameBuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E0E2EDB9D1B0005200A /* SDL_FrameBuf.cpp */; };
+ AA928E3F2EDB9D1B0005200A /* UIElementDropdown.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E222EDB9D1B0005200A /* UIElementDropdown.cpp */; };
+ AA928E402EDB9D1B0005200A /* UIDialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E162EDB9D1B0005200A /* UIDialog.cpp */; };
+ AA928E412EDB9D1B0005200A /* UITemplates.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E312EDB9D1B0005200A /* UITemplates.cpp */; };
+ AA928E422EDB9D1B0005200A /* UIElementRadio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E262EDB9D1B0005200A /* UIElementRadio.cpp */; };
+ AA928E432EDB9D1B0005200A /* UIElementButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E1E2EDB9D1B0005200A /* UIElementButton.cpp */; };
+ AA928E442EDB9D1B0005200A /* UIManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E2C2EDB9D1B0005200A /* UIManager.cpp */; };
+ AA928E452EDB9D1B0005200A /* UIElementEditbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E242EDB9D1B0005200A /* UIElementEditbox.cpp */; };
+ AA928E492EDB9D440005200A /* miniz.c in Sources */ = {isa = PBXBuildFile; fileRef = AA928E482EDB9D440005200A /* miniz.c */; };
+ AA928E502EDB9D830005200A /* Mac_FontServ.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E4D2EDB9D830005200A /* Mac_FontServ.cpp */; };
+ AA928E512EDB9D830005200A /* Mac_Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA928E4F2EDB9D830005200A /* Mac_Sound.cpp */; };
+ AA929E852EDBA1900005200A /* Docs in Resources */ = {isa = PBXBuildFile; fileRef = AA929E842EDBA1900005200A /* Docs */; };
+ AA929E872EDBA3B80005200A /* Data in Resources */ = {isa = PBXBuildFile; fileRef = AA929E862EDBA3B80005200A /* Data */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ AA92857A2EDB8EA00005200A /* Embed Frameworks */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ AA9285A52EDB9A6A0005200A /* SDL3.framework in Embed Frameworks */,
+ AA9285A32EDB9A5D0005200A /* SDL3_net.framework in Embed Frameworks */,
+ );
+ name = "Embed Frameworks";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ AA9284B32EDB8BB30005200A /* Maelstrom.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Maelstrom.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ AA9284C12EDB8BE00005200A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
+ AA9284C72EDB8CEE0005200A /* SDL.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SDL.xcodeproj; path = ../external/SDL/Xcode/SDL/SDL.xcodeproj; sourceTree = SOURCE_ROOT; };
+ AA9285752EDB8E8A0005200A /* SDL3.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SDL3.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ AA9285772EDB8EA00005200A /* SDL3.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SDL3.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ AA9285942EDB9A3D0005200A /* SDL_net.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SDL_net.xcodeproj; path = ../external/SDL_net/Xcode/SDL_net.xcodeproj; sourceTree = SOURCE_ROOT; };
+ AA9285A12EDB9A5D0005200A /* SDL3_net.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SDL3_net.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ AA928DB22EDB9CA60005200A /* about.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = about.h; sourceTree = "<group>"; };
+ AA928DB32EDB9CA60005200A /* about.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = about.cpp; sourceTree = "<group>"; };
+ AA928DB42EDB9CA60005200A /* colortable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = colortable.h; sourceTree = "<group>"; };
+ AA928DB52EDB9CA60005200A /* continue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = continue.h; sourceTree = "<group>"; };
+ AA928DB62EDB9CA60005200A /* continue.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = continue.cpp; sourceTree = "<group>"; };
+ AA928DB72EDB9CA60005200A /* controls.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = controls.h; sourceTree = "<group>"; };
+ AA928DB82EDB9CA60005200A /* controls.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = controls.cpp; sourceTree = "<group>"; };
+ AA928DB92EDB9CA60005200A /* fastrand.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fastrand.h; sourceTree = "<group>"; };
+ AA928DBA2EDB9CA60005200A /* fastrand.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fastrand.cpp; sourceTree = "<group>"; };
+ AA928DBB2EDB9CA60005200A /* game.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = game.h; sourceTree = "<group>"; };
+ AA928DBC2EDB9CA60005200A /* game.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = game.cpp; sourceTree = "<group>"; };
+ AA928DBD2EDB9CA60005200A /* gameinfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = gameinfo.h; sourceTree = "<group>"; };
+ AA928DBE2EDB9CA60005200A /* gameinfo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = gameinfo.cpp; sourceTree = "<group>"; };
+ AA928DBF2EDB9CA60005200A /* gameover.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = gameover.h; sourceTree = "<group>"; };
+ AA928DC02EDB9CA60005200A /* gameover.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = gameover.cpp; sourceTree = "<group>"; };
+ AA928DC12EDB9CA60005200A /* init.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = init.h; sourceTree = "<group>"; };
+ AA928DC22EDB9CA60005200A /* init.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = init.cpp; sourceTree = "<group>"; };
+ AA928DC32EDB9CA60005200A /* load.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = load.h; sourceTree = "<group>"; };
+ AA928DC42EDB9CA60005200A /* load.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = load.cpp; sourceTree = "<group>"; };
+ AA928DC52EDB9CA60005200A /* lobby.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lobby.h; sourceTree = "<group>"; };
+ AA928DC62EDB9CA60005200A /* lobby.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = lobby.cpp; sourceTree = "<group>"; };
+ AA928DC72EDB9CA60005200A /* Localization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Localization.h; sourceTree = "<group>"; };
+ AA928DC82EDB9CA60005200A /* MacDialog.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MacDialog.h; sourceTree = "<group>"; };
+ AA928DC92EDB9CA60005200A /* MacDialog.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MacDialog.cpp; sourceTree = "<group>"; };
+ AA928DCA2EDB9CA60005200A /* Maelstrom.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Maelstrom.h; sourceTree = "<group>"; };
+ AA928DCB2EDB9CA60005200A /* Maelstrom_Globals.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Maelstrom_Globals.h; sourceTree = "<group>"; };
+ AA928DCC2EDB9CA60005200A /* MaelstromUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MaelstromUI.h; sourceTree = "<group>"; };
+ AA928DCD2EDB9CA60005200A /* MaelstromUI.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MaelstromUI.cpp; sourceTree = "<group>"; };
+ AA928DCE2EDB9CA60005200A /* main.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = main.h; sourceTree = "<group>"; };
+ AA928DCF2EDB9CA60005200A /* main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; };
+ AA928DD02EDB9CA60005200A /* make.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = make.h; sourceTree = "<group>"; };
+ AA928DD12EDB9CA60005200A /* make.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = make.cpp; sourceTree = "<group>"; };
+ AA928DD22EDB9CA60005200A /* myerror.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = myerror.h; sourceTree = "<group>"; };
+ AA928DD32EDB9CA60005200A /* myerror.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = myerror.cpp; sourceTree = "<group>"; };
+ AA928DD42EDB9CA60005200A /* netplay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = netplay.h; sourceTree = "<group>"; };
+ AA928DD52EDB9CA60005200A /* netplay.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = netplay.cpp; sourceTree = "<group>"; };
+ AA928DD62EDB9CA60005200A /* object.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = object.h; sourceTree = "<group>"; };
+ AA928DD72EDB9CA60005200A /* object.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = object.cpp; sourceTree = "<group>"; };
+ AA928DD82EDB9CA60005200A /* objects.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = objects.h; sourceTree = "<group>"; };
+ AA928DD92EDB9CA60005200A /* objects.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = objects.cpp; sourceTree = "<group>"; };
+ AA928DDA2EDB9CA60005200A /* packet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = packet.h; sourceTree = "<group>"; };
+ AA928DDB2EDB9CA60005200A /* player.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = player.h; sourceTree = "<group>"; };
+ AA928DDC2EDB9CA60005200A /* player.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = player.cpp; sourceTree = "<group>"; };
+ AA928DDD2EDB9CA60005200A /* protocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = protocol.h; sourceTree = "<group>"; };
+ AA928DDE2EDB9CA60005200A /* rect.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = rect.h; sourceTree = "<group>"; };
+ AA928DDF2EDB9CA60005200A /* rect.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = rect.cpp; sourceTree = "<group>"; };
+ AA928DE02EDB9CA60005200A /* replay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = replay.h; sourceTree = "<group>"; };
+ AA928DE12EDB9CA60005200A /* replay.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = replay.cpp; sourceTree = "<group>"; };
+ AA928DE22EDB9CA60005200A /* scores.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = scores.h; sourceTree = "<group>"; };
+ AA928DE32EDB9CA60005200A /* scores.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = scores.cpp; sourceTree = "<group>"; };
+ AA928DE42EDB9CA60005200A /* shinobi.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = shinobi.h; sourceTree = "<group>"; };
+ AA928DFC2EDB9CEA0005200A /* array.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = array.h; sourceTree = "<group>"; };
+ AA928DFD2EDB9CEA0005200A /* ErrorBase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ErrorBase.h; sourceTree = "<group>"; };
+ AA928DFE2EDB9CEA0005200A /* files.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = files.h; sourceTree = "<group>"; };
+ AA928DFF2EDB9CEA0005200A /* files.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = files.c; sourceTree = "<group>"; };
+ AA928E002EDB9CEA0005200A /* hashtable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = hashtable.h; sourceTree = "<group>"; };
+ AA928E012EDB9CEA0005200A /* hashtable.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = hashtable.c; sourceTree = "<group>"; };
+ AA928E022EDB9CEA0005200A /* loadxml.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = loadxml.h; sourceTree = "<group>"; };
+ AA928E032EDB9CEA0005200A /* loadxml.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = loadxml.cpp; sourceTree = "<group>"; };
+ AA928E042EDB9CEA0005200A /* prefs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = prefs.h; sourceTree = "<group>"; };
+ AA928E052EDB9CEA0005200A /* prefs.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = prefs.cpp; sourceTree = "<group>"; };
+ AA928E062EDB9CEA0005200A /* rapidxml.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = rapidxml.h; sourceTree = "<group>"; };
+ AA928E072EDB9CEA0005200A /* rapidxml.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = rapidxml.hpp; sourceTree = "<group>"; };
+ AA928E0D2EDB9D1B0005200A /* SDL_FrameBuf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDL_FrameBuf.h; sourceTree = "<group>"; };
+ AA928E0E2EDB9D1B0005200A /* SDL_FrameBuf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SDL_FrameBuf.cpp; sourceTree = "<group>"; };
+ AA928E0F2EDB9D1B0005200A /* UIArea.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIArea.h; sourceTree = "<group>"; };
+ AA928E102EDB9D1B0005200A /* UIArea.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UIArea.cpp; sourceTree = "<group>"; };
+ AA928E112EDB9D1B0005200A /* UIBaseElement.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIBaseElement.h; sourceTree = "<group>"; };
+ AA928E122EDB9D1B0005200A /* UIBaseElement.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UIBaseElement.cpp; sourceTree = "<group>"; };
+ AA928E132EDB9D1B0005200A /* UIContainer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIContainer.h; sourceTree = "<group>"; };
+ AA928E142EDB9D1B0005200A /* UIContainer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UIContainer.cpp; sourceTree = "<group>"; };
+ AA928E152EDB9D1B0005200A /* UIDialog.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIDialog.h; sourceTree = "<group>"; };
+ AA928E162EDB9D1B0005200A /* UIDialog.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UIDialog.cpp; sourceTree = "<group>"; };
+ AA928E172EDB9D1B0005200A /* UIDialogButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIDialogButton.h; sourceTree = "<group>"; };
+ AA928E182EDB9D1B0005200A /* UIDialogButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UIDialogButton.cpp; sourceTree = "<group>"; };
+ AA928E192EDB9D1B0005200A /* UIDrawEngine.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIDrawEngine.h; sourceTree = "<group>"; };
+ AA928E1A2EDB9D1B0005200A /* UIDrawEngine.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UIDrawEngine.cpp; sourceTree = "<group>"; };
+ AA928E1B2EDB9D1B0005200A /* UIElement.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIElement.h; sourceTree = "<group>"; };
+ AA928E1C2EDB9D1B0005200A /* UIElement.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UIElement.cpp; sourceTree = "<group>"; };
+ AA928E1D2EDB9D1B0005200A /* UIElementButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIElementButton.h; sourceTree = "<group>"; };
+ AA928E1E2EDB9D1B0005200A /* UIElementButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UIElementButton.cpp; sourceTree = "<group>"; };
+ AA928E1F2EDB9D1B0005200A /* UIElementCheckbox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIElementCheckbox.h; sourceTree = "<group>"; };
+ AA928E202EDB9D1B0005200A /* UIElementCheckbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UIElementCheckbox.cpp; sourceTree = "<group>"; };
+ AA928E212EDB9D1B0005200A /* UIElementDropdown.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIElementDropdown.h; sourceTree = "<group>"; };
+ AA928E222EDB9D1B0005200A /* UIElementDropdown.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UIElementDropdown.cpp; sourceTree = "<group>"; };
+ AA928E232EDB9D1B0005200A /* UIElementEditbox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIElementEditbox.h; sourceTree = "<group>"; };
+ AA928E242EDB9D1B0005200A /* UIElementEditbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UIElementEditbox.cpp; sourceTree = "<group>"; };
+ AA928E252EDB9D1B0005200A /* UIElementRadio.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIElementRadio.h; sourceTree = "<group>"; };
+ AA928E262EDB9D1B0005200A /* UIElementRadio.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UIElementRadio.cpp; sourceTree = "<group>"; };
+ AA928E272EDB9D1B0005200A /* UIElementThumbstick.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIElementThumbstick.h; sourceTree = "<group>"; };
+ AA928E282EDB9D1B0005200A /* UIElementThumbstick.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UIElementThumbstick.cpp; sourceTree = "<group>"; };
+ AA928E292EDB9D1B0005200A /* UIFontInterface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIFontInterface.h; sourceTree = "<group>"; };
+ AA928E2A2EDB9D1B0005200A /* UIImageInterface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIImageInterface.h; sourceTree = "<group>"; };
+ AA928E2B2EDB9D1B0005200A /* UIManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIManager.h; sourceTree = "<group>"; };
+ AA928E2C2EDB9D1B0005200A /* UIManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UIManager.cpp; sourceTree = "<group>"; };
+ AA928E2D2EDB9D1B0005200A /* UIPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIPanel.h; sourceTree = "<group>"; };
+ AA928E2E2EDB9D1B0005200A /* UIPanel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UIPanel.cpp; sourceTree = "<group>"; };
+ AA928E2F2EDB9D1B0005200A /* UISoundInterface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UISoundInterface.h; sourceTree = "<group>"; };
+ AA928E302EDB9D1B0005200A /* UITemplates.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UITemplates.h; sourceTree = "<group>"; };
+ AA928E312EDB9D1B0005200A /* UITemplates.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UITemplates.cpp; sourceTree = "<group>"; };
+ AA928E322EDB9D1B0005200A /* UITexture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UITexture.h; sourceTree = "<group>"; };
+ AA928E332EDB9D1B0005200A /* UITexture.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UITexture.cpp; sourceTree = "<group>"; };
+ AA928E472EDB9D440005200A /* miniz.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = miniz.h; sourceTree = "<group>"; };
+ AA928E482EDB9D440005200A /* miniz.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = miniz.c; sourceTree = "<group>"; };
+ AA928E4B2EDB9D830005200A /* Mac_Compat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Mac_Compat.h; sourceTree = "<group>"; };
+ AA928E4C2EDB9D830005200A /* Mac_FontServ.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Mac_FontServ.h; sourceTree = "<group>"; };
+ AA928E4D2EDB9D830005200A /* Mac_FontServ.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Mac_FontServ.cpp; sourceTree = "<group>"; };
+ AA928E4E2EDB9D830005200A /* Mac_Sound.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Mac_Sound.h; sourceTree = "<group>"; };
+ AA928E4F2EDB9D830005200A /* Mac_Sound.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Mac_Sound.cpp; sourceTree = "<group>"; };
+ AA929E842EDBA1900005200A /* Docs */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Docs; path = ../Docs; sourceTree = "<group>"; };
+ AA929E862EDBA3B80005200A /* Data */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Data; path = ../Data; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ AA9284B02EDB8BB30005200A /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AA9285A42EDB9A6A0005200A /* SDL3.framework in Frameworks */,
+ AA9285A22EDB9A5D0005200A /* SDL3_net.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ AA9284AA2EDB8BB30005200A = {
+ isa = PBXGroup;
+ children = (
+ AA9284C72EDB8CEE0005200A /* SDL.xcodeproj */,
+ AA9285942EDB9A3D0005200A /* SDL_net.xcodep
(Patch may be truncated, please check the link at the top of this post.)