code wiki / _hdl_build / nx_world_png_gate.nx

nx_world_png_gate.nx source

↩ module page · 23 lines · 1054 B

1// nx_world_png_gate.nx -- FULLY SOVEREIGN render: spec -> 3D world -> PNG, no bash/python/zlib anywhere. 2// NishiLang -> nx_cc_sovereign(f32) -> nxasm -> native ELF that writes a directly-viewable PNG via nx_png. 3// exit 0 = wrote a PNG. license_tier: ORIGINAL 4import "nx_syscalls.nx" 5import "nx_voxel_world.nx" 6import "nx_png.nx" 7 8func mk(seed: i64, n: i64, water: i64, maxh: i64, latsp: i64, 9 psin: i64, pcos: i64, ysin: i64, ycos: i64, push: i64, focal: i64, style: i64) -> *i64 { 10 let s: *i64 = sys_mmap(12 * 8) as *i64 11 s[0] = seed; s[1] = n; s[2] = water; s[3] = maxh; s[4] = latsp 12 s[5] = psin; s[6] = pcos; s[7] = ysin; s[8] = ycos; s[9] = push; s[10] = focal; s[11] = style 13 return s 14} 15 16func main() -> i64 { 17 let fb: *i64 = sys_mmap(world_fb_bytes()) as *i64 18 let zb: *i64 = sys_mmap(world_fb_bytes()) as *i64 19 render_world(mk(7, 14, 1, 6, 4, 574, 819, 574, 819, 24, 300, 0), fb, zb) 20 let rc: i64 = write_png(fb, 320, 240, "web_assets/_game_build/world_sov.png" as *u8) 21 if rc != 0 { return 1 } 22 return 0 23}