fixed pixel to use new callback system

This commit is contained in:
Redo 2019-05-10 19:59:26 -05:00
parent 7f1c5ea417
commit 5b5231a4b3
70 changed files with 28929 additions and 28935 deletions

View File

@ -1,403 +1,403 @@
1 1 1 1 1 1
SPECIAL SPECIAL
b b
1 1
0 0 0 0 0 0
1 1 1 1 1 1
COVERAGE: COVERAGE:
1 : 1 1 : 1
1 : 1 1 : 1
1 : 1 1 : 1
1 : 1 1 : 1
1 : 1 1 : 1
1 : 1 1 : 1
----------------top quads: ----------------top quads:
6 6
TEX:TOP TEX:TOP
POSITION: POSITION:
0.5 0.5 0.5 0.5 0.5 0.5
0.5 -0.5 0.5 0.5 -0.5 0.5
-0.5 -0.5 0.5 -0.5 -0.5 0.5
-0.5 0.5 0.5 -0.5 0.5 0.5
UV COORDS: UV COORDS:
1 0 1 0
1 1 1 1
0 1 0 1
0 0 0 0
NORMALS: NORMALS:
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.4 -0.4 0.75 -0.4 -0.4 0.75
0.4 -0.4 0.75 0.4 -0.4 0.75
0.4 -0.4 0.5 0.4 -0.4 0.5
-0.4 -0.4 0.5 -0.4 -0.4 0.5
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.4 -0.4 0.75 -0.4 -0.4 0.75
-0.4 0.4 0.75 -0.4 0.4 0.75
0.4 0.4 0.75 0.4 0.4 0.75
0.4 -0.4 0.75 0.4 -0.4 0.75
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.4 0.4 0.75 0.4 0.4 0.75
-0.4 0.4 0.75 -0.4 0.4 0.75
-0.4 0.4 0.5 -0.4 0.4 0.5
0.4 0.4 0.5 0.4 0.4 0.5
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 1 0 0 1 0
0 1 0 0 1 0
0 1 0 0 1 0
0 1 0 0 1 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.4 0.4 0.75 -0.4 0.4 0.75
-0.4 -0.4 0.75 -0.4 -0.4 0.75
-0.4 -0.4 0.5 -0.4 -0.4 0.5
-0.4 0.4 0.5 -0.4 0.4 0.5
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
-1 0 0 -1 0 0
-1 0 0 -1 0 0
-1 0 0 -1 0 0
-1 0 0 -1 0 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.4 -0.4 0.75 0.4 -0.4 0.75
0.4 0.4 0.75 0.4 0.4 0.75
0.4 0.4 0.5 0.4 0.4 0.5
0.4 -0.4 0.5 0.4 -0.4 0.5
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
----------------bottom quads: ----------------bottom quads:
9 9
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
-0.5 -0.5 -0.5 -0.5 -0.5 -0.5
0.5 -0.5 -0.5 0.5 -0.5 -0.5
0 0 -0.5 0 0 -0.5
0 0 -0.5 0 0 -0.5
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
0.5 0.5 -0.5 0.5 0.5 -0.5
-0.5 0.5 -0.5 -0.5 0.5 -0.5
0 0 -0.5 0 0 -0.5
0 0 -0.5 0 0 -0.5
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
0.5 -0.5 -0.5 0.5 -0.5 -0.5
0.5 0.5 -0.5 0.5 0.5 -0.5
0 0 -0.5 0 0 -0.5
0 0 -0.5 0 0 -0.5
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
-0.5 0.5 -0.5 -0.5 0.5 -0.5
-0.5 -0.5 -0.5 -0.5 -0.5 -0.5
0 0 -0.5 0 0 -0.5
0 0 -0.5 0 0 -0.5
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.32 -0.32 -0.875 0.32 -0.32 -0.875
-0.32 -0.32 -0.875 -0.32 -0.32 -0.875
-0.4 -0.4 -0.5 -0.4 -0.4 -0.5
0.4 -0.4 -0.5 0.4 -0.4 -0.5
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 -0.882353 -0.470588 0 -0.882353 -0.470588
0 -0.882353 -0.470588 0 -0.882353 -0.470588
0 -0.882353 -0.470588 0 -0.882353 -0.470588
0 -0.882353 -0.470588 0 -0.882353 -0.470588
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.32 -0.32 -0.875 0.32 -0.32 -0.875
0.32 0.32 -0.875 0.32 0.32 -0.875
-0.32 0.32 -0.875 -0.32 0.32 -0.875
-0.32 -0.32 -0.875 -0.32 -0.32 -0.875
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.32 0.32 -0.875 -0.32 0.32 -0.875
0.32 0.32 -0.875 0.32 0.32 -0.875
0.4 0.4 -0.5 0.4 0.4 -0.5
-0.4 0.4 -0.5 -0.4 0.4 -0.5
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 0.882353 -0.470588 0 0.882353 -0.470588
0 0.882353 -0.470588 0 0.882353 -0.470588
0 0.882353 -0.470588 0 0.882353 -0.470588
0 0.882353 -0.470588 0 0.882353 -0.470588
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.32 0.32 -0.875 0.32 0.32 -0.875
0.32 -0.32 -0.875 0.32 -0.32 -0.875
0.4 -0.4 -0.5 0.4 -0.4 -0.5
0.4 0.4 -0.5 0.4 0.4 -0.5
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0.882353 0 -0.470588 0.882353 0 -0.470588
0.882353 0 -0.470588 0.882353 0 -0.470588
0.882353 0 -0.470588 0.882353 0 -0.470588
0.882353 0 -0.470588 0.882353 0 -0.470588
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.32 -0.32 -0.875 -0.32 -0.32 -0.875
-0.32 0.32 -0.875 -0.32 0.32 -0.875
-0.4 0.4 -0.5 -0.4 0.4 -0.5
-0.4 -0.4 -0.5 -0.4 -0.4 -0.5
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
-0.882353 0 -0.470589 -0.882353 0 -0.470589
-0.882353 0 -0.470589 -0.882353 0 -0.470589
-0.882353 0 -0.470589 -0.882353 0 -0.470589
-0.882353 0 -0.470589 -0.882353 0 -0.470589
----------------north quads: ----------------north quads:
1 1
TEX:PRINT TEX:PRINT
POSITION: POSITION:
-0.5 0.5 0.5 -0.5 0.5 0.5
-0.5 0.5 -0.5 -0.5 0.5 -0.5
0.5 0.5 -0.5 0.5 0.5 -0.5
0.5 0.5 0.5 0.5 0.5 0.5
UV COORDS: UV COORDS:
1 0 1 0
1 1 1 1
0 1 0 1
0 0 0 0
NORMALS: NORMALS:
0 1 0 0 1 0
0 1 0 0 1 0
0 1 0 0 1 0
0 1 0 0 1 0
----------------east quads: ----------------east quads:
1 1
TEX:PRINT TEX:PRINT
POSITION: POSITION:
0.5 -0.5 0.5 0.5 -0.5 0.5
0.5 0.5 0.5 0.5 0.5 0.5
0.5 0.5 -0.5 0.5 0.5 -0.5
0.5 -0.5 -0.5 0.5 -0.5 -0.5
UV COORDS: UV COORDS:
0 0 0 0
1 0 1 0
1 1 1 1
0 1 0 1
NORMALS: NORMALS:
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
----------------south quads: ----------------south quads:
1 1
TEX:PRINT TEX:PRINT
POSITION: POSITION:
0.5 -0.5 0.5 0.5 -0.5 0.5
0.5 -0.5 -0.5 0.5 -0.5 -0.5
-0.5 -0.5 -0.5 -0.5 -0.5 -0.5
-0.5 -0.5 0.5 -0.5 -0.5 0.5
UV COORDS: UV COORDS:
1 0 1 0
1 1 1 1
0 1 0 1
0 0 0 0
NORMALS: NORMALS:
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
----------------west quads: ----------------west quads:
1 1
TEX:PRINT TEX:PRINT
POSITION: POSITION:
-0.5 -0.5 -0.5 -0.5 -0.5 -0.5
-0.5 0.5 -0.5 -0.5 0.5 -0.5
-0.5 0.5 0.5 -0.5 0.5 0.5
-0.5 -0.5 0.5 -0.5 -0.5 0.5
UV COORDS: UV COORDS:
1 1 1 1
0 1 0 1
0 0 0 0
1 0 1 0
NORMALS: NORMALS:
-1 0 0 -1 0 0
-1 0 0 -1 0 0
-1 0 0 -1 0 0
-1 0 0 -1 0 0
----------------omni quads: ----------------omni quads:
0 0

View File

@ -1,403 +1,403 @@
1 1 1 1 1 1
SPECIAL SPECIAL
b b
1 1
0 0 0 0 0 0
1 1 1 1 1 1
COVERAGE: COVERAGE:
1 : 1 1 : 1
1 : 1 1 : 1
1 : 1 1 : 1
1 : 1 1 : 1
1 : 1 1 : 1
1 : 1 1 : 1
----------------top quads: ----------------top quads:
6 6
TEX:TOP TEX:TOP
POSITION: POSITION:
0.5 0.5 0.5 0.5 0.5 0.5
0.5 -0.5 0.5 0.5 -0.5 0.5
-0.5 -0.5 0.5 -0.5 -0.5 0.5
-0.5 0.5 0.5 -0.5 0.5 0.5
UV COORDS: UV COORDS:
1 0 1 0
1 1 1 1
0 1 0 1
0 0 0 0
NORMALS: NORMALS:
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.32 -0.32 0.875 -0.32 -0.32 0.875
0.32 -0.32 0.875 0.32 -0.32 0.875
0.4 -0.4 0.5 0.4 -0.4 0.5
-0.4 -0.4 0.5 -0.4 -0.4 0.5
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 -0.882353 0.470588 0 -0.882353 0.470588
0 -0.882353 0.470588 0 -0.882353 0.470588
0 -0.882353 0.470588 0 -0.882353 0.470588
0 -0.882353 0.470588 0 -0.882353 0.470588
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.32 -0.32 0.875 -0.32 -0.32 0.875
-0.32 0.32 0.875 -0.32 0.32 0.875
0.32 0.32 0.875 0.32 0.32 0.875
0.32 -0.32 0.875 0.32 -0.32 0.875
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.32 0.32 0.875 0.32 0.32 0.875
-0.32 0.32 0.875 -0.32 0.32 0.875
-0.4 0.4 0.5 -0.4 0.4 0.5
0.4 0.4 0.5 0.4 0.4 0.5
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 0.882353 0.470588 0 0.882353 0.470588
0 0.882353 0.470588 0 0.882353 0.470588
0 0.882353 0.470588 0 0.882353 0.470588
0 0.882353 0.470588 0 0.882353 0.470588
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.32 0.32 0.875 -0.32 0.32 0.875
-0.32 -0.32 0.875 -0.32 -0.32 0.875
-0.4 -0.4 0.5 -0.4 -0.4 0.5
-0.4 0.4 0.5 -0.4 0.4 0.5
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
-0.882353 0 0.470588 -0.882353 0 0.470588
-0.882353 0 0.470588 -0.882353 0 0.470588
-0.882353 0 0.470588 -0.882353 0 0.470588
-0.882353 0 0.470588 -0.882353 0 0.470588
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.32 -0.32 0.875 0.32 -0.32 0.875
0.32 0.32 0.875 0.32 0.32 0.875
0.4 0.4 0.5 0.4 0.4 0.5
0.4 -0.4 0.5 0.4 -0.4 0.5
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0.882353 0 0.470588 0.882353 0 0.470588
0.882353 0 0.470588 0.882353 0 0.470588
0.882353 0 0.470588 0.882353 0 0.470588
0.882353 0 0.470588 0.882353 0 0.470588
----------------bottom quads: ----------------bottom quads:
9 9
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
-0.5 -0.5 -0.5 -0.5 -0.5 -0.5
0.5 -0.5 -0.5 0.5 -0.5 -0.5
0 0 -0.5 0 0 -0.5
0 0 -0.5 0 0 -0.5
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
0.5 0.5 -0.5 0.5 0.5 -0.5
-0.5 0.5 -0.5 -0.5 0.5 -0.5
0 0 -0.5 0 0 -0.5
0 0 -0.5 0 0 -0.5
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
0.5 -0.5 -0.5 0.5 -0.5 -0.5
0.5 0.5 -0.5 0.5 0.5 -0.5
0 0 -0.5 0 0 -0.5
0 0 -0.5 0 0 -0.5
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
-0.5 0.5 -0.5 -0.5 0.5 -0.5
-0.5 -0.5 -0.5 -0.5 -0.5 -0.5
0 0 -0.5 0 0 -0.5
0 0 -0.5 0 0 -0.5
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.4 -0.4 -0.75 0.4 -0.4 -0.75
-0.4 -0.4 -0.75 -0.4 -0.4 -0.75
-0.4 -0.4 -0.5 -0.4 -0.4 -0.5
0.4 -0.4 -0.5 0.4 -0.4 -0.5
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.4 -0.4 -0.75 0.4 -0.4 -0.75
0.4 0.4 -0.75 0.4 0.4 -0.75
-0.4 0.4 -0.75 -0.4 0.4 -0.75
-0.4 -0.4 -0.75 -0.4 -0.4 -0.75
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.4 0.4 -0.75 -0.4 0.4 -0.75
0.4 0.4 -0.75 0.4 0.4 -0.75
0.4 0.4 -0.5 0.4 0.4 -0.5
-0.4 0.4 -0.5 -0.4 0.4 -0.5
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 1 0 0 1 0
0 1 0 0 1 0
0 1 0 0 1 0
0 1 0 0 1 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.4 0.4 -0.75 0.4 0.4 -0.75
0.4 -0.4 -0.75 0.4 -0.4 -0.75
0.4 -0.4 -0.5 0.4 -0.4 -0.5
0.4 0.4 -0.5 0.4 0.4 -0.5
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.4 -0.4 -0.75 -0.4 -0.4 -0.75
-0.4 0.4 -0.75 -0.4 0.4 -0.75
-0.4 0.4 -0.5 -0.4 0.4 -0.5
-0.4 -0.4 -0.5 -0.4 -0.4 -0.5
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
-1 0 -0 -1 0 -0
-1 0 -0 -1 0 -0
-1 0 -0 -1 0 -0
-1 0 -0 -1 0 -0
----------------north quads: ----------------north quads:
1 1
TEX:PRINT TEX:PRINT
POSITION: POSITION:
-0.5 0.5 0.5 -0.5 0.5 0.5
-0.5 0.5 -0.5 -0.5 0.5 -0.5
0.5 0.5 -0.5 0.5 0.5 -0.5
0.5 0.5 0.5 0.5 0.5 0.5
UV COORDS: UV COORDS:
1 0 1 0
1 1 1 1
0 1 0 1
0 0 0 0
NORMALS: NORMALS:
0 1 0 0 1 0
0 1 0 0 1 0
0 1 0 0 1 0
0 1 0 0 1 0
----------------east quads: ----------------east quads:
1 1
TEX:PRINT TEX:PRINT
POSITION: POSITION:
0.5 -0.5 0.5 0.5 -0.5 0.5
0.5 0.5 0.5 0.5 0.5 0.5
0.5 0.5 -0.5 0.5 0.5 -0.5
0.5 -0.5 -0.5 0.5 -0.5 -0.5
UV COORDS: UV COORDS:
0 0 0 0
1 0 1 0
1 1 1 1
0 1 0 1
NORMALS: NORMALS:
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
----------------south quads: ----------------south quads:
1 1
TEX:PRINT TEX:PRINT
POSITION: POSITION:
0.5 -0.5 0.5 0.5 -0.5 0.5
0.5 -0.5 -0.5 0.5 -0.5 -0.5
-0.5 -0.5 -0.5 -0.5 -0.5 -0.5
-0.5 -0.5 0.5 -0.5 -0.5 0.5
UV COORDS: UV COORDS:
1 0 1 0
1 1 1 1
0 1 0 1
0 0 0 0
NORMALS: NORMALS:
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
----------------west quads: ----------------west quads:
1 1
TEX:PRINT TEX:PRINT
POSITION: POSITION:
-0.5 -0.5 -0.5 -0.5 -0.5 -0.5
-0.5 0.5 -0.5 -0.5 0.5 -0.5
-0.5 0.5 0.5 -0.5 0.5 0.5
-0.5 -0.5 0.5 -0.5 -0.5 0.5
UV COORDS: UV COORDS:
1 1 1 1
0 1 0 1
0 0 0 0
1 0 1 0
NORMALS: NORMALS:
-1 0 0 -1 0 0
-1 0 0 -1 0 0
-1 0 0 -1 0 0
-1 0 0 -1 0 0
----------------omni quads: ----------------omni quads:
0 0

View File

