code wiki / (root) / nx_gltf_pose_joints_gate_t230.nx

nx_gltf_pose_joints_gate_t230.nx source

↩ module page · 10 lines · 1315 B

1import "nx_gltf_pose_joints_candidate_t230.nx" 2func main()->i64{ 3 let ln:*i64=sys_mmap(8) as *i64;let src:*u8=sys_read_file("../knowledge/fetched/rigmodels-tifa-catwalk-143925f3.glb",ln);let cx:*i64=sys_mmap(GLD_CONTEXT_WORDS*8) as *i64 4 if gltf_view_open(src,ln[0],cx)!=0{return 1};let w:*i64=sys_mmap(32) as *i64 5 var i:i64=0;while i<4{w[i]=0;i=i+1};let times:*i64=sys_mmap(40) as *i64;times[0]=0;times[1]=17895698;times[2]=35791396;times[3]=536870912;times[4]=1252698752 6 if gltf_render_poses_with_joints(cx,0,0,0,1,2,times,5,w)!=0{return 2};let n:i64=w[2];let out:*u8=sys_mmap_try(n);if (out as i64)==0{return 3};w[0]=out as i64;w[1]=n;w[2]=0;w[3]=0 7 if gltf_render_poses_with_joints(cx,0,0,0,1,2,times,5,w)!=0||w[2]!=n{return 4};let fd:i64=sys_openat_wr("knowledge/gates/character-poses-joints-t230.json",MODE_0644);if fd<0{return 5};let written:i64=sys_write(fd,out,n);sys_close(fd);if written!=n{return 6} 8 let digest:*u8=sys_mmap(32);sha256_digest(out,n,digest);let message:*u8="JOINT_POSE_PACKET_SHA256=";sys_write(1,message,gll_slen(message));let hex:*u8="0123456789abcdef";i=0;while i<32{let b:i64=digest[i] as i64;sys_write(1,(hex as i64+b/16) as *u8,1);sys_write(1,(hex as i64+b%16) as *u8,1);i=i+1};sys_write(1,"\n",1) 9 gltf_view_close(cx);sys_free_file(src,ln[0]);sys_munmap_direct(out,n);return 0 10}