diff --git a/src/net/torvald/terrarum/ModOptionsHost.kt b/src/net/torvald/terrarum/ModOptionsHost.kt index 33e2988d3..ac02aefe2 100644 --- a/src/net/torvald/terrarum/ModOptionsHost.kt +++ b/src/net/torvald/terrarum/ModOptionsHost.kt @@ -7,7 +7,9 @@ import net.torvald.terrarum.modulebasegame.ui.UIRemoCon import net.torvald.terrarum.ui.UICanvas class ModOptionsHost(val remoCon: UIRemoCon) : UICanvas() { - + init { + handler.allowESCtoClose = false + } private val moduleAreaHMargin = 48 private val moduleAreaBorder = 8 diff --git a/src/net/torvald/terrarum/UIFakeGradOverlay.kt b/src/net/torvald/terrarum/UIFakeGradOverlay.kt index 4757d77d9..7e286ebf6 100644 --- a/src/net/torvald/terrarum/UIFakeGradOverlay.kt +++ b/src/net/torvald/terrarum/UIFakeGradOverlay.kt @@ -15,7 +15,9 @@ import net.torvald.terrarum.ui.UICanvas * Created by minjaesong on 2021-09-09. */ class UIFakeGradOverlay : UICanvas() { - + init { + handler.allowESCtoClose = false + } override var width: Int get() = App.scr.width set(value) {} @@ -67,7 +69,9 @@ class UIFakeGradOverlay : UICanvas() { } class UIFakeBlurOverlay(val blurRadius: Float, val nodarken: Boolean) : UICanvas() { - + init { + handler.allowESCtoClose = false + } override var width: Int get() = App.scr.width set(value) {} diff --git a/src/net/torvald/terrarum/modulebasegame/ui/NullUI.kt b/src/net/torvald/terrarum/modulebasegame/ui/NullUI.kt index e6eb67a22..947aa243a 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/NullUI.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/NullUI.kt @@ -9,6 +9,10 @@ import net.torvald.terrarum.ui.UICanvas * Created by minjaesong on 2017-03-13. */ object NullUI : UICanvas() { + init { + handler.allowESCtoClose = false + } + override var width: Int = 0 override var height: Int = 0 override var openCloseTime = 0f diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIGraphicsControlPanel.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIGraphicsControlPanel.kt index 1ded930fc..f4a541bd6 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIGraphicsControlPanel.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIGraphicsControlPanel.kt @@ -23,6 +23,8 @@ class UIGraphicsControlPanel(remoCon: UIRemoCon?) : UICanvas() { override var width = 560 init { + handler.allowESCtoClose = false + ControlPanelCommon.register(this, width, "basegame.graphicscontrolpanel", arrayOf( arrayOf("", { Lang["CREDITS_VFX"] }, "h1"), arrayOf("fx_dither", { Lang["MENU_OPTIONS_DITHER"] }, "toggle"), diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIIMEConfig.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIIMEConfig.kt index f76926425..3d43b9169 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIIMEConfig.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIIMEConfig.kt @@ -20,6 +20,10 @@ import net.torvald.terrarum.ui.* */ class UIIMEConfig(remoCon: UIRemoCon?) : UICanvas() { + init { + handler.allowESCtoClose = false + } + override var width = 480 override var height = 600 diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIImportAvatar.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIImportAvatar.kt index 1869b3686..5afe81877 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIImportAvatar.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIImportAvatar.kt @@ -25,6 +25,9 @@ import java.io.File * Created by minjaesong on 2023-08-24. */ class UIImportAvatar(val remoCon: UIRemoCon) : Advanceable() { + init { + handler.allowESCtoClose = false + } override var width = 480 // SAVE_CELL_WIDTH override var height = 480 diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryEscMenu.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryEscMenu.kt index 01ea85486..1b22407bb 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryEscMenu.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryEscMenu.kt @@ -330,7 +330,6 @@ class UIInventoryEscMenu(val full: UIInventoryFull) : UICanvas() { override fun doClosing(delta: Float) { super.doClosing(delta) - screen = 0 } override fun endOpening(delta: Float) { diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardControlPanel.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardControlPanel.kt index 7f505e255..e74d0780d 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardControlPanel.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardControlPanel.kt @@ -16,6 +16,9 @@ import net.torvald.terrarum.ui.* */ class UIKeyboardControlPanel(remoCon: UIRemoCon?) : UICanvas() { + init { + handler.allowESCtoClose = false + } override var width = 480 override var height = 600 diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadList.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadList.kt index ae2a2693b..3ad36ab28 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadList.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadList.kt @@ -20,6 +20,10 @@ import kotlin.math.roundToInt */ class UILoadList(val full: UILoadSavegame) : UICanvas() { + init { + handler.allowESCtoClose = false + } + override var width: Int = Toolkit.drawWidth override var height: Int = App.scr.height diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt index 3a97f4287..3c0d62804 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt @@ -34,6 +34,10 @@ import java.util.* */ class UILoadManage(val full: UILoadSavegame) : UICanvas() { + init { + handler.allowESCtoClose = false + } + override var width: Int = Toolkit.drawWidth override var height: Int = App.scr.height diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadNewCharacter.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadNewCharacter.kt index 58cf54012..62a66891a 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadNewCharacter.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadNewCharacter.kt @@ -11,6 +11,9 @@ import net.torvald.terrarum.ui.UICanvas * Created by minjaesong on 2023-07-05. */ class UILoadNewCharacter(val full: UILoadSavegame) : UICanvas() { + init { + handler.allowESCtoClose = false + } override var width: Int = Toolkit.drawWidth override var height: Int = App.scr.height diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadSavegame.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadSavegame.kt index 3d23d1f28..99a369b4d 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadSavegame.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadSavegame.kt @@ -25,6 +25,8 @@ class UILoadSavegame(val remoCon: UIRemoCon) : Advanceable() { // private val hash = RandomWordsName(3) init { + handler.allowESCtoClose = false + CommonResourcePool.addToLoadingList("terrarum-defaultsavegamethumb") { TextureRegion(Texture(Gdx.files.internal("assets/graphics/gui/savegame_thumb_placeholder.png"))) } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UINewCharacter.kt b/src/net/torvald/terrarum/modulebasegame/ui/UINewCharacter.kt index f4e1d80f4..840aad85a 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UINewCharacter.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UINewCharacter.kt @@ -27,6 +27,10 @@ import java.io.File */ class UINewCharacter(val remoCon: UIRemoCon) : UICanvas() { + init { + handler.allowESCtoClose = false + } + override var width = 480 override var height = 480 diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UINewWorld.kt b/src/net/torvald/terrarum/modulebasegame/ui/UINewWorld.kt index f2c3c5591..e622f97ad 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UINewWorld.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UINewWorld.kt @@ -33,6 +33,9 @@ import kotlin.math.roundToInt * Created by minjaesong on 2021-10-25. */ class UINewWorld(val remoCon: UIRemoCon) : UICanvas() { + init { + handler.allowESCtoClose = false + } private var newPlayerCreationThread = Thread {} private var existingPlayer: DiskSkimmer? = null diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIPerformanceControlPanel.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIPerformanceControlPanel.kt index 22a9ce72d..bf0648711 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIPerformanceControlPanel.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIPerformanceControlPanel.kt @@ -23,6 +23,8 @@ class UIPerformanceControlPanel(remoCon: UIRemoCon?) : UICanvas() { override var width = 560 init { + handler.allowESCtoClose = false + ControlPanelCommon.register(this, width, "basegame.performancecontrolpanel", arrayOf( arrayOf("", { Lang["MENU_OPTIONS_GAMEPLAY"] }, "h1"), arrayOf("autosaveinterval", { Lang["MENU_OPTIONS_AUTOSAVE"] + " (${Lang["CONTEXT_TIME_MINUTE_PLURAL"]})" }, "spinnerimul,5,120,5,60000"), diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIRemoCon.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIRemoCon.kt index 106ef794c..82bc0c9ae 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIRemoCon.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIRemoCon.kt @@ -24,7 +24,9 @@ import net.torvald.terrarum.ui.UIItemTextButtonList.Companion.DEFAULT_LINE_HEIGH * Created by minjaesong on 2018-08-29. */ open class UIRemoCon(val parent: TitleScreen, val treeRoot: QNDTreeNode) : UICanvas() { - + init { + handler.allowESCtoClose = false + } override var openCloseTime = 0f private var remoConTray: UIRemoConElement // this remocon is dynamically generated @@ -196,6 +198,7 @@ open class UIRemoCon(val parent: TitleScreen, val treeRoot: QNDTreeNode) ui.setPosition(0,0) parent.uiFakeBlurOverlay.setAsOpen() ui.setAsOpen() + ui.handler.allowESCtoClose = false openUI = ui } } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UISoundControlPanel.kt b/src/net/torvald/terrarum/modulebasegame/ui/UISoundControlPanel.kt index cbc532a94..cb0076720 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UISoundControlPanel.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UISoundControlPanel.kt @@ -14,6 +14,8 @@ class UISoundControlPanel(remoCon: UIRemoCon?) : UICanvas() { override var width = 560 init { + handler.allowESCtoClose = false + ControlPanelCommon.register(this, width, "basegame.soundcontrolpanel", arrayOf( arrayOf("mastervolume", { Lang["MENU_OPTIONS_SOUND_VOLUME"] }, "sliderd,0,1"), arrayOf("", { "" }, "p"), diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UITitleLanguage.kt b/src/net/torvald/terrarum/modulebasegame/ui/UITitleLanguage.kt index 21292f72b..d4c0ac920 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UITitleLanguage.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UITitleLanguage.kt @@ -16,6 +16,10 @@ import kotlin.math.max class UITitleLanguage(remoCon: UIRemoCon?) : UICanvas() { + init { + handler.allowESCtoClose = false + } + val menuLabels = arrayOf( "MENU_LABEL_RETURN" ) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UITitleModules.kt b/src/net/torvald/terrarum/modulebasegame/ui/UITitleModules.kt index 5edb40d1c..bdc237909 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UITitleModules.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UITitleModules.kt @@ -22,6 +22,9 @@ val MODULEINFO_CELL_HEIGHT = 24*3 * Created by minjaesong on 2017-08-01. */ class UITitleModules(val remoCon: UIRemoCon) : UICanvas() { + init { + handler.allowESCtoClose = false + } override var width: Int get() = Toolkit.drawWidth diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UITitleWallOfText.kt b/src/net/torvald/terrarum/modulebasegame/ui/UITitleWallOfText.kt index 469b86413..500ea393b 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UITitleWallOfText.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UITitleWallOfText.kt @@ -11,7 +11,9 @@ import net.torvald.terrarum.ui.* import java.util.TreeMap open class UITitleWallOfText(private val text: List) : UICanvas() { - + init { + handler.allowESCtoClose = false + } private val textAreaHMargin = 48 override var width = 600 diff --git a/src/net/torvald/terrarum/ui/UIAutosaveNotifier.kt b/src/net/torvald/terrarum/ui/UIAutosaveNotifier.kt index 69c5e7158..5ad8af997 100644 --- a/src/net/torvald/terrarum/ui/UIAutosaveNotifier.kt +++ b/src/net/torvald/terrarum/ui/UIAutosaveNotifier.kt @@ -14,6 +14,10 @@ import kotlin.math.roundToInt */ class UIAutosaveNotifier : UICanvas() { + init { + handler.allowESCtoClose = false + } + companion object { const val WIDTH = 180 const val HEIGHT = 24 diff --git a/src/net/torvald/terrarum/ui/UINSMenu.kt b/src/net/torvald/terrarum/ui/UINSMenu.kt index fc8cc785a..554f6c36f 100644 --- a/src/net/torvald/terrarum/ui/UINSMenu.kt +++ b/src/net/torvald/terrarum/ui/UINSMenu.kt @@ -67,6 +67,7 @@ class UINSMenu( var invocationArgument: Array = arrayOf(this) init { + handler.allowESCtoClose = false addSubMenu(tree) } diff --git a/src/net/torvald/unsafe/UnsafePtr.kt b/src/net/torvald/unsafe/UnsafePtr.kt index 44858f755..a3e127287 100644 --- a/src/net/torvald/unsafe/UnsafePtr.kt +++ b/src/net/torvald/unsafe/UnsafePtr.kt @@ -113,8 +113,8 @@ internal class UnsafePtr(pointer: Long, allocSize: Long) { // appear (e.g. getting garbage values when it fucking shouldn't) // using ifs instead of assertions: inactive assert statements still slows down the app -// if (destroyed) { throw DanglingPointerException("The pointer is already destroyed ($this)") } -// if (index !in 0 until size) { throw AddressOverflowException("Index: $index; alloc size: $size") } + if (destroyed) { throw DanglingPointerException("The pointer is already destroyed ($this)") } + if (index !in 0 until size) { throw AddressOverflowException("Index: $index; alloc size: $size") } } operator fun get(index: Long): Byte {