Logic bugfixes & tweaks

This commit is contained in:
Anuken
2020-08-12 18:51:50 -04:00
parent 0aabe9bbe0
commit a8c4e9f567
3 changed files with 16 additions and 10 deletions

View File

@ -91,7 +91,7 @@ public class LExecutor{
public double num(int index){
Var v = vars[index];
return v.isobj ? 1 : v.numval;
return v.isobj ? v.objval != null ? 1 : 0 : v.numval;
}
public int numi(int index){
@ -309,6 +309,8 @@ public class LExecutor{
void find(Building b, float range, int sortDir, Team team){
Units.nearby(team, b.x, b.y, range, u -> {
if(!u.within(b, range)) return;
boolean valid =
target1.func.get(b.team, u) &&
target2.func.get(b.team, u) &&

View File

@ -58,7 +58,7 @@ public class LStatements{
@RegisterStatement("write")
public static class WriteStatement extends LStatement{
public String input = "result", target = "@0", address = "0";
public String input = "result", target = "cell1", address = "0";
@Override
public void build(Table table){
@ -90,7 +90,7 @@ public class LStatements{
@RegisterStatement("read")
public static class ReadStatement extends LStatement{
public String output = "result", target = "@0", address = "0";
public String output = "result", target = "cell1", address = "0";
@Override
public void build(Table table){
@ -216,7 +216,7 @@ public class LStatements{
@RegisterStatement("drawflush")
public static class DrawFlushStatement extends LStatement{
public String target = "@0";
public String target = "display1";
@Override
public void build(Table table){
@ -257,7 +257,7 @@ public class LStatements{
@RegisterStatement("printflush")
public static class PrintFlushStatement extends LStatement{
public String target = "@0";
public String target = "message1";
@Override
public void build(Table table){
@ -279,7 +279,7 @@ public class LStatements{
@RegisterStatement("control")
public static class ControlStatement extends LStatement{
public LAccess type = LAccess.enabled;
public String target = "@0", p1 = "0", p2 = "0", p3 = "0", p4 = "0";
public String target = "block1", p1 = "0", p2 = "0", p3 = "0", p4 = "0";
@Override
public void build(Table table){
@ -333,7 +333,7 @@ public class LStatements{
public static class RadarStatement extends LStatement{
public RadarTarget target1 = RadarTarget.enemy, target2 = RadarTarget.any, target3 = RadarTarget.any;
public RadarSort sort = RadarSort.distance;
public String radar = "@0", sortOrder = "0", output = "result";
public String radar = "turret1", sortOrder = "0", output = "result";
@Override
public void build(Table table){
@ -388,7 +388,7 @@ public class LStatements{
@RegisterStatement("sensor")
public static class SensorStatement extends LStatement{
public String to = "result";
public String from = "@0", type = "@copper";
public String from = "block1", type = "@copper";
private transient int selected = 0;
private transient TextField tfield;

View File

@ -74,7 +74,12 @@ public class LogicBlock extends Block{
String name = block.name;
if(name.contains("-")){
String[] split = name.split("-");
name = split[split.length - 1];
//filter out 'large' at the end of block names
if(split.length >= 2 && split[split.length - 1].equals("large")){
name = split[split.length - 2];
}else{
name = split[split.length - 1];
}
}
if(block.minfo.mod != null){
name = name.substring(block.minfo.mod.name.length() + 1);
@ -139,7 +144,6 @@ public class LogicBlock extends Block{
public String code = "";
public LExecutor executor = new LExecutor();
public float accumulator = 0;
public Seq<LogicLink> links = new Seq<>();
public void readCompressed(byte[] data, boolean relative){