@ -1,403 +1,403 @@
1 1 1 1 1 1
SPECIAL SPECIAL
b b
1 1
0 0 0 0 0 0
1 1 1 1 1 1
COVERAGE: COVERAGE:
1 : 1 1 : 1
1 : 1 1 : 1
1 : 1 1 : 1
1 : 1 1 : 1
1 : 1 1 : 1
1 : 1 1 : 1
----------------top quads: ----------------top quads:
1 1
TEX:PRINT TEX:PRINT
POSITION: POSITION:
0.5 0.5 0.5 0.5 0.5 0.5
0.5 -0.5 0.5 0.5 -0.5 0.5
-0.5 -0.5 0.5 -0.5 -0.5 0.5
-0.5 0.5 0.5 -0.5 0.5 0.5
UV COORDS: UV COORDS:
0 1 0 1
0 0 0 0
1 0 1 0
1 1 1 1
NORMALS: NORMALS:
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
----------------bottom quads: ----------------bottom quads:
4 4
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
-0.5 -0.5 -0.5 -0.5 -0.5 -0.5
0.5 -0.5 -0.5 0.5 -0.5 -0.5
0 0 -0.5 0 0 -0.5
0 0 -0.5 0 0 -0.5
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
0.5 0.5 -0.5 0.5 0.5 -0.5
-0.5 0.5 -0.5 -0.5 0.5 -0.5
0 0 -0.5 0 0 -0.5
0 0 -0.5 0 0 -0.5
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
0.5 -0.5 -0.5 0.5 -0.5 -0.5
0.5 0.5 -0.5 0.5 0.5 -0.5
0 0 -0.5 0 0 -0.5
0 0 -0.5 0 0 -0.5
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
-0.5 0.5 -0.5 -0.5 0.5 -0.5
-0.5 -0.5 -0.5 -0.5 -0.5 -0.5
0 0 -0.5 0 0 -0.5
0 0 -0.5 0 0 -0.5
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
----------------north quads: ----------------north quads:
1 1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.5 0.5 0.5 -0.5 0.5 0.5
-0.5 0.5 -0.5 -0.5 0.5 -0.5
0.5 0.5 -0.5 0.5 0.5 -0.5
0.5 0.5 0.5 0.5 0.5 0.5
UV COORDS: UV COORDS:
1.02148 -0.0859375 1.02148 -0.0859375
1.02148 1.08594 1.02148 1.08594
-0.0214844 1.08594 -0.0214844 1.08594
-0.0214844 -0.0859375 -0.0214844 -0.0859375
NORMALS: NORMALS:
0 1 0 0 1 0
0 1 0 0 1 0
0 1 0 0 1 0
0 1 0 0 1 0
----------------east quads: ----------------east quads:
6 6
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.5 -0.5 0.5 0.5 -0.5 0.5
0.5 0.5 0.5 0.5 0.5 0.5
0.5 0.5 -0.5 0.5 0.5 -0.5
0.5 -0.5 -0.5 0.5 -0.5 -0.5
UV COORDS: UV COORDS:
-0.0214844 -0.0859375 -0.0214844 -0.0859375
1.02148 -0.0859375 1.02148 -0.0859375
1.02148 1.08594 1.02148 1.08594
-0.0214844 1.08594 -0.0214844 1.08594
NORMALS: NORMALS:
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.75 -0.32 -0.24 0.75 -0.32 -0.24
0.75 0.32 -0.24 0.75 0.32 -0.24
0.5 0.4 -0.3 0.5 0.4 -0.3
0.5 -0.4 -0.3 0.5 -0.4 -0.3
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0.095561 0 -0.995424 0.095561 0 -0.995424
0.095561 0 -0.995424 0.095561 0 -0.995424
0.095561 0 -0.995424 0.095561 0 -0.995424
0.095561 0 -0.995424 0.095561 0 -0.995424
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.75 -0.32 -0.24 0.75 -0.32 -0.24
0.75 -0.32 0.24 0.75 -0.32 0.24
0.75 0.32 0.24 0.75 0.32 0.24
0.75 0.32 -0.24 0.75 0.32 -0.24
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.75 0.32 0.24 0.75 0.32 0.24
0.75 -0.32 0.24 0.75 -0.32 0.24
0.5 -0.4 0.3 0.5 -0.4 0.3
0.5 0.4 0.3 0.5 0.4 0.3
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0.095561 0 0.995424 0.095561 0 0.995424
0.095561 0 0.995424 0.095561 0 0.995424
0.095561 0 0.995424 0.095561 0 0.995424
0.095561 0 0.995424 0.095561 0 0.995424
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.75 0.32 -0.24 0.75 0.32 -0.24
0.75 0.32 0.24 0.75 0.32 0.24
0.5 0.4 0.3 0.5 0.4 0.3
0.5 0.4 -0.3 0.5 0.4 -0.3
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0.304776 0.952424 0 0.304776 0.952424 0
0.304776 0.952424 0 0.304776 0.952424 0
0.304776 0.952424 0 0.304776 0.952424 0
0.304776 0.952424 0 0.304776 0.952424 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.75 -0.32 0.24 0.75 -0.32 0.24
0.75 -0.32 -0.24 0.75 -0.32 -0.24
0.5 -0.4 -0.3 0.5 -0.4 -0.3
0.5 -0.4 0.3 0.5 -0.4 0.3
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0.304776 -0.952424 0 0.304776 -0.952424 0
0.304776 -0.952424 0 0.304776 -0.952424 0
0.304776 -0.952424 0 0.304776 -0.952424 0
0.304776 -0.952424 0 0.304776 -0.952424 0
----------------south quads: ----------------south quads:
1 1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.5 -0.5 0.5 0.5 -0.5 0.5
0.5 -0.5 -0.5 0.5 -0.5 -0.5
-0.5 -0.5 -0.5 -0.5 -0.5 -0.5
-0.5 -0.5 0.5 -0.5 -0.5 0.5
UV COORDS: UV COORDS:
1.02148 -0.0859375 1.02148 -0.0859375
1.02148 1.08594 1.02148 1.08594
-0.0214844 1.08594 -0.0214844 1.08594
-0.0214844 -0.0859375 -0.0214844 -0.0859375
NORMALS: NORMALS:
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
----------------west quads: ----------------west quads:
6 6
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.5 -0.5 -0.5 -0.5 -0.5 -0.5
-0.5 0.5 -0.5 -0.5 0.5 -0.5
-0.5 0.5 0.5 -0.5 0.5 0.5
-0.5 -0.5 0.5 -0.5 -0.5 0.5
UV COORDS: UV COORDS:
1.02148 1.08594 1.02148 1.08594
-0.0214844 1.08594 -0.0214844 1.08594
-0.0214844 -0.0859375 -0.0214844 -0.0859375
1.02148 -0.0859375 1.02148 -0.0859375
NORMALS: NORMALS:
-1 0 0 -1 0 0
-1 0 0 -1 0 0
-1 0 0 -1 0 0
-1 0 0 -1 0 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.64 0.4 -0.3 -0.64 0.4 -0.3
-0.64 -0.4 -0.3 -0.64 -0.4 -0.3
-0.5 -0.4 -0.3 -0.5 -0.4 -0.3
-0.5 0.4 -0.3 -0.5 0.4 -0.3
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.64 0.4 -0.3 -0.64 0.4 -0.3
-0.64 0.4 0.3 -0.64 0.4 0.3
-0.64 -0.4 0.3 -0.64 -0.4 0.3
-0.64 -0.4 -0.3 -0.64 -0.4 -0.3
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
-1 0 0 -1 0 0
-1 0 0 -1 0 0
-1 0 0 -1 0 0
-1 0 0 -1 0 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.64 -0.4 0.3 -0.64 -0.4 0.3
-0.64 0.4 0.3 -0.64 0.4 0.3
-0.5 0.4 0.3 -0.5 0.4 0.3
-0.5 -0.4 0.3 -0.5 -0.4 0.3
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.64 -0.4 -0.3 -0.64 -0.4 -0.3
-0.64 -0.4 0.3 -0.64 -0.4 0.3
-0.5 -0.4 0.3 -0.5 -0.4 0.3
-0.5 -0.4 -0.3 -0.5 -0.4 -0.3
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.64 0.4 0.3 -0.64 0.4 0.3
-0.64 0.4 -0.3 -0.64 0.4 -0.3
-0.5 0.4 -0.3 -0.5 0.4 -0.3
-0.5 0.4 0.3 -0.5 0.4 0.3
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
-0 1 0 -0 1 0
-0 1 0 -0 1 0
-0 1 0 -0 1 0
-0 1 0 -0 1 0
----------------omni quads: ----------------omni quads:
0 0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,294 +1,294 @@
1 1 2 1 1 2
SPECIAL SPECIAL
u u
d d
1 1
0 0 0 0 0 0
1 1 2 1 1 2
COVERAGE: COVERAGE:
1 : 1 1 : 1
1 : 1 1 : 1
1 : 2 1 : 2
1 : 2 1 : 2
1 : 2 1 : 2
1 : 2 1 : 2
----------------top quads: ----------------top quads:
1 1
TEX:TOP TEX:TOP
POSITION: POSITION:
0.5 0.5 1 0.5 0.5 1
0.5 -0.5 1 0.5 -0.5 1
-0.5 -0.5 1 -0.5 -0.5 1
-0.5 0.5 1 -0.5 0.5 1
UV COORDS: UV COORDS:
0 1 0 1
0 0 0 0
1 0 1 0
1 1 1 1
NORMALS: NORMALS:
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
----------------bottom quads: ----------------bottom quads:
4 4
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
-0.5 -0.5 -1 -0.5 -0.5 -1
0.5 -0.5 -1 0.5 -0.5 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
0.5 0.5 -1 0.5 0.5 -1
-0.5 0.5 -1 -0.5 0.5 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
0.5 -0.5 -1 0.5 -0.5 -1
0.5 0.5 -1 0.5 0.5 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
-0.5 0.5 -1 -0.5 0.5 -1
-0.5 -0.5 -1 -0.5 -0.5 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
----------------north quads: ----------------north quads:
1 1
TEX:PRINT TEX:PRINT
POSITION: POSITION:
-0.5 0.5 1 -0.5 0.5 1
-0.5 0.5 -1 -0.5 0.5 -1
0.5 0.5 -1 0.5 0.5 -1
0.5 0.5 1 0.5 0.5 1
UV COORDS: UV COORDS:
1 0 1 0
1 1 1 1
0 1 0 1
0 0 0 0
NORMALS: NORMALS:
0 1 0 0 1 0
0 1 0 0 1 0
0 1 0 0 1 0
0 1 0 0 1 0
----------------east quads: ----------------east quads:
1 1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.5 -0.5 1 0.5 -0.5 1
0.5 0.5 1 0.5 0.5 1
0.5 0.5 -1 0.5 0.5 -1
0.5 -0.5 -1 0.5 -0.5 -1
UV COORDS: UV COORDS:
-0.0214844 -0.0322266 -0.0214844 -0.0322266
1.02148 -0.0322266 1.02148 -0.0322266
1.02148 1.03223 1.02148 1.03223
-0.0214844 1.03223 -0.0214844 1.03223
NORMALS: NORMALS:
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
----------------south quads: ----------------south quads:
6 6
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.5 -0.5 1 0.5 -0.5 1
0.5 -0.5 -1 0.5 -0.5 -1
-0.5 -0.5 -1 -0.5 -0.5 -1
-0.5 -0.5 1 -0.5 -0.5 1
UV COORDS: UV COORDS:
1.02148 -0.0322266 1.02148 -0.0322266
1.02148 1.03223 1.02148 1.03223
-0.0214844 1.03223 -0.0214844 1.03223
-0.0214844 -0.0322266 -0.0214844 -0.0322266
NORMALS: NORMALS:
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.4 -0.64 -0.8 -0.4 -0.64 -0.8
0.4 -0.64 -0.8 0.4 -0.64 -0.8
0.4 -0.5 -0.8 0.4 -0.5 -0.8
-0.4 -0.5 -0.8 -0.4 -0.5 -0.8
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.4 -0.64 -0.8 -0.4 -0.64 -0.8
-0.4 -0.64 -0.2 -0.4 -0.64 -0.2
0.4 -0.64 -0.2 0.4 -0.64 -0.2
0.4 -0.64 -0.8 0.4 -0.64 -0.8
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.4 -0.64 -0.2 0.4 -0.64 -0.2
-0.4 -0.64 -0.2 -0.4 -0.64 -0.2
-0.4 -0.5 -0.2 -0.4 -0.5 -0.2
0.4 -0.5 -0.2 0.4 -0.5 -0.2
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.4 -0.64 -0.8 0.4 -0.64 -0.8
0.4 -0.64 -0.2 0.4 -0.64 -0.2
0.4 -0.5 -0.2 0.4 -0.5 -0.2
0.4 -0.5 -0.8 0.4 -0.5 -0.8
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.4 -0.64 -0.2 -0.4 -0.64 -0.2
-0.4 -0.64 -0.8 -0.4 -0.64 -0.8
-0.4 -0.5 -0.8 -0.4 -0.5 -0.8
-0.4 -0.5 -0.2 -0.4 -0.5 -0.2
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
-1 0 0 -1 0 0
-1 0 0 -1 0 0
-1 0 0 -1 0 0
-1 0 0 -1 0 0
----------------west quads: ----------------west quads:
1 1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.5 -0.5 -1 -0.5 -0.5 -1
-0.5 0.5 -1 -0.5 0.5 -1
-0.5 0.5 1 -0.5 0.5 1
-0.5 -0.5 1 -0.5 -0.5 1
UV COORDS: UV COORDS:
1.02148 1.03223 1.02148 1.03223
-0.0214844 1.03223 -0.0214844 1.03223
-0.0214844 -0.0322266 -0.0214844 -0.0322266
1.02148 -0.0322266 1.02148 -0.0322266
NORMALS: NORMALS:
-1 0 0 -1 0 0
-1 0 0 -1 0 0
-1 0 0 -1 0 0
-1 0 0 -1 0 0
----------------omni quads: ----------------omni quads:
0 0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,405 +1,405 @@
1 2 1 1 2 1
SPECIAL SPECIAL
b b
b b
1 1
0 0 0 0 0 0
1 2 1 1 2 1
COVERAGE: COVERAGE:
1 : 2 1 : 2
1 : 2 1 : 2
1 : 1 1 : 1
1 : 2 1 : 2
1 : 1 1 : 1
1 : 2 1 : 2
----------------top quads: ----------------top quads:
1 1
TEX:PRINT TEX:PRINT
POSITION: POSITION:
0.5 1 0.5 0.5 1 0.5
0.5 -1 0.5 0.5 -1 0.5
-0.5 -1 0.5 -0.5 -1 0.5
-0.5 1 0.5 -0.5 1 0.5
UV COORDS: UV COORDS:
1 0 1 0
1 1 1 1
0 1 0 1
0 0 0 0
NORMALS: NORMALS:
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
0 0 1 0 0 1
----------------bottom quads: ----------------bottom quads:
4 4
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
-0.5 -1 -0.5 -0.5 -1 -0.5
0.5 -1 -0.5 0.5 -1 -0.5
0 -0.5 -0.5 0 -0.5 -0.5
0 -0.5 -0.5 0 -0.5 -0.5
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
0.5 1 -0.5 0.5 1 -0.5
-0.5 1 -0.5 -0.5 1 -0.5
0 0.5 -0.5 0 0.5 -0.5
0 0.5 -0.5 0 0.5 -0.5
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
0.5 0 0.5 0
0 0.5 0 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
0.5 -1 -0.5 0.5 -1 -0.5
0.5 1 -0.5 0.5 1 -0.5
0 0.5 -0.5 0 0.5 -0.5
0 -0.5 -0.5 0 -0.5 -0.5
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
1.5 0 1.5 0
1 0.5 1 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
TEX:BOTTOMEDGE TEX:BOTTOMEDGE
POSITION: POSITION:
-0.5 1 -0.5 -0.5 1 -0.5
-0.5 -1 -0.5 -0.5 -1 -0.5
0 -0.5 -0.5 0 -0.5 -0.5
0 0.5 -0.5 0 0.5 -0.5
UV COORDS: UV COORDS:
-0.5 0 -0.5 0
1.5 0 1.5 0
1 0.5 1 0.5
0 0.5 0 0.5
NORMALS: NORMALS:
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
0 0 -1 0 0 -1
----------------north quads: ----------------north quads:
6 6
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.5 1 0.5 -0.5 1 0.5
-0.5 1 -0.5 -0.5 1 -0.5
0.5 1 -0.5 0.5 1 -0.5
0.5 1 0.5 0.5 1 0.5
UV COORDS: UV COORDS:
1.02148 -0.0859375 1.02148 -0.0859375
1.02148 1.08594 1.02148 1.08594
-0.0214844 1.08594 -0.0214844 1.08594
-0.0214844 -0.0859375 -0.0214844 -0.0859375
NORMALS: NORMALS:
0 1 0 0 1 0
0 1 0 0 1 0
0 1 0 0 1 0
0 1 0 0 1 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.32 1.25 -0.24 0.32 1.25 -0.24
-0.32 1.25 -0.24 -0.32 1.25 -0.24
-0.4 1 -0.3 -0.4 1 -0.3
0.4 1 -0.3 0.4 1 -0.3
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
-0 0.095561 -0.995424 -0 0.095561 -0.995424
-0 0.095561 -0.995424 -0 0.095561 -0.995424
-0 0.095561 -0.995424 -0 0.095561 -0.995424
-0 0.095561 -0.995424 -0 0.095561 -0.995424
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.32 1.25 -0.24 0.32 1.25 -0.24
0.32 1.25 0.24 0.32 1.25 0.24
-0.32 1.25 0.24 -0.32 1.25 0.24
-0.32 1.25 -0.24 -0.32 1.25 -0.24
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 1 0 0 1 0
0 1 0 0 1 0
0 1 0 0 1 0
0 1 0 0 1 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.32 1.25 0.24 -0.32 1.25 0.24
0.32 1.25 0.24 0.32 1.25 0.24
0.4 1 0.3 0.4 1 0.3
-0.4 1 0.3 -0.4 1 0.3
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
-0 0.095561 0.995424 -0 0.095561 0.995424
-0 0.095561 0.995424 -0 0.095561 0.995424
-0 0.095561 0.995424 -0 0.095561 0.995424
-0 0.095561 0.995424 -0 0.095561 0.995424
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.32 1.25 -0.24 -0.32 1.25 -0.24
-0.32 1.25 0.24 -0.32 1.25 0.24
-0.4 1 0.3 -0.4 1 0.3
-0.4 1 -0.3 -0.4 1 -0.3
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
-0.952424 0.304776 0 -0.952424 0.304776 0
-0.952424 0.304776 0 -0.952424 0.304776 0
-0.952424 0.304776 0 -0.952424 0.304776 0
-0.952424 0.304776 0 -0.952424 0.304776 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.32 1.25 0.24 0.32 1.25 0.24
0.32 1.25 -0.24 0.32 1.25 -0.24
0.4 1 -0.3 0.4 1 -0.3
0.4 1 0.3 0.4 1 0.3
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0.952424 0.304776 0 0.952424 0.304776 0
0.952424 0.304776 0 0.952424 0.304776 0
0.952424 0.304776 0 0.952424 0.304776 0
0.952424 0.304776 0 0.952424 0.304776 0
----------------east quads: ----------------east quads:
1 1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.5 -1 0.5 0.5 -1 0.5
0.5 1 0.5 0.5 1 0.5
0.5 1 -0.5 0.5 1 -0.5
0.5 -1 -0.5 0.5 -1 -0.5
UV COORDS: UV COORDS:
0 -0.0859375 0 -0.0859375
1 -0.0859375 1 -0.0859375
1 1.08594 1 1.08594
0 1.08594 0 1.08594
NORMALS: NORMALS:
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
1 0 0 1 0 0
----------------south quads: ----------------south quads:
6 6
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.5 -1 0.5 0.5 -1 0.5
0.5 -1 -0.5 0.5 -1 -0.5
-0.5 -1 -0.5 -0.5 -1 -0.5
-0.5 -1 0.5 -0.5 -1 0.5
UV COORDS: UV COORDS:
1.02148 -0.0859375 1.02148 -0.0859375
1.02148 1.08594 1.02148 1.08594
-0.0214844 1.08594 -0.0214844 1.08594
-0.0214844 -0.0859375 -0.0214844 -0.0859375
NORMALS: NORMALS:
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.32 -1.25 -0.24 -0.32 -1.25 -0.24
0.32 -1.25 -0.24 0.32 -1.25 -0.24
0.4 -1 -0.3 0.4 -1 -0.3
-0.4 -1 -0.3 -0.4 -1 -0.3
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 -0.095561 -0.995424 0 -0.095561 -0.995424
0 -0.095561 -0.995424 0 -0.095561 -0.995424
0 -0.095561 -0.995424 0 -0.095561 -0.995424
0 -0.095561 -0.995424 0 -0.095561 -0.995424
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.32 -1.25 -0.24 -0.32 -1.25 -0.24
-0.32 -1.25 0.24 -0.32 -1.25 0.24
0.32 -1.25 0.24 0.32 -1.25 0.24
0.32 -1.25 -0.24 0.32 -1.25 -0.24
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
0 -1 0 0 -1 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.32 -1.25 0.24 0.32 -1.25 0.24
-0.32 -1.25 0.24 -0.32 -1.25 0.24
-0.4 -1 0.3 -0.4 -1 0.3
0.4 -1 0.3 0.4 -1 0.3
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0 -0.095561 0.995424 0 -0.095561 0.995424
0 -0.095561 0.995424 0 -0.095561 0.995424
0 -0.095561 0.995424 0 -0.095561 0.995424
0 -0.095561 0.995424 0 -0.095561 0.995424
TEX:SIDE TEX:SIDE
POSITION: POSITION:
0.32 -1.25 -0.24 0.32 -1.25 -0.24
0.32 -1.25 0.24 0.32 -1.25 0.24
0.4 -1 0.3 0.4 -1 0.3
0.4 -1 -0.3 0.4 -1 -0.3
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
0.952424 -0.304776 0 0.952424 -0.304776 0
0.952424 -0.304776 0 0.952424 -0.304776 0
0.952424 -0.304776 0 0.952424 -0.304776 0
0.952424 -0.304776 0 0.952424 -0.304776 0
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.32 -1.25 0.24 -0.32 -1.25 0.24
-0.32 -1.25 -0.24 -0.32 -1.25 -0.24
-0.4 -1 -0.3 -0.4 -1 -0.3
-0.4 -1 0.3 -0.4 -1 0.3
UV COORDS: UV COORDS:
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
COLORS: COLORS:
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
NORMALS: NORMALS:
-0.952424 -0.304775 0 -0.952424 -0.304775 0
-0.952424 -0.304775 0 -0.952424 -0.304775 0
-0.952424 -0.304775 0 -0.952424 -0.304775 0
-0.952424 -0.304775 0 -0.952424 -0.304775 0
----------------west quads: ----------------west quads:
1 1
TEX:SIDE TEX:SIDE
POSITION: POSITION:
-0.5 -1 -0.5 -0.5 -1 -0.5
-0.5 1 -0.5 -0.5 1 -0.5
-0.5 1 0.5 -0.5 1 0.5
-0.5 -1 0.5 -0.5 -1 0.5
UV COORDS: UV COORDS:
1 1.08594 1 1.08594
0 1.08594 0 1.08594
0 -0.0859375 0 -0.0859375
1 -0.0859375 1 -0.0859375
NORMALS: NORMALS:
-1 0 0 -1 0 0
-1 0 0 -1 0 0
-1 0 0 -1 0 0
-1 0 0 -1 0 0
----------------omni quads: ----------------omni quads:
0 0

View File

@ -1,2 +1,2 @@
1 11 1 1 11 1
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 13 1 1 13 1
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 14 1 1 14 1
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 15 1 1 15 1
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 1 10 1 1 10
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 1 11 1 1 11
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 1 12 1 1 12
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 1 128 1 1 128
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 1 13 1 1 13
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 1 14 1 1 14
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 1 16 1 1 16
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 1 17 1 1 17
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 1 2 1 1 2
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 1 4 1 1 4
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 1 5 1 1 5
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 1 6 1 1 6
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 1 7 1 1 7
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 1 8 1 1 8
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 1 9 1 1 9
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 2 5 1 2 5
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 32 1 1 32 1
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 5 1 1 5 1
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 64 1 1 64 1
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 7 1 1 7 1
BRICK BRICK

View File

@ -1,2 +1,2 @@
1 9 1 1 9 1
BRICK BRICK

View File

@ -1,120 +1,120 @@
datablock fxDTSBrickData(LogicGate_8BitDFlipFlop_Data) datablock fxDTSBrickData(LogicGate_8BitDFlipFlop_Data)
{ {
brickFile = $LuaLogic::Path @ "bricks/blb/1x8f_8i_8o_p.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/1x8f_8i_8o_p.blb";
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Bus"; subCategory = "Bus";
uiName = "8 Bit D FlipFlop"; uiName = "8 Bit D FlipFlop";
iconName = $LuaLogic::Path @ "icons/8 Bit D FlipFlop"; iconName = $LuaLogic::Path @ "icons/8 Bit D FlipFlop";
hasPrint = 1; hasPrint = 1;
printAspectRatio = "Logic"; printAspectRatio = "Logic";
orientationFix = 3; orientationFix = 3;
isLogic = true; isLogic = true;
isLogicGate = true; isLogicGate = true;
isLogicInput = false; isLogicInput = false;
logicUIName = "8 Bit D FlipFlop"; logicUIName = "8 Bit D FlipFlop";
logicUIDesc = "8 bit d flipflop with clock propagate"; logicUIDesc = "8 bit d flipflop with clock propagate";
logicUpdate = logicUpdate =
"return function(gate) if gate.ports[9]:isrising() then " @ "return function(gate) if gate.ports[9]:isrising() then " @
" for i = 1, 8 do " @ " for i = 1, 8 do " @
" gate.ports[i+10]:setstate(gate.ports[i].state) " @ " gate.ports[i+10]:setstate(gate.ports[i].state) " @
" end " @ " end " @
"end " @ "end " @
"gate.ports[10]:setstate(gate.ports[9].state) end"; "gate.ports[10]:setstate(gate.ports[9].state) end";
numLogicPorts = 18; numLogicPorts = 18;
logicPortType[0] = 1; logicPortType[0] = 1;
logicPortPos[0] = "-7 0 0"; logicPortPos[0] = "-7 0 0";
logicPortDir[0] = 3; logicPortDir[0] = 3;
logicPortUIName[0] = "D7"; logicPortUIName[0] = "D7";
logicPortType[1] = 1; logicPortType[1] = 1;
logicPortPos[1] = "-5 0 0"; logicPortPos[1] = "-5 0 0";
logicPortDir[1] = 3; logicPortDir[1] = 3;
logicPortUIName[1] = "D6"; logicPortUIName[1] = "D6";
logicPortType[2] = 1; logicPortType[2] = 1;
logicPortPos[2] = "-3 0 0"; logicPortPos[2] = "-3 0 0";
logicPortDir[2] = 3; logicPortDir[2] = 3;
logicPortUIName[2] = "D5"; logicPortUIName[2] = "D5";
logicPortType[3] = 1; logicPortType[3] = 1;
logicPortPos[3] = "-1 0 0"; logicPortPos[3] = "-1 0 0";
logicPortDir[3] = 3; logicPortDir[3] = 3;
logicPortUIName[3] = "D4"; logicPortUIName[3] = "D4";
logicPortType[4] = 1; logicPortType[4] = 1;
logicPortPos[4] = "1 0 0"; logicPortPos[4] = "1 0 0";
logicPortDir[4] = 3; logicPortDir[4] = 3;
logicPortUIName[4] = "D3"; logicPortUIName[4] = "D3";
logicPortType[5] = 1; logicPortType[5] = 1;
logicPortPos[5] = "3 0 0"; logicPortPos[5] = "3 0 0";
logicPortDir[5] = 3; logicPortDir[5] = 3;
logicPortUIName[5] = "D2"; logicPortUIName[5] = "D2";
logicPortType[6] = 1; logicPortType[6] = 1;
logicPortPos[6] = "5 0 0"; logicPortPos[6] = "5 0 0";
logicPortDir[6] = 3; logicPortDir[6] = 3;
logicPortUIName[6] = "D1"; logicPortUIName[6] = "D1";
logicPortType[7] = 1; logicPortType[7] = 1;
logicPortPos[7] = "7 0 0"; logicPortPos[7] = "7 0 0";
logicPortDir[7] = 3; logicPortDir[7] = 3;
logicPortUIName[7] = "D0"; logicPortUIName[7] = "D0";
logicPortType[8] = 1; logicPortType[8] = 1;
logicPortPos[8] = "7 0 0"; logicPortPos[8] = "7 0 0";
logicPortDir[8] = 2; logicPortDir[8] = 2;
logicPortCauseUpdate[8] = true; logicPortCauseUpdate[8] = true;
logicPortUIName[8] = "ClockIn"; logicPortUIName[8] = "ClockIn";
logicPortType[9] = 0; logicPortType[9] = 0;
logicPortPos[9] = "-7 0 0"; logicPortPos[9] = "-7 0 0";
logicPortDir[9] = 0; logicPortDir[9] = 0;
logicPortUIName[9] = "ClockOut"; logicPortUIName[9] = "ClockOut";
logicPortType[10] = 0; logicPortType[10] = 0;
logicPortPos[10] = "-7 0 0"; logicPortPos[10] = "-7 0 0";
logicPortDir[10] = 1; logicPortDir[10] = 1;
logicPortUIName[10] = "Q7"; logicPortUIName[10] = "Q7";
logicPortType[11] = 0; logicPortType[11] = 0;
logicPortPos[11] = "-5 0 0"; logicPortPos[11] = "-5 0 0";
logicPortDir[11] = 1; logicPortDir[11] = 1;
logicPortUIName[11] = "Q6"; logicPortUIName[11] = "Q6";
logicPortType[12] = 0; logicPortType[12] = 0;
logicPortPos[12] = "-3 0 0"; logicPortPos[12] = "-3 0 0";
logicPortDir[12] = 1; logicPortDir[12] = 1;
logicPortUIName[12] = "Q5"; logicPortUIName[12] = "Q5";
logicPortType[13] = 0; logicPortType[13] = 0;
logicPortPos[13] = "-1 0 0"; logicPortPos[13] = "-1 0 0";
logicPortDir[13] = 1; logicPortDir[13] = 1;
logicPortUIName[13] = "Q4"; logicPortUIName[13] = "Q4";
logicPortType[14] = 0; logicPortType[14] = 0;
logicPortPos[14] = "1 0 0"; logicPortPos[14] = "1 0 0";
logicPortDir[14] = 1; logicPortDir[14] = 1;
logicPortUIName[14] = "Q3"; logicPortUIName[14] = "Q3";
logicPortType[15] = 0; logicPortType[15] = 0;
logicPortPos[15] = "3 0 0"; logicPortPos[15] = "3 0 0";
logicPortDir[15] = 1; logicPortDir[15] = 1;
logicPortUIName[15] = "Q2"; logicPortUIName[15] = "Q2";
logicPortType[16] = 0; logicPortType[16] = 0;
logicPortPos[16] = "5 0 0"; logicPortPos[16] = "5 0 0";
logicPortDir[16] = 1; logicPortDir[16] = 1;
logicPortUIName[16] = "Q1"; logicPortUIName[16] = "Q1";
logicPortType[17] = 0; logicPortType[17] = 0;
logicPortPos[17] = "7 0 0"; logicPortPos[17] = "7 0 0";
logicPortDir[17] = 1; logicPortDir[17] = 1;
logicPortUIName[17] = "Q0"; logicPortUIName[17] = "Q0";
}; };
lualogic_registergatedefinition("LogicGate_8BitDFlipFlop_Data"); lualogic_registergatedefinition("LogicGate_8BitDFlipFlop_Data");

