mirror of
https://github.com/dragoonDorise/EmuDeck.git
synced 2025-05-05 16:02:48 +00:00
Dev --> beta 17.5 (#246)
Documentation: - Add Xbox to list of consoles - Add bios to info table - Added Nintendo / Sega / Sony where appropriate - Alphabetized the list - RetroAchievements crashes games if the user has not verified the account - Can we add recursive rom parsing tips somewhere? Infrastructure: - All functions now on separate files Tools: - CHDMAN: handle rvz files. New: - download xbox hdd from xemu site. User only needs to provide files in bios after this. - Update powertools - Fix yuzu path - add xmlstarlet binary from arch repository - added changedisc hotkey for duckstation - added changedisc hotkey for duckstation steam input - migrate to Yuzu AppImage - Added storage folder in Emulation rpcs3, xemu, yuzu are using this for the large blob storage - cemu.xml won't be reset on update - Add system names to Emulator selector in expert mode - widescreen is not enabled by default. - expert mode tools requiring a password will prompt again if wrong. if the user is wrong both times, the features will be disabled. - Dolphin wiimote input is now mouse based instead of joystick based, but i left in the joystick too. It will also use gyro for shake / tilt if you have SteamDeckGyroDSU. - Dolphin load textures and precache is now on by default. - Dolphin Auto Change disc is now on by default. - Dolphin cursor is now hidden by default. - PCSX2 vsync is now on by default. Fixes: - Cemu xml changes removed the gamepath and use xmlstarlet to add the entry. In the case the user has an existing xml file, we will just add our path to the entries. - Update duckstation config quickmenu to esc, so steam + left arrow works Added roms path use native aspect ratio and fullscreen so the top and bottom bars are gone. Add Duckstation SteamInput - PCSX2 Steam Input Update remove m and n keys on full trigger press - fixed widescreen selection - fixed emulator selection - fixed config reset selection - fixed uninstall script Co-authored-by: Spidy123222 <64176728+Spidy123222@users.noreply.github.com> Co-authored-by: Rodrigo <rodrigosedano@me.com> Co-authored-by: Witherking25 <witherking@withertech.com>
This commit is contained in:
parent
4b8652993e
commit
3650f626b7
74
README.md
74
README.md
@ -15,43 +15,43 @@ There are two ways of using EmuDeck:
|
||||
This option gives you all your games presented with their box arts as if they were a regular Steam Game.
|
||||
EmuDeck has preloaded configurations for Steam Rom Manager for the following systems:
|
||||
|
||||
| System | Emulator | Roms format |
|
||||
| ------------------------- | ------------------------------------ | -------------------------------------------------------------------- |
|
||||
| Atari 2600 | Retroarch Stella core | .7z .a26 .bin .zip |
|
||||
| Atari Lynx | Retroarch Beetle Lynx core | .7z .lnx .bin .zip |
|
||||
| GameBoy | Retroarch Gambatte core | .7z .gb .dmg .zip |
|
||||
| GameBoy Color | Retroarch Gambatte core | .7z .gb .gbc .dmg .zip |
|
||||
| GameBoy Advance | Retroarch mGBA core | .7z .gba .zip |
|
||||
| Dreamcast | Retroarch FlyCast Core | .7z .cdi .chd .cue .gdi |
|
||||
| Final Burn Neo | Retroarch Fbn core | .zip .7z |
|
||||
| Mame 2003 Plus | Retroarch Mame 2003 Plus core | .zip |
|
||||
| Mame 2010 | Retroarch Mame 2010 core | .zip |
|
||||
| Mame Current | Retroarch Mame Current core | .zip |
|
||||
| Neo Geo Pocket & Color | Retroarch Beetle NeoPop | .7z .ngp .ngc .bin .zip |
|
||||
| Nintendo GameCube | Dolphin Standalone | .ciso .dol .elf .gcm .gcz .iso .nkit .iso .rvz .wad .wia |
|
||||
| Nintendo DS | Retroarch melonDS core | .7z .nds .zip |
|
||||
| Nintendo 3DS | Citra | .3ds .3dsx .app .axf .cii .cxi .elf .cia |
|
||||
| Nintendo NES | Retroarch Nestopia core | .7z .nes .fds .unf .unif .zip |
|
||||
| Nintendo 64 | Retroarch Mupen64plus-Next | .7z .bin .n64 .ndd .u1 .v64 .z64 .zip |
|
||||
| Nintendo GameCube | Dolphin Standalone | .ciso .dol .elf .gcm .gcz .iso .nkit .iso .rvz .wad .wia .wbfs |
|
||||
| Nintendo Wii | Dolphin Standalone | .ciso .dol .elf .gcm .gcz .iso .json .nkit .iso .rvz .wad .wia .wbfs |
|
||||
| Nintendo Wii U | Cemu | .rpx .wud .wux .elf .iso .wad |
|
||||
| Nintendo Switch | Yuzu | .kp .nca .nro .nso .nsp .xci |
|
||||
| Super Nintendo | Retroarch Snes9x Current core | .7z .bs .fig .sfc .smc .swx .zip |
|
||||
| Super Nintendo Widescreen | Retroarch bsnes hd beta Current core | .7z .bs .fig .sfc .smc .swx .zip |
|
||||
| PrimeHacks | Dolphin PrimeHacks | .ciso .dol .elf .gcm .gcz .iso .json .nkit .iso .rvz .wad .wia .wbfs |
|
||||
| Playstation | DuckStation | .cue .chd .ecm .iso .m3u .mds .pbp |
|
||||
| Playstation 2 | RPCSX2 | .bin .chd .cso .dump .gz .img .iso .mdf .nrg |
|
||||
| Playstation 3 | RPCS3 | /PS3_GAME/USRDIR/eboot.bin |
|
||||
| PSP | PPSSPP & PPSSPP Retroarch core | .7z .elf .cso .iso .pbp .prx |
|
||||
| Sega 32X | Retroarch PicoDrive core | .7z .32x .bin .zip |
|
||||
| Sega CD | Retroarch Genesis Plus GX core | .7z .32x .cue .chd .iso .zip |
|
||||
| Sega Game Gear | Retroarch Genesis Plus GX core | .7z .gg .zip |
|
||||
| Sega Genesis / Mega Drive | Retroarch Genesis Plus GX core | .7z .gen .md .smd .zip |
|
||||
| Sega Genesis Widescreen | Retroarch Genesis Plus GX Wide core | .7z .gen .md .smd .zip |
|
||||
| Sega Master System | Retroarch Genesis Plus GX core | .7z .gen .sms .zip |
|
||||
| Sega Saturn | Retroarch Yabause core | .7z .cue .iso .chd .zip |
|
||||
| Wonderswan & Color | Retroarch Beetle Cygne core | .7z .pc2 .ws .wsc .zip |
|
||||
| System | Emulator | Roms format | File Required in the base of Emulation/bios (or special consideration) |
|
||||
| ------------------------- | --------------------------------------------- | ------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Atari 2600 | Retroarch Stella core | .7z .a26 .bin .zip | |
|
||||
| Atari Lynx | Retroarch Beetle Lynx core | .7z .lnx .bin .zip | |
|
||||
| Final Burn Neo | Retroarch Fbn core | .zip .7z | Bioses will be searched through 3 folders :<br>\* the folder of the current romset<br>\* the Emulation/bios/fbneo/<br>\* the Emulation/bios/ |
|
||||
| Mame 2003 Plus | Retroarch Mame 2003 Plus core | .zip | |
|
||||
| Mame 2010 | Retroarch Mame 2010 core | .zip | |
|
||||
| Mame Current | Retroarch Mame Current core | .zip | |
|
||||
| Microsoft Xbox | Xemu | .iso (xiso formatted) | Emulation/bios:<br>mcpx\_1.0.bin<br>modified retail "COMPLEX 4627" BIOS<br><br>Emulation/saves/xemu:<br>xbox\_hdd.qcow2 |
|
||||
| Neo Geo Pocket & Color | Retroarch Beetle NeoPop | .7z .ngp .ngc .bin .zip | |
|
||||
| Nintendo 3DS | Citra | .3ds .3dsx .app .axf .cii .cxi .elf .cia(FOR INSTALL ONLY) | Title keys required for encrypted rom types |
|
||||
| Nintendo 64 | Retroarch Mupen64plus-Next | .7z .bin .n64 .ndd .u1 .v64 .z64 .zip | |
|
||||
| Nintendo DS | Retroarch melonDS core | .7z .nds .zip | bios7.bin<br>bios9.bin<br>firmware.bin |
|
||||
| Nintendo GameBoy | Retroarch Gambatte core | .7z .gb .dmg .zip | |
|
||||
| Nintendo GameBoy Advance | Retroarch mGBA core | .7z .gba .zip | |
|
||||
| Nintendo GameBoy Color | Retroarch Gambatte core | .7z .gb .gbc .dmg .zip | |
|
||||
| Nintendo GameCube | Dolphin Standalone | .ciso .dol .elf .gcm .gcz .iso .nkit.iso .rvz .wad .wia .wbfs | |
|
||||
| Nintendo NES | Retroarch Nestopia core | .7z .nes .fds .unf .unif .zip | |
|
||||
| Nintendo PrimeHack | PrimeHack (Metroid Prime specific) | .ciso .dol .elf .gcm .gcz .iso .json .nkit.iso .rvz .wad .wia .wbfs | |
|
||||
| Nintendo Switch | Yuzu | .kp .nca .nro .nso .nsp .xci | Title keys required for encrypted rom types<br>firmware installation with valid mii data required for some games |
|
||||
| Nintendo Wii | Dolphin Standalone | .ciso .dol .elf .gcm .gcz .iso .json .nkit.iso .rvz .wad .wia .wbfs | |
|
||||
| Nintendo Wii U | Cemu | .rpx .wud .wux .elf .iso .wad | Title keys required for encrypted rom types |
|
||||
| Sega 32X | Retroarch PicoDrive core | .7z .32x .bin .zip | |
|
||||
| Sega CD | Retroarch Genesis Plus GX core | .7z .32x .cue .chd .iso .zip | bios\_CD\_E.bin<br>bios\_CD\_U.bin<br>bios\_CD\_J.bin |
|
||||
| Sega Dreamcast | Retroarch FlyCast Core | .7z .cdi .chd .cue .gdi | dc/dc\_boot.bin |
|
||||
| Sega Game Gear | Retroarch Genesis Plus GX core | .7z .gg .zip | |
|
||||
| Sega Genesis / Mega Drive | Retroarch Genesis Plus GX core | .7z .gen .md .smd .zip | |
|
||||
| Sega Genesis Widescreen | Retroarch Genesis Plus GX Wide core | .7z .gen .md .smd .zip | |
|
||||
| Sega Master System | Retroarch Genesis Plus GX core | .7z .gen .sms .zip | |
|
||||
| Sega Saturn | Retroarch Yabause core | .7z .cue .iso .chd .zip | sega\_101.bin<br>mpr-17933.bin |
|
||||
| Sony Playstation | DuckStation Standalone<br>Retroarch Beetle HW | .cue .chd .ecm .iso .m3u .mds .pbp | scph5500.bin<br>scph5501.bin<br>scph5502.bin |
|
||||
| Sony Playstation 2 | RPCSX2 | .bin .chd .cso .dump .gz .img .iso .mdf .nrg | Bios files are required. Here is an example set:<br>SCPH-70004\_BIOS\_V12\_EUR\_200.BIN<br>SCPH-70004\_BIOS\_V12\_EUR\_200.EROM<br>SCPH-70004\_BIOS\_V12\_EUR\_200.ROM1<br>SCPH-70004\_BIOS\_V12\_EUR\_200.ROM2 |
|
||||
| Sony Playstation 3 | RPCS3 | /PS3\_GAME/USRDIR/eboot.bin | Firmware installation in the Emulator is required. |
|
||||
| Sony Playstation Portable | PPSSPP Standalone<br>PPSSPP Retroarch core | .7z .elf .cso .iso .pbp .prx | The retroarch core requires ppsspp.zip in the bios folder.<br>You can obtain it from within RetroArch's downloader.<br>Standalone PPSSPP does not require anything special. |
|
||||
| Super Nintendo | Retroarch Snes9x Current core | .7z .bs .fig .sfc .smc .swx .zip | |
|
||||
| Super Nintendo Widescreen | Retroarch bsnes hd beta Current core | .7z .bs .fig .sfc .smc .swx .zip | |
|
||||
| Wonderswan & Color | Retroarch Beetle Cygne core | .7z .pc2 .ws .wsc .zip |
|
||||
|
||||
## Using EmulationStation DE
|
||||
|
||||
|
23
changelog.md
23
changelog.md
@ -240,4 +240,25 @@
|
||||
- Expert mode will ask about Bezels and Autosave again
|
||||
- Dolphin set as 16:9 by default on easy mode
|
||||
- Fix Sega Genesis missing extension and adds Commodore 64
|
||||
- Add support for holoISO
|
||||
- Add support for holoISO
|
||||
|
||||
0.17.4
|
||||
- New user interface on install both on Easy and Expert modes
|
||||
- Rom folder creation will respect user's custom symlinks
|
||||
- When you first install EmuDeck an you Launch SteamRomManager we will get you back to GamingMode when closing SteamRomManager
|
||||
- SRM is now located on Emulation/tools and will close Steam automatically for you.
|
||||
- Fixed RPCS3 Controller not working on new install
|
||||
- Updated Mupen64Plus-Next defaults for N64. Should be much better now. more accurate, faster, and look better.
|
||||
- New tool added - proton-launch.sh (for all your non-steam windows app shenanigans, courtesy of Angel)
|
||||
- Citra left trackpad used now as mouse instead of D-pad on our SteamInput template
|
||||
- Fix Citra non exiting while pressing R5
|
||||
- PPSSPP Audio Fix when the Deck goes into Sleep Mode
|
||||
- Fixed 3ds bad symlink for older installations
|
||||
- PrimeHack Controller tweaks and performance gain
|
||||
- Fix PCSX2 Turbo Mode
|
||||
- Wii nkit.gcz support
|
||||
- FBNeo fixes on SteamRomManager
|
||||
- SD card is only available if one is inserted, writable, and supports symlinks
|
||||
- Expert mode - Fixes RA Autosave selection
|
||||
- Expert mode - Changed Cemu default controller to gamepad with gyro (gyro requires SteamDeckGyroDSU installation. See Expert mode for more details)
|
||||
- Expert mode - You can now chose a custom install location. It will be tested for the ability to both write and link, and rejected if either fail.
|
||||
|
@ -45,7 +45,6 @@
|
||||
<RecentLaunchFiles/>
|
||||
<RecentNFCFiles/>
|
||||
<GamePaths>
|
||||
<Entry>Z:/run/media/mmcblk0p1/Emulation/roms/wiiu/roms</Entry>
|
||||
</GamePaths>
|
||||
<GameCache/>
|
||||
<GraphicPack/>
|
||||
|
@ -51,7 +51,7 @@ PreBlockCheckIOP=disabled
|
||||
VsyncQueueSize=2
|
||||
FrameLimitEnable=enabled
|
||||
FrameSkipEnable=disabled
|
||||
VsyncEnable=0
|
||||
VsyncEnable=1
|
||||
FramerateNTSC=59.94
|
||||
FrameratePAL=50
|
||||
FramesToDraw=2
|
||||
|
@ -1,2 +1,3 @@
|
||||
[Server]
|
||||
Enabled = False
|
||||
Enabled = True
|
||||
Entries = steamdeckgyro:127.0.0.1:26760;
|
||||
|
@ -12,7 +12,7 @@ AudioStretchMaxLatency = 80
|
||||
DPL2Decoder = False
|
||||
DPL2Quality = 2
|
||||
DSPHLE = True
|
||||
AutoDiscChange = False
|
||||
AutoDiscChange = True
|
||||
EmulationSpeed = 1.00000000
|
||||
EnableCheats = True
|
||||
OverrideRegionSettings = False
|
||||
@ -44,3 +44,4 @@ UseBuiltinTitleDatabase = True
|
||||
UsePanicHandlers = False
|
||||
LanguageCode = en
|
||||
ThemeName = Clean
|
||||
CursorVisibility = 0
|
||||
|
@ -29,3 +29,5 @@ ShaderCompilationMode = 2
|
||||
WaitForShadersBeforeStarting = True
|
||||
MSAA = 0x00000001
|
||||
SSAA = False
|
||||
CacheHiresTextures = True
|
||||
HiresTextures = True
|
@ -0,0 +1,30 @@
|
||||
[Profile]
|
||||
Device = evdev/0/Microsoft X-Box 360 pad 0
|
||||
Buttons/A = EAST
|
||||
Buttons/B = SOUTH
|
||||
Buttons/X = WEST
|
||||
Buttons/Y = NORTH
|
||||
Buttons/Z = TL
|
||||
Buttons/Start = START
|
||||
Main Stick/Up = `Axis 1-`
|
||||
Main Stick/Down = `Axis 1+`
|
||||
Main Stick/Left = `Axis 0-`
|
||||
Main Stick/Right = `Axis 0+`
|
||||
Main Stick/Modifier = THUMBL
|
||||
Main Stick/Modifier/Range = 50.000000000000000
|
||||
Main Stick/Calibration = 100.00 141.42 100.00 141.42 100.00 141.42 100.00 141.42
|
||||
C-Stick/Up = `Axis 4-`
|
||||
C-Stick/Down = `Axis 4+`
|
||||
C-Stick/Left = `Axis 3-`
|
||||
C-Stick/Right = `Axis 3+`
|
||||
C-Stick/Modifier = THUMBR
|
||||
C-Stick/Modifier/Range = 50.000000000000000
|
||||
C-Stick/Calibration = 100.00 141.42 100.00 141.42 100.00 141.42 100.00 141.42
|
||||
Triggers/L = `Full Axis 2+`
|
||||
Triggers/R = `Full Axis 5+`
|
||||
Triggers/L-Analog = `Full Axis 2+`
|
||||
Triggers/R-Analog = `Full Axis 5+`
|
||||
D-Pad/Up = `Axis 7-`
|
||||
D-Pad/Down = `Axis 7+`
|
||||
D-Pad/Left = `Axis 6-`
|
||||
D-Pad/Right = `Axis 6+`
|
@ -0,0 +1,75 @@
|
||||
[Profile]
|
||||
Device = evdev/0/Microsoft X-Box 360 pad 1
|
||||
Buttons/A = EAST
|
||||
Buttons/B = SOUTH
|
||||
Buttons/1 = WEST
|
||||
Buttons/2 = NORTH
|
||||
Buttons/- = SELECT
|
||||
Buttons/+ = START
|
||||
Buttons/Home = Return
|
||||
IR/Up = `Axis 4-`
|
||||
IR/Down = `Axis 4+`
|
||||
IR/Left = `Axis 3-`
|
||||
IR/Right = `Axis 3+`
|
||||
Tilt/Modifier/Range = 50.0
|
||||
Shake/Z = `Button 4`
|
||||
IMUAccelerometer/Up = `Accel Up`
|
||||
IMUAccelerometer/Down = `Accel Down`
|
||||
IMUAccelerometer/Left = `Accel Left`
|
||||
IMUAccelerometer/Right = `Accel Right`
|
||||
IMUAccelerometer/Forward = `Accel Forward`
|
||||
IMUAccelerometer/Backward = `Accel Backward`
|
||||
IMUGyroscope/Pitch Up = `Gyro Pitch Up`
|
||||
IMUGyroscope/Pitch Down = `Gyro Pitch Down`
|
||||
IMUGyroscope/Roll Left = `Gyro Roll Left`
|
||||
IMUGyroscope/Roll Right = `Gyro Roll Right`
|
||||
IMUGyroscope/Yaw Left = `Gyro Yaw Left`
|
||||
IMUGyroscope/Yaw Right = `Gyro Yaw Right`
|
||||
Extension = Nunchuk
|
||||
Nunchuk/Buttons/C = `Full Axis 5+`
|
||||
Nunchuk/Buttons/Z = `Full Axis 2+`
|
||||
Nunchuk/Stick/Up = `Axis 1-`
|
||||
Nunchuk/Stick/Down = `Axis 1+`
|
||||
Nunchuk/Stick/Left = `Axis 0-`
|
||||
Nunchuk/Stick/Right = `Axis 0+`
|
||||
Nunchuk/Stick/Modifier/Range = 50.0
|
||||
Nunchuk/Stick/Calibration = 100.00 101.96 107.70 111.02 112.30 107.98 106.91 101.96 100.00 101.96 108.24 113.14 114.55 111.79 108.24 101.96 100.00 101.96 108.24 113.60 114.92 113.33 108.24 101.96 100.00 101.96 108.24 110.60 109.10 108.88 108.24 101.96
|
||||
Nunchuk/Tilt/Modifier/Range = 50.0
|
||||
Nunchuk/Shake/X = `Click 2`
|
||||
Nunchuk/Shake/Y = `Click 2`
|
||||
Nunchuk/Shake/Z = TR
|
||||
Classic/Buttons/A = EAST
|
||||
Classic/Buttons/B = SOUTH
|
||||
Classic/Buttons/X = WEST
|
||||
Classic/Buttons/Y = NORTH
|
||||
Classic/Buttons/ZL = TL
|
||||
Classic/Buttons/ZR = TR
|
||||
Classic/Buttons/- = SELECT
|
||||
Classic/Buttons/+ = START
|
||||
Classic/Left Stick/Up = `Axis 1-`
|
||||
Classic/Left Stick/Down = `Axis 1+`
|
||||
Classic/Left Stick/Left = `Axis 0-`
|
||||
Classic/Left Stick/Right = `Axis 0+`
|
||||
Classic/Left Stick/Modifier/Range = 50.0
|
||||
Classic/Left Stick/Calibration = 100.00 101.96 107.63 112.05 110.67 111.78 105.49 101.89 100.00 101.96 108.24 112.08 112.34 109.50 107.04 101.96 100.00 101.96 106.95 114.00 115.73 117.91 108.24 101.96 100.00 101.96 108.24 106.97 109.81 109.07 108.24 101.96
|
||||
Classic/Right Stick/Up = `Axis 4-`
|
||||
Classic/Right Stick/Down = `Axis 4+`
|
||||
Classic/Right Stick/Left = `Axis 3-`
|
||||
Classic/Right Stick/Right = `Axis 3+`
|
||||
Classic/Right Stick/Modifier/Range = 50.0
|
||||
Classic/Right Stick/Calibration = 100.00 101.96 107.60 112.29 113.04 111.78 108.24 101.96 100.00 101.96 108.24 109.67 111.62 109.71 104.61 101.96 100.00 101.96 108.12 116.15 116.97 117.85 107.67 101.96 100.00 101.96 108.24 107.11 107.45 110.21 108.24 101.96
|
||||
Classic/Triggers/L = `Full Axis 2+`
|
||||
Classic/Triggers/R = `Full Axis 5+`
|
||||
Classic/Triggers/L-Analog = `Full Axis 2+`
|
||||
Classic/Triggers/R-Analog = `Full Axis 5+`
|
||||
Guitar/Stick/Modifier/Range = 50.0
|
||||
Drums/Stick/Modifier/Range = 50.0
|
||||
Turntable/Stick/Modifier/Range = 50.0
|
||||
uDraw/Stylus/Modifier/Range = 50.0
|
||||
Drawsome/Stylus/Modifier/Range = 50.0
|
||||
Rumble/Motor = Strong
|
||||
D-Pad/Up = `Axis 7-`
|
||||
D-Pad/Down = `Axis 7+`
|
||||
D-Pad/Left = `Axis 6-`
|
||||
D-Pad/Right = `Axis 6+`
|
||||
Hotkeys/Sideways Toggle = SELECT&THUMBR
|
@ -0,0 +1,79 @@
|
||||
[Profile]
|
||||
Device = evdev/0/Microsoft X-Box 360 pad 0
|
||||
Buttons/A = SOUTH
|
||||
Buttons/B = EAST
|
||||
Buttons/1 = NORTH
|
||||
Buttons/2 = WEST
|
||||
Buttons/- = SELECT
|
||||
Buttons/+ = START
|
||||
Buttons/Home = Return
|
||||
IR/Vertical Offset = 12.0
|
||||
IR/Total Yaw = 19.0
|
||||
IR/Total Pitch = 22.0
|
||||
IR/Up = `XInput2/0/Virtual core pointer:Cursor Y-`|`Axis 4-`
|
||||
IR/Down = `XInput2/0/Virtual core pointer:Cursor Y+`|`Axis 4+`
|
||||
IR/Left = `XInput2/0/Virtual core pointer:Cursor X-`|`Axis 3-`
|
||||
IR/Right = `XInput2/0/Virtual core pointer:Cursor X+`|`Axis 3+`
|
||||
Tilt/Modifier/Range = 50.0
|
||||
Shake/Z = TL
|
||||
IMUAccelerometer/Up = `DSUClient/0/steamdeckgyro:Accel Up`
|
||||
IMUAccelerometer/Down = `DSUClient/0/steamdeckgyro:Accel Down`
|
||||
IMUAccelerometer/Left = `DSUClient/0/steamdeckgyro:Accel Left`
|
||||
IMUAccelerometer/Right = `DSUClient/0/steamdeckgyro:Accel Right`
|
||||
IMUAccelerometer/Forward = `DSUClient/0/steamdeckgyro:Accel Forward`
|
||||
IMUAccelerometer/Backward = `DSUClient/0/steamdeckgyro:Accel Backward`
|
||||
IMUGyroscope/Pitch Up = `DSUClient/0/steamdeckgyro:Gyro Pitch Up`
|
||||
IMUGyroscope/Pitch Down = `DSUClient/0/steamdeckgyro:Gyro Pitch Down`
|
||||
IMUGyroscope/Roll Left = `DSUClient/0/steamdeckgyro:Gyro Roll Left`
|
||||
IMUGyroscope/Roll Right = `DSUClient/0/steamdeckgyro:Gyro Roll Right`
|
||||
IMUGyroscope/Yaw Left = `DSUClient/0/steamdeckgyro:Gyro Yaw Left`
|
||||
IMUGyroscope/Yaw Right = `DSUClient/0/steamdeckgyro:Gyro Yaw Right`
|
||||
IMUIR/Enabled = False
|
||||
Extension = Nunchuk
|
||||
Nunchuk/Buttons/C = `Full Axis 5+`
|
||||
Nunchuk/Buttons/Z = `Full Axis 2+`
|
||||
Nunchuk/Stick/Up = `Axis 1-`
|
||||
Nunchuk/Stick/Down = `Axis 1+`
|
||||
Nunchuk/Stick/Left = `Axis 0-`
|
||||
Nunchuk/Stick/Right = `Axis 0+`
|
||||
Nunchuk/Stick/Modifier/Range = 50.0
|
||||
Nunchuk/Stick/Calibration = 100.00 101.96 107.70 111.02 112.30 107.98 106.91 101.96 100.00 101.96 108.24 113.14 114.55 111.79 108.24 101.96 100.00 101.96 108.24 113.60 114.92 113.33 108.24 101.96 100.00 101.96 108.24 110.60 109.10 108.88 108.24 101.96
|
||||
Nunchuk/Tilt/Modifier/Range = 50.0
|
||||
Nunchuk/Shake/X = `Click 2`
|
||||
Nunchuk/Shake/Y = `Click 2`
|
||||
Nunchuk/Shake/Z = TR
|
||||
Classic/Buttons/A = EAST
|
||||
Classic/Buttons/B = SOUTH
|
||||
Classic/Buttons/X = WEST
|
||||
Classic/Buttons/Y = NORTH
|
||||
Classic/Buttons/ZL = TL
|
||||
Classic/Buttons/ZR = TR
|
||||
Classic/Buttons/- = SELECT
|
||||
Classic/Buttons/+ = START
|
||||
Classic/Left Stick/Up = `Axis 1-`
|
||||
Classic/Left Stick/Down = `Axis 1+`
|
||||
Classic/Left Stick/Left = `Axis 0-`
|
||||
Classic/Left Stick/Right = `Axis 0+`
|
||||
Classic/Left Stick/Modifier/Range = 50.0
|
||||
Classic/Left Stick/Calibration = 100.00 101.96 107.63 112.05 110.67 111.78 105.49 101.89 100.00 101.96 108.24 112.08 112.34 109.50 107.04 101.96 100.00 101.96 106.95 114.00 115.73 117.91 108.24 101.96 100.00 101.96 108.24 106.97 109.81 109.07 108.24 101.96
|
||||
Classic/Right Stick/Up = `Axis 4-`
|
||||
Classic/Right Stick/Down = `Axis 4+`
|
||||
Classic/Right Stick/Left = `Axis 3-`
|
||||
Classic/Right Stick/Right = `Axis 3+`
|
||||
Classic/Right Stick/Modifier/Range = 50.0
|
||||
Classic/Right Stick/Calibration = 100.00 101.96 107.60 112.29 113.04 111.78 108.24 101.96 100.00 101.96 108.24 109.67 111.62 109.71 104.61 101.96 100.00 101.96 108.12 116.15 116.97 117.85 107.67 101.96 100.00 101.96 108.24 107.11 107.45 110.21 108.24 101.96
|
||||
Classic/Triggers/L = `Full Axis 2+`
|
||||
Classic/Triggers/R = `Full Axis 5+`
|
||||
Classic/Triggers/L-Analog = `Full Axis 2+`
|
||||
Classic/Triggers/R-Analog = `Full Axis 5+`
|
||||
Guitar/Stick/Modifier/Range = 50.0
|
||||
Drums/Stick/Modifier/Range = 50.0
|
||||
Turntable/Stick/Modifier/Range = 50.0
|
||||
uDraw/Stylus/Modifier/Range = 50.0
|
||||
Drawsome/Stylus/Modifier/Range = 50.0
|
||||
Rumble/Motor = Strong
|
||||
D-Pad/Up = `Axis 7-`
|
||||
D-Pad/Down = `Axis 7+`
|
||||
D-Pad/Left = `Axis 6-`
|
||||
D-Pad/Right = `Axis 6+`
|
||||
Hotkeys/Sideways Toggle = SELECT&THUMBR
|
@ -0,0 +1,76 @@
|
||||
[Profile]
|
||||
Device = evdev/0/Microsoft X-Box 360 pad 0
|
||||
Buttons/A = SOUTH
|
||||
Buttons/B = EAST
|
||||
Buttons/1 = NORTH
|
||||
Buttons/2 = WEST
|
||||
Buttons/- = SELECT
|
||||
Buttons/+ = START
|
||||
Buttons/Home = Return
|
||||
IR/Up = `Axis 4-`
|
||||
IR/Down = `Axis 4+`
|
||||
IR/Left = `Axis 3-`
|
||||
IR/Right = `Axis 3+`
|
||||
IR/Calibration = 100.00 101.96 108.24 110.79 111.95 112.62 106.00 101.96 100.00 101.96 107.26 115.18 111.73 111.96 106.12 101.96 100.00 101.96 106.83 115.05 118.84 118.68 108.24 101.96 100.00 101.96 107.14 110.19 108.40 108.62 107.61 101.96
|
||||
Tilt/Modifier/Range = 50.0
|
||||
Shake/Z = TL
|
||||
IMUAccelerometer/Up = `Accel Up`
|
||||
IMUAccelerometer/Down = `Accel Down`
|
||||
IMUAccelerometer/Left = `Accel Left`
|
||||
IMUAccelerometer/Right = `Accel Right`
|
||||
IMUAccelerometer/Forward = `Accel Forward`
|
||||
IMUAccelerometer/Backward = `Accel Backward`
|
||||
IMUGyroscope/Pitch Up = `Gyro Pitch Up`
|
||||
IMUGyroscope/Pitch Down = `Gyro Pitch Down`
|
||||
IMUGyroscope/Roll Left = `Gyro Roll Left`
|
||||
IMUGyroscope/Roll Right = `Gyro Roll Right`
|
||||
IMUGyroscope/Yaw Left = `Gyro Yaw Left`
|
||||
IMUGyroscope/Yaw Right = `Gyro Yaw Right`
|
||||
Extension = Nunchuk
|
||||
Nunchuk/Buttons/C = `Full Axis 5+`
|
||||
Nunchuk/Buttons/Z = `Full Axis 2+`
|
||||
Nunchuk/Stick/Up = `Axis 1-`
|
||||
Nunchuk/Stick/Down = `Axis 1+`
|
||||
Nunchuk/Stick/Left = `Axis 0-`
|
||||
Nunchuk/Stick/Right = `Axis 0+`
|
||||
Nunchuk/Stick/Modifier/Range = 50.0
|
||||
Nunchuk/Stick/Calibration = 100.00 101.96 107.70 111.02 112.30 107.98 106.91 101.96 100.00 101.96 108.24 113.14 114.55 111.79 108.24 101.96 100.00 101.96 108.24 113.60 114.92 113.33 108.24 101.96 100.00 101.96 108.24 110.60 109.10 108.88 108.24 101.96
|
||||
Nunchuk/Tilt/Modifier/Range = 50.0
|
||||
Nunchuk/Shake/X = `Click 2`
|
||||
Nunchuk/Shake/Y = `Click 2`
|
||||
Nunchuk/Shake/Z = TR
|
||||
Classic/Buttons/A = EAST
|
||||
Classic/Buttons/B = SOUTH
|
||||
Classic/Buttons/X = WEST
|
||||
Classic/Buttons/Y = NORTH
|
||||
Classic/Buttons/ZL = TL
|
||||
Classic/Buttons/ZR = TR
|
||||
Classic/Buttons/- = SELECT
|
||||
Classic/Buttons/+ = START
|
||||
Classic/Left Stick/Up = `Axis 1-`
|
||||
Classic/Left Stick/Down = `Axis 1+`
|
||||
Classic/Left Stick/Left = `Axis 0-`
|
||||
Classic/Left Stick/Right = `Axis 0+`
|
||||
Classic/Left Stick/Modifier/Range = 50.0
|
||||
Classic/Left Stick/Calibration = 100.00 101.96 107.63 112.05 110.67 111.78 105.49 101.89 100.00 101.96 108.24 112.08 112.34 109.50 107.04 101.96 100.00 101.96 106.95 114.00 115.73 117.91 108.24 101.96 100.00 101.96 108.24 106.97 109.81 109.07 108.24 101.96
|
||||
Classic/Right Stick/Up = `Axis 4-`
|
||||
Classic/Right Stick/Down = `Axis 4+`
|
||||
Classic/Right Stick/Left = `Axis 3-`
|
||||
Classic/Right Stick/Right = `Axis 3+`
|
||||
Classic/Right Stick/Modifier/Range = 50.0
|
||||
Classic/Right Stick/Calibration = 100.00 101.96 107.60 112.29 113.04 111.78 108.24 101.96 100.00 101.96 108.24 109.67 111.62 109.71 104.61 101.96 100.00 101.96 108.12 116.15 116.97 117.85 107.67 101.96 100.00 101.96 108.24 107.11 107.45 110.21 108.24 101.96
|
||||
Classic/Triggers/L = `Full Axis 2+`
|
||||
Classic/Triggers/R = `Full Axis 5+`
|
||||
Classic/Triggers/L-Analog = `Full Axis 2+`
|
||||
Classic/Triggers/R-Analog = `Full Axis 5+`
|
||||
Guitar/Stick/Modifier/Range = 50.0
|
||||
Drums/Stick/Modifier/Range = 50.0
|
||||
Turntable/Stick/Modifier/Range = 50.0
|
||||
uDraw/Stylus/Modifier/Range = 50.0
|
||||
Drawsome/Stylus/Modifier/Range = 50.0
|
||||
Rumble/Motor = Strong
|
||||
D-Pad/Up = `Axis 7-`
|
||||
D-Pad/Down = `Axis 7+`
|
||||
D-Pad/Left = `Axis 6-`
|
||||
D-Pad/Right = `Axis 6+`
|
||||
Hotkeys/Sideways Toggle = SELECT&THUMBR
|
@ -0,0 +1,83 @@
|
||||
[Profile]
|
||||
Device = evdev/0/Microsoft X-Box 360 pad 0
|
||||
Buttons/A = SOUTH
|
||||
Buttons/B = EAST|`Full Axis 5+`
|
||||
Buttons/1 = NORTH
|
||||
Buttons/2 = WEST
|
||||
Buttons/- = SELECT
|
||||
Buttons/+ = START
|
||||
Buttons/Home = Return
|
||||
IR/Vertical Offset = 12.0
|
||||
IR/Total Yaw = 19.0
|
||||
IR/Total Pitch = 22.0
|
||||
IR/Auto-Hide = True
|
||||
IR/Up = `XInput2/0/Virtual core pointer:Cursor Y-`
|
||||
IR/Down = `XInput2/0/Virtual core pointer:Cursor Y+`
|
||||
IR/Left = `XInput2/0/Virtual core pointer:Cursor X-`
|
||||
IR/Right = `XInput2/0/Virtual core pointer:Cursor X+`
|
||||
Tilt/Forward = `Full Axis 2+`&`Full Axis 1-`
|
||||
Tilt/Backward = `Full Axis 2+`&`Full Axis 1+`
|
||||
Tilt/Left = `Full Axis 2+`&`Full Axis 0-`
|
||||
Tilt/Right = `Full Axis 2+`&`Full Axis 0+`
|
||||
Tilt/Modifier/Range = 50.0
|
||||
Shake/Z = TL
|
||||
IMUAccelerometer/Up = `Accel Up`
|
||||
IMUAccelerometer/Down = `Accel Down`
|
||||
IMUAccelerometer/Left = `Accel Left`
|
||||
IMUAccelerometer/Right = `Accel Right`
|
||||
IMUAccelerometer/Forward = `Accel Forward`
|
||||
IMUAccelerometer/Backward = `Accel Backward`
|
||||
IMUGyroscope/Pitch Up = `Gyro Pitch Up`
|
||||
IMUGyroscope/Pitch Down = `Gyro Pitch Down`
|
||||
IMUGyroscope/Roll Left = `Gyro Roll Left`
|
||||
IMUGyroscope/Roll Right = `Gyro Roll Right`
|
||||
IMUGyroscope/Yaw Left = `Gyro Yaw Left`
|
||||
IMUGyroscope/Yaw Right = `Gyro Yaw Right`
|
||||
Extension = Nunchuk
|
||||
Nunchuk/Buttons/C = THUMBR
|
||||
Nunchuk/Buttons/Z = TR
|
||||
Nunchuk/Stick/Up = `Axis 1-`
|
||||
Nunchuk/Stick/Down = `Axis 1+`
|
||||
Nunchuk/Stick/Left = `Axis 0-`
|
||||
Nunchuk/Stick/Right = `Axis 0+`
|
||||
Nunchuk/Stick/Modifier/Range = 50.0
|
||||
Nunchuk/Stick/Calibration = 100.00 101.96 107.70 111.02 112.30 107.98 106.91 101.96 100.00 101.96 108.24 113.14 114.55 111.79 108.24 101.96 100.00 101.96 108.24 113.60 114.92 113.33 108.24 101.96 100.00 101.96 108.24 110.60 109.10 108.88 108.24 101.96
|
||||
Nunchuk/Tilt/Modifier/Range = 50.0
|
||||
Nunchuk/Shake/X = `Click 2`
|
||||
Nunchuk/Shake/Y = `Click 2`
|
||||
Classic/Buttons/A = EAST
|
||||
Classic/Buttons/B = SOUTH
|
||||
Classic/Buttons/X = WEST
|
||||
Classic/Buttons/Y = NORTH
|
||||
Classic/Buttons/ZL = TL
|
||||
Classic/Buttons/ZR = TR
|
||||
Classic/Buttons/- = SELECT
|
||||
Classic/Buttons/+ = START
|
||||
Classic/Left Stick/Up = `Axis 1-`
|
||||
Classic/Left Stick/Down = `Axis 1+`
|
||||
Classic/Left Stick/Left = `Axis 0-`
|
||||
Classic/Left Stick/Right = `Axis 0+`
|
||||
Classic/Left Stick/Modifier/Range = 50.0
|
||||
Classic/Left Stick/Calibration = 100.00 101.96 107.63 112.05 110.67 111.78 105.49 101.89 100.00 101.96 108.24 112.08 112.34 109.50 107.04 101.96 100.00 101.96 106.95 114.00 115.73 117.91 108.24 101.96 100.00 101.96 108.24 106.97 109.81 109.07 108.24 101.96
|
||||
Classic/Right Stick/Up = `Axis 4-`
|
||||
Classic/Right Stick/Down = `Axis 4+`
|
||||
Classic/Right Stick/Left = `Axis 3-`
|
||||
Classic/Right Stick/Right = `Axis 3+`
|
||||
Classic/Right Stick/Modifier/Range = 50.0
|
||||
Classic/Right Stick/Calibration = 100.00 101.96 107.60 112.29 113.04 111.78 108.24 101.96 100.00 101.96 108.24 109.67 111.62 109.71 104.61 101.96 100.00 101.96 108.12 116.15 116.97 117.85 107.67 101.96 100.00 101.96 108.24 107.11 107.45 110.21 108.24 101.96
|
||||
Classic/Triggers/L = `Full Axis 2+`
|
||||
Classic/Triggers/R = `Full Axis 5+`
|
||||
Classic/Triggers/L-Analog = `Full Axis 2+`
|
||||
Classic/Triggers/R-Analog = `Full Axis 5+`
|
||||
Guitar/Stick/Modifier/Range = 50.0
|
||||
Drums/Stick/Modifier/Range = 50.0
|
||||
Turntable/Stick/Modifier/Range = 50.0
|
||||
uDraw/Stylus/Modifier/Range = 50.0
|
||||
Drawsome/Stylus/Modifier/Range = 50.0
|
||||
Rumble/Motor = Strong
|
||||
D-Pad/Up = `Axis 7-`
|
||||
D-Pad/Down = `Axis 7+`
|
||||
D-Pad/Left = `Axis 6-`
|
||||
D-Pad/Right = `Axis 6+`
|
||||
Options/Upright Wiimote = `Full Axis 2+`
|
||||
Hotkeys/Sideways Toggle = SELECT&THUMBR
|
@ -7,48 +7,46 @@ Buttons/2 = WEST
|
||||
Buttons/- = SELECT
|
||||
Buttons/+ = START
|
||||
Buttons/Home = Return
|
||||
IR/Up = `Axis 4-`
|
||||
IR/Down = `Axis 4+`
|
||||
IR/Left = `Axis 3-`
|
||||
IR/Right = `Axis 3+`
|
||||
Tilt/Modifier/Range = 50.000000000000000
|
||||
IMUAccelerometer/Up = `Accel Up`
|
||||
IMUAccelerometer/Down = `Accel Down`
|
||||
IMUAccelerometer/Left = `Accel Left`
|
||||
IMUAccelerometer/Right = `Accel Right`
|
||||
IMUAccelerometer/Forward = `Accel Forward`
|
||||
IMUAccelerometer/Backward = `Accel Backward`
|
||||
IMUGyroscope/Pitch Up = `Gyro Pitch Up`
|
||||
IMUGyroscope/Pitch Down = `Gyro Pitch Down`
|
||||
IMUGyroscope/Roll Left = `Gyro Roll Left`
|
||||
IMUGyroscope/Roll Right = `Gyro Roll Right`
|
||||
IMUGyroscope/Yaw Left = `Gyro Yaw Left`
|
||||
IMUGyroscope/Yaw Right = `Gyro Yaw Right`
|
||||
IR/Up = `XInput2/0/Virtual core pointer:Cursor Y-`|`Axis 4-`
|
||||
IR/Down = `XInput2/0/Virtual core pointer:Cursor Y+`|`Axis 4+`
|
||||
IR/Left = `XInput2/0/Virtual core pointer:Cursor X-`|`Axis 3-`
|
||||
IR/Right = `XInput2/0/Virtual core pointer:Cursor X+`|`Axis 3+`
|
||||
Tilt/Modifier/Range = 50.0
|
||||
IMUAccelerometer/Up = `DSUClient/0/steamdeckgyro:Accel Up`
|
||||
IMUAccelerometer/Down = `DSUClient/0/steamdeckgyro:Accel Down`
|
||||
IMUAccelerometer/Left = `DSUClient/0/steamdeckgyro:Accel Left`
|
||||
IMUAccelerometer/Right = `DSUClient/0/steamdeckgyro:Accel Right`
|
||||
IMUAccelerometer/Forward = `DSUClient/0/steamdeckgyro:Accel Forward`
|
||||
IMUAccelerometer/Backward = `DSUClient/0/steamdeckgyro:Accel Backward`
|
||||
IMUGyroscope/Pitch Up = `DSUClient/0/steamdeckgyro:Gyro Pitch Up`
|
||||
IMUGyroscope/Pitch Down = `DSUClient/0/steamdeckgyro:Gyro Pitch Down`
|
||||
IMUGyroscope/Roll Left = `DSUClient/0/steamdeckgyro:Gyro Roll Left`
|
||||
IMUGyroscope/Roll Right = `DSUClient/0/steamdeckgyro:Gyro Roll Right`
|
||||
IMUGyroscope/Yaw Left = `DSUClient/0/steamdeckgyro:Gyro Yaw Left`
|
||||
IMUGyroscope/Yaw Right = `DSUClient/0/steamdeckgyro:Gyro Yaw Right`
|
||||
Nunchuk/Buttons/C = `Full Axis 5+`
|
||||
Nunchuk/Buttons/Z = `Full Axis 2+`
|
||||
Nunchuk/Stick/Up = `Axis 1-`
|
||||
Nunchuk/Stick/Down = `Axis 1+`
|
||||
Nunchuk/Stick/Left = `Axis 0-`
|
||||
Nunchuk/Stick/Right = `Axis 0+`
|
||||
Nunchuk/Stick/Modifier/Range = 50.000000000000000
|
||||
Nunchuk/Stick/Modifier/Range = 50.0
|
||||
Nunchuk/Stick/Calibration = 100.00 101.96 107.70 111.02 112.30 107.98 106.91 101.96 100.00 101.96 108.24 113.14 114.55 111.79 108.24 101.96 100.00 101.96 108.24 113.60 114.92 113.33 108.24 101.96 100.00 101.96 108.24 110.60 109.10 108.88 108.24 101.96
|
||||
Nunchuk/Tilt/Modifier/Range = 50.000000000000000
|
||||
Nunchuk/Tilt/Modifier/Range = 50.0
|
||||
Nunchuk/Shake/X = `Click 2`
|
||||
Nunchuk/Shake/Y = `Click 2`
|
||||
Nunchuk/Shake/Z = TR
|
||||
Classic/Left Stick/Modifier/Range = 50.000000000000000
|
||||
Classic/Right Stick/Modifier/Range = 50.000000000000000
|
||||
Guitar/Stick/Modifier/Range = 50.000000000000000
|
||||
Drums/Stick/Modifier/Range = 50.000000000000000
|
||||
Turntable/Stick/Modifier/Range = 50.000000000000000
|
||||
uDraw/Stylus/Modifier/Range = 50.000000000000000
|
||||
Drawsome/Stylus/Modifier/Range = 50.000000000000000
|
||||
Classic/Left Stick/Modifier/Range = 50.0
|
||||
Classic/Right Stick/Modifier/Range = 50.0
|
||||
Guitar/Stick/Modifier/Range = 50.0
|
||||
Drums/Stick/Modifier/Range = 50.0
|
||||
Turntable/Stick/Modifier/Range = 50.0
|
||||
uDraw/Stylus/Modifier/Range = 50.0
|
||||
Drawsome/Stylus/Modifier/Range = 50.0
|
||||
D-Pad/Up = `Axis 7-`
|
||||
D-Pad/Down = `Axis 7+`
|
||||
D-Pad/Left = `Axis 6-`
|
||||
D-Pad/Right = `Axis 6+`
|
||||
Source = 1
|
||||
IR/Calibration = 100.00 101.96 108.24 110.79 111.95 112.62 106.00 101.96 100.00 101.96 107.26 115.18 111.73 111.96 106.12 101.96 100.00 101.96 106.83 115.05 118.84 118.68 108.24 101.96 100.00 101.96 107.14 110.19 108.40 108.62 107.61 101.96
|
||||
Classic/Buttons/A = EAST
|
||||
Classic/Buttons/B = SOUTH
|
||||
Classic/Buttons/X = WEST
|
||||
@ -75,12 +73,17 @@ Shake/Z = TL
|
||||
Hotkeys/Sideways Toggle = SELECT&THUMBR
|
||||
Extension = Nunchuk
|
||||
Rumble/Motor = Strong
|
||||
Nunchuk/Shake/Z = TR
|
||||
IR/Vertical Offset = 12.0
|
||||
IR/Total Yaw = 19.0
|
||||
IR/Total Pitch = 22.0
|
||||
IMUIR/Enabled = False
|
||||
[Wiimote2]
|
||||
Device = SDL/0/Wireless Controller
|
||||
Buttons/A = SOUTH
|
||||
Buttons/B = EAST
|
||||
Buttons/1 = NORTH
|
||||
Buttons/2 = WEST
|
||||
Device = evdev/0/Microsoft X-Box 360 pad 1
|
||||
Buttons/A = EAST
|
||||
Buttons/B = SOUTH
|
||||
Buttons/1 = WEST
|
||||
Buttons/2 = NORTH
|
||||
Buttons/- = SELECT
|
||||
Buttons/+ = START
|
||||
Buttons/Home = Return
|
||||
@ -88,7 +91,7 @@ IR/Up = `Axis 4-`
|
||||
IR/Down = `Axis 4+`
|
||||
IR/Left = `Axis 3-`
|
||||
IR/Right = `Axis 3+`
|
||||
Tilt/Modifier/Range = 50.000000000000000
|
||||
Tilt/Modifier/Range = 50.0
|
||||
IMUAccelerometer/Up = `Accel Up`
|
||||
IMUAccelerometer/Down = `Accel Down`
|
||||
IMUAccelerometer/Left = `Accel Left`
|
||||
@ -107,25 +110,24 @@ Nunchuk/Stick/Up = `Axis 1-`
|
||||
Nunchuk/Stick/Down = `Axis 1+`
|
||||
Nunchuk/Stick/Left = `Axis 0-`
|
||||
Nunchuk/Stick/Right = `Axis 0+`
|
||||
Nunchuk/Stick/Modifier/Range = 50.000000000000000
|
||||
Nunchuk/Stick/Modifier/Range = 50.0
|
||||
Nunchuk/Stick/Calibration = 100.00 101.96 107.70 111.02 112.30 107.98 106.91 101.96 100.00 101.96 108.24 113.14 114.55 111.79 108.24 101.96 100.00 101.96 108.24 113.60 114.92 113.33 108.24 101.96 100.00 101.96 108.24 110.60 109.10 108.88 108.24 101.96
|
||||
Nunchuk/Tilt/Modifier/Range = 50.000000000000000
|
||||
Nunchuk/Tilt/Modifier/Range = 50.0
|
||||
Nunchuk/Shake/X = `Click 2`
|
||||
Nunchuk/Shake/Y = `Click 2`
|
||||
Nunchuk/Shake/Z = TR
|
||||
Classic/Left Stick/Modifier/Range = 50.000000000000000
|
||||
Classic/Right Stick/Modifier/Range = 50.000000000000000
|
||||
Guitar/Stick/Modifier/Range = 50.000000000000000
|
||||
Drums/Stick/Modifier/Range = 50.000000000000000
|
||||
Turntable/Stick/Modifier/Range = 50.000000000000000
|
||||
uDraw/Stylus/Modifier/Range = 50.000000000000000
|
||||
Drawsome/Stylus/Modifier/Range = 50.000000000000000
|
||||
Classic/Left Stick/Modifier/Range = 50.0
|
||||
Classic/Right Stick/Modifier/Range = 50.0
|
||||
Guitar/Stick/Modifier/Range = 50.0
|
||||
Drums/Stick/Modifier/Range = 50.0
|
||||
Turntable/Stick/Modifier/Range = 50.0
|
||||
uDraw/Stylus/Modifier/Range = 50.0
|
||||
Drawsome/Stylus/Modifier/Range = 50.0
|
||||
D-Pad/Up = `Axis 7-`
|
||||
D-Pad/Down = `Axis 7+`
|
||||
D-Pad/Left = `Axis 6-`
|
||||
D-Pad/Right = `Axis 6+`
|
||||
Source = 1
|
||||
IR/Calibration = 100.00 101.96 108.24 110.79 111.95 112.62 106.00 101.96 100.00 101.96 107.26 115.18 111.73 111.96 106.12 101.96 100.00 101.96 106.83 115.05 118.84 118.68 108.24 101.96 100.00 101.96 107.14 110.19 108.40 108.62 107.61 101.96
|
||||
Classic/Buttons/A = EAST
|
||||
Classic/Buttons/B = SOUTH
|
||||
Classic/Buttons/X = WEST
|
||||
@ -153,19 +155,19 @@ Hotkeys/Sideways Toggle = SELECT&THUMBR
|
||||
Extension = Nunchuk
|
||||
Rumble/Motor = Strong
|
||||
[Wiimote3]
|
||||
Device = SDL/1/Wireless Controller
|
||||
Buttons/A = `Button 1`
|
||||
Buttons/B = `Button 2`
|
||||
Buttons/1 = `Button 0`
|
||||
Buttons/2 = `Button 3`
|
||||
Buttons/- = `Button 8`
|
||||
Buttons/+ = `Button 9`
|
||||
Buttons/Home = `Button 12`
|
||||
IR/Up = `Axis 5-`
|
||||
IR/Down = `Axis 5+`
|
||||
IR/Left = `Axis 2-`
|
||||
IR/Right = `Axis 2+`
|
||||
Tilt/Modifier/Range = 50.000000000000000
|
||||
Device = evdev/0/Microsoft X-Box 360 pad 2
|
||||
Buttons/A = EAST
|
||||
Buttons/B = SOUTH
|
||||
Buttons/1 = WEST
|
||||
Buttons/2 = NORTH
|
||||
Buttons/- = SELECT
|
||||
Buttons/+ = START
|
||||
Buttons/Home = Return
|
||||
IR/Up = `Axis 4-`
|
||||
IR/Down = `Axis 4+`
|
||||
IR/Left = `Axis 3-`
|
||||
IR/Right = `Axis 3+`
|
||||
Tilt/Modifier/Range = 50.0
|
||||
IMUAccelerometer/Up = `Accel Up`
|
||||
IMUAccelerometer/Down = `Accel Down`
|
||||
IMUAccelerometer/Left = `Accel Left`
|
||||
@ -178,31 +180,30 @@ IMUGyroscope/Roll Left = `Gyro Roll Left`
|
||||
IMUGyroscope/Roll Right = `Gyro Roll Right`
|
||||
IMUGyroscope/Yaw Left = `Gyro Yaw Left`
|
||||
IMUGyroscope/Yaw Right = `Gyro Yaw Right`
|
||||
Nunchuk/Buttons/C = `Full Axis 4+`
|
||||
Nunchuk/Buttons/Z = `Full Axis 3+`
|
||||
Nunchuk/Buttons/C = `Full Axis 5+`
|
||||
Nunchuk/Buttons/Z = `Full Axis 2+`
|
||||
Nunchuk/Stick/Up = `Axis 1-`
|
||||
Nunchuk/Stick/Down = `Axis 1+`
|
||||
Nunchuk/Stick/Left = `Axis 0-`
|
||||
Nunchuk/Stick/Right = `Axis 0+`
|
||||
Nunchuk/Stick/Modifier/Range = 50.000000000000000
|
||||
Nunchuk/Stick/Modifier/Range = 50.0
|
||||
Nunchuk/Stick/Calibration = 100.00 101.96 107.70 111.02 112.30 107.98 106.91 101.96 100.00 101.96 108.24 113.14 114.55 111.79 108.24 101.96 100.00 101.96 108.24 113.60 114.92 113.33 108.24 101.96 100.00 101.96 108.24 110.60 109.10 108.88 108.24 101.96
|
||||
Nunchuk/Tilt/Modifier/Range = 50.000000000000000
|
||||
Nunchuk/Tilt/Modifier/Range = 50.0
|
||||
Nunchuk/Shake/X = `Click 2`
|
||||
Nunchuk/Shake/Y = `Click 2`
|
||||
Nunchuk/Shake/Z = TR
|
||||
Classic/Left Stick/Modifier/Range = 50.000000000000000
|
||||
Classic/Right Stick/Modifier/Range = 50.000000000000000
|
||||
Guitar/Stick/Modifier/Range = 50.000000000000000
|
||||
Drums/Stick/Modifier/Range = 50.000000000000000
|
||||
Turntable/Stick/Modifier/Range = 50.000000000000000
|
||||
uDraw/Stylus/Modifier/Range = 50.000000000000000
|
||||
Drawsome/Stylus/Modifier/Range = 50.000000000000000
|
||||
D-Pad/Up = `Hat 0 N`
|
||||
D-Pad/Down = `Hat 0 S`
|
||||
D-Pad/Left = `Hat 0 W`
|
||||
D-Pad/Right = `Hat 0 E`
|
||||
Classic/Left Stick/Modifier/Range = 50.0
|
||||
Classic/Right Stick/Modifier/Range = 50.0
|
||||
Guitar/Stick/Modifier/Range = 50.0
|
||||
Drums/Stick/Modifier/Range = 50.0
|
||||
Turntable/Stick/Modifier/Range = 50.0
|
||||
uDraw/Stylus/Modifier/Range = 50.0
|
||||
Drawsome/Stylus/Modifier/Range = 50.0
|
||||
D-Pad/Up = `Axis 7-`
|
||||
D-Pad/Down = `Axis 7+`
|
||||
D-Pad/Left = `Axis 6-`
|
||||
D-Pad/Right = `Axis 6+`
|
||||
Source = 1
|
||||
IR/Calibration = 100.00 101.96 108.24 110.79 111.95 112.62 106.00 101.96 100.00 101.96 107.26 115.18 111.73 111.96 106.12 101.96 100.00 101.96 106.83 115.05 118.84 118.68 108.24 101.96 100.00 101.96 107.14 110.19 108.40 108.62 107.61 101.96
|
||||
Classic/Buttons/A = EAST
|
||||
Classic/Buttons/B = SOUTH
|
||||
Classic/Buttons/X = WEST
|
||||
@ -230,11 +231,11 @@ Hotkeys/Sideways Toggle = SELECT&THUMBR
|
||||
Extension = Nunchuk
|
||||
Rumble/Motor = Strong
|
||||
[Wiimote4]
|
||||
Device = SDL/2/Wireless Controller
|
||||
Buttons/A = SOUTH
|
||||
Buttons/B = EAST
|
||||
Buttons/1 = NORTH
|
||||
Buttons/2 = WEST
|
||||
Device = evdev/0/Microsoft X-Box 360 pad 3
|
||||
Buttons/A = EAST
|
||||
Buttons/B = SOUTH
|
||||
Buttons/1 = WEST
|
||||
Buttons/2 = NORTH
|
||||
Buttons/- = SELECT
|
||||
Buttons/+ = START
|
||||
Buttons/Home = Return
|
||||
@ -242,7 +243,7 @@ IR/Up = `Axis 4-`
|
||||
IR/Down = `Axis 4+`
|
||||
IR/Left = `Axis 3-`
|
||||
IR/Right = `Axis 3+`
|
||||
Tilt/Modifier/Range = 50.000000000000000
|
||||
Tilt/Modifier/Range = 50.0
|
||||
IMUAccelerometer/Up = `Accel Up`
|
||||
IMUAccelerometer/Down = `Accel Down`
|
||||
IMUAccelerometer/Left = `Accel Left`
|
||||
@ -261,25 +262,24 @@ Nunchuk/Stick/Up = `Axis 1-`
|
||||
Nunchuk/Stick/Down = `Axis 1+`
|
||||
Nunchuk/Stick/Left = `Axis 0-`
|
||||
Nunchuk/Stick/Right = `Axis 0+`
|
||||
Nunchuk/Stick/Modifier/Range = 50.000000000000000
|
||||
Nunchuk/Stick/Modifier/Range = 50.0
|
||||
Nunchuk/Stick/Calibration = 100.00 101.96 107.70 111.02 112.30 107.98 106.91 101.96 100.00 101.96 108.24 113.14 114.55 111.79 108.24 101.96 100.00 101.96 108.24 113.60 114.92 113.33 108.24 101.96 100.00 101.96 108.24 110.60 109.10 108.88 108.24 101.96
|
||||
Nunchuk/Tilt/Modifier/Range = 50.000000000000000
|
||||
Nunchuk/Tilt/Modifier/Range = 50.0
|
||||
Nunchuk/Shake/X = `Click 2`
|
||||
Nunchuk/Shake/Y = `Click 2`
|
||||
Nunchuk/Shake/Z = TR
|
||||
Classic/Left Stick/Modifier/Range = 50.000000000000000
|
||||
Classic/Right Stick/Modifier/Range = 50.000000000000000
|
||||
Guitar/Stick/Modifier/Range = 50.000000000000000
|
||||
Drums/Stick/Modifier/Range = 50.000000000000000
|
||||
Turntable/Stick/Modifier/Range = 50.000000000000000
|
||||
uDraw/Stylus/Modifier/Range = 50.000000000000000
|
||||
Drawsome/Stylus/Modifier/Range = 50.000000000000000
|
||||
Classic/Left Stick/Modifier/Range = 50.0
|
||||
Classic/Right Stick/Modifier/Range = 50.0
|
||||
Guitar/Stick/Modifier/Range = 50.0
|
||||
Drums/Stick/Modifier/Range = 50.0
|
||||
Turntable/Stick/Modifier/Range = 50.0
|
||||
uDraw/Stylus/Modifier/Range = 50.0
|
||||
Drawsome/Stylus/Modifier/Range = 50.0
|
||||
D-Pad/Up = `Axis 7-`
|
||||
D-Pad/Down = `Axis 7+`
|
||||
D-Pad/Left = `Axis 6-`
|
||||
D-Pad/Right = `Axis 6+`
|
||||
Source = 0
|
||||
IR/Calibration = 100.00 101.96 108.24 110.79 111.95 112.62 106.00 101.96 100.00 101.96 107.26 115.18 111.73 111.96 106.12 101.96 100.00 101.96 106.83 115.05 118.84 118.68 108.24 101.96 100.00 101.96 107.14 110.19 108.40 108.62 107.61 101.96
|
||||
Source = 1
|
||||
Classic/Buttons/A = EAST
|
||||
Classic/Buttons/B = SOUTH
|
||||
Classic/Buttons/X = WEST
|
||||
@ -302,20 +302,20 @@ Classic/Right Stick/Down = `Axis 4+`
|
||||
Classic/Right Stick/Left = `Axis 3-`
|
||||
Classic/Right Stick/Right = `Axis 3+`
|
||||
Classic/Right Stick/Calibration = 100.00 101.96 107.60 112.29 113.04 111.78 108.24 101.96 100.00 101.96 108.24 109.67 111.62 109.71 104.61 101.96 100.00 101.96 108.12 116.15 116.97 117.85 107.67 101.96 100.00 101.96 108.24 107.11 107.45 110.21 108.24 101.96
|
||||
Shake/Z = TL
|
||||
Shake/Z = `Button 4`
|
||||
Hotkeys/Sideways Toggle = SELECT&THUMBR
|
||||
Extension = Nunchuk
|
||||
Rumble/Motor = Strong
|
||||
[BalanceBoard]
|
||||
Device = XInput2/0/Virtual core pointer
|
||||
Tilt/Modifier/Range = 50.000000000000000
|
||||
Nunchuk/Stick/Modifier/Range = 50.000000000000000
|
||||
Nunchuk/Tilt/Modifier/Range = 50.000000000000000
|
||||
Classic/Left Stick/Modifier/Range = 50.000000000000000
|
||||
Classic/Right Stick/Modifier/Range = 50.000000000000000
|
||||
Guitar/Stick/Modifier/Range = 50.000000000000000
|
||||
Drums/Stick/Modifier/Range = 50.000000000000000
|
||||
Turntable/Stick/Modifier/Range = 50.000000000000000
|
||||
uDraw/Stylus/Modifier/Range = 50.000000000000000
|
||||
Drawsome/Stylus/Modifier/Range = 50.000000000000000
|
||||
Tilt/Modifier/Range = 50.0
|
||||
Nunchuk/Stick/Modifier/Range = 50.0
|
||||
Nunchuk/Tilt/Modifier/Range = 50.0
|
||||
Classic/Left Stick/Modifier/Range = 50.0
|
||||
Classic/Right Stick/Modifier/Range = 50.0
|
||||
Guitar/Stick/Modifier/Range = 50.0
|
||||
Drums/Stick/Modifier/Range = 50.0
|
||||
Turntable/Stick/Modifier/Range = 50.0
|
||||
uDraw/Stylus/Modifier/Range = 50.0
|
||||
Drawsome/Stylus/Modifier/Range = 50.0
|
||||
Source = 0
|
||||
|
@ -7,7 +7,7 @@ SyncToHostRefreshRate = false
|
||||
IncreaseTimerResolution = true
|
||||
InhibitScreensaver = true
|
||||
StartPaused = false
|
||||
StartFullscreen = false
|
||||
StartFullscreen = true
|
||||
PauseOnFocusLoss = false
|
||||
PauseOnMenu = true
|
||||
SaveStateOnExit = true
|
||||
@ -19,7 +19,7 @@ DisableAllEnhancements = false
|
||||
RewindEnable = false
|
||||
RewindFrequency = 10.000000
|
||||
RewindSaveSlots = 10
|
||||
RunaheadFrameCount = 0.000000
|
||||
RunaheadFrameCount = 0
|
||||
ControllerBackend = SDL
|
||||
ControllerEnhancedMode = false
|
||||
EnableDiscordPresence = false
|
||||
@ -39,7 +39,8 @@ OverclockEnable = false
|
||||
RecompilerMemoryExceptions = false
|
||||
RecompilerBlockLinking = true
|
||||
ICache = false
|
||||
FastmemMode = true
|
||||
FastmemMode = MMap
|
||||
RecompilerICache = false
|
||||
|
||||
|
||||
[GPU]
|
||||
@ -68,6 +69,8 @@ PGXPPreserveProjFP = false
|
||||
PGXPTolerance = -1.000000
|
||||
PGXPDepthBuffer = false
|
||||
PGXPDepthClearThreshold = 300.000000
|
||||
Adapter = AMD RADV VANGOGH
|
||||
FullscreenMode =
|
||||
|
||||
|
||||
[Display]
|
||||
@ -76,7 +79,7 @@ ActiveStartOffset = 0
|
||||
ActiveEndOffset = 0
|
||||
LineStartOffset = 0
|
||||
LineEndOffset = 0
|
||||
AspectRatio = 16:9
|
||||
AspectRatio = Auto (Game Native)
|
||||
CustomAspectRatioNumerator = 4
|
||||
Force4_3For24Bit = true
|
||||
LinearFiltering = true
|
||||
@ -93,7 +96,6 @@ ShowEnhancements = false
|
||||
Fullscreen = false
|
||||
VSync = false
|
||||
DisplayAllFrames = false
|
||||
PostProcessChain =
|
||||
MaxFPS = 0.000000
|
||||
InternalResolutionScreenshots = false
|
||||
|
||||
@ -113,7 +115,7 @@ OutputVolume = 100
|
||||
FastForwardVolume = 100
|
||||
BufferSize = 2048
|
||||
Resampling = true
|
||||
OutputMuted = 0
|
||||
OutputMuted = false
|
||||
Sync = true
|
||||
DumpOnBoot = false
|
||||
|
||||
@ -170,11 +172,14 @@ FastForward = Keyboard/Tab
|
||||
TogglePause = Keyboard/Space
|
||||
ToggleFullscreen = Keyboard/Alt+Return
|
||||
Screenshot = Keyboard/F10
|
||||
PowerOff = Keyboard/Escape
|
||||
PowerOff = Keyboard/F6
|
||||
LoadSelectedSaveState = Keyboard/F1
|
||||
SaveSelectedSaveState = Keyboard/F2
|
||||
SelectPreviousSaveStateSlot = Keyboard/F3
|
||||
SelectNextSaveStateSlot = Keyboard/F4
|
||||
ToggleFastForward = Keyboard/F5
|
||||
OpenQuickMenu = Keyboard/Escape
|
||||
ChangeDisc = Keyboard/F7
|
||||
|
||||
|
||||
[Cheevos]
|
||||
@ -261,3 +266,22 @@ Type = None
|
||||
|
||||
[Controller8]
|
||||
Type = None
|
||||
|
||||
[SDLHostInterface]
|
||||
WindowX = 0
|
||||
WindowY = 0
|
||||
WindowWidth = 1280
|
||||
WindowHeight = 711
|
||||
|
||||
|
||||
[TextureReplacements]
|
||||
EnableVRAMWriteReplacements = true
|
||||
PreloadTextures = true
|
||||
DumpVRAMWrites = false
|
||||
DumpVRAMWriteForceAlphaChannel = true
|
||||
DumpVRAMWriteWidthThreshold = 128
|
||||
DumpVRAMWriteHeightThreshold = 128
|
||||
|
||||
|
||||
[GameList]
|
||||
RecursivePaths = /run/media/mmcblk0p1/Emulation/roms/psx
|
@ -793,7 +793,7 @@ cpuopt_unsafe_unfuse_fma=true
|
||||
cpuopt_unsafe_unfuse_fma\default=true
|
||||
|
||||
[Data%20Storage]
|
||||
dump_directory=/home/deck/.var/app/org.yuzu_emu.yuzu/data/yuzu/dump
|
||||
dump_directory=/run/media/mmcblk0p1/Emulation/storage/yuzu/dump
|
||||
dump_directory\default=true
|
||||
gamecard_current_game=false
|
||||
gamecard_current_game\default=true
|
||||
@ -801,13 +801,13 @@ gamecard_inserted=false
|
||||
gamecard_inserted\default=true
|
||||
gamecard_path=
|
||||
gamecard_path\default=true
|
||||
load_directory=/home/deck/.var/app/org.yuzu_emu.yuzu/data/yuzu/load
|
||||
load_directory=/run/media/mmcblk0p1/Emulation/storage/yuzu/load
|
||||
load_directory\default=true
|
||||
nand_directory=/home/deck/.var/app/org.yuzu_emu.yuzu/data/yuzu/nand
|
||||
nand_directory=/run/media/mmcblk0p1/Emulation/storage/yuzu/nand
|
||||
nand_directory\default=true
|
||||
sdmc_directory=/home/deck/.var/app/org.yuzu_emu.yuzu/data/yuzu/sdmc
|
||||
sdmc_directory=/run/media/mmcblk0p1/Emulation/storage/yuzu/sdmc
|
||||
sdmc_directory\default=true
|
||||
tas_directory=/home/deck/.var/app/org.yuzu_emu.yuzu/data/yuzu/tas
|
||||
tas_directory=/run/media/mmcblk0p1/Emulation/storage/yuzu/tas
|
||||
tas_directory\default=true
|
||||
use_virtual_sd=true
|
||||
use_virtual_sd\default=true
|
||||
@ -961,7 +961,7 @@ Paths\romsPath=
|
||||
Paths\symbolsPath=
|
||||
Screenshots\enable_screenshot_save_as=true
|
||||
Screenshots\enable_screenshot_save_as\default=true
|
||||
Screenshots\screenshot_path=/home/deck/.var/app/org.yuzu_emu.yuzu/data/yuzu/screenshots
|
||||
Screenshots\screenshot_path=/run/media/mmcblk0p1/Emulation/storage/yuzu/screenshots
|
||||
Shortcuts\Main%20Window\Audio%20Mute\Unmute\Context=1
|
||||
Shortcuts\Main%20Window\Audio%20Mute\Unmute\Context\default=true
|
||||
Shortcuts\Main%20Window\Audio%20Mute\Unmute\Controller_KeySeq=
|
||||
|
886
configs/steam-input/duckstation_controller_config.vdf
Normal file
886
configs/steam-input/duckstation_controller_config.vdf
Normal file
@ -0,0 +1,886 @@
|
||||
"controller_mappings"
|
||||
{
|
||||
"version" "3"
|
||||
"revision" "21"
|
||||
"title" "DuckStation Menu Hotkeys"
|
||||
"description" "Long press hotkeys to activate."
|
||||
"creator" "76561198025051816"
|
||||
"progenitor" ""
|
||||
"url" "template://duckstation_controller_config.vdf"
|
||||
"export_type" "template"
|
||||
"controller_type" "controller_neptune"
|
||||
"major_revision" "0"
|
||||
"minor_revision" "0"
|
||||
"Timestamp" "4"
|
||||
"localization"
|
||||
{
|
||||
"english"
|
||||
{
|
||||
"title" "DuckStation Menu Hotkeys"
|
||||
"description" "DuckStation Menu Hotkeys"
|
||||
}
|
||||
"czech"
|
||||
{
|
||||
"title" "Gamepad s ovládáním kamery"
|
||||
"description" "Tato šablona je pro většinu her podporujících gamepad a disponujících kamerou z pohledu první nebo třetí osoby. Mezi takové hry patří například akční hry z pohledu první nebo třetí osoby."
|
||||
}
|
||||
"danish"
|
||||
{
|
||||
"title" "Gamepad med kamerastyring"
|
||||
"description" "Denne skabelon er til de fleste spil, der allerede har indbygget gamepad-understøttelse og har et første- eller tredjepersonskontrolleret kamera. FPS eller tredjepersons adventure-spil osv."
|
||||
}
|
||||
"dutch"
|
||||
{
|
||||
"title" "Gamepad met camerabesturing"
|
||||
"description" "Deze template is voor de meeste spellen die reeds ingebouwde gamepadondersteuning hebben en die een camera hebben die wordt bestuurd in de eerste of derde persoon. FPS, third person-avontuurspellen, etc."
|
||||
}
|
||||
"finnish"
|
||||
{
|
||||
"title" "Kameraa ohjaava peliohjain"
|
||||
"description" "Tämä malli on useimmille muita ohjaimia valmiiksi tukeville peleille, joissa on ensimmäisessä tai kolmannessa persoonassa ohjattava kamera. FPS-pelit, kolmannen persoonan seikkailupelit jne."
|
||||
}
|
||||
"french"
|
||||
{
|
||||
"title" "Manette avec contrôles caméra"
|
||||
"description" "Ce modèle fonctionne pour la plupart des jeux ayant un support manette intégré et une caméra contrôlée à la première ou à la troisième personne. FPS, jeux d'aventure à la troisième personne, etc."
|
||||
}
|
||||
"german"
|
||||
{
|
||||
"title" "Gamepad mit Kamerasteuerung"
|
||||
"description" "Diese Vorlage ist für die meisten Spiele konzipiert, die bereits volle Untersützung für Gamepads mit sich bringen und eine First- oder Third-Person-Kamerasteuerung haben. Gedacht für Ego-Shooter, Third-Person-Abenteuerspiele usw."
|
||||
}
|
||||
"hungarian"
|
||||
{
|
||||
"title" "Gamepad kamerairányítással"
|
||||
"description" "Ez a sablon a legtöbb olyan játékhoz való, melyek már rendelkeznek beépített gamepad-támogatással, és van első vagy harmadik személyű kezelésű kamerájuk. Ilyenek az FPS vagy harmadik személyű kalandjátékok stb."
|
||||
}
|
||||
"italian"
|
||||
{
|
||||
"title" "Gamepad con controlli della telecamera"
|
||||
"description" "Questo template è pensato per la maggior parte dei giochi che hanno già il supporto per gamepad integrato e hanno la visuale controllata in prima o terza persona. Giochi d'avventura in terza persona, FPS ecc."
|
||||
}
|
||||
"japanese"
|
||||
{
|
||||
"title" "カメラコントロール機能を持つゲームパッド"
|
||||
"description" "FPS や、アドベンチャーゲームのような、一人称または三人称のカメラ操作を行うゲームパッドに標準対応したゲーム用のテンプレートです。"
|
||||
}
|
||||
"koreana"
|
||||
{
|
||||
"title" "카메라 조작 기능이 있는 게임패드"
|
||||
"description" "이 템플릿은 이미 게임패드 지원이 내장되어 있으며 1인칭 또는 3인칭 시점 카메라 조작을 지원하는 대부분의 게임을 위한 것입니다. FPS, 3인칭 어드벤쳐 게임 및 기타."
|
||||
}
|
||||
"polish"
|
||||
{
|
||||
"title" "Kontroler obsługujący kamerę"
|
||||
"description" "Ten szablon jest dla większości gier, które mają wbudowane wsparcie dla kontrolerów, a także kamerę kontrolowaną z perspektywy pierwszej lub trzeciej osoby, np. FPS-y bądź gry przygodowe."
|
||||
}
|
||||
"portuguese"
|
||||
{
|
||||
"title" "Comando com controlos de câmara"
|
||||
"description" "Este modelo é indicado para jogos que já têm compatibilidade nativa com comando e têm uma câmara que pode ser controlada. Por exemplo, jogos em primeira ou terceira pessoa, do género de aventura, de tiros, etc."
|
||||
}
|
||||
"romanian"
|
||||
{
|
||||
"title" "Gamepad cu controale pentru cameră"
|
||||
"description" "Acest șablon este pentru majoritatea jocurilor care au deja suport pentru gamepad implementat și au o cameră controlată din perspectivă first sau third person. FPS sau jocuri de aventură third person, etc."
|
||||
}
|
||||
"russian"
|
||||
{
|
||||
"title" "Геймпад с управлением камерой"
|
||||
"description" "Этот шаблон предназначен для большинства игр от первого или третьего лица, в которых уже есть встроенная поддержка геймпада (например, для шутеров или экшенов)."
|
||||
}
|
||||
"spanish"
|
||||
{
|
||||
"title" "Mando con controles de cámara"
|
||||
"description" "Esta plantilla es para la mayoría de juegos que ya incluyen de serie compatibilidad con mando y disponen de cámara controlada en primera o tercera persona: FPS, juegos de aventura en tercera persona, etc."
|
||||
}
|
||||
"swedish"
|
||||
{
|
||||
"title" "Gamepad med kamerakontroller"
|
||||
"description" "Denna mall är för de flesta spel som redan har inbyggt stöd för spelkontroller och har en kamera som styrs i första- eller tredjeperson. FPS eller äventyrsspel etc."
|
||||
}
|
||||
"schinese"
|
||||
{
|
||||
"title" "支持视角控制的手柄"
|
||||
"description" "该模板适用于已内置手柄支持,并且拥有第一或第三人称控制视角的大多数游戏。包括 FPS 或第三人称冒险游戏等。"
|
||||
}
|
||||
"thai"
|
||||
{
|
||||
"title" "เกมแพดพร้อมการควบคุมมุมกล้อง"
|
||||
"description" "แม่แบบนี้ใช้สำหรับเกมส่วนมากที่มีการรองรับเกมแพดมาในตัวอยู่แล้ว และมีการควบคุมมุมกล้องในมุมมองบุคคลที่หนึ่งหรือสาม เช่น เกมยิงมุมมองบุคคลที่หนึ่ง หรือเกมผจญภัยมุมมองบุคคลที่สาม ฯลฯ"
|
||||
}
|
||||
"brazilian"
|
||||
{
|
||||
"title" "Controle com controle de câmera"
|
||||
"description" "Este modelo é para jogos já compatíveis com controles que possuem uma câmera controlável, seja em primeira ou terceira pessoa, como jogos de tiro, aventura, etc."
|
||||
}
|
||||
"bulgarian"
|
||||
{
|
||||
"title" "Геймпад с управление на камерата"
|
||||
"description" "Този шаблон е за повечето игри, които вече имат вградена поддръжка на геймпад и включват управление на камерата от първо или трето лице. Екшъни от първо лице, приключенски игри от трето лице и т.н."
|
||||
}
|
||||
"greek"
|
||||
{
|
||||
"title" "Χειριστήριο με πλήκτρα κάμερας"
|
||||
"description" "Αυτό το πρότυπο είναι για τα περισσότερα παιχνίδια που έχουν ενσωματωμένη υποστήριξη χειριστηρίου και έχουν μια ελεγχόμενη κάμερα πρώτου ή τρίτου προσώπου. FPS ή παιχνίδια περιπέτειας τρίτου προσώπου κλπ."
|
||||
}
|
||||
"turkish"
|
||||
{
|
||||
"title" "Kamera Kontrollü Oyun Kumandası"
|
||||
"description" "Bu şablon hali hazırda oyun içi oyun kumandası desteği ve birincil veya üçüncü kişi kontrollü kameraya sahip oyunlar içindir. FPS veya Üçüncü Kişi Macera oyunları vb."
|
||||
}
|
||||
"ukrainian"
|
||||
{
|
||||
"title" "Ґеймпад з елементами керування камерою"
|
||||
"description" "Цей шаблон для більшості ігор, що вже мають вбудовану підтримку ґеймпада і у яких камера керується від першої або третьої особи. Шутери від першої особи чи пригодницькі ігри від третьої особи тощо."
|
||||
}
|
||||
}
|
||||
"group"
|
||||
{
|
||||
"id" "0"
|
||||
"mode" "four_buttons"
|
||||
"description" ""
|
||||
"inputs"
|
||||
{
|
||||
"button_a"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button A"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"button_b"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button B"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"button_x"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button X"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"button_y"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button Y"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"group"
|
||||
{
|
||||
"id" "1"
|
||||
"mode" "dpad"
|
||||
"description" ""
|
||||
"inputs"
|
||||
{
|
||||
"dpad_north"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button dpad_up"
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
"haptic_intensity" "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"dpad_south"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button dpad_down"
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
"haptic_intensity" "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"dpad_east"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button dpad_right"
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
"haptic_intensity" "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"dpad_west"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button dpad_left"
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
"haptic_intensity" "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"group"
|
||||
{
|
||||
"id" "2"
|
||||
"mode" "joystick_move"
|
||||
"description" ""
|
||||
"inputs"
|
||||
{
|
||||
"click"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Soft_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button JOYSTICK_RIGHT"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"group"
|
||||
{
|
||||
"id" "3"
|
||||
"mode" "joystick_move"
|
||||
"description" ""
|
||||
"inputs"
|
||||
{
|
||||
"click"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button JOYSTICK_LEFT"
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
"haptic_intensity" "2"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
"deadzone_inner_radius" "7199"
|
||||
}
|
||||
}
|
||||
"group"
|
||||
{
|
||||
"id" "4"
|
||||
"mode" "trigger"
|
||||
"description" ""
|
||||
"inputs"
|
||||
{
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
"output_trigger" "1"
|
||||
}
|
||||
}
|
||||
"group"
|
||||
{
|
||||
"id" "5"
|
||||
"mode" "trigger"
|
||||
"description" ""
|
||||
"inputs"
|
||||
{
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
"output_trigger" "2"
|
||||
}
|
||||
}
|
||||
"group"
|
||||
{
|
||||
"id" "6"
|
||||
"mode" "joystick_move"
|
||||
"description" ""
|
||||
"inputs"
|
||||
{
|
||||
"click"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Soft_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button JOYSTICK_RIGHT"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"group"
|
||||
{
|
||||
"id" "8"
|
||||
"mode" "joystick_move"
|
||||
"description" ""
|
||||
"inputs"
|
||||
{
|
||||
"click"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button JOYSTICK_RIGHT"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"group"
|
||||
{
|
||||
"id" "9"
|
||||
"mode" "dpad"
|
||||
"description" ""
|
||||
"inputs"
|
||||
{
|
||||
"dpad_north"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button DPAD_UP"
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
"haptic_intensity" "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"dpad_south"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button DPAD_DOWN"
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
"haptic_intensity" "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"dpad_east"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button DPAD_RIGHT"
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
"haptic_intensity" "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"dpad_west"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button DPAD_LEFT"
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
"haptic_intensity" "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
"requires_click" "0"
|
||||
"haptic_intensity_override" "0"
|
||||
}
|
||||
}
|
||||
"group"
|
||||
{
|
||||
"id" "10"
|
||||
"mode" "single_button"
|
||||
"description" ""
|
||||
"inputs"
|
||||
{
|
||||
"click"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Soft_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button START"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"group"
|
||||
{
|
||||
"id" "11"
|
||||
"mode" "single_button"
|
||||
"description" ""
|
||||
"inputs"
|
||||
{
|
||||
"click"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Soft_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button SELECT"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"group"
|
||||
{
|
||||
"id" "12"
|
||||
"mode" "mouse_joystick"
|
||||
"description" ""
|
||||
"inputs"
|
||||
{
|
||||
"click"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Soft_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button JOYSTICK_RIGHT"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"group"
|
||||
{
|
||||
"id" "13"
|
||||
"mode" "disabled"
|
||||
"description" ""
|
||||
}
|
||||
"group"
|
||||
{
|
||||
"id" "14"
|
||||
"mode" "touch_menu"
|
||||
"description" ""
|
||||
"inputs"
|
||||
{
|
||||
"touch_menu_button_0"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Long_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "key_press F2, Save State, ghost_075_utility_020.png #232323 #0074ad"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"touch_menu_button_1"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Long_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "controller_action empty_binding"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"touch_menu_button_2"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Long_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "key_press F1, Load State, ghost_075_utility_010.png #232323 #0074ad"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"touch_menu_button_3"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "key_press Space, Pause/Play, ghost_090_media_0210.png #232323 #E4E4E4"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"touch_menu_button_4"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Long_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "key_press Escape, Quick Menu, ghost_070_setting_0030.png #232323 #ad0000"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"touch_menu_button_5"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "key_press F7, Swap Disc, ghost_075_utility_040.png #232323 #E4E4E4"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"touch_menu_button_6"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Long_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "key_press F3, Prev Slot, ghost_045_move_0409.png #232323 #ad0000"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"touch_menu_button_7"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Long_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "key_press F5, FFWD, ghost_060_vehicle_0050.png #232323 #00ad00"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"touch_menu_button_8"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Long_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "key_press F4, Next Slot, ghost_045_move_0408.png #232323 #ad0000"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
"touch_menu_button_count" "9"
|
||||
"touch_menu_scale" "120"
|
||||
"touch_menu_show_labels" "0"
|
||||
}
|
||||
}
|
||||
"group"
|
||||
{
|
||||
"id" "7"
|
||||
"mode" "switches"
|
||||
"description" ""
|
||||
"inputs"
|
||||
{
|
||||
"button_escape"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button start"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"button_menu"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button select"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"left_bumper"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button shoulder_left"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"right_bumper"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "xinput_button shoulder_right"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
"button_capture"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"release"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "controller_action system_key_1"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"preset"
|
||||
{
|
||||
"id" "0"
|
||||
"name" "Default"
|
||||
"group_source_bindings"
|
||||
{
|
||||
"7" "switch active"
|
||||
"0" "button_diamond active"
|
||||
"1" "left_trackpad inactive"
|
||||
"11" "left_trackpad inactive"
|
||||
"14" "left_trackpad active"
|
||||
"2" "right_trackpad inactive"
|
||||
"6" "right_trackpad inactive"
|
||||
"10" "right_trackpad inactive"
|
||||
"12" "right_trackpad active"
|
||||
"3" "joystick active"
|
||||
"4" "left_trigger active"
|
||||
"5" "right_trigger active"
|
||||
"8" "right_joystick active"
|
||||
"9" "dpad active"
|
||||
"13" "gyro inactive"
|
||||
}
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
"left_trackpad_mode" "0"
|
||||
"right_trackpad_mode" "0"
|
||||
}
|
||||
}
|
@ -362,26 +362,6 @@
|
||||
"description" ""
|
||||
"inputs"
|
||||
{
|
||||
"click"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "key_press M"
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
"haptic_intensity" "2"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
@ -395,26 +375,6 @@
|
||||
"description" ""
|
||||
"inputs"
|
||||
{
|
||||
"click"
|
||||
{
|
||||
"activators"
|
||||
{
|
||||
"Full_Press"
|
||||
{
|
||||
"bindings"
|
||||
{
|
||||
"binding" "key_press N"
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
"haptic_intensity" "2"
|
||||
}
|
||||
}
|
||||
}
|
||||
"disabled_activators"
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
"settings"
|
||||
{
|
||||
|
@ -75,7 +75,7 @@
|
||||
"localHeroImages": "",
|
||||
"localLogoImages": "",
|
||||
"localIcons": "",
|
||||
"disabled": true,
|
||||
"disabled": false,
|
||||
"advanced": false,
|
||||
"executable": {
|
||||
"path": "/usr/bin/bash",
|
||||
@ -1505,7 +1505,7 @@
|
||||
"steamDirectory": "/home/deck/.steam/steam",
|
||||
"startInDirectory": "",
|
||||
"titleModifier": "${fuzzyTitle}",
|
||||
"executableArgs": "run org.yuzu_emu.yuzu -f -g \"${filePath}\"",
|
||||
"executableArgs": "-f -g \"'${filePath}'\"",
|
||||
"onlineImageQueries": "${${fuzzyTitle}}",
|
||||
"imagePool": "${fuzzyTitle}",
|
||||
"imageProviders": ["SteamGridDB"],
|
||||
@ -1542,7 +1542,7 @@
|
||||
"removeBrackets": true
|
||||
},
|
||||
"executable": {
|
||||
"path": "/usr/bin/flatpak",
|
||||
"path": "/run/media/mmcblk0p1/Emulation/tools/launchers/yuzu.sh",
|
||||
"shortcutPassthrough": false,
|
||||
"appendArgsToExecutable": true
|
||||
},
|
||||
@ -2563,7 +2563,7 @@
|
||||
"configTitle": "Sony PlayStation 3 - RPCS3(Flatpak) (Installed PKG)",
|
||||
"steamCategory": "${PS3}",
|
||||
"steamDirectory": "/home/deck/.steam/steam",
|
||||
"romDirectory": "/run/media/mmcblk0p1/Emulation/saves/rpcs3/dev_hdd0/game",
|
||||
"romDirectory": "/run/media/mmcblk0p1/Emulation/storage/rpcs3/dev_hdd0/game",
|
||||
"executableArgs": "run net.rpcs3.RPCS3 --no-gui \"${filePath}\"",
|
||||
"executableModifier": "\"${exePath}\"",
|
||||
"startInDirectory": "",
|
||||
|
43
functions/RAAchievment.sh
Normal file
43
functions/RAAchievment.sh
Normal file
@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
RAAchievment(){
|
||||
#if there is no rap file and we have said to enable retroachieve, we have to ask. Also if the user wants to change their sign in, we ask.
|
||||
if [[ ! -f ~/emudeck/.rap && $doRAEnable == true ]] || [[ $doRASignIn == true ]]; then
|
||||
|
||||
text=$(printf "Do you want to use RetroAchievments on Retroarch?\n\n<b>You need to have an account on https://retroachievements.org</b>\n\nActivating RetroAchievments will disable save states unless you disable hardcore mode\n\n\n\nPress STEAM + X to get the onscreen Keyboard\n\n<b>Make sure your RetroAchievments account is validated on the website or RetroArch will crash</b>")
|
||||
RAInput=$(zenity --forms \
|
||||
--title="Retroachievements Sign in" \
|
||||
--text="$text" \
|
||||
--add-entry="Username: " \
|
||||
--add-password="Password: " \
|
||||
--separator="," 2>/dev/null)
|
||||
ans=$?
|
||||
if [ $ans -eq 0 ]; then
|
||||
echo "RetroAchievment Login"
|
||||
echo $RAInput | awk -F "," '{print $1}' > ~/emudeck/.rau
|
||||
echo $RAInput | awk -F "," '{print $2}' > ~/emudeck/.rap
|
||||
rap=$(cat ~/emudeck/.rap)
|
||||
rau=$(cat ~/emudeck/.rau)
|
||||
if [ ${#rap} -lt 1 ]; then
|
||||
echo "No password"
|
||||
doRAEnable=false
|
||||
elif [ ${#rau} -lt 1 ]; then
|
||||
echo "No username"
|
||||
doRAEnable=false
|
||||
else
|
||||
echo "Valid Username and Password"
|
||||
fi
|
||||
else
|
||||
echo "Cancel RetroAchievment Login"
|
||||
fi
|
||||
fi
|
||||
|
||||
#if we have a rap file already, and the user wanted to enable retroachievements, but didn't want to set a new username and pw.
|
||||
if [[ -f ~/emudeck/.rap && $doRAEnable == true ]]; then
|
||||
rap=$(cat ~/emudeck/.rap)
|
||||
rau=$(cat ~/emudeck/.rau)
|
||||
|
||||
sed -i "s|cheevos_password = \"\"|cheevos_password = \"${rap}\"|g" $raConfigFile
|
||||
sed -i "s|cheevos_username = \"\"|cheevos_username = \"${rau}\"|g" $raConfigFile
|
||||
sed -i "s|cheevos_enable = \"false\"|cheevos_enable = \"true\"|g" $raConfigFile
|
||||
fi
|
||||
}
|
8
functions/RABezels.sh
Normal file
8
functions/RABezels.sh
Normal file
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
RABezels(){
|
||||
if [ $RABezels == true ]; then
|
||||
find ~/.var/app/org.libretro.RetroArch/config/retroarch/config/ -type f -name "*.bak" | while read f; do mv -v "$f" "${f%.*}.cfg"; done
|
||||
else
|
||||
find ~/.var/app/org.libretro.RetroArch/config/retroarch/config/ -type f -name "*.cfg" | while read f; do mv -v "$f" "${f%.*}.bak"; done
|
||||
fi
|
||||
}
|
44
functions/RACores.sh
Normal file
44
functions/RACores.sh
Normal file
@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
RACores(){
|
||||
mkdir -p ~/.var/app/org.libretro.RetroArch/config/retroarch/cores
|
||||
raUrl="https://buildbot.libretro.com/nightly/linux/x86_64/latest/"
|
||||
RAcores=(bsnes_hd_beta_libretro.so flycast_libretro.so gambatte_libretro.so genesis_plus_gx_libretro.so genesis_plus_gx_wide_libretro.so mednafen_lynx_libretro.so mednafen_ngp_libretro.so mednafen_wswan_libretro.so melonds_libretro.so mesen_libretro.so mgba_libretro.so mupen64plus_next_libretro.so nestopia_libretro.so picodrive_libretro.so ppsspp_libretro.so snes9x_libretro.so stella_libretro.so yabasanshiro_libretro.so yabause_libretro.so yabause_libretro.so mame2003_plus_libretro.so mame2010_libretro.so mame_libretro.so melonds_libretro.so fbneo_libretro.so bluemsx_libretro.so desmume_libretro.so sameboy_libretro.so gearsystem_libretro.so mednafen_saturn_libretro.so opera_libretro.so dosbox_core_libretro.so dosbox_pure_libretro.so dosbox_svn_libretro.so puae_libretro.so)
|
||||
setMSG "Downloading RetroArch Cores for EmuDeck"
|
||||
for i in "${RAcores[@]}"
|
||||
do
|
||||
FILE=~/.var/app/org.libretro.RetroArch/config/retroarch/cores/${i}
|
||||
if [ -f "$FILE" ]; then
|
||||
echo "${i}...Already Downloaded"
|
||||
else
|
||||
curl $raUrl$i.zip --output ~/.var/app/org.libretro.RetroArch/config/retroarch/cores/${i}.zip
|
||||
#rm ~/.var/app/org.libretro.RetroArch/config/retroarch/cores/${i}.zip
|
||||
echo "${i}...Downloaded!"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $doInstallESDE == true ]; then
|
||||
RAcores=(a5200_libretro.so 81_libretro.so atari800_libretro.so bluemsx_libretro.so chailove_libretro.so fbneo_libretro.so freechaf_libretro.so freeintv_libretro.so fuse_libretro.so gearsystem_libretro.so gw_libretro.so hatari_libretro.so lutro_libretro.so mednafen_pcfx_libretro.so mednafen_vb_libretro.so mednafen_wswan_libretro.so mu_libretro.so neocd_libretro.so nestopia_libretro.so nxengine_libretro.so o2em_libretro.so picodrive_libretro.so pokemini_libretro.so prboom_libretro.so prosystem_libretro.so px68k_libretro.so quasi88_libretro.so scummvm_libretro.so squirreljme_libretro.so theodore_libretro.so uzem_libretro.so vecx_libretro.so vice_xvic_libretro.so virtualjaguar_libretro.so x1_libretro.so mednafen_lynx_libretro.so mednafen_ngp_libretro.so mednafen_pce_libretro.so mednafen_pce_fast_libretro.so mednafen_psx_libretro.so mednafen_psx_hw_libretro.so mednafen_saturn_libretro.so mednafen_supafaust_libretro.so mednafen_supergrafx_libretro.so blastem_libretro.so bluemsx_libretro.so bsnes_libretro.so bsnes_mercury_accuracy_libretro.so cap32_libretro.so citra2018_libretro.so citra_libretro.so crocods_libretro.so desmume2015_libretro.so desmume_libretro.so dolphin_libretro.so dosbox_core_libretro.so dosbox_pure_libretro.so dosbox_svn_libretro.so fbalpha2012_cps1_libretro.so fbalpha2012_cps2_libretro.so fbalpha2012_cps3_libretro.so fbalpha2012_libretro.so fbalpha2012_neogeo_libretro.so fceumm_libretro.so fbneo_libretro.so flycast_libretro.so fmsx_libretro.so frodo_libretro.so gambatte_libretro.so gearboy_libretro.so gearsystem_libretro.so genesis_plus_gx_libretro.so genesis_plus_gx_wide_libretro.so gpsp_libretro.so handy_libretro.so kronos_libretro.so mame2000_libretro.so mame2003_plus_libretro.so mame2010_libretro.so mame_libretro.so melonds_libretro.so mesen_libretro.so mesen-s_libretro.so mgba_libretro.so mupen64plus_next_libretro.so nekop2_libretro.so np2kai_libretro.so nestopia_libretro.so parallel_n64_libretro.so pcsx2_libretro.so pcsx_rearmed_libretro.so picodrive_libretro.so ppsspp_libretro.so puae_libretro.so quicknes_libretro.so race_libretro.so sameboy_libretro.so smsplus_libretro.so snes9x2010_libretro.so snes9x_libretro.so stella2014_libretro.so stella_libretro.so tgbdual_libretro.so vbam_libretro.so vba_next_libretro.so vice_x128_libretro.so vice_x64_libretro.so vice_x64sc_libretro.so vice_xscpu64_libretro.so yabasanshiro_libretro.so yabause_libretro.so bsnes_hd_beta_libretro.so swanstation_libretro.so)
|
||||
setMSG "Downloading RetroArch Cores for EmulationStation DE"
|
||||
for i in "${RAcores[@]}"
|
||||
do
|
||||
FILE=~/.var/app/org.libretro.RetroArch/config/retroarch/cores/${i}
|
||||
if [ -f "$FILE" ]; then
|
||||
echo "${i}...Already Downloaded"
|
||||
else
|
||||
curl $raUrl$i.zip --output ~/.var/app/org.libretro.RetroArch/config/retroarch/cores/${i}.zip
|
||||
#rm ~/.var/app/org.libretro.RetroArch/config/retroarch/cores/${i}.zip
|
||||
echo "${i}...Downloaded!"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
for entry in ~/.var/app/org.libretro.RetroArch/config/retroarch/cores/*.zip
|
||||
do
|
||||
unzip -o "$entry" -d ~/.var/app/org.libretro.RetroArch/config/retroarch/cores/
|
||||
done
|
||||
|
||||
for entry in ~/.var/app/org.libretro.RetroArch/config/retroarch/cores/*.zip
|
||||
do
|
||||
rm -f "$entry"
|
||||
done
|
||||
}
|
8
functions/RASNES.sh
Normal file
8
functions/RASNES.sh
Normal file
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
RASNES(){
|
||||
if [ $SNESAR == 43 ]; then
|
||||
cp ~/.var/app/org.libretro.RetroArch/config/retroarch/config/Snes9x/snes43.cfg ~/.var/app/org.libretro.RetroArch/config/retroarch/config/Snes9x/snes.cfg
|
||||
else
|
||||
cp ~/.var/app/org.libretro.RetroArch/config/retroarch/config/Snes9x/snes87.cfg ~/.var/app/org.libretro.RetroArch/config/retroarch/config/Snes9x/snes.cfg
|
||||
fi
|
||||
}
|
10
functions/RAautoSave.sh
Normal file
10
functions/RAautoSave.sh
Normal file
@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
RAautoSave(){
|
||||
if [ $RAautoSave == true ]; then
|
||||
sed -i 's|savestate_auto_load = "false"|savestate_auto_load = "true"|g' $raConfigFile
|
||||
sed -i 's|savestate_auto_save = "false"|savestate_auto_save = "true"|g' $raConfigFile
|
||||
else
|
||||
sed -i 's|savestate_auto_load = "true"|savestate_auto_load = "false"|g' $raConfigFile
|
||||
sed -i 's|savestate_auto_save = "true"|savestate_auto_save = "false"|g' $raConfigFile
|
||||
fi
|
||||
}
|
2
functions/RunFunc.sh
Normal file
2
functions/RunFunc.sh
Normal file
@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
source all.sh && "@a"
|
29
functions/all.sh
Normal file
29
functions/all.sh
Normal file
@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
source "$EMUDECKGIT"/functions/checkPSBIOS.sh
|
||||
source "$EMUDECKGIT"/functions/configEmuAI.sh
|
||||
source "$EMUDECKGIT"/functions/configEmuFP.sh
|
||||
source "$EMUDECKGIT"/functions/configESDE.sh
|
||||
source "$EMUDECKGIT"/functions/configSRM.sh
|
||||
source "$EMUDECKGIT"/functions/createDesktopIcons.sh
|
||||
source "$EMUDECKGIT"/functions/createSaveFolders.sh
|
||||
source "$EMUDECKGIT"/functions/installCHD.sh
|
||||
source "$EMUDECKGIT"/functions/installEmuFP.sh
|
||||
source "$EMUDECKGIT"/functions/installESDE.sh
|
||||
source "$EMUDECKGIT"/functions/installPowerTools.sh
|
||||
source "$EMUDECKGIT"/functions/installSRM.sh
|
||||
source "$EMUDECKGIT"/functions/RAAchievment.sh
|
||||
source "$EMUDECKGIT"/functions/RAautoSave.sh
|
||||
source "$EMUDECKGIT"/functions/RABezels.sh
|
||||
source "$EMUDECKGIT"/functions/RACores.sh
|
||||
source "$EMUDECKGIT"/functions/RASNES.sh
|
||||
source "$EMUDECKGIT"/functions/setESDEEmus.sh
|
||||
source "$EMUDECKGIT"/functions/setMSG.sh
|
||||
source "$EMUDECKGIT"/functions/setUpHolo.sh
|
||||
source "$EMUDECKGIT"/functions/setWide.sh
|
||||
source "$EMUDECKGIT"/functions/testLocationValid.sh
|
||||
source "$EMUDECKGIT"/functions/setSetting.sh
|
||||
source "$EMUDECKGIT"/functions/linkToSaveFolder.sh
|
||||
source "$EMUDECKGIT"/functions/installEmuAI.sh
|
||||
source "$EMUDECKGIT"/functions/getLatestReleaseURLGH.sh
|
||||
source "$EMUDECKGIT"/functions/migrateAndLinkConfig.sh
|
||||
source "$EMUDECKGIT"/functions/doMigrations.sh
|
57
functions/checkPSBIOS.sh
Normal file
57
functions/checkPSBIOS.sh
Normal file
@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
checkPSBIOS(){
|
||||
|
||||
PSXBIOS="NULL"
|
||||
PS2BIOS="NULL"
|
||||
for entry in $biosPath/*
|
||||
do
|
||||
if [ -f "$entry" ]; then
|
||||
md5=($(md5sum "$entry"))
|
||||
if [[ "$PSXBIOS" != true ]]; then
|
||||
PSBios=(239665b1a3dade1b5a52c06338011044 2118230527a9f51bd9216e32fa912842 849515939161e62f6b866f6853006780 dc2b9bf8da62ec93e868cfd29f0d067d 54847e693405ffeb0359c6287434cbef cba733ceeff5aef5c32254f1d617fa62 da27e8b6dab242d8f91a9b25d80c63b8 417b34706319da7cf001e76e40136c23 57a06303dfa9cf9351222dfcbb4a29d9 81328b966e6dcf7ea1e32e55e1c104bb 924e392ed05558ffdb115408c263dccf e2110b8a2b97a8e0b857a45d32f7e187 ca5cfc321f916756e3f0effbfaeba13b 8dd7d5296a650fac7319bce665a6a53c 490f666e1afb15b7362b406ed1cea246 32736f17079d0b2b7024407c39bd3050 8e4c14f567745eff2f0408c8129f72a6 b84be139db3ee6cbd075630aa20a6553 1e68c231d0896b7eadcad1d7d8e76129 b9d9a0286c33dc6b7237bb13cd46fdee 8abc1b549a4a80954addc48ef02c4521 9a09ab7e49b422c007e6d54d7c49b965 b10f5e0e3d9eb60e5159690680b1e774 6e3735ff4c7dc899ee98981385f6f3d0 de93caec13d1a141a40a79f5c86168d6 c53ca5908936d412331790f4426c6c33 476d68a94ccec3b9c8303bbd1daf2810 d8f485717a5237285e4d7c5f881b7f32 fbb5f59ec332451debccf1e377017237 81bbe60ba7a3d1cea1d48c14cbcc647b)
|
||||
for i in "${PSBios[@]}"
|
||||
do
|
||||
if [[ "$md5" == *"${i}"* ]]; then
|
||||
PSXBIOS=true
|
||||
break
|
||||
else
|
||||
PSXBIOS=false
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ "$PS2BIOS" != true ]]; then
|
||||
PS2Bios=(32f2e4d5ff5ee11072a6bc45530f5765 acf4730ceb38ac9d8c7d8e21f2614600 acf9968c8f596d2b15f42272082513d1 b1459d7446c69e3e97e6ace3ae23dd1c d3f1853a16c2ec18f3cd1ae655213308 63e6fd9b3c72e0d7b920e80cf76645cd a20c97c02210f16678ca3010127caf36 8db2fbbac7413bf3e7154c1e0715e565 91c87cb2f2eb6ce529a2360f80ce2457 3016b3dd42148a67e2c048595ca4d7ce b7fa11e87d51752a98b38e3e691cbf17 f63bc530bd7ad7c026fcd6f7bd0d9525 cee06bd68c333fc5768244eae77e4495 0bf988e9c7aaa4c051805b0fa6eb3387 8accc3c49ac45f5ae2c5db0adc854633 6f9a6feb749f0533aaae2cc45090b0ed 838544f12de9b0abc90811279ee223c8 bb6bbc850458fff08af30e969ffd0175 815ac991d8bc3b364696bead3457de7d b107b5710042abe887c0f6175f6e94bb ab55cceea548303c22c72570cfd4dd71 18bcaadb9ff74ed3add26cdf709fff2e 491209dd815ceee9de02dbbc408c06d6 7200a03d51cacc4c14fcdfdbc4898431 8359638e857c8bc18c3c18ac17d9cc3c 352d2ff9b3f68be7e6fa7e6dd8389346 d5ce2c7d119f563ce04bc04dbc3a323e 0d2228e6fd4fb639c9c39d077a9ec10c 72da56fccb8fcd77bba16d1b6f479914 5b1f47fbeb277c6be2fccdd6344ff2fd 315a4003535dfda689752cb25f24785c 312ad4816c232a9606e56f946bc0678a 666018ffec65c5c7e04796081295c6c7 6e69920fa6eef8522a1d688a11e41bc6 eb960de68f0c0f7f9fa083e9f79d0360 8aa12ce243210128c5074552d3b86251 240d4c5ddd4b54069bdc4a3cd2faf99d 1c6cd089e6c83da618fbf2a081eb4888 463d87789c555a4a7604e97d7db545d1 35461cecaa51712b300b2d6798825048 bd6415094e1ce9e05daabe85de807666 2e70ad008d4ec8549aada8002fdf42fb b53d51edc7fc086685e31b811dc32aad 1b6e631b536247756287b916f9396872 00da1b177096cfd2532c8fa22b43e667 afde410bd026c16be605a1ae4bd651fd 81f4336c1de607dd0865011c0447052e 0eee5d1c779aa50e94edd168b4ebf42e d333558cc14561c1fdc334c75d5f37b7 dc752f160044f2ed5fc1f4964db2a095 63ead1d74893bf7f36880af81f68a82d 3e3e030c0f600442fa05b94f87a1e238 1ad977bb539fc9448a08ab276a836bbc eb4f40fcf4911ede39c1bbfe91e7a89a 9959ad7a8685cad66206e7752ca23f8b 929a14baca1776b00869f983aa6e14d2 573f7d4a430c32b3cc0fd0c41e104bbd df63a604e8bff5b0599bd1a6c2721bd0 5b1ba4bb914406fae75ab8e38901684d cb801b7920a7d536ba07b6534d2433ca af60e6d1a939019d55e5b330d24b1c25 549a66d0c698635ca9fa3ab012da7129 5de9d0d730ff1e7ad122806335332524 21fe4cad111f7dc0f9af29477057f88d 40c11c063b3b9409aa5e4058e984e30c 80bbb237a6af9c611df43b16b930b683 c37bce95d32b2be480f87dd32704e664 80ac46fa7e77b8ab4366e86948e54f83 21038400dc633070a78ad53090c53017 dc69f0643a3030aaa4797501b483d6c4 30d56e79d89fbddf10938fa67fe3f34e 93ea3bcee4252627919175ff1b16a1d9 d3e81e95db25f5a86a7b7474550a2155)
|
||||
for i in "${PS2Bios[@]}"
|
||||
do
|
||||
if [[ "$md5" == *"${i}"* ]]; then
|
||||
PS2BIOS=true
|
||||
break
|
||||
else
|
||||
PS2BIOS=false
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
if [ $PSXBIOS == false ]; then
|
||||
#text="`printf "<b>PS1 bios not detected</b>\nYou need to copy your BIOS to: ${biosPath}"`"
|
||||
text="`printf "<b>PS1 bios not detected</b>\nYou need to copy your BIOS to: \n${biosPath}\n\n<b>Make sure they are not in a subdirectory</b>"`"
|
||||
zenity --error \
|
||||
--title="EmuDeck" \
|
||||
--width=400 \
|
||||
--text="${text}" 2>/dev/null
|
||||
fi
|
||||
|
||||
if [ $PS2BIOS == false ]; then
|
||||
#text="`printf "<b>PS1 bios not detected</b>\nYou need to copy your BIOS to: ${biosPath}"`"
|
||||
text="`printf "<b>PS2 bios not detected</b>\nYou need to copy your BIOS to: \n${biosPath}\n\n<b>Make sure they are not in a subdirectory</b>"`"
|
||||
zenity --error \
|
||||
--title="EmuDeck" \
|
||||
--width=400 \
|
||||
--text="${text}" 2>/dev/null
|
||||
fi
|
||||
|
||||
}
|
146
functions/configESDE.sh
Normal file
146
functions/configESDE.sh
Normal file
@ -0,0 +1,146 @@
|
||||
#!/bin/bash
|
||||
configESDE(){
|
||||
reset=$1
|
||||
|
||||
if [[ $reset == 'reset' ]]; then
|
||||
setMSG "Resetting EmulationStation DE..."
|
||||
else
|
||||
setMSG "Configuring EmulationStation DE..."
|
||||
fi
|
||||
mkdir -p ~/.emulationstation/
|
||||
mkdir -p ~/.emulationstation/custom_systems/
|
||||
es_systemsFile="$HOME/.emulationstation/custom_systems/es_systems.xml"
|
||||
es_settingsFile="$HOME/.emulationstation/es_settings.xml"
|
||||
|
||||
#Custom Systems config Begin
|
||||
if [[ ! -f "$es_systemsFile" || $reset == "true" ]]; then
|
||||
cp ~/dragoonDoriseTools/EmuDeck/configs/emulationstation/custom_systems/es_systems.xml $es_systemsFile
|
||||
fi
|
||||
|
||||
#update cemu custom system launcher to correct path by just replacing the line, if it exists.
|
||||
commandString="/usr/bin/bash ${toolsPath}launchers/cemu.sh -f -g z:%ROM%"
|
||||
xmlstarlet ed -L -u '/systemList/system/command[@label="Cemu (Proton)"]' -v "$commandString" $es_systemsFile
|
||||
|
||||
#insert cemu custom system if it doesn't exist, but the file does
|
||||
if [[ $(grep -rnw $es_systemsFile -e 'Cemu (Proton)') == "" ]]; then
|
||||
xmlstarlet ed --inplace --subnode '/systemList' --type elem --name 'system' \
|
||||
--var newSystem '$prev' \
|
||||
--subnode '$newSystem' --type elem --name 'name' -v 'wiiu' \
|
||||
--subnode '$newSystem' --type elem --name 'fullname' -v 'Nintendo Wii U' \
|
||||
--subnode '$newSystem' --type elem --name 'path' -v '%ROMPATH%/wiiu/roms' \
|
||||
--subnode '$newSystem' --type elem --name 'extension' -v '.rpx .RPX .wud .WUD .wux .WUX .elf .ELF .iso .ISO .wad .WAD .wua .WUA' \
|
||||
--subnode '$newSystem' --type elem --name 'command' -v "/usr/bin/bash ${toolsPath}launchers/cemu.sh -f -g z:%ROM%" \
|
||||
--insert '$newSystem/command' --type attr --name 'label' --value "Cemu (Proton)" \
|
||||
--subnode '$newSystem' --type elem --name 'platform' -v 'wiiu' \
|
||||
--subnode '$newSystem' --type elem --name 'theme' -v 'wiiu' \
|
||||
$es_systemsFile
|
||||
fi
|
||||
#Custom Systems config end
|
||||
|
||||
#update es_settings.xml
|
||||
if [[ ! -f "$es_settingsFile" || $reset == 'reset' ]]; then
|
||||
cp ~/dragoonDoriseTools/EmuDeck/configs/emulationstation/es_settings.xml $es_settingsFile
|
||||
fi
|
||||
|
||||
#configure roms Directory
|
||||
esDE_romDir="<string name=\"ROMDirectory\" value=\""${romsPath}"\" />"
|
||||
romDirEmpty=$(grep -rnw $es_settingsFile -e '<string name="ROMDirectory" value="" />')
|
||||
sed -i "s|/run/media/mmcblk0p1/Emulation/roms/|${romsPath}|g" $es_settingsFile
|
||||
if [[ ! $romDirEmpty == '' ]]; then
|
||||
sed -i "/<string name=\"ROMDirectory\" value=\"\" \/>/c\\${esDE_romDir}" $es_settingsFile
|
||||
fi
|
||||
|
||||
#Configure Downloaded_media folder
|
||||
esDE_MediaDir="<string name=\"MediaDirectory\" value=\""${ESDEscrapData}"\" />"
|
||||
#search for media dir in xml, if not found, change to ours. If it's blank, also change to ours.
|
||||
mediaDirFound=$(grep -rnw $es_settingsFile -e 'MediaDirectory')
|
||||
mediaDirEmpty=$(grep -rnw $es_settingsFile -e '<string name="MediaDirectory" value="" />')
|
||||
if [[ $mediaDirFound == '' ]]; then
|
||||
sed -i -e '$a'"${esDE_MediaDir}" $es_settingsFile # use config file instead of link
|
||||
elif [[ ! $mediaDirEmpty == '' ]]; then
|
||||
sed -i "/<string name=\"MediaDirectory\" value=\"\" \/>/c\\${esDE_MediaDir}" $es_settingsFile
|
||||
fi
|
||||
|
||||
#We check if we have downloaded_media data on ESDE so we can move it to the SD card
|
||||
|
||||
originalESMediaFolder="$HOME/.emulationstation/downloaded_media"
|
||||
echo "processing $originalESMediaFolder"
|
||||
if [ -L ${originalESMediaFolder} ] ; then
|
||||
echo "link found"
|
||||
unlink ${originalESMediaFolder} && echo "unlinked"
|
||||
elif [ -e ${originalESMediaFolder} ] ; then
|
||||
if [ -d "${originalESMediaFolder}" ]; then
|
||||
echo -e ""
|
||||
echo -e "Moving EmulationStation-DE downloaded_media to $toolsPath"
|
||||
echo -e ""
|
||||
rsync -a $originalESMediaFolder $toolsPath && rm -rf $originalESMediaFolder #move it, merging files if in both locations
|
||||
fi
|
||||
else
|
||||
echo "downloaded_media not found on original location"
|
||||
fi
|
||||
|
||||
|
||||
if [[ $doESDEThemePicker == true ]]; then
|
||||
if [[ $expert == true ]]; then
|
||||
text="Which theme do you want to set as default on EmulationStation DE?"
|
||||
esdeTheme=$(zenity --list \
|
||||
--title="EmuDeck" \
|
||||
--height=250 \
|
||||
--width=250 \
|
||||
--ok-label="OK" \
|
||||
--cancel-label="Exit" \
|
||||
--text="${text}" \
|
||||
--radiolist \
|
||||
--column="" \
|
||||
--column="Theme" \
|
||||
1 "EPICNOIR" \
|
||||
2 "MODERN-DE" \
|
||||
3 "RBSIMPLE-DE" 2>/dev/null)
|
||||
ans=$?
|
||||
if [ $ans -eq 0 ]; then
|
||||
echo "Theme selected"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
mkdir -p ~/.emulationstation/themes/
|
||||
git clone https://github.com/dragoonDorise/es-theme-epicnoir.git ~/.emulationstation/themes/es-epicnoir &>> /dev/null
|
||||
cd ~/.emulationstation/themes/es-epicnoir && git pull
|
||||
echo -e "OK!"
|
||||
|
||||
#Do this properly with wildcards
|
||||
if [[ "$esdeTheme" == *"EPICNOIR"* ]]; then
|
||||
sed -i "s|rbsimple-DE|es-epicnoir|" $es_settingsFile
|
||||
sed -i "s|modern-DE|es-epicnoir|" $es_settingsFile
|
||||
sed -i "s|es-epicnoir|es-epicnoir|" $es_settingsFile
|
||||
fi
|
||||
if [[ "$esdeTheme" == *"MODERN-DE"* ]]; then
|
||||
sed -i "s|rbsimple-DE|modern-DE|" $es_settingsFile
|
||||
sed -i "s|modern-DE|modern-DE|" $es_settingsFile
|
||||
sed -i "s|es-epicnoir|modern-DE|" $es_settingsFile
|
||||
fi
|
||||
if [[ "$esdeTheme" == *"RBSIMPLE-DE"* ]]; then
|
||||
sed -i "s|rbsimple-DE|rbsimple-DE|" $es_settingsFile
|
||||
sed -i "s|modern-DE|rbsimple-DE|" $es_settingsFile
|
||||
sed -i "s|es-epicnoir|rbsimple-DE|" $es_settingsFile
|
||||
fi
|
||||
|
||||
|
||||
#ESDE default emulators
|
||||
mkdir -p ~/.emulationstation/gamelists/
|
||||
setESDEEmus 'Dolphin (Standalone)' gc
|
||||
setESDEEmus 'PPSSPP (Standalone)' psp
|
||||
setESDEEmus 'Dolphin (Standalone)' wii
|
||||
setESDEEmus 'PCSX2 (Standalone)' ps2
|
||||
setESDEEmus 'melonDS' nds
|
||||
setESDEEmus 'Citra (Standalone)' n3ds
|
||||
|
||||
#Symlinks for ESDE compatibility
|
||||
cd $(echo $romsPath | tr -d '\r')
|
||||
ln -sn gamecube gc
|
||||
ln -sn 3ds n3ds
|
||||
ln -sn arcade mamecurrent
|
||||
ln -sn mame mame2003
|
||||
ln -sn lynx atarilynx
|
||||
|
||||
}
|
23
functions/configEmuAI.sh
Normal file
23
functions/configEmuAI.sh
Normal file
@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
configEmuAI(){
|
||||
|
||||
emu=$1
|
||||
folderName=$2
|
||||
folderPath=$3
|
||||
gitLocation=$4
|
||||
overwrite=$5
|
||||
|
||||
if [[ ! $overwrite == 'true' ]]; then
|
||||
overwrite="--ignore-existing"
|
||||
else
|
||||
overwrite=""
|
||||
fi
|
||||
|
||||
setMSG "Backing up ${emu} ${folderName}..."
|
||||
rm -rf ${folderPath}_bak
|
||||
cp -r ${folderPath} ${folderPath}_bak
|
||||
|
||||
|
||||
rsync -avhp $gitLocation/ $folderPath $overwrite
|
||||
|
||||
}
|
21
functions/configEmuFP.sh
Normal file
21
functions/configEmuFP.sh
Normal file
@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
configEmuFP(){
|
||||
|
||||
name=$1
|
||||
ID=$2
|
||||
|
||||
FOLDER=~/.var/app/"${ID}"/config_bak
|
||||
if [ ! -d "$FOLDER" ]; then
|
||||
setMSG "Backing up ${name} Config..."
|
||||
cp -r ~/.var/app/"${ID}"/config ~/.var/app/"${ID}"/config_bak
|
||||
fi
|
||||
|
||||
FOLDER=~/.var/app/"${ID}"/data_bak
|
||||
if [ ! -d "$FOLDER" ]; then
|
||||
setMSG "Backing up ${name} Data..."
|
||||
cp -r ~/.var/app/"${ID}"/data ~/.var/app/"${ID}"/data_bak
|
||||
fi
|
||||
|
||||
rsync -avhp ~/dragoonDoriseTools/EmuDeck/configs/"${ID}"/ ~/.var/app/"${ID}"/
|
||||
|
||||
}
|
11
functions/configSRM.sh
Normal file
11
functions/configSRM.sh
Normal file
@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
configSRM(){
|
||||
setMSG "Configuring Steam Rom Manager..."
|
||||
mkdir -p ~/.config/steam-rom-manager/userData/
|
||||
cp ~/dragoonDoriseTools/EmuDeck/configs/steam-rom-manager/userData/userConfigurations.json ~/.config/steam-rom-manager/userData/userConfigurations.json
|
||||
sleep 3
|
||||
sed -i "s|/run/media/mmcblk0p1/Emulation/roms/|${romsPath}|g" ~/.config/steam-rom-manager/userData/userConfigurations.json
|
||||
sed -i "s|/run/media/mmcblk0p1/Emulation/tools/|${toolsPath}|g" ~/.config/steam-rom-manager/userData/userConfigurations.json
|
||||
sed -i "s|/run/media/mmcblk0p1/Emulation/storage/|${storagePath}|g" ~/.config/steam-rom-manager/userData/userConfigurations.json
|
||||
echo -e "OK!"
|
||||
}
|
27
functions/createDesktopIcons.sh
Normal file
27
functions/createDesktopIcons.sh
Normal file
@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
createDesktopIcons(){
|
||||
|
||||
#We create new icons
|
||||
rm -rf ~/Desktop/EmuDeckUninstall.desktop 2>/dev/null
|
||||
echo '#!/usr/bin/env xdg-open
|
||||
[Desktop Entry]
|
||||
Name=Uninstall EmuDeck
|
||||
Exec=curl https://raw.githubusercontent.com/dragoonDorise/EmuDeck/main/uninstall.sh | bash -s -- SD
|
||||
Icon=delete
|
||||
Terminal=true
|
||||
Type=Application
|
||||
StartupNotify=false' > ~/Desktop/EmuDeckUninstall.desktop
|
||||
chmod +x ~/Desktop/EmuDeckUninstall.desktop
|
||||
|
||||
rm -rf ~/Desktop/EmuDeck.desktop 2>/dev/null
|
||||
rm -rf ~/Desktop/EmuDeckSD.desktop 2>/dev/null
|
||||
echo "#!/usr/bin/env xdg-open
|
||||
[Desktop Entry]
|
||||
Name=EmuDeck (${version})
|
||||
Exec=curl https://raw.githubusercontent.com/dragoonDorise/EmuDeck/main/install.sh | bash -s -- SD
|
||||
Icon=steamdeck-gaming-return
|
||||
Terminal=true
|
||||
Type=Application
|
||||
StartupNotify=false" > ~/Desktop/EmuDeck.desktop
|
||||
chmod +x ~/Desktop/EmuDeck.desktop
|
||||
}
|
46
functions/createSaveFolders.sh
Normal file
46
functions/createSaveFolders.sh
Normal file
@ -0,0 +1,46 @@
|
||||
#!/bin/bash
|
||||
createSaveFolders(){
|
||||
|
||||
#linkToSaveFolder emuname foldername pathtolink
|
||||
|
||||
#RA
|
||||
linkToSaveFolder retroarch states ~/.var/app/org.libretro.RetroArch/config/retroarch/states
|
||||
linkToSaveFolder retroarch saves ~/.var/app/org.libretro.RetroArch/config/retroarch/saves
|
||||
|
||||
#Dolphin
|
||||
linkToSaveFolder dolphin GC ~/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/GC
|
||||
linkToSaveFolder dolphin Wii ~/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/Wii
|
||||
linkToSaveFolder dolphin states ~/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/states
|
||||
|
||||
#PrimeHack
|
||||
linkToSaveFolder primehack GC ~/.var/app/io.github.shiiion.primehack/data/dolphin-emu/GC
|
||||
linkToSaveFolder primehack Wii ~/.var/app/io.github.shiiion.primehack/data/dolphin-emu/Wii
|
||||
linkToSaveFolder primehack states ~/.var/app/io.github.shiiion.primehack/data/dolphin-emu/states
|
||||
|
||||
#Yuzu
|
||||
unlink $savesPath/yuzu/saves # Fix for previous bad symlink
|
||||
linkToSaveFolder yuzu saves $storagePath/yuzu/nand/user/save/
|
||||
|
||||
#Duckstation
|
||||
linkToSaveFolder duckstation saves ~/.var/app/org.duckstation.DuckStation/data/duckstation/memcards
|
||||
linkToSaveFolder duckstation states ~/.var/app/org.duckstation.DuckStation/data/duckstation/savestates
|
||||
|
||||
#PCSX2
|
||||
linkToSaveFolder pcsx2 saves ~/.var/app/net.pcsx2.PCSX2/config/PCSX2/memcards
|
||||
linkToSaveFolder pcsx2 states ~/.var/app/net.pcsx2.PCSX2/config/PCSX2/sstates
|
||||
|
||||
#Citra
|
||||
linkToSaveFolder citra saves ~/.var/app/org.citra_emu.citra/data/citra-emu/sdmc
|
||||
linkToSaveFolder citra states ~/.var/app/org.citra_emu.citra/data/citra-emu/states
|
||||
|
||||
#PPSSPP
|
||||
linkToSaveFolder ppsspp saves ~/.var/app/org.ppsspp.PPSSPP/config/ppsspp/PSP/SAVEDATA
|
||||
linkToSaveFolder ppsspp states ~/.var/app/org.ppsspp.PPSSPP/config/ppsspp/PSP/PPSSPP_STATE
|
||||
|
||||
#xemu
|
||||
|
||||
|
||||
#rpcs3
|
||||
#add links for the actual saves here.
|
||||
|
||||
}
|
79
functions/doMigrations.sh
Normal file
79
functions/doMigrations.sh
Normal file
@ -0,0 +1,79 @@
|
||||
#!/bin/bash
|
||||
doMigrations(){
|
||||
|
||||
##nonstandard##
|
||||
#Xemu files to storage if we have a xemu app folder
|
||||
if [ ! -f "$storagePath/xemu/xbox_hdd.qcow2" ] && [ -d "$HOME/.var/app/app.xemu.xemu" ]; then
|
||||
|
||||
echo "xbox hdd does not exist in storagepath."
|
||||
mkdir -p "$storagePath/xemu"
|
||||
flatpak override app.xemu.xemu --filesystem="$storagePath"xemu:rw --user
|
||||
|
||||
xemuConf="$HOME/.var/app/app.xemu.xemu/data/xemu/xemu/xemu.toml"
|
||||
xemuHDDLine="hdd_path = '${storagePath}xemu/xbox_hdd.qcow2'"
|
||||
xemuEEPLine="eeprom_path = '${storagePath}xemu/eeprom.bin'"
|
||||
sed -i "/hdd_path/c\\${xemuHDDLine}" $xemuConf
|
||||
sed -i "/eeprom_path/c\\${xemuEEPLine}" $xemuConf
|
||||
|
||||
echo -e ""
|
||||
setMSG "Moving Xemu HDD and EEPROM to the Emulation/storage folder"
|
||||
echo -e ""
|
||||
|
||||
if [ -f "${savesPath}xemu/xbox_hdd.qcow2" ]; then
|
||||
mv -fv ${savesPath}xemu/* ${storagePath}xemu/ && rm -rf ${savesPath}xemu/
|
||||
|
||||
elif [ -f "$HOME/.var/app/app.xemu.xemu/data/xemu/xemu/xbox_hdd.qcow2" ]; then
|
||||
mv "$HOME/.var/app/app.xemu.xemu/data/xemu/xemu/xbox_hdd.qcow2" $storagePath/xemu/
|
||||
mv "$HOME/.var/app/app.xemu.xemu/data/xemu/xemu/eeprom.bin" $storagePath/xemu/
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
#RPCS3 files to storage
|
||||
if [ ! -d "$storagePath"rpcs3/dev_hdd0 ] && [ -d "$HOME/.var/app/net.rpcs3.RPCS3/" ];then
|
||||
echo "rpcs3 hdd does not exist in storagepath."
|
||||
#update config file for the new loc $(emulatorDir) is in the file. made this annoying.
|
||||
rpcs3VFSConf="$HOME/.var/app/net.rpcs3.RPCS3/config/rpcs3/vfs.yml"
|
||||
rpcs3DevHDD0Line="/dev_hdd0/: ${storagePath}rpcs3/dev_hdd0/"
|
||||
sed -i "/dev_hdd0/c\\${rpcs3DevHDD0Line}" $rpcs3VFSConf
|
||||
|
||||
echo -e ""
|
||||
setMSG "Moving rpcs3 HDD to the Emulation/storage folder"
|
||||
echo -e ""
|
||||
|
||||
mkdir -p "$storagePath/rpcs3"
|
||||
|
||||
if [ -d "$savesPath/rpcs3/dev_hdd0" ]; then
|
||||
mv -f "$savesPath"rpcs3/dev_hdd0 "$storagePath"rpcs3/
|
||||
|
||||
elif [ -d "$HOME/.var/app/net.rpcs3.RPCS3/config/rpcs3/dev_hdd0" ]; then
|
||||
rsync -av "$HOME/.var/app/net.rpcs3.RPCS3/config/rpcs3/dev_hdd0" "$storagePath"rpcs3/ && rm -rf "$HOME/.var/app/net.rpcs3.RPCS3/config/rpcs3/dev_hdd0"
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
#yuzu flatpak to appimage
|
||||
emu="Yuzu"
|
||||
#From -- > to
|
||||
migrationTable=()
|
||||
migrationTable+=("$HOME/.var/app/org.yuzu_emu.yuzu/data/yuzu" "$HOME/.local/share/yuzu")
|
||||
migrationTable+=("$HOME/.var/app/org.yuzu_emu.yuzu/config/yuzu" "$HOME/.config/yuzu")
|
||||
|
||||
migrateAndLinkConfig $emu $migrationTable
|
||||
|
||||
mkdir -p ${storagePath}yuzu/dump
|
||||
mkdir -p ${storagePath}yuzu/load
|
||||
mkdir -p ${storagePath}yuzu/sdmc
|
||||
mkdir -p ${storagePath}yuzu/nand
|
||||
mkdir -p ${storagePath}yuzu/screenshots
|
||||
mkdir -p ${storagePath}yuzu/tas
|
||||
|
||||
#move data from hidden folders out to these folders in case the user already put stuff here.
|
||||
origPath="$HOME/.local/share/"
|
||||
rsync -av ${origPath}yuzu/dump ${storagePath}yuzu/ && rm -rf ${origPath}yuzu/dump
|
||||
rsync -av ${origPath}yuzu/load ${storagePath}yuzu/ && rm -rf ${origPath}yuzu/load
|
||||
rsync -av ${origPath}yuzu/sdmc ${storagePath}yuzu/ && rm -rf ${origPath}yuzu/sdmc
|
||||
rsync -av ${origPath}yuzu/nand ${storagePath}yuzu/ && rm -rf ${origPath}yuzu/nand
|
||||
rsync -av ${origPath}yuzu/screenshots ${storagePath}yuzu/ && rm -rf ${origPath}yuzu/screenshots
|
||||
rsync -av ${origPath}yuzu/tas ${storagePath}yuzu/ && rm -rf ${origPath}yuzu/tas
|
||||
}
|
10
functions/getLatestReleaseURLGH.sh
Normal file
10
functions/getLatestReleaseURLGH.sh
Normal file
@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
getLatestReleaseURLGH(){
|
||||
|
||||
repository=$1
|
||||
fileType=$2
|
||||
|
||||
url="$(curl -sL https://api.github.com/repos/${repository}/releases/latest | jq -r ".assets[].browser_download_url" | grep .${fileType}\$)"
|
||||
|
||||
echo "$url"
|
||||
}
|
21
functions/installCHD.sh
Normal file
21
functions/installCHD.sh
Normal file
@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
installCHD(){
|
||||
mkdir -p "$toolsPath"chdconv/
|
||||
rsync -avhp ~/dragoonDoriseTools/EmuDeck/tools/chdconv/ "$toolsPath"chdconv/
|
||||
|
||||
rm -rf ~/Desktop/EmuDeckCHD.desktop 2>/dev/null
|
||||
echo "#!/usr/bin/env xdg-open
|
||||
[Desktop Entry]
|
||||
Name=EmuDeck CHD Script
|
||||
Exec=bash "$toolsPath"chdconv/chddeck.sh
|
||||
Icon=steamdeck-gaming-return
|
||||
Terminal=true
|
||||
Type=Application
|
||||
StartupNotify=false" > ~/Desktop/EmuDeckCHD.desktop
|
||||
chmod +x ~/Desktop/EmuDeckCHD.desktop
|
||||
chmod +x "$toolsPath"chdconv/chddeck.sh
|
||||
chmod +x "$toolsPath"chdconv/chdman5
|
||||
#update the paths in the script
|
||||
sed -i "s|/run/media/mmcblk0p1/Emulation/roms/|${romsPath}|g" "$toolsPath"chdconv/chddeck.sh
|
||||
sed -i "s|/run/media/mmcblk0p1/Emulation/tools/|${toolsPath}|g" "$toolsPath"chdconv/chddeck.sh
|
||||
}
|
17
functions/installESDE.sh
Normal file
17
functions/installESDE.sh
Normal file
@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
installESDE(){
|
||||
|
||||
setMSG "${installString} EmulationStation Desktop Edition"
|
||||
curl https://gitlab.com/leonstyhre/emulationstation-de/-/raw/master/es-app/assets/latest_steam_deck_appimage.txt --output "$toolsPath"/latesturl.txt
|
||||
latestURL=$(grep "https://gitlab" "$toolsPath"/latesturl.txt)
|
||||
|
||||
#New repo if the other fails
|
||||
if [ -z $latestURL ]; then
|
||||
curl https://gitlab.com/es-de/emulationstation-de/-/raw/master/es-app/assets/latest_steam_deck_appimage.txt --output "$toolsPath"/latesturl.txt
|
||||
latestURL=$(grep "https://gitlab" "$toolsPath"/latesturl.txt)
|
||||
fi
|
||||
curl $latestURL --output "$toolsPath"/EmulationStation-DE-x64_SteamDeck.AppImage
|
||||
rm "$toolsPath"/latesturl.txt
|
||||
chmod +x "$toolsPath"/EmulationStation-DE-x64_SteamDeck.AppImage
|
||||
|
||||
}
|
24
functions/installEmuAI.sh
Normal file
24
functions/installEmuAI.sh
Normal file
@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
installEmuAI(){
|
||||
|
||||
name=$1
|
||||
url=$2
|
||||
altName=$3
|
||||
|
||||
if [[ $altName == "" ]]; then
|
||||
altName=$name
|
||||
fi
|
||||
|
||||
mkdir -p $HOME/Applications
|
||||
cd $HOME/Applications
|
||||
|
||||
wget -c "$url" -O "$altName.AppImage"
|
||||
|
||||
shName=$(echo "$name" | awk '{print tolower($0)}')
|
||||
|
||||
find . -type f -iname $shName.sh | while read f; do echo "deleting $f"; rm -f "$f"; done;
|
||||
cp "${EMUDECKGIT}"/tools/launchers/"${shName}".sh "${toolsPath}"launchers/"${shName}".sh
|
||||
|
||||
|
||||
|
||||
}
|
18
functions/installEmuFP.sh
Normal file
18
functions/installEmuFP.sh
Normal file
@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
installEmuFP(){
|
||||
|
||||
name=$1
|
||||
ID=$2
|
||||
|
||||
setMSG "Installing $name"
|
||||
|
||||
flatpak install flathub $ID -y --system
|
||||
flatpak override $ID --filesystem=host --user
|
||||
flatpak override $ID --share=network --user
|
||||
|
||||
shName=$(echo "$name" | awk '{print tolower($0)}')
|
||||
|
||||
find . -type f -iname $shName.sh | while read f; do echo "deleting $f"; rm -f "$f"; done;
|
||||
cp "${EMUDECKGIT}"/tools/launchers/"${shName}".sh "${toolsPath}"launchers/"${shName}".sh
|
||||
|
||||
}
|
16
functions/installPowerTools.sh
Normal file
16
functions/installPowerTools.sh
Normal file
@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
installPowerTools(){
|
||||
#should use sudo password piped into cache earlier.
|
||||
curl -L https://github.com/SteamDeckHomebrew/PluginLoader/raw/main/dist/install_release.sh | sh
|
||||
sudo rm -rf ~/homebrew/plugins/PowerTools
|
||||
sudo git clone https://github.com/NGnius/PowerTools.git ~/homebrew/plugins/PowerTools
|
||||
sleep 1
|
||||
cd ~/homebrew/plugins/PowerTools
|
||||
sudo git checkout tags/v0.6.0
|
||||
text="$(printf "To finish the installation of PowerTools you will need to go into the Steam UI Settings\n\nUnder System -> System Settings toggle Enable Developer Mode\n\nScroll the sidebar all the way down and click on Developer\n\nUnder Miscellaneous, enable CEF Remote Debugging\n\nIn order to improve performance on Yuzu or Dolphin try configuring Powertools to activate only 4 CPU Cores\n\nYou can Access Powertools by presing the ... button and selecting the new Plugins Menu\n\n
|
||||
\n\nIMPORTANT - The Powertools menu is touch ONLY.\n\n")"
|
||||
zenity --info \
|
||||
--title="EmuDeck" \
|
||||
--width=450 \
|
||||
--text="${text}" 2>/dev/null
|
||||
}
|
19
functions/installSRM.sh
Normal file
19
functions/installSRM.sh
Normal file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
installSRM(){
|
||||
setMSG "${installString} Steam Rom Manager"
|
||||
rm -f ~/Desktop/Steam-ROM-Manager-2.3.29.AppImage
|
||||
rm -f ~/Desktop/Steam-ROM-Manager.AppImage
|
||||
mkdir -p "${toolsPath}"/srm
|
||||
curl -L "$(curl -s https://api.github.com/repos/SteamGridDB/steam-rom-manager/releases/latest | grep -E 'browser_download_url.*AppImage' | grep -ve 'i386' | cut -d '"' -f 4)" > "${toolsPath}"srm/Steam-ROM-Manager.AppImage
|
||||
#Nova fix'
|
||||
echo "#!/usr/bin/env xdg-open
|
||||
[Desktop Entry]
|
||||
Name=Steam Rom Manager
|
||||
Exec=kill -15 \`pidof steam\` & ${toolsPath}srm/Steam-ROM-Manager.AppImage
|
||||
Icon=steamdeck-gaming-return
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=false" > ~/Desktop/SteamRomManager.desktop
|
||||
chmod +x ~/Desktop/SteamRomManager.desktop
|
||||
chmod +x "${toolsPath}"/srm/Steam-ROM-Manager.AppImage
|
||||
}
|
16
functions/linkToSaveFolder.sh
Normal file
16
functions/linkToSaveFolder.sh
Normal file
@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
linkToSaveFolder(){
|
||||
emu=$1
|
||||
folderName=$2
|
||||
path=$3
|
||||
|
||||
if [ ! -d "$savesPath/$emu/$folderName" ]; then
|
||||
mkdir -p $savesPath/$emu
|
||||
echo -e ""
|
||||
echo -e "Linking $emu $folderName to the Emulation/saves folder"
|
||||
echo -e ""
|
||||
mkdir -p $path
|
||||
ln -sn $path $savesPath/$emu/$folderName
|
||||
fi
|
||||
|
||||
}
|
118
functions/migrateAndLinkConfig.sh
Normal file
118
functions/migrateAndLinkConfig.sh
Normal file
@ -0,0 +1,118 @@
|
||||
#!/bin/bash
|
||||
migrateAndLinkConfig(){
|
||||
|
||||
emu=$1
|
||||
migrationTable=$2
|
||||
#step 1 should be attempt to unlink everything that gets passed in so we can start fresh.
|
||||
#for path in $migrationTable[@]
|
||||
#do
|
||||
# if [ -L $path ]; then
|
||||
# echo unlinking $path
|
||||
# unlink $path
|
||||
# fi
|
||||
#done
|
||||
migrationFlag="$HOME/emudeck/.${emu}MigrationCompleted"
|
||||
|
||||
#check if we have a nomigrateflag for $emu
|
||||
if [ ! -f "$migrationFlag" ]; then
|
||||
#ask user before migrating data
|
||||
text="`printf "We would like to migrate data from the flatpak to the AppImage for ${emu}. \
|
||||
\nNew directories for this emulator will be made, and config changes will point to these new folders regardless of this choice.\
|
||||
\nYou should allow this migration if you want to move your flatpak data and config to it's new home. \
|
||||
\nIf you would like to move your files manually, you may decline."`"
|
||||
doMigrate=$(zenity --info --title "Migrate "${emu}" Data?" \
|
||||
--text="${text}" \
|
||||
--width=300 \
|
||||
--ok-label "Leave ${emu} alone this time" \
|
||||
--extra-button "Leave ${emu} alone forever" \
|
||||
--extra-button "Migrate Data" 2>/dev/null)
|
||||
rc=$?
|
||||
echo "$emu Do migration? User chose: $doMigrate"
|
||||
if [ "$doMigrate" == "Migrate Data" ]; then
|
||||
n=$(( ${#migrationTable[@]} - 1 ))
|
||||
#odd should be flatpak
|
||||
#even should be appimage
|
||||
#determine plan based on first pair
|
||||
if [[ ! -e ${migrationTable[0]} ]]; then
|
||||
#no flatpak data. nothing to do. (or should we link it?)
|
||||
echo "No flatpak data found, continuing."
|
||||
elif [[ -L ${migrationTable[0]} && -L ${migrationTable[1]} ]]; then
|
||||
echo "Both sides of migration are symlinks. Stopping migration. User needs to manually resolve."
|
||||
elif [[ -d ${migrationTable[0]} && -d ${migrationTable[1]} ]]; then
|
||||
#both locations exist
|
||||
#ask user which to keep
|
||||
text="`printf "Data was found for both the appimage and flatpak for ${emu}.\nWe will be using the AppImage from now on.\nPlease choose which data to keep."`"
|
||||
ans=$(zenity --info --title "Migrate "${emu}" Data?" \
|
||||
--text="${text}" \
|
||||
--width=300 \
|
||||
--ok-label "Don't do anything with my stuff" \
|
||||
--extra-button "Keep AppImage Data" \
|
||||
--extra-button "Migrate Flatpak Data" 2>/dev/null)
|
||||
rc=$?
|
||||
if [[ ! $ans == "" ]]; then #user didn't cancel
|
||||
echo "$emu flatpak/appimage data choice. User Chose: $ans"
|
||||
for ((i=0; i<=n; i=(i+2))) { # for each pair of dirs
|
||||
|
||||
if [[ $ans == "Migrate Flatpak Data" ]]; then
|
||||
fromDir=${migrationTable[i]}
|
||||
toDir=${migrationTable[i+1]}
|
||||
echo "Migrating ${fromDir} to ${toDir}"
|
||||
unlink
|
||||
#backup destination location, delete it, then sync original over
|
||||
mv "$toDir" "$toDir.orig" && mkdir -p $toDir && rsync -av "${fromDir}/" "${toDir}"
|
||||
cd ${fromDir}
|
||||
cd ..
|
||||
#backup and remove original
|
||||
mv "${fromDir}" "${fromDir}.orig" && rm -rf "${fromDir}"
|
||||
|
||||
#link .config to .var so flatpak still works
|
||||
ln -sfn ${toDir} .
|
||||
|
||||
elif [[ $ans == "Keep AppImage Data" ]]; then
|
||||
fromDir=${migrationTable[i+1]}
|
||||
toDir=${migrationTable[i]}
|
||||
cd ${toDir}
|
||||
cd ..
|
||||
#backup flatpak data
|
||||
mv "${toDir}" "${toDir}.orig"
|
||||
#link appimage data to flatpak folder
|
||||
ln -sfn "${fromDir}" .
|
||||
|
||||
else
|
||||
echo "Something went wrong"
|
||||
exit
|
||||
fi
|
||||
|
||||
}
|
||||
else
|
||||
echo "User doesn't want migration at this time."
|
||||
fi
|
||||
|
||||
elif [[ -L ${migrationTable[0]} && -d ${migrationTable[0]} && -d ${migrationTable[1]} ]]; then
|
||||
echo "Flatpak already linked"
|
||||
elif [[ -d ${migrationTable[0]} && ! -e ${migrationTable[1]} ]]; then
|
||||
echo "No AppImage data found, but flatpak data found. New AppImage install."
|
||||
for ((i=0; i<=n; i=(i+2))) { # for each pair of dirs
|
||||
|
||||
|
||||
fromDir=${migrationTable[i]}
|
||||
toDir=${migrationTable[i+1]}
|
||||
echo "Migrating ${fromDir} to ${toDir}"
|
||||
cd ${fromDir}/..
|
||||
#backup destination location, delete it, then sync original over
|
||||
mkdir -p ${toDir} && rmdir ${toDir} #make the path for todir, but remove the end folder
|
||||
mv "${fromDir}" "${toDir}" #move the original to the new location
|
||||
#link .config to .var so flatpak still works
|
||||
ln -sfn ${toDir} .
|
||||
|
||||
}
|
||||
else
|
||||
echo "do nothing"
|
||||
fi
|
||||
touch $migrationFlag
|
||||
elif [ $doMigrate == "Leave ${emu} alone forever" ]; then
|
||||
touch $migrationFlag
|
||||
fi
|
||||
fi
|
||||
|
||||
}
|
19
functions/setESDEEmus.sh
Normal file
19
functions/setESDEEmus.sh
Normal file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
setESDEEmus(){
|
||||
emu=$1
|
||||
system=$2
|
||||
FILE=~/.emulationstation/gamelists/$system/gamelist.xml
|
||||
if [ ! -f "$FILE" ]; then
|
||||
mkdir -p ~/.emulationstation/gamelists/$system && cp ~/dragoonDoriseTools/EmuDeck/configs/emulationstation/gamelists/$system/gamelist.xml $FILE
|
||||
else
|
||||
gamelistFound=$(grep -rnw $FILE -e 'gameList')
|
||||
if [[ $gamelistFound == '' ]]; then
|
||||
sed -i -e '$a\<gameList />' $FILE
|
||||
fi
|
||||
alternativeEmu=$(grep -rnw $FILE -e 'alternativeEmulator')
|
||||
if [[ $alternativeEmu == '' ]]; then
|
||||
echo "<alternativeEmulator><label>$emu</label></alternativeEmulator>" >> $FILE
|
||||
fi
|
||||
sed -i "s|<?xml version=\"1.0\">|<?xml version=\"1.0\"?>|g" $FILE
|
||||
fi
|
||||
}
|
11
functions/setMSG.sh
Normal file
11
functions/setMSG.sh
Normal file
@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
setMSG(){
|
||||
progressBar=$((progressBar + 5))
|
||||
#We prevent the zenity to close if we have too much MSG, the classic eternal 99%
|
||||
if [ $progressBar == 95 ]; then
|
||||
progressBar=90
|
||||
fi
|
||||
echo "$progressBar" > ~/emudeck/msg.log
|
||||
echo "# $1" >> ~/emudeck/msg.log
|
||||
sleep 0.5
|
||||
}
|
16
functions/setSetting.sh
Normal file
16
functions/setSetting.sh
Normal file
@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
setSetting () {
|
||||
var=$1
|
||||
new_val=$2
|
||||
file=~/emudeck/settings.sh
|
||||
settingExists=$(grep -rnw $file -e $var)
|
||||
if [[ $settingExists == '' ]]; then
|
||||
#insert setting to end
|
||||
sed -i -e '$a\'"$var=$new_val" $FILE
|
||||
elif [[ ! $settingExists == '' ]]; then
|
||||
#update setting
|
||||
sed -i "s|^$var *= *.*|$var=$new_val|; s|^$var [^=]*$|$var $new_val|" "$file"
|
||||
fi
|
||||
#Update values
|
||||
source ~/emudeck/settings.sh
|
||||
}
|
26
functions/setUpHolo.sh
Normal file
26
functions/setUpHolo.sh
Normal file
@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
setUpHolo(){
|
||||
|
||||
#Ensure the dependencies are installed before proceeding.
|
||||
for package in packagekit-qt5 flatpak rsync unzip jq
|
||||
do
|
||||
pacman -Q ${package} || sudo pacman -Sy --noconfirm ${package}
|
||||
done
|
||||
|
||||
#The user must be in the wheel group to install flatpaks successfully.
|
||||
wheel=$(awk '/'${USER}'/ {if ($1 ~ /wheel/) print}' /etc/group)
|
||||
if [[ ! "${wheel}" =~ ${USER} ]]; then
|
||||
text="$(printf "Hey! This is not an SteamDeck. EmuDeck can work just fine, but you need to have a valid user account\n\nThe script will ask for your password to make sure everything works as expected.")"
|
||||
zenity --info \
|
||||
--title="EmuDeck" \
|
||||
--width=450 \
|
||||
--text="${text}" 2>/dev/null
|
||||
sudo usermod -a -G wheel ${USER}
|
||||
newgrp wheel
|
||||
fi
|
||||
|
||||
#Ensure the Desktop directory isn't owned by root
|
||||
if [[ "$(stat -c %U ${HOME}/Desktop)" =~ root ]]; then
|
||||
sudo chown -R ${USER}:${USER} ~/Desktop
|
||||
fi
|
||||
}
|
24
functions/setWide.sh
Normal file
24
functions/setWide.sh
Normal file
@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
setWide(){
|
||||
if [ $duckWide == true ]; then
|
||||
sed -i "s|WidescreenHack = false|WidescreenHack = true|g" ~/.var/app/org.duckstation.DuckStation/data/duckstation/settings.ini
|
||||
else
|
||||
sed -i "s|WidescreenHack = true|WidescreenHack = false|g" ~/.var/app/org.duckstation.DuckStation/data/duckstation/settings.ini
|
||||
fi
|
||||
if [ $DolphinWide == true ]; then
|
||||
sed -i "s|wideScreenHack = False|wideScreenHack = True|g" ~/.var/app/org.DolphinEmu.dolphin-emu/config/dolphin-emu/GFX.ini
|
||||
else
|
||||
sed -i "s|wideScreenHack = True|wideScreenHack = False|g" ~/.var/app/org.DolphinEmu.dolphin-emu/config/dolphin-emu/GFX.ini
|
||||
fi
|
||||
if [ $DreamcastWide == true ]; then
|
||||
sed -i "s|reicast_widescreen_hack = \"disabled\"|reicast_widescreen_hack = \"enabled\"|g" ~/.var/app/org.libretro.RetroArch/config/retroarch/config/Flycast/Flycast.opt
|
||||
else
|
||||
sed -i "s|reicast_widescreen_hack = \"enabled\"|reicast_widescreen_hack = \"disabled\"|g" ~/.var/app/org.libretro.RetroArch/config/retroarch/config/Flycast/Flycast.opt
|
||||
fi
|
||||
|
||||
if [ $BeetleWide == true ]; then
|
||||
sed -i "s|beetle_psx_hw_widescreen_hack = \"disabled\"|beetle_psx_hw_widescreen_hack = \"enabled\"|g" "$HOME/.var/app/org.libretro.RetroArch/config/retroarch/config/Beetle PSX HW/Beetle PSX HW.opt"
|
||||
else
|
||||
sed -i "s|beetle_psx_hw_widescreen_hack = \"enabled\"|beetle_psx_hw_widescreen_hack = \"disabled\"|g" "$HOME/.var/app/org.libretro.RetroArch/config/retroarch/config/Beetle PSX HW/Beetle PSX HW.opt"
|
||||
fi
|
||||
}
|
24
functions/testLocationValid.sh
Normal file
24
functions/testLocationValid.sh
Normal file
@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
testLocationValid(){
|
||||
testLocation=$2
|
||||
touch $testLocation/testwrite
|
||||
return=""
|
||||
if [ ! -f $testLocation/testwrite ]; then
|
||||
#echo "$testLocation not writeable"
|
||||
return="invalid"
|
||||
else
|
||||
#echo "$testLocation writable"
|
||||
|
||||
ln -s $testLocation/testwrite $testLocation/testwrite.link
|
||||
if [ ! -f $testLocation/testwrite.link ]; then
|
||||
#echo "Symlink creation failed in $testLocation"
|
||||
return="invalid"
|
||||
else
|
||||
return="valid"
|
||||
#doesn't work? scope issue?
|
||||
#locationTable+=(FALSE "$1" "$testLocation") #valid only if location is writable and linkable
|
||||
fi
|
||||
fi
|
||||
rm -f "$testLocation/testwrite" "$testLocation/testwrite.link"
|
||||
echo $return
|
||||
}
|
1543
install.sh
1543
install.sh
File diff suppressed because it is too large
Load Diff
47
latest.md
47
latest.md
@ -1,20 +1,27 @@
|
||||
0.17.4
|
||||
- New user interface on install both on Easy and Expert modes
|
||||
- Rom folder creation will respect user's custom symlinks
|
||||
- When you first install EmuDeck an you Launch SteamRomManager we will get you back to GamingMode when closing SteamRomManager
|
||||
- SRM is now located on Emulation/tools and will close Steam automatically for you.
|
||||
- Fixed RPCS3 Controller not working on new install
|
||||
- Updated Mupen64Plus-Next defaults for N64. Should be much better now. more accurate, faster, and look better.
|
||||
- New tool added - proton-launch.sh (for all your non-steam windows app shenanigans, courtesy of Angel)
|
||||
- Citra left trackpad used now as mouse instead of D-pad on our SteamInput template
|
||||
- Fix Citra non exiting while pressing R5
|
||||
- PPSSPP Audio Fix when the Deck goes into Sleep Mode
|
||||
- Fixed 3ds bad symlink for older installations
|
||||
- PrimeHack Controller tweaks and performance gain
|
||||
- Fix PCSX2 Turbo Mode
|
||||
- Wii nkit.gcz support
|
||||
- FBNeo fixes on SteamRomManager
|
||||
- SD card is only available if one is inserted, writable, and supports symlinks
|
||||
- Expert mode - Fixes RA Autosave selection
|
||||
- Expert mode - Changed Cemu default controller to gamepad with gyro (gyro requires SteamDeckGyroDSU installation. See Expert mode for more details)
|
||||
- Expert mode - You can now chose a custom install location. It will be tested for the ability to both write and link, and rejected if either fail.
|
||||
0.17.5
|
||||
- EmuDeck internal fixes and modularity.. setting it up for great things on the future...
|
||||
- New - Steam Input Template for DuckStation with left trackpad Touchinput (Thanks Moskeeto)
|
||||
- New - Yuzu AppImage ( Seemingly better performance than the one in discover store, also right click to open menus work! )
|
||||
It is VERY important you let Emudeck run the updates on Yuzu so the
|
||||
data migration can happen seamlessly. You will be notified if we find data in the default appimage location
|
||||
and can choose to keep and migrate the old Flatpak data, or you can use the existing AppImage data you have.
|
||||
The chosen data will be migrated to the AppImage location, and linked back to the flatpak data location.
|
||||
Steam Rom Manager users will need to re-parse for Yuzu games to use the new AppImage.
|
||||
The Flatpak installation is NOT removed, but must be for EmulationStation-DE to use the AppImage instead.
|
||||
- New - Storage folder to keep Xemu, Yuzu, and RPCS3 data in the Emulation folder. Migration will happen at the start.
|
||||
You may need to re-parse for rpcs3 installed files.
|
||||
- New - CHD Script now handles wii / gc iso --> rvz conversion
|
||||
- Fix - Dolphin pointer is now right trackpad and works more smoothly. If you have SteamGyro setup, motion now works.
|
||||
*You may need to set the controller to Default Gamepad With Mouse Trackpad if steam decided to use Touchpad as Joystick instead.
|
||||
- Fix - DuckStation rom path added. New hotkeys added to coincide with Steam Input Template. Changed quickMenu to Esc. (Steam + Dpad Left)
|
||||
- Fix - Widescreen Hacks are now off by default for all emulators. They can be enabled by running in Expert Mode.
|
||||
- Fix - PCSX2 Steam Input profile updated so it wont pause on RT. (Thanks Wintermute)
|
||||
- Fix - Updates won't wipe out EmulationStation-DE custom systems and EmulationStation-DE metadata info anymore.
|
||||
- Fix - Updates won't wipe out Cemu graphics pack settings anymore.
|
||||
- Fix - EmulationStation-DE's hidden downloaded_media wouldn't get moved
|
||||
to the Emulation/tools directory if the setting existed but was blank.
|
||||
- Fix - Expert Mode: Widescreen Hacks Selection.
|
||||
- Fix - Expert Mode: Emulator install Selection.
|
||||
- Fix - Expert Mode: Emulator reconfiguration selection.
|
||||
- Fix - Expert Mode: Entering a password wrong in the pop up will make it re-pop.
|
||||
You have 2 chances and then it will disable the Expert mode settings that require a password.
|
||||
|
67
settings.sh
Normal file
67
settings.sh
Normal file
@ -0,0 +1,67 @@
|
||||
|
||||
#Expert mode off by default
|
||||
expert=false
|
||||
|
||||
|
||||
|
||||
#Default settings for all systems
|
||||
doSetupRA=true
|
||||
doSetupDolphin=true
|
||||
doSetupPCSX2=true
|
||||
doSetupRPCS3=true
|
||||
doSetupYuzu=true
|
||||
doSetupCitra=true
|
||||
doSetupDuck=true
|
||||
doSetupCemu=true
|
||||
doSetupXenia=false
|
||||
doSetupRyujinx=true
|
||||
doSetupPrimeHacks=true
|
||||
doSetupPPSSPP=true
|
||||
doSetupXemu=true
|
||||
doSetupESDE=true
|
||||
doSetupSRM=true
|
||||
#doSetupMelon=true
|
||||
|
||||
#Install all systems by default
|
||||
doInstallSRM=true
|
||||
doInstallESDE=true
|
||||
doInstallRA=false
|
||||
doInstallDolphin=false
|
||||
doInstallPCSX2=false
|
||||
doInstallRPCS3=false
|
||||
doInstallYuzu=false
|
||||
doInstallCitra=false
|
||||
doInstallDuck=false
|
||||
doInstallCemu=false
|
||||
doInstallXenia=false
|
||||
doInstallPrimeHacks=false
|
||||
doInstallPPSSPP=false
|
||||
doInstallXemu=false
|
||||
#doInstallMelon=false
|
||||
doInstallCHD=false
|
||||
doInstallPowertools=false
|
||||
doInstallGyro=false
|
||||
installString='Installing'
|
||||
|
||||
#Default RetroArch configuration
|
||||
RABezels=true
|
||||
RAautoSave=false
|
||||
SNESAR=43
|
||||
|
||||
#Default widescreen
|
||||
duckWide=true
|
||||
DolphinWide=true
|
||||
DreamcastWide=true
|
||||
BeetleWide=true
|
||||
|
||||
#Default installation folders
|
||||
emulationPath=~/Emulation/
|
||||
romsPath=~/Emulation/roms/
|
||||
toolsPath=~/Emulation/tools/
|
||||
biosPath=~/Emulation/bios/
|
||||
savesPath=~/Emulation/saves/
|
||||
storagePath=~/Emulation/storage/
|
||||
|
||||
#Default ESDE Theme
|
||||
esdeTheme="EPICNOIR"
|
||||
|
BIN
tools/binaries/xmlstarlet
Normal file
BIN
tools/binaries/xmlstarlet
Normal file
Binary file not shown.
BIN
tools/chdconv/DolphinTool.exe
Normal file
BIN
tools/chdconv/DolphinTool.exe
Normal file
Binary file not shown.
@ -11,26 +11,33 @@ zenity --question \
|
||||
ans=$?
|
||||
if [ $ans -eq 0 ]; then
|
||||
|
||||
|
||||
|
||||
#paths update via sed in main script
|
||||
romsPath="/run/media/mmcblk0p1/Emulation/roms/"
|
||||
chdPath="/run/media/mmcblk0p1/Emulation/tools/chdconv/"
|
||||
toolsPath="/run/media/mmcblk0p1/Emulation/tools/"
|
||||
chdPath="${toolsPath}chdconv/"
|
||||
|
||||
|
||||
#initialize log
|
||||
TIMESTAMP=`date "+%Y%m%d_%H%M%S"`
|
||||
LOGFILE="$chdPath/chdman-$TIMESTAMP.log"
|
||||
exec > >(tee ${LOGFILE}) 2>&1
|
||||
|
||||
|
||||
#ask user if they want to pick manually or run a search for eligible files. Manual will need to ask the user to pick a file, and then it will need to ask the type to convert to. (chd, rvz, cso)
|
||||
|
||||
|
||||
echo "Checking $romsPath for files eligible for conversion."
|
||||
|
||||
#whitelist
|
||||
declare -a folderWhiteList=("dreamcast" "psx" "segacd" "3do" "saturn" "tg-cd" "pcenginecd" "pcfx" "amigacd32" "neogeocd" "megacd" "ps2")
|
||||
declare -a chdfolderWhiteList=("dreamcast" "psx" "segacd" "3do" "saturn" "tg-cd" "pcenginecd" "pcfx" "amigacd32" "neogeocd" "megacd" "ps2")
|
||||
declare -a rvzfolderWhiteList=("gamecube" "wii")
|
||||
declare -a searchFolderList
|
||||
|
||||
echo $chdfolderWhiteList
|
||||
export PATH="${chdPath}/:$PATH"
|
||||
|
||||
#find file types we support within whitelist of folders
|
||||
for romfolder in ${folderWhiteList[@]}; do
|
||||
for romfolder in ${chdfolderWhiteList[@]}; do
|
||||
echo "Checking ${romsPath}${romfolder}/"
|
||||
files=(`find "${romsPath}${romfolder}/" -type f -iname "*.gdi" -o -type f -iname "*.cue" -o -type f -iname "*.iso"`)
|
||||
if [ ${#files[@]} -gt 0 ]; then
|
||||
@ -38,6 +45,15 @@ if [ $ans -eq 0 ]; then
|
||||
searchFolderList+=("$romfolder")
|
||||
fi
|
||||
done
|
||||
|
||||
for romfolder in ${rvzfolderWhiteList[@]}; do
|
||||
echo "Checking ${romsPath}${romfolder}/"
|
||||
files=(`find "${romsPath}${romfolder}/" -type f -iname "*.gcm" -o -type f -iname "*.iso"`)
|
||||
if [ ${#files[@]} -gt 0 ]; then
|
||||
echo "found in $romfolder"
|
||||
searchFolderList+=("$romfolder")
|
||||
fi
|
||||
done
|
||||
|
||||
if (( ${#searchFolderList[@]} == 0 )); then
|
||||
echo "No eligible files found."
|
||||
@ -50,6 +66,7 @@ if [ $ans -eq 0 ]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
declare -i height=(${#searchFolderList[@]}*100)
|
||||
selectColumnStr="RomFolder "
|
||||
for (( i=1; i<=${#searchFolderList[@]}; i++ )); do selectColumnStr+="$i ${searchFolderList[$i-1]} " ; done
|
||||
@ -70,12 +87,39 @@ if [ $ans -eq 0 ]; then
|
||||
|
||||
#query user about FileTypes? maybe they only want to convert bin/cue? Iso? Gdi?
|
||||
#check list here?
|
||||
|
||||
|
||||
# should be able to use grep / bash compare the files in the dir against the cue / gdi file to determine if it should be deleted.
|
||||
# something like after the processing of the cue / gdi succeeds, then do this
|
||||
# for file in folder #where file is a foreach variable and folder is some array of the files in the folder being processed.
|
||||
# if grep -q $file "$f"; then #where $f is the cue / gdi, and $file is a file in the folder.
|
||||
# rm -rf $file
|
||||
# fi
|
||||
#
|
||||
|
||||
|
||||
#CHD
|
||||
for romfolder in ${romfolders[@]}; do
|
||||
find "$romsPath$romfolder" -type f -iname "*.cue" | while read f; do echo "Converting: $f"; chdman5 createcd -i "$f" -o "${f%.*}.chd" && rm -rf "$f" && rm -rf "${f%.*}.[bB][iI][nN]"; done;
|
||||
find "$romsPath$romfolder" -type f -iname "*.gdi" | while read f; do echo "Converting: $f"; chdman5 createcd -i "$f" -o "${f%.*}.chd" && rm -rf "$f"; done; #going to need work
|
||||
find "$romsPath$romfolder" -type f -iname "*.iso" | while read f; do echo "Converting: $f"; chdman5 createcd -i "$f" -o "${f%.*}.chd" && rm -rf "$f"; done;
|
||||
if [[ " ${chdfolderWhiteList[*]} " =~ " ${romfolder} " ]]; then
|
||||
find "$romsPath$romfolder" -type f -iname "*.cue" | while read f; do echo "Converting: $f"; chdman5 createcd -i "$f" -o "${f%.*}.chd" && rm -rf "$f" && rm -rf "${f%.*}.bin"; done;
|
||||
find "$romsPath$romfolder" -type f -iname "*.gdi" | while read f; do echo "Converting: $f"; chdman5 createcd -i "$f" -o "${f%.*}.chd" && rm -rf "$f"; done; #going to need work
|
||||
find "$romsPath$romfolder" -type f -iname "*.iso" | while read f; do echo "Converting: $f"; chdman5 createcd -i "$f" -o "${f%.*}.chd" && rm -rf "$f"; done;
|
||||
fi
|
||||
done
|
||||
|
||||
#rvz
|
||||
if [[ -f "${toolsPath}proton-launch.sh" && -f "${chdPath}DolphinTool.exe" ]]; then #ensure tools are in place
|
||||
for romfolder in ${romfolders[@]}; do
|
||||
if [[ " ${rvzfolderWhiteList[*]} " =~ " ${romfolder} " ]]; then
|
||||
find "$romsPath$romfolder" -type f -iname "*.iso" | while read f; do echo "Converting: $f"; ${toolsPath}proton-launch.sh ${chdPath}DolphinTool.exe convert -f rvz -b 131072 -c zstd -l 5 -i "z:$f" -o "z:${f%.*}.rvz" && rm -rf "$f"; done;
|
||||
find "$romsPath$romfolder" -type f -iname "*.gcm" | while read f; do echo "Converting: $f"; ${toolsPath}proton-launch.sh ${chdPath}DolphinTool.exe convert -f rvz -b 131072 -c zstd -l 5 -i "z:$f" -o "z:${f%.*}.rvz" && rm -rf "$f"; done;
|
||||
fi
|
||||
done
|
||||
else
|
||||
echo "missing tools"
|
||||
fi
|
||||
#cso
|
||||
#
|
||||
|
||||
else
|
||||
exit
|
||||
fi
|
||||
|
@ -1,2 +1,18 @@
|
||||
#!/bin/sh
|
||||
/usr/bin/flatpak run org.yuzu_emu.yuzu
|
||||
emuName="yuzu" #parameterize me
|
||||
emufolder="$HOME/Applications" # has to be applications for ES-DE to find it
|
||||
|
||||
#find full path to emu executable
|
||||
exe=$(find $emufolder -iname "${emuName}*.AppImage" | sort -n | cut -d' ' -f 2- | tail -n 1 2>/dev/null)
|
||||
|
||||
#if appimage doesn't exist fall back to flatpak.
|
||||
if [[ $exe == '' ]]; then
|
||||
#flatpak
|
||||
flatpakApp=$(flatpak list --app --columns=application | grep $emuName)
|
||||
exe="/usr/bin/flatpak run "$flatpakApp
|
||||
else
|
||||
#make sure that file is executable
|
||||
chmod +x $exe
|
||||
fi
|
||||
#run the executable with the params.
|
||||
eval "${exe} ${@}"
|
||||
|
25
uninstall.sh
25
uninstall.sh
@ -70,7 +70,6 @@ if [ "$doUninstall" == true ]; then
|
||||
11 "Cemu" \
|
||||
12 "SteamRomManager" \
|
||||
13 "EmulationStationDE")
|
||||
clear
|
||||
ans=$?
|
||||
if [ $ans -eq 0 ]; then
|
||||
|
||||
@ -123,39 +122,39 @@ if [ "$doUninstall" == true ]; then
|
||||
|
||||
#Uninstalling
|
||||
if [[ "$doUninstallRA" == true ]]; then
|
||||
flatpak uninstall org.libretro.RetroArch
|
||||
flatpak uninstall org.libretro.RetroArch --system -y
|
||||
rm -rf ~/.var/app/org.libretro.RetroArch &>> /dev/null
|
||||
fi
|
||||
if [[ "$doUninstallPrimeHacks" == true ]]; then
|
||||
flatpak uninstall io.github.shiiion.primehack
|
||||
flatpak uninstall io.github.shiiion.primehack --system -y
|
||||
rm -rf ~/.var/app/io.github.shiiion.primehack &>> /dev/null
|
||||
fi
|
||||
if [[ "$doUninstallPCSX2" == true ]]; then
|
||||
flatpak uninstall net.pcsx2.PCSX2
|
||||
flatpak uninstall net.pcsx2.PCSX2 --system -y
|
||||
rm -rf ~/.var/app/net.pcsx2.PCSX2 &>> /dev/null
|
||||
fi
|
||||
if [[ "$doUninstallRPCS3" == true ]]; then
|
||||
flatpak uninstall net.rpcs3.RPCS3
|
||||
flatpak uninstall net.rpcs3.RPCS3 --system -y
|
||||
rm -rf ~/.var/app/net.rpcs3.RPCS3 &>> /dev/null
|
||||
fi
|
||||
if [[ "$doUninstallCitra" == true ]]; then
|
||||
flatpak uninstall org.citra_emu.citra
|
||||
flatpak uninstall org.citra_emu.citra --system -y
|
||||
rm -rf ~/.var/app/org.citra_emu.citra &>> /dev/null
|
||||
fi
|
||||
if [[ "$doUninstallDolphin" == true ]]; then
|
||||
flatpak uninstall org.DolphinEmu.dolphin-emu
|
||||
flatpak uninstall org.DolphinEmu.dolphin-emu --system -y
|
||||
rm -rf ~/.var/app/org.DolphinEmu.dolphin-emu &>> /dev/null
|
||||
fi
|
||||
if [[ "$doUninstallDuck" == true ]]; then
|
||||
flatpak uninstall org.duckstation.DuckStation
|
||||
flatpak uninstall org.duckstation.DuckStation --system -y
|
||||
rm -rf ~/.var/app/org.duckstation.DuckStation &>> /dev/null
|
||||
fi
|
||||
if [[ "$doUninstallPPSSPP" == true ]]; then
|
||||
flatpak uninstall org.ppsspp.PPSSPP
|
||||
flatpak uninstall org.ppsspp.PPSSPP --system -y
|
||||
rm -rf ~/.var/app/org.ppsspp.PPSSPP &>> /dev/null
|
||||
fi
|
||||
if [[ "$doUninstallYuzu" == true ]]; then
|
||||
flatpak uninstall org.yuzu_emu.yuzu
|
||||
flatpak uninstall org.yuzu_emu.yuzu --system -y
|
||||
rm -rf ~/.var/app/org.yuzu_emu.yuzu &>> /dev/null
|
||||
fi
|
||||
if [[ "$doUninstallCemu" == true ]]; then
|
||||
@ -169,11 +168,11 @@ if [ "$doUninstall" == true ]; then
|
||||
# rm -f /run/media/mmcblk0p1/Emulation/roms/xbox360/* &>> /dev/null
|
||||
#fi
|
||||
if [[ "$doUninstallXemu" == true ]]; then
|
||||
flatpak uninstall app.xemu.xemu
|
||||
flatpak uninstall app.xemu.xemu --system -y
|
||||
rm -rf ~/.var/app/app.xemu.xemu &>> /dev/null
|
||||
fi
|
||||
if [[ "$doUninstallSRM" == true ]]; then
|
||||
rm -rf ~/Desktop/Steam-ROM-Manager.AppImage &>> /dev/null
|
||||
rm -rf ~/Desktop/SteamRomManager.desktop &>> /dev/null
|
||||
fi
|
||||
if [[ "$doUninstallESDE" == true ]]; then
|
||||
rm -rf ~/.emulationstation &>> /dev/null
|
||||
@ -183,9 +182,9 @@ if [ "$doUninstall" == true ]; then
|
||||
rm -rf ~/.steam/steam/controller_base/templates/cemu_controller_config.vdf
|
||||
rm -rf ~/.steam/steam/controller_base/templates/citra_controller_config.vdf
|
||||
rm -rf ~/.steam/steam/controller_base/templates/pcsx2_controller_config.vdf
|
||||
rm -rf ~/.steam/steam/controller_base/templates/duckstation_controller_config.vdf
|
||||
rm -rf ~/emudeck &>> /dev/null
|
||||
rm -rf ~/Desktop/EmuDeckCHD.desktop &>> /dev/null
|
||||
rm -rf ~/Desktop/EmuDeckCHD.desktop &>> /dev/null
|
||||
rm -rf ~/Desktop/EmuDeckUninstall.desktop &>> /dev/null
|
||||
rm -rf ~/Desktop/EmuDeck.desktop &>> /dev/null
|
||||
rm -rf ~/Desktop/EmuDeckSD.desktop &>> /dev/null
|
||||
|
Loading…
x
Reference in New Issue
Block a user