From 63566a507b1b7862d2db89e075914d4c3616d5ea Mon Sep 17 00:00:00 2001 From: minjaesong Date: Mon, 19 Jan 2026 17:08:31 +0900 Subject: [PATCH] new: world update ahchoring --- src/net/torvald/terrarum/GameCrashHandler.kt | 73 ++++---- src/net/torvald/terrarum/IngameInstance.kt | 16 ++ .../terrarum/gameactors/WorldUpdateAnchor.kt | 47 +++++ .../terrarum/gameactors/WorldUpdater.kt | 13 ++ .../terrarum/modulebasegame/TerrarumIngame.kt | 19 +- .../terrarum/modulebasegame/WorldSimulator.kt | 177 ++++++++++++++++-- .../modulebasegame/gameactors/IngamePlayer.kt | 3 +- 7 files changed, 299 insertions(+), 49 deletions(-) create mode 100644 src/net/torvald/terrarum/gameactors/WorldUpdateAnchor.kt create mode 100644 src/net/torvald/terrarum/gameactors/WorldUpdater.kt diff --git a/src/net/torvald/terrarum/GameCrashHandler.kt b/src/net/torvald/terrarum/GameCrashHandler.kt index a32c6d580..4e6b72b8a 100644 --- a/src/net/torvald/terrarum/GameCrashHandler.kt +++ b/src/net/torvald/terrarum/GameCrashHandler.kt @@ -121,6 +121,46 @@ emph { val uptime = App.getTIME_T() - App.startupTime + + + // print out the error + printStream.println("

The Error Info

") + System.err.println("== The Error Info ==") + + printStream.println("
")
+        e.printStackTrace(printStream)
+        printStream.println("
") + e.printStackTrace(System.err) + + + + printStream.println("

Module Info

") + printStream.println("

Load Order

") + printStream.println("
    ${ModMgr.loadOrder.joinToString(separator = "") { "
  1. " + + "$it (" + + "${moduleMetaToText(ModMgr.moduleInfo[it] ?: ModMgr.moduleInfoErrored[it])}" + + ")
  2. " } + }
") + + + + // print out loaded modules + ModMgr.errorLogs.let { + if (it.size > 0) { + printStream.println("

Module Errors

") + System.err.println("== Module Errors ==") + it.forEach { + printStream.println("

From Module ${it.moduleName} (${it.type.toHTML()}):

") + printStream.println("
")
+                    it.cause?.printStackTrace(printStream)
+                    printStream.println("
") + it.cause?.printStackTrace(System.err) + } + } + } + + + // print out device info printStream.println("

System Info

") printStream.println("