wip(0.S3): the runtime migrated - ludic migrate state --runtime <every program>: 331 vars into 25 states (RtInputState, RtGlState, ...), 2 lets; its states are made before it boots; no module-level var is let through outside --globals

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-25 16:02:12 +03:00
parent 7b17b4a1b9
commit 02448e176c
38 changed files with 53877 additions and 53251 deletions

View file

@ -24,7 +24,7 @@ function tiled_apply_field(e: int, fname: pointer, v: int) -> void {
# has one) takes the object's x/y, and each object custom property sets a like-
# named int/bool component field. Returns the entity, or -1 if the model is
# unknown. Opt-in — the core load never calls this.
function tiled_spawn_object(m: Tmap, obj: Val, model_name: pointer) -> int {
function tiled_spawn_object(rt_tiled_st: mut RtTiledState, m: Tmap, obj: Val, model_name: pointer) -> int {
let mid = world_model_id(model_name)
if mid < 0 { return -1 }
let e = world_spawn(mid)
@ -39,17 +39,17 @@ function tiled_spawn_object(m: Tmap, obj: Val, model_name: pointer) -> int {
var i = 0
while i < value_count(props) {
let p = value_at(props, i)
tiled_apply_field(e, value_as_str(value_get(p, "name")), tiled_prop_int(obj, value_as_str(value_get(p, "name"))))
tiled_apply_field(e, value_as_str(value_get(p, "name")), tiled_prop_int(rt_tiled_st, obj, value_as_str(value_get(p, "name"))))
i += 1
}
return e
}
# spawn every object on `layer` as `model_name` (opt-in). Returns the count.
function tiled_spawn_layer(m: Tmap, layer: int, model_name: pointer) -> int {
function tiled_spawn_layer(rt_tiled_st: mut RtTiledState, m: Tmap, layer: int, model_name: pointer) -> int {
var n = 0
let c = tmap_object_count(m, layer)
var i = 0
while i < c { if tiled_spawn_object(m, tmap_object(m, layer, i), model_name) >= 0 { n += 1 }; i += 1 }
while i < c { if tiled_spawn_object(rt_tiled_st, m, tmap_object(m, layer, i), model_name) >= 0 { n += 1 }; i += 1 }
return n
}