diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay.png new file mode 100644 index 0000000000..5a9c7dbf45 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay0.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay0.png new file mode 100644 index 0000000000..5a9c7dbf45 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay0.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay1.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay1.png new file mode 100644 index 0000000000..07a6780c65 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay10.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay10.png new file mode 100644 index 0000000000..141d0fb706 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay10.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay11.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay11.png new file mode 100644 index 0000000000..afd315feb9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay11.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay12.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay12.png new file mode 100644 index 0000000000..1f8832639e Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay12.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay13.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay13.png new file mode 100644 index 0000000000..e68bca7993 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay13.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay14.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay14.png new file mode 100644 index 0000000000..843026085b Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay14.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay15.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay15.png new file mode 100644 index 0000000000..eff3d5a3e6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay15.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay16.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay16.png new file mode 100644 index 0000000000..aa28a073ff Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay16.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay17.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay17.png new file mode 100644 index 0000000000..223dd714f7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay17.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay18.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay18.png new file mode 100644 index 0000000000..7c4d049855 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay18.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay19.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay19.png new file mode 100644 index 0000000000..00d204f712 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay19.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay2.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay2.png new file mode 100644 index 0000000000..60483ff580 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay20.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay20.png new file mode 100644 index 0000000000..a1979e512c Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay20.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay21.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay21.png new file mode 100644 index 0000000000..7d3af0ad61 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay21.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay22.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay22.png new file mode 100644 index 0000000000..0bdb340968 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay22.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay23.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay23.png new file mode 100644 index 0000000000..804b08332b Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay23.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay24.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay24.png new file mode 100644 index 0000000000..7950a08743 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay24.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay25.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay25.png new file mode 100644 index 0000000000..a3c57307a6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay25.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay26.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay26.png new file mode 100644 index 0000000000..222f1101b6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay26.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay27.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay27.png new file mode 100644 index 0000000000..0ad359a401 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay27.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay28.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay28.png new file mode 100644 index 0000000000..66247afac4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay28.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay29.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay29.png new file mode 100644 index 0000000000..59d18b41b0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay29.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay3.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay3.png new file mode 100644 index 0000000000..2470376813 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay30.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay30.png new file mode 100644 index 0000000000..af604e3fde Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay30.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay31.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay31.png new file mode 100644 index 0000000000..e089f729bc Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay31.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay32.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay32.png new file mode 100644 index 0000000000..d4ec76b6b0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay32.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay33.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay33.png new file mode 100644 index 0000000000..52ac59e9f1 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay33.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay34.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay34.png new file mode 100644 index 0000000000..dbfe5c1a0d Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay34.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay35.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay35.png new file mode 100644 index 0000000000..b9aba5ba4f Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay35.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay36.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay36.png new file mode 100644 index 0000000000..824b5ecbd5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay36.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay37.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay37.png new file mode 100644 index 0000000000..56c75ecbea Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay37.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay38.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay38.png new file mode 100644 index 0000000000..c53246b16f Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay38.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay39.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay39.png new file mode 100644 index 0000000000..137b74e5c3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay39.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay4.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay4.png new file mode 100644 index 0000000000..beb408c1e7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay4.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay40.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay40.png new file mode 100644 index 0000000000..c6f0afde33 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay40.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay41.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay41.png new file mode 100644 index 0000000000..42c5f79fba Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay41.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay42.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay42.png new file mode 100644 index 0000000000..82a6042996 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay42.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay43.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay43.png new file mode 100644 index 0000000000..647e892e9b Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay43.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay44.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay44.png new file mode 100644 index 0000000000..34ca5e76d7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay44.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay45.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay45.png new file mode 100644 index 0000000000..92d3445a05 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay45.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay46.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay46.png new file mode 100644 index 0000000000..f317416479 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay46.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay47.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay47.png new file mode 100644 index 0000000000..5c1e8c3e4d Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay47.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay48.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay48.png new file mode 100644 index 0000000000..0beecd35ef Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay48.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay49.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay49.png new file mode 100644 index 0000000000..1ac7f7e439 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay49.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay5.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay5.png new file mode 100644 index 0000000000..8a81bdb306 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay5.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay50.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay50.png new file mode 100644 index 0000000000..3503ef3013 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay50.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay51.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay51.png new file mode 100644 index 0000000000..ba0ceb2580 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay51.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay52.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay52.png new file mode 100644 index 0000000000..65e736dd74 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay52.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay53.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay53.png new file mode 100644 index 0000000000..2fcf13e3cc Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay53.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay54.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay54.png new file mode 100644 index 0000000000..5a5d3b9e94 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay54.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay55.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay55.png new file mode 100644 index 0000000000..f537d8c6f5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay55.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay56.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay56.png new file mode 100644 index 0000000000..be3cc1d7ef Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay56.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay57.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay57.png new file mode 100644 index 0000000000..32d3d68017 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay57.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay58.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay58.png new file mode 100644 index 0000000000..a02b65e74d Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay58.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay59.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay59.png new file mode 100644 index 0000000000..03277509b8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay59.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay6.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay6.png new file mode 100644 index 0000000000..db2fc20ced Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay6.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay60.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay60.png new file mode 100644 index 0000000000..e0e37e22c7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay60.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay61.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay61.png new file mode 100644 index 0000000000..6b03307865 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay61.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay62.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay62.png new file mode 100644 index 0000000000..aca39f727a Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay62.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay63.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay63.png new file mode 100644 index 0000000000..a1ffcc3936 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay63.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay7.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay7.png new file mode 100644 index 0000000000..a5ff3420b8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay7.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay8.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay8.png new file mode 100644 index 0000000000..9deaa88014 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay8.png differ diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay9.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay9.png new file mode 100644 index 0000000000..32a4421703 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay9.png differ diff --git a/core/assets/icons/icons.properties b/core/assets/icons/icons.properties index 6ec07cd35a..ae1535fa97 100755 --- a/core/assets/icons/icons.properties +++ b/core/assets/icons/icons.properties @@ -614,3 +614,4 @@ 63068=colored-wall|block-colored-wall-ui 63067=crux-floor-11|block-crux-floor-11-ui 63066=crux-floor-12|block-crux-floor-12-ui +63065=character-overlay|block-character-overlay-ui diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 2399dedf31..91ec7fcd03 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -68,6 +68,7 @@ public class Blocks{ //colored coloredFloor, coloredWall, + characterOverlay, pebbles, tendrils, @@ -912,6 +913,10 @@ public class Blocks{ autotile = true; }}; + characterOverlay = new CharacterOverlay("character-overlay"){{ + color = Pal.metalGrayDark; + }}; + Seq.with(metalFloor, metalFloorDamaged, metalFloor2, metalFloor3, metalFloor4, metalFloor5, darkPanel1, darkPanel2, darkPanel3, darkPanel4, darkPanel5, darkPanel6) .each(b -> b.asFloor().wall = darkMetal); diff --git a/core/src/mindustry/world/Block.java b/core/src/mindustry/world/Block.java index 3692214102..dbc4a6945d 100644 --- a/core/src/mindustry/world/Block.java +++ b/core/src/mindustry/world/Block.java @@ -961,7 +961,7 @@ public class Block extends UnlockableContent implements Senseable{ } /** Called when building of this block ends. */ - public void placeEnded(Tile tile, @Nullable Unit builder, @Nullable Object config){ + public void placeEnded(Tile tile, @Nullable Unit builder, int rotation, @Nullable Object config){ } diff --git a/core/src/mindustry/world/blocks/ConstructBlock.java b/core/src/mindustry/world/blocks/ConstructBlock.java index 9a10dcbe3d..fab1ac1171 100644 --- a/core/src/mindustry/world/blocks/ConstructBlock.java +++ b/core/src/mindustry/world/blocks/ConstructBlock.java @@ -112,7 +112,7 @@ public class ConstructBlock extends Block{ if(shouldPlay()) block.placeSound.at(tile, block.placePitchChange ? calcPitch(true) : 1f); } - block.placeEnded(tile, builder, config); + block.placeEnded(tile, builder, rotation, config); Events.fire(new BlockBuildEndEvent(tile, builder, team, false, config)); } diff --git a/core/src/mindustry/world/blocks/environment/CharacterOverlay.java b/core/src/mindustry/world/blocks/environment/CharacterOverlay.java new file mode 100644 index 0000000000..c57bd0de36 --- /dev/null +++ b/core/src/mindustry/world/blocks/environment/CharacterOverlay.java @@ -0,0 +1,54 @@ +package mindustry.world.blocks.environment; + +import arc.graphics.*; +import arc.graphics.g2d.*; +import arc.util.*; +import mindustry.annotations.Annotations.*; +import mindustry.gen.*; +import mindustry.world.*; + +public class CharacterOverlay extends OverlayFloor{ + /** This is a reduced character set! It is not ASCII! */ + public static final String chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890\"!?.,;:()[]{}<>|/@\\^-%+=#_&~"; + + public @Load(value = "character-overlay#", length = 64) TextureRegion[] letterRegions; + public Color color = Color.white; + + public CharacterOverlay(String name){ + super(name); + saveData = true; + variants = 0; + rotate = true; + drawArrow = false; + } + + @Override + public void drawBase(Tile tile){ + Draw.color(color); + int letterChar = CharOverlayData.character(tile.overlayData); + Draw.rect(letterRegions[letterChar], tile.worldx(), tile.worldy(), CharOverlayData.rotation(tile.overlayData) * 90f); + Draw.color(); + } + + @Override + public void placeEnded(Tile tile, @Nullable Unit builder, int rotation, @Nullable Object config){ + byte data = 0; + if(config instanceof Integer i){ + data = i.byteValue(); + } + tile.overlayData = CharOverlayData.get(data, (byte)rotation); + } + + public static byte charToData(char c){ + int index = chars.indexOf(Character.toUpperCase(c)); + return index == -1 ? 0 : (byte)index; + } + + @Struct + class CharOverlayDataStruct{ + @StructField(6) + byte character; + @StructField(2) + byte rotation; + } +} diff --git a/core/src/mindustry/world/blocks/environment/ColoredFloor.java b/core/src/mindustry/world/blocks/environment/ColoredFloor.java index e850405e72..0b8dff8bba 100644 --- a/core/src/mindustry/world/blocks/environment/ColoredFloor.java +++ b/core/src/mindustry/world/blocks/environment/ColoredFloor.java @@ -140,7 +140,7 @@ public class ColoredFloor extends Floor{ } @Override - public void placeEnded(Tile tile, @Nullable Unit builder, @Nullable Object config){ + public void placeEnded(Tile tile, @Nullable Unit builder, int rotation, @Nullable Object config){ //config is assumed to be an integer RGBA color if(config instanceof Integer i){ tile.extraData = i; diff --git a/core/src/mindustry/world/blocks/environment/ColoredWall.java b/core/src/mindustry/world/blocks/environment/ColoredWall.java index 1d48e25ec3..268daa4306 100644 --- a/core/src/mindustry/world/blocks/environment/ColoredWall.java +++ b/core/src/mindustry/world/blocks/environment/ColoredWall.java @@ -46,7 +46,7 @@ public class ColoredWall extends StaticWall{ } @Override - public void placeEnded(Tile tile, @Nullable Unit builder, @Nullable Object config){ + public void placeEnded(Tile tile, @Nullable Unit builder, int rotation, @Nullable Object config){ //config is assumed to be an integer RGBA color if(config instanceof Integer i){ tile.extraData = i; diff --git a/core/src/mindustry/world/blocks/environment/RemoveOre.java b/core/src/mindustry/world/blocks/environment/RemoveOre.java index 88904f8aaa..d0a0229a6f 100644 --- a/core/src/mindustry/world/blocks/environment/RemoveOre.java +++ b/core/src/mindustry/world/blocks/environment/RemoveOre.java @@ -44,7 +44,7 @@ public class RemoveOre extends OverlayFloor{ } @Override - public void placeEnded(Tile tile, @Nullable Unit builder, Object config){ + public void placeEnded(Tile tile, @Nullable Unit builder, int rotation, Object config){ tile.setOverlay(Blocks.air); } diff --git a/core/src/mindustry/world/blocks/environment/RemoveWall.java b/core/src/mindustry/world/blocks/environment/RemoveWall.java index 69bd0bcb34..df3a8eec7d 100644 --- a/core/src/mindustry/world/blocks/environment/RemoveWall.java +++ b/core/src/mindustry/world/blocks/environment/RemoveWall.java @@ -43,7 +43,7 @@ public class RemoveWall extends Block{ } @Override - public void placeEnded(Tile tile, @Nullable Unit builder, Object config){ + public void placeEnded(Tile tile, @Nullable Unit builder, int rotation, Object config){ tile.setBlock(Blocks.air); if(tile.overlay().wallOre){ tile.setOverlay(Blocks.air);