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

@ -74,19 +74,19 @@ export state WeatherState {
wx_wet_today: bool = false
wx_wet_yesterday: bool = false
wx_dice: Rng = null
wx_facts: Queue<WeatherFact> = null
wx_facts: Queue<WeatherFact> = wx_facts__new()
}
# the facts, oldest first; the game drains them into its notices and sounds
export function weather_facts(weather_st: mut WeatherState) -> Queue<WeatherFact> {
if weather_st.wx_facts == null { weather_st.wx_facts = queue_new("weather.facts") }
export function weather_facts(weather_st: WeatherState) -> Queue<WeatherFact> {
return weather_st.wx_facts
}
function wx_fact(weather_st: mut WeatherState, what: int, kind: int, from: int) -> void {
function wx_fact(weather_st: WeatherState, what: int, kind: int, from: int) -> void {
let f = new WeatherFact
f.what = what
f.kind = kind
f.from = from
q_push(weather_facts(weather_st), f)
}
function wx_facts__new() -> Queue<WeatherFact> { return queue_new("weather.facts") }

View file

@ -73,7 +73,7 @@ program WeatherTest {
weather_reset(weather_st)
}
function facts(weather_st: mut WeatherState) -> []WeatherFact { return q_drain(weather_facts(weather_st)) }
function facts(weather_st: WeatherState) -> []WeatherFact { return q_drain(weather_facts(weather_st)) }
function step(weather_st: mut WeatherState, dt: float, gh: float, n: int) -> void { for i in 0 .. n { weather_run(weather_st, dt, gh) } }
function count(fs: []WeatherFact, what: int) -> int {
var n = 0