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
SPECIAL
b
1
0 0 0
1 1 1
COVERAGE:
1 : 1
1 : 1
1 : 1
1 : 1
1 : 1
1 : 1
----------------top quads:
6
TEX:TOP
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
UV COORDS:
1 0
1 1
0 1
0 0
NORMALS:
0 0 1
0 0 1
0 0 1
0 0 1
TEX:SIDE
POSITION:
-0.4 -0.4 0.75
0.4 -0.4 0.75
0.4 -0.4 0.5
-0.4 -0.4 0.5
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 -1 0
0 -1 0
0 -1 0
0 -1 0
TEX:SIDE
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
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 0 1
0 0 1
0 0 1
0 0 1
TEX:SIDE
POSITION:
0.4 0.4 0.75
-0.4 0.4 0.75
-0.4 0.4 0.5
0.4 0.4 0.5
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 1 0
0 1 0
0 1 0
0 1 0
TEX:SIDE
POSITION:
-0.4 0.4 0.75
-0.4 -0.4 0.75
-0.4 -0.4 0.5
-0.4 0.4 0.5
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-1 0 0
-1 0 0
-1 0 0
-1 0 0
TEX:SIDE
POSITION:
0.4 -0.4 0.75
0.4 0.4 0.75
0.4 0.4 0.5
0.4 -0.4 0.5
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
1 0 0
1 0 0
1 0 0
1 0 0
----------------bottom quads:
9
TEX:BOTTOMEDGE
POSITION:
-0.5 -0.5 -0.5
0.5 -0.5 -0.5
0 0 -0.5
0 0 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
0.5 0.5 -0.5
-0.5 0.5 -0.5
0 0 -0.5
0 0 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
0.5 -0.5 -0.5
0.5 0.5 -0.5
0 0 -0.5
0 0 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
-0.5 0.5 -0.5
-0.5 -0.5 -0.5
0 0 -0.5
0 0 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:SIDE
POSITION:
0.32 -0.32 -0.875
-0.32 -0.32 -0.875
-0.4 -0.4 -0.5
0.4 -0.4 -0.5
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 -0.882353 -0.470588
0 -0.882353 -0.470588
0 -0.882353 -0.470588
0 -0.882353 -0.470588
TEX:SIDE
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
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:SIDE
POSITION:
-0.32 0.32 -0.875
0.32 0.32 -0.875
0.4 0.4 -0.5
-0.4 0.4 -0.5
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 0.882353 -0.470588
0 0.882353 -0.470588
0 0.882353 -0.470588
0 0.882353 -0.470588
TEX:SIDE
POSITION:
0.32 0.32 -0.875
0.32 -0.32 -0.875
0.4 -0.4 -0.5
0.4 0.4 -0.5
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0.882353 0 -0.470588
0.882353 0 -0.470588
0.882353 0 -0.470588
0.882353 0 -0.470588
TEX:SIDE
POSITION:
-0.32 -0.32 -0.875
-0.32 0.32 -0.875
-0.4 0.4 -0.5
-0.4 -0.4 -0.5
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-0.882353 0 -0.470589
-0.882353 0 -0.470589
-0.882353 0 -0.470589
-0.882353 0 -0.470589
----------------north quads:
1
TEX:PRINT
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
UV COORDS:
1 0
1 1
0 1
0 0
NORMALS:
0 1 0
0 1 0
0 1 0
0 1 0
----------------east quads:
1
TEX:PRINT
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
UV COORDS:
0 0
1 0
1 1
0 1
NORMALS:
1 0 0
1 0 0
1 0 0
1 0 0
----------------south quads:
1
TEX:PRINT
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
UV COORDS:
1 0
1 1
0 1
0 0
NORMALS:
0 -1 0
0 -1 0
0 -1 0
0 -1 0
----------------west quads:
1
TEX:PRINT
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
UV COORDS:
1 1
0 1
0 0
1 0
NORMALS:
-1 0 0
-1 0 0
-1 0 0
-1 0 0
----------------omni quads:
0
1 1 1
SPECIAL
b
1
0 0 0
1 1 1
COVERAGE:
1 : 1
1 : 1
1 : 1
1 : 1
1 : 1
1 : 1
----------------top quads:
6
TEX:TOP
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
UV COORDS:
1 0
1 1
0 1
0 0
NORMALS:
0 0 1
0 0 1
0 0 1
0 0 1
TEX:SIDE
POSITION:
-0.4 -0.4 0.75
0.4 -0.4 0.75
0.4 -0.4 0.5
-0.4 -0.4 0.5
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 -1 0
0 -1 0
0 -1 0
0 -1 0
TEX:SIDE
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
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 0 1
0 0 1
0 0 1
0 0 1
TEX:SIDE
POSITION:
0.4 0.4 0.75
-0.4 0.4 0.75
-0.4 0.4 0.5
0.4 0.4 0.5
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 1 0
0 1 0
0 1 0
0 1 0
TEX:SIDE
POSITION:
-0.4 0.4 0.75
-0.4 -0.4 0.75
-0.4 -0.4 0.5
-0.4 0.4 0.5
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-1 0 0
-1 0 0
-1 0 0
-1 0 0
TEX:SIDE
POSITION:
0.4 -0.4 0.75
0.4 0.4 0.75
0.4 0.4 0.5
0.4 -0.4 0.5
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
1 0 0
1 0 0
1 0 0
1 0 0
----------------bottom quads:
9
TEX:BOTTOMEDGE
POSITION:
-0.5 -0.5 -0.5
0.5 -0.5 -0.5
0 0 -0.5
0 0 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
0.5 0.5 -0.5
-0.5 0.5 -0.5
0 0 -0.5
0 0 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
0.5 -0.5 -0.5
0.5 0.5 -0.5
0 0 -0.5
0 0 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
-0.5 0.5 -0.5
-0.5 -0.5 -0.5
0 0 -0.5
0 0 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:SIDE
POSITION:
0.32 -0.32 -0.875
-0.32 -0.32 -0.875
-0.4 -0.4 -0.5
0.4 -0.4 -0.5
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 -0.882353 -0.470588
0 -0.882353 -0.470588
0 -0.882353 -0.470588
0 -0.882353 -0.470588
TEX:SIDE
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
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:SIDE
POSITION:
-0.32 0.32 -0.875
0.32 0.32 -0.875
0.4 0.4 -0.5
-0.4 0.4 -0.5
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 0.882353 -0.470588
0 0.882353 -0.470588
0 0.882353 -0.470588
0 0.882353 -0.470588
TEX:SIDE
POSITION:
0.32 0.32 -0.875
0.32 -0.32 -0.875
0.4 -0.4 -0.5
0.4 0.4 -0.5
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0.882353 0 -0.470588
0.882353 0 -0.470588
0.882353 0 -0.470588
0.882353 0 -0.470588
TEX:SIDE
POSITION:
-0.32 -0.32 -0.875
-0.32 0.32 -0.875
-0.4 0.4 -0.5
-0.4 -0.4 -0.5
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-0.882353 0 -0.470589
-0.882353 0 -0.470589
-0.882353 0 -0.470589
-0.882353 0 -0.470589
----------------north quads:
1
TEX:PRINT
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
UV COORDS:
1 0
1 1
0 1
0 0
NORMALS:
0 1 0
0 1 0
0 1 0
0 1 0
----------------east quads:
1
TEX:PRINT
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
UV COORDS:
0 0
1 0
1 1
0 1
NORMALS:
1 0 0
1 0 0
1 0 0
1 0 0
----------------south quads:
1
TEX:PRINT
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
UV COORDS:
1 0
1 1
0 1
0 0
NORMALS:
0 -1 0
0 -1 0
0 -1 0
0 -1 0
----------------west quads:
1
TEX:PRINT
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
UV COORDS:
1 1
0 1
0 0
1 0
NORMALS:
-1 0 0
-1 0 0
-1 0 0
-1 0 0
----------------omni quads:
0

View File

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

View File

