code wiki / _hdl_build / nx_pets_mp_relay_gate.nx

nx_pets_mp_relay_gate.nx

buildroot/runtime/_hdl_build/nx_pets_mp_relay_gate.nx

5227 B105 linesdepth 3pulls 5 transitivereach 0 importersview sourcekind gate/prooftopic pets
docsdependenciesstructsconstsfunctions

about

nx_pets_mp_relay_gate.nx -- proves multiplayer pixelmon player-state transport: the sovereign player-state codec (nx_pets_netstate) carried over the sovereign server-relay (nx_room_relay) = no WebRTC/STUN/TURN/WebSocket. Each player POSTs a packed snapshot; another player reads the roster, fetches that peer's frame, unpacks it -> its decoded position/species. This is the exact transport MP-R1/R2 build on. 1) round-trip: A & B in a room -> A sees B in roster + decodes B's pos/species (B's z is NEGATIVE -> exercises sign-extended i32 decode) 2) room isolation (neg-control): a peer in another room never appears 3) staleness: peers past TTL drop from the roster 4) bad-magic reject (neg-control): ps_unpack on garbage returns 0, no fabricated data 5) anti-tautology: A's decoded state != B's decoded state (real per-peer frames) Built nx_cc_sovereign -> nxasm_x86 (no gcc, no .sh). 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_pets_mp_relay_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 ↻ 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
25func main() -> i64