From 87012d76714cc5a73862e6cdf2b5cc20f9c0e776 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Fri, 26 Nov 2021 16:58:54 +0900 Subject: [PATCH] typewriter: faster typing sound, backspace is working again --- FontTestGDX/src/TypewriterGDX.kt | 10 +++++----- assets/typewriter/audio/deadkey.wav | 4 ++-- assets/typewriter/audio/movingkey.wav | 4 ++-- .../gdx/TerrarumTypewriterBitmap.kt | 7 ++++++- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/FontTestGDX/src/TypewriterGDX.kt b/FontTestGDX/src/TypewriterGDX.kt index 601fb77..434bfb3 100644 --- a/FontTestGDX/src/TypewriterGDX.kt +++ b/FontTestGDX/src/TypewriterGDX.kt @@ -109,7 +109,7 @@ class TypewriterGDX(val width: Int, val height: Int, val cols: Int) : Game() { var initDone = false var initTimer = 0f var initTypingCursor = 0 - var keystrokeDelay = 0.12f + var keystrokeDelay = 0.08f fun acceptKey(keycode: Int, force: Boolean = false) { if (initDone || force) { @@ -187,13 +187,13 @@ class TypewriterGDX(val width: Int, val height: Int, val cols: Int) : Game() { initTimer -= keystrokeDelay if (keyToType == Input.Keys.ENTER) - initTimer -= 0.4f + initTimer -= 0.35f else if (keyToType == 0x561F71) - initTimer -= 0.2f - else if (keyToType == 0x561F70) initTimer -= 0.15f + else if (keyToType == 0x561F70) + initTimer -= 0.1f else - initTimer -= Math.random().toFloat() * 0.08f + initTimer -= Math.random().toFloat() * 0.04f } initTimer += Gdx.graphics.deltaTime diff --git a/assets/typewriter/audio/deadkey.wav b/assets/typewriter/audio/deadkey.wav index 910d791..b91b8f2 100644 --- a/assets/typewriter/audio/deadkey.wav +++ b/assets/typewriter/audio/deadkey.wav @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:96e2a614f84013548f915f76a86ce60f809ec425ff72125cec40187d8bbb43a3 -size 47472 +oid sha256:8717dffb3c94dea1adec467aaf805b4cad5415404e3ae209291719ac1d6dba14 +size 36094 diff --git a/assets/typewriter/audio/movingkey.wav b/assets/typewriter/audio/movingkey.wav index de6439c..ade720f 100644 --- a/assets/typewriter/audio/movingkey.wav +++ b/assets/typewriter/audio/movingkey.wav @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0be0bb5e49abd07394816bc675ae3bc105ca319aa8074c224a06d6a02a123936 -size 43690 +oid sha256:a12b7e7c52c4008c8155a8055d051bda399d494c6afbe985efd841026efc10d1 +size 36094 diff --git a/src/net/torvald/terrarumtypewriterbitmap/gdx/TerrarumTypewriterBitmap.kt b/src/net/torvald/terrarumtypewriterbitmap/gdx/TerrarumTypewriterBitmap.kt index 22f1dc1..5ad8ffa 100644 --- a/src/net/torvald/terrarumtypewriterbitmap/gdx/TerrarumTypewriterBitmap.kt +++ b/src/net/torvald/terrarumtypewriterbitmap/gdx/TerrarumTypewriterBitmap.kt @@ -1,6 +1,7 @@ package net.torvald.terrarumtypewriterbitmap.gdx import com.badlogic.gdx.Gdx +import com.badlogic.gdx.Input import com.badlogic.gdx.graphics.Pixmap import com.badlogic.gdx.graphics.Texture import com.badlogic.gdx.graphics.g2d.Batch @@ -206,9 +207,13 @@ class TerrarumTypewriterBitmap( val codeStartX = cellX + binaryCodeOffset val codeStartY = cellY - val width = (0..4).fold(0) { acc, y -> acc or ((pixmap.getPixel(codeStartX, codeStartY + y).and(255) != 0).toInt() shl y) } + var width = (0..4).fold(0) { acc, y -> acc or ((pixmap.getPixel(codeStartX, codeStartY + y).and(255) != 0).toInt() shl y) } val isLowHeight = (pixmap.getPixel(codeStartX, codeStartY + 5).and(255) != 0) + if (code in 0xF2000..0xF3FFF && code and 127 == Input.Keys.BACKSPACE) { + width *= -1 + } + // Keming machine parameters val kerningBit1 = pixmap.getPixel(codeStartX, codeStartY + 6).tagify() val kerningBit2 = pixmap.getPixel(codeStartX, codeStartY + 7).tagify()