View File

@ -1,132 +1,132 @@
datablock fxDTSBrickData(LogicGate_8BitEnabler_Data) datablock fxDTSBrickData(LogicGate_8BitEnabler_Data)
{ {
brickFile = $LuaLogic::Path @ "bricks/blb/1x8f_8i_8o_p.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/1x8f_8i_8o_p.blb";
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Bus"; subCategory = "Bus";
uiName = "8 Bit Enabler"; uiName = "8 Bit Enabler";
iconName = $LuaLogic::Path @ "icons/8 Bit Enabler"; iconName = $LuaLogic::Path @ "icons/8 Bit Enabler";
hasPrint = 1; hasPrint = 1;
printAspectRatio = "Logic"; printAspectRatio = "Logic";
orientationFix = 3; orientationFix = 3;
isLogic = true; isLogic = true;
isLogicGate = true; isLogicGate = true;
isLogicInput = false; isLogicInput = false;
logicUIName = "8 Bit Enabler"; logicUIName = "8 Bit Enabler";
logicUIDesc = "8 bit enabler with enable propagate"; logicUIDesc = "8 bit enabler with enable propagate";
logicUpdate = "return function(gate) if gate.ports[9].state then " @ logicUpdate = "return function(gate) if gate.ports[9].state then " @
" for i = 1, 8 do " @ " for i = 1, 8 do " @
" gate.ports[i+10]:setstate(gate.ports[i].state) " @ " gate.ports[i+10]:setstate(gate.ports[i].state) " @
" end " @ " end " @
" gate.ports[10]:setstate(true) " @ " gate.ports[10]:setstate(true) " @
"elseif gate.ports[9]:isfalling() then" @ "elseif gate.ports[9]:isfalling() then" @
" for i = 1, 8 do " @ " for i = 1, 8 do " @
" gate.ports[i+10]:setstate(false) " @ " gate.ports[i+10]:setstate(false) " @
" end " @ " end " @
" gate.ports[10]:setstate(false) " @ " gate.ports[10]:setstate(false) " @
"end end"; "end end";
numLogicPorts = 18; numLogicPorts = 18;
logicPortType[0] = 1; logicPortType[0] = 1;
logicPortPos[0] = "-7 0 0"; logicPortPos[0] = "-7 0 0";
logicPortDir[0] = 3; logicPortDir[0] = 3;
logicPortCauseUpdate[0] = true; logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "D7"; logicPortUIName[0] = "D7";
logicPortType[1] = 1; logicPortType[1] = 1;
logicPortPos[1] = "-5 0 0"; logicPortPos[1] = "-5 0 0";
logicPortDir[1] = 3; logicPortDir[1] = 3;
logicPortCauseUpdate[1] = true; logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "D6"; logicPortUIName[1] = "D6";
logicPortType[2] = 1; logicPortType[2] = 1;
logicPortPos[2] = "-3 0 0"; logicPortPos[2] = "-3 0 0";
logicPortDir[2] = 3; logicPortDir[2] = 3;
logicPortCauseUpdate[2] = true; logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "D5"; logicPortUIName[2] = "D5";
logicPortType[3] = 1; logicPortType[3] = 1;
logicPortPos[3] = "-1 0 0"; logicPortPos[3] = "-1 0 0";
logicPortDir[3] = 3; logicPortDir[3] = 3;
logicPortCauseUpdate[3] = true; logicPortCauseUpdate[3] = true;
logicPortUIName[3] = "D4"; logicPortUIName[3] = "D4";
logicPortType[4] = 1; logicPortType[4] = 1;
logicPortPos[4] = "1 0 0"; logicPortPos[4] = "1 0 0";
logicPortDir[4] = 3; logicPortDir[4] = 3;
logicPortCauseUpdate[4] = true; logicPortCauseUpdate[4] = true;
logicPortUIName[4] = "D3"; logicPortUIName[4] = "D3";
logicPortType[5] = 1; logicPortType[5] = 1;
logicPortPos[5] = "3 0 0"; logicPortPos[5] = "3 0 0";
logicPortDir[5] = 3; logicPortDir[5] = 3;
logicPortCauseUpdate[5] = true; logicPortCauseUpdate[5] = true;
logicPortUIName[5] = "D2"; logicPortUIName[5] = "D2";
logicPortType[6] = 1; logicPortType[6] = 1;
logicPortPos[6] = "5 0 0"; logicPortPos[6] = "5 0 0";
logicPortDir[6] = 3; logicPortDir[6] = 3;
logicPortCauseUpdate[6] = true; logicPortCauseUpdate[6] = true;
logicPortUIName[6] = "D1"; logicPortUIName[6] = "D1";
logicPortType[7] = 1; logicPortType[7] = 1;
logicPortPos[7] = "7 0 0"; logicPortPos[7] = "7 0 0";
logicPortDir[7] = 3; logicPortDir[7] = 3;
logicPortCauseUpdate[7] = true; logicPortCauseUpdate[7] = true;
logicPortUIName[7] = "D0"; logicPortUIName[7] = "D0";
logicPortType[8] = 1; logicPortType[8] = 1;
logicPortPos[8] = "7 0 0"; logicPortPos[8] = "7 0 0";
logicPortDir[8] = 2; logicPortDir[8] = 2;
logicPortCauseUpdate[8] = true; logicPortCauseUpdate[8] = true;
logicPortUIName[8] = "EnableIn"; logicPortUIName[8] = "EnableIn";
logicPortType[9] = 0; logicPortType[9] = 0;
logicPortPos[9] = "-7 0 0"; logicPortPos[9] = "-7 0 0";
logicPortDir[9] = 0; logicPortDir[9] = 0;
logicPortUIName[9] = "EnableOut"; logicPortUIName[9] = "EnableOut";
logicPortType[10] = 0; logicPortType[10] = 0;
logicPortPos[10] = "-7 0 0"; logicPortPos[10] = "-7 0 0";
logicPortDir[10] = 1; logicPortDir[10] = 1;
logicPortUIName[10] = "Q7"; logicPortUIName[10] = "Q7";
logicPortType[11] = 0; logicPortType[11] = 0;
logicPortPos[11] = "-5 0 0"; logicPortPos[11] = "-5 0 0";
logicPortDir[11] = 1; logicPortDir[11] = 1;
logicPortUIName[11] = "Q6"; logicPortUIName[11] = "Q6";
logicPortType[12] = 0; logicPortType[12] = 0;
logicPortPos[12] = "-3 0 0"; logicPortPos[12] = "-3 0 0";
logicPortDir[12] = 1; logicPortDir[12] = 1;
logicPortUIName[12] = "Q5"; logicPortUIName[12] = "Q5";
logicPortType[13] = 0; logicPortType[13] = 0;
logicPortPos[13] = "-1 0 0"; logicPortPos[13] = "-1 0 0";
logicPortDir[13] = 1; logicPortDir[13] = 1;
logicPortUIName[13] = "Q4"; logicPortUIName[13] = "Q4";
logicPortType[14] = 0; logicPortType[14] = 0;
logicPortPos[14] = "1 0 0"; logicPortPos[14] = "1 0 0";
logicPortDir[14] = 1; logicPortDir[14] = 1;
logicPortUIName[14] = "Q3"; logicPortUIName[14] = "Q3";
logicPortType[15] = 0; logicPortType[15] = 0;
logicPortPos[15] = "3 0 0"; logicPortPos[15] = "3 0 0";
logicPortDir[15] = 1; logicPortDir[15] = 1;
logicPortUIName[15] = "Q2"; logicPortUIName[15] = "Q2";
logicPortType[16] = 0; logicPortType[16] = 0;
logicPortPos[16] = "5 0 0"; logicPortPos[16] = "5 0 0";
logicPortDir[16] = 1; logicPortDir[16] = 1;
logicPortUIName[16] = "Q1"; logicPortUIName[16] = "Q1";
logicPortType[17] = 0; logicPortType[17] = 0;
logicPortPos[17] = "7 0 0"; logicPortPos[17] = "7 0 0";
logicPortDir[17] = 1; logicPortDir[17] = 1;
logicPortUIName[17] = "Q0"; logicPortUIName[17] = "Q0";
}; };
lualogic_registergatedefinition("LogicGate_8BitEnabler_Data"); lualogic_registergatedefinition("LogicGate_8BitEnabler_Data");

View File

@ -1,9 +1,9 @@
datablock fxDTSBrickData(LogicGate_AND_Data : LogicGate_OR_Data) datablock fxDTSBrickData(LogicGate_AND_Data : LogicGate_OR_Data)
{ {
uiName = "1x2f AND"; uiName = "1x2f AND";
iconName = $LuaLogic::Path @ "icons/1x2f AND"; iconName = $LuaLogic::Path @ "icons/1x2f AND";
logicUIName = "AND"; logicUIName = "AND";
logicUIDesc = "C is true if A and B are true"; logicUIDesc = "C is true if A and B are true";
logicUpdate = "return function(gate) gate.ports[3]:setstate(gate.ports[1].state and gate.ports[2].state) end"; logicUpdate = "return function(gate) gate.ports[3]:setstate(gate.ports[1].state and gate.ports[2].state) end";
}; };
lualogic_registergatedefinition("LogicGate_AND_Data"); lualogic_registergatedefinition("LogicGate_AND_Data");

View File

@ -1,9 +1,9 @@
datablock fxDTSBrickData(LogicGate_NOR_Data : LogicGate_OR_Data) datablock fxDTSBrickData(LogicGate_NOR_Data : LogicGate_OR_Data)
{ {
uiName = "1x2f NOR"; uiName = "1x2f NOR";
iconName = $LuaLogic::Path @ "icons/1x2f NOR"; iconName = $LuaLogic::Path @ "icons/1x2f NOR";
logicUIName = "NOR"; logicUIName = "NOR";
logicUIDesc = "C is false if A or B are true"; logicUIDesc = "C is false if A or B are true";
logicUpdate = "return function(gate) gate.ports[3]:setstate(not (gate.ports[1].state or gate.ports[2].state)) end"; logicUpdate = "return function(gate) gate.ports[3]:setstate(not (gate.ports[1].state or gate.ports[2].state)) end";
}; };
lualogic_registergatedefinition("LogicGate_NOR_Data"); lualogic_registergatedefinition("LogicGate_NOR_Data");

View File

@ -1,24 +1,24 @@
datablock fxDTSBrickData(LogicGate_NOT_Data : LogicGate_Diode_Data) datablock fxDTSBrickData(LogicGate_NOT_Data : LogicGate_Diode_Data)
{ {
uiName = "1x1f NOT"; uiName = "1x1f NOT";
iconName = $LuaLogic::Path @ "icons/1x1f NOT"; iconName = $LuaLogic::Path @ "icons/1x1f NOT";
logicUIName = "NOT"; logicUIName = "NOT";
logicUIDesc = "B is the opposite of A"; logicUIDesc = "B is the opposite of A";
logicUpdate = "return function(gate) gate.ports[2]:setstate(not gate.ports[1].state) end"; logicUpdate = "return function(gate) gate.ports[2]:setstate(not gate.ports[1].state) end";
numLogicPorts = 2; numLogicPorts = 2;
}; };
lualogic_registergatedefinition("LogicGate_NOT_Data"); lualogic_registergatedefinition("LogicGate_NOT_Data");
function LogicGate_NOT_Data::onPlant(%this, %obj) function LogicGate_NOT_Data::onPlant(%this, %obj)
{ {
if(lualogic_iscolor("RED")) if(lualogic_iscolor("RED"))
%obj.setColor(lualogic_getcolor("RED")); %obj.setColor(lualogic_getcolor("RED"));
if(lualogic_isprint("ARROW")) if(lualogic_isprint("ARROW"))
%obj.setPrint(lualogic_getprint("ARROW")); %obj.setPrint(lualogic_getprint("ARROW"));
parent::onPlant(%this, %obj); parent::onPlant(%this, %obj);
} }

View File

@ -1,37 +1,37 @@
datablock fxDTSBrickData(LogicGate_OR_Data) datablock fxDTSBrickData(LogicGate_OR_Data)
{ {
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Gates"; subCategory = "Gates";
uiName = "1x2f OR"; uiName = "1x2f OR";
iconName = $LuaLogic::Path @ "icons/1x2f OR"; iconName = $LuaLogic::Path @ "icons/1x2f OR";
brickFile = $LuaLogic::Path @ "bricks/blb/1x2f_2i_1o.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/1x2f_2i_1o.blb";
hasPrint = 1; hasPrint = 1;
printAspectRatio = "Logic"; printAspectRatio = "Logic";
isLogic = 1; isLogic = 1;
isLogicGate = 1; isLogicGate = 1;
logicUIName = "OR"; logicUIName = "OR";
logicUIDesc = "C is true if A or B are true"; logicUIDesc = "C is true if A or B are true";
logicUpdate = "return function(gate) gate.ports[3]:setstate(gate.ports[1].state or gate.ports[2].state) end"; logicUpdate = "return function(gate) gate.ports[3]:setstate(gate.ports[1].state or gate.ports[2].state) end";
numLogicPorts = 3; numLogicPorts = 3;
logicPortType[0] = 1; logicPortType[0] = 1;
logicPortPos[0] = "0 1 0"; logicPortPos[0] = "0 1 0";
logicPortDir[0] = "0"; logicPortDir[0] = "0";
logicPortCauseUpdate[0] = true; logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "A"; logicPortUIName[0] = "A";
logicPortType[1] = 1; logicPortType[1] = 1;
logicPortPos[1] = "0 -1 0"; logicPortPos[1] = "0 -1 0";
logicPortDir[1] = "0"; logicPortDir[1] = "0";
logicPortCauseUpdate[1] = true; logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "B"; logicPortUIName[1] = "B";
logicPortType[2] = 0; logicPortType[2] = 0;
logicPortPos[2] = "0 -1 0"; logicPortPos[2] = "0 -1 0";
logicPortDir[2] = "2"; logicPortDir[2] = "2";
logicPortUIName[2] = "C"; logicPortUIName[2] = "C";
}; };
lualogic_registergatedefinition("LogicGate_OR_Data"); lualogic_registergatedefinition("LogicGate_OR_Data");

View File

@ -1,9 +1,9 @@
datablock fxDTSBrickData(LogicGate_XNOR_Data : LogicGate_OR_Data) datablock fxDTSBrickData(LogicGate_XNOR_Data : LogicGate_OR_Data)
{ {
uiName = "1x2f XNOR"; uiName = "1x2f XNOR";
iconName = $LuaLogic::Path @ "icons/1x2f XNOR"; iconName = $LuaLogic::Path @ "icons/1x2f XNOR";
logicUIName = "XNOR"; logicUIName = "XNOR";
logicUIDesc = "C is true if A and B are both true or both false"; logicUIDesc = "C is true if A and B are both true or both false";
logicUpdate = "return function(gate) gate.ports[3]:setstate((gate.ports[1].state and gate.ports[2].state) or (not gate.ports[1].state and not gate.ports[2].state)) end"; logicUpdate = "return function(gate) gate.ports[3]:setstate((gate.ports[1].state and gate.ports[2].state) or (not gate.ports[1].state and not gate.ports[2].state)) end";
}; };
lualogic_registergatedefinition("LogicGate_XNOR_Data"); lualogic_registergatedefinition("LogicGate_XNOR_Data");

View File

@ -1,9 +1,9 @@
datablock fxDTSBrickData(LogicGate_XOR_Data : LogicGate_OR_Data) datablock fxDTSBrickData(LogicGate_XOR_Data : LogicGate_OR_Data)
{ {
uiName = "1x2f XOR"; uiName = "1x2f XOR";
iconName = $LuaLogic::Path @ "icons/1x2f XOR"; iconName = $LuaLogic::Path @ "icons/1x2f XOR";
logicUIName = "XOR"; logicUIName = "XOR";
logicUIDesc = "C is true if A or B are true but false if A and B are true"; logicUIDesc = "C is true if A or B are true but false if A and B are true";
logicUpdate = "return function(gate) gate.ports[3]:setstate((gate.ports[1].state or gate.ports[2].state) and not (gate.ports[1].state and gate.ports[2].state)) end"; logicUpdate = "return function(gate) gate.ports[3]:setstate((gate.ports[1].state or gate.ports[2].state) and not (gate.ports[1].state and gate.ports[2].state)) end";
}; };
lualogic_registergatedefinition("LogicGate_XOR_Data"); lualogic_registergatedefinition("LogicGate_XOR_Data");

View File

@ -1,44 +1,44 @@
datablock fxDTSBrickData(LogicGate_Diode_Data) datablock fxDTSBrickData(LogicGate_Diode_Data)
{ {
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Gates"; subCategory = "Gates";
uiName = "1x1f Diode"; uiName = "1x1f Diode";
iconName = $LuaLogic::Path @ "icons/1x1f Diode"; iconName = $LuaLogic::Path @ "icons/1x1f Diode";
brickFile = $LuaLogic::Path @ "bricks/blb/1x1f_1i_1o.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/1x1f_1i_1o.blb";
hasPrint = 1; hasPrint = 1;
printAspectRatio = "Logic"; printAspectRatio = "Logic";
isLogic = 1; isLogic = 1;
isLogicGate = 1; isLogicGate = 1;
logicUIName = "Diode"; logicUIName = "Diode";
logicUIDesc = "B is A"; logicUIDesc = "B is A";
logicUpdate = "return function(gate) gate.ports[2]:setstate(gate.ports[1].state) end"; logicUpdate = "return function(gate) gate.ports[2]:setstate(gate.ports[1].state) end";
numLogicPorts = 2; numLogicPorts = 2;
logicPortType[0] = 1; logicPortType[0] = 1;
logicPortPos[0] = "0 0 0"; logicPortPos[0] = "0 0 0";
logicPortDir[0] = "0"; logicPortDir[0] = "0";
logicPortCauseUpdate[0] = true; logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "A"; logicPortUIName[0] = "A";
logicPortUIDesc[0] = ""; logicPortUIDesc[0] = "";
logicPortType[1] = 0; logicPortType[1] = 0;
logicPortPos[1] = "0 0 0"; logicPortPos[1] = "0 0 0";
logicPortDir[1] = "2"; logicPortDir[1] = "2";
logicPortUIName[1] = "B"; logicPortUIName[1] = "B";
logicPortUIDesc[1] = ""; logicPortUIDesc[1] = "";
}; };
lualogic_registergatedefinition("LogicGate_Diode_Data"); lualogic_registergatedefinition("LogicGate_Diode_Data");
function LogicGate_Diode_Data::onPlant(%this, %obj) function LogicGate_Diode_Data::onPlant(%this, %obj)
{ {
if(lualogic_iscolor("GREEN")) if(lualogic_iscolor("GREEN"))
%obj.setColor(lualogic_getcolor("GREEN")); %obj.setColor(lualogic_getcolor("GREEN"));
if(lualogic_isprint("ARROW")) if(lualogic_isprint("ARROW"))
%obj.setPrint(lualogic_getprint("ARROW")); %obj.setPrint(lualogic_getprint("ARROW"));
parent::onPlant(%this, %obj); parent::onPlant(%this, %obj);
} }

View File

