This commit is contained in:
Anuken
2018-11-11 23:31:58 -05:00
parent 3b62526267
commit 09db6dc424
514 changed files with 2795 additions and 2685 deletions

View File

@@ -37,6 +37,7 @@ public class Vars{
//time between waves in frames (on normal mode)
public static final float wavespace = 60 * 60 * 1.5f;
public static final float scaling = 1f/4f;
public static final float mineTransferRange = 220f;
//set ridiculously high for now
public static final float coreBuildRange = 999999f;

View File

@@ -175,10 +175,12 @@ public class Renderer extends RendererModule{
Graphics.clear(clearColor);
batch.setProjectionMatrix(camera.combined);
// Graphics.surface(pixelSurface, false);
//Graphics.clear(clearColor);
Draw.scale(scaling);
blocks.floor.drawFloor();
@@ -251,12 +253,16 @@ public class Renderer extends RendererModule{
// fog.draw();
}
batch.getTransformMatrix().idt();
//Graphics.beginCam();
EntityDraw.setClip(false);
drawAndInterpolate(playerGroup, p -> !p.isDead() && !p.isLocal, Player::drawName);
EntityDraw.setClip(true);
Graphics.end();
Draw.color();
}
private void drawFlyerShadows(){

View File

@@ -30,7 +30,6 @@ import io.anuke.ucore.core.*;
import io.anuke.ucore.entities.EntityGroup;
import io.anuke.ucore.entities.EntityQuery;
import io.anuke.ucore.graphics.Draw;
import io.anuke.ucore.graphics.Fill;
import io.anuke.ucore.graphics.Hue;
import io.anuke.ucore.graphics.Lines;
import io.anuke.ucore.util.*;
@@ -317,7 +316,9 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
Draw.rect(mech.legRegion,
x + Angles.trnsx(baseRotation, ft * i + boostTrnsY, -boostTrnsX * i),
y + Angles.trnsy(baseRotation, ft * i + boostTrnsY, -boostTrnsX * i),
mech.legRegion.getRegionWidth() * i, mech.legRegion.getRegionHeight() - Mathf.clamp(ft * i, 0, 2), baseRotation - 90 + boostAng * i);
mech.legRegion.getRegionWidth() * i * Draw.scale(),
(mech.legRegion.getRegionHeight() - Mathf.clamp(ft * i, 0, 2)) * Draw.scale(),
baseRotation - 90 + boostAng * i);
}
Draw.rect(mech.baseRegion, x, y, baseRotation - 90);
@@ -337,8 +338,10 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
float tra = rotation - 90, trY = -mech.weapon.getRecoil(this, i > 0) + mech.weaponOffsetY;
float w = i > 0 ? -mech.weapon.equipRegion.getRegionWidth() : mech.weapon.equipRegion.getRegionWidth();
Draw.rect(mech.weapon.equipRegion,
x + Angles.trnsx(tra, (mech.weaponOffsetX + mech.spreadX(this)) * i, trY),
y + Angles.trnsy(tra, (mech.weaponOffsetX + mech.spreadX(this)) * i, trY), w, mech.weapon.equipRegion.getRegionHeight(), rotation - 90);
x + Angles.trnsx(tra, (mech.weaponOffsetX * Draw.scale() + mech.spreadX(this)) * i, trY),
y + Angles.trnsy(tra, (mech.weaponOffsetX * Draw.scale() + mech.spreadX(this)) * i, trY),
w * Draw.scale(),
mech.weapon.equipRegion.getRegionHeight() * Draw.scale(), rotation - 90);
}
float backTrns = 4f, itemSize = 5f;

View File

