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) <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-07-06 14:49:57 -04:00
parent b668c83de4
commit d3286cf96b
5 changed files with 41 additions and 0 deletions

10
godot/Himegari.csproj Normal file
View File

@@ -0,0 +1,10 @@
<Project Sdk="Godot.NET.Sdk/4.7.0">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\engine\Age.Engine\Age.Engine.csproj" />
</ItemGroup>
</Project>

14
godot/Main.cs Normal file
View File

@@ -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);
}
}

1
godot/Main.cs.uid Normal file
View File

@@ -0,0 +1 @@
uid://bsb43xig6d3r5

8
godot/Main.tscn Normal file
View File

@@ -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")

8
godot/project.godot Normal file
View File

@@ -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"