@ -1,403 +1,403 @@
1 1 1
SPECIAL
b
1
0 0 0
1 1 1
COVERAGE:
1 : 1
1 : 1
1 : 1
1 : 1
1 : 1
1 : 1
----------------top quads:
1
TEX:PRINT
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
UV COORDS:
0 1
0 0
1 0
1 1
NORMALS:
0 0 1
0 0 1
0 0 1
0 0 1
----------------bottom quads:
4
TEX:BOTTOMEDGE
POSITION:
-0.5 -0.5 -0.5
0.5 -0.5 -0.5
0 0 -0.5
0 0 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
0.5 0.5 -0.5
-0.5 0.5 -0.5
0 0 -0.5
0 0 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
0.5 -0.5 -0.5
0.5 0.5 -0.5
0 0 -0.5
0 0 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
-0.5 0.5 -0.5
-0.5 -0.5 -0.5
0 0 -0.5
0 0 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
----------------north quads:
1
TEX:SIDE
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
UV COORDS:
1.02148 -0.0859375
1.02148 1.08594
-0.0214844 1.08594
-0.0214844 -0.0859375
NORMALS:
0 1 0
0 1 0
0 1 0
0 1 0
----------------east quads:
6
TEX:SIDE
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
UV COORDS:
-0.0214844 -0.0859375
1.02148 -0.0859375
1.02148 1.08594
-0.0214844 1.08594
NORMALS:
1 0 0
1 0 0
1 0 0
1 0 0
TEX:SIDE
POSITION:
0.75 -0.32 -0.24
0.75 0.32 -0.24
0.5 0.4 -0.3
0.5 -0.4 -0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0.095561 0 -0.995424
0.095561 0 -0.995424
0.095561 0 -0.995424
0.095561 0 -0.995424
TEX:SIDE
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
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
1 0 0
1 0 0
1 0 0
1 0 0
TEX:SIDE
POSITION:
0.75 0.32 0.24
0.75 -0.32 0.24
0.5 -0.4 0.3
0.5 0.4 0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0.095561 0 0.995424
0.095561 0 0.995424
0.095561 0 0.995424
0.095561 0 0.995424
TEX:SIDE
POSITION:
0.75 0.32 -0.24
0.75 0.32 0.24
0.5 0.4 0.3
0.5 0.4 -0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0.304776 0.952424 0
0.304776 0.952424 0
0.304776 0.952424 0
0.304776 0.952424 0
TEX:SIDE
POSITION:
0.75 -0.32 0.24
0.75 -0.32 -0.24
0.5 -0.4 -0.3
0.5 -0.4 0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0.304776 -0.952424 0
0.304776 -0.952424 0
0.304776 -0.952424 0
0.304776 -0.952424 0
----------------south quads:
1
TEX:SIDE
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
UV COORDS:
1.02148 -0.0859375
1.02148 1.08594
-0.0214844 1.08594
-0.0214844 -0.0859375
NORMALS:
0 -1 0
0 -1 0
0 -1 0
0 -1 0
----------------west quads:
6
TEX:SIDE
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
UV COORDS:
1.02148 1.08594
-0.0214844 1.08594
-0.0214844 -0.0859375
1.02148 -0.0859375
NORMALS:
-1 0 0
-1 0 0
-1 0 0
-1 0 0
TEX:SIDE
POSITION:
-0.64 0.4 -0.3
-0.64 -0.4 -0.3
-0.5 -0.4 -0.3
-0.5 0.4 -0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:SIDE
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
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-1 0 0
-1 0 0
-1 0 0
-1 0 0
TEX:SIDE
POSITION:
-0.64 -0.4 0.3
-0.64 0.4 0.3
-0.5 0.4 0.3
-0.5 -0.4 0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 0 1
0 0 1
0 0 1
0 0 1
TEX:SIDE
POSITION:
-0.64 -0.4 -0.3
-0.64 -0.4 0.3
-0.5 -0.4 0.3
-0.5 -0.4 -0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 -1 0
0 -1 0
0 -1 0
0 -1 0
TEX:SIDE
POSITION:
-0.64 0.4 0.3
-0.64 0.4 -0.3
-0.5 0.4 -0.3
-0.5 0.4 0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-0 1 0
-0 1 0
-0 1 0
-0 1 0
----------------omni quads:
0
1 1 1
SPECIAL
b
1
0 0 0
1 1 1
COVERAGE:
1 : 1
1 : 1
1 : 1
1 : 1
1 : 1
1 : 1
----------------top quads:
1
TEX:PRINT
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
UV COORDS:
0 1
0 0
1 0
1 1
NORMALS:
0 0 1
0 0 1
0 0 1
0 0 1
----------------bottom quads:
4
TEX:BOTTOMEDGE
POSITION:
-0.5 -0.5 -0.5
0.5 -0.5 -0.5
0 0 -0.5
0 0 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
0.5 0.5 -0.5
-0.5 0.5 -0.5
0 0 -0.5
0 0 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
0.5 -0.5 -0.5
0.5 0.5 -0.5
0 0 -0.5
0 0 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
-0.5 0.5 -0.5
-0.5 -0.5 -0.5
0 0 -0.5
0 0 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
----------------north quads:
1
TEX:SIDE
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
UV COORDS:
1.02148 -0.0859375
1.02148 1.08594
-0.0214844 1.08594
-0.0214844 -0.0859375
NORMALS:
0 1 0
0 1 0
0 1 0
0 1 0
----------------east quads:
6
TEX:SIDE
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
UV COORDS:
-0.0214844 -0.0859375
1.02148 -0.0859375
1.02148 1.08594
-0.0214844 1.08594
NORMALS:
1 0 0
1 0 0
1 0 0
1 0 0
TEX:SIDE
POSITION:
0.75 -0.32 -0.24
0.75 0.32 -0.24
0.5 0.4 -0.3
0.5 -0.4 -0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0.095561 0 -0.995424
0.095561 0 -0.995424
0.095561 0 -0.995424
0.095561 0 -0.995424
TEX:SIDE
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
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
1 0 0
1 0 0
1 0 0
1 0 0
TEX:SIDE
POSITION:
0.75 0.32 0.24
0.75 -0.32 0.24
0.5 -0.4 0.3
0.5 0.4 0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0.095561 0 0.995424
0.095561 0 0.995424
0.095561 0 0.995424
0.095561 0 0.995424
TEX:SIDE
POSITION:
0.75 0.32 -0.24
0.75 0.32 0.24
0.5 0.4 0.3
0.5 0.4 -0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0.304776 0.952424 0
0.304776 0.952424 0
0.304776 0.952424 0
0.304776 0.952424 0
TEX:SIDE
POSITION:
0.75 -0.32 0.24
0.75 -0.32 -0.24
0.5 -0.4 -0.3
0.5 -0.4 0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0.304776 -0.952424 0
0.304776 -0.952424 0
0.304776 -0.952424 0
0.304776 -0.952424 0
----------------south quads:
1
TEX:SIDE
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
UV COORDS:
1.02148 -0.0859375
1.02148 1.08594
-0.0214844 1.08594
-0.0214844 -0.0859375
NORMALS:
0 -1 0
0 -1 0
0 -1 0
0 -1 0
----------------west quads:
6
TEX:SIDE
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
UV COORDS:
1.02148 1.08594
-0.0214844 1.08594
-0.0214844 -0.0859375
1.02148 -0.0859375
NORMALS:
-1 0 0
-1 0 0
-1 0 0
-1 0 0
TEX:SIDE
POSITION:
-0.64 0.4 -0.3
-0.64 -0.4 -0.3
-0.5 -0.4 -0.3
-0.5 0.4 -0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:SIDE
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
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-1 0 0
-1 0 0
-1 0 0
-1 0 0
TEX:SIDE
POSITION:
-0.64 -0.4 0.3
-0.64 0.4 0.3
-0.5 0.4 0.3
-0.5 -0.4 0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 0 1
0 0 1
0 0 1
0 0 1
TEX:SIDE
POSITION:
-0.64 -0.4 -0.3
-0.64 -0.4 0.3
-0.5 -0.4 0.3
-0.5 -0.4 -0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 -1 0
0 -1 0
0 -1 0
0 -1 0
TEX:SIDE
POSITION:
-0.64 0.4 0.3
-0.64 0.4 -0.3
-0.5 0.4 -0.3
-0.5 0.4 0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-0 1 0
-0 1 0
-0 1 0
-0 1 0
----------------omni quads:
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
SPECIAL
u
d
1
0 0 0
1 1 2
COVERAGE:
1 : 1
1 : 1
1 : 2
1 : 2
1 : 2
1 : 2
----------------top quads:
1
TEX:TOP
POSITION:
0.5 0.5 1
0.5 -0.5 1
-0.5 -0.5 1
-0.5 0.5 1
UV COORDS:
0 1
0 0
1 0
1 1
NORMALS:
0 0 1
0 0 1
0 0 1
0 0 1
----------------bottom quads:
4
TEX:BOTTOMEDGE
POSITION:
-0.5 -0.5 -1
0.5 -0.5 -1
0 0 -1
0 0 -1
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
0.5 0.5 -1
-0.5 0.5 -1
0 0 -1
0 0 -1
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
0.5 -0.5 -1
0.5 0.5 -1
0 0 -1
0 0 -1
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
-0.5 0.5 -1
-0.5 -0.5 -1
0 0 -1
0 0 -1
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
----------------north quads:
1
TEX:PRINT
POSITION:
-0.5 0.5 1
-0.5 0.5 -1
0.5 0.5 -1
0.5 0.5 1
UV COORDS:
1 0
1 1
0 1
0 0
NORMALS:
0 1 0
0 1 0
0 1 0
0 1 0
----------------east quads:
1
TEX:SIDE
POSITION:
0.5 -0.5 1
0.5 0.5 1
0.5 0.5 -1
0.5 -0.5 -1
UV COORDS:
-0.0214844 -0.0322266
1.02148 -0.0322266
1.02148 1.03223
-0.0214844 1.03223
NORMALS:
1 0 0
1 0 0
1 0 0
1 0 0
----------------south quads:
6
TEX:SIDE
POSITION:
0.5 -0.5 1
0.5 -0.5 -1
-0.5 -0.5 -1
-0.5 -0.5 1
UV COORDS:
1.02148 -0.0322266
1.02148 1.03223
-0.0214844 1.03223
-0.0214844 -0.0322266
NORMALS:
0 -1 0
0 -1 0
0 -1 0
0 -1 0
TEX:SIDE
POSITION:
-0.4 -0.64 -0.8
0.4 -0.64 -0.8
0.4 -0.5 -0.8
-0.4 -0.5 -0.8
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:SIDE
POSITION:
-0.4 -0.64 -0.8
-0.4 -0.64 -0.2
0.4 -0.64 -0.2
0.4 -0.64 -0.8
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 -1 0
0 -1 0
0 -1 0
0 -1 0
TEX:SIDE
POSITION:
0.4 -0.64 -0.2
-0.4 -0.64 -0.2
-0.4 -0.5 -0.2
0.4 -0.5 -0.2
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 0 1
0 0 1
0 0 1
0 0 1
TEX:SIDE
POSITION:
0.4 -0.64 -0.8
0.4 -0.64 -0.2
0.4 -0.5 -0.2
0.4 -0.5 -0.8
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
1 0 0
1 0 0
1 0 0
1 0 0
TEX:SIDE
POSITION:
-0.4 -0.64 -0.2
-0.4 -0.64 -0.8
-0.4 -0.5 -0.8
-0.4 -0.5 -0.2
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-1 0 0
-1 0 0
-1 0 0
-1 0 0
----------------west quads:
1
TEX:SIDE
POSITION:
-0.5 -0.5 -1
-0.5 0.5 -1
-0.5 0.5 1
-0.5 -0.5 1
UV COORDS:
1.02148 1.03223
-0.0214844 1.03223
-0.0214844 -0.0322266
1.02148 -0.0322266
NORMALS:
-1 0 0
-1 0 0
-1 0 0
-1 0 0
----------------omni quads:
0
1 1 2
SPECIAL
u
d
1
0 0 0
1 1 2
COVERAGE:
1 : 1
1 : 1
1 : 2
1 : 2
1 : 2
1 : 2
----------------top quads:
1
TEX:TOP
POSITION:
0.5 0.5 1
0.5 -0.5 1
-0.5 -0.5 1
-0.5 0.5 1
UV COORDS:
0 1
0 0
1 0
1 1
NORMALS:
0 0 1
0 0 1
0 0 1
0 0 1
----------------bottom quads:
4
TEX:BOTTOMEDGE
POSITION:
-0.5 -0.5 -1
0.5 -0.5 -1
0 0 -1
0 0 -1
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
0.5 0.5 -1
-0.5 0.5 -1
0 0 -1
0 0 -1
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
0.5 -0.5 -1
0.5 0.5 -1
0 0 -1
0 0 -1
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
-0.5 0.5 -1
-0.5 -0.5 -1
0 0 -1
0 0 -1
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
----------------north quads:
1
TEX:PRINT
POSITION:
-0.5 0.5 1
-0.5 0.5 -1
0.5 0.5 -1
0.5 0.5 1
UV COORDS:
1 0
1 1
0 1
0 0
NORMALS:
0 1 0
0 1 0
0 1 0
0 1 0
----------------east quads:
1
TEX:SIDE
POSITION:
0.5 -0.5 1
0.5 0.5 1
0.5 0.5 -1
0.5 -0.5 -1
UV COORDS:
-0.0214844 -0.0322266
1.02148 -0.0322266
1.02148 1.03223
-0.0214844 1.03223
NORMALS:
1 0 0
1 0 0
1 0 0
1 0 0
----------------south quads:
6
TEX:SIDE
POSITION:
0.5 -0.5 1
0.5 -0.5 -1
-0.5 -0.5 -1
-0.5 -0.5 1
UV COORDS:
1.02148 -0.0322266
1.02148 1.03223
-0.0214844 1.03223
-0.0214844 -0.0322266
NORMALS:
0 -1 0
0 -1 0
0 -1 0
0 -1 0
TEX:SIDE
POSITION:
-0.4 -0.64 -0.8
0.4 -0.64 -0.8
0.4 -0.5 -0.8
-0.4 -0.5 -0.8
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:SIDE
POSITION:
-0.4 -0.64 -0.8
-0.4 -0.64 -0.2
0.4 -0.64 -0.2
0.4 -0.64 -0.8
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 -1 0
0 -1 0
0 -1 0
0 -1 0
TEX:SIDE
POSITION:
0.4 -0.64 -0.2
-0.4 -0.64 -0.2
-0.4 -0.5 -0.2
0.4 -0.5 -0.2
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 0 1
0 0 1
0 0 1
0 0 1
TEX:SIDE
POSITION:
0.4 -0.64 -0.8
0.4 -0.64 -0.2
0.4 -0.5 -0.2
0.4 -0.5 -0.8
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
1 0 0
1 0 0
1 0 0
1 0 0
TEX:SIDE
POSITION:
-0.4 -0.64 -0.2
-0.4 -0.64 -0.8
-0.4 -0.5 -0.8
-0.4 -0.5 -0.2
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-1 0 0
-1 0 0
-1 0 0
-1 0 0
----------------west quads:
1
TEX:SIDE
POSITION:
-0.5 -0.5 -1
-0.5 0.5 -1
-0.5 0.5 1
-0.5 -0.5 1
UV COORDS:
1.02148 1.03223
-0.0214844 1.03223
-0.0214844 -0.0322266
1.02148 -0.0322266
NORMALS:
-1 0 0
-1 0 0
-1 0 0
-1 0 0
----------------omni quads:
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
SPECIAL
b
b
1
0 0 0
1 2 1
COVERAGE:
1 : 2
1 : 2
1 : 1
1 : 2
1 : 1
1 : 2
----------------top quads:
1
TEX:PRINT
POSITION:
0.5 1 0.5
0.5 -1 0.5
-0.5 -1 0.5
-0.5 1 0.5
UV COORDS:
1 0
1 1
0 1
0 0
NORMALS:
0 0 1
0 0 1
0 0 1
0 0 1
----------------bottom quads:
4
TEX:BOTTOMEDGE
POSITION:
-0.5 -1 -0.5
0.5 -1 -0.5
0 -0.5 -0.5
0 -0.5 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
0.5 1 -0.5
-0.5 1 -0.5
0 0.5 -0.5
0 0.5 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
0.5 -1 -0.5
0.5 1 -0.5
0 0.5 -0.5
0 -0.5 -0.5
UV COORDS:
-0.5 0
1.5 0
1 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
-0.5 1 -0.5
-0.5 -1 -0.5
0 -0.5 -0.5
0 0.5 -0.5
UV COORDS:
-0.5 0
1.5 0
1 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
----------------north quads:
6
TEX:SIDE
POSITION:
-0.5 1 0.5
-0.5 1 -0.5
0.5 1 -0.5
0.5 1 0.5
UV COORDS:
1.02148 -0.0859375
1.02148 1.08594
-0.0214844 1.08594
-0.0214844 -0.0859375
NORMALS:
0 1 0
0 1 0
0 1 0
0 1 0
TEX:SIDE
POSITION:
0.32 1.25 -0.24
-0.32 1.25 -0.24
-0.4 1 -0.3
0.4 1 -0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-0 0.095561 -0.995424
-0 0.095561 -0.995424
-0 0.095561 -0.995424
-0 0.095561 -0.995424
TEX:SIDE
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
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 1 0
0 1 0
0 1 0
0 1 0
TEX:SIDE
POSITION:
-0.32 1.25 0.24
0.32 1.25 0.24
0.4 1 0.3
-0.4 1 0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-0 0.095561 0.995424
-0 0.095561 0.995424
-0 0.095561 0.995424
-0 0.095561 0.995424
TEX:SIDE
POSITION:
-0.32 1.25 -0.24
-0.32 1.25 0.24
-0.4 1 0.3
-0.4 1 -0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-0.952424 0.304776 0
-0.952424 0.304776 0
-0.952424 0.304776 0
-0.952424 0.304776 0
TEX:SIDE
POSITION:
0.32 1.25 0.24
0.32 1.25 -0.24
0.4 1 -0.3
0.4 1 0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0.952424 0.304776 0
0.952424 0.304776 0
0.952424 0.304776 0
0.952424 0.304776 0
----------------east quads:
1
TEX:SIDE
POSITION:
0.5 -1 0.5
0.5 1 0.5
0.5 1 -0.5
0.5 -1 -0.5
UV COORDS:
0 -0.0859375
1 -0.0859375
1 1.08594
0 1.08594
NORMALS:
1 0 0
1 0 0
1 0 0
1 0 0
----------------south quads:
6
TEX:SIDE
POSITION:
0.5 -1 0.5
0.5 -1 -0.5
-0.5 -1 -0.5
-0.5 -1 0.5
UV COORDS:
1.02148 -0.0859375
1.02148 1.08594
-0.0214844 1.08594
-0.0214844 -0.0859375
NORMALS:
0 -1 0
0 -1 0
0 -1 0
0 -1 0
TEX:SIDE
POSITION:
-0.32 -1.25 -0.24
0.32 -1.25 -0.24
0.4 -1 -0.3
-0.4 -1 -0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 -0.095561 -0.995424
0 -0.095561 -0.995424
0 -0.095561 -0.995424
0 -0.095561 -0.995424
TEX:SIDE
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
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 -1 0
0 -1 0
0 -1 0
0 -1 0
TEX:SIDE
POSITION:
0.32 -1.25 0.24
-0.32 -1.25 0.24
-0.4 -1 0.3
0.4 -1 0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 -0.095561 0.995424
0 -0.095561 0.995424
0 -0.095561 0.995424
0 -0.095561 0.995424
TEX:SIDE
POSITION:
0.32 -1.25 -0.24
0.32 -1.25 0.24
0.4 -1 0.3
0.4 -1 -0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0.952424 -0.304776 0
0.952424 -0.304776 0
0.952424 -0.304776 0
0.952424 -0.304776 0
TEX:SIDE
POSITION:
-0.32 -1.25 0.24
-0.32 -1.25 -0.24
-0.4 -1 -0.3
-0.4 -1 0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-0.952424 -0.304775 0
-0.952424 -0.304775 0
-0.952424 -0.304775 0
-0.952424 -0.304775 0
----------------west quads:
1
TEX:SIDE
POSITION:
-0.5 -1 -0.5
-0.5 1 -0.5
-0.5 1 0.5
-0.5 -1 0.5
UV COORDS:
1 1.08594
0 1.08594
0 -0.0859375
1 -0.0859375
NORMALS:
-1 0 0
-1 0 0
-1 0 0
-1 0 0
----------------omni quads:
0
1 2 1
SPECIAL
b
b
1
0 0 0
1 2 1
COVERAGE:
1 : 2
1 : 2
1 : 1
1 : 2
1 : 1
1 : 2
----------------top quads:
1
TEX:PRINT
POSITION:
0.5 1 0.5
0.5 -1 0.5
-0.5 -1 0.5
-0.5 1 0.5
UV COORDS:
1 0
1 1
0 1
0 0
NORMALS:
0 0 1
0 0 1
0 0 1
0 0 1
----------------bottom quads:
4
TEX:BOTTOMEDGE
POSITION:
-0.5 -1 -0.5
0.5 -1 -0.5
0 -0.5 -0.5
0 -0.5 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
0.5 1 -0.5
-0.5 1 -0.5
0 0.5 -0.5
0 0.5 -0.5
UV COORDS:
-0.5 0
0.5 0
0 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
0.5 -1 -0.5
0.5 1 -0.5
0 0.5 -0.5
0 -0.5 -0.5
UV COORDS:
-0.5 0
1.5 0
1 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
TEX:BOTTOMEDGE
POSITION:
-0.5 1 -0.5
-0.5 -1 -0.5
0 -0.5 -0.5
0 0.5 -0.5
UV COORDS:
-0.5 0
1.5 0
1 0.5
0 0.5
NORMALS:
0 0 -1
0 0 -1
0 0 -1
0 0 -1
----------------north quads:
6
TEX:SIDE
POSITION:
-0.5 1 0.5
-0.5 1 -0.5
0.5 1 -0.5
0.5 1 0.5
UV COORDS:
1.02148 -0.0859375
1.02148 1.08594
-0.0214844 1.08594
-0.0214844 -0.0859375
NORMALS:
0 1 0
0 1 0
0 1 0
0 1 0
TEX:SIDE
POSITION:
0.32 1.25 -0.24
-0.32 1.25 -0.24
-0.4 1 -0.3
0.4 1 -0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-0 0.095561 -0.995424
-0 0.095561 -0.995424
-0 0.095561 -0.995424
-0 0.095561 -0.995424
TEX:SIDE
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
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 1 0
0 1 0
0 1 0
0 1 0
TEX:SIDE
POSITION:
-0.32 1.25 0.24
0.32 1.25 0.24
0.4 1 0.3
-0.4 1 0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-0 0.095561 0.995424
-0 0.095561 0.995424
-0 0.095561 0.995424
-0 0.095561 0.995424
TEX:SIDE
POSITION:
-0.32 1.25 -0.24
-0.32 1.25 0.24
-0.4 1 0.3
-0.4 1 -0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-0.952424 0.304776 0
-0.952424 0.304776 0
-0.952424 0.304776 0
-0.952424 0.304776 0
TEX:SIDE
POSITION:
0.32 1.25 0.24
0.32 1.25 -0.24
0.4 1 -0.3
0.4 1 0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0.952424 0.304776 0
0.952424 0.304776 0
0.952424 0.304776 0
0.952424 0.304776 0
----------------east quads:
1
TEX:SIDE
POSITION:
0.5 -1 0.5
0.5 1 0.5
0.5 1 -0.5
0.5 -1 -0.5
UV COORDS:
0 -0.0859375
1 -0.0859375
1 1.08594
0 1.08594
NORMALS:
1 0 0
1 0 0
1 0 0
1 0 0
----------------south quads:
6
TEX:SIDE
POSITION:
0.5 -1 0.5
0.5 -1 -0.5
-0.5 -1 -0.5
-0.5 -1 0.5
UV COORDS:
1.02148 -0.0859375
1.02148 1.08594
-0.0214844 1.08594
-0.0214844 -0.0859375
NORMALS:
0 -1 0
0 -1 0
0 -1 0
0 -1 0
TEX:SIDE
POSITION:
-0.32 -1.25 -0.24
0.32 -1.25 -0.24
0.4 -1 -0.3
-0.4 -1 -0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 -0.095561 -0.995424
0 -0.095561 -0.995424
0 -0.095561 -0.995424
0 -0.095561 -0.995424
TEX:SIDE
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
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 -1 0
0 -1 0
0 -1 0
0 -1 0
TEX:SIDE
POSITION:
0.32 -1.25 0.24
-0.32 -1.25 0.24
-0.4 -1 0.3
0.4 -1 0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0 -0.095561 0.995424
0 -0.095561 0.995424
0 -0.095561 0.995424
0 -0.095561 0.995424
TEX:SIDE
POSITION:
0.32 -1.25 -0.24
0.32 -1.25 0.24
0.4 -1 0.3
0.4 -1 -0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
0.952424 -0.304776 0
0.952424 -0.304776 0
0.952424 -0.304776 0
0.952424 -0.304776 0
TEX:SIDE
POSITION:
-0.32 -1.25 0.24
-0.32 -1.25 -0.24
-0.4 -1 -0.3
-0.4 -1 0.3
UV COORDS:
0.5 0.5
0.5 0.5
0.5 0.5
0.5 0.5
COLORS:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NORMALS:
-0.952424 -0.304775 0
-0.952424 -0.304775 0
-0.952424 -0.304775 0
-0.952424 -0.304775 0
----------------west quads:
1
TEX:SIDE
POSITION:
-0.5 -1 -0.5
-0.5 1 -0.5
-0.5 1 0.5
-0.5 -1 0.5
UV COORDS:
1 1.08594
0 1.08594
0 -0.0859375
1 -0.0859375
NORMALS:
-1 0 0
-1 0 0
-1 0 0
-1 0 0
----------------omni quads:
0

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,9 +1,9 @@
datablock fxDTSBrickData(LogicGate_AND_Data : LogicGate_OR_Data)
{
uiName = "1x2f AND";
iconName = $LuaLogic::Path @ "icons/1x2f AND";
logicUIName = "AND";
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";
};
lualogic_registergatedefinition("LogicGate_AND_Data");
datablock fxDTSBrickData(LogicGate_AND_Data : LogicGate_OR_Data)
{
uiName = "1x2f AND";
iconName = $LuaLogic::Path @ "icons/1x2f AND";
logicUIName = "AND";
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";
};
lualogic_registergatedefinition("LogicGate_AND_Data");

