diff --git a/.github/linux/appimage.sh b/.github/linux/appimage.sh index 807b1f7..f4b15f6 100755 --- a/.github/linux/appimage.sh +++ b/.github/linux/appimage.sh @@ -20,7 +20,7 @@ chmod a+x linuxdeploy* mkdir -p AppDir/usr/bin cp Zelda64Recompiled AppDir/usr/bin/ cp -r assets/ AppDir/usr/bin/ -cp gamecontrollerdb.txt AppDir/usr/bin/ +cp zeldacontrollerdb.txt AppDir/usr/bin/ cp icons/512.png AppDir/Zelda64Recompiled.png cp .github/linux/Zelda64Recompiled.desktop AppDir/ diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 31b5089..db90f8a 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -93,7 +93,7 @@ jobs: run: | mv cmake-build/Zelda64Recompiled Zelda64Recompiled rm -rf assets/scss - tar -czf Zelda64Recompiled.tar.gz Zelda64Recompiled assets/ gamecontrollerdb.txt + tar -czf Zelda64Recompiled.tar.gz Zelda64Recompiled assets/ zeldacontrollerdb.txt - name: Archive Zelda64Recomp uses: actions/upload-artifact@v3 with: @@ -182,7 +182,7 @@ jobs: run: | mv cmake-build/Zelda64Recompiled Zelda64Recompiled rm -rf assets/scss - tar -czf Zelda64Recompiled.tar.gz Zelda64Recompiled assets/ gamecontrollerdb.txt + tar -czf Zelda64Recompiled.tar.gz Zelda64Recompiled assets/ zeldacontrollerdb.txt - name: Archive Zelda64Recomp uses: actions/upload-artifact@v4 with: @@ -275,4 +275,4 @@ jobs: dxil.dll SDL2.dll assets/ - gamecontrollerdb.txt + zeldacontrollerdb.txt diff --git a/.gitignore b/.gitignore index bb23653..7fd36ef 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,7 @@ RecompiledFuncs/ RecompiledPatches/ # Linux build output -build/ +build*/ *.o # Windows build output @@ -59,6 +59,3 @@ node_modules/ N64Recomp RSPRecomp .DS_Store - -# Controller mappings file -gamecontrollerdb.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 7acd983..1b737ec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -116,19 +116,8 @@ add_custom_command(OUTPUT DEPENDS ${CMAKE_SOURCE_DIR}/patches/patches.elf ) -# Download controller db file for controller support via SDL2 -set(GAMECONTROLLERDB_COMMIT "b1e4090b3d4266e55feb0793efa35792e05faf66") -set(GAMECONTROLLERDB_URL "https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/${GAMECONTROLLERDB_COMMIT}/gamecontrollerdb.txt") - -file(DOWNLOAD ${GAMECONTROLLERDB_URL} ${CMAKE_SOURCE_DIR}/gamecontrollerdb.txt - TLS_VERIFY ON) - -add_custom_target(DownloadGameControllerDB - DEPENDS ${CMAKE_SOURCE_DIR}/gamecontrollerdb.txt) - # Main executable add_executable(Zelda64Recompiled) -add_dependencies(Zelda64Recompiled DownloadGameControllerDB) # Generate mm_shader_cache.c from the MM shader cache if it exists if (EXISTS ${CMAKE_SOURCE_DIR}/shadercache/mm_shader_cache.bin) diff --git a/src/main/main.cpp b/src/main/main.cpp index 50edd04..1669f68 100644 --- a/src/main/main.cpp +++ b/src/main/main.cpp @@ -457,7 +457,7 @@ int main(int argc, char** argv) { reset_audio(48000); // Source controller mappings file - if (SDL_GameControllerAddMappingsFromFile("gamecontrollerdb.txt") < 0) { + if (SDL_GameControllerAddMappingsFromFile("zeldacontrollerdb.txt") < 0) { fprintf(stderr, "Failed to load controller mappings: %s\n", SDL_GetError()); } diff --git a/zeldacontrollerdb.txt b/zeldacontrollerdb.txt new file mode 100644 index 0000000..37eec0b --- /dev/null +++ b/zeldacontrollerdb.txt @@ -0,0 +1,6 @@ +# Game Controller DB for SDL in 2.0.16 format +# Used for Zelda64Recomp: https://github.com/Zelda64Recomp/Zelda64Recomp + +# Test configs from https://github.com/Zelda64Recomp/Zelda64Recomp/issues/399#issuecomment-2182166615 +030000009b2800006000000000000000,Raphnet GC and N64 Adapter,a:b0,b:b1,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,-rightx:b8,+rightx:b9,-righty:b6,+righty:b7,start:b3,platform:Windows, +03000000242e0000ff0b000000000000,Hyperkin N64 Adapter,a:b1,b:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,start:b9,+righty:a2,-righty:-a2,+rightx:a5,-rightx:-a5,platform:Windows,