mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-02-02 20:33:50 +07:00
Minor optimization
This commit is contained in:
parent
48391219fd
commit
f3921e3dcc
@ -1826,6 +1826,8 @@ public class Blocks implements ContentList{
|
|||||||
|
|
||||||
size = 2;
|
size = 2;
|
||||||
range = 80f;
|
range = 80f;
|
||||||
|
itemCapacity = 20;
|
||||||
|
ammoAmount = 5;
|
||||||
|
|
||||||
consumes.item(Items.copper, 1);
|
consumes.item(Items.copper, 1);
|
||||||
}};
|
}};
|
||||||
|
@ -36,7 +36,7 @@ public class Fx{
|
|||||||
TextureRegion region = unit.icon(Cicon.full);
|
TextureRegion region = unit.icon(Cicon.full);
|
||||||
|
|
||||||
rect(region, e.x, e.y,
|
rect(region, e.x, e.y,
|
||||||
region.getWidth() * Draw.scl * scl, region.getHeight() * Draw.scl * scl, 180f);
|
region.width * Draw.scl * scl, region.height * Draw.scl * scl, 180f);
|
||||||
|
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
@ -1030,6 +1030,7 @@ public class UnitTypes implements ContentList{
|
|||||||
|
|
||||||
mega = new UnitType("mega"){{
|
mega = new UnitType("mega"){{
|
||||||
|
|
||||||
|
mineTier = 2;
|
||||||
health = 500;
|
health = 500;
|
||||||
speed = 1.8f;
|
speed = 1.8f;
|
||||||
accel = 0.06f;
|
accel = 0.06f;
|
||||||
|
@ -193,7 +193,7 @@ public class Control implements ApplicationListener, Loadable{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void loadAsync(){
|
public void loadAsync(){
|
||||||
Draw.scl = 1f / Core.atlas.find("scale_marker").getWidth();
|
Draw.scl = 1f / Core.atlas.find("scale_marker").width;
|
||||||
|
|
||||||
Core.input.setCatch(KeyCode.back, true);
|
Core.input.setCatch(KeyCode.back, true);
|
||||||
|
|
||||||
|
@ -28,6 +28,8 @@ public class Renderer implements ApplicationListener{
|
|||||||
public PlanetRenderer planets;
|
public PlanetRenderer planets;
|
||||||
|
|
||||||
public FrameBuffer effectBuffer = new FrameBuffer();
|
public FrameBuffer effectBuffer = new FrameBuffer();
|
||||||
|
public float laserOpacity = 1f;
|
||||||
|
|
||||||
private Bloom bloom;
|
private Bloom bloom;
|
||||||
private FxProcessor fx = new FxProcessor();
|
private FxProcessor fx = new FxProcessor();
|
||||||
private Color clearColor = new Color(0f, 0f, 0f, 1f);
|
private Color clearColor = new Color(0f, 0f, 0f, 1f);
|
||||||
@ -61,6 +63,7 @@ public class Renderer implements ApplicationListener{
|
|||||||
Color.white.set(1f, 1f, 1f, 1f);
|
Color.white.set(1f, 1f, 1f, 1f);
|
||||||
|
|
||||||
camerascale = Mathf.lerpDelta(camerascale, targetscale, 0.1f);
|
camerascale = Mathf.lerpDelta(camerascale, targetscale, 0.1f);
|
||||||
|
laserOpacity = Core.settings.getInt("lasersopacity") / 100f;
|
||||||
|
|
||||||
if(landTime > 0){
|
if(landTime > 0){
|
||||||
landTime -= Time.delta;
|
landTime -= Time.delta;
|
||||||
@ -273,7 +276,7 @@ public class Renderer implements ApplicationListener{
|
|||||||
|
|
||||||
TextureRegion reg = entity.block.icon(Cicon.full);
|
TextureRegion reg = entity.block.icon(Cicon.full);
|
||||||
float scl = Scl.scl(4f) / camerascale;
|
float scl = Scl.scl(4f) / camerascale;
|
||||||
float s = reg.getWidth() * Draw.scl * scl * 4f * fract;
|
float s = reg.width * Draw.scl * scl * 4f * fract;
|
||||||
|
|
||||||
Draw.color(Pal.lightTrail);
|
Draw.color(Pal.lightTrail);
|
||||||
Draw.rect("circle-shadow", entity.getX(), entity.getY(), s, s);
|
Draw.rect("circle-shadow", entity.getX(), entity.getY(), s, s);
|
||||||
@ -285,7 +288,7 @@ public class Renderer implements ApplicationListener{
|
|||||||
|
|
||||||
Draw.color();
|
Draw.color();
|
||||||
Draw.mixcol(Color.white, fract);
|
Draw.mixcol(Color.white, fract);
|
||||||
Draw.rect(reg, entity.getX(), entity.getY(), reg.getWidth() * Draw.scl * scl, reg.getHeight() * Draw.scl * scl, fract * 135f);
|
Draw.rect(reg, entity.getX(), entity.getY(), reg.width * Draw.scl * scl, reg.height * Draw.scl * scl, fract * 135f);
|
||||||
|
|
||||||
Draw.reset();
|
Draw.reset();
|
||||||
}
|
}
|
||||||
|
@ -110,7 +110,7 @@ public class MapRenderer implements Disposable{
|
|||||||
if(wall != Blocks.air && wall.synthetic()){
|
if(wall != Blocks.air && wall.synthetic()){
|
||||||
region = !Core.atlas.isFound(wall.editorIcon()) || !center ? Core.atlas.find("clear-editor") : wall.editorIcon();
|
region = !Core.atlas.isFound(wall.editorIcon()) || !center ? Core.atlas.find("clear-editor") : wall.editorIcon();
|
||||||
|
|
||||||
float width = region.getWidth() * Draw.scl, height = region.getHeight() * Draw.scl;
|
float width = region.width * Draw.scl, height = region.height * Draw.scl;
|
||||||
|
|
||||||
mesh.draw(idxWall, region,
|
mesh.draw(idxWall, region,
|
||||||
wx * tilesize + wall.offset + (tilesize - width) / 2f,
|
wx * tilesize + wall.offset + (tilesize - width) / 2f,
|
||||||
@ -130,15 +130,15 @@ public class MapRenderer implements Disposable{
|
|||||||
region = Core.atlas.find("block-border-editor");
|
region = Core.atlas.find("block-border-editor");
|
||||||
}else if(!wall.synthetic() && wall != Blocks.air && center){
|
}else if(!wall.synthetic() && wall != Blocks.air && center){
|
||||||
region = !Core.atlas.isFound(wall.editorIcon()) ? Core.atlas.find("clear-editor") : wall.editorIcon();
|
region = !Core.atlas.isFound(wall.editorIcon()) ? Core.atlas.find("clear-editor") : wall.editorIcon();
|
||||||
offsetX = tilesize / 2f - region.getWidth() / 2f * Draw.scl;
|
offsetX = tilesize / 2f - region.width / 2f * Draw.scl;
|
||||||
offsetY = tilesize / 2f - region.getHeight() / 2f * Draw.scl;
|
offsetY = tilesize / 2f - region.height / 2f * Draw.scl;
|
||||||
}else if(wall == Blocks.air && !tile.overlay().isAir()){
|
}else if(wall == Blocks.air && !tile.overlay().isAir()){
|
||||||
region = tile.overlay().editorVariantRegions()[Mathf.randomSeed(idxWall, 0, tile.overlay().editorVariantRegions().length - 1)];
|
region = tile.overlay().editorVariantRegions()[Mathf.randomSeed(idxWall, 0, tile.overlay().editorVariantRegions().length - 1)];
|
||||||
}else{
|
}else{
|
||||||
region = Core.atlas.find("clear-editor");
|
region = Core.atlas.find("clear-editor");
|
||||||
}
|
}
|
||||||
|
|
||||||
float width = region.getWidth() * Draw.scl, height = region.getHeight() * Draw.scl;
|
float width = region.width * Draw.scl, height = region.height * Draw.scl;
|
||||||
if(!wall.synthetic() && wall != Blocks.air && !wall.isMultiblock()){
|
if(!wall.synthetic() && wall != Blocks.air && !wall.isMultiblock()){
|
||||||
offsetX = 0;
|
offsetX = 0;
|
||||||
offsetY = 0;
|
offsetY = 0;
|
||||||
|
@ -27,7 +27,7 @@ abstract class DecalComp implements Drawc, Timedc, Rotc, Posc{
|
|||||||
|
|
||||||
@Replace
|
@Replace
|
||||||
public float clipSize(){
|
public float clipSize(){
|
||||||
return region.getWidth()*2;
|
return region.width *2;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,7 @@ abstract class LaunchCoreComp implements Drawc, Timedc{
|
|||||||
Draw.z(Layer.weather - 1);
|
Draw.z(Layer.weather - 1);
|
||||||
|
|
||||||
TextureRegion region = block.icon(Cicon.full);
|
TextureRegion region = block.icon(Cicon.full);
|
||||||
float rw = region.getWidth() * Draw.scl * scale, rh = region.getHeight() * Draw.scl * scale;
|
float rw = region.width * Draw.scl * scale, rh = region.height * Draw.scl * scale;
|
||||||
|
|
||||||
Draw.alpha(alpha);
|
Draw.alpha(alpha);
|
||||||
Draw.rect(region, cx, cy, rw, rh, rotation - 45);
|
Draw.rect(region, cx, cy, rw, rh, rotation - 45);
|
||||||
|
@ -67,7 +67,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
|
|||||||
|
|
||||||
@Replace
|
@Replace
|
||||||
public float clipSize(){
|
public float clipSize(){
|
||||||
return type.region.getWidth() * 2f;
|
return type.region.width * 2f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -152,8 +152,8 @@ public class Drawf{
|
|||||||
public static void laser(Team team, TextureRegion line, TextureRegion edge, float x, float y, float x2, float y2, float rotation, float scale){
|
public static void laser(Team team, TextureRegion line, TextureRegion edge, float x, float y, float x2, float y2, float rotation, float scale){
|
||||||
Tmp.v1.trns(rotation, 8f * scale * Draw.scl);
|
Tmp.v1.trns(rotation, 8f * scale * Draw.scl);
|
||||||
|
|
||||||
Draw.rect(edge, x, y, edge.getWidth() * scale * Draw.scl, edge.getHeight() * scale * Draw.scl, rotation + 180);
|
Draw.rect(edge, x, y, edge.width * scale * Draw.scl, edge.height * scale * Draw.scl, rotation + 180);
|
||||||
Draw.rect(edge, x2, y2, edge.getWidth() * scale * Draw.scl, edge.getHeight() * scale * Draw.scl, rotation);
|
Draw.rect(edge, x2, y2, edge.width * scale * Draw.scl, edge.height * scale * Draw.scl, rotation);
|
||||||
|
|
||||||
Lines.stroke(12f * scale);
|
Lines.stroke(12f * scale);
|
||||||
Lines.precise(true);
|
Lines.precise(true);
|
||||||
|
@ -68,10 +68,10 @@ public class IndexedRenderer implements Disposable{
|
|||||||
public void draw(int index, TextureRegion region, float x, float y, float w, float h){
|
public void draw(int index, TextureRegion region, float x, float y, float w, float h){
|
||||||
float fx2 = x + w;
|
float fx2 = x + w;
|
||||||
float fy2 = y + h;
|
float fy2 = y + h;
|
||||||
float u = region.getU();
|
float u = region.u;
|
||||||
float v = region.getV2();
|
float v = region.v2;
|
||||||
float u2 = region.getU2();
|
float u2 = region.u2;
|
||||||
float v2 = region.getV();
|
float v2 = region.v;
|
||||||
|
|
||||||
float[] vertices = tmpVerts;
|
float[] vertices = tmpVerts;
|
||||||
float color = this.color;
|
float color = this.color;
|
||||||
@ -118,10 +118,10 @@ public class IndexedRenderer implements Disposable{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void draw(int index, TextureRegion region, float x, float y, float w, float h, float rotation){
|
public void draw(int index, TextureRegion region, float x, float y, float w, float h, float rotation){
|
||||||
float u = region.getU();
|
float u = region.u;
|
||||||
float v = region.getV2();
|
float v = region.v2;
|
||||||
float u2 = region.getU2();
|
float u2 = region.u2;
|
||||||
float v2 = region.getV();
|
float v2 = region.v;
|
||||||
|
|
||||||
float originX = w / 2, originY = h / 2;
|
float originX = w / 2, originY = h / 2;
|
||||||
|
|
||||||
|
@ -58,10 +58,10 @@ public class LightRenderer{
|
|||||||
TextureRegion ledge = Core.atlas.find("circle-end"), lmid = Core.atlas.find("circle-mid");
|
TextureRegion ledge = Core.atlas.find("circle-end"), lmid = Core.atlas.find("circle-mid");
|
||||||
|
|
||||||
float color = Draw.getColor().toFloatBits();
|
float color = Draw.getColor().toFloatBits();
|
||||||
float u = lmid.getU();
|
float u = lmid.u;
|
||||||
float v = lmid.getV2();
|
float v = lmid.v2;
|
||||||
float u2 = lmid.getU2();
|
float u2 = lmid.u2;
|
||||||
float v2 = lmid.getV();
|
float v2 = lmid.v;
|
||||||
|
|
||||||
|
|
||||||
Vec2 v1 = Tmp.v1.trnsExact(rot + 90f, stroke);
|
Vec2 v1 = Tmp.v1.trnsExact(rot + 90f, stroke);
|
||||||
@ -103,10 +103,10 @@ public class LightRenderer{
|
|||||||
|
|
||||||
Vec2 v3 = Tmp.v2.trnsExact(rot, stroke);
|
Vec2 v3 = Tmp.v2.trnsExact(rot, stroke);
|
||||||
|
|
||||||
u = ledge.getU();
|
u = ledge.u;
|
||||||
v = ledge.getV2();
|
v = ledge.v2;
|
||||||
u2 = ledge.getU2();
|
u2 = ledge.u2;
|
||||||
v2 = ledge.getV();
|
v2 = ledge.v;
|
||||||
|
|
||||||
vertices[0] = lx4;
|
vertices[0] = lx4;
|
||||||
vertices[1] = ly4;
|
vertices[1] = ly4;
|
||||||
|
@ -243,7 +243,7 @@ public class MenuRenderer implements Disposable{
|
|||||||
|
|
||||||
TextureRegion icon = flyerType.icon(Cicon.full);
|
TextureRegion icon = flyerType.icon(Cicon.full);
|
||||||
|
|
||||||
float size = Math.max(icon.getWidth(), icon.getHeight()) * Draw.scl * 1.6f;
|
float size = Math.max(icon.width, icon.height) * Draw.scl * 1.6f;
|
||||||
|
|
||||||
flyers((x, y) -> {
|
flyers((x, y) -> {
|
||||||
Draw.rect(flyerType.region, x - 12f, y - 13f, flyerRot - 90);
|
Draw.rect(flyerType.region, x - 12f, y - 13f, flyerRot - 90);
|
||||||
|
@ -122,8 +122,8 @@ public class MinimapRenderer implements Disposable{
|
|||||||
float dy = (Core.camera.position.y / tilesize);
|
float dy = (Core.camera.position.y / tilesize);
|
||||||
dx = Mathf.clamp(dx, sz, world.width() - sz);
|
dx = Mathf.clamp(dx, sz, world.width() - sz);
|
||||||
dy = Mathf.clamp(dy, sz, world.height() - sz);
|
dy = Mathf.clamp(dy, sz, world.height() - sz);
|
||||||
float invTexWidth = 1f / texture.getWidth();
|
float invTexWidth = 1f / texture.width;
|
||||||
float invTexHeight = 1f / texture.getHeight();
|
float invTexHeight = 1f / texture.height;
|
||||||
float x = dx - sz, y = world.height() - dy - sz, width = sz * 2, height = sz * 2;
|
float x = dx - sz, y = world.height() - dy - sz, width = sz * 2, height = sz * 2;
|
||||||
region.set(x * invTexWidth, y * invTexHeight, (x + width) * invTexWidth, (y + height) * invTexHeight);
|
region.set(x * invTexWidth, y * invTexHeight, (x + width) * invTexWidth, (y + height) * invTexHeight);
|
||||||
return region;
|
return region;
|
||||||
|
@ -152,9 +152,9 @@ public class Shaders{
|
|||||||
setUniformf("u_time", time);
|
setUniformf("u_time", time);
|
||||||
setUniformf("u_color", color);
|
setUniformf("u_color", color);
|
||||||
setUniformf("u_progress", progress);
|
setUniformf("u_progress", progress);
|
||||||
setUniformf("u_uv", region.getU(), region.getV());
|
setUniformf("u_uv", region.u, region.v);
|
||||||
setUniformf("u_uv2", region.getU2(), region.getV2());
|
setUniformf("u_uv2", region.u2, region.v2);
|
||||||
setUniformf("u_texsize", region.getTexture().getWidth(), region.getTexture().getHeight());
|
setUniformf("u_texsize", region.getTexture().width, region.getTexture().height);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -171,10 +171,10 @@ public class Shaders{
|
|||||||
public void apply(){
|
public void apply(){
|
||||||
setUniformf("u_progress", progress);
|
setUniformf("u_progress", progress);
|
||||||
setUniformf("u_color", color);
|
setUniformf("u_color", color);
|
||||||
setUniformf("u_uv", region.getU(), region.getV());
|
setUniformf("u_uv", region.u, region.v);
|
||||||
setUniformf("u_uv2", region.getU2(), region.getV2());
|
setUniformf("u_uv2", region.u2, region.v2);
|
||||||
setUniformf("u_time", Time.time());
|
setUniformf("u_time", Time.time());
|
||||||
setUniformf("u_texsize", region.getTexture().getWidth(), region.getTexture().getHeight());
|
setUniformf("u_texsize", region.getTexture().width, region.getTexture().height);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||||||
public int rotation;
|
public int rotation;
|
||||||
public boolean droppingItem;
|
public boolean droppingItem;
|
||||||
public Group uiGroup;
|
public Group uiGroup;
|
||||||
public boolean isBuilding = true, buildWasAutoPaused = false;
|
public boolean isBuilding = true, buildWasAutoPaused = false, wasShooting = false;
|
||||||
public @Nullable UnitType controlledType;
|
public @Nullable UnitType controlledType;
|
||||||
|
|
||||||
public @Nullable Schematic lastSchematic;
|
public @Nullable Schematic lastSchematic;
|
||||||
@ -353,6 +353,12 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||||||
player.builder().updateBuilding(isBuilding);
|
player.builder().updateBuilding(isBuilding);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(player.shooting && !wasShooting && player.unit().hasWeapons()){
|
||||||
|
player.unit().type().weapons.first().noAmmoSound.at(player.unit());
|
||||||
|
}
|
||||||
|
|
||||||
|
wasShooting = player.shooting;
|
||||||
|
|
||||||
if(!player.dead()){
|
if(!player.dead()){
|
||||||
controlledType = player.unit().type();
|
controlledType = player.unit().type();
|
||||||
}
|
}
|
||||||
@ -1068,15 +1074,15 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||||||
Draw.rect(Core.atlas.find("place-arrow"),
|
Draw.rect(Core.atlas.find("place-arrow"),
|
||||||
x * tilesize + block.offset + dx*trns,
|
x * tilesize + block.offset + dx*trns,
|
||||||
y * tilesize + block.offset - 1 + dy*trns,
|
y * tilesize + block.offset - 1 + dy*trns,
|
||||||
Core.atlas.find("place-arrow").getWidth() * Draw.scl,
|
Core.atlas.find("place-arrow").width * Draw.scl,
|
||||||
Core.atlas.find("place-arrow").getHeight() * Draw.scl, rotation * 90 - 90);
|
Core.atlas.find("place-arrow").height * Draw.scl, rotation * 90 - 90);
|
||||||
|
|
||||||
Draw.color(!valid ? Pal.remove : Pal.accent);
|
Draw.color(!valid ? Pal.remove : Pal.accent);
|
||||||
Draw.rect(Core.atlas.find("place-arrow"),
|
Draw.rect(Core.atlas.find("place-arrow"),
|
||||||
x * tilesize + block.offset + dx*trns,
|
x * tilesize + block.offset + dx*trns,
|
||||||
y * tilesize + block.offset + dy*trns,
|
y * tilesize + block.offset + dy*trns,
|
||||||
Core.atlas.find("place-arrow").getWidth() * Draw.scl,
|
Core.atlas.find("place-arrow").width * Draw.scl,
|
||||||
Core.atlas.find("place-arrow").getHeight() * Draw.scl, rotation * 90 - 90);
|
Core.atlas.find("place-arrow").height * Draw.scl, rotation * 90 - 90);
|
||||||
}
|
}
|
||||||
|
|
||||||
void iterateLine(int startX, int startY, int endX, int endY, Cons<PlaceLine> cons){
|
void iterateLine(int startX, int startY, int endX, int endY, Cons<PlaceLine> cons){
|
||||||
|
@ -431,7 +431,7 @@ public class UnitType extends UnlockableContent{
|
|||||||
public void drawOcclusion(Unit unit){
|
public void drawOcclusion(Unit unit){
|
||||||
Draw.color(0, 0, 0, 0.4f);
|
Draw.color(0, 0, 0, 0.4f);
|
||||||
float rad = 1.6f;
|
float rad = 1.6f;
|
||||||
float size = Math.max(region.getWidth(), region.getHeight()) * Draw.scl;
|
float size = Math.max(region.width, region.height) * Draw.scl;
|
||||||
Draw.rect(occlusionRegion, unit, size * rad, size * rad);
|
Draw.rect(occlusionRegion, unit, size * rad, size * rad);
|
||||||
Draw.color();
|
Draw.color();
|
||||||
}
|
}
|
||||||
@ -503,7 +503,7 @@ public class UnitType extends UnlockableContent{
|
|||||||
|
|
||||||
float rotation = unit.rotation - 90;
|
float rotation = unit.rotation - 90;
|
||||||
float weaponRotation = rotation + (weapon.rotate ? mount.rotation : 0);
|
float weaponRotation = rotation + (weapon.rotate ? mount.rotation : 0);
|
||||||
float width = weapon.region.getWidth();
|
float width = weapon.region.width;
|
||||||
float recoil = -((mount.reload) / weapon.reload * weapon.recoil);
|
float recoil = -((mount.reload) / weapon.reload * weapon.recoil);
|
||||||
float wx = unit.x + Angles.trnsx(rotation, weapon.x, weapon.y) + Angles.trnsx(weaponRotation, 0, recoil),
|
float wx = unit.x + Angles.trnsx(rotation, weapon.x, weapon.y) + Angles.trnsx(weaponRotation, 0, recoil),
|
||||||
wy = unit.y + Angles.trnsy(rotation, weapon.x, weapon.y) + Angles.trnsy(weaponRotation, 0, recoil);
|
wy = unit.y + Angles.trnsy(rotation, weapon.x, weapon.y) + Angles.trnsy(weaponRotation, 0, recoil);
|
||||||
@ -514,7 +514,7 @@ public class UnitType extends UnlockableContent{
|
|||||||
|
|
||||||
Draw.rect(weapon.region, wx, wy,
|
Draw.rect(weapon.region, wx, wy,
|
||||||
width * Draw.scl * -Mathf.sign(weapon.flipSprite),
|
width * Draw.scl * -Mathf.sign(weapon.flipSprite),
|
||||||
weapon.region.getHeight() * Draw.scl,
|
weapon.region.height * Draw.scl,
|
||||||
weaponRotation);
|
weaponRotation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -552,7 +552,7 @@ public class UnitType extends UnlockableContent{
|
|||||||
|
|
||||||
Leg[] legs = unit.legs();
|
Leg[] legs = unit.legs();
|
||||||
|
|
||||||
float ssize = footRegion.getWidth() * Draw.scl * 1.5f;
|
float ssize = footRegion.width * Draw.scl * 1.5f;
|
||||||
float rotation = unit.baseRotation();
|
float rotation = unit.baseRotation();
|
||||||
|
|
||||||
for(Leg leg : legs){
|
for(Leg leg : legs){
|
||||||
@ -586,10 +586,10 @@ public class UnitType extends UnlockableContent{
|
|||||||
|
|
||||||
Draw.rect(footRegion, leg.base.x, leg.base.y, position.angleTo(leg.base));
|
Draw.rect(footRegion, leg.base.x, leg.base.y, position.angleTo(leg.base));
|
||||||
|
|
||||||
Lines.stroke(legRegion.getHeight() * Draw.scl * flips);
|
Lines.stroke(legRegion.height * Draw.scl * flips);
|
||||||
Lines.line(legRegion, position.x, position.y, leg.joint.x, leg.joint.y, false, 0);
|
Lines.line(legRegion, position.x, position.y, leg.joint.x, leg.joint.y, false, 0);
|
||||||
|
|
||||||
Lines.stroke(legBaseRegion.getHeight() * Draw.scl * flips);
|
Lines.stroke(legBaseRegion.height * Draw.scl * flips);
|
||||||
Lines.line(legBaseRegion, leg.joint.x + Tmp.v1.x, leg.joint.y + Tmp.v1.y, leg.base.x, leg.base.y, false, 0);
|
Lines.line(legBaseRegion, leg.joint.x + Tmp.v1.x, leg.joint.y + Tmp.v1.y, leg.base.x, leg.base.y, false, 0);
|
||||||
|
|
||||||
if(jointRegion.found()){
|
if(jointRegion.found()){
|
||||||
@ -627,8 +627,8 @@ public class UnitType extends UnlockableContent{
|
|||||||
Draw.rect(legRegion,
|
Draw.rect(legRegion,
|
||||||
unit.x + Angles.trnsx(mech.baseRotation(), extension * i - boostTrns, -boostTrns*i),
|
unit.x + Angles.trnsx(mech.baseRotation(), extension * i - boostTrns, -boostTrns*i),
|
||||||
unit.y + Angles.trnsy(mech.baseRotation(), extension * i - boostTrns, -boostTrns*i),
|
unit.y + Angles.trnsy(mech.baseRotation(), extension * i - boostTrns, -boostTrns*i),
|
||||||
legRegion.getWidth() * i * Draw.scl,
|
legRegion.width * i * Draw.scl,
|
||||||
legRegion.getHeight() * Draw.scl - Math.max(-sin * i, 0) * legRegion.getHeight() * 0.5f * Draw.scl,
|
legRegion.height * Draw.scl - Math.max(-sin * i, 0) * legRegion.height * 0.5f * Draw.scl,
|
||||||
mech.baseRotation() - 90 + 35f*i*e);
|
mech.baseRotation() - 90 + 35f*i*e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,6 +59,8 @@ public class Weapon{
|
|||||||
public int otherSide = -1;
|
public int otherSide = -1;
|
||||||
/** sound used for shooting */
|
/** sound used for shooting */
|
||||||
public Sound shootSound = Sounds.pew;
|
public Sound shootSound = Sounds.pew;
|
||||||
|
/** sound played when there is nothing to shoot */
|
||||||
|
public Sound noAmmoSound = Sounds.click;
|
||||||
/** displayed region (autoloaded) */
|
/** displayed region (autoloaded) */
|
||||||
public TextureRegion region;
|
public TextureRegion region;
|
||||||
|
|
||||||
|
@ -80,11 +80,11 @@ public class Bar extends Element{
|
|||||||
Drawable top = Tex.barTop;
|
Drawable top = Tex.barTop;
|
||||||
float topWidth = width * value;
|
float topWidth = width * value;
|
||||||
|
|
||||||
if(topWidth > Core.atlas.find("bar-top").getWidth()){
|
if(topWidth > Core.atlas.find("bar-top").width){
|
||||||
top.draw(x, y, topWidth, height);
|
top.draw(x, y, topWidth, height);
|
||||||
}else{
|
}else{
|
||||||
if(ScissorStack.push(scissor.set(x, y, topWidth, height))){
|
if(ScissorStack.push(scissor.set(x, y, topWidth, height))){
|
||||||
top.draw(x, y, Core.atlas.find("bar-top").getWidth(), height);
|
top.draw(x, y, Core.atlas.find("bar-top").width, height);
|
||||||
ScissorStack.pop();
|
ScissorStack.pop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -98,10 +98,10 @@ public class Fonts{
|
|||||||
glyph.srcY = 0;
|
glyph.srcY = 0;
|
||||||
glyph.width = size;
|
glyph.width = size;
|
||||||
glyph.height = size;
|
glyph.height = size;
|
||||||
glyph.u = region.getU();
|
glyph.u = region.u;
|
||||||
glyph.v = region.getV2();
|
glyph.v = region.v2;
|
||||||
glyph.u2 = region.getU2();
|
glyph.u2 = region.u2;
|
||||||
glyph.v2 = region.getV();
|
glyph.v2 = region.v;
|
||||||
glyph.xoffset = 0;
|
glyph.xoffset = 0;
|
||||||
glyph.yoffset = -size;
|
glyph.yoffset = -size;
|
||||||
glyph.xadvance = size;
|
glyph.xadvance = size;
|
||||||
|
@ -78,8 +78,8 @@ public class MenuFragment extends Fragment{
|
|||||||
parent.fill((x, y, w, h) -> {
|
parent.fill((x, y, w, h) -> {
|
||||||
TextureRegion logo = Core.atlas.find("logo");
|
TextureRegion logo = Core.atlas.find("logo");
|
||||||
float logoscl = Scl.scl(1);
|
float logoscl = Scl.scl(1);
|
||||||
float logow = Math.min(logo.getWidth() * logoscl, Core.graphics.getWidth() - Scl.scl(20));
|
float logow = Math.min(logo.width * logoscl, Core.graphics.getWidth() - Scl.scl(20));
|
||||||
float logoh = logow * (float)logo.getHeight() / logo.getWidth();
|
float logoh = logow * (float)logo.height / logo.width;
|
||||||
|
|
||||||
float fx = (int)(Core.graphics.getWidth() / 2f);
|
float fx = (int)(Core.graphics.getWidth() / 2f);
|
||||||
float fy = (int)(Core.graphics.getHeight() - 6 - logoh) + logoh / 2 - (Core.graphics.isPortrait() ? Scl.scl(30f) : 0f);
|
float fy = (int)(Core.graphics.getHeight() - 6 - logoh) + logoh / 2 - (Core.graphics.isPortrait() ? Scl.scl(30f) : 0f);
|
||||||
|
@ -32,7 +32,7 @@ public class MinimapFragment extends Fragment{
|
|||||||
|
|
||||||
if(renderer.minimap.getTexture() != null){
|
if(renderer.minimap.getTexture() != null){
|
||||||
Draw.color();
|
Draw.color();
|
||||||
float ratio = (float)renderer.minimap.getTexture().getHeight() / renderer.minimap.getTexture().getWidth();
|
float ratio = (float)renderer.minimap.getTexture().height / renderer.minimap.getTexture().width;
|
||||||
TextureRegion reg = Draw.wrap(renderer.minimap.getTexture());
|
TextureRegion reg = Draw.wrap(renderer.minimap.getTexture());
|
||||||
Draw.rect(reg, w/2f + panx*zoom, h/2f + pany*zoom, size, size * ratio);
|
Draw.rect(reg, w/2f + panx*zoom, h/2f + pany*zoom, size, size * ratio);
|
||||||
renderer.minimap.drawEntities(w/2f + panx*zoom - size/2f, h/2f + pany*zoom - size/2f * ratio, size, size * ratio, zoom, true);
|
renderer.minimap.drawEntities(w/2f + panx*zoom - size/2f, h/2f + pany*zoom - size/2f * ratio, size, size * ratio, zoom, true);
|
||||||
@ -113,7 +113,7 @@ public class MinimapFragment extends Fragment{
|
|||||||
public void toggle(){
|
public void toggle(){
|
||||||
if(Core.settings.getBool("mapcenter")){
|
if(Core.settings.getBool("mapcenter")){
|
||||||
float size = baseSize * zoom * world.width();
|
float size = baseSize * zoom * world.width();
|
||||||
float ratio = (float)renderer.minimap.getTexture().getHeight() / renderer.minimap.getTexture().getWidth();
|
float ratio = (float)renderer.minimap.getTexture().height / renderer.minimap.getTexture().width;
|
||||||
panx = (size/2f - player.x() / (world.width() * tilesize) * size) / zoom;
|
panx = (size/2f - player.x() / (world.width() * tilesize) * size) / zoom;
|
||||||
pany = (size*ratio/2f - player.y() / (world.height() * tilesize) * size*ratio) / zoom;
|
pany = (size*ratio/2f - player.y() / (world.height() * tilesize) * size*ratio) / zoom;
|
||||||
}
|
}
|
||||||
|
@ -31,14 +31,14 @@ public interface Autotiler{
|
|||||||
default TextureRegion topHalf(TextureRegion input){
|
default TextureRegion topHalf(TextureRegion input){
|
||||||
TextureRegion region = Tmp.tr1;
|
TextureRegion region = Tmp.tr1;
|
||||||
region.set(input);
|
region.set(input);
|
||||||
region.setWidth(region.getWidth() / 2);
|
region.setWidth(region.width / 2);
|
||||||
return region;
|
return region;
|
||||||
}
|
}
|
||||||
|
|
||||||
default TextureRegion botHalf(TextureRegion input){
|
default TextureRegion botHalf(TextureRegion input){
|
||||||
TextureRegion region = Tmp.tr1;
|
TextureRegion region = Tmp.tr1;
|
||||||
region.set(input);
|
region.set(input);
|
||||||
int width = region.getWidth();
|
int width = region.width;
|
||||||
region.setWidth(width / 2);
|
region.setWidth(width / 2);
|
||||||
region.setX(region.getX() + width);
|
region.setX(region.getX() + width);
|
||||||
return region;
|
return region;
|
||||||
|
@ -142,7 +142,7 @@ public class LaunchPad extends Block{
|
|||||||
Draw.z(Layer.weather - 1);
|
Draw.z(Layer.weather - 1);
|
||||||
|
|
||||||
TextureRegion region = Core.atlas.find("launchpod");
|
TextureRegion region = Core.atlas.find("launchpod");
|
||||||
float rw = region.getWidth() * Draw.scl * scale, rh = region.getHeight() * Draw.scl * scale;
|
float rw = region.width * Draw.scl * scale, rh = region.height * Draw.scl * scale;
|
||||||
|
|
||||||
Draw.alpha(alpha);
|
Draw.alpha(alpha);
|
||||||
Draw.rect(region, cx, cy, rw, rh, rotation);
|
Draw.rect(region, cx, cy, rw, rh, rotation);
|
||||||
|
@ -63,7 +63,7 @@ public class Conveyor extends Block implements Autotiler{
|
|||||||
if(bits == null) return;
|
if(bits == null) return;
|
||||||
|
|
||||||
TextureRegion region = regions[bits[0]][0];
|
TextureRegion region = regions[bits[0]][0];
|
||||||
Draw.rect(region, req.drawx(), req.drawy(), region.getWidth() * bits[1] * Draw.scl, region.getHeight() * bits[2] * Draw.scl, req.rotation * 90);
|
Draw.rect(region, req.drawx(), req.drawy(), region.width * bits[1] * Draw.scl, region.height * bits[2] * Draw.scl, req.rotation * 90);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -17,7 +17,7 @@ import mindustry.world.blocks.production.*;
|
|||||||
import static mindustry.Vars.*;
|
import static mindustry.Vars.*;
|
||||||
|
|
||||||
public class PayloadConveyor extends Block{
|
public class PayloadConveyor extends Block{
|
||||||
public float moveTime = 60f;
|
public float moveTime = 50f;
|
||||||
public @Load("@-top") TextureRegion topRegion;
|
public @Load("@-top") TextureRegion topRegion;
|
||||||
public @Load("@-edge") TextureRegion edgeRegion;
|
public @Load("@-edge") TextureRegion edgeRegion;
|
||||||
public Interp interp = Interp.pow5;
|
public Interp interp = Interp.pow5;
|
||||||
@ -155,20 +155,20 @@ public class PayloadConveyor extends Block{
|
|||||||
float s = tilesize * size;
|
float s = tilesize * size;
|
||||||
|
|
||||||
//next
|
//next
|
||||||
Tmp.v1.set((s-clipped.getWidth()*Draw.scl) + clipped.getWidth()/2f*Draw.scl - s/2f, s-clipped.getHeight()*Draw.scl + clipped.getHeight()/2f*Draw.scl - s/2f).rotate(rot);
|
Tmp.v1.set((s- clipped.width *Draw.scl) + clipped.width /2f*Draw.scl - s/2f, s- clipped.height *Draw.scl + clipped.height /2f*Draw.scl - s/2f).rotate(rot);
|
||||||
Draw.rect(clipped, x + Tmp.v1.x, y + Tmp.v1.y, rot);
|
Draw.rect(clipped, x + Tmp.v1.x, y + Tmp.v1.y, rot);
|
||||||
|
|
||||||
clipped = clipRegion(tile.getHitbox(Tmp.r1), tile.getHitbox(Tmp.r2).move(trprev, 0), topRegion);
|
clipped = clipRegion(tile.getHitbox(Tmp.r1), tile.getHitbox(Tmp.r2).move(trprev, 0), topRegion);
|
||||||
|
|
||||||
//prev
|
//prev
|
||||||
Tmp.v1.set(- s/2f + clipped.getWidth()/2f*Draw.scl, - s/2f + clipped.getHeight()/2f*Draw.scl).rotate(rot);
|
Tmp.v1.set(- s/2f + clipped.width /2f*Draw.scl, - s/2f + clipped.height /2f*Draw.scl).rotate(rot);
|
||||||
Draw.rect(clipped, x + Tmp.v1.x, y + Tmp.v1.y, rot);
|
Draw.rect(clipped, x + Tmp.v1.x, y + Tmp.v1.y, rot);
|
||||||
|
|
||||||
for(int i = 0; i < 4; i++){
|
for(int i = 0; i < 4; i++){
|
||||||
if(blends(i) && i != rotation){
|
if(blends(i) && i != rotation){
|
||||||
Draw.alpha(1f - Interp.pow5In.apply(fract()));
|
Draw.alpha(1f - Interp.pow5In.apply(fract()));
|
||||||
//prev from back
|
//prev from back
|
||||||
Tmp.v1.set(- s/2f + clipped.getWidth()/2f*Draw.scl, - s/2f + clipped.getHeight()/2f*Draw.scl).rotate(i * 90 + 180);
|
Tmp.v1.set(- s/2f + clipped.width /2f*Draw.scl, - s/2f + clipped.height /2f*Draw.scl).rotate(i * 90 + 180);
|
||||||
Draw.rect(clipped, x + Tmp.v1.x, y + Tmp.v1.y, i * 90 + 180);
|
Draw.rect(clipped, x + Tmp.v1.x, y + Tmp.v1.y, i * 90 + 180);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -268,9 +268,9 @@ public class PayloadConveyor extends Block{
|
|||||||
out.set(region.getTexture());
|
out.set(region.getTexture());
|
||||||
|
|
||||||
if(overlaps){
|
if(overlaps){
|
||||||
float w = region.getU2() - region.getU();
|
float w = region.u2 - region.u;
|
||||||
float h = region.getV2() - region.getV();
|
float h = region.v2 - region.v;
|
||||||
float x = region.getU(), y = region.getV();
|
float x = region.u, y = region.v;
|
||||||
float newX = (over.x - sprite.x) / sprite.width * w + x;
|
float newX = (over.x - sprite.x) / sprite.width * w + x;
|
||||||
float newY = (over.y - sprite.y) / sprite.height * h + y;
|
float newY = (over.y - sprite.y) / sprite.height * h + y;
|
||||||
float newW = (over.width / sprite.width) * w, newH = (over.height / sprite.height) * h;
|
float newW = (over.width / sprite.width) * w, newH = (over.height / sprite.height) * h;
|
||||||
|
@ -16,7 +16,7 @@ public class StaticTree extends StaticWall{
|
|||||||
public void drawBase(Tile tile){
|
public void drawBase(Tile tile){
|
||||||
TextureRegion r = Tmp.tr1;
|
TextureRegion r = Tmp.tr1;
|
||||||
r.set(region);
|
r.set(region);
|
||||||
int crop = (region.getWidth() - tilesize*4) / 2;
|
int crop = (region.width - tilesize*4) / 2;
|
||||||
float ox = 0;
|
float ox = 0;
|
||||||
float oy = 0;
|
float oy = 0;
|
||||||
|
|
||||||
@ -24,7 +24,7 @@ public class StaticTree extends StaticWall{
|
|||||||
if(tile.getNearby(i) != null && tile.getNearby(i).block() instanceof StaticWall){
|
if(tile.getNearby(i) != null && tile.getNearby(i).block() instanceof StaticWall){
|
||||||
|
|
||||||
if(i == 0){
|
if(i == 0){
|
||||||
r.setWidth(r.getWidth() - crop);
|
r.setWidth(r.width - crop);
|
||||||
ox -= crop /2f;
|
ox -= crop /2f;
|
||||||
}else if(i == 1){
|
}else if(i == 1){
|
||||||
r.setY(r.getY() + crop);
|
r.setY(r.getY() + crop);
|
||||||
@ -33,7 +33,7 @@ public class StaticTree extends StaticWall{
|
|||||||
r.setX(r.getX() + crop);
|
r.setX(r.getX() + crop);
|
||||||
ox += crop /2f;
|
ox += crop /2f;
|
||||||
}else{
|
}else{
|
||||||
r.setHeight(r.getHeight() - crop);
|
r.setHeight(r.height - crop);
|
||||||
oy += crop /2f;
|
oy += crop /2f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ public class TreeBlock extends Block{
|
|||||||
|
|
||||||
float x = tile.worldx(), y = tile.worldy();
|
float x = tile.worldx(), y = tile.worldy();
|
||||||
float rot = Mathf.randomSeed(tile.pos(), 0, 4) * 90 + Mathf.sin(Time.time() + x, 50f, 0.5f) + Mathf.sin(Time.time() - y, 65f, 0.9f) + Mathf.sin(Time.time() + y - x, 85f, 0.9f);
|
float rot = Mathf.randomSeed(tile.pos(), 0, 4) * 90 + Mathf.sin(Time.time() + x, 50f, 0.5f) + Mathf.sin(Time.time() - y, 65f, 0.9f) + Mathf.sin(Time.time() + y - x, 85f, 0.9f);
|
||||||
float w = region.getWidth() * Draw.scl, h = region.getHeight() * Draw.scl;
|
float w = region.width * Draw.scl, h = region.height * Draw.scl;
|
||||||
float scl = 30f, mag = 0.2f;
|
float scl = 30f, mag = 0.2f;
|
||||||
|
|
||||||
if(shadow.found()){
|
if(shadow.found()){
|
||||||
|
@ -146,9 +146,6 @@ public class PowerNode extends PowerBlock{
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void drawLaser(Team team, float x1, float y1, float x2, float y2, float satisfaction, int size1, int size2){
|
protected void drawLaser(Team team, float x1, float y1, float x2, float y2, float satisfaction, int size1, int size2){
|
||||||
float opacity = Core.settings.getInt("lasersopacity") / 100f;
|
|
||||||
if(Mathf.zero(opacity)) return;
|
|
||||||
|
|
||||||
float angle1 = Angles.angle(x1, y1, x2, y2);
|
float angle1 = Angles.angle(x1, y1, x2, y2);
|
||||||
t1.trns(angle1, size1 * tilesize / 2f - 1.5f);
|
t1.trns(angle1, size1 * tilesize / 2f - 1.5f);
|
||||||
t2.trns(angle1 + 180f, size2 * tilesize / 2f - 1.5f);
|
t2.trns(angle1 + 180f, size2 * tilesize / 2f - 1.5f);
|
||||||
@ -161,7 +158,7 @@ public class PowerNode extends PowerBlock{
|
|||||||
float fract = 1f - satisfaction;
|
float fract = 1f - satisfaction;
|
||||||
|
|
||||||
Draw.color(laserColor1, laserColor2, fract * 0.86f + Mathf.absin(3f, 0.1f));
|
Draw.color(laserColor1, laserColor2, fract * 0.86f + Mathf.absin(3f, 0.1f));
|
||||||
Draw.alpha(opacity);
|
Draw.alpha(renderer.laserOpacity);
|
||||||
Drawf.laser(team, laser, laserEnd, x1, y1, x2, y2, 0.25f);
|
Drawf.laser(team, laser, laserEnd, x1, y1, x2, y2, 0.25f);
|
||||||
Draw.color();
|
Draw.color();
|
||||||
}
|
}
|
||||||
@ -386,7 +383,7 @@ public class PowerNode extends PowerBlock{
|
|||||||
public void draw(){
|
public void draw(){
|
||||||
super.draw();
|
super.draw();
|
||||||
|
|
||||||
if(Core.settings.getInt("lasersopacity") == 0) return;
|
if(Mathf.zero(renderer.laserOpacity)) return;
|
||||||
|
|
||||||
Draw.z(Layer.power);
|
Draw.z(Layer.power);
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@ public class Generators{
|
|||||||
int radius = 4;
|
int radius = 4;
|
||||||
GenRegion region = (GenRegion)regions[regions.length - 1];
|
GenRegion region = (GenRegion)regions[regions.length - 1];
|
||||||
Image base = ImagePacker.get(region);
|
Image base = ImagePacker.get(region);
|
||||||
Image out = last = new Image(region.getWidth(), region.getHeight());
|
Image out = last = new Image(region.width, region.height);
|
||||||
for(int x = 0; x < out.width; x++){
|
for(int x = 0; x < out.width; x++){
|
||||||
for(int y = 0; y < out.height; y++){
|
for(int y = 0; y < out.height; y++){
|
||||||
|
|
||||||
@ -330,7 +330,7 @@ public class Generators{
|
|||||||
image.save(type.name + "-cell");
|
image.save(type.name + "-cell");
|
||||||
}
|
}
|
||||||
|
|
||||||
Image cell = new Image(type.cellRegion.getWidth(), type.cellRegion.getHeight());
|
Image cell = new Image(type.cellRegion.width, type.cellRegion.height);
|
||||||
cell.each((x, y) -> cell.draw(x, y, baseCell.getColor(x, y).mul(Color.valueOf("ffa665"))));
|
cell.each((x, y) -> cell.draw(x, y, baseCell.getColor(x, y).mul(Color.valueOf("ffa665"))));
|
||||||
|
|
||||||
image.draw(cell, image.width / 2 - cell.width / 2, image.height / 2 - cell.height / 2);
|
image.draw(cell, image.width / 2 - cell.width / 2, image.height / 2 - cell.height / 2);
|
||||||
@ -339,8 +339,8 @@ public class Generators{
|
|||||||
weapon.load();
|
weapon.load();
|
||||||
|
|
||||||
image.draw(weapon.region,
|
image.draw(weapon.region,
|
||||||
(int)(weapon.x / Draw.scl + image.width / 2f - weapon.region.getWidth() / 2f),
|
(int)(weapon.x / Draw.scl + image.width / 2f - weapon.region.width / 2f),
|
||||||
(int)(-weapon.y / Draw.scl + image.height / 2f - weapon.region.getHeight() / 2f),
|
(int)(-weapon.y / Draw.scl + image.height / 2f - weapon.region.height / 2f),
|
||||||
weapon.flipSprite, false);
|
weapon.flipSprite, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,12 +81,12 @@ class Image{
|
|||||||
|
|
||||||
/** Draws a region at the center. */
|
/** Draws a region at the center. */
|
||||||
void drawCenter(TextureRegion region){
|
void drawCenter(TextureRegion region){
|
||||||
draw(region, (width - region.getWidth()) / 2, (height - region.getHeight()) / 2, false, false);
|
draw(region, (width - region.width) / 2, (height - region.height) / 2, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Draws a region at the center. */
|
/** Draws a region at the center. */
|
||||||
void drawCenter(TextureRegion region, boolean flipx, boolean flipy){
|
void drawCenter(TextureRegion region, boolean flipx, boolean flipy){
|
||||||
draw(region, (width - region.getWidth()) / 2, (height - region.getHeight()) / 2, flipx, flipy);
|
draw(region, (width - region.width) / 2, (height - region.height) / 2, flipx, flipy);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawScaled(Image image){
|
void drawScaled(Image image){
|
||||||
@ -114,12 +114,12 @@ class Image{
|
|||||||
|
|
||||||
graphics.drawImage(ImagePacker.get(region).image,
|
graphics.drawImage(ImagePacker.get(region).image,
|
||||||
x, y,
|
x, y,
|
||||||
x + region.getWidth(),
|
x + region.width,
|
||||||
y + region.getHeight(),
|
y + region.height,
|
||||||
(flipx ? region.getWidth() : 0) + ofx,
|
(flipx ? region.width : 0) + ofx,
|
||||||
(flipy ? region.getHeight() : 0) + ofy,
|
(flipy ? region.height : 0) + ofy,
|
||||||
(flipx ? 0 : region.getWidth()) + ofx,
|
(flipx ? 0 : region.width) + ofx,
|
||||||
(flipy ? 0 : region.getHeight()) + ofy,
|
(flipy ? 0 : region.height) + ofy,
|
||||||
null);
|
null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,28 +42,12 @@ public class ImagePacker{
|
|||||||
BufferedImage image = ImageIO.read(path.file());
|
BufferedImage image = ImageIO.read(path.file());
|
||||||
|
|
||||||
if(image == null) throw new IOException("image " + path.absolutePath() + " is null for terrible reasons");
|
if(image == null) throw new IOException("image " + path.absolutePath() + " is null for terrible reasons");
|
||||||
GenRegion region = new GenRegion(fname, path){
|
GenRegion region = new GenRegion(fname, path){{
|
||||||
|
width = image.getWidth();
|
||||||
@Override
|
height = image.getHeight();
|
||||||
public int getX(){
|
u2 = v2 = 1f;
|
||||||
return 0;
|
u = v = 0f;
|
||||||
}
|
}};
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getY(){
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getWidth(){
|
|
||||||
return image.getWidth();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getHeight(){
|
|
||||||
return image.getHeight();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
regionCache.put(fname, region);
|
regionCache.put(fname, region);
|
||||||
imageCache.put(fname, image);
|
imageCache.put(fname, image);
|
||||||
@ -105,7 +89,7 @@ public class ImagePacker{
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Draw.scl = 1f / Core.atlas.find("scale_marker").getWidth();
|
Draw.scl = 1f / Core.atlas.find("scale_marker").width;
|
||||||
|
|
||||||
Time.mark();
|
Time.mark();
|
||||||
Generators.generate();
|
Generators.generate();
|
||||||
|
Loading…
Reference in New Issue
Block a user