Unit sprite cleanup

This commit is contained in:
Anuken 2020-07-06 11:05:37 -04:00
parent 9b285e6b21
commit a6523630bf
19 changed files with 1745 additions and 1733 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 332 B

After

Width:  |  Height:  |  Size: 526 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 328 B

After

Width:  |  Height:  |  Size: 328 B

View File

Before

Width:  |  Height:  |  Size: 295 B

After

Width:  |  Height:  |  Size: 295 B

View File

Before

Width:  |  Height:  |  Size: 339 B

After

Width:  |  Height:  |  Size: 339 B

View File

Before

Width:  |  Height:  |  Size: 627 B

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -1052,21 +1052,17 @@ team.orange.name = orange
team.derelict.name = derelict
team.green.name = green
team.purple.name = purple
unit.spirit.name = Spirit Repair Drone
unit.draug.name = Draug Miner Drone
unit.phantom.name = Phantom Builder Drone
unit.dagger.name = Dagger
unit.crawler.name = Crawler
unit.titan.name = Titan
unit.ghoul.name = Ghoul Bomber
unit.wraith.name = Wraith Fighter
unit.fortress.name = Fortress
unit.revenant.name = Revenant
unit.eruptor.name = Eruptor
unit.chaos-array.name = Chaos Array
unit.eradicator.name = Eradicator
unit.lich.name = Lich
unit.reaper.name = Reaper
#TODO - don't translate yet
#unit.crawler.name = Crawler
#unit.dagger.name = Dagger
#unit.fortress.name = Fortress
#unit.wraith.name = Wraith Fighter
#unit.ghoul.name = Ghoul Bomber
#unit.revenant.name = Revenant
#unit.lich.name = Lich
#unit.reaper.name = Reaper
tutorial.next = [lightgray]<Tap to continue>
tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nUse[accent] [[WASD][] to move.\n[accent]Scroll[] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
tutorial.intro.mobile = You have entered the[scarlet] Mindustry Tutorial.[]\nSwipe the screen to move.\n[accent]Pinch with 2 fingers[] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
@ -1109,17 +1105,7 @@ liquid.water.description = The most useful liquid. Commonly used for cooling mac
liquid.slag.description = Various different types of molten metal mixed together. Can be separated into its constituent minerals, or sprayed at enemy units as a weapon.
liquid.oil.description = A liquid used in advanced material production. Can be converted into coal as fuel, or sprayed and set on fire as a weapon.
liquid.cryofluid.description = An inert, non-corrosive liquid created from water and titanium. Has extremely high heat capacity. Extensively used as coolant.
unit.draug.description = A primitive mining drone. Cheap to produce. Expendable. Automatically mines copper and lead in the vicinity. Delivers mined resources to the closest core.
unit.spirit.description = A modified draug drone, designed for repair instead of mining. Automatically fixes any damaged blocks in the area.
unit.phantom.description = An advanced drone unit. Follows users. Assists in block construction. Rebuilds destroyed blocks.
unit.dagger.description = The most basic ground mech. Cheap to produce. Overwhelming when used in swarms.
unit.crawler.description = A ground unit consisting of a stripped-down frame with high explosives strapped on top. Not particular durable. Explodes on contact with enemies.
unit.titan.description = An advanced, armored ground unit. Attacks both ground and air targets. Equipped with two miniature Scorch-class flamethrowers.
unit.fortress.description = A heavy artillery mech. Equipped with two modified Hail-type cannons for long-range assault on enemy structures and units.
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
unit.wraith.description = A fast, hit-and-run interceptor unit. Targets power generators.
unit.ghoul.description = A heavy carpet bomber. Rips through enemy structures, targeting critical infrastructure.
unit.revenant.description = A heavy, hovering missile array.
block.message.description = Stores a message. Used for communication between allies.
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 849 KiB

After

Width:  |  Height:  |  Size: 856 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 KiB

After

Width:  |  Height:  |  Size: 188 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 185 KiB

After

Width:  |  Height:  |  Size: 190 KiB

View File

@ -286,7 +286,13 @@ public class Vars implements Loadable{
if(!headless && (ui == null || ui.scriptfrag == null)){
logBuffer.add(result);
}else if(!headless){
ui.scriptfrag.addMessage(result);
if(!OS.isWindows){
for(String code : ColorCodes.codes.values()){
result = result.replace(code, "");
}
}
ui.scriptfrag.addMessage(Log.removeCodes(result));
}
});