View File

@ -1,9 +1,9 @@
datablock fxDTSBrickData(LogicGate_NOR_Data : LogicGate_OR_Data)
{
uiName = "1x2f NOR";
iconName = $LuaLogic::Path @ "icons/1x2f NOR";
logicUIName = "NOR";
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";
};
lualogic_registergatedefinition("LogicGate_NOR_Data");
datablock fxDTSBrickData(LogicGate_NOR_Data : LogicGate_OR_Data)
{
uiName = "1x2f NOR";
iconName = $LuaLogic::Path @ "icons/1x2f NOR";
logicUIName = "NOR";
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";
};
lualogic_registergatedefinition("LogicGate_NOR_Data");

View File

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

View File

@ -1,37 +1,37 @@
datablock fxDTSBrickData(LogicGate_OR_Data)
{
category = "Logic Bricks";
subCategory = "Gates";
uiName = "1x2f OR";
iconName = $LuaLogic::Path @ "icons/1x2f OR";
brickFile = $LuaLogic::Path @ "bricks/blb/1x2f_2i_1o.blb";
hasPrint = 1;
printAspectRatio = "Logic";
isLogic = 1;
isLogicGate = 1;
logicUIName = "OR";
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";
numLogicPorts = 3;
logicPortType[0] = 1;
logicPortPos[0] = "0 1 0";
logicPortDir[0] = "0";
logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "A";
logicPortType[1] = 1;
logicPortPos[1] = "0 -1 0";
logicPortDir[1] = "0";
logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "B";
logicPortType[2] = 0;
logicPortPos[2] = "0 -1 0";
logicPortDir[2] = "2";
logicPortUIName[2] = "C";
};
lualogic_registergatedefinition("LogicGate_OR_Data");
datablock fxDTSBrickData(LogicGate_OR_Data)
{
category = "Logic Bricks";
subCategory = "Gates";
uiName = "1x2f OR";
iconName = $LuaLogic::Path @ "icons/1x2f OR";
brickFile = $LuaLogic::Path @ "bricks/blb/1x2f_2i_1o.blb";
hasPrint = 1;
printAspectRatio = "Logic";
isLogic = 1;
isLogicGate = 1;
logicUIName = "OR";
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";
numLogicPorts = 3;
logicPortType[0] = 1;
logicPortPos[0] = "0 1 0";
logicPortDir[0] = "0";
logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "A";
logicPortType[1] = 1;
logicPortPos[1] = "0 -1 0";
logicPortDir[1] = "0";
logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "B";
logicPortType[2] = 0;
logicPortPos[2] = "0 -1 0";
logicPortDir[2] = "2";
logicPortUIName[2] = "C";
};
lualogic_registergatedefinition("LogicGate_OR_Data");

