Compare commits

...

25 Commits

Author SHA1 Message Date
minjaesong
8446cb2ecf fix: door won't consider the distance of the actor 2023-05-22 11:56:57 +09:00
minjaesong
07b44a92c5 reload() for dynamicitems 2023-05-22 11:46:06 +09:00
minjaesong
f12bf553ff door retains its apparance after load; autodoor is permissible for all IngamePlayers 2023-05-22 01:25:14 +09:00
minjaesong
3ba7ddd30e new toggler design 2023-05-21 20:46:54 +09:00
minjaesong
eee551058f graphics control panel reworked 2023-05-21 19:59:16 +09:00
minjaesong
974ad2ec50 loading process will try to unstuck the player if the player appears to stuck in the terrain 2023-05-21 16:57:28 +09:00
minjaesong
5d78df9e99 savegame listing - if multiple valid savegames with same UUID is there, only the most recent one is retained 2023-05-21 11:31:32 +09:00
minjaesong
6268b99c1c material and 5 temporary vectors no longer go into the savegame 2023-05-21 11:20:45 +09:00
minjaesong
b0d83325a7 lib cleanup 2023-05-19 14:53:29 +09:00
minjaesong
16ae3225e6 graalvm-js update 2023-05-19 14:19:39 +09:00
minjaesong
a587c86826 Terragen param adjustments 2023-05-17 21:00:02 +09:00
minjaesong
68b5d15944 disallowing nicknames (may contain non-ascii) on filename: somehow incompatible with BTRFS and Java 17? 2023-05-17 19:52:51 +09:00
minjaesong
4ba1173d8a fix: bad key assignments on Colemak keyboards 2023-05-17 13:43:20 +09:00
minjaesong
7e10039d29 no autocorrect on biomegen; code structure improvements 2023-05-17 09:52:28 +09:00
minjaesong
9e44ca93ab build_app_all.sh 2023-05-16 22:56:38 +09:00
minjaesong
8cb11d5c82 doors for test 2023-05-16 22:52:46 +09:00
minjaesong
ed7ca5c1a8 build script for linux-arm (untested) 2023-05-16 22:23:33 +09:00
minjaesong
aad258c054 more prominent torch flickering 2023-05-16 22:22:40 +09:00
minjaesong
79e7ef4da0 .icns and .jar to git-lfs 2023-05-16 13:48:27 +09:00
minjaesong
c74cfa6eb9 fix: lightbox would not load from save due to API change? idk but now savegame and avatar is incompatible 2023-05-16 01:05:31 +09:00
minjaesong
28c45b5756 fix: lowland and mountain clamping on Terragen, which was an issue persisting like 5 yrs 2023-05-16 00:43:51 +09:00
minjaesong
3911f86446 keyboard control panel renaming IME to Toggle IME 2023-05-15 19:42:29 +09:00
minjaesong
dfa1c7d73c more text on the config gui 2023-05-15 19:18:36 +09:00
minjaesong
1b0f233fcb mac app building with icons 2023-05-15 17:59:02 +09:00
minjaesong
ac3975e52f whyyyy 2023-05-15 16:18:59 +09:00
147 changed files with 1649 additions and 6180 deletions

2
.gitattributes vendored
View File

@@ -7,3 +7,5 @@
*.zip filter=lfs diff=lfs merge=lfs -text
*.kra filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.icns filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored
View File

