From d3286cf96b439751d3f871a4c577d0015825cb5a Mon Sep 17 00:00:00 2001 From: gamer147 Date: Mon, 6 Jul 2026 14:49:57 -0400 Subject: [PATCH] feat(a2a): Godot 4.7 .NET project scaffold referencing Age.Engine (headless smoke) SMOKE: Paths resolves to age-reimpl inside Godot; Age.Engine parses SC0000 in-process. Co-Authored-By: Claude Opus 4.8 (1M context) --- godot/Himegari.csproj | 10 ++++++++++ godot/Main.cs | 14 ++++++++++++++ godot/Main.cs.uid | 1 + godot/Main.tscn | 8 ++++++++ godot/project.godot | 8 ++++++++ 5 files changed, 41 insertions(+) create mode 100644 godot/Himegari.csproj create mode 100644 godot/Main.cs create mode 100644 godot/Main.cs.uid create mode 100644 godot/Main.tscn create mode 100644 godot/project.godot diff --git a/godot/Himegari.csproj b/godot/Himegari.csproj new file mode 100644 index 0000000..a70c332 --- /dev/null +++ b/godot/Himegari.csproj @@ -0,0 +1,10 @@ + + + net8.0 + true + enable + + + + + diff --git a/godot/Main.cs b/godot/Main.cs new file mode 100644 index 0000000..d56c387 --- /dev/null +++ b/godot/Main.cs @@ -0,0 +1,14 @@ +using Godot; +using Age.Engine.Sys4; + +public partial class Main : Godot.Control +{ + public override void _Ready() + { + var table = OpcodeTableJson.Load(Paths.OpcodesJson); + var script = Sys4Loader.Load(Paths.Scripts()["SC0000.BIN"], table); + GD.Print($"SMOKE repo={Paths.Repo}"); + GD.Print($"SMOKE SC0000 instrs={script.Instructions.Count} strings={script.Strings.Count}"); + GetTree().Quit(0); + } +} diff --git a/godot/Main.cs.uid b/godot/Main.cs.uid new file mode 100644 index 0000000..ac72d9c --- /dev/null +++ b/godot/Main.cs.uid @@ -0,0 +1 @@ +uid://bsb43xig6d3r5 diff --git a/godot/Main.tscn b/godot/Main.tscn new file mode 100644 index 0000000..81c5202 --- /dev/null +++ b/godot/Main.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=2 format=3] + +[ext_resource type="Script" path="res://Main.cs" id="1"] + +[node name="Main" type="Control"] +layout_mode = 3 +anchors_preset = 15 +script = ExtResource("1") diff --git a/godot/project.godot b/godot/project.godot new file mode 100644 index 0000000..0fe090f --- /dev/null +++ b/godot/project.godot @@ -0,0 +1,8 @@ +config_version=5 + +[application] +config/name="Himegari (age-reimpl A2a)" +run/main_scene="res://Main.tscn" + +[dotnet] +project/assembly_name="Himegari"