WIP team icons

This commit is contained in:
Anuken
2021-07-31 18:23:22 -04:00
parent 78c35221be
commit 79bf77f4be
10 changed files with 32 additions and 3 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 479 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 608 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 B

View File

@@ -1405,7 +1405,7 @@ liquid.slag.description = Refined in separators into constituent metals, or spra
liquid.oil.description = Used in advanced material production and as incendiary ammunition. liquid.oil.description = Used in advanced material production and as incendiary ammunition.
liquid.cryofluid.description = Used as coolant in reactors, turrets and factories. liquid.cryofluid.description = Used as coolant in reactors, turrets and factories.
block.derelict = [lightgray]Derelict block.derelict = [lightgray]Derelict
block.armored-conveyor.description = Moves items forward. Does not accept inputs from the sides. block.armored-conveyor.description = Moves items forward. Does not accept inputs from the sides.
block.illuminator.description = Emits light. block.illuminator.description = Emits light.
block.message.description = Stores a message for communication between allies. block.message.description = Stores a message for communication between allies.

View File

@@ -353,3 +353,6 @@
63353=silicon-arc-furnace|block-silicon-arc-furnace-ui 63353=silicon-arc-furnace|block-silicon-arc-furnace-ui
63352=metal-floor-4|block-metal-floor-4-ui 63352=metal-floor-4|block-metal-floor-4-ui
63351=invincible|status-invincible-ui 63351=invincible|status-invincible-ui
63356=sharded|team-sharded
63357=crux|team-crux
63358=derelict|team-derelict

View File

@@ -1072,9 +1072,10 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
} }
public String getDisplayName(){ public String getDisplayName(){
//derelict team icon currently doesn't display
return team == Team.derelict ? return team == Team.derelict ?
block.localizedName + "\n" + Core.bundle.get("block.derelict"): block.localizedName + "\n" + Core.bundle.get("block.derelict") :
block.localizedName; block.localizedName + (team == player.team() || team.emoji.isEmpty() ? "" : " " + team.emoji);
} }
public TextureRegion getDisplayIcon(){ public TextureRegion getDisplayIcon(){

View File

@@ -17,6 +17,7 @@ public class Team implements Comparable<Team>{
public final int id; public final int id;
public final Color color; public final Color color;
public final Color[] palette; public final Color[] palette;
public String emoji = "";
public boolean hasPalette; public boolean hasPalette;
public String name; public String name;

View File

@@ -21,6 +21,7 @@ import arc.util.*;
import mindustry.*; import mindustry.*;
import mindustry.core.*; import mindustry.core.*;
import mindustry.ctype.*; import mindustry.ctype.*;
import mindustry.game.*;
import mindustry.gen.*; import mindustry.gen.*;
import java.util.*; import java.util.*;
@@ -155,6 +156,12 @@ public class Fonts{
} }
} }
}); });
for(Team team : Team.baseTeams){
if(Core.atlas.has("team-" + team.name)){
team.emoji = stringIcons.get(team.name, "");
}
}
} }
/** Called from a static context for use in the loading screen.*/ /** Called from a static context for use in the loading screen.*/

View File

@@ -390,6 +390,19 @@ public class Generators{
} }
}); });
generate("team-icons", () -> {
for(Team team : Team.all){
if(has("team-" + team.name)){
int rgba = team == Team.derelict ? Color.valueOf("b7b8c9").rgba() : team.color.rgba();
Pixmap base = get("team-" + team.name);
base.each((x, y) -> base.setRaw(x, y, Color.muli(base.getRaw(x, y), rgba)));
delete("team-" + team.name);
save(base.outline(Pal.gray, 3), "../ui/team-" + team.name);
}
}
});
generate("unit-icons", () -> content.units().each(type -> { generate("unit-icons", () -> content.units().each(type -> {
if(type.isHidden()) return; //hidden units don't generate if(type.isHidden()) return; //hidden units don't generate

View File

@@ -236,6 +236,10 @@ public class ImagePacker{
base.draw(image, 0, 0, image.width, image.height, base.width/2 - wx/2, base.height/2 - wy/2, wx, wy, true, true); base.draw(image, 0, 0, image.width, image.height, base.width/2 - wx/2, base.height/2 - wy/2, wx, wy, true, true);
} }
static void delete(String name){
((GenRegion)Core.atlas.find(name)).path.delete();
}
static void replace(String name, Pixmap image){ static void replace(String name, Pixmap image){
Fi.get(name + ".png").writePng(image); Fi.get(name + ".png").writePng(image);
((GenRegion)Core.atlas.find(name)).path.delete(); ((GenRegion)Core.atlas.find(name)).path.delete();