diff --git a/lib/TerrarumSansBitmap.jar b/lib/TerrarumSansBitmap.jar index bd5d1ef12..741014f00 100644 Binary files a/lib/TerrarumSansBitmap.jar and b/lib/TerrarumSansBitmap.jar differ diff --git a/src/net/torvald/terrarum/App.java b/src/net/torvald/terrarum/App.java index 998651b20..136e6a263 100644 --- a/src/net/torvald/terrarum/App.java +++ b/src/net/torvald/terrarum/App.java @@ -39,7 +39,7 @@ import net.torvald.terrarum.serialise.WriteConfig; import net.torvald.terrarum.ui.Toolkit; import net.torvald.terrarum.utils.JsonFetcher; import net.torvald.terrarum.worlddrawer.CreateTileAtlas; -import net.torvald.terrarumsansbitmap.gdx.GameFontBase; +import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap; import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack; import net.torvald.util.DebugTimers; @@ -181,8 +181,8 @@ public class App implements ApplicationListener { public static CreateTileAtlas tileMaker; - public static GameFontBase fontGame; - public static GameFontBase fontGameFBO; + public static TerrarumSansBitmap fontGame; + public static TerrarumSansBitmap fontGameFBO; public static TinyAlphNum fontSmallNumbers; /** A gamepad. Multiple gamepads may controll this single virtualised gamepad. */ @@ -498,12 +498,12 @@ public class App implements ApplicationListener { environment = RunningEnvironment.PC; }*/ - fontGame = new GameFontBase(FONT_DIR, false, true, false, - Texture.TextureFilter.Nearest, Texture.TextureFilter.Nearest, false, + fontGame = new TerrarumSansBitmap(FONT_DIR, false, true, false, + false, 256, false, 0.5f, false ); - fontGameFBO = new GameFontBase(FONT_DIR, false, true, false, - Texture.TextureFilter.Nearest, Texture.TextureFilter.Nearest, false, + fontGameFBO = new TerrarumSansBitmap(FONT_DIR, false, true, false, + false, 64, false, 203f/255f, false ); Lang.invoke(); diff --git a/src/net/torvald/terrarum/ColorLimiterTest.kt b/src/net/torvald/terrarum/ColorLimiterTest.kt index f4de0bf1e..c134f8f8c 100644 --- a/src/net/torvald/terrarum/ColorLimiterTest.kt +++ b/src/net/torvald/terrarum/ColorLimiterTest.kt @@ -11,7 +11,7 @@ import com.badlogic.gdx.graphics.g2d.SpriteBatch import com.badlogic.gdx.graphics.glutils.ShaderProgram import com.badlogic.gdx.graphics.glutils.ShapeRenderer import net.torvald.EMDASH -import net.torvald.terrarumsansbitmap.gdx.GameFontBase +import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap /** * Created by minjaesong on 2017-07-05. @@ -33,7 +33,7 @@ object ColorLimiterTest : ApplicationAdapter() { lateinit var batch: SpriteBatch lateinit var shapeRenderer: ShapeRenderer - lateinit var font: GameFontBase + lateinit var font: TerrarumSansBitmap override fun create() { ShaderProgram.pedantic = false @@ -50,7 +50,7 @@ object ColorLimiterTest : ApplicationAdapter() { batch = SpriteBatch() shapeRenderer = ShapeRenderer() - font = GameFontBase("assets/graphics/fonts/terrarum-sans-bitmap", flipY = false) + font = TerrarumSansBitmap("assets/graphics/fonts/terrarum-sans-bitmap", flipY = false) if (!shader4096.isCompiled) { diff --git a/src/net/torvald/terrarum/FuckingWorldRenderer.kt.unused b/src/net/torvald/terrarum/FuckingWorldRenderer.kt.unused index 464d2761d..b75d3fa6a 100644 --- a/src/net/torvald/terrarum/FuckingWorldRenderer.kt.unused +++ b/src/net/torvald/terrarum/FuckingWorldRenderer.kt.unused @@ -949,7 +949,7 @@ class Ingame(batch: SpriteBatch) : IngameInstance(batch) { }*/ // velocity - batch.color = Color.CHARTREUSE//GameFontBase.codeToCol["g"] + batch.color = Color.CHARTREUSE//TerrarumSansBitmap.codeToCol["g"] AppLoader.fontSmallNumbers.draw(batch, "${0x7F.toChar()}X ${actor.externalForce.x}", actor.hitbox.startX.toFloat(), diff --git a/src/net/torvald/terrarum/GlslTilingTest.kt b/src/net/torvald/terrarum/GlslTilingTest.kt index 2652ad345..5b7eecc18 100644 --- a/src/net/torvald/terrarum/GlslTilingTest.kt +++ b/src/net/torvald/terrarum/GlslTilingTest.kt @@ -9,7 +9,7 @@ import com.badlogic.gdx.graphics.g2d.SpriteBatch import com.badlogic.gdx.graphics.glutils.ShaderProgram import com.badlogic.gdx.graphics.Color import net.torvald.EMDASH -import net.torvald.terrarumsansbitmap.gdx.GameFontBase +import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap /** * Created by minjaesong on 2017-08-25. @@ -25,7 +25,7 @@ fun main(args: Array) { // LWJGL 3 won't work? java.lang.VerifyError object GlslTilingTest : ApplicationAdapter() { lateinit var shader: ShaderProgram - lateinit var font: GameFontBase + lateinit var font: TerrarumSansBitmap lateinit var tilesQuad: Mesh @@ -50,7 +50,7 @@ object GlslTilingTest : ApplicationAdapter() { shader = ShaderProgram(Gdx.files.internal("assets/4096.vert"), Gdx.files.internal("assets/tiling.frag")) - font = GameFontBase("assets/graphics/fonts/terrarum-sans-bitmap", flipY = false) + font = TerrarumSansBitmap("assets/graphics/fonts/terrarum-sans-bitmap", flipY = false) if (!shader.isCompiled) { diff --git a/src/net/torvald/terrarum/MusicComposerApp.java b/src/net/torvald/terrarum/MusicComposerApp.java index 9d389de0f..4c3b8549a 100644 --- a/src/net/torvald/terrarum/MusicComposerApp.java +++ b/src/net/torvald/terrarum/MusicComposerApp.java @@ -5,7 +5,7 @@ import com.badlogic.gdx.Files; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration; import com.badlogic.gdx.graphics.Texture; -import net.torvald.terrarumsansbitmap.gdx.GameFontBase; +import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap; import java.io.File; @@ -15,7 +15,7 @@ import java.io.File; public class MusicComposerApp extends ApplicationAdapter { public static Lwjgl3ApplicationConfiguration appConfig; - public static GameFontBase fontGame; + public static TerrarumSansBitmap fontGame; public MusicComposerApp(Lwjgl3ApplicationConfiguration appConfig) { this.appConfig = appConfig; @@ -34,7 +34,7 @@ public class MusicComposerApp extends ApplicationAdapter { @Override public void create() { - fontGame = new GameFontBase("assets/graphics/fonts/terrarum-sans-bitmap", false, true, false); + fontGame = new TerrarumSansBitmap("assets/graphics/fonts/terrarum-sans-bitmap", false, true, false); } @Override diff --git a/src/net/torvald/terrarum/ShitOnGlsl.kt b/src/net/torvald/terrarum/ShitOnGlsl.kt index 8f00d9821..61c28ddba 100644 --- a/src/net/torvald/terrarum/ShitOnGlsl.kt +++ b/src/net/torvald/terrarum/ShitOnGlsl.kt @@ -8,7 +8,7 @@ import com.badlogic.gdx.graphics.* import com.badlogic.gdx.graphics.g2d.SpriteBatch import com.badlogic.gdx.graphics.glutils.ShaderProgram import net.torvald.EMDASH -import net.torvald.terrarumsansbitmap.gdx.GameFontBase +import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap /** * Created by minjaesong on 2017-08-11. @@ -24,7 +24,7 @@ fun main(args: Array) { // LWJGL 3 won't work? java.lang.VerifyError object ShitOnGlsl : ApplicationAdapter() { lateinit var shader: ShaderProgram - lateinit var font: GameFontBase + lateinit var font: TerrarumSansBitmap lateinit var fullscreenQuad: Mesh @@ -42,7 +42,7 @@ object ShitOnGlsl : ApplicationAdapter() { shader = ShaderProgram(Gdx.files.internal("assets/4096.vert"), Gdx.files.internal("assets/crt.frag")) - font = GameFontBase("assets/graphics/fonts/terrarum-sans-bitmap", flipY = false) + font = TerrarumSansBitmap("assets/graphics/fonts/terrarum-sans-bitmap", flipY = false) if (!shader.isCompiled) { diff --git a/src/net/torvald/terrarum/Terrarum.kt b/src/net/torvald/terrarum/Terrarum.kt index cb03e340a..b5789f72f 100644 --- a/src/net/torvald/terrarum/Terrarum.kt +++ b/src/net/torvald/terrarum/Terrarum.kt @@ -30,7 +30,7 @@ import net.torvald.terrarum.savegame.DiskSkimmer import net.torvald.terrarum.serialise.Common import net.torvald.terrarum.ui.UICanvas import net.torvald.terrarum.worlddrawer.WorldCamera -import net.torvald.terrarumsansbitmap.gdx.GameFontBase +import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack import net.torvald.util.CircularArray import java.io.File @@ -492,24 +492,24 @@ fun MutableList.shuffle() { } -val ccW = GameFontBase.toColorCode(0xFFFF) -val ccY = GameFontBase.toColorCode(0xFFE8) -val ccO = GameFontBase.toColorCode(0xFFB2) -val ccR = GameFontBase.toColorCode(0xFF88) -val ccF = GameFontBase.toColorCode(0xFFAE) -val ccM = GameFontBase.toColorCode(0xFEAF) -val ccB = GameFontBase.toColorCode(0xF88F) -val ccC = GameFontBase.toColorCode(0xF8FF) -val ccG = GameFontBase.toColorCode(0xF8F8) -val ccV = GameFontBase.toColorCode(0xF080) -val ccX = GameFontBase.toColorCode(0xF853) -val ccK = GameFontBase.toColorCode(0xF888) -val ccE = GameFontBase.toColorCode(0xFBBB) +val ccW = TerrarumSansBitmap.toColorCode(0xFFFF) +val ccY = TerrarumSansBitmap.toColorCode(0xFFE8) +val ccO = TerrarumSansBitmap.toColorCode(0xFFB2) +val ccR = TerrarumSansBitmap.toColorCode(0xFF88) +val ccF = TerrarumSansBitmap.toColorCode(0xFFAE) +val ccM = TerrarumSansBitmap.toColorCode(0xFEAF) +val ccB = TerrarumSansBitmap.toColorCode(0xF88F) +val ccC = TerrarumSansBitmap.toColorCode(0xF8FF) +val ccG = TerrarumSansBitmap.toColorCode(0xF8F8) +val ccV = TerrarumSansBitmap.toColorCode(0xF080) +val ccX = TerrarumSansBitmap.toColorCode(0xF853) +val ccK = TerrarumSansBitmap.toColorCode(0xF888) +val ccE = TerrarumSansBitmap.toColorCode(0xFBBB) // Zelda-esque text colour emphasis -val emphRed = GameFontBase.toColorCode(0xFF88) -val emphObj = GameFontBase.toColorCode(0xF0FF) -val emphVerb = GameFontBase.toColorCode(0xFFF6) +val emphRed = TerrarumSansBitmap.toColorCode(0xFF88) +val emphObj = TerrarumSansBitmap.toColorCode(0xF0FF) +val emphVerb = TerrarumSansBitmap.toColorCode(0xFFF6) typealias Second = Float diff --git a/src/net/torvald/terrarum/TestTestTest.kt b/src/net/torvald/terrarum/TestTestTest.kt index 8757b3715..af3ba7955 100644 --- a/src/net/torvald/terrarum/TestTestTest.kt +++ b/src/net/torvald/terrarum/TestTestTest.kt @@ -12,7 +12,7 @@ import com.badlogic.gdx.graphics.glutils.FrameBuffer import com.badlogic.gdx.graphics.glutils.ShaderProgram import com.badlogic.gdx.graphics.Color import net.torvald.EMDASH -import net.torvald.terrarumsansbitmap.gdx.GameFontBase +import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap /** @@ -50,7 +50,7 @@ class TestTestTest(val batch: SpriteBatch) : Screen { img = Texture("assets/test_texture.tga") - gameFont = GameFontBase("assets/graphics/fonts/terrarum-sans-bitmap") + gameFont = TerrarumSansBitmap("assets/graphics/fonts/terrarum-sans-bitmap") //gameFont = BitmapFont() diff --git a/src/net/torvald/terrarum/modulebasegame/console/GetFaction.kt b/src/net/torvald/terrarum/modulebasegame/console/GetFaction.kt index ee201ee76..4176b19b7 100644 --- a/src/net/torvald/terrarum/modulebasegame/console/GetFaction.kt +++ b/src/net/torvald/terrarum/modulebasegame/console/GetFaction.kt @@ -6,8 +6,6 @@ import net.torvald.terrarum.console.ConsoleCommand import net.torvald.terrarum.console.Echo import net.torvald.terrarum.console.EchoError import net.torvald.terrarum.gameactors.Factionable -import net.torvald.terrarum.modulebasegame.gameactors.IngamePlayer -import net.torvald.terrarumsansbitmap.gdx.GameFontBase /** * Created by minjaesong on 2016-02-17. diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardInputConfig.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardInputConfig.kt index 3bb296bf2..38bacaee4 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardInputConfig.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardInputConfig.kt @@ -266,6 +266,9 @@ private class UIItemInputKeycap( super.update(delta) } + private fun isDiacritic(c: Int) = c in 0x300..0x36F || c in 0x1AB0..0x1AFF || + c in 0x1DC0..0x1DFF || c in 0x20D0..0x20FF || c in 0xFE20..0xFE2F + override fun render(batch: SpriteBatch, camera: Camera) { super.render(batch, camera) @@ -320,11 +323,13 @@ private class UIItemInputKeycap( parent.highlayer?.config?.symbols?.get(key) ?: parent.lowlayer.symbols[key] else parent.lowlayer.symbols[key] - val keysym = + var keysym = (if (parent.shiftin && parent.altgrin && keysym0[3]?.isNotEmpty() == true) keysym0[3] else if (parent.altgrin && keysym0[2]?.isNotEmpty() == true) keysym0[2] else if (parent.shiftin && keysym0[1]?.isNotEmpty() == true) keysym0[1] else keysym0[0]) ?: "" + if (isDiacritic(keysym[0].code)) + keysym = "ɔ$keysym" if (keysym[0].code == 0xA0) batch.draw(labels.get(22, 2), (posX + (width - 20) / 2).toFloat(), posY + 4f) diff --git a/src/net/torvald/terrarum/tests/UIElemTest.kt b/src/net/torvald/terrarum/tests/UIElemTest.kt index e25d93c49..ed9097180 100644 --- a/src/net/torvald/terrarum/tests/UIElemTest.kt +++ b/src/net/torvald/terrarum/tests/UIElemTest.kt @@ -8,7 +8,6 @@ import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration import com.badlogic.gdx.graphics.Camera import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.graphics.OrthographicCamera -import com.badlogic.gdx.graphics.Texture import com.badlogic.gdx.graphics.g2d.SpriteBatch import com.badlogic.gdx.graphics.glutils.ShaderProgram import net.torvald.EMDASH @@ -17,7 +16,7 @@ import net.torvald.terrarum.ui.Toolkit import net.torvald.terrarum.ui.UICanvas import net.torvald.terrarum.ui.UIItemTextLineInput import net.torvald.terrarum.ui.UIItemToggleButton -import net.torvald.terrarumsansbitmap.gdx.GameFontBase +import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap /** * Created by Torvald on 2019-10-16. @@ -31,8 +30,8 @@ class UIElemTest : ApplicationAdapter() { private lateinit var ui: UICanvas override fun create() { - App.fontGame = GameFontBase(App.FONT_DIR, false, true, false, - Texture.TextureFilter.Nearest, Texture.TextureFilter.Nearest, false, + App.fontGame = TerrarumSansBitmap(App.FONT_DIR, false, true, false, + false, 256, false, 0.5f, false )