10 Commits

Author SHA1 Message Date
darknight ae3530ad30 Merge pull request 'Migrate to Godot 4' (#1) from feature/godot-migration into main
Build Puzzle Quest / Validate GDScript (push) Successful in 25s
Build Puzzle Quest / Lint GDScript (push) Successful in 26s
Build Puzzle Quest / Export Windows (push) Successful in 6m19s
Build Puzzle Quest / Export Linux (push) Successful in 6m58s
Build Puzzle Quest / Export Android (push) Successful in 7m19s
Reviewed-on: #1
2026-05-17 21:32:25 +02:00
Vaillant Jeremy d7956ecdb4 chore(assets): re-import prop textures for ETC2/ASTC
Build Puzzle Quest / Validate GDScript (push) Successful in 27s
Build Puzzle Quest / Validate GDScript (pull_request) Successful in 37s
Build Puzzle Quest / Export Linux (push) Failing after 0s
Build Puzzle Quest / Export Windows (push) Failing after 0s
Build Puzzle Quest / Export Android (push) Failing after 0s
Build Puzzle Quest / Lint GDScript (push) Successful in 50s
Build Puzzle Quest / Lint GDScript (pull_request) Successful in 48s
Build Puzzle Quest / Export Linux (pull_request) Successful in 6m3s
Build Puzzle Quest / Export Windows (pull_request) Successful in 6m24s
Build Puzzle Quest / Export Android (pull_request) Successful in 7m8s
Adds the etc2 dest path + "etc2_astc" import format to every prop
texture sidecar. Generated by `godot --headless --import` after
flipping rendering/textures/vram_compression/import_etc2_astc to
true in project.godot (commit 46ab28f). Without these sidecars,
re-running --import on a clean checkout would regenerate them
anyway, but committing keeps imported_formats deterministic and
avoids spurious diffs on every CI / dev machine.

39 .import files touched, all under assets/props/. No texture
binaries changed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 21:19:05 +02:00
Vaillant Jeremy 4f9fa60fa0 ci(android): explicit apksigner step after Godot export
Build Puzzle Quest / Lint GDScript (push) Successful in 29s
Build Puzzle Quest / Validate GDScript (push) Successful in 35s
Build Puzzle Quest / Validate GDScript (pull_request) Successful in 39s
Build Puzzle Quest / Lint GDScript (pull_request) Successful in 23s
Build Puzzle Quest / Export Linux (push) Successful in 6m32s
Build Puzzle Quest / Export Windows (push) Successful in 6m44s
Build Puzzle Quest / Export Android (push) Successful in 7m41s
Build Puzzle Quest / Export Windows (pull_request) Successful in 5m30s
Build Puzzle Quest / Export Linux (pull_request) Successful in 6m10s
Build Puzzle Quest / Export Android (pull_request) Successful in 6m48s
Godot 4.6 produces an unsigned APK in headless mode on this
runner — verified by apksigner: "DOES NOT VERIFY, Missing
META-INF/MANIFEST.MF". The internal sign step seems to bail
silently (likely because the apksigner subprocess can't locate
java without inheriting JAVA_HOME). The export step still
reports success.

Sign the APK ourselves after the export with the same debug
keystore the workflow provisions. Idempotent if Godot ever
starts signing again; mandatory until then.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 20:59:33 +02:00
Vaillant Jeremy 46ab28f76f fix(android): enable ETC2/ASTC import + use versioned editor settings
Build Puzzle Quest / Validate GDScript (push) Successful in 25s
Build Puzzle Quest / Lint GDScript (push) Successful in 26s
Build Puzzle Quest / Lint GDScript (pull_request) Successful in 40s
Build Puzzle Quest / Validate GDScript (pull_request) Successful in 48s
Build Puzzle Quest / Export Linux (push) Successful in 6m18s
Build Puzzle Quest / Export Windows (push) Successful in 5m43s
Build Puzzle Quest / Export Android (push) Successful in 8m44s
Build Puzzle Quest / Export Linux (pull_request) Successful in 7m0s
Build Puzzle Quest / Export Windows (pull_request) Successful in 6m58s
Build Puzzle Quest / Export Android (pull_request) Successful in 5m34s
Two fixes that finally land the Android export. Verified locally
with godot 4.6.2-arch + downloaded 4.6 templates + Android SDK.

- project.godot: add
  rendering/textures/vram_compression/import_etc2_astc=true.
  Without it Godot refuses the Android export with "La plateforme
  cible nécessite une compression de texture « ETC2/ASTC »". In
  headless mode this surfaces as an *empty* configuration-errors
  block, which is what kept us stuck in CI.

- workflow: write Godot editor settings to
  editor_settings-${GODOT_VERSION}.tres (i.e. -4.6.tres on 4.6),
  not -4.tres. Godot 4.5+ uses a minor-version-suffixed settings
  file; the major-only name is ignored by 4.6, so our injected
  android_sdk_path / java_sdk_path / debug_keystore never reached
  the export plugin.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 20:35:58 +02:00
Vaillant Jeremy 918328c42a fix(android): set explicit package/unique_name for export
Build Puzzle Quest / Lint GDScript (push) Successful in 30s
Build Puzzle Quest / Validate GDScript (push) Successful in 32s
Build Puzzle Quest / Validate GDScript (pull_request) Successful in 37s
Build Puzzle Quest / Lint GDScript (pull_request) Successful in 19s
Build Puzzle Quest / Export Windows (push) Successful in 5m4s
Build Puzzle Quest / Export Android (push) Failing after 7m32s
Build Puzzle Quest / Export Linux (push) Successful in 8m21s
Build Puzzle Quest / Export Linux (pull_request) Successful in 4m35s
Build Puzzle Quest / Export Windows (pull_request) Successful in 4m34s
Build Puzzle Quest / Export Android (pull_request) Failing after 5m16s
The Android export preset relied on Godot's $genname placeholder
("org.godotengine.$genname"). With the project name "Puzzle
Quest" containing a space, Godot 4 refuses the headless export
with:

  The project name does not meet the requirement for the package
  name format and will be updated to "puzzlequest". Please
  explicitly specify the package name if needed.

Pin both Android presets (AndroidTesting, AndroidDebug) to
com.devcrea.puzzlequest — clean, follows reverse-DNS, matches
the DevCrea organization.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 20:06:40 +02:00
Vaillant Jeremy fbc2b9247a ci: comment macOS, empty Windows icon path, fix Android keystore preset
Build Puzzle Quest / Validate GDScript (push) Successful in 43s
Build Puzzle Quest / Lint GDScript (push) Successful in 32s
Build Puzzle Quest / Export Windows (pull_request) Has been skipped
Build Puzzle Quest / Export Linux (push) Failing after 0s
Build Puzzle Quest / Export Windows (push) Failing after 1s
Build Puzzle Quest / Export Android (push) Failing after 0s
Build Puzzle Quest / Validate GDScript (pull_request) Successful in 25s
Build Puzzle Quest / Lint GDScript (pull_request) Successful in 26s
Build Puzzle Quest / Export Linux (pull_request) Successful in 4m9s
Build Puzzle Quest / Export Android (pull_request) Failing after 5m2s
Three follow-ups from run #12:

- export-desktop: comment out the macOS matrix entry. The preset
  is still missing in export_presets.cfg; the entry can be
  uncommented once the macOS preset is added in the Godot editor.

- export Windows: `application/icon` referenced
  res://releases/windows/project.ico, which has never been in the
  repo (releases/windows/ holds only .keep). Godot rejected the
  export with "Invalid icon path". Cleared the field in both
  WindowsDebug and WindowsTesting presets — Godot falls back to
  its built-in icon.

- export-android: Godot validation requires all three of
  keystore/debug{,_user,_password} to be set together (or all
  empty). The keystore step only patched keystore/debug and left
  the other two empty, triggering
  "Either Debug Keystore, Debug User AND Debug Password must be
  configured OR none of them". Patch all three now.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 19:39:42 +02:00
Vaillant Jeremy 4e159b1065 ci: fix lint venv, drop artifact cache, fix Android sdkmanager pipe
Build Puzzle Quest / Lint GDScript (push) Successful in 33s
Build Puzzle Quest / Validate GDScript (pull_request) Successful in 33s
Build Puzzle Quest / Validate GDScript (push) Successful in 42s
Build Puzzle Quest / Lint GDScript (pull_request) Successful in 25s
Build Puzzle Quest / Export macOS (pull_request) Failing after 4m55s
Build Puzzle Quest / Export Linux (pull_request) Successful in 7m3s
Build Puzzle Quest / Export Windows (pull_request) Failing after 6m53s
Build Puzzle Quest / Export Android (pull_request) Failing after 6m16s
Build Puzzle Quest / Export macOS (push) Failing after 6m27s
Build Puzzle Quest / Export Linux (push) Successful in 6m44s
Build Puzzle Quest / Export Windows (push) Failing after 4m48s
Build Puzzle Quest / Export Android (push) Failing after 4m23s
Three follow-up fixes from the first non-container run (#10):

- lint: Ubuntu 24.04 / Python 3.12 enforces PEP 668, so
  `pip install --user` exits with externally-managed-environment.
  Install gdtoolkit into a throwaway venv at /tmp/gdlint-venv
  instead.

- exports: drop the .godot/ artifact cache shared between
  `validate` and the export jobs. Gitea's artifact service returns
  404 on actions/download-artifact@v3 (v3 protocol incomplete on
  this server). Each export job now runs its own
  `godot --headless --import` before exporting — costs ~30s but
  avoids the failing cross-job artifact dependency.

- export-android: `yes | sdkmanager --licenses` returned 141
  (SIGPIPE) under `set -o pipefail` because sdkmanager closes
  stdin after accepting all licenses while `yes` keeps writing.
  Feed a finite `printf 'y\n%.0s' {1..50}` instead.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 19:26:06 +02:00
Vaillant Jeremy db2460b9ee ci: drop container: for Godot jobs, install via composite action
Build Puzzle Quest / Lint GDScript (push) Failing after 15s
Build Puzzle Quest / Lint GDScript (pull_request) Failing after 16s
Build Puzzle Quest / Validate GDScript (push) Successful in 47s
Build Puzzle Quest / Validate GDScript (pull_request) Successful in 50s
Build Puzzle Quest / Export Linux (push) Failing after 6m5s
Build Puzzle Quest / Export macOS (push) Failing after 7m5s
Build Puzzle Quest / Export Windows (push) Failing after 7m14s
Build Puzzle Quest / Export Android (push) Failing after 5m45s
Build Puzzle Quest / Export Linux (pull_request) Failing after 7m10s
Build Puzzle Quest / Export macOS (pull_request) Failing after 7m24s
Build Puzzle Quest / Export Windows (pull_request) Failing after 4m7s
Build Puzzle Quest / Export Android (pull_request) Failing after 3m3s
The first Gitea Actions runs failed at actions/checkout@v4 because
barichello/godot-ci:4.6 ships without Node.js, which the JS-based
checkout action requires. Rather than chase a Godot CI image that
bundles Node, drop the container: blocks entirely: the default
catthehacker/ubuntu:act-latest runner image already has Node /
Python / git / JDK, and Godot is installed per-job from the
official GitHub release.

Pulled the install logic into a local composite action at
.gitea/actions/setup-godot/ to avoid duplicating 15 lines of wget +
unzip across the three Godot-using jobs. Inputs:
  - version  (default 4.6)
  - templates (default false — export jobs flip to true)

Other tweaks:
- export-android now puts $ANDROID_HOME under $GITHUB_WORKSPACE so
  no sudo is needed; editor_settings-4.tres interpolates that path.
- export-android writes the keystore under /tmp instead of /root
  (catthehacker runners don't run as root).

README updated: jobs table reflects the new "Tooling installed by the
job" column, prerequisites no longer mention the Docker image, and
known-issue #1 is closed out with the dated fix.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 18:30:57 +02:00
Vaillant Jeremy 734b5931e9 docs(ci): record first-run failures + URL prefix fix
Adds a "Known issues from first runs" section to the workflow
README capturing what broke on 2026-05-17:

- Container jobs (validate, export-*) fail at actions/checkout@v4
  with `node: not found` because barichello/godot-ci:4.6 has no Node.
  Workflow fix pending.
- The earlier `actions/checkout` URL-prefix problem (Gitea behind
  YunoHost at /gitea/) is now resolved server-side by moving Gitea
  to the root; the note records this for future reference.
- Default-branch mismatch (Gitea = main, CLAUDE.md says dev).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 18:22:16 +02:00
Vaillant Jeremy 2d8ca9dfbb ci: trigger workflow on feature/godot-migration too
Build Puzzle Quest / Lint GDScript (push) Failing after 28s
Build Puzzle Quest / Export Linux (push) Has been cancelled
Build Puzzle Quest / Export macOS (push) Has been cancelled
Build Puzzle Quest / Export Windows (push) Has been cancelled
Build Puzzle Quest / Export Android (push) Has been cancelled
Build Puzzle Quest / Validate GDScript (push) Has been cancelled
Build Puzzle Quest / Lint GDScript (pull_request) Failing after 21s
Build Puzzle Quest / Export macOS (pull_request) Has been skipped
Build Puzzle Quest / Export Windows (pull_request) Has been skipped
Build Puzzle Quest / Validate GDScript (pull_request) Failing after 4m14s
Build Puzzle Quest / Export Linux (pull_request) Has been skipped
Build Puzzle Quest / Export Android (pull_request) Has been skipped
Temporary addition so the workflow can run before the branch is
merged into dev. Remove this branch from the push: list once dev
has the workflow.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 16:38:19 +02:00
44 changed files with 299 additions and 140 deletions
+43
View File
@@ -0,0 +1,43 @@
name: Setup Godot
description: Download a Godot headless Linux binary and (optionally) export templates.
inputs:
version:
description: Godot version (e.g. 4.6). Templates land under <version>.stable.
required: false
default: "4.6"
templates:
description: Install export templates too. "true" / "false".
required: false
default: "false"
runs:
using: composite
steps:
- name: Install Godot ${{ inputs.version }}
shell: bash
run: |
set -euo pipefail
VER="${{ inputs.version }}"
URL="https://github.com/godotengine/godot/releases/download/${VER}-stable/Godot_v${VER}-stable_linux.x86_64.zip"
wget -q "$URL" -O /tmp/godot.zip
mkdir -p "$HOME/bin"
unzip -q /tmp/godot.zip -d /tmp
mv "/tmp/Godot_v${VER}-stable_linux.x86_64" "$HOME/bin/godot"
chmod +x "$HOME/bin/godot"
echo "$HOME/bin" >> "$GITHUB_PATH"
"$HOME/bin/godot" --version
- name: Install export templates
if: inputs.templates == 'true'
shell: bash
run: |
set -euo pipefail
VER="${{ inputs.version }}"
URL="https://github.com/godotengine/godot/releases/download/${VER}-stable/Godot_v${VER}-stable_export_templates.tpz"
wget -q "$URL" -O /tmp/templates.tpz
DEST="$HOME/.local/share/godot/export_templates/${VER}.stable"
mkdir -p "$DEST"
unzip -q /tmp/templates.tpz -d /tmp/templates_extracted
mv /tmp/templates_extracted/templates/* "$DEST/"
ls "$DEST" | head
+62 -11
View File
@@ -5,19 +5,26 @@ Workflow defined in [`build.yml`](./build.yml). Triggered on push / PR to
## Jobs
| Job | Image | Role |
|----------------------|-----------------------------|------------------------------------------------------------------------------------------|
| `validate` | `barichello/godot-ci:4.6` | `godot --headless --import` then grep for `SCRIPT ERROR` / `Parse Error`. Uploads `.godot/` cache. |
| `lint` | `ubuntu-latest` (Python) | `gdlint scripts db scenes` via `gdtoolkit==4.*` (Scony). Parallel to `validate`; does not gate exports yet. |
| `export-desktop` | `barichello/godot-ci:4.6` | Matrix: Windows / Linux / macOS. Reuses the import cache, uploads each binary as artifact. |
| `export-android` | `barichello/godot-ci:4.6` + JDK 17 + Android SDK installed at runtime | Provisions keystore, writes `editor_settings-4.tres` with SDK / JDK paths, exports APK. |
All jobs run on the default `ubuntu-latest` runner image (which already
ships Node, Python, git, wget, unzip, etc.). Godot is installed per-job
via the local composite action [`.gitea/actions/setup-godot`](../actions/setup-godot/action.yml),
which downloads the official Linux binary from the godotengine GitHub
release and (optionally) export templates into `$HOME`.
| Job | Tooling installed by the job | Role |
|------------------|---------------------------------------------------------------------------|------------------------------------------------------------------------------------------|
| `validate` | Godot binary (no templates) | `godot --headless --import` then grep for `SCRIPT ERROR` / `Parse Error`. Uploads `.godot/` cache. |
| `lint` | `gdtoolkit==4.*` via `pip` | `gdlint scripts db scenes`. Parallel to `validate`; does not gate exports yet. |
| `export-desktop` | Godot binary + export templates | Matrix: Windows / Linux / macOS. Reuses the import cache, uploads each binary as artifact. |
| `export-android` | Godot binary + export templates + JDK 17 + Android SDK (under `$GITHUB_WORKSPACE/.android-sdk`) | Provisions keystore, writes `editor_settings-4.tres` with SDK / JDK paths, exports APK. |
Artifacts are kept 14 days, accessible from the Gitea run page.
## Prerequisites before the first successful run
1. **Docker image tag** — verify `barichello/godot-ci:4.6` exists on Docker
Hub. Otherwise adjust `GODOT_IMAGE` (common alternatives: `4.3`, `4.4`).
1. **Godot version**`GODOT_VERSION` is set at the top of the workflow
(currently `4.6`). The setup action expects a stable release on the
godotengine GitHub releases page; bump in lockstep with the project.
2. **macOS preset missing** — add it in Godot Editor → Project → Export →
Add → macOS, name it exactly `macOS` (or change the matrix entry). The
`.zip` will be unsigned; on Mac it needs
@@ -25,9 +32,11 @@ Artifacts are kept 14 days, accessible from the Gitea run page.
3. **`Linux/X11Debug` preset** — Godot-3-era name. Reopen the project in
Godot 4 once and re-save the preset (the editor may rename it). Update
the matrix `preset:` field accordingly if it does.
4. **Gitea runner**must support Docker containers (`act_runner` in
`docker` mode, or `host` mode with Docker installed). Check
`act_runner exec` access to Docker Hub.
4. **Gitea runner**`act_runner` with the default
`catthehacker/ubuntu:act-latest` image is enough; no Docker-in-Docker
needed now that no job uses `container:`. The runner must reach
`github.com` (for actions + Godot release downloads) and
`dl.google.com` (for the Android SDK).
5. **Optional secret** `ANDROID_KEYSTORE_BASE64``base64 -w0 debug.keystore`,
stored as a Gitea repo secret. Without it, a throwaway keystore is
generated per run, so the APK signature changes every build.
@@ -47,6 +56,48 @@ Suppress specific rules per-line with `# gdlint: disable=<rule>` or
project-wide with a `gdlintrc` file at the repo root (see
[gdtoolkit docs](https://github.com/Scony/godot-gdscript-toolkit/wiki)).
## Known issues from first runs
Captured from the first triggered runs on `feature/godot-migration`
(2026-05-17). Both must be resolved before the workflow can pass.
### 1. Container jobs failed with `node: not found` (resolved 2026-05-17)
The first runs used `container: barichello/godot-ci:4.6` for the Godot
jobs. That image does not ship Node.js, so `actions/checkout@v4` (a JS
action) crashed at startup with
`OCI runtime exec failed: exec: "node": executable file not found`.
Resolved by removing every `container:` block. The runner's default
`catthehacker/ubuntu:act-latest` image already has Node / Python / git /
JDK, and Godot is now installed at the start of each job via the local
composite action `.gitea/actions/setup-godot/`.
### 2. `actions/checkout` clones the wrong URL (resolved 2026-05-17)
The first runs failed at clone time because the runner asked for
`https://dev.stilobique.com/darknight/puzzle-quest/info/refs` while
Gitea was mounted under `/gitea/` behind YunoHost — the request was
intercepted by the YunoHost SSO at the root and redirected before
reaching Gitea.
Resolved by relocating Gitea to the root: it now serves at
`https://dev.stilobique.com/` directly (API at `/api/v1/...`,
`clone_url` at `/<owner>/<repo>.git`). The runner-injected
`GITHUB_SERVER_URL` and the actual Gitea base URL now agree.
If Gitea is ever moved back under a sub-path, the fix is `ROOT_URL` in
`app.ini` (`[server] ROOT_URL = https://<host>/<prefix>/`) or
re-registering `act_runner` with the full instance URL.
### 3. Default-branch mismatch
The Gitea API reports `default_branch: main` for the repo, but
`CLAUDE.md` describes `dev` as the default. The workflow listens to both,
so jobs trigger correctly either way, but the "Workflows" sidebar in the
Gitea UI reads from whatever the actual default branch is. If you intend
`dev` to be the default, update it under repo Settings → Branches.
## Differences from the old `.drone.yml`
- No more Drone, no more Butler — build only, artifacts downloadable from
+72 -47
View File
@@ -2,14 +2,13 @@ name: Build Puzzle Quest
on:
push:
branches: [dev, main]
branches: [dev, main, feature/godot-migration]
pull_request:
branches: [dev, main]
workflow_dispatch:
env:
GODOT_VERSION: "4.6"
GODOT_IMAGE: "barichello/godot-ci:4.6"
jobs:
# ---------------------------------------------------------------------------
@@ -18,11 +17,13 @@ jobs:
validate:
name: Validate GDScript
runs-on: ubuntu-latest
container:
image: barichello/godot-ci:4.6
steps:
- uses: actions/checkout@v4
- uses: ./.gitea/actions/setup-godot
with:
version: ${{ env.GODOT_VERSION }}
- name: Import project (parses every .gd / .tscn)
run: |
godot --headless --import 2>&1 | tee /tmp/godot-import.log || true
@@ -35,13 +36,6 @@ jobs:
exit 1
fi
- name: Upload import cache
uses: actions/upload-artifact@v3
with:
name: godot-import-cache
path: .godot
retention-days: 1
# ---------------------------------------------------------------------------
# 2. Static analysis — gdlint from Scony's gdtoolkit (Python, no Godot).
# Runs in parallel with `validate`. Exports do NOT depend on this job,
@@ -57,23 +51,23 @@ jobs:
- name: Install gdtoolkit
run: |
python3 -m pip install --user "gdtoolkit==4.*"
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
python3 -m venv /tmp/gdlint-venv
/tmp/gdlint-venv/bin/pip install --quiet "gdtoolkit==4.*"
echo "/tmp/gdlint-venv/bin" >> "$GITHUB_PATH"
- name: Run gdlint
run: gdlint scripts db scenes
# ---------------------------------------------------------------------------
# 3. Desktop exports (Windows / Linux / macOS) — runs in parallel.
# macOS preset must be added in the Godot editor before this matrix entry
# can succeed (export_presets.cfg currently has none).
# 3. Desktop exports — runs in parallel.
# macOS is commented out until a preset is added in the Godot editor
# (export_presets.cfg has none today). Restore the entry once the preset
# exists; the matrix is otherwise ready to take it.
# ---------------------------------------------------------------------------
export-desktop:
name: Export ${{ matrix.platform }}
needs: validate
runs-on: ubuntu-latest
container:
image: barichello/godot-ci:4.6
strategy:
fail-fast: false
matrix:
@@ -86,18 +80,20 @@ jobs:
preset: Linux/X11Debug
output: releases/linux/Puzzle-Quest.x86_64
artifact_path: releases/linux
- platform: macOS
preset: macOS
output: releases/macos/Puzzle-Quest.zip
artifact_path: releases/macos
# - platform: macOS
# preset: macOS
# output: releases/macos/Puzzle-Quest.zip
# artifact_path: releases/macos
steps:
- uses: actions/checkout@v4
- name: Restore import cache
uses: actions/download-artifact@v3
- uses: ./.gitea/actions/setup-godot
with:
name: godot-import-cache
path: .godot
version: ${{ env.GODOT_VERSION }}
templates: "true"
- name: Import project
run: godot --headless --import || true
- name: Prepare output dir
run: mkdir -p "${{ matrix.artifact_path }}"
@@ -114,7 +110,7 @@ jobs:
retention-days: 14
# ---------------------------------------------------------------------------
# 4. Android export — needs JDK + Android SDK on top of the Godot image.
# 4. Android export — Godot + JDK 17 + Android SDK installed in $HOME.
# Provide ANDROID_KEYSTORE_BASE64 as a Gitea secret for a stable signature;
# otherwise a fresh debug keystore is generated on each run.
# ---------------------------------------------------------------------------
@@ -122,26 +118,32 @@ jobs:
name: Export Android
needs: validate
runs-on: ubuntu-latest
container:
image: barichello/godot-ci:4.6
env:
ANDROID_HOME: /opt/android-sdk
JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64
ANDROID_HOME: ${{ github.workspace }}/.android-sdk
steps:
- uses: actions/checkout@v4
- name: Install JDK 17 + unzip
- uses: ./.gitea/actions/setup-godot
with:
version: ${{ env.GODOT_VERSION }}
templates: "true"
- name: Install JDK 17
run: |
apt-get update
apt-get install -y --no-install-recommends openjdk-17-jdk wget unzip
sudo apt-get update
sudo apt-get install -y --no-install-recommends openjdk-17-jdk
echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> "$GITHUB_ENV"
- name: Install Android command-line tools + SDK
run: |
set -euo pipefail
mkdir -p "$ANDROID_HOME/cmdline-tools"
wget -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O /tmp/cmdline.zip
unzip -q /tmp/cmdline.zip -d "$ANDROID_HOME/cmdline-tools"
mv "$ANDROID_HOME/cmdline-tools/cmdline-tools" "$ANDROID_HOME/cmdline-tools/latest"
yes | "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --licenses >/dev/null
# `yes |` returns 141 (SIGPIPE) under `set -o pipefail` once sdkmanager
# closes its stdin — feed a finite stream of "y" answers instead.
printf 'y\n%.0s' {1..50} | "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --licenses >/dev/null
"$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" \
"platform-tools" "platforms;android-34" "build-tools;34.0.0" >/dev/null
@@ -149,33 +151,36 @@ jobs:
env:
ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
run: |
if [ -n "$ANDROID_KEYSTORE_BASE64" ]; then
echo "$ANDROID_KEYSTORE_BASE64" | base64 -d > /root/debug.keystore
if [ -n "${ANDROID_KEYSTORE_BASE64:-}" ]; then
echo "$ANDROID_KEYSTORE_BASE64" | base64 -d > /tmp/debug.keystore
else
keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android \
-keystore /root/debug.keystore -storepass android \
-keystore /tmp/debug.keystore -storepass android \
-dname "CN=Android Debug,O=Android,C=US" -validity 9999
fi
sed -i 's@keystore/debug=".*"@keystore/debug="/root/debug.keystore"@g' export_presets.cfg
# Godot rejects exports unless all three keystore/debug{,_user,_password}
# are set together (or all three empty) — patch every one.
sed -i 's@keystore/debug=".*"@keystore/debug="/tmp/debug.keystore"@g' export_presets.cfg
sed -i 's@keystore/debug_user=".*"@keystore/debug_user="androiddebugkey"@g' export_presets.cfg
sed -i 's@keystore/debug_password=".*"@keystore/debug_password="android"@g' export_presets.cfg
- name: Write Godot editor settings (Android SDK / JDK paths)
run: |
mkdir -p ~/.config/godot
cat > ~/.config/godot/editor_settings-4.tres <<EOF
# Godot 4.5+ uses a minor-version-suffixed settings file
# (editor_settings-4.6.tres for 4.6), not the major-only -4.tres.
cat > ~/.config/godot/editor_settings-${GODOT_VERSION}.tres <<EOF
[gd_resource type="EditorSettings" format=3]
[resource]
export/android/android_sdk_path = "/opt/android-sdk"
export/android/android_sdk_path = "${ANDROID_HOME}"
export/android/java_sdk_path = "/usr/lib/jvm/java-17-openjdk-amd64"
export/android/debug_keystore = "/root/debug.keystore"
export/android/debug_keystore = "/tmp/debug.keystore"
export/android/debug_keystore_user = "androiddebugkey"
export/android/debug_keystore_pass = "android"
EOF
- name: Restore import cache
uses: actions/download-artifact@v3
with:
name: godot-import-cache
path: .godot
- name: Import project
run: godot --headless --import || true
- name: Prepare output dir
run: mkdir -p releases/android
@@ -183,6 +188,26 @@ jobs:
- name: Export Android APK
run: godot --headless --export-debug "AndroidDebug" "releases/android/Puzzle-Quest.apk"
- name: Sign + verify APK
run: |
set -euo pipefail
APK="releases/android/Puzzle-Quest.apk"
APKSIGNER="$ANDROID_HOME/build-tools/34.0.0/apksigner"
# Godot 4.6 sometimes ships an unsigned APK from the headless
# export (sign step skips silently when its internal apksigner
# call can't locate java). Re-sign unconditionally — idempotent
# if Godot did sign, and guarantees a valid APK if it didn't.
"$APKSIGNER" sign \
--ks /tmp/debug.keystore \
--ks-pass pass:android \
--ks-key-alias androiddebugkey \
--key-pass pass:android \
--v1-signing-enabled true \
--v2-signing-enabled true \
--v3-signing-enabled true \
"$APK"
"$APKSIGNER" verify --verbose "$APK"
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://dfbfbwe12r27y"
path.s3tc="res://.godot/imported/tx_Paper_BC.tga-9fb9e97b4fb771cff15e05495d90bcc1.s3tc.ctex"
path.etc2="res://.godot/imported/tx_Paper_BC.tga-9fb9e97b4fb771cff15e05495d90bcc1.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/book/textures/tx_Paper_BC.tga"
dest_files=["res://.godot/imported/tx_Paper_BC.tga-9fb9e97b4fb771cff15e05495d90bcc1.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_Paper_BC.tga-9fb9e97b4fb771cff15e05495d90bcc1.s3tc.ctex", "res://.godot/imported/tx_Paper_BC.tga-9fb9e97b4fb771cff15e05495d90bcc1.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://bhi4c5xbbstve"
path.s3tc="res://.godot/imported/tx_Paper_NM.tga-7aae76ce0f4f9f4c3299047ca15922dc.s3tc.ctex"
path.etc2="res://.godot/imported/tx_Paper_NM.tga-7aae76ce0f4f9f4c3299047ca15922dc.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/book/textures/tx_Paper_NM.tga"
dest_files=["res://.godot/imported/tx_Paper_NM.tga-7aae76ce0f4f9f4c3299047ca15922dc.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_Paper_NM.tga-7aae76ce0f4f9f4c3299047ca15922dc.s3tc.ctex", "res://.godot/imported/tx_Paper_NM.tga-7aae76ce0f4f9f4c3299047ca15922dc.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://dpnkeyvi4nm1y"
path.s3tc="res://.godot/imported/tx_Paper_ORM.tga-a4c3a5f60558aeb291283587e6bb15df.s3tc.ctex"
path.etc2="res://.godot/imported/tx_Paper_ORM.tga-a4c3a5f60558aeb291283587e6bb15df.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/book/textures/tx_Paper_ORM.tga"
dest_files=["res://.godot/imported/tx_Paper_ORM.tga-a4c3a5f60558aeb291283587e6bb15df.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_Paper_ORM.tga-a4c3a5f60558aeb291283587e6bb15df.s3tc.ctex", "res://.godot/imported/tx_Paper_ORM.tga-a4c3a5f60558aeb291283587e6bb15df.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://bwh77ikekvh78"
path.s3tc="res://.godot/imported/tx_book_BC.tga-043df0783ead34530de9f256a143cacb.s3tc.ctex"
path.etc2="res://.godot/imported/tx_book_BC.tga-043df0783ead34530de9f256a143cacb.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/book/textures/tx_book_BC.tga"
dest_files=["res://.godot/imported/tx_book_BC.tga-043df0783ead34530de9f256a143cacb.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_book_BC.tga-043df0783ead34530de9f256a143cacb.s3tc.ctex", "res://.godot/imported/tx_book_BC.tga-043df0783ead34530de9f256a143cacb.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://d1vrxpmwvdpnk"
path.s3tc="res://.godot/imported/tx_book_MK.tga-8a7c0fa94467fd29a69c4f5b665eec9c.s3tc.ctex"
path.etc2="res://.godot/imported/tx_book_MK.tga-8a7c0fa94467fd29a69c4f5b665eec9c.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/book/textures/tx_book_MK.tga"
dest_files=["res://.godot/imported/tx_book_MK.tga-8a7c0fa94467fd29a69c4f5b665eec9c.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_book_MK.tga-8a7c0fa94467fd29a69c4f5b665eec9c.s3tc.ctex", "res://.godot/imported/tx_book_MK.tga-8a7c0fa94467fd29a69c4f5b665eec9c.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://dhsjp8ba7b5hp"
path.s3tc="res://.godot/imported/tx_book_NM.tga-76afe8f7bcf6cb8cc6055b785f89befe.s3tc.ctex"
path.etc2="res://.godot/imported/tx_book_NM.tga-76afe8f7bcf6cb8cc6055b785f89befe.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/book/textures/tx_book_NM.tga"
dest_files=["res://.godot/imported/tx_book_NM.tga-76afe8f7bcf6cb8cc6055b785f89befe.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_book_NM.tga-76afe8f7bcf6cb8cc6055b785f89befe.s3tc.ctex", "res://.godot/imported/tx_book_NM.tga-76afe8f7bcf6cb8cc6055b785f89befe.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://dq6s5nt1pko83"
path.s3tc="res://.godot/imported/tx_book_ORM.tga-314f28a993b713578d4773124db322ff.s3tc.ctex"
path.etc2="res://.godot/imported/tx_book_ORM.tga-314f28a993b713578d4773124db322ff.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/book/textures/tx_book_ORM.tga"
dest_files=["res://.godot/imported/tx_book_ORM.tga-314f28a993b713578d4773124db322ff.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_book_ORM.tga-314f28a993b713578d4773124db322ff.s3tc.ctex", "res://.godot/imported/tx_book_ORM.tga-314f28a993b713578d4773124db322ff.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://bmfepyv5gimbe"
path.s3tc="res://.godot/imported/tx_candle_BCS.tga-8a28bd77a964ef96f453c0c2c4de7ed9.s3tc.ctex"
path.etc2="res://.godot/imported/tx_candle_BCS.tga-8a28bd77a964ef96f453c0c2c4de7ed9.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/candle/textures/tx_candle_BCS.tga"
dest_files=["res://.godot/imported/tx_candle_BCS.tga-8a28bd77a964ef96f453c0c2c4de7ed9.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_candle_BCS.tga-8a28bd77a964ef96f453c0c2c4de7ed9.s3tc.ctex", "res://.godot/imported/tx_candle_BCS.tga-8a28bd77a964ef96f453c0c2c4de7ed9.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://dco3vmw0jdw7t"
path.s3tc="res://.godot/imported/tx_candle_NM.tga-0d1354b171e73543cc7b627d3a46536f.s3tc.ctex"
path.etc2="res://.godot/imported/tx_candle_NM.tga-0d1354b171e73543cc7b627d3a46536f.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/candle/textures/tx_candle_NM.tga"
dest_files=["res://.godot/imported/tx_candle_NM.tga-0d1354b171e73543cc7b627d3a46536f.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_candle_NM.tga-0d1354b171e73543cc7b627d3a46536f.s3tc.ctex", "res://.godot/imported/tx_candle_NM.tga-0d1354b171e73543cc7b627d3a46536f.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://baqeh5ceph0e"
path.s3tc="res://.godot/imported/tx_candle_ORM.tga-3575951580ec8d12904f46fd8f10069c.s3tc.ctex"
path.etc2="res://.godot/imported/tx_candle_ORM.tga-3575951580ec8d12904f46fd8f10069c.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/candle/textures/tx_candle_ORM.tga"
dest_files=["res://.godot/imported/tx_candle_ORM.tga-3575951580ec8d12904f46fd8f10069c.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_candle_ORM.tga-3575951580ec8d12904f46fd8f10069c.s3tc.ctex", "res://.godot/imported/tx_candle_ORM.tga-3575951580ec8d12904f46fd8f10069c.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://bfuna15etfwhg"
path.s3tc="res://.godot/imported/tx_candle_scatter.tga-bc0a35b3e6c5b6443faff3a90e4ee73d.s3tc.ctex"
path.etc2="res://.godot/imported/tx_candle_scatter.tga-bc0a35b3e6c5b6443faff3a90e4ee73d.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/candle/textures/tx_candle_scatter.tga"
dest_files=["res://.godot/imported/tx_candle_scatter.tga-bc0a35b3e6c5b6443faff3a90e4ee73d.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_candle_scatter.tga-bc0a35b3e6c5b6443faff3a90e4ee73d.s3tc.ctex", "res://.godot/imported/tx_candle_scatter.tga-bc0a35b3e6c5b6443faff3a90e4ee73d.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://dvoars6va7511"
path.s3tc="res://.godot/imported/dagger_Dagger_BC.png-6deff32a41940f92bbdb14bc9b47beb3.s3tc.ctex"
path.etc2="res://.godot/imported/dagger_Dagger_BC.png-6deff32a41940f92bbdb14bc9b47beb3.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/dagger/dagger_Dagger_BC.png"
dest_files=["res://.godot/imported/dagger_Dagger_BC.png-6deff32a41940f92bbdb14bc9b47beb3.s3tc.ctex"]
dest_files=["res://.godot/imported/dagger_Dagger_BC.png-6deff32a41940f92bbdb14bc9b47beb3.s3tc.ctex", "res://.godot/imported/dagger_Dagger_BC.png-6deff32a41940f92bbdb14bc9b47beb3.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://cfhmpp3pitqbi"
path.s3tc="res://.godot/imported/dagger_Dagger_NM.png-16adfa9ec4fd4455ed9dd788fbba2519.s3tc.ctex"
path.etc2="res://.godot/imported/dagger_Dagger_NM.png-16adfa9ec4fd4455ed9dd788fbba2519.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/dagger/dagger_Dagger_NM.png"
dest_files=["res://.godot/imported/dagger_Dagger_NM.png-16adfa9ec4fd4455ed9dd788fbba2519.s3tc.ctex"]
dest_files=["res://.godot/imported/dagger_Dagger_NM.png-16adfa9ec4fd4455ed9dd788fbba2519.s3tc.ctex", "res://.godot/imported/dagger_Dagger_NM.png-16adfa9ec4fd4455ed9dd788fbba2519.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://b5jfvsejxruax"
path.s3tc="res://.godot/imported/dagger_dagger_E.png-f59a7c6d2e36ce0df3488a3ad845f982.s3tc.ctex"
path.etc2="res://.godot/imported/dagger_dagger_E.png-f59a7c6d2e36ce0df3488a3ad845f982.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/dagger/dagger_dagger_E.png"
dest_files=["res://.godot/imported/dagger_dagger_E.png-f59a7c6d2e36ce0df3488a3ad845f982.s3tc.ctex"]
dest_files=["res://.godot/imported/dagger_dagger_E.png-f59a7c6d2e36ce0df3488a3ad845f982.s3tc.ctex", "res://.godot/imported/dagger_dagger_E.png-f59a7c6d2e36ce0df3488a3ad845f982.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://b2yaxbeog0iiq"
path.s3tc="res://.godot/imported/dagger_dagger_ORM.png-d6cee18aee3cb84d78327e37eda49e85.s3tc.ctex"
path.etc2="res://.godot/imported/dagger_dagger_ORM.png-d6cee18aee3cb84d78327e37eda49e85.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/dagger/dagger_dagger_ORM.png"
dest_files=["res://.godot/imported/dagger_dagger_ORM.png-d6cee18aee3cb84d78327e37eda49e85.s3tc.ctex"]
dest_files=["res://.godot/imported/dagger_dagger_ORM.png-d6cee18aee3cb84d78327e37eda49e85.s3tc.ctex", "res://.godot/imported/dagger_dagger_ORM.png-d6cee18aee3cb84d78327e37eda49e85.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://cos4nywdtkchr"
path.s3tc="res://.godot/imported/dagger_BC.tga-8c56f407df61bdb7c529101388df0d01.s3tc.ctex"
path.etc2="res://.godot/imported/dagger_BC.tga-8c56f407df61bdb7c529101388df0d01.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/dagger/textures/dagger_BC.tga"
dest_files=["res://.godot/imported/dagger_BC.tga-8c56f407df61bdb7c529101388df0d01.s3tc.ctex"]
dest_files=["res://.godot/imported/dagger_BC.tga-8c56f407df61bdb7c529101388df0d01.s3tc.ctex", "res://.godot/imported/dagger_BC.tga-8c56f407df61bdb7c529101388df0d01.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://bn2pvfwupk616"
path.s3tc="res://.godot/imported/dagger_NM.tga-02457e4299815720542e6c6827c3099f.s3tc.ctex"
path.etc2="res://.godot/imported/dagger_NM.tga-02457e4299815720542e6c6827c3099f.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/dagger/textures/dagger_NM.tga"
dest_files=["res://.godot/imported/dagger_NM.tga-02457e4299815720542e6c6827c3099f.s3tc.ctex"]
dest_files=["res://.godot/imported/dagger_NM.tga-02457e4299815720542e6c6827c3099f.s3tc.ctex", "res://.godot/imported/dagger_NM.tga-02457e4299815720542e6c6827c3099f.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://cxid6xyfqv6bv"
path.s3tc="res://.godot/imported/tx_godet_BC.tga-0e7c29ed5a0f4c80e30557e304a14e49.s3tc.ctex"
path.etc2="res://.godot/imported/tx_godet_BC.tga-0e7c29ed5a0f4c80e30557e304a14e49.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/godet/textures/tx_godet_BC.tga"
dest_files=["res://.godot/imported/tx_godet_BC.tga-0e7c29ed5a0f4c80e30557e304a14e49.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_godet_BC.tga-0e7c29ed5a0f4c80e30557e304a14e49.s3tc.ctex", "res://.godot/imported/tx_godet_BC.tga-0e7c29ed5a0f4c80e30557e304a14e49.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://byv10yo0gvfju"
path.s3tc="res://.godot/imported/tx_godet_NM.tga-9410c62c3e8f99e54c6df8c71e04ecff.s3tc.ctex"
path.etc2="res://.godot/imported/tx_godet_NM.tga-9410c62c3e8f99e54c6df8c71e04ecff.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/godet/textures/tx_godet_NM.tga"
dest_files=["res://.godot/imported/tx_godet_NM.tga-9410c62c3e8f99e54c6df8c71e04ecff.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_godet_NM.tga-9410c62c3e8f99e54c6df8c71e04ecff.s3tc.ctex", "res://.godot/imported/tx_godet_NM.tga-9410c62c3e8f99e54c6df8c71e04ecff.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://cpi12be1h168j"
path.s3tc="res://.godot/imported/tx_godet_ORM.tga-d01c51d4f8d8c261e86184c55282ab2b.s3tc.ctex"
path.etc2="res://.godot/imported/tx_godet_ORM.tga-d01c51d4f8d8c261e86184c55282ab2b.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/godet/textures/tx_godet_ORM.tga"
dest_files=["res://.godot/imported/tx_godet_ORM.tga-d01c51d4f8d8c261e86184c55282ab2b.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_godet_ORM.tga-d01c51d4f8d8c261e86184c55282ab2b.s3tc.ctex", "res://.godot/imported/tx_godet_ORM.tga-d01c51d4f8d8c261e86184c55282ab2b.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://crk5i2qr13hme"
path.s3tc="res://.godot/imported/tx_growler_BC.tga-aa118cf1c458a342a6a74017661c1ae7.s3tc.ctex"
path.etc2="res://.godot/imported/tx_growler_BC.tga-aa118cf1c458a342a6a74017661c1ae7.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/growler/textures/tx_growler_BC.tga"
dest_files=["res://.godot/imported/tx_growler_BC.tga-aa118cf1c458a342a6a74017661c1ae7.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_growler_BC.tga-aa118cf1c458a342a6a74017661c1ae7.s3tc.ctex", "res://.godot/imported/tx_growler_BC.tga-aa118cf1c458a342a6a74017661c1ae7.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://rc3kqnqss1u"
path.s3tc="res://.godot/imported/tx_growler_NM.tga-2a1c81bcbfbece34756c1cdbc715b7f4.s3tc.ctex"
path.etc2="res://.godot/imported/tx_growler_NM.tga-2a1c81bcbfbece34756c1cdbc715b7f4.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/growler/textures/tx_growler_NM.tga"
dest_files=["res://.godot/imported/tx_growler_NM.tga-2a1c81bcbfbece34756c1cdbc715b7f4.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_growler_NM.tga-2a1c81bcbfbece34756c1cdbc715b7f4.s3tc.ctex", "res://.godot/imported/tx_growler_NM.tga-2a1c81bcbfbece34756c1cdbc715b7f4.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://ctls0ywsxpmr7"
path.s3tc="res://.godot/imported/tx_growler_ORM.tga-de03bcfefddaf9accd2e00b4472eb37d.s3tc.ctex"
path.etc2="res://.godot/imported/tx_growler_ORM.tga-de03bcfefddaf9accd2e00b4472eb37d.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/growler/textures/tx_growler_ORM.tga"
dest_files=["res://.godot/imported/tx_growler_ORM.tga-de03bcfefddaf9accd2e00b4472eb37d.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_growler_ORM.tga-de03bcfefddaf9accd2e00b4472eb37d.s3tc.ctex", "res://.godot/imported/tx_growler_ORM.tga-de03bcfefddaf9accd2e00b4472eb37d.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://cbljeqhj8iqby"
path.s3tc="res://.godot/imported/tx_paperParchment_BC.tga-371a74b1da16911de64c30179b65a0c9.s3tc.ctex"
path.etc2="res://.godot/imported/tx_paperParchment_BC.tga-371a74b1da16911de64c30179b65a0c9.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/parchment/textures/tx_paperParchment_BC.tga"
dest_files=["res://.godot/imported/tx_paperParchment_BC.tga-371a74b1da16911de64c30179b65a0c9.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_paperParchment_BC.tga-371a74b1da16911de64c30179b65a0c9.s3tc.ctex", "res://.godot/imported/tx_paperParchment_BC.tga-371a74b1da16911de64c30179b65a0c9.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://eklcrlw4d7hq"
path.s3tc="res://.godot/imported/tx_paperParchment_NM.tga-88d19a5247cd983c1308683b6549f639.s3tc.ctex"
path.etc2="res://.godot/imported/tx_paperParchment_NM.tga-88d19a5247cd983c1308683b6549f639.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/parchment/textures/tx_paperParchment_NM.tga"
dest_files=["res://.godot/imported/tx_paperParchment_NM.tga-88d19a5247cd983c1308683b6549f639.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_paperParchment_NM.tga-88d19a5247cd983c1308683b6549f639.s3tc.ctex", "res://.godot/imported/tx_paperParchment_NM.tga-88d19a5247cd983c1308683b6549f639.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://bqjkf6nvgwe27"
path.s3tc="res://.godot/imported/tx_paperParchment_ORM.tga-e02245062d00dd9799c11ab6ea7a5ec6.s3tc.ctex"
path.etc2="res://.godot/imported/tx_paperParchment_ORM.tga-e02245062d00dd9799c11ab6ea7a5ec6.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/parchment/textures/tx_paperParchment_ORM.tga"
dest_files=["res://.godot/imported/tx_paperParchment_ORM.tga-e02245062d00dd9799c11ab6ea7a5ec6.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_paperParchment_ORM.tga-e02245062d00dd9799c11ab6ea7a5ec6.s3tc.ctex", "res://.godot/imported/tx_paperParchment_ORM.tga-e02245062d00dd9799c11ab6ea7a5ec6.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://edlmgnuher5f"
path.s3tc="res://.godot/imported/tx_woodParchment_BC.tga-69f35503d987626688d47d91eb9c49de.s3tc.ctex"
path.etc2="res://.godot/imported/tx_woodParchment_BC.tga-69f35503d987626688d47d91eb9c49de.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/parchment/textures/tx_woodParchment_BC.tga"
dest_files=["res://.godot/imported/tx_woodParchment_BC.tga-69f35503d987626688d47d91eb9c49de.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_woodParchment_BC.tga-69f35503d987626688d47d91eb9c49de.s3tc.ctex", "res://.godot/imported/tx_woodParchment_BC.tga-69f35503d987626688d47d91eb9c49de.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://k0ddnhdpe7bc"
path.s3tc="res://.godot/imported/tx_woodParchment_NM.tga-a492317fe890e2cdeae4430bfc4ab057.s3tc.ctex"
path.etc2="res://.godot/imported/tx_woodParchment_NM.tga-a492317fe890e2cdeae4430bfc4ab057.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/parchment/textures/tx_woodParchment_NM.tga"
dest_files=["res://.godot/imported/tx_woodParchment_NM.tga-a492317fe890e2cdeae4430bfc4ab057.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_woodParchment_NM.tga-a492317fe890e2cdeae4430bfc4ab057.s3tc.ctex", "res://.godot/imported/tx_woodParchment_NM.tga-a492317fe890e2cdeae4430bfc4ab057.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://ttbygsi4v5mu"
path.s3tc="res://.godot/imported/tx_woodParchment_ORM.tga-23f5c64c06128376cd6c2d3fb1581bfb.s3tc.ctex"
path.etc2="res://.godot/imported/tx_woodParchment_ORM.tga-23f5c64c06128376cd6c2d3fb1581bfb.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/parchment/textures/tx_woodParchment_ORM.tga"
dest_files=["res://.godot/imported/tx_woodParchment_ORM.tga-23f5c64c06128376cd6c2d3fb1581bfb.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_woodParchment_ORM.tga-23f5c64c06128376cd6c2d3fb1581bfb.s3tc.ctex", "res://.godot/imported/tx_woodParchment_ORM.tga-23f5c64c06128376cd6c2d3fb1581bfb.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://d4bfqers6w8pw"
path.s3tc="res://.godot/imported/tx_rock_floor_bc.tga-4b77fe3e94f9498cc82b83553dd20905.s3tc.ctex"
path.etc2="res://.godot/imported/tx_rock_floor_bc.tga-4b77fe3e94f9498cc82b83553dd20905.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/rock floor/textures/tx_rock_floor_bc.tga"
dest_files=["res://.godot/imported/tx_rock_floor_bc.tga-4b77fe3e94f9498cc82b83553dd20905.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_rock_floor_bc.tga-4b77fe3e94f9498cc82b83553dd20905.s3tc.ctex", "res://.godot/imported/tx_rock_floor_bc.tga-4b77fe3e94f9498cc82b83553dd20905.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://c1vobch2kuype"
path.s3tc="res://.godot/imported/tx_rock_floor_nm.tga-cf4c027feec7068c5fb11d217fde401b.s3tc.ctex"
path.etc2="res://.godot/imported/tx_rock_floor_nm.tga-cf4c027feec7068c5fb11d217fde401b.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/rock floor/textures/tx_rock_floor_nm.tga"
dest_files=["res://.godot/imported/tx_rock_floor_nm.tga-cf4c027feec7068c5fb11d217fde401b.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_rock_floor_nm.tga-cf4c027feec7068c5fb11d217fde401b.s3tc.ctex", "res://.godot/imported/tx_rock_floor_nm.tga-cf4c027feec7068c5fb11d217fde401b.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://dkr2vtaja5y3t"
path.s3tc="res://.godot/imported/tx_rock_floor_orm.tga-5c074f32ecfa0079bda63b1b17f8ddda.s3tc.ctex"
path.etc2="res://.godot/imported/tx_rock_floor_orm.tga-5c074f32ecfa0079bda63b1b17f8ddda.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/rock floor/textures/tx_rock_floor_orm.tga"
dest_files=["res://.godot/imported/tx_rock_floor_orm.tga-5c074f32ecfa0079bda63b1b17f8ddda.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_rock_floor_orm.tga-5c074f32ecfa0079bda63b1b17f8ddda.s3tc.ctex", "res://.godot/imported/tx_rock_floor_orm.tga-5c074f32ecfa0079bda63b1b17f8ddda.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://dw5se51drseh3"
path.s3tc="res://.godot/imported/tx_spyglass_BC.tga-080121e58687a7d1d090161e35b03182.s3tc.ctex"
path.etc2="res://.godot/imported/tx_spyglass_BC.tga-080121e58687a7d1d090161e35b03182.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/spyglass/textures/tx_spyglass_BC.tga"
dest_files=["res://.godot/imported/tx_spyglass_BC.tga-080121e58687a7d1d090161e35b03182.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_spyglass_BC.tga-080121e58687a7d1d090161e35b03182.s3tc.ctex", "res://.godot/imported/tx_spyglass_BC.tga-080121e58687a7d1d090161e35b03182.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://82om745ll3o4"
path.s3tc="res://.godot/imported/tx_stool_b_BC.tga-c20ef1a25a6be0cf3846b66cd1fa3713.s3tc.ctex"
path.etc2="res://.godot/imported/tx_stool_b_BC.tga-c20ef1a25a6be0cf3846b66cd1fa3713.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/stool b/textures/tx_stool_b_BC.tga"
dest_files=["res://.godot/imported/tx_stool_b_BC.tga-c20ef1a25a6be0cf3846b66cd1fa3713.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_stool_b_BC.tga-c20ef1a25a6be0cf3846b66cd1fa3713.s3tc.ctex", "res://.godot/imported/tx_stool_b_BC.tga-c20ef1a25a6be0cf3846b66cd1fa3713.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://cmovui88gnkjk"
path.s3tc="res://.godot/imported/tx_stool_b_NM.tga-14bca954eb46468eb8701891808e689d.s3tc.ctex"
path.etc2="res://.godot/imported/tx_stool_b_NM.tga-14bca954eb46468eb8701891808e689d.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/stool b/textures/tx_stool_b_NM.tga"
dest_files=["res://.godot/imported/tx_stool_b_NM.tga-14bca954eb46468eb8701891808e689d.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_stool_b_NM.tga-14bca954eb46468eb8701891808e689d.s3tc.ctex", "res://.godot/imported/tx_stool_b_NM.tga-14bca954eb46468eb8701891808e689d.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://ctpow28mmgklb"
path.s3tc="res://.godot/imported/tx_stool_b_ORM.tga-1eb1e85bdcccbfcf4a8b9de490c1f5a5.s3tc.ctex"
path.etc2="res://.godot/imported/tx_stool_b_ORM.tga-1eb1e85bdcccbfcf4a8b9de490c1f5a5.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/stool b/textures/tx_stool_b_ORM.tga"
dest_files=["res://.godot/imported/tx_stool_b_ORM.tga-1eb1e85bdcccbfcf4a8b9de490c1f5a5.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_stool_b_ORM.tga-1eb1e85bdcccbfcf4a8b9de490c1f5a5.s3tc.ctex", "res://.godot/imported/tx_stool_b_ORM.tga-1eb1e85bdcccbfcf4a8b9de490c1f5a5.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://c7tyh6ft758b8"
path.s3tc="res://.godot/imported/tx_table_BC.tga-c2cc5361dfcaa9d2b24897fe31e957a9.s3tc.ctex"
path.etc2="res://.godot/imported/tx_table_BC.tga-c2cc5361dfcaa9d2b24897fe31e957a9.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/table/textures/tx_table_BC.tga"
dest_files=["res://.godot/imported/tx_table_BC.tga-c2cc5361dfcaa9d2b24897fe31e957a9.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_table_BC.tga-c2cc5361dfcaa9d2b24897fe31e957a9.s3tc.ctex", "res://.godot/imported/tx_table_BC.tga-c2cc5361dfcaa9d2b24897fe31e957a9.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://djinbk1nowap7"
path.s3tc="res://.godot/imported/tx_table_NM.tga-88d93479c1910b48a99728e039a1ce54.s3tc.ctex"
path.etc2="res://.godot/imported/tx_table_NM.tga-88d93479c1910b48a99728e039a1ce54.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/table/textures/tx_table_NM.tga"
dest_files=["res://.godot/imported/tx_table_NM.tga-88d93479c1910b48a99728e039a1ce54.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_table_NM.tga-88d93479c1910b48a99728e039a1ce54.s3tc.ctex", "res://.godot/imported/tx_table_NM.tga-88d93479c1910b48a99728e039a1ce54.etc2.ctex"]
[params]
@@ -4,15 +4,16 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://d2e8oknb1eptw"
path.s3tc="res://.godot/imported/tx_table_ORM.tga-d97a9c639551b7056b3d96bfec9c2511.s3tc.ctex"
path.etc2="res://.godot/imported/tx_table_ORM.tga-d97a9c639551b7056b3d96bfec9c2511.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/props/table/textures/tx_table_ORM.tga"
dest_files=["res://.godot/imported/tx_table_ORM.tga-d97a9c639551b7056b3d96bfec9c2511.s3tc.ctex"]
dest_files=["res://.godot/imported/tx_table_ORM.tga-d97a9c639551b7056b3d96bfec9c2511.s3tc.ctex", "res://.godot/imported/tx_table_ORM.tga-d97a9c639551b7056b3d96bfec9c2511.etc2.ctex"]
[params]
+4 -4
View File
@@ -30,7 +30,7 @@ keystore/release_password=""
one_click_deploy/clear_previous_install=true
version/code=1
version/name="1.0"
package/unique_name="org.godotengine.$genname"
package/unique_name="com.devcrea.puzzlequest"
package/name=""
package/signed=false
launcher_icons/main_192x192=""
@@ -230,7 +230,7 @@ codesign/timestamp_server_url=""
codesign/digest_algorithm=1
codesign/description=""
codesign/custom_options=PoolStringArray( )
application/icon="res://releases/windows/project.ico"
application/icon=""
application/file_version=""
application/product_version=""
application/company_name=""
@@ -296,7 +296,7 @@ codesign/timestamp_server_url=""
codesign/digest_algorithm=1
codesign/description=""
codesign/custom_options=PoolStringArray( )
application/icon="res://releases/windows/project.ico"
application/icon=""
application/file_version=""
application/product_version=""
application/company_name=""
@@ -337,7 +337,7 @@ keystore/release_password=""
one_click_deploy/clear_previous_install=false
version/code=1
version/name="1.0"
package/unique_name="org.godotengine.$genname"
package/unique_name="com.devcrea.puzzlequest"
package/name=""
package/signed=false
launcher_icons/main_192x192=""
+1
View File
@@ -67,4 +67,5 @@ locale/translations=PackedStringArray("res://locales/fr.po", "res://locales/en.p
[rendering]
textures/vram_compression/import_etc2_astc=true
environment/defaults/default_environment="res://default_env.tres"