code wiki / _hdl_build / nx_game_room_gate.nx

nx_game_room_gate.nx

buildroot/runtime/_hdl_build/nx_game_room_gate.nx

7463 B129 linesdepth 3pulls 5 transitivereach 0 importersview sourcekind gate/prooftopic game
docsdependenciesstructsconstsfunctions

about

nx_game_room_gate.nx -- proves the UNIFIED game+comms room: one sovereign room (one room hash) carries MANY independent channels over nx_room_relay -- player-state (game), chat (text), audio (PCM), video (frames) -- all server-relay, NO WebRTC/STUN/ TURN/WebSocket. This is the keystone of "do video OR audio OR chat OR all, in the game": join one room, opt into whichever channels you want. Each channel = its own relay instance keyed by the SAME room hash, so they coexist by construction. 1) UNIFIED: a peer in the room reads game-state + chat + audio + video for the room 2) SELECTIVE: a chat-only peer appears in chat roster but NOT in audio/video (opt-in) 3) ISOLATION (neg): a peer in another room sees none of these channels 4) NO CROSS-CHANNEL BLEED (neg): each channel carries only its own payload 5) anti-tautology / ghost (neg): distinct rooms carry distinct state; ghost absent Built nx_cc_sovereign -> nxasm_x86 (no gcc, no .sh). Reuses nx_room_relay + nx_pets_netstate. license_tier: ORIGINAL

dependencies 4 imports · 0 importers

nx_syscalls.nx nx_gate_emit_lib.nx nx_room_relay.nx nx_pets_netstate.nx nx_game_room_gate.nx

imports: nx_syscalls.nxnx_gate_emit_lib.nxnx_room_relay.nxnx_pets_netstate.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main g_puts sys_write sys_mmap rr_init setf ps_pack ps_wr32 rr_post rr_find rr_alloc rr_roster rr_live rr_find ↻ ps_unpack ps_rd32 rr_flen g_check g_puts ↻ inlist chan_byte0 rr_live ↻ rr_find ↻ g_pn sys_mmap ↻ sys_write ↻ sys_exit

structs

none

consts

none

functions

19func setf(f: *i64, x: i64, y: i64, z: i64, yaw: i64, pitch: i64, sp: i64, caught: i64, act: i64, anim: i64, flags: i64) -> i64
called by 1: main
24func inlist(out: *i64, c: i64, id: i64) -> i64
called by 1: main
29func chan_byte0(st: *i64, arena: *u8, sb: i64, rm: i64, pr: i64, now: i64, ttl: i64) -> i64
called by 1: main calls 1: rr_live
35func main() -> i64