progress
This commit is contained in:
@@ -4,6 +4,7 @@ dagger=0
|
|||||||
draug=10
|
draug=10
|
||||||
mindustry.entities.def.BulletComp=1
|
mindustry.entities.def.BulletComp=1
|
||||||
mindustry.entities.def.DecalComp=2
|
mindustry.entities.def.DecalComp=2
|
||||||
|
mindustry.entities.def.EffectComp=15
|
||||||
mindustry.entities.def.FireComp=3
|
mindustry.entities.def.FireComp=3
|
||||||
mindustry.entities.def.GroundEffectComp=4
|
mindustry.entities.def.GroundEffectComp=4
|
||||||
mindustry.entities.def.PlayerComp=5
|
mindustry.entities.def.PlayerComp=5
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
{fields:[{name:color,type:arc.graphics.Color,size:-1},{name:data,type:java.lang.Object,size:-1},{name:lifetime,type:float,size:4},{name:offsetX,type:float,size:4},{name:offsetY,type:float,size:4},{name:rotation,type:float,size:4},{name:time,type:float,size:4},{name:x,type:float,size:4},{name:y,type:float,size:4}]}
|
||||||
@@ -208,8 +208,6 @@ public class Renderer implements ApplicationListener{
|
|||||||
blocks.floor.drawLayer(CacheLayer.walls);
|
blocks.floor.drawLayer(CacheLayer.walls);
|
||||||
blocks.floor.endDraw();
|
blocks.floor.endDraw();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
blocks.drawBlocks();
|
blocks.drawBlocks();
|
||||||
|
|
||||||
//draw stuff
|
//draw stuff
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public class Effects{
|
|||||||
Rect pos = Tmp.r2.setSize(effect.size).setCenter(x, y);
|
Rect pos = Tmp.r2.setSize(effect.size).setCenter(x, y);
|
||||||
|
|
||||||
if(view.overlaps(pos)){
|
if(view.overlaps(pos)){
|
||||||
Effectc entity = effect.ground ? GroundEffectEntity.create() : StandardEffectEntity.create();
|
Effectc entity = EffectEntity.create();
|
||||||
entity.effect(effect);
|
entity.effect(effect);
|
||||||
entity.rotation(rotation);
|
entity.rotation(rotation);
|
||||||
entity.data(data);
|
entity.data(data);
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import java.util.*;
|
|||||||
import static mindustry.Vars.*;
|
import static mindustry.Vars.*;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
abstract class BuilderComp implements Unitc, DrawLayerFlyingc{
|
abstract class BuilderComp implements Unitc{
|
||||||
static final Vec2[] vecs = new Vec2[]{new Vec2(), new Vec2(), new Vec2(), new Vec2()};
|
static final Vec2[] vecs = new Vec2[]{new Vec2(), new Vec2(), new Vec2(), new Vec2()};
|
||||||
|
|
||||||
@Import float x, y, rotation;
|
@Import float x, y, rotation;
|
||||||
@@ -197,8 +197,12 @@ abstract class BuilderComp implements Unitc, DrawLayerFlyingc{
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawFlying(){
|
public void draw(){
|
||||||
if(!isBuilding()) return;
|
if(!isBuilding()) return;
|
||||||
|
|
||||||
|
//TODO check correctness
|
||||||
|
Draw.z(Layer.flyingUnit);
|
||||||
|
|
||||||
BuildRequest request = buildRequest();
|
BuildRequest request = buildRequest();
|
||||||
Tile tile = world.tile(request.x, request.y);
|
Tile tile = world.tile(request.x, request.y);
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import static mindustry.Vars.*;
|
|||||||
|
|
||||||
@EntityDef(value = {Bulletc.class}, pooled = true)
|
@EntityDef(value = {Bulletc.class}, pooled = true)
|
||||||
@Component
|
@Component
|
||||||
abstract class BulletComp implements Timedc, Damagec, Hitboxc, Teamc, Posc, Drawc, Shielderc, Ownerc, Velc, Bulletc, Timerc, DrawLayerBulletsc{
|
abstract class BulletComp implements Timedc, Damagec, Hitboxc, Teamc, Posc, Drawc, Shielderc, Ownerc, Velc, Bulletc, Timerc{
|
||||||
Object data;
|
Object data;
|
||||||
BulletType type;
|
BulletType type;
|
||||||
float damage;
|
float damage;
|
||||||
|
|||||||
@@ -5,13 +5,15 @@ import mindustry.annotations.Annotations.*;
|
|||||||
import mindustry.entities.*;
|
import mindustry.entities.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
|
|
||||||
|
@EntityDef(value = {Effectc.class, Childc.class}, pooled = true)
|
||||||
@Component
|
@Component
|
||||||
abstract class EffectComp implements Posc, Drawc, Timedc, Rotc, Childc{
|
abstract class EffectComp implements Posc, Drawc, Timedc, Rotc, Childc{
|
||||||
Color color = new Color(Color.white);
|
Color color = new Color(Color.white);
|
||||||
Effect effect;
|
Effect effect;
|
||||||
Object data;
|
Object data;
|
||||||
|
|
||||||
void draw(){
|
@Override
|
||||||
|
public void draw(){
|
||||||
effect.render(id(), color, time(), rotation(), x(), y(), data);
|
effect.render(id(), color, time(), rotation(), x(), y(), data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
package mindustry.entities.def;
|
|
||||||
|
|
||||||
import mindustry.annotations.Annotations.*;
|
|
||||||
import mindustry.gen.*;
|
|
||||||
|
|
||||||
@EntityDef(value = {GroundEffectc.class, Childc.class}, pooled = true)
|
|
||||||
@Component
|
|
||||||
abstract class GroundEffectComp implements Effectc, DrawLayerFloorOverc{
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void drawFloorOver(){
|
|
||||||
draw();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -10,6 +10,7 @@ import mindustry.annotations.Annotations.*;
|
|||||||
import mindustry.content.*;
|
import mindustry.content.*;
|
||||||
import mindustry.entities.*;
|
import mindustry.entities.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
|
import mindustry.graphics.*;
|
||||||
import mindustry.type.*;
|
import mindustry.type.*;
|
||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
|
|
||||||
@@ -18,7 +19,7 @@ import static mindustry.entities.Puddles.maxLiquid;
|
|||||||
|
|
||||||
@EntityDef(value = {Puddlec.class}, pooled = true)
|
@EntityDef(value = {Puddlec.class}, pooled = true)
|
||||||
@Component
|
@Component
|
||||||
abstract class PuddleComp implements Posc, DrawLayerFloorOverc, Puddlec{
|
abstract class PuddleComp implements Posc, Puddlec{
|
||||||
private static final int maxGeneration = 2;
|
private static final int maxGeneration = 2;
|
||||||
private static final Color tmp = new Color();
|
private static final Color tmp = new Color();
|
||||||
private static final Rect rect = new Rect();
|
private static final Rect rect = new Rect();
|
||||||
@@ -89,7 +90,9 @@ abstract class PuddleComp implements Posc, DrawLayerFloorOverc, Puddlec{
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawFloorOver(){
|
public void draw(){
|
||||||
|
Draw.z(Layer.debris - 1);
|
||||||
|
|
||||||
seeds = id();
|
seeds = id();
|
||||||
boolean onLiquid = tile.floor().isLiquid;
|
boolean onLiquid = tile.floor().isLiquid;
|
||||||
float f = Mathf.clamp(amount / (maxLiquid / 1.5f));
|
float f = Mathf.clamp(amount / (maxLiquid / 1.5f));
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
package mindustry.entities.def;
|
|
||||||
|
|
||||||
import mindustry.annotations.Annotations.*;
|
|
||||||
import mindustry.gen.*;
|
|
||||||
|
|
||||||
@EntityDef(value = {StandardEffectc.class, Childc.class}, pooled = true)
|
|
||||||
@Component
|
|
||||||
abstract class StandardEffectComp implements Effectc, DrawLayerEffectsc{
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void drawEffects(){
|
|
||||||
draw();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -20,6 +20,9 @@ public class Layer{
|
|||||||
//base block layer - most blocks go here
|
//base block layer - most blocks go here
|
||||||
block = 30,
|
block = 30,
|
||||||
|
|
||||||
|
//things drawn over blocks (intermediate layer)
|
||||||
|
blockOver = 35,
|
||||||
|
|
||||||
//blocks currently in progress *shaders used* TODO perhaps put shaders into their own category
|
//blocks currently in progress *shaders used* TODO perhaps put shaders into their own category
|
||||||
blockBuilding = 40,
|
blockBuilding = 40,
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
package mindustry.type;
|
package mindustry.type;
|
||||||
|
|
||||||
import arc.func.*;
|
import arc.func.*;
|
||||||
|
import arc.graphics.g2d.*;
|
||||||
import mindustry.annotations.Annotations.*;
|
import mindustry.annotations.Annotations.*;
|
||||||
import mindustry.ctype.*;
|
import mindustry.ctype.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
|
import mindustry.graphics.*;
|
||||||
|
|
||||||
public abstract class Weather extends MappableContent{
|
public abstract class Weather extends MappableContent{
|
||||||
protected float duration = 100f;
|
protected float duration = 100f;
|
||||||
@@ -39,7 +41,7 @@ public abstract class Weather extends MappableContent{
|
|||||||
|
|
||||||
@EntityDef(value = {Weatherc.class}, pooled = true, isFinal = false)
|
@EntityDef(value = {Weatherc.class}, pooled = true, isFinal = false)
|
||||||
@Component
|
@Component
|
||||||
abstract class WeatherComp implements Posc, DrawLayerWeatherc{
|
abstract class WeatherComp implements Posc, Drawc{
|
||||||
Weather weather;
|
Weather weather;
|
||||||
|
|
||||||
void init(Weather weather){
|
void init(Weather weather){
|
||||||
@@ -47,7 +49,8 @@ public abstract class Weather extends MappableContent{
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawWeather(){
|
public void draw(){
|
||||||
|
Draw.z(Layer.weather);
|
||||||
weather.draw();
|
weather.draw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -199,14 +199,6 @@ public class Block extends UnlockableContent{
|
|||||||
return sum / size / size;
|
return sum / size / size;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void drawLayer(Tile tile){
|
|
||||||
if(tile.entity != null) tile.entity.drawLayer();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void drawLayer2(Tile tile){
|
|
||||||
if(tile.entity != null) tile.entity.drawLayer2();
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Drawn when you are placing a block. */
|
/** Drawn when you are placing a block. */
|
||||||
public void drawPlace(int x, int y, int rotation, boolean valid){
|
public void drawPlace(int x, int y, int rotation, boolean valid){
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,21 +22,11 @@ public class ShockMine extends Block{
|
|||||||
destructible = true;
|
destructible = true;
|
||||||
solid = false;
|
solid = false;
|
||||||
targetable = false;
|
targetable = false;
|
||||||
layer = Layer.overlay;
|
|
||||||
rebuildable = false;
|
rebuildable = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ShockMineEntity extends TileEntity{
|
public class ShockMineEntity extends TileEntity{
|
||||||
|
|
||||||
@Override
|
|
||||||
public void drawLayer(){
|
|
||||||
super.draw();
|
|
||||||
Draw.color(team.color);
|
|
||||||
Draw.alpha(0.22f);
|
|
||||||
Fill.rect(x, y, 2f, 2f);
|
|
||||||
Draw.color();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawTeam(){
|
public void drawTeam(){
|
||||||
//no
|
//no
|
||||||
@@ -44,7 +34,11 @@ public class ShockMine extends Block{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void draw(){
|
public void draw(){
|
||||||
//nope
|
super.draw();
|
||||||
|
Draw.color(team.color);
|
||||||
|
Draw.alpha(0.22f);
|
||||||
|
Fill.rect(x, y, 2f, 2f);
|
||||||
|
Draw.color();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ import arc.util.ArcAnnotate.*;
|
|||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import arc.util.io.*;
|
import arc.util.io.*;
|
||||||
import mindustry.content.*;
|
import mindustry.content.*;
|
||||||
import mindustry.gen.*;
|
|
||||||
import mindustry.entities.units.*;
|
import mindustry.entities.units.*;
|
||||||
|
import mindustry.gen.*;
|
||||||
import mindustry.graphics.*;
|
import mindustry.graphics.*;
|
||||||
import mindustry.type.*;
|
import mindustry.type.*;
|
||||||
import mindustry.ui.*;
|
import mindustry.ui.*;
|
||||||
@@ -36,7 +36,6 @@ public class Conveyor extends Block implements Autotiler{
|
|||||||
super(name);
|
super(name);
|
||||||
rotate = true;
|
rotate = true;
|
||||||
update = true;
|
update = true;
|
||||||
layer = Layer.overlay;
|
|
||||||
group = BlockGroup.transportation;
|
group = BlockGroup.transportation;
|
||||||
hasItems = true;
|
hasItems = true;
|
||||||
itemCapacity = 4;
|
itemCapacity = 4;
|
||||||
@@ -127,6 +126,19 @@ public class Conveyor extends Block implements Autotiler{
|
|||||||
int frame = clogHeat <= 0.5f ? (int)(((Time.time() * speed * 8f * timeScale())) % 4) : 0;
|
int frame = clogHeat <= 0.5f ? (int)(((Time.time() * speed * 8f * timeScale())) % 4) : 0;
|
||||||
Draw.rect(regions[Mathf.clamp(blendbits, 0, regions.length - 1)][Mathf.clamp(frame, 0, regions[0].length - 1)], x, y,
|
Draw.rect(regions[Mathf.clamp(blendbits, 0, regions.length - 1)][Mathf.clamp(frame, 0, regions[0].length - 1)], x, y,
|
||||||
tilesize * blendsclx, tilesize * blendscly, rotation * 90);
|
tilesize * blendsclx, tilesize * blendscly, rotation * 90);
|
||||||
|
|
||||||
|
//TODO is clustering necessary? does it create garbage?
|
||||||
|
Draw.z(Layer.blockOver);
|
||||||
|
|
||||||
|
for(int i = 0; i < len; i++){
|
||||||
|
Item item = ids[i];
|
||||||
|
tr1.trns(rotation * 90, tilesize, 0);
|
||||||
|
tr2.trns(rotation * 90, -tilesize / 2f, xs[i] * tilesize / 2f);
|
||||||
|
|
||||||
|
Draw.rect(item.icon(Cicon.medium),
|
||||||
|
(tile.x * tilesize + tr1.x * ys[i] + tr2.x),
|
||||||
|
(tile.y * tilesize + tr1.y * ys[i] + tr2.y), itemSize, itemSize);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -150,21 +162,6 @@ public class Conveyor extends Block implements Autotiler{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void drawLayer(){
|
|
||||||
byte rotation = tile.rotation();
|
|
||||||
|
|
||||||
for(int i = 0; i < len; i++){
|
|
||||||
Item item = ids[i];
|
|
||||||
tr1.trns(rotation * 90, tilesize, 0);
|
|
||||||
tr2.trns(rotation * 90, -tilesize / 2f, xs[i] * tilesize / 2f);
|
|
||||||
|
|
||||||
Draw.rect(item.icon(Cicon.medium),
|
|
||||||
(tile.x * tilesize + tr1.x * ys[i] + tr2.x),
|
|
||||||
(tile.y * tilesize + tr1.y * ys[i] + tr2.y), itemSize, itemSize);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void unitOn(Unitc unit){
|
public void unitOn(Unitc unit){
|
||||||
if(clogHeat > 0.5f){
|
if(clogHeat > 0.5f){
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ public class ItemBridge extends Block{
|
|||||||
update = true;
|
update = true;
|
||||||
solid = true;
|
solid = true;
|
||||||
hasPower = true;
|
hasPower = true;
|
||||||
layer = Layer.power;
|
|
||||||
expanded = true;
|
expanded = true;
|
||||||
itemCapacity = 10;
|
itemCapacity = 10;
|
||||||
configurable = true;
|
configurable = true;
|
||||||
|
|||||||
@@ -375,8 +375,6 @@ public class PowerNode extends PowerBlock{
|
|||||||
public void drawLayer(){
|
public void drawLayer(){
|
||||||
if(Core.settings.getInt("lasersopacity") == 0) return;
|
if(Core.settings.getInt("lasersopacity") == 0) return;
|
||||||
|
|
||||||
Tilec entity = tile.ent();
|
|
||||||
|
|
||||||
for(int i = 0; i < power.links.size; i++){
|
for(int i = 0; i < power.links.size; i++){
|
||||||
Tilec link = world.ent(power.links.get(i));
|
Tilec link = world.ent(power.links.get(i));
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ public class CoreBlock extends StorageBlock{
|
|||||||
flags = EnumSet.of(BlockFlag.core, BlockFlag.producer);
|
flags = EnumSet.of(BlockFlag.core, BlockFlag.producer);
|
||||||
activeSound = Sounds.respawning;
|
activeSound = Sounds.respawning;
|
||||||
activeSoundVolume = 1f;
|
activeSoundVolume = 1f;
|
||||||
layer = Layer.overlay;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Remote(called = Loc.server)
|
@Remote(called = Loc.server)
|
||||||
|
|||||||
+1
-1
@@ -1,3 +1,3 @@
|
|||||||
org.gradle.daemon=true
|
org.gradle.daemon=true
|
||||||
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
||||||
archash=67f230afedd76d2d12ba3bb3e07116f8f0edd526
|
archash=7c888f92ae770e9dc3b07439c32f64cc67c2a6a6
|
||||||
|
|||||||
Reference in New Issue
Block a user