code wiki / (root) / nx_craft_placement_gate_t316.nx

nx_craft_placement_gate_t316.nx source

↩ module page · 65 lines · 3270 B

1import "nx_craft_imported_placement_candidate_t316.nx" 2import "nx_gate_verdict.nx" 3func main()->i64 { 4 let c:*i64=gv_ctr();gv_head("IMPORTED-CANONICAL-PLACEMENT") 5 let base:i64=sys_mmap(CRAFT_EXT_TOTAL) as i64 6 if base<=0{return 3} 7 let spec:*i64=wsp(base);spec[P_SURF]=1;spec[P_WATER]=0 8 hq_set(base,10,10,1152);hq_set(base,11,10,1408);hq_set(base,10,11,1152);hq_set(base,11,11,1408) 9 let x:i64=10*256+128;let z:i64=10*256+128 10 gv_check_eq("fractional terrain placement",wc_place_floor_q(base,x,z),1536,c) 11 gv_check_eq("actor seat repairs below-field position",wc_actor_seat_q(base,x,z,1000),1536,c) 12 gv_check_eq("negative x refused",wc_place_floor_q(base,-1,z),-1,c) 13 gv_check_eq("negative z refused",wc_place_floor_q(base,x,-1),-1,c) 14 gv_check_eq("last x corner lacks interpolation neighbor",wc_place_floor_q(base,(WX-1)*256,z),-1,c) 15 gv_check_eq("last z corner lacks interpolation neighbor",wc_place_floor_q(base,x,(WZ-1)*256),-1,c) 16 vset(base,10,8,10,6) 17 gv_check_eq("overhead canopy does not become arrival floor",wc_place_floor_q(base,x,z),1536,c) 18 gv_check_eq("legacy sky scan distinguishes canopy",wc_contact_floor_q(base,x,z,WY-1),2304,c) 19 vset(base,10,7,10,6) 20 gv_check_eq("body course obstruction rises through contiguous structure",wc_place_floor_q(base,x,z),2304,c) 21 vset(base,10,7,10,0);vset(base,10,8,10,0);vset(base,10,6,10,5) 22 gv_check_eq("terrain voxel ignored in continuous mode",wc_place_floor_q(base,x,z),1536,c) 23 spec[P_SURF]=0 24 gv_check_eq("voxel mode retains top solid",wc_place_floor_q(base,x,z),1792,c) 25 gv_check_eq("voxel actor seat respects supplied altitude",wc_actor_seat_q(base,x,z,1000),-1,c) 26 spec[P_SURF]=1 27 var valid:i64=1;var offset:i64=0 28 while offset<256{if wc_place_floor_q(base,10*256+offset,z)!=1408+offset{valid=0};offset=offset+1} 29 gv_check("all256 fractional x samples follow actual linear field",valid,c) 30 gv_check_eq("body registry remains available",wc_body_init(base,2,CRAFT_EXT_TOTAL),0,c) 31 gv_check_eq("body ABI stage unchanged",O_IMPORTED_STAGE,27534176,c) 32 gv_check_eq("runtime pages unchanged",WASM_PAGES_REQ,421,c) 33 gv_check_eq("below-field canonical support",wc_contact_floor_below_q(base,x,z,WY-1,1535),1536,c) 34 gv_check_eq("old below-field rule negative control",placement_old_support(base,x,z,WY-1,1535),-1,c) 35 let state:*i64=wst(base);state[S_CY]=1535+EYE 36 gv_check_eq("player current-column recovery target",wstand_here(base,x,z),1536+EYE,c) 37 sys_munmap(base as *u8,CRAFT_EXT_TOTAL) 38 return gv_verdict("IMPORTED-CANONICAL-PLACEMENT",c,"Native source composition; actual plain/shared bytecode and served placement remain pending.") 39} 40 41func placement_old_support(base: i64, xq: i64, zq: i64, top: i64, ceiling: i64) -> i64 { 42 let sp: *i64 = wsp(base) 43 var y: i64 = top 44 if y >= WY { y = WY - 1 } 45 var floor: i64 = 0 - 1 46 if sp[P_SURF] == 1 { 47 floor = wc_surface_source(base,xq,zq) 48 if floor < 0 { return 0 - 1 } 49 if floor > ceiling { floor = 0 - 1 } 50 } 51 while y >= 0 { 52 let b: i64 = vget(base,xq >> 8,y,zq >> 8) 53 var eligible: i64 = vsolid(base,xq >> 8,y,zq >> 8) 54 if sp[P_SURF] == 1 { if wterrain(b) == 1 { eligible = 0 } } 55 if eligible == 1 { 56 let celltop: i64 = (y+1)*256 57 if celltop <= ceiling { 58 if celltop > floor { floor = celltop } 59 return floor 60 } 61 } 62 y = y - 1 63 } 64 return floor 65}