This commit is contained in:
Anuken
2020-09-30 17:21:05 -04:00
parent 781d9b3c38
commit 326640d32a
17 changed files with 46 additions and 91 deletions

View File

@@ -220,7 +220,7 @@ public class BlockIndexer{
public void notifyTileDamaged(Building entity){ public void notifyTileDamaged(Building entity){
if(damagedTiles[entity.team.id] == null){ if(damagedTiles[entity.team.id] == null){
damagedTiles[entity.team.id] = new ObjectSet<Building>(); damagedTiles[entity.team.id] = new ObjectSet<>();
} }
damagedTiles[entity.team.id].add(entity); damagedTiles[entity.team.id].add(entity);

View File

@@ -468,7 +468,7 @@ public class Pathfinder implements Runnable{
/** search frontier, these are Pos objects */ /** search frontier, these are Pos objects */
IntQueue frontier = new IntQueue(); IntQueue frontier = new IntQueue();
/** all target positions; these positions have a cost of 0, and must be synchronized on! */ /** all target positions; these positions have a cost of 0, and must be synchronized on! */
IntSeq targets = new IntSeq(); final IntSeq targets = new IntSeq();
/** current search ID */ /** current search ID */
int search = 1; int search = 1;
/** last updated time */ /** last updated time */

View File

@@ -1,26 +0,0 @@
package mindustry.ai.formations.patterns;
import arc.math.geom.*;
import mindustry.ai.formations.*;
public class ArrowFormation extends FormationPattern{
//total triangular numbers
private static final int totalTris = 30;
//triangular number table
private static final int[] triTable = new int[totalTris];
//calculat triangular numbers
static{
int sum = 0;
for(int i = 0; i < totalTris; i++){
triTable[i] = sum;
sum += (i + 1);
}
}
@Override
public Vec3 calculateSlotLocation(Vec3 out, int slot){
//TODO
return out;
}
}

View File

@@ -1701,7 +1701,7 @@ public class Blocks implements ContentList{
trailEffect = Fx.instTrail; trailEffect = Fx.instTrail;
despawnEffect = Fx.instBomb; despawnEffect = Fx.instBomb;
trailSpacing = 20f; trailSpacing = 20f;
damage = 1300; damage = 1250;
tileDamageMultiplier = 0.5f; tileDamageMultiplier = 0.5f;
speed = brange; speed = brange;
hitShake = 6f; hitShake = 6f;

View File

@@ -191,10 +191,6 @@ public class Control implements ApplicationListener, Loadable{
} }
void resetCamera(){
}
@Override @Override
public void loadAsync(){ public void loadAsync(){
Draw.scl = 1f / Core.atlas.find("scale_marker").width; Draw.scl = 1f / Core.atlas.find("scale_marker").width;

View File

@@ -105,12 +105,10 @@ public class NetClient implements ApplicationListener{
Time.runTask(3f, ui.loadfrag::hide); Time.runTask(3f, ui.loadfrag::hide);
if(packet.reason != null){ if(packet.reason != null){
if(packet.reason.equals("closed")){ switch(packet.reason){
ui.showSmall("@disconnect", "@disconnect.closed"); case "closed" -> ui.showSmall("@disconnect", "@disconnect.closed");
}else if(packet.reason.equals("timeout")){ case "timeout" -> ui.showSmall("@disconnect", "@disconnect.timeout");
ui.showSmall("@disconnect", "@disconnect.timeout"); case "error" -> ui.showSmall("@disconnect", "@disconnect.error");
}else if(packet.reason.equals("error")){
ui.showSmall("@disconnect", "@disconnect.error");
} }
}else{ }else{
ui.showErrorMessage("@disconnect"); ui.showErrorMessage("@disconnect");

View File

@@ -75,7 +75,7 @@ public class JsonIO{
//TODO this is terrible //TODO this is terrible
json.setSerializer(Sector.class, new Serializer<Sector>(){ json.setSerializer(Sector.class, new Serializer<>(){
@Override @Override
public void write(Json json, Sector object, Class knownType){ public void write(Json json, Sector object, Class knownType){
json.writeValue(object.planet.name + "-" + object.id); json.writeValue(object.planet.name + "-" + object.id);
@@ -88,7 +88,7 @@ public class JsonIO{
} }
}); });
json.setSerializer(SectorPreset.class, new Serializer<SectorPreset>(){ json.setSerializer(SectorPreset.class, new Serializer<>(){
@Override @Override
public void write(Json json, SectorPreset object, Class knownType){ public void write(Json json, SectorPreset object, Class knownType){
json.writeValue(object.name); json.writeValue(object.name);
@@ -100,7 +100,7 @@ public class JsonIO{
} }
}); });
json.setSerializer(Liquid.class, new Serializer<Liquid>(){ json.setSerializer(Liquid.class, new Serializer<>(){
@Override @Override
public void write(Json json, Liquid object, Class knownType){ public void write(Json json, Liquid object, Class knownType){
json.writeValue(object.name); json.writeValue(object.name);
@@ -109,12 +109,12 @@ public class JsonIO{
@Override @Override
public Liquid read(Json json, JsonValue jsonData, Class type){ public Liquid read(Json json, JsonValue jsonData, Class type){
if(jsonData.asString() == null) return Liquids.water; if(jsonData.asString() == null) return Liquids.water;
Liquid i = Vars.content.getByName(ContentType.liquid, jsonData.asString()); Liquid i = Vars.content.getByName(ContentType.liquid, jsonData.asString());
return i == null ? Liquids.water : i; return i == null ? Liquids.water : i;
} }
}); });
json.setSerializer(Item.class, new Serializer<Item>(){ json.setSerializer(Item.class, new Serializer<>(){
@Override @Override
public void write(Json json, Item object, Class knownType){ public void write(Json json, Item object, Class knownType){
json.writeValue(object.name); json.writeValue(object.name);
@@ -123,12 +123,12 @@ public class JsonIO{
@Override @Override
public Item read(Json json, JsonValue jsonData, Class type){ public Item read(Json json, JsonValue jsonData, Class type){
if(jsonData.asString() == null) return Items.copper; if(jsonData.asString() == null) return Items.copper;
Item i = Vars.content.getByName(ContentType.item, jsonData.asString()); Item i = Vars.content.getByName(ContentType.item, jsonData.asString());
return i == null ? Items.copper : i; return i == null ? Items.copper : i;
} }
}); });
json.setSerializer(Team.class, new Serializer<Team>(){ json.setSerializer(Team.class, new Serializer<>(){
@Override @Override
public void write(Json json, Team object, Class knownType){ public void write(Json json, Team object, Class knownType){
json.writeValue(object.id); json.writeValue(object.id);
@@ -140,7 +140,7 @@ public class JsonIO{
} }
}); });
json.setSerializer(Block.class, new Serializer<Block>(){ json.setSerializer(Block.class, new Serializer<>(){
@Override @Override
public void write(Json json, Block object, Class knownType){ public void write(Json json, Block object, Class knownType){
json.writeValue(object.name); json.writeValue(object.name);
@@ -153,7 +153,7 @@ public class JsonIO{
} }
}); });
json.setSerializer(Weather.class, new Serializer<Weather>(){ json.setSerializer(Weather.class, new Serializer<>(){
@Override @Override
public void write(Json json, Weather object, Class knownType){ public void write(Json json, Weather object, Class knownType){
json.writeValue(object.name); json.writeValue(object.name);
@@ -165,7 +165,7 @@ public class JsonIO{
} }
}); });
json.setSerializer(ItemStack.class, new Serializer<ItemStack>(){ json.setSerializer(ItemStack.class, new Serializer<>(){
@Override @Override
public void write(Json json, ItemStack object, Class knownType){ public void write(Json json, ItemStack object, Class knownType){
json.writeObjectStart(); json.writeObjectStart();
@@ -180,7 +180,7 @@ public class JsonIO{
} }
}); });
json.setSerializer(UnlockableContent.class, new Serializer<UnlockableContent>(){ json.setSerializer(UnlockableContent.class, new Serializer<>(){
@Override @Override
public void write(Json json, UnlockableContent object, Class knownType){ public void write(Json json, UnlockableContent object, Class knownType){
json.writeValue(object.name); json.writeValue(object.name);

View File

@@ -577,7 +577,7 @@ public class LExecutor{
if(address != -1){ if(address != -1){
Var va = exec.vars[value]; Var va = exec.vars[value];
Var vb = exec.vars[compare]; Var vb = exec.vars[compare];
boolean cmp = false; boolean cmp;
if(op.objFunction != null && (va.isobj || vb.isobj)){ if(op.objFunction != null && (va.isobj || vb.isobj)){
//use object function if provided, and one of the variables is an object //use object function if provided, and one of the variables is an object

View File

@@ -155,39 +155,37 @@ public class LStatements{
s.setColor(table.color); s.setColor(table.color);
switch(type){ switch(type){
case clear: case clear -> {
fields(s, "r", x, v -> x = v); fields(s, "r", x, v -> x = v);
fields(s, "g", y, v -> y = v); fields(s, "g", y, v -> y = v);
fields(s, "b", p1, v -> p1 = v); fields(s, "b", p1, v -> p1 = v);
break; }
case color: case color -> {
fields(s, "r", x, v -> x = v); fields(s, "r", x, v -> x = v);
fields(s, "g", y, v -> y = v); fields(s, "g", y, v -> y = v);
fields(s, "b", p1, v -> p1 = v); fields(s, "b", p1, v -> p1 = v);
row(s); row(s);
fields(s, "a", p2, v -> p2 = v); fields(s, "a", p2, v -> p2 = v);
break; }
case stroke: case stroke -> {
s.add().width(4); s.add().width(4);
fields(s, x, v -> x = v); fields(s, x, v -> x = v);
break; }
case line: case line -> {
fields(s, "x", x, v -> x = v); fields(s, "x", x, v -> x = v);
fields(s, "y", y, v -> y = v); fields(s, "y", y, v -> y = v);
row(s); row(s);
fields(s, "x2", p1, v -> p1 = v); fields(s, "x2", p1, v -> p1 = v);
fields(s, "y2", p2, v -> p2 = v); fields(s, "y2", p2, v -> p2 = v);
break; }
case rect: case rect, lineRect -> {
case lineRect:
fields(s, "x", x, v -> x = v); fields(s, "x", x, v -> x = v);
fields(s, "y", y, v -> y = v); fields(s, "y", y, v -> y = v);
row(s); row(s);
fields(s, "width", p1, v -> p1 = v); fields(s, "width", p1, v -> p1 = v);
fields(s, "height", p2, v -> p2 = v); fields(s, "height", p2, v -> p2 = v);
break; }
case poly: case poly, linePoly -> {
case linePoly:
fields(s, "x", x, v -> x = v); fields(s, "x", x, v -> x = v);
fields(s, "y", y, v -> y = v); fields(s, "y", y, v -> y = v);
row(s); row(s);
@@ -195,8 +193,8 @@ public class LStatements{
fields(s, "radius", p2, v -> p2 = v); fields(s, "radius", p2, v -> p2 = v);
row(s); row(s);
fields(s, "rotation", p3, v -> p3 = v); fields(s, "rotation", p3, v -> p3 = v);
break; }
case triangle: case triangle -> {
fields(s, "x", x, v -> x = v); fields(s, "x", x, v -> x = v);
fields(s, "y", y, v -> y = v); fields(s, "y", y, v -> y = v);
row(s); row(s);
@@ -205,7 +203,7 @@ public class LStatements{
row(s); row(s);
fields(s, "x3", p3, v -> p3 = v); fields(s, "x3", p3, v -> p3 = v);
fields(s, "y3", p4, v -> p4 = v); fields(s, "y3", p4, v -> p4 = v);
break; }
} }
}).expand().left(); }).expand().left();
} }

View File

@@ -37,7 +37,7 @@ public class ContentParser{
private static final boolean ignoreUnknownFields = true; private static final boolean ignoreUnknownFields = true;
ObjectMap<Class<?>, ContentType> contentTypes = new ObjectMap<>(); ObjectMap<Class<?>, ContentType> contentTypes = new ObjectMap<>();
ObjectMap<Class<?>, FieldParser> classParsers = new ObjectMap<Class<?>, FieldParser>(){{ ObjectMap<Class<?>, FieldParser> classParsers = new ObjectMap<>(){{
put(Effect.class, (type, data) -> field(Fx.class, data)); put(Effect.class, (type, data) -> field(Fx.class, data));
put(Schematic.class, (type, data) -> { put(Schematic.class, (type, data) -> {
Object result = fieldOpt(Loadouts.class, data); Object result = fieldOpt(Loadouts.class, data);

View File

@@ -124,18 +124,17 @@ public class PlacementFragment extends Fragment{
for(int j = 0; j < blocks.size; j++){ for(int j = 0; j < blocks.size; j++){
if(blocks.get(j) == currentBlock){ if(blocks.get(j) == currentBlock){
switch(i){ switch(i){
case 10: //left //left
j = (j - 1 + blocks.size) % blocks.size; case 10 -> j = (j - 1 + blocks.size) % blocks.size;
break; //right
case 11: //right case 11 -> j = (j + 1) % blocks.size;
j = (j + 1) % blocks.size; //up
break; case 12 -> {
case 12: //up
j = (j > 3 ? j - 4 : blocks.size - blocks.size % 4 + j); j = (j > 3 ? j - 4 : blocks.size - blocks.size % 4 + j);
j -= (j < blocks.size ? 0 : 4); j -= (j < blocks.size ? 0 : 4);
break; }
case 13: //down //down
j = (j < blocks.size - 4 ? j + 4 : j % 4); case 13 -> j = (j < blocks.size - 4 ? j + 4 : j % 4);
} }
input.block = blocks.get(j); input.block = blocks.get(j);
selectedBlocks.put(currentCategory, input.block); selectedBlocks.put(currentCategory, input.block);

View File

@@ -7,7 +7,6 @@ import arc.math.geom.*;
import arc.util.ArcAnnotate.*; import arc.util.ArcAnnotate.*;
import arc.util.*; import arc.util.*;
import arc.util.io.*; import arc.util.io.*;
import mindustry.*;
import mindustry.annotations.Annotations.*; import mindustry.annotations.Annotations.*;
import mindustry.content.*; import mindustry.content.*;
import mindustry.entities.*; import mindustry.entities.*;

View File

@@ -6,7 +6,6 @@ import arc.math.*;
import arc.util.ArcAnnotate.*; import arc.util.ArcAnnotate.*;
import arc.util.*; import arc.util.*;
import arc.util.io.*; import arc.util.io.*;
import mindustry.*;
import mindustry.annotations.Annotations.*; import mindustry.annotations.Annotations.*;
import mindustry.entities.*; import mindustry.entities.*;
import mindustry.gen.*; import mindustry.gen.*;

View File

@@ -251,7 +251,7 @@ public class MassDriver extends Block{
data.to = target; data.to = target;
int totalUsed = 0; int totalUsed = 0;
for(int i = 0; i < content.items().size; i++){ for(int i = 0; i < content.items().size; i++){
int maxTransfer = Math.min(items.get(content.item(i)), ((MassDriver)tile.block()).itemCapacity - totalUsed); int maxTransfer = Math.min(items.get(content.item(i)), tile.block().itemCapacity - totalUsed);
data.items[i] = maxTransfer; data.items[i] = maxTransfer;
totalUsed += maxTransfer; totalUsed += maxTransfer;
items.remove(content.item(i), maxTransfer); items.remove(content.item(i), maxTransfer);

View File

@@ -19,7 +19,7 @@ public class PowerGraph{
private final ObjectSet<Building> all = new ObjectSet<>(); private final ObjectSet<Building> all = new ObjectSet<>();
private final WindowedMean powerBalance = new WindowedMean(60); private final WindowedMean powerBalance = new WindowedMean(60);
private float lastPowerProduced, lastPowerNeeded, lastUsageFraction, lastPowerStored; private float lastPowerProduced, lastPowerNeeded, lastPowerStored;
private float lastScaledPowerIn, lastScaledPowerOut, lastCapacity; private float lastScaledPowerIn, lastScaledPowerOut, lastCapacity;
private long lastFrameUpdated = -1; private long lastFrameUpdated = -1;
@@ -201,7 +201,7 @@ public class PowerGraph{
tile.power.status = 1f; tile.power.status = 1f;
} }
lastPowerNeeded = lastPowerProduced = lastUsageFraction = 1f; lastPowerNeeded = lastPowerProduced = 1f;
return; return;
} }
@@ -236,12 +236,6 @@ public class PowerGraph{
distributePower(powerNeeded, powerProduced); distributePower(powerNeeded, powerProduced);
} }
//overproducing: 10 / 20 = 0.5
//underproducing: 20 / 10 = 2 -> clamp -> 1.0
//nothing being produced: 20 / 0 -> 1.0
//nothing being consumed: 0 / 20 -> 0.0
lastUsageFraction = Mathf.zero(rawProduced) ? 1f : Mathf.clamp(powerNeeded / rawProduced);
} }
public void addGraph(PowerGraph graph){ public void addGraph(PowerGraph graph){

View File

@@ -13,7 +13,6 @@ import mindustry.content.*;
import mindustry.entities.*; import mindustry.entities.*;
import mindustry.entities.units.*; import mindustry.entities.units.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.graphics.*;
import mindustry.ui.*; import mindustry.ui.*;
import mindustry.world.*; import mindustry.world.*;
import mindustry.world.meta.*; import mindustry.world.meta.*;

View File

@@ -6,7 +6,6 @@ import arc.math.*;
import arc.math.geom.*; import arc.math.geom.*;
import arc.struct.*; import arc.struct.*;
import arc.util.*; import arc.util.*;
import mindustry.*;
import mindustry.annotations.Annotations.*; import mindustry.annotations.Annotations.*;
import mindustry.entities.*; import mindustry.entities.*;
import mindustry.gen.*; import mindustry.gen.*;