mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2025-01-18 06:45:38 +00:00
Came back to fix the original version!
On branch godot-data-demo Changes to be committed: modified: config/retrodeck/reference_lists/features.json modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/data_handler.gd modified: tools/configurator/scripts/emulator.gd deleted: tools/configurator/scripts/emulator_option.gd modified: tools/configurator/tk_about.gd
This commit is contained in:
parent
0308896940
commit
342b1ea56f
|
@ -41,91 +41,499 @@
|
||||||
"url": "https://retrodeck.readthedocs.io/en/latest/"
|
"url": "https://retrodeck.readthedocs.io/en/latest/"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"emulator": {
|
||||||
|
"cemu": {
|
||||||
|
"description": "Wii U emulator",
|
||||||
|
"launch": "Cemu-wrapper",
|
||||||
|
"name": "Cemu",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": true,
|
||||||
|
"multi_user_config_dir": "Cemu"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": "wiiu"
|
||||||
|
},
|
||||||
|
"citra": {
|
||||||
|
"description": "Citra Nintendo 3DS Emulator (via Ponzu)",
|
||||||
|
"name": "Citra (via Ponzu)",
|
||||||
|
"ponzu": true,
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": true,
|
||||||
|
"ask_to_exit": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": "n3ds"
|
||||||
|
},
|
||||||
|
"dolphin": {
|
||||||
|
"description": "Dolphin Wii and GameCube Emulator",
|
||||||
|
"launch": "dolphin-emu-wrapper",
|
||||||
|
"name": "Dolphin",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": true,
|
||||||
|
"ask_to_exit": true,
|
||||||
|
"cheevos": true,
|
||||||
|
"cheevos_hardcore": true,
|
||||||
|
"universal_dyn_input": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": [
|
||||||
|
"gc",
|
||||||
|
"wii"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"duckstation": {
|
||||||
|
"description": "PlayStation Emulator",
|
||||||
|
"launch": "duckstation-qt",
|
||||||
|
"name": "Duckstation",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"ask_to_exit": true,
|
||||||
|
"cheevos": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": "psx"
|
||||||
|
},
|
||||||
|
"mame": {
|
||||||
|
"description": "MAME: Multiple Arcade Machine Emulator",
|
||||||
|
"launch": "mame",
|
||||||
|
"name": "MAME",
|
||||||
|
"system": [
|
||||||
|
"arcade"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"melonds": {
|
||||||
|
"description": "MelonDS Nintendo DS Emulator",
|
||||||
|
"launch": "MelonDS",
|
||||||
|
"name": "melonds",
|
||||||
|
"system": "nds"
|
||||||
|
},
|
||||||
|
"pcsx2": {
|
||||||
|
"description": "PCSX2 Play Station 2 Emulator",
|
||||||
|
"name": "pcsx2",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"ask_to_exit": true,
|
||||||
|
"cheevos": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": "ps2"
|
||||||
|
},
|
||||||
|
"ppsspp": {
|
||||||
|
"description": "PPSSPP: PlayStation Portable Emulator",
|
||||||
|
"launch": "PPSSPPSDL",
|
||||||
|
"name": "PPSSPP",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"cheevos": true,
|
||||||
|
"cheevos_hardcore": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": "psp"
|
||||||
|
},
|
||||||
|
"primehack": {
|
||||||
|
"description": "A fork of Dolphiin to enhance Metroid Prime experience",
|
||||||
|
"launch": "primehack-wrapper",
|
||||||
|
"name": "PrimeHack",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"ask_to_exit": true,
|
||||||
|
"universal_dyn_input": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": [
|
||||||
|
"wii"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"retroarch": {
|
||||||
|
"cores": {
|
||||||
|
"citra_libretro": {
|
||||||
|
"description": "Nintendo 3DS Libretro Core",
|
||||||
|
"name": "Citra",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": "n3ds"
|
||||||
|
},
|
||||||
|
"desmume_libretro": {
|
||||||
|
"description": "DeSmuME Nintendo DS Libretro Core",
|
||||||
|
"name": "desmume",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": "nds"
|
||||||
|
},
|
||||||
|
"gambatte_libetro": {
|
||||||
|
"description": "Game Boy/Color Libretro Core",
|
||||||
|
"name": "Gambatte",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": true,
|
||||||
|
"borders": true,
|
||||||
|
"rewind": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": [
|
||||||
|
"gb",
|
||||||
|
"gbc"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"genesisplusgx_libetro": {
|
||||||
|
"description": "SEGA MS/GG/MD/CD Libretro Core",
|
||||||
|
"name": "Genesis Plus GX",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"borders": true,
|
||||||
|
"rewind": true,
|
||||||
|
"widescreen": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": [
|
||||||
|
"ms",
|
||||||
|
"gg",
|
||||||
|
"mc",
|
||||||
|
"cd"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"genesisplusgxwide_libetro": {
|
||||||
|
"description": "SEGA MS/GG/MD/CD Libretro Core for Wide Screen",
|
||||||
|
"name": "Genesis Plus GX Wide",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"rewind": true,
|
||||||
|
"widescreen": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": [
|
||||||
|
"ms",
|
||||||
|
"gg",
|
||||||
|
"mc",
|
||||||
|
"cd"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"mame_libretro": {
|
||||||
|
"description": "MAME: Multiple Arcade Machine Libretro Core",
|
||||||
|
"name": "MAME",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"tate_mode": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": "arcade"
|
||||||
|
},
|
||||||
|
"melonds_libretro": {
|
||||||
|
"description": "MelonDS Nintendo DS Libretro Core",
|
||||||
|
"name": "melonds",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": "nds"
|
||||||
|
},
|
||||||
|
"mgba_libetro": {
|
||||||
|
"description": "Game Boy Advance Libretro Core",
|
||||||
|
"name": "mGBA",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": true,
|
||||||
|
"borders": true,
|
||||||
|
"rewind": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": "gba"
|
||||||
|
},
|
||||||
|
"mupen64plus-next_libetro": {
|
||||||
|
"description": "Nintendo 64 Libretro Core",
|
||||||
|
"name": "Mupen64Plus-Next",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": true,
|
||||||
|
"borders": true,
|
||||||
|
"widescreen": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": "n64"
|
||||||
|
},
|
||||||
|
"picodrive_libetro": {
|
||||||
|
"description": "SEGA MS/MD/CD/32X Libretro Core",
|
||||||
|
"name": "PicoDrive",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"borders": true,
|
||||||
|
"rewind": true,
|
||||||
|
"widescreen": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": [
|
||||||
|
"ms",
|
||||||
|
"md",
|
||||||
|
"cd",
|
||||||
|
"32x"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"snes9x-current_libetro": {
|
||||||
|
"description": "Super Nintendo Libretro Core",
|
||||||
|
"name": "Snes9x - Current",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": true,
|
||||||
|
"borders": true,
|
||||||
|
"rewind": true,
|
||||||
|
"widescreen": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": "snes"
|
||||||
|
},
|
||||||
|
"swanstation_libretro": {
|
||||||
|
"description": "Swanstation Libretro Core",
|
||||||
|
"name": "SwanStation",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"borders": true,
|
||||||
|
"widescreen": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": "psx"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"description": "RetroArch (Multi-emulator Frontend)",
|
||||||
|
"launch": "retroarch",
|
||||||
|
"name": "RetroArch",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"cheevos": true,
|
||||||
|
"cheevos_hardcore": true,
|
||||||
|
"quick_resume": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"rpcs3": {
|
||||||
|
"description": "RPCS3 PlayStation 3 Emulator",
|
||||||
|
"launch": "rpcs3",
|
||||||
|
"name": "RPCS3",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"ask_to_exit": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": "ps3"
|
||||||
|
},
|
||||||
|
"ryujinx": {
|
||||||
|
"description": "Ryujinx Nintendo Switch Emulator",
|
||||||
|
"launch": "Ryujinx.sh",
|
||||||
|
"name": "Ryujinx",
|
||||||
|
"system": "switch"
|
||||||
|
},
|
||||||
|
"vita3k": {
|
||||||
|
"description": "Vita3K PSVita Emulator",
|
||||||
|
"launch": "Vita3K",
|
||||||
|
"name": "Vita3k",
|
||||||
|
"system": "psvita"
|
||||||
|
},
|
||||||
|
"xemu": {
|
||||||
|
"description": "xemu Xbox Emulator",
|
||||||
|
"launch": "xemu",
|
||||||
|
"name": "xemu",
|
||||||
|
"system": "xbox"
|
||||||
|
},
|
||||||
|
"yuzu": {
|
||||||
|
"abxy_button": true,
|
||||||
|
"description": "Yuzu Nintendo Switch Emulator (via Ponzu)",
|
||||||
|
"launch": "Yuzu",
|
||||||
|
"name": "Yuzu (via Ponzu)",
|
||||||
|
"ponzu": true,
|
||||||
|
"system": "switch"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emulators": {
|
||||||
|
"cemu": {
|
||||||
|
"description": "Wii U emulator",
|
||||||
|
"name": "Cemu",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": {
|
||||||
|
"status": false
|
||||||
|
},
|
||||||
|
"standalone": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"citra": {
|
||||||
|
"description": "Citra Nintendo 3DS Emulator (via Ponzu)",
|
||||||
|
"name": "Citra (via Ponzu)",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": {
|
||||||
|
"status": false
|
||||||
|
},
|
||||||
|
"standalone": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dolphin": {
|
||||||
|
"description": "Dolphin Wii and GameCube Emulator",
|
||||||
|
"name": "Dolphin",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": {
|
||||||
|
"status": false
|
||||||
|
},
|
||||||
|
"standalone": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"duckstation": {
|
||||||
|
"description": "PlayStation Emulator",
|
||||||
|
"name": "Duckstation",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": {
|
||||||
|
"status": false
|
||||||
|
},
|
||||||
|
"standalone": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"example_emulator": {
|
||||||
|
"description": "An example emulator.",
|
||||||
|
"name": "Example Emulator",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": {
|
||||||
|
"status": false
|
||||||
|
},
|
||||||
|
"standalone": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"mame": {
|
||||||
|
"description": "MAME: Multiple Arcade Machine Emulator",
|
||||||
|
"name": "MAME",
|
||||||
|
"properties": []
|
||||||
|
},
|
||||||
|
"melonds": {
|
||||||
|
"description": "MelonDS Nintendo DS Emulator",
|
||||||
|
"name": "melonds",
|
||||||
|
"properties": []
|
||||||
|
},
|
||||||
|
"pcsx2": {
|
||||||
|
"description": "PCSX2 Play Station 2 Emulator",
|
||||||
|
"name": "pcsx2",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": {
|
||||||
|
"status": false
|
||||||
|
},
|
||||||
|
"standalone": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ppsspp": {
|
||||||
|
"description": "PPSSPP: PlayStation Portable Emulator",
|
||||||
|
"name": "PPSSPP",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": {
|
||||||
|
"status": false
|
||||||
|
},
|
||||||
|
"standalone": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primehack": {
|
||||||
|
"description": "A fork of Dolphiin to enhance Metroid Prime experience",
|
||||||
|
"name": "PrimeHack",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": {
|
||||||
|
"status": false
|
||||||
|
},
|
||||||
|
"standalone": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"retroarch": {
|
||||||
|
"description": "RetroArch (Multi-emulator Frontend)",
|
||||||
|
"name": "RetroArch",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": {
|
||||||
|
"status": false
|
||||||
|
},
|
||||||
|
"standalone": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"rpcs3": {
|
||||||
|
"description": "RPCS3 PlayStation 3 Emulator",
|
||||||
|
"name": "RPCS3",
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"abxy_button": {
|
||||||
|
"status": false
|
||||||
|
},
|
||||||
|
"standalone": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ryujinx": {
|
||||||
|
"description": "Ryujinx Nintendo Switch Emulator",
|
||||||
|
"name": "Ryujinx",
|
||||||
|
"properties": []
|
||||||
|
},
|
||||||
|
"vita3k": {
|
||||||
|
"description": "Vita3K PSVita Emulator",
|
||||||
|
"name": "Vita3k",
|
||||||
|
"properties": []
|
||||||
|
},
|
||||||
|
"xemu": {
|
||||||
|
"description": "xemu Xbox Emulator",
|
||||||
|
"name": "xemu",
|
||||||
|
"properties": []
|
||||||
|
},
|
||||||
|
"yuzu": {
|
||||||
|
"description": "Yuzu Nintendo Switch Emulator (via Ponzu)",
|
||||||
|
"name": "Yuzu (via Ponzu)",
|
||||||
|
"properties": []
|
||||||
|
}
|
||||||
|
},
|
||||||
"finit_default_options": {
|
"finit_default_options": {
|
||||||
"rd_controller_profile": {
|
"rd_controller_profile": {
|
||||||
"name": "RetroDECK Steam Controller Profiles Install",
|
|
||||||
"description": "Install RetroDECK Steam Input profiles to Steam - Recommended",
|
"description": "Install RetroDECK Steam Input profiles to Steam - Recommended",
|
||||||
"enabled": true
|
"enabled": true,
|
||||||
|
"name": "RetroDECK Steam Controller Profiles Install"
|
||||||
},
|
},
|
||||||
"rpcs3_firmware": {
|
"rpcs3_firmware": {
|
||||||
"name": "RPCS3 Firmware Install",
|
|
||||||
"description": "Install firmware needed for PS3 emulation",
|
"description": "Install firmware needed for PS3 emulation",
|
||||||
"enabled": false
|
"enabled": false,
|
||||||
|
"name": "RPCS3 Firmware Install"
|
||||||
},
|
},
|
||||||
"vita3k_firmware": {
|
"vita3k_firmware": {
|
||||||
"name": "Vita3K Firmware Install",
|
|
||||||
"description": "Install firmware needed for Vita3K emulation",
|
"description": "Install firmware needed for Vita3K emulation",
|
||||||
"enabled": false
|
"enabled": false,
|
||||||
|
"name": "Vita3K Firmware Install"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"splash_screens": {
|
|
||||||
"xmas": {
|
|
||||||
"start_date": "1201",
|
|
||||||
"end_date": "1231",
|
|
||||||
"start_time": "0000",
|
|
||||||
"end_time": "2359",
|
|
||||||
"filename": "rd-xmas-splash.svg"
|
|
||||||
},
|
|
||||||
"lunar_dragon": {
|
|
||||||
"start_date": "0209",
|
|
||||||
"end_date": "0212",
|
|
||||||
"start_time": "0000",
|
|
||||||
"end_time": "2359",
|
|
||||||
"filename": "rd-lunar-dragon-splash.svg"
|
|
||||||
},
|
|
||||||
"valentines_day": {
|
|
||||||
"start_date": "0214",
|
|
||||||
"end_date": "0214",
|
|
||||||
"start_time": "0001",
|
|
||||||
"end_time": "2359",
|
|
||||||
"filename": "rd-valentines-splash.svg"
|
|
||||||
},
|
|
||||||
"retrodeck_birthday": {
|
|
||||||
"start_date": "0304",
|
|
||||||
"end_date": "0304",
|
|
||||||
"start_time": "0000",
|
|
||||||
"end_time": "2359",
|
|
||||||
"filename": "rd-gm-bday-splash.svg"
|
|
||||||
},
|
|
||||||
"st_patricks_day": {
|
|
||||||
"start_date": "0317",
|
|
||||||
"end_date": "0317",
|
|
||||||
"start_time": "0000",
|
|
||||||
"end_time": "2359",
|
|
||||||
"filename": "rd-stpatricks-splash.svg"
|
|
||||||
},
|
|
||||||
"kodomo_golden_week": {
|
|
||||||
"start_date": "0429",
|
|
||||||
"end_date": "0505",
|
|
||||||
"start_time": "0000",
|
|
||||||
"end_time": "2359",
|
|
||||||
"filename": "rd-kodomo-golden.svg"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"incompatible_presets": {
|
|
||||||
"borders": "widescreen"
|
|
||||||
},
|
|
||||||
"helper_files": {
|
"helper_files": {
|
||||||
"dolphin_mods": {
|
"dolphin_mods": {
|
||||||
"filename": "how-to-install-dolphin-mods.txt",
|
"filename": "how-to-install-dolphin-mods.txt",
|
||||||
"location": "$mods_folder/Dolphin"
|
"location": "$mods_folder/Dolphin"
|
||||||
},
|
},
|
||||||
"primehack_mods": {
|
"duckstation_textures": {
|
||||||
"filename": "how-to-install-primehack-mods.txt",
|
"filename": "how-to-install-Duckstation-textures.txt",
|
||||||
"location": "$mods_folder/Primehack"
|
"location": "$texture_packs_folder/Duckstation"
|
||||||
},
|
},
|
||||||
"mesen_textures": {
|
"mesen_textures": {
|
||||||
"filename": "how-to-install-Mesen-textures.txt",
|
"filename": "how-to-install-Mesen-textures.txt",
|
||||||
"location": "$texture_packs_folder/RetroArch-Mesen"
|
"location": "$texture_packs_folder/RetroArch-Mesen"
|
||||||
},
|
},
|
||||||
"ppsspp_textures": {
|
|
||||||
"filename": "how-to-install-PPSSPP-textures.txt",
|
|
||||||
"location": "$texture_packs_folder/PPSSPP"
|
|
||||||
},
|
|
||||||
"pcsx2_textures": {
|
|
||||||
"filename": "how-to-install-PCSX2-textures.txt",
|
|
||||||
"location": "$texture_packs_folder/PCSX2"
|
|
||||||
},
|
|
||||||
"mupen64plus_cache_textures": {
|
"mupen64plus_cache_textures": {
|
||||||
"filename": "how-to-install-Mupen64Plus-textures.txt",
|
"filename": "how-to-install-Mupen64Plus-textures.txt",
|
||||||
"location": "$texture_packs_folder/RetroArch-Mupen64Plus/cache"
|
"location": "$texture_packs_folder/RetroArch-Mupen64Plus/cache"
|
||||||
|
@ -134,9 +542,17 @@
|
||||||
"filename": "how-to-install-Mupen64Plus-textures.txt",
|
"filename": "how-to-install-Mupen64Plus-textures.txt",
|
||||||
"location": "$texture_packs_folder/RetroArch-Mupen64Plus/hires_texture"
|
"location": "$texture_packs_folder/RetroArch-Mupen64Plus/hires_texture"
|
||||||
},
|
},
|
||||||
"duckstation_textures": {
|
"pcsx2_textures": {
|
||||||
"filename": "how-to-install-Duckstation-textures.txt",
|
"filename": "how-to-install-PCSX2-textures.txt",
|
||||||
"location": "$texture_packs_folder/Duckstation"
|
"location": "$texture_packs_folder/PCSX2"
|
||||||
|
},
|
||||||
|
"ppsspp_textures": {
|
||||||
|
"filename": "how-to-install-PPSSPP-textures.txt",
|
||||||
|
"location": "$texture_packs_folder/PPSSPP"
|
||||||
|
},
|
||||||
|
"primehack_mods": {
|
||||||
|
"filename": "how-to-install-primehack-mods.txt",
|
||||||
|
"location": "$mods_folder/Primehack"
|
||||||
},
|
},
|
||||||
"psvita_games": {
|
"psvita_games": {
|
||||||
"filename": "how-to-install-psvita-games.txt",
|
"filename": "how-to-install-psvita-games.txt",
|
||||||
|
@ -147,6 +563,53 @@
|
||||||
"location": "$bios_folder/switch/firmware"
|
"location": "$bios_folder/switch/firmware"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"incompatible_presets": {
|
||||||
|
"borders": "widescreen"
|
||||||
|
},
|
||||||
|
"splash_screens": {
|
||||||
|
"kodomo_golden_week": {
|
||||||
|
"end_date": "0505",
|
||||||
|
"end_time": "2359",
|
||||||
|
"filename": "rd-kodomo-golden.svg",
|
||||||
|
"start_date": "0429",
|
||||||
|
"start_time": "0000"
|
||||||
|
},
|
||||||
|
"lunar_dragon": {
|
||||||
|
"end_date": "0212",
|
||||||
|
"end_time": "2359",
|
||||||
|
"filename": "rd-lunar-dragon-splash.svg",
|
||||||
|
"start_date": "0209",
|
||||||
|
"start_time": "0000"
|
||||||
|
},
|
||||||
|
"retrodeck_birthday": {
|
||||||
|
"end_date": "0304",
|
||||||
|
"end_time": "2359",
|
||||||
|
"filename": "rd-gm-bday-splash.svg",
|
||||||
|
"start_date": "0304",
|
||||||
|
"start_time": "0000"
|
||||||
|
},
|
||||||
|
"st_patricks_day": {
|
||||||
|
"end_date": "0317",
|
||||||
|
"end_time": "2359",
|
||||||
|
"filename": "rd-stpatricks-splash.svg",
|
||||||
|
"start_date": "0317",
|
||||||
|
"start_time": "0000"
|
||||||
|
},
|
||||||
|
"valentines_day": {
|
||||||
|
"end_date": "0214",
|
||||||
|
"end_time": "2359",
|
||||||
|
"filename": "rd-valentines-splash.svg",
|
||||||
|
"start_date": "0214",
|
||||||
|
"start_time": "0001"
|
||||||
|
},
|
||||||
|
"xmas": {
|
||||||
|
"end_date": "1231",
|
||||||
|
"end_time": "2359",
|
||||||
|
"filename": "rd-xmas-splash.svg",
|
||||||
|
"start_date": "1201",
|
||||||
|
"start_time": "0000"
|
||||||
|
}
|
||||||
|
},
|
||||||
"system": {
|
"system": {
|
||||||
"3do": {
|
"3do": {
|
||||||
"name": "3DO Interactive Multiplayer"
|
"name": "3DO Interactive Multiplayer"
|
||||||
|
@ -640,316 +1103,5 @@
|
||||||
"zxspectrum": {
|
"zxspectrum": {
|
||||||
"name": "Sinclair ZX Spectrum"
|
"name": "Sinclair ZX Spectrum"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"emulator": {
|
|
||||||
"retroarch": {
|
|
||||||
"description": "RetroArch (Multi-emulator Frontend)",
|
|
||||||
"name": "RetroArch",
|
|
||||||
"launch": "retroarch",
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"cheevos": true,
|
|
||||||
"cheevos_hardcore": true,
|
|
||||||
"quick_resume": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"cores": {
|
|
||||||
"citra_libretro": {
|
|
||||||
"description": "Nintendo 3DS Libretro Core",
|
|
||||||
"name": "Citra",
|
|
||||||
"system": "n3ds",
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"abxy_button": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"mame_libretro": {
|
|
||||||
"description": "MAME: Multiple Arcade Machine Libretro Core",
|
|
||||||
"name": "MAME",
|
|
||||||
"system": "arcade",
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"tate_mode": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"desmume_libretro": {
|
|
||||||
"description": "DeSmuME Nintendo DS Libretro Core",
|
|
||||||
"name": "desmume",
|
|
||||||
"system": "nds",
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"abxy_button": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"melonds_libretro": {
|
|
||||||
"description": "MelonDS Nintendo DS Libretro Core",
|
|
||||||
"name": "melonds",
|
|
||||||
"system": "nds",
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"abxy_button": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"swanstation_libretro": {
|
|
||||||
"name": "SwanStation",
|
|
||||||
"description": "Swanstation Libretro Core",
|
|
||||||
"system": "psx",
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"widescreen": true,
|
|
||||||
"borders": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"picodrive_libetro": {
|
|
||||||
"name": "PicoDrive",
|
|
||||||
"description": "SEGA MS/MD/CD/32X Libretro Core",
|
|
||||||
"system": [
|
|
||||||
"ms",
|
|
||||||
"md",
|
|
||||||
"cd",
|
|
||||||
"32x"
|
|
||||||
],
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"widescreen": true,
|
|
||||||
"borders": true,
|
|
||||||
"rewind": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"genesisplusgx_libetro": {
|
|
||||||
"name": "Genesis Plus GX",
|
|
||||||
"description": "SEGA MS/GG/MD/CD Libretro Core",
|
|
||||||
"system": [
|
|
||||||
"ms",
|
|
||||||
"gg",
|
|
||||||
"mc",
|
|
||||||
"cd"
|
|
||||||
],
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"widescreen": true,
|
|
||||||
"borders": true,
|
|
||||||
"rewind": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"genesisplusgxwide_libetro": {
|
|
||||||
"name": "Genesis Plus GX Wide",
|
|
||||||
"description": "SEGA MS/GG/MD/CD Libretro Core for Wide Screen",
|
|
||||||
"system": [
|
|
||||||
"ms",
|
|
||||||
"gg",
|
|
||||||
"mc",
|
|
||||||
"cd"
|
|
||||||
],
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"widescreen": true,
|
|
||||||
"rewind": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"mupen64plus-next_libetro": {
|
|
||||||
"name": "Mupen64Plus-Next",
|
|
||||||
"description": "Nintendo 64 Libretro Core",
|
|
||||||
"system": "n64",
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"widescreen": true,
|
|
||||||
"borders": true,
|
|
||||||
"abxy_button": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"snes9x-current_libetro": {
|
|
||||||
"name": "Snes9x - Current",
|
|
||||||
"description": "Super Nintendo Libretro Core",
|
|
||||||
"system": "snes",
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"widescreen": true,
|
|
||||||
"borders": true,
|
|
||||||
"rewind": true,
|
|
||||||
"abxy_button": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"gambatte_libetro": {
|
|
||||||
"name": "Gambatte",
|
|
||||||
"description": "Game Boy/Color Libretro Core",
|
|
||||||
"system": [
|
|
||||||
"gb",
|
|
||||||
"gbc"
|
|
||||||
],
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"borders": true,
|
|
||||||
"rewind": true,
|
|
||||||
"abxy_button": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"mgba_libetro": {
|
|
||||||
"name": "mGBA",
|
|
||||||
"description": "Game Boy Advance Libretro Core",
|
|
||||||
"system": "gba",
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"borders": true,
|
|
||||||
"rewind": true,
|
|
||||||
"abxy_button": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mame": {
|
|
||||||
"description": "MAME: Multiple Arcade Machine Emulator",
|
|
||||||
"name": "MAME",
|
|
||||||
"system": [
|
|
||||||
"arcade"
|
|
||||||
],
|
|
||||||
"launch": "mame"
|
|
||||||
},
|
|
||||||
"citra": {
|
|
||||||
"description": "Citra Nintendo 3DS Emulator (via Ponzu)",
|
|
||||||
"name": "Citra (via Ponzu)",
|
|
||||||
"system": "n3ds",
|
|
||||||
"ponzu": true,
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"abxy_button": true,
|
|
||||||
"ask_to_exit": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"melonds": {
|
|
||||||
"description": "MelonDS Nintendo DS Emulator",
|
|
||||||
"name": "melonds",
|
|
||||||
"system": "nds",
|
|
||||||
"launch": "MelonDS"
|
|
||||||
},
|
|
||||||
"pcsx2": {
|
|
||||||
"name": "pcsx2",
|
|
||||||
"description": "PCSX2 Play Station 2 Emulator",
|
|
||||||
"system": "ps2",
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"ask_to_exit": true,
|
|
||||||
"cheevos": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"duckstation": {
|
|
||||||
"name": "Duckstation",
|
|
||||||
"description": "PlayStation Emulator",
|
|
||||||
"launch": "duckstation-qt",
|
|
||||||
"system": "psx",
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"ask_to_exit": true,
|
|
||||||
"cheevos": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ppsspp": {
|
|
||||||
"name": "PPSSPP",
|
|
||||||
"description": "PPSSPP: PlayStation Portable Emulator",
|
|
||||||
"launch": "PPSSPPSDL",
|
|
||||||
"system": "psp",
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"cheevos": true,
|
|
||||||
"cheevos_hardcore": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"vita3k": {
|
|
||||||
"name": "Vita3k",
|
|
||||||
"description": "Vita3K PSVita Emulator",
|
|
||||||
"system": "psvita",
|
|
||||||
"launch": "Vita3K"
|
|
||||||
},
|
|
||||||
"rpcs3": {
|
|
||||||
"name": "RPCS3",
|
|
||||||
"description": "RPCS3 PlayStation 3 Emulator",
|
|
||||||
"system": "ps3",
|
|
||||||
"launch": "rpcs3",
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"ask_to_exit": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ryujinx": {
|
|
||||||
"name": "Ryujinx",
|
|
||||||
"description": "Ryujinx Nintendo Switch Emulator",
|
|
||||||
"system": "switch",
|
|
||||||
"launch": "Ryujinx.sh"
|
|
||||||
},
|
|
||||||
"yuzu": {
|
|
||||||
"name": "Yuzu (via Ponzu)",
|
|
||||||
"description": "Yuzu Nintendo Switch Emulator (via Ponzu)",
|
|
||||||
"launch": "Yuzu",
|
|
||||||
"system": "switch",
|
|
||||||
"ponzu": true,
|
|
||||||
"abxy_button": true
|
|
||||||
},
|
|
||||||
"dolphin": {
|
|
||||||
"name": "Dolphin",
|
|
||||||
"description": "Dolphin Wii and GameCube Emulator",
|
|
||||||
"launch": "dolphin-emu-wrapper",
|
|
||||||
"system": [
|
|
||||||
"gc",
|
|
||||||
"wii"
|
|
||||||
],
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"abxy_button": true,
|
|
||||||
"ask_to_exit": true,
|
|
||||||
"cheevos": true,
|
|
||||||
"cheevos_hardcore": true,
|
|
||||||
"universal_dyn_input": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"primehack": {
|
|
||||||
"name": "PrimeHack",
|
|
||||||
"description": "A fork of Dolphiin to enhance Metroid Prime experience",
|
|
||||||
"launch": "primehack-wrapper",
|
|
||||||
"system": [
|
|
||||||
"wii"
|
|
||||||
],
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"ask_to_exit": true,
|
|
||||||
"universal_dyn_input": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"cemu": {
|
|
||||||
"description": "Wii U emulator",
|
|
||||||
"name": "Cemu",
|
|
||||||
"system": "wiiu",
|
|
||||||
"launch": "Cemu-wrapper",
|
|
||||||
"properties": [
|
|
||||||
{
|
|
||||||
"abxy_button": true,
|
|
||||||
"multi_user_config_dir": "Cemu"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"xemu": {
|
|
||||||
"description": "xemu Xbox Emulator",
|
|
||||||
"name": "xemu",
|
|
||||||
"system": "xbox",
|
|
||||||
"launch": "xemu"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -9,8 +9,6 @@ var log_results: Dictionary
|
||||||
var theme_option: OptionButton
|
var theme_option: OptionButton
|
||||||
signal signal_theme_changed
|
signal signal_theme_changed
|
||||||
var custom_theme: Theme = $".".theme
|
var custom_theme: Theme = $".".theme
|
||||||
var emu_select_option: OptionButton
|
|
||||||
var emu_pick_option: OptionButton
|
|
||||||
var log_option: OptionButton
|
var log_option: OptionButton
|
||||||
var tab_container: TabContainer
|
var tab_container: TabContainer
|
||||||
var anim_logo: AnimatedSprite2D
|
var anim_logo: AnimatedSprite2D
|
||||||
|
@ -24,8 +22,8 @@ func _ready():
|
||||||
_connect_signals()
|
_connect_signals()
|
||||||
_play_main_animations()
|
_play_main_animations()
|
||||||
|
|
||||||
data_handler.add_emaultor()
|
#data_handler.add_emulator()
|
||||||
data_handler.modify_emulator_test()
|
#data_handler.modify_emulator_test()
|
||||||
|
|
||||||
$Background/locale_option.selected = class_functions.map_locale_id(OS.get_locale_language())
|
$Background/locale_option.selected = class_functions.map_locale_id(OS.get_locale_language())
|
||||||
"""
|
"""
|
||||||
|
@ -67,8 +65,6 @@ func _ready():
|
||||||
func _get_nodes() -> void:
|
func _get_nodes() -> void:
|
||||||
status_code_label = get_node("%status_code_label")
|
status_code_label = get_node("%status_code_label")
|
||||||
theme_option = get_node("%theme_optionbutton")
|
theme_option = get_node("%theme_optionbutton")
|
||||||
emu_select_option = get_node("%emu_select_option")
|
|
||||||
emu_pick_option = get_node("%emu_pick_option")
|
|
||||||
tab_container = get_node("%TabContainer")
|
tab_container = get_node("%TabContainer")
|
||||||
anim_logo = get_node("%logo_animated")
|
anim_logo = get_node("%logo_animated")
|
||||||
log_option = get_node("%logs_button")
|
log_option = get_node("%logs_button")
|
||||||
|
@ -77,22 +73,8 @@ func _connect_signals() -> void:
|
||||||
#signal_theme_changed.connect(_conf_theme)
|
#signal_theme_changed.connect(_conf_theme)
|
||||||
theme_option.item_selected.connect(_conf_theme)
|
theme_option.item_selected.connect(_conf_theme)
|
||||||
signal_theme_changed.emit(theme_option.item_selected)
|
signal_theme_changed.emit(theme_option.item_selected)
|
||||||
emu_select_option.item_selected.connect(_emu_select)
|
|
||||||
emu_pick_option.item_selected.connect(_emu_pick)
|
|
||||||
log_option.item_selected.connect(_load_log)
|
log_option.item_selected.connect(_load_log)
|
||||||
|
|
||||||
func _emu_select(index: int) -> void:
|
|
||||||
emu_pick_option.visible = true
|
|
||||||
#change to radio button select
|
|
||||||
_play_main_animations()
|
|
||||||
if (index == 3): # make function and pass start and end
|
|
||||||
emu_pick_option.set_item_disabled(1, true)
|
|
||||||
emu_pick_option.set_item_disabled(2, true)
|
|
||||||
|
|
||||||
func _emu_pick(index: int) -> void:
|
|
||||||
emu_pick_option.visible = true
|
|
||||||
_play_main_animations()
|
|
||||||
|
|
||||||
func _load_log(index: int) -> void:
|
func _load_log(index: int) -> void:
|
||||||
var log_content:String
|
var log_content:String
|
||||||
match index:
|
match index:
|
||||||
|
|
|
@ -165,7 +165,7 @@ grow_vertical = 2
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
tab_alignment = 1
|
tab_alignment = 1
|
||||||
current_tab = 2
|
current_tab = 5
|
||||||
script = ExtResource("3_id6l4")
|
script = ExtResource("3_id6l4")
|
||||||
|
|
||||||
[node name="TK_GRAPHICS" type="MarginContainer" parent="Background/MarginContainer/TabContainer"]
|
[node name="TK_GRAPHICS" type="MarginContainer" parent="Background/MarginContainer/TabContainer"]
|
||||||
|
@ -324,6 +324,7 @@ button_pressed = true
|
||||||
text = "TK_HOTKEYSOUND"
|
text = "TK_HOTKEYSOUND"
|
||||||
|
|
||||||
[node name="TK_SYSTEM" type="MarginContainer" parent="Background/MarginContainer/TabContainer"]
|
[node name="TK_SYSTEM" type="MarginContainer" parent="Background/MarginContainer/TabContainer"]
|
||||||
|
visible = false
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_constants/margin_right = 240
|
theme_override_constants/margin_right = 240
|
||||||
|
|
||||||
|
@ -576,41 +577,6 @@ text = "TK_GENTOOLS"
|
||||||
[node name="tools_separator" type="HSeparator" parent="Background/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/tools_container"]
|
[node name="tools_separator" type="HSeparator" parent="Background/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/tools_container"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="emu_select_option" type="OptionButton" parent="Background/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/tools_container"]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
layout_mode = 2
|
|
||||||
size_flags_horizontal = 4
|
|
||||||
item_count = 4
|
|
||||||
selected = 0
|
|
||||||
popup/item_0/text = "TK_SELECT_EMU"
|
|
||||||
popup/item_0/id = 0
|
|
||||||
popup/item_0/disabled = true
|
|
||||||
popup/item_0/separator = true
|
|
||||||
popup/item_1/text = "RetroArch"
|
|
||||||
popup/item_1/id = 1
|
|
||||||
popup/item_2/text = "MAME"
|
|
||||||
popup/item_2/id = 2
|
|
||||||
popup/item_3/text = ""
|
|
||||||
popup/item_3/id = 3
|
|
||||||
|
|
||||||
[node name="emu_pick_option" type="OptionButton" parent="Background/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/tools_container"]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
visible = false
|
|
||||||
layout_mode = 2
|
|
||||||
size_flags_horizontal = 4
|
|
||||||
item_count = 4
|
|
||||||
selected = 0
|
|
||||||
popup/item_0/text = "TK_ACTION_EMU"
|
|
||||||
popup/item_0/id = 0
|
|
||||||
popup/item_0/disabled = true
|
|
||||||
popup/item_0/separator = true
|
|
||||||
popup/item_1/text = "HELP"
|
|
||||||
popup/item_1/id = 1
|
|
||||||
popup/item_2/text = "LAUNCH"
|
|
||||||
popup/item_2/id = 2
|
|
||||||
popup/item_3/text = "RESET"
|
|
||||||
popup/item_3/id = 3
|
|
||||||
|
|
||||||
[node name="emu_open_button" type="Button" parent="Background/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/tools_container"]
|
[node name="emu_open_button" type="Button" parent="Background/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/tools_container"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "TK_EMUOPEN"
|
text = "TK_EMUOPEN"
|
||||||
|
@ -813,7 +779,6 @@ disabled = true
|
||||||
text = "TK_FTPBTN"
|
text = "TK_FTPBTN"
|
||||||
|
|
||||||
[node name="TK_TROUBLESHOOT" type="MarginContainer" parent="Background/MarginContainer/TabContainer"]
|
[node name="TK_TROUBLESHOOT" type="MarginContainer" parent="Background/MarginContainer/TabContainer"]
|
||||||
visible = false
|
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_constants/margin_right = 240
|
theme_override_constants/margin_right = 240
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -2,7 +2,7 @@ extends Node
|
||||||
|
|
||||||
class_name DataHandler
|
class_name DataHandler
|
||||||
|
|
||||||
var data_file_path = "res://data_list.json"
|
var data_file_path = "../../config/retrodeck/reference_lists/features.json"
|
||||||
var app_data: AppData
|
var app_data: AppData
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
|
@ -30,24 +30,18 @@ func load_base_data() -> AppData:
|
||||||
about_links[key] = link
|
about_links[key] = link
|
||||||
|
|
||||||
var emulators = {}
|
var emulators = {}
|
||||||
for key in data_dict["emulators"].keys():
|
for key in data_dict["emulator"].keys():
|
||||||
var emulator_data = data_dict["emulators"][key]
|
var emulator_data = data_dict["emulator"][key]
|
||||||
var emulator = Emulator.new()
|
var emulator = Emulator.new()
|
||||||
|
|
||||||
emulator.name = emulator_data["name"]
|
emulator.name = emulator_data["name"]
|
||||||
emulator.description = emulator_data["description"]
|
emulator.description = emulator_data["description"]
|
||||||
|
print (emulator.name)
|
||||||
#emulator.options = []
|
if emulator_data.has("properties"):
|
||||||
#emulator.properties = []
|
|
||||||
for option_data in emulator_data["options"]:
|
|
||||||
var option = EmulatorOption.new()
|
|
||||||
option.resettable = option_data["resettable"]
|
|
||||||
emulator.options.append(option)
|
|
||||||
|
|
||||||
|
|
||||||
for property_data in emulator_data["properties"]:
|
for property_data in emulator_data["properties"]:
|
||||||
var property = EmulatorProperty.new()
|
var property = EmulatorProperty.new()
|
||||||
property.standalone = property_data.get("standalone", false)
|
property.standalone = property_data.get("standalone", false)
|
||||||
property.abxy_button_status = property_data.get("abxy_button", {}).get("status", false)
|
# property.abxy_button_status = property_data.get("abxy_button", {}).get("status", false)
|
||||||
emulator.properties.append(property)
|
emulator.properties.append(property)
|
||||||
|
|
||||||
emulators[key] = emulator
|
emulators[key] = emulator
|
||||||
|
@ -97,12 +91,6 @@ func save_base_data(app_data: AppData):
|
||||||
var emulators = {}
|
var emulators = {}
|
||||||
for key in app_data.emulators.keys():
|
for key in app_data.emulators.keys():
|
||||||
var emulator = app_data.emulators[key]
|
var emulator = app_data.emulators[key]
|
||||||
var options = []
|
|
||||||
for option in emulator.options:
|
|
||||||
options.append({
|
|
||||||
"resettable": option.resettable
|
|
||||||
})
|
|
||||||
|
|
||||||
var properties = []
|
var properties = []
|
||||||
for property in emulator.properties:
|
for property in emulator.properties:
|
||||||
properties.append({
|
properties.append({
|
||||||
|
@ -113,7 +101,6 @@ func save_base_data(app_data: AppData):
|
||||||
emulators[key] = {
|
emulators[key] = {
|
||||||
"name": emulator.name,
|
"name": emulator.name,
|
||||||
"description": emulator.description,
|
"description": emulator.description,
|
||||||
"options": options,
|
|
||||||
"properties": properties
|
"properties": properties
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -155,20 +142,13 @@ func modify_link(key: String, new_name: String, new_url: String, new_description
|
||||||
print("Link not found")
|
print("Link not found")
|
||||||
|
|
||||||
# Function to modify an existing emulator
|
# Function to modify an existing emulator
|
||||||
func modify_emulator(key: String, new_name: String, new_description: String, new_options: Array, new_properties: Array):
|
func modify_emulator(key: String, new_name: String, new_description: String, new_properties: Array):
|
||||||
var app_data = load_base_data()
|
var app_data = load_base_data()
|
||||||
if app_data and app_data.emulators.has(key):
|
if app_data and app_data.emulators.has(key):
|
||||||
var emulator = app_data.emulators[key]
|
var emulator = app_data.emulators[key]
|
||||||
emulator.name = new_name
|
emulator.name = new_name
|
||||||
emulator.description = new_description
|
emulator.description = new_description
|
||||||
|
|
||||||
# Update options
|
|
||||||
emulator.options.clear()
|
|
||||||
for option in new_options:
|
|
||||||
var new_option = EmulatorOption.new()
|
|
||||||
new_option.resettable = option.resettable
|
|
||||||
emulator.options.append(new_option)
|
|
||||||
|
|
||||||
# Update properties
|
# Update properties
|
||||||
emulator.properties.clear()
|
emulator.properties.clear()
|
||||||
for property in new_properties:
|
for property in new_properties:
|
||||||
|
@ -184,7 +164,7 @@ func modify_emulator(key: String, new_name: String, new_description: String, new
|
||||||
print("Emulator not found")
|
print("Emulator not found")
|
||||||
|
|
||||||
|
|
||||||
func add_emaultor() -> void:
|
func add_emulator() -> void:
|
||||||
var link = Link.new()
|
var link = Link.new()
|
||||||
link.name = "Example Site"
|
link.name = "Example Site"
|
||||||
link.url = "https://example.com"
|
link.url = "https://example.com"
|
||||||
|
@ -194,9 +174,6 @@ func add_emaultor() -> void:
|
||||||
var emulator = Emulator.new()
|
var emulator = Emulator.new()
|
||||||
emulator.name = "Example Emulator"
|
emulator.name = "Example Emulator"
|
||||||
emulator.description = "An example emulator."
|
emulator.description = "An example emulator."
|
||||||
var option = EmulatorOption.new()
|
|
||||||
option.resettable = true
|
|
||||||
emulator.options.append(option)
|
|
||||||
var property = EmulatorProperty.new()
|
var property = EmulatorProperty.new()
|
||||||
property.standalone = true
|
property.standalone = true
|
||||||
property.abxy_button_status = false
|
property.abxy_button_status = false
|
||||||
|
@ -207,10 +184,6 @@ func add_emaultor() -> void:
|
||||||
func modify_emulator_test() -> void:
|
func modify_emulator_test() -> void:
|
||||||
data_handler.modify_link("example_site", "Updated Site", "https://updated-example.com", "Updated description.")
|
data_handler.modify_link("example_site", "Updated Site", "https://updated-example.com", "Updated description.")
|
||||||
|
|
||||||
var new_options = []
|
|
||||||
var new_option = EmulatorOption.new()
|
|
||||||
new_option.resettable = false
|
|
||||||
new_options.append(new_option)
|
|
||||||
|
|
||||||
var new_properties = []
|
var new_properties = []
|
||||||
var new_property = EmulatorProperty.new()
|
var new_property = EmulatorProperty.new()
|
||||||
|
@ -218,7 +191,7 @@ func modify_emulator_test() -> void:
|
||||||
new_property.abxy_button_status = true
|
new_property.abxy_button_status = true
|
||||||
new_properties.append(new_property)
|
new_properties.append(new_property)
|
||||||
|
|
||||||
data_handler.modify_emulator("example_emulator", "Updated Emulator", "Updated description", new_options, new_properties)
|
data_handler.modify_emulator("example_emulator", "Updated Emulator", "Updated description", new_properties)
|
||||||
|
|
||||||
|
|
||||||
func parse_config_to_json(file_path: String) -> Dictionary:
|
func parse_config_to_json(file_path: String) -> Dictionary:
|
||||||
|
|
|
@ -3,5 +3,4 @@ extends Resource
|
||||||
class_name Emulator
|
class_name Emulator
|
||||||
@export var name: String
|
@export var name: String
|
||||||
@export var description: String
|
@export var description: String
|
||||||
@export var options: Array[EmulatorOption]
|
|
||||||
@export var properties: Array[EmulatorProperty]
|
@export var properties: Array[EmulatorProperty]
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
extends Resource
|
|
||||||
|
|
||||||
class_name EmulatorOption
|
|
||||||
@export var resettable: bool
|
|
|
@ -21,6 +21,9 @@ func _ready():
|
||||||
|
|
||||||
for id in app_data.about_links:
|
for id in app_data.about_links:
|
||||||
var web_data = app_data.about_links[id]
|
var web_data = app_data.about_links[id]
|
||||||
|
var linkT =Link.new()
|
||||||
|
linkT = app_data.about_links[id]
|
||||||
|
print ("FREEED" + linkT.name)
|
||||||
match id:
|
match id:
|
||||||
"rd_web":
|
"rd_web":
|
||||||
%website_button.tooltip_text = web_data.description
|
%website_button.tooltip_text = web_data.description
|
||||||
|
|
Loading…
Reference in a new issue