Skip to content

Commit

Permalink
Fix Dynamic Font Size
Browse files Browse the repository at this point in the history
  • Loading branch information
slprime committed Feb 26, 2024
1 parent 8a179dd commit 61f1b2f
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 18 deletions.
2 changes: 1 addition & 1 deletion dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
*/
dependencies {
api('com.github.GTNewHorizons:NotEnoughItems:2.5.18-GTNH:dev')
api('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-323-GTNH:dev')
api('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-328-GTNH:dev')
api('curse.maven:cofh-core-69162:2388751')
api('com.github.GTNewHorizons:waila:1.7.0:dev')

Expand Down
64 changes: 47 additions & 17 deletions src/main/java/com/glodblock/github/client/gui/GuiLevelTerminal.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@
import static com.glodblock.github.network.SPacketLevelTerminalUpdate.PacketRemove;
import static com.glodblock.github.network.SPacketLevelTerminalUpdate.PacketRename;

import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
Expand All @@ -25,6 +27,7 @@
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
Expand Down Expand Up @@ -57,6 +60,7 @@
import com.glodblock.github.util.Util;

import appeng.api.config.Settings;
import appeng.api.config.TerminalFontSize;
import appeng.api.config.TerminalStyle;
import appeng.api.config.YesNo;
import appeng.api.storage.ITerminalHost;
Expand Down Expand Up @@ -584,7 +588,6 @@ private int drawEntry(LevelTerminalEntry entry, int viewY, int titleBottom, int
&& relMouseY < Math.min(viewY + rowYBot, viewHeight);
if (stack != null) {

AEItemStack aeItemStack = AEItemStack.create(stack);
NBTTagCompound data = stack.getTagCompound();
ItemStack itemStack = data.hasKey(TLMTags.Stack.tagName)
? ItemStack.loadItemStackFromNBT(data.getCompoundTag(TLMTags.Stack.tagName))
Expand All @@ -598,9 +601,8 @@ private int drawEntry(LevelTerminalEntry entry, int viewY, int titleBottom, int
GL11.glTranslatef(colLeft, viewY + rowYTop + 1, ITEM_STACK_Z);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
RenderHelper.enableGUIStandardItemLighting();
itemStack.stackSize = 1;
aeItemStack.setStackSize(quantity);
aeRenderItem.setAeStack(aeItemStack);
itemStack.stackSize = 0;
aeRenderItem.setAeStack(null);
aeRenderItem.zLevel = ITEM_STACK_Z - MAGIC_RENDER_ITEM_Z;
aeRenderItem.renderItemAndEffectIntoGUI(fontRendererObj, mc.getTextureManager(), itemStack, 0, 0);
aeRenderItem.renderItemOverlayIntoGUI(fontRendererObj, mc.getTextureManager(), itemStack, 0, 0);
Expand All @@ -616,9 +618,9 @@ private int drawEntry(LevelTerminalEntry entry, int viewY, int titleBottom, int
int size = 4;
drawRect(offset, offset, offset + size, offset + size, color);
GL11.glTranslatef(0.0f, 0.0f, ITEM_STACK_OVERLAY_Z - ITEM_STACK_Z);
this.drawReadableAmount(fontRendererObj, quantity, 16.0f, 12f, 16777215);
this.drawReadableAmount(fontRendererObj, quantity, true, 16777215);
if (batch > 0) {
this.drawReadableAmount(fontRendererObj, batch, 16.0f, 1f, 16777215);
this.drawReadableAmount(fontRendererObj, batch, false, 16777215);
}
RenderHelper.disableStandardItemLighting();

Expand Down Expand Up @@ -657,23 +659,31 @@ private int drawEntry(LevelTerminalEntry entry, int viewY, int titleBottom, int
return relY + 1;
}

public void drawReadableAmount(final FontRenderer fontRenderer, long amount, float x, float y, int color) {
public void drawReadableAmount(final FontRenderer fontRenderer, long amount, boolean alignBottom, int color) {
final TerminalFontSize fontSize = AEConfig.instance.getTerminalFontSize();
final String stackSize = this.getToBeRenderedStackSize(amount, fontSize);
final boolean unicodeFlag = fontRenderer.getUnicodeFlag();
float scaleFactor = 0.85f;
float shiftX = 0f;
float shiftY = 0f;

if (fontSize == TerminalFontSize.SMALL) {
scaleFactor = 0.5f;
shiftX = -2.0f;
shiftY = -1.0f;
}

final float scaleFactor = AEConfig.instance.useTerminalUseLargeFont() ? 0.85f : 0.5f;
final float inverseScaleFactor = 1.0f / scaleFactor;
final int offset = AEConfig.instance.useTerminalUseLargeFont() ? 0 : -1;
final boolean unicodeFlag = fontRenderer.getUnicodeFlag();
final String stackSize = this.getToBeRenderedStackSize(amount);

fontRenderer.setUnicodeFlag(false);

GL11.glDisable(GL11.GL_LIGHTING);
GL11.glPushMatrix();
GL11.glScaled(scaleFactor, scaleFactor, scaleFactor);

final int X = (int) (((float) x + offset - fontRenderer.getStringWidth(stackSize) * scaleFactor)
final int X = (int) ((shiftX + 16.0f + 1.0f - fontRenderer.getStringWidth(stackSize) * scaleFactor)
* inverseScaleFactor);
final int Y = (int) (((float) y + offset * scaleFactor) * inverseScaleFactor);
final int Y = (int) (alignBottom ? (shiftY + 16.0f - 7.0f * scaleFactor) * inverseScaleFactor : 1);

fontRenderer.drawString(stackSize, X + 1, Y, 0);
fontRenderer.drawString(stackSize, X - 1, Y, 0);
Expand All @@ -688,11 +698,11 @@ public void drawReadableAmount(final FontRenderer fontRenderer, long amount, flo
fontRenderer.setUnicodeFlag(unicodeFlag);
}

private String getToBeRenderedStackSize(final long originalSize) {
if (AEConfig.instance.useTerminalUseLargeFont()) {
return ReadableNumberConverter.INSTANCE.toSlimReadableForm(originalSize);
} else {
private String getToBeRenderedStackSize(final long originalSize, TerminalFontSize fontSize) {
if (fontSize == TerminalFontSize.SMALL) {
return ReadableNumberConverter.INSTANCE.toWideReadableForm(originalSize);
} else {
return ReadableNumberConverter.INSTANCE.toSlimReadableForm(originalSize);
}
}

Expand Down Expand Up @@ -940,6 +950,26 @@ public void setTextFieldValue(final String displayName, final int mousex, final

@Override
public List<String> handleItemTooltip(ItemStack stack, int mouseX, int mouseY, List<String> currentToolTip) {

if (stack != null && isShiftKeyDown() && stack.hasTagCompound()) {
NBTTagCompound data = stack.getTagCompound();

if (data.hasKey(TLMTags.Quantity.tagName)) {
long quantity = data.getLong(TLMTags.Quantity.tagName);
long batch = data.getLong(TLMTags.Batch.tagName);

currentToolTip.add(
I18n.format(NameConst.TT_LEVEL_MAINTAINER_REQUEST_SIZE, "\n", false) + ": "
+ NumberFormat.getNumberInstance(Locale.US).format(quantity));

if (batch > 0) {
currentToolTip.add(
I18n.format(NameConst.TT_LEVEL_MAINTAINER_BATCH_SIZE, "\n", false) + ": "
+ NumberFormat.getNumberInstance(Locale.US).format(batch));
}
}
}

return currentToolTip;
}

Expand Down

0 comments on commit 61f1b2f

Please sign in to comment.