4x
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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(){
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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){
|
||||
|
||||
Reference in New Issue
Block a user