Skip to content

Commit b0fa00f

Browse files
committed
update SDL2 version for macos
Add gamecontrollerdb.txt from mdqinc/SDL_GameControllerDB@25eb9ea8e546f. Also the SDL2 Controller API needs to be initialised along with the Video API for detection on macOS to work (ref libsdl-org/SDL#12886).
1 parent 6eb0c7d commit b0fa00f

File tree

6 files changed

+2234
-36
lines changed

6 files changed

+2234
-36
lines changed

kenbuild/rsrc/gamecontrollerdb.txt

Lines changed: 2194 additions & 0 deletions
Large diffs are not rendered by default.

src/sdlayer2.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ int main(int argc, char *argv[])
242242
buildkeytranslationtable();
243243

244244
// SDL must be initialised before GTK or else crashing will ensue.
245-
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER)) {
245+
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER | SDL_INIT_GAMECONTROLLER)) {
246246
buildprintf("Early initialisation of SDL failed! (%s)\n", SDL_GetError());
247247
return 1;
248248
}
@@ -400,7 +400,7 @@ int initinput(void)
400400
strncpy(keynames[ keytranslation[i].normal ], SDL_GetScancodeName(i), sizeof(keynames[i])-1);
401401
}
402402

403-
if (!SDL_InitSubSystem(SDL_INIT_GAMECONTROLLER)) {
403+
if (SDL_WasInit(SDL_INIT_GAMECONTROLLER)) {
404404
int flen, fh;
405405
char *dbuf = NULL;
406406
SDL_RWops *rwops = NULL;

xcode/engine.xcodeproj/project.pbxproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -879,7 +879,7 @@
879879
);
880880
runOnlyForDeploymentPostprocessing = 0;
881881
shellPath = /bin/sh;
882-
shellScript = "if [ -d $PROJECT_DIR/frameworks/SDL2.framework ]; then\n echo \"SDL2.framework exists; skipping\"\n exit\nfi\n\nsdlver=2.30.0\n\nset -xe\ncd $PROJECT_TEMP_DIR\nmkdir -p $PROJECT_TEMP_DIR/sdl2 $PROJECT_DIR/frameworks\ncurl -sfSOL https://github.com/libsdl-org/SDL/releases/download/release-$sdlver/SDL2-$sdlver.dmg\nhdiutil attach SDL2-$sdlver.dmg -mountpoint $PROJECT_TEMP_DIR/sdl2\ncp -R $PROJECT_TEMP_DIR/sdl2/SDL2.framework $PROJECT_DIR/frameworks/\nhdiutil eject $PROJECT_TEMP_DIR/sdl2\n";
882+
shellScript = "sdlver=2.32.10\n\nif [ -d $PROJECT_DIR/frameworks/SDL2.framework ]; then\n fwkver=$(plutil -extract CFBundleVersion raw $PROJECT_DIR/frameworks/SDL2.framework/Resources/Info.plist)\n vercheck=$(perl -mversion=0.77 -e 'print version->parse(\"'$fwkver'\") <=> version->parse(\"'$sdlver'\")')\n if [ $vercheck -lt 0 ]; then\n echo \"SDL2.framework version $fwkver exists, which is older than desired $sdlver; updating\"\n rm -rf $PROJECT_DIR/frameworks/SDL2.framework\n else\n echo \"SDL2.framework version $sdlver exists; skipping\"\n exit\n fi\nfi\n\nset -xe\ncd $PROJECT_TEMP_DIR\nmkdir -p $PROJECT_TEMP_DIR/sdl2 $PROJECT_DIR/frameworks\ncurl -sfSOL https://github.com/libsdl-org/SDL/releases/download/release-$sdlver/SDL2-$sdlver.dmg\nhdiutil attach SDL2-$sdlver.dmg -mountpoint $PROJECT_TEMP_DIR/sdl2\ncp -R $PROJECT_TEMP_DIR/sdl2/SDL2.framework $PROJECT_DIR/frameworks/\nhdiutil eject $PROJECT_TEMP_DIR/sdl2\n";
883883
showEnvVarsInLog = 0;
884884
};
885885
/* End PBXShellScriptBuildPhase section */

xcode/game.xcodeproj/project.pbxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
AB0427BD2E7669CA00E2A322 /* gamecontrollerdb.txt in Resources */ = {isa = PBXBuildFile; fileRef = AB0427BC2E7669CA00E2A322 /* gamecontrollerdb.txt */; };
1011
AB053FAF0A33136D00FA2918 /* startwin.game.nib in Resources */ = {isa = PBXBuildFile; fileRef = AB053FAE0A33136D00FA2918 /* startwin.game.nib */; };
1112
AB3930032B942820002B0F5D /* klist in Copy additional editor tools */ = {isa = PBXBuildFile; fileRef = AB3930022B942814002B0F5D /* klist */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
1213
AB3DEDA21BD23DAB0009D070 /* Game Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = AB3DEDA11BD23DAB0009D070 /* Game Images.xcassets */; };
@@ -239,6 +240,7 @@
239240
/* End PBXCopyFilesBuildPhase section */
240241

241242
/* Begin PBXFileReference section */
243+
AB0427BC2E7669CA00E2A322 /* gamecontrollerdb.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = gamecontrollerdb.txt; path = ../kenbuild/rsrc/gamecontrollerdb.txt; sourceTree = "<group>"; };
242244
AB053FAE0A33136D00FA2918 /* startwin.game.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; path = startwin.game.nib; sourceTree = SOURCE_ROOT; };
243245
AB3DEDA11BD23DAB0009D070 /* Game Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Game Images.xcassets"; sourceTree = "<group>"; };
244246
AB3DEDA31BD23EE70009D070 /* Editor Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Editor Images.xcassets"; sourceTree = "<group>"; };
@@ -350,6 +352,7 @@
350352
AB7360200A29AA88003261DC /* Game */ = {
351353
isa = PBXGroup;
352354
children = (
355+
AB0427BC2E7669CA00E2A322 /* gamecontrollerdb.txt */,
353356
AB3DEDA11BD23DAB0009D070 /* Game Images.xcassets */,
354357
ABA9E3320FEF9E470024231F /* game.c */,
355358
ABA9E3330FEF9E470024231F /* game.h */,
@@ -557,6 +560,7 @@
557560
isa = PBXResourcesBuildPhase;
558561
buildActionMask = 2147483647;
559562
files = (
563+
AB0427BD2E7669CA00E2A322 /* gamecontrollerdb.txt in Resources */,
560564
AB3DEDA21BD23DAB0009D070 /* Game Images.xcassets in Resources */,
561565
AB053FAF0A33136D00FA2918 /* startwin.game.nib in Resources */,
562566
);

0 commit comments

Comments
 (0)