From f6a24038cc6cfcac71bad5ffbd3554cb4954b5a2 Mon Sep 17 00:00:00 2001 From: Electroblob <35599699+Electroblob77@users.noreply.github.com> Date: Sun, 24 Jun 2018 19:14:48 +0100 Subject: [PATCH] Retexture spell HUD, add different textures for survival/creative mode, and tidy up the GUI code --- .../java/electroblob/wizardry/Settings.java | 9 +- .../wizardry/client/gui/GuiSpellDisplay.java | 108 ++++++++++-------- .../wizardry/util/WizardryUtilities.java | 50 +++++--- .../ebwizardry/textures/gui/spell_hud.png | Bin 29809 -> 20225 bytes 4 files changed, 102 insertions(+), 65 deletions(-) diff --git a/src/main/java/electroblob/wizardry/Settings.java b/src/main/java/electroblob/wizardry/Settings.java index 0c747916..f409ecf5 100644 --- a/src/main/java/electroblob/wizardry/Settings.java +++ b/src/main/java/electroblob/wizardry/Settings.java @@ -168,7 +168,10 @@ public final class Settings { /** Set of constants for each of the four positions that the spell HUD can be in. */ public enum GuiPosition { - BOTTOM_LEFT("Bottom left"), TOP_LEFT("Top left"), TOP_RIGHT("Top right"), BOTTOM_RIGHT("Bottom right"); + BOTTOM_LEFT("Bottom left", false, false), + TOP_LEFT("Top left", false, true), + TOP_RIGHT("Top right", true, true), + BOTTOM_RIGHT("Bottom right", true, false); /** Constant array storing the names of each of the constants, in the order they are declared. */ public static final String[] names; @@ -182,8 +185,10 @@ public final class Settings { /** The readable name for this GUI position that will be displayed on the button in the config GUI. */ public final String name; + public boolean flipX; + public boolean flipY; - GuiPosition(String name){ + GuiPosition(String name, boolean flipX, boolean flipY){ this.name = name; } diff --git a/src/main/java/electroblob/wizardry/client/gui/GuiSpellDisplay.java b/src/main/java/electroblob/wizardry/client/gui/GuiSpellDisplay.java index 10088ab2..583d418b 100644 --- a/src/main/java/electroblob/wizardry/client/gui/GuiSpellDisplay.java +++ b/src/main/java/electroblob/wizardry/client/gui/GuiSpellDisplay.java @@ -2,7 +2,6 @@ package electroblob.wizardry.client.gui; import java.util.List; -import electroblob.wizardry.Settings.GuiPosition; import electroblob.wizardry.SpellGlyphData; import electroblob.wizardry.WizardData; import electroblob.wizardry.Wizardry; @@ -30,11 +29,22 @@ public class GuiSpellDisplay extends Gui { private Minecraft mc; - private static final ResourceLocation hudTexture = new ResourceLocation(Wizardry.MODID, "textures/gui/spell_hud.png"); + private static final ResourceLocation texture = new ResourceLocation(Wizardry.MODID, "textures/gui/spell_hud.png"); - public GuiSpellDisplay(Minecraft par1Minecraft){ + // Measurements + /** Width of the used portion of the HUD texture */ private static final int HUD_WIDTH = 128; + /** Height of the used portion of the HUD texture */ private static final int HUD_HEIGHT = 64; + /** Distance (in x and y) of the spell icon from the screen edge */ private static final int SPELL_ICON_INSET = 2; + /** Line spacing for the spell name (when on two lines) */ private static final int TEXT_LINE_SPACING = 1; + /** Distance in x from the edge of the screen to the spell name */ private static final int TEXT_INSET_X = 42; + /** Distance in x of the cooldown bar from the screen edge */ private static final int COOLDOWN_BAR_INSET_X = 42; + /** Length of the cooldown bar portion of the HUD texture */ private static final int COOLDOWN_BAR_LENGTH = 79; + /** Height of the cooldown bar portion of the HUD texture */ private static final int COOLDOWN_BAR_HEIGHT = 5; + /** Width and height of the spell icon (very unlikely to change!) */private static final int SPELL_ICON_SIZE = 32; + + public GuiSpellDisplay(Minecraft minecraft){ super(); - this.mc = par1Minecraft; + this.mc = minecraft; } @SubscribeEvent @@ -65,26 +75,8 @@ public class GuiSpellDisplay extends Gui { cooldownMultiplier /= 2 + player.getActivePotionEffect(WizardryPotions.font_of_mana).getAmplifier(); } - // Coordinates of the top left corner of the HUD. - int left = 0; - int top = 0; - boolean mirror = false; - - if(Wizardry.settings.spellHUDPosition == GuiPosition.BOTTOM_LEFT){ - left = 0; - top = height - 36; - }else if(Wizardry.settings.spellHUDPosition == GuiPosition.TOP_LEFT){ - left = 0; - top = 0; - }else if(Wizardry.settings.spellHUDPosition == GuiPosition.TOP_RIGHT){ - left = width - 128; - top = 0; - mirror = true; - }else if(Wizardry.settings.spellHUDPosition == GuiPosition.BOTTOM_RIGHT){ - left = width - 128; - top = height - 36; - mirror = true; - } + boolean flipX = Wizardry.settings.spellHUDPosition.flipX; + boolean flipY = Wizardry.settings.spellHUDPosition.flipY; boolean discovered = true; @@ -100,50 +92,70 @@ public class GuiSpellDisplay extends Gui { String spellName = discovered ? spell.getDisplayName() : SpellGlyphData.getGlyphName(spell, player.world); FontRenderer font = discovered ? this.mc.fontRenderer : this.mc.standardGalacticFontRenderer; - int maxWidth = 90; + int maxWidth = HUD_WIDTH - TEXT_INSET_X; + int stringWidth = font.getStringWidth(spellName); + int iconMidpoint = (SPELL_ICON_SIZE + 2*SPELL_ICON_INSET)/2; // Should be 18 - if(font.getStringWidth(spellName) <= maxWidth){ + // TODO: Make a 'scrolling' animation when changing spells, using the text alpha channel to fade it in + // and out. + if(stringWidth <= maxWidth){ + //GL11.glPushMatrix(); + //GL11.glEnable(GL11.GL_BLEND); + //OpenGlHelper.glBlendFunc(770, 771, 1, 0); // Taken from GuiInGame. TODO: Replace with OpenGL caps. // Single line is rendered more centrally - font.drawStringWithShadow(colour + spellName, mirror ? left + 5 : left + 41, top + 13, 0xffffffff); - + font.drawStringWithShadow(colour + spellName, flipX ? width - TEXT_INSET_X - stringWidth : TEXT_INSET_X, + // The text is an odd number of pixels high so we need to subtract an extra 1 when at the bottom + flipY ? iconMidpoint - font.FONT_HEIGHT/2 : height - iconMidpoint - font.FONT_HEIGHT/2 - 1, 0xffffffff); + //GL11.glDisable(GL11.GL_BLEND); + //GL11.glPopMatrix(); }else{ int lineNumber = 0; List lines = font.listFormattedStringToWidth(spellName, maxWidth); - for(Object line : lines){ - if(line instanceof String){ - font.drawStringWithShadow(colour + (String)line, mirror ? left + 5 : left + 41, top + 6 + 11 * lineNumber, 0xffffffff); - } + for(String line : lines){ + int lineWidth = font.getStringWidth((String)line); + font.drawStringWithShadow(colour + (String)line, flipX ? width - TEXT_INSET_X - lineWidth : TEXT_INSET_X, + // This time there are two lines so we need to subtract the full line height, and an extra 1 for the spacing + (flipY ? iconMidpoint - font.FONT_HEIGHT - 1 : height - iconMidpoint - font.FONT_HEIGHT - 1) + // Note that there should only ever be two lines maximum + + lineNumber*(font.FONT_HEIGHT + TEXT_LINE_SPACING), 0xffffffff); lineNumber++; } } }else if(event.getType() == RenderGameOverlayEvent.ElementType.HOTBAR){ + GlStateManager.pushMatrix(); GlStateManager.enableBlend(); GlStateManager.blendFunc(SourceFactor.SRC_ALPHA, DestFactor.ONE_MINUS_SRC_ALPHA); GlStateManager.color(1, 1, 1); - this.mc.renderEngine.bindTexture(hudTexture); - - // Background of spell hud - this.drawTexturedModalRect(left, top, 0, mirror ? 36 : 0, 128, 36); - - // Cooldown bar - if(cooldown > 0){ - this.drawTexturedModalRect(mirror ? left + 5 : left + 41, top + 28, 128, 6, 82, 6); - - int l = (int)(((double)(spell.cooldown * cooldownMultiplier - cooldown) / (double)(spell.cooldown * cooldownMultiplier)) * 82); - - this.drawTexturedModalRect(mirror ? left + 5 : left + 41, top + 28, 128, 0, l, 6); - } - - // Spell illustration + // Spell illustration - this is now done first so it is behind the HUD texture this.mc.renderEngine.bindTexture(discovered ? spell.getIcon() : Spells.none.getIcon()); - WizardryUtilities.drawTexturedRect(mirror ? left + 94 : left + 2, top + 2, 0, 0, 32, 32, 32, 32); + WizardryUtilities.drawTexturedRect(flipX ? width - SPELL_ICON_INSET - SPELL_ICON_SIZE : SPELL_ICON_INSET, + flipY ? SPELL_ICON_INSET : height - SPELL_ICON_INSET - SPELL_ICON_SIZE, 0, 0, 32, 32, 32, 32); + + this.mc.renderEngine.bindTexture(texture); + + // Background of spell hud + WizardryUtilities.drawTexturedFlippedRect(flipX ? width-HUD_WIDTH : 0, flipY ? 0 : height-HUD_HEIGHT, + // The 128 here is a uv value, not a dimension, and hence is left as a hardcoded number. + player.capabilities.isCreativeMode ? 128 : 0, 0, HUD_WIDTH, HUD_HEIGHT, 256, 256, flipX, flipY); + + // Cooldown bar + if(!player.capabilities.isCreativeMode && cooldown > 0){ + + int l = (int)(((double)(spell.cooldown * cooldownMultiplier - cooldown) + / (double)(spell.cooldown * cooldownMultiplier)) * COOLDOWN_BAR_LENGTH); + // Likewise, the 64 here is a uv value and therefore left as a hardcoded number. + WizardryUtilities.drawTexturedFlippedRect(flipX ? width - COOLDOWN_BAR_INSET_X - COOLDOWN_BAR_LENGTH : COOLDOWN_BAR_INSET_X, + flipY ? 1 : height-1-COOLDOWN_BAR_HEIGHT, 0, 64, l, COOLDOWN_BAR_HEIGHT, 256, 256, false, flipY); + } + + GlStateManager.popMatrix(); // Blend needs to be left enabled here because otherwise the hotbar becomes opaque } diff --git a/src/main/java/electroblob/wizardry/util/WizardryUtilities.java b/src/main/java/electroblob/wizardry/util/WizardryUtilities.java index 6cb52655..d8381f99 100644 --- a/src/main/java/electroblob/wizardry/util/WizardryUtilities.java +++ b/src/main/java/electroblob/wizardry/util/WizardryUtilities.java @@ -716,28 +716,48 @@ public final class WizardryUtilities { * @param textureHeight The height of the actual image. */ @SideOnly(Side.CLIENT) - public static void drawTexturedRect(int x, int y, int u, int v, int width, int height, int textureWidth, - int textureHeight){ + public static void drawTexturedRect(int x, int y, int u, int v, int width, int height, int textureWidth, int textureHeight){ + drawTexturedFlippedRect(x, y, u, v, width, height, textureWidth, textureHeight, false, false); + } + + /** + * [Client-side only] Draws a textured rectangle, taking the size of the image and the bit needed into + * account, unlike {@link net.minecraft.client.gui.Gui#drawTexturedModalRect(int, int, int, int, int, int) + * Gui.drawTexturedModalRect(int, int, int, int, int, int)}, which is harcoded for only 256x256 textures. Also handy + * for custom potion icons. This version allows the texture to be flipped in x and/or y. + * + * @param x The x position of the rectangle + * @param y The y position of the rectangle + * @param u The x position of the top left corner of the section of the image wanted + * @param v The y position of the top left corner of the section of the image wanted + * @param width The width of the section + * @param height The height of the section + * @param textureWidth The width of the actual image. + * @param textureHeight The height of the actual image. + * @param flipX Whether to flip the texture in the x direction. + * @param flipY Whether to flip the texture in the y direction. + */ + @SideOnly(Side.CLIENT) + public static void drawTexturedFlippedRect(int x, int y, int u, int v, int width, int height, int textureWidth, int textureHeight, boolean flipX, boolean flipY){ float f = 1F / (float)textureWidth; float f1 = 1F / (float)textureHeight; + + int u1 = flipX ? u + width : u; + int u2 = flipX ? u : u + width; + int v1 = flipY ? v + height : v; + int v2 = flipY ? v : v + height; // Essentially the same as getting the tessellator. For most code, you'll want the tessellator AND the - // vertexbuffer - // stored in local variables. - BufferBuilder buffer = net.minecraft.client.renderer.Tessellator.getInstance() - .getBuffer(); + // vertexbuffer stored in local variables. + BufferBuilder buffer = net.minecraft.client.renderer.Tessellator.getInstance().getBuffer(); // Equivalent of tessellator.startDrawingQuads() - buffer.begin(org.lwjgl.opengl.GL11.GL_QUADS, - net.minecraft.client.renderer.vertex.DefaultVertexFormats.POSITION_TEX); + buffer.begin(org.lwjgl.opengl.GL11.GL_QUADS, net.minecraft.client.renderer.vertex.DefaultVertexFormats.POSITION_TEX); // Equivalent of tessellator.addVertex() - buffer.pos((double)(x), (double)(y + height), 0) - .tex((double)((float)(u) * f), (double)((float)(v + height) * f1)).endVertex(); - buffer.pos((double)(x + width), (double)(y + height), 0) - .tex((double)((float)(u + width) * f), (double)((float)(v + height) * f1)).endVertex(); - buffer.pos((double)(x + width), (double)(y), 0).tex((double)((float)(u + width) * f), (double)((float)(v) * f1)) - .endVertex(); - buffer.pos((double)(x), (double)(y), 0).tex((double)((float)(u) * f), (double)((float)(v) * f1)).endVertex(); + buffer.pos((double)(x), (double)(y + height), 0).tex((double)((float)(u1) * f), (double)((float)(v2) * f1)).endVertex(); + buffer.pos((double)(x + width), (double)(y + height), 0).tex((double)((float)(u2) * f), (double)((float)(v2) * f1)).endVertex(); + buffer.pos((double)(x + width), (double)(y), 0).tex((double)((float)(u2) * f), (double)((float)(v1) * f1)).endVertex(); + buffer.pos((double)(x), (double)(y), 0).tex((double)((float)(u1) * f), (double)((float)(v1) * f1)).endVertex(); // Exactly the same as before. net.minecraft.client.renderer.Tessellator.getInstance().draw(); } diff --git a/src/main/resources/assets/ebwizardry/textures/gui/spell_hud.png b/src/main/resources/assets/ebwizardry/textures/gui/spell_hud.png index 8fb74e4eaabffe5bc5904511202e4d8e7b49c05b..8a6cc2eec401227bd8a4f3950907be01fdae9456 100644 GIT binary patch literal 20225 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 z z))_3$aI!gc4C_P+mS<^Nu2#((

w^PXOMwWc=f-JZICoLBU1`i`wij<%idb6K(C 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