From bda461e480eec849b138251761eeb79ff4d7ef50 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 22 Jul 2021 17:48:50 -0400 Subject: [PATCH] Large constructor variant --- core/assets/icons/icons.properties | 3 +++ core/assets/logicids.dat | Bin 2873 -> 2884 bytes core/src/mindustry/content/Blocks.java | 13 +++++++++++-- core/src/mindustry/graphics/Shaders.java | 3 ++- core/src/mindustry/io/SaveFileReader.java | 3 ++- core/src/mindustry/mod/ClassMap.java | 1 - .../world/blocks/ConstructBlock.java | 1 + .../world/blocks/experimental/BlockForge.java | 3 ++- .../world/blocks/payloads/BlockProducer.java | 1 + 9 files changed, 22 insertions(+), 6 deletions(-) diff --git a/core/assets/icons/icons.properties b/core/assets/icons/icons.properties index cb5042f7a3..e3cb7ef5fe 100755 --- a/core/assets/icons/icons.properties +++ b/core/assets/icons/icons.properties @@ -394,3 +394,6 @@ 63339=carbon-stone|block-carbon-stone-ui 63338=payload-deconstructor|block-payload-deconstructor-ui 63337=cliff-crusher|block-cliff-crusher-ui +63336=deconstructor|block-deconstructor-ui +63335=constructor|block-constructor-ui +63334=large-constructor|block-large-constructor-ui diff --git a/core/assets/logicids.dat b/core/assets/logicids.dat index 163196aa21d625a10b2be7cbdabf908590179286..315a73a95e3ce9669d1ec35493ccbf79ff1b20b2 100644 GIT binary patch delta 59 zcmdlfc0`PcVev+$WDY*wl+@(>yyB9g(&Uo-qRE9E5sciEuW%#_3g#phrKjp5BsZIK HvM>PvS)ddC delta 49 zcmX>iwo{CWVbMmWWDXwgq@4WZY~8f{qV&|s#T*gbq6LYSIr)hxx+$rX&u}DfcH(4W F0sxVt5C8xG diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 1bcd3712f9..72a4e1c30c 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -96,7 +96,7 @@ public class Blocks implements ContentList{ repairPoint, repairTurret, resupplyPoint, //payloads - payloadConveyor, payloadRouter, payloadPropulsionTower, deconstructor, constructor, blockLoader, blockUnloader, + payloadConveyor, payloadRouter, payloadPropulsionTower, deconstructor, constructor, largeConstructor, blockLoader, blockUnloader, //logic message, switchBlock, microProcessor, logicProcessor, hyperProcessor, largeLogicDisplay, logicDisplay, memoryCell, memoryBank, @@ -2240,12 +2240,21 @@ public class Blocks implements ContentList{ }}; constructor = new Constructor("constructor"){{ - requirements(Category.units, BuildVisibility.debugOnly, with(Items.thorium, 100)); + requirements(Category.units, with(Items.thorium, 100)); hasPower = true; consumes.power(2f); size = 3; }}; + largeConstructor = new Constructor("large-constructor"){{ + requirements(Category.units, with(Items.thorium, 100)); + hasPower = true; + consumes.power(2f); + maxBlockSize = 4; + minBlockSize = 3; + size = 5; + }}; + blockLoader = new BlockLoader("block-loader"){{ requirements(Category.units, BuildVisibility.debugOnly, with(Items.thorium, 100)); hasPower = true; diff --git a/core/src/mindustry/graphics/Shaders.java b/core/src/mindustry/graphics/Shaders.java index 75d61a2178..b4de13b7dc 100644 --- a/core/src/mindustry/graphics/Shaders.java +++ b/core/src/mindustry/graphics/Shaders.java @@ -175,6 +175,7 @@ public class Shaders{ public static class BlockBuildShader extends LoadShader{ public float progress; public TextureRegion region = new TextureRegion(); + public float time; public BlockBuildShader(){ super("blockbuild", "default"); @@ -185,7 +186,7 @@ public class Shaders{ setUniformf("u_progress", progress); setUniformf("u_uv", region.u, region.v); setUniformf("u_uv2", region.u2, region.v2); - setUniformf("u_time", Time.time); + setUniformf("u_time", time); setUniformf("u_texsize", region.texture.width, region.texture.height); } } diff --git a/core/src/mindustry/io/SaveFileReader.java b/core/src/mindustry/io/SaveFileReader.java index 178980207f..30b2a48d47 100644 --- a/core/src/mindustry/io/SaveFileReader.java +++ b/core/src/mindustry/io/SaveFileReader.java @@ -52,7 +52,8 @@ public abstract class SaveFileReader{ "snowrock", "snow-boulder", "cliffs", "stone-wall", - "cryofluidmixer", "cryofluid-mixer" + "cryofluidmixer", "cryofluid-mixer", + "block-forge", "constructor" ); protected final ReusableByteOutStream byteOutput = new ReusableByteOutStream(); diff --git a/core/src/mindustry/mod/ClassMap.java b/core/src/mindustry/mod/ClassMap.java index ffdb8cc170..86b9d36a05 100644 --- a/core/src/mindustry/mod/ClassMap.java +++ b/core/src/mindustry/mod/ClassMap.java @@ -223,7 +223,6 @@ public class ClassMap{ classes.put("BallisticSilo", mindustry.world.blocks.payloads.BallisticSilo.class); classes.put("BallisticSiloBuild", mindustry.world.blocks.payloads.BallisticSilo.BallisticSiloBuild.class); classes.put("BlockForge", Constructor.class); - classes.put("BlockForgeBuild", Constructor.BlockForgeBuild.class); classes.put("BlockLoader", mindustry.world.blocks.payloads.BlockLoader.class); classes.put("BlockLoaderBuild", mindustry.world.blocks.payloads.BlockLoader.BlockLoaderBuild.class); classes.put("BlockProducer", mindustry.world.blocks.payloads.BlockProducer.class); diff --git a/core/src/mindustry/world/blocks/ConstructBlock.java b/core/src/mindustry/world/blocks/ConstructBlock.java index a3a66b1280..b8b8e73db5 100644 --- a/core/src/mindustry/world/blocks/ConstructBlock.java +++ b/core/src/mindustry/world/blocks/ConstructBlock.java @@ -221,6 +221,7 @@ public class ConstructBlock extends Block{ for(TextureRegion region : current.getGeneratedIcons()){ Shaders.blockbuild.region = region; + Shaders.blockbuild.time = Time.time; Shaders.blockbuild.progress = progress; Draw.rect(region, x, y, current.rotate ? rotdeg() : 0); diff --git a/core/src/mindustry/world/blocks/experimental/BlockForge.java b/core/src/mindustry/world/blocks/experimental/BlockForge.java index 8583b495f4..6f9987f8dc 100644 --- a/core/src/mindustry/world/blocks/experimental/BlockForge.java +++ b/core/src/mindustry/world/blocks/experimental/BlockForge.java @@ -2,6 +2,7 @@ package mindustry.world.blocks.experimental; import mindustry.world.blocks.payloads.*; +/** @deprecated use Constructor instead. */ @Deprecated public class BlockForge extends Constructor{ @@ -10,7 +11,7 @@ public class BlockForge extends Constructor{ } @Deprecated - public class BlockForgeBuild extends Constructor.BlockForgeBuild{ + public class BlockForgeBuild extends Constructor.ConstructorBuild{ } } diff --git a/core/src/mindustry/world/blocks/payloads/BlockProducer.java b/core/src/mindustry/world/blocks/payloads/BlockProducer.java index 1c17cd890c..71e8adfdff 100644 --- a/core/src/mindustry/world/blocks/payloads/BlockProducer.java +++ b/core/src/mindustry/world/blocks/payloads/BlockProducer.java @@ -110,6 +110,7 @@ public abstract class BlockProducer extends PayloadBlock{ for(TextureRegion region : recipe.getGeneratedIcons()){ Shaders.blockbuild.region = region; + Shaders.blockbuild.time = time; Shaders.blockbuild.progress = progress / recipe.buildCost; Draw.rect(region, x, y, recipe.rotate ? rotdeg() : 0);