From bbeba11fb9aedf6e5de81845314a82d011a1a507 Mon Sep 17 00:00:00 2001 From: Maurice Date: Sun, 30 Nov 2025 17:25:27 +0100 Subject: [PATCH] added new font --- src/de/miaurizius/jgame2d/core/UI.java | 25 ++++++++++++------- .../jgame2d/entity/item/ShieldWoodObj.java | 2 +- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/de/miaurizius/jgame2d/core/UI.java b/src/de/miaurizius/jgame2d/core/UI.java index 1a05442..2409c2e 100644 --- a/src/de/miaurizius/jgame2d/core/UI.java +++ b/src/de/miaurizius/jgame2d/core/UI.java @@ -6,14 +6,16 @@ import de.miaurizius.jgame2d.entity.item.HeartObj; import java.awt.*; import java.awt.image.BufferedImage; +import java.io.FileInputStream; +import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; +import java.util.logging.Level; public class UI { GamePanel panel; Graphics2D graphics2d; - Font arial_40, arial_80B; //TODO: Custom font loader: https://www.youtube.com/watch?v=g-wrebFVP3E + Font font; BufferedImage heart_full, heart_half, heart_blank; ArrayList messages = new ArrayList<>(); ArrayList messageCounter = new ArrayList<>(); @@ -23,8 +25,12 @@ public class UI { public UI(GamePanel panel) { this.panel = panel; - arial_40 = new Font("Arial", Font.PLAIN, 40); - arial_80B = new Font("Arial", Font.BOLD, 80); + font = new Font("Arial", Font.PLAIN, 40); + try { + font = Font.createFont(Font.TRUETYPE_FONT, new FileInputStream("assets/font/x12y16pxMaruMonica.ttf")); + } catch (FontFormatException | IOException e) { + Boot.logger.log(Level.WARNING, "Could not load maruMonica.ttf", e); + } // CREATE HUD OBJECT Entity heart = new HeartObj(panel); @@ -35,7 +41,7 @@ public class UI { public void draw(Graphics2D graphics2d) { this.graphics2d = graphics2d; - graphics2d.setFont(arial_40); + graphics2d.setFont(font); graphics2d.setColor(Color.white); if(panel.gameState == null) return; @@ -115,7 +121,7 @@ public class UI { // TEXT graphics2d.setColor(Color.white); - graphics2d.setFont(graphics2d.getFont().deriveFont(22F)); + graphics2d.setFont(graphics2d.getFont().deriveFont(28F)); int textX = frameX + 20; int textY = frameY + panel.tileSize; @@ -188,8 +194,10 @@ public class UI { graphics2d.drawRoundRect(curserX, curserY, curserWidth, curserHeight, 10, 10); // DESCRIPTION FRAME + int itemIndex = getItemIndex(); + if(panel.player.inventory.size()-1 < itemIndex || panel.player.inventory.get(itemIndex).description == null) return; int dFrameX = frameX; - int dFrameY = frameY + frameHeight; + int dFrameY = frameY + frameHeight+2; int dFrameWidth = frameWidth; int dFrameHeight = panel.tileSize*3; drawSubWindow(dFrameX, dFrameY, dFrameWidth, dFrameHeight); @@ -197,8 +205,7 @@ public class UI { // DRAW DESCRIPTION int textX = dFrameX + 20; int textY = dFrameY + panel.tileSize; - graphics2d.setFont(graphics2d.getFont().deriveFont(23F)); - int itemIndex = getItemIndex(); + graphics2d.setFont(graphics2d.getFont().deriveFont(28F)); if(itemIndex < panel.player.inventory.size()) for(String line : panel.player.inventory.get(itemIndex).description.split("\n")) { graphics2d.drawString(line, textX, textY); diff --git a/src/de/miaurizius/jgame2d/entity/item/ShieldWoodObj.java b/src/de/miaurizius/jgame2d/entity/item/ShieldWoodObj.java index 5aef619..39277ce 100644 --- a/src/de/miaurizius/jgame2d/entity/item/ShieldWoodObj.java +++ b/src/de/miaurizius/jgame2d/entity/item/ShieldWoodObj.java @@ -9,7 +9,7 @@ public class ShieldWoodObj extends Entity { public ShieldWoodObj(GamePanel panel) { super(panel); name = "Wooden Shield"; - description = "[" + name + "]\nAn old shield.\nIt's not that strong but\nit does its job."; + description = "[" + name + "]\nAn old shield. It's not\nthat strong but its okay."; type = EntityType.ITEM; down1 = initEntitySprites("objects/shield_wood"); defenseValue = 1;