ref: 5e0cd7694806e4a2c8f68d0385f8480d321ab8f2
parent: 4c1e50939e75a2192e5b08f9e4882b3a61ff1a26
author: Dominic Szablewski <dominic@phoboslab.org>
date: Mon Aug 21 09:07:39 EDT 2023
Initialize joysticks and support loading gamecontrollerdb.txt; see #26
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
/wipegame
/save.dat
.DS_STORE
+gamecontrollerdb.txt
--- a/README.md
+++ b/README.md
@@ -98,6 +98,8 @@
Note that the blog post announcing this project may or may not provide a link to a ZIP containing all files needed. Who knows!
+Optionally, if you want to use a game controller that may not be supported by SDL directly, you can place the [gamecontrollerdb.txt](https://github.com/gabomdq/SDL_GameControllerDB) in the root directory of this project (along the compiled `wipegame`).
+
## Ideas for improvements
--- a/src/platform_sdl.c
+++ b/src/platform_sdl.c
@@ -302,7 +302,15 @@
int main(int argc, char *argv[]) {
- SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_GAMECONTROLLER);
+ SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_JOYSTICK | SDL_INIT_GAMECONTROLLER);
+
+ int gcdb_res = SDL_GameControllerAddMappingsFromFile("gamecontrollerdb.txt");
+ if (gcdb_res < 0) {
+ printf("Failed to load gamecontrollerdb.txt\n");
+ }
+ else {
+ printf("load gamecontrollerdb.txt\n");
+ }
audio_device = SDL_OpenAudioDevice(NULL, 0, &(SDL_AudioSpec){
.freq = 44100,