View File

@ -1,9 +1,9 @@
datablock fxDTSBrickData(LogicGate_XNOR_Data : LogicGate_OR_Data)
{
uiName = "1x2f XNOR";
iconName = $LuaLogic::Path @ "icons/1x2f XNOR";
logicUIName = "XNOR";
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";
};
lualogic_registergatedefinition("LogicGate_XNOR_Data");
datablock fxDTSBrickData(LogicGate_XNOR_Data : LogicGate_OR_Data)
{
uiName = "1x2f XNOR";
iconName = $LuaLogic::Path @ "icons/1x2f XNOR";
logicUIName = "XNOR";
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";
};
lualogic_registergatedefinition("LogicGate_XNOR_Data");

View File

@ -1,9 +1,9 @@
datablock fxDTSBrickData(LogicGate_XOR_Data : LogicGate_OR_Data)
{
uiName = "1x2f XOR";
iconName = $LuaLogic::Path @ "icons/1x2f XOR";
logicUIName = "XOR";
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";
};
lualogic_registergatedefinition("LogicGate_XOR_Data");
datablock fxDTSBrickData(LogicGate_XOR_Data : LogicGate_OR_Data)
{
uiName = "1x2f XOR";
iconName = $LuaLogic::Path @ "icons/1x2f XOR";
logicUIName = "XOR";
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";
};
lualogic_registergatedefinition("LogicGate_XOR_Data");

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,53 +1,53 @@
datablock fxDTSBrickData(LogicGate_FullAdder_Data)
{
brickFile = $LuaLogic::Path @ "bricks/blb/FullAdder.blb";
category = "Logic Bricks";
subCategory = "Math";
uiName = "Full Adder";
iconName = $LuaLogic::Path @ "icons/Full Adder";
hasPrint = 1;
printAspectRatio = "Logic";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicUIName = "Full Adder";
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] " @
"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";
numLogicPorts = 5;
logicPortType[0] = 1;
logicPortPos[0] = "-1 0 0";
logicPortDir[0] = 3;
logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "A";
logicPortType[1] = 1;
logicPortPos[1] = "1 0 0";
logicPortDir[1] = 3;
logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "B";
logicPortType[2] = 1;
logicPortPos[2] = "1 0 0";
logicPortDir[2] = 2;
logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "Carry In";
logicPortType[3] = 0;
logicPortPos[3] = "-1 0 0";
logicPortDir[3] = 1;
logicPortUIName[3] = "Sum";
logicPortType[4] = 0;
logicPortPos[4] = "-1 0 0";
logicPortDir[4] = 0;
logicPortUIName[4] = "Carry Out";
};
lualogic_registergatedefinition("LogicGate_FullAdder_Data");
datablock fxDTSBrickData(LogicGate_FullAdder_Data)
{
brickFile = $LuaLogic::Path @ "bricks/blb/FullAdder.blb";
category = "Logic Bricks";
subCategory = "Math";
uiName = "Full Adder";
iconName = $LuaLogic::Path @ "icons/Full Adder";
hasPrint = 1;
printAspectRatio = "Logic";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicUIName = "Full Adder";
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] " @
"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";
numLogicPorts = 5;
logicPortType[0] = 1;
logicPortPos[0] = "-1 0 0";
logicPortDir[0] = 3;
logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "A";
logicPortType[1] = 1;
logicPortPos[1] = "1 0 0";
logicPortDir[1] = 3;
logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "B";
logicPortType[2] = 1;
logicPortPos[2] = "1 0 0";
logicPortDir[2] = 2;
logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "Carry In";
logicPortType[3] = 0;
logicPortPos[3] = "-1 0 0";
logicPortDir[3] = 1;
logicPortUIName[3] = "Sum";
logicPortType[4] = 0;
logicPortPos[4] = "-1 0 0";
logicPortDir[4] = 0;
logicPortUIName[4] = "Carry Out";
};
lualogic_registergatedefinition("LogicGate_FullAdder_Data");

