Skip to content

Commit

Permalink
Use new text renderer for chat messages
Browse files Browse the repository at this point in the history
  • Loading branch information
TechPizzaDev committed Oct 12, 2023
1 parent be145fc commit 604baf5
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public void rebuild(ExTextRenderer renderer, long maxWidth) {

do {
TextRect rect = renderer.getTextWidth(text, offset, textLength, maxWidth);
if (rect.charCount() == 0) {
if (rect == null || rect.charCount() == 0) {
break;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
package dev.adventurecraft.awakening.mixin.client.gui;

import dev.adventurecraft.awakening.ACMod;
import dev.adventurecraft.awakening.common.AC_ChatMessage;
import dev.adventurecraft.awakening.common.AC_DebugMode;
import dev.adventurecraft.awakening.common.AC_TerrainImage;
import dev.adventurecraft.awakening.common.AC_Version;
import dev.adventurecraft.awakening.common.*;
import dev.adventurecraft.awakening.extension.client.ExMinecraft;
import dev.adventurecraft.awakening.extension.client.gui.ExInGameHud;
import dev.adventurecraft.awakening.extension.client.options.ExGameOptions;
Expand Down Expand Up @@ -401,6 +398,10 @@ private void renderChat(int screenHeight) {
int x = 2;
int yOffset = 0;

TextRendererState textState = exTextRenderer.createState();
textState.setShadow(true);
textState.setShadowOffset(1, 1);

for (AC_ChatMessage message : messages) {
if (message.age >= 200 && !isChatOpen) {
continue;
Expand All @@ -412,15 +413,18 @@ private void renderChat(int screenHeight) {

String text = message.text;
int color = 16777215 + (alpha << 24);
textState.setColor(color);
textState.setShadowColor(ExTextRenderer.getShadowColor(color));

for (int i = message.lines.size() - 1; i >= 0; i--) {
AC_ChatMessage.Line line = message.lines.get(i);
int y = (screenHeight - 48) - yOffset;

this.fill(x, y - 1, x + CHAT_WIDTH, y + 8, alpha / 2 << 24);
GL11.glEnable(GL11.GL_BLEND);
exTextRenderer.drawString(
text, line.start(), line.end(),
x, y, color, true);
textState.begin(Tessellator.INSTANCE);
textState.drawText(text, line.start(), line.end(), x, y);
textState.end();

yOffset += 9;
if (yOffset >= maxChatHeight) {
Expand Down

0 comments on commit 604baf5

Please sign in to comment.