code wiki / (root) / nx_nxa_bind.nx

nx_nxa_bind.nx

buildroot/runtime/nx_nxa_bind.nx

18106 B389 linesdepth 8pulls 13 transitivereach 24 importersview sourcekind tooltopic nxa
docsdependenciesstructsconstsfunctions

about

Rebind an existing NXA geometry stream from its matching binary FBX BindPose. Other supported sections remain byte-identical. Original inputs are never opened for writing. usage: nx_nxa_bind <source.fbx> <original.nxa> <candidate.nxa> license_tier: ORIGINAL

dependencies 5 imports · 14 importers

nx_fbx_import.nx nx_fbx_bind.nx nx_nxa_write_lib.nx nx_nxa_posewrite_lib.nx nx_readcap_lib.nx nx_nxa_bind.nx nx_affine_q30_api_gate_t34.nx nx_cast_affine_emit_gate_t38.nx nx_fbx_affine_t32.nx nx_game_affine_emit_gate_t38.nx nx_game_affine_emit_gate_t39.nx nx_imported_body_craft_gate_t137.n nx_imported_body_craft_gate_t262.n nx_imported_body_craft_gate_t43.nx nx_imported_body_page_gate_t45.nx nx_imported_body_page_gate_t49.nx

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

imports: nx_fbx_import.nxnx_fbx_bind.nxnx_nxa_write_lib.nxnx_nxa_posewrite_lib.nxnx_readcap_lib.nx

imported by: nx_affine_q30_api_gate_t34.nxnx_cast_affine_emit_gate_t38.nxnx_fbx_affine_t32.nxnx_game_affine_emit_gate_t38.nxnx_game_affine_emit_gate_t39.nxnx_imported_body_craft_gate_t137.nxnx_imported_body_craft_gate_t262.nxnx_imported_body_craft_gate_t43.nxnx_imported_body_page_gate_t45.nxnx_imported_body_page_gate_t49.nxnx_imported_body_registry_gate_t40.nxnx_imported_body_registry_gate_t43.nxnx_nxa_fullskin_affine_gate_t37.nxnx_private_binary_transport_t43.nx

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

main nb_bounded_cli nb_text fbxc_name_is nb_budget_arg rc_read_file_into sys_openat_rd rc_fill_file rc_fill sys_read sys_mmap nxa_die sys_write sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable nxa_dump_sizes sys_read ↻ sys_close rc_complete nb_report nb_text ↻ nb_num nb_text ↻ nb_convert_bytes nb_range nb_overlap nb_preflight fbxc_version fbxc_u32 fbxc_big fbb_node fbxc_u32 ↻ fbxc_hdr

structs

83struct NxaBindReport

consts

11const NB_MILLI: i64 = 1000
12const NB_BAD_SOURCE: i64 = 0-20
13const NB_UNSUPPORTED: i64 = 0-21
14const NB_OUTPUT_EXISTS: i64 = 0-22
82const NB_BUDGET: i64 = 0-23
152const NB_POLYGON_OWNER_CAP: i64 = 512

functions

16func nb_text(s: *u8) -> i64
21func nb_num(v: i64) -> i64
called by 16: mainmainmainmainmainmain+10 calls 1: nb_text
35func nb_supported(tag: i64) -> i64
called by 1: nb_convert_bytes
42func nb_scale(v: *i64,count: i64,milli: i64) -> i64
called by 1: nb_convert_bytes
56func nb_save_new(path: *u8,b: *u8,n: i64) -> i64
93func nb_preflight(b: *u8,n: i64,array_budget: i64,depth_budget: i64,r: *NxaBindReport) -> i64
153func nb_geometry_contract(b: *u8,n: i64,nv: i64,nt: i64) -> i64
211func nb_range(p: i64,n: i64) -> i64
called by 1: nb_convert_bytes
215func nb_overlap(a: i64,an: i64,b: i64,bn: i64) -> i64
called by 1: nb_convert_bytes
219func nb_convert_bytes(fbx: *u8,fn: i64,b: *u8,n: i64,candidate: *u8,cap: i64,array_budget: i64,depth_budget: i64,r: *NxaBindReport) -> i64
330func nb_convert(fbxpath: *u8,nxapath: *u8,outpath: *u8) -> i64
called by 1: main calls 2: nb_convert_bytesnb_save_new
344func nb_budget_arg(s: *u8) -> i64
called by 1: nb_bounded_cli
351func nb_report(result: i64,r: *NxaBindReport) -> i64
called by 1: nb_bounded_cli calls 2: nb_textnb_num
360func nb_bounded_cli(argc: i64,argv: *i64) -> i64
382func main(argc: i64,argv: *i64) -> i64