Skip to content

Commit 334ec81

Browse files
Font rendering: configurable shadow & glyph fix (#1011)
1 parent 86c726e commit 334ec81

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

src/main/java/com/gtnewhorizons/angelica/client/font/BatchingFontRenderer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import com.gtnewhorizons.angelica.glsm.GLStateManager;
66
import com.gtnewhorizons.angelica.mixins.interfaces.FontRendererAccessor;
7+
import com.gtnewhorizons.angelica.config.AngelicaConfig;
78
import it.unimi.dsi.fastutil.chars.Char2ShortOpenHashMap;
89
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
910
import jss.util.RandomXoshiro256StarStar;
@@ -472,7 +473,7 @@ public float drawString(final float anchorX, final float anchorY, final int colo
472473
continue;
473474
}
474475
// Draw unicode char
475-
shadowOffset = 0.5F;
476+
shadowOffset = AngelicaConfig.shadowOffsetFontUC;
476477
final int uniPage = chr / 256;
477478
texture = getUnicodePageLocation(uniPage);
478479
final int startColumn = this.glyphWidth[chr] >>> 4;

src/main/java/com/gtnewhorizons/angelica/config/AngelicaConfig.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,11 @@ public class AngelicaConfig {
8787
@Config.RequiresMcRestart
8888
public static boolean enableFontRenderer;
8989

90+
@Config.Comment("OffSet fonts shadows draw")
91+
@Config.DefaultFloat(0.5F)
92+
@Config.RangeFloat(min = 0.5F, max = 1F)
93+
public static float shadowOffsetFontUC;
94+
9095
@Config.Comment("Enable Dynamic Lights")
9196
@Config.DefaultBoolean(true)
9297
@Config.RequiresMcRestart

src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/fontrenderer/MixinFontRenderer.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
import org.spongepowered.asm.mixin.injection.Inject;
1717
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
1818
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
19+
import org.spongepowered.asm.mixin.injection.ModifyConstant;
20+
import org.spongepowered.asm.mixin.injection.Constant;
1921

2022
import java.util.Random;
2123

@@ -185,4 +187,8 @@ public abstract class MixinFontRenderer implements FontRendererAccessor {
185187
@Override
186188
public void angelica$bindTexture(ResourceLocation location) { this.bindTexture(location); }
187189

190+
@ModifyConstant(method = "getCharWidth", constant = @Constant(intValue = 7))
191+
private int angelica$maxCharWidth(int original) {
192+
return Integer.MAX_VALUE;
193+
}
188194
}

0 commit comments

Comments
 (0)