diff --git a/developer_toolbox/inject_framework.sh b/developer_toolbox/inject_framework.sh index 91596ff4..65a16c35 100755 --- a/developer_toolbox/inject_framework.sh +++ b/developer_toolbox/inject_framework.sh @@ -21,8 +21,8 @@ else exit 1 fi +sudo cp -vfr "res/binding_icons" "$app/retrodeck/binding_icons" +sudo cp -vfr "emu-configs/"** "$app/retrodeck/emu-configs/" +sudo cp -vfr "tools" "$app" sudo cp -vfr "retrodeck.sh" "$app/bin/" sudo cp -vfr "functions/"** "$app/libexec/" -sudo cp -vfr "tools" "$app" -sudo cp -vfr "emu-configs/"** "$app/retrodeck/emu-configs/" -sudo cp -vfr "res/binding_icons" "$app/retrodeck/binding_icons" \ No newline at end of file diff --git a/emu-configs/cemu/controllerProfiles/SteamInput-P1-Gyro.xml b/emu-configs/cemu/controllerProfiles/SteamInput-P1-Gyro.xml index 5aed946b..83531018 100644 --- a/emu-configs/cemu/controllerProfiles/SteamInput-P1-Gyro.xml +++ b/emu-configs/cemu/controllerProfiles/SteamInput-P1-Gyro.xml @@ -25,9 +25,9 @@ SDLController - 0_030079f6de280000ff11000001000000 + 0_03000000de280000ff11000001000000 Steam Virtual Gamepad - 1 + 0 0.25 1 @@ -123,19 +123,19 @@ 4 - - - - 3 + + 3 + + 2 - + 1 - + diff --git a/emu-configs/cemu/controllerProfiles/SteamInput-P1.xml b/emu-configs/cemu/controllerProfiles/SteamInput-P1.xml index 0b1380fa..e62e1b06 100644 --- a/emu-configs/cemu/controllerProfiles/SteamInput-P1.xml +++ b/emu-configs/cemu/controllerProfiles/SteamInput-P1.xml @@ -1,40 +1,84 @@ - Wii U Pro Controller + Wii U GamePad SteamInput-P1 SDLController - 0_030079f6de280000ff11000001000000 + 0_03000000de280000ff11000001000000 Steam Virtual Gamepad - 1 + 0 - 0.2 + 0.25 1 - 0.2 + 0.25 1 - 0.2 + 0.25 1 - 1 - + 24 + - 2 + 23 + + + + 22 + + + + 21 + + + + 20 + + + + 19 + + + + 18 + + + + 17 + + + + 16 + + + + 15 + + + + 14 + + + + 1 + + 2 + + 3 - + 4 - + 5 @@ -61,60 +105,16 @@ - 12 + 11 - 25 - - - - 24 - - - - 23 - - - - 22 - - - - 21 - - - - 20 - - - - 19 - - - - 18 - - - - 17 - - - - 16 - - - - 15 - - - - 14 - + 12 + 13 - + diff --git a/emu-configs/cemu/controllerProfiles/SteamInput-P2.xml b/emu-configs/cemu/controllerProfiles/SteamInput-P2.xml index f953769a..2311676f 100644 --- a/emu-configs/cemu/controllerProfiles/SteamInput-P2.xml +++ b/emu-configs/cemu/controllerProfiles/SteamInput-P2.xml @@ -1,12 +1,12 @@ Wii U Pro Controller - Deck-P2 + SteamInput-P2 SDLController - 0_0300b836de280000ff11000001000000 + 1_03000000de280000ff11000001000000 Steam Virtual Gamepad - 1 + 0 0.25 1 @@ -102,19 +102,19 @@ 4 - - - - 3 + + 3 + + 2 - + 1 - + diff --git a/emu-configs/cemu/controllerProfiles/SteamInput-P3.xml b/emu-configs/cemu/controllerProfiles/SteamInput-P3.xml index 76b69281..b79243d5 100644 --- a/emu-configs/cemu/controllerProfiles/SteamInput-P3.xml +++ b/emu-configs/cemu/controllerProfiles/SteamInput-P3.xml @@ -1,12 +1,12 @@ Wii U Pro Controller - Deck-P3 + SteamInput-P3 SDLController - 0_0300f837de280000ff11000001000000 + 2_03000000de280000ff11000001000000 Steam Virtual Gamepad - 1 + 0 0.25 1 @@ -20,6 +20,94 @@ 1 + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 12 + + 25 @@ -28,94 +116,6 @@ 24 - - 23 - - - - 22 - - - - 21 - - - - 20 - - - - 19 - - - - 18 - - - - 17 - - - - 16 - - - - 15 - - - - 14 - - - - 13 - - - - 12 - - - - 10 - - - - 9 - - - - 8 - - - - 7 - - - - 6 - - - - 5 - - - - 4 - - - - 3 - - - - 2 - - - - 1 - - diff --git a/emu-configs/cemu/controllerProfiles/SteamInput-P4.xml b/emu-configs/cemu/controllerProfiles/SteamInput-P4.xml index 63999a8a..ce184168 100644 --- a/emu-configs/cemu/controllerProfiles/SteamInput-P4.xml +++ b/emu-configs/cemu/controllerProfiles/SteamInput-P4.xml @@ -1,12 +1,12 @@ Wii U Pro Controller - Deck-P4 + SteamInput-P4 SDLController - 0_030039f7de280000ff11000001000000 + 3_03000000de280000ff11000001000000 Steam Virtual Gamepad - 1 + 0 0.25 1 @@ -20,6 +20,94 @@ 1 + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 12 + + 25 @@ -28,94 +116,6 @@ 24 - - 23 - - - - 22 - - - - 21 - - - - 20 - - - - 19 - - - - 18 - - - - 17 - - - - 16 - - - - 15 - - - - 14 - - - - 13 - - - - 12 - - - - 10 - - - - 9 - - - - 8 - - - - 7 - - - - 6 - - - - 5 - - - - 4 - - - - 3 - - - - 2 - - - - 1 - - diff --git a/emu-configs/cemu/controllerProfiles/controller0.xml b/emu-configs/cemu/controllerProfiles/controller0.xml index 889d7b19..e62e1b06 100644 --- a/emu-configs/cemu/controllerProfiles/controller0.xml +++ b/emu-configs/cemu/controllerProfiles/controller0.xml @@ -1,33 +1,12 @@ Wii U GamePad - SteamInput-P1-Gyro - - DSUController - 0 - Controller 1 - true - - 0.25 - 1 - - - 0.25 - 1 - - - 0.25 - 1 - - 127.0.0.1 - 26760 - - + SteamInput-P1 SDLController - 0_030079f6de280000ff11000001000000 + 0_03000000de280000ff11000001000000 Steam Virtual Gamepad - 1 + 0 0.25 1 @@ -45,45 +24,89 @@ 24 - - 11 - - 23 - 10 - + 22 + - 9 - + 21 + - 8 - + 20 + - 7 - + 19 + - 6 - + 18 + + + + 17 + + + + 16 + + + + 15 + + + + 14 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + 5 - 4 - + 6 + - 3 - + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + 12 @@ -93,50 +116,6 @@ 13 - - 14 - - - - 1 - - - - 15 - - - - 2 - - - - 16 - - - - 17 - - - - 18 - - - - 19 - - - - 20 - - - - 21 - - - - 22 - - diff --git a/emu-configs/cemu/controllerProfiles/controller1.xml b/emu-configs/cemu/controllerProfiles/controller1.xml index 73c59b24..8cd44de7 100644 --- a/emu-configs/cemu/controllerProfiles/controller1.xml +++ b/emu-configs/cemu/controllerProfiles/controller1.xml @@ -4,9 +4,8 @@ SteamInput-P2 SDLController - 0_0300b836de280000ff11000001000000 + 1_03000000de280000ff11000001000000 Steam Virtual Gamepad - 1 0.25 1 @@ -20,94 +19,6 @@ 1 - - 23 - - - - 22 - - - - 21 - - - - 20 - - - - 19 - - - - 18 - - - - 17 - - - - 16 - - - - 2 - - - - 15 - - - - 1 - - - - 24 - - - - 25 - - - - 12 - - - - 10 - - - - 9 - - - - 8 - - - - 7 - - - - 6 - - - - 5 - - - - 4 - - - - 3 - - 13 @@ -116,6 +27,94 @@ 14 + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 12 + + + + 25 + + + + 24 + + diff --git a/emu-configs/cemu/controllerProfiles/controller2.xml b/emu-configs/cemu/controllerProfiles/controller2.xml index 56faf73e..ed9033cf 100644 --- a/emu-configs/cemu/controllerProfiles/controller2.xml +++ b/emu-configs/cemu/controllerProfiles/controller2.xml @@ -4,9 +4,8 @@ SteamInput-P3 SDLController - 0_0300f837de280000ff11000001000000 + 2_03000000de280000ff11000001000000 Steam Virtual Gamepad - 1 0.25 1 @@ -20,50 +19,6 @@ 1 - - 23 - - - - 22 - - - - 21 - - - - 20 - - - - 19 - - - - 18 - - - - 17 - - - - 16 - - - - 2 - - - - 15 - - - - 1 - - 24 @@ -102,11 +57,11 @@ 4 - + 3 - + 13 @@ -116,6 +71,50 @@ 14 + + 1 + + + + 15 + + + + 2 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + diff --git a/emu-configs/cemu/controllerProfiles/controller3.xml b/emu-configs/cemu/controllerProfiles/controller3.xml index f7a9048c..c2c639ad 100644 --- a/emu-configs/cemu/controllerProfiles/controller3.xml +++ b/emu-configs/cemu/controllerProfiles/controller3.xml @@ -4,9 +4,8 @@ SteamInput-P4 SDLController - 0_030039f7de280000ff11000001000000 + 3_03000000de280000ff11000001000000 Steam Virtual Gamepad - 1 0.25 1 @@ -20,50 +19,6 @@ 1 - - 23 - - - - 22 - - - - 21 - - - - 20 - - - - 19 - - - - 18 - - - - 17 - - - - 16 - - - - 2 - - - - 15 - - - - 1 - - 24 @@ -102,11 +57,11 @@ 4 - + 3 - + 13 @@ -116,6 +71,50 @@ 14 + + 1 + + + + 15 + + + + 2 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + diff --git a/emu-configs/defaults/retrodeck/controller_configs/RetroDECK_controller_steamdeck_neptune_full.vdf b/emu-configs/defaults/retrodeck/controller_configs/RetroDECK_controller_steamdeck_neptune_full.vdf index ff4b2796..190e9512 100644 --- a/emu-configs/defaults/retrodeck/controller_configs/RetroDECK_controller_steamdeck_neptune_full.vdf +++ b/emu-configs/defaults/retrodeck/controller_configs/RetroDECK_controller_steamdeck_neptune_full.vdf @@ -1128,7 +1128,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 3 0 1, Quick, RD-org.xfce.session.png, " + "binding" "controller_action CHANGE_PRESET 3 0 0, Quick, RD-org.xfce.session.png, " } } } @@ -1144,7 +1144,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 4 0 1, State, RD-folder-blue-games.png, " + "binding" "controller_action CHANGE_PRESET 4 0 0, State, RD-folder-blue-games.png, " } } } @@ -1160,7 +1160,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 5 0 1, Speed & Frames, RD-supertuxkart.png, " + "binding" "controller_action CHANGE_PRESET 5 0 0, Speed & Frames, RD-supertuxkart.png, " } } } @@ -1176,7 +1176,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 6 0 1, Display & Graphics, RD-preferences-desktop-display.png, " + "binding" "controller_action CHANGE_PRESET 6 0 0, Display & Graphics, RD-preferences-desktop-display.png, " } } } @@ -1192,7 +1192,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 7 0 1, General, RD-io.github.antimicrox.antimicrox.png, " + "binding" "controller_action CHANGE_PRESET 7 0 0, General, RD-io.github.antimicrox.antimicrox.png, " } } } @@ -1208,7 +1208,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 9 0 1, Specific, RD-folder-applications.png, " + "binding" "controller_action CHANGE_PRESET 9 0 0, Specific, RD-folder-applications.png, " } } } @@ -1224,7 +1224,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 8 0 1, Steam Deck, RD-steam.png, " + "binding" "controller_action CHANGE_PRESET 8 0 0, Steam Deck, RD-steam.png, " } } } @@ -1453,7 +1453,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, #232323 #FFFFFF" + "binding" "controller_action CHANGE_PRESET 1 0 0, Back, RD-edit-undo-red.png, #232323 #FFFFFF" } } } @@ -1736,7 +1736,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, " + "binding" "controller_action CHANGE_PRESET 1 0 0, Back, RD-edit-undo-red.png, " } } } @@ -2201,7 +2201,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, " + "binding" "controller_action CHANGE_PRESET 1 0 0, Back, RD-edit-undo-red.png, " } } } @@ -2683,7 +2683,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, " + "binding" "controller_action CHANGE_PRESET 1 0 0, Back, RD-edit-undo-red.png, " } } } @@ -3148,7 +3148,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, " + "binding" "controller_action CHANGE_PRESET 1 0 0, Back, RD-edit-undo-red.png, " } } } @@ -3664,7 +3664,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, " + "binding" "controller_action CHANGE_PRESET 1 0 0, Back, RD-edit-undo-red.png, " } } } @@ -4283,7 +4283,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 1 0 1, Back, RD-edit-undo-red.png, " + "binding" "controller_action CHANGE_PRESET 1 0 0, Back, RD-edit-undo-red.png, " } } } @@ -4299,7 +4299,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 10 0 1, MAME, RD-mame.png, " + "binding" "controller_action CHANGE_PRESET 10 0 0, MAME, RD-mame.png, " } } } @@ -4315,7 +4315,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 11 0 1, RetroArch, RD-retroarch.png, " + "binding" "controller_action CHANGE_PRESET 11 0 0, RetroArch, RD-retroarch.png, " } } } @@ -4331,7 +4331,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 12 0 1, Gamecube & Wii, RD-dolphin.png, " + "binding" "controller_action CHANGE_PRESET 12 0 0, Gamecube & Wii, RD-dolphin.png, " } } } @@ -4347,7 +4347,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 13 0 1, NDS, RD-melonds.png, " + "binding" "controller_action CHANGE_PRESET 13 0 0, NDS, RD-melonds.png, " } } } @@ -4363,7 +4363,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 15 0 1, 3DS, RD-citra.png, " + "binding" "controller_action CHANGE_PRESET 15 0 0, 3DS, RD-citra.png, " } } } @@ -4379,7 +4379,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 16 0 1, Switch, RD-ryujinx.png, " + "binding" "controller_action CHANGE_PRESET 16 0 0, Switch, RD-ryujinx.png, " } } } @@ -4403,6 +4403,22 @@ { } } + "touch_menu_button_8" + { + "activators" + { + "Full_Press" + { + "bindings" + { + "binding" "controller_action CHANGE_PRESET 16 0 0, SCUMMVM, RD-click.png, " + } + } + } + "disabled_activators" + { + } + } } "settings" { @@ -4758,7 +4774,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, " + "binding" "controller_action CHANGE_PRESET 9 0 0, Back, RD-edit-undo-red.png, " } } } @@ -5245,7 +5261,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, " + "binding" "controller_action CHANGE_PRESET 9 0 0, Back, RD-edit-undo-red.png, " } } } @@ -5767,7 +5783,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, " + "binding" "controller_action CHANGE_PRESET 9 0 0, Back, RD-edit-undo-red.png, " } } } @@ -6304,7 +6320,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, " + "binding" "controller_action CHANGE_PRESET 9 0 0, Back, RD-edit-undo-red.png, " } } } @@ -6855,7 +6871,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, " + "binding" "controller_action CHANGE_PRESET 9 0 0, Back, RD-edit-undo-red.png, " } } } @@ -7252,7 +7268,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, " + "binding" "controller_action CHANGE_PRESET 9 0 0, Back, RD-edit-undo-red.png, " } } } @@ -7867,7 +7883,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, " + "binding" "controller_action CHANGE_PRESET 9 0 0, Back, RD-edit-undo-red.png, " } } } @@ -8602,7 +8618,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 9 0 1, Back, RD-edit-undo-red.png, " + "binding" "controller_action CHANGE_PRESET 9 0 0, Back, RD-edit-undo-red.png, " } } } @@ -8957,7 +8973,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, , " } } } @@ -9037,7 +9053,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } "settings" { @@ -9057,7 +9073,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } } } @@ -9122,7 +9138,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, , " } } } @@ -9202,7 +9218,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } "settings" { @@ -9222,7 +9238,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } } } @@ -9281,7 +9297,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 1 0 1, , " + "binding" "controller_action CHANGE_PRESET 1 0 0, , " } } "Full_Press" @@ -9354,7 +9370,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 1 0 1, , " + "binding" "controller_action CHANGE_PRESET 1 0 0, , " } } } @@ -9419,7 +9435,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, , " } } } @@ -9499,7 +9515,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } "settings" { @@ -9519,7 +9535,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } } } @@ -9584,7 +9600,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, , " } } } @@ -9664,7 +9680,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } "settings" { @@ -9684,7 +9700,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } } } @@ -9749,7 +9765,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, , " } } } @@ -9829,7 +9845,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } "settings" { @@ -9849,7 +9865,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } } } @@ -9914,7 +9930,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, , " } } } @@ -9994,7 +10010,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } "settings" { @@ -10014,7 +10030,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } } } @@ -10079,7 +10095,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, , " } } } @@ -10159,7 +10175,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } "settings" { @@ -10179,7 +10195,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } } } @@ -10244,7 +10260,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, , " } } } @@ -10324,7 +10340,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } "settings" { @@ -10344,7 +10360,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } } } @@ -10409,7 +10425,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, , " } } } @@ -10489,7 +10505,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } "settings" { @@ -10509,7 +10525,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } } } @@ -10574,7 +10590,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, , " } } } @@ -10654,7 +10670,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } "settings" { @@ -10674,7 +10690,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } } } @@ -10739,7 +10755,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, , " } } } @@ -10819,7 +10835,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } "settings" { @@ -10839,7 +10855,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } } } @@ -10904,7 +10920,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, , " } } } @@ -10984,7 +11000,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } "settings" { @@ -11004,7 +11020,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } } } @@ -11069,7 +11085,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, , " } } } @@ -11149,7 +11165,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } "settings" { @@ -11169,7 +11185,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } } } @@ -11234,7 +11250,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, , " } } } @@ -11314,7 +11330,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } "settings" { @@ -11334,7 +11350,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } } } @@ -11399,7 +11415,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, , " } } } @@ -11479,7 +11495,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } "settings" { @@ -11499,7 +11515,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } } } @@ -11564,7 +11580,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, , " } } } @@ -11644,7 +11660,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } "settings" { @@ -11664,7 +11680,7 @@ { "bindings" { - "binding" "controller_action CHANGE_PRESET 2 0 1, Hotkey, , " + "binding" "controller_action CHANGE_PRESET 2 0 0, Hotkey, , " } } } diff --git a/emu-configs/defaults/retrodeck/reference_lists/compression_targets.cfg b/emu-configs/defaults/retrodeck/reference_lists/compression_targets.cfg index 92898b2d..4ae00365 100644 --- a/emu-configs/defaults/retrodeck/reference_lists/compression_targets.cfg +++ b/emu-configs/defaults/retrodeck/reference_lists/compression_targets.cfg @@ -6,14 +6,13 @@ megacd neogeocd pcenginecd pcfx +psp psx ps2 saturn saturnjp segacd tg-cd -[cso] -psp [rvz] gc wii diff --git a/emu-configs/dolphin/WiimoteNew.ini b/emu-configs/dolphin/WiimoteNew.ini index 752d6c87..67ab3a89 100644 --- a/emu-configs/dolphin/WiimoteNew.ini +++ b/emu-configs/dolphin/WiimoteNew.ini @@ -82,6 +82,10 @@ Drums/Stick/Modifier/Range = 50.0 Turntable/Stick/Modifier/Range = 50.0 uDraw/Stylus/Modifier/Range = 50.0 Drawsome/Stylus/Modifier/Range = 50.0 +Tilt/Forward = @(`Full Axis 2+`+`Axis 4-`) +Tilt/Backward = @(`Full Axis 2+`+`Axis 4+`) +Tilt/Left = @(`Full Axis 2+`+`Axis 3-`) +Tilt/Right = @(`Full Axis 2+`+`Axis 3+`) [Wiimote2] Device = evdev/1/Valve Software Steam Deck Controller Source = 0 @@ -166,6 +170,10 @@ Drums/Stick/Modifier/Range = 50.0 Turntable/Stick/Modifier/Range = 50.0 uDraw/Stylus/Modifier/Range = 50.0 Drawsome/Stylus/Modifier/Range = 50.0 +Tilt/Forward = @(`Full Axis 2+`+`Axis 4-`) +Tilt/Backward = @(`Full Axis 2+`+`Axis 4+`) +Tilt/Left = @(`Full Axis 2+`+`Axis 3-`) +Tilt/Right = @(`Full Axis 2+`+`Axis 3+`) [Wiimote3] Device = evdev/0/Microsoft X-Box 360 pad 2 Source = 0 @@ -250,6 +258,10 @@ Drums/Stick/Modifier/Range = 50.0 Turntable/Stick/Modifier/Range = 50.0 uDraw/Stylus/Modifier/Range = 50.0 Drawsome/Stylus/Modifier/Range = 50.0 +Tilt/Forward = @(`Full Axis 2+`+`Axis 4-`) +Tilt/Backward = @(`Full Axis 2+`+`Axis 4+`) +Tilt/Left = @(`Full Axis 2+`+`Axis 3-`) +Tilt/Right = @(`Full Axis 2+`+`Axis 3+`) [Wiimote4] Device = evdev/0/Microsoft X-Box 360 pad 4 Source = 0 @@ -334,6 +346,10 @@ Drums/Stick/Modifier/Range = 50.0 Turntable/Stick/Modifier/Range = 50.0 uDraw/Stylus/Modifier/Range = 50.0 Drawsome/Stylus/Modifier/Range = 50.0 +Tilt/Forward = @(`Full Axis 2+`+`Axis 4-`) +Tilt/Backward = @(`Full Axis 2+`+`Axis 4+`) +Tilt/Left = @(`Full Axis 2+`+`Axis 3-`) +Tilt/Right = @(`Full Axis 2+`+`Axis 3+`) [BalanceBoard] Device = XInput2/0/Virtual core pointer Source = 0 diff --git a/emu-configs/gzdoom/gzdoom.sh b/emu-configs/gzdoom/gzdoom.sh index 1b999575..620b809f 100644 --- a/emu-configs/gzdoom/gzdoom.sh +++ b/emu-configs/gzdoom/gzdoom.sh @@ -1,5 +1,7 @@ #!/bin/bash +source /app/libexec/logger.sh + # Define the IWAD files list IWAD_FILES=("DOOM1.WAD" "DOOM.WAD" "DOOM2.WAD" "DOOM2F.WAD" "DOOM64.WAD" "TNT.WAD" "PLUTONIA.WAD" "HERETIC1.WAD" "HERETIC.WAD" "HEXEN.WAD" "HEXDD.WAD" diff --git a/emu-configs/mame/mame-rdwrapper.sh b/emu-configs/mame/mame-rdwrapper.sh deleted file mode 100755 index d0ba979d..00000000 --- a/emu-configs/mame/mame-rdwrapper.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -mame -inipath /var/config/mame/ini \ No newline at end of file diff --git a/emu-configs/ryujinx/ryujinx-rdwrapper.sh b/emu-configs/ryujinx/ryujinx-rdwrapper.sh index 00ab6a2f..2e59c682 100755 --- a/emu-configs/ryujinx/ryujinx-rdwrapper.sh +++ b/emu-configs/ryujinx/ryujinx-rdwrapper.sh @@ -1,5 +1,8 @@ #!/bin/bash +source /app/libexec/global.sh + +log i "Starting Ryujinx wrapper" command="$1" manage_ryujinx_keys -Ryujinx.sh "$command" +Ryujinx.sh $command # do not put comma here or it breaks diff --git a/es-configs/es_settings.xml b/es-configs/es_settings.xml index 50cd7b18..c1d69bd9 100644 --- a/es-configs/es_settings.xml +++ b/es-configs/es_settings.xml @@ -152,7 +152,7 @@ - + diff --git a/functions/compression.sh b/functions/compression.sh index 5b990c3e..15bce646 100644 --- a/functions/compression.sh +++ b/functions/compression.sh @@ -10,13 +10,21 @@ compress_game() { local dest_file=$(dirname "$(realpath "$file")")"/""$filename_no_extension" if [[ "$1" == "chd" ]]; then - /app/bin/chdman createcd -i "$source_file" -o "$dest_file".chd + case "$3" in # Check platform-specific compression options + "psp" ) + /app/bin/chdman createdvd --hunksize 2048 -i "$source_file" -o "$dest_file".chd -c zstd + ;; + "ps2" ) + /app/bin/chdman createdvd -i "$source_file" -o "$dest_file".chd -c zstd + ;; + * ) + /app/bin/chdman createcd -i "$source_file" -o "$dest_file".chd + ;; + esac elif [[ "$1" == "zip" ]]; then zip -jq9 "$dest_file".zip "$source_file" elif [[ "$1" == "rvz" ]]; then dolphin-tool convert -f rvz -b 131072 -c zstd -l 5 -i "$source_file" -o "$dest_file.rvz" - elif [[ "$1" == "cso" ]]; then - echo "TODO: maxcso command" fi } diff --git a/functions/functions.sh b/functions/functions.sh index ea480070..43dc82fb 100644 --- a/functions/functions.sh +++ b/functions/functions.sh @@ -653,7 +653,7 @@ manage_ryujinx_keys() { log w "No files found in $bios_folder/switch/keys. Continuing..." fi else - log w "Directory $bios_folder/switch/keys does not exist. Maybe Ryujinx was never run. Continuing..." + log e "Directory $bios_folder/switch/keys does not exist. Something is wrong with your RetroDECK installation. Continuing but Ryujinx will not be able to run any game." fi } @@ -670,6 +670,16 @@ ponzu() { local appimage local executable + # if the binaries are found, ponzu should be set as true into the retrodeck config + if [ -f "/var/data/ponzu/Citra/bin/citra-qt" ]; then + log d "Citra binaries has already been installed, checking for updates and forcing the setting as true." + set_setting_value $rd_conf "akai_ponzu" "true" retrodeck "options" + fi + if [ -f "/var/data/ponzu/Yuzu/bin/yuzu" ]; then + log d "Yuzu binaries has already been installed, checking for updates and forcing the setting as true." + set_setting_value $rd_conf "kiroi_ponzu" "true" retrodeck "options" + fi + # Loop through all ponzu files for ponzu_file in "${ponzu_files[@]}"; do # Check if the current ponzu file exists @@ -820,5 +830,5 @@ start_retrodeck() { easter_eggs # Check if today has a surprise splashscreen and load it if so ponzu log i "Starting RetroDECK v$version" - es-de --home /var/config/ + es-de } diff --git a/functions/global.sh b/functions/global.sh index 40f4fbcd..cf293cd7 100644 --- a/functions/global.sh +++ b/functions/global.sh @@ -6,17 +6,18 @@ source /app/libexec/050_save_migration.sh source /app/libexec/checks.sh source /app/libexec/compression.sh source /app/libexec/dialogs.sh +source /app/libexec/logger.sh source /app/libexec/functions.sh source /app/libexec/multi_user.sh source /app/libexec/patching.sh source /app/libexec/post_update.sh source /app/libexec/prepare_component.sh source /app/libexec/presets.sh -source /app/libexec/logger.sh # Static variables rd_conf="/var/config/retrodeck/retrodeck.cfg" # RetroDECK config file path rd_conf_backup="/var/config/retrodeck/retrodeck.bak" # Backup of RetroDECK config file from update +rd_logs_folder="/var/config/retrodeck/logs" # Static location to write all RetroDECK-related logs emuconfigs="/app/retrodeck/emu-configs" # folder with all the default emulator configs rd_defaults="$emuconfigs/defaults/retrodeck/retrodeck.cfg" # A default RetroDECK config file rd_update_patch="/var/config/retrodeck/rd_update.patch" # A static location for the temporary patch file used during retrodeck.cfg updates @@ -32,8 +33,7 @@ default_splash_file="/var/config/ES-DE/resources/graphics/splash-orig.svg" multi_user_emulator_config_dirs="$emuconfigs/defaults/retrodeck/reference_lists/multi_user_emulator_config_dirs.cfg" # A list of emulator config folders that can be safely linked/unlinked entirely in multi-user mode rd_es_themes="/app/share/es-de/themes" # The directory where themes packaged with RetroDECK are stored lockfile="/var/config/retrodeck/.lock" # Where the lockfile is located -default_sd="/run/media/mmcblk0p1" # Steam Deck SD default path -rd_logs_folder="/var/config/retrodeck/logs/" # A static location for RetroDECK logs to be written +default_sd="/run/media/mmcblk0p1" # Steam Deck SD default path # A static location for RetroDECK logs to be written hard_version="$(cat '/app/retrodeck/version')" # hardcoded version (in the readonly filesystem) rd_repo="https://github.com/XargonWan/RetroDECK" # The URL of the main RetroDECK GitHub repo es_themes_list="https://gitlab.com/es-de/themes/themes-list/-/raw/master/themes.json" # The URL of the ES-DE 2.0 themes list @@ -66,6 +66,7 @@ citraconf="/var/config/citra-emu/qt-config.ini" export ESDE_APPDATA_DIR="/var/config/ES-DE" es_settings="/var/config/ES-DE/settings/es_settings.xml" +es_source_logs="/var/config/ES-DE/logs" # RetroArch config files @@ -122,6 +123,14 @@ mameconf="/var/config/mame/ini/mame.ini" mameuiconf="/var/config/mame/ini/ui.ini" mamedefconf="/var/config/mame/cfg/default.cfg" +# Initialize logging location if it doesn't exist, before anything else happens +if [ ! -d "$rd_logs_folder" ]; then + create_dir "$rd_logs_folder" +fi +if [[ ! -d "$rd_logs_folder/ES-DE" ]]; then + dir_prep "$rd_logs_folder/ES-DE" "$es_source_logs" +fi + # We moved the lockfile in /var/config/retrodeck in order to solve issue #53 - Remove in a few versions if [[ -f "$HOME/retrodeck/.lock" ]]; then mv "$HOME/retrodeck/.lock" $lockfile @@ -129,7 +138,6 @@ fi # If there is no config file I initalize the file with the the default values if [[ ! -f "$rd_conf" ]]; then - create_dir /var/config/retrodeck create_dir /var/config/retrodeck/logs log w "RetroDECK config file not found in $rd_conf" log i "Initializing" @@ -170,7 +178,7 @@ if [[ ! -f "$rd_conf" ]]; then chmod +rw $rd_conf log i "RetroDECK config file initialized. Contents:\n\n$(cat $rd_conf)\n" conf_read # Load new variables into memory - tmplog_merger + #tmplog_merger # This function is tempry(?) removed # If the config file is existing i just read the variables else @@ -184,7 +192,7 @@ else fi conf_read - tmplog_merger + #tmplog_merger # This function is tempry(?) removed # Verify rdhome is where it is supposed to be. if [[ ! -d "$rdhome" ]]; then @@ -193,7 +201,7 @@ else new_home_path=$(directory_browse "RetroDECK folder location") set_setting_value $rd_conf "rdhome" "$new_home_path" retrodeck "paths" conf_read - tmplog_merger + #tmplog_merger # This function is tempry(?) removed prepare_component "retrodeck" "postmove" prepare_component "all" "postmove" conf_write diff --git a/functions/logger.sh b/functions/logger.sh index 6e0d37d6..08bba936 100755 --- a/functions/logger.sh +++ b/functions/logger.sh @@ -1,126 +1,102 @@ +# SORRY, I WILL CLEAN UP THIS +# -Xargon + # This script provides a logging function 'log' that can be sourced in other scripts. # It logs messages to both the terminal and a specified logfile, allowing different log levels. # The log function takes three parameters: log level, log message, and optionally the logfile. If no logfile is specified, it writes to retrodeck/logs/retrodeck.log +# Type of log messages: +# log d - debug message: maybe in the future we can decide to hide them in main builds or if an option is toggled +# log i - normal informational message +# log w - waring: something is not expected but it's not a big deal +# log e - error: something broke + # Example usage: # log w "foo" -> logs a warning with message foo in the default log file retrodeck/logs/retrodeck.log # log e "bar" -> logs an error with message bar in the default log file retrodeck/logs/retrodeck.log # log i "par" rekku.log -> logs an information with message in the specified log file inside the logs folder retrodeck/logs/rekku.log -# if [ "${log_init:-false}" = false ]; then -# logs_folder=${logs_folder:-"/tmp"} -# touch "$logs_folder/retrodeck.log" -# # exec > >(tee "$logs_folder/retrodeck.log") 2>&1 # this is broken, creates strange artifacts and corrupts the log file -# log_init=true -# fi - log() { - # exec > >(tee "$logs_folder/retrodeck.log") 2>&1 # this is broken, creates strange artifacts and corrupts the log file + local level="$1" + local message="$2" + local timestamp="$(date +[%Y-%m-%d\ %H:%M:%S.%3N])" + local colorize_terminal - local level="$1" - local message="$2" - local timestamp="$(date +[%Y-%m-%d\ %H:%M:%S.%3N])" - local colorize_terminal + # Use specified logfile or default to retrodeck.log + local logfile + if [ -n "$3" ]; then + logfile="$3" + else + logfile="$rd_logs_folder/retrodeck.log" + fi + if [[ ! -f "$logfile" ]]; then + touch "$logfile" + echo "$timestamp [WARN] \"$logfile\" not found, creating." + fi - # Use specified logfile or default to retrodeck.log - local logfile - if [ -n "$3" ]; then - logfile="$3" - else - logfile="$rd_logs_folder/retrodeck.log" - fi + # Check if the shell is sh (not bash or zsh) to avoid colorization + if [ "${SHELL##*/}" = "sh" ]; then + colorize_terminal=false + else + colorize_terminal=true + fi - # Check if the shell is sh (not bash or zsh) to avoid colorization - if [ "${SHELL##*/}" = "sh" ]; then - colorize_terminal=false - else - colorize_terminal=true - fi + case "$level" in + w) + if [ "$colorize_terminal" = true ]; then + # Warning (yellow) for terminal + colored_message="\e[33m[WARN] $message\e[0m" + else + # Warning (no color for sh) for terminal + colored_message="$timestamp [WARN] $message" + fi + # Write to log file without colorization + log_message="$timestamp [WARN] $message" + ;; + e) + if [ "$colorize_terminal" = true ]; then + # Error (red) for terminal + colored_message="\e[31m[ERROR] $message\e[0m" + else + # Error (no color for sh) for terminal + colored_message="$timestamp [ERROR] $message" + fi + # Write to log file without colorization + log_message="$timestamp [ERROR] $message" + ;; + i) + # Write to log file without colorization for info message + log_message="$timestamp [INFO] $message" + colored_message=$log_message + ;; + d) + if [ "$colorize_terminal" = true ]; then + # Debug (green) for terminal + colored_message="\e[32m[DEBUG] $message\e[0m" + else + # Debug (no color for sh) for terminal + colored_message="$timestamp [DEBUG] $message" + fi + # Write to log file without colorization + log_message="$timestamp [DEBUG] $message" + ;; + *) + # Default (no color for other shells) for terminal + colored_message="$timestamp $message" + # Write to log file without colorization + log_message="$timestamp $message" + ;; + esac - case "$level" in - w) - if [ "$colorize_terminal" = true ]; then - # Warning (yellow) for terminal - colored_message="\e[33m[WARN] $message\e[0m" - else - # Warning (no color for sh) for terminal - colored_message="$timestamp [WARN] $message" - fi - # Write to log file without colorization - log_message="$timestamp [WARN] $message" - ;; - e) - if [ "$colorize_terminal" = true ]; then - # Error (red) for terminal - colored_message="\e[31m[ERROR] $message\e[0m" - else - # Error (no color for sh) for terminal - colored_message="$timestamp [ERROR] $message" - fi - # Write to log file without colorization - log_message="$timestamp [ERROR] $message" - ;; - i) - # Write to log file without colorization for info message - log_message="$timestamp [INFO] $message" - colored_message=$log_message - ;; - d) - if [ "$colorize_terminal" = true ]; then - # Debug (green) for terminal - colored_message="\e[32m[DEBUG] $message\e[0m" - else - # Debug (no color for sh) for terminal - colored_message="$timestamp [DEBUG] $message" - fi - # Write to log file without colorization - log_message="$timestamp [DEBUG] $message" - ;; - *) - # Default (no color for other shells) for terminal - colored_message="$timestamp $message" - # Write to log file without colorization - log_message="$timestamp $message" - ;; - esac + # Display the message in the terminal + echo -e "$colored_message" - # Display the message in the terminal - echo -e "$colored_message" - - # Write the log message to the log file - if [ ! -f "$logfile" ]; then - echo "$timestamp [WARN] Log file not found in \"$logfile\", creating it" - touch "$logfile" - fi - echo "$log_message" >> "$logfile" - -} - -# This function is merging the temporary log file into the actual one -tmplog_merger() { - - create_dir "$rd_logs_folder" - - # Check if /tmp/retrodeck.log exists - if [ -e "/tmp/retrodeck.log" ] && [ -e "$rd_logs_folder/retrodeck.log" ]; then - - # Sort both temporary and existing log files by timestamp - sort -k1,1n -k2,2M -k3,3n -k4,4n -k5,5n "/tmp/retrodeck.log" "$rd_logs_folder/retrodeck.log" > "$rd_logs_folder/merged_logs.tmp" - - # Move the merged logs to replace the original log file - mv "$rd_logs_folder/merged_logs.tmp" "$rd_logs_folder/retrodeck.log" - - # Remove the temporary file - rm "/tmp/retrodeck.log" - fi - - local ESDE_source_logs="/var/config/ES-DE/logs/es_log.txt" - # Check if the source file exists - if [ -e "$ESDE_source_logs" ]; then - # Create the symlink in the logs folder - ln -sf "$ESDE_source_logs" "$rd_logs_folder/ES-DE.log" - log i "ES-DE log file linked to \"$rd_logs_folder/ES-DE.log\"" - fi + # Write the log message to the log file + if [ ! -f "$logfile" ]; then + echo "$timestamp [WARN] Log file not found in \"$logfile\", creating it" + touch "$logfile" + fi + echo "$log_message" >> "$logfile" } diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index 0ece6059..fb79b5a6 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -26,7 +26,7 @@ prepare_component() { fi done < <(grep -v '^\s*$' $rd_conf | awk '/^\[paths\]/{f=1;next} /^\[/{f=0} f') create_dir "/var/config/retrodeck/godot" - dir_prep "$rd_logs_folder" "$logs_folder" + dir_prep "$logs_folder" "$rd_logs_folder" fi if [[ "$action" == "postmove" ]]; then # Update the paths of any folders that came with the retrodeck folder during a move while read -r config_line; do @@ -38,7 +38,7 @@ prepare_component() { fi fi done < <(grep -v '^\s*$' $rd_conf | awk '/^\[paths\]/{f=1;next} /^\[/{f=0} f') - dir_prep "$rd_logs_folder" "$logs_folder" + dir_prep "$logs_folder" "$rd_logs_folder" fi fi @@ -55,6 +55,7 @@ prepare_component() { set_setting_value "$es_settings" "MediaDirectory" "$media_folder" "es_settings" set_setting_value "$es_settings" "UserThemeDirectory" "$themes_folder" "es_settings" dir_prep "$rdhome/gamelists" "/var/config/ES-DE/gamelists" + dir_prep "$rd_logs_folder/ES-DE" "$es_source_logs" log d "Generating roms system folders" #es-de --home /var/config/ES-DE --create-system-dirs es-de --create-system-dirs @@ -794,6 +795,7 @@ prepare_component() { cp -fvr "$emuconfigs/gzdoom/gzdoom.ini" "/var/config/gzdoom" + sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' "/var/config/gzdoom/gzdoom.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON sed -i 's#RETRODECKROMSDIR#'$roms_folder'#g' "/var/config/gzdoom/gzdoom.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON sed -i 's#RETRODECKSAVESDIR#'$saves_folder'#g' "/var/config/gzdoom/gzdoom.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON fi diff --git a/net.retrodeck.retrodeck.Configurator.desktop b/net.retrodeck.retrodeck.Configurator.desktop index 1b268a4b..466733c6 100644 --- a/net.retrodeck.retrodeck.Configurator.desktop +++ b/net.retrodeck.retrodeck.Configurator.desktop @@ -3,7 +3,7 @@ Name=RetroDECK Configurator GenericName=RetroDECK Configuration Utility Type=Application Comment=A handy tool to change common RetroDECK settings -Icon=retrodeck-configurator +Icon=net.retrodeck.retrodeck.configurator Exec=/bin/bash /app/tools/configurator.sh Terminal=false StartupNotify=false diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index 47404392..16ef8cf6 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -70,7 +70,7 @@