View File

@ -1,53 +1,53 @@
datablock fxDTSBrickData(LogicGate_FullSubtractor_Data)
{
brickFile = $LuaLogic::Path @ "bricks/blb/FullAdder.blb";
category = "Logic Bricks";
subCategory = "Math";
uiName = "Full Subtractor";
iconName = $LuaLogic::Path @ "icons/Full Subtractor";
hasPrint = 1;
printAspectRatio = "Logic";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicUIName = "Full Subtractor";
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] " @
"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";
numLogicPorts = 5;
logicPortType[0] = 1;
logicPortPos[0] = "-1 0 0";
logicPortDir[0] = 3;
logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "A";
logicPortType[1] = 1;
logicPortPos[1] = "1 0 0";
logicPortDir[1] = 3;
logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "B";
logicPortType[2] = 1;
logicPortPos[2] = "1 0 0";
logicPortDir[2] = 2;
logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "Borrow In";
logicPortType[3] = 0;
logicPortPos[3] = "-1 0 0";
logicPortDir[3] = 1;
logicPortUIName[3] = "Difference";
logicPortType[4] = 0;
logicPortPos[4] = "-1 0 0";
logicPortDir[4] = 0;
logicPortUIName[4] = "Borrow Out";
};
lualogic_registergatedefinition("LogicGate_FullSubtractor_Data");
datablock fxDTSBrickData(LogicGate_FullSubtractor_Data)
{
brickFile = $LuaLogic::Path @ "bricks/blb/FullAdder.blb";
category = "Logic Bricks";
subCategory = "Math";
uiName = "Full Subtractor";
iconName = $LuaLogic::Path @ "icons/Full Subtractor";
hasPrint = 1;
printAspectRatio = "Logic";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicUIName = "Full Subtractor";
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] " @
"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";
numLogicPorts = 5;
logicPortType[0] = 1;
logicPortPos[0] = "-1 0 0";
logicPortDir[0] = 3;
logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "A";
logicPortType[1] = 1;
logicPortPos[1] = "1 0 0";
logicPortDir[1] = 3;
logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "B";
logicPortType[2] = 1;
logicPortPos[2] = "1 0 0";
logicPortDir[2] = 2;
logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "Borrow In";
logicPortType[3] = 0;
logicPortPos[3] = "-1 0 0";
logicPortDir[3] = 1;
logicPortUIName[3] = "Difference";
logicPortType[4] = 0;
logicPortPos[4] = "-1 0 0";
logicPortDir[4] = 0;
logicPortUIName[4] = "Borrow Out";
};
lualogic_registergatedefinition("LogicGate_FullSubtractor_Data");

