code wiki / _hdl_build / nx_game_raster.nx

nx_game_raster.nx

buildroot/runtime/_hdl_build/nx_game_raster.nx

5501 B126 linesdepth 3pulls 3 transitivereach 25 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 2 imports · 23 importers

nx_syscalls.nx nx_font8x8.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, +13 more importers in the complete lists below.

imports: nx_syscalls.nxnx_font8x8.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_wire_diablo2_gate.nxnx_wire_endlesssky_gate.nxnx_wire_harness_gate.nx

structs

none

consts

none

functions

9func gr_pack(r: i64, g: i64, b: i64) -> i64 { return (r & 0xff) | ((g & 0xff) << 8) | ((b & 0xff) << 16) }
11func gr_clear(fb: *i64, w: i64, h: i64, c: i64) -> i64
17func gr_px(fb: *i64, w: i64, h: i64, x: i64, y: i64, c: i64) -> i64
23func gr_rect(fb: *i64, w: i64, h: i64, x0: i64, y0: i64, x1: i64, y1: i64, c: i64) -> i64
34func gr_disc(fb: *i64, w: i64, h: i64, cx: i64, cy: i64, rad: i64, c: i64) -> i64
49func 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 }
50func 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
53func gr_r(c: i64) -> i64 { return c & 0xff }
54func gr_g(c: i64) -> i64 { return (c >> 8) & 0xff }
55func gr_b(c: i64) -> i64 { return (c >> 16) & 0xff }
70func gr_glyph(fb: *i64, w: i64, h: i64, ch: i64, x0: i64, y0: i64, c: i64) -> i64
called by 2: gr_textgr_num calls 2: font8x8_tablegr_px
88func gr_text(fb: *i64, w: i64, h: i64, x0: i64, y0: i64, s: *u8, c: i64) -> i64
101func gr_num(fb: *i64, w: i64, h: i64, x0: i64, y0: i64, v: i64, c: i64) -> i64
120func gr_text_w(s: *u8) -> i64