Small git shenanigans to actually (i really hope) revert all the bad stuff

This commit is contained in:
ApsZoldat
2023-12-07 18:24:51 +03:00
parent adada50f1c
commit c20684025e
+22 -27
View File
@@ -157,29 +157,30 @@ public class LExecutor{
return v.isobj ? v.objval != null : Math.abs(v.numval) >= 0.00001; return v.isobj ? v.objval != null : Math.abs(v.numval) >= 0.00001;
} }
@Nullable
public double num(int index, boolean nullToNan){
Var v = var(index);
return v.isobj ? v.objval != null ? 1 : nullToNan ? Double.NaN : 0: invalid(v.numval) ? 0 : v.numval;
}
public double num(int index){ public double num(int index){
return num(index, false); Var v = var(index);
return v.isobj ? v.objval != null ? 1 : 0 : invalid(v.numval) ? 0 : v.numval;
} }
@Nullable /** Get num value from variable, convert null to NaN to handle it differently in some instructions */
public float numf(int index, boolean nullToNan){ public double numOrNan(int index){
Var v = var(index); Var v = var(index);
return v.isobj ? v.objval != null ? 1 : nullToNan ? Float.NaN : 0: invalid(v.numval) ? 0 : (float)v.numval; return v.isobj ? v.objval != null ? 1 : Double.NaN : invalid(v.numval) ? 0 : v.numval;
} }
public float numf(int index){ public float numf(int index){
return numf(index, false); Var v = var(index);
return v.isobj ? v.objval != null ? 1 : 0 : invalid(v.numval) ? 0 : (float)v.numval;
}
/** Get float value from variable, convert null to NaN to handle it differently in some instructions */
public float numfOrNan(int index){
Var v = var(index);
return v.isobj ? v.objval != null ? 1 : Float.NaN : invalid(v.numval) ? 0 : (float)v.numval;
} }
@Nullable
public int numi(int index){ public int numi(int index){
return (int)num(index, true); return (int)num(index);
} }
public void setbool(int index, boolean value){ public void setbool(int index, boolean value){
@@ -595,8 +596,7 @@ public class LExecutor{
} }
} }
} }
default -> { default -> {}
}
} }
} }
} }
@@ -617,8 +617,7 @@ public class LExecutor{
this.p4 = p4; this.p4 = p4;
} }
ControlI(){ ControlI(){}
}
@Override @Override
public void run(LExecutor exec){ public void run(LExecutor exec){
@@ -865,8 +864,7 @@ public class LExecutor{
this.to = to; this.to = to;
} }
SetI(){ SetI(){}
}
@Override @Override
public void run(LExecutor exec){ public void run(LExecutor exec){
@@ -898,8 +896,7 @@ public class LExecutor{
this.dest = dest; this.dest = dest;
} }
OpI(){ OpI(){}
}
@Override @Override
public void run(LExecutor exec){ public void run(LExecutor exec){
@@ -934,8 +931,7 @@ public class LExecutor{
public static class NoopI implements LInstruction{ public static class NoopI implements LInstruction{
@Override @Override
public void run(LExecutor exec){ public void run(LExecutor exec){}
}
} }
public static class DrawI implements LInstruction{ public static class DrawI implements LInstruction{
@@ -1077,8 +1073,7 @@ public class LExecutor{
this.value = value; this.value = value;
} }
PrintI(){ PrintI(){}
}
@Override @Override
public void run(LExecutor exec){ public void run(LExecutor exec){
@@ -2005,7 +2000,7 @@ public class LExecutor{
marker.setTexture(res.toString()); marker.setTexture(res.toString());
} }
}else{ }else{
marker.control(type, exec.num(p1, true), exec.num(p2, true), exec.num(p3, true)); marker.control(type, exec.numOrNan(p1), exec.numOrNan(p2), exec.numOrNan(p3));
} }
} }
} }
@@ -2037,7 +2032,7 @@ public class LExecutor{
int mid = exec.numi(id); int mid = exec.numi(id);
if(exec.bool(replace) || !state.markers.containsKey(mid)){ if(exec.bool(replace) || !state.markers.containsKey(mid)){
var marker = cons.get(); var marker = cons.get();
marker.control(LMarkerControl.pos, exec.num(x, true), exec.num(y, true), 0); marker.control(LMarkerControl.pos, exec.num(x), exec.num(y), 0);
state.markers.put(mid, marker); state.markers.put(mid, marker);
} }
} }