mirror of
https://github.com/litruv/PNGTuber-Plus.git
synced 2026-07-24 02:26:02 +10:00
Add Windows build automation with GitHub Actions
- Add comprehensive GitHub Actions workflow for Windows builds - Create local and CI-specific batch files for building - Configure export templates and build optimization - Update export presets for proper .pck embedding and git plugin exclusion - Set up automated releases with proper build artifacts
This commit is contained in:
73
.github/workflows/build-windows.yml
vendored
73
.github/workflows/build-windows.yml
vendored
@@ -1,5 +1,6 @@
|
|||||||
name: Build Windows
|
name: Build Windows
|
||||||
|
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ master, main ]
|
branches: [ master, main ]
|
||||||
@@ -14,24 +15,76 @@ env:
|
|||||||
jobs:
|
jobs:
|
||||||
export-windows:
|
export-windows:
|
||||||
name: Windows Export
|
name: Windows Export
|
||||||
runs-on: ubuntu-20.04
|
runs-on: self-hosted
|
||||||
container:
|
|
||||||
image: barichello/godot-ci:4.4.1
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
|
||||||
- name: Setup
|
- name: Debug Environment
|
||||||
run: |
|
run: |
|
||||||
mkdir -v -p ~/.local/share/godot/export_templates/
|
Write-Host "Current directory: $(Get-Location)"
|
||||||
mv /root/.local/share/godot/export_templates/${GODOT_VERSION}.stable ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable
|
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
|
- name: Windows Build
|
||||||
|
run: .\build-windows-ci.bat
|
||||||
|
shell: cmd
|
||||||
|
|
||||||
|
- name: Check Build Output
|
||||||
run: |
|
run: |
|
||||||
mkdir -v -p build/windows
|
Write-Host "Build directory contents:"
|
||||||
godot --headless --verbose --export-release "Windows Desktop" build/windows/$EXPORT_NAME.exe
|
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
|
- name: Upload Windows Build
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
@@ -43,8 +96,8 @@ jobs:
|
|||||||
release:
|
release:
|
||||||
name: Create Release
|
name: Create Release
|
||||||
needs: export-windows
|
needs: export-windows
|
||||||
runs-on: ubuntu-latest
|
runs-on: self-hosted
|
||||||
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
|
if: github.ref == 'refs/heads/master' && github.event_name == 'push' && success()
|
||||||
steps:
|
steps:
|
||||||
- name: Download Windows Build
|
- name: Download Windows Build
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -3,3 +3,4 @@
|
|||||||
.export/
|
.export/
|
||||||
.itchio/
|
.itchio/
|
||||||
.steam/
|
.steam/
|
||||||
|
build/
|
||||||
Binary file not shown.
Binary file not shown.
40
build-windows-ci.bat
Normal file
40
build-windows-ci.bat
Normal file
@@ -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%
|
||||||
|
)
|
||||||
@@ -1,22 +1,50 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
setlocal
|
||||||
|
|
||||||
echo Building PNGTuber Plus for Windows...
|
echo Building PNGTuber Plus for Windows...
|
||||||
|
|
||||||
:: Create build directory
|
rem Create build directory
|
||||||
if not exist "build\windows" mkdir "build\windows"
|
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...
|
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 (
|
if %ERRORLEVEL% EQU 0 (
|
||||||
echo.
|
echo.
|
||||||
echo ✅ Build completed successfully!
|
echo Build completed successfully!
|
||||||
echo Output: build\windows\PNGTuber-Plus.exe
|
echo Output: build\windows\PNGTuber-Plus.exe
|
||||||
echo.
|
echo.
|
||||||
pause
|
|
||||||
) else (
|
) else (
|
||||||
echo.
|
echo.
|
||||||
echo ❌ Build failed with error code %ERRORLEVEL%
|
echo Build failed with error code %ERRORLEVEL%
|
||||||
echo.
|
echo.
|
||||||
pause
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
pause
|
||||||
|
|||||||
@@ -3,27 +3,29 @@
|
|||||||
name="Windows Desktop"
|
name="Windows Desktop"
|
||||||
platform="Windows Desktop"
|
platform="Windows Desktop"
|
||||||
runnable=true
|
runnable=true
|
||||||
|
advanced_options=true
|
||||||
dedicated_server=false
|
dedicated_server=false
|
||||||
custom_features=""
|
custom_features=""
|
||||||
export_filter="all_resources"
|
export_filter="all_resources"
|
||||||
include_filter=""
|
include_filter=""
|
||||||
exclude_filter=""
|
exclude_filter="addons/godot-git-plugin/*"
|
||||||
export_path=".export/release 1.4.5/steam/PNGTUBER PLUS 1.4.5 STEAM.exe"
|
export_path="build/windows/PNGTuber-Plus.exe"
|
||||||
|
patches=PackedStringArray()
|
||||||
encryption_include_filters=""
|
encryption_include_filters=""
|
||||||
encryption_exclude_filters=""
|
encryption_exclude_filters=""
|
||||||
|
seed=0
|
||||||
encrypt_pck=false
|
encrypt_pck=false
|
||||||
encrypt_directory=false
|
encrypt_directory=false
|
||||||
|
script_export_mode=2
|
||||||
|
|
||||||
[preset.0.options]
|
[preset.0.options]
|
||||||
|
|
||||||
custom_template/debug=""
|
custom_template/debug=""
|
||||||
custom_template/release=""
|
custom_template/release=""
|
||||||
debug/export_console_wrapper=1
|
debug/export_console_wrapper=2
|
||||||
binary_format/embed_pck=false
|
binary_format/embed_pck=true
|
||||||
texture_format/bptc=true
|
texture_format/s3tc_bptc=true
|
||||||
texture_format/s3tc=true
|
texture_format/etc2_astc=false
|
||||||
texture_format/etc=false
|
|
||||||
texture_format/etc2=false
|
|
||||||
binary_format/architecture="x86_64"
|
binary_format/architecture="x86_64"
|
||||||
codesign/enable=false
|
codesign/enable=false
|
||||||
codesign/timestamp=true
|
codesign/timestamp=true
|
||||||
@@ -42,6 +44,9 @@ application/product_name="PNGTuber Plus"
|
|||||||
application/file_description=""
|
application/file_description=""
|
||||||
application/copyright=""
|
application/copyright=""
|
||||||
application/trademarks=""
|
application/trademarks=""
|
||||||
|
application/export_angle=0
|
||||||
|
application/export_d3d12=0
|
||||||
|
application/d3d12_agility_sdk_multiarch=true
|
||||||
ssh_remote_deploy/enabled=false
|
ssh_remote_deploy/enabled=false
|
||||||
ssh_remote_deploy/host="user@host_ip"
|
ssh_remote_deploy/host="user@host_ip"
|
||||||
ssh_remote_deploy/port="22"
|
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
|
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
|
||||||
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
|
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
|
||||||
Remove-Item -Recurse -Force '{temp_dir}'"
|
Remove-Item -Recurse -Force '{temp_dir}'"
|
||||||
|
texture_format/bptc=true
|
||||||
|
texture_format/s3tc=true
|
||||||
|
texture_format/etc=false
|
||||||
|
texture_format/etc2=false
|
||||||
|
|
||||||
[preset.1]
|
[preset.1]
|
||||||
|
|
||||||
name="Linux/X11"
|
name="Linux/X11"
|
||||||
platform="Linux/X11"
|
platform="Linux"
|
||||||
runnable=true
|
runnable=true
|
||||||
|
advanced_options=false
|
||||||
dedicated_server=false
|
dedicated_server=false
|
||||||
custom_features=""
|
custom_features=""
|
||||||
export_filter="all_resources"
|
export_filter="all_resources"
|
||||||
include_filter=""
|
include_filter=""
|
||||||
exclude_filter=""
|
exclude_filter=""
|
||||||
export_path=".export/release 1.4.5/linux/PNGTUBER PLUS 1.4.5 LINUX.x86_64"
|
export_path=".export/release 1.4.5/linux/PNGTUBER PLUS 1.4.5 LINUX.x86_64"
|
||||||
|
patches=PackedStringArray()
|
||||||
encryption_include_filters=""
|
encryption_include_filters=""
|
||||||
encryption_exclude_filters=""
|
encryption_exclude_filters=""
|
||||||
|
seed=0
|
||||||
encrypt_pck=false
|
encrypt_pck=false
|
||||||
encrypt_directory=false
|
encrypt_directory=false
|
||||||
|
script_export_mode=2
|
||||||
|
|
||||||
[preset.1.options]
|
[preset.1.options]
|
||||||
|
|
||||||
@@ -82,10 +95,8 @@ custom_template/debug=""
|
|||||||
custom_template/release=""
|
custom_template/release=""
|
||||||
debug/export_console_wrapper=1
|
debug/export_console_wrapper=1
|
||||||
binary_format/embed_pck=false
|
binary_format/embed_pck=false
|
||||||
texture_format/bptc=true
|
texture_format/s3tc_bptc=true
|
||||||
texture_format/s3tc=true
|
texture_format/etc2_astc=false
|
||||||
texture_format/etc=false
|
|
||||||
texture_format/etc2=false
|
|
||||||
binary_format/architecture="x86_64"
|
binary_format/architecture="x86_64"
|
||||||
ssh_remote_deploy/enabled=false
|
ssh_remote_deploy/enabled=false
|
||||||
ssh_remote_deploy/host="user@host_ip"
|
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
|
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
|
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
|
||||||
rm -rf \"{temp_dir}\""
|
rm -rf \"{temp_dir}\""
|
||||||
|
texture_format/bptc=true
|
||||||
|
texture_format/s3tc=true
|
||||||
|
texture_format/etc=false
|
||||||
|
texture_format/etc2=false
|
||||||
|
|
||||||
[preset.2]
|
[preset.2]
|
||||||
|
|
||||||
name="macOS"
|
name="macOS"
|
||||||
platform="macOS"
|
platform="macOS"
|
||||||
runnable=true
|
runnable=true
|
||||||
|
advanced_options=false
|
||||||
dedicated_server=false
|
dedicated_server=false
|
||||||
custom_features=""
|
custom_features=""
|
||||||
export_filter="all_resources"
|
export_filter="all_resources"
|
||||||
include_filter=""
|
include_filter=""
|
||||||
exclude_filter=""
|
exclude_filter=""
|
||||||
export_path=".export/release 1.4.5/mac/PNGTUBER PLUS 1.4.5 MAC.zip"
|
export_path=".export/release 1.4.5/mac/PNGTUBER PLUS 1.4.5 MAC.zip"
|
||||||
|
patches=PackedStringArray()
|
||||||
encryption_include_filters=""
|
encryption_include_filters=""
|
||||||
encryption_exclude_filters=""
|
encryption_exclude_filters=""
|
||||||
|
seed=0
|
||||||
encrypt_pck=false
|
encrypt_pck=false
|
||||||
encrypt_directory=false
|
encrypt_directory=false
|
||||||
|
script_export_mode=2
|
||||||
|
|
||||||
[preset.2.options]
|
[preset.2.options]
|
||||||
|
|
||||||
@@ -132,8 +151,11 @@ application/short_version="1.4.5"
|
|||||||
application/version="1.4.5"
|
application/version="1.4.5"
|
||||||
application/copyright=""
|
application/copyright=""
|
||||||
application/copyright_localized={}
|
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
|
display/high_res=true
|
||||||
|
application/additional_plist_content=""
|
||||||
xcode/platform_build="14C18"
|
xcode/platform_build="14C18"
|
||||||
xcode/sdk_version="13.1"
|
xcode/sdk_version="13.1"
|
||||||
xcode/sdk_build="22C55"
|
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_pictures=0
|
||||||
codesign/entitlements/app_sandbox/files_music=0
|
codesign/entitlements/app_sandbox/files_music=0
|
||||||
codesign/entitlements/app_sandbox/files_movies=0
|
codesign/entitlements/app_sandbox/files_movies=0
|
||||||
|
codesign/entitlements/app_sandbox/files_user_selected=0
|
||||||
codesign/entitlements/app_sandbox/helper_executables=[]
|
codesign/entitlements/app_sandbox/helper_executables=[]
|
||||||
|
codesign/entitlements/additional=""
|
||||||
codesign/custom_options=PackedStringArray()
|
codesign/custom_options=PackedStringArray()
|
||||||
notarization/notarization=0
|
notarization/notarization=0
|
||||||
privacy/microphone_usage_description="So the guy can go up and down!"
|
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/network_volumes_usage_description_localized={}
|
||||||
privacy/removable_volumes_usage_description=""
|
privacy/removable_volumes_usage_description=""
|
||||||
privacy/removable_volumes_usage_description_localized={}
|
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/enabled=false
|
||||||
ssh_remote_deploy/host="user@host_ip"
|
ssh_remote_deploy/host="user@host_ip"
|
||||||
ssh_remote_deploy/port="22"
|
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
|
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\")
|
kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\")
|
||||||
rm -rf \"{temp_dir}\""
|
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}'"
|
||||||
|
|||||||
@@ -14744,5 +14744,5 @@ z_index = -4096
|
|||||||
[connection signal="visibility_changed" from="ReplaceDialog" to="." method="_on_replace_dialog_visibility_changed"]
|
[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="SaveDialog" to="." method="_on_save_dialog_file_selected"]
|
||||||
[connection signal="file_selected" from="LoadDialog" to="." method="_on_load_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="bgInputSprite"]
|
||||||
|
[connection signal="bg_key_pressed" from="BackgroundInputCapture" to="." method="_on_background_input_capture_bg_key_pressed"]
|
||||||
|
|||||||
Reference in New Issue
Block a user