@@ -1,7 +1,6 @@
package io.anuke.mindustry.graphics;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.utils.IntArray;
@@ -9,7 +8,6 @@ import com.badlogic.gdx.utils.IntSet;
import com.badlogic.gdx.utils.IntSet.IntSetIterator;
import com.badlogic.gdx.utils.ObjectSet;
import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent;
import io.anuke.mindustry.maps.Sector;
import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.blocks.Floor;
import io.anuke.ucore.core.Core;
@@ -18,15 +16,13 @@ import io.anuke.ucore.core.Graphics;
import io.anuke.ucore.core.Timers;
import io.anuke.ucore.graphics.CacheBatch;
import io.anuke.ucore.graphics.Draw;
import io.anuke.ucore.graphics.Fill;
import io.anuke.ucore.util.Log;
import io.anuke.ucore.util.Mathf;
import io.anuke.ucore.util.Structs;
import java.util.Arrays;
import static io.anuke.mindustry.Vars.tilesize;
import static io.anuke.mindustry.Vars.world;
import static io.anuke.mindustry.Vars.*;
public class FloorRenderer{
private final static int chunksize = 64;
@@ -147,19 +143,11 @@ public class FloorRenderer{
layer.end();
}
private void fillChunk(float x, float y){
Draw.color(Color.BLACK);
Fill.crect(x, y, chunksize * tilesize, chunksize * tilesize);
Draw.color();
}
private void cacheChunk(int cx, int cy){
Chunk chunk = cache[cx][cy];
ObjectSet<CacheLayer> used = new ObjectSet<>();
Sector sector = world.getSector();
for(int tilex = cx * chunksize; tilex < (cx + 1) * chunksize; tilex++){
for(int tiley = cy * chunksize; tiley < (cy + 1) * chunksize; tiley++){
Tile tile = world.tile(tilex, tiley);
@@ -180,8 +168,6 @@ public class FloorRenderer{
Graphics.useBatch(cbatch);
cbatch.begin();
Sector sector = world.getSector();
for(int tilex = cx * chunksize; tilex < (cx + 1) * chunksize; tilex++){
for(int tiley = cy * chunksize; tiley < (cy + 1) * chunksize; tiley++){
Tile tile = world.tile(tilex , tiley);
@@ -216,6 +202,8 @@ public class FloorRenderer{
Timers.mark();
Draw.scale(scaling);
for(int x = 0; x < chunksx; x++){
for(int y = 0; y < chunksy; y++){
cache[x][y] = new Chunk();
@@ -225,6 +213,8 @@ public class FloorRenderer{
}
}
Draw.scale(1f);
Log.info("Time to cache: {0}", Timers.elapsed());
}

View File

@@ -54,7 +54,9 @@ public class DesktopInput extends InputHandler{
for(TextureRegion region : regions){
Draw.rect(region, x * tilesize + block.offset(), y * tilesize + block.offset(),
region.getRegionWidth() * selectScale, region.getRegionHeight() * selectScale, block.rotate ? rotation * 90 : 0);
region.getRegionWidth() * selectScale * scaling,
region.getRegionHeight() * selectScale * scaling,
block.rotate ? rotation * 90 : 0);
}
}else{
Draw.color(Palette.removeBack);

View File

@@ -495,8 +495,8 @@ public class Block extends BaseBlock {
/** Crops a regionto 8x8 */
protected TextureRegion iconRegion(TextureRegion src){
TextureRegion region = new TextureRegion(src);
region.setRegionWidth(8);
region.setRegionHeight(8);
region.setRegionWidth((int)(8 / scaling));
region.setRegionHeight((int)(8 / scaling));
return region;
}

View File

@@ -15,9 +15,12 @@ import io.anuke.ucore.core.Effects.Effect;
import io.anuke.ucore.function.BiPredicate;
import io.anuke.ucore.function.Predicate;
import io.anuke.ucore.graphics.Draw;
import io.anuke.ucore.util.Structs;
import io.anuke.ucore.util.Geometry;
import io.anuke.ucore.util.Mathf;
import io.anuke.ucore.util.Structs;
import static io.anuke.mindustry.Vars.scaling;
import static io.anuke.mindustry.Vars.tilesize;
public class Floor extends Block{
//TODO implement proper bitmasking
@@ -84,19 +87,23 @@ public class Floor extends Block{
TextureRegion result = new TextureRegion();
int sx = -dx * 8 + 2, sy = -dy * 8 + 2;
int x = Mathf.clamp(sx, 0, 12);
int y = Mathf.clamp(sy, 0, 12);
int w = Mathf.clamp(sx + 8, 0, 12) - x, h = Mathf.clamp(sy + 8, 0, 12) - y;
int padSize = (int)(tilesize/2/scaling);
int texSize = (int)(tilesize/scaling);
int totSize = padSize + texSize;
float rx = Mathf.clamp(dx * 8, 0, 8 - w);
float ry = Mathf.clamp(dy * 8, 0, 8 - h);
int sx = -dx * texSize + padSize/2, sy = -dy * texSize + padSize;
int x = Mathf.clamp(sx, 0, totSize);
int y = Mathf.clamp(sy, 0, totSize);
int w = Mathf.clamp(sx + texSize, 0, totSize) - x, h = Mathf.clamp(sy + texSize, 0, totSize) - y;
float rx = Mathf.clamp(dx * texSize, 0, texSize - w);
float ry = Mathf.clamp(dy * texSize, 0, texSize - h);
result.setTexture(edgeRegion.getTexture());
result.setRegion(edgeRegion.getRegionX() + x, edgeRegion.getRegionY() + y + h, w, -h);
edgeRegions[i] = result;
offsets[i] = new Vector2(-4 + rx, -4 + ry);
offsets[i] = new Vector2(-padSize + rx, -padSize + ry);
}
cliffRegions = new TextureRegion[4];
@@ -185,8 +192,14 @@ public class Floor extends Block{
(sameLayer && floor.cacheLayer == this.cacheLayer)) continue;
TextureRegion region = floor.edgeRegions[i];
//Draw.color(Hue.random());
Draw.crect(region, tile.worldx() + floor.offsets[i].x, tile.worldy() + floor.offsets[i].y, region.getRegionWidth(), region.getRegionHeight());
Draw.crect(region,
tile.worldx() + floor.offsets[i].x * scaling,
tile.worldy() + floor.offsets[i].y * scaling,
region.getRegionWidth() * scaling,
region.getRegionHeight() * scaling);
//Draw.color();
}
}

View File

@@ -23,7 +23,7 @@ import java.io.IOException;
import static io.anuke.mindustry.Vars.*;
public class Conveyor extends Block{
private static final float itemSpace = 0.135f * 2.2f;
private static final float itemSpace = 0.135f * 2.5f;
private static final float offsetScl = 128f * 3f;
private static final float minmove = 1f / (Short.MAX_VALUE - 2);
private static ItemPos drawpos = new ItemPos();
@@ -162,8 +162,8 @@ public class Conveyor extends Block{
tr2.trns(rotation * 90, -tilesize / 2f, pos.x * tilesize / 2f);
Draw.rect(pos.item.region,
(int) (tile.x * tilesize + tr1.x * pos.y + tr2.x),
(int) (tile.y * tilesize + tr1.y * pos.y + tr2.y), itemSize, itemSize);
(tile.x * tilesize + tr1.x * pos.y + tr2.x),
(tile.y * tilesize + tr1.y * pos.y + tr2.y), itemSize, itemSize);
}
}catch(IndexOutOfBoundsException e){