diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 02e5875..b439f9e 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -1,5 +1,6 @@ name: Build Windows + on: push: branches: [ master, main ] @@ -14,24 +15,76 @@ env: jobs: export-windows: name: Windows Export - runs-on: ubuntu-20.04 - container: - image: barichello/godot-ci:4.4.1 + runs-on: self-hosted steps: - name: Checkout uses: actions/checkout@v4 with: lfs: true - - name: Setup + - name: Debug Environment run: | - mkdir -v -p ~/.local/share/godot/export_templates/ - mv /root/.local/share/godot/export_templates/${GODOT_VERSION}.stable ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable - + Write-Host "Current directory: $(Get-Location)" + Write-Host "Godot executable exists: $(Test-Path 'D:\Godot\Godot_v4.4.1-stable_win64.exe')" + Write-Host "Export name: $env:EXPORT_NAME" + Write-Host "Project file exists: $(Test-Path 'project.godot')" + Get-ChildItem -Path . -Filter "*.cfg" | Select-Object Name + + - name: Verify Export Templates + run: | + $templateDir = "C:\WINDOWS\ServiceProfiles\NetworkService\AppData\Roaming\Godot\export_templates\4.4.1.stable" + Write-Host "Checking for export templates at: $templateDir" + + if (Test-Path $templateDir) { + Write-Host "Export templates found. Contents:" + Get-ChildItem -Path $templateDir | Where-Object {$_.Name -like "*windows*"} | Select-Object Name, Length | Format-Table + + # Verify the specific Windows templates we need + $debugTemplate = Join-Path $templateDir "windows_debug_x86_64.exe" + $releaseTemplate = Join-Path $templateDir "windows_release_x86_64.exe" + + if ((Test-Path $debugTemplate) -and (Test-Path $releaseTemplate)) { + Write-Host "✅ Required Windows templates found" + } else { + Write-Host "❌ Required Windows templates missing" + exit 1 + } + } else { + Write-Host "❌ Export template directory not found!" + exit 1 + } + + # Check if rcedit is available (it's already in the project) + Write-Host "Checking for rcedit..." + if (Test-Path "rcedit-x64.exe") { + Write-Host "✅ rcedit found in project directory" + } else { + Write-Host "rcedit not found - downloading..." + Invoke-WebRequest -Uri "https://github.com/electron/rcedit/releases/latest/download/rcedit-x64.exe" -OutFile "rcedit-x64.exe" + Write-Host "✅ rcedit downloaded" + } + - name: Windows Build + run: .\build-windows-ci.bat + shell: cmd + + - name: Check Build Output run: | - mkdir -v -p build/windows - godot --headless --verbose --export-release "Windows Desktop" build/windows/$EXPORT_NAME.exe + Write-Host "Build directory contents:" + if (Test-Path "build\windows") { + Get-ChildItem -Path "build\windows" -Recurse | Select-Object Name, Length + } else { + Write-Host "Build directory does not exist!" + } + + if (Test-Path "build\windows\PNGTuber-Plus.exe") { + Write-Host "Build SUCCESS: PNGTuber-Plus.exe created" + $fileSize = (Get-Item "build\windows\PNGTuber-Plus.exe").Length + Write-Host "File size: $fileSize bytes" + } else { + Write-Host "Build FAILED: PNGTuber-Plus.exe not found" + exit 1 + } - name: Upload Windows Build uses: actions/upload-artifact@v4 @@ -43,8 +96,8 @@ jobs: release: name: Create Release needs: export-windows - runs-on: ubuntu-latest - if: github.ref == 'refs/heads/master' && github.event_name == 'push' + runs-on: self-hosted + if: github.ref == 'refs/heads/master' && github.event_name == 'push' && success() steps: - name: Download Windows Build uses: actions/download-artifact@v4 diff --git a/.gitignore b/.gitignore index 31fd430..a2324d2 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ .export/ .itchio/ .steam/ +build/ \ No newline at end of file diff --git a/addons/godot-git-plugin/win64/~libgit_plugin.windows.editor.x86_64.dll b/addons/godot-git-plugin/win64/~libgit_plugin.windows.editor.x86_64.dll~RF17709ea1.TMP similarity index 100% rename from addons/godot-git-plugin/win64/~libgit_plugin.windows.editor.x86_64.dll rename to addons/godot-git-plugin/win64/~libgit_plugin.windows.editor.x86_64.dll~RF17709ea1.TMP diff --git a/addons/godot-git-plugin/win64/~libgit_plugin.windows.editor.x86_64.dll~RF177718a6.TMP b/addons/godot-git-plugin/win64/~libgit_plugin.windows.editor.x86_64.dll~RF177718a6.TMP new file mode 100644 index 0000000..60e5fe6 Binary files /dev/null and b/addons/godot-git-plugin/win64/~libgit_plugin.windows.editor.x86_64.dll~RF177718a6.TMP differ diff --git a/bin/~libgdexample.windows.template_debug.x86_64.dll b/bin/~libgdexample.windows.template_debug.x86_64.dll~RF17709eb1.TMP similarity index 100% rename from bin/~libgdexample.windows.template_debug.x86_64.dll rename to bin/~libgdexample.windows.template_debug.x86_64.dll~RF17709eb1.TMP diff --git a/bin/~libgdexample.windows.template_debug.x86_64.dll~RF177718b6.TMP b/bin/~libgdexample.windows.template_debug.x86_64.dll~RF177718b6.TMP new file mode 100644 index 0000000..c28b9ad Binary files /dev/null and b/bin/~libgdexample.windows.template_debug.x86_64.dll~RF177718b6.TMP differ diff --git a/build-windows-ci.bat b/build-windows-ci.bat new file mode 100644 index 0000000..6b78a1c --- /dev/null +++ b/build-windows-ci.bat @@ -0,0 +1,40 @@ +@echo off +setlocal + +echo Building PNGTuber Plus for Windows (CI Environment)... + +rem Create build directory +if not exist "build\windows" mkdir "build\windows" + +rem Templates should already be installed by the GitHub Actions workflow +set TEMPLATE_DIR=C:\WINDOWS\ServiceProfiles\NetworkService\AppData\Roaming\Godot\export_templates\4.4.1.stable +echo Checking for export templates at: %TEMPLATE_DIR% + +if exist "%TEMPLATE_DIR%" ( + echo Export templates found. + dir "%TEMPLATE_DIR%" +) else ( + echo ERROR: Export templates not found at %TEMPLATE_DIR% + echo This should have been handled by the GitHub Actions setup step. + exit /b 1 +) + +rem Build the project +echo Running Godot export... +"D:\Godot\Godot_v4.4.1-stable_win64.exe" --headless --export-release "Windows Desktop" "build\windows\PNGTuber-Plus.exe" + +if %ERRORLEVEL% EQU 0 ( + echo. + echo Build completed successfully! + echo Output: build\windows\PNGTuber-Plus.exe + if exist "build\windows\PNGTuber-Plus.exe" ( + echo File size: + dir "build\windows\PNGTuber-Plus.exe" + ) + echo. +) else ( + echo. + echo Build failed with error code %ERRORLEVEL% + echo. + exit /b %ERRORLEVEL% +) diff --git a/build-windows.bat b/build-windows.bat index 9de6ff0..d4483e9 100644 --- a/build-windows.bat +++ b/build-windows.bat @@ -1,22 +1,50 @@ @echo off +setlocal + echo Building PNGTuber Plus for Windows... -:: Create build directory +rem Create build directory if not exist "build\windows" mkdir "build\windows" -:: Build the project +rem Install export templates if they don't exist +echo Checking for export templates... +set TEMPLATE_DIR=%APPDATA%\Godot\export_templates\4.4.1.stable +if not exist "%TEMPLATE_DIR%" ( + echo Export templates not found. Installing... + "D:\Godot\Godot_v4.4.1-stable_win64.exe" --headless --export-pack + timeout /t 5 /nobreak >nul + + rem Download templates if the export-pack didn't work + if not exist "%TEMPLATE_DIR%" ( + echo Downloading export templates... + powershell -Command "& {Invoke-WebRequest -Uri 'https://github.com/godotengine/godot/releases/download/4.4.1-stable/Godot_v4.4.1-stable_export_templates.tpz' -OutFile 'templates.tpz'}" + + rem Rename and extract templates + powershell -Command "& {Rename-Item 'templates.tpz' 'templates.zip'}" + powershell -Command "& {Expand-Archive -Path 'templates.zip' -DestinationPath 'temp_templates' -Force}" + if not exist "%APPDATA%\Godot\export_templates" mkdir "%APPDATA%\Godot\export_templates" + move "temp_templates\templates" "%TEMPLATE_DIR%" + rmdir /s /q "temp_templates" + del "templates.zip" + echo Export templates installed. + ) +) else ( + echo Export templates found. +) + +rem Build the project echo Running Godot export... -godot --headless --verbose --export-release "Windows Desktop" "build\windows\PNGTuber-Plus.exe" +"D:\Godot\Godot_v4.4.1-stable_win64.exe" --headless --export-release "Windows Desktop" "build\windows\PNGTuber-Plus.exe" if %ERRORLEVEL% EQU 0 ( echo. - echo ✅ Build completed successfully! + echo Build completed successfully! echo Output: build\windows\PNGTuber-Plus.exe echo. - pause ) else ( echo. - echo ❌ Build failed with error code %ERRORLEVEL% + echo Build failed with error code %ERRORLEVEL% echo. - pause ) + +pause diff --git a/export_presets.cfg b/export_presets.cfg index a4bb5b2..9b47007 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -3,27 +3,29 @@ name="Windows Desktop" platform="Windows Desktop" runnable=true +advanced_options=true dedicated_server=false custom_features="" export_filter="all_resources" include_filter="" -exclude_filter="" -export_path=".export/release 1.4.5/steam/PNGTUBER PLUS 1.4.5 STEAM.exe" +exclude_filter="addons/godot-git-plugin/*" +export_path="build/windows/PNGTuber-Plus.exe" +patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" +seed=0 encrypt_pck=false encrypt_directory=false +script_export_mode=2 [preset.0.options] custom_template/debug="" custom_template/release="" -debug/export_console_wrapper=1 -binary_format/embed_pck=false -texture_format/bptc=true -texture_format/s3tc=true -texture_format/etc=false -texture_format/etc2=false +debug/export_console_wrapper=2 +binary_format/embed_pck=true +texture_format/s3tc_bptc=true +texture_format/etc2_astc=false binary_format/architecture="x86_64" codesign/enable=false codesign/timestamp=true @@ -42,6 +44,9 @@ application/product_name="PNGTuber Plus" 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" @@ -59,22 +64,30 @@ Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorActi 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}'" +texture_format/bptc=true +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false [preset.1] name="Linux/X11" -platform="Linux/X11" +platform="Linux" runnable=true +advanced_options=false dedicated_server=false custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" export_path=".export/release 1.4.5/linux/PNGTUBER PLUS 1.4.5 LINUX.x86_64" +patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" +seed=0 encrypt_pck=false encrypt_directory=false +script_export_mode=2 [preset.1.options] @@ -82,10 +95,8 @@ custom_template/debug="" custom_template/release="" debug/export_console_wrapper=1 binary_format/embed_pck=false -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" @@ -99,22 +110,30 @@ 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.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=".export/release 1.4.5/mac/PNGTUBER PLUS 1.4.5 MAC.zip" +patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" +seed=0 encrypt_pck=false encrypt_directory=false +script_export_mode=2 [preset.2.options] @@ -132,8 +151,11 @@ application/short_version="1.4.5" application/version="1.4.5" application/copyright="" application/copyright_localized={} -application/min_macos_version="10.12" +application/min_macos_version_x86_64="10.12" +application/min_macos_version_arm64="11.00" +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" @@ -166,7 +188,9 @@ 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/entitlements/additional="" codesign/custom_options=PackedStringArray() notarization/notarization=0 privacy/microphone_usage_description="So the guy can go up and down!" @@ -191,6 +215,148 @@ 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" @@ -202,3 +368,71 @@ 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}\"" +application/min_macos_version="10.12" + +[preset.3] + +name="Windows Desktop 2" +platform="Windows Desktop" +runnable=false +advanced_options=false +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="" +patches=PackedStringArray() +encryption_include_filters="" +encryption_exclude_filters="" +seed=0 +encrypt_pck=false +encrypt_directory=false +script_export_mode=2 + +[preset.3.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 -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries +$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}'" diff --git a/main_scenes/main.tscn b/main_scenes/main.tscn index 44b9bc3..4293a11 100644 --- a/main_scenes/main.tscn +++ b/main_scenes/main.tscn @@ -14744,5 +14744,5 @@ z_index = -4096 [connection signal="visibility_changed" from="ReplaceDialog" to="." method="_on_replace_dialog_visibility_changed"] [connection signal="file_selected" from="SaveDialog" to="." method="_on_save_dialog_file_selected"] [connection signal="file_selected" from="LoadDialog" to="." method="_on_load_dialog_file_selected"] -[connection signal="bg_key_pressed" from="BackgroundInputCapture" to="." method="_on_background_input_capture_bg_key_pressed"] [connection signal="bg_key_pressed" from="BackgroundInputCapture" to="." method="bgInputSprite"] +[connection signal="bg_key_pressed" from="BackgroundInputCapture" to="." method="_on_background_input_capture_bg_key_pressed"]