Fixed core errors

This commit is contained in:
Anuken
2020-03-06 15:22:13 -05:00
parent 4358658889
commit 77f406e9b8
33 changed files with 97 additions and 112 deletions

View File

@@ -11,6 +11,7 @@ import arc.util.*;
import mindustry.content.*;
import mindustry.game.EventType.*;
import mindustry.game.Teams.*;
import mindustry.gen.*;
import mindustry.ui.*;
import mindustry.world.*;
@@ -31,6 +32,7 @@ public class BlockRenderer implements Disposable{
private float brokenFade = 0f;
private FrameBuffer shadows = new FrameBuffer(2, 2);
private FrameBuffer fog = new FrameBuffer(2, 2);
private Array<Tilec> outArray2 = new Array<>();
private Array<Tile> outArray = new Array<>();
private Array<Tile> shadowEvents = new Array<>();
@@ -220,9 +222,9 @@ public class BlockRenderer implements Disposable{
}
if(tile.entity != null && tile.entity.power() != null && tile.entity.power().links.size > 0){
for(Tile other : block.getPowerConnections(tile, outArray)){
for(Tilec other : tile.entity.getPowerConnections(outArray2)){
if(other.block().layer == Layer.power){
addRequest(other, Layer.power);
addRequest(other.tile(), Layer.power);
}
}
}
@@ -257,16 +259,16 @@ public class BlockRenderer implements Disposable{
Block block = request.tile.block();
if(request.layer == Layer.block){
block.draw(request.tile);
block.drawBase(request.tile);
if(request.tile.entity != null && request.tile.entity.damaged()){
block.drawCracks(request.tile);
request.tile.entity.drawCracks();
}
if(block.synthetic() && request.tile.team() != player.team()){
block.drawTeam(request.tile);
request.tile.entity.drawTeam();
}
}else if(request.layer == Layer.lights){
block.drawLight(request.tile);
request.tile.entity.drawLight();
}else if(request.layer == block.layer){
block.drawLayer(request.tile);
}else if(request.layer == block.layer2){

View File

@@ -154,8 +154,7 @@ public class MinimapRenderer implements Disposable{
private int colorFor(Tile tile){
if(tile == null) return 0;
tile = tile.link();
int bc = tile.minimapColor();
int bc = tile.block().minimapColor(tile);
Color color = Tmp.c1.set(bc == 0 ? MapIO.colorFor(tile.floor(), tile.block(), tile.overlay(), tile.team()) : bc);
color.mul(1f - Mathf.clamp(world.getDarkness(tile.x, tile.y) / 4f));

View File

@@ -7,14 +7,10 @@ import arc.math.*;
import arc.math.geom.*;
import arc.util.*;
import mindustry.*;
import mindustry.content.*;
import mindustry.gen.*;
import mindustry.input.*;
import mindustry.type.*;
import mindustry.ui.*;
import mindustry.world.*;
import mindustry.world.blocks.units.*;
import mindustry.world.meta.*;
import static mindustry.Vars.*;
@@ -83,7 +79,7 @@ public class OverlayRenderer{
//draw config selected block
if(input.frag.config.isShown()){
Tile tile = input.frag.config.getSelectedTile();
Tilec tile = input.frag.config.getSelectedTile();
tile.drawConfigure();
}
@@ -121,15 +117,15 @@ public class OverlayRenderer{
//draw selected block
if(input.block == null && !Core.scene.hasMouse()){
Vec2 vec = Core.input.mouseWorld(input.getMouseX(), input.getMouseY());
Tile tile = world.ltileWorld(vec.x, vec.y);
Tilec tile = world.entWorld(vec.x, vec.y);
if(tile != null && tile.block() != Blocks.air && tile.team() == player.team()){
if(tile != null && tile.team() == player.team()){
tile.drawSelect();
if(Core.input.keyDown(Binding.rotateplaced) && tile.block().rotate && tile.interactable(player.team())){
control.input.drawArrow(tile.block(), tile.x, tile.y, tile.rotation(), true);
control.input.drawArrow(tile.block(), tile.tileX(), tile.tileY(), tile.rotation(), true);
Draw.color(Pal.accent, 0.3f + Mathf.absin(4f, 0.2f));
Fill.square(tile.drawx(), tile.drawy(), tile.block().size * tilesize/2f);
Fill.square(tile.x(), tile.y(), tile.block().size * tilesize/2f);
Draw.color();
}
}
@@ -144,12 +140,12 @@ public class OverlayRenderer{
Lines.circle(v.x, v.y, 6 + Mathf.absin(Time.time(), 5f, 1f));
Draw.reset();
Tile tile = world.ltileWorld(v.x, v.y);
Tilec tile = world.entWorld(v.x, v.y);
if(tile != null && tile.interactable(player.team()) && tile.acceptStack(player.unit().item(), player.unit().stack().amount, player.unit()) > 0){
Lines.stroke(3f, Pal.gray);
Lines.square(tile.drawx(), tile.drawy(), tile.block().size * tilesize / 2f + 3 + Mathf.absin(Time.time(), 5f, 1f));
Lines.square(tile.x(), tile.y(), tile.block().size * tilesize / 2f + 3 + Mathf.absin(Time.time(), 5f, 1f));
Lines.stroke(1f, Pal.place);
Lines.square(tile.drawx(), tile.drawy(), tile.block().size * tilesize / 2f + 2 + Mathf.absin(Time.time(), 5f, 1f));
Lines.square(tile.x(), tile.y(), tile.block().size * tilesize / 2f + 2 + Mathf.absin(Time.time(), 5f, 1f));
Draw.reset();
}