diff --git a/.github/workflows/build-godot.yml b/.github/workflows/build-godot.yml new file mode 100644 index 00000000..73971305 --- /dev/null +++ b/.github/workflows/build-godot.yml @@ -0,0 +1,102 @@ +name: GoDot Configurator Build Debug +run-name: Build Godot Configurator(DEBUG) for RetroDECK +on: + workflow_dispatch: + inputs: + job_target: + description: 'Select the platform' + required: true + default: 'linux' + type: choice + options: + - linux + - windows + - mac + - all + +env: + GODOT_VERSION: 4.3 + GODOT_PROJECT_LOCATION: tools/configurator/project.godot + EXPORT_FOLDER_LINUX: bin/Linux + EXPORT_FOLDER_WINDOWS: bin/Windows + EXPORT_FOLDER_MAC: bin/macOS + APPLICATION_NAME: godot_configurator + +jobs: + linux-build: + runs-on: ubuntu-latest + container: + image: archlinux:latest + steps: + - name: Set up variable + run: | + echo "DATE=$(date +'%Y-%m-%d')" >> $GITHUB_ENV + echo "MAIN_FOLDER=$(pwd)" >> $GITHUB_ENV + + - name: Installing dependencies + run: pacman -Syu --noconfirm git bash yasm python python-pip scons gcc diffutils make wget unzip tar mingw-w64 + + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Prepare Godot + run: | + wget -q -O godot_linux.zip https://github.com/godotengine/godot-builds/releases/download/${GODOT_VERSION}-stable/Godot_v${GODOT_VERSION}-stable_linux.x86_64.zip + unzip godot_linux.zip + wget -q -O godot_export_templates.tpz https://github.com/godotengine/godot-builds/releases/download/${GODOT_VERSION}-stable/Godot_v${GODOT_VERSION}-stable_export_templates.tpz + mkdir -p ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable + unzip godot_export_templates.tpz -d ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable + mv ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable/templates/* ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable/ + sed -i 's/config\/version=\"[^"]\*"/config\/version=\"${{ env.DATE }}-debug\"/' ${{ env.GODOT_PROJECT_LOCATION }} + + # DEBUG BUILDS + # LINUX + - name: Building debug Linux + if: ${{ github.event.inputs.job_target == 'linux' || github.event.inputs.job_target == 'all' }} + run: | + mkdir -p ${{ env.EXPORT_FOLDER_LINUX }} + ./Godot_v${GODOT_VERSION}-stable_linux.x86_64 --import ${{ env.GODOT_PROJECT_LOCATION }} --quiet --headless --export-debug "Linux/X11 64-bit" ${{ env.MAIN_FOLDER }}/${{ env.EXPORT_FOLDER_LINUX }}/${{ env.APPLICATION_NAME}}.x86_64 + chmod +x ${{ env.EXPORT_FOLDER_LINUX }}/${{ env.APPLICATION_NAME }}.sh + chmod +x ${{ env.EXPORT_FOLDER_LINUX }}/${{ env.APPLICATION_NAME }}.x86_64 + + # TAR to keep permissions set above + - name: Tar File + if: ${{ github.event.inputs.job_target == 'linux' || github.event.inputs.job_target == 'all' }} + run: tar cvf ${{ env.APPLICATION_NAME}}_linux_debug_${{ env.DATE}}.tar ${{ env.EXPORT_FOLDER_LINUX}} + + - name: Uploading GDExtension artifact debug + if: ${{ github.event.inputs.job_target == 'linux' || github.event.inputs.job_target == 'all' }} + uses: actions/upload-artifact@v4 + with: + name: ${{ env.APPLICATION_NAME }}_linux_debug_${{ env.DATE }}.tar + path: ${{ env.APPLICATION_NAME }}_linux_debug_${{ env.DATE }}.tar + + # WINDOWS + - name: Building debug Windows + if: ${{ github.event.inputs.job_target == 'windows' || github.event.inputs.job_target == 'all' }} + run: | + mkdir -p ${{ env.EXPORT_FOLDER_WINDOWS }} + ./Godot_v${GODOT_VERSION}-stable_linux.x86_64 --import ${{ env.GODOT_PROJECT_LOCATION }} --quiet --headless --export-debug "windows" ${{ env.MAIN_FOLDER }}/${{ env.EXPORT_FOLDER_WINDOWS }}/${{ env.APPLICATION_NAME}}.exe + + - name: Uploading GDExtension artifact debug + if: ${{ github.event.inputs.job_target == 'windows' || github.event.inputs.job_target == 'all' }} + uses: actions/upload-artifact@v4 + with: + name: ${{ env.APPLICATION_NAME }}_windows_debug_${{ env.DATE }} + path: ${{ env.EXPORT_FOLDER_WINDOWS }}/ + + #MAC + - name: Building debug macOS + if: ${{ github.event.inputs.job_target == 'mac' || github.event.inputs.job_target == 'all' }} + run: | + mkdir -p ${{ env.EXPORT_FOLDER_MAC }} + ./Godot_v${GODOT_VERSION}-stable_linux.x86_64 --import ${{ env.GODOT_PROJECT_LOCATION }} --quiet --headless --export-debug "macOS" ${{ env.MAIN_FOLDER }}/${{ env.EXPORT_FOLDER_MAC}}/${{ env.APPLICATION_NAME}}.app + + - name: Uploading GDExtension artifact debug + if: ${{ github.event.inputs.job_target == 'mac' || github.event.inputs.job_target == 'all' }} + uses: actions/upload-artifact@v4 + with: + name: ${{ env.APPLICATION_NAME }}_mac_debug_${{ env.DATE }} + path: ${{ env.EXPORT_FOLDER_MAC }}/ \ No newline at end of file diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 17c0855a..6ec5cdcb 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -35,6 +35,9 @@ jobs: # Circumventing this bug: https://github.com/flatpak/flatpak-builder/issues/317 - name: Remove stuck mounts + run: | + sudo umount -f /home/ubuntu/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/* + sudo umount -f $HOME/actions-run/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/* run: | sudo umount -f /home/ubuntu/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/* sudo umount -f $HOME/actions-run/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/* @@ -70,6 +73,14 @@ jobs: branch_name=$(echo $GITHUB_REF | sed 's|refs/heads/||') echo "BRANCH_NAME=$branch_name" >> $GITHUB_ENV fi + run: | + if [[ "$GITHUB_EVENT_NAME" == "pull_request" || "$GITHUB_EVENT_NAME" == "pull_request_target" ]]; then + source_branch="${{ github.head_ref }}" + echo "BRANCH_NAME=$source_branch" >> $GITHUB_ENV + else + branch_name=$(echo $GITHUB_REF | sed 's|refs/heads/||') + echo "BRANCH_NAME=$branch_name" >> $GITHUB_ENV + fi # if the branch is coming from a PR the tag should be manually built - name: "Generate version tag and evaluating latest tag" @@ -84,6 +95,11 @@ jobs: # Use GITHUB_HEAD_REF to get the source branch source_branch="${GITHUB_HEAD_REF}" + # Replace '/' with '-' in the branch name + source_branch=${source_branch//\//-} + # Use GITHUB_HEAD_REF to get the source branch + source_branch="${GITHUB_HEAD_REF}" + # Replace '/' with '-' in the branch name source_branch=${source_branch//\//-} echo "[DEBUG] source branch is: $source_branch" @@ -92,6 +108,7 @@ jobs: echo "TAG=PR-$source_branch-${{ env.buildid }}" >> $GITHUB_ENV echo "MAKE_LATEST=false" >> $GITHUB_ENV # Not marked as the latest cooker version if it's a feature branch else + # Generate the tag for non-pull request branches # Generate the tag for non-pull request branches TAG="$MANIFEST_VERSION-${{ env.buildid }}" echo "TAG=$TAG" >> $GITHUB_ENV diff --git a/config/retrodeck/reference_lists/features.json b/config/retrodeck/reference_lists/features.json index 576fc38c..55b6dde0 100644 --- a/config/retrodeck/reference_lists/features.json +++ b/config/retrodeck/reference_lists/features.json @@ -1,3 +1,4 @@ + { "about_links": { "rd_changelog": { diff --git a/tools/configurator/TabContainer.gd b/tools/configurator/TabContainer.gd index fcd98b61..272671be 100644 --- a/tools/configurator/TabContainer.gd +++ b/tools/configurator/TabContainer.gd @@ -8,7 +8,7 @@ func _ready(): %TabContainer.add_theme_icon_override("decrement_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0763.png")) %TabContainer.add_theme_icon_override("increment",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png")) %TabContainer.add_theme_icon_override("increment_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0764.png")) - set_tab_icon(0, ResourceLoader.load("res://assets/icons/pixelitos/128/applications-graphics.png")) + set_tab_icon(0, ResourceLoader.load("res://assets/icons/pixelitos/128/map-globe.png")) set_tab_icon_max_width(0,icon_width) set_tab_icon(1, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-windows.png")) set_tab_icon_max_width(1,icon_width) @@ -23,7 +23,19 @@ func _ready(): set_tab_icon(6, ResourceLoader.load("res://assets/icons/pixelitos/128/help-about.png")) set_tab_icon_max_width(6,icon_width) #%TK_GRAPHICS.name="BOB" -# + connect_focus_signals(self) + +func connect_focus_signals(node): + for child in node.get_children(): + if child is Button: + child.focus_entered.connect(_on_Button_focus_entered.bind(child)) + elif child is Control: + connect_focus_signals(child) + +func _on_Button_focus_entered(button: Button): + if button: + %AudioStreamPlayer2D.play() + func _input(event): if (event.is_action_pressed("next_tab")): self.select_next_available() diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538538__sjonas88__process-2.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538538__sjonas88__process-2.wav new file mode 100644 index 00000000..033e0566 Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538538__sjonas88__process-2.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538538__sjonas88__process-2.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538538__sjonas88__process-2.wav.import new file mode 100644 index 00000000..fe5b914f --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538538__sjonas88__process-2.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://b2vis56rc446" +path="res://.godot/imported/538538__sjonas88__process-2.wav-7e0ab92936c07ed43d54872d5e9e3b4b.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538538__sjonas88__process-2.wav" +dest_files=["res://.godot/imported/538538__sjonas88__process-2.wav-7e0ab92936c07ed43d54872d5e9e3b4b.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538539__sjonas88__pipe-sound.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538539__sjonas88__pipe-sound.wav new file mode 100644 index 00000000..27d95bdc Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538539__sjonas88__pipe-sound.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538539__sjonas88__pipe-sound.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538539__sjonas88__pipe-sound.wav.import new file mode 100644 index 00000000..8c69ff51 --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538539__sjonas88__pipe-sound.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://buktnqo4i5lmh" +path="res://.godot/imported/538539__sjonas88__pipe-sound.wav-6515783939644190febb3c8f23d3e912.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538539__sjonas88__pipe-sound.wav" +dest_files=["res://.godot/imported/538539__sjonas88__pipe-sound.wav-6515783939644190febb3c8f23d3e912.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538540__sjonas88__fail-sound.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538540__sjonas88__fail-sound.wav new file mode 100644 index 00000000..da2a541e Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538540__sjonas88__fail-sound.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538540__sjonas88__fail-sound.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538540__sjonas88__fail-sound.wav.import new file mode 100644 index 00000000..fd20d7fe --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538540__sjonas88__fail-sound.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://h8v5imq2ghl6" +path="res://.godot/imported/538540__sjonas88__fail-sound.wav-25ec50c6877c99ff966be2fd860a0bb1.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538540__sjonas88__fail-sound.wav" +dest_files=["res://.godot/imported/538540__sjonas88__fail-sound.wav-25ec50c6877c99ff966be2fd860a0bb1.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538541__sjonas88__fail-2.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538541__sjonas88__fail-2.wav new file mode 100644 index 00000000..32290ae8 Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538541__sjonas88__fail-2.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538541__sjonas88__fail-2.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538541__sjonas88__fail-2.wav.import new file mode 100644 index 00000000..1f9aff8d --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538541__sjonas88__fail-2.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dvuhuo2irjhbu" +path="res://.godot/imported/538541__sjonas88__fail-2.wav-122b4ea196164e5fa7c83a9cb72e40b1.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538541__sjonas88__fail-2.wav" +dest_files=["res://.godot/imported/538541__sjonas88__fail-2.wav-122b4ea196164e5fa7c83a9cb72e40b1.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538542__sjonas88__rising-3.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538542__sjonas88__rising-3.wav new file mode 100644 index 00000000..73ee660f Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538542__sjonas88__rising-3.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538542__sjonas88__rising-3.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538542__sjonas88__rising-3.wav.import new file mode 100644 index 00000000..6c3ca695 --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538542__sjonas88__rising-3.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://ccfw0kgfshftj" +path="res://.godot/imported/538542__sjonas88__rising-3.wav-e5be02dafb9d2b2e656f3e284cb59f41.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538542__sjonas88__rising-3.wav" +dest_files=["res://.godot/imported/538542__sjonas88__rising-3.wav-e5be02dafb9d2b2e656f3e284cb59f41.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538543__sjonas88__rising-2.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538543__sjonas88__rising-2.wav new file mode 100644 index 00000000..682202e9 Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538543__sjonas88__rising-2.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538543__sjonas88__rising-2.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538543__sjonas88__rising-2.wav.import new file mode 100644 index 00000000..f40102e3 --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538543__sjonas88__rising-2.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://7o37g1ldsqg8" +path="res://.godot/imported/538543__sjonas88__rising-2.wav-94424088492c09d1baee466dfd04f771.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538543__sjonas88__rising-2.wav" +dest_files=["res://.godot/imported/538543__sjonas88__rising-2.wav-94424088492c09d1baee466dfd04f771.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538544__sjonas88__process.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538544__sjonas88__process.wav new file mode 100644 index 00000000..50710de8 Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538544__sjonas88__process.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538544__sjonas88__process.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538544__sjonas88__process.wav.import new file mode 100644 index 00000000..a510fdc9 --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538544__sjonas88__process.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://7w073cgcaph8" +path="res://.godot/imported/538544__sjonas88__process.wav-9eab6f84a156a2f52c7696fb11887a3c.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538544__sjonas88__process.wav" +dest_files=["res://.godot/imported/538544__sjonas88__process.wav-9eab6f84a156a2f52c7696fb11887a3c.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538545__sjonas88__process-3.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538545__sjonas88__process-3.wav new file mode 100644 index 00000000..39eba25f Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538545__sjonas88__process-3.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538545__sjonas88__process-3.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538545__sjonas88__process-3.wav.import new file mode 100644 index 00000000..6c33fd01 --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538545__sjonas88__process-3.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bsuubeqwno7gv" +path="res://.godot/imported/538545__sjonas88__process-3.wav-7ffbb7f6eec788f1d198cdfc5bcd35da.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538545__sjonas88__process-3.wav" +dest_files=["res://.godot/imported/538545__sjonas88__process-3.wav-7ffbb7f6eec788f1d198cdfc5bcd35da.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538546__sjonas88__rising.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538546__sjonas88__rising.wav new file mode 100644 index 00000000..ff1bb288 Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538546__sjonas88__rising.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538546__sjonas88__rising.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538546__sjonas88__rising.wav.import new file mode 100644 index 00000000..b69c5001 --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538546__sjonas88__rising.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://c1gh1d0tp5ut3" +path="res://.godot/imported/538546__sjonas88__rising.wav-be28154e2568a7901227e89f3cf4027f.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538546__sjonas88__rising.wav" +dest_files=["res://.godot/imported/538546__sjonas88__rising.wav-be28154e2568a7901227e89f3cf4027f.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538547__sjonas88__rising-4.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538547__sjonas88__rising-4.wav new file mode 100644 index 00000000..b82140be Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538547__sjonas88__rising-4.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538547__sjonas88__rising-4.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538547__sjonas88__rising-4.wav.import new file mode 100644 index 00000000..74050be3 --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538547__sjonas88__rising-4.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://ctks8i20nretn" +path="res://.godot/imported/538547__sjonas88__rising-4.wav-cc2a6f85daa3fc6ba61d88b8bf523924.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538547__sjonas88__rising-4.wav" +dest_files=["res://.godot/imported/538547__sjonas88__rising-4.wav-cc2a6f85daa3fc6ba61d88b8bf523924.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538548__sjonas88__select-3.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538548__sjonas88__select-3.wav new file mode 100644 index 00000000..3ac170a9 Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538548__sjonas88__select-3.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538548__sjonas88__select-3.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538548__sjonas88__select-3.wav.import new file mode 100644 index 00000000..ca14f934 --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538548__sjonas88__select-3.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://fveqtwd33w7n" +path="res://.godot/imported/538548__sjonas88__select-3.wav-3d75efee47597b1c7d77f9412f0b14b5.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538548__sjonas88__select-3.wav" +dest_files=["res://.godot/imported/538548__sjonas88__select-3.wav-3d75efee47597b1c7d77f9412f0b14b5.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538549__sjonas88__select-2.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538549__sjonas88__select-2.wav new file mode 100644 index 00000000..11792f71 Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538549__sjonas88__select-2.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538549__sjonas88__select-2.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538549__sjonas88__select-2.wav.import new file mode 100644 index 00000000..4a18a9e5 --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538549__sjonas88__select-2.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dhejvg02t5o35" +path="res://.godot/imported/538549__sjonas88__select-2.wav-8b1c4c60db51366ba4f01f6922bbf4d2.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538549__sjonas88__select-2.wav" +dest_files=["res://.godot/imported/538549__sjonas88__select-2.wav-8b1c4c60db51366ba4f01f6922bbf4d2.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538550__sjonas88__deep-tone.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538550__sjonas88__deep-tone.wav new file mode 100644 index 00000000..e465c937 Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538550__sjonas88__deep-tone.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538550__sjonas88__deep-tone.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538550__sjonas88__deep-tone.wav.import new file mode 100644 index 00000000..b29bd3fa --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538550__sjonas88__deep-tone.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://b0tkc4uqeh75q" +path="res://.godot/imported/538550__sjonas88__deep-tone.wav-95e9dc90f6e75bc6620575d07f709ba7.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538550__sjonas88__deep-tone.wav" +dest_files=["res://.godot/imported/538550__sjonas88__deep-tone.wav-95e9dc90f6e75bc6620575d07f709ba7.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538551__sjonas88__3-select.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538551__sjonas88__3-select.wav new file mode 100644 index 00000000..2e7aa53d Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538551__sjonas88__3-select.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538551__sjonas88__3-select.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538551__sjonas88__3-select.wav.import new file mode 100644 index 00000000..1284ae6c --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538551__sjonas88__3-select.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://ujv8kpegpmpt" +path="res://.godot/imported/538551__sjonas88__3-select.wav-86b8ffff434ba08cc915003719c0dcd9.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538551__sjonas88__3-select.wav" +dest_files=["res://.godot/imported/538551__sjonas88__3-select.wav-86b8ffff434ba08cc915003719c0dcd9.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538552__sjonas88__rising-tones.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538552__sjonas88__rising-tones.wav new file mode 100644 index 00000000..bd71d2a5 Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538552__sjonas88__rising-tones.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538552__sjonas88__rising-tones.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538552__sjonas88__rising-tones.wav.import new file mode 100644 index 00000000..d068e028 --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538552__sjonas88__rising-tones.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://mm42tfxhowwe" +path="res://.godot/imported/538552__sjonas88__rising-tones.wav-f484f3e32af39e2f6ece214b2cbbc19b.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538552__sjonas88__rising-tones.wav" +dest_files=["res://.godot/imported/538552__sjonas88__rising-tones.wav-f484f3e32af39e2f6ece214b2cbbc19b.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538553__sjonas88__stars.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538553__sjonas88__stars.wav new file mode 100644 index 00000000..55b368da Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538553__sjonas88__stars.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538553__sjonas88__stars.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538553__sjonas88__stars.wav.import new file mode 100644 index 00000000..b14fef5b --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538553__sjonas88__stars.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bmap54wuuumst" +path="res://.godot/imported/538553__sjonas88__stars.wav-593d0d6b4e2052a07396971ced5315b5.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538553__sjonas88__stars.wav" +dest_files=["res://.godot/imported/538553__sjonas88__stars.wav-593d0d6b4e2052a07396971ced5315b5.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538554__sjonas88__success.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538554__sjonas88__success.wav new file mode 100644 index 00000000..3d811607 Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538554__sjonas88__success.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538554__sjonas88__success.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538554__sjonas88__success.wav.import new file mode 100644 index 00000000..5ba9a95e --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538554__sjonas88__success.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bu16hw2opbvp6" +path="res://.godot/imported/538554__sjonas88__success.wav-617fb21a3a937ebffcac1034bc19f3de.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538554__sjonas88__success.wav" +dest_files=["res://.godot/imported/538554__sjonas88__success.wav-617fb21a3a937ebffcac1034bc19f3de.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538555__sjonas88__shimmer.wav b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538555__sjonas88__shimmer.wav new file mode 100644 index 00000000..5643866a Binary files /dev/null and b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538555__sjonas88__shimmer.wav differ diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538555__sjonas88__shimmer.wav.import b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538555__sjonas88__shimmer.wav.import new file mode 100644 index 00000000..2b3a2c5d --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/538555__sjonas88__shimmer.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cgg08e1741i0m" +path="res://.godot/imported/538555__sjonas88__shimmer.wav-c47d31735b366fa09f66d96c18887d7d.sample" + +[deps] + +source_file="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538555__sjonas88__shimmer.wav" +dest_files=["res://.godot/imported/538555__sjonas88__shimmer.wav-c47d31735b366fa09f66d96c18887d7d.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/_readme_and_license.txt b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/_readme_and_license.txt new file mode 100644 index 00000000..8abc72f9 --- /dev/null +++ b/tools/configurator/assets/sounds/30375__sjonas88__smooth-game-like-sounds/_readme_and_license.txt @@ -0,0 +1,76 @@ +Sound pack downloaded from Freesound +---------------------------------------- + +"Smooth Game-like Sounds" + +This pack of sounds contains sounds by the following user: + - Sjonas88 ( https://freesound.org/people/Sjonas88/ ) + +You can find this pack online at: https://freesound.org/people/Sjonas88/packs/30375/ + + +Licenses in this pack (see below for individual sound licenses) +--------------------------------------------------------------- + +Creative Commons 0: http://creativecommons.org/publicdomain/zero/1.0/ + + +Sounds in this pack +------------------- + + * 538555__sjonas88__shimmer.wav + * url: https://freesound.org/s/538555/ + * license: Creative Commons 0 + * 538554__sjonas88__success.wav + * url: https://freesound.org/s/538554/ + * license: Creative Commons 0 + * 538553__sjonas88__stars.wav + * url: https://freesound.org/s/538553/ + * license: Creative Commons 0 + * 538552__sjonas88__rising-tones.wav + * url: https://freesound.org/s/538552/ + * license: Creative Commons 0 + * 538551__sjonas88__3-select.wav + * url: https://freesound.org/s/538551/ + * license: Creative Commons 0 + * 538550__sjonas88__deep-tone.wav + * url: https://freesound.org/s/538550/ + * license: Creative Commons 0 + * 538549__sjonas88__select-2.wav + * url: https://freesound.org/s/538549/ + * license: Creative Commons 0 + * 538548__sjonas88__select-3.wav + * url: https://freesound.org/s/538548/ + * license: Creative Commons 0 + * 538547__sjonas88__rising-4.wav + * url: https://freesound.org/s/538547/ + * license: Creative Commons 0 + * 538546__sjonas88__rising.wav + * url: https://freesound.org/s/538546/ + * license: Creative Commons 0 + * 538545__sjonas88__process-3.wav + * url: https://freesound.org/s/538545/ + * license: Creative Commons 0 + * 538544__sjonas88__process.wav + * url: https://freesound.org/s/538544/ + * license: Creative Commons 0 + * 538543__sjonas88__rising-2.wav + * url: https://freesound.org/s/538543/ + * license: Creative Commons 0 + * 538542__sjonas88__rising-3.wav + * url: https://freesound.org/s/538542/ + * license: Creative Commons 0 + * 538541__sjonas88__fail-2.wav + * url: https://freesound.org/s/538541/ + * license: Creative Commons 0 + * 538540__sjonas88__fail-sound.wav + * url: https://freesound.org/s/538540/ + * license: Creative Commons 0 + * 538539__sjonas88__pipe-sound.wav + * url: https://freesound.org/s/538539/ + * license: Creative Commons 0 + * 538538__sjonas88__process-2.wav + * url: https://freesound.org/s/538538/ + * license: Creative Commons 0 + + diff --git a/tools/configurator/components/bios_check/bios_check.gd b/tools/configurator/components/bios_check/bios_check.gd index 9e0ac0a5..d228e4b3 100644 --- a/tools/configurator/components/bios_check/bios_check.gd +++ b/tools/configurator/components/bios_check/bios_check.gd @@ -3,6 +3,7 @@ extends Control var file := FileAccess var bios_tempfile : String +var bios_result: Dictionary var command: String = "../../tools/retrodeck_function_wrapper.sh" var console: bool = false var BIOS_COLUMNS_BASIC := ["BIOS File Name", "System", "Found", "Hash Match", "Description"] @@ -14,8 +15,8 @@ func _ready(): $".".theme = custom_theme #Check if XDG_RUNTIME_DIR is set and choose temp file location if OS.has_environment("XDG_RUNTIME_DIR"): - bios_tempfile = OS.get_environment("XDG_RUNTIME_DIR") + "/godot_temp/godot_bios_files_checked.tmp" - #bios_tempfile = "/var/config/retrodeck/godot/godot_bios_files_checked.tmp" + #bios_tempfile = OS.get_environment("XDG_RUNTIME_DIR") + "/godot_temp/godot_bios_files_checked.tmp" + bios_tempfile = "/var/config/retrodeck/godot/godot_bios_files_checked.tmp" else: bios_tempfile = "/var/config/retrodeck/godot/godot_bios_files_checked.tmp" @@ -38,21 +39,20 @@ func _ready(): #var parameters = ["log", "i", "Configurator: " + "check_bios_files"] # classFunctions.execute_command(command, parameters, false) var parameters = ["check_bios_files","basic"] - #result = classFunctions.execute_command(command, parameters, false) + #class_functions.execute_command(command, parameters, false) #threaded await run_thread_command(command, parameters, console) - else: #Assume advanced BIOS button pressed var parameters = ["check_bios_files"] class_functions.execute_command(command, parameters, false) await run_thread_command(command, parameters, console) #OS.execute("/app/tools/retrodeck_function_wrapper.sh",["check_bios_files"]) - + print (bios_result["output"]) if file.file_exists(bios_tempfile): #File to be removed after script is done - var bios_list := file.open(bios_tempfile, FileAccess.READ) - var bios_line := [] - while ! bios_list.eof_reached(): - bios_line = bios_list.get_csv_line("^") + var bios_list = bios_result["output"] + var bios_lines = bios_list.split("\n") + for line in bios_lines: + var bios_line = line.split("^") var table_line: TreeItem = table.create_item(root) for i in bios_line.size(): table_line.set_text(i, bios_line[i]) @@ -61,4 +61,4 @@ func _ready(): table_line.set_custom_color(i,Color(1,1,1,1)) func run_thread_command(command: String, parameters: Array, console: bool) -> void: - var result = await class_functions.run_command_in_thread(command, parameters, console) + bios_result = await class_functions.run_command_in_thread(command, parameters, console) diff --git a/tools/configurator/export_presets.cfg b/tools/configurator/export_presets.cfg index 6a69d4df..b5845d75 100644 --- a/tools/configurator/export_presets.cfg +++ b/tools/configurator/export_presets.cfg @@ -1,8 +1,9 @@ [preset.0] name="Linux/X11 64-bit" -platform="Linux/X11" +platform="Linux" runnable=true +advanced_options=false dedicated_server=false custom_features="" export_filter="all_resources" @@ -13,6 +14,7 @@ encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false encrypt_directory=false +script_export_mode=2 [preset.0.options] @@ -20,10 +22,8 @@ custom_template/debug="" custom_template/release="" debug/export_console_wrapper=1 binary_format/embed_pck=true -texture_format/bptc=true -texture_format/s3tc=true -texture_format/etc=false -texture_format/etc2=false +texture_format/s3tc_bptc=true +texture_format/etc2_astc=false binary_format/architecture="x86_64" ssh_remote_deploy/enabled=false ssh_remote_deploy/host="user@host_ip" @@ -37,3 +37,322 @@ unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\" ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\") rm -rf \"{temp_dir}\"" +texture_format/bptc=true +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false + +[preset.1] + +name="windows" +platform="Windows Desktop" +runnable=true +advanced_options=false +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false +script_export_mode=2 + +[preset.1.options] + +custom_template/debug="" +custom_template/release="" +debug/export_console_wrapper=1 +binary_format/embed_pck=false +texture_format/s3tc_bptc=true +texture_format/etc2_astc=false +binary_format/architecture="x86_64" +codesign/enable=false +codesign/timestamp=true +codesign/timestamp_server_url="" +codesign/digest_algorithm=1 +codesign/description="" +codesign/custom_options=PackedStringArray() +application/modify_resources=true +application/icon="" +application/console_wrapper_icon="" +application/icon_interpolation=4 +application/file_version="" +application/product_version="" +application/company_name="" +application/product_name="" +application/file_description="" +application/copyright="" +application/trademarks="" +application/export_angle=0 +application/export_d3d12=0 +application/d3d12_agility_sdk_multiarch=true +ssh_remote_deploy/enabled=false +ssh_remote_deploy/host="user@host_ip" +ssh_remote_deploy/port="22" +ssh_remote_deploy/extra_args_ssh="" +ssh_remote_deploy/extra_args_scp="" +ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}' +$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}' +$trigger = New-ScheduledTaskTrigger -Once -At 00:00 +$settings = New-ScheduledTaskSettingsSet +$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings +Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true +Start-ScheduledTask -TaskName godot_remote_debug +while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 } +Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue" +ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue +Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue +Remove-Item -Recurse -Force '{temp_dir}'" + +[preset.2] + +name="macOS" +platform="macOS" +runnable=true +advanced_options=false +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="./godot_configurator.zip" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false +script_export_mode=2 + +[preset.2.options] + +export/distribution_type=1 +binary_format/architecture="universal" +custom_template/debug="" +custom_template/release="" +debug/export_console_wrapper=1 +application/icon="" +application/icon_interpolation=4 +application/bundle_identifier="net.retrodeck.retrodeck" +application/signature="" +application/app_category="Games" +application/short_version="" +application/version="" +application/copyright="" +application/copyright_localized={} +application/min_macos_version="10.12" +application/export_angle=0 +display/high_res=true +application/additional_plist_content="" +xcode/platform_build="14C18" +xcode/sdk_version="13.1" +xcode/sdk_build="22C55" +xcode/sdk_name="macosx13.1" +xcode/xcode_version="1420" +xcode/xcode_build="14C18" +codesign/codesign=1 +codesign/installer_identity="" +codesign/apple_team_id="" +codesign/identity="" +codesign/entitlements/custom_file="" +codesign/entitlements/allow_jit_code_execution=false +codesign/entitlements/allow_unsigned_executable_memory=false +codesign/entitlements/allow_dyld_environment_variables=false +codesign/entitlements/disable_library_validation=false +codesign/entitlements/audio_input=false +codesign/entitlements/camera=false +codesign/entitlements/location=false +codesign/entitlements/address_book=false +codesign/entitlements/calendars=false +codesign/entitlements/photos_library=false +codesign/entitlements/apple_events=false +codesign/entitlements/debugging=false +codesign/entitlements/app_sandbox/enabled=false +codesign/entitlements/app_sandbox/network_server=false +codesign/entitlements/app_sandbox/network_client=false +codesign/entitlements/app_sandbox/device_usb=false +codesign/entitlements/app_sandbox/device_bluetooth=false +codesign/entitlements/app_sandbox/files_downloads=0 +codesign/entitlements/app_sandbox/files_pictures=0 +codesign/entitlements/app_sandbox/files_music=0 +codesign/entitlements/app_sandbox/files_movies=0 +codesign/entitlements/app_sandbox/files_user_selected=0 +codesign/entitlements/app_sandbox/helper_executables=[] +codesign/custom_options=PackedStringArray() +notarization/notarization=0 +privacy/microphone_usage_description="" +privacy/microphone_usage_description_localized={} +privacy/camera_usage_description="" +privacy/camera_usage_description_localized={} +privacy/location_usage_description="" +privacy/location_usage_description_localized={} +privacy/address_book_usage_description="" +privacy/address_book_usage_description_localized={} +privacy/calendar_usage_description="" +privacy/calendar_usage_description_localized={} +privacy/photos_library_usage_description="" +privacy/photos_library_usage_description_localized={} +privacy/desktop_folder_usage_description="" +privacy/desktop_folder_usage_description_localized={} +privacy/documents_folder_usage_description="" +privacy/documents_folder_usage_description_localized={} +privacy/downloads_folder_usage_description="" +privacy/downloads_folder_usage_description_localized={} +privacy/network_volumes_usage_description="" +privacy/network_volumes_usage_description_localized={} +privacy/removable_volumes_usage_description="" +privacy/removable_volumes_usage_description_localized={} +privacy/tracking_enabled=false +privacy/tracking_domains=PackedStringArray() +privacy/collected_data/name/collected=false +privacy/collected_data/name/linked_to_user=false +privacy/collected_data/name/used_for_tracking=false +privacy/collected_data/name/collection_purposes=0 +privacy/collected_data/email_address/collected=false +privacy/collected_data/email_address/linked_to_user=false +privacy/collected_data/email_address/used_for_tracking=false +privacy/collected_data/email_address/collection_purposes=0 +privacy/collected_data/phone_number/collected=false +privacy/collected_data/phone_number/linked_to_user=false +privacy/collected_data/phone_number/used_for_tracking=false +privacy/collected_data/phone_number/collection_purposes=0 +privacy/collected_data/physical_address/collected=false +privacy/collected_data/physical_address/linked_to_user=false +privacy/collected_data/physical_address/used_for_tracking=false +privacy/collected_data/physical_address/collection_purposes=0 +privacy/collected_data/other_contact_info/collected=false +privacy/collected_data/other_contact_info/linked_to_user=false +privacy/collected_data/other_contact_info/used_for_tracking=false +privacy/collected_data/other_contact_info/collection_purposes=0 +privacy/collected_data/health/collected=false +privacy/collected_data/health/linked_to_user=false +privacy/collected_data/health/used_for_tracking=false +privacy/collected_data/health/collection_purposes=0 +privacy/collected_data/fitness/collected=false +privacy/collected_data/fitness/linked_to_user=false +privacy/collected_data/fitness/used_for_tracking=false +privacy/collected_data/fitness/collection_purposes=0 +privacy/collected_data/payment_info/collected=false +privacy/collected_data/payment_info/linked_to_user=false +privacy/collected_data/payment_info/used_for_tracking=false +privacy/collected_data/payment_info/collection_purposes=0 +privacy/collected_data/credit_info/collected=false +privacy/collected_data/credit_info/linked_to_user=false +privacy/collected_data/credit_info/used_for_tracking=false +privacy/collected_data/credit_info/collection_purposes=0 +privacy/collected_data/other_financial_info/collected=false +privacy/collected_data/other_financial_info/linked_to_user=false +privacy/collected_data/other_financial_info/used_for_tracking=false +privacy/collected_data/other_financial_info/collection_purposes=0 +privacy/collected_data/precise_location/collected=false +privacy/collected_data/precise_location/linked_to_user=false +privacy/collected_data/precise_location/used_for_tracking=false +privacy/collected_data/precise_location/collection_purposes=0 +privacy/collected_data/coarse_location/collected=false +privacy/collected_data/coarse_location/linked_to_user=false +privacy/collected_data/coarse_location/used_for_tracking=false +privacy/collected_data/coarse_location/collection_purposes=0 +privacy/collected_data/sensitive_info/collected=false +privacy/collected_data/sensitive_info/linked_to_user=false +privacy/collected_data/sensitive_info/used_for_tracking=false +privacy/collected_data/sensitive_info/collection_purposes=0 +privacy/collected_data/contacts/collected=false +privacy/collected_data/contacts/linked_to_user=false +privacy/collected_data/contacts/used_for_tracking=false +privacy/collected_data/contacts/collection_purposes=0 +privacy/collected_data/emails_or_text_messages/collected=false +privacy/collected_data/emails_or_text_messages/linked_to_user=false +privacy/collected_data/emails_or_text_messages/used_for_tracking=false +privacy/collected_data/emails_or_text_messages/collection_purposes=0 +privacy/collected_data/photos_or_videos/collected=false +privacy/collected_data/photos_or_videos/linked_to_user=false +privacy/collected_data/photos_or_videos/used_for_tracking=false +privacy/collected_data/photos_or_videos/collection_purposes=0 +privacy/collected_data/audio_data/collected=false +privacy/collected_data/audio_data/linked_to_user=false +privacy/collected_data/audio_data/used_for_tracking=false +privacy/collected_data/audio_data/collection_purposes=0 +privacy/collected_data/gameplay_content/collected=false +privacy/collected_data/gameplay_content/linked_to_user=false +privacy/collected_data/gameplay_content/used_for_tracking=false +privacy/collected_data/gameplay_content/collection_purposes=0 +privacy/collected_data/customer_support/collected=false +privacy/collected_data/customer_support/linked_to_user=false +privacy/collected_data/customer_support/used_for_tracking=false +privacy/collected_data/customer_support/collection_purposes=0 +privacy/collected_data/other_user_content/collected=false +privacy/collected_data/other_user_content/linked_to_user=false +privacy/collected_data/other_user_content/used_for_tracking=false +privacy/collected_data/other_user_content/collection_purposes=0 +privacy/collected_data/browsing_history/collected=false +privacy/collected_data/browsing_history/linked_to_user=false +privacy/collected_data/browsing_history/used_for_tracking=false +privacy/collected_data/browsing_history/collection_purposes=0 +privacy/collected_data/search_hhistory/collected=false +privacy/collected_data/search_hhistory/linked_to_user=false +privacy/collected_data/search_hhistory/used_for_tracking=false +privacy/collected_data/search_hhistory/collection_purposes=0 +privacy/collected_data/user_id/collected=false +privacy/collected_data/user_id/linked_to_user=false +privacy/collected_data/user_id/used_for_tracking=false +privacy/collected_data/user_id/collection_purposes=0 +privacy/collected_data/device_id/collected=false +privacy/collected_data/device_id/linked_to_user=false +privacy/collected_data/device_id/used_for_tracking=false +privacy/collected_data/device_id/collection_purposes=0 +privacy/collected_data/purchase_history/collected=false +privacy/collected_data/purchase_history/linked_to_user=false +privacy/collected_data/purchase_history/used_for_tracking=false +privacy/collected_data/purchase_history/collection_purposes=0 +privacy/collected_data/product_interaction/collected=false +privacy/collected_data/product_interaction/linked_to_user=false +privacy/collected_data/product_interaction/used_for_tracking=false +privacy/collected_data/product_interaction/collection_purposes=0 +privacy/collected_data/advertising_data/collected=false +privacy/collected_data/advertising_data/linked_to_user=false +privacy/collected_data/advertising_data/used_for_tracking=false +privacy/collected_data/advertising_data/collection_purposes=0 +privacy/collected_data/other_usage_data/collected=false +privacy/collected_data/other_usage_data/linked_to_user=false +privacy/collected_data/other_usage_data/used_for_tracking=false +privacy/collected_data/other_usage_data/collection_purposes=0 +privacy/collected_data/crash_data/collected=false +privacy/collected_data/crash_data/linked_to_user=false +privacy/collected_data/crash_data/used_for_tracking=false +privacy/collected_data/crash_data/collection_purposes=0 +privacy/collected_data/performance_data/collected=false +privacy/collected_data/performance_data/linked_to_user=false +privacy/collected_data/performance_data/used_for_tracking=false +privacy/collected_data/performance_data/collection_purposes=0 +privacy/collected_data/other_diagnostic_data/collected=false +privacy/collected_data/other_diagnostic_data/linked_to_user=false +privacy/collected_data/other_diagnostic_data/used_for_tracking=false +privacy/collected_data/other_diagnostic_data/collection_purposes=0 +privacy/collected_data/environment_scanning/collected=false +privacy/collected_data/environment_scanning/linked_to_user=false +privacy/collected_data/environment_scanning/used_for_tracking=false +privacy/collected_data/environment_scanning/collection_purposes=0 +privacy/collected_data/hands/collected=false +privacy/collected_data/hands/linked_to_user=false +privacy/collected_data/hands/used_for_tracking=false +privacy/collected_data/hands/collection_purposes=0 +privacy/collected_data/head/collected=false +privacy/collected_data/head/linked_to_user=false +privacy/collected_data/head/used_for_tracking=false +privacy/collected_data/head/collection_purposes=0 +privacy/collected_data/other_data_types/collected=false +privacy/collected_data/other_data_types/linked_to_user=false +privacy/collected_data/other_data_types/used_for_tracking=false +privacy/collected_data/other_data_types/collection_purposes=0 +ssh_remote_deploy/enabled=false +ssh_remote_deploy/host="user@host_ip" +ssh_remote_deploy/port="22" +ssh_remote_deploy/extra_args_ssh="" +ssh_remote_deploy/extra_args_scp="" +ssh_remote_deploy/run_script="#!/usr/bin/env bash +unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\" +open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}" +ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash +kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\") +rm -rf \"{temp_dir}\"" diff --git a/tools/configurator/locales/interface.de.translation b/tools/configurator/locales/interface.de.translation index 32ac9a52..aa502d2a 100644 Binary files a/tools/configurator/locales/interface.de.translation and b/tools/configurator/locales/interface.de.translation differ diff --git a/tools/configurator/locales/interface.en.translation b/tools/configurator/locales/interface.en.translation index 499a21f9..b26f5a7d 100644 Binary files a/tools/configurator/locales/interface.en.translation and b/tools/configurator/locales/interface.en.translation differ diff --git a/tools/configurator/locales/interface.it.translation b/tools/configurator/locales/interface.it.translation index 52c56a3e..df7413f6 100644 Binary files a/tools/configurator/locales/interface.it.translation and b/tools/configurator/locales/interface.it.translation differ diff --git a/tools/configurator/locales/interface.ja.translation b/tools/configurator/locales/interface.ja.translation index 4b90f1f0..abfd2ba5 100644 Binary files a/tools/configurator/locales/interface.ja.translation and b/tools/configurator/locales/interface.ja.translation differ diff --git a/tools/configurator/locales/interface.sv.translation b/tools/configurator/locales/interface.sv.translation index 8047717d..6ccc96de 100644 Binary files a/tools/configurator/locales/interface.sv.translation and b/tools/configurator/locales/interface.sv.translation differ diff --git a/tools/configurator/locales/interface.ua.translation b/tools/configurator/locales/interface.ua.translation index 346b3c9b..3d2eab49 100644 Binary files a/tools/configurator/locales/interface.ua.translation and b/tools/configurator/locales/interface.ua.translation differ diff --git a/tools/configurator/locales/interface.zh.translation b/tools/configurator/locales/interface.zh.translation index b2305da7..ba35bee4 100644 Binary files a/tools/configurator/locales/interface.zh.translation and b/tools/configurator/locales/interface.zh.translation differ diff --git a/tools/configurator/main.gd b/tools/configurator/main.gd index ba963ed3..7846b9ab 100644 --- a/tools/configurator/main.gd +++ b/tools/configurator/main.gd @@ -22,12 +22,13 @@ var l1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts var r1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png") var a_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0042.png") var b_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0043.png") - var app_data := AppData.new() + func _ready(): _get_nodes() _connect_signals() _play_main_animations() + %locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) app_data = data_handler.app_data #data_handler.add_emulator() @@ -36,18 +37,41 @@ func _ready(): var website_data: Link = app_data.about_links["rd_web"] print (website_data.name,"-",website_data.url,"-",website_data.description,"-",website_data.url) #print (app_data.about_links["rd_web"]["name"]) - - for key in app_data.emulators.keys(): - var emulator = app_data.emulators[key] - # Display the properties of each emulator - print("Emulator Name: ", emulator.name) - print("Description: ", emulator.description) - print("Properties:") - # Iterate over properties and show each one - for property: EmulatorProperty in emulator.properties: - print("Cheevos: ", property.cheevos) - print("ABXY_button:", property.abxy_button) - print("multi_user_config_dir: ", property.multi_user_config_dir) + var core_data: Core = app_data.cores["gambatte_libetro"] + print (core_data.name) + for property: CoreProperty in core_data.properties: + print("Cheevos: ", property.cheevos) + print("Cheevos Hardcore: ", property.cheevos_hardcore) + print("Quick Resume: ", property.quick_resume) + print("Rewind: ", property.rewind) + print("Borders: ", property.borders) + print("Widescreen: ", property.widescreen) + print("ABXY_button:", property.abxy_button) + #for key in app_data.emulators.keys(): + #var emulator = app_data.emulators[key] + ## Display the properties of each emulator + #print("System Name: ", emulator.name) + #print("Description: ", emulator.description) + #print("Properties:") + #for property: EmulatorProperty in emulator.properties: + #print("Cheevos: ", property.cheevos) + #print("Borders: ", property.borders) + #print("ABXY_button:", property.abxy_button) + #print("multi_user_config_dir: ", property.multi_user_config_dir) + # + #for key in app_data.retroarch_cores.keys(): + #var core = app_data.retroarch_cores[key] + #print("Core Name: ", core.name) + #print("Description: ", core.description) + #print("Properties:") + #for property: CoreProperty in core.properties: + #print("Cheevos: ", property.cheevos) + #print("Cheevos Hardcore: ", property.cheevos_hardcore) + #print("Quick Resume: ", property.quick_resume) + #print("Rewind: ", property.rewind) + #print("Borders: ", property.borders) + #print("Widescreen: ", property.widescreen) + #print("ABXY_button:", property.abxy_button) else: print ("No emulators") @@ -75,7 +99,8 @@ func _ready(): if (n.is_class("BaseButton") and n.disabled == true): #if button-like control and disabled n.self_modulate.a = 0.5 #make it half transparent combine_tkeys() - + + func _input(event): if Input.is_action_pressed("quit1") and Input.is_action_pressed("quit2"): get_tree().quit() @@ -107,12 +132,13 @@ func _connect_signals() -> void: theme_option.item_selected.connect(_conf_theme) #signal_theme_changed.emit(theme_option.item_selected) log_option.item_selected.connect(_load_log) - %borders_button.pressed.connect(_hide_show.bind(%borders_button)) - %save_button.pressed.connect(_hide_show.bind(%save_button)) - %decorations_button.pressed.connect(_hide_show_containers.bind(%decorations_button)) - %systems_button.pressed.connect(_hide_show_containers.bind(%systems_button)) - %save_resume_button.pressed.connect(_hide_show_containers.bind(%decorations_button)) - + %borders_button.pressed.connect(_hide_show_buttons.bind(%borders_button,%borders_gridcontainer,%decorations_gridcontainer)) + %button_layout.pressed.connect(_hide_show_buttons.bind(%button_layout,%borders_gridcontainer,%decorations_gridcontainer)) + %decorations_save.pressed.connect(_hide_show_buttons.bind(%decorations_save,%decorations_save.get_parent(),null)) + %decorations_button.pressed.connect(_hide_show_containers.bind(%decorations_button, %decorations_gridcontainer)) + %systems_button.pressed.connect(_hide_show_containers.bind(%systems_button, %systems_gridcontainer)) + %save_resume_button.pressed.connect(_hide_show_containers.bind(%decorations_button,%systems_gridcontainer)) + func _load_log(index: int) -> void: var log_content:String match index: @@ -129,43 +155,51 @@ func _load_log(index: int) -> void: func _play_main_animations() -> void: anim_logo.play() -func _hide_show_containers(button: Button) -> void: +func _hide_show_containers(button: Button, grid_container: GridContainer) -> void: match button.name: - "decorations_button": - %graphics_gridcontainer.visible = true + "decorations_button", "systems_button": + grid_container.visible = true if button.toggle_mode: button.toggle_mode=false - %graphics_gridcontainer.visible = false - else: - button.toggle_mode=true - "systems_button": - %systems_gridcontainer.visible = true - if button.toggle_mode: - button.toggle_mode=false - %systems_gridcontainer.visible = false + grid_container.visible = false else: button.toggle_mode=true -func _hide_show(button: Button) -> void: - if %borders_button.button_pressed: - %borders_gridcontainer.visible = true - for i in range(%borders_gridcontainer.get_child_count()): - var child = %borders_gridcontainer.get_child(i) - if child is Button: - child.button_pressed=true - for i in range(%graphics_gridcontainer.get_child_count()): - var child = %graphics_gridcontainer.get_child(i) - if child is Button and child != %borders_button: - child.visible=false - %save_button.visible=true - - if %save_button.button_pressed: - %borders_gridcontainer.visible = false - for i in range(%graphics_gridcontainer.get_child_count()): - var child = %graphics_gridcontainer.get_child(i) - if child is Button: - child.visible=true - %save_button.visible=false +# TODO Pass GridContainer(might need 2?) as above +# TODO load existing settings or default to enable all +func _hide_show_buttons(button: Button, buttons_gridcontainer: GridContainer, hidden_gridcontainer: GridContainer) -> void: + match button.name: + "borders_button", "button_layout": + buttons_gridcontainer.visible = true + if button.toggle_mode == false: + for i in range(buttons_gridcontainer.get_child_count()): + var child = buttons_gridcontainer.get_child(i) + child.button_pressed=true + for i in range(hidden_gridcontainer.get_child_count()): + var child = hidden_gridcontainer.get_child(i) + if child is Button and child != button: + child.visible=false + %decorations_save.visible=true + elif button.toggle_mode == true and %borders_gridcontainer.visible == true: + print (button.name, "SAVE NOW? TODO") # TODO SHOW ALL AGAIN? + buttons_gridcontainer.visible = false + #button.toggle_mode = false + for i in range(hidden_gridcontainer.get_child_count()): + var child = hidden_gridcontainer.get_child(i) + if child is Button: + child.visible=true + child.toggle_mode = false + %decorations_save.visible=false + button.toggle_mode = true + "decorations_save": + if %decorations_save.visible == true and %borders_gridcontainer.visible == true: + %borders_gridcontainer.visible = false + for i in range(buttons_gridcontainer.get_child_count()): + var child = buttons_gridcontainer.get_child(i) + if child is Button: + child.visible=true + child.toggle_mode = false + %decorations_save.visible=false func _conf_theme(index: int) -> void: print (index) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index b1e03c9a..e642abc9 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=76 format=3 uid="uid://61f6m4r1mpan"] +[gd_scene load_steps=77 format=3 uid="uid://61f6m4r1mpan"] [ext_resource type="Texture2D" uid="uid://bv6vh33cnfaw4" path="res://icon.svg" id="1_axfei"] [ext_resource type="Theme" uid="uid://hhc60cllcg47" path="res://assets/themes/default_theme.tres" id="1_if8nh"] @@ -69,14 +69,15 @@ [ext_resource type="Texture2D" uid="uid://ckyvec3wqx3t" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png" id="39_5ft88"] [ext_resource type="Texture2D" uid="uid://n4hywdifr1q4" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0763.png" id="39_m4qgd"] [ext_resource type="Texture2D" uid="uid://bwcc0mjxxm0w1" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0764.png" id="40_pnuor"] +[ext_resource type="AudioStream" uid="uid://dhejvg02t5o35" path="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538549__sjonas88__select-2.wav" id="71_ghxvk"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_omewi"] +bg_color = Color(0.712505, 0, 0.175592, 1) [sub_resource type="GDScript" id="GDScript_203iw"] script/source = "extends MarginContainer " -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_omewi"] -bg_color = Color(0.712505, 0, 0.175592, 1) - [sub_resource type="SpriteFrames" id="SpriteFrames_lhf2y"] animations = [{ "frames": [{ @@ -194,34 +195,66 @@ tab_alignment = 1 current_tab = 0 script = ExtResource("3_id6l4") -[node name="Presets" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +[node name="Gobals" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true layout_mode = 2 -script = SubResource("GDScript_203iw") metadata/_tab_index = 0 -[node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets"] +[node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals"] layout_mode = 2 follow_focus = true -[node name="VBoxContainer" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer"] +[node name="VBoxContainer" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="decorations_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer"] -unique_name_in_owner = true +[node name="GridContainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer"] layout_mode = 2 -text = "DECORATIONS - Borders, Widescreen" +columns = 3 + +[node name="Widescreen6" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/GridContainer"] +layout_mode = 2 +text = "BUTTON SWAP +" icon = ExtResource("4_q6hd2") -[node name="graphics_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer"] -unique_name_in_owner = true +[node name="Widescreen2" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/GridContainer"] +layout_mode = 2 +text = "MODS" +icon = ExtResource("4_q6hd2") + +[node name="Widescreen5" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/GridContainer"] +layout_mode = 2 +text = "QUICK RESUME" +icon = ExtResource("4_q6hd2") + +[node name="decorations_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/GridContainer"] +layout_mode = 2 +text = "BORDERS" +icon = ExtResource("4_jldgc") + +[node name="Widescreen" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/GridContainer"] +layout_mode = 2 +text = "SHADERS" +icon = ExtResource("4_q6hd2") + +[node name="Widescreen3" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/GridContainer"] +layout_mode = 2 +text = "QUICK REWIND" +icon = ExtResource("4_q6hd2") + +[node name="Widescreen4" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/GridContainer"] +layout_mode = 2 +text = "TATE MODE" +icon = ExtResource("4_q6hd2") + +[node name="decorations_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer"] visible = false layout_mode = 2 columns = 5 -[node name="wide_screen" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/graphics_gridcontainer"] +[node name="wide_screen" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/decorations_gridcontainer"] custom_minimum_size = Vector2(200, 200) layout_mode = 2 size_flags_horizontal = 4 @@ -233,7 +266,7 @@ icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true -[node name="shaders" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/graphics_gridcontainer"] +[node name="shaders" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/decorations_gridcontainer"] custom_minimum_size = Vector2(200, 200) layout_mode = 2 size_flags_horizontal = 4 @@ -245,7 +278,7 @@ icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true -[node name="mods" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/graphics_gridcontainer"] +[node name="mods" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/decorations_gridcontainer"] custom_minimum_size = Vector2(200, 200) layout_mode = 2 size_flags_horizontal = 4 @@ -257,7 +290,334 @@ icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true -[node name="tate_mode" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/graphics_gridcontainer"] +[node name="tate_mode" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/decorations_gridcontainer"] +custom_minimum_size = Vector2(200, 200) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +tooltip_text = "TK_TATE" +text = "TK_TATE" +icon = ExtResource("7_i14ax") +icon_alignment = 1 +vertical_icon_alignment = 0 +expand_icon = true + +[node name="borders_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/decorations_gridcontainer"] +custom_minimum_size = Vector2(200, 200) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +tooltip_text = "TK_BORDERS" +text = "TK_BORDERS" +icon = ExtResource("5_uiobi") +icon_alignment = 1 +vertical_icon_alignment = 0 +expand_icon = true + +[node name="hotkey_sound" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/decorations_gridcontainer"] +custom_minimum_size = Vector2(200, 200) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +tooltip_text = "TK_HOTKEYSOUND" +text = "TK_HOTKEYSOUND" +icon = ExtResource("9_qwq2k") +clip_text = true +icon_alignment = 1 +vertical_icon_alignment = 0 +expand_icon = true + +[node name="button_layout" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/decorations_gridcontainer"] +custom_minimum_size = Vector2(200, 200) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +tooltip_text = "TK_BTNLAYOUT" +text = "TK_BTNLAYOUT" +icon = ExtResource("9_d2327") +clip_text = true +icon_alignment = 1 +vertical_icon_alignment = 0 +expand_icon = true + +[node name="quick_resume" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/decorations_gridcontainer"] +custom_minimum_size = Vector2(200, 200) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +tooltip_text = "TK_QRESUME" +text = "TK_QRESUME" +icon = ExtResource("11_c3qcy") +icon_alignment = 1 +vertical_icon_alignment = 0 +expand_icon = true +metadata/description = "This is a test description set to this element" + +[node name="rewind" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/decorations_gridcontainer"] +custom_minimum_size = Vector2(200, 200) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +tooltip_text = "TK_REWIND" +text = "TK_REWIND" +icon = ExtResource("12_3jrmi") +icon_alignment = 1 +vertical_icon_alignment = 0 +expand_icon = true +metadata/description = "This is another, very long and convoluted, description, that I put too much commas in to make in LONGER and more SOPHISTICATED. And I did it twice!!!This is another, very long and convoluted, description, that I put too much commas in to make in LONGER and more SOPHISTICATED." + +[node name="quit_confirm" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/decorations_gridcontainer"] +custom_minimum_size = Vector2(200, 200) +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 0 +tooltip_text = "TK_CONFIRMEXIT" +text = "TK_CONFIRMEXIT" +icon = ExtResource("13_8kii4") +clip_text = true +icon_alignment = 1 +vertical_icon_alignment = 0 +expand_icon = true + +[node name="cheats" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/decorations_gridcontainer"] +custom_minimum_size = Vector2(200, 200) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +tooltip_text = "TK_CHEATS" +text = "TK_CHEATS" +icon = ExtResource("14_oe3l4") +clip_text = true +icon_alignment = 1 +vertical_icon_alignment = 0 +expand_icon = true + +[node name="decorations_save" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/decorations_gridcontainer"] +visible = false +custom_minimum_size = Vector2(125, 125) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +theme_override_styles/focus = SubResource("StyleBoxFlat_omewi") +text = "SAVE OR SELECT ALL?" +icon = ExtResource("11_p6y0k") +icon_alignment = 1 +vertical_icon_alignment = 0 +expand_icon = true + +[node name="borders_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer"] +visible = false +layout_mode = 2 +theme_override_constants/h_separation = 30 +columns = 6 + +[node name="CheckBox5" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 0 +icon = ExtResource("5_ja8to") +expand_icon = true + +[node name="CheckBox3" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 0 +icon = ExtResource("6_mvrie") +expand_icon = true + +[node name="CheckBox4" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 0 +icon = ExtResource("7_01lqn") +expand_icon = true + +[node name="CheckBox6" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 0 +icon = ExtResource("7_b8xj2") +expand_icon = true + +[node name="CheckBox" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 0 +icon = ExtResource("8_rvph4") +expand_icon = true + +[node name="CheckBox7" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 0 +icon = ExtResource("9_s3srh") +expand_icon = true + +[node name="CheckBox8" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 0 +icon = ExtResource("10_2jlmn") +expand_icon = true + +[node name="CheckBox9" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 0 +icon = ExtResource("5_4d7s7") +expand_icon = true + +[node name="CheckBox10" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 0 +icon = ExtResource("12_pp08o") +expand_icon = true + +[node name="systems_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer"] +visible = false +layout_mode = 2 +size_flags_vertical = 3 +theme_override_constants/h_separation = 10 +theme_override_constants/v_separation = 10 +columns = 6 + +[node name="Button3" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/systems_gridcontainer"] +layout_mode = 2 +tooltip_text = "RetroARCH" +theme_override_styles/focus = ExtResource("5_rjtkn") +text = "RetroArch" +icon = ExtResource("4_xcuib") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="Button8" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/systems_gridcontainer"] +layout_mode = 2 +theme_override_styles/focus = ExtResource("5_rjtkn") +text = "Dolphin" +icon = ExtResource("11_61sak") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="Button7" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/systems_gridcontainer"] +layout_mode = 2 +tooltip_text = "CITRA" +text = "RPCS3" +icon = ExtResource("8_ec4gt") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="Button5" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/systems_gridcontainer"] +layout_mode = 2 +tooltip_text = "PSPSSPP" +theme_override_styles/focus = ExtResource("5_rjtkn") +text = "PSPSSPP" +icon = ExtResource("8_akxf7") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="Button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/systems_gridcontainer"] +layout_mode = 2 +tooltip_text = "Duckstation" +theme_override_styles/focus = ExtResource("5_rjtkn") +text = "DuckStation" +icon = ExtResource("6_winpq") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="Button2" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/systems_gridcontainer"] +layout_mode = 2 +tooltip_text = "Melon DS" +theme_override_styles/focus = ExtResource("5_rjtkn") +text = "MelonDS" +icon = ExtResource("7_4otos") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="Button9" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Gobals/ScrollContainer/VBoxContainer/systems_gridcontainer"] +visible = false +layout_mode = 2 +tooltip_text = "CITRA" +theme_override_styles/focus = ExtResource("5_rjtkn") +text = "CITRA" +icon = ExtResource("10_wbaif") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="WIP" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +script = SubResource("GDScript_203iw") +metadata/_tab_index = 1 + +[node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP"] +layout_mode = 2 +follow_focus = true + +[node name="VBoxContainer" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="decorations_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +text = "DECORATIONS - Borders, Widescreen" +icon = ExtResource("4_q6hd2") + +[node name="decorations_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +columns = 5 + +[node name="wide_screen" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/decorations_gridcontainer"] +custom_minimum_size = Vector2(200, 200) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +tooltip_text = "TK_WSCREEN" +text = "TK_WSCREEN" +icon = ExtResource("4_jldgc") +icon_alignment = 1 +vertical_icon_alignment = 0 +expand_icon = true + +[node name="shaders" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/decorations_gridcontainer"] +custom_minimum_size = Vector2(200, 200) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +tooltip_text = "TK_SHADERS" +text = "TK_SHADERS" +icon = ExtResource("5_box56") +icon_alignment = 1 +vertical_icon_alignment = 0 +expand_icon = true + +[node name="mods" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/decorations_gridcontainer"] +custom_minimum_size = Vector2(200, 200) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +tooltip_text = "TK_MODS" +text = "TK_MODS" +icon = ExtResource("6_u80kq") +icon_alignment = 1 +vertical_icon_alignment = 0 +expand_icon = true + +[node name="tate_mode" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/decorations_gridcontainer"] unique_name_in_owner = true custom_minimum_size = Vector2(200, 200) layout_mode = 2 @@ -270,7 +630,7 @@ icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true -[node name="borders_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/graphics_gridcontainer"] +[node name="borders_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/decorations_gridcontainer"] unique_name_in_owner = true custom_minimum_size = Vector2(200, 200) layout_mode = 2 @@ -283,7 +643,7 @@ icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true -[node name="hotkey_sound" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/graphics_gridcontainer"] +[node name="hotkey_sound" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/decorations_gridcontainer"] unique_name_in_owner = true custom_minimum_size = Vector2(200, 200) layout_mode = 2 @@ -297,7 +657,7 @@ icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true -[node name="buttons" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/graphics_gridcontainer"] +[node name="button_layout" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/decorations_gridcontainer"] unique_name_in_owner = true custom_minimum_size = Vector2(200, 200) layout_mode = 2 @@ -311,7 +671,7 @@ icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true -[node name="quick_resume" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/graphics_gridcontainer"] +[node name="quick_resume" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/decorations_gridcontainer"] custom_minimum_size = Vector2(200, 200) layout_mode = 2 size_flags_horizontal = 4 @@ -324,7 +684,7 @@ vertical_icon_alignment = 0 expand_icon = true metadata/description = "This is a test description set to this element" -[node name="rewind" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/graphics_gridcontainer"] +[node name="rewind" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/decorations_gridcontainer"] custom_minimum_size = Vector2(200, 200) layout_mode = 2 size_flags_horizontal = 4 @@ -337,7 +697,7 @@ vertical_icon_alignment = 0 expand_icon = true metadata/description = "This is another, very long and convoluted, description, that I put too much commas in to make in LONGER and more SOPHISTICATED. And I did it twice!!!This is another, very long and convoluted, description, that I put too much commas in to make in LONGER and more SOPHISTICATED." -[node name="quit_confirm" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/graphics_gridcontainer"] +[node name="quit_confirm" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/decorations_gridcontainer"] custom_minimum_size = Vector2(200, 200) layout_mode = 2 size_flags_horizontal = 0 @@ -350,7 +710,7 @@ icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true -[node name="cheats" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/graphics_gridcontainer"] +[node name="cheats" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/decorations_gridcontainer"] unique_name_in_owner = true custom_minimum_size = Vector2(200, 200) layout_mode = 2 @@ -364,7 +724,7 @@ icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true -[node name="save_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/graphics_gridcontainer"] +[node name="decorations_save" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/decorations_gridcontainer"] unique_name_in_owner = true visible = false custom_minimum_size = Vector2(125, 125) @@ -372,98 +732,98 @@ layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 4 theme_override_styles/focus = SubResource("StyleBoxFlat_omewi") -text = "SAVE" +text = "SAVE OR SELECT ALL?" icon = ExtResource("11_p6y0k") icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true -[node name="borders_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer"] +[node name="borders_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer"] unique_name_in_owner = true visible = false layout_mode = 2 theme_override_constants/h_separation = 30 -columns = 4 +columns = 6 -[node name="CheckBox5" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(200, 180) +[node name="CheckBox5" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 icon = ExtResource("5_ja8to") expand_icon = true -[node name="CheckBox3" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(200, 180) +[node name="CheckBox3" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 icon = ExtResource("6_mvrie") expand_icon = true -[node name="CheckBox4" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(200, 180) +[node name="CheckBox4" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 icon = ExtResource("7_01lqn") expand_icon = true -[node name="CheckBox6" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(200, 180) +[node name="CheckBox6" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 icon = ExtResource("7_b8xj2") expand_icon = true -[node name="CheckBox" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(200, 180) +[node name="CheckBox" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 icon = ExtResource("8_rvph4") expand_icon = true -[node name="CheckBox7" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(200, 180) +[node name="CheckBox7" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 icon = ExtResource("9_s3srh") expand_icon = true -[node name="CheckBox8" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(200, 180) +[node name="CheckBox8" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 icon = ExtResource("10_2jlmn") expand_icon = true -[node name="CheckBox9" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(200, 180) +[node name="CheckBox9" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 icon = ExtResource("5_4d7s7") expand_icon = true -[node name="CheckBox10" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(200, 180) +[node name="CheckBox10" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/borders_gridcontainer"] +custom_minimum_size = Vector2(175, 175) layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 icon = ExtResource("12_pp08o") expand_icon = true -[node name="systems_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer"] +[node name="systems_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer"] unique_name_in_owner = true layout_mode = 2 text = "SYSTEMS - Emulators, Console, Computers" icon = ExtResource("17_0kr64") -[node name="systems_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer"] +[node name="systems_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer"] unique_name_in_owner = true visible = false layout_mode = 2 @@ -472,7 +832,7 @@ theme_override_constants/h_separation = 10 theme_override_constants/v_separation = 10 columns = 6 -[node name="Button3" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/systems_gridcontainer"] +[node name="Button3" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/systems_gridcontainer"] layout_mode = 2 tooltip_text = "RetroARCH" theme_override_styles/focus = ExtResource("5_rjtkn") @@ -481,7 +841,7 @@ icon = ExtResource("4_xcuib") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="Button8" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/systems_gridcontainer"] +[node name="Button8" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/systems_gridcontainer"] layout_mode = 2 theme_override_styles/focus = ExtResource("5_rjtkn") text = "Dolphin" @@ -489,7 +849,7 @@ icon = ExtResource("11_61sak") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="Button7" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/systems_gridcontainer"] +[node name="Button7" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/systems_gridcontainer"] layout_mode = 2 tooltip_text = "CITRA" text = "RPCS3" @@ -497,7 +857,7 @@ icon = ExtResource("8_ec4gt") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="Button5" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/systems_gridcontainer"] +[node name="Button5" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/systems_gridcontainer"] layout_mode = 2 tooltip_text = "PSPSSPP" theme_override_styles/focus = ExtResource("5_rjtkn") @@ -506,7 +866,7 @@ icon = ExtResource("8_akxf7") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="Button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/systems_gridcontainer"] +[node name="Button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/systems_gridcontainer"] layout_mode = 2 tooltip_text = "Duckstation" theme_override_styles/focus = ExtResource("5_rjtkn") @@ -515,7 +875,7 @@ icon = ExtResource("6_winpq") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="Button2" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/systems_gridcontainer"] +[node name="Button2" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/systems_gridcontainer"] layout_mode = 2 tooltip_text = "Melon DS" theme_override_styles/focus = ExtResource("5_rjtkn") @@ -524,7 +884,7 @@ icon = ExtResource("7_4otos") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="Button9" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer/systems_gridcontainer"] +[node name="Button9" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer/systems_gridcontainer"] visible = false layout_mode = 2 tooltip_text = "CITRA" @@ -534,7 +894,7 @@ icon = ExtResource("10_wbaif") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="save_resume_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/Presets/ScrollContainer/VBoxContainer"] +[node name="save_resume_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer"] unique_name_in_owner = true layout_mode = 2 text = "FUNCTIONS - Save states, etc" @@ -543,7 +903,7 @@ icon = ExtResource("18_h2o3e") [node name="TK_SYSTEM" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false layout_mode = 2 -metadata/_tab_index = 1 +metadata/_tab_index = 2 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_SYSTEM"] layout_mode = 2 @@ -567,7 +927,7 @@ layout_mode = 2 [node name="TK_TOOLS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false layout_mode = 2 -metadata/_tab_index = 2 +metadata/_tab_index = 3 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS"] layout_mode = 2 @@ -675,7 +1035,7 @@ text = "TK_MOVEFILES" [node name="TK_NETWORK" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false layout_mode = 2 -metadata/_tab_index = 3 +metadata/_tab_index = 4 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK"] layout_mode = 2 @@ -829,7 +1189,7 @@ text = "TK_FTPBTN" [node name="TK_TROUBLESHOOT" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false layout_mode = 2 -metadata/_tab_index = 4 +metadata/_tab_index = 5 [node name="VBoxContainer" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT"] layout_mode = 2 @@ -930,7 +1290,7 @@ offset_bottom = 35.0 [node name="Settings" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false layout_mode = 2 -metadata/_tab_index = 5 +metadata/_tab_index = 6 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/Settings"] layout_mode = 2 @@ -1014,7 +1374,7 @@ popup/item_4/id = 4 visible = false layout_mode = 2 script = ExtResource("4_m4rto") -metadata/_tab_index = 6 +metadata/_tab_index = 7 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_ABOUT"] layout_mode = 2 @@ -1269,6 +1629,11 @@ popup/item_5/id = 5 popup/item_6/icon = ExtResource("11_ri2fv") popup/item_6/id = 6 +[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."] +unique_name_in_owner = true +stream = ExtResource("71_ghxvk") +volume_db = -5.0 + [connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/scan_container/bios_button" to="." method="_on_bios_button_pressed"] [connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/scan_container/bios_button_expert" to="." method="_on_bios_button_expert_pressed"] [connection signal="pressed" from="coltroller_guide/controller_guide_text/exit_button" to="." method="_on_exit_button_pressed"] diff --git a/tools/configurator/project.godot b/tools/configurator/project.godot index 068dea36..b32199d7 100644 --- a/tools/configurator/project.godot +++ b/tools/configurator/project.godot @@ -11,7 +11,7 @@ config_version=5 [application] config/name="RetroDECK Configurator" -config/version="v0.051" +config/version="0.052" run/main_scene="res://main.tscn" config/features=PackedStringArray("4.3", "GL Compatibility") boot_splash/bg_color=Color(0.141176, 0.141176, 0.141176, 0) @@ -105,6 +105,7 @@ quit1={ quit2={ "deadzone": 0.5, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":7,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":4,"pressure":0.0,"pressed":true,"script":null) ] } @@ -121,4 +122,5 @@ locale/translations=PackedStringArray("res://locales/interface.en.translation", textures/canvas_textures/default_texture_filter=0 renderer/rendering_method="gl_compatibility" renderer/rendering_method.mobile="gl_compatibility" +textures/vram_compression/import_etc2_astc=true viewport/transparent_background=true diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index ce995125..e67b3822 100644 --- a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres +++ b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres @@ -1087,7 +1087,7 @@ cache/0/16/0/glyphs/95/uv_rect = Rect2(92, 148, 6, 1) cache/0/16/0/glyphs/95/texture_idx = 0 cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0) -[sub_resource type="Image" id="Image_5erl7"] +[sub_resource type="Image" id="Image_fqtjp"] data = { "data": PackedByteArray("4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg/////////////////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4A=="), "format": "Lum8", @@ -1097,9 +1097,9 @@ data = { } [sub_resource type="ImageTexture" id="447"] -image = SubResource("Image_5erl7") +image = SubResource("Image_fqtjp") -[sub_resource type="Image" id="Image_u2s1p"] +[sub_resource type="Image" id="Image_tditd"] data = { "data": PackedByteArray("AAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQACgAVACUANAA/AEYARwBIAEgARwBGAD8ANAAlABUACgARACU/d1rvVv9W/1b/Vv9W/1b/Vv9W/1rvP3cAJQARABkANFnvSP9E/0P/Q/9D/0P/Q/9D/0T/SP9Z7wA0ABkAHwA/VP9D/0P/Q/9D/0P/Q/9D/0P/Q/9D/1T/AD8AHwAiAEZS/0L/Qv9C/0L/Qv9C/0L/Qv9C/0L/Uv8ARgAiACQAR1H/QP9A/0D/QP9A/0D/QP9A/0D/QP9R/wBHACQAJABIT/8//z//P/8//z//P/8//z//P/8//0//AEgAJAAkAEhN/z7/Pv8+/z7/Pv8+/z7/Pv8+/z7/Tf8ASAAkACQAR0z/Pf89/z3/Pf89/z3/Pf89/z3/Pf9M/wBHACQAIgBGSv87/zv/O/87/zv/O/87/zv/O/87/0r/AEYAIgAfAD9J/zr/Ov86/zr/Ov86/zr/Ov86/zr/Sf8APwAfABkANEvvPf85/zn/Of85/zn/Of85/zn/Pf9L7wA0ABkAEQAlNXdK70f/Rv9G/0b/Rv9G/0b/R/9K7TV3ACUAEQAKABUAJQA0AD8ARgBHAEgASABHAEYAPwA0ACUAFQAKAAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQ="), "format": "LumAlpha8", @@ -1109,7 +1109,7 @@ data = { } [sub_resource type="ImageTexture" id="53"] -image = SubResource("Image_u2s1p") +image = SubResource("Image_tditd") [sub_resource type="StyleBoxTexture" id="54"] content_margin_left = 6.0 @@ -1123,7 +1123,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_7jtn8"] +[sub_resource type="Image" id="Image_mrt37"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw5HjL85R4y/aEeMv3pHjL97R4y/e0eMv3tHjL97R4y/ekeMv2hHjL85R4y/DgAAAAAAAAAAAAAAAAAAAABHjL86R4y/dEeMvxBHjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8QR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/aUeMvw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw9HjL9pAAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8GR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwhHjL97AAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8IR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwZHjL97AAAAAAAAAAAAAAAAAAAAAEeMv2lHjL8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8OR4y/aQAAAAAAAAAAAAAAAAAAAABHjL86R4y/dUeMvw9HjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8RR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/DkeMvzpHjL9oR4y/ekeMv3tHjL97R4y/e0eMv3tHjL96R4y/aEeMvzlHjL8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1133,7 +1133,7 @@ data = { } [sub_resource type="ImageTexture" id="56"] -image = SubResource("Image_7jtn8") +image = SubResource("Image_mrt37") [sub_resource type="StyleBoxTexture" id="57"] content_margin_left = 6.0 @@ -1147,7 +1147,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_vhvkw"] +[sub_resource type="Image" id="Image_mgesx"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJUJAS3dfWmzvW1do/1pWZ/9aVmf/WlZn/1pWZ/9aVmf/WlZn/1tXaP9fWmzvQkBLdwAAACUAAAARAAAAGQAAADRfWmvvTUpX/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9JRlL/TUpX/19aa+8AAAA0AAAAGQAAAB8AAAA/W1dm/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9IRVH/SEVR/0lGUv9bV2b/AAAAPwAAAB8AAAAiAAAARllVZP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/WVVk/wAAAEYAAAAiAAAAJAAAAEdYVGT/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/1hUZP8AAABHAAAAJAAAACQAAABIVlNj/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9WU2P/AAAASAAAACQAAAAkAAAASFZTYv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/VlNi/wAAAEgAAAAkAAAAJAAAAEdVUWL/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/1VRYv8AAABHAAAAJAAAACIAAABGVVFg/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9VUWD/AAAARgAAACIAAAAfAAAAP1VRYP9EQU3/Q0BM/0NATP9DQEz/Q0BM/0NATP9DQEz/Q0BM/0NATP9EQU3/VVFg/wAAAD8AAAAfAAAAGQAAADRWU2TvR0NR/0M/Tf9CP0z/Qj9M/0I/TP9CP0z/Qj9M/0I/TP9DP03/R0NR/1dTZO8AAAA0AAAAGQAAABEAAAAlPjtGd1dTY+9TUF//U09e/1NPXv9TT17/U09e/1NPXv9TT17/U1Bf/1dTY+0+O0Z3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1157,7 +1157,7 @@ data = { } [sub_resource type="ImageTexture" id="59"] -image = SubResource("Image_vhvkw") +image = SubResource("Image_mgesx") [sub_resource type="StyleBoxTexture" id="60"] content_margin_left = 6.0 @@ -1175,7 +1175,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_djtfc"] +[sub_resource type="Image" id="Image_fkqgi"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJTw6RHdWU2HvUlBd/1FPXf9RT13/UU9d/1FPXf9RT13/UU9d/1JQXf9WU2HvPDpEdwAAACUAAAARAAAAGQAAADRWUmDvRkJO/0I+Sv9BPkn/QT5J/0E+Sf9BPkn/QT5J/0E+Sf9CPkr/RkJO/1ZSYO8AAAA0AAAAGQAAAB8AAAA/UU5b/0E+Sf9APkj/QD5I/0A+SP9APkj/QD5I/0A+SP9APkj/QD5I/0E+Sf9RTlv/AAAAPwAAAB8AAAAiAAAARk9MWf8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/T0xZ/wAAAEYAAAAiAAAAJAAAAEdOSlj/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/05KWP8AAABHAAAAJAAAACQAAABIS0lV/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP9LSVX/AAAASAAAACQAAAAkAAAASEpHVP87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/SkdU/wAAAEgAAAAkAAAAJAAAAEdJRlP/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/0lGU/8AAABHAAAAJAAAACIAAABGR0VQ/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP9HRVD/AAAARgAAACIAAAAfAAAAP0dDUP84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//R0NQ/wAAAD8AAAAfAAAAGQAAADRHRFLvOjhC/zY0Pv82ND7/NjQ+/zY0Pv82ND7/NjQ+/zY0Pv82ND7/OjhC/0dEUu8AAAA0AAAAGQAAABEAAAAlMzE5d0dEUO9EQk3/REFM/0RBTP9EQUz/REFM/0RBTP9EQUz/REJN/0dEUe0zMTl3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1185,7 +1185,7 @@ data = { } [sub_resource type="ImageTexture" id="62"] -image = SubResource("Image_djtfc") +image = SubResource("Image_fkqgi") [sub_resource type="StyleBoxTexture" id="63"] content_margin_left = 6.0 @@ -1199,7 +1199,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_dfxxt"] +[sub_resource type="Image" id="Image_fe7ad"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAsAAAAWAAAAJwAAADYAAABBAAAASQAAAEoAAABLAAAASwAAAEoAAABJAAAAQQAAADYAAAAnAAAAFgAAAAsAAAATAAAAKTEvN4BGQ0/xQ0BM/0JAS/9CQEv/QkBL/0JAS/9CQEv/QkBL/0NATP9GQ0/xMS83fwAAACkAAAATAAAAHgAAAD1HRFDyOjhB/wsLDP8LCgz/CwoM/wsKDP8LCgz/CwsM/wsLDP8LCwz/OjhB/0dEUPIAAAA9AAAAHgAAACcAAABNREJO/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf9EQk7/AAAATQAAACcAAAAsAAAAWEZCT/8UExb/ExIW/xMSFv8UExb/ExIW/xQTFv8UExb/FBMW/xQTFv8TEhb/RkJP/wAAAFgAAAAsAAAAMgAAAF1HRVD/GBcb/xgXG/8YFxv/GBcb/xgXG/8YFxv/GBcb/xkYHP8YFxv/GBcb/0dFUP8AAABdAAAAMgAAADMAAABjSUZT/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf9JRlP/AAAAYwAAADMAAAA2AAAAZkpHVP8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/SkdU/wAAAGYAAAA2AAAAOQAAAGlLSVX/JyYt/ycmLf8nJi3/JyYt/ycmLf8nJi3/JyYt/ygmLf8nJi3/KCYt/0tJVf8AAABpAAAAOQAAADgAAABsTkpY/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/9OSlj/AAAAbAAAADgAAAA1AAAAZVBNWv8zMTr/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTr/UE1a/wAAAGUAAAA1AAAALQAAAFlVUl/8RUJN/zk3QP84N0D/OTdA/zg3QP84N0D/ODdA/zg3QP86N0H/RUJN/1VSYPwAAABZAAAALQAAACAAAABEPTpFtFZSYP1STlz/UU5b/1FOW/9RTlv/UU5b/1FOW/9RTlv/Uk5c/1ZSYP09OkW0AAAARAAAACAAAAAUAAAAKAAAAEUAAABdAAAAbgAAAHkAAAB6AAAAfAAAAHwAAAB6AAAAeQAAAG4AAABdAAAARQAAACgAAAAUAAAACAAAABQAAAAhAAAAMAAAADoAAAA/AAAAQwAAAEMAAABDAAAAQwAAAD8AAAA6AAAAMAAAACEAAAAUAAAACA=="), "format": "RGBA8", @@ -1209,7 +1209,7 @@ data = { } [sub_resource type="ImageTexture" id="65"] -image = SubResource("Image_dfxxt") +image = SubResource("Image_fe7ad") [sub_resource type="StyleBoxTexture" id="66"] content_margin_left = 6.0 @@ -1223,7 +1223,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_cu3dl"] +[sub_resource type="Image" id="Image_e7qpu"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADf39+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAA4ODg/9/f34gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAODg4P/g4OD/39/fiAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADg4OD/4ODg/+Dg4P/f39+IAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1233,9 +1233,9 @@ data = { } [sub_resource type="ImageTexture" id="425"] -image = SubResource("Image_cu3dl") +image = SubResource("Image_e7qpu") -[sub_resource type="Image" id="Image_06k3s"] +[sub_resource type="Image" id="Image_bhnyy"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MXg/+D/4P/g/+D/4P/gwwAAAAAAAAAAAAAAAAAAAADg/+D/4P/g/+D/4P/g/+D/AAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P/hPAAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/gwwAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAODD4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/38IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1245,9 +1245,9 @@ data = { } [sub_resource type="ImageTexture" id="427"] -image = SubResource("Image_06k3s") +image = SubResource("Image_bhnyy") -[sub_resource type="Image" id="Image_g0jqc"] +[sub_resource type="Image" id="Image_m68hq"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3hfgz+DO3hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g1+AZAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g/uD+4NfgGQAAAAAAAAAAAAAAAAAA3hfg1OD+4NHg/uD94dLg/uDU3hcAAAAAAAAAAAAAAADgzeD+4NDcFuD+4P3bFeDR4P7gzAAAAAAAAAAAAAAAAOC+4MXZFP8B4P7g/QAA2xXhyeDFAAAAAAAAAAAAAAAAAAAAAAAA/wHg/uD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AeD+4P0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MThwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1257,9 +1257,9 @@ data = { } [sub_resource type="ImageTexture" id="429"] -image = SubResource("Image_g0jqc") +image = SubResource("Image_m68hq") -[sub_resource type="Image" id="Image_gk346"] +[sub_resource type="Image" id="Image_epcau"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbB99u4Mfg8+Dz4MfebdsHAAAAAAAAAAAAAAAAAADjG+DP4P7g/uD+4P7g/uD+4M7jGwAAAAAAAAAAAADbB+DP4P7g4eBT2A3YDd9Q4Nfg/uDO2wcAAAAAAAAAAN9u4P7g4eMSAAAAAAAAAADhEeDh4P7ebAAAAAAAAAAA4Mjg/uBTAAAAAAAAAAAAAAAA3lXg/uDGAAAAAAAAAADg8uD+2A0AAAAAAAAAAAAAAADbDuD+4PEAAAAA4J7g/uD+4P7g/uCeAAAAAAAAAAAAAN0P4P7g8QAAAADoC+DU4P7g/uDU6AsAAAAAAAAAAAAA3lbg/uDGAAAAAAAA4Svg8+Dz4SsAAAAAAAAAAAAA5BPh4uD+3mwAAAAAAAAAAN9g32AAAAAAAAAAANsO3lbh4uD+4M7VBgAAAAAAAAAAAAAAAAAAAAAAAAAA4P7g/uD+4M7jGwAAAAAAAAAAAAAAAAAAAAAAAAAAAADg8uDF3mzVBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1269,9 +1269,9 @@ data = { } [sub_resource type="ImageTexture" id="431"] -image = SubResource("Image_gk346") +image = SubResource("Image_epcau") -[sub_resource type="Image" id="Image_srd7s"] +[sub_resource type="Image" id="Image_u4re4"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39/fCN7e3mzg4ODF4ODg9ODg4PPg4ODF3t7ebePj4wkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eLuDg4Njg4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7h4eHa4ODgMgAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eL+Dg4PDg4OD+4ODg4eDg4FPY2NgN2NjYDd/f31Dg4ODX4ODg/uDg4PLh4eEzAAAAAAAAAAAAAAAA4+PjCeDg4Nzg4OD+4ODg4ePj4xIAAAAAAAAAAAAAAAAAAAAA4eHhEeDg4OHg4OD+4ODg3+bm5goAAAAAAAAAAN/f33fg4OD+4ODg/uDg4FMAAAAA4ODgS+Dg4OPh4eHi4ODgSQAAAADe3t5V4ODg/uDg4P7f3995AAAAAAAAAADh4eHa4ODg/uDg4P7Y2NgNAAAAAOHh4eLg4OD+4ODg/uDg4OEAAAAA29vbDuDg4P7g4OD+4eHh2gAAAAAAAAAA4ODg2+Dg4P7g4OD+2NjYDQAAAADh4eHi4ODg/uDg4P7g4ODhAAAAAN3d3Q/g4OD+4ODg/uDg4NsAAAAAAAAAAN7e3nzg4OD+4ODg/t/f31AAAAAA4ODgSeHh4eLg4ODh39/fSAAAAADe3t5W4ODg/uDg4P7g4OB7AAAAAAAAAADV1dUM4ODg4+Dg4P7g4ODX4eHhEQAAAAAAAAAAAAAAAAAAAADk5OQT4eHh4uDg4P7g4ODh1dXVDAAAAAAAAAAAAAAAAN/f3zjg4OD04ODg/uDg4OHe3t5V29vbDtvb2w7e3t5W4eHh4uDg4P7g4OD03t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAA39/fN+Dg4N7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4ODd3t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5uYK39/fcODg4MXg4ODz4ODg8+Dg4MXf399u5ubmCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1281,7 +1281,7 @@ data = { } [sub_resource type="ImageTexture" id="433"] -image = SubResource("Image_srd7s") +image = SubResource("Image_u4re4") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g6bu4"] texture = ExtResource("1_ak8qr") @@ -1359,7 +1359,7 @@ region = Rect2(96, 96, 16, 16) atlas = ExtResource("1_ak8qr") region = Rect2(96, 80, 16, 16) -[sub_resource type="Image" id="Image_0m0km"] +[sub_resource type="Image" id="Image_sun6t"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_0m0km") +image = SubResource("Image_sun6t") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 @@ -1440,7 +1440,7 @@ bg_color = Color(0.490196, 0.490196, 0.490196, 1) corner_detail = 1 anti_aliasing = false -[sub_resource type="Image" id="Image_qu6fu"] +[sub_resource type="Image" id="Image_ui5pl"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN9Y3BYAAAAAAAAAAAAAAADcFt9YAAAAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAA2xXf0uD/4NfgGQAAAADbFd/S4P/g198YAAAAAAAAAAAAANsV39Lg/+DX4BnbFd/S4P/g198YAAAAAAAAAAAAAAAAAADbFd/S4P/h2uDW4P/g198YAAAAAAAAAAAAAAAAAAAAAAAA2xXf1uD/4P/g298YAAAAAAAAAAAAAAAAAAAAAAAAAADbFd/W4P/g/+Db4BkAAAAAAAAAAAAAAAAAAAAAAADbFd/S4P/f2uDW4P/g1+AZAAAAAAAAAAAAAAAAAADbFd/S4P/g198Y2xXf0uD/4NfgGQAAAAAAAAAAAADbFd/S4P/g198YAAAAANsV39Lg/+DX4BkAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAAAADfWNwWAAAAAAAAAAAAAAAA3BbfWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1450,7 +1450,7 @@ data = { } [sub_resource type="ImageTexture" id="49"] -image = SubResource("Image_qu6fu") +image = SubResource("Image_ui5pl") [sub_resource type="StyleBoxTexture" id="127"] content_margin_left = 4.0 @@ -2271,7 +2271,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(72, 64, 8, 8) -[sub_resource type="Image" id="Image_vsf8e"] +[sub_resource type="Image" id="Image_wlbr4"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_vsf8e") +image = SubResource("Image_wlbr4") [sub_resource type="StyleBoxTexture" id="200"] texture = SubResource("199") @@ -2305,7 +2305,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(64, 64, 8, 8) -[sub_resource type="Image" id="Image_58oo7"] +[sub_resource type="Image" id="Image_m37lc"] data = { "data": PackedByteArray("/wD//wD//wD//wD/Z3qFZnqGaHuGaHuGaHuGaHuGZnqGZ3qF/wD//wD//wD//wD//wD//wD/Z3qFZnqGV1FRTEJATUNBTUNBTUNBTUNBTEJAV1FRZnqGZ3qF/wD//wD//wD/Z3qFVkxLTEJATURBTUNBTkRCTkRCTkRCTkRCTUNBTURBTEJAV1FRZ3qF/wD//wD/ZnqGTEJATEJATUNBT0VDT0VDT0VDT0VDT0VDT0VDTUNBTEJATEJAZ3uH/wD/Z3qFV1FRTEJATEJATkRCT0RDUEVEUkZEUkZEUUZFT0RDTkRCTEJATEJAV1FRZ3qFZnqGS0A/TEJATUNBT0RDUUdFUkhGU0hHU0hHUkhGUUdFT0RDTkRCTEJAS0E/Z3uHZ3uHS0E/TEJATUNBT0RDUUdFVElGVUpHVUlHVUpHUkhGUEVETUNBTEJAS0E/aHyIZ3uHSkA+S0E/TUNBT0VDUUdFVElGVUtJVk1LVElGU0lHUEZETkRCTEJAS0E/aHyIZ3uHSkE+S0E/TEJAT0VDUUdFVElGVUtJVUtJVUpHUkhGUEZETkRCTEJASkA+aHyIZ3uHSD48S0I/S0E/TkRCUEVEUUZFU0lHU0lHUkhGUEVETkRCTEJAS0E/ST89aHyIZ3uHRj08SD48SkA+TEJATkRCT0RDUEVEUEVEUEZET0VDTEJAS0A/ST89Rz07Z3uHZ3qFV1FRRz47SUA9S0E/TEJATUNBTkRCTkRCTUNBTEJAS0E/ST89Rz07V1FRaHuG/wD/Z3uHRj08Rz07SD48ST89SkA+S0E/S0E/S0A/SkA+SD48Rz47Rz07Z3uH/wD//wD/Z3qFV1FRRTw7Rz07Rz07Rz07SD48SD48Rz07Rz07Rz47Rj08V1FRZnqG/wD//wD//wD/Z3qFZ3uHV1FRRjw6Rjw6Rz47Rz47Rjw6Rjw6V1FRZ3uHaHuG/wD//wD//wD//wD//wD//wD/ZnqGZ3uHaHyIaHyIaHyIaHyIZ3uHaHuG/wD//wD//wD//wD/"), "format": "RGB8", @@ -2315,7 +2315,7 @@ data = { } [sub_resource type="ImageTexture" id="204"] -image = SubResource("Image_58oo7") +image = SubResource("Image_m37lc") [sub_resource type="StyleBoxTexture" id="205"] texture = SubResource("204") @@ -2428,7 +2428,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(80, 0, 16, 8) -[sub_resource type="Image" id="Image_vwdns"] +[sub_resource type="Image" id="Image_tkr8g"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOFe4PTg/+D/4P/g/+D24WYAAAAAAAAAAAAA3yjf0uD/4P/g1+MtAAAAAAAAAAAAAAAAAADoC+Gf4Z/oCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2438,9 +2438,9 @@ data = { } [sub_resource type="ImageTexture" id="306"] -image = SubResource("Image_vwdns") +image = SubResource("Image_tkr8g") -[sub_resource type="Image" id="Image_8u1x6"] +[sub_resource type="Image" id="Image_18bpb"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2450,9 +2450,9 @@ data = { } [sub_resource type="ImageTexture" id="308"] -image = SubResource("Image_8u1x6") +image = SubResource("Image_18bpb") -[sub_resource type="Image" id="Image_naxpi"] +[sub_resource type="Image" id="Image_rvb8t"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAP9Z/xT/FP9ZAAAAAAAA/1n/FP8U/1kAAAAAAAD/Wf8U/xT/WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -2462,9 +2462,9 @@ data = { } [sub_resource type="ImageTexture" id="292"] -image = SubResource("Image_naxpi") +image = SubResource("Image_rvb8t") -[sub_resource type="Image" id="Image_ksn4y"] +[sub_resource type="Image" id="Image_55usd"] data = { "data": PackedByteArray("FxYabx0cIe8gHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHvFxYabx0cIfAkIin/KCYt/ygmLv8oJi7/KCYu/ygmLv8oJi3/JCIp/x0cIfAgHiT5KCYt/ysqMf8sKjL/LCoy/ywqMv8sKjL/Kyox/ygmLf8gHiT5IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yEfJfcoJi7/LCoy/ywqMv8sKjL/LCoy/ywqMv8sKjL/KCYu/yEfJfchHyX3KCYu/ywqMv8sKjL/LCoy/ywqMv8sKjL/LCoy/ygmLv8hHyX3IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yAeJPkoJi3/Kyox/ywqMv8sKjL/LCoy/ywqMv8rKjH/KCYt/yAeJPkdHCHwJCIp/ygmLf8oJi7/KCYu/ygmLv8oJi7/KCYt/yQiKf8dHCHxFxYabx0cIfAgHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHuFxYabw=="), "format": "RGBA8", @@ -2474,7 +2474,7 @@ data = { } [sub_resource type="ImageTexture" id="39"] -image = SubResource("Image_ksn4y") +image = SubResource("Image_55usd") [sub_resource type="StyleBoxTexture" id="272"] content_margin_left = 0.0 @@ -2534,7 +2534,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(24, 40, 8, 8) -[sub_resource type="Image" id="Image_jvlbm"] +[sub_resource type="Image" id="Image_4foen"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loWFZjarCvtYFNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/4uLjf//////tra53U1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/0JCR//4+Pj//v7+/1dXWvtNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/05OUv8mJiv/JSUq/yUlKv/Fxcf//////6qqq/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/7i4uv//////X19j/yUlKv90dHf//////+3t7f8zMzj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv+NjY///////7i4uf81NTn/7e3t//////90dHf/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/Ojo+//v7+//6+vr/srK0///////Fxcf/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv+4uLr///////7+/v/4+Pj/RUVJ/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/YWFl////////////j4+S/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yYmK/9OTlL/Y2Nm/yoqL/8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2544,9 +2544,9 @@ data = { } [sub_resource type="ImageTexture" id="334"] -image = SubResource("Image_jvlbm") +image = SubResource("Image_4foen") -[sub_resource type="Image" id="Image_pxng2"] +[sub_resource type="Image" id="Image_070af"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loTUtZZk1LWVBNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/x4eIv8gICT6ODdAtE1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPpNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yIiJ/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2556,7 +2556,7 @@ data = { } [sub_resource type="ImageTexture" id="336"] -image = SubResource("Image_pxng2") +image = SubResource("Image_070af") [sub_resource type="AtlasTexture" id="359"] atlas = ExtResource("1_ak8qr") @@ -2632,7 +2632,7 @@ border_width_left = 1 border_color = Color(0.2, 0.2, 0.2, 1) anti_aliasing = false -[sub_resource type="Image" id="Image_8h43v"] +[sub_resource type="Image" id="Image_qqej6"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_8h43v") +image = SubResource("Image_qqej6") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/scripts/app_data.gd b/tools/configurator/scripts/app_data.gd index 5b386d8d..851b6ef5 100644 --- a/tools/configurator/scripts/app_data.gd +++ b/tools/configurator/scripts/app_data.gd @@ -6,3 +6,4 @@ class_name AppData @export var about_links: Dictionary = {} @export var emulators: Dictionary = {} +@export var cores: Dictionary = {} diff --git a/tools/configurator/scripts/core.gd b/tools/configurator/scripts/core.gd new file mode 100644 index 00000000..835eb071 --- /dev/null +++ b/tools/configurator/scripts/core.gd @@ -0,0 +1,8 @@ +extends Resource + +class_name Core + +@export var name: String +@export var description: String +@export var system: Array +@export var properties: Array[CoreProperty] diff --git a/tools/configurator/scripts/core_property.gd b/tools/configurator/scripts/core_property.gd new file mode 100644 index 00000000..a744712e --- /dev/null +++ b/tools/configurator/scripts/core_property.gd @@ -0,0 +1,14 @@ +extends Resource + +class_name CoreProperty + +@export var borders: bool +@export var abxy_button: bool +@export var cheevos: bool +@export var cheevos_hardcore: bool +@export var ask_to_exit: bool +@export var multi_user_config_dir: String +@export var universal_dyn_input: bool +@export var quick_resume: bool +@export var widescreen: bool +@export var rewind: bool diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd index 4b48cb4c..8fc3deb9 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -2,7 +2,7 @@ extends Node class_name DataHandler -var data_file_path = "/app/retrodeck/config/retrodeck/reference_lists/features.json" +var data_file_path = "../../config/retrodeck/reference_lists/features.json" var app_data: AppData func _ready(): @@ -36,7 +36,7 @@ func load_base_data() -> AppData: emulator.description = emulator_data["description"] if emulator_data.has("properties"): for property_data in emulator_data["properties"]: - print (emulator,"----",property_data) + #print (emulator,"----",property_data) var property = EmulatorProperty.new() if property_data.has("cheevos"): property.cheevos = property_data.get("cheevos",true) @@ -47,11 +47,36 @@ func load_base_data() -> AppData: if property_data.has("multi_user_config_dir"): property.multi_user_config_dir = property_data.get("multi_user_config_dir",true) emulator.properties.append(property) - emulators[key] = emulator + + var cores = {} + for key in data_dict["emulator"]["retroarch"]["cores"].keys(): + var core_data = data_dict["emulator"]["retroarch"]["cores"][key] + var core = Core.new() + core.name = core_data["name"] + core.description = core_data["description"] + if core_data.has("properties"): + for property_data in core_data["properties"]: + #print (core.name,"----",property_data) + var property = CoreProperty.new() + property.cheevos = true + property.cheevos_hardcore = true + property.quick_resume = true + if property_data.has("abxy_button"): + property.abxy_button = property_data.get("abxy_button",true) + if property_data.has("widescreen"): + property.widescreen = property_data.get("widescreen",true) + if property_data.has("borders"): + property.borders = property_data.get("borders",true) + if property_data.has("rewind"): + property.rewind = property_data.get("rewind",true) + core.properties.append(property) + cores[key] = core + var app_dict = AppData.new() app_dict.about_links = about_links app_dict.emulators = emulators + app_dict.cores = cores return app_dict else: print("Error parsing JSON") @@ -184,7 +209,7 @@ func add_emulator() -> void: app_data.about_links["example_site"] = link var emulator = Emulator.new() - emulator.name = "Example Emulator" + emulator.name = "Example System" emulator.description = "An example emulator." var property = EmulatorProperty.new() #property.standalone = true @@ -203,7 +228,7 @@ func modify_emulator_test() -> void: new_property.abxy_button = true new_properties.append(new_property) - data_handler.modify_emulator("example_emulator", "Updated Emulator", "Updated description", new_properties) + data_handler.modify_emulator("example_emulator", "Updated System", "Updated description", new_properties) func parse_config_to_json(file_path: String) -> Dictionary: diff --git a/tools/configurator/scripts/emulator.gd b/tools/configurator/scripts/emulator.gd index 5b5900ad..31a937d5 100644 --- a/tools/configurator/scripts/emulator.gd +++ b/tools/configurator/scripts/emulator.gd @@ -1,6 +1,7 @@ extends Resource -class_name Emulator +class_name Emulator + @export var name: String @export var description: String @export var properties: Array[EmulatorProperty] diff --git a/tools/configurator/scripts/emulator_property.gd b/tools/configurator/scripts/emulator_property.gd index 51ef7670..07d7a673 100644 --- a/tools/configurator/scripts/emulator_property.gd +++ b/tools/configurator/scripts/emulator_property.gd @@ -1,4 +1,5 @@ extends Resource + class_name EmulatorProperty @export var borders: bool @@ -8,3 +9,4 @@ class_name EmulatorProperty @export var ask_to_exit: bool @export var multi_user_config_dir: String @export var universal_dyn_input: bool +@export var quick_resume: bool diff --git a/tools/configurator/scripts/link.gd b/tools/configurator/scripts/link.gd index e3a4b774..5e598d3e 100644 --- a/tools/configurator/scripts/link.gd +++ b/tools/configurator/scripts/link.gd @@ -1,5 +1,7 @@ extends Resource + class_name Link + @export var description: String @export var name: String @export var url: String