WARNING: - The post update script is initializing es-de 3.0, vita3k, mame-sa and ryujinx when coming from a version ealrier that 0.8.0b. Tp fully test this build you must come from a build 0.7.6b or previous otherwise you will surely encounter issues. Else reset RetroDECK but be aware that will not be a proper testing. + The post update script is initializing es-de 3.0, vita3k, mame-sa and ryujinx when coming from a version ealrier that 0.8.0b. To fully test this build you must come from a build 0.7.6b or previous otherwise you will surely encounter issues. Else reset RetroDECK but be aware that will not be a proper testing.

Changes:

    @@ -78,10 +78,10 @@
  • PONZU: added
  • CITRA-SA: Removed, the libretro core is now the default emulator, they will available trough Ponzu
  • YUZU: Removed, Ryujinx is now the default emulator, they will available trough Ponzu
  • -
  • Added new system: RYUJINX
  • +
  • Added new system: PSVita, trough Vita3K
  • Added new system: SOLARUS
  • Added new engine: GZDOOM
  • -
  • Added new emulator: Vita3K
  • +
  • Added new emulator: RYUJINX
  • Added new emulator: MAME (Standalone)
  • PPSSPP: added hotkeys
  • MAME: added hotkeys
  • @@ -93,8 +93,6 @@
  • DOLPHIN: Enabled GBA and Tweaked Input
  • DOLPHIN: Graphical Tweaks
  • PRIMEHACK: config structure refactor + new configs
  • -
  • Quit button after emulators reset should act as an actual full quit button
  • -
  • Created a quit_retrodeck function to ease the quit in the scripts.
  • Logs folder is now in retrodeck/logs (previously was .logs)
  • Added controller config for PS4 and PS5
  • Controller config overhaul
  • @@ -102,12 +100,13 @@
  • CEMU: updated input profiles
  • DUCKSTATION: config refactor. The old config didn't not work anymore for controllers.
  • DUCKSTATION: All controlls now go via SDL
  • -
  • DUCKSTATION: Updated to 4 controllers
  • PCSX2: general and graphical tweaks
  • RPCS3 is now running via shortcut (.desktop file) by default - WARN THE USERS TO MIGRATE
  • -
  • RPCS3: Updated to 4 controllers
  • -
  • RYUJINX: Updated to 4 controllers
  • -
  • GZDOOM: Updated to 4 controllers
  • +
  • CEMU: enabled controller configs for player 2~4
  • +
  • DUCKSTATION: Updated to 4 controllers
  • +
  • GZDOOM: enabled controller configs for player 2~4
  • +
  • RPCS3: enabled controller configs for player 2~4
  • +
  • RYUJINX: enabled controller configs for player 2~4
  • MELONDS: grahpical twekas