@ -1,69 +1,69 @@
datablock fxDTSBrickData(LogicGate_DiodeUp_Data) datablock fxDTSBrickData(LogicGate_DiodeUp_Data)
{ {
brickFile = $LuaLogic::Path @ "bricks/blb/1x1fU_1i_1o.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/1x1fU_1i_1o.blb";
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Gates"; subCategory = "Gates";
uiName = "Diode Up"; uiName = "Diode Up";
iconName = $LuaLogic::Path @ "icons/Diode Up"; iconName = $LuaLogic::Path @ "icons/Diode Up";
hasPrint = 1; hasPrint = 1;
printAspectRatio = "Logic"; printAspectRatio = "Logic";
orientationFix = 3; orientationFix = 3;
isLogic = true; isLogic = true;
isLogicGate = true; isLogicGate = true;
isLogicInput = false; isLogicInput = false;
logicUIName = "Diode Up"; logicUIName = "Diode Up";
logicUIDesc = "B is A"; logicUIDesc = "B is A";
logicUpdate = "return function(gate) gate.ports[2]:setstate(gate.ports[1].state) end"; logicUpdate = "return function(gate) gate.ports[2]:setstate(gate.ports[1].state) end";
numLogicPorts = 2; numLogicPorts = 2;
logicPortType[0] = 1; logicPortType[0] = 1;
logicPortPos[0] = "0 0 0"; logicPortPos[0] = "0 0 0";
logicPortDir[0] = 5; logicPortDir[0] = 5;
logicPortCauseUpdate[0] = true; logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "A"; logicPortUIName[0] = "A";
logicPortType[1] = 0; logicPortType[1] = 0;
logicPortPos[1] = "0 0 0"; logicPortPos[1] = "0 0 0";
logicPortDir[1] = 4; logicPortDir[1] = 4;
logicPortUIName[1] = "B"; logicPortUIName[1] = "B";
}; };
lualogic_registergatedefinition("LogicGate_DiodeUp_Data"); lualogic_registergatedefinition("LogicGate_DiodeUp_Data");
datablock fxDTSBrickData(LogicGate_DiodeDown_Data : LogicGate_DiodeUp_Data) datablock fxDTSBrickData(LogicGate_DiodeDown_Data : LogicGate_DiodeUp_Data)
{ {
brickFile = $LuaLogic::Path @ "bricks/blb/1x1fD_1i_1o.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/1x1fD_1i_1o.blb";
uiName = "Diode Down"; uiName = "Diode Down";
iconName = $LuaLogic::Path @ "icons/Diode Down"; iconName = $LuaLogic::Path @ "icons/Diode Down";
logicUIName = "Diode Down"; logicUIName = "Diode Down";
logicPortDir[0] = 4; logicPortDir[0] = 4;
logicPortDir[1] = 5; logicPortDir[1] = 5;
}; };
lualogic_registergatedefinition("LogicGate_DiodeDown_Data"); lualogic_registergatedefinition("LogicGate_DiodeDown_Data");
function LogicGate_DiodeUp_Data::onPlant(%this, %obj) function LogicGate_DiodeUp_Data::onPlant(%this, %obj)
{ {
if(lualogic_iscolor("GREEN")) if(lualogic_iscolor("GREEN"))
%obj.setColor(lualogic_getcolor("GREEN")); %obj.setColor(lualogic_getcolor("GREEN"));
if(lualogic_isprint("UPARROW")) if(lualogic_isprint("UPARROW"))
%obj.setPrint(lualogic_getprint("UPARROW")); %obj.setPrint(lualogic_getprint("UPARROW"));
parent::onPlant(%this, %obj); parent::onPlant(%this, %obj);
} }
function LogicGate_DiodeDown_Data::onPlant(%this, %obj) function LogicGate_DiodeDown_Data::onPlant(%this, %obj)
{ {
if(lualogic_iscolor("GREEN")) if(lualogic_iscolor("GREEN"))
%obj.setColor(lualogic_getcolor("GREEN")); %obj.setColor(lualogic_getcolor("GREEN"));
if(lualogic_isprint("DOWNARROW")) if(lualogic_isprint("DOWNARROW"))
%obj.setPrint(lualogic_getprint("DOWNARROW")); %obj.setPrint(lualogic_getprint("DOWNARROW"));
parent::onPlant(%this, %obj); parent::onPlant(%this, %obj);
} }

View File

@ -1,45 +1,45 @@
datablock fxDTSBrickData(LogicGate_NotUp_Data : LogicGate_DiodeUp_Data) datablock fxDTSBrickData(LogicGate_NotUp_Data : LogicGate_DiodeUp_Data)
{ {
uiName = "Not Up"; uiName = "Not Up";
iconName = $LuaLogic::Path @ "icons/Not Up"; iconName = $LuaLogic::Path @ "icons/Not Up";
logicUIName = "Not Up"; logicUIName = "Not Up";
logicUIDesc = "B is the inverse of A"; logicUIDesc = "B is the inverse of A";
logicUpdate = "return function(gate) gate.ports[2]:setstate(not gate.ports[1].state) end"; logicUpdate = "return function(gate) gate.ports[2]:setstate(not gate.ports[1].state) end";
}; };
lualogic_registergatedefinition("LogicGate_NotUp_Data"); lualogic_registergatedefinition("LogicGate_NotUp_Data");
datablock fxDTSBrickData(LogicGate_NotDown_Data : LogicGate_DiodeDown_Data) datablock fxDTSBrickData(LogicGate_NotDown_Data : LogicGate_DiodeDown_Data)
{ {
uiName = "Not Down"; uiName = "Not Down";
iconName = $LuaLogic::Path @ "icons/Not Down"; iconName = $LuaLogic::Path @ "icons/Not Down";
logicUIName = "Not Down"; logicUIName = "Not Down";
logicUIDesc = "B is the inverse of A"; logicUIDesc = "B is the inverse of A";
logicUpdate = "return function(gate) gate.ports[2]:setstate(not gate.ports[1].state) end"; logicUpdate = "return function(gate) gate.ports[2]:setstate(not gate.ports[1].state) end";
}; };
lualogic_registergatedefinition("LogicGate_NotDown_Data"); lualogic_registergatedefinition("LogicGate_NotDown_Data");
function LogicGate_NotUp_Data::onPlant(%this, %obj) function LogicGate_NotUp_Data::onPlant(%this, %obj)
{ {
if(lualogic_iscolor("RED")) if(lualogic_iscolor("RED"))
%obj.setColor(lualogic_getcolor("RED")); %obj.setColor(lualogic_getcolor("RED"));
if(lualogic_isprint("UPARROW")) if(lualogic_isprint("UPARROW"))
%obj.setPrint(lualogic_getprint("UPARROW")); %obj.setPrint(lualogic_getprint("UPARROW"));
parent::onPlant(%this, %obj); parent::onPlant(%this, %obj);
} }
function LogicGate_NotDown_Data::onPlant(%this, %obj) function LogicGate_NotDown_Data::onPlant(%this, %obj)
{ {
if(lualogic_iscolor("RED")) if(lualogic_iscolor("RED"))
%obj.setColor(lualogic_getcolor("RED")); %obj.setColor(lualogic_getcolor("RED"));
if(lualogic_isprint("DOWNARROW")) if(lualogic_isprint("DOWNARROW"))
%obj.setPrint(lualogic_getprint("DOWNARROW")); %obj.setPrint(lualogic_getprint("DOWNARROW"));
parent::onPlant(%this, %obj); parent::onPlant(%this, %obj);
} }

View File

@ -1,24 +1,24 @@
return function(gate, argv) return function(gate, argv)
if argv[1]=="\\:" then argv[1] = ";" end if argv[1]=="\\:" then argv[1] = ";" end
local keycode = keyboard_keyToCode[argv[1]] or keyboard_keyToCode["invalid"] local keycode = keyboard_keyToCode[argv[1]] or keyboard_keyToCode["invalid"]
local status = keyboard_strToBool[argv[2]] local status = keyboard_strToBool[argv[2]]
local code = keycode+(status and 128 or 0) local code = keycode+(status and 128 or 0)
local function queueBit(bit) local function queueBit(bit)
table.insert(gate.queueBits, 1, bit) table.insert(gate.queueBits, 1, bit)
end end
queueBit(true) queueBit(true)
for bitidx = 1, 8 do for bitidx = 1, 8 do
local val = bit.band(code, 0x80)~=0 local val = bit.band(code, 0x80)~=0
queueBit(val) queueBit(val)
code = bit.lshift(code, 1) code = bit.lshift(code, 1)
end end
queueBit(false) queueBit(false)
gate:queue(0) gate:queue(0)
end end

View File