@@ -2,6 +2,7 @@
out/*
bin/*
build/*
assets_release/*
.gradle/*
TerrarumBuild.jar
buildapp/out/Terrarum*

View File

@@ -11,78 +11,78 @@
<element id="extracted-dir" path="$PROJECT_DIR$/lib/TerrarumSansBitmap.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/jlayer-1.0.1-gdx.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/jorbis-0.0.17.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/graal-sdk-21.1.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/icu4j-68.2.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/js-21.1.0-edit.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/js-scriptengine-21.1.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/truffle-api-21.1.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/regex-21.1.0-edit.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-controllers-core-2.2.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/GetCpuName.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-reflect.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib-jdk7.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib-jdk8.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/prtree.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/commons-codec-1.15.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/jxinput-1.0.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-controllers-desktop-2.2.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.8.21/kotlin-stdlib-jdk8-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.8.21/kotlin-stdlib-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.21/kotlin-stdlib-common-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.8.21/kotlin-stdlib-jdk7-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.11.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-1.11.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.8.21/kotlin-stdlib-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-1.11.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.11.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.8.21/kotlin-stdlib-jdk7-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.21/kotlin-stdlib-common-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.8.21/kotlin-stdlib-jdk8-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib-jdk8.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib-jdk7.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-reflect.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/graal-sdk-22.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/icu4j-71.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/js-22.3.1-edit.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/js-scriptengine-22.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/regex-22.3.1-edit.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/truffle-api-22.3.1.jar" path-in-jar="/" />
</root>
</artifact>
</component>

View File

@@ -13,20 +13,10 @@
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-controllers-desktop-2.2.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/GetCpuName.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/jxinput-1.0.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-reflect.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib-jdk7.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib-jdk8.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/commons-csv-1.8.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/prtree.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/Terrarum_Joise.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/TerrarumSansBitmap.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/graal-sdk-21.1.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/icu4j-68.2.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/js-21.1.0-edit.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/js-scriptengine-21.1.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/truffle-api-21.1.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/regex-21.1.0-edit.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-1.11.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.11.0.jar" path-in-jar="/" />
@@ -82,11 +72,21 @@
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-armeabi-v7a.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-desktop.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-x86_64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-reflect/1.8.21/kotlin-reflect-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.8.21/kotlin-stdlib-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.21/kotlin-stdlib-common-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.21/kotlin-stdlib-common-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-test/1.8.21/kotlin-test-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-reflect/1.8.21/kotlin-reflect-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib-jdk8.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-reflect.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib-jdk7.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/graal-sdk-22.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/icu4j-71.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/js-22.3.1-edit.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/js-scriptengine-22.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/regex-22.3.1-edit.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/truffle-api-22.3.1.jar" path-in-jar="/" />
</root>
</artifact>
</component>

View File

@@ -1,14 +0,0 @@
<component name="libraryTable">
<library name="gdx-lwjgl3-glfw-awt-macos-1.11.0-javadoc">
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/gdx-lwjgl3-glfw-awt-macos-1.11.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-lwjgl3-glfw-awt-macos-1.11.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/gdx-lwjgl3-glfw-awt-macos-1.11.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/lib/gdx-lwjgl3-glfw-awt-macos-1.11.0-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,28 +0,0 @@
<component name="libraryTable">
<library name="graalvm-js-21.1.0 and graalvm-js-scriptengine-21.1.0">
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/graal-sdk-21.1.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/icu4j-68.2.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-21.1.0-edit.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-21.1.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/truffle-api-21.1.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/regex-21.1.0-edit.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/graal-sdk-21.1.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/icu4j-68.2-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-21.1.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-21.1.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/truffle-api-21.1.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/regex-21.1.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/lib/graal-sdk-21.1.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/icu4j-68.2-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-21.1.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-21.1.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/truffle-api-21.1.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/regex-21.1.0-sources.jar!/" />
</SOURCES>
</library>
</component>

28
.idea/libraries/graalvm_js_22_3_1.xml generated Normal file
View File

@@ -0,0 +1,28 @@
<component name="libraryTable">
<library name="graalvm-js 22.3.1">
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/graal-sdk-22.3.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/icu4j-71.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-22.3.1-edit.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-22.3.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/regex-22.3.1-edit.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/truffle-api-22.3.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/graal-sdk-22.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/icu4j-71.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-22.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-22.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/regex-22.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/truffle-api-22.3.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/lib/graal-sdk-22.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/icu4j-71.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-22.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-22.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/regex-22.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/truffle-api-22.3.1-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -9,7 +9,7 @@
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="ModuleComputersLib" level="project" />
<orderEntry type="module" module-name="TerrarumBuild" />
<orderEntry type="library" name="graalvm-js-21.1.0 and graalvm-js-scriptengine-21.1.0" level="project" />
<orderEntry type="library" name="graalvm-js 22.3.1" level="project" />
<orderEntry type="library" name="TerrarumSansBitmap" level="project" />
<orderEntry type="library" name="badlogicgames.gdx" level="project" />
<orderEntry type="library" name="badlogicgames.gdx.backend.lwjgl3" level="project" />

View File

@@ -24,7 +24,7 @@ class ItemHomeComputer(originalID: ItemID) : GameItem(originalID) {
override var inventoryCategory = Category.MISC
override val isUnique = false
override val isDynamic = false
override val material = Material()
override val materialId = ""
override val itemImage: TextureRegion
get() = FixtureItemBase.getItemImageFromSheet("dwarventech", "sprites/fixtures/desktop_computer.tga", TerrarumAppConfiguration.TILE_SIZE, TerrarumAppConfiguration.TILE_SIZE)
override var baseToolSize: Double? = baseMass

View File

@@ -32,7 +32,7 @@ class ItemWearableWorldRadar(originalID: String) {// : GameItem(originalID) {
override var inventoryCategory = Category.TOOL
override val isUnique = false
override val isDynamic = true
override val material = Material()
override val materialId = ""
override val itemImage: TextureRegion
get() = FixtureItemBase.getItemImageFromSingleImage("basegame", "sprites/fixtures/signal_source.tga")

View File

@@ -18,7 +18,7 @@
<orderEntry type="library" name="gdx-controllers-desktop-2.2.1" level="project" />
<orderEntry type="library" name="jxinput-1.0.0" level="project" />
<orderEntry type="library" name="gdx-platform-1.11.0-natives" level="project" />
<orderEntry type="library" name="graalvm-js-21.1.0 and graalvm-js-scriptengine-21.1.0" level="project" />
<orderEntry type="library" name="graalvm-js 22.3.1" level="project" />
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
<orderEntry type="library" name="badlogicgames.gdx" level="project" />
<orderEntry type="library" name="badlogicgames.gdx.backend.lwjgl3" level="project" />

Binary file not shown.

View File

@@ -65,12 +65,12 @@
["<ENVELOPE>"],
["\n"],
["\x08"],
["`","~","\u0303",""],
["`","~","\u0300","\u0303"],
["-","_","","—"],
["=","+","×","÷"],
["[","{","«",""],
["]","}","»",""],
["\\","|","~","¦"],
["\\","|","¬","¦"],
["o","O","ó","Ó"],
["'",'"',"õ","Õ"],
["/","?","¿","§"],

View File

@@ -65,12 +65,12 @@
["<ENVELOPE>"],
["\n"],
["\x08"],
["`","~","\u0303",""],
["`","~","\u0300","\u0303"],
["-","_","","—"],
["=","+","×","÷"],
["[","{","«",""],
["]","}","»",""],
["\\","|","~","¦"],
["\\","|","¬","¦"],
["o","O","ó","Ó"],
["'",'"',"õ","Õ"],
["/","?","¿","§"],

View File

@@ -22,5 +22,9 @@
"MENU_OPTIONS_PARTICLES": "Particles",
"MENU_IO_IMPORT": "Import",
"APP_NOMODULE_1": "No Module is currently loaded.",
"APP_NOMODULE_2": "Please configure your Load Order and restart:"
"APP_NOMODULE_2": "Please configure your Load Order and restart:",
"MENU_LABEL_KEYCONFIG_HELP1": "Click On the Keycap to Assign Actions",
"MENU_LABEL_IME_TOGGLE": "Toggle IME",
"MENU_LABEL_PASTE_FROM_CLIPBOARD": "Paste from Cliboard",
"MENU_OPTIONS_PERFORMANCE": "Performance"
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +0,0 @@
{
"MENU_LABEL_COPYRIGHT": "ちょさくけん",
"COPYRIGHT_ALL_RIGHTS_RESERVED": "ぜんちょさくけん しょゆう",
"COPYRIGHT_GNU_GPL_3": "GNU GPL 3で はいふ",
"APP_WARNING_HEALTH_AND_SAFETY": "けいこくーけんこうと あんぜんの ために",
"MENU_LABEL_PRESS_START_SYMBOL": "> ボタンを おす",
"MENU_MODULES" : "モジュール"
}

View File

@@ -21,5 +21,9 @@
"MENU_OPTIONS_PARTICLES": "입자 수",
"MENU_IO_IMPORT": "가져오기",
"APP_NOMODULE_1": "현재 불러와진 모듈이 없습니다.",
"APP_NOMODULE_2": "다음의 파일에서 불러오기 순서를 설정하고 게임을 재시작하십시오."
"APP_NOMODULE_2": "다음의 파일에서 불러오기 순서를 설정하고 게임을 재시작하십시오.",
"MENU_LABEL_KEYCONFIG_HELP1": "키캡을 클릭해 컨트롤을 배정하십시오",
"MENU_LABEL_IME_TOGGLE": "입력기 켜고 끄기",
"MENU_LABEL_PASTE_FROM_CLIPBOARD": "복사한 텍스트 붙여넣기",
"MENU_OPTIONS_PERFORMANCE": "성능"
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,23 +0,0 @@
{
"CONTEXT_CHARACTER": "캐리ᄀ터",
"MENU_LABEL_COPYRIGHT": "저자ᄀ구ᅥᄂ",
"COPYRIGHT_ALL_RIGHTS_RESERVED": "모드ᄂ 구ᅥᄂ리 보유",
"COPYRIGHT_GNU_GPL_3": "GNU GPL 3에 ᄃ다라 배포도ᅵᄆ",
"APP_WARNING_HEALTH_AND_SAFETY": "겨ᄋ고—거ᄂ가ᄋ고ᅡ 아ᄂ저ᄂ으ᄅ 우ᅵ하여",
"MENU_LABEL_PRESS_START_SYMBOL": ">으ᄅ 누르세요",
"MENU_MODULES" : "모듀ᄅ",
"GAME_ACTION_MOVE_VERB" : "이도ᄋ하기",
"GAME_ACTION_ZOOM" : "호ᅡᄀ대·추ᄀ소",
"MENU_LABEL_RESET" : "재서ᄅ저ᄋ",
"GAME_32BIT_WARNING1": "32비트 버저ᄂ으ᅵ Java르ᄅ 사요ᄋ주ᄋ이ᄂ 거ᄉ 가ᄐ스ᄇ니다.",
"GAME_32BIT_WARNING2": "아래 리ᄋ크에서 초ᅵ시ᄂ 64비트 Java르ᄅ 내려바ᄃ아 서ᄅ치해주세요.",
"GAME_32BIT_WARNING3": "https://www.java.com/ko/download/",
"MENU_OPTION_STREAMERS_LAYOUT": "채티ᄋ차ᄋ 오버레이",
"MENU_LABEL_RESTART_REQUIRED": "재시자ᄀ 피ᄅ요",
"MENU_LABEL_KEYBOARD_LAYOUT": "자파ᄂ 배여ᄅ",
"MENU_LABEL_IME": "이ᄇ려ᄀ기",
"MENU_OPTIONS_DITHER": "디더리ᄋ",
"MENU_OPTIONS_BLUR": "흐리ᄆ",
"MENU_OPTIONS_PARTICLES": "이ᄇ자 수",
"MENU_IO_IMPORT": "가져오기"
}

Binary file not shown.

View File

@@ -9,6 +9,9 @@ id;classname
9;net.torvald.terrarum.modulebasegame.gameitems.WireCutterAll
10;net.torvald.terrarum.modulebasegame.gameitems.ItemTypewriter
256;net.torvald.terrarum.modulebasegame.gameitems.ItemSwingingDoorOak
257;net.torvald.terrarum.modulebasegame.gameitems.ItemSwingingDoorEbony
258;net.torvald.terrarum.modulebasegame.gameitems.ItemSwingingDoorBirch
259;net.torvald.terrarum.modulebasegame.gameitems.ItemSwingingDoorRosewood
999998;net.torvald.terrarum.modulebasegame.gameitems.ItemTestDoor
999999;net.torvald.terrarum.modulebasegame.gameitems.ItemTapestry
1 id classname
9 9 net.torvald.terrarum.modulebasegame.gameitems.WireCutterAll
10 10 net.torvald.terrarum.modulebasegame.gameitems.ItemTypewriter
11 999998 256 net.torvald.terrarum.modulebasegame.gameitems.ItemTestDoor net.torvald.terrarum.modulebasegame.gameitems.ItemSwingingDoorOak
12 257 net.torvald.terrarum.modulebasegame.gameitems.ItemSwingingDoorEbony
13 258 net.torvald.terrarum.modulebasegame.gameitems.ItemSwingingDoorBirch
14 259 net.torvald.terrarum.modulebasegame.gameitems.ItemSwingingDoorRosewood
15 999999 net.torvald.terrarum.modulebasegame.gameitems.ItemTapestry
16
17

View File

@@ -1,14 +0,0 @@
{
"CONTEXT_WORLD_NEW": "あたらしい せかい",
"MENU_LABEL_DELETE_WORLD": "せかいを さくじょ",
"CONTEXT_WORLD_COUNT": "せかい: ",
"MENU_MONITOR_CALI_TITLE": "モニターチェック",
"GAME_INVENTORY_INGREDIENTS" : "ざいりょう",
"GAME_INVENTORY_POTIONS" : "すいやく",
"GAME_INVENTORY_BLOCKS" : "ブロック",
"GAME_INVENTORY_WALLS" : "かべ",
"CONTEXT_ITEM_TOOL_PLURAL" : "どうぐ",
"GAME_INVENTORY_FAVORITES" : "とうろく"
}

View File

@@ -1,78 +0,0 @@
{
"BLOCK_STONE": "도ᄅ",
"BLOCK_STONE_PLURAL": "도ᄅ",
"BLOCK_DIRT": "흐ᄅᄀ",
"BLOCK_DIRT_PLURAL": "흐ᄅᄀ",
"BLOCK_GRASS": "자ᄂ디",
"BLOCK_GRAS_PLURALS": "자ᄂ디",
"BLOCK_PLANK_NORMAL": "나무파ᄂ자",
"BLOCK_PLANK_NORMAL_PLURAL": "나무파ᄂ자",
"BLOCK_PLANK_EBONY": "거ᄆ저ᄋ 나무파ᄂ자",
"BLOCK_PLANK_EBONY_PLURAL": "거ᄆ저ᄋ 나무파ᄂ자",
"BLOCK_PLANK_BIRCH": "하야ᄋ 나무파ᄂ자",
"BLOCK_PLANK_BIRCH_PLURAL": "하야ᄋ 나무파ᄂ자",
"BLOCK_PLANK_BLOODROSE": "ᄇ바ᄅ가ᄋ 나무파ᄂ자",
"BLOCK_PLANK_BLOODROSE_PLURAL": "ᄇ바ᄅ가ᄋ 나무파ᄂ자",
"BLOCK_TRUNK_NORMAL": "토ᄋ나무",
"BLOCK_TRUNK_NORMAL_PLURAL": "토ᄋ나무",
"BLOCK_TRUNK_EBONY": "흐ᄀ다ᄂ나무",
"BLOCK_TRUNK_EBONY_PLURAL": "흐ᄀ다ᄂ나무",
"BLOCK_TRUNK_BIRCH": "자자ᄀ나무",
"BLOCK_TRUNK_BIRCH_PLURAL": "자자ᄀ나무",
"BLOCK_TRUNK_BLOODROSE": "자다ᄂ나무",
"BLOCK_TRUNK_BLOODROSE_PLURAL": "자다ᄂ나무",
"BLOCK_STONE_QUARRIED": "서ᄀ재",
"BLOCK_STONE_QUARRIED_PLURAL": "서ᄀ재",
"BLOCK_SAND": "모래",
"BLOCK_SAND_PLURAL": "모래",
"BLOCK_GRAVEL": "자가ᄅ",
"BLOCK_GRAVEL_PLURAL": "자가ᄅ",
"BLOCK_ORE_MALACHITE": "고ᄋ자ᄀ서ᄀ",
"BLOCK_ORE_MALACHITES": "고ᄋ자ᄀ서ᄀ",
"BLOCK_ORE_HEMATITE": "저ᄀ처ᄅ서ᄀ",
"BLOCK_ORE_HEMATITE_PLURAL": "저ᄀ처ᄅ서ᄀ",
"BLOCK_ORE_NATURAL_GOLD": "자여ᄂ그ᄆ",
"BLOCK_ORE_NATERAL_GOLD_PLURAL": "자여ᄂ그ᄆ",
"BLOCK_ORE_NATURAL_SILVER": "자여ᄂ으ᄂ",
"BLOCK_ORE_NATURAL_SILVER_PLURAL": "자여ᄂ으ᄂ",
"BLOCK_ORE_RUTILE": "그ᄆ호ᄋ서ᄀ",
"BLOCK_ORE_RUTILE_PLURAL": "그ᄆ호ᄋ서ᄀ",
"BLOCK_ORE_AURICHALCUMITE": "지ᄂ그ᄆ서ᄀ",
"BLOCK_ORE_AURICHALCUMITE_PLURAL": "지ᄂ그ᄆ서ᄀ",
"BLOCK_GEM_RUBY": "호ᄋ오ᄀ서ᄀ",
"BLOCK_GEM_RUBY_PLURAL": "호ᄋ오ᄀ서ᄀ",
"BLOCK_GEM_EMERALD": "추ᅵ오ᄀ서ᄀ",
"BLOCK_GEM_EMERALD_PLURAL": "추ᅵ오ᄀ서ᄀ",
"BLOCK_GEM_SAPPHIRE": "처ᄋ오ᄀ서ᄀ",
"BLOCK_GEM_SAPPHIRE_PLURAL": "처ᄋ오ᄀ서ᄀ",
"BLOCK_GEM_TOPAZ": "호ᅡᄋ오ᄀ서ᄀ",
"BLOCK_GEM_TOPAZ_PLURAL": "호ᅡᄋ오ᄀ서ᄀ",
"BLOCK_GEM_DIAMOND": "그ᄆ가ᄋ서ᄀ",
"BLOCK_GEM_DIAMOND_PLURAL": "그ᄆ가ᄋ서ᄀ",
"BLOCK_GEM_AMETHYST": "자수저ᄋ서ᄀ",
"BLOCK_GEM_AMETHYST_PLURAL": "자수저ᄋ서ᄀ",
"BLOCK_SNOW": "누ᄂ",
"BLOCK_SNOW_PLURAL": "누ᄂ",
"BLOCK_ICE_FRAGILE": "사ᄅ어ᄅ으ᄆ",
"BLOCK_ICE_FRAGILE_PLURAL": "사ᄅ어ᄅ으ᄆ",
"BLOCK_ICE_NATURAL": "어ᄅ으ᄆ",
"BLOCK_ICE_NATURAL_PLURAL": "어ᄅ으ᄆ",
"BLOCK_ICE_CLEAR_MAGICAL": "ᄀ개ᄀ그ᄉ하ᄂ 어ᄅ으ᄆ",
"BLOCK_ICE_CLEAR_MAGICAL_PLURAL": "ᄀ개ᄀ그ᄉ하ᄂ 어ᄅ으ᄆ",
"BLOCK_PLATFORM_STONE": "도ᄅ 바ᄅ파ᄂ",
"BLOCK_PLATFORM_STONE_PLURAL": "도ᄅ 바ᄅ파ᄂ",
"BLOCK_PLATFORM_WOODEN": "나무 바ᄅ파ᄂ",
"BLOCK_PLATFORM_WOODEN_PLURAL": "나무 바ᄅ파ᄂ",
"BLOCK_PLATFORM_EBONY": "흐ᄀ다ᄂ 바ᄅ파ᄂ",
"BLOCK_PLATFORM_EBONY_PLURAL": "흐ᄀ다ᄂ 바ᄅ파ᄂ",
"BLOCK_PLATFORM_BIRCH": "배ᄀ다ᄂ 바ᄅ파ᄂ",
"BLOCK_PLATFORM_BIRCH_PLURAL": "배ᄀ다ᄂ 바ᄅ파ᄂ",
"BLOCK_PLATFORM_BLOODROSE": "저ᄀ다ᄂ 바ᄅ파ᄂ",
"BLOCK_PLATFORM_BLOODROSE_PLURAL": "저ᄀ다ᄂ 바ᄅ파ᄂ",
"BLOCK_TORCH": "호ᅢᄉ부ᄅ",
"BLOCK_TORCH_PLURAL": "호ᅢᄉ부ᄅ",
"BLOCK_WATER": "무ᄅ",
"BLOCK_WATER_PLURAL": "무ᄅ",
"BLOCK_LAVA": "요ᄋ아ᄆ",
"BLOCK_LAVA_PLURAL": "요ᄋ아ᄆ"
}

View File

@@ -1,5 +0,0 @@
{
"DEV_MESSAGE_CONSOLE_CODEX": "사요ᄋ 가느ᄋ하ᄂ 며ᄋ려ᄋ어 모ᄀ로ᄀ으ᄅ 보려며ᄂ codex르ᄅ 이ᄇ려ᄀ해 주시ᄇ시오.",
"DEV_MESSAGE_CONSOLE_AVAILABLE_COMMANDS": "며ᄋ려ᄋ어 모ᄀ로ᄀ:",
"DEV_MESSAGE_CONSOLE_COMMAND_UNKNOWN": "%1$s: 아ᄅ 수 어ᄇᄉ느ᄂ 며ᄋ려ᄋ어"
}

View File

@@ -1,18 +0,0 @@
{
"CONTEXT_WORLD_NEW": "새 세계",
"MENU_LABEL_DELETE_WORLD": "새계 사ᄀ제",
"CONTEXT_WORLD_COUNT": "새계: ",
"MENU_MONITOR_CALI_TITLE": "모니터 호ᅡᄀ이ᄂ",
"GAME_INVENTORY_INGREDIENTS": "재료",
"GAME_INVENTORY_POTIONS": "무ᄅ야ᄀ",
"GAME_INVENTORY_BLOCKS": "브ᄅ로ᄀ",
"GAME_INVENTORY_WALLS": "벼ᄀ지",
"CONTEXT_ITEM_TOOL_PLURAL": "도구",
"GAME_INVENTORY_FAVORITES": "즈ᄅ겨차ᄌ기",
"GAME_INVENTORY_REGISTER": "드ᄋ로ᄀ하기",
"MENU_LABEL_MENU": "메뉴",
"CONTEXT_ITEM_MAP": "지도",
"CONTEXT_GENERATOR_SEED": "시드",
"GAME_ACTION_GRAPPLE": "매다ᄅ리기",
"GAME_ACTION_QUICKSEL": "빠르ᄂ 서ᄂ태ᄀ"
}

View File

@@ -1,3 +0,0 @@
{
"ITEM_STORAGE_CHEST": "보고ᅡᄂ사ᄋ자"
}

BIN
buildapp/AppIcon.icns Normal file

Binary file not shown.

7
buildapp/build_app_all.sh Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
./build_app_linux_arm.sh
./build_app_linux_x86.sh
./build_app_mac_arm.sh
./build_app_mac_x86.sh
./build_app_windows_x86.sh

View File

@@ -31,7 +31,7 @@ mv $DESTDIR/assets_release $DESTDIR/assets
cp -r "../out/TerrarumBuild.jar" $DESTDIR/assets/
# Pack everything to AppImage
"./$APPIMAGETOOL" $DESTDIR "out/$DESTDIR.AppImage" || { echo 'Building AppImage failed' >&2; exit 1; }
ARCH=arm_aarch64 "./$APPIMAGETOOL" $DESTDIR "out/$DESTDIR.AppImage" || { echo 'Building AppImage failed' >&2; exit 1; }
chmod +x "out/$DESTDIR.AppImage"
rm -rf $DESTDIR || true
echo "Build successful: $DESTDIR"

View File

@@ -16,9 +16,10 @@ rm -rf $DESTDIR || true
mkdir $DESTDIR
mkdir $DESTDIR/Contents
mkdir $DESTDIR/Contents/MacOS
mkdir $DESTDIR/Contents/Resources
# Prepare an application
cp icns.png $DESTDIR/.icns
cp AppIcon.icns $DESTDIR/Contents/Resources/AppIcon.icns
cp $SRCFILES/Info.plist $DESTDIR/Contents/
cp $SRCFILES/Terrarum.sh $DESTDIR/Contents/MacOS/
chmod +x $DESTDIR/Contents/MacOS/Terrarum.sh
@@ -30,5 +31,5 @@ cp -r "../out/$RUNTIME" $DESTDIR/Contents/MacOS/
cp -r "../assets_release" $DESTDIR/Contents/MacOS/
mv $DESTDIR/Contents/MacOS/assets_release $DESTDIR/Contents/MacOS/assets
cp -r "../out/TerrarumBuild.jar" $DESTDIR/Contents/MacOS/assets/
zip -r -9 -l $DESTDIR.zip $DESTDIR
echo "Build successful: $DESTDIR"

View File

@@ -16,9 +16,10 @@ rm -rf $DESTDIR || true
mkdir $DESTDIR
mkdir $DESTDIR/Contents
mkdir $DESTDIR/Contents/MacOS
mkdir $DESTDIR/Contents/Resources
# Prepare an application
cp icns.png $DESTDIR/.icns
cp AppIcon.icns $DESTDIR/Contents/Resources/AppIcon.icns
cp $SRCFILES/Info.plist $DESTDIR/Contents/
cp $SRCFILES/Terrarum.sh $DESTDIR/Contents/MacOS/
chmod +x $DESTDIR/Contents/MacOS/Terrarum.sh
@@ -30,5 +31,5 @@ cp -r "../out/$RUNTIME" $DESTDIR/Contents/MacOS/
cp -r "../assets_release" $DESTDIR/Contents/MacOS/
mv $DESTDIR/Contents/MacOS/assets_release $DESTDIR/Contents/MacOS/assets
cp -r "../out/TerrarumBuild.jar" $DESTDIR/Contents/MacOS/assets/
zip -r -9 -l $DESTDIR.zip $DESTDIR
echo "Build successful: $DESTDIR"

Binary file not shown.

View File

@@ -56,6 +56,14 @@ 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.
### OSX .icns creation
0. Do this on a real macOS
1. Create a folder `icon.iconset`, then cp the .png file as `icon_512x512.png`
2. On Terminal, `iconutil -c icns icon.iconset`
https://gist.github.com/jamieweavis/b4c394607641e1280d447deed5fc85fc
#### Some Notes
- Windows EXE creation is not there yet. Maybe use one of [these?](https://sourceforge.net/projects/batch-compiler/)

View File

@@ -4,4 +4,5 @@
<key>CFBundleExecutable</key><string>Terrarum.sh</string>
<key>CFBundleDisplayName</key><string>Terrarum</string>
<key>CFBundleName</key><string>Terrarum</string>
<key>CFBundleIconFile</key><string>AppIcon.icns</string>
</dict></plist>

View File

@@ -4,4 +4,5 @@
<key>CFBundleExecutable</key><string>Terrarum.sh</string>
<key>CFBundleDisplayName</key><string>Terrarum</string>
<key>CFBundleName</key><string>Terrarum</string>
<key>CFBundleIconFile</key><string>AppIcon.icns</string>
</dict></plist>

View File

@@ -0,0 +1,20 @@
## How To Edit the Graaljs Jars
0. Download following from Maven:
org.graalvm.js:js:00.0.0
org.graalvm.js:js-scriptengine:00.0.0
1. grab `js-00.0.0.jar`
2. on `META-INF/services/com.oracle.truffle.api.TruffleLanguage$Provider`, edit as shown:
com.oracle.truffle.js.lang.JavaScriptLanguageProvider (existing line)
com.oracle.truffle.regex.RegexLanguageProvider (<< add this line)
3. grab `regex-00.0.0.jar`
4. on `META-INF/services/com.oracle.truffle.api.TruffleLanguage$Provider`, edit as shown:
com.oracle.truffle.regex.RegexLanguageProvider (existing line)
com.oracle.truffle.js.lang.JavaScriptLanguageProvider (<< add this line)
5. Re-zip two files

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/graal-sdk-22.3.1-javadoc.jar LFS Normal file

Binary file not shown.

BIN
lib/graal-sdk-22.3.1-sources.jar LFS Normal file

Binary file not shown.

BIN
lib/graal-sdk-22.3.1.jar LFS Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/icu4j-71.1-javadoc.jar LFS Normal file

Binary file not shown.

BIN
lib/icu4j-71.1-sources.jar LFS Normal file

Binary file not shown.

BIN
lib/icu4j-71.1.jar LFS Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/js-22.3.1-edit.jar LFS Normal file

Binary file not shown.

BIN
lib/js-22.3.1-javadoc.jar LFS Normal file

Binary file not shown.

BIN
lib/js-22.3.1-sources.jar LFS Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/js-scriptengine-22.3.1.jar LFS Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/regex-22.3.1-edit.jar LFS Normal file

Binary file not shown.

BIN
lib/regex-22.3.1-javadoc.jar LFS Normal file

Binary file not shown.

BIN
lib/regex-22.3.1-sources.jar LFS Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/truffle-api-22.3.1.jar LFS Normal file

Binary file not shown.

View File

@@ -1,6 +1,6 @@
package net.torvald.parametricsky.datasets
import net.torvald.terrarum.serialise.toLittleLong
import net.torvald.terrarum.serialise.toLittleInt64
import java.io.File
import java.io.FileInputStream
@@ -14,7 +14,7 @@ object DatasetOp {
val ret = DoubleArray(entrysize) {
val inputbuf = ByteArray(8)
fis.read(inputbuf)
val rawnum = inputbuf.toLittleLong()
val rawnum = inputbuf.toLittleInt64()
Double.fromBits(rawnum)
}

View File

@@ -22,29 +22,19 @@ object CommonResourcePool {
init {
addToLoadingList("itemplaceholder_16") {
val t = TextureRegion(Texture("assets/item_kari_16.tga"))
t.flip(false, false)
/*return*/t
TextureRegion(Texture("assets/item_kari_16.tga")).also { it.flip(false, false) }
}
addToLoadingList("itemplaceholder_24") {
val t = TextureRegion(Texture("assets/item_kari_24.tga"))
t.flip(false, false)
/*return*/t
TextureRegion(Texture("assets/item_kari_24.tga")).also { it.flip(false, false) }
}
addToLoadingList("itemplaceholder_32") {
val t = TextureRegion(Texture("assets/item_kari_32.tga"))
t.flip(false, false)
/*return*/t
TextureRegion(Texture("assets/item_kari_32.tga")).also { it.flip(false, false) }
}
addToLoadingList("itemplaceholder_48") {
val t = TextureRegion(Texture("assets/item_kari_48.tga"))
t.flip(false, false)
/*return*/t
TextureRegion(Texture("assets/item_kari_48.tga")).also { it.flip(false, false) }
}
addToLoadingList("test_texture") {
val t = TextureRegion(Texture("assets/test_texture.tga"))
t.flip(false, false)
/*return*/t
TextureRegion(Texture("assets/test_texture.tga")).also { it.flip(false, false) }
}
loadAll()
}
@@ -130,7 +120,7 @@ object CommonResourcePool {
fun getAsTexture(identifier: String) = getAs<Texture>(identifier)
fun dispose() {
pool.forEach { name, u ->
pool.forEach { (name, u) ->
try {
when {
u is Disposable -> u.dispose()

View File

@@ -3,6 +3,12 @@ package net.torvald.terrarum
typealias ItemValue = KVHashMap
/**
* Supported Value Types:
* - Int
* - Double (`getAsFloat()` first retrieves the Double value then casts to Float)
* - Boolean
* - String
*
* Created by minjaesong on 2015-12-30.
*/
open class KVHashMap {
@@ -42,47 +48,29 @@ open class KVHashMap {
}
fun getAsInt(key: String): Int? {
val value = get(key)
if (value == null) return null
val value = get(key) ?: return null
return value as Int
}
fun getAsDouble(key: String): Double? {
val value = get(key)
if (value == null) return null
if (value is Int)
return value.toDouble()
val value = get(key) ?: return null
if (value is Int) return value.toDouble()
return value as Double
}
fun getAsFloat(key: String): Float? {
val value = get(key)
if (value == null) return null
if (value is Float) return value as Float
val value = get(key) ?: return null
if (value is Float) return value
return getAsDouble(key)?.toFloat()
}
fun getAsString(key: String): String? {
val value = get(key)
if (value == null) return null
val value = get(key) ?: return null
return value as String
}
fun getAsBoolean(key: String): Boolean? {
val value = get(key)
if (value == null) return null
val value = get(key) ?: return null
return value as Boolean
}

View File

@@ -788,7 +788,7 @@ fun AppUpdateListOfSavegames() {
// create list of worlds
File(worldsDir).listFiles().filter { !it.isDirectory && !it.name.contains('.') }.mapNotNull { file ->
try {
DiskSkimmer(file, Common.CHARSET, true)
DiskSkimmer(file, true)
}
catch (e: Throwable) {
System.err.println("Unable to load a world file ${file.absolutePath}")
@@ -802,9 +802,13 @@ fun AppUpdateListOfSavegames() {
val jsonFile = it.getFile(SAVEGAMEINFO)!!
val json = JsonReader().parse(ByteArray64Reader(jsonFile.bytes, Common.CHARSET).readText())
val worldUUID = UUID.fromString(json.getString("worldIndex"))
App.savegameWorlds[worldUUID] = it
App.savegameWorldsName[worldUUID] = it.getDiskName(Common.CHARSET)
App.sortedSavegameWorlds.add(worldUUID)
// if multiple valid savegames with same UUID exist, only the most recent one is retained
if (!App.savegameWorlds.contains(worldUUID)) {
App.savegameWorlds[worldUUID] = it
App.savegameWorldsName[worldUUID] = it.getDiskName(Common.CHARSET)
App.sortedSavegameWorlds.add(worldUUID)
}
}
@@ -814,7 +818,7 @@ fun AppUpdateListOfSavegames() {
// create list of players
File(playersDir).listFiles().filter { !it.isDirectory && !it.name.contains('.') }.mapNotNull { file ->
try {
DiskSkimmer(file, Common.CHARSET, true)
DiskSkimmer(file, true)
}
catch (e: Throwable) {
System.err.println("Unable to load a player file ${file.absolutePath}")
@@ -828,9 +832,13 @@ fun AppUpdateListOfSavegames() {
val jsonFile = it.getFile(SAVEGAMEINFO)!!
val json = JsonReader().parse(ByteArray64Reader(jsonFile.bytes, Common.CHARSET).readText())
val playerUUID = UUID.fromString(json.getString("uuid"))
App.savegamePlayers[playerUUID] = it
App.savegamePlayersName[playerUUID] = it.getDiskName(Common.CHARSET)
App.sortedPlayers.add(playerUUID)
// if multiple valid savegames with same UUID exist, only the most recent one is retained
if (!App.savegamePlayers.contains(playerUUID)) {
App.savegamePlayers[playerUUID] = it
App.savegamePlayersName[playerUUID] = it.getDiskName(Common.CHARSET)
App.sortedPlayers.add(playerUUID)
}
}
}

View File

@@ -6,6 +6,7 @@ import com.badlogic.gdx.graphics.Pixmap
import com.badlogic.gdx.graphics.Texture
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.langpack.Lang
import net.torvald.terrarum.ui.*
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
import kotlin.math.roundToInt
@@ -41,6 +42,18 @@ class UIItemInventoryCatBar(
arrayOf(GameItem.Category.MISC),
arrayOf(CAT_ALL)
)
internal val catIconsLabels = listOf(
{ Lang["GAME_INVENTORY_WEAPONS"] },
{ Lang["CONTEXT_ITEM_TOOL_PLURAL"] },
{ Lang["CONTEXT_ITEM_ARMOR"] },
{ Lang["GAME_INVENTORY_INGREDIENTS"] },
{ Lang["GAME_INVENTORY_POTIONS"] },
{ Lang["CONTEXT_ITEM_MAGIC"] },
{ Lang["GAME_INVENTORY_BLOCKS"] },
{ Lang["GAME_INVENTORY_WALLS"] },
{ Lang["GAME_GENRE_MISC"] },
{ Lang["MENU_LABEL_ALL"] },
)
private val inventoryUI = parentUI
@@ -274,12 +287,17 @@ class UIItemInventoryCatBar(
batch.color = underlineColour
Toolkit.drawStraightLine(batch, posX, posY + height - 1, posX + width, 1, false)
// indicator
if (selectedPanel == 1) {
// indicator
batch.color = underlineHighlightColour
batch.draw(underlineIndTex, (highlighterXPos - buttonGapSize / 2).toFloat().round(), posY + highlighterYPos)
}
batch.draw(underlineIndTex, (highlighterXPos - buttonGapSize / 2).round(), posY + highlighterYPos)
// label
batch.color = Color.WHITE
catIconsLabels[selectedIcon]().let {
App.fontGame.draw(batch, it, posX + ((width - App.fontGame.getWidth(it)) / 2).toFloat(), posY + highlighterYPos + 4)
}
}
}

View File

@@ -13,8 +13,8 @@ import net.torvald.terrarum.weather.WeatherMixer
*/
object BlockPropUtil {
//var flickerFuncX: Second = 0f // saves current status (time) of func
val flickerFuncDomain: Second = 0.08f // time between two noise sample
val flickerFuncRange = 0.022f // intensity [0, 1]
val flickerFuncDomain: Second = 0.06f // time between two noise sample
val flickerFuncRange = 0.036f // intensity [0, 1]
//var breathFuncX = 0f
val breathRange = 0.02f

View File

@@ -50,10 +50,7 @@ object AVKey {
const val STRENGTH = "strength"
const val STRENGTHBUFF = "$STRENGTH$BUFF"
const val ENCUMBRANCE = "encumbrance"
/** 30-bit RGB (Int)
* 0000 0010000000 0010000000 0010000000
* ^ Red ^ Green ^ Blue
*/
const val LUMR = "luminosityred"
const val LUMG = "luminositygreen"
const val LUMB = "luminosityblue"
@@ -142,4 +139,14 @@ object AVKey {
const val BAREHAND_MINHEIGHT = "barehandactionminheight"
const val BAREHAND_BASE_DIGSIZE = "basebarehanddiggingsize"
/** String
* Comma-separated values of UUID for the world, Ascii85-encoded, big endian.
*
* Use extension function `UUID.toAscii85()` and `String.ascii85toUUID()` defined in the file for net.torvald.terrarum.serialise.Ascii85
*
* example value: `"SIxM+kGlrjZgLx5Zeqz7,;:UIZ5Q=2WT35SgKpOp.,vvf'fNW3G<ROimy(Y;E<,-mdtr5|^RGOqr0x*T*lC,YABr1oQwErKG)pGC'gUG"`
*/
const val WORLD_PORTAL_DICT = ""
}

View File

@@ -74,10 +74,10 @@ abstract class Actor : Comparable<Actor>, Runnable {
fun Int.sign(): Int = if (this > 0) 1 else if (this < 0) -1 else 0
/* called when the actor is loaded from the save; one use of this function is to "re-sync" the
* Transient variables such as `mainUI` of FixtureBase
*/
open fun reload() {
/* called when the actor is loaded from the save; one use of this function is to "re-sync" the
* Transient variables such as `mainUI` of FixtureBase
*/
actorValue.actor = this
if (this is Pocketed)

View File

@@ -3,6 +3,8 @@ package net.torvald.terrarum.gameactors
import net.torvald.terrarum.KVHashMap
/**
* For the dictionary of recognised ActorValues, see the source code of [net.torvald.terrarum.gameactors.AVKey]
*
* Created by minjaesong on 2017-04-28.
*/
class ActorValue : KVHashMap {

View File

@@ -50,7 +50,7 @@ open class ActorWithBody : Actor {
*
* NOTE: MUST NOT SERIALISE (use `@Transient`)
*/
open var lightBoxList: List<Lightbox> = emptyList()
open var lightBoxList: ArrayList<Lightbox> = arrayListOf() // must use ArrayList: has no-arg constructor
/**
* Arguments:
@@ -60,7 +60,7 @@ open class ActorWithBody : Actor {
*
* NOTE: MUST NOT SERIALISE (use `@Transient`)
*/
open var shadeBoxList: List<Lightbox> = emptyList()
open var shadeBoxList: ArrayList<Lightbox> = arrayListOf() // must use ArrayList: has no-arg constructor
// end of Luminous
protected constructor() : super()
@@ -433,15 +433,15 @@ open class ActorWithBody : Actor {
}
// get() methods are moved to update(), too much stray object being created is definitely not good
val centrePosVector: Vector2 = Vector2(0.0,0.0)
@Transient val centrePosVector: Vector2 = Vector2(0.0,0.0)
//get() = Vector2(hitbox.centeredX, hitbox.centeredY)
val centrePosPoint: Point2d = Point2d(0.0, 0.0)
@Transient val centrePosPoint: Point2d = Point2d(0.0, 0.0)
//get() = Point2d(hitbox.centeredX, hitbox.centeredY)
val feetPosVector: Vector2 = Vector2(0.0,0.0)
@Transient val feetPosVector: Vector2 = Vector2(0.0,0.0)
//get() = Vector2(hitbox.centeredX, hitbox.endY)
val feetPosPoint: Point2d = Point2d(0.0,0.0)
@Transient val feetPosPoint: Point2d = Point2d(0.0,0.0)
//get() = Point2d(hitbox.centeredX, hitbox.endY)
val feetPosTile: Point2i = Point2i(0,0)
@Transient val feetPosTile: Point2i = Point2i(0,0)
//get() = Point2i(hIntTilewiseHitbox.centeredX.floorInt(), hIntTilewiseHitbox.endY.floorInt())
override fun run() = update(App.UPDATE_RATE)
@@ -459,6 +459,40 @@ open class ActorWithBody : Actor {
private val bounceDampenVelThreshold = 0.5
/**
* Used on final loading phase, move the player to the opposite direction of the gravitation, until the player's
* not colliding
*/
open fun tryUnstuck() {
val newHitbox = hitbox.clone()
val translation = gravitation.setMagnitude(-1.0)
while (isColliding(newHitbox)) {
newHitbox.translate(translation)
}
hitbox.reassign(newHitbox)
hIntTilewiseHitbox.setFromTwoPoints(
hitbox.startX.plus(PHYS_EPSILON_DIST).div(TILE_SIZE).floor() + 0.5,
hitbox.startY.plus(PHYS_EPSILON_DIST).div(TILE_SIZE).floor() + 0.5,
hitbox.endX.plus(PHYS_EPSILON_DIST).div(TILE_SIZE).floor() + 0.5,
hitbox.endY.plus(PHYS_EPSILON_DIST).div(TILE_SIZE).floor() + 0.5
)
intTilewiseHitbox.setFromTwoPoints(
hitbox.startX.div(TILE_SIZE).floor(),
hitbox.startY.div(TILE_SIZE).floor(),
hitbox.endX.minus(PHYS_EPSILON_DIST).div(TILE_SIZE).floor(),
hitbox.endY.minus(PHYS_EPSILON_DIST).div(TILE_SIZE).floor()
)
centrePosVector.set(hitbox.centeredX, hitbox.centeredY)
centrePosPoint.set(hitbox.centeredX, hitbox.centeredY)
feetPosVector.set(hitbox.centeredX, hitbox.endY)
feetPosPoint.set(hitbox.centeredX, hitbox.endY)
feetPosTile.set(hIntTilewiseHitbox.centeredX.floorInt(), hIntTilewiseHitbox.endY.floorInt())
}
override fun update(delta: Float) {
// re-scale hitbox

View File

@@ -124,11 +124,7 @@ object IME {
if (langCode.isNotEmpty()) {
printdbg(this, "Icon order #${(k+1) / 20} - icons[\"$langCode\"] = iconSheet.get(1, ${k/20})")
iconSheet.get(1, k / 20).let {
it.flip(false, false)
icons["$langCode"] = it
}
icons["$langCode"] = iconSheet.get(1, k / 20).also { it.flip(false, false) }
}
}

View File

@@ -108,7 +108,9 @@ abstract class GameItem(val originalID: ItemID) : Comparable<GameItem>, Cloneabl
*/
var equipPosition: Int = EquipPosition.NULL
abstract val material: Material
internal val material: Material
get() = MaterialCodex.getOrDefault(materialId)
abstract val materialId: String
/**
* DO NOT READ FROM THIS VALUE: USE `ItemCodex.getItemImage(item)`;
@@ -190,6 +192,11 @@ abstract class GameItem(val originalID: ItemID) : Comparable<GameItem>, Cloneabl
*/
open val extra = Codex()
/* called when the instance of the dynamic is loaded from the save; one may use this function to "re-sync" some values,
* for the purpose of savegame format update, defence against rogue savegame manipulation, etc.
*/
open fun reload() { }
/**
* Effects applied continuously while in pocket
*/

View File

@@ -73,6 +73,9 @@ class ItemCodex {
}
}
dynamicItemInventory[dynid] = item
// try to call reload() of the dynamic items
item.reload()
}
}

View File

@@ -88,7 +88,7 @@ class EntryPoint : ModuleEntryPoint() {
override var stackable = true
override var inventoryCategory = if (isWall) Category.WALL else Category.BLOCK
override var isDynamic = false
override val material = MaterialCodex.getOrDefault(tile.material)
override val materialId = tile.material
// override val itemImage: TextureRegion
// get() {
// val itemSheetNumber = App.tileMaker.tileIDtoItemSheetNumber(originalID)

View File

@@ -356,7 +356,9 @@ open class TerrarumIngame(batch: FlippingSpriteBatch) : IngameInstance(batch) {
codices.player.setPosition(it.physics.position)
if (isMultiplayer) {
printdbg(this, "Using world's ActorValue instead of player's")
codices.player.actorValue = it.actorValue!!
printdbg(this, "Using world's Inventory instead of player's")
codices.player.inventory = it.inventory!!
}
}
@@ -370,6 +372,11 @@ open class TerrarumIngame(batch: FlippingSpriteBatch) : IngameInstance(batch) {
}
// try to unstuck the repositioned player
codices.player.tryUnstuck()
// by doing this, whatever the "possession" the player had will be broken by the game load
actorNowPlaying = codices.player
actorGamer = codices.player
@@ -381,7 +388,7 @@ open class TerrarumIngame(batch: FlippingSpriteBatch) : IngameInstance(batch) {
private fun postInitForNewGame() {
worldSavefileName = LoadSavegame.getWorldSavefileName(savegameNickname, world)
worldSavefileName = LoadSavegame.getWorldSavefileName(world)
playerSavefileName = LoadSavegame.getPlayerSavefileName(actorGamer)
worldDisk = VDUtil.createNewDisk(

View File

@@ -186,9 +186,9 @@ class TitleScreen(batch: FlippingSpriteBatch) : IngameInstance(batch) {
// load a half-gradient texture that would be used throughout the titlescreen and its sub UIs
CommonResourcePool.addToLoadingList("title_halfgrad") {
val t = Texture(Gdx.files.internal("./assets/graphics/halfgrad.tga"))
t.setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear)
t
Texture(Gdx.files.internal("./assets/graphics/halfgrad.tga")).also {
it.setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear)
}
}
CommonResourcePool.loadAll()

View File

@@ -99,9 +99,9 @@ open class ActorHumanoid : ActorWithBody, Controllable, Pocketed, Factionable, L
* Hitbox(x-offset, y-offset, width, height)
* (Use ArrayList for normal circumstances)
*/
@Transient override var lightBoxList: List<Lightbox> = listOf(Lightbox(Hitbox(2.0, 2.0, baseHitboxW - 3.0, baseHitboxH - 3.0), Cvec(0)))
@Transient override var lightBoxList: ArrayList<Lightbox> = arrayListOf(Lightbox(Hitbox(2.0, 2.0, baseHitboxW - 3.0, baseHitboxH - 3.0), Cvec(0)))
// the actual values are update on the update()
@Transient override var shadeBoxList: List<Lightbox> = listOf(Lightbox(Hitbox(2.0, 2.0, baseHitboxW - 3.0, baseHitboxH - 3.0), Cvec(0)))
@Transient override var shadeBoxList: ArrayList<Lightbox> = arrayListOf(Lightbox(Hitbox(2.0, 2.0, baseHitboxW - 3.0, baseHitboxH - 3.0), Cvec(0)))
// the actual values are update on the update()
@Transient val BASE_DENSITY = 980.0
@@ -191,7 +191,7 @@ open class ActorHumanoid : ActorWithBody, Controllable, Pocketed, Factionable, L
override val originalName: String = actorValue.getAsString(AVKey.NAME) ?: "(no name)"
override var stackable = false
override val isDynamic = false
override val material = Material()
override val materialId = ""
}
override fun update(delta: Float) {

Some files were not shown because too many files have changed in this diff Show More