Updated forge.
Tweaked shader. Cancel build mode with esc, e, leftclick. Added breaking blocks with buildmodes.
This commit is contained in:
@@ -21,7 +21,7 @@ compileJava {
|
|||||||
}
|
}
|
||||||
|
|
||||||
minecraft {
|
minecraft {
|
||||||
version = "1.12.2-14.23.4.2705"
|
version = "1.12.2-14.23.5.2768"
|
||||||
runDir = "run"
|
runDir = "run"
|
||||||
|
|
||||||
// the mappings can be changed at any time, and must be in the following format.
|
// the mappings can be changed at any time, and must be in the following format.
|
||||||
@@ -29,7 +29,7 @@ minecraft {
|
|||||||
// stable_# stables are built at the discretion of the MCP team.
|
// stable_# stables are built at the discretion of the MCP team.
|
||||||
// Use non-default mappings at your own risk. they may not always work.
|
// Use non-default mappings at your own risk. they may not always work.
|
||||||
// simply re-run your setup task after changing the mappings to update your workspace.
|
// simply re-run your setup task after changing the mappings to update your workspace.
|
||||||
mappings = "snapshot_20171003"
|
mappings = "stable_39"
|
||||||
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
|
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,10 +25,7 @@ import nl.requios.effortlessbuilding.item.ItemRandomizerBag;
|
|||||||
import nl.requios.effortlessbuilding.item.ItemReachUpgrade1;
|
import nl.requios.effortlessbuilding.item.ItemReachUpgrade1;
|
||||||
import nl.requios.effortlessbuilding.item.ItemReachUpgrade2;
|
import nl.requios.effortlessbuilding.item.ItemReachUpgrade2;
|
||||||
import nl.requios.effortlessbuilding.item.ItemReachUpgrade3;
|
import nl.requios.effortlessbuilding.item.ItemReachUpgrade3;
|
||||||
import nl.requios.effortlessbuilding.network.BlockBrokenMessage;
|
import nl.requios.effortlessbuilding.network.*;
|
||||||
import nl.requios.effortlessbuilding.network.BlockPlacedMessage;
|
|
||||||
import nl.requios.effortlessbuilding.network.ModeSettingsMessage;
|
|
||||||
import nl.requios.effortlessbuilding.network.ModifierSettingsMessage;
|
|
||||||
import nl.requios.effortlessbuilding.proxy.IProxy;
|
import nl.requios.effortlessbuilding.proxy.IProxy;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
@@ -90,6 +87,8 @@ public class EffortlessBuilding
|
|||||||
|
|
||||||
EffortlessBuilding.packetHandler.registerMessage(BlockBrokenMessage.MessageHandler.class, BlockBrokenMessage.class, 3, Side.SERVER);
|
EffortlessBuilding.packetHandler.registerMessage(BlockBrokenMessage.MessageHandler.class, BlockBrokenMessage.class, 3, Side.SERVER);
|
||||||
|
|
||||||
|
EffortlessBuilding.packetHandler.registerMessage(CancelModeMessage.MessageHandler.class, CancelModeMessage.class, 4, Side.SERVER);
|
||||||
|
|
||||||
proxy.preInit(event);
|
proxy.preInit(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -108,15 +108,18 @@ public class BuildModes {
|
|||||||
|
|
||||||
public static void onBlockBroken(BlockEvent.BreakEvent event) {
|
public static void onBlockBroken(BlockEvent.BreakEvent event) {
|
||||||
World world = event.getWorld();
|
World world = event.getWorld();
|
||||||
|
EntityPlayer player = event.getPlayer();
|
||||||
BlockPos pos = event.getPos();
|
BlockPos pos = event.getPos();
|
||||||
|
|
||||||
if (world.isRemote) return;
|
if (world.isRemote) return;
|
||||||
|
|
||||||
//get coordinates
|
//get coordinates
|
||||||
List<BlockPos> coordinates = findCoordinates(event.getPlayer(), pos);
|
ModeSettingsManager.ModeSettings modeSettings = ModeSettingsManager.getModeSettings(player);
|
||||||
|
BuildModeEnum buildMode = modeSettings.getBuildMode();
|
||||||
|
List<BlockPos> coordinates = buildMode.instance.onRightClick(player, pos, EnumFacing.UP, Vec3d.ZERO);
|
||||||
|
|
||||||
//let buildmodifiers break blocks
|
//let buildmodifiers break blocks
|
||||||
BuildModifiers.onBlockBroken(event.getPlayer(), coordinates);
|
BuildModifiers.onBlockBroken(player, coordinates);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<BlockPos> findCoordinates(EntityPlayer player, BlockPos startPos) {
|
public static List<BlockPos> findCoordinates(EntityPlayer player, BlockPos startPos) {
|
||||||
|
|||||||
@@ -262,6 +262,13 @@ public class RenderHelper implements IWorldEventListener {
|
|||||||
//get coordinates
|
//get coordinates
|
||||||
List<BlockPos> startCoordinates = BuildModes.findCoordinates(player, startPos);
|
List<BlockPos> startCoordinates = BuildModes.findCoordinates(player, startPos);
|
||||||
|
|
||||||
|
BlockPos firstPos = BlockPos.ORIGIN, secondPos = BlockPos.ORIGIN;
|
||||||
|
//remember first and last pos for highlighting
|
||||||
|
if (!startCoordinates.isEmpty()) {
|
||||||
|
firstPos = startCoordinates.get(0);
|
||||||
|
secondPos = startCoordinates.get(startCoordinates.size() - 1);
|
||||||
|
}
|
||||||
|
|
||||||
//Limit number of blocks you can place
|
//Limit number of blocks you can place
|
||||||
int limit = ReachHelper.getMaxBlocksPlacedAtOnce(player);
|
int limit = ReachHelper.getMaxBlocksPlacedAtOnce(player);
|
||||||
if (startCoordinates.size() > limit) {
|
if (startCoordinates.size() > limit) {
|
||||||
@@ -300,7 +307,7 @@ public class RenderHelper implements IWorldEventListener {
|
|||||||
SurvivalHelper.mayPlace(player.world, Block.getBlockFromItem(itemstack.getItem()), blockState, blockPos, true, EnumFacing.UP, player) &&
|
SurvivalHelper.mayPlace(player.world, Block.getBlockFromItem(itemstack.getItem()), blockState, blockPos, true, EnumFacing.UP, player) &&
|
||||||
SurvivalHelper.canReplace(player.world, player, blockPos)) {
|
SurvivalHelper.canReplace(player.world, player, blockPos)) {
|
||||||
|
|
||||||
ShaderHelper.useShader(ShaderHelper.psiBar, generateCallback(percentile, new Vec3d(blockPos), i == 0 || i == newCoordinates.size() - 1));
|
ShaderHelper.useShader(ShaderHelper.psiBar, generateCallback(percentile, new Vec3d(blockPos), /*blockPos == firstPos ||*/ blockPos == secondPos));
|
||||||
renderBlockPreview(dispatcher, blockPos, blockState);
|
renderBlockPreview(dispatcher, blockPos, blockState);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ public class ItemRandomizerBag extends Item {
|
|||||||
|
|
||||||
public ItemRandomizerBag() {
|
public ItemRandomizerBag() {
|
||||||
this.setRegistryName(EffortlessBuilding.MODID, "randomizer_bag");
|
this.setRegistryName(EffortlessBuilding.MODID, "randomizer_bag");
|
||||||
this.setUnlocalizedName(this.getRegistryName().toString());
|
this.setTranslationKey(this.getRegistryName().toString());
|
||||||
|
|
||||||
this.maxStackSize = 1;
|
this.maxStackSize = 1;
|
||||||
this.setCreativeTab(CreativeTabs.TOOLS);
|
this.setCreativeTab(CreativeTabs.TOOLS);
|
||||||
@@ -181,8 +181,8 @@ public class ItemRandomizerBag extends Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getUnlocalizedName() {
|
public String getTranslationKey() {
|
||||||
return super.getUnlocalizedName();
|
return super.getTranslationKey();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void resetRandomness() {
|
public static void resetRandomness() {
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ public class ItemReachUpgrade1 extends Item {
|
|||||||
|
|
||||||
public ItemReachUpgrade1() {
|
public ItemReachUpgrade1() {
|
||||||
this.setRegistryName(EffortlessBuilding.MODID, "reach_upgrade1");
|
this.setRegistryName(EffortlessBuilding.MODID, "reach_upgrade1");
|
||||||
this.setUnlocalizedName(this.getRegistryName().toString());
|
this.setTranslationKey(this.getRegistryName().toString());
|
||||||
|
|
||||||
this.maxStackSize = 1;
|
this.maxStackSize = 1;
|
||||||
this.setCreativeTab(CreativeTabs.TOOLS);
|
this.setCreativeTab(CreativeTabs.TOOLS);
|
||||||
@@ -67,7 +67,7 @@ public class ItemReachUpgrade1 extends Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getUnlocalizedName() {
|
public String getTranslationKey() {
|
||||||
return super.getUnlocalizedName();
|
return super.getTranslationKey();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public class ItemReachUpgrade2 extends Item {
|
|||||||
|
|
||||||
public ItemReachUpgrade2() {
|
public ItemReachUpgrade2() {
|
||||||
this.setRegistryName(EffortlessBuilding.MODID, "reach_upgrade2");
|
this.setRegistryName(EffortlessBuilding.MODID, "reach_upgrade2");
|
||||||
this.setUnlocalizedName(this.getRegistryName().toString());
|
this.setTranslationKey(this.getRegistryName().toString());
|
||||||
|
|
||||||
this.maxStackSize = 1;
|
this.maxStackSize = 1;
|
||||||
this.setCreativeTab(CreativeTabs.TOOLS);
|
this.setCreativeTab(CreativeTabs.TOOLS);
|
||||||
@@ -65,7 +65,7 @@ public class ItemReachUpgrade2 extends Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getUnlocalizedName() {
|
public String getTranslationKey() {
|
||||||
return super.getUnlocalizedName();
|
return super.getTranslationKey();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public class ItemReachUpgrade3 extends Item {
|
|||||||
|
|
||||||
public ItemReachUpgrade3() {
|
public ItemReachUpgrade3() {
|
||||||
this.setRegistryName(EffortlessBuilding.MODID, "reach_upgrade3");
|
this.setRegistryName(EffortlessBuilding.MODID, "reach_upgrade3");
|
||||||
this.setUnlocalizedName(this.getRegistryName().toString());
|
this.setTranslationKey(this.getRegistryName().toString());
|
||||||
|
|
||||||
this.maxStackSize = 1;
|
this.maxStackSize = 1;
|
||||||
this.setCreativeTab(CreativeTabs.TOOLS);
|
this.setCreativeTab(CreativeTabs.TOOLS);
|
||||||
@@ -68,7 +68,7 @@ public class ItemReachUpgrade3 extends Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getUnlocalizedName() {
|
public String getTranslationKey() {
|
||||||
return super.getUnlocalizedName();
|
return super.getTranslationKey();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ public class BlockBrokenMessage implements IMessage {
|
|||||||
public void fromBytes(ByteBuf buf) {
|
public void fromBytes(ByteBuf buf) {
|
||||||
blockHit = buf.readBoolean();
|
blockHit = buf.readBoolean();
|
||||||
blockPos = new BlockPos(buf.readInt(), buf.readInt(), buf.readInt());
|
blockPos = new BlockPos(buf.readInt(), buf.readInt(), buf.readInt());
|
||||||
sideHit = EnumFacing.getFront(buf.readInt());
|
sideHit = EnumFacing.byIndex(buf.readInt());
|
||||||
hitVec = new Vec3d(buf.readDouble(), buf.readDouble(), buf.readDouble());
|
hitVec = new Vec3d(buf.readDouble(), buf.readDouble(), buf.readDouble());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ public class BlockPlacedMessage implements IMessage {
|
|||||||
public void fromBytes(ByteBuf buf) {
|
public void fromBytes(ByteBuf buf) {
|
||||||
blockHit = buf.readBoolean();
|
blockHit = buf.readBoolean();
|
||||||
blockPos = new BlockPos(buf.readInt(), buf.readInt(), buf.readInt());
|
blockPos = new BlockPos(buf.readInt(), buf.readInt(), buf.readInt());
|
||||||
sideHit = EnumFacing.getFront(buf.readInt());
|
sideHit = EnumFacing.byIndex(buf.readInt());
|
||||||
hitVec = new Vec3d(buf.readDouble(), buf.readDouble(), buf.readDouble());
|
hitVec = new Vec3d(buf.readDouble(), buf.readDouble(), buf.readDouble());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
package nl.requios.effortlessbuilding.network;
|
||||||
|
|
||||||
|
import io.netty.buffer.ByteBuf;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.util.IThreadListener;
|
||||||
|
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||||
|
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||||
|
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||||
|
import nl.requios.effortlessbuilding.EffortlessBuilding;
|
||||||
|
import nl.requios.effortlessbuilding.buildmode.BuildModes;
|
||||||
|
|
||||||
|
public class CancelModeMessage implements IMessage {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void toBytes(ByteBuf buf) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void fromBytes(ByteBuf buf) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// The params of the IMessageHandler are <REQ, REPLY>
|
||||||
|
public static class MessageHandler implements IMessageHandler<CancelModeMessage, IMessage> {
|
||||||
|
// Do note that the default constructor is required, but implicitly defined in this case
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IMessage onMessage(CancelModeMessage message, MessageContext ctx) {
|
||||||
|
|
||||||
|
// Execute the action on the main server thread by adding it as a scheduled task
|
||||||
|
IThreadListener threadListener = EffortlessBuilding.proxy.getThreadListenerFromContext(ctx);
|
||||||
|
threadListener.addScheduledTask(() -> {
|
||||||
|
EntityPlayer player = EffortlessBuilding.proxy.getPlayerEntityFromContext(ctx);
|
||||||
|
|
||||||
|
BuildModes.initializeMode(player);
|
||||||
|
});
|
||||||
|
// No response packet
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -26,6 +26,7 @@ import net.minecraft.util.SoundCategory;
|
|||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.RayTraceResult;
|
import net.minecraft.util.math.RayTraceResult;
|
||||||
import net.minecraft.util.text.TextFormatting;
|
import net.minecraft.util.text.TextFormatting;
|
||||||
|
import net.minecraftforge.client.event.GuiOpenEvent;
|
||||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||||
import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
||||||
import net.minecraftforge.client.event.TextureStitchEvent;
|
import net.minecraftforge.client.event.TextureStitchEvent;
|
||||||
@@ -54,10 +55,7 @@ import nl.requios.effortlessbuilding.helper.ReachHelper;
|
|||||||
import nl.requios.effortlessbuilding.helper.RenderHelper;
|
import nl.requios.effortlessbuilding.helper.RenderHelper;
|
||||||
import nl.requios.effortlessbuilding.helper.ShaderHelper;
|
import nl.requios.effortlessbuilding.helper.ShaderHelper;
|
||||||
import nl.requios.effortlessbuilding.item.ItemRandomizerBag;
|
import nl.requios.effortlessbuilding.item.ItemRandomizerBag;
|
||||||
import nl.requios.effortlessbuilding.network.BlockBrokenMessage;
|
import nl.requios.effortlessbuilding.network.*;
|
||||||
import nl.requios.effortlessbuilding.network.BlockPlacedMessage;
|
|
||||||
import nl.requios.effortlessbuilding.network.ModeSettingsMessage;
|
|
||||||
import nl.requios.effortlessbuilding.network.ModifierSettingsMessage;
|
|
||||||
import org.lwjgl.input.Keyboard;
|
import org.lwjgl.input.Keyboard;
|
||||||
import org.lwjgl.input.Mouse;
|
import org.lwjgl.input.Mouse;
|
||||||
|
|
||||||
@@ -84,13 +82,14 @@ public class ClientProxy implements IProxy {
|
|||||||
@Override
|
@Override
|
||||||
public void init(FMLInitializationEvent event) {
|
public void init(FMLInitializationEvent event) {
|
||||||
// register key bindings
|
// register key bindings
|
||||||
keyBindings = new KeyBinding[4];
|
keyBindings = new KeyBinding[5];
|
||||||
|
|
||||||
// instantiate the key bindings
|
// instantiate the key bindings
|
||||||
keyBindings[0] = new KeyBinding("key.effortlessbuilding.hud.desc", Keyboard.KEY_ADD, "key.effortlessbuilding.category");
|
keyBindings[0] = new KeyBinding("key.effortlessbuilding.hud.desc", Keyboard.KEY_ADD, "key.effortlessbuilding.category");
|
||||||
keyBindings[1] = new KeyBinding("key.effortlessbuilding.replace.desc", Keyboard.KEY_SUBTRACT, "key.effortlessbuilding.category");
|
keyBindings[1] = new KeyBinding("key.effortlessbuilding.replace.desc", Keyboard.KEY_SUBTRACT, "key.effortlessbuilding.category");
|
||||||
keyBindings[2] = new KeyBinding("key.effortlessbuilding.creative.desc", Keyboard.KEY_F4, "key.effortlessbuilding.category");
|
keyBindings[2] = new KeyBinding("key.effortlessbuilding.creative.desc", Keyboard.KEY_F4, "key.effortlessbuilding.category");
|
||||||
keyBindings[3] = new KeyBinding("key.effortlessbuilding.mode.desc", Keyboard.KEY_LMENU, "key.effortlessbuilding.category");
|
keyBindings[3] = new KeyBinding("key.effortlessbuilding.mode.desc", Keyboard.KEY_LMENU, "key.effortlessbuilding.category");
|
||||||
|
keyBindings[4] = new KeyBinding("Reload shaders", Keyboard.KEY_TAB, "key.effortlessbuilding.category");
|
||||||
|
|
||||||
// register all the key bindings
|
// register all the key bindings
|
||||||
for (int i = 0; i < keyBindings.length; ++i) {
|
for (int i = 0; i < keyBindings.length; ++i) {
|
||||||
@@ -266,6 +265,9 @@ public class ClientProxy implements IProxy {
|
|||||||
breakCooldown--;
|
breakCooldown--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//EffortlessBuilding.packetHandler.sendToServer(new CancelModeMessage());
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
breakCooldown = 0;
|
breakCooldown = 0;
|
||||||
}
|
}
|
||||||
@@ -293,9 +295,6 @@ public class ClientProxy implements IProxy {
|
|||||||
|
|
||||||
//QuickReplace toggle
|
//QuickReplace toggle
|
||||||
if (keyBindings[1].isPressed()) {
|
if (keyBindings[1].isPressed()) {
|
||||||
//TODO testing
|
|
||||||
EffortlessBuilding.log(player, "ShaderHelper init");
|
|
||||||
ShaderHelper.init();
|
|
||||||
|
|
||||||
|
|
||||||
ModifierSettingsManager.ModifierSettings modifierSettings = ModifierSettingsManager.getModifierSettings(player);
|
ModifierSettingsManager.ModifierSettings modifierSettings = ModifierSettingsManager.getModifierSettings(player);
|
||||||
@@ -314,6 +313,12 @@ public class ClientProxy implements IProxy {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (keyBindings[4].isPressed()) {
|
||||||
|
//TODO remove
|
||||||
|
ShaderHelper.init();
|
||||||
|
EffortlessBuilding.log(player, "Reloaded shaders");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
@@ -349,6 +354,14 @@ public class ClientProxy implements IProxy {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public static void onGuiOpen(GuiOpenEvent event) {
|
||||||
|
EntityPlayer player = Minecraft.getMinecraft().player;
|
||||||
|
if (player != null) {
|
||||||
|
BuildModes.initializeMode(player);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void onRenderGameOverlay(final RenderGameOverlayEvent.Post event ) {
|
public static void onRenderGameOverlay(final RenderGameOverlayEvent.Post event ) {
|
||||||
EntityPlayerSP player = Minecraft.getMinecraft().player;
|
EntityPlayerSP player = Minecraft.getMinecraft().player;
|
||||||
|
|||||||
@@ -97,12 +97,23 @@ void main() {
|
|||||||
float b = color.b * gl_Color.b;
|
float b = color.b * gl_Color.b;
|
||||||
float a = color.a; // Ignore gl_Color.a as we don't want to make use of that for the dissolve effect
|
float a = color.a; // Ignore gl_Color.a as we don't want to make use of that for the dissolve effect
|
||||||
|
|
||||||
float pulse = (sin(time / 10.0) + 1.0) / 2.0;
|
r -= 0.1;
|
||||||
vec4 pulseColor = texture2D(mask, maskcoord + time / 1000.0);
|
g += 0.0;
|
||||||
vec4 pulseColor2 = texture2D(mask, vec2(maskcoord.x - time / 1300.0, maskcoord.y - time / 1300.0));
|
b += 0.1;
|
||||||
|
|
||||||
|
float pulse = (sin(time / 5.0) + 1.0) / 2.0;
|
||||||
|
pulse = 1.0;//pulse / 2.0 + 0.5;
|
||||||
|
vec4 pulseColor = texture2D(mask, maskcoord + time / 400.0);
|
||||||
|
vec4 pulseColor2 = texture2D(mask, vec2(maskcoord.x - time / 400.0, maskcoord.y - time / 400.0));
|
||||||
float pulseGreyScale = pulseColor.r + pulseColor2.r / 2.0;
|
float pulseGreyScale = pulseColor.r + pulseColor2.r / 2.0;
|
||||||
g += (1.0 - g) * pulseGreyScale * pulse * 0.2;
|
|
||||||
b += (1.0 - b) * pulseGreyScale * pulse;
|
r -= r * pulseColor.r * pulse * 0.2;
|
||||||
|
g += (1.0 - g) * pulseColor.r * pulse * 0.2;
|
||||||
|
b += (1.0 - b) * pulseColor.r * pulse * 0.8;
|
||||||
|
|
||||||
|
r -= r * pulseColor2.r * pulse * 0.4;
|
||||||
|
g += (1.0 - g) * pulseColor2.r * pulse * 0.2;
|
||||||
|
b += (1.0 - b) * pulseColor2.r * pulse;
|
||||||
|
|
||||||
// float exr1 = sin(texcoord.x * 2 + texcoord.y * 10 + time * 0.035);
|
// float exr1 = sin(texcoord.x * 2 + texcoord.y * 10 + time * 0.035);
|
||||||
// float exr2 = sin(texcoord.x * 20 + texcoord.y * 2 + time * 0.15);
|
// float exr2 = sin(texcoord.x * 20 + texcoord.y * 2 + time * 0.15);
|
||||||
@@ -119,9 +130,9 @@ void main() {
|
|||||||
// g -= exr;
|
// g -= exr;
|
||||||
|
|
||||||
if(highlight == 1) {
|
if(highlight == 1) {
|
||||||
r -= 0.2;
|
r += 0.0;
|
||||||
|
g += 0.1;
|
||||||
b -= 0.2;
|
b -= 0.2;
|
||||||
g -= 0.2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
r = max(0, min(1, r));
|
r = max(0, min(1, r));
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 376 B After Width: | Height: | Size: 394 B |
Reference in New Issue
Block a user