View File

@ -79,7 +79,6 @@ public class UnitType extends UnlockableContent{
super(name);
constructor = EntityMapping.map(name);
if(constructor == null) throw new IllegalArgumentException("no unit for " + name);
}
public UnitController createController(){
@ -132,6 +131,8 @@ public class UnitType extends UnlockableContent{
@CallSuper
@Override
public void init(){
if(constructor == null) throw new IllegalArgumentException("no constructor set up for unit '" + name + "'");
//set up default range
if(range < 0){
for(Weapon weapon : weapons){

View File

@ -1,3 +1,3 @@
org.gradle.daemon=true
org.gradle.jvmargs=-Xms256m -Xmx1024m
archash=351143a87915cb3d0aa7840d0a8277145988edbb
archash=52dc318f51cfca6d9a0f3097760c0fb615977330

View File

@ -301,48 +301,53 @@ public class Generators{
ImagePacker.generate("unit-icons", () -> content.units().each(type -> {
if(type.isHidden()) return; //hidden units don't generate
type.load();
type.init();
try{
type.load();
type.init();
Image image = ImagePacker.get(type.parts > 0 ? type.partRegions[0] : type.region);
for(int i = 1; i < type.parts; i++){
image.draw(ImagePacker.get(type.partRegions[i]));
}
if(type.parts > 0){
image.save(type.name);
Image image = ImagePacker.get(type.parts > 0 ? type.partRegions[0] : type.region);
for(int i = 1; i < type.parts; i++){
image.draw(ImagePacker.get(type.partRegions[i]));
}
if(type.parts > 0){
image.save(type.name);
}
if(type.constructor.get() instanceof Mechc){
image.drawCenter(type.baseRegion);
image.drawCenter(type.legRegion);
image.drawCenter(type.legRegion, true, false);
image.draw(type.region);
}
Image baseCell = ImagePacker.get(type.parts > 0 ? type.partCellRegions[0] : type.cellRegion);
for(int i = 1; i < type.parts; i++){
baseCell.draw(ImagePacker.get(type.partCellRegions[i]));
}
if(type.parts > 0){
image.save(type.name + "-cell");
}
Image cell = new Image(type.cellRegion.getWidth(), type.cellRegion.getHeight());
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);
for(Weapon weapon : type.weapons){
weapon.load();
image.draw(weapon.region,
(int)(weapon.x / Draw.scl + image.width / 2f - weapon.region.getWidth() / 2f),
(int)(-weapon.y / Draw.scl + image.height / 2f - weapon.region.getHeight() / 2f),
weapon.flipSprite, false);
}
image.save("unit-" + type.name + "-full");
}catch(IllegalArgumentException e){
Log.err("WARNING: Skipping unit @: @", type.name, e.getMessage());
}
if(type.constructor.get() instanceof Mechc){
image.drawCenter(type.baseRegion);
image.drawCenter(type.legRegion);
image.drawCenter(type.legRegion, true, false);
image.draw(type.region);
}
Image baseCell = ImagePacker.get(type.parts > 0 ? type.partCellRegions[0] : type.cellRegion);
for(int i = 1; i < type.parts; i++){
baseCell.draw(ImagePacker.get(type.partCellRegions[i]));
}
if(type.parts > 0){
image.save(type.name + "-cell");
}
Image cell = new Image(type.cellRegion.getWidth(), type.cellRegion.getHeight());
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);
for(Weapon weapon : type.weapons){
weapon.load();
image.draw(weapon.region,
(int)(weapon.x / Draw.scl + image.width / 2f - weapon.region.getWidth() / 2f),
(int)(-weapon.y / Draw.scl + image.height / 2f - weapon.region.getHeight() / 2f),
weapon.flipSprite, false);
}
image.save("unit-" + type.name + "-full");
}));
ImagePacker.generate("ore-icons", () -> {