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

@ -20,7 +20,7 @@ export state FireState {
fr_lit: bool = false
fr_fuel: float = 0.0 # game minutes left
fr_rain_h: float = 0.0 # game hours today it burned in the rain under cover
fr_facts: Queue<FireFact> = null
fr_facts: Queue<FireFact> = fr_facts__new()
}
# what lighting or feeding would come to, as the world stands
@ -43,12 +43,11 @@ export property FireFact {
# the facts, oldest first; the game drains them into its notices
export function fire_facts(fire_st: mut FireState) -> Queue<FireFact> {
if fire_st.fr_facts == null { fire_st.fr_facts = queue_new("fire.facts") }
export function fire_facts(fire_st: FireState) -> Queue<FireFact> {
return fire_st.fr_facts
}
function fr_fact(fire_st: mut FireState, what: int) -> void {
function fr_fact(fire_st: FireState, what: int) -> void {
let f = new FireFact
f.what = what
f.fuel = fire_st.fr_fuel
@ -68,3 +67,4 @@ export function fire_config_reach(fire_st: mut FireState, warm: float, cook: flo
fire_st.fr_warm_radius = warm
fire_st.fr_cook_radius = cook
}
function fr_facts__new() -> Queue<FireFact> { return queue_new("fire.facts") }

View file

@ -29,7 +29,7 @@ program FireTest {
fire_reset(fire_st)
}
function facts(fire_st: mut FireState) -> []FireFact { return q_drain(fire_facts(fire_st)) }
function facts(fire_st: FireState) -> []FireFact { return q_drain(fire_facts(fire_st)) }
function count(fs: []FireFact, what: int) -> int {
var n = 0
for i in 0 .. len(fs) { if fs[i].what == what { n += 1 } }