Files
tekton/tools
adtpdn 5354d8b30f freemode fishing tekton autoplay + static tekton throw fix
- Added tekton_fishing_autoplay.gd: plays both GLB animations simultaneously, looped
- Attached autoplay script to 3 fishing tekton instances in freemode.tscn
- Fixed static tekton throw: faces throw direction + plays throw animation
- Fixed AnimationPlayer path in tekton.gd for static turrets
- Fixed animation names (tekton_throw_tile -> ted_bones_001|Tekton Throwing Tiles|Anima_Layer)
- Fixed static_tekton_controller.gd idle resume
- Rebuilt animation-pack.res with new animations (holding_1, put_1, stun_1, etc.)
- Fixed GutBottomPanel.tscn broken UID
2026-06-15 18:15:39 +08:00
..
2026-04-29 01:36:49 +08:00

Tools

rename_rig_in_glb.py

Renames the rig root node in each character GLB to a consistent name (Character). This makes all characters share the same skeleton path Character/Skeleton3D:bone_name, enabling a shared animation library.

python3 tools/rename_rig_in_glb.py

Modifies: Bob.glb, Oldpop.glb, Masbro.glb, Gatot.glb

  • bob-rig → Character
  • oldpop-rig → Character
  • masbro-tpose → Character
  • gatot-tpose → Character

Creates .glb.bak backups on first run. Re-runnable; restores from backup each time to ensure idempotency.

After running, you must reimport in the Godot editor (or via godot --headless --import).

build_animation_pack.gd

Headless script that extracts all animations from animation-0.glb, applies rest-pose correction against Bob.glb (the reference rig), and saves as assets/characters/animations/animation-pack.res.

godot --headless --path . --script tools/build_animation_pack.gd

Run rename_rig_in_glb.py first so the reference skeleton has the expected path.

The animation-pack contains 15 animations used by the player:

  • idle, walk_forward, backflip_1
  • take_tile_1, take_tile_2, drop_tile_1, drop_tile_2, spawn_tile_1
  • pickup_1, put_1, holding_1
  • hit_1, hitted_1, getting_hit_1, stun_1

All tracks use original Blender bone names with path Character/Skeleton3D:bone_name so they resolve regardless of which character model is active.

generate_version_json.py

Generates version.json for game update checks.