@ -1,10 +1,10 @@
return function(gate) return function(gate)
if #gate.queueBits~=0 then if #gate.queueBits~=0 then
local bit = table.remove(gate.queueBits, #gate.queueBits) local bit = table.remove(gate.queueBits, #gate.queueBits)
gate.ports[1]:setstate(bit) gate.ports[1]:setstate(bit)
gate:queue(1) gate:queue(1)
else else
gate.ports[1]:setstate(false) gate.ports[1]:setstate(false)
end end
end end

View File

@ -1,44 +1,44 @@
datablock fxDTSBrickData(LogicGate_Switch_Data) datablock fxDTSBrickData(LogicGate_Switch_Data)
{ {
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Inputs"; subCategory = "Inputs";
uiName = "Switch"; uiName = "Switch";
iconName = $LuaLogic::Path @ "icons/Switch"; iconName = $LuaLogic::Path @ "icons/Switch";
brickFile = $LuaLogic::Path @ "bricks/blb/switch.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/switch.blb";
hasPrint = 1; hasPrint = 1;
printAspectRatio = "Logic"; printAspectRatio = "Logic";
orientationFix = 3; orientationFix = 3;
isLogic = 1; isLogic = 1;
isLogicGate = 1; isLogicGate = 1;
isLogicInput = 1; isLogicInput = 1;
logicInput = lualogic_readfile($LuaLogic::Path @ "bricks/inputs/switch-input.lua"); logicInput = lualogic_readfile($LuaLogic::Path @ "bricks/inputs/switch-input.lua");
numLogicPorts = 2; numLogicPorts = 2;
logicPortType[0] = 0; logicPortType[0] = 0;
logicPortPos[0] = "0 1 0"; logicPortPos[0] = "0 1 0";
logicPortDir[0] = "1"; logicPortDir[0] = "1";
logicPortType[1] = 0; logicPortType[1] = 0;
logicPortPos[1] = "0 -1 0"; logicPortPos[1] = "0 -1 0";
logicPortDir[1] = "3"; logicPortDir[1] = "3";
}; };
lualogic_registergatedefinition("LogicGate_Switch_Data"); lualogic_registergatedefinition("LogicGate_Switch_Data");
function LogicGate_Switch_Data::Logic_onInput(%this, %obj, %pos, %norm) function LogicGate_Switch_Data::Logic_onInput(%this, %obj, %pos, %norm)
{ {
lualogic_sendinput(%obj, 0); lualogic_sendinput(%obj, 0);
} }
function LogicGate_Switch_Data::Logic_onAdd(%this, %obj) function LogicGate_Switch_Data::Logic_onAdd(%this, %obj)
{ {
lualogic_sendinput(%obj, 1, %obj.getColorFXID() == 3); lualogic_sendinput(%obj, 1, %obj.getColorFXID() == 3);
} }
function LogicGate_Switch_Data::LuaLogic_Callback(%this, %obj, %data) function LogicGate_Switch_Data::LuaLogic_Callback(%this, %obj, %data)
{ {
%obj.setColorFX(getField(%data, 0) == 1 ? 3 : 0); %obj.setColorFX(getField(%data, 0) == 1 ? 3 : 0);
} }

View File

@ -1,179 +1,179 @@
datablock fxDTSBrickData(LogicGate_8bitAdder_Data) datablock fxDTSBrickData(LogicGate_8bitAdder_Data)
{ {
brickFile = $LuaLogic::Path @ "bricks/blb/8bitAdder.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/8bitAdder.blb";
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Math"; subCategory = "Math";
uiName = "8bit Adder"; uiName = "8bit Adder";
iconName = $LuaLogic::Path @ "icons/8bit Adder"; iconName = $LuaLogic::Path @ "icons/8bit Adder";
hasPrint = 1; hasPrint = 1;
printAspectRatio = "Logic"; printAspectRatio = "Logic";
orientationFix = 3; orientationFix = 3;
isLogic = true; isLogic = true;
isLogicGate = true; isLogicGate = true;
isLogicInput = false; isLogicInput = false;
logicUIName = "8bit Adder"; logicUIName = "8bit Adder";
logicUIDesc = ""; logicUIDesc = "";
logicUpdate = "return function(gate) local c = bool_to_int[gate.ports[17].state] " @ logicUpdate = "return function(gate) local c = bool_to_int[gate.ports[17].state] " @
"local a = 0 " @ "local a = 0 " @
"local b = 0 " @ "local b = 0 " @
"for i = 1, 8 do " @ "for i = 1, 8 do " @
"a = bool_to_int[gate.ports[i].state] " @ "a = bool_to_int[gate.ports[i].state] " @
"b = bool_to_int[gate.ports[i+8].state] " @ "b = bool_to_int[gate.ports[i+8].state] " @
"gate.ports[i+17]:setstate(bit.bxor(bit.bxor(a, b), c) == 1) " @ "gate.ports[i+17]:setstate(bit.bxor(bit.bxor(a, b), c) == 1) " @
"c = bit.bor(bit.band(a, b), bit.band(c, bit.bor(a, b))) " @ "c = bit.bor(bit.band(a, b), bit.band(c, bit.bor(a, b))) " @
"end " @ "end " @
"gate.ports[26]:setstate(c == 1) end"; "gate.ports[26]:setstate(c == 1) end";
numLogicPorts = 26; numLogicPorts = 26;
logicPortType[0] = 1; logicPortType[0] = 1;
logicPortPos[0] = "-1 -1 0"; logicPortPos[0] = "-1 -1 0";
logicPortDir[0] = 3; logicPortDir[0] = 3;
logicPortCauseUpdate[0] = true; logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "A0"; logicPortUIName[0] = "A0";
logicPortType[1] = 1; logicPortType[1] = 1;
logicPortPos[1] = "-3 -1 0"; logicPortPos[1] = "-3 -1 0";
logicPortDir[1] = 3; logicPortDir[1] = 3;
logicPortCauseUpdate[1] = true; logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "A1"; logicPortUIName[1] = "A1";
logicPortType[2] = 1; logicPortType[2] = 1;
logicPortPos[2] = "-5 -1 0"; logicPortPos[2] = "-5 -1 0";
logicPortDir[2] = 3; logicPortDir[2] = 3;
logicPortCauseUpdate[2] = true; logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "A2"; logicPortUIName[2] = "A2";
logicPortType[3] = 1; logicPortType[3] = 1;
logicPortPos[3] = "-7 -1 0"; logicPortPos[3] = "-7 -1 0";
logicPortDir[3] = 3; logicPortDir[3] = 3;
logicPortCauseUpdate[3] = true; logicPortCauseUpdate[3] = true;
logicPortUIName[3] = "A3"; logicPortUIName[3] = "A3";
logicPortType[4] = 1; logicPortType[4] = 1;
logicPortPos[4] = "-9 -1 0"; logicPortPos[4] = "-9 -1 0";
logicPortDir[4] = 3; logicPortDir[4] = 3;
logicPortCauseUpdate[4] = true; logicPortCauseUpdate[4] = true;
logicPortUIName[4] = "A4"; logicPortUIName[4] = "A4";
logicPortType[5] = 1; logicPortType[5] = 1;
logicPortPos[5] = "-11 -1 0"; logicPortPos[5] = "-11 -1 0";
logicPortDir[5] = 3; logicPortDir[5] = 3;
logicPortCauseUpdate[5] = true; logicPortCauseUpdate[5] = true;
logicPortUIName[5] = "A5"; logicPortUIName[5] = "A5";
logicPortType[6] = 1; logicPortType[6] = 1;
logicPortPos[6] = "-13 -1 0"; logicPortPos[6] = "-13 -1 0";
logicPortDir[6] = 3; logicPortDir[6] = 3;
logicPortCauseUpdate[6] = true; logicPortCauseUpdate[6] = true;
logicPortUIName[6] = "A6"; logicPortUIName[6] = "A6";
logicPortType[7] = 1; logicPortType[7] = 1;
logicPortPos[7] = "-15 -1 0"; logicPortPos[7] = "-15 -1 0";
logicPortDir[7] = 3; logicPortDir[7] = 3;
logicPortCauseUpdate[7] = true; logicPortCauseUpdate[7] = true;
logicPortUIName[7] = "A7"; logicPortUIName[7] = "A7";
logicPortType[8] = 1; logicPortType[8] = 1;
logicPortPos[8] = "15 -1 0"; logicPortPos[8] = "15 -1 0";
logicPortDir[8] = 3; logicPortDir[8] = 3;
logicPortCauseUpdate[8] = true; logicPortCauseUpdate[8] = true;
logicPortUIName[8] = "B0"; logicPortUIName[8] = "B0";
logicPortType[9] = 1; logicPortType[9] = 1;
logicPortPos[9] = "13 -1 0"; logicPortPos[9] = "13 -1 0";
logicPortDir[9] = 3; logicPortDir[9] = 3;
logicPortCauseUpdate[9] = true; logicPortCauseUpdate[9] = true;
logicPortUIName[9] = "B1"; logicPortUIName[9] = "B1";
logicPortType[10] = 1; logicPortType[10] = 1;
logicPortPos[10] = "11 -1 0"; logicPortPos[10] = "11 -1 0";
logicPortDir[10] = 3; logicPortDir[10] = 3;
logicPortCauseUpdate[10] = true; logicPortCauseUpdate[10] = true;
logicPortUIName[10] = "B2"; logicPortUIName[10] = "B2";
logicPortType[11] = 1; logicPortType[11] = 1;
logicPortPos[11] = "9 -1 0"; logicPortPos[11] = "9 -1 0";
logicPortDir[11] = 3; logicPortDir[11] = 3;
logicPortCauseUpdate[11] = true; logicPortCauseUpdate[11] = true;
logicPortUIName[11] = "B3"; logicPortUIName[11] = "B3";
logicPortType[12] = 1; logicPortType[12] = 1;
logicPortPos[12] = "7 -1 0"; logicPortPos[12] = "7 -1 0";
logicPortDir[12] = 3; logicPortDir[12] = 3;
logicPortCauseUpdate[12] = true; logicPortCauseUpdate[12] = true;
logicPortUIName[12] = "B4"; logicPortUIName[12] = "B4";
logicPortType[13] = 1; logicPortType[13] = 1;
logicPortPos[13] = "5 -1 0"; logicPortPos[13] = "5 -1 0";
logicPortDir[13] = 3; logicPortDir[13] = 3;
logicPortCauseUpdate[13] = true; logicPortCauseUpdate[13] = true;
logicPortUIName[13] = "B5"; logicPortUIName[13] = "B5";
logicPortType[14] = 1; logicPortType[14] = 1;
logicPortPos[14] = "3 -1 0"; logicPortPos[14] = "3 -1 0";
logicPortDir[14] = 3; logicPortDir[14] = 3;
logicPortCauseUpdate[14] = true; logicPortCauseUpdate[14] = true;
logicPortUIName[14] = "B6"; logicPortUIName[14] = "B6";
logicPortType[15] = 1; logicPortType[15] = 1;
logicPortPos[15] = "1 -1 0"; logicPortPos[15] = "1 -1 0";
logicPortDir[15] = 3; logicPortDir[15] = 3;
logicPortCauseUpdate[15] = true; logicPortCauseUpdate[15] = true;
logicPortUIName[15] = "B7"; logicPortUIName[15] = "B7";
logicPortType[16] = 1; logicPortType[16] = 1;
logicPortPos[16] = "15 -1 0"; logicPortPos[16] = "15 -1 0";
logicPortDir[16] = 2; logicPortDir[16] = 2;
logicPortCauseUpdate[16] = true; logicPortCauseUpdate[16] = true;
logicPortUIName[16] = "Carry In"; logicPortUIName[16] = "Carry In";
logicPortType[17] = 0; logicPortType[17] = 0;
logicPortPos[17] = "15 1 0"; logicPortPos[17] = "15 1 0";
logicPortDir[17] = 1; logicPortDir[17] = 1;
logicPortUIName[17] = "Sum0"; logicPortUIName[17] = "Sum0";
logicPortType[18] = 0; logicPortType[18] = 0;
logicPortPos[18] = "13 1 0"; logicPortPos[18] = "13 1 0";
logicPortDir[18] = 1; logicPortDir[18] = 1;
logicPortUIName[18] = "Sum1"; logicPortUIName[18] = "Sum1";
logicPortType[19] = 0; logicPortType[19] = 0;
logicPortPos[19] = "11 1 0"; logicPortPos[19] = "11 1 0";
logicPortDir[19] = 1; logicPortDir[19] = 1;
logicPortUIName[19] = "Sum2"; logicPortUIName[19] = "Sum2";
logicPortType[20] = 0; logicPortType[20] = 0;
logicPortPos[20] = "9 1 0"; logicPortPos[20] = "9 1 0";
logicPortDir[20] = 1; logicPortDir[20] = 1;
logicPortUIName[20] = "Sum3"; logicPortUIName[20] = "Sum3";
logicPortType[21] = 0; logicPortType[21] = 0;
logicPortPos[21] = "7 1 0"; logicPortPos[21] = "7 1 0";
logicPortDir[21] = 1; logicPortDir[21] = 1;
logicPortUIName[21] = "Sum4"; logicPortUIName[21] = "Sum4";
logicPortType[22] = 0; logicPortType[22] = 0;
logicPortPos[22] = "5 1 0"; logicPortPos[22] = "5 1 0";
logicPortDir[22] = 1; logicPortDir[22] = 1;
logicPortUIName[22] = "Sum5"; logicPortUIName[22] = "Sum5";
logicPortType[23] = 0; logicPortType[23] = 0;
logicPortPos[23] = "3 1 0"; logicPortPos[23] = "3 1 0";
logicPortDir[23] = 1; logicPortDir[23] = 1;
logicPortUIName[23] = "Sum6"; logicPortUIName[23] = "Sum6";
logicPortType[24] = 0; logicPortType[24] = 0;
logicPortPos[24] = "1 1 0"; logicPortPos[24] = "1 1 0";
logicPortDir[24] = 1; logicPortDir[24] = 1;
logicPortUIName[24] = "Sum7"; logicPortUIName[24] = "Sum7";
logicPortType[25] = 0; logicPortType[25] = 0;
logicPortPos[25] = "-15 -1 0"; logicPortPos[25] = "-15 -1 0";
logicPortDir[25] = 0; logicPortDir[25] = 0;
logicPortUIName[25] = "Carry Out"; logicPortUIName[25] = "Carry Out";
}; };
lualogic_registergatedefinition("LogicGate_8bitAdder_Data"); lualogic_registergatedefinition("LogicGate_8bitAdder_Data");

View File

@ -1,218 +1,218 @@
datablock fxDTSBrickData(LogicGate_8bitDivider_Data) datablock fxDTSBrickData(LogicGate_8bitDivider_Data)
{ {
brickFile = $LuaLogic::Path @ "bricks/blb/8bitMultiplier.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/8bitMultiplier.blb";
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Math"; subCategory = "Math";
uiName = "8bit Divider"; uiName = "8bit Divider";
iconName = $LuaLogic::Path @ "icons/8bit Divider"; iconName = $LuaLogic::Path @ "icons/8bit Divider";
hasPrint = 1; hasPrint = 1;
printAspectRatio = "Logic"; printAspectRatio = "Logic";
orientationFix = 3; orientationFix = 3;
isLogic = true; isLogic = true;
isLogicGate = true; isLogicGate = true;
isLogicInput = false; isLogicInput = false;
logicUIName = "8bit Divider"; logicUIName = "8bit Divider";
logicUIDesc = "Divides A by B"; logicUIDesc = "Divides A by B";
logicUpdate = "return function(gate) local a, b, n = 0, 0 " @ logicUpdate = "return function(gate) local a, b, n = 0, 0 " @
"for i = 1, 8 do " @ "for i = 1, 8 do " @
"local n = 2^(i-1) " @ "local n = 2^(i-1) " @
"a = a + bool_to_int[gate.ports[i].state] * n " @ "a = a + bool_to_int[gate.ports[i].state] * n " @
"b = b + bool_to_int[gate.ports[i+8].state] * n " @ "b = b + bool_to_int[gate.ports[i+8].state] * n " @
"end " @ "end " @
"if b ~= 0 then " @ "if b ~= 0 then " @
"local q = math.floor(a/b) " @ "local q = math.floor(a/b) " @
"local r = a-q*b " @ "local r = a-q*b " @
"for i = 1, 8 do " @ "for i = 1, 8 do " @
"local n = 2^(i-1) " @ "local n = 2^(i-1) " @
"gate.ports[i+16]:setstate(bit.band(q, n) > 0) " @ "gate.ports[i+16]:setstate(bit.band(q, n) > 0) " @
"gate.ports[i+24]:setstate(bit.band(r, n) > 0) " @ "gate.ports[i+24]:setstate(bit.band(r, n) > 0) " @
"end " @ "end " @
"else " @ "else " @
"for i = 1, 8 do " @ "for i = 1, 8 do " @
"gate.ports[i+16]:setstate(false) " @ "gate.ports[i+16]:setstate(false) " @
"gate.ports[i+24]:setstate(false) " @ "gate.ports[i+24]:setstate(false) " @
"end " @ "end " @
"end end"; "end end";
numLogicPorts = 32; numLogicPorts = 32;
logicPortType[0] = 1; logicPortType[0] = 1;
logicPortPos[0] = "-1 -1 0"; logicPortPos[0] = "-1 -1 0";
logicPortDir[0] = 3; logicPortDir[0] = 3;
logicPortCauseUpdate[0] = true; logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "A0"; logicPortUIName[0] = "A0";
logicPortType[1] = 1; logicPortType[1] = 1;
logicPortPos[1] = "-3 -1 0"; logicPortPos[1] = "-3 -1 0";
logicPortDir[1] = 3; logicPortDir[1] = 3;
logicPortCauseUpdate[1] = true; logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "A1"; logicPortUIName[1] = "A1";
logicPortType[2] = 1; logicPortType[2] = 1;
logicPortPos[2] = "-5 -1 0"; logicPortPos[2] = "-5 -1 0";
logicPortDir[2] = 3; logicPortDir[2] = 3;
logicPortCauseUpdate[2] = true; logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "A2"; logicPortUIName[2] = "A2";
logicPortType[3] = 1; logicPortType[3] = 1;
logicPortPos[3] = "-7 -1 0"; logicPortPos[3] = "-7 -1 0";
logicPortDir[3] = 3; logicPortDir[3] = 3;
logicPortCauseUpdate[3] = true; logicPortCauseUpdate[3] = true;
logicPortUIName[3] = "A3"; logicPortUIName[3] = "A3";
logicPortType[4] = 1; logicPortType[4] = 1;
logicPortPos[4] = "-9 -1 0"; logicPortPos[4] = "-9 -1 0";
logicPortDir[4] = 3; logicPortDir[4] = 3;
logicPortCauseUpdate[4] = true; logicPortCauseUpdate[4] = true;
logicPortUIName[4] = "A4"; logicPortUIName[4] = "A4";
logicPortType[5] = 1; logicPortType[5] = 1;
logicPortPos[5] = "-11 -1 0"; logicPortPos[5] = "-11 -1 0";
logicPortDir[5] = 3; logicPortDir[5] = 3;
logicPortCauseUpdate[5] = true; logicPortCauseUpdate[5] = true;
logicPortUIName[5] = "A5"; logicPortUIName[5] = "A5";
logicPortType[6] = 1; logicPortType[6] = 1;
logicPortPos[6] = "-13 -1 0"; logicPortPos[6] = "-13 -1 0";
logicPortDir[6] = 3; logicPortDir[6] = 3;
logicPortCauseUpdate[6] = true; logicPortCauseUpdate[6] = true;
logicPortUIName[6] = "A6"; logicPortUIName[6] = "A6";
logicPortType[7] = 1; logicPortType[7] = 1;
logicPortPos[7] = "-15 -1 0"; logicPortPos[7] = "-15 -1 0";
logicPortDir[7] = 3; logicPortDir[7] = 3;
logicPortCauseUpdate[7] = true; logicPortCauseUpdate[7] = true;
logicPortUIName[7] = "A7"; logicPortUIName[7] = "A7";
logicPortType[8] = 1; logicPortType[8] = 1;
logicPortPos[8] = "15 -1 0"; logicPortPos[8] = "15 -1 0";
logicPortDir[8] = 3; logicPortDir[8] = 3;
logicPortCauseUpdate[8] = true; logicPortCauseUpdate[8] = true;
logicPortUIName[8] = "B0"; logicPortUIName[8] = "B0";
logicPortType[9] = 1; logicPortType[9] = 1;
logicPortPos[9] = "13 -1 0"; logicPortPos[9] = "13 -1 0";
logicPortDir[9] = 3; logicPortDir[9] = 3;
logicPortCauseUpdate[9] = true; logicPortCauseUpdate[9] = true;
logicPortUIName[9] = "B1"; logicPortUIName[9] = "B1";
logicPortType[10] = 1; logicPortType[10] = 1;
logicPortPos[10] = "11 -1 0"; logicPortPos[10] = "11 -1 0";
logicPortDir[10] = 3; logicPortDir[10] = 3;
logicPortCauseUpdate[10] = true; logicPortCauseUpdate[10] = true;
logicPortUIName[10] = "B2"; logicPortUIName[10] = "B2";
logicPortType[11] = 1; logicPortType[11] = 1;
logicPortPos[11] = "9 -1 0"; logicPortPos[11] = "9 -1 0";
logicPortDir[11] = 3; logicPortDir[11] = 3;
logicPortCauseUpdate[11] = true; logicPortCauseUpdate[11] = true;
logicPortUIName[11] = "B3"; logicPortUIName[11] = "B3";
logicPortType[12] = 1; logicPortType[12] = 1;
logicPortPos[12] = "7 -1 0"; logicPortPos[12] = "7 -1 0";
logicPortDir[12] = 3; logicPortDir[12] = 3;
logicPortCauseUpdate[12] = true; logicPortCauseUpdate[12] = true;
logicPortUIName[12] = "B4"; logicPortUIName[12] = "B4";
logicPortType[13] = 1; logicPortType[13] = 1;
logicPortPos[13] = "5 -1 0"; logicPortPos[13] = "5 -1 0";
logicPortDir[13] = 3; logicPortDir[13] = 3;
logicPortCauseUpdate[13] = true; logicPortCauseUpdate[13] = true;
logicPortUIName[13] = "B5"; logicPortUIName[13] = "B5";
logicPortType[14] = 1; logicPortType[14] = 1;
logicPortPos[14] = "3 -1 0"; logicPortPos[14] = "3 -1 0";
logicPortDir[14] = 3; logicPortDir[14] = 3;
logicPortCauseUpdate[14] = true; logicPortCauseUpdate[14] = true;
logicPortUIName[14] = "B6"; logicPortUIName[14] = "B6";
logicPortType[15] = 1; logicPortType[15] = 1;
logicPortPos[15] = "1 -1 0"; logicPortPos[15] = "1 -1 0";
logicPortDir[15] = 3; logicPortDir[15] = 3;
logicPortCauseUpdate[15] = true; logicPortCauseUpdate[15] = true;
logicPortUIName[15] = "B7"; logicPortUIName[15] = "B7";
logicPortType[16] = 0; logicPortType[16] = 0;
logicPortPos[16] = "15 1 0"; logicPortPos[16] = "15 1 0";
logicPortDir[16] = 1; logicPortDir[16] = 1;
logicPortUIName[16] = "Q0"; logicPortUIName[16] = "Q0";
logicPortType[17] = 0; logicPortType[17] = 0;
logicPortPos[17] = "13 1 0"; logicPortPos[17] = "13 1 0";
logicPortDir[17] = 1; logicPortDir[17] = 1;
logicPortUIName[17] = "Q1"; logicPortUIName[17] = "Q1";
logicPortType[18] = 0; logicPortType[18] = 0;
logicPortPos[18] = "11 1 0"; logicPortPos[18] = "11 1 0";
logicPortDir[18] = 1; logicPortDir[18] = 1;
logicPortUIName[18] = "Q2"; logicPortUIName[18] = "Q2";
logicPortType[19] = 0; logicPortType[19] = 0;
logicPortPos[19] = "9 1 0"; logicPortPos[19] = "9 1 0";
logicPortDir[19] = 1; logicPortDir[19] = 1;
logicPortUIName[19] = "Q3"; logicPortUIName[19] = "Q3";
logicPortType[20] = 0; logicPortType[20] = 0;
logicPortPos[20] = "7 1 0"; logicPortPos[20] = "7 1 0";
logicPortDir[20] = 1; logicPortDir[20] = 1;
logicPortUIName[20] = "Q4"; logicPortUIName[20] = "Q4";
logicPortType[21] = 0; logicPortType[21] = 0;
logicPortPos[21] = "5 1 0"; logicPortPos[21] = "5 1 0";
logicPortDir[21] = 1; logicPortDir[21] = 1;
logicPortUIName[21] = "Q5"; logicPortUIName[21] = "Q5";
logicPortType[22] = 0; logicPortType[22] = 0;
logicPortPos[22] = "3 1 0"; logicPortPos[22] = "3 1 0";
logicPortDir[22] = 1; logicPortDir[22] = 1;
logicPortUIName[22] = "Q6"; logicPortUIName[22] = "Q6";
logicPortType[23] = 0; logicPortType[23] = 0;
logicPortPos[23] = "1 1 0"; logicPortPos[23] = "1 1 0";
logicPortDir[23] = 1; logicPortDir[23] = 1;
logicPortUIName[23] = "Q7"; logicPortUIName[23] = "Q7";
logicPortType[24] = 0; logicPortType[24] = 0;
logicPortPos[24] = "-1 1 0"; logicPortPos[24] = "-1 1 0";
logicPortDir[24] = 1; logicPortDir[24] = 1;
logicPortUIName[24] = "R0"; logicPortUIName[24] = "R0";
logicPortType[25] = 0; logicPortType[25] = 0;
logicPortPos[25] = "-3 1 0"; logicPortPos[25] = "-3 1 0";
logicPortDir[25] = 1; logicPortDir[25] = 1;
logicPortUIName[25] = "R1"; logicPortUIName[25] = "R1";
logicPortType[26] = 0; logicPortType[26] = 0;
logicPortPos[26] = "-5 1 0"; logicPortPos[26] = "-5 1 0";
logicPortDir[26] = 1; logicPortDir[26] = 1;
logicPortUIName[26] = "R2"; logicPortUIName[26] = "R2";
logicPortType[27] = 0; logicPortType[27] = 0;
logicPortPos[27] = "-7 1 0"; logicPortPos[27] = "-7 1 0";
logicPortDir[27] = 1; logicPortDir[27] = 1;
logicPortUIName[27] = "R3"; logicPortUIName[27] = "R3";
logicPortType[28] = 0; logicPortType[28] = 0;
logicPortPos[28] = "-9 1 0"; logicPortPos[28] = "-9 1 0";
logicPortDir[28] = 1; logicPortDir[28] = 1;
logicPortUIName[28] = "R4"; logicPortUIName[28] = "R4";
logicPortType[29] = 0; logicPortType[29] = 0;
logicPortPos[29] = "-11 1 0"; logicPortPos[29] = "-11 1 0";
logicPortDir[29] = 1; logicPortDir[29] = 1;
logicPortUIName[29] = "R5"; logicPortUIName[29] = "R5";
logicPortType[30] = 0; logicPortType[30] = 0;
logicPortPos[30] = "-13 1 0"; logicPortPos[30] = "-13 1 0";
logicPortDir[30] = 1; logicPortDir[30] = 1;
logicPortUIName[30] = "R6"; logicPortUIName[30] = "R6";
logicPortType[31] = 0; logicPortType[31] = 0;
logicPortPos[31] = "-15 1 0"; logicPortPos[31] = "-15 1 0";
logicPortDir[31] = 1; logicPortDir[31] = 1;
logicPortUIName[31] = "R7"; logicPortUIName[31] = "R7";
}; };
lualogic_registergatedefinition("LogicGate_8bitDivider_Data"); lualogic_registergatedefinition("LogicGate_8bitDivider_Data");

View File

@ -1,208 +1,208 @@
datablock fxDTSBrickData(LogicGate_8bitMultiplier_Data) datablock fxDTSBrickData(LogicGate_8bitMultiplier_Data)
{ {
brickFile = $LuaLogic::Path @ "bricks/blb/8bitMultiplier.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/8bitMultiplier.blb";
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Math"; subCategory = "Math";
uiName = "8bit Multiplier"; uiName = "8bit Multiplier";
iconName = $LuaLogic::Path @ "icons/8bit Multiplier"; iconName = $LuaLogic::Path @ "icons/8bit Multiplier";
hasPrint = 1; hasPrint = 1;
printAspectRatio = "Logic"; printAspectRatio = "Logic";
orientationFix = 3; orientationFix = 3;
isLogic = true; isLogic = true;
isLogicGate = true; isLogicGate = true;
isLogicInput = false; isLogicInput = false;
logicUIName = "8bit Multiplier"; logicUIName = "8bit Multiplier";
logicUIDesc = "Multiplies A by B"; logicUIDesc = "Multiplies A by B";
logicUpdate = "return function(gate) local a, b = 0, 0 " @ logicUpdate = "return function(gate) local a, b = 0, 0 " @
"local sum = 0 " @ "local sum = 0 " @
"for i = 1, 8 do " @ "for i = 1, 8 do " @
"a = a + bool_to_int[gate.ports[i].state] * 2^(i-1) " @ "a = a + bool_to_int[gate.ports[i].state] * 2^(i-1) " @
"b = b + bool_to_int[gate.ports[i+8].state] * 2^(i-1) " @ "b = b + bool_to_int[gate.ports[i+8].state] * 2^(i-1) " @
"end " @ "end " @
"local sum = a * b " @ "local sum = a * b " @
"for i = 1, 16 do " @ "for i = 1, 16 do " @
"gate.ports[i+16]:setstate(bit.band(sum, 2^(i-1)) > 0) " @ "gate.ports[i+16]:setstate(bit.band(sum, 2^(i-1)) > 0) " @
"end end"; "end end";
numLogicPorts = 32; numLogicPorts = 32;
logicPortType[0] = 1; logicPortType[0] = 1;
logicPortPos[0] = "-1 -1 0"; logicPortPos[0] = "-1 -1 0";
logicPortDir[0] = 3; logicPortDir[0] = 3;
logicPortCauseUpdate[0] = true; logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "A0"; logicPortUIName[0] = "A0";
logicPortType[1] = 1; logicPortType[1] = 1;
logicPortPos[1] = "-3 -1 0"; logicPortPos[1] = "-3 -1 0";
logicPortDir[1] = 3; logicPortDir[1] = 3;
logicPortCauseUpdate[1] = true; logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "A1"; logicPortUIName[1] = "A1";
logicPortType[2] = 1; logicPortType[2] = 1;
logicPortPos[2] = "-5 -1 0"; logicPortPos[2] = "-5 -1 0";
logicPortDir[2] = 3; logicPortDir[2] = 3;
logicPortCauseUpdate[2] = true; logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "A2"; logicPortUIName[2] = "A2";
logicPortType[3] = 1; logicPortType[3] = 1;
logicPortPos[3] = "-7 -1 0"; logicPortPos[3] = "-7 -1 0";
logicPortDir[3] = 3; logicPortDir[3] = 3;
logicPortCauseUpdate[3] = true; logicPortCauseUpdate[3] = true;
logicPortUIName[3] = "A3"; logicPortUIName[3] = "A3";
logicPortType[4] = 1; logicPortType[4] = 1;
logicPortPos[4] = "-9 -1 0"; logicPortPos[4] = "-9 -1 0";
logicPortDir[4] = 3; logicPortDir[4] = 3;
logicPortCauseUpdate[4] = true; logicPortCauseUpdate[4] = true;
logicPortUIName[4] = "A4"; logicPortUIName[4] = "A4";
logicPortType[5] = 1; logicPortType[5] = 1;
logicPortPos[5] = "-11 -1 0"; logicPortPos[5] = "-11 -1 0";
logicPortDir[5] = 3; logicPortDir[5] = 3;
logicPortCauseUpdate[5] = true; logicPortCauseUpdate[5] = true;
logicPortUIName[5] = "A5"; logicPortUIName[5] = "A5";
logicPortType[6] = 1; logicPortType[6] = 1;
logicPortPos[6] = "-13 -1 0"; logicPortPos[6] = "-13 -1 0";
logicPortDir[6] = 3; logicPortDir[6] = 3;
logicPortCauseUpdate[6] = true; logicPortCauseUpdate[6] = true;
logicPortUIName[6] = "A6"; logicPortUIName[6] = "A6";
logicPortType[7] = 1; logicPortType[7] = 1;
logicPortPos[7] = "-15 -1 0"; logicPortPos[7] = "-15 -1 0";
logicPortDir[7] = 3; logicPortDir[7] = 3;
logicPortCauseUpdate[7] = true; logicPortCauseUpdate[7] = true;
logicPortUIName[7] = "A7"; logicPortUIName[7] = "A7";
logicPortType[8] = 1; logicPortType[8] = 1;
logicPortPos[8] = "15 -1 0"; logicPortPos[8] = "15 -1 0";
logicPortDir[8] = 3; logicPortDir[8] = 3;
logicPortCauseUpdate[8] = true; logicPortCauseUpdate[8] = true;
logicPortUIName[8] = "B0"; logicPortUIName[8] = "B0";
logicPortType[9] = 1; logicPortType[9] = 1;
logicPortPos[9] = "13 -1 0"; logicPortPos[9] = "13 -1 0";
logicPortDir[9] = 3; logicPortDir[9] = 3;
logicPortCauseUpdate[9] = true; logicPortCauseUpdate[9] = true;
logicPortUIName[9] = "B1"; logicPortUIName[9] = "B1";
logicPortType[10] = 1; logicPortType[10] = 1;
logicPortPos[10] = "11 -1 0"; logicPortPos[10] = "11 -1 0";
logicPortDir[10] = 3; logicPortDir[10] = 3;
logicPortCauseUpdate[10] = true; logicPortCauseUpdate[10] = true;
logicPortUIName[10] = "B2"; logicPortUIName[10] = "B2";
logicPortType[11] = 1; logicPortType[11] = 1;
logicPortPos[11] = "9 -1 0"; logicPortPos[11] = "9 -1 0";
logicPortDir[11] = 3; logicPortDir[11] = 3;
logicPortCauseUpdate[11] = true; logicPortCauseUpdate[11] = true;
logicPortUIName[11] = "B3"; logicPortUIName[11] = "B3";
logicPortType[12] = 1; logicPortType[12] = 1;
logicPortPos[12] = "7 -1 0"; logicPortPos[12] = "7 -1 0";
logicPortDir[12] = 3; logicPortDir[12] = 3;
logicPortCauseUpdate[12] = true; logicPortCauseUpdate[12] = true;
logicPortUIName[12] = "B4"; logicPortUIName[12] = "B4";
logicPortType[13] = 1; logicPortType[13] = 1;
logicPortPos[13] = "5 -1 0"; logicPortPos[13] = "5 -1 0";
logicPortDir[13] = 3; logicPortDir[13] = 3;
logicPortCauseUpdate[13] = true; logicPortCauseUpdate[13] = true;
logicPortUIName[13] = "B5"; logicPortUIName[13] = "B5";
logicPortType[14] = 1; logicPortType[14] = 1;
logicPortPos[14] = "3 -1 0"; logicPortPos[14] = "3 -1 0";
logicPortDir[14] = 3; logicPortDir[14] = 3;
logicPortCauseUpdate[14] = true; logicPortCauseUpdate[14] = true;
logicPortUIName[14] = "B6"; logicPortUIName[14] = "B6";
logicPortType[15] = 1; logicPortType[15] = 1;
logicPortPos[15] = "1 -1 0"; logicPortPos[15] = "1 -1 0";
logicPortDir[15] = 3; logicPortDir[15] = 3;
logicPortCauseUpdate[15] = true; logicPortCauseUpdate[15] = true;
logicPortUIName[15] = "B7"; logicPortUIName[15] = "B7";
logicPortType[16] = 0; logicPortType[16] = 0;
logicPortPos[16] = "15 1 0"; logicPortPos[16] = "15 1 0";
logicPortDir[16] = 1; logicPortDir[16] = 1;
logicPortUIName[16] = "Out0"; logicPortUIName[16] = "Out0";
logicPortType[17] = 0; logicPortType[17] = 0;
logicPortPos[17] = "13 1 0"; logicPortPos[17] = "13 1 0";
logicPortDir[17] = 1; logicPortDir[17] = 1;
logicPortUIName[17] = "Out1"; logicPortUIName[17] = "Out1";
logicPortType[18] = 0; logicPortType[18] = 0;
logicPortPos[18] = "11 1 0"; logicPortPos[18] = "11 1 0";
logicPortDir[18] = 1; logicPortDir[18] = 1;
logicPortUIName[18] = "Out2"; logicPortUIName[18] = "Out2";
logicPortType[19] = 0; logicPortType[19] = 0;
logicPortPos[19] = "9 1 0"; logicPortPos[19] = "9 1 0";
logicPortDir[19] = 1; logicPortDir[19] = 1;
logicPortUIName[19] = "Out3"; logicPortUIName[19] = "Out3";
logicPortType[20] = 0; logicPortType[20] = 0;
logicPortPos[20] = "7 1 0"; logicPortPos[20] = "7 1 0";
logicPortDir[20] = 1; logicPortDir[20] = 1;
logicPortUIName[20] = "Out4"; logicPortUIName[20] = "Out4";
logicPortType[21] = 0; logicPortType[21] = 0;
logicPortPos[21] = "5 1 0"; logicPortPos[21] = "5 1 0";
logicPortDir[21] = 1; logicPortDir[21] = 1;
logicPortUIName[21] = "Out5"; logicPortUIName[21] = "Out5";
logicPortType[22] = 0; logicPortType[22] = 0;
logicPortPos[22] = "3 1 0"; logicPortPos[22] = "3 1 0";
logicPortDir[22] = 1; logicPortDir[22] = 1;
logicPortUIName[22] = "Out6"; logicPortUIName[22] = "Out6";
logicPortType[23] = 0; logicPortType[23] = 0;
logicPortPos[23] = "1 1 0"; logicPortPos[23] = "1 1 0";
logicPortDir[23] = 1; logicPortDir[23] = 1;
logicPortUIName[23] = "Out7"; logicPortUIName[23] = "Out7";
logicPortType[24] = 0; logicPortType[24] = 0;
logicPortPos[24] = "-1 1 0"; logicPortPos[24] = "-1 1 0";
logicPortDir[24] = 1; logicPortDir[24] = 1;
logicPortUIName[24] = "Out8"; logicPortUIName[24] = "Out8";
logicPortType[25] = 0; logicPortType[25] = 0;
logicPortPos[25] = "-3 1 0"; logicPortPos[25] = "-3 1 0";
logicPortDir[25] = 1; logicPortDir[25] = 1;
logicPortUIName[25] = "Out9"; logicPortUIName[25] = "Out9";
logicPortType[26] = 0; logicPortType[26] = 0;
logicPortPos[26] = "-5 1 0"; logicPortPos[26] = "-5 1 0";
logicPortDir[26] = 1; logicPortDir[26] = 1;
logicPortUIName[26] = "Out10"; logicPortUIName[26] = "Out10";
logicPortType[27] = 0; logicPortType[27] = 0;
logicPortPos[27] = "-7 1 0"; logicPortPos[27] = "-7 1 0";
logicPortDir[27] = 1; logicPortDir[27] = 1;
logicPortUIName[27] = "Out11"; logicPortUIName[27] = "Out11";
logicPortType[28] = 0; logicPortType[28] = 0;
logicPortPos[28] = "-9 1 0"; logicPortPos[28] = "-9 1 0";
logicPortDir[28] = 1; logicPortDir[28] = 1;
logicPortUIName[28] = "Out12"; logicPortUIName[28] = "Out12";
logicPortType[29] = 0; logicPortType[29] = 0;
logicPortPos[29] = "-11 1 0"; logicPortPos[29] = "-11 1 0";
logicPortDir[29] = 1; logicPortDir[29] = 1;
logicPortUIName[29] = "Out13"; logicPortUIName[29] = "Out13";
logicPortType[30] = 0; logicPortType[30] = 0;
logicPortPos[30] = "-13 1 0"; logicPortPos[30] = "-13 1 0";
logicPortDir[30] = 1; logicPortDir[30] = 1;
logicPortUIName[30] = "Out14"; logicPortUIName[30] = "Out14";
logicPortType[31] = 0; logicPortType[31] = 0;
logicPortPos[31] = "-15 1 0"; logicPortPos[31] = "-15 1 0";
logicPortDir[31] = 1; logicPortDir[31] = 1;
logicPortUIName[31] = "Out15"; logicPortUIName[31] = "Out15";
}; };
lualogic_registergatedefinition("LogicGate_8bitMultiplier_Data"); lualogic_registergatedefinition("LogicGate_8bitMultiplier_Data");

View File

@ -1,179 +1,179 @@
datablock fxDTSBrickData(LogicGate_8bitSubtractor_Data) datablock fxDTSBrickData(LogicGate_8bitSubtractor_Data)
{ {
brickFile = $LuaLogic::Path @ "bricks/blb/8bitAdder.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/8bitAdder.blb";
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Math"; subCategory = "Math";
uiName = "8bit Subtractor"; uiName = "8bit Subtractor";
iconName = $LuaLogic::Path @ "icons/8bit Subtractor"; iconName = $LuaLogic::Path @ "icons/8bit Subtractor";
hasPrint = 1; hasPrint = 1;
printAspectRatio = "Logic"; printAspectRatio = "Logic";
orientationFix = 3; orientationFix = 3;
isLogic = true; isLogic = true;
isLogicGate = true; isLogicGate = true;
isLogicInput = false; isLogicInput = false;
logicUIName = "8bit Subtractor"; logicUIName = "8bit Subtractor";
logicUIDesc = "Subtracts B from A"; logicUIDesc = "Subtracts B from A";
logicUpdate = "return function(gate) local c = bool_to_int[gate.ports[17].state] " @ logicUpdate = "return function(gate) local c = bool_to_int[gate.ports[17].state] " @
"local a = 0 " @ "local a = 0 " @
"local b = 0 " @ "local b = 0 " @
"for i = 1, 8 do " @ "for i = 1, 8 do " @
"a = bool_to_int[gate.ports[i].state] " @ "a = bool_to_int[gate.ports[i].state] " @
"b = bool_to_int[gate.ports[i+8].state] " @ "b = bool_to_int[gate.ports[i+8].state] " @
"gate.ports[i+17]:setstate(bit.bxor(bit.bxor(a, b), c) == 1) " @ "gate.ports[i+17]:setstate(bit.bxor(bit.bxor(a, b), c) == 1) " @
"c = bit.bor(bit.bor(bit.band(bool_to_int[a == 0], b), bit.band(bool_to_int[a == 0], c)), bit.band(b, c)) " @ "c = bit.bor(bit.bor(bit.band(bool_to_int[a == 0], b), bit.band(bool_to_int[a == 0], c)), bit.band(b, c)) " @
"end " @ "end " @
"gate.ports[26]:setstate(c == 1) end"; "gate.ports[26]:setstate(c == 1) end";
numLogicPorts = 26; numLogicPorts = 26;
logicPortType[0] = 1; logicPortType[0] = 1;
logicPortPos[0] = "-1 -1 0"; logicPortPos[0] = "-1 -1 0";
logicPortDir[0] = 3; logicPortDir[0] = 3;
logicPortCauseUpdate[0] = true; logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "A0"; logicPortUIName[0] = "A0";
logicPortType[1] = 1; logicPortType[1] = 1;
logicPortPos[1] = "-3 -1 0"; logicPortPos[1] = "-3 -1 0";
logicPortDir[1] = 3; logicPortDir[1] = 3;
logicPortCauseUpdate[1] = true; logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "A1"; logicPortUIName[1] = "A1";
logicPortType[2] = 1; logicPortType[2] = 1;
logicPortPos[2] = "-5 -1 0"; logicPortPos[2] = "-5 -1 0";
logicPortDir[2] = 3; logicPortDir[2] = 3;
logicPortCauseUpdate[2] = true; logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "A2"; logicPortUIName[2] = "A2";
logicPortType[3] = 1; logicPortType[3] = 1;
logicPortPos[3] = "-7 -1 0"; logicPortPos[3] = "-7 -1 0";
logicPortDir[3] = 3; logicPortDir[3] = 3;
logicPortCauseUpdate[3] = true; logicPortCauseUpdate[3] = true;
logicPortUIName[3] = "A3"; logicPortUIName[3] = "A3";
logicPortType[4] = 1; logicPortType[4] = 1;
logicPortPos[4] = "-9 -1 0"; logicPortPos[4] = "-9 -1 0";
logicPortDir[4] = 3; logicPortDir[4] = 3;
logicPortCauseUpdate[4] = true; logicPortCauseUpdate[4] = true;
logicPortUIName[4] = "A4"; logicPortUIName[4] = "A4";
logicPortType[5] = 1; logicPortType[5] = 1;
logicPortPos[5] = "-11 -1 0"; logicPortPos[5] = "-11 -1 0";
logicPortDir[5] = 3; logicPortDir[5] = 3;
logicPortCauseUpdate[5] = true; logicPortCauseUpdate[5] = true;
logicPortUIName[5] = "A5"; logicPortUIName[5] = "A5";
logicPortType[6] = 1; logicPortType[6] = 1;
logicPortPos[6] = "-13 -1 0"; logicPortPos[6] = "-13 -1 0";
logicPortDir[6] = 3; logicPortDir[6] = 3;
logicPortCauseUpdate[6] = true; logicPortCauseUpdate[6] = true;
logicPortUIName[6] = "A6"; logicPortUIName[6] = "A6";
logicPortType[7] = 1; logicPortType[7] = 1;
logicPortPos[7] = "-15 -1 0"; logicPortPos[7] = "-15 -1 0";
logicPortDir[7] = 3; logicPortDir[7] = 3;
logicPortCauseUpdate[7] = true; logicPortCauseUpdate[7] = true;
logicPortUIName[7] = "A7"; logicPortUIName[7] = "A7";
logicPortType[8] = 1; logicPortType[8] = 1;
logicPortPos[8] = "15 -1 0"; logicPortPos[8] = "15 -1 0";
logicPortDir[8] = 3; logicPortDir[8] = 3;
logicPortCauseUpdate[8] = true; logicPortCauseUpdate[8] = true;
logicPortUIName[8] = "B0"; logicPortUIName[8] = "B0";
logicPortType[9] = 1; logicPortType[9] = 1;
logicPortPos[9] = "13 -1 0"; logicPortPos[9] = "13 -1 0";
logicPortDir[9] = 3; logicPortDir[9] = 3;
logicPortCauseUpdate[9] = true; logicPortCauseUpdate[9] = true;
logicPortUIName[9] = "B1"; logicPortUIName[9] = "B1";
logicPortType[10] = 1; logicPortType[10] = 1;
logicPortPos[10] = "11 -1 0"; logicPortPos[10] = "11 -1 0";
logicPortDir[10] = 3; logicPortDir[10] = 3;
logicPortCauseUpdate[10] = true; logicPortCauseUpdate[10] = true;
logicPortUIName[10] = "B2"; logicPortUIName[10] = "B2";
logicPortType[11] = 1; logicPortType[11] = 1;
logicPortPos[11] = "9 -1 0"; logicPortPos[11] = "9 -1 0";
logicPortDir[11] = 3; logicPortDir[11] = 3;
logicPortCauseUpdate[11] = true; logicPortCauseUpdate[11] = true;
logicPortUIName[11] = "B3"; logicPortUIName[11] = "B3";
logicPortType[12] = 1; logicPortType[12] = 1;
logicPortPos[12] = "7 -1 0"; logicPortPos[12] = "7 -1 0";
logicPortDir[12] = 3; logicPortDir[12] = 3;
logicPortCauseUpdate[12] = true; logicPortCauseUpdate[12] = true;
logicPortUIName[12] = "B4"; logicPortUIName[12] = "B4";
logicPortType[13] = 1; logicPortType[13] = 1;
logicPortPos[13] = "5 -1 0"; logicPortPos[13] = "5 -1 0";
logicPortDir[13] = 3; logicPortDir[13] = 3;
logicPortCauseUpdate[13] = true; logicPortCauseUpdate[13] = true;
logicPortUIName[13] = "B5"; logicPortUIName[13] = "B5";
logicPortType[14] = 1; logicPortType[14] = 1;
logicPortPos[14] = "3 -1 0"; logicPortPos[14] = "3 -1 0";
logicPortDir[14] = 3; logicPortDir[14] = 3;
logicPortCauseUpdate[14] = true; logicPortCauseUpdate[14] = true;
logicPortUIName[14] = "B6"; logicPortUIName[14] = "B6";
logicPortType[15] = 1; logicPortType[15] = 1;
logicPortPos[15] = "1 -1 0"; logicPortPos[15] = "1 -1 0";
logicPortDir[15] = 3; logicPortDir[15] = 3;
logicPortCauseUpdate[15] = true; logicPortCauseUpdate[15] = true;
logicPortUIName[15] = "B7"; logicPortUIName[15] = "B7";
logicPortType[16] = 1; logicPortType[16] = 1;
logicPortPos[16] = "15 -1 0"; logicPortPos[16] = "15 -1 0";
logicPortDir[16] = 2; logicPortDir[16] = 2;
logicPortCauseUpdate[16] = true; logicPortCauseUpdate[16] = true;
logicPortUIName[16] = "Borrow In"; logicPortUIName[16] = "Borrow In";
logicPortType[17] = 0; logicPortType[17] = 0;
logicPortPos[17] = "15 1 0"; logicPortPos[17] = "15 1 0";
logicPortDir[17] = 1; logicPortDir[17] = 1;
logicPortUIName[17] = "Diff0"; logicPortUIName[17] = "Diff0";
logicPortType[18] = 0; logicPortType[18] = 0;
logicPortPos[18] = "13 1 0"; logicPortPos[18] = "13 1 0";
logicPortDir[18] = 1; logicPortDir[18] = 1;
logicPortUIName[18] = "Diff1"; logicPortUIName[18] = "Diff1";
logicPortType[19] = 0; logicPortType[19] = 0;
logicPortPos[19] = "11 1 0"; logicPortPos[19] = "11 1 0";
logicPortDir[19] = 1; logicPortDir[19] = 1;
logicPortUIName[19] = "Diff2"; logicPortUIName[19] = "Diff2";
logicPortType[20] = 0; logicPortType[20] = 0;
logicPortPos[20] = "9 1 0"; logicPortPos[20] = "9 1 0";
logicPortDir[20] = 1; logicPortDir[20] = 1;
logicPortUIName[20] = "Diff3"; logicPortUIName[20] = "Diff3";
logicPortType[21] = 0; logicPortType[21] = 0;
logicPortPos[21] = "7 1 0"; logicPortPos[21] = "7 1 0";
logicPortDir[21] = 1; logicPortDir[21] = 1;
logicPortUIName[21] = "Diff4"; logicPortUIName[21] = "Diff4";
logicPortType[22] = 0; logicPortType[22] = 0;
logicPortPos[22] = "5 1 0"; logicPortPos[22] = "5 1 0";
logicPortDir[22] = 1; logicPortDir[22] = 1;
logicPortUIName[22] = "Diff5"; logicPortUIName[22] = "Diff5";
logicPortType[23] = 0; logicPortType[23] = 0;
logicPortPos[23] = "3 1 0"; logicPortPos[23] = "3 1 0";
logicPortDir[23] = 1; logicPortDir[23] = 1;
logicPortUIName[23] = "Diff6"; logicPortUIName[23] = "Diff6";
logicPortType[24] = 0; logicPortType[24] = 0;
logicPortPos[24] = "1 1 0"; logicPortPos[24] = "1 1 0";
logicPortDir[24] = 1; logicPortDir[24] = 1;
logicPortUIName[24] = "Diff7"; logicPortUIName[24] = "Diff7";
logicPortType[25] = 0; logicPortType[25] = 0;
logicPortPos[25] = "-15 -1 0"; logicPortPos[25] = "-15 -1 0";
logicPortDir[25] = 0; logicPortDir[25] = 0;
logicPortUIName[25] = "Borrow Out"; logicPortUIName[25] = "Borrow Out";
}; };
lualogic_registergatedefinition("LogicGate_8bitSubtractor_Data"); lualogic_registergatedefinition("LogicGate_8bitSubtractor_Data");

View File

@ -1,53 +1,53 @@
datablock fxDTSBrickData(LogicGate_FullAdder_Data) datablock fxDTSBrickData(LogicGate_FullAdder_Data)
{ {
brickFile = $LuaLogic::Path @ "bricks/blb/FullAdder.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/FullAdder.blb";
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Math"; subCategory = "Math";
uiName = "Full Adder"; uiName = "Full Adder";
iconName = $LuaLogic::Path @ "icons/Full Adder"; iconName = $LuaLogic::Path @ "icons/Full Adder";
hasPrint = 1; hasPrint = 1;
printAspectRatio = "Logic"; printAspectRatio = "Logic";
orientationFix = 3; orientationFix = 3;
isLogic = true; isLogic = true;
isLogicGate = true; isLogicGate = true;
isLogicInput = false; isLogicInput = false;
logicUIName = "Full Adder"; logicUIName = "Full Adder";
logicUIDesc = "Adds A and B with carry in"; logicUIDesc = "Adds A and B with carry in";
logicUpdate = "return function(gate) local a, b, c = bool_to_int[gate.ports[1].state], bool_to_int[gate.ports[2].state], bool_to_int[gate.ports[3].state] " @ logicUpdate = "return function(gate) local a, b, c = bool_to_int[gate.ports[1].state], bool_to_int[gate.ports[2].state], bool_to_int[gate.ports[3].state] " @
"gate.ports[4]:setstate(bit.bxor(bit.bxor(a, b), c) == 1) " @ "gate.ports[4]:setstate(bit.bxor(bit.bxor(a, b), c) == 1) " @
"gate.ports[5]:setstate(bit.bor(bit.bor(bit.band(b, c), bit.band(a, c)), bit.band(a, b)) == 1) end"; "gate.ports[5]:setstate(bit.bor(bit.bor(bit.band(b, c), bit.band(a, c)), bit.band(a, b)) == 1) end";
numLogicPorts = 5; numLogicPorts = 5;
logicPortType[0] = 1; logicPortType[0] = 1;
logicPortPos[0] = "-1 0 0"; logicPortPos[0] = "-1 0 0";
logicPortDir[0] = 3; logicPortDir[0] = 3;
logicPortCauseUpdate[0] = true; logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "A"; logicPortUIName[0] = "A";
logicPortType[1] = 1; logicPortType[1] = 1;
logicPortPos[1] = "1 0 0"; logicPortPos[1] = "1 0 0";
logicPortDir[1] = 3; logicPortDir[1] = 3;
logicPortCauseUpdate[1] = true; logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "B"; logicPortUIName[1] = "B";
logicPortType[2] = 1; logicPortType[2] = 1;
logicPortPos[2] = "1 0 0"; logicPortPos[2] = "1 0 0";
logicPortDir[2] = 2; logicPortDir[2] = 2;
logicPortCauseUpdate[2] = true; logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "Carry In"; logicPortUIName[2] = "Carry In";
logicPortType[3] = 0; logicPortType[3] = 0;
logicPortPos[3] = "-1 0 0"; logicPortPos[3] = "-1 0 0";
logicPortDir[3] = 1; logicPortDir[3] = 1;
logicPortUIName[3] = "Sum"; logicPortUIName[3] = "Sum";
logicPortType[4] = 0; logicPortType[4] = 0;
logicPortPos[4] = "-1 0 0"; logicPortPos[4] = "-1 0 0";
logicPortDir[4] = 0; logicPortDir[4] = 0;
logicPortUIName[4] = "Carry Out"; logicPortUIName[4] = "Carry Out";
}; };
lualogic_registergatedefinition("LogicGate_FullAdder_Data"); lualogic_registergatedefinition("LogicGate_FullAdder_Data");

View File

@ -1,53 +1,53 @@
datablock fxDTSBrickData(LogicGate_FullSubtractor_Data) datablock fxDTSBrickData(LogicGate_FullSubtractor_Data)
{ {
brickFile = $LuaLogic::Path @ "bricks/blb/FullAdder.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/FullAdder.blb";
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Math"; subCategory = "Math";
uiName = "Full Subtractor"; uiName = "Full Subtractor";
iconName = $LuaLogic::Path @ "icons/Full Subtractor"; iconName = $LuaLogic::Path @ "icons/Full Subtractor";
hasPrint = 1; hasPrint = 1;
printAspectRatio = "Logic"; printAspectRatio = "Logic";
orientationFix = 3; orientationFix = 3;
isLogic = true; isLogic = true;
isLogicGate = true; isLogicGate = true;
isLogicInput = false; isLogicInput = false;
logicUIName = "Full Subtractor"; logicUIName = "Full Subtractor";
logicUIDesc = "Subtracts B from A with borrow in"; logicUIDesc = "Subtracts B from A with borrow in";
logicUpdate = "return function(gate) local a, b, c = bool_to_int[gate.ports[1].state], bool_to_int[gate.ports[2].state], bool_to_int[gate.ports[3].state] " @ logicUpdate = "return function(gate) local a, b, c = bool_to_int[gate.ports[1].state], bool_to_int[gate.ports[2].state], bool_to_int[gate.ports[3].state] " @
"gate.ports[4]:setstate(bit.bxor(bit.bxor(a, b), c) == 1) " @ "gate.ports[4]:setstate(bit.bxor(bit.bxor(a, b), c) == 1) " @
"gate.ports[5]:setstate(not gate.ports[1].state and gate.ports[2].state or not (bit.bxor(a, b) == 1) and gate.ports[3].state) end"; "gate.ports[5]:setstate(not gate.ports[1].state and gate.ports[2].state or not (bit.bxor(a, b) == 1) and gate.ports[3].state) end";
numLogicPorts = 5; numLogicPorts = 5;
logicPortType[0] = 1; logicPortType[0] = 1;
logicPortPos[0] = "-1 0 0"; logicPortPos[0] = "-1 0 0";
logicPortDir[0] = 3; logicPortDir[0] = 3;
logicPortCauseUpdate[0] = true; logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "A"; logicPortUIName[0] = "A";
logicPortType[1] = 1; logicPortType[1] = 1;
logicPortPos[1] = "1 0 0"; logicPortPos[1] = "1 0 0";
logicPortDir[1] = 3; logicPortDir[1] = 3;
logicPortCauseUpdate[1] = true; logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "B"; logicPortUIName[1] = "B";
logicPortType[2] = 1; logicPortType[2] = 1;
logicPortPos[2] = "1 0 0"; logicPortPos[2] = "1 0 0";
logicPortDir[2] = 2; logicPortDir[2] = 2;
logicPortCauseUpdate[2] = true; logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "Borrow In"; logicPortUIName[2] = "Borrow In";
logicPortType[3] = 0; logicPortType[3] = 0;
logicPortPos[3] = "-1 0 0"; logicPortPos[3] = "-1 0 0";
logicPortDir[3] = 1; logicPortDir[3] = 1;
logicPortUIName[3] = "Difference"; logicPortUIName[3] = "Difference";
logicPortType[4] = 0; logicPortType[4] = 0;
logicPortPos[4] = "-1 0 0"; logicPortPos[4] = "-1 0 0";
logicPortDir[4] = 0; logicPortDir[4] = 0;
logicPortUIName[4] = "Borrow Out"; logicPortUIName[4] = "Borrow Out";
}; };
lualogic_registergatedefinition("LogicGate_FullSubtractor_Data"); lualogic_registergatedefinition("LogicGate_FullSubtractor_Data");

View File

@ -1,46 +1,46 @@
datablock fxDTSBrickData(LogicGate_HalfAdder_Data) datablock fxDTSBrickData(LogicGate_HalfAdder_Data)
{ {
brickFile = $LuaLogic::Path @ "bricks/blb/HalfAdder.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/HalfAdder.blb";
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Math"; subCategory = "Math";
uiName = "Half Adder"; uiName = "Half Adder";
iconName = $LuaLogic::Path @ "icons/Half Adder"; iconName = $LuaLogic::Path @ "icons/Half Adder";
hasPrint = 1; hasPrint = 1;
printAspectRatio = "Logic"; printAspectRatio = "Logic";
orientationFix = 3; orientationFix = 3;
isLogic = true; isLogic = true;
isLogicGate = true; isLogicGate = true;
isLogicInput = false; isLogicInput = false;
logicUIName = "Half Adder"; logicUIName = "Half Adder";
logicUIDesc = "Adds A and B"; logicUIDesc = "Adds A and B";
logicUpdate = "return function(gate) gate.ports[3]:setstate(bit.bxor(bool_to_int[gate.ports[1].state], bool_to_int[gate.ports[2].state]) == 1) " @ logicUpdate = "return function(gate) gate.ports[3]:setstate(bit.bxor(bool_to_int[gate.ports[1].state], bool_to_int[gate.ports[2].state]) == 1) " @
"gate.ports[4]:setstate(gate.ports[1].state and gate.ports[2].state) end"; "gate.ports[4]:setstate(gate.ports[1].state and gate.ports[2].state) end";
numLogicPorts = 4; numLogicPorts = 4;
logicPortType[0] = 1; logicPortType[0] = 1;
logicPortPos[0] = "-1 0 0"; logicPortPos[0] = "-1 0 0";
logicPortDir[0] = 3; logicPortDir[0] = 3;
logicPortCauseUpdate[0] = true; logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "A"; logicPortUIName[0] = "A";
logicPortType[1] = 1; logicPortType[1] = 1;
logicPortPos[1] = "1 0 0"; logicPortPos[1] = "1 0 0";
logicPortDir[1] = 3; logicPortDir[1] = 3;
logicPortCauseUpdate[1] = true; logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "B"; logicPortUIName[1] = "B";
logicPortType[2] = 0; logicPortType[2] = 0;
logicPortPos[2] = "-1 0 0"; logicPortPos[2] = "-1 0 0";
logicPortDir[2] = 1; logicPortDir[2] = 1;
logicPortUIName[2] = "Sum"; logicPortUIName[2] = "Sum";
logicPortType[3] = 0; logicPortType[3] = 0;
logicPortPos[3] = "-1 0 0"; logicPortPos[3] = "-1 0 0";
logicPortDir[3] = 0; logicPortDir[3] = 0;
logicPortUIName[3] = "Carry"; logicPortUIName[3] = "Carry";
}; };
lualogic_registergatedefinition("LogicGate_HalfAdder_Data"); lualogic_registergatedefinition("LogicGate_HalfAdder_Data");

View File

@ -1,46 +1,46 @@
datablock fxDTSBrickData(LogicGate_HalfSubtractor_Data) datablock fxDTSBrickData(LogicGate_HalfSubtractor_Data)
{ {
brickFile = $LuaLogic::Path @ "bricks/blb/HalfAdder.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/HalfAdder.blb";
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Math"; subCategory = "Math";
uiName = "Half Subtractor"; uiName = "Half Subtractor";
iconName = $LuaLogic::Path @ "icons/Half Subtractor"; iconName = $LuaLogic::Path @ "icons/Half Subtractor";
hasPrint = 1; hasPrint = 1;
printAspectRatio = "Logic"; printAspectRatio = "Logic";
orientationFix = 3; orientationFix = 3;
isLogic = true; isLogic = true;
isLogicGate = true; isLogicGate = true;
isLogicInput = false; isLogicInput = false;
logicUIName = "Half Subtractor"; logicUIName = "Half Subtractor";
logicUIDesc = "Subtracts B from A"; logicUIDesc = "Subtracts B from A";
logicUpdate = "return function(gate) gate.ports[3]:setstate(bit.bxor(bool_to_int[gate.ports[1].state], bool_to_int[gate.ports[2].state]) == 1) " @ logicUpdate = "return function(gate) gate.ports[3]:setstate(bit.bxor(bool_to_int[gate.ports[1].state], bool_to_int[gate.ports[2].state]) == 1) " @
"gate.ports[4]:setstate(not gate.ports[1].state and gate.ports[2].state) end"; "gate.ports[4]:setstate(not gate.ports[1].state and gate.ports[2].state) end";
numLogicPorts = 4; numLogicPorts = 4;
logicPortType[0] = 1; logicPortType[0] = 1;
logicPortPos[0] = "-1 0 0"; logicPortPos[0] = "-1 0 0";
logicPortDir[0] = 3; logicPortDir[0] = 3;
logicPortCauseUpdate[0] = true; logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "A"; logicPortUIName[0] = "A";
logicPortType[1] = 1; logicPortType[1] = 1;
logicPortPos[1] = "1 0 0"; logicPortPos[1] = "1 0 0";
logicPortDir[1] = 3; logicPortDir[1] = 3;
logicPortCauseUpdate[1] = true; logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "B"; logicPortUIName[1] = "B";
logicPortType[2] = 0; logicPortType[2] = 0;
logicPortPos[2] = "-1 0 0"; logicPortPos[2] = "-1 0 0";
logicPortDir[2] = 1; logicPortDir[2] = 1;
logicPortUIName[2] = "Difference"; logicPortUIName[2] = "Difference";
logicPortType[3] = 0; logicPortType[3] = 0;
logicPortPos[3] = "-1 0 0"; logicPortPos[3] = "-1 0 0";
logicPortDir[3] = 0; logicPortDir[3] = 0;
logicPortUIName[3] = "Borrow"; logicPortUIName[3] = "Borrow";
}; };
lualogic_registergatedefinition("LogicGate_HalfSubtractor_Data"); lualogic_registergatedefinition("LogicGate_HalfSubtractor_Data");

View File

@ -1,17 +1,17 @@
datablock fxDTSBrickData(LogicGate_DFlipFlop_Data : LogicGate_OR_Data) datablock fxDTSBrickData(LogicGate_DFlipFlop_Data : LogicGate_OR_Data)
{ {
subCategory = "Memory"; subCategory = "Memory";
uiName = "D FlipFlop"; uiName = "D FlipFlop";
iconName = $LuaLogic::Path @ "icons/D FlipFlop"; iconName = $LuaLogic::Path @ "icons/D FlipFlop";
logicUIName = "D FlipFlop"; logicUIName = "D FlipFlop";
logicUIDesc = "Q becomes D when C rises"; logicUIDesc = "Q becomes D when C rises";
logicUpdate = "return function(gate) if gate.ports[1]:isrising() then gate.ports[3]:setstate(gate.ports[2].state) end end"; logicUpdate = "return function(gate) if gate.ports[1]:isrising() then gate.ports[3]:setstate(gate.ports[2].state) end end";
logicPortUIName[0] = "C"; logicPortUIName[0] = "C";
logicPortCauseUpdate[1] = false; logicPortCauseUpdate[1] = false;
logicPortUIName[1] = "D"; logicPortUIName[1] = "D";
logicPortUIName[2] = "Q"; logicPortUIName[2] = "Q";
}; };
lualogic_registergatedefinition("LogicGate_DFlipFlop_Data"); lualogic_registergatedefinition("LogicGate_DFlipFlop_Data");

View File

@ -1,60 +1,60 @@
datablock fxDTSBrickData(LogicGate_DFlipflopGridMemory2_Data) datablock fxDTSBrickData(LogicGate_DFlipflopGridMemory2_Data)
{ {
brickFile = $LuaLogic::Path @ "bricks/blb/DFlipflopGridMemory2.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/DFlipflopGridMemory2.blb";
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Memory"; subCategory = "Memory";
uiName = "D Flipflop Grid Memory 2"; uiName = "D Flipflop Grid Memory 2";
iconName = $LuaLogic::Path @ "icons/D Flipflop Grid Memory 2"; iconName = $LuaLogic::Path @ "icons/D Flipflop Grid Memory 2";
hasPrint = 1; hasPrint = 1;
printAspectRatio = "Logic"; printAspectRatio = "Logic";
orientationFix = 3; orientationFix = 3;
isLogic = true; isLogic = true;
isLogicGate = true; isLogicGate = true;
isLogicInput = false; isLogicInput = false;
logicUIName = "D Flipflop Grid Memory 2"; logicUIName = "D Flipflop Grid Memory 2";
logicUIDesc = "D Flipflop where Clk = C & A & B, R = Q & A & B"; logicUIDesc = "D Flipflop where Clk = C & A & B, R = Q & A & B";
logicUpdate = "return function(gate) if gate.ports[3].state and gate.ports[4].state and gate.ports[6]:isrising() then " @ logicUpdate = "return function(gate) if gate.ports[3].state and gate.ports[4].state and gate.ports[6]:isrising() then " @
" gate.ports[1]:setstate(gate.ports[5].state) " @ " gate.ports[1]:setstate(gate.ports[5].state) " @
"end " @ "end " @
"gate.ports[2]:setstate(gate.ports[3].state and gate.ports[4].state and gate.ports[1].state) end"; "gate.ports[2]:setstate(gate.ports[3].state and gate.ports[4].state and gate.ports[1].state) end";
numLogicPorts = 6; numLogicPorts = 6;
logicPortType[0] = 0; logicPortType[0] = 0;
logicPortPos[0] = "0 0 4"; logicPortPos[0] = "0 0 4";
logicPortDir[0] = 4; logicPortDir[0] = 4;
logicPortUIName[0] = "Q"; logicPortUIName[0] = "Q";
logicPortType[1] = 0; logicPortType[1] = 0;
logicPortPos[1] = "0 0 4"; logicPortPos[1] = "0 0 4";
logicPortDir[1] = 1; logicPortDir[1] = 1;
logicPortUIName[1] = "Readout"; logicPortUIName[1] = "Readout";
logicPortType[2] = 1; logicPortType[2] = 1;
logicPortPos[2] = "0 0 0"; logicPortPos[2] = "0 0 0";
logicPortDir[2] = 2; logicPortDir[2] = 2;
logicPortCauseUpdate[2] = true; logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "A"; logicPortUIName[2] = "A";
logicPortType[3] = 1; logicPortType[3] = 1;
logicPortPos[3] = "0 0 2"; logicPortPos[3] = "0 0 2";
logicPortDir[3] = 1; logicPortDir[3] = 1;
logicPortCauseUpdate[3] = true; logicPortCauseUpdate[3] = true;
logicPortUIName[3] = "B"; logicPortUIName[3] = "B";
logicPortType[4] = 1; logicPortType[4] = 1;
logicPortPos[4] = "0 0 -4"; logicPortPos[4] = "0 0 -4";
logicPortDir[4] = 1; logicPortDir[4] = 1;
logicPortCauseUpdate[4] = false; logicPortCauseUpdate[4] = false;
logicPortUIName[4] = "Data"; logicPortUIName[4] = "Data";
logicPortType[5] = 1; logicPortType[5] = 1;
logicPortPos[5] = "0 0 -2"; logicPortPos[5] = "0 0 -2";
logicPortDir[5] = 1; logicPortDir[5] = 1;
logicPortCauseUpdate[5] = true; logicPortCauseUpdate[5] = true;
logicPortUIName[5] = "Clock"; logicPortUIName[5] = "Clock";
}; };
lualogic_registergatedefinition("LogicGate_DFlipflopGridMemory2_Data"); lualogic_registergatedefinition("LogicGate_DFlipflopGridMemory2_Data");

View File

@ -1,48 +0,0 @@
datablock fxDTSBrickData(LogicGate_HorizontalPixel_Data)
{
brickFile = $LuaLogic::Path @ "bricks/blb/pixels/HPixel.blb";
category = "Logic Bricks";
subCategory = "Outputs";
uiName = "Horizontal Pixel";
iconName = $LuaLogic::Path @ "icons/Horizontal Pixel";
hasPrint = 1;
printAspectRatio = "Logic";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicUIName = "Horizontal Pixel";
logicUIDesc = "";
logicUpdate = "return function(gate) gate:cb(\"3\t\" .. bool_to_int[gate.ports[1].state] .. \"\t\" .. bool_to_int[gate.ports[2].state] .. \"\t\" .. bool_to_int[gate.ports[3].state]) end";
numLogicPorts = 3;
logicPortType[0] = 1;
logicPortPos[0] = "-1 1 0";
logicPortDir[0] = 5;
logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "R";
logicPortType[1] = 1;
logicPortPos[1] = "-1 -1 0";
logicPortDir[1] = 5;
logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "G";
logicPortType[2] = 1;
logicPortPos[2] = "1 -1 0";
logicPortDir[2] = 5;
logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "B";
};
lualogic_registergatedefinition("LogicGate_HorizontalPixel_Data");
function LogicGate_HorizontalPixel_Data::LuaLogic_Callback(%this, %obj, %data)
{
%color = getField(%data, 0) @ getField(%data, 1) @ getField(%data, 2);
if(lualogic_isprint("COLOR" @ %color))
%obj.setPrint(lualogic_getprint("COLOR" @ %color));
}

View File

@ -1,48 +1,91 @@
datablock fxDTSBrickData(LogicGate_Pixel_Data) datablock fxDTSBrickData(LogicGate_Pixel_Data)
{ {
brickFile = $LuaLogic::Path @ "bricks/blb/pixels/pixel.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/pixels/pixel.blb";
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Outputs"; subCategory = "Outputs";
uiName = "Pixel"; uiName = "Pixel";
iconName = $LuaLogic::Path @ "icons/Pixel"; iconName = $LuaLogic::Path @ "icons/Pixel";
hasPrint = 1; hasPrint = 1;
printAspectRatio = "Logic"; printAspectRatio = "Logic";
orientationFix = 3; orientationFix = 3;
isLogic = true; isLogic = true;
isLogicGate = true; isLogicGate = true;
isLogicInput = false; isLogicInput = false;
logicUIName = "Pixel"; logicUIName = "Pixel";
logicUIDesc = ""; logicUIDesc = "";
logicUpdate = "return function(gate) gate:cb(\"3\t\" .. bool_to_int[gate.ports[1].state] .. \"\t\" .. bool_to_int[gate.ports[2].state] .. \"\t\" .. bool_to_int[gate.ports[3].state]) end"; logicUpdate = "return function(gate) gate:cb(bool_to_int[gate.ports[1].state] .. bool_to_int[gate.ports[2].state] .. bool_to_int[gate.ports[3].state]) end";
numLogicPorts = 3; numLogicPorts = 3;
logicPortType[0] = 1; logicPortType[0] = 1;
logicPortPos[0] = "-1 0 -4"; logicPortPos[0] = "-1 0 -4";
logicPortDir[0] = 3; logicPortDir[0] = 3;
logicPortCauseUpdate[0] = true; logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "R"; logicPortUIName[0] = "R";
logicPortType[1] = 1; logicPortType[1] = 1;
logicPortPos[1] = "-1 0 0"; logicPortPos[1] = "-1 0 0";
logicPortDir[1] = 3; logicPortDir[1] = 3;
logicPortCauseUpdate[1] = true; logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "G"; logicPortUIName[1] = "G";
logicPortType[2] = 1; logicPortType[2] = 1;
logicPortPos[2] = "-1 0 4"; logicPortPos[2] = "-1 0 4";
logicPortDir[2] = 3; logicPortDir[2] = 3;
logicPortCauseUpdate[2] = true; logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "B"; logicPortUIName[2] = "B";
}; };
lualogic_registergatedefinition("LogicGate_Pixel_Data"); lualogic_registergatedefinition("LogicGate_Pixel_Data");
function LogicGate_Pixel_Data::LuaLogic_Callback(%this, %obj, %data) datablock fxDTSBrickData(LogicGate_HorizontalPixel_Data : LogicGate_Pixel_Data)
{ {
%color = getField(%data, 0) @ getField(%data, 1) @ getField(%data, 2); brickFile = $LuaLogic::Path @ "bricks/blb/pixels/HPixel.blb";
if(lualogic_isprint("COLOR" @ %color)) category = "Logic Bricks";
%obj.setPrint(lualogic_getprint("COLOR" @ %color)); subCategory = "Outputs";
} uiName = "Horizontal Pixel";
iconName = $LuaLogic::Path @ "icons/Horizontal Pixel";
hasPrint = 1;
printAspectRatio = "Logic";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicUIName = "Horizontal Pixel";
logicUIDesc = "";
numLogicPorts = 3;
logicPortType[0] = 1;
logicPortPos[0] = "-1 1 0";
logicPortDir[0] = 5;
logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "R";
logicPortType[1] = 1;
logicPortPos[1] = "-1 -1 0";
logicPortDir[1] = 5;
logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "G";
logicPortType[2] = 1;
logicPortPos[2] = "1 -1 0";
logicPortDir[2] = 5;
logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "B";
};
lualogic_registergatedefinition("LogicGate_HorizontalPixel_Data");
function LogicGate_Pixel_Data::LuaLogic_Callback(%this, %brick, %color){
if(lualogic_isprint("COLOR" @ %color))
%brick.setPrint(lualogic_getprint("COLOR" @ %color));
}
function LogicGate_HorizontalPixel_Data::LuaLogic_Callback(%this, %obj, %data)
{
LogicGate_Pixel_Data::LuaLogic_Callback(%this, %obj, %data);
}

View File

@ -1,359 +1,359 @@
datablock fxDTSBrickData(LogicWire1x1fData : brick1x1fData) datablock fxDTSBrickData(LogicWire1x1fData : brick1x1fData)
{ {
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Wires"; subCategory = "Wires";
uiName = "Wire 1x1f"; uiName = "Wire 1x1f";
iconName = $LuaLogic::Path @ "icons/Wire 1x1f"; iconName = $LuaLogic::Path @ "icons/Wire 1x1f";
isLogic = true; isLogic = true;
isLogicWire = true; isLogicWire = true;
}; };
datablock fxDTSBrickData(LogicWire1x2fData : brick1x2fData) datablock fxDTSBrickData(LogicWire1x2fData : brick1x2fData)
{ {
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Wires"; subCategory = "Wires";
uiName = "Wire 1x2f"; uiName = "Wire 1x2f";
iconName = $LuaLogic::Path @ "icons/Wire 1x2f"; iconName = $LuaLogic::Path @ "icons/Wire 1x2f";
isLogic = true; isLogic = true;
isLogicWire = true; isLogicWire = true;
}; };
datablock fxDTSBrickData(LogicWire1x3fData : brick1x3fData) datablock fxDTSBrickData(LogicWire1x3fData : brick1x3fData)
{ {
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Wires"; subCategory = "Wires";
uiName = "Wire 1x3f"; uiName = "Wire 1x3f";
iconName = $LuaLogic::Path @ "icons/Wire 1x3f"; iconName = $LuaLogic::Path @ "icons/Wire 1x3f";
isLogic = true; isLogic = true;
isLogicWire = true; isLogicWire = true;
}; };
datablock fxDTSBrickData(LogicWire1x4fData : brick1x4fData) datablock fxDTSBrickData(LogicWire1x4fData : brick1x4fData)
{ {
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Wires"; subCategory = "Wires";
uiName = "Wire 1x4f"; uiName = "Wire 1x4f";
iconName = $LuaLogic::Path @ "icons/Wire 1x4f"; iconName = $LuaLogic::Path @ "icons/Wire 1x4f";
isLogic = true; isLogic = true;
isLogicWire = true; isLogicWire = true;
}; };
datablock fxDTSBrickData(LogicWire1x5fData : LogicWire1x4fData) datablock fxDTSBrickData(LogicWire1x5fData : LogicWire1x4fData)
{ {
uiName = "Wire 1x5f"; uiName = "Wire 1x5f";
iconName = $LuaLogic::Path @ "icons/Wire 1x5f"; iconName = $LuaLogic::Path @ "icons/Wire 1x5f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x5f.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x5f.blb";
}; };
datablock fxDTSBrickData(LogicWire1x6fData : brick1x6fData) datablock fxDTSBrickData(LogicWire1x6fData : brick1x6fData)
{ {
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Wires"; subCategory = "Wires";
uiName = "Wire 1x6f"; uiName = "Wire 1x6f";
iconName = $LuaLogic::Path @ "icons/Wire 1x6f"; iconName = $LuaLogic::Path @ "icons/Wire 1x6f";
isLogic = true; isLogic = true;
isLogicWire = true; isLogicWire = true;
}; };
datablock fxDTSBrickData(LogicWire1x7fData : LogicWire1x5fData) datablock fxDTSBrickData(LogicWire1x7fData : LogicWire1x5fData)
{ {
uiName = "Wire 1x7f"; uiName = "Wire 1x7f";
iconName = $LuaLogic::Path @ "icons/Wire 1x7f"; iconName = $LuaLogic::Path @ "icons/Wire 1x7f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x7f.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x7f.blb";
}; };
datablock fxDTSBrickData(LogicWire1x8fData : brick1x8fData) datablock fxDTSBrickData(LogicWire1x8fData : brick1x8fData)
{ {
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Wires"; subCategory = "Wires";
uiName = "Wire 1x8f"; uiName = "Wire 1x8f";
iconName = $LuaLogic::Path @ "icons/Wire 1x8f"; iconName = $LuaLogic::Path @ "icons/Wire 1x8f";
isLogic = true; isLogic = true;
isLogicWire = true; isLogicWire = true;
}; };
datablock fxDTSBrickData(LogicWire1x9fData : LogicWire1x5fData) datablock fxDTSBrickData(LogicWire1x9fData : LogicWire1x5fData)
{ {
uiName = "Wire 1x9f"; uiName = "Wire 1x9f";
iconName = $LuaLogic::Path @ "icons/Wire 1x9f"; iconName = $LuaLogic::Path @ "icons/Wire 1x9f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x9f.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x9f.blb";
}; };
datablock fxDTSBrickData(LogicWire1x10fData : brick1x10fData) datablock fxDTSBrickData(LogicWire1x10fData : brick1x10fData)
{ {
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Wires"; subCategory = "Wires";
uiName = "Wire 1x10f"; uiName = "Wire 1x10f";
iconName = $LuaLogic::Path @ "icons/Wire 1x10f"; iconName = $LuaLogic::Path @ "icons/Wire 1x10f";
isLogic = true; isLogic = true;
isLogicWire = true; isLogicWire = true;
}; };
datablock fxDTSBrickData(LogicWire1x11fData : LogicWire1x5fData) datablock fxDTSBrickData(LogicWire1x11fData : LogicWire1x5fData)
{ {
uiName = "Wire 1x11f"; uiName = "Wire 1x11f";
iconName = $LuaLogic::Path @ "icons/Wire 1x11f"; iconName = $LuaLogic::Path @ "icons/Wire 1x11f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x11f.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x11f.blb";
}; };
datablock fxDTSBrickData(LogicWire1x12fData : brick1x12fData) datablock fxDTSBrickData(LogicWire1x12fData : brick1x12fData)
{ {
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Wires"; subCategory = "Wires";
uiName = "Wire 1x12f"; uiName = "Wire 1x12f";
iconName = $LuaLogic::Path @ "icons/Wire 1x12f"; iconName = $LuaLogic::Path @ "icons/Wire 1x12f";
isLogic = true; isLogic = true;
isLogicWire = true; isLogicWire = true;
}; };
datablock fxDTSBrickData(LogicWire1x13fData : LogicWire1x5fData) datablock fxDTSBrickData(LogicWire1x13fData : LogicWire1x5fData)
{ {
uiName = "Wire 1x13f"; uiName = "Wire 1x13f";
iconName = $LuaLogic::Path @ "icons/Wire 1x13f"; iconName = $LuaLogic::Path @ "icons/Wire 1x13f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x13f.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x13f.blb";
}; };
datablock fxDTSBrickData(LogicWire1x14fData : LogicWire1x5fData) datablock fxDTSBrickData(LogicWire1x14fData : LogicWire1x5fData)
{ {
uiName = "Wire 1x14f"; uiName = "Wire 1x14f";
iconName = $LuaLogic::Path @ "icons/Wire 1x14f"; iconName = $LuaLogic::Path @ "icons/Wire 1x14f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x14f.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x14f.blb";
}; };
datablock fxDTSBrickData(LogicWire1x15fData : LogicWire1x5fData) datablock fxDTSBrickData(LogicWire1x15fData : LogicWire1x5fData)
{ {
uiName = "Wire 1x15f"; uiName = "Wire 1x15f";
iconName = $LuaLogic::Path @ "icons/Wire 1x15f"; iconName = $LuaLogic::Path @ "icons/Wire 1x15f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x15f.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x15f.blb";
}; };
datablock fxDTSBrickData(LogicWire1x16fData : brick1x16fData) datablock fxDTSBrickData(LogicWire1x16fData : brick1x16fData)
{ {
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Wires"; subCategory = "Wires";
uiName = "Wire 1x16f"; uiName = "Wire 1x16f";
iconName = $LuaLogic::Path @ "icons/Wire 1x16f"; iconName = $LuaLogic::Path @ "icons/Wire 1x16f";
isLogic = true; isLogic = true;
isLogicWire = true; isLogicWire = true;
}; };
datablock fxDTSBrickData(LogicWire1x32fData : LogicWire1x5fData) datablock fxDTSBrickData(LogicWire1x32fData : LogicWire1x5fData)
{ {
uiName = "Wire 1x32f"; uiName = "Wire 1x32f";
iconName = $LuaLogic::Path @ "icons/Wire 1x32f"; iconName = $LuaLogic::Path @ "icons/Wire 1x32f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x32f.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x32f.blb";
}; };
datablock fxDTSBrickData(LogicWire1x64fData : LogicWire1x5fData) datablock fxDTSBrickData(LogicWire1x64fData : LogicWire1x5fData)
{ {
uiName = "Wire 1x64f"; uiName = "Wire 1x64f";
iconName = $LuaLogic::Path @ "icons/Wire 1x64f"; iconName = $LuaLogic::Path @ "icons/Wire 1x64f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x64f.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x64f.blb";
}; };
datablock fxDTSBrickData(LogicWire1x1x2Data : LogicWire1x64fData) datablock fxDTSBrickData(LogicWire1x1x2Data : LogicWire1x64fData)
{ {
uiName = "Wire 1x1x2"; uiName = "Wire 1x1x2";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x2"; iconName = $LuaLogic::Path @ "icons/Wire 1x1x2";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x2.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x2.blb";
}; };
datablock fxDTSBrickData(LogicWire1x1x3Data : brick1x1Data) datablock fxDTSBrickData(LogicWire1x1x3Data : brick1x1Data)
{ {
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Wires"; subCategory = "Wires";
uiName = "Wire 1x1x3"; uiName = "Wire 1x1x3";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x3"; iconName = $LuaLogic::Path @ "icons/Wire 1x1x3";
isLogic = true; isLogic = true;
isLogicWire = true; isLogicWire = true;
}; };
datablock fxDTSBrickData(LogicWire1x1x4Data : LogicWire1x64fData) datablock fxDTSBrickData(LogicWire1x1x4Data : LogicWire1x64fData)
{ {
uiName = "Wire 1x1x4"; uiName = "Wire 1x1x4";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x4"; iconName = $LuaLogic::Path @ "icons/Wire 1x1x4";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x4.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x4.blb";
}; };
datablock fxDTSBrickData(LogicWire1x1x5Data : LogicWire1x64fData) datablock fxDTSBrickData(LogicWire1x1x5Data : LogicWire1x64fData)
{ {
uiName = "Wire 1x1x5"; uiName = "Wire 1x1x5";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x5"; iconName = $LuaLogic::Path @ "icons/Wire 1x1x5";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x5.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x5.blb";
}; };
datablock fxDTSBrickData(LogicWire1x1x6Data : LogicWire1x64fData) datablock fxDTSBrickData(LogicWire1x1x6Data : LogicWire1x64fData)
{ {
uiName = "Wire 1x1x6"; uiName = "Wire 1x1x6";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x6"; iconName = $LuaLogic::Path @ "icons/Wire 1x1x6";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x6.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x6.blb";
}; };
datablock fxDTSBrickData(LogicWire1x1x7Data : LogicWire1x64fData) datablock fxDTSBrickData(LogicWire1x1x7Data : LogicWire1x64fData)
{ {
uiName = "Wire 1x1x7"; uiName = "Wire 1x1x7";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x7"; iconName = $LuaLogic::Path @ "icons/Wire 1x1x7";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x7.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x7.blb";
}; };
datablock fxDTSBrickData(LogicWire1x1x8Data : LogicWire1x64fData) datablock fxDTSBrickData(LogicWire1x1x8Data : LogicWire1x64fData)
{ {
uiName = "Wire 1x1x8"; uiName = "Wire 1x1x8";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x8"; iconName = $LuaLogic::Path @ "icons/Wire 1x1x8";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x8.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x8.blb";
}; };
datablock fxDTSBrickData(LogicWire1x1x9Data : LogicWire1x64fData) datablock fxDTSBrickData(LogicWire1x1x9Data : LogicWire1x64fData)
{ {
uiName = "Wire 1x1x9"; uiName = "Wire 1x1x9";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x9"; iconName = $LuaLogic::Path @ "icons/Wire 1x1x9";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x9.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x9.blb";
}; };
datablock fxDTSBrickData(LogicWire1x1x10Data : LogicWire1x64fData) datablock fxDTSBrickData(LogicWire1x1x10Data : LogicWire1x64fData)
{ {
uiName = "Wire 1x1x10"; uiName = "Wire 1x1x10";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x10"; iconName = $LuaLogic::Path @ "icons/Wire 1x1x10";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x10.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x10.blb";
}; };
datablock fxDTSBrickData(LogicWire1x1x11Data : LogicWire1x64fData) datablock fxDTSBrickData(LogicWire1x1x11Data : LogicWire1x64fData)
{ {
uiName = "Wire 1x1x11"; uiName = "Wire 1x1x11";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x11"; iconName = $LuaLogic::Path @ "icons/Wire 1x1x11";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x11.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x11.blb";
}; };
datablock fxDTSBrickData(LogicWire1x1x12Data : LogicWire1x64fData) datablock fxDTSBrickData(LogicWire1x1x12Data : LogicWire1x64fData)
{ {
uiName = "Wire 1x1x12"; uiName = "Wire 1x1x12";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x12"; iconName = $LuaLogic::Path @ "icons/Wire 1x1x12";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x12.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x12.blb";
}; };
datablock fxDTSBrickData(LogicWire1x1x13Data : LogicWire1x64fData) datablock fxDTSBrickData(LogicWire1x1x13Data : LogicWire1x64fData)
{ {
uiName = "Wire 1x1x13"; uiName = "Wire 1x1x13";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x13"; iconName = $LuaLogic::Path @ "icons/Wire 1x1x13";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x13.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x13.blb";
}; };
datablock fxDTSBrickData(LogicWire1x1x14Data : LogicWire1x64fData) datablock fxDTSBrickData(LogicWire1x1x14Data : LogicWire1x64fData)
{ {
uiName = "Wire 1x1x14"; uiName = "Wire 1x1x14";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x14"; iconName = $LuaLogic::Path @ "icons/Wire 1x1x14";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x14.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x14.blb";
}; };
datablock fxDTSBrickData(LogicWire1x1x15Data : Brick1x1x5Data) datablock fxDTSBrickData(LogicWire1x1x15Data : Brick1x1x5Data)
{ {
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Wires"; subCategory = "Wires";
uiName = "Wire 1x1x15"; uiName = "Wire 1x1x15";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x15"; iconName = $LuaLogic::Path @ "icons/Wire 1x1x15";
isLogic = true; isLogic = true;
isLogicWire = true; isLogicWire = true;
}; };
datablock fxDTSBrickData(LogicWire1x1x16Data : LogicWire1x64fData) datablock fxDTSBrickData(LogicWire1x1x16Data : LogicWire1x64fData)
{ {
uiName = "Wire 1x1x16"; uiName = "Wire 1x1x16";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x16"; iconName = $LuaLogic::Path @ "icons/Wire 1x1x16";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x16.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x16.blb";
}; };
datablock fxDTSBrickData(LogicWire1x1x17Data : LogicWire1x64fData) datablock fxDTSBrickData(LogicWire1x1x17Data : LogicWire1x64fData)
{ {
uiName = "Wire 1x1x17"; uiName = "Wire 1x1x17";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x17"; iconName = $LuaLogic::Path @ "icons/Wire 1x1x17";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x17.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x17.blb";
}; };
datablock fxDTSBrickData(LogicWire1x1x128Data : LogicWire1x64fData) datablock fxDTSBrickData(LogicWire1x1x128Data : LogicWire1x64fData)
{ {
uiName = "Wire 1x1x128"; uiName = "Wire 1x1x128";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x128"; iconName = $LuaLogic::Path @ "icons/Wire 1x1x128";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x128.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x128.blb";
}; };
datablock fxDTSBrickData(LogicWire1x2x5Data : LogicWire1x64fData) datablock fxDTSBrickData(LogicWire1x2x5Data : LogicWire1x64fData)
{ {
uiName = "Wire 1x2x5"; uiName = "Wire 1x2x5";
iconName = $LuaLogic::Path @ "icons/Wire 1x2x5"; iconName = $LuaLogic::Path @ "icons/Wire 1x2x5";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x2x5.blb"; brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x2x5.blb";
}; };
datablock fxDTSBrickData(LogicWire64x64fData : brick64x64fData) datablock fxDTSBrickData(LogicWire64x64fData : brick64x64fData)
{ {
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Wires"; subCategory = "Wires";
uiName = "Wire 64x64f"; uiName = "Wire 64x64f";
iconName = $LuaLogic::Path @ "icons/Wire 64x64f"; iconName = $LuaLogic::Path @ "icons/Wire 64x64f";
isLogic = true; isLogic = true;
isLogicWire = true; isLogicWire = true;
}; };
//VISUAL //VISUAL
datablock fxDTSBrickData(LogicWire1x1fVisualData : LogicWire1x1fData) datablock fxDTSBrickData(LogicWire1x1fVisualData : LogicWire1x1fData)
{ {
subCategory = "Wires - Special"; subCategory = "Wires - Special";
uiName = "Visual Wire 1x1f"; uiName = "Visual Wire 1x1f";
iconName = $LuaLogic::Path @ "icons/Visual Wire 1x1f"; iconName = $LuaLogic::Path @ "icons/Visual Wire 1x1f";
isLogicVisual = true; isLogicVisual = true;
}; };
datablock fxDTSBrickData(LogicWire1x1x2VisualData : LogicWire1x1x2Data) datablock fxDTSBrickData(LogicWire1x1x2VisualData : LogicWire1x1x2Data)
{ {
subCategory = "Wires - Special"; subCategory = "Wires - Special";
uiName = "Visual Wire 1x1x2"; uiName = "Visual Wire 1x1x2";
iconName = $LuaLogic::Path @ "icons/Visual Wire 1x1x2"; iconName = $LuaLogic::Path @ "icons/Visual Wire 1x1x2";
isLogicVisual = true; isLogicVisual = true;
}; };
datablock fxDTSBrickData(LogicWire1x1x3VisualData : LogicWire1x1x3Data) datablock fxDTSBrickData(LogicWire1x1x3VisualData : LogicWire1x1x3Data)
{ {
subCategory = "Wires - Special"; subCategory = "Wires - Special";
uiName = "Visual Wire 1x1x3"; uiName = "Visual Wire 1x1x3";
iconName = $LuaLogic::Path @ "icons/Visual Wire 1x1x3"; iconName = $LuaLogic::Path @ "icons/Visual Wire 1x1x3";
isLogicVisual = true; isLogicVisual = true;
}; };
datablock fxDTSBrickData(LogicWire1x1x15VisualData : LogicWire1x1x15Data) datablock fxDTSBrickData(LogicWire1x1x15VisualData : LogicWire1x1x15Data)
{ {
subCategory = "Wires - Special"; subCategory = "Wires - Special";
uiName = "Visual Wire 1x1x15"; uiName = "Visual Wire 1x1x15";
iconName = $LuaLogic::Path @ "icons/Visual Wire 1x1x15"; iconName = $LuaLogic::Path @ "icons/Visual Wire 1x1x15";
isLogicVisual = true; isLogicVisual = true;
}; };
datablock fxDTSBrickData(LogicWire1x2x5VisualData : LogicWire1x2x5Data) datablock fxDTSBrickData(LogicWire1x2x5VisualData : LogicWire1x2x5Data)
{ {
subCategory = "Wires - Special"; subCategory = "Wires - Special";
uiName = "Visual Wire 1x2x5"; uiName = "Visual Wire 1x2x5";
iconName = $LuaLogic::Path @ "icons/Visual Wire 1x2x5"; iconName = $LuaLogic::Path @ "icons/Visual Wire 1x2x5";
isLogicVisual = true; isLogicVisual = true;
}; };
datablock fxDTSBrickData(LogicWire2x2fVisualData : brick2x2fData) datablock fxDTSBrickData(LogicWire2x2fVisualData : brick2x2fData)
{ {
category = "Logic Bricks"; category = "Logic Bricks";
subCategory = "Wires - Special"; subCategory = "Wires - Special";
uiName = "Visual Wire 2x2f"; uiName = "Visual Wire 2x2f";
iconName = $LuaLogic::Path @ "icons/Visual Wire 2x2f"; iconName = $LuaLogic::Path @ "icons/Visual Wire 2x2f";
isLogic = true; isLogic = true;
isLogicWire = true; isLogicWire = true;
isLogicVisual = true; isLogicVisual = true;
}; };

View File

@ -1,4 +1,4 @@
Title: Brick_LuaLogic Title: Brick_LuaLogic
Authors: Eagle517 (25351), Redo (12878), Entity (49803) Authors: Eagle517 (25351), Redo (12878), Entity (49803)
https://github.com/Eagle517/BL-Lua-Logic https://github.com/Eagle517/BL-Lua-Logic
Lets you simulate logic circuits in Blockland while using Lua as the backend for performance. Lets you simulate logic circuits in Blockland while using Lua as the backend for performance.

View File

@ -20,7 +20,6 @@ exec($LuaLogic::Path @ "bricks/inputs/keyboard.cs");
//Outputs //Outputs
exec($LuaLogic::Path @ "bricks/outputs/pixel.cs"); exec($LuaLogic::Path @ "bricks/outputs/pixel.cs");
exec($LuaLogic::Path @ "bricks/outputs/HorizontalPixel.cs");
exec($LuaLogic::Path @ "bricks/outputs/TextBrick.cs"); exec($LuaLogic::Path @ "bricks/outputs/TextBrick.cs");
//Math //Math

View File

@ -1,82 +1,82 @@
function serverCmdLT(%client) function serverCmdLT(%client)
{ {
if(%client.isAdmin || %client.isSuperAdmin) if(%client.isAdmin || %client.isSuperAdmin)
{ {
$Pref::Server::LuaLogic::OPT_TICK_ENABLED = !$Pref::Server::LuaLogic::OPT_TICK_ENABLED; $Pref::Server::LuaLogic::OPT_TICK_ENABLED = !$Pref::Server::LuaLogic::OPT_TICK_ENABLED;
messageAll('', '\c3%1\c6 has %2 the logic tick.', %client.name, $Pref::Server::LuaLogic::OPT_TICK_ENABLED ? "enabled":"disabled"); messageAll('', '\c3%1\c6 has %2 the logic tick.', %client.name, $Pref::Server::LuaLogic::OPT_TICK_ENABLED ? "enabled":"disabled");
lualogic_sendoptions(); lualogic_sendoptions();
} }
} }
function serverCmdLST(%client, %time) function serverCmdLST(%client, %time)
{ {
if(%client.isAdmin || %client.isSuperAdmin) if(%client.isAdmin || %client.isSuperAdmin)
{ {
%time = mClamp(%time, 0, 999999); %time = mClamp(%time, 0, 999999);
$Pref::Server::LuaLogic::OPT_TICK_TIME = %time/1000; $Pref::Server::LuaLogic::OPT_TICK_TIME = %time/1000;
messageAll('', '\c3%1\c6 has set the logic tick time to \c3%2\c6 millisecond%3.', %client.name, %time, %time == 1 ? "":"s"); messageAll('', '\c3%1\c6 has set the logic tick time to \c3%2\c6 millisecond%3.', %client.name, %time, %time == 1 ? "":"s");
lualogic_sendoptions(); lualogic_sendoptions();
} }
} }
function serverCmdLS(%client) function serverCmdLS(%client)
{ {
if(%client.isAdmin || %client.isSuperAdmin) if(%client.isAdmin || %client.isSuperAdmin)
{ {
commandToAll('bottomprint', "\c3" @ %client.name @ "\c6 has forced a logic tick.", 3, 1); commandToAll('bottomprint', "\c3" @ %client.name @ "\c6 has forced a logic tick.", 3, 1);
lualogic_send("TICK"); lualogic_send("TICK");
} }
} }
function serverCmdLFX(%client) function serverCmdLFX(%client)
{ {
if(%client.isAdmin || %client.isSuperAdmin) if(%client.isAdmin || %client.isSuperAdmin)
{ {
$Pref::Server::LuaLogic::OPT_FX_UPDATES = !$Pref::Server::LuaLogic::OPT_FX_UPDATES; $Pref::Server::LuaLogic::OPT_FX_UPDATES = !$Pref::Server::LuaLogic::OPT_FX_UPDATES;
messageAll('', '\c3%1\c6 has %2 logic FX updates.', %client.name, $Pref::Server::LuaLogic::OPT_FX_UPDATES ? "enabled":"disabled"); messageAll('', '\c3%1\c6 has %2 logic FX updates.', %client.name, $Pref::Server::LuaLogic::OPT_FX_UPDATES ? "enabled":"disabled");
lualogic_sendoptions(); lualogic_sendoptions();
} }
} }
function serverCmdLFXT(%client, %time) function serverCmdLFXT(%client, %time)
{ {
if(%client.isAdmin || %client.isSuperAdmin) if(%client.isAdmin || %client.isSuperAdmin)
{ {
%time = mClamp(%time, 0, 999999); %time = mClamp(%time, 0, 999999);
$Pref::Server::LuaLogic::OPT_FX_TIME = %time/1000; $Pref::Server::LuaLogic::OPT_FX_TIME = %time/1000;
messageAll('', '\c3%1\c6 has set the logic FX time to \c3%2\c6 millisecond%3.', %client.name, %time, %time == 1 ? "":"s"); messageAll('', '\c3%1\c6 has set the logic FX time to \c3%2\c6 millisecond%3.', %client.name, %time, %time == 1 ? "":"s");
lualogic_sendoptions(); lualogic_sendoptions();
} }
} }
function serverCmdLTR(%client) function serverCmdLTR(%client)
{ {
%client.logicLTR = !%client.logicLTR; %client.logicLTR = !%client.logicLTR;
if(%client.logicLTR == false) if(%client.logicLTR == false)
commandToClient(%client, 'bottomPrint', "", 0, 1); commandToClient(%client, 'bottomPrint', "", 0, 1);
} }
function serverCmdLI(%client) function serverCmdLI(%client)
{ {
if(%client.isAdmin || %client.isSuperAdmin) if(%client.isAdmin || %client.isSuperAdmin)
lualogic_send("SINFO;" @ %client); lualogic_send("SINFO;" @ %client);
} }
function serverCmdLG(%client, %n) function serverCmdLG(%client, %n)
{ {
if(%client.isAdmin || %client.isSuperAdmin) if(%client.isAdmin || %client.isSuperAdmin)
{ {
if(isObject(%player = %client.player)) if(isObject(%player = %client.player))
{ {
%eye = %player.getEyePoint(); %eye = %player.getEyePoint();
%vec = %player.getEyeVector(); %vec = %player.getEyeVector();
%ray = containerRayCast(%eye, vectorAdd(%eye, vectorScale(%vec, 5*getWord(%player.getScale(), 2))), $TypeMasks::FxBrickObjectType); %ray = containerRayCast(%eye, vectorAdd(%eye, vectorScale(%vec, 5*getWord(%player.getScale(), 2))), $TypeMasks::FxBrickObjectType);
if(isObject(%hit = firstWord(%ray))) if(isObject(%hit = firstWord(%ray)))
{ {
%data = %hit.getDataBlock(); %data = %hit.getDataBlock();
if(%data.isLogicGate) if(%data.isLogicGate)
lualogic_send("TEST;" @ %hit @ ";" @ %n); lualogic_send("TEST;" @ %hit @ ";" @ %n);
} }
} }
} }
} }