RetroDECK/tools/configurator/scripts/data_handler.gd
XargonWan 55a4754845
feat/godot configurator (#866)
* Added all TKeys, added DE column in localization

* Fix game scan TKeys

* Initial integration of IT, DE and SE translations
Fixes to compound translations

* Translation fixes, style unification

* Added localized resources, translation changes, changed Swedish to "sv"

* New font, UA, JA and ZH translations
Font fixes
New TKeys, some TKey changes
Theme fixes

* Theme fixes
FINALLY scrollbars
No more blur
Nice buttons

* Changed UA flag to a more consistent one

* 2x bigger toggles
More bleak disabled items

* Scaled localized icons

* Full BIOS check functionality, temp file management

Added BIOS check (both basic and expert)
Blocking godot until bios files are checked (to check if ok)
Calling function wrapper
Added conditions to check for runtime dir env var
Changed fallback dir

* Fixed prepare script

* Suggestion for alt row colours

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/components/bios_check/bios_check.gd

* GODOT_CONFIGURATOR: reverted some mistakenly merged changes

* Update cooker-selfhosted.yml

Changed Ubuntu version to 20.04

* Update cooker-selfhosted.yml

* Update cooker-selfhosted.yml

* e

* ES-DE: outsourced

* RetroArch: migrated to AppImage

* XEMU: migrated to AppImage

* MELONDS: migrated to AppImage

* RPCS3: migrated to AppImage

* MANIFEST: little fixes

* MANIFEST: avoid overwriting native libraries

* MANIFEST: fixing ES-DE

* MANIFEST: fixed and normalized /app with FLATPAK_DEST

* MANIFEST: cleanup

* MANIFEST: test

* MANIFEST: test 2

* MANIFEST: RA keep changing hash, mendokusai

* MANIFEST: test 3

* MANIFEST: fixed RetroArch

* PPSSPP: added wanted sdl module

* PPSSPP: added wanted sdl module - more

* ES-DE: moved repo

* PPSSPP: outsourced

* PPSSPP: fixed link

* PPSSPP: fixed link - fix

* PPSSPP: fixed link - fix2

* PPSSPP: fixed link - fix3

* ES-DE: fixed link maybe

* MANIFEST: fixing copy actions

* PCSX2: removing troublesome file

* DOLPHIN: outsourced

* SOLARUS: outsourced

* MANIFEST: fixing file typoes missing for AppImage manifest

* MANIFEST: indentation fixes

* MANIFEST: lowercased rpcs3 sha

* MANIFEST: trying to figure out automation_task_list

* RPCS3: Xargon go home, you're drunk!

* RPCS3: Xargon, are you home yet?

* MANIFEST: fixed primehack placeholders

* MANIFEST: fixed copy commands (again)

* MANIFEST: just added a new line

* XEMU: release broken?

* XEMU: trying a move

* XEMU: trying a move

* REVERT ME: RUNNER CHANGED

* XEMU: Dunno... I will just put ranndom commits messgaes as i will squash-merge this

* MANIFEST: reverting cpr -r commands

* XEMU: moved on the bottom just to see if something changes

* MELONDS: whoops

* DUCKSTATION: wrong cp target

* MANIFEST: trying a new method

* MANIFEST: trying a new method -fix

* MANFEST: moved thir party libraries in /app/usr/local/lib

* MANFEST: removing dolphin debug libraries

* MANFEST: removing primehack debug libraries

* MANFEST: removing primehack pkgconfig libraries

* MANFEST: removing cemu lib

* SOLARUS: removing errored libs

* MAME: reverted to its original state as itś not coming with libraries

* RYUJINX: fixing chmod command

* GZDOOM: outsourced

* MANIFEST: added debug for checking out where tf is our icon

* Submodules cleanup

* GZDOOM: cleanup

* MAME: restoring cp -rn and moving it to the end of the manifest

* MAME: restoring cp -rn and moving it to the end of the manifest

* Applying flathub dev bbhtt's suggestions

* Applying flathub dev bbhtt's suggestions - part 2

* Applying flathub dev bbhtt's suggestions - part 3

* FRAMEWORK: moved third party libs into /app/retrodeck/lib

* MANIFEST: added retrodeck-pre-build commands

* MANIFEST: module renamed

* ES-DE: re-removed 'files/lib/girepository-1.0'

* Adding debug

* GLOBAL: pathing the retrodeck components provided libraries

* RPCS3: moved bufgix in the proper module

* MANIFEST: moved component libraries into /app/retrodeck/lib

* MANIFEST: removing some debug cleanups

* MANIFEST: desktop file don't need to be executable

* ES-DE: re-adding libpoppler

* ES--DE: moved to the end to overwrite older libraries

* RYUJINX: fixed manifest

* MANIFEST: injecting needed libraries and discarding the troublesome ones

* MANIFEST: injecting needed libraries and discarding the troublesome ones - adding more

* MelonDS: outsourced but self built in QT6

* MANIFEST: automated the third party libs manager

* MANIFEST: fixed melonds build

* Ryujinx: downgraded to the older but working version

* MANIFEST: removed debug code

* WORKFLOW: running on self-hosted again

* MANIFEST: adding load library path directly in the manifest

* Revert "MANIFEST: adding load library path directly in the manifest"

This reverts commit 27914f0ffd.

* Whoops typo

* MANIFEST: including debug and pkgconfig's librareis

* MANIFEST: removing pkgconfig's librareis

* MANIFEST: cannot move so copy and remove

* MANIFEST: cannot move so copy and remove - fix

* Toying with automation file to make it work again

* PRE_BUILD_AUTOMATION: testing a different script

* PRE_BUILD_AUTOMATION: adding new sha function

* MAME: fixing link

* PRE_BUILD_AUTOMATION: using new HASH placeholder

* Revert "PRE_BUILD_AUTOMATION: using new HASH placeholder"

This reverts commit 45f1add494.

* MANIFEST: tweaks

* ATL: fixing ES-DE entry

* ATL: fixing ES-DE entry - fix2

* PPSSPP: fixed hash

* SOLARUS: fixing debug libs copy command

* APDATA: updated

* SOLARUS: that's not the library you're looking for

* GZDOOM: removing debug even here

* Revamped codename wordlist

* On branch feat/godot-configurator
 Changes to be committed:
	new file:   configurator/scripts/class_functions.gd
	modified:   retrodeck_function_wrapper.sh

* MANIFEST: following symlinks during library copy

* WORKFLOW: moving down the artifact preparation for fltahub as we don't even need it in cooker

* Manually adding missing libraries

* More codenames

* CEMU: added wrapper +  RPCS3 fixes

* THE GREAT FOLDER MOVE (aka let's see how much things I can break in a single commit)

* emu: fixed dest filename for the wrapper

* Cemu: fixing wrapper installation

* CEMU: fixed wrapper again [skip ci]

* MANIFEST: cleanup [skip ci]

* MANIFEST: cleanup [skip ci]

* MANIFEST: trying to add LLVM to solve PCSX2, Duckstation issues

* MANIFEST: adding llvm doesn't change the situation, removed

* MANIFEST: trying to add vulkan

* MANIFEST: trying to add vulkan - removed as it should be already in (and that's broken)

* VULKAN: testing some libraries

* VULKAN: trying to add shaderc

* VULKAN: trying to add shaderc - nope [skip ci]

* Added logging as a function.
 Added github workflow to build configurator

 On branch feat/godot-configurator
 Changes to be committed:
	new file:   .github/workflows/build-configurator.yml
	new file:   tools/configurator/basic
	modified:   tools/configurator/components/bios_check/bios_check.gd
	modified:   tools/configurator/main.gd
	modified:   tools/configurator/main.tscn
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres
	modified:   tools/configurator/scripts/class_functions.gd

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml
	modified:   tools/configurator/export_presets.cfg

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/export_presets.cfg

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/main.gd

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/main.gd

* Theme and Theme Inheritance
 On branch feat/godot-configurator
 Changes to be committed:
	new file:   tools/configurator/assets/fonts/OpenDyslexic3/OpenDyslexic3-Bold.ttf
	new file:   tools/configurator/assets/fonts/OpenDyslexic3/OpenDyslexic3-Bold.ttf.import
	new file:   tools/configurator/assets/fonts/OpenDyslexic3/OpenDyslexic3-Regular.ttf
	new file:   tools/configurator/assets/fonts/OpenDyslexic3/OpenDyslexic3-Regular.ttf.import
	new file:   tools/configurator/assets/fonts/akrobat/Akrobat-Black.otf
	new file:   tools/configurator/assets/fonts/akrobat/Akrobat-Black.otf.import
	new file:   tools/configurator/assets/fonts/akrobat/Akrobat-Bold.otf
	new file:   tools/configurator/assets/fonts/akrobat/Akrobat-Bold.otf.import
	new file:   tools/configurator/assets/fonts/akrobat/Akrobat-ExtraLight.otf
	new file:   tools/configurator/assets/fonts/akrobat/Akrobat-ExtraLight.otf.import
	new file:   tools/configurator/assets/fonts/akrobat/Akrobat-Light.otf
	new file:   tools/configurator/assets/fonts/akrobat/Akrobat-Light.otf.import
	new file:   tools/configurator/assets/fonts/akrobat/Akrobat-Regular.otf
	new file:   tools/configurator/assets/fonts/akrobat/Akrobat-Regular.otf.import
	new file:   tools/configurator/assets/fonts/akrobat/Akrobat-SemiBold.otf
	new file:   tools/configurator/assets/fonts/akrobat/Akrobat-SemiBold.otf.import
	new file:   tools/configurator/assets/fonts/akrobat/akrobat-extrabold-webfont.ttf
	new file:   tools/configurator/assets/fonts/akrobat/akrobat-extrabold-webfont.ttf.import
	new file:   tools/configurator/assets/fonts/munro/munro-narrow.ttf
	new file:   tools/configurator/assets/fonts/munro/munro-narrow.ttf.import
	new file:   tools/configurator/assets/fonts/munro/munro-small.ttf
	new file:   tools/configurator/assets/fonts/munro/munro-small.ttf.import
	new file:   tools/configurator/assets/fonts/munro/munro.ttf
	new file:   tools/configurator/assets/fonts/munro/munro.ttf.import
	new file:   tools/configurator/assets/graphics/Rekku/Rekku-test.xcf
	new file:   tools/configurator/assets/graphics/Rekku/base.png
	new file:   tools/configurator/assets/graphics/Rekku/base.png.import
	new file:   tools/configurator/assets/graphics/Rekku/blink1.png
	new file:   tools/configurator/assets/graphics/Rekku/blink1.png.import
	new file:   tools/configurator/assets/graphics/Rekku/blink2.png
	new file:   tools/configurator/assets/graphics/Rekku/blink2.png.import
	new file:   tools/configurator/assets/graphics/Rekku/eyes-open.png
	new file:   tools/configurator/assets/graphics/Rekku/eyes-open.png.import
	new file:   tools/configurator/assets/graphics/Rekku/mouth-A.png
	new file:   tools/configurator/assets/graphics/Rekku/mouth-A.png.import
	new file:   tools/configurator/assets/graphics/Rekku/mouth-O.png
	new file:   tools/configurator/assets/graphics/Rekku/mouth-O.png.import
	new file:   tools/configurator/assets/graphics/Rekku/mouth-base.png
	new file:   tools/configurator/assets/graphics/Rekku/mouth-base.png.import
	new file:   tools/configurator/assets/graphics/Rekku/rekku-blink-down.png
	new file:   tools/configurator/assets/graphics/Rekku/rekku-blink-down.png.import
	new file:   tools/configurator/assets/graphics/Rekku/rekku-blink-up.png
	new file:   tools/configurator/assets/graphics/Rekku/rekku-blink-up.png.import
	new file:   tools/configurator/assets/graphics/Rekku/rekku-idle.png
	new file:   tools/configurator/assets/graphics/Rekku/rekku-idle.png.import
	new file:   tools/configurator/assets/graphics/Rekku/rekku-speak1.png
	new file:   tools/configurator/assets/graphics/Rekku/rekku-speak1.png.import
	new file:   tools/configurator/assets/graphics/Rekku/rekku-speak2.png
	new file:   tools/configurator/assets/graphics/Rekku/rekku-speak2.png.import
	new file:   tools/configurator/assets/graphics/retrodeck.png
	new file:   tools/configurator/assets/graphics/retrodeck.png.import
	new file:   tools/configurator/assets/themes/accesible_theme.tres
	new file:   tools/configurator/assets/themes/default_theme.tres
	new file:   tools/configurator/assets/themes/modern_theme.tres
	new file:   tools/configurator/assets/themes/retro_theme.tres
	modified:   tools/configurator/components/bios_check/bios_check.gd
	modified:   tools/configurator/main.gd
	modified:   tools/configurator/main.tscn
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/components/popup.gd

* Added Emulator Select and Pick options.

 On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/main.gd
	modified:   tools/configurator/main.tscn
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/main.gd
	modified:   tools/configurator/main.tscn
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres

* Rekku and Logo animations

 On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/main.gd
	modified:   tools/configurator/main.tscn
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres

 Untracked files:
	tools/configurator/assets/graphics/retrodeck_base.png
	tools/configurator/assets/graphics/retrodeck_base.png.import
	tools/configurator/assets/graphics/retrodeck_base_anim.png
	tools/configurator/assets/graphics/retrodeck_base_anim.png.import
	tools/configurator/assets/graphics/retrodeck_base_anim.xcf
	tools/configurator/assets/graphics/retrodeck_base_shake0.png
	tools/configurator/assets/graphics/retrodeck_base_shake0.png.import
	tools/configurator/assets/graphics/retrodeck_base_shake1.png
	tools/configurator/assets/graphics/retrodeck_base_shake1.png.import
	tools/configurator/assets/graphics/retrodeck_base_shake2.png
	tools/configurator/assets/graphics/retrodeck_base_shake2.png.import
	tools/configurator/assets/graphics/retrodeck_base_shake3.png
	tools/configurator/assets/graphics/retrodeck_base_shake3.png.import
	tools/configurator/assets/graphics/retrodeck_base_shake4.png
	tools/configurator/assets/graphics/retrodeck_base_shake4.png.import
	tools/configurator/rekku_animated.tscn

* Add Wobble!

 On branch feat/godot-configurator
 Changes to be committed:
	new file:   tools/configurator/assets/graphics/retrodeck_base.png
	new file:   tools/configurator/assets/graphics/retrodeck_base.png.import
	new file:   tools/configurator/assets/graphics/retrodeck_base_anim.png
	new file:   tools/configurator/assets/graphics/retrodeck_base_anim.png.import
	new file:   tools/configurator/assets/graphics/retrodeck_base_anim.xcf
	new file:   tools/configurator/assets/graphics/retrodeck_base_shake0.png
	new file:   tools/configurator/assets/graphics/retrodeck_base_shake0.png.import
	new file:   tools/configurator/assets/graphics/retrodeck_base_shake1.png
	new file:   tools/configurator/assets/graphics/retrodeck_base_shake1.png.import
	new file:   tools/configurator/assets/graphics/retrodeck_base_shake2.png
	new file:   tools/configurator/assets/graphics/retrodeck_base_shake2.png.import
	new file:   tools/configurator/assets/graphics/retrodeck_base_shake3.png
	new file:   tools/configurator/assets/graphics/retrodeck_base_shake3.png.import
	new file:   tools/configurator/assets/graphics/retrodeck_base_shake4.png
	new file:   tools/configurator/assets/graphics/retrodeck_base_shake4.png.import
	new file:   tools/configurator/rekku_animated.tscn
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/components/bios_check/bios_check.gd
	modified:   tools/configurator/main.gd
	modified:   tools/configurator/main.tscn
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres

* ES-DE: testing out the new compact menu

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/main.tscn

* ES-DE: testing out the new compact menu - newer build

* Add change data for about us section via a csv

 On branch feat/godot-configurator
 Changes to be committed:
	new file:   tools/configurator/assets/data_lists/tk_about.Description.translation
	new file:   tools/configurator/assets/data_lists/tk_about.URL.translation
	new file:   tools/configurator/assets/data_lists/tk_about.csv
	new file:   tools/configurator/assets/data_lists/tk_about.csv.import
	modified:   tools/configurator/emu_list.yml
	modified:   tools/configurator/main.tscn
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres
	modified:   tools/configurator/scripts/class_functions.gd
	new file:   tools/configurator/tk_about.gd

* On branch feat/godot-configurator
 Changes to be committed:
	deleted:    configurator/assets/data_lists/tk_about.Description.translation
	deleted:    configurator/assets/data_lists/tk_about.URL.translation
	deleted:    configurator/assets/data_lists/tk_about.csv.import
	new file:   configurator/export/configurator.console.exe
	new file:   configurator/export/configurator.exe
	new file:   configurator/export/configurator.pck
	new file:   configurator/export/configurator.sh
	new file:   configurator/export/configurator.x86_64
	renamed:    configurator/assets/data_lists/tk_about.csv -> configurator/export/tk_about.txt
	modified:   configurator/export_presets.cfg
	modified:   configurator/tk_about.gd
	new file:   configurator/tk_about.txt

* Improved parsing of files for pulling out data

 On branch feat/godot-configurator
 Changes to be committed:
	modified:   main.gd
	modified:   res/pixel_ui_theme/RetroDECKTheme.tres
	modified:   scripts/class_functions.gd
	modified:   tk_about.gd
	modified:   tk_about.txt

* ES-DE: testing out the new compact menu - newer build 2

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/components/bios_check/bios_check.gd
	new file:   tools/configurator/data_list.json
	new file:   tools/configurator/data_list.yml
	modified:   tools/configurator/main.gd
	modified:   tools/configurator/project.godot
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres
	modified:   tools/configurator/scripts/class_functions.gd
	modified:   tools/configurator/tk_about.gd

* Adding json support and supporting class

 On branch feat/godot-configurator
 Changes to be committed:
	deleted:    tools/configurator/basic
	new file:   tools/configurator/data.json
	modified:   tools/configurator/data_list.json
	modified:   tools/configurator/main.gd
	modified:   tools/configurator/project.godot
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres
	new file:   tools/configurator/scripts/app_data.gd
	modified:   tools/configurator/scripts/class_functions.gd
	new file:   tools/configurator/scripts/data_handler.gd
	new file:   tools/configurator/scripts/emulator.gd
	new file:   tools/configurator/scripts/emulator_option.gd
	new file:   tools/configurator/scripts/emulator_property.gd
	new file:   tools/configurator/scripts/link.gd
	new file:   tools/configurator/scripts/save_manager.gd

* On branch feat/godot-configurator
 Changes to be committed:
 modified:   tools/configurator/data_list.json
	modified:   tools/configurator/export/configurator.pck
	deleted:    tools/configurator/export/tk_about.txt
	modified:   tools/configurator/main.gd
	modified:   tools/configurator/project.godot
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres
	modified:   tools/configurator/scripts/data_handler.gd
	modified:   tools/configurator/scripts/emulator_property.gd
	modified:   tools/configurator/tk_about.gd

	tools/configurator/export/data_list.json

* On branch feat/godot-configurator
 Changes to be committed:
	new file:   tools/configurator/export/data_list.json

* Now includes modify json. Need cleaning up!
 On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/data_list.json
	modified:   tools/configurator/export/configurator.pck
	modified:   tools/configurator/main.gd
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres
	modified:   tools/configurator/scripts/data_handler.gd

* ES-DE: testing out the new compact menu - newer build 3

* Manifest: renaming es-de module to stick with the repo name for updating purposes

* ES-DE: updated module with new artifact URL and SHA256 [skip ci]

* Revert "ES-DE: updated module with new artifact URL and SHA256 [skip ci]"

This reverts commit b85ad1573d.

* If this breaks to gzdoom is ok

* If this breaks to gzdoom is ok - fix

* Migrated to the new latest links

* MAME: frixed url

* PCSX2: updated to 2.1.55

* Tidying up

 On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/main.gd
	modified:   tools/configurator/project.godot
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres
	modified:   tools/configurator/scripts/data_handler.gd
	deleted:    tools/configurator/scripts/save_manager.gd

* On branch feat/godot-configurator
 Changes to be committed:
	deleted:    tools/configurator/data.json
	modified:   tools/configurator/main.gd
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres
	modified:   tools/configurator/scripts/data_handler.gd

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/main.gd
	modified:   tools/configurator/main.tscn
	modified:   tools/configurator/scripts/data_handler.gd
	modified:   tools/configurator/tk_about.gd

* On branch feat/godot-configurator
 Changes to be committed:
	deleted:    tools/configurator/assets/graphics/Rekku/Rekku-test.xcf
	deleted:    tools/configurator/assets/graphics/Rekku/base.png
	deleted:    tools/configurator/assets/graphics/Rekku/base.png.import
	deleted:    tools/configurator/assets/graphics/Rekku/blink1.png
	deleted:    tools/configurator/assets/graphics/Rekku/blink1.png.import
	deleted:    tools/configurator/assets/graphics/Rekku/blink2.png
	deleted:    tools/configurator/assets/graphics/Rekku/blink2.png.import
	deleted:    tools/configurator/assets/graphics/Rekku/eyes-open.png
	deleted:    tools/configurator/assets/graphics/Rekku/eyes-open.png.import
	deleted:    tools/configurator/assets/graphics/Rekku/mouth-A.png
	deleted:    tools/configurator/assets/graphics/Rekku/mouth-A.png.import
	deleted:    tools/configurator/assets/graphics/Rekku/mouth-O.png
	deleted:    tools/configurator/assets/graphics/Rekku/mouth-O.png.import
	deleted:    tools/configurator/assets/graphics/Rekku/mouth-base.png
	deleted:    tools/configurator/assets/graphics/Rekku/mouth-base.png.import
	deleted:    tools/configurator/assets/graphics/Rekku/rekku-blink-down.png
	deleted:    tools/configurator/assets/graphics/Rekku/rekku-blink-down.png.import
	deleted:    tools/configurator/assets/graphics/Rekku/rekku-blink-up.png
	deleted:    tools/configurator/assets/graphics/Rekku/rekku-blink-up.png.import
	deleted:    tools/configurator/assets/graphics/Rekku/rekku-idle.png
	deleted:    tools/configurator/assets/graphics/Rekku/rekku-idle.png.import
	deleted:    tools/configurator/assets/graphics/Rekku/rekku-speak1.png
	deleted:    tools/configurator/assets/graphics/Rekku/rekku-speak1.png.import
	deleted:    tools/configurator/assets/graphics/Rekku/rekku-speak2.png
	deleted:    tools/configurator/assets/graphics/Rekku/rekku-speak2.png.import

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/export_presets.cfg
	modified:   tools/configurator/main.gd

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/main.tscn
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/components/bios_check/bios_check.gd
	modified:   tools/configurator/main.tscn

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/components/bios_check/bios_check.gd
	new file:   tools/configurator/components/logs.tscn
	new file:   tools/configurator/components/logs/logs_popup_content.tscn
	modified:   tools/configurator/components/popup.tscn
	modified:   tools/configurator/data_list.json
	deleted:    tools/configurator/export/data_list.json
	modified:   tools/configurator/main.gd
	modified:   tools/configurator/main.tscn
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres

* Trying a new workflow

* Trying a new workflow - fix

* Trying a new workflow - fix 2

* Reverting workfolw edits

* WORKFLOW: targetting the old repo for the release

* WORKFLOW: updated some actions to a newever version to avoid deprecation at the end of the year

* MISSING_LIBS: trying to fetch libshaderc

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/components/logs.tscn
	renamed:    tools/configurator/components/logs/logs_popup_content.tscn -> tools/configurator/components/logs_view/logs_popup_content.tscn
	new file:   tools/configurator/components/logs_view/view_log.gd
	modified:   tools/configurator/components/popup.gd
	modified:   tools/configurator/components/popup.tscn
	modified:   tools/configurator/data_list.json
	modified:   tools/configurator/main.gd
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres
	new file:   tools/configurator/retrodeck.json
	modified:   tools/configurator/scripts/class_functions.gd
	modified:   tools/configurator/scripts/data_handler.gd
	modified:   tools/configurator/tk_about.gd

* On branch feat/godot-configurator
 Changes to be committed:
	deleted:    tools/configurator/components/logs.tscn
	modified:   tools/configurator/components/logs_view/logs_popup_content.tscn
	deleted:    tools/configurator/components/logs_view/view_log.gd
	modified:   tools/configurator/components/popup.tscn
	modified:   tools/configurator/main.gd
	modified:   tools/configurator/main.tscn
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml
	modified:   net.retrodeck.retrodeck.yml
	modified:   tools/configurator/export_presets.cfg
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* MANIFEST: removng a newline

* Feat/godot configurator (#871)

* Create Godot.yml

* Rename main.yml to godot.yml

* Update godot.yml

* Update godot.yml

* Update godot.yml

* Update godot.yml

* Please enter the commit message for your changes. Lines starting
 with '#' will be ignored, and an empty message aborts the commit.
 On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   net.retrodeck.retrodeck.yml
	new file:   tools/configurator/assets/icons/128/app.xemu.xemu.png
	new file:   tools/configurator/assets/icons/128/app.xemu.xemu.png.import
	new file:   tools/configurator/assets/icons/128/duckstation-nogui.png
	new file:   tools/configurator/assets/icons/128/duckstation-nogui.png.import
	new file:   tools/configurator/assets/icons/128/duckstation.png
	new file:   tools/configurator/assets/icons/128/duckstation.png.import
	new file:   tools/configurator/assets/icons/128/net.kuribo64.melonDS.png
	new file:   tools/configurator/assets/icons/128/net.kuribo64.melonDS.png.import
	new file:   tools/configurator/assets/icons/128/net.pcsx2.PCSX2.png
	new file:   tools/configurator/assets/icons/128/net.pcsx2.PCSX2.png.import
	new file:   tools/configurator/assets/icons/128/net.retrodeck.retrodeck.png
	new file:   tools/configurator/assets/icons/128/net.retrodeck.retrodeck.png.import
	new file:   tools/configurator/assets/icons/128/net.rpcs3.RPCS3.png
	new file:   tools/configurator/assets/icons/128/net.rpcs3.RPCS3.png.import
	new file:   tools/configurator/assets/icons/128/org.DolphinEmu.dolphin-emu.png
	new file:   tools/configurator/assets/icons/128/org.DolphinEmu.dolphin-emu.png.import
	new file:   tools/configurator/assets/icons/128/org.citra_emu.citra.png
	new file:   tools/configurator/assets/icons/128/org.citra_emu.citra.png.import
	new file:   tools/configurator/assets/icons/128/org.mamedev.MAME.png
	new file:   tools/configurator/assets/icons/128/org.mamedev.MAME.png.import
	new file:   tools/configurator/assets/icons/128/org.ppsspp.PPSSPP.png
	new file:   tools/configurator/assets/icons/128/org.ppsspp.PPSSPP.png.import
	new file:   tools/configurator/assets/icons/128/org.ppsspp.PPSSPP_.png
	new file:   tools/configurator/assets/icons/128/org.ppsspp.PPSSPP_.png.import
	new file:   tools/configurator/assets/icons/128/org.ryujinx.Ryujinx.png
	new file:   tools/configurator/assets/icons/128/org.ryujinx.Ryujinx.png.import
	new file:   tools/configurator/assets/icons/128/org.zdoom.GZDoom.png
	new file:   tools/configurator/assets/icons/128/org.zdoom.GZDoom.png.import
	new file:   tools/configurator/assets/icons/128/retroarch.png
	new file:   tools/configurator/assets/icons/128/retroarch.png.import
	new file:   tools/configurator/assets/icons/16/app.xemu.xemu.png
	new file:   tools/configurator/assets/icons/16/app.xemu.xemu.png.import
	new file:   tools/configurator/assets/icons/16/duckstation-nogui.png
	new file:   tools/configurator/assets/icons/16/duckstation-nogui.png.import
	new file:   tools/configurator/assets/icons/16/duckstation.png
	new file:   tools/configurator/assets/icons/16/duckstation.png.import
	new file:   tools/configurator/assets/icons/16/net.pcsx2.PCSX2.png
	new file:   tools/configurator/assets/icons/16/net.pcsx2.PCSX2.png.import
	new file:   tools/configurator/assets/icons/16/net.retrodeck.retrodeck.png
	new file:   tools/configurator/assets/icons/16/net.retrodeck.retrodeck.png.import
	new file:   tools/configurator/assets/icons/16/net.rpcs3.RPCS3.png
	new file:   tools/configurator/assets/icons/16/net.rpcs3.RPCS3.png.import
	new file:   tools/configurator/assets/icons/16/org.DolphinEmu.dolphin-emu.png
	new file:   tools/configurator/assets/icons/16/org.DolphinEmu.dolphin-emu.png.import
	new file:   tools/configurator/assets/icons/16/org.gnome.Yelp.png
	new file:   tools/configurator/assets/icons/16/org.gnome.Yelp.png.import
	new file:   tools/configurator/assets/icons/16/org.mamedev.MAME.png
	new file:   tools/configurator/assets/icons/16/org.mamedev.MAME.png.import
	new file:   tools/configurator/assets/icons/16/org.ppsspp.PPSSPP.png
	new file:   tools/configurator/assets/icons/16/org.ppsspp.PPSSPP.png.import
	new file:   tools/configurator/assets/icons/16/org.ppsspp.PPSSPP_.png
	new file:   tools/configurator/assets/icons/16/org.ppsspp.PPSSPP_.png.import
	new file:   tools/configurator/assets/icons/16/org.ryujinx.Ryujinx.png
	new file:   tools/configurator/assets/icons/16/org.ryujinx.Ryujinx.png.import
	new file:   tools/configurator/assets/icons/16/org.xfce.session.png
	new file:   tools/configurator/assets/icons/16/org.xfce.session.png.import
	new file:   tools/configurator/assets/icons/16/org.zdoom.GZDoom.png
	new file:   tools/configurator/assets/icons/16/org.zdoom.GZDoom.png.import
	new file:   tools/configurator/assets/icons/16/retroarch.png
	new file:   tools/configurator/assets/icons/16/retroarch.png.import
	new file:   tools/configurator/assets/icons/16/security-medium.png
	new file:   tools/configurator/assets/icons/16/security-medium.png.import
	new file:   tools/configurator/assets/icons/32/retroarch.png
	new file:   tools/configurator/assets/icons/32/retroarch.png.import
	new file:   tools/configurator/assets/icons/dolphin-emu (1).svg
	new file:   tools/configurator/assets/icons/dolphin-emu (1).svg.import
	new file:   tools/configurator/assets/icons/dolphin-emu (2).svg
	new file:   tools/configurator/assets/icons/dolphin-emu (2).svg.import
	new file:   tools/configurator/assets/icons/dolphin-emu.svg
	new file:   tools/configurator/assets/icons/dolphin-emu.svg.import
	new file:   tools/configurator/assets/icons/retroarch (1).svg
	new file:   tools/configurator/assets/icons/retroarch (1).svg.import
	new file:   tools/configurator/assets/icons/retroarch (2).svg
	new file:   tools/configurator/assets/icons/retroarch (2).svg.import
	new file:   tools/configurator/assets/icons/retroarch.svg
	new file:   tools/configurator/assets/icons/retroarch.svg.import
	new file:   tools/configurator/assets/icons/retroarch2.svg
	new file:   tools/configurator/assets/icons/retroarch2.svg.import
	new file:   tools/configurator/assets/icons/retroarch_invert.svg
	new file:   tools/configurator/assets/icons/retroarch_invert.svg.import
	modified:   tools/configurator/main.gd
	modified:   tools/configurator/main.tscn
	modified:   tools/configurator/project.godot
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres

* ES-DE: new build for the smaller menu

* Icons!

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/project.godot

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/main.gd

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/export/configurator.pck

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-configurator.yml

* On branch feat/godot-configurator
 Changes to be committed:
	new file:   .github/workflows/buid-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/buid-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	deleted:    .github/workflows/buid-gdc.yml

 Untracked files:
	.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	new file:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* Create gd-test.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml
	modified:   tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* modified:   ../../.github/workflows/build-gdc.yml
	modified:   data_list.json

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* modified:   data_list.json
	modified:   export_presets.cfg
	modified:   res/pixel_ui_theme/RetroDECKTheme.tres

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml
	deleted:    ../../.github/workflows/godot.yml

* On branch feat/godot-configurator
 Changes to be committed:
	deleted:    ../../.github/workflows/gd-test.yml

* Create test.yml

* Delete .github/workflows/test.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	new file:   ../../.github/workflows/go-simple.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/go-simple.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/go-simple.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/go-simple.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/go-simple.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/go-simple.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/go-simple.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-configurator.yml
	modified:   ../../.github/workflows/go-simple.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   export_presets.cfg
	modified:   res/pixel_ui_theme/RetroDECKTheme.tres

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/go-simple.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml
	deleted:    .github/workflows/go-simple.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/export_presets.cfg

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   tools/configurator/export_presets.cfg

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	deleted:    ../../.github/workflows/build-configurator.yml
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* modified:   main.tscn
	modified:   res/pixel_ui_theme/RetroDECKTheme.tres

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml
	modified:   ../../net.retrodeck.retrodeck.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   ../../.github/workflows/build-gdc.yml

* FRAMEWORK: fixing online updater to point to the new org/repo

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml
	modified:   net.retrodeck.retrodeck.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:

	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   .github/workflows/build-gdc.yml
	modified:   net.retrodeck.retrodeck.yml

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   net.retrodeck.retrodeck.yml

* ES-DE: restored the retrodeck-main branch

* LIBRARIES: possible fix for dolphin and pcsx2 libretro cores

* On branch feat/godot-configurator
 Changes to be committed:
	modified:   net.retrodeck.retrodeck.yml

---------

Co-authored-by: XargonWan <XargonWan@gmail.com>

* WORKFLOW: removed unused workflow

* MANIFEST: added runtime and modukle for godot configurator

* CONFIGURATOR: added "Open GODOT Configurator" entry in Developer Options menu

* MANIFEST: it seems like that the godot runtime is not giving us the command "godot" adding it manually

* MANIFEST: whoops

* MANIFEST: adding --headless to gotod command

* MANIFEST: fixes for retrodeck-configurator module

* MANIFEST: trying to fix the fontconfig issue

* MANIFEST: trying the missing --import for godot configurator

* FEATURES: added features file for future reference [skip ci]

* MANIFEST: fixed godot configurator and removed lefotver files

* MANIFEST: reverted godot edits

---------

Co-authored-by: WallK <wallykrasiy@gmail.com>
Co-authored-by: monkeyx-net <tim@monkeyx.net>
Co-authored-by: GitHub Actions <actions@github.com>
2024-08-08 16:46:53 +02:00

275 lines
7.8 KiB
GDScript

extends Node
class_name DataHandler
var data_file_path = "res://data_list.json"
var app_data: AppData
func _ready():
# Load the data when the scene is ready
app_data = load_base_data()
func load_base_data() -> AppData:
var file = FileAccess.open(data_file_path, FileAccess.READ)
if file:
var json_data = file.get_as_text()
file.close()
var json = JSON.new()
var parsed_data = json.parse_string(json_data)
#if parsed_data.error == OK:
if parsed_data:
var data_dict = parsed_data
var about_links = {}
for key in data_dict["about_links"].keys():
var link_data = data_dict["about_links"][key]
var link = Link.new()
link.name = link_data["name"]
link.url = link_data["url"]
link.description = link_data["description"]
about_links[key] = link
var emulators = {}
for key in data_dict["emulators"].keys():
var emulator_data = data_dict["emulators"][key]
var emulator = Emulator.new()
emulator.name = emulator_data["name"]
emulator.description = emulator_data["description"]
#emulator.options = []
#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"]:
var property = EmulatorProperty.new()
property.standalone = property_data.get("standalone", false)
property.abxy_button_status = property_data.get("abxy_button", {}).get("status", false)
emulator.properties.append(property)
emulators[key] = emulator
var app_data = AppData.new()
app_data.about_links = about_links
app_data.emulators = emulators
return app_data
else:
print("Error parsing JSON")
else:
print("Error opening file")
return null
func save_base_data(app_data: AppData):
var file = FileAccess.open(data_file_path, FileAccess.READ)
var existing_data = {}
if file:
var json = JSON.new()
var error = json.parse(file.get_as_text())
if error == OK:
existing_data = json.get_data()
file.close()
else:
print("File not found. Creating a new one.")
var about_links = {}
for key in app_data.about_links.keys():
var link = app_data.about_links[key]
about_links[key] = {
"name": link.name,
"url": link.url,
"description": link.description
}
var new_data_dict = {}
# Convert about_links to a dictionary
var about_links = {}
for key in app_data.about_links.keys():
var link = app_data.about_links[key]
about_links[key] = {
"name": link.name,
"url": link.url,
"description": link.description
}
# Convert emulators to a dictionary
var emulators = {}
for key in app_data.emulators.keys():
var emulator = app_data.emulators[key]
var options = []
for option in emulator.options:
options.append({
"resettable": option.resettable
})
var properties = []
for property in emulator.properties:
properties.append({
"standalone": property.standalone,
"abxy_button": {"status": property.abxy_button_status}
})
emulators[key] = {
"name": emulator.name,
"description": emulator.description,
"options": options,
"properties": properties
}
new_data_dict["about_links"] = about_links
new_data_dict["emulators"] = emulators
# Merge existing data with new data
for key in new_data_dict.keys():
if existing_data.has(key):
var existing_dict = existing_data[key]
var new_dict = new_data_dict[key]
# Merge dictionaries
for sub_key in new_dict.keys():
existing_dict[sub_key] = new_dict[sub_key]
else:
existing_data[key] = new_data_dict[key]
# Serialize the combined data to JSON
var json_text = JSON.new().stringify(existing_data, "\t")
# Open the file in append mode and write the new JSON data
file = FileAccess.open(data_file_path, FileAccess.WRITE)
file.store_string(json_text)
file.close()
print("Data appended successfully")
# Function to modify an existing link
func modify_link(key: String, new_name: String, new_url: String, new_description: String):
var app_data = load_base_data()
if app_data and app_data.about_links.has(key):
var link = app_data.about_links[key]
link.name = new_name
link.url = new_url
link.description = new_description
app_data.about_links[key] = link
save_base_data(app_data)
print("Link modified successfully")
else:
print("Link not found")
# Function to modify an existing emulator
func modify_emulator(key: String, new_name: String, new_description: String, new_options: Array, new_properties: Array):
var app_data = load_base_data()
if app_data and app_data.emulators.has(key):
var emulator = app_data.emulators[key]
emulator.name = new_name
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
emulator.properties.clear()
for property in new_properties:
var new_property = EmulatorProperty.new()
new_property.standalone = property.standalone
new_property.abxy_button_status = property.abxy_button_status
emulator.properties.append(new_property)
app_data.emulators[key] = emulator
save_base_data(app_data)
print("Emulator modified successfully")
else:
print("Emulator not found")
func add_emaultor() -> void:
var link = Link.new()
link.name = "Example Site"
link.url = "https://example.com"
link.description = "An example description."
app_data.about_links["example_site"] = link
var emulator = Emulator.new()
emulator.name = "Example Emulator"
emulator.description = "An example emulator."
var option = EmulatorOption.new()
option.resettable = true
emulator.options.append(option)
var property = EmulatorProperty.new()
property.standalone = true
property.abxy_button_status = false
emulator.properties.append(property)
app_data.emulators["example_emulator"] = emulator
data_handler.save_base_data(app_data)
func modify_emulator_test() -> void:
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_property = EmulatorProperty.new()
new_property.standalone = false
new_property.abxy_button_status = true
new_properties.append(new_property)
data_handler.modify_emulator("example_emulator", "Updated Emulator", "Updated description", new_options, new_properties)
func parse_config_to_json(file_path: String) -> Dictionary:
var config = {}
var current_section = ""
var file = FileAccess.open(file_path, FileAccess.READ)
if file == null:
print("Failed to open file")
return config
while not file.eof_reached():
var line = file.get_line().strip_edges()
if line.begins_with("[") and line.ends_with("]"):
# Start a new section
current_section = line.substr(1, line.length() - 2)
config[current_section] = {}
elif line != "" and not line.begins_with("#"):
# Add key-value pair to the current section
var parts = line.split("=")
if parts.size() == 2:
var key = parts[0].strip_edges()
var value = parts[1].strip_edges()
# Convert value to proper type
if value == "true":
value = true
elif value == "false":
value = false
if key == "version":
config[key] = value
else:
if current_section == "":
config[key] = value
else:
config[current_section][key] = value
file.close()
return config
func config_save_json(config: Dictionary, json_file_path: String) -> void:
var json = JSON.new()
var json_string = json.stringify(config, "\t")
var file = FileAccess.open(json_file_path, FileAccess.WRITE)
if file != null:
file.store_string(json_string)
file.close()
else:
print("Failed to open JSON file for writing")