refactor(packages): 0.R5 - a question no longer starts its state - 64 lazy starts ('if st.x == null { st.x = ... }' inside a getter) are the state's defaults, gear__ensure is gone, and ludic migrate state --tighten took mut off 208 package parameters: things_all, thing_find, gear_charge, gear_level, jobs_state and the rest read

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-27 00:51:03 +03:00
parent 54f5efb23f
commit 9862ec82e3
102 changed files with 320 additions and 351 deletions

View file

@ -3,7 +3,7 @@
function th_of(t: Thing, kind: int) -> bool { return kind < 0 or t.kind == kind }
# the first active one of a kind (and of that id, unless id < 0), in the order placed
export function thing_find(things_st: mut ThingsState, kind: int, id: int) -> Thing {
export function thing_find(things_st: ThingsState, kind: int, id: int) -> Thing {
let all = things_all(things_st)
for i in 0 .. len(all) {
let t = all[i]
@ -12,14 +12,14 @@ export function thing_find(things_st: mut ThingsState, kind: int, id: int) -> Th
return null
}
export function thing_by_uid(things_st: mut ThingsState, uid: int) -> Thing {
export function thing_by_uid(things_st: ThingsState, uid: int) -> Thing {
let all = things_all(things_st)
for i in 0 .. len(all) { if all[i].uid == uid { return all[i] } }
return null
}
# the nearest active one of a kind to (x, z), or null
export function thing_nearest(things_st: mut ThingsState, kind: int, x: float, z: float) -> Thing {
export function thing_nearest(things_st: ThingsState, kind: int, x: float, z: float) -> Thing {
var best: Thing = null
var bd = 0.0
let all = things_all(things_st)
@ -43,7 +43,7 @@ export function thing_dist2(t: Thing, x: float, z: float) -> float {
}
# every active one within r of (x, z), nearest first
export function things_within(things_st: mut ThingsState, x: float, z: float, r: float) -> []Thing {
export function things_within(things_st: ThingsState, x: float, z: float, r: float) -> []Thing {
let out = new []Thing
let all = things_all(things_st)
for i in 0 .. len(all) {
@ -64,7 +64,7 @@ function th_insert(out: []Thing, t: Thing, x: float, z: float) -> void {
}
# every active one of a kind, in the order placed
export function things_each(things_st: mut ThingsState, kind: int) -> []Thing {
export function things_each(things_st: ThingsState, kind: int) -> []Thing {
let out = new []Thing
let all = things_all(things_st)
for i in 0 .. len(all) { if all[i].active and th_of(all[i], kind) { push(out, all[i]) } }
@ -72,7 +72,7 @@ export function things_each(things_st: mut ThingsState, kind: int) -> []Thing {
}
# every one of a kind, active or not
export function things_each_all(things_st: mut ThingsState, kind: int) -> []Thing {
export function things_each_all(things_st: ThingsState, kind: int) -> []Thing {
let out = new []Thing
let all = things_all(things_st)
for i in 0 .. len(all) { if th_of(all[i], kind) { push(out, all[i]) } }