Fixes:

diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 289285c9..ad230849 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -8,8 +8,8 @@ sdk-extensions: command: retrodeck.sh finish-args: - - --socket=fallback-x11 - --socket=wayland + - --socket=x11 - --socket=pulseaudio - --share=ipc - --share=network @@ -165,16 +165,19 @@ modules: url: https://ftp.osuosl.org/pub/blfs/conglomeration/libgudev/libgudev-237.tar.xz sha256: 0d06b21170d20c93e4f0534dbb9b0a8b4f1119ffb00b4031aaeb5b9148b686aa - - name: chdman-tool - buildsystem: simple - build-commands: - - cmake -B . -G Ninja - - cmake --build . - - cp chdman /app/bin - sources: - - type: git - url: https://github.com/CharlesThobe/chdman.git - commit: f7cadf1720cbeba8a14f2685830ff424a0c7f6cd + # # + # DEPRECATED IN FAVOR OF COMPILED MAME TOOL # + # # + # - name: chdman-tool + # buildsystem: simple + # build-commands: + # - cmake -B . -G Ninja + # - cmake --build . + # - cp chdman /app/bin + # sources: + # - type: git + # url: https://github.com/CharlesThobe/chdman.git + # commit: f7cadf1720cbeba8a14f2685830ff424a0c7f6cd - name: rclone buildsystem: simple @@ -462,7 +465,7 @@ modules: sources: - type: git url: https://github.com/libretro/RetroArch.git - commit: ad8975cb5a0fe45be43438bdbd6c3d745653dd02 + commit: 06fa5325f8b3cd42e6fba3d57835d5924c9ea2e7 - type: file path: rd-submodules/retroarch/retroarch.cfg - type: file @@ -506,7 +509,7 @@ modules: sources: - type: git url: https://github.com/libretro/RetroArch.git - commit: ad8975cb5a0fe45be43438bdbd6c3d745653dd02 + commit: 06fa5325f8b3cd42e6fba3d57835d5924c9ea2e7 - name: retroarch-filers-audio subdir: libretro-common/audio/dsp_filters make-install-args: @@ -514,7 +517,7 @@ modules: sources: - type: git url: https://github.com/libretro/RetroArch.git - commit: ad8975cb5a0fe45be43438bdbd6c3d745653dd02 + commit: 06fa5325f8b3cd42e6fba3d57835d5924c9ea2e7 - name: retroarch-assets make-install-args: - PREFIX=${FLATPAK_DEST} @@ -528,21 +531,21 @@ modules: sources: - type: git url: https://github.com/libretro/libretro-database.git - commit: 2c121df3a1c661e7a686f159ec5500a2837eefb3 + commit: 977612e2cd284f67fc0d121d9d94c5982a49f61e - name: libretro-core-info make-install-args: - PREFIX=${FLATPAK_DEST} sources: - type: git url: https://github.com/libretro/libretro-core-info.git - commit: ef6815722bfd4cc7d0cf14640b7111ecb5709cdd + commit: ad0f67e172dca9edb88a4eea1d541f407a9c2d12 - name: retroarch-joypad-autoconfig make-install-args: - PREFIX=${FLATPAK_DEST} sources: - type: git url: https://github.com/libretro/retroarch-joypad-autoconfig.git - commit: 9999374439b6526cfec78dd1fc51ed889e51ec6d + commit: ec43cfef730f15d6b20bf277681250b2f4b99a8b - name: common-shaders make-install-args: - PREFIX=${FLATPAK_DEST} @@ -556,21 +559,21 @@ modules: sources: - type: git url: https://github.com/libretro/slang-shaders.git - commit: 5b4c9b2a75aba5f57fcb5b68662a06f0ed7c929f + commit: d367f6cf73e01a8e43028107ab1ded2d2f05fe6a - name: glsl-shaders make-install-args: - PREFIX=${FLATPAK_DEST} sources: - type: git url: https://github.com/libretro/glsl-shaders.git - commit: bc8df92f013a128c3a735a57d3d98c6f087cc291 + commit: db974e4d6f6e3178198b7690095a107b3b509d4b - name: common-overlays make-install-args: - PREFIX=${FLATPAK_DEST} sources: - type: git url: https://github.com/libretro/common-overlays.git - commit: 115d8670c2e032e4a41ba45f766f5cfd9dae28b8 + commit: c266abf4d7f9286fb6fbcfb57647cd9c80c45530 # RetroArch - END @@ -823,8 +826,8 @@ modules: sources: - type: git url: https://github.com/xemu-project/xemu.git - tag: v0.7.118 - commit: 03f40b1d8e873b57eab68dc66ae9892aa5e39f89 + tag: v0.7.120 + commit: 94d826a4f125d755d6d37069ad7084bfde33d650 x-checker-data: type: json url: https://api.github.com/repos/xemu-project/xemu/releases/latest @@ -1258,7 +1261,7 @@ modules: - cp -f res/splash.svg ${FLATPAK_DEST}/retrodeck/graphics/splash-orig.svg - cp -rf res/extra_splashes/ ${FLATPAK_DEST}/retrodeck/graphics - cp -f res/icon.svg /app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg - - cp -f res/icon-configurator.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/retrodeck-configurator.svg + - cp -f res/icon-configurator.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.configurator.svg - mv -f -t ${FLATPAK_DEST}/retrodeck res/binding_icons # RetroDECK core script @@ -1301,10 +1304,6 @@ modules: - cp emu-configs/gzdoom/gzdoom.sh ${FLATPAK_DEST}/bin/gzdoom.sh - chmod +x ${FLATPAK_DEST}/bin/gzdoom.sh - # MAME wrapper - - cp emu-configs/mame/mame-rdwrapper.sh ${FLATPAK_DEST}/bin/mame-rdwrapper.sh - - chmod +x ${FLATPAK_DEST}/bin/mame-rdwrapper.sh - # Ryujinx wrapper - cp emu-configs/ryujinx/ryujinx-rdwrapper.sh ${FLATPAK_DEST}/bin/ryujinx-rdwrapper.sh - chmod +x ${FLATPAK_DEST}/bin/ryujinx-rdwrapper.sh diff --git a/tools/configurator.sh b/tools/configurator.sh index 2f21b717..013be094 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -491,7 +491,7 @@ configurator_open_emulator_dialog() { "MAME" ) log i "Configurator: \"$emulator\"" - mame-rdwrapper.sh + mame -inipath /var/config/mame/ini ;; "MelonDS" )