View File

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

View File

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

View File

@ -1,17 +1,17 @@
datablock fxDTSBrickData(LogicGate_DFlipFlop_Data : LogicGate_OR_Data)
{
subCategory = "Memory";
uiName = "D FlipFlop";
iconName = $LuaLogic::Path @ "icons/D FlipFlop";
logicUIName = "D FlipFlop";
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";
logicPortUIName[0] = "C";
logicPortCauseUpdate[1] = false;
logicPortUIName[1] = "D";
logicPortUIName[2] = "Q";
};
lualogic_registergatedefinition("LogicGate_DFlipFlop_Data");
datablock fxDTSBrickData(LogicGate_DFlipFlop_Data : LogicGate_OR_Data)
{
subCategory = "Memory";
uiName = "D FlipFlop";
iconName = $LuaLogic::Path @ "icons/D FlipFlop";
logicUIName = "D FlipFlop";
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";
logicPortUIName[0] = "C";
logicPortCauseUpdate[1] = false;
logicPortUIName[1] = "D";
logicPortUIName[2] = "Q";
};
lualogic_registergatedefinition("LogicGate_DFlipFlop_Data");

View File

@ -1,60 +1,60 @@
datablock fxDTSBrickData(LogicGate_DFlipflopGridMemory2_Data)
{
brickFile = $LuaLogic::Path @ "bricks/blb/DFlipflopGridMemory2.blb";
category = "Logic Bricks";
subCategory = "Memory";
uiName = "D Flipflop Grid Memory 2";
iconName = $LuaLogic::Path @ "icons/D Flipflop Grid Memory 2";
hasPrint = 1;
printAspectRatio = "Logic";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicUIName = "D Flipflop Grid Memory 2";
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 " @
" gate.ports[1]:setstate(gate.ports[5].state) " @
"end " @
"gate.ports[2]:setstate(gate.ports[3].state and gate.ports[4].state and gate.ports[1].state) end";
numLogicPorts = 6;
logicPortType[0] = 0;
logicPortPos[0] = "0 0 4";
logicPortDir[0] = 4;
logicPortUIName[0] = "Q";
logicPortType[1] = 0;
logicPortPos[1] = "0 0 4";
logicPortDir[1] = 1;
logicPortUIName[1] = "Readout";
logicPortType[2] = 1;
logicPortPos[2] = "0 0 0";
logicPortDir[2] = 2;
logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "A";
logicPortType[3] = 1;
logicPortPos[3] = "0 0 2";
logicPortDir[3] = 1;
logicPortCauseUpdate[3] = true;
logicPortUIName[3] = "B";
logicPortType[4] = 1;
logicPortPos[4] = "0 0 -4";
logicPortDir[4] = 1;
logicPortCauseUpdate[4] = false;
logicPortUIName[4] = "Data";
logicPortType[5] = 1;
logicPortPos[5] = "0 0 -2";
logicPortDir[5] = 1;
logicPortCauseUpdate[5] = true;
logicPortUIName[5] = "Clock";
};
lualogic_registergatedefinition("LogicGate_DFlipflopGridMemory2_Data");
datablock fxDTSBrickData(LogicGate_DFlipflopGridMemory2_Data)
{
brickFile = $LuaLogic::Path @ "bricks/blb/DFlipflopGridMemory2.blb";
category = "Logic Bricks";
subCategory = "Memory";
uiName = "D Flipflop Grid Memory 2";
iconName = $LuaLogic::Path @ "icons/D Flipflop Grid Memory 2";
hasPrint = 1;
printAspectRatio = "Logic";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicUIName = "D Flipflop Grid Memory 2";
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 " @
" gate.ports[1]:setstate(gate.ports[5].state) " @
"end " @
"gate.ports[2]:setstate(gate.ports[3].state and gate.ports[4].state and gate.ports[1].state) end";
numLogicPorts = 6;
logicPortType[0] = 0;
logicPortPos[0] = "0 0 4";
logicPortDir[0] = 4;
logicPortUIName[0] = "Q";
logicPortType[1] = 0;
logicPortPos[1] = "0 0 4";
logicPortDir[1] = 1;
logicPortUIName[1] = "Readout";
logicPortType[2] = 1;
logicPortPos[2] = "0 0 0";
logicPortDir[2] = 2;
logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "A";
logicPortType[3] = 1;
logicPortPos[3] = "0 0 2";
logicPortDir[3] = 1;
logicPortCauseUpdate[3] = true;
logicPortUIName[3] = "B";
logicPortType[4] = 1;
logicPortPos[4] = "0 0 -4";
logicPortDir[4] = 1;
logicPortCauseUpdate[4] = false;
logicPortUIName[4] = "Data";
logicPortType[5] = 1;
logicPortPos[5] = "0 0 -2";
logicPortDir[5] = 1;
logicPortCauseUpdate[5] = true;
logicPortUIName[5] = "Clock";
};
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)
{
brickFile = $LuaLogic::Path @ "bricks/blb/pixels/pixel.blb";
category = "Logic Bricks";
subCategory = "Outputs";
uiName = "Pixel";
iconName = $LuaLogic::Path @ "icons/Pixel";
hasPrint = 1;
printAspectRatio = "Logic";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicUIName = "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 0 -4";
logicPortDir[0] = 3;
logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "R";
logicPortType[1] = 1;
logicPortPos[1] = "-1 0 0";
logicPortDir[1] = 3;
logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "G";
logicPortType[2] = 1;
logicPortPos[2] = "-1 0 4";
logicPortDir[2] = 3;
logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "B";
};
lualogic_registergatedefinition("LogicGate_Pixel_Data");
function LogicGate_Pixel_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));
}
datablock fxDTSBrickData(LogicGate_Pixel_Data)
{
brickFile = $LuaLogic::Path @ "bricks/blb/pixels/pixel.blb";
category = "Logic Bricks";
subCategory = "Outputs";
uiName = "Pixel";
iconName = $LuaLogic::Path @ "icons/Pixel";
hasPrint = 1;
printAspectRatio = "Logic";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicUIName = "Pixel";
logicUIDesc = "";
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;
logicPortType[0] = 1;
logicPortPos[0] = "-1 0 -4";
logicPortDir[0] = 3;
logicPortCauseUpdate[0] = true;
logicPortUIName[0] = "R";
logicPortType[1] = 1;
logicPortPos[1] = "-1 0 0";
logicPortDir[1] = 3;
logicPortCauseUpdate[1] = true;
logicPortUIName[1] = "G";
logicPortType[2] = 1;
logicPortPos[2] = "-1 0 4";
logicPortDir[2] = 3;
logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "B";
};
lualogic_registergatedefinition("LogicGate_Pixel_Data");
datablock fxDTSBrickData(LogicGate_HorizontalPixel_Data : LogicGate_Pixel_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 = "";
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)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x1f";
iconName = $LuaLogic::Path @ "icons/Wire 1x1f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x2fData : brick1x2fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x2f";
iconName = $LuaLogic::Path @ "icons/Wire 1x2f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x3fData : brick1x3fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x3f";
iconName = $LuaLogic::Path @ "icons/Wire 1x3f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x4fData : brick1x4fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x4f";
iconName = $LuaLogic::Path @ "icons/Wire 1x4f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x5fData : LogicWire1x4fData)
{
uiName = "Wire 1x5f";
iconName = $LuaLogic::Path @ "icons/Wire 1x5f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x5f.blb";
};
datablock fxDTSBrickData(LogicWire1x6fData : brick1x6fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x6f";
iconName = $LuaLogic::Path @ "icons/Wire 1x6f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x7fData : LogicWire1x5fData)
{
uiName = "Wire 1x7f";
iconName = $LuaLogic::Path @ "icons/Wire 1x7f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x7f.blb";
};
datablock fxDTSBrickData(LogicWire1x8fData : brick1x8fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x8f";
iconName = $LuaLogic::Path @ "icons/Wire 1x8f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x9fData : LogicWire1x5fData)
{
uiName = "Wire 1x9f";
iconName = $LuaLogic::Path @ "icons/Wire 1x9f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x9f.blb";
};
datablock fxDTSBrickData(LogicWire1x10fData : brick1x10fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x10f";
iconName = $LuaLogic::Path @ "icons/Wire 1x10f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x11fData : LogicWire1x5fData)
{
uiName = "Wire 1x11f";
iconName = $LuaLogic::Path @ "icons/Wire 1x11f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x11f.blb";
};
datablock fxDTSBrickData(LogicWire1x12fData : brick1x12fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x12f";
iconName = $LuaLogic::Path @ "icons/Wire 1x12f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x13fData : LogicWire1x5fData)
{
uiName = "Wire 1x13f";
iconName = $LuaLogic::Path @ "icons/Wire 1x13f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x13f.blb";
};
datablock fxDTSBrickData(LogicWire1x14fData : LogicWire1x5fData)
{
uiName = "Wire 1x14f";
iconName = $LuaLogic::Path @ "icons/Wire 1x14f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x14f.blb";
};
datablock fxDTSBrickData(LogicWire1x15fData : LogicWire1x5fData)
{
uiName = "Wire 1x15f";
iconName = $LuaLogic::Path @ "icons/Wire 1x15f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x15f.blb";
};
datablock fxDTSBrickData(LogicWire1x16fData : brick1x16fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x16f";
iconName = $LuaLogic::Path @ "icons/Wire 1x16f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x32fData : LogicWire1x5fData)
{
uiName = "Wire 1x32f";
iconName = $LuaLogic::Path @ "icons/Wire 1x32f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x32f.blb";
};
datablock fxDTSBrickData(LogicWire1x64fData : LogicWire1x5fData)
{
uiName = "Wire 1x64f";
iconName = $LuaLogic::Path @ "icons/Wire 1x64f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x64f.blb";
};
datablock fxDTSBrickData(LogicWire1x1x2Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x2";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x2";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x2.blb";
};
datablock fxDTSBrickData(LogicWire1x1x3Data : brick1x1Data)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x1x3";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x3";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x1x4Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x4";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x4";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x4.blb";
};
datablock fxDTSBrickData(LogicWire1x1x5Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x5";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x5";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x5.blb";
};
datablock fxDTSBrickData(LogicWire1x1x6Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x6";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x6";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x6.blb";
};
datablock fxDTSBrickData(LogicWire1x1x7Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x7";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x7";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x7.blb";
};
datablock fxDTSBrickData(LogicWire1x1x8Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x8";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x8";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x8.blb";
};
datablock fxDTSBrickData(LogicWire1x1x9Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x9";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x9";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x9.blb";
};
datablock fxDTSBrickData(LogicWire1x1x10Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x10";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x10";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x10.blb";
};
datablock fxDTSBrickData(LogicWire1x1x11Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x11";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x11";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x11.blb";
};
datablock fxDTSBrickData(LogicWire1x1x12Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x12";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x12";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x12.blb";
};
datablock fxDTSBrickData(LogicWire1x1x13Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x13";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x13";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x13.blb";
};
datablock fxDTSBrickData(LogicWire1x1x14Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x14";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x14";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x14.blb";
};
datablock fxDTSBrickData(LogicWire1x1x15Data : Brick1x1x5Data)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x1x15";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x15";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x1x16Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x16";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x16";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x16.blb";
};
datablock fxDTSBrickData(LogicWire1x1x17Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x17";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x17";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x17.blb";
};
datablock fxDTSBrickData(LogicWire1x1x128Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x128";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x128";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x128.blb";
};
datablock fxDTSBrickData(LogicWire1x2x5Data : LogicWire1x64fData)
{
uiName = "Wire 1x2x5";
iconName = $LuaLogic::Path @ "icons/Wire 1x2x5";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x2x5.blb";
};
datablock fxDTSBrickData(LogicWire64x64fData : brick64x64fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 64x64f";
iconName = $LuaLogic::Path @ "icons/Wire 64x64f";
isLogic = true;
isLogicWire = true;
};
//VISUAL
datablock fxDTSBrickData(LogicWire1x1fVisualData : LogicWire1x1fData)
{
subCategory = "Wires - Special";
uiName = "Visual Wire 1x1f";
iconName = $LuaLogic::Path @ "icons/Visual Wire 1x1f";
isLogicVisual = true;
};
datablock fxDTSBrickData(LogicWire1x1x2VisualData : LogicWire1x1x2Data)
{
subCategory = "Wires - Special";
uiName = "Visual Wire 1x1x2";
iconName = $LuaLogic::Path @ "icons/Visual Wire 1x1x2";
isLogicVisual = true;
};
datablock fxDTSBrickData(LogicWire1x1x3VisualData : LogicWire1x1x3Data)
{
subCategory = "Wires - Special";
uiName = "Visual Wire 1x1x3";
iconName = $LuaLogic::Path @ "icons/Visual Wire 1x1x3";
isLogicVisual = true;
};
datablock fxDTSBrickData(LogicWire1x1x15VisualData : LogicWire1x1x15Data)
{
subCategory = "Wires - Special";
uiName = "Visual Wire 1x1x15";
iconName = $LuaLogic::Path @ "icons/Visual Wire 1x1x15";
isLogicVisual = true;
};
datablock fxDTSBrickData(LogicWire1x2x5VisualData : LogicWire1x2x5Data)
{
subCategory = "Wires - Special";
uiName = "Visual Wire 1x2x5";
iconName = $LuaLogic::Path @ "icons/Visual Wire 1x2x5";
isLogicVisual = true;
};
datablock fxDTSBrickData(LogicWire2x2fVisualData : brick2x2fData)
{
category = "Logic Bricks";
subCategory = "Wires - Special";
uiName = "Visual Wire 2x2f";
iconName = $LuaLogic::Path @ "icons/Visual Wire 2x2f";
isLogic = true;
isLogicWire = true;
isLogicVisual = true;
};
datablock fxDTSBrickData(LogicWire1x1fData : brick1x1fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x1f";
iconName = $LuaLogic::Path @ "icons/Wire 1x1f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x2fData : brick1x2fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x2f";
iconName = $LuaLogic::Path @ "icons/Wire 1x2f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x3fData : brick1x3fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x3f";
iconName = $LuaLogic::Path @ "icons/Wire 1x3f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x4fData : brick1x4fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x4f";
iconName = $LuaLogic::Path @ "icons/Wire 1x4f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x5fData : LogicWire1x4fData)
{
uiName = "Wire 1x5f";
iconName = $LuaLogic::Path @ "icons/Wire 1x5f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x5f.blb";
};
datablock fxDTSBrickData(LogicWire1x6fData : brick1x6fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x6f";
iconName = $LuaLogic::Path @ "icons/Wire 1x6f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x7fData : LogicWire1x5fData)
{
uiName = "Wire 1x7f";
iconName = $LuaLogic::Path @ "icons/Wire 1x7f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x7f.blb";
};
datablock fxDTSBrickData(LogicWire1x8fData : brick1x8fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x8f";
iconName = $LuaLogic::Path @ "icons/Wire 1x8f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x9fData : LogicWire1x5fData)
{
uiName = "Wire 1x9f";
iconName = $LuaLogic::Path @ "icons/Wire 1x9f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x9f.blb";
};
datablock fxDTSBrickData(LogicWire1x10fData : brick1x10fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x10f";
iconName = $LuaLogic::Path @ "icons/Wire 1x10f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x11fData : LogicWire1x5fData)
{
uiName = "Wire 1x11f";
iconName = $LuaLogic::Path @ "icons/Wire 1x11f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x11f.blb";
};
datablock fxDTSBrickData(LogicWire1x12fData : brick1x12fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x12f";
iconName = $LuaLogic::Path @ "icons/Wire 1x12f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x13fData : LogicWire1x5fData)
{
uiName = "Wire 1x13f";
iconName = $LuaLogic::Path @ "icons/Wire 1x13f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x13f.blb";
};
datablock fxDTSBrickData(LogicWire1x14fData : LogicWire1x5fData)
{
uiName = "Wire 1x14f";
iconName = $LuaLogic::Path @ "icons/Wire 1x14f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x14f.blb";
};
datablock fxDTSBrickData(LogicWire1x15fData : LogicWire1x5fData)
{
uiName = "Wire 1x15f";
iconName = $LuaLogic::Path @ "icons/Wire 1x15f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x15f.blb";
};
datablock fxDTSBrickData(LogicWire1x16fData : brick1x16fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x16f";
iconName = $LuaLogic::Path @ "icons/Wire 1x16f";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x32fData : LogicWire1x5fData)
{
uiName = "Wire 1x32f";
iconName = $LuaLogic::Path @ "icons/Wire 1x32f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x32f.blb";
};
datablock fxDTSBrickData(LogicWire1x64fData : LogicWire1x5fData)
{
uiName = "Wire 1x64f";
iconName = $LuaLogic::Path @ "icons/Wire 1x64f";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x64f.blb";
};
datablock fxDTSBrickData(LogicWire1x1x2Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x2";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x2";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x2.blb";
};
datablock fxDTSBrickData(LogicWire1x1x3Data : brick1x1Data)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x1x3";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x3";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x1x4Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x4";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x4";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x4.blb";
};
datablock fxDTSBrickData(LogicWire1x1x5Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x5";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x5";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x5.blb";
};
datablock fxDTSBrickData(LogicWire1x1x6Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x6";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x6";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x6.blb";
};
datablock fxDTSBrickData(LogicWire1x1x7Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x7";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x7";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x7.blb";
};
datablock fxDTSBrickData(LogicWire1x1x8Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x8";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x8";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x8.blb";
};
datablock fxDTSBrickData(LogicWire1x1x9Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x9";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x9";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x9.blb";
};
datablock fxDTSBrickData(LogicWire1x1x10Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x10";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x10";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x10.blb";
};
datablock fxDTSBrickData(LogicWire1x1x11Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x11";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x11";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x11.blb";
};
datablock fxDTSBrickData(LogicWire1x1x12Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x12";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x12";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x12.blb";
};
datablock fxDTSBrickData(LogicWire1x1x13Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x13";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x13";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x13.blb";
};
datablock fxDTSBrickData(LogicWire1x1x14Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x14";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x14";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x14.blb";
};
datablock fxDTSBrickData(LogicWire1x1x15Data : Brick1x1x5Data)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 1x1x15";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x15";
isLogic = true;
isLogicWire = true;
};
datablock fxDTSBrickData(LogicWire1x1x16Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x16";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x16";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x16.blb";
};
datablock fxDTSBrickData(LogicWire1x1x17Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x17";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x17";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x17.blb";
};
datablock fxDTSBrickData(LogicWire1x1x128Data : LogicWire1x64fData)
{
uiName = "Wire 1x1x128";
iconName = $LuaLogic::Path @ "icons/Wire 1x1x128";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x1x128.blb";
};
datablock fxDTSBrickData(LogicWire1x2x5Data : LogicWire1x64fData)
{
uiName = "Wire 1x2x5";
iconName = $LuaLogic::Path @ "icons/Wire 1x2x5";
brickFile = $LuaLogic::Path @ "bricks/blb/wires/1x2x5.blb";
};
datablock fxDTSBrickData(LogicWire64x64fData : brick64x64fData)
{
category = "Logic Bricks";
subCategory = "Wires";
uiName = "Wire 64x64f";
iconName = $LuaLogic::Path @ "icons/Wire 64x64f";
isLogic = true;
isLogicWire = true;
};
//VISUAL
datablock fxDTSBrickData(LogicWire1x1fVisualData : LogicWire1x1fData)
{
subCategory = "Wires - Special";
uiName = "Visual Wire 1x1f";
iconName = $LuaLogic::Path @ "icons/Visual Wire 1x1f";
isLogicVisual = true;
};
datablock fxDTSBrickData(LogicWire1x1x2VisualData : LogicWire1x1x2Data)
{
subCategory = "Wires - Special";
uiName = "Visual Wire 1x1x2";
iconName = $LuaLogic::Path @ "icons/Visual Wire 1x1x2";
isLogicVisual = true;
};
datablock fxDTSBrickData(LogicWire1x1x3VisualData : LogicWire1x1x3Data)
{
subCategory = "Wires - Special";
uiName = "Visual Wire 1x1x3";
iconName = $LuaLogic::Path @ "icons/Visual Wire 1x1x3";
isLogicVisual = true;
};
datablock fxDTSBrickData(LogicWire1x1x15VisualData : LogicWire1x1x15Data)
{
subCategory = "Wires - Special";
uiName = "Visual Wire 1x1x15";
iconName = $LuaLogic::Path @ "icons/Visual Wire 1x1x15";
isLogicVisual = true;
};
datablock fxDTSBrickData(LogicWire1x2x5VisualData : LogicWire1x2x5Data)
{
subCategory = "Wires - Special";
uiName = "Visual Wire 1x2x5";
iconName = $LuaLogic::Path @ "icons/Visual Wire 1x2x5";
isLogicVisual = true;
};
datablock fxDTSBrickData(LogicWire2x2fVisualData : brick2x2fData)
{
category = "Logic Bricks";
subCategory = "Wires - Special";
uiName = "Visual Wire 2x2f";
iconName = $LuaLogic::Path @ "icons/Visual Wire 2x2f";
isLogic = true;
isLogicWire = true;
isLogicVisual = true;
};

View File

@ -1,4 +1,4 @@
Title: Brick_LuaLogic
Authors: Eagle517 (25351), Redo (12878), Entity (49803)
https://github.com/Eagle517/BL-Lua-Logic
Lets you simulate logic circuits in Blockland while using Lua as the backend for performance.
Title: Brick_LuaLogic
Authors: Eagle517 (25351), Redo (12878), Entity (49803)
https://github.com/Eagle517/BL-Lua-Logic
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
exec($LuaLogic::Path @ "bricks/outputs/pixel.cs");
exec($LuaLogic::Path @ "bricks/outputs/HorizontalPixel.cs");
exec($LuaLogic::Path @ "bricks/outputs/TextBrick.cs");
//Math

View File

@ -1,82 +1,82 @@
function serverCmdLT(%client)
{
if(%client.isAdmin || %client.isSuperAdmin)
{
$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");
lualogic_sendoptions();
}
}
function serverCmdLST(%client, %time)
{
if(%client.isAdmin || %client.isSuperAdmin)
{
%time = mClamp(%time, 0, 999999);
$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");
lualogic_sendoptions();
}
}
function serverCmdLS(%client)
{
if(%client.isAdmin || %client.isSuperAdmin)
{
commandToAll('bottomprint', "\c3" @ %client.name @ "\c6 has forced a logic tick.", 3, 1);
lualogic_send("TICK");
}
}
function serverCmdLFX(%client)
{
if(%client.isAdmin || %client.isSuperAdmin)
{
$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");
lualogic_sendoptions();
}
}
function serverCmdLFXT(%client, %time)
{
if(%client.isAdmin || %client.isSuperAdmin)
{
%time = mClamp(%time, 0, 999999);
$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");
lualogic_sendoptions();
}
}
function serverCmdLTR(%client)
{
%client.logicLTR = !%client.logicLTR;
if(%client.logicLTR == false)
commandToClient(%client, 'bottomPrint', "", 0, 1);
}
function serverCmdLI(%client)
{
if(%client.isAdmin || %client.isSuperAdmin)
lualogic_send("SINFO;" @ %client);
}
function serverCmdLG(%client, %n)
{
if(%client.isAdmin || %client.isSuperAdmin)
{
if(isObject(%player = %client.player))
{
%eye = %player.getEyePoint();
%vec = %player.getEyeVector();
%ray = containerRayCast(%eye, vectorAdd(%eye, vectorScale(%vec, 5*getWord(%player.getScale(), 2))), $TypeMasks::FxBrickObjectType);
if(isObject(%hit = firstWord(%ray)))
{
%data = %hit.getDataBlock();
if(%data.isLogicGate)
lualogic_send("TEST;" @ %hit @ ";" @ %n);
}
}
}
}
function serverCmdLT(%client)
{
if(%client.isAdmin || %client.isSuperAdmin)
{
$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");
lualogic_sendoptions();
}
}
function serverCmdLST(%client, %time)
{
if(%client.isAdmin || %client.isSuperAdmin)
{
%time = mClamp(%time, 0, 999999);
$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");
lualogic_sendoptions();
}
}
function serverCmdLS(%client)
{
if(%client.isAdmin || %client.isSuperAdmin)
{
commandToAll('bottomprint', "\c3" @ %client.name @ "\c6 has forced a logic tick.", 3, 1);
lualogic_send("TICK");
}
}
function serverCmdLFX(%client)
{
if(%client.isAdmin || %client.isSuperAdmin)
{
$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");
lualogic_sendoptions();
}
}
function serverCmdLFXT(%client, %time)
{
if(%client.isAdmin || %client.isSuperAdmin)
{
%time = mClamp(%time, 0, 999999);
$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");
lualogic_sendoptions();
}
}
function serverCmdLTR(%client)
{
%client.logicLTR = !%client.logicLTR;
if(%client.logicLTR == false)
commandToClient(%client, 'bottomPrint', "", 0, 1);
}
function serverCmdLI(%client)
{
if(%client.isAdmin || %client.isSuperAdmin)
lualogic_send("SINFO;" @ %client);
}
function serverCmdLG(%client, %n)
{
if(%client.isAdmin || %client.isSuperAdmin)
{
if(isObject(%player = %client.player))
{
%eye = %player.getEyePoint();
%vec = %player.getEyeVector();
%ray = containerRayCast(%eye, vectorAdd(%eye, vectorScale(%vec, 5*getWord(%player.getScale(), 2))), $TypeMasks::FxBrickObjectType);
if(isObject(%hit = firstWord(%ray)))
{
%data = %hit.getDataBlock();
if(%data.isLogicGate)
lualogic_send("TEST;" @ %hit @ ";" @ %n);
}
}
}
}