diff --git a/.idea/artifacts/ModuleComputers.xml b/.idea/artifacts/ModuleComputers.xml
index 25275cd23..a8b97b9b9 100644
--- a/.idea/artifacts/ModuleComputers.xml
+++ b/.idea/artifacts/ModuleComputers.xml
@@ -5,10 +5,13 @@
-
-
-
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/artifacts/SpriteAssemblerApp.xml b/.idea/artifacts/SpriteAssemblerApp.xml
index 5d7b9dcef..df5956686 100644
--- a/.idea/artifacts/SpriteAssemblerApp.xml
+++ b/.idea/artifacts/SpriteAssemblerApp.xml
@@ -9,43 +9,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -54,18 +17,72 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/artifacts/TerrarumBuild.xml b/.idea/artifacts/TerrarumBuild.xml
index b1b085a26..132031bbe 100644
--- a/.idea/artifacts/TerrarumBuild.xml
+++ b/.idea/artifacts/TerrarumBuild.xml
@@ -15,7 +15,6 @@
-
@@ -83,6 +82,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
index ae8a33732..22dcb880f 100644
--- a/.idea/kotlinc.xml
+++ b/.idea/kotlinc.xml
@@ -1,9 +1,9 @@
-
-
-
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/KotlinJavaRuntime.xml b/.idea/libraries/KotlinJavaRuntime.xml
index 1a7265de2..3e44d76d2 100644
--- a/.idea/libraries/KotlinJavaRuntime.xml
+++ b/.idea/libraries/KotlinJavaRuntime.xml
@@ -1,19 +1,26 @@
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/jetbrains_kotlin_reflect.xml b/.idea/libraries/jetbrains_kotlin_reflect.xml
new file mode 100644
index 000000000..24059866a
--- /dev/null
+++ b/.idea/libraries/jetbrains_kotlin_reflect.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/jetbrains_kotlin_test.xml b/.idea/libraries/jetbrains_kotlin_test.xml
new file mode 100644
index 000000000..6842add80
--- /dev/null
+++ b/.idea/libraries/jetbrains_kotlin_test.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/jetbrains_kotlinx_coroutines_core.xml b/.idea/libraries/jetbrains_kotlinx_coroutines_core.xml
deleted file mode 100644
index 870f06ca8..000000000
--- a/.idea/libraries/jetbrains_kotlinx_coroutines_core.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ModuleComputers/ModuleComputers.iml b/ModuleComputers/ModuleComputers.iml
index 7c20b41bc..f89613265 100644
--- a/ModuleComputers/ModuleComputers.iml
+++ b/ModuleComputers/ModuleComputers.iml
@@ -10,9 +10,11 @@
-
+
+
+
\ No newline at end of file
diff --git a/ModuleComputers/src/module-info.java.wtf b/ModuleComputers/src/module-info.java.wtf
index 711867a06..d4a3ec01a 100644
--- a/ModuleComputers/src/module-info.java.wtf
+++ b/ModuleComputers/src/module-info.java.wtf
@@ -6,6 +6,6 @@ module ModuleComputers {
requires Terrarum;
requires TerrarumSansBitmap;
requires kotlin.stdlib;
- requires kotlinx.coroutines.core;
+ requires kotlin.coroutines.core;
requires TerrarumTSVM;
}
\ No newline at end of file
diff --git a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameactors/FixtureHomeComputer.kt b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameactors/FixtureHomeComputer.kt
index a6c1a6e1b..27e5f0610 100644
--- a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameactors/FixtureHomeComputer.kt
+++ b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameactors/FixtureHomeComputer.kt
@@ -6,10 +6,7 @@ import com.badlogic.gdx.graphics.*
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.glutils.FrameBuffer
import com.badlogic.gdx.utils.Disposable
-import kotlinx.coroutines.GlobalScope
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.cancel
-import kotlinx.coroutines.launch
+import kotlin.coroutines.*
import net.torvald.terrarum.*
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
import net.torvald.terrarum.gameactors.AVKey
@@ -35,7 +32,7 @@ class FixtureHomeComputer : FixtureBase {
VMProgramRom(ModMgr.getGdxFile("dwarventech", "bios/tsvmbios.js").path())
))
@Transient private lateinit var vmRunner: VMRunner
- @Transient private lateinit var coroutineJob: Job
+// @Transient private lateinit var coroutineJob: Job
@Transient private var vmStarted = false
@Transient private lateinit var disposableObj: Disposable
@@ -76,7 +73,7 @@ class FixtureHomeComputer : FixtureBase {
}
fun startVM() {
- if (!vmStarted) {
+ /*if (!vmStarted) {
vmStarted = true
coroutineJob = GlobalScope.launch {
@@ -89,11 +86,11 @@ class FixtureHomeComputer : FixtureBase {
vm.dispose()
}
INGAME.disposables.add(disposableObj)
- }
+ }*/
}
fun stopVM() {
- if (vmStarted) {
+ /*if (vmStarted) {
vmStarted = false
vmRunner.close()
@@ -101,7 +98,7 @@ class FixtureHomeComputer : FixtureBase {
vm.dispose()
INGAME.disposables.remove(disposableObj)
- }
+ }*/
}
override fun reload() {
diff --git a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemWearableWorldRadar.kt b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemWearableWorldRadar.kt
index d345c4f99..72a5d5a51 100644
--- a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemWearableWorldRadar.kt
+++ b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemWearableWorldRadar.kt
@@ -5,10 +5,6 @@ import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.g2d.TextureRegion
import com.badlogic.gdx.utils.Disposable
-import kotlinx.coroutines.GlobalScope
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.cancel
-import kotlinx.coroutines.launch
import net.torvald.terrarum.*
import net.torvald.terrarum.gameactors.ActorWithBody
import net.torvald.terrarum.gameitems.GameItem
@@ -26,8 +22,9 @@ import net.torvald.tsvm.peripheral.VMProgramRom
/**
* Created by minjaesong on 2021-12-03.
*/
-class ItemWearableWorldRadar(originalID: String) : GameItem(originalID) {
+class ItemWearableWorldRadar(originalID: String) {// : GameItem(originalID) {
+ /*
override var dynamicID: ItemID = originalID
override val originalName = "ITEM_COMPUTER_DIRTBOARD_FAKETM"
override var baseMass = 2.0
@@ -106,6 +103,9 @@ class ItemWearableWorldRadar(originalID: String) : GameItem(originalID) {
(Terrarum.ingame!! as TerrarumIngame).wearableDeviceUI = null
closeVM()
}
+
+
+ */
}
class WearableWorldRadarUI(val device: VM) : UICanvas() {
diff --git a/TerrarumBuild.iml b/TerrarumBuild.iml
index 9fcb8d490..4c90f370e 100644
--- a/TerrarumBuild.iml
+++ b/TerrarumBuild.iml
@@ -22,5 +22,7 @@
+
+
\ No newline at end of file
diff --git a/buildapp/instructions.md b/buildapp/instructions.md
index f13a095c4..44a684365 100644
--- a/buildapp/instructions.md
+++ b/buildapp/instructions.md
@@ -56,6 +56,10 @@ Terrarum.*.app
Hide the `.jar` within the subdirectory; users will think this file is the main executable and will try to execute it using whatever JVM they may (or may not) have.
+#### Some Notes
+
+- Windows EXE creation is not there yet. Maybe use one of [these?](https://sourceforge.net/projects/batch-compiler/)
+
### Notes to Terrarum Programmers
By self-containing everything in one file, it is not possible to modify the base game easily. Modloading scheme must be extended to load from mutable directory such as `%APPDATA%/Terrarum/mods`.
diff --git a/lib/annotations-13.0-javadoc.jar b/lib/annotations-13.0-javadoc.jar
deleted file mode 100644
index 2c57f97d4..000000000
Binary files a/lib/annotations-13.0-javadoc.jar and /dev/null differ
diff --git a/lib/annotations-13.0-sources.jar b/lib/annotations-13.0-sources.jar
deleted file mode 100644
index 233ba85ed..000000000
Binary files a/lib/annotations-13.0-sources.jar and /dev/null differ
diff --git a/lib/annotations-13.0.jar b/lib/annotations-13.0.jar
deleted file mode 100644
index fb794be91..000000000
Binary files a/lib/annotations-13.0.jar and /dev/null differ
diff --git a/lib/kotlin-stdlib-1.4.0-javadoc.jar b/lib/kotlin-stdlib-1.4.0-javadoc.jar
deleted file mode 100644
index e3f3a9579..000000000
Binary files a/lib/kotlin-stdlib-1.4.0-javadoc.jar and /dev/null differ
diff --git a/lib/kotlin-stdlib-1.4.0-sources.jar b/lib/kotlin-stdlib-1.4.0-sources.jar
deleted file mode 100644
index c2401f71a..000000000
Binary files a/lib/kotlin-stdlib-1.4.0-sources.jar and /dev/null differ
diff --git a/lib/kotlin-stdlib-1.4.0.jar b/lib/kotlin-stdlib-1.4.0.jar
deleted file mode 100644
index fe545d7eb..000000000
Binary files a/lib/kotlin-stdlib-1.4.0.jar and /dev/null differ
diff --git a/lib/kotlin-stdlib-common-1.4.0-javadoc.jar b/lib/kotlin-stdlib-common-1.4.0-javadoc.jar
deleted file mode 100644
index e3f3a9579..000000000
Binary files a/lib/kotlin-stdlib-common-1.4.0-javadoc.jar and /dev/null differ
diff --git a/lib/kotlin-stdlib-common-1.4.0-sources.jar b/lib/kotlin-stdlib-common-1.4.0-sources.jar
deleted file mode 100644
index 42bd99637..000000000
Binary files a/lib/kotlin-stdlib-common-1.4.0-sources.jar and /dev/null differ
diff --git a/lib/kotlin-stdlib-common-1.4.0.jar b/lib/kotlin-stdlib-common-1.4.0.jar
deleted file mode 100644
index 2ea93b451..000000000
Binary files a/lib/kotlin-stdlib-common-1.4.0.jar and /dev/null differ
diff --git a/lib/kotlinx-coroutines-core-1.4.1-javadoc.jar b/lib/kotlinx-coroutines-core-1.4.1-javadoc.jar
deleted file mode 100644
index ee61e9e10..000000000
Binary files a/lib/kotlinx-coroutines-core-1.4.1-javadoc.jar and /dev/null differ
diff --git a/lib/kotlinx-coroutines-core-1.4.1-sources.jar b/lib/kotlinx-coroutines-core-1.4.1-sources.jar
deleted file mode 100644
index 97dcbc1ad..000000000
Binary files a/lib/kotlinx-coroutines-core-1.4.1-sources.jar and /dev/null differ
diff --git a/lib/kotlinx-coroutines-core-1.4.1.jar b/lib/kotlinx-coroutines-core-1.4.1.jar
deleted file mode 100644
index 1d51c980f..000000000
Binary files a/lib/kotlinx-coroutines-core-1.4.1.jar and /dev/null differ
diff --git a/src/net/torvald/terrarum/Yaml.kt b/src/net/torvald/terrarum/Yaml.kt
index e180cd343..335835ff5 100644
--- a/src/net/torvald/terrarum/Yaml.kt
+++ b/src/net/torvald/terrarum/Yaml.kt
@@ -50,7 +50,8 @@ import java.util.*
*
* Created by minjaesong on 2018-12-08.
*/
-inline class Yaml(val text: String) {
+@JvmInline
+value class Yaml(val text: String) {
companion object {
val SEPARATOR = Regex(" : ")
diff --git a/src/net/torvald/terrarum/gameworld/GameWorld.kt b/src/net/torvald/terrarum/gameworld/GameWorld.kt
index 6ce2dc91a..7281363c1 100644
--- a/src/net/torvald/terrarum/gameworld/GameWorld.kt
+++ b/src/net/torvald/terrarum/gameworld/GameWorld.kt
@@ -716,7 +716,8 @@ infix fun Long.fmod(other: Long) = Math.floorMod(this, other)
infix fun Float.fmod(other: Float) = if (this >= 0f) this % other else (this % other) + other
infix fun Double.fmod(other: Double) = if (this >= 0.0) this % other else (this % other) + other
-inline class FluidType(val value: Int) {
+@JvmInline
+value class FluidType(val value: Int) {
infix fun sameAs(other: FluidType) = this.value.absoluteValue == other.value.absoluteValue
fun abs() = this.value.absoluteValue
}
diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureBase.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureBase.kt
index 68533c821..437a13767 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureBase.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureBase.kt
@@ -360,7 +360,8 @@ interface CuedByWireChange {
*
* In the savegame's JSON, this flag set should be stored as signed integer.
*/
-inline class BlockBoxProps(val flags: Int) {
+@JvmInline
+value class BlockBoxProps(val flags: Int) {
}
diff --git a/src/net/torvald/terrarum/modulebasegame/icongen/IconGenMesh.kt b/src/net/torvald/terrarum/modulebasegame/icongen/IconGenMesh.kt
index 45e99b843..0f3609844 100644
--- a/src/net/torvald/terrarum/modulebasegame/icongen/IconGenMesh.kt
+++ b/src/net/torvald/terrarum/modulebasegame/icongen/IconGenMesh.kt
@@ -15,7 +15,8 @@ import net.torvald.terrarum.Point2d
*
* Created by minjaesong on 2020-02-11.
*/
-inline class IconGenMesh(val datapoints: Array) {
+@JvmInline
+value class IconGenMesh(val datapoints: Array) {
operator fun times(other: PerturbMesh) {
@@ -23,6 +24,7 @@ inline class IconGenMesh(val datapoints: Array) {
}
-inline class PerturbMesh(val datapoints: Array) {
+@JvmInline
+value class PerturbMesh(val datapoints: Array) {
}
\ No newline at end of file