code wiki / _hdl_build / nx_game_raster.nx

nx_game_raster.nx

buildroot/runtime/_hdl_build/nx_game_raster.nx

2354 B54 linesdepth 2pulls 2 transitivereach 26 importersview sourcekind librarytopic game
docsdependenciesstructsconstsfunctions

about

nx_game_raster.nx -- LIB: shared INTEGER (no-float) raster primitives for the genre playables. Every flagged open-source genre we build renders its state into the games' packed-RGB framebuffer (R|G<<8|B<<16) through these -- the SAME framebuffer SF5 proved flows through both sovereign display paths (the silicon on-fabric display controller + the x86 UEFI GOP sink). So a genre that renders here IS displayable on sovereign hardware. Pure i64, no float, no canvas. license_tier: ORIGINAL

dependencies 1 imports · 24 importers

nx_syscalls.nx nx_game_raster.nx nx_anatomy_critic_gate.nx nx_char_identity_sheet.nx nx_creature_render.nx nx_drift_engine.nx nx_frontier_engine.nx nx_game_adventure_gate.nx nx_game_art.nx nx_game_city_gate.nx nx_game_critic_gate.nx nx_game_pong_gate.nx

diagram shows first 10 each side; +0 more imports, +14 more importers in the complete lists below.

imports: nx_syscalls.nx

imported by: nx_anatomy_critic_gate.nxnx_char_identity_sheet.nxnx_creature_render.nxnx_drift_engine.nxnx_frontier_engine.nxnx_game_adventure_gate.nxnx_game_art.nxnx_game_city_gate.nxnx_game_critic_gate.nxnx_game_pong_gate.nxnx_game_racing_gate.nxnx_game_redteam_gate.nxnx_game_rts_gate.nxnx_game_sandbox_gate.nxnx_game_shmup_gate.nxnx_game_tbs_gate.nxnx_game_td_gate.nxnx_game_thirdperson_gate.nxnx_game_tycoon_gate.nxnx_m2d_engine.nxnx_sovereign_surface_gate.nxnx_wire_diablo2_gate.nxnx_wire_endlesssky_gate.nxnx_wire_harness_gate.nx

structs

none

consts

none

functions

8func gr_pack(r: i64, g: i64, b: i64) -> i64 { return (r & 0xff) | ((g & 0xff) << 8) | ((b & 0xff) << 16) }
10func gr_clear(fb: *i64, w: i64, h: i64, c: i64) -> i64
16func gr_px(fb: *i64, w: i64, h: i64, x: i64, y: i64, c: i64) -> i64
22func gr_rect(fb: *i64, w: i64, h: i64, x0: i64, y0: i64, x1: i64, y1: i64, c: i64) -> i64
33func gr_disc(fb: *i64, w: i64, h: i64, cx: i64, cy: i64, rad: i64, c: i64) -> i64
48func gr_hline(fb: *i64, w: i64, h: i64, x0: i64, x1: i64, y: i64, c: i64) -> i64 { gr_rect(fb, w, h, x0, y, x1, y+1, c); return 0 }
49func gr_vline(fb: *i64, w: i64, h: i64, x: i64, y0: i64, y1: i64, c: i64) -> i64 { gr_rect(fb, w, h, x, y0, x+1, y1, c); return 0 }
called by 1: tbs_render calls 1: gr_rect
52func gr_r(c: i64) -> i64 { return c & 0xff }
called by 1: main
53func gr_g(c: i64) -> i64 { return (c >> 8) & 0xff }
called by 1: main
54func gr_b(c: i64) -> i64 { return (c >> 16) & 0xff }
called by 1: main