code wiki / _hdl_build / nx_game_session_drive.nx

nx_game_session_drive.nx

buildroot/runtime/_hdl_build/nx_game_session_drive.nx

4007 B89 linesdepth 4pulls 10 transitivereach 0 importersview sourcekind orphan librarytopic game
docsdependenciesstructsconstsfunctions

about

nx_game_session_drive.nx -- TUTOR-AUTHORED SCAFFOLD (Claude), NOT emitter output. Binds an emitter-authored game-system FSM (the team's _pe_*) to the game-engine SUBSTRATE (tissue world + 1bpp framebuffer + input) and runs a DETERMINISTIC session: input/event -> FSM step -> render-to-substrate. This closes the first inch of the "unified API" gap that surfaces.tsv names on the game-engine surface (maturity=PARTIAL, gap=unified API): an emitter-authored game-system drives the hardware-floor engine end to end, and the result is gate-verifiable. HONEST AUTHORSHIP (operator law: do not claim tutor work is team work): - The FSMs this drives ARE emitter-authored: _pe_roglrun (new this rung) and _pe_dungenc (DONE), both written by nx_auto_builder from data-only specs. - This driver + its KAT + the gate are TUTOR (Claude) authored TOOLING. - The RUNG that makes THIS binding emitter-authored too -- a GAME_BIND / compose-loop emitter shape so the Builder emits the binding from a spec -- is filed as G-R2 in the game-engine rung ladder. Until then this is a hand-built scaffold, and the autonomy meter correctly does NOT credit it as team self-authoring (METER-INTEGRITY law). LAWS honored: <=6 args/func, flat ifs, no &&/||, integer-only, additive. license_tier: ORIGINAL

dependencies 8 imports · 0 importers

nx_tier.nx nx_syscalls.nx nx_palette.nx nx_tissue.nx nx_fb_1bpp.nx nx_input_gpio.nx _pe_roglrun.nx _pe_dungenc.nx nx_game_session_drive.nx

imports: nx_tier.nxnx_syscalls.nxnx_palette.nxnx_tissue.nxnx_fb_1bpp.nxnx_input_gpio.nx_pe_roglrun.nx_pe_dungenc.nx

imported by: nobody (leaf or entry point)

structs

none

consts

none

functions

34func gs_step(which: i64, s: i64, e: i64) -> i64
42func gs_btn_to_event_roglrun(btn: i64) -> i64
57func gs_render(world: *NxTissue, fb: *NxFb1bpp, s: i64, i: i64) -> i64
called by 1: gs_session calls 1: nx_fb_1bpp_fill_rect
66func gs_session(world: *NxTissue, fb: *NxFb1bpp, ev: *i64, n: i64, which: i64, s0: i64) -> i64
81func gs_session_btn_roglrun(world: *NxTissue, fb: *NxFb1bpp, btn: *i64, n: i64, s0: i64) -> i64