Compare commits
4 Commits
29b5db9071
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| eeae1a1f89 | |||
| 693e913ecc | |||
| 9b547e1aee | |||
| 33d271c783 |
@@ -1,89 +0,0 @@
|
|||||||
---
|
|
||||||
name: update-engine
|
|
||||||
description: Install/update the local Tinqs engine (binary + GodotSharp C# bindings) from this builds repo so ariki-game runs on the current engine. Use when an engine update is announced, when setting up a new machine, or when the game shows ".NET assemblies not found" or "Wrapper class not found for type: Terrain3D" (terrain is water / animals don't animate). Covers macOS (arm64) and Windows (x64).
|
|
||||||
---
|
|
||||||
|
|
||||||
# Update the Tinqs engine from `builds`
|
|
||||||
|
|
||||||
**Only Ozan edits the engine source.** Everyone else installs the prebuilt engine from this
|
|
||||||
repo into `../engine/bin/`, which is where `ariki-game` looks for it.
|
|
||||||
|
|
||||||
## ⚠️ Read this first — binary + GodotSharp are a MATCHED PAIR
|
|
||||||
|
|
||||||
The engine binary and its `GodotSharp/` folder (Godot's C# bindings) are **both generated from the
|
|
||||||
same engine source** and must be installed **together**. The binary does **not** regenerate
|
|
||||||
`GodotSharp` — it must sit next to the binary on disk. Mismatch symptoms:
|
|
||||||
|
|
||||||
| Symptom | Cause |
|
|
||||||
|---|---|
|
|
||||||
| `.NET assemblies not found` dialog (looks for `engine/bin/GodotSharp/Api/Debug`) | no `GodotSharp` present |
|
|
||||||
| `Wrapper class not found for type: Terrain3D` / `MultiSkinnedMeshInstance3D` — terrain renders as water, animals don't animate | **stale** `GodotSharp` from an older engine that predates the built-in Terrain3D / agent_skinned modules |
|
|
||||||
|
|
||||||
So: always **replace `GodotSharp` wholesale** when you take a new binary, and clear the game's C#
|
|
||||||
cache so it rebuilds against the new bindings.
|
|
||||||
|
|
||||||
## Assumed layout
|
|
||||||
|
|
||||||
```
|
|
||||||
tinqs-ltd/
|
|
||||||
ariki-game/ ← the game (looks for ../engine/bin/…)
|
|
||||||
engine/bin/ ← install target: binary + GodotSharp live here
|
|
||||||
builds/ ← this repo (prebuilt engine)
|
|
||||||
```
|
|
||||||
Adjust paths below if your checkout differs.
|
|
||||||
|
|
||||||
## 1. Pull the latest build
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd <…>/builds
|
|
||||||
tinqs pull # never `git pull` — tinqs handles LFS (the binary + GodotSharp are LFS)
|
|
||||||
```
|
|
||||||
Check `builds/manifest.json` for the current version/commit per platform.
|
|
||||||
|
|
||||||
## 2a. Install — macOS (arm64)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
BUILDS="<…>/builds"; ENGINE="<…>/engine/bin"; GAME="<…>/ariki-game"
|
|
||||||
mkdir -p "$ENGINE"
|
|
||||||
# 1) binary
|
|
||||||
cp "$BUILDS/engine/macos-arm64/tinqs.macos.editor.arm64.mono" "$ENGINE/"
|
|
||||||
chmod +x "$ENGINE/tinqs.macos.editor.arm64.mono"
|
|
||||||
# 2) GodotSharp — REPLACE wholesale (matched pair)
|
|
||||||
rm -rf "$ENGINE/GodotSharp"
|
|
||||||
cp -R "$BUILDS/engine/macos-arm64/GodotSharp" "$ENGINE/GodotSharp"
|
|
||||||
# 3) clear the game's stale C# cache
|
|
||||||
rm -rf "$GAME/.godot/mono"
|
|
||||||
```
|
|
||||||
|
|
||||||
## 2b. Install — Windows (x64), PowerShell
|
|
||||||
|
|
||||||
```powershell
|
|
||||||
$builds="<…>\builds"; $engine="<…>\engine\bin"; $game="<…>\ariki-game"
|
|
||||||
New-Item -ItemType Directory -Force -Path $engine | Out-Null
|
|
||||||
# 1) binaries
|
|
||||||
Copy-Item "$builds\engine\windows-x64\tinqs.windows.editor.x86_64.mono.exe" $engine -Force
|
|
||||||
Copy-Item "$builds\engine\windows-x64\tinqs.windows.editor.x86_64.mono.console.exe" $engine -Force
|
|
||||||
# 2) GodotSharp — REPLACE wholesale (matched pair)
|
|
||||||
Remove-Item -Recurse -Force "$engine\GodotSharp" -ErrorAction SilentlyContinue
|
|
||||||
Copy-Item -Recurse "$builds\engine\windows-x64\GodotSharp" "$engine\GodotSharp"
|
|
||||||
# 3) clear the game's stale C# cache
|
|
||||||
Remove-Item -Recurse -Force "$game\.godot\mono" -ErrorAction SilentlyContinue
|
|
||||||
```
|
|
||||||
|
|
||||||
## 3. Verify
|
|
||||||
|
|
||||||
```bash
|
|
||||||
"$ENGINE/tinqs.macos.editor.arm64.mono" --version # matches manifest.json
|
|
||||||
ls "$ENGINE/GodotSharp/Api/Debug/GodotSharp.dll" # MUST exist
|
|
||||||
```
|
|
||||||
Then run the game (`cd ariki-game && bash tools/game.sh run`). Healthy = terrain renders, animals
|
|
||||||
animate, log shows **0** `Wrapper class not found` and no `.NET assemblies not found` dialog.
|
|
||||||
|
|
||||||
## Notes
|
|
||||||
|
|
||||||
- **GodotSharp must be present in this repo for the copy to work.** If `builds/engine/<platform>/GodotSharp`
|
|
||||||
is missing, the build owner needs to add it (it ships *with* the binary — see `manifest.json`).
|
|
||||||
- Don't mix a new binary with an old `GodotSharp`. Always replace both, together.
|
|
||||||
- Terrain3D and the skinned-animation classes are **built into the engine binary** now (no separate
|
|
||||||
`addons/terrain_3d` GDExtension `.framework`). If you still have `addons/terrain_3d/terrain.gdextension`
|
|
||||||
or the macOS `.framework`, remove them — they conflict with the built-in module.
|
|
||||||
@@ -8,9 +8,10 @@ Build artifacts for the Tinqs stack — engine editor binaries (+ their GodotSha
|
|||||||
|
|
||||||
## Installing / updating the engine
|
## Installing / updating the engine
|
||||||
|
|
||||||
**Don't copy files by hand — run the skill:** [`.agents/skills/update-engine`](.agents/skills/update-engine/SKILL.md).
|
**Don't copy files by hand — run the `update-engine` skill (it lives in the game repo, which everyone has):**
|
||||||
Hand it to your agent; it installs the binary + GodotSharp into `../engine/bin/`, wipes stale
|
[tinqs.com/tinqs/ariki-game · .agents/skills/update-engine](https://tinqs.com/tinqs/ariki-game/src/branch/main/.agents/skills/update-engine/SKILL.md).
|
||||||
caches, and verifies. Covers macOS + Windows.
|
Hand it to your agent; it `tinqs pull`s ariki-game + builds, installs the binary + GodotSharp into
|
||||||
|
`../engine/bin/`, wipes stale caches, and verifies. Covers macOS + Windows.
|
||||||
|
|
||||||
## ⚠️ The one rule: binary + GodotSharp are a MATCHED PAIR
|
## ⚠️ The one rule: binary + GodotSharp are a MATCHED PAIR
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
LFS
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
LFS
BIN
Binary file not shown.
BIN
Binary file not shown.
LFS
BIN
Binary file not shown.
BIN
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user