Initial commit
50
brickdata.cs
Normal file
@ -0,0 +1,50 @@
|
||||
//Wires
|
||||
exec("./bricks/wires.cs");
|
||||
|
||||
//Gates
|
||||
exec("./bricks/gates/diode.cs");
|
||||
exec("./bricks/gates/NOT.cs");
|
||||
exec("./bricks/gates/OR.cs");
|
||||
exec("./bricks/gates/AND.cs");
|
||||
exec("./bricks/gates/NOR.cs");
|
||||
exec("./bricks/gates/NAND.cs");
|
||||
exec("./bricks/gates/XOR.cs");
|
||||
exec("./bricks/gates/XNOR.cs");
|
||||
|
||||
//Vertical
|
||||
exec("./bricks/gates/verticalDiode.cs");
|
||||
exec("./bricks/gates/verticalNOT.cs");
|
||||
|
||||
//Bus
|
||||
exec("./bricks/bus/8BitEnabler.cs");
|
||||
exec("./bricks/bus/8BitDFlipFlop.cs");
|
||||
|
||||
//Inputs
|
||||
exec("./bricks/inputs/switch.cs");
|
||||
exec("./bricks/inputs/keyboard.cs");
|
||||
|
||||
//Math
|
||||
//Addition
|
||||
exec("./bricks/math/HalfAdder.cs");
|
||||
exec("./bricks/math/FullAdder.cs");
|
||||
exec("./bricks/math/8bitAdder.cs");
|
||||
|
||||
//Subtraction
|
||||
exec("./bricks/math/HalfSubtractor.cs");
|
||||
exec("./bricks/math/FullSubtractor.cs");
|
||||
exec("./bricks/math/8bitSubtractor.cs");
|
||||
|
||||
//Multiplication
|
||||
exec("./bricks/math/8bitMultiplier.cs");
|
||||
|
||||
//Division
|
||||
exec("./bricks/math/8bitDivider.cs");
|
||||
|
||||
//Memory
|
||||
exec("./bricks/memory/DFlipFlop.cs");
|
||||
exec("./bricks/memory/DFlipflopGridMemory2.cs");
|
||||
|
||||
//Special
|
||||
exec("./bricks/special/pixel.cs");
|
||||
exec("./bricks/special/HorizontalPixel.cs");
|
||||
exec("./bricks/special/TextBrick.cs");
|
171
bricks.cs
Normal file
@ -0,0 +1,171 @@
|
||||
function lualogic_addwire(%wire)
|
||||
{
|
||||
%color = %wire.getColorID();
|
||||
|
||||
%box = %wire.getWorldBox();
|
||||
|
||||
%minX = mFloatLength(getWord(%box, 0)*2, 0)/2;
|
||||
%minY = mFloatLength(getWord(%box, 1)*2, 0)/2;
|
||||
%minZ = mFloatLength(getWord(%box, 2)*5, 0)/5;
|
||||
|
||||
%maxX = mFloatLength(getWord(%box, 3)*2, 0)/2;
|
||||
%maxY = mFloatLength(getWord(%box, 4)*2, 0)/2;
|
||||
%maxZ = mFloatLength(getWord(%box, 5)*5, 0)/5;
|
||||
|
||||
%min = lualogic_pos(%minX SPC %minY SPC %minZ);
|
||||
%max = lualogic_pos(%maxX SPC %maxY SPC %maxZ);
|
||||
|
||||
lualogic_send("W;" @ %wire.getID() @ ";" @ %color @ ";" @ %min @ ";" @ %max);
|
||||
%wire.logicIsAdded = true;
|
||||
}
|
||||
|
||||
function lualogic_addgate(%gate)
|
||||
{
|
||||
%db = %gate.getDataBlock();
|
||||
%pos = lualogic_pos(%gate.getPosition());
|
||||
%rot = %gate.angleId;
|
||||
|
||||
%data = "G;" @ %gate.getID() @ ";" @ %db @ ";" @ %pos @ ";" @ %rot;
|
||||
|
||||
lualogic_send(%data);
|
||||
%gate.logicIsAdded = true;
|
||||
|
||||
if(isFunction(%db.getName(), "Logic_onAdd"))
|
||||
%db.Logic_onAdd(%gate);
|
||||
}
|
||||
|
||||
function lualogic_removewire(%wire)
|
||||
{
|
||||
if(%wire.logicIsRemoved == false)
|
||||
{
|
||||
lualogic_send("RW;" @ %wire);
|
||||
%wire.logicIsRemoved = true;
|
||||
}
|
||||
}
|
||||
|
||||
function lualogic_removegate(%gate)
|
||||
{
|
||||
if(%gate.logicIsRemoved == false)
|
||||
{
|
||||
%db = %gate.getDataBlock();
|
||||
if(isFunction(%db.getName(), "Logic_onRemove"))
|
||||
%db.Logic_onRemove(%gate);
|
||||
|
||||
lualogic_send("RG;" @ %gate);
|
||||
%gate.logicIsRemoved = true;
|
||||
}
|
||||
}
|
||||
|
||||
function lualogic_sendall()
|
||||
{
|
||||
%groups = mainBrickGroup.getCount();
|
||||
for(%i = 0; %i < %groups; %i++)
|
||||
{
|
||||
%group = mainBrickGroup.getObject(%i);
|
||||
%bricks = %group.getCount();
|
||||
for(%a = 0; %a < %bricks; %a++)
|
||||
{
|
||||
%brick = %group.getObject(%a);
|
||||
%data = %brick.getDataBlock();
|
||||
if(%data.isLogic && %brick.isPlanted())
|
||||
{
|
||||
if(%data.isLogicWire)
|
||||
lualogic_addwire(%brick);
|
||||
else if(%data.isLogicGate)
|
||||
lualogic_addgate(%brick);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function fxDTSBrick::Logic_SetOutput(%this, %port, %state)
|
||||
{
|
||||
lualogic_send("SP;" @ %this @ ";" @ %port+1 @ ";" @ %state);
|
||||
}
|
||||
|
||||
package LuaLogic_Bricks
|
||||
{
|
||||
function fxDTSBrickData::onPlant(%this, %brick)
|
||||
{
|
||||
parent::onPlant(%this, %brick);
|
||||
|
||||
if(isObject(%brick) && %this.isLogic)
|
||||
{
|
||||
if(%this.isLogicWire)
|
||||
lualogic_addwire(%brick);
|
||||
else if(%this.isLogicGate)
|
||||
lualogic_addgate(%brick);
|
||||
}
|
||||
}
|
||||
|
||||
function fxDTSBrickData::onLoadPlant(%this, %brick)
|
||||
{
|
||||
parent::onLoadPlant(%this, %brick);
|
||||
|
||||
if(isObject(%brick) && %this.isLogic)
|
||||
{
|
||||
if(%this.isLogicWire)
|
||||
lualogic_addwire(%brick);
|
||||
else if(%this.isLogicGate)
|
||||
lualogic_addgate(%brick);
|
||||
}
|
||||
}
|
||||
|
||||
function fxDTSBrickData::onColorChange(%data, %obj)
|
||||
{
|
||||
parent::onColorChange(%data, %obj);
|
||||
|
||||
if(isObject(%obj) && %obj.isPlanted() && !%obj.isDead() && %data.isLogic && %data.isLogicWire)
|
||||
lualogic_send("SL;" @ %obj @ ";" @ %obj.getColorID());
|
||||
}
|
||||
|
||||
function fxDTSBrickData::onDeath(%this, %brick)
|
||||
{
|
||||
if(%this.isLogic)
|
||||
{
|
||||
if(%this.isLogicWire)
|
||||
lualogic_removewire(%brick);
|
||||
else if(%this.isLogicGate)
|
||||
lualogic_removegate(%brick);
|
||||
}
|
||||
|
||||
parent::onDeath(%this, %brick);
|
||||
}
|
||||
|
||||
function fxDTSBrickData::onRemove(%this, %brick)
|
||||
{
|
||||
if(%this.isLogic && %brick.logicIsAdded)
|
||||
{
|
||||
if(%this.isLogicWire)
|
||||
lualogic_removewire(%brick);
|
||||
else if(%this.isLogicGate)
|
||||
lualogic_removegate(%brick);
|
||||
}
|
||||
|
||||
parent::onRemove(%this, %brick);
|
||||
}
|
||||
|
||||
function Player::activateStuff(%this, %a, %b)
|
||||
{
|
||||
parent::activateStuff(%this, %a, %b);
|
||||
|
||||
if(isObject(%client = %this.client))
|
||||
{
|
||||
%eye = %this.getEyePoint();
|
||||
%vec = %this.getEyeVector();
|
||||
%ray = containerRayCast(%eye, vectorAdd(%eye, vectorScale(%vec, 5*getWord(%this.getScale(), 2))), $TypeMasks::FxBrickObjectType);
|
||||
if(isObject(%hit = firstWord(%ray)))
|
||||
{
|
||||
%data = %hit.getDataBlock();
|
||||
if(%data.isLogic)
|
||||
{
|
||||
if(%data.isLogicInput)
|
||||
%data.Logic_onInput(%hit, %hitPos, %hitNorm, %client);
|
||||
else
|
||||
lualogic_send("GINFO;" @ %client @ ";" @ %hit);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
activatePackage("LuaLogic_Bricks");
|
403
bricks/blb/1x1fD_1i_1o.blb
Normal file
@ -0,0 +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
|
403
bricks/blb/1x1fU_1i_1o.blb
Normal file
@ -0,0 +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
|
403
bricks/blb/1x1f_1i_1o.blb
Normal file
@ -0,0 +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
|
515
bricks/blb/1x2f_2i_1o.blb
Normal file
@ -0,0 +1,515 @@
|
||||
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:
|
||||
0 0
|
||||
1 0
|
||||
1 1
|
||||
0 1
|
||||
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:
|
||||
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.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 -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
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
0.75 -0.82 -0.24
|
||||
0.75 -0.18 -0.24
|
||||
0.5 -0.1 -0.3
|
||||
0.5 -0.9 -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.82 -0.24
|
||||
0.75 -0.82 0.24
|
||||
0.75 -0.18 0.24
|
||||
0.75 -0.18 -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.18 0.24
|
||||
0.75 -0.82 0.24
|
||||
0.5 -0.9 0.3
|
||||
0.5 -0.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.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.18 -0.24
|
||||
0.75 -0.18 0.24
|
||||
0.5 -0.1 0.3
|
||||
0.5 -0.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.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.82 0.24
|
||||
0.75 -0.82 -0.24
|
||||
0.5 -0.9 -0.3
|
||||
0.5 -0.9 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 -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
|
||||
----------------west quads:
|
||||
11
|
||||
|
||||
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
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-0.64 0.9 -0.3
|
||||
-0.64 0.1 -0.3
|
||||
-0.5 0.1 -0.3
|
||||
-0.5 0.9 -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.9 -0.3
|
||||
-0.64 0.9 0.3
|
||||
-0.64 0.1 0.3
|
||||
-0.64 0.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:
|
||||
-1 0 0
|
||||
-1 0 0
|
||||
-1 0 0
|
||||
-1 0 0
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-0.64 0.1 0.3
|
||||
-0.64 0.9 0.3
|
||||
-0.5 0.9 0.3
|
||||
-0.5 0.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 1
|
||||
0 0 1
|
||||
0 0 1
|
||||
0 0 1
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-0.64 0.1 -0.3
|
||||
-0.64 0.1 0.3
|
||||
-0.5 0.1 0.3
|
||||
-0.5 0.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 -1 0
|
||||
0 -1 0
|
||||
0 -1 0
|
||||
0 -1 0
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-0.64 0.9 0.3
|
||||
-0.64 0.9 -0.3
|
||||
-0.5 0.9 -0.3
|
||||
-0.5 0.9 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.1 -0.3
|
||||
-0.64 -0.9 -0.3
|
||||
-0.5 -0.9 -0.3
|
||||
-0.5 -0.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 -1
|
||||
0 0 -1
|
||||
0 0 -1
|
||||
0 0 -1
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-0.64 -0.1 -0.3
|
||||
-0.64 -0.1 0.3
|
||||
-0.64 -0.9 0.3
|
||||
-0.64 -0.9 -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.9 0.3
|
||||
-0.64 -0.1 0.3
|
||||
-0.5 -0.1 0.3
|
||||
-0.5 -0.9 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.9 -0.3
|
||||
-0.64 -0.9 0.3
|
||||
-0.5 -0.9 0.3
|
||||
-0.5 -0.9 -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.1 0.3
|
||||
-0.64 -0.1 -0.3
|
||||
-0.5 -0.1 -0.3
|
||||
-0.5 -0.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 1 0
|
||||
-0 1 0
|
||||
-0 1 0
|
||||
-0 1 0
|
||||
----------------omni quads:
|
||||
0
|
2163
bricks/blb/1x8f_8i_8o_p.blb
Normal file
3062
bricks/blb/8bitAdder.blb
Normal file
3722
bricks/blb/8bitMultiplier.blb
Normal file
847
bricks/blb/DFlipflopGridMemory2.blb
Normal file
@ -0,0 +1,847 @@
|
||||
1 1 5
|
||||
SPECIAL
|
||||
|
||||
u
|
||||
X
|
||||
X
|
||||
X
|
||||
d
|
||||
|
||||
1
|
||||
|
||||
0 0 0
|
||||
1 1 5
|
||||
COVERAGE:
|
||||
1 : 1
|
||||
1 : 1
|
||||
1 : 5
|
||||
1 : 5
|
||||
1 : 5
|
||||
1 : 5
|
||||
----------------top quads:
|
||||
6
|
||||
|
||||
TEX:PRINT
|
||||
POSITION:
|
||||
0.5 0.5 2.5
|
||||
0.5 -0.5 2.5
|
||||
-0.5 -0.5 2.5
|
||||
-0.5 0.5 2.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 2.87501
|
||||
0.32 -0.32 2.87501
|
||||
0.4 -0.4 2.50001
|
||||
-0.4 -0.4 2.50001
|
||||
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 2.87501
|
||||
-0.32 0.32 2.87501
|
||||
0.32 0.32 2.87501
|
||||
0.32 -0.32 2.87501
|
||||
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 2.87501
|
||||
-0.32 0.32 2.87501
|
||||
-0.4 0.4 2.50001
|
||||
0.4 0.4 2.50001
|
||||
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 2.87501
|
||||
-0.32 -0.32 2.87501
|
||||
-0.4 -0.4 2.50001
|
||||
-0.4 0.4 2.50001
|
||||
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 2.87501
|
||||
0.32 0.32 2.87501
|
||||
0.4 0.4 2.50001
|
||||
0.4 -0.4 2.50001
|
||||
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:
|
||||
4
|
||||
|
||||
TEX:BOTTOMEDGE
|
||||
POSITION:
|
||||
-0.5 -0.5 -2.5
|
||||
0.5 -0.5 -2.5
|
||||
0 0 -2.5
|
||||
0 0 -2.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 -2.5
|
||||
-0.5 0.5 -2.5
|
||||
0 0 -2.5
|
||||
0 0 -2.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 -2.5
|
||||
0.5 0.5 -2.5
|
||||
0 0 -2.5
|
||||
0 0 -2.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 -2.5
|
||||
-0.5 -0.5 -2.5
|
||||
0 0 -2.5
|
||||
0 0 -2.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:
|
||||
21
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-0.5 0.5 2.5
|
||||
-0.5 0.5 -2.5
|
||||
0.5 0.5 -2.5
|
||||
0.5 0.5 2.5
|
||||
UV COORDS:
|
||||
1.02148 0
|
||||
1.02148 1
|
||||
-0.0214844 1
|
||||
-0.0214844 0
|
||||
NORMALS:
|
||||
0 1 0
|
||||
0 1 0
|
||||
0 1 0
|
||||
0 1 0
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
0.32 0.75 1.76001
|
||||
-0.32 0.75 1.76001
|
||||
-0.4 0.5 1.70001
|
||||
0.4 0.5 1.70001
|
||||
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 0.75 1.76001
|
||||
0.32 0.75 2.24001
|
||||
-0.32 0.75 2.24001
|
||||
-0.32 0.75 1.76001
|
||||
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 0.75 2.24001
|
||||
0.32 0.75 2.24001
|
||||
0.4 0.5 2.30001
|
||||
-0.4 0.5 2.30001
|
||||
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 0.75 1.76001
|
||||
-0.32 0.75 2.24001
|
||||
-0.4 0.5 2.30001
|
||||
-0.4 0.5 1.70001
|
||||
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 0.75 2.24001
|
||||
0.32 0.75 1.76001
|
||||
0.4 0.5 1.70001
|
||||
0.4 0.5 2.30001
|
||||
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.4 0.64 0.699985
|
||||
-0.4 0.64 0.699985
|
||||
-0.4 0.5 0.699985
|
||||
0.4 0.5 0.699985
|
||||
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.699985
|
||||
0.4 0.64 1.29998
|
||||
-0.4 0.64 1.29998
|
||||
-0.4 0.64 0.699985
|
||||
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 1.29998
|
||||
0.4 0.64 1.29998
|
||||
0.4 0.5 1.29998
|
||||
-0.4 0.5 1.29998
|
||||
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.699985
|
||||
-0.4 0.64 1.29998
|
||||
-0.4 0.5 1.29998
|
||||
-0.4 0.5 0.699985
|
||||
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 1.29998
|
||||
0.4 0.64 0.699985
|
||||
0.4 0.5 0.699985
|
||||
0.4 0.5 1.29998
|
||||
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 -2.30001
|
||||
-0.4 0.64 -2.30001
|
||||
-0.4 0.5 -2.30001
|
||||
0.4 0.5 -2.30001
|
||||
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 -2.30001
|
||||
0.4 0.64 -1.70001
|
||||
-0.4 0.64 -1.70001
|
||||
-0.4 0.64 -2.30001
|
||||
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 -1.70001
|
||||
0.4 0.64 -1.70001
|
||||
0.4 0.5 -1.70001
|
||||
-0.4 0.5 -1.70001
|
||||
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 -2.30001
|
||||
-0.4 0.64 -1.70001
|
||||
-0.4 0.5 -1.70001
|
||||
-0.4 0.5 -2.30001
|
||||
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 -1.70001
|
||||
0.4 0.64 -2.30001
|
||||
0.4 0.5 -2.30001
|
||||
0.4 0.5 -1.70001
|
||||
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 -1.29998
|
||||
-0.4 0.64 -1.29998
|
||||
-0.4 0.5 -1.29998
|
||||
0.4 0.5 -1.29998
|
||||
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 -1.29998
|
||||
0.4 0.64 -0.699985
|
||||
-0.4 0.64 -0.699985
|
||||
-0.4 0.64 -1.29998
|
||||
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.699985
|
||||
0.4 0.64 -0.699985
|
||||
0.4 0.5 -0.699985
|
||||
-0.4 0.5 -0.699985
|
||||
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 -1.29998
|
||||
-0.4 0.64 -0.699985
|
||||
-0.4 0.5 -0.699985
|
||||
-0.4 0.5 -1.29998
|
||||
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.699985
|
||||
0.4 0.64 -1.29998
|
||||
0.4 0.5 -1.29998
|
||||
0.4 0.5 -0.699985
|
||||
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
|
||||
----------------east quads:
|
||||
6
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
0.5 -0.5 2.5
|
||||
0.5 0.5 2.5
|
||||
0.5 0.5 -2.5
|
||||
0.5 -0.5 -2.5
|
||||
UV COORDS:
|
||||
-0.0214844 0
|
||||
1.02148 0
|
||||
1.02148 1
|
||||
-0.0214844 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.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
|
||||
----------------south quads:
|
||||
1
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
0.5 -0.5 2.5
|
||||
0.5 -0.5 -2.5
|
||||
-0.5 -0.5 -2.5
|
||||
-0.5 -0.5 2.5
|
||||
UV COORDS:
|
||||
1.02148 0
|
||||
1.02148 1
|
||||
-0.0214844 1
|
||||
-0.0214844 0
|
||||
NORMALS:
|
||||
0 -1 0
|
||||
0 -1 0
|
||||
0 -1 0
|
||||
0 -1 0
|
||||
----------------west quads:
|
||||
1
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-0.5 -0.5 -2.5
|
||||
-0.5 0.5 -2.5
|
||||
-0.5 0.5 2.5
|
||||
-0.5 -0.5 2.5
|
||||
UV COORDS:
|
||||
1.02148 1
|
||||
-0.0214844 1
|
||||
-0.0214844 0
|
||||
1.02148 0
|
||||
NORMALS:
|
||||
-1 0 0
|
||||
-1 0 0
|
||||
-1 0 0
|
||||
-1 0 0
|
||||
----------------omni quads:
|
||||
0
|
733
bricks/blb/FullAdder.blb
Normal file
@ -0,0 +1,733 @@
|
||||
2 1 1
|
||||
SPECIAL
|
||||
|
||||
bb
|
||||
|
||||
1
|
||||
|
||||
0 0 0
|
||||
2 1 1
|
||||
COVERAGE:
|
||||
1 : 2
|
||||
1 : 2
|
||||
1 : 2
|
||||
1 : 1
|
||||
1 : 2
|
||||
1 : 1
|
||||
----------------top quads:
|
||||
1
|
||||
|
||||
TEX:PRINT
|
||||
POSITION:
|
||||
1 0.5 0.5
|
||||
1 -0.5 0.5
|
||||
-1 -0.5 0.5
|
||||
-1 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
|
||||
----------------bottom quads:
|
||||
4
|
||||
|
||||
TEX:BOTTOMEDGE
|
||||
POSITION:
|
||||
-1 -0.5 -0.5
|
||||
1 -0.5 -0.5
|
||||
0.5 0 -0.5
|
||||
-0.5 0 -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:
|
||||
1 0.5 -0.5
|
||||
-1 0.5 -0.5
|
||||
-0.5 0 -0.5
|
||||
0.5 0 -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:
|
||||
1 -0.5 -0.5
|
||||
1 0.5 -0.5
|
||||
0.5 0 -0.5
|
||||
0.5 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:
|
||||
-1 0.5 -0.5
|
||||
-1 -0.5 -0.5
|
||||
-0.5 0 -0.5
|
||||
-0.5 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:
|
||||
6
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-1 0.5 0.5
|
||||
-1 0.5 -0.5
|
||||
1 0.5 -0.5
|
||||
1 0.5 0.5
|
||||
UV COORDS:
|
||||
1 -0.0859375
|
||||
1 1.08594
|
||||
0 1.08594
|
||||
0 -0.0859375
|
||||
NORMALS:
|
||||
0 1 0
|
||||
0 1 0
|
||||
0 1 0
|
||||
0 1 0
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-0.18 0.75 -0.24
|
||||
-0.82 0.75 -0.24
|
||||
-0.9 0.5 -0.3
|
||||
-0.1 0.5 -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.18 0.75 -0.24
|
||||
-0.18 0.75 0.24
|
||||
-0.82 0.75 0.24
|
||||
-0.82 0.75 -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.82 0.75 0.24
|
||||
-0.18 0.75 0.24
|
||||
-0.1 0.5 0.3
|
||||
-0.9 0.5 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.82 0.75 -0.24
|
||||
-0.82 0.75 0.24
|
||||
-0.9 0.5 0.3
|
||||
-0.9 0.5 -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.18 0.75 0.24
|
||||
-0.18 0.75 -0.24
|
||||
-0.1 0.5 -0.3
|
||||
-0.1 0.5 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:
|
||||
6
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
1 -0.5 0.5
|
||||
1 0.5 0.5
|
||||
1 0.5 -0.5
|
||||
1 -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:
|
||||
1.14 -0.4 -0.3
|
||||
1.14 0.4 -0.3
|
||||
1 0.4 -0.3
|
||||
1 -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:
|
||||
1.14 -0.4 -0.3
|
||||
1.14 -0.4 0.3
|
||||
1.14 0.4 0.3
|
||||
1.14 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:
|
||||
1.14 0.4 0.3
|
||||
1.14 -0.4 0.3
|
||||
1 -0.4 0.3
|
||||
1 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:
|
||||
1.14 0.4 -0.3
|
||||
1.14 0.4 0.3
|
||||
1 0.4 0.3
|
||||
1 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:
|
||||
1.14 -0.4 0.3
|
||||
1.14 -0.4 -0.3
|
||||
1 -0.4 -0.3
|
||||
1 -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
|
||||
----------------south quads:
|
||||
11
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
1 -0.5 0.5
|
||||
1 -0.5 -0.5
|
||||
-1 -0.5 -0.5
|
||||
-1 -0.5 0.5
|
||||
UV COORDS:
|
||||
1 -0.0859375
|
||||
1 1.08594
|
||||
0 1.08594
|
||||
0 -0.0859375
|
||||
NORMALS:
|
||||
0 -1 0
|
||||
0 -1 0
|
||||
0 -1 0
|
||||
0 -1 0
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-0.9 -0.64 -0.3
|
||||
-0.1 -0.64 -0.3
|
||||
-0.1 -0.5 -0.3
|
||||
-0.9 -0.5 -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.9 -0.64 -0.3
|
||||
-0.9 -0.64 0.3
|
||||
-0.1 -0.64 0.3
|
||||
-0.1 -0.64 -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.1 -0.64 0.3
|
||||
-0.9 -0.64 0.3
|
||||
-0.9 -0.5 0.3
|
||||
-0.1 -0.5 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.1 -0.64 -0.3
|
||||
-0.1 -0.64 0.3
|
||||
-0.1 -0.5 0.3
|
||||
-0.1 -0.5 -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.9 -0.64 0.3
|
||||
-0.9 -0.64 -0.3
|
||||
-0.9 -0.5 -0.3
|
||||
-0.9 -0.5 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.1 -0.64 -0.3
|
||||
0.9 -0.64 -0.3
|
||||
0.9 -0.5 -0.3
|
||||
0.1 -0.5 -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.1 -0.64 -0.3
|
||||
0.1 -0.64 0.3
|
||||
0.9 -0.64 0.3
|
||||
0.9 -0.64 -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.9 -0.64 0.3
|
||||
0.1 -0.64 0.3
|
||||
0.1 -0.5 0.3
|
||||
0.9 -0.5 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.9 -0.64 -0.3
|
||||
0.9 -0.64 0.3
|
||||
0.9 -0.5 0.3
|
||||
0.9 -0.5 -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.1 -0.64 0.3
|
||||
0.1 -0.64 -0.3
|
||||
0.1 -0.5 -0.3
|
||||
0.1 -0.5 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
|
||||
----------------west quads:
|
||||
6
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-1 -0.5 -0.5
|
||||
-1 0.5 -0.5
|
||||
-1 0.5 0.5
|
||||
-1 -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:
|
||||
-1.25 0.32 -0.24
|
||||
-1.25 -0.32 -0.24
|
||||
-1 -0.4 -0.3
|
||||
-1 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:
|
||||
-1.25 0.32 -0.24
|
||||
-1.25 0.32 0.24
|
||||
-1.25 -0.32 0.24
|
||||
-1.25 -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:
|
||||
-1.25 -0.32 0.24
|
||||
-1.25 0.32 0.24
|
||||
-1 0.4 0.3
|
||||
-1 -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:
|
||||
-1.25 -0.32 -0.24
|
||||
-1.25 -0.32 0.24
|
||||
-1 -0.4 0.3
|
||||
-1 -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:
|
||||
-1.25 0.32 0.24
|
||||
-1.25 0.32 -0.24
|
||||
-1 0.4 -0.3
|
||||
-1 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
|
||||
----------------omni quads:
|
||||
0
|
623
bricks/blb/HalfAdder.blb
Normal file
@ -0,0 +1,623 @@
|
||||
2 1 1
|
||||
SPECIAL
|
||||
|
||||
bb
|
||||
|
||||
1
|
||||
|
||||
0 0 0
|
||||
2 1 1
|
||||
COVERAGE:
|
||||
1 : 2
|
||||
1 : 2
|
||||
1 : 2
|
||||
1 : 1
|
||||
1 : 2
|
||||
1 : 1
|
||||
----------------top quads:
|
||||
1
|
||||
|
||||
TEX:PRINT
|
||||
POSITION:
|
||||
1 0.5 0.5
|
||||
1 -0.5 0.5
|
||||
-1 -0.5 0.5
|
||||
-1 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
|
||||
----------------bottom quads:
|
||||
4
|
||||
|
||||
TEX:BOTTOMEDGE
|
||||
POSITION:
|
||||
-1 -0.5 -0.5
|
||||
1 -0.5 -0.5
|
||||
0.5 0 -0.5
|
||||
-0.5 0 -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:
|
||||
1 0.5 -0.5
|
||||
-1 0.5 -0.5
|
||||
-0.5 0 -0.5
|
||||
0.5 0 -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:
|
||||
1 -0.5 -0.5
|
||||
1 0.5 -0.5
|
||||
0.5 0 -0.5
|
||||
0.5 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:
|
||||
-1 0.5 -0.5
|
||||
-1 -0.5 -0.5
|
||||
-0.5 0 -0.5
|
||||
-0.5 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:
|
||||
6
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-1 0.5 0.5
|
||||
-1 0.5 -0.5
|
||||
1 0.5 -0.5
|
||||
1 0.5 0.5
|
||||
UV COORDS:
|
||||
1 -0.0859375
|
||||
1 1.08594
|
||||
0 1.08594
|
||||
0 -0.0859375
|
||||
NORMALS:
|
||||
0 1 0
|
||||
0 1 0
|
||||
0 1 0
|
||||
0 1 0
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-0.18 0.75 -0.24
|
||||
-0.82 0.75 -0.24
|
||||
-0.9 0.5 -0.3
|
||||
-0.1 0.5 -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.18 0.75 -0.24
|
||||
-0.18 0.75 0.24
|
||||
-0.82 0.75 0.24
|
||||
-0.82 0.75 -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.82 0.75 0.24
|
||||
-0.18 0.75 0.24
|
||||
-0.1 0.5 0.3
|
||||
-0.9 0.5 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.82 0.75 -0.24
|
||||
-0.82 0.75 0.24
|
||||
-0.9 0.5 0.3
|
||||
-0.9 0.5 -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.18 0.75 0.24
|
||||
-0.18 0.75 -0.24
|
||||
-0.1 0.5 -0.3
|
||||
-0.1 0.5 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:
|
||||
1 -0.5 0.5
|
||||
1 0.5 0.5
|
||||
1 0.5 -0.5
|
||||
1 -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
|
||||
----------------south quads:
|
||||
11
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
1 -0.5 0.5
|
||||
1 -0.5 -0.5
|
||||
-1 -0.5 -0.5
|
||||
-1 -0.5 0.5
|
||||
UV COORDS:
|
||||
1 -0.0859375
|
||||
1 1.08594
|
||||
0 1.08594
|
||||
0 -0.0859375
|
||||
NORMALS:
|
||||
0 -1 0
|
||||
0 -1 0
|
||||
0 -1 0
|
||||
0 -1 0
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-0.9 -0.64 -0.3
|
||||
-0.1 -0.64 -0.3
|
||||
-0.1 -0.5 -0.3
|
||||
-0.9 -0.5 -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.9 -0.64 -0.3
|
||||
-0.9 -0.64 0.3
|
||||
-0.1 -0.64 0.3
|
||||
-0.1 -0.64 -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.1 -0.64 0.3
|
||||
-0.9 -0.64 0.3
|
||||
-0.9 -0.5 0.3
|
||||
-0.1 -0.5 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.1 -0.64 -0.3
|
||||
-0.1 -0.64 0.3
|
||||
-0.1 -0.5 0.3
|
||||
-0.1 -0.5 -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.9 -0.64 0.3
|
||||
-0.9 -0.64 -0.3
|
||||
-0.9 -0.5 -0.3
|
||||
-0.9 -0.5 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.1 -0.64 -0.3
|
||||
0.9 -0.64 -0.3
|
||||
0.9 -0.5 -0.3
|
||||
0.1 -0.5 -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.1 -0.64 -0.3
|
||||
0.1 -0.64 0.3
|
||||
0.9 -0.64 0.3
|
||||
0.9 -0.64 -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.9 -0.64 0.3
|
||||
0.1 -0.64 0.3
|
||||
0.1 -0.5 0.3
|
||||
0.9 -0.5 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.9 -0.64 -0.3
|
||||
0.9 -0.64 0.3
|
||||
0.9 -0.5 0.3
|
||||
0.9 -0.5 -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.1 -0.64 0.3
|
||||
0.1 -0.64 -0.3
|
||||
0.1 -0.5 -0.3
|
||||
0.1 -0.5 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
|
||||
----------------west quads:
|
||||
6
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-1 -0.5 -0.5
|
||||
-1 0.5 -0.5
|
||||
-1 0.5 0.5
|
||||
-1 -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:
|
||||
-1.25 0.32 -0.24
|
||||
-1.25 -0.32 -0.24
|
||||
-1 -0.4 -0.3
|
||||
-1 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:
|
||||
-1.25 0.32 -0.24
|
||||
-1.25 0.32 0.24
|
||||
-1.25 -0.32 0.24
|
||||
-1.25 -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:
|
||||
-1.25 -0.32 0.24
|
||||
-1.25 0.32 0.24
|
||||
-1 0.4 0.3
|
||||
-1 -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:
|
||||
-1.25 -0.32 -0.24
|
||||
-1.25 -0.32 0.24
|
||||
-1 -0.4 0.3
|
||||
-1 -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:
|
||||
-1.25 0.32 0.24
|
||||
-1.25 0.32 -0.24
|
||||
-1 0.4 -0.3
|
||||
-1 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
|
||||
----------------omni quads:
|
||||
0
|
294
bricks/blb/TextBrick.blb
Normal file
@ -0,0 +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
|
12102
bricks/blb/keyboardgate.blb
Normal file
532
bricks/blb/pixels/HPixel.blb
Normal file
@ -0,0 +1,532 @@
|
||||
2 2 1
|
||||
SPECIAL
|
||||
|
||||
bb
|
||||
|
||||
bb
|
||||
|
||||
1
|
||||
|
||||
0 0 0
|
||||
2 2 1
|
||||
COVERAGE:
|
||||
1 : 4
|
||||
1 : 4
|
||||
1 : 2
|
||||
1 : 2
|
||||
1 : 2
|
||||
1 : 2
|
||||
----------------top quads:
|
||||
1
|
||||
|
||||
TEX:PRINT
|
||||
POSITION:
|
||||
1 1 0.5
|
||||
1 -1 0.5
|
||||
-1 -1 0.5
|
||||
-1 1 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:
|
||||
20
|
||||
|
||||
TEX:BOTTOMLOOP
|
||||
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
|
||||
0 1
|
||||
1 1
|
||||
1 0
|
||||
NORMALS:
|
||||
0 0 -1
|
||||
0 0 -1
|
||||
0 0 -1
|
||||
0 0 -1
|
||||
|
||||
TEX:BOTTOMEDGE
|
||||
POSITION:
|
||||
-1 -1 -0.5
|
||||
1 -1 -0.5
|
||||
0.5 -0.5 -0.5
|
||||
-0.5 -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:
|
||||
1 1 -0.5
|
||||
-1 1 -0.5
|
||||
-0.5 0.5 -0.5
|
||||
0.5 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:
|
||||
1 -1 -0.5
|
||||
1 1 -0.5
|
||||
0.5 0.5 -0.5
|
||||
0.5 -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:
|
||||
-1 1 -0.5
|
||||
-1 -1 -0.5
|
||||
-0.5 -0.5 -0.5
|
||||
-0.5 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:SIDE
|
||||
POSITION:
|
||||
-0.1 0.1 -0.75
|
||||
-0.9 0.1 -0.75
|
||||
-0.9 0.1 -0.5
|
||||
-0.1 0.1 -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.1 0.1 -0.75
|
||||
-0.1 0.9 -0.75
|
||||
-0.9 0.9 -0.75
|
||||
-0.9 0.1 -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.9 0.9 -0.75
|
||||
-0.1 0.9 -0.75
|
||||
-0.1 0.9 -0.5
|
||||
-0.9 0.9 -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.1 0.9 -0.75
|
||||
-0.1 0.1 -0.75
|
||||
-0.1 0.1 -0.5
|
||||
-0.1 0.9 -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.9 0.1 -0.75
|
||||
-0.9 0.9 -0.75
|
||||
-0.9 0.9 -0.5
|
||||
-0.9 0.1 -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.1 -0.9 -0.75
|
||||
-0.9 -0.9 -0.75
|
||||
-0.9 -0.9 -0.5
|
||||
-0.1 -0.9 -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.1 -0.9 -0.75
|
||||
-0.1 -0.1 -0.75
|
||||
-0.9 -0.1 -0.75
|
||||
-0.9 -0.9 -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.9 -0.1 -0.75
|
||||
-0.1 -0.1 -0.75
|
||||
-0.1 -0.1 -0.5
|
||||
-0.9 -0.1 -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.1 -0.1 -0.75
|
||||
-0.1 -0.9 -0.75
|
||||
-0.1 -0.9 -0.5
|
||||
-0.1 -0.1 -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.9 -0.9 -0.75
|
||||
-0.9 -0.1 -0.75
|
||||
-0.9 -0.1 -0.5
|
||||
-0.9 -0.9 -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.9 -0.9 -0.75
|
||||
0.1 -0.9 -0.75
|
||||
0.1 -0.9 -0.5
|
||||
0.9 -0.9 -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.9 -0.9 -0.75
|
||||
0.9 -0.1 -0.75
|
||||
0.1 -0.1 -0.75
|
||||
0.1 -0.9 -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.1 -0.1 -0.75
|
||||
0.9 -0.1 -0.75
|
||||
0.9 -0.1 -0.5
|
||||
0.1 -0.1 -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.9 -0.1 -0.75
|
||||
0.9 -0.9 -0.75
|
||||
0.9 -0.9 -0.5
|
||||
0.9 -0.1 -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.1 -0.9 -0.75
|
||||
0.1 -0.1 -0.75
|
||||
0.1 -0.1 -0.5
|
||||
0.1 -0.9 -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:SIDE
|
||||
POSITION:
|
||||
-1 1 0.5
|
||||
-1 1 -0.5
|
||||
1 1 -0.5
|
||||
1 1 0.5
|
||||
UV COORDS:
|
||||
1 -0.0859375
|
||||
1 1.08594
|
||||
0 1.08594
|
||||
0 -0.0859375
|
||||
NORMALS:
|
||||
0 1 0
|
||||
0 1 0
|
||||
0 1 0
|
||||
0 1 0
|
||||
----------------east quads:
|
||||
1
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
1 -1 0.5
|
||||
1 1 0.5
|
||||
1 1 -0.5
|
||||
1 -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:
|
||||
1
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
1 -1 0.5
|
||||
1 -1 -0.5
|
||||
-1 -1 -0.5
|
||||
-1 -1 0.5
|
||||
UV COORDS:
|
||||
1 -0.0859375
|
||||
1 1.08594
|
||||
0 1.08594
|
||||
0 -0.0859375
|
||||
NORMALS:
|
||||
0 -1 0
|
||||
0 -1 0
|
||||
0 -1 0
|
||||
0 -1 0
|
||||
----------------west quads:
|
||||
1
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-1 -1 -0.5
|
||||
-1 1 -0.5
|
||||
-1 1 0.5
|
||||
-1 -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
|
517
bricks/blb/pixels/pixel.blb
Normal file
@ -0,0 +1,517 @@
|
||||
2 1 5
|
||||
SPECIAL
|
||||
|
||||
uu
|
||||
XX
|
||||
XX
|
||||
XX
|
||||
dd
|
||||
|
||||
1
|
||||
|
||||
0 0 0
|
||||
2 1 5
|
||||
COVERAGE:
|
||||
1 : 2
|
||||
1 : 2
|
||||
1 : 10
|
||||
1 : 5
|
||||
1 : 10
|
||||
1 : 5
|
||||
----------------top quads:
|
||||
1
|
||||
|
||||
TEX:TOP
|
||||
POSITION:
|
||||
1 0.5 2.5
|
||||
1 -0.5 2.5
|
||||
-1 -0.5 2.5
|
||||
-1 0.5 2.5
|
||||
UV COORDS:
|
||||
0 1
|
||||
0 0
|
||||
2 0
|
||||
2 1
|
||||
NORMALS:
|
||||
0 0 1
|
||||
0 0 1
|
||||
0 0 1
|
||||
0 0 1
|
||||
----------------bottom quads:
|
||||
4
|
||||
|
||||
TEX:BOTTOMEDGE
|
||||
POSITION:
|
||||
-1 -0.5 -2.5
|
||||
1 -0.5 -2.5
|
||||
0.5 0 -2.5
|
||||
-0.5 0 -2.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:
|
||||
1 0.5 -2.5
|
||||
-1 0.5 -2.5
|
||||
-0.5 0 -2.5
|
||||
0.5 0 -2.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:
|
||||
1 -0.5 -2.5
|
||||
1 0.5 -2.5
|
||||
0.5 0 -2.5
|
||||
0.5 0 -2.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:
|
||||
-1 0.5 -2.5
|
||||
-1 -0.5 -2.5
|
||||
-0.5 0 -2.5
|
||||
-0.5 0 -2.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:PRINT
|
||||
POSITION:
|
||||
-1 0.5 2.5
|
||||
-1 0.5 -2.5
|
||||
1 0.5 -2.5
|
||||
1 0.5 2.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:SIDE
|
||||
POSITION:
|
||||
1 -0.5 2.5
|
||||
1 0.5 2.5
|
||||
1 0.5 -2.5
|
||||
1 -0.5 -2.5
|
||||
UV COORDS:
|
||||
-0.0214844 0
|
||||
1.02148 0
|
||||
1.02148 1
|
||||
-0.0214844 1
|
||||
NORMALS:
|
||||
1 0 0
|
||||
1 0 0
|
||||
1 0 0
|
||||
1 0 0
|
||||
----------------south quads:
|
||||
16
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
1 -0.5 2.5
|
||||
1 -0.5 -2.5
|
||||
-1 -0.5 -2.5
|
||||
-1 -0.5 2.5
|
||||
UV COORDS:
|
||||
1 0
|
||||
1 1
|
||||
0 1
|
||||
0 0
|
||||
NORMALS:
|
||||
0 -1 0
|
||||
0 -1 0
|
||||
0 -1 0
|
||||
0 -1 0
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-0.9 -0.64 -2.3
|
||||
-0.1 -0.64 -2.3
|
||||
-0.1 -0.5 -2.3
|
||||
-0.9 -0.5 -2.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.9 -0.64 -2.3
|
||||
-0.9 -0.64 -1.7
|
||||
-0.1 -0.64 -1.7
|
||||
-0.1 -0.64 -2.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.1 -0.64 -1.7
|
||||
-0.9 -0.64 -1.7
|
||||
-0.9 -0.5 -1.7
|
||||
-0.1 -0.5 -1.7
|
||||
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.1 -0.64 -2.3
|
||||
-0.1 -0.64 -1.7
|
||||
-0.1 -0.5 -1.7
|
||||
-0.1 -0.5 -2.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.9 -0.64 -1.7
|
||||
-0.9 -0.64 -2.3
|
||||
-0.9 -0.5 -2.3
|
||||
-0.9 -0.5 -1.7
|
||||
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.9 -0.64 -0.3
|
||||
-0.1 -0.64 -0.3
|
||||
-0.1 -0.5 -0.3
|
||||
-0.9 -0.5 -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.9 -0.64 -0.3
|
||||
-0.9 -0.64 0.3
|
||||
-0.1 -0.64 0.3
|
||||
-0.1 -0.64 -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.1 -0.64 0.3
|
||||
-0.9 -0.64 0.3
|
||||
-0.9 -0.5 0.3
|
||||
-0.1 -0.5 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.1 -0.64 -0.3
|
||||
-0.1 -0.64 0.3
|
||||
-0.1 -0.5 0.3
|
||||
-0.1 -0.5 -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.9 -0.64 0.3
|
||||
-0.9 -0.64 -0.3
|
||||
-0.9 -0.5 -0.3
|
||||
-0.9 -0.5 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.9 -0.64 1.7
|
||||
-0.1 -0.64 1.7
|
||||
-0.1 -0.5 1.7
|
||||
-0.9 -0.5 1.7
|
||||
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.9 -0.64 1.7
|
||||
-0.9 -0.64 2.3
|
||||
-0.1 -0.64 2.3
|
||||
-0.1 -0.64 1.7
|
||||
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.1 -0.64 2.3
|
||||
-0.9 -0.64 2.3
|
||||
-0.9 -0.5 2.3
|
||||
-0.1 -0.5 2.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.1 -0.64 1.7
|
||||
-0.1 -0.64 2.3
|
||||
-0.1 -0.5 2.3
|
||||
-0.1 -0.5 1.7
|
||||
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.9 -0.64 2.3
|
||||
-0.9 -0.64 1.7
|
||||
-0.9 -0.5 1.7
|
||||
-0.9 -0.5 2.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
|
||||
----------------west quads:
|
||||
1
|
||||
|
||||
TEX:SIDE
|
||||
POSITION:
|
||||
-1 -0.5 -2.5
|
||||
-1 0.5 -2.5
|
||||
-1 0.5 2.5
|
||||
-1 -0.5 2.5
|
||||
UV COORDS:
|
||||
1.02148 1
|
||||
-0.0214844 1
|
||||
-0.0214844 0
|
||||
1.02148 0
|
||||
NORMALS:
|
||||
-1 0 0
|
||||
-1 0 0
|
||||
-1 0 0
|
||||
-1 0 0
|
||||
----------------omni quads:
|
||||
0
|
405
bricks/blb/switch.blb
Normal file
@ -0,0 +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
|
2
bricks/blb/wires/1x11f.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 11 1
|
||||
BRICK
|
2
bricks/blb/wires/1x13f.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 13 1
|
||||
BRICK
|
2
bricks/blb/wires/1x14f.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 14 1
|
||||
BRICK
|
2
bricks/blb/wires/1x15f.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 15 1
|
||||
BRICK
|
2
bricks/blb/wires/1x1x10.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 1 10
|
||||
BRICK
|
2
bricks/blb/wires/1x1x11.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 1 11
|
||||
BRICK
|
2
bricks/blb/wires/1x1x12.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 1 12
|
||||
BRICK
|
2
bricks/blb/wires/1x1x128.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 1 128
|
||||
BRICK
|
2
bricks/blb/wires/1x1x13.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 1 13
|
||||
BRICK
|
2
bricks/blb/wires/1x1x14.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 1 14
|
||||
BRICK
|
2
bricks/blb/wires/1x1x16.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 1 16
|
||||
BRICK
|
2
bricks/blb/wires/1x1x17.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 1 17
|
||||
BRICK
|
2
bricks/blb/wires/1x1x2.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 1 2
|
||||
BRICK
|
2
bricks/blb/wires/1x1x4.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 1 4
|
||||
BRICK
|
2
bricks/blb/wires/1x1x5.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 1 5
|
||||
BRICK
|
2
bricks/blb/wires/1x1x6.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 1 6
|
||||
BRICK
|
2
bricks/blb/wires/1x1x7.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 1 7
|
||||
BRICK
|
2
bricks/blb/wires/1x1x8.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 1 8
|
||||
BRICK
|
2
bricks/blb/wires/1x1x9.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 1 9
|
||||
BRICK
|
2
bricks/blb/wires/1x2x5.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 2 5
|
||||
BRICK
|
2
bricks/blb/wires/1x32f.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 32 1
|
||||
BRICK
|
2
bricks/blb/wires/1x5f.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 5 1
|
||||
BRICK
|
2
bricks/blb/wires/1x64f.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 64 1
|
||||
BRICK
|
2
bricks/blb/wires/1x7f.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 7 1
|
||||
BRICK
|
2
bricks/blb/wires/1x9f.blb
Normal file
@ -0,0 +1,2 @@
|
||||
1 9 1
|
||||
BRICK
|
120
bricks/bus/8BitDFlipFlop.cs
Normal file
@ -0,0 +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");
|
132
bricks/bus/8BitEnabler.cs
Normal file
@ -0,0 +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");
|
9
bricks/gates/AND.cs
Normal file
@ -0,0 +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");
|
9
bricks/gates/NAND.cs
Normal file
@ -0,0 +1,9 @@
|
||||
datablock fxDTSBrickData(LogicGate_NAND_Data : LogicGate_OR_Data)
|
||||
{
|
||||
uiName = "1x2f NAND";
|
||||
iconName = $LuaLogic::Path @ "icons/1x2f NAND";
|
||||
logicUIName = "NAND";
|
||||
logicUIDesc = "C is false if A and B are true";
|
||||
logicUpdate = "return function(gate) gate.ports[3]:setstate(not (gate.ports[1].state and gate.ports[2].state)) end";
|
||||
};
|
||||
lualogic_registergatedefinition("LogicGate_NAND_Data");
|
9
bricks/gates/NOR.cs
Normal file
@ -0,0 +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");
|
24
bricks/gates/NOT.cs
Normal file
@ -0,0 +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);
|
||||
}
|
37
bricks/gates/OR.cs
Normal file
@ -0,0 +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");
|
9
bricks/gates/XNOR.cs
Normal file
@ -0,0 +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");
|
9
bricks/gates/XOR.cs
Normal file
@ -0,0 +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");
|
44
bricks/gates/diode.cs
Normal file
@ -0,0 +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);
|
||||
}
|
69
bricks/gates/verticalDiode.cs
Normal file
@ -0,0 +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);
|
||||
}
|
45
bricks/gates/verticalNOT.cs
Normal file
@ -0,0 +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);
|
||||
}
|
114
bricks/inputs/keyboard-init.lua
Normal file
@ -0,0 +1,114 @@
|
||||
|
||||
keyboard_strToBool = keyboard_strToBool or {
|
||||
["0"] = false,
|
||||
["1"] = true,
|
||||
}
|
||||
|
||||
--Key codes may use only 7 bits, so values must be in range 00-7F
|
||||
|
||||
keyboard_keyToCode = keyboard_keyToCode or {
|
||||
["backspace"] = 0x01,
|
||||
["tab"] = 0x02,
|
||||
["return"] = 0x03,
|
||||
["space"] = 0x04,
|
||||
["end"] = 0x05,
|
||||
["home"] = 0x06,
|
||||
["left"] = 0x07,
|
||||
["up"] = 0x08,
|
||||
["right"] = 0x09,
|
||||
["down"] = 0x0A,
|
||||
["insert"] = 0x0B,
|
||||
["delete"] = 0x0C,
|
||||
|
||||
["0"] = 0x10,
|
||||
["1"] = 0x11,
|
||||
["2"] = 0x12,
|
||||
["3"] = 0x13,
|
||||
["4"] = 0x14,
|
||||
["5"] = 0x15,
|
||||
["6"] = 0x16,
|
||||
["7"] = 0x17,
|
||||
["8"] = 0x18,
|
||||
["9"] = 0x19,
|
||||
|
||||
["a"] = 0x1A,
|
||||
["b"] = 0x1B,
|
||||
["c"] = 0x1C,
|
||||
["d"] = 0x1D,
|
||||
["e"] = 0x1E,
|
||||
["f"] = 0x1F,
|
||||
["g"] = 0x20,
|
||||
["h"] = 0x21,
|
||||
["i"] = 0x22,
|
||||
["j"] = 0x23,
|
||||
["k"] = 0x24,
|
||||
["l"] = 0x25,
|
||||
["m"] = 0x26,
|
||||
["n"] = 0x27,
|
||||
["o"] = 0x28,
|
||||
["p"] = 0x29,
|
||||
["q"] = 0x2A,
|
||||
["r"] = 0x2B,
|
||||
["s"] = 0x2C,
|
||||
["t"] = 0x2D,
|
||||
["u"] = 0x2E,
|
||||
["v"] = 0x2F,
|
||||
["w"] = 0x30,
|
||||
["x"] = 0x31,
|
||||
["y"] = 0x32,
|
||||
["z"] = 0x33,
|
||||
|
||||
["numpad0"] = 0x40,
|
||||
["numpad1"] = 0x41,
|
||||
["numpad2"] = 0x42,
|
||||
["numpad3"] = 0x43,
|
||||
["numpad4"] = 0x44,
|
||||
["numpad5"] = 0x45,
|
||||
["numpad6"] = 0x46,
|
||||
["numpad7"] = 0x47,
|
||||
["numpad8"] = 0x48,
|
||||
["numpad9"] = 0x49,
|
||||
["*"] = 0x4A,
|
||||
["+"] = 0x4B,
|
||||
["numpadenter"] = 0x4C,
|
||||
["minus"] = 0x4D,
|
||||
["numpaddecimal"] = 0x4E,
|
||||
["/"] = 0x4F,
|
||||
|
||||
["f1"] = 0x51,
|
||||
["f2"] = 0x52,
|
||||
["f3"] = 0x53,
|
||||
["f4"] = 0x54,
|
||||
["f5"] = 0x55,
|
||||
["f6"] = 0x56,
|
||||
["f7"] = 0x57,
|
||||
["f8"] = 0x58,
|
||||
["f9"] = 0x59,
|
||||
["f10"] = 0x5A,
|
||||
["f11"] = 0x5B,
|
||||
["f12"] = 0x5C,
|
||||
|
||||
["lshift"] = 0x60,
|
||||
["rshift"] = 0x61,
|
||||
["lcontrol"] = 0x62,
|
||||
["rcontrol"] = 0x63,
|
||||
["lalt"] = 0x64,
|
||||
["ralt"] = 0x65,
|
||||
|
||||
[";"] = 0x70,
|
||||
[","] = 0x71,
|
||||
["."] = 0x72,
|
||||
["/"] = 0x73,
|
||||
["`"] = 0x74,
|
||||
["["] = 0x75,
|
||||
["\\"] = 0x76,
|
||||
["]"] = 0x77,
|
||||
[" ="] = 0x78,
|
||||
["apostrophe"] = 0x79,
|
||||
|
||||
["invalid"] = 0x7F,
|
||||
}
|
||||
|
||||
return function(gate)
|
||||
gate.queueBits = {}
|
||||
end
|
24
bricks/inputs/keyboard-input.lua
Normal file
@ -0,0 +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
|
10
bricks/inputs/keyboard-update.lua
Normal file
@ -0,0 +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
|
49
bricks/inputs/keyboard.cs
Normal file
@ -0,0 +1,49 @@
|
||||
|
||||
datablock fxDTSBrickData(LogicGate_Keyboard_Data){
|
||||
brickFile = $LuaLogic::Path @ "bricks/blb/keyboardgate.blb";
|
||||
category = "Logic Bricks";
|
||||
subCategory = "Inputs";
|
||||
uiName = "Input Keyboard";
|
||||
iconName = $LuaLogic::Path @ "icons/Input Keyboard";
|
||||
orientationFix = 3;
|
||||
|
||||
isLogic = true;
|
||||
isLogicGate = true;
|
||||
isLogicInput = true;
|
||||
|
||||
logicUIName = "Input Keyboard";
|
||||
logicUIDesc = "";
|
||||
|
||||
logicInit = lualogic_readfile($LuaLogic::Path @ "bricks/inputs/keyboard-init.lua" );
|
||||
logicInput = lualogic_readfile($LuaLogic::Path @ "bricks/inputs/keyboard-input.lua" );
|
||||
logicUpdate = lualogic_readfile($LuaLogic::Path @ "bricks/inputs/keyboard-update.lua");
|
||||
|
||||
numLogicPorts = 1;
|
||||
|
||||
logicPortType[0] = 0;
|
||||
logicPortPos[0] = "2 0 0";
|
||||
logicPortDir[0] = 1;
|
||||
logicPortUIName[0] = "R";
|
||||
|
||||
};
|
||||
lualogic_registergatedefinition("LogicGate_Keyboard_Data");
|
||||
|
||||
function LogicGate_Keyboard_Data::LuaLogic_PressKey(%data, %brick, %key, %state){
|
||||
%key = strReplace(%key, ";", "\\:");
|
||||
lualogic_sendInput(%brick, 2, %key, %state);
|
||||
}
|
||||
|
||||
function serverCmdLInputKey(%client, %key, %state){
|
||||
%brick = %client.Logic_InputKeyboard;
|
||||
if(isObject(%brick) && %client.Logic_InputActive){
|
||||
%brick.getDatablock().LuaLogic_PressKey(%brick, %key, %state);
|
||||
}
|
||||
}
|
||||
|
||||
function LogicGate_Keyboard_Data::Logic_OnInput(%data, %brick, %pos, %norm, %client){
|
||||
if(isObject(%client)){
|
||||
%client.Logic_InputKeyboard = %brick;
|
||||
%client.Logic_InputActive = true;
|
||||
commandToClient(%client, 'LStartInput');
|
||||
}
|
||||
}
|
11
bricks/inputs/switch-input.lua
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
return function(gate, argv)
|
||||
if #argv == 1 then
|
||||
gate.ports[1]:setstate(toboolean(argv[1]))
|
||||
gate.ports[2]:setstate(toboolean(argv[1]))
|
||||
else
|
||||
gate.ports[1]:setstate(not gate.ports[1].state)
|
||||
gate.ports[2]:setstate(not gate.ports[2].state)
|
||||
end
|
||||
gate:cb("1\t" .. bool_to_int[gate.ports[1].state])
|
||||
end
|
44
bricks/inputs/switch.cs
Normal file
@ -0,0 +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);
|
||||
}
|
179
bricks/math/8bitAdder.cs
Normal file
@ -0,0 +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");
|
218
bricks/math/8bitDivider.cs
Normal file
@ -0,0 +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");
|
208
bricks/math/8bitMultiplier.cs
Normal file
@ -0,0 +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");
|
179
bricks/math/8bitSubtractor.cs
Normal file
@ -0,0 +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");
|
53
bricks/math/FullAdder.cs
Normal file
@ -0,0 +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");
|
53
bricks/math/FullSubtractor.cs
Normal file
@ -0,0 +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");
|
46
bricks/math/HalfAdder.cs
Normal file
@ -0,0 +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");
|
46
bricks/math/HalfSubtractor.cs
Normal file
@ -0,0 +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");
|
17
bricks/memory/DFlipFlop.cs
Normal file
@ -0,0 +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");
|
60
bricks/memory/DFlipflopGridMemory2.cs
Normal file
@ -0,0 +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");
|
48
bricks/special/HorizontalPixel.cs
Normal file
@ -0,0 +1,48 @@
|
||||
datablock fxDTSBrickData(LogicGate_HorizontalPixel_Data)
|
||||
{
|
||||
brickFile = $LuaLogic::Path @ "bricks/blb/pixels/HPixel.blb";
|
||||
category = "Logic Bricks";
|
||||
subCategory = "Special";
|
||||
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));
|
||||
}
|
36
bricks/special/TextBrick.cs
Normal file
@ -0,0 +1,36 @@
|
||||
|
||||
datablock fxDTSBrickData(LogicGate_TextBrick_Data){
|
||||
brickFile = $LuaLogic::Path @ "bricks/blb/TextBrick.blb";
|
||||
category = "Logic Bricks";
|
||||
subCategory = "Special";
|
||||
uiName = "Text Brick";
|
||||
iconName = $LuaLogic::Path @ "icons/Text Brick";
|
||||
hasPrint = 1;
|
||||
printAspectRatio = "Logic";
|
||||
orientationFix = 3;
|
||||
|
||||
isLogic = true;
|
||||
isLogicGate = true;
|
||||
isLogicInput = false;
|
||||
|
||||
logicUIName = "Text Brick";
|
||||
logicUIDesc = "Resets on rise, increments based on pulse length";
|
||||
|
||||
logicInit = lualogic_readfile($LuaLogic::Path @ "bricks/special/text-init.lua" );
|
||||
logicUpdate = lualogic_readfile($LuaLogic::Path @ "bricks/special/text-update.lua");
|
||||
|
||||
numLogicPorts = 1;
|
||||
|
||||
logicPortType[0] = 1;
|
||||
logicPortPos[0] = "0 0 -1";
|
||||
logicPortDir[0] = 3;
|
||||
logicPortCauseUpdate[0] = true;
|
||||
logicPortUIName[0] = "Inc";
|
||||
};
|
||||
lualogic_registergatedefinition("LogicGate_TextBrick_Data");
|
||||
|
||||
function LogicGate_TextBrick_Data::LuaLogic_Callback(%data, %brick, %args){
|
||||
%printname = getField(%args, 0);
|
||||
|
||||
%brick.setPrint(lualogic_getprint(%printname));
|
||||
}
|
48
bricks/special/pixel.cs
Normal file
@ -0,0 +1,48 @@
|
||||
datablock fxDTSBrickData(LogicGate_Pixel_Data)
|
||||
{
|
||||
brickFile = $LuaLogic::Path @ "bricks/blb/pixels/pixel.blb";
|
||||
category = "Logic Bricks";
|
||||
subCategory = "Special";
|
||||
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));
|
||||
}
|
83
bricks/special/text-init.lua
Normal file
@ -0,0 +1,83 @@
|
||||
|
||||
textbrick_idxToPrint = textbrick_idxToPrint or {
|
||||
[0x00] = "space",
|
||||
|
||||
[0x01] = "A",
|
||||
[0x02] = "B",
|
||||
[0x03] = "C",
|
||||
[0x04] = "D",
|
||||
[0x05] = "E",
|
||||
[0x06] = "F",
|
||||
[0x07] = "G",
|
||||
[0x08] = "H",
|
||||
[0x09] = "I",
|
||||
[0x0A] = "J",
|
||||
[0x0B] = "K",
|
||||
[0x0C] = "L",
|
||||
[0x0D] = "M",
|
||||
[0x0E] = "N",
|
||||
[0x0F] = "O",
|
||||
[0x10] = "P",
|
||||
[0x11] = "Q",
|
||||
[0x12] = "R",
|
||||
[0x13] = "S",
|
||||
[0x14] = "T",
|
||||
[0x15] = "U",
|
||||
[0x16] = "V",
|
||||
[0x17] = "W",
|
||||
[0x18] = "X",
|
||||
[0x19] = "Y",
|
||||
[0x1A] = "Z",
|
||||
|
||||
[0x1B] = "0",
|
||||
[0x1C] = "1",
|
||||
[0x1D] = "2",
|
||||
[0x1E] = "3",
|
||||
[0x1F] = "4",
|
||||
[0x20] = "5",
|
||||
[0x21] = "6",
|
||||
[0x22] = "7",
|
||||
[0x23] = "8",
|
||||
[0x24] = "9",
|
||||
|
||||
[0x25] = "bang",
|
||||
[0x26] = "at",
|
||||
[0x27] = "pound",
|
||||
[0x28] = "dollar",
|
||||
[0x29] = "percent",
|
||||
[0x2A] = "caret",
|
||||
[0x2B] = "and",
|
||||
[0x2C] = "asterisk",
|
||||
[0x2D] = "minus",
|
||||
[0x2E] = "equals",
|
||||
[0x2F] = "plus",
|
||||
[0x30] = "apostrophe",
|
||||
[0x31] = "less_than",
|
||||
[0x32] = "greater_than",
|
||||
[0x33] = "period",
|
||||
[0x34] = "qmark",
|
||||
|
||||
[0x35] = "apostrophe2",
|
||||
[0x36] = "colon",
|
||||
[0x37] = "comma",
|
||||
[0x38] = "curlybracketleft",
|
||||
[0x39] = "curlybracketright",
|
||||
[0x3A] = "currencysign",
|
||||
[0x3B] = "euro",
|
||||
[0x3C] = "onehalf",
|
||||
[0x3D] = "poundsymbol",
|
||||
[0x3E] = "roundbracketleft",
|
||||
[0x3F] = "roundbracketright",
|
||||
[0x40] = "slashleft",
|
||||
[0x41] = "slashright",
|
||||
[0x42] = "squarebracketleft",
|
||||
[0x43] = "squarebracketright",
|
||||
[0x44] = "tilde",
|
||||
[0x45] = "umlaut",
|
||||
[0x46] = "underscore",
|
||||
[0x47] = "verticalbar",
|
||||
}
|
||||
|
||||
return function(gate)
|
||||
gate.tickStarted = 0
|
||||
end
|
13
bricks/special/text-update.lua
Normal file
@ -0,0 +1,13 @@
|
||||
|
||||
return function(gate)
|
||||
if gate.ports[1]:isrising() then
|
||||
gate.tickStarted = gate:gettick()
|
||||
elseif gate.ports[1]:isfalling() then
|
||||
local ticksOn = gate:gettick() - gate.tickStarted
|
||||
|
||||
local printid = ((ticksOn-1) % #textbrick_idxToPrint)
|
||||
local printname = textbrick_idxToPrint[printid]
|
||||
|
||||
gate:cb("1\t" .. printname)
|
||||
end
|
||||
end
|
359
bricks/wires.cs
Normal file
@ -0,0 +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;
|
||||
};
|
82
cmds.cs
Normal file
@ -0,0 +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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
4
description.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Title: Lua Logic
|
||||
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.
|
BIN
icons/1x1f Diode.png
Normal file
After Width: | Height: | Size: 744 B |
BIN
icons/1x1f NOT.png
Normal file
After Width: | Height: | Size: 786 B |
BIN
icons/1x2f AND.png
Normal file
After Width: | Height: | Size: 516 B |
BIN
icons/1x2f NAND.png
Normal file
After Width: | Height: | Size: 516 B |
BIN
icons/1x2f NOR.png
Normal file
After Width: | Height: | Size: 516 B |
BIN
icons/1x2f OR.png
Normal file
After Width: | Height: | Size: 516 B |
BIN
icons/1x2f XNOR.png
Normal file
After Width: | Height: | Size: 516 B |
BIN
icons/1x2f XOR.png
Normal file
After Width: | Height: | Size: 516 B |
BIN
icons/8 Bit D FlipFlop.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
icons/8 Bit Enabler.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
icons/8bit Adder.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
icons/8bit Divider.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
icons/8bit Multiplier.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
icons/8bit Subtractor.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
icons/D FlipFlop.png
Normal file
After Width: | Height: | Size: 516 B |
BIN
icons/D Flipflop Grid Memory 2.png
Normal file
After Width: | Height: | Size: 803 B |
BIN
icons/Diode Down.png
Normal file
After Width: | Height: | Size: 787 B |
BIN
icons/Diode Up.png
Normal file
After Width: | Height: | Size: 781 B |
BIN
icons/Full Adder.png
Normal file
After Width: | Height: | Size: 520 B |
BIN
icons/Full Subtractor.png
Normal file
After Width: | Height: | Size: 520 B |
BIN
icons/Half Adder.png
Normal file
After Width: | Height: | Size: 528 B |
BIN
icons/Half Subtractor.png
Normal file
After Width: | Height: | Size: 528 B |