From 6da155d4f37c5e65ce564ae43ccb8288065f697b Mon Sep 17 00:00:00 2001 From: minjaesong Date: Sat, 17 Feb 2024 15:26:18 +0900 Subject: [PATCH] fix: game crashes on pasting text --- assets/keylayout/ko_kr_2set_ksx5002_alt.ime | 4 ++-- src/net/torvald/terrarum/TerrarumAppConfiguration.kt | 4 ++-- .../terrarum/modulebasegame/ui/ControlPanelCommon.kt | 6 ++++-- src/net/torvald/terrarum/ui/UIItemTextLineInput.kt | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/assets/keylayout/ko_kr_2set_ksx5002_alt.ime b/assets/keylayout/ko_kr_2set_ksx5002_alt.ime index 58a8c2fd0..eda0ab0b8 100644 --- a/assets/keylayout/ko_kr_2set_ksx5002_alt.ime +++ b/assets/keylayout/ko_kr_2set_ksx5002_alt.ime @@ -65,13 +65,13 @@ let states = {"keylayouts":[[""],[undefined], [undefined], ["\n"], ["\x08"], -[";","~"], +["¤","~"], ["-","_"], ["=","+"], ["[","{"], ["]","}"], ["\\","₩"], -["ㅆ",":"], +[";",":"], ["'",'"'], ["/","?"], [undefined], diff --git a/src/net/torvald/terrarum/TerrarumAppConfiguration.kt b/src/net/torvald/terrarum/TerrarumAppConfiguration.kt index a2e58f500..93abb46b6 100644 --- a/src/net/torvald/terrarum/TerrarumAppConfiguration.kt +++ b/src/net/torvald/terrarum/TerrarumAppConfiguration.kt @@ -73,8 +73,8 @@ basegame // Commit counts up to the Release 0.3.3: 3020 // val VERSION_SNAPSHOT = Snapshot(0) // for normal dev -// val VERSION_SNAPSHOT = ForcedSnapshot("24w04a") // for snapshot release - val VERSION_SNAPSHOT = null // for the release + val VERSION_SNAPSHOT = ForcedSnapshot("24w07b") // for snapshot release +// val VERSION_SNAPSHOT = null // for the release const val VERSION_TAG: String = "" diff --git a/src/net/torvald/terrarum/modulebasegame/ui/ControlPanelCommon.kt b/src/net/torvald/terrarum/modulebasegame/ui/ControlPanelCommon.kt index a92e4f61a..7935d803c 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/ControlPanelCommon.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/ControlPanelCommon.kt @@ -119,6 +119,8 @@ object ControlPanelCommon { } } else if (args.startsWith("typeinres")) { + val oldwidth = App.scr.width + val oldheight = App.scr.height val keyWidth = optionNames[0] val keyHeight = optionNames[1] UIItemTextLineInput(parent, x, y, CONFIG_SPINNER_WIDTH, @@ -178,8 +180,8 @@ object ControlPanelCommon { } else { it.markAsInvalid() - App.setConfig(keyWidth, TerrarumScreenSize.defaultW) - App.setConfig(keyHeight, TerrarumScreenSize.defaultH) + App.setConfig(keyWidth, oldwidth) + App.setConfig(keyHeight, oldheight) } } } diff --git a/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt b/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt index 8ca25e4fd..9ab2a29ca 100644 --- a/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt +++ b/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt @@ -504,7 +504,7 @@ class UIItemTextLineInput( textbuf.addAll(actuallyInserted) cursorX += codepoints.size - currentTextLenPx = App.fontGame.getWidth(CodepointSequence(textbuf.subList(0, cursorX))) + currentTextLenPx = App.fontGame.getWidth(CodepointSequence(textbuf.subList(0, minOf(cursorX, textbuf.size)))) moveCursorForward(currentTextLenPx - oldTextLenPx) oldTextLenPx = currentTextLenPx