nx_nxa_skin_affine_compose_gate_t36.nx source
↩ module page · 15 lines · 1466 B
1import "nx_nxa_affine_asset_t35.nx"
2func main()->i64{
3 let n:i64=11833880;let sn:i64=7063248;let b:*u8=sys_mmap(n);let skin:*u8=sys_mmap(sn);let st:*i64=sys_mmap(24) as *i64
4 if rc_read_file_into("/tmp/dark-knight-affine-walk-t35.nxa" as *u8,b,n,st)!=n||rc_complete(st)==0{return 2}
5 if rc_read_file_into("/tmp/dark-knight-authored-skin-t36.nxa" as *u8,skin,sn,st)!=sn||rc_complete(st)==0{return 3}
6 let e:i64=nxa_section_entry(skin,sn,nxa_tag4("SKIN" as *u8));if e<0{return 4}
7 let h:*i64=skin as *i64;let p:*i64=((skin as i64)+h[e+1]) as *i64;if p[0]!=53296||h[e+2]!=1+p[0]*8{return 5}
8 var v:i64=0;while v<p[0]{var sum:i64=0;var j:i64=0;while j<4{let joint:i64=p[1+v*8+j];let w:i64=p[1+v*8+4+j];if joint<0||joint>=113||w<0||w>4096{return 6};sum=sum+w;j=j+1};if sum!=4096{return 7};v=v+1}
9 let out:*u8=sys_mmap(n);if nxw_replace_same_size(b,n,nxa_tag4("SKIN" as *u8),p,h[e+2],out,n)!=n{return 8}
10 if nb_save_new("/tmp/dark-knight-affine-authored-t36.nxa" as *u8,out,n)!=n{return 9}
11 nb_text("PASS repaired_skin_checksum=" as *u8);nb_num(h[e+3]);nb_text(" vertices=" as *u8);nb_num(p[0]);nb_text(" other_sections=BYTE_IDENTICAL\n" as *u8)
12 let vertices:*i64=sys_mmap(32) as *i64;vertices[0]=31169;vertices[1]=31184;vertices[2]=12083;vertices[3]=12086
13 var k:i64=0;while k<4{v=vertices[k];nb_text("vertex=" as *u8);nb_num(v);nb_text(" skin=" as *u8);var j:i64=0;while j<8{if j>0{nb_text("," as *u8)};nb_num(p[1+v*8+j]);j=j+1};nb_text("\n" as *u8);k=k+1}
14 return 0
15}