diff --git a/core/assets/sprites/block_colors.png b/core/assets/sprites/block_colors.png index 0ef97761e1..a12b196251 100644 Binary files a/core/assets/sprites/block_colors.png and b/core/assets/sprites/block_colors.png differ diff --git a/core/assets/sprites/fallback/sprites4.png b/core/assets/sprites/fallback/sprites4.png index 2e848b79c9..d347e5f304 100644 Binary files a/core/assets/sprites/fallback/sprites4.png and b/core/assets/sprites/fallback/sprites4.png differ diff --git a/core/assets/sprites/sprites2.png b/core/assets/sprites/sprites2.png index c869fbf0dd..cb8841d584 100644 Binary files a/core/assets/sprites/sprites2.png and b/core/assets/sprites/sprites2.png differ diff --git a/core/src/mindustry/ai/types/FlyingAI.java b/core/src/mindustry/ai/types/FlyingAI.java index 64fb8b44cd..2f01bb984a 100644 --- a/core/src/mindustry/ai/types/FlyingAI.java +++ b/core/src/mindustry/ai/types/FlyingAI.java @@ -1,7 +1,6 @@ package mindustry.ai.types; import arc.math.*; -import arc.util.*; import mindustry.entities.units.*; import mindustry.gen.*; import mindustry.world.meta.*; @@ -59,7 +58,7 @@ public class FlyingAI extends AIController{ vec.setAngle(Mathf.slerpDelta(unit.vel().angle(), vec.angle(), 0.6f)); } - vec.setLength(unit.type().speed * Time.delta); + vec.setLength(unit.type().speed); unit.moveAt(vec); } diff --git a/core/src/mindustry/editor/EditorTile.java b/core/src/mindustry/editor/EditorTile.java index 9cdda58104..7502760c4b 100644 --- a/core/src/mindustry/editor/EditorTile.java +++ b/core/src/mindustry/editor/EditorTile.java @@ -46,9 +46,9 @@ public class EditorTile extends Tile{ return; } - op(OpType.block, block.id); if(rotation != 0) op(OpType.rotation, (byte)rotation); if(team() != Team.derelict) op(OpType.team, (byte)team().id); + op(OpType.block, block.id); super.setBlock(type, team, rotation); } diff --git a/core/src/mindustry/entities/units/AIController.java b/core/src/mindustry/entities/units/AIController.java index 7ae4447ead..03d9daf8b4 100644 --- a/core/src/mindustry/entities/units/AIController.java +++ b/core/src/mindustry/entities/units/AIController.java @@ -152,7 +152,7 @@ public class AIController implements UnitController{ vec.rotate((circleLength - vec.len()) / circleLength * 180f); } - vec.setLength(speed * Time.delta); + vec.setLength(speed); unit.moveAt(vec); } @@ -164,7 +164,7 @@ public class AIController implements UnitController{ float length = circleLength <= 0.001f ? 1f : Mathf.clamp((unit.dst(target) - circleLength) / 100f, -1f, 1f); - vec.setLength(unit.type().speed * Time.delta * length); + vec.setLength(unit.type().speed * length); if(length < -0.5f){ vec.rotate(180f); }else if(length < 0){ diff --git a/core/src/mindustry/graphics/IndexedRenderer.java b/core/src/mindustry/graphics/IndexedRenderer.java index 51389c8fe6..997c8c2721 100644 --- a/core/src/mindustry/graphics/IndexedRenderer.java +++ b/core/src/mindustry/graphics/IndexedRenderer.java @@ -96,24 +96,24 @@ public class IndexedRenderer implements Disposable{ vertices[idx++] = v2; //tri2 - vertices[idx++] = x; - vertices[idx++] = y; - vertices[idx++] = color; - vertices[idx++] = u; - vertices[idx++] = v; - - vertices[idx++] = fx2; - vertices[idx++] = y; - vertices[idx++] = color; - vertices[idx++] = u2; - vertices[idx++] = v; - vertices[idx++] = fx2; vertices[idx++] = fy2; vertices[idx++] = color; vertices[idx++] = u2; vertices[idx++] = v2; + vertices[idx++] = fx2; + vertices[idx++] = y; + vertices[idx++] = color; + vertices[idx++] = u2; + vertices[idx++] = v; + + vertices[idx++] = x; + vertices[idx++] = y; + vertices[idx++] = color; + vertices[idx++] = u; + vertices[idx++] = v; + mesh.updateVertices(index * vsize * 6, vertices); } @@ -155,6 +155,19 @@ public class IndexedRenderer implements Disposable{ vertices[idx++] = u; vertices[idx++] = v; + vertices[idx++] = x2; + vertices[idx++] = y2; + vertices[idx++] = color; + vertices[idx++] = u; + vertices[idx++] = v2; + + vertices[idx++] = x3; + vertices[idx++] = y3; + vertices[idx++] = color; + vertices[idx++] = u2; + vertices[idx++] = v2; + + //tri2 vertices[idx++] = x3; vertices[idx++] = y3; vertices[idx++] = color; @@ -164,28 +177,15 @@ public class IndexedRenderer implements Disposable{ vertices[idx++] = x4; vertices[idx++] = y4; vertices[idx++] = color; - vertices[idx++] = u; - vertices[idx++] = v2; + vertices[idx++] = u2; + vertices[idx++] = v; - //tri2 vertices[idx++] = x1; vertices[idx++] = y1; vertices[idx++] = color; vertices[idx++] = u; vertices[idx++] = v; - vertices[idx++] = x2; - vertices[idx++] = y2; - vertices[idx++] = color; - vertices[idx++] = u2; - vertices[idx++] = v; - - vertices[idx++] = x3; - vertices[idx++] = y3; - vertices[idx++] = color; - vertices[idx++] = u2; - vertices[idx++] = v2; - mesh.updateVertices(index * vsize * 6, vertices); } diff --git a/core/src/mindustry/mod/Mods.java b/core/src/mindustry/mod/Mods.java index 42035abf4f..9aeee4ab2f 100644 --- a/core/src/mindustry/mod/Mods.java +++ b/core/src/mindustry/mod/Mods.java @@ -600,9 +600,14 @@ public class Mods implements Loadable{ zip = zip.list()[0]; } - Fi metaf = zip.child("mod.json").exists() ? zip.child("mod.json") : zip.child("mod.hjson").exists() ? zip.child("mod.hjson") : zip.child("plugin.json"); + Fi metaf = + zip.child("mod.json").exists() ? zip.child("mod.json") : + zip.child("mod.hjson").exists() ? zip.child("mod.hjson") : + zip.child("plugin.json").exists() ? zip.child("plugin.json") : + zip.child("plugin.hjson"); + if(!metaf.exists()){ - Log.warn("Mod @ doesn't have a 'mod.json'/'mod.hjson'/'plugin.json' file, skipping.", sourceFile); + Log.warn("Mod @ doesn't have a '[mod/plugin].[h]json' file, skipping.", sourceFile); throw new IllegalArgumentException("Invalid file: No mod.json found."); } @@ -646,7 +651,9 @@ public class Mods implements Loadable{ meta.hidden = true; } - Log.info("Loaded mod '@' in @", meta.name, Time.elapsed()); + if(!headless){ + Log.info("Loaded mod '@' in @ms", meta.name, Time.elapsed()); + } return new LoadedMod(sourceFile, zip, mainMod, meta); }catch(Exception e){