feat: prep the automation
This commit is contained in:
@@ -8,24 +8,43 @@ on:
|
||||
- 'scripts/**'
|
||||
- 'scenes/**'
|
||||
- 'assets/**'
|
||||
- 'assets/data/version.json'
|
||||
- 'CHANGELOG_DRAFT.md'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build-and-deploy-patch:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
steps:
|
||||
- name: Checkout Source Code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 2
|
||||
fetch-depth: 0
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
# ── 1. Auto-generate version.json from CHANGELOG_DRAFT.md ────────────
|
||||
- name: Generate Version JSON & Bump Version
|
||||
run: python3 tools/generate_version_json.py
|
||||
|
||||
# ── 2. Commit bumped files back to the repo ───────────────────────────
|
||||
- name: Commit Version Bump
|
||||
run: |
|
||||
git config user.name "PatchBot"
|
||||
git config user.email "action@github.com"
|
||||
git add assets/data/version.json project.godot CHANGELOG_DRAFT.md
|
||||
git diff --staged --quiet || git commit -m "[AUTO] Version bump & changelog update"
|
||||
git push
|
||||
|
||||
# ── 3. Detect changed files for patch PCK ────────────────────────────
|
||||
- name: Generate Changed Files List
|
||||
run: |
|
||||
git diff --name-only HEAD^ HEAD > changed_files.txt
|
||||
git diff --name-only HEAD^ HEAD -- 'scripts/**' 'scenes/**' 'assets/**' > changed_files.txt
|
||||
echo "Files to patch:"
|
||||
cat changed_files.txt
|
||||
|
||||
# ── 4. Build patch.pck ────────────────────────────────────────────────
|
||||
- name: Setup Godot
|
||||
uses: chickensoft-games/setup-godot@v1
|
||||
with:
|
||||
@@ -35,8 +54,8 @@ jobs:
|
||||
- name: Run Build Patch Script
|
||||
run: godot --headless -s tools/build_patch.gd
|
||||
|
||||
# Push the patch files directly to the public repository structure!
|
||||
- name: Push to Public Repository
|
||||
# ── 5. Push patch.pck to public repo ─────────────────────────────────
|
||||
- name: Push patch.pck to Public Repository
|
||||
uses: dmnemec/copy_file_to_another_repo_action@main
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.PUBLIC_REPO_PAT }}
|
||||
@@ -46,9 +65,10 @@ jobs:
|
||||
destination_folder: 'latest'
|
||||
user_email: 'action@github.com'
|
||||
user_name: 'PatchBot'
|
||||
commit_message: '[AUTO] Pushed new patch.pck via CI'
|
||||
commit_message: '[AUTO] Pushed new patch.pck'
|
||||
|
||||
- name: Push Version Manifest to Public Repository
|
||||
# ── 6. Push version.json to public repo ──────────────────────────────
|
||||
- name: Push version.json to Public Repository
|
||||
uses: dmnemec/copy_file_to_another_repo_action@main
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.PUBLIC_REPO_PAT }}
|
||||
@@ -58,4 +78,4 @@ jobs:
|
||||
destination_folder: 'latest'
|
||||
user_email: 'action@github.com'
|
||||
user_name: 'PatchBot'
|
||||
commit_message: '[AUTO] Pushed new version.json via CI'
|
||||
commit_message: '[AUTO] Pushed new version.json'
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
## [NEXT]
|
||||
- Added Gacha system with Star and Gold banners (1x & 10x pulls)
|
||||
- Fragment Craft system — collect drops to craft exclusive skins
|
||||
- Fixed boot screen stuck on "Checking versions..."
|
||||
@@ -19,4 +19,4 @@
|
||||
],
|
||||
"ref_path": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cb3fdeskrctep"
|
||||
path="res://.godot/imported/bob_cloth_grey_pant.png-fa010f7183e78f14eb9656d3651932ac.ctex"
|
||||
path.s3tc="res://.godot/imported/bob_cloth_grey_pant.png-fa010f7183e78f14eb9656d3651932ac.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/bob_cloth_grey_pant.png-fa010f7183e78f14eb9656d3651932ac.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/bob_cloth_grey_pant.png"
|
||||
dest_files=["res://.godot/imported/bob_cloth_grey_pant.png-fa010f7183e78f14eb9656d3651932ac.ctex"]
|
||||
dest_files=["res://.godot/imported/bob_cloth_grey_pant.png-fa010f7183e78f14eb9656d3651932ac.s3tc.ctex", "res://.godot/imported/bob_cloth_grey_pant.png-fa010f7183e78f14eb9656d3651932ac.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cp1sj2fax8s23"
|
||||
path="res://.godot/imported/bob_cloth_red_pant.png-40b77712cac1150279e39edc40f68ce9.ctex"
|
||||
path.s3tc="res://.godot/imported/bob_cloth_red_pant.png-40b77712cac1150279e39edc40f68ce9.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/bob_cloth_red_pant.png-40b77712cac1150279e39edc40f68ce9.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/bob_cloth_red_pant.png"
|
||||
dest_files=["res://.godot/imported/bob_cloth_red_pant.png-40b77712cac1150279e39edc40f68ce9.ctex"]
|
||||
dest_files=["res://.godot/imported/bob_cloth_red_pant.png-40b77712cac1150279e39edc40f68ce9.s3tc.ctex", "res://.godot/imported/bob_cloth_red_pant.png-40b77712cac1150279e39edc40f68ce9.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cm53ribjw530m"
|
||||
path="res://.godot/imported/bob_cloth_yellow_pant.png-4386f3df6b3148db3f2f5270a87dbf57.ctex"
|
||||
path.s3tc="res://.godot/imported/bob_cloth_yellow_pant.png-4386f3df6b3148db3f2f5270a87dbf57.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/bob_cloth_yellow_pant.png-4386f3df6b3148db3f2f5270a87dbf57.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/bob_cloth_yellow_pant.png"
|
||||
dest_files=["res://.godot/imported/bob_cloth_yellow_pant.png-4386f3df6b3148db3f2f5270a87dbf57.ctex"]
|
||||
dest_files=["res://.godot/imported/bob_cloth_yellow_pant.png-4386f3df6b3148db3f2f5270a87dbf57.s3tc.ctex", "res://.godot/imported/bob_cloth_yellow_pant.png-4386f3df6b3148db3f2f5270a87dbf57.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://blrrrtw3uv8kw"
|
||||
path="res://.godot/imported/bob_gloves_yellow.png-33a8bc0847e2211358e3b41594779f08.ctex"
|
||||
path.s3tc="res://.godot/imported/bob_gloves_yellow.png-33a8bc0847e2211358e3b41594779f08.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/bob_gloves_yellow.png-33a8bc0847e2211358e3b41594779f08.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/bob_gloves_yellow.png"
|
||||
dest_files=["res://.godot/imported/bob_gloves_yellow.png-33a8bc0847e2211358e3b41594779f08.ctex"]
|
||||
dest_files=["res://.godot/imported/bob_gloves_yellow.png-33a8bc0847e2211358e3b41594779f08.s3tc.ctex", "res://.godot/imported/bob_gloves_yellow.png-33a8bc0847e2211358e3b41594779f08.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c65wl2er1u413"
|
||||
path="res://.godot/imported/bob_hat_red.png-245e3521d71544859cf527fb750fc029.ctex"
|
||||
path.s3tc="res://.godot/imported/bob_hat_red.png-245e3521d71544859cf527fb750fc029.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/bob_hat_red.png-245e3521d71544859cf527fb750fc029.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/bob_hat_red.png"
|
||||
dest_files=["res://.godot/imported/bob_hat_red.png-245e3521d71544859cf527fb750fc029.ctex"]
|
||||
dest_files=["res://.godot/imported/bob_hat_red.png-245e3521d71544859cf527fb750fc029.s3tc.ctex", "res://.godot/imported/bob_hat_red.png-245e3521d71544859cf527fb750fc029.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cy7jsxj16trfn"
|
||||
path="res://.godot/imported/bob_hat_yellow.png-d82efee98e652003550c16c8e67fadd5.ctex"
|
||||
path.s3tc="res://.godot/imported/bob_hat_yellow.png-d82efee98e652003550c16c8e67fadd5.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/bob_hat_yellow.png-d82efee98e652003550c16c8e67fadd5.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/bob_hat_yellow.png"
|
||||
dest_files=["res://.godot/imported/bob_hat_yellow.png-d82efee98e652003550c16c8e67fadd5.ctex"]
|
||||
dest_files=["res://.godot/imported/bob_hat_yellow.png-d82efee98e652003550c16c8e67fadd5.s3tc.ctex", "res://.godot/imported/bob_hat_yellow.png-d82efee98e652003550c16c8e67fadd5.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dcjptiyl5b7bj"
|
||||
path="res://.godot/imported/gatot_cloth_grey_pant.png-41f98c153b53c31ae587b2ea6ea454dc.ctex"
|
||||
path.s3tc="res://.godot/imported/gatot_cloth_grey_pant.png-41f98c153b53c31ae587b2ea6ea454dc.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/gatot_cloth_grey_pant.png-41f98c153b53c31ae587b2ea6ea454dc.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/gatot_cloth_grey_pant.png"
|
||||
dest_files=["res://.godot/imported/gatot_cloth_grey_pant.png-41f98c153b53c31ae587b2ea6ea454dc.ctex"]
|
||||
dest_files=["res://.godot/imported/gatot_cloth_grey_pant.png-41f98c153b53c31ae587b2ea6ea454dc.s3tc.ctex", "res://.godot/imported/gatot_cloth_grey_pant.png-41f98c153b53c31ae587b2ea6ea454dc.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bftqhgrf5s05u"
|
||||
path="res://.godot/imported/gatot_cloth_red_pant.png-39ab8676dc3d8d8aec6016ae6b7139b0.ctex"
|
||||
path.s3tc="res://.godot/imported/gatot_cloth_red_pant.png-39ab8676dc3d8d8aec6016ae6b7139b0.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/gatot_cloth_red_pant.png-39ab8676dc3d8d8aec6016ae6b7139b0.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/gatot_cloth_red_pant.png"
|
||||
dest_files=["res://.godot/imported/gatot_cloth_red_pant.png-39ab8676dc3d8d8aec6016ae6b7139b0.ctex"]
|
||||
dest_files=["res://.godot/imported/gatot_cloth_red_pant.png-39ab8676dc3d8d8aec6016ae6b7139b0.s3tc.ctex", "res://.godot/imported/gatot_cloth_red_pant.png-39ab8676dc3d8d8aec6016ae6b7139b0.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c4cyf66d2dwgt"
|
||||
path="res://.godot/imported/gatot_cloth_yellow_pant.png-79371cbbe0ed3f9f40d438e439d547bf.ctex"
|
||||
path.s3tc="res://.godot/imported/gatot_cloth_yellow_pant.png-79371cbbe0ed3f9f40d438e439d547bf.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/gatot_cloth_yellow_pant.png-79371cbbe0ed3f9f40d438e439d547bf.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/gatot_cloth_yellow_pant.png"
|
||||
dest_files=["res://.godot/imported/gatot_cloth_yellow_pant.png-79371cbbe0ed3f9f40d438e439d547bf.ctex"]
|
||||
dest_files=["res://.godot/imported/gatot_cloth_yellow_pant.png-79371cbbe0ed3f9f40d438e439d547bf.s3tc.ctex", "res://.godot/imported/gatot_cloth_yellow_pant.png-79371cbbe0ed3f9f40d438e439d547bf.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cju2mhtumxp6h"
|
||||
path="res://.godot/imported/gatot_gloves_green.png-353d568fc736c87799f2c272fdda8262.ctex"
|
||||
path.s3tc="res://.godot/imported/gatot_gloves_green.png-353d568fc736c87799f2c272fdda8262.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/gatot_gloves_green.png-353d568fc736c87799f2c272fdda8262.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/gatot_gloves_green.png"
|
||||
dest_files=["res://.godot/imported/gatot_gloves_green.png-353d568fc736c87799f2c272fdda8262.ctex"]
|
||||
dest_files=["res://.godot/imported/gatot_gloves_green.png-353d568fc736c87799f2c272fdda8262.s3tc.ctex", "res://.godot/imported/gatot_gloves_green.png-353d568fc736c87799f2c272fdda8262.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://hxd7b344ct8h"
|
||||
path="res://.godot/imported/gatot_gloves_red.png-dce7c17404f6d5c0340d4309331b18a1.ctex"
|
||||
path.s3tc="res://.godot/imported/gatot_gloves_red.png-dce7c17404f6d5c0340d4309331b18a1.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/gatot_gloves_red.png-dce7c17404f6d5c0340d4309331b18a1.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/gatot_gloves_red.png"
|
||||
dest_files=["res://.godot/imported/gatot_gloves_red.png-dce7c17404f6d5c0340d4309331b18a1.ctex"]
|
||||
dest_files=["res://.godot/imported/gatot_gloves_red.png-dce7c17404f6d5c0340d4309331b18a1.s3tc.ctex", "res://.godot/imported/gatot_gloves_red.png-dce7c17404f6d5c0340d4309331b18a1.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cyx1tafb7ynju"
|
||||
path="res://.godot/imported/gatot_gloves_yellow.png-1f071168f37d5286a650a9a9c297077a.ctex"
|
||||
path.s3tc="res://.godot/imported/gatot_gloves_yellow.png-1f071168f37d5286a650a9a9c297077a.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/gatot_gloves_yellow.png-1f071168f37d5286a650a9a9c297077a.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/gatot_gloves_yellow.png"
|
||||
dest_files=["res://.godot/imported/gatot_gloves_yellow.png-1f071168f37d5286a650a9a9c297077a.ctex"]
|
||||
dest_files=["res://.godot/imported/gatot_gloves_yellow.png-1f071168f37d5286a650a9a9c297077a.s3tc.ctex", "res://.godot/imported/gatot_gloves_yellow.png-1f071168f37d5286a650a9a9c297077a.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dvdmyjoupu854"
|
||||
path="res://.godot/imported/gatot_hat_blue.png-b907a96952b46d1ccc710e941b5c8cf4.ctex"
|
||||
path.s3tc="res://.godot/imported/gatot_hat_blue.png-b907a96952b46d1ccc710e941b5c8cf4.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/gatot_hat_blue.png-b907a96952b46d1ccc710e941b5c8cf4.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/gatot_hat_blue.png"
|
||||
dest_files=["res://.godot/imported/gatot_hat_blue.png-b907a96952b46d1ccc710e941b5c8cf4.ctex"]
|
||||
dest_files=["res://.godot/imported/gatot_hat_blue.png-b907a96952b46d1ccc710e941b5c8cf4.s3tc.ctex", "res://.godot/imported/gatot_hat_blue.png-b907a96952b46d1ccc710e941b5c8cf4.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b57ybp6hxfaii"
|
||||
path="res://.godot/imported/gatot_hat_green.png-3307329708a7bfd671001d0c1ff187f0.ctex"
|
||||
path.s3tc="res://.godot/imported/gatot_hat_green.png-3307329708a7bfd671001d0c1ff187f0.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/gatot_hat_green.png-3307329708a7bfd671001d0c1ff187f0.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/gatot_hat_green.png"
|
||||
dest_files=["res://.godot/imported/gatot_hat_green.png-3307329708a7bfd671001d0c1ff187f0.ctex"]
|
||||
dest_files=["res://.godot/imported/gatot_hat_green.png-3307329708a7bfd671001d0c1ff187f0.s3tc.ctex", "res://.godot/imported/gatot_hat_green.png-3307329708a7bfd671001d0c1ff187f0.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://duxbwwr3bwrly"
|
||||
path="res://.godot/imported/gatot_hat_red.png-a1d58ef9c2d5cec80a913916405123a7.ctex"
|
||||
path.s3tc="res://.godot/imported/gatot_hat_red.png-a1d58ef9c2d5cec80a913916405123a7.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/gatot_hat_red.png-a1d58ef9c2d5cec80a913916405123a7.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/gatot_hat_red.png"
|
||||
dest_files=["res://.godot/imported/gatot_hat_red.png-a1d58ef9c2d5cec80a913916405123a7.ctex"]
|
||||
dest_files=["res://.godot/imported/gatot_hat_red.png-a1d58ef9c2d5cec80a913916405123a7.s3tc.ctex", "res://.godot/imported/gatot_hat_red.png-a1d58ef9c2d5cec80a913916405123a7.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://btlx0dwaob1xi"
|
||||
path="res://.godot/imported/gatot_hat_yellow.png-624dfd6eae34b457896b846fa02aaa1e.ctex"
|
||||
path.s3tc="res://.godot/imported/gatot_hat_yellow.png-624dfd6eae34b457896b846fa02aaa1e.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/gatot_hat_yellow.png-624dfd6eae34b457896b846fa02aaa1e.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/gatot_hat_yellow.png"
|
||||
dest_files=["res://.godot/imported/gatot_hat_yellow.png-624dfd6eae34b457896b846fa02aaa1e.ctex"]
|
||||
dest_files=["res://.godot/imported/gatot_hat_yellow.png-624dfd6eae34b457896b846fa02aaa1e.s3tc.ctex", "res://.godot/imported/gatot_hat_yellow.png-624dfd6eae34b457896b846fa02aaa1e.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bmwnhr6xere3t"
|
||||
path="res://.godot/imported/masbro_cloth_grey_pant.png-8de527c7c27127db6b227a12290216be.ctex"
|
||||
path.s3tc="res://.godot/imported/masbro_cloth_grey_pant.png-8de527c7c27127db6b227a12290216be.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/masbro_cloth_grey_pant.png-8de527c7c27127db6b227a12290216be.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/masbro_cloth_grey_pant.png"
|
||||
dest_files=["res://.godot/imported/masbro_cloth_grey_pant.png-8de527c7c27127db6b227a12290216be.ctex"]
|
||||
dest_files=["res://.godot/imported/masbro_cloth_grey_pant.png-8de527c7c27127db6b227a12290216be.s3tc.ctex", "res://.godot/imported/masbro_cloth_grey_pant.png-8de527c7c27127db6b227a12290216be.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://s5erj2bmnkg"
|
||||
path="res://.godot/imported/masbro_cloth_ori_pant.png-003723a0e220f5b63371c14edf2dfd54.ctex"
|
||||
path.s3tc="res://.godot/imported/masbro_cloth_ori_pant.png-003723a0e220f5b63371c14edf2dfd54.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/masbro_cloth_ori_pant.png-003723a0e220f5b63371c14edf2dfd54.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/masbro_cloth_ori_pant.png"
|
||||
dest_files=["res://.godot/imported/masbro_cloth_ori_pant.png-003723a0e220f5b63371c14edf2dfd54.ctex"]
|
||||
dest_files=["res://.godot/imported/masbro_cloth_ori_pant.png-003723a0e220f5b63371c14edf2dfd54.s3tc.ctex", "res://.godot/imported/masbro_cloth_ori_pant.png-003723a0e220f5b63371c14edf2dfd54.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d4m8e15wne0u"
|
||||
path="res://.godot/imported/masbro_gloves_blue.png-73a428e11462c2e1b917f4e8554145c1.ctex"
|
||||
path.s3tc="res://.godot/imported/masbro_gloves_blue.png-73a428e11462c2e1b917f4e8554145c1.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/masbro_gloves_blue.png-73a428e11462c2e1b917f4e8554145c1.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/masbro_gloves_blue.png"
|
||||
dest_files=["res://.godot/imported/masbro_gloves_blue.png-73a428e11462c2e1b917f4e8554145c1.ctex"]
|
||||
dest_files=["res://.godot/imported/masbro_gloves_blue.png-73a428e11462c2e1b917f4e8554145c1.s3tc.ctex", "res://.godot/imported/masbro_gloves_blue.png-73a428e11462c2e1b917f4e8554145c1.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b37t7jtthrrtw"
|
||||
path="res://.godot/imported/masbro_gloves_green.png-3fa68d578af809cbf03326ef73867611.ctex"
|
||||
path.s3tc="res://.godot/imported/masbro_gloves_green.png-3fa68d578af809cbf03326ef73867611.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/masbro_gloves_green.png-3fa68d578af809cbf03326ef73867611.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/masbro_gloves_green.png"
|
||||
dest_files=["res://.godot/imported/masbro_gloves_green.png-3fa68d578af809cbf03326ef73867611.ctex"]
|
||||
dest_files=["res://.godot/imported/masbro_gloves_green.png-3fa68d578af809cbf03326ef73867611.s3tc.ctex", "res://.godot/imported/masbro_gloves_green.png-3fa68d578af809cbf03326ef73867611.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cgwu20ifkhfyi"
|
||||
path="res://.godot/imported/masbro_gloves_red.png-2ec0d5bb0f3ff6d7067d7a03bc3511a2.ctex"
|
||||
path.s3tc="res://.godot/imported/masbro_gloves_red.png-2ec0d5bb0f3ff6d7067d7a03bc3511a2.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/masbro_gloves_red.png-2ec0d5bb0f3ff6d7067d7a03bc3511a2.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/masbro_gloves_red.png"
|
||||
dest_files=["res://.godot/imported/masbro_gloves_red.png-2ec0d5bb0f3ff6d7067d7a03bc3511a2.ctex"]
|
||||
dest_files=["res://.godot/imported/masbro_gloves_red.png-2ec0d5bb0f3ff6d7067d7a03bc3511a2.s3tc.ctex", "res://.godot/imported/masbro_gloves_red.png-2ec0d5bb0f3ff6d7067d7a03bc3511a2.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://clrbtu0qn0owf"
|
||||
path="res://.godot/imported/masbro_gloves_yellow.png-5e6a744a93855952d24f2de9d729cbe2.ctex"
|
||||
path.s3tc="res://.godot/imported/masbro_gloves_yellow.png-5e6a744a93855952d24f2de9d729cbe2.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/masbro_gloves_yellow.png-5e6a744a93855952d24f2de9d729cbe2.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/masbro_gloves_yellow.png"
|
||||
dest_files=["res://.godot/imported/masbro_gloves_yellow.png-5e6a744a93855952d24f2de9d729cbe2.ctex"]
|
||||
dest_files=["res://.godot/imported/masbro_gloves_yellow.png-5e6a744a93855952d24f2de9d729cbe2.s3tc.ctex", "res://.godot/imported/masbro_gloves_yellow.png-5e6a744a93855952d24f2de9d729cbe2.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bovejv3j6h3xm"
|
||||
path="res://.godot/imported/masbro_hat_blue.png-62d6988fab47484b17f5e74d9129fa33.ctex"
|
||||
path.s3tc="res://.godot/imported/masbro_hat_blue.png-62d6988fab47484b17f5e74d9129fa33.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/masbro_hat_blue.png-62d6988fab47484b17f5e74d9129fa33.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/masbro_hat_blue.png"
|
||||
dest_files=["res://.godot/imported/masbro_hat_blue.png-62d6988fab47484b17f5e74d9129fa33.ctex"]
|
||||
dest_files=["res://.godot/imported/masbro_hat_blue.png-62d6988fab47484b17f5e74d9129fa33.s3tc.ctex", "res://.godot/imported/masbro_hat_blue.png-62d6988fab47484b17f5e74d9129fa33.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c2u7bgs1asnw2"
|
||||
path="res://.godot/imported/masbro_hat_green.png-f633bd1fdca5a9eb978890890f370ce9.ctex"
|
||||
path.s3tc="res://.godot/imported/masbro_hat_green.png-f633bd1fdca5a9eb978890890f370ce9.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/masbro_hat_green.png-f633bd1fdca5a9eb978890890f370ce9.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/masbro_hat_green.png"
|
||||
dest_files=["res://.godot/imported/masbro_hat_green.png-f633bd1fdca5a9eb978890890f370ce9.ctex"]
|
||||
dest_files=["res://.godot/imported/masbro_hat_green.png-f633bd1fdca5a9eb978890890f370ce9.s3tc.ctex", "res://.godot/imported/masbro_hat_green.png-f633bd1fdca5a9eb978890890f370ce9.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bvxy8741y1rkw"
|
||||
path="res://.godot/imported/masbro_hat_red.png-cd4210cf1ecc3216bfa7e2ed5bd3227a.ctex"
|
||||
path.s3tc="res://.godot/imported/masbro_hat_red.png-cd4210cf1ecc3216bfa7e2ed5bd3227a.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/masbro_hat_red.png-cd4210cf1ecc3216bfa7e2ed5bd3227a.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/masbro_hat_red.png"
|
||||
dest_files=["res://.godot/imported/masbro_hat_red.png-cd4210cf1ecc3216bfa7e2ed5bd3227a.ctex"]
|
||||
dest_files=["res://.godot/imported/masbro_hat_red.png-cd4210cf1ecc3216bfa7e2ed5bd3227a.s3tc.ctex", "res://.godot/imported/masbro_hat_red.png-cd4210cf1ecc3216bfa7e2ed5bd3227a.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://u8280glj8iyd"
|
||||
path="res://.godot/imported/masbro_hat_yellow.png-0e88a6048fd9ed11a8e3887dd016737d.ctex"
|
||||
path.s3tc="res://.godot/imported/masbro_hat_yellow.png-0e88a6048fd9ed11a8e3887dd016737d.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/masbro_hat_yellow.png-0e88a6048fd9ed11a8e3887dd016737d.etc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/characters/skins/tex/masbro_hat_yellow.png"
|
||||
dest_files=["res://.godot/imported/masbro_hat_yellow.png-0e88a6048fd9ed11a8e3887dd016737d.ctex"]
|
||||
dest_files=["res://.godot/imported/masbro_hat_yellow.png-0e88a6048fd9ed11a8e3887dd016737d.s3tc.ctex", "res://.godot/imported/masbro_hat_yellow.png-0e88a6048fd9ed11a8e3887dd016737d.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
"version": "2.1.5",
|
||||
"date": "2026-04-20",
|
||||
"pck_url": "https://raw.githubusercontent.com/adtpdn/tekton-updates/main/latest/patch.pck",
|
||||
"pck_size": 0,
|
||||
"changelog": [
|
||||
"Initial release of the new patching system.",
|
||||
"Added boot screen paginator."
|
||||
|
||||
@@ -29,6 +29,7 @@ var http_request: HTTPRequest
|
||||
var download_request: HTTPRequest
|
||||
var is_downloading: bool = false
|
||||
var pending_pck_path: String = ""
|
||||
var _timeout_timer: Timer
|
||||
|
||||
func _ready() -> void:
|
||||
# Load embedded version
|
||||
@@ -44,6 +45,14 @@ func _ready() -> void:
|
||||
download_request.name = "DownloadRequest"
|
||||
add_child(download_request)
|
||||
download_request.request_completed.connect(_on_download_completed)
|
||||
|
||||
# Timeout fallback — if no response in 5s, use local manifest
|
||||
_timeout_timer = Timer.new()
|
||||
_timeout_timer.name = "VersionCheckTimeout"
|
||||
_timeout_timer.wait_time = 5.0
|
||||
_timeout_timer.one_shot = true
|
||||
_timeout_timer.timeout.connect(_on_version_timeout)
|
||||
add_child(_timeout_timer)
|
||||
|
||||
func _load_embedded_version() -> void:
|
||||
# Try to load version from embedded file first
|
||||
@@ -108,29 +117,68 @@ static func get_platform_name() -> String:
|
||||
|
||||
func check_for_updates() -> void:
|
||||
emit_signal("update_check_started")
|
||||
print("[GameUpdateManager] Checking for updates...")
|
||||
|
||||
# In the editor, skip network fetch — use local manifest directly
|
||||
if Engine.is_editor_hint() or OS.has_feature("editor"):
|
||||
print("[GameUpdateManager] Editor mode — using local manifest.")
|
||||
_load_local_manifest()
|
||||
return
|
||||
|
||||
print("[GameUpdateManager] Checking for updates from: ", VERSION_MANIFEST_URL)
|
||||
_timeout_timer.start()
|
||||
var error := http_request.request(VERSION_MANIFEST_URL)
|
||||
if error != OK:
|
||||
emit_signal("update_check_failed", "Failed to connect to update server")
|
||||
_timeout_timer.stop()
|
||||
push_warning("[GameUpdateManager] Request failed instantly, using local manifest.")
|
||||
_load_local_manifest()
|
||||
|
||||
func _on_version_timeout() -> void:
|
||||
push_warning("[GameUpdateManager] Version check timed out, using local manifest.")
|
||||
http_request.cancel_request()
|
||||
_load_local_manifest()
|
||||
|
||||
func _on_version_check_completed(result: int, response_code: int, _headers: PackedStringArray, body: PackedByteArray) -> void:
|
||||
_timeout_timer.stop()
|
||||
if result != HTTPRequest.RESULT_SUCCESS:
|
||||
emit_signal("update_check_failed", "Network error")
|
||||
push_warning("[GameUpdateManager] Network error (result=%d), falling back to local manifest." % result)
|
||||
_load_local_manifest()
|
||||
return
|
||||
|
||||
if response_code != 200:
|
||||
emit_signal("update_check_failed", "Server error: " + str(response_code))
|
||||
push_warning("[GameUpdateManager] Server returned %d, falling back to local manifest." % response_code)
|
||||
_load_local_manifest()
|
||||
return
|
||||
|
||||
var json := JSON.new()
|
||||
if json.parse(body.get_string_from_utf8()) != OK:
|
||||
emit_signal("update_check_failed", "Invalid update data")
|
||||
push_warning("[GameUpdateManager] JSON parse failed, falling back to local manifest.")
|
||||
_load_local_manifest()
|
||||
return
|
||||
|
||||
manifest_data = json.data
|
||||
_process_manifest()
|
||||
|
||||
func _load_local_manifest() -> void:
|
||||
const LOCAL_MANIFEST := "res://assets/data/version.json"
|
||||
if not FileAccess.file_exists(LOCAL_MANIFEST):
|
||||
emit_signal("update_check_failed", "No manifest available (offline)")
|
||||
return
|
||||
var f := FileAccess.open(LOCAL_MANIFEST, FileAccess.READ)
|
||||
if not f:
|
||||
emit_signal("update_check_failed", "Could not read local manifest")
|
||||
return
|
||||
var parsed = JSON.parse_string(f.get_as_text())
|
||||
if not parsed is Dictionary:
|
||||
emit_signal("update_check_failed", "Invalid local manifest JSON")
|
||||
return
|
||||
manifest_data = parsed
|
||||
_process_manifest()
|
||||
|
||||
func _process_manifest() -> void:
|
||||
latest_version = manifest_data.get("latest_version", current_version)
|
||||
|
||||
print("[GameUpdateManager] current_version=%s latest_version=%s" % [current_version, latest_version])
|
||||
|
||||
var has_update := _compare_versions(current_version, latest_version) < 0
|
||||
var min_version: String = manifest_data.get("minimum_app_version", "0.0.0")
|
||||
var needs_store_update := _compare_versions(current_version, min_version) < 0
|
||||
@@ -144,7 +192,9 @@ func _on_version_check_completed(result: int, response_code: int, _headers: Pack
|
||||
"can_patch": _can_apply_patch() and not needs_store_update
|
||||
}
|
||||
|
||||
print("[GameUpdateManager] Update check complete - Has update: ", has_update)
|
||||
print("[GameUpdateManager] has_update=%s can_patch=%s needs_store=%s" % [
|
||||
has_update, update_info.can_patch, needs_store_update
|
||||
])
|
||||
emit_signal("update_check_completed", has_update, update_info)
|
||||
|
||||
if needs_store_update and is_mobile():
|
||||
|
||||
@@ -0,0 +1,128 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
generate_version_json.py
|
||||
Auto-generates version.json by:
|
||||
1. Reading the current version from project.godot
|
||||
2. Auto-bumping the PATCH number
|
||||
3. Reading player-friendly entries from CHANGELOG_DRAFT.md
|
||||
4. Injecting them into version.json with a date stamp
|
||||
5. Clearing the [NEXT] section in CHANGELOG_DRAFT.md
|
||||
Run: python3 tools/generate_version_json.py
|
||||
"""
|
||||
|
||||
import json
|
||||
import re
|
||||
import os
|
||||
from datetime import date
|
||||
|
||||
PROJECT_GODOT = "project.godot"
|
||||
CHANGELOG_DRAFT = "CHANGELOG_DRAFT.md"
|
||||
VERSION_JSON = "assets/data/version.json"
|
||||
MANIFEST_URL = "https://raw.githubusercontent.com/adtpdn/tekton-updates/main/latest/patch.pck"
|
||||
|
||||
# ─── 1. Read current version from project.godot ──────────────────────────────
|
||||
version_str = "2.1.5"
|
||||
with open(PROJECT_GODOT, "r") as f:
|
||||
for line in f:
|
||||
m = re.search(r'config/version="([^"]+)"', line)
|
||||
if m:
|
||||
version_str = m.group(1)
|
||||
break
|
||||
|
||||
# ─── 2. Auto-bump patch number ───────────────────────────────────────────────
|
||||
parts = version_str.split(".")
|
||||
parts[-1] = str(int(parts[-1]) + 1)
|
||||
new_version = ".".join(parts)
|
||||
|
||||
print(f"Version: {version_str} → {new_version}")
|
||||
|
||||
# ─── 3. Read CHANGELOG_DRAFT.md ──────────────────────────────────────────────
|
||||
changelog_lines = []
|
||||
in_next = False
|
||||
remaining_lines = []
|
||||
|
||||
with open(CHANGELOG_DRAFT, "r", encoding="utf-8") as f:
|
||||
raw = f.readlines()
|
||||
|
||||
for line in raw:
|
||||
if line.strip() == "## [NEXT]":
|
||||
in_next = True
|
||||
continue
|
||||
if in_next:
|
||||
# Stop at next ## heading
|
||||
if line.startswith("## ") and "[NEXT]" not in line:
|
||||
in_next = False
|
||||
remaining_lines.append(line)
|
||||
elif line.strip():
|
||||
# Strip leading "- " and emoji bullet
|
||||
clean = line.strip().lstrip("- ").strip()
|
||||
changelog_lines.append(clean)
|
||||
else:
|
||||
remaining_lines.append(line)
|
||||
|
||||
if not changelog_lines:
|
||||
print("⚠ No [NEXT] entries found in CHANGELOG_DRAFT.md — aborting.")
|
||||
exit(1)
|
||||
|
||||
print(f"Changelog entries: {len(changelog_lines)}")
|
||||
|
||||
# ─── 4. Load existing version.json ───────────────────────────────────────────
|
||||
existing = {"releases": []}
|
||||
if os.path.exists(VERSION_JSON):
|
||||
with open(VERSION_JSON, "r") as f:
|
||||
existing = json.load(f)
|
||||
|
||||
# ─── 5. Prepend new release ───────────────────────────────────────────────────
|
||||
today = date.today().isoformat()
|
||||
new_release = {
|
||||
"version": new_version,
|
||||
"date": today,
|
||||
"pck_url": MANIFEST_URL,
|
||||
"pck_size": 0,
|
||||
"changelog": changelog_lines
|
||||
}
|
||||
|
||||
# Remove any existing entry with the same version
|
||||
existing["releases"] = [r for r in existing["releases"] if r.get("version") != new_version]
|
||||
existing["releases"].insert(0, new_release)
|
||||
|
||||
manifest = {
|
||||
"latest_version": new_version,
|
||||
"minimum_app_version": existing.get("minimum_app_version", "2.1.0"),
|
||||
"releases": existing["releases"]
|
||||
}
|
||||
|
||||
with open(VERSION_JSON, "w") as f:
|
||||
json.dump(manifest, f, indent="\t")
|
||||
f.write("\n")
|
||||
|
||||
print(f"✅ Written: {VERSION_JSON} (latest={new_version})")
|
||||
|
||||
# ─── 6. Bump version in project.godot ────────────────────────────────────────
|
||||
with open(PROJECT_GODOT, "r") as f:
|
||||
godot_content = f.read()
|
||||
|
||||
godot_content = re.sub(
|
||||
r'(config/version=")[^"]+(")',
|
||||
rf'\g<1>{new_version}\g<2>',
|
||||
godot_content
|
||||
)
|
||||
|
||||
with open(PROJECT_GODOT, "w") as f:
|
||||
f.write(godot_content)
|
||||
|
||||
print(f"✅ Bumped project.godot → {new_version}")
|
||||
|
||||
# ─── 7. Clear [NEXT] in CHANGELOG_DRAFT.md ───────────────────────────────────
|
||||
archived_header = f"## [{new_version}] — {today}\n"
|
||||
archived_entries = "".join(f"- {line}\n" for line in changelog_lines)
|
||||
|
||||
new_draft = "## [NEXT]\n\n" + archived_header + archived_entries
|
||||
if remaining_lines:
|
||||
new_draft += "\n" + "".join(remaining_lines)
|
||||
|
||||
with open(CHANGELOG_DRAFT, "w", encoding="utf-8") as f:
|
||||
f.write(new_draft)
|
||||
|
||||
print(f"✅ Cleared [NEXT] in {CHANGELOG_DRAFT}, archived as [{new_version}]")
|
||||
print(f"\nDone! Push to patch-release to deploy v{new_version}.")
|
||||
Reference in New Issue
Block a user