Use custom controller db mappings

This commit is contained in:
dcvz 2024-07-01 09:28:18 +02:00
parent c7baa7ef8f
commit 3653186f58
6 changed files with 12 additions and 20 deletions

View File

@ -20,7 +20,7 @@ chmod a+x linuxdeploy*
mkdir -p AppDir/usr/bin mkdir -p AppDir/usr/bin
cp Zelda64Recompiled AppDir/usr/bin/ cp Zelda64Recompiled AppDir/usr/bin/
cp -r assets/ 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 icons/512.png AppDir/Zelda64Recompiled.png
cp .github/linux/Zelda64Recompiled.desktop AppDir/ cp .github/linux/Zelda64Recompiled.desktop AppDir/

View File

@ -93,7 +93,7 @@ jobs:
run: | run: |
mv cmake-build/Zelda64Recompiled Zelda64Recompiled mv cmake-build/Zelda64Recompiled Zelda64Recompiled
rm -rf assets/scss 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 - name: Archive Zelda64Recomp
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
@ -182,7 +182,7 @@ jobs:
run: | run: |
mv cmake-build/Zelda64Recompiled Zelda64Recompiled mv cmake-build/Zelda64Recompiled Zelda64Recompiled
rm -rf assets/scss 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 - name: Archive Zelda64Recomp
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
@ -275,4 +275,4 @@ jobs:
dxil.dll dxil.dll
SDL2.dll SDL2.dll
assets/ assets/
gamecontrollerdb.txt zeldacontrollerdb.txt

5
.gitignore vendored
View File

@ -12,7 +12,7 @@ RecompiledFuncs/
RecompiledPatches/ RecompiledPatches/
# Linux build output # Linux build output
build/ build*/
*.o *.o
# Windows build output # Windows build output
@ -59,6 +59,3 @@ node_modules/
N64Recomp N64Recomp
RSPRecomp RSPRecomp
.DS_Store .DS_Store
# Controller mappings file
gamecontrollerdb.txt

View File

@ -116,19 +116,8 @@ add_custom_command(OUTPUT
DEPENDS ${CMAKE_SOURCE_DIR}/patches/patches.elf 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 # Main executable
add_executable(Zelda64Recompiled) add_executable(Zelda64Recompiled)
add_dependencies(Zelda64Recompiled DownloadGameControllerDB)
# Generate mm_shader_cache.c from the MM shader cache if it exists # Generate mm_shader_cache.c from the MM shader cache if it exists
if (EXISTS ${CMAKE_SOURCE_DIR}/shadercache/mm_shader_cache.bin) if (EXISTS ${CMAKE_SOURCE_DIR}/shadercache/mm_shader_cache.bin)

View File

@ -457,7 +457,7 @@ int main(int argc, char** argv) {
reset_audio(48000); reset_audio(48000);
// Source controller mappings file // 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()); fprintf(stderr, "Failed to load controller mappings: %s\n", SDL_GetError());
} }

6
zeldacontrollerdb.txt Normal file
View File

@ -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,