mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-06 08:38:30 +09:00
Compare commits
9 Commits
8eff89a7cb
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5ad352d8cf | ||
|
|
426f0b0aab | ||
|
|
b01d1683b7 | ||
|
|
b547914865 | ||
|
|
c3c6f70e38 | ||
|
|
8824bad9bf | ||
|
|
9edf3a6573 | ||
|
|
f3fb8a96f0 | ||
|
|
281146dd92 |
20
.idea/artifacts/SpriteAssemblerApp.xml
generated
20
.idea/artifacts/SpriteAssemblerApp.xml
generated
@@ -25,12 +25,20 @@
|
|||||||
<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-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-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="$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/polyglot-23.1.10.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-language-23.1.10.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-23.1.10.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-23.1.10.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-23.1.10.jar" path-in-jar="/" />
|
||||||
<element id="extracted-dir" path="$PROJECT_DIR$/lib/truffle-api-22.3.1.jar" path-in-jar="/" />
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/truffle-runtime-23.1.10.jar" path-in-jar="/" />
|
||||||
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/truffle-compiler-23.1.10.jar" path-in-jar="/" />
|
||||||
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/compiler-23.1.10.jar" path-in-jar="/" />
|
||||||
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/compiler-management-23.1.10.jar" path-in-jar="/" />
|
||||||
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/icu4j-23.1.10.jar" path-in-jar="/" />
|
||||||
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/collections-23.1.10.jar" path-in-jar="/" />
|
||||||
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/word-23.1.10.jar" path-in-jar="/" />
|
||||||
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/nativeimage-23.1.10.jar" path-in-jar="/" />
|
||||||
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/jniutils-23.1.10.jar" path-in-jar="/" />
|
||||||
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-1.12.1.jar" path-in-jar="/" />
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-1.12.1.jar" path-in-jar="/" />
|
||||||
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.12.1.jar" path-in-jar="/" />
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.12.1.jar" path-in-jar="/" />
|
||||||
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.3.jar" path-in-jar="/" />
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.3.jar" path-in-jar="/" />
|
||||||
|
|||||||
20
.idea/artifacts/TerrarumBuild.xml
generated
20
.idea/artifacts/TerrarumBuild.xml
generated
@@ -18,12 +18,20 @@
|
|||||||
<element id="extracted-dir" path="$PROJECT_DIR$/lib/Terrarum_Joise.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/TerrarumSansBitmap.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-jnigen-loader-2.3.1.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/polyglot-23.1.10.jar" path-in-jar="/" />
|
||||||
<element id="extracted-dir" path="$PROJECT_DIR$/lib/truffle-api-22.3.1.jar" path-in-jar="/" />
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/js-language-23.1.10.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-scriptengine-23.1.10.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/regex-23.1.10.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/truffle-api-23.1.10.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/truffle-runtime-23.1.10.jar" path-in-jar="/" />
|
||||||
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/truffle-compiler-23.1.10.jar" path-in-jar="/" />
|
||||||
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/compiler-23.1.10.jar" path-in-jar="/" />
|
||||||
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/compiler-management-23.1.10.jar" path-in-jar="/" />
|
||||||
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/icu4j-23.1.10.jar" path-in-jar="/" />
|
||||||
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/collections-23.1.10.jar" path-in-jar="/" />
|
||||||
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/word-23.1.10.jar" path-in-jar="/" />
|
||||||
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/nativeimage-23.1.10.jar" path-in-jar="/" />
|
||||||
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/jniutils-23.1.10.jar" path-in-jar="/" />
|
||||||
<element id="extracted-dir" path="$PROJECT_DIR$/lib/commons-math3-3.6.1.jar" path-in-jar="/" />
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/commons-math3-3.6.1.jar" path-in-jar="/" />
|
||||||
<element id="extracted-dir" path="$PROJECT_DIR$/lib/JTransforms-3.1.jar" path-in-jar="/" />
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/JTransforms-3.1.jar" path-in-jar="/" />
|
||||||
<element id="extracted-dir" path="$PROJECT_DIR$/lib/JLargeArrays-1.5.jar" path-in-jar="/" />
|
<element id="extracted-dir" path="$PROJECT_DIR$/lib/JLargeArrays-1.5.jar" path-in-jar="/" />
|
||||||
|
|||||||
64
.idea/libraries/graalvm_js_22_3_1.xml
generated
64
.idea/libraries/graalvm_js_22_3_1.xml
generated
@@ -1,28 +1,52 @@
|
|||||||
<component name="libraryTable">
|
<component name="libraryTable">
|
||||||
<library name="graalvm-js 22.3.1">
|
<library name="graalvm-js 23.1.10">
|
||||||
<CLASSES>
|
<CLASSES>
|
||||||
<root url="jar://$PROJECT_DIR$/lib/graal-sdk-22.3.1.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/polyglot-23.1.10.jar!/" />
|
||||||
<root url="jar://$PROJECT_DIR$/lib/icu4j-71.1.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/icu4j-23.1.10.jar!/" />
|
||||||
<root url="jar://$PROJECT_DIR$/lib/js-22.3.1-edit.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/js-language-23.1.10.jar!/" />
|
||||||
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-22.3.1.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-23.1.10.jar!/" />
|
||||||
<root url="jar://$PROJECT_DIR$/lib/regex-22.3.1-edit.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/regex-23.1.10.jar!/" />
|
||||||
<root url="jar://$PROJECT_DIR$/lib/truffle-api-22.3.1.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/truffle-api-23.1.10.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/truffle-runtime-23.1.10.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/truffle-compiler-23.1.10.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/compiler-23.1.10.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/compiler-management-23.1.10.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/collections-23.1.10.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/word-23.1.10.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/nativeimage-23.1.10.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/jniutils-23.1.10.jar!/" />
|
||||||
</CLASSES>
|
</CLASSES>
|
||||||
<JAVADOC>
|
<JAVADOC>
|
||||||
<root url="jar://$PROJECT_DIR$/lib/graal-sdk-22.3.1-javadoc.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/polyglot-23.1.10-javadoc.jar!/" />
|
||||||
<root url="jar://$PROJECT_DIR$/lib/icu4j-71.1-javadoc.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/icu4j-23.1.10-javadoc.jar!/" />
|
||||||
<root url="jar://$PROJECT_DIR$/lib/js-22.3.1-javadoc.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/js-language-23.1.10-javadoc.jar!/" />
|
||||||
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-22.3.1-javadoc.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-23.1.10-javadoc.jar!/" />
|
||||||
<root url="jar://$PROJECT_DIR$/lib/regex-22.3.1-javadoc.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/regex-23.1.10-javadoc.jar!/" />
|
||||||
<root url="jar://$PROJECT_DIR$/lib/truffle-api-22.3.1-javadoc.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/truffle-api-23.1.10-javadoc.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/truffle-runtime-23.1.10-javadoc.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/truffle-compiler-23.1.10-javadoc.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/compiler-23.1.10-javadoc.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/compiler-management-23.1.10-javadoc.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/collections-23.1.10-javadoc.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/word-23.1.10-javadoc.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/nativeimage-23.1.10-javadoc.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/jniutils-23.1.10-javadoc.jar!/" />
|
||||||
</JAVADOC>
|
</JAVADOC>
|
||||||
<SOURCES>
|
<SOURCES>
|
||||||
<root url="jar://$PROJECT_DIR$/lib/graal-sdk-22.3.1-sources.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/polyglot-23.1.10-sources.jar!/" />
|
||||||
<root url="jar://$PROJECT_DIR$/lib/icu4j-71.1-sources.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/icu4j-23.1.10-sources.jar!/" />
|
||||||
<root url="jar://$PROJECT_DIR$/lib/js-22.3.1-sources.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/js-language-23.1.10-sources.jar!/" />
|
||||||
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-22.3.1-sources.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-23.1.10-sources.jar!/" />
|
||||||
<root url="jar://$PROJECT_DIR$/lib/regex-22.3.1-sources.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/regex-23.1.10-sources.jar!/" />
|
||||||
<root url="jar://$PROJECT_DIR$/lib/truffle-api-22.3.1-sources.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/truffle-api-23.1.10-sources.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/truffle-runtime-23.1.10-sources.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/truffle-compiler-23.1.10-sources.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/compiler-23.1.10-sources.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/compiler-management-23.1.10-sources.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/collections-23.1.10-sources.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/word-23.1.10-sources.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/nativeimage-23.1.10-sources.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/jniutils-23.1.10-sources.jar!/" />
|
||||||
</SOURCES>
|
</SOURCES>
|
||||||
</library>
|
</library>
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
2
.idea/runConfigurations/SpriteAssemblerApp.xml
generated
2
.idea/runConfigurations/SpriteAssemblerApp.xml
generated
@@ -1,7 +1,7 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="SpriteAssemblerApp" type="JarApplication">
|
<configuration default="false" name="SpriteAssemblerApp" type="JarApplication">
|
||||||
<option name="JAR_PATH" value="$PROJECT_DIR$/out/SpriteAssemblerApp.jar" />
|
<option name="JAR_PATH" value="$PROJECT_DIR$/out/SpriteAssemblerApp.jar" />
|
||||||
<option name="VM_PARAMETERS" value="-ea" />
|
<option name="VM_PARAMETERS" value="-ea --upgrade-module-path=lib/compiler-23.1.10.jar:lib/compiler-management-23.1.10.jar:lib/truffle-compiler-23.1.10.jar:lib/truffle-api-23.1.10.jar:lib/truffle-runtime-23.1.10.jar:lib/polyglot-23.1.10.jar:lib/collections-23.1.10.jar:lib/word-23.1.10.jar:lib/nativeimage-23.1.10.jar:lib/jniutils-23.1.10.jar -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI --add-exports=java.base/jdk.internal.misc=jdk.internal.vm.compiler" />
|
||||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
<option name="ALTERNATIVE_JRE_PATH" value="17" />
|
<option name="ALTERNATIVE_JRE_PATH" value="17" />
|
||||||
<module name="TerrarumBuild" />
|
<module name="TerrarumBuild" />
|
||||||
|
|||||||
2
.idea/runConfigurations/Terrarum.xml
generated
2
.idea/runConfigurations/Terrarum.xml
generated
@@ -1,7 +1,7 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="Terrarum" type="JarApplication">
|
<configuration default="false" name="Terrarum" type="JarApplication">
|
||||||
<option name="JAR_PATH" value="$PROJECT_DIR$/out/TerrarumBuild.jar" />
|
<option name="JAR_PATH" value="$PROJECT_DIR$/out/TerrarumBuild.jar" />
|
||||||
<option name="VM_PARAMETERS" value="-ea -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd" />
|
<option name="VM_PARAMETERS" value="-ea --upgrade-module-path=lib/compiler-23.1.10.jar:lib/compiler-management-23.1.10.jar:lib/truffle-compiler-23.1.10.jar:lib/truffle-api-23.1.10.jar:lib/truffle-runtime-23.1.10.jar:lib/polyglot-23.1.10.jar:lib/collections-23.1.10.jar:lib/word-23.1.10.jar:lib/nativeimage-23.1.10.jar:lib/jniutils-23.1.10.jar -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI --add-exports=java.base/jdk.internal.misc=jdk.internal.vm.compiler -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd" />
|
||||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
<option name="ALTERNATIVE_JRE_PATH" value="17" />
|
<option name="ALTERNATIVE_JRE_PATH" value="17" />
|
||||||
<module name="TerrarumBuild" />
|
<module name="TerrarumBuild" />
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="Terrarum (no DEV MODE)" type="JarApplication">
|
<configuration default="false" name="Terrarum (no DEV MODE)" type="JarApplication">
|
||||||
<option name="JAR_PATH" value="$PROJECT_DIR$/out/TerrarumBuild.jar" />
|
<option name="JAR_PATH" value="$PROJECT_DIR$/out/TerrarumBuild.jar" />
|
||||||
<option name="VM_PARAMETERS" value="-Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd" />
|
<option name="VM_PARAMETERS" value="--upgrade-module-path=lib/compiler-23.1.10.jar:lib/compiler-management-23.1.10.jar:lib/truffle-compiler-23.1.10.jar:lib/truffle-api-23.1.10.jar:lib/truffle-runtime-23.1.10.jar:lib/polyglot-23.1.10.jar:lib/collections-23.1.10.jar:lib/word-23.1.10.jar:lib/nativeimage-23.1.10.jar:lib/jniutils-23.1.10.jar -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI --add-exports=java.base/jdk.internal.misc=jdk.internal.vm.compiler -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd" />
|
||||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
<option name="ALTERNATIVE_JRE_PATH" value="17" />
|
<option name="ALTERNATIVE_JRE_PATH" value="17" />
|
||||||
<module name="TerrarumBuild" />
|
<module name="TerrarumBuild" />
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="Terrarum (no prebuild, release-mode assets)" type="JarApplication">
|
<configuration default="false" name="Terrarum (no prebuild, release-mode assets)" type="JarApplication">
|
||||||
<option name="JAR_PATH" value="$PROJECT_DIR$/out/TerrarumBuild.jar" />
|
<option name="JAR_PATH" value="$PROJECT_DIR$/out/TerrarumBuild.jar" />
|
||||||
<option name="VM_PARAMETERS" value="-ea -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd" />
|
<option name="VM_PARAMETERS" value="-ea --upgrade-module-path=lib/compiler-23.1.10.jar:lib/compiler-management-23.1.10.jar:lib/truffle-compiler-23.1.10.jar:lib/truffle-api-23.1.10.jar:lib/truffle-runtime-23.1.10.jar:lib/polyglot-23.1.10.jar:lib/collections-23.1.10.jar:lib/word-23.1.10.jar:lib/nativeimage-23.1.10.jar:lib/jniutils-23.1.10.jar -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI --add-exports=java.base/jdk.internal.misc=jdk.internal.vm.compiler -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd" />
|
||||||
<option name="PROGRAM_PARAMETERS" value="--assets buildapp/out/assets.tevd" />
|
<option name="PROGRAM_PARAMETERS" value="--assets buildapp/out/assets.tevd" />
|
||||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
<option name="ALTERNATIVE_JRE_PATH" value="17" />
|
<option name="ALTERNATIVE_JRE_PATH" value="17" />
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
Copyright (C) 2013-2024 Minjae Song ("CuriousTorvald")
|
Copyright (C) 2013-2026 Minjae Song ("CuriousTorvald")
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="library" name="ModuleComputersLib" level="project" />
|
<orderEntry type="library" name="ModuleComputersLib" level="project" />
|
||||||
<orderEntry type="module" module-name="TerrarumBuild" scope="PROVIDED" />
|
<orderEntry type="module" module-name="TerrarumBuild" scope="PROVIDED" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="graalvm-js 22.3.1" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="graalvm-js 23.1.10" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="TerrarumSansBitmap" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="TerrarumSansBitmap" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="badlogicgames.gdx" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="badlogicgames.gdx" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="badlogicgames.gdx.backend.lwjgl3" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="badlogicgames.gdx.backend.lwjgl3" level="project" />
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ Requires 64 bit processor and operation system.
|
|||||||
|
|
||||||
Kotlin runtimes must be downloaded using the IntelliJ IDEA. All other libraries are included in the repository.
|
Kotlin runtimes must be downloaded using the IntelliJ IDEA. All other libraries are included in the repository.
|
||||||
|
|
||||||
The project includes modified version of the GraalVM-JS, in which the only difference is the `regex-22.3.1-edit.jar` is a modification of `regex-22.3.1.jar` where the only difference is its `MANIFEST.MD`
|
The project uses GraalVM 23.1.10 for JavaScript execution (with the Graal JIT compiler enabled via `--upgrade-module-path`).
|
||||||
|
|
||||||
## Copyright ##
|
## Copyright ##
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
<orderEntry type="library" name="gdx-controllers-core-2.2.1" level="project" />
|
<orderEntry type="library" name="gdx-controllers-core-2.2.1" level="project" />
|
||||||
<orderEntry type="library" name="gdx-controllers-desktop-2.2.1" level="project" />
|
<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="jxinput-1.0.0" level="project" />
|
||||||
<orderEntry type="library" name="graalvm-js 22.3.1" level="project" />
|
<orderEntry type="library" name="graalvm-js 23.1.10" level="project" />
|
||||||
<orderEntry type="library" name="badlogicgames.gdx" level="project" />
|
<orderEntry type="library" name="badlogicgames.gdx" level="project" />
|
||||||
<orderEntry type="library" name="badlogicgames.gdx.backend.lwjgl3" level="project" />
|
<orderEntry type="library" name="badlogicgames.gdx.backend.lwjgl3" level="project" />
|
||||||
<orderEntry type="library" name="io.github.classgraph" level="project" />
|
<orderEntry type="library" name="io.github.classgraph" level="project" />
|
||||||
|
|||||||
@@ -33,6 +33,9 @@ mv $DESTDIR/out/$RUNTIME/bin/java $DESTDIR/out/$RUNTIME/bin/java
|
|||||||
cp "out/assets.tevd" $DESTDIR/
|
cp "out/assets.tevd" $DESTDIR/
|
||||||
cp "../out/$JARNAME" $DESTDIR/out/
|
cp "../out/$JARNAME" $DESTDIR/out/
|
||||||
|
|
||||||
|
# Copy over Graal module-path JARs for JIT compiler
|
||||||
|
cp "../lib/compiler-23.1.10.jar" "../lib/compiler-management-23.1.10.jar" "../lib/truffle-compiler-23.1.10.jar" "../lib/truffle-api-23.1.10.jar" "../lib/truffle-runtime-23.1.10.jar" "../lib/polyglot-23.1.10.jar" "../lib/collections-23.1.10.jar" "../lib/word-23.1.10.jar" "../lib/nativeimage-23.1.10.jar" "../lib/jniutils-23.1.10.jar" $DESTDIR/
|
||||||
|
|
||||||
# Pack everything to AppImage
|
# Pack everything to AppImage
|
||||||
ARCH=aarch64 "./$APPIMAGETOOL" $DESTDIR "out/$DESTDIR.AppImage" || { echo 'Building AppImage failed' >&2; exit 1; }
|
ARCH=aarch64 "./$APPIMAGETOOL" $DESTDIR "out/$DESTDIR.AppImage" || { echo 'Building AppImage failed' >&2; exit 1; }
|
||||||
chmod +x "out/$DESTDIR.AppImage"
|
chmod +x "out/$DESTDIR.AppImage"
|
||||||
|
|||||||
@@ -33,6 +33,9 @@ mv $DESTDIR/out/$RUNTIME/bin/java $DESTDIR/out/$RUNTIME/bin/java
|
|||||||
cp "out/assets.tevd" $DESTDIR/
|
cp "out/assets.tevd" $DESTDIR/
|
||||||
cp "../out/$JARNAME" $DESTDIR/out/
|
cp "../out/$JARNAME" $DESTDIR/out/
|
||||||
|
|
||||||
|
# Copy over Graal module-path JARs for JIT compiler
|
||||||
|
cp "../lib/compiler-23.1.10.jar" "../lib/compiler-management-23.1.10.jar" "../lib/truffle-compiler-23.1.10.jar" "../lib/truffle-api-23.1.10.jar" "../lib/truffle-runtime-23.1.10.jar" "../lib/polyglot-23.1.10.jar" "../lib/collections-23.1.10.jar" "../lib/word-23.1.10.jar" "../lib/nativeimage-23.1.10.jar" "../lib/jniutils-23.1.10.jar" $DESTDIR/
|
||||||
|
|
||||||
# Pack everything to AppImage
|
# Pack everything to AppImage
|
||||||
"./$APPIMAGETOOL" $DESTDIR "out/$DESTDIR.AppImage" || { echo 'Building AppImage failed' >&2; exit 1; }
|
"./$APPIMAGETOOL" $DESTDIR "out/$DESTDIR.AppImage" || { echo 'Building AppImage failed' >&2; exit 1; }
|
||||||
chmod +x "out/$DESTDIR.AppImage"
|
chmod +x "out/$DESTDIR.AppImage"
|
||||||
|
|||||||
@@ -36,6 +36,9 @@ mv $DESTDIR/Contents/MacOS/out/$RUNTIME/bin/java $DESTDIR/Contents/MacOS/out/$RU
|
|||||||
cp "out/assets.tevd" $DESTDIR/Contents/MacOS/
|
cp "out/assets.tevd" $DESTDIR/Contents/MacOS/
|
||||||
cp "../out/$JARNAME" $DESTDIR/Contents/MacOS/out/
|
cp "../out/$JARNAME" $DESTDIR/Contents/MacOS/out/
|
||||||
|
|
||||||
|
# Copy over Graal module-path JARs for JIT compiler
|
||||||
|
cp "../lib/compiler-23.1.10.jar" "../lib/compiler-management-23.1.10.jar" "../lib/truffle-compiler-23.1.10.jar" "../lib/truffle-api-23.1.10.jar" "../lib/truffle-runtime-23.1.10.jar" "../lib/polyglot-23.1.10.jar" "../lib/collections-23.1.10.jar" "../lib/word-23.1.10.jar" "../lib/nativeimage-23.1.10.jar" "../lib/jniutils-23.1.10.jar" $DESTDIR/Contents/MacOS/
|
||||||
|
|
||||||
# zip everything
|
# zip everything
|
||||||
cd "out"
|
cd "out"
|
||||||
rm $APPDIR.zip
|
rm $APPDIR.zip
|
||||||
|
|||||||
@@ -36,6 +36,9 @@ mv $DESTDIR/Contents/MacOS/out/$RUNTIME/bin/java $DESTDIR/Contents/MacOS/out/$RU
|
|||||||
cp "out/assets.tevd" $DESTDIR/Contents/MacOS/
|
cp "out/assets.tevd" $DESTDIR/Contents/MacOS/
|
||||||
cp "../out/$JARNAME" $DESTDIR/Contents/MacOS/out/
|
cp "../out/$JARNAME" $DESTDIR/Contents/MacOS/out/
|
||||||
|
|
||||||
|
# Copy over Graal module-path JARs for JIT compiler
|
||||||
|
cp "../lib/compiler-23.1.10.jar" "../lib/compiler-management-23.1.10.jar" "../lib/truffle-compiler-23.1.10.jar" "../lib/truffle-api-23.1.10.jar" "../lib/truffle-runtime-23.1.10.jar" "../lib/polyglot-23.1.10.jar" "../lib/collections-23.1.10.jar" "../lib/word-23.1.10.jar" "../lib/nativeimage-23.1.10.jar" "../lib/jniutils-23.1.10.jar" $DESTDIR/Contents/MacOS/
|
||||||
|
|
||||||
# zip everything
|
# zip everything
|
||||||
cd "out"
|
cd "out"
|
||||||
rm $APPDIR.zip
|
rm $APPDIR.zip
|
||||||
|
|||||||
@@ -38,6 +38,9 @@ mv $DESTDIR/out/$RUNTIME/bin/java.exe $DESTDIR/out/$RUNTIME/bin/java.exe
|
|||||||
cp "out/assets.tevd" $DESTDIR/
|
cp "out/assets.tevd" $DESTDIR/
|
||||||
cp "../out/$JARNAME" $DESTDIR/out/
|
cp "../out/$JARNAME" $DESTDIR/out/
|
||||||
|
|
||||||
|
# Copy over Graal module-path JARs for JIT compiler
|
||||||
|
cp "../lib/compiler-23.1.10.jar" "../lib/compiler-management-23.1.10.jar" "../lib/truffle-compiler-23.1.10.jar" "../lib/truffle-api-23.1.10.jar" "../lib/truffle-runtime-23.1.10.jar" "../lib/polyglot-23.1.10.jar" "../lib/collections-23.1.10.jar" "../lib/word-23.1.10.jar" "../lib/nativeimage-23.1.10.jar" "../lib/jniutils-23.1.10.jar" $DESTDIR/
|
||||||
|
|
||||||
# zip everything
|
# zip everything
|
||||||
rm "out/$DESTDIR.zip"
|
rm "out/$DESTDIR.zip"
|
||||||
zip -r -9 -l "out/$DESTDIR.zip" $DESTDIR
|
zip -r -9 -l "out/$DESTDIR.zip" $DESTDIR
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
cd "${0%/*}"
|
cd "${0%/*}"
|
||||||
./out/runtime-linux-arm/bin/java -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd -jar ./out/TerrarumBuild.jar
|
GRAAL_MODULE_PATH=compiler-23.1.10.jar:compiler-management-23.1.10.jar:truffle-compiler-23.1.10.jar:truffle-api-23.1.10.jar:truffle-runtime-23.1.10.jar:polyglot-23.1.10.jar:collections-23.1.10.jar:word-23.1.10.jar:nativeimage-23.1.10.jar:jniutils-23.1.10.jar
|
||||||
|
./out/runtime-linux-arm/bin/java --upgrade-module-path=$GRAAL_MODULE_PATH -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseZGC -XX:+ZGenerational -XX:+UseDynamicNumberOfGCThreads --add-exports=java.base/jdk.internal.misc=jdk.internal.vm.compiler -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd -jar ./out/TerrarumBuild.jar
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
cd "${0%/*}"
|
cd "${0%/*}"
|
||||||
./out/runtime-linux-x86/bin/java -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd -jar ./out/TerrarumBuild.jar
|
GRAAL_MODULE_PATH=compiler-23.1.10.jar:compiler-management-23.1.10.jar:truffle-compiler-23.1.10.jar:truffle-api-23.1.10.jar:truffle-runtime-23.1.10.jar:polyglot-23.1.10.jar:collections-23.1.10.jar:word-23.1.10.jar:nativeimage-23.1.10.jar:jniutils-23.1.10.jar
|
||||||
|
./out/runtime-linux-x86/bin/java --upgrade-module-path=$GRAAL_MODULE_PATH -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseZGC -XX:+ZGenerational -XX:+UseDynamicNumberOfGCThreads --add-exports=java.base/jdk.internal.misc=jdk.internal.vm.compiler -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd -jar ./out/TerrarumBuild.jar
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
cd "${0%/*}"
|
cd "${0%/*}"
|
||||||
./out/runtime-osx-arm/bin/java -jar ./out/TerrarumBuild.jar
|
GRAAL_MODULE_PATH=compiler-23.1.10.jar:compiler-management-23.1.10.jar:truffle-compiler-23.1.10.jar:truffle-api-23.1.10.jar:truffle-runtime-23.1.10.jar:polyglot-23.1.10.jar:collections-23.1.10.jar:word-23.1.10.jar:nativeimage-23.1.10.jar:jniutils-23.1.10.jar
|
||||||
|
./out/runtime-osx-arm/bin/java --upgrade-module-path=$GRAAL_MODULE_PATH -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseZGC -XX:+ZGenerational -XX:+UseDynamicNumberOfGCThreads --add-exports=java.base/jdk.internal.misc=jdk.internal.vm.compiler -jar ./out/TerrarumBuild.jar
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
cd "${0%/*}"
|
cd "${0%/*}"
|
||||||
./out/runtime-osx-x86/bin/java -jar ./out/TerrarumBuild.jar
|
GRAAL_MODULE_PATH=compiler-23.1.10.jar:compiler-management-23.1.10.jar:truffle-compiler-23.1.10.jar:truffle-api-23.1.10.jar:truffle-runtime-23.1.10.jar:polyglot-23.1.10.jar:collections-23.1.10.jar:word-23.1.10.jar:nativeimage-23.1.10.jar:jniutils-23.1.10.jar
|
||||||
|
./out/runtime-osx-x86/bin/java --upgrade-module-path=$GRAAL_MODULE_PATH -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseZGC -XX:+ZGenerational -XX:+UseDynamicNumberOfGCThreads --add-exports=java.base/jdk.internal.misc=jdk.internal.vm.compiler -jar ./out/TerrarumBuild.jar
|
||||||
|
|||||||
@@ -7,7 +7,11 @@ int main() {
|
|||||||
si.dwFlags = STARTF_USESHOWWINDOW;
|
si.dwFlags = STARTF_USESHOWWINDOW;
|
||||||
si.wShowWindow = SW_HIDE;
|
si.wShowWindow = SW_HIDE;
|
||||||
|
|
||||||
char cmd[] = "\".\\out\\runtime-windows-x86\\bin\\java.exe\" -jar \".\\out\\TerrarumBuild.jar\"";
|
char cmd[] = "\".\\out\\runtime-windows-x86\\bin\\java.exe\" "
|
||||||
|
"--upgrade-module-path=compiler-23.1.10.jar;compiler-management-23.1.10.jar;truffle-compiler-23.1.10.jar;truffle-api-23.1.10.jar;truffle-runtime-23.1.10.jar;polyglot-23.1.10.jar;collections-23.1.10.jar;word-23.1.10.jar;nativeimage-23.1.10.jar;jniutils-23.1.10.jar "
|
||||||
|
"-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseZGC -XX:+ZGenerational -XX:+UseDynamicNumberOfGCThreads "
|
||||||
|
"--add-exports=java.base/jdk.internal.misc=jdk.internal.vm.compiler "
|
||||||
|
"-jar \".\\out\\TerrarumBuild.jar\"";
|
||||||
|
|
||||||
CreateProcessA(
|
CreateProcessA(
|
||||||
NULL,
|
NULL,
|
||||||
|
|||||||
BIN
lib/collections-23.1.10-javadoc.jar
LFS
Normal file
BIN
lib/collections-23.1.10-javadoc.jar
LFS
Normal file
Binary file not shown.
BIN
lib/collections-23.1.10-sources.jar
LFS
Normal file
BIN
lib/collections-23.1.10-sources.jar
LFS
Normal file
Binary file not shown.
BIN
lib/collections-23.1.10.jar
LFS
Normal file
BIN
lib/collections-23.1.10.jar
LFS
Normal file
Binary file not shown.
BIN
lib/compiler-23.1.10-javadoc.jar
LFS
Normal file
BIN
lib/compiler-23.1.10-javadoc.jar
LFS
Normal file
Binary file not shown.
BIN
lib/compiler-23.1.10-sources.jar
LFS
Normal file
BIN
lib/compiler-23.1.10-sources.jar
LFS
Normal file
Binary file not shown.
BIN
lib/compiler-23.1.10.jar
LFS
Normal file
BIN
lib/compiler-23.1.10.jar
LFS
Normal file
Binary file not shown.
BIN
lib/compiler-management-23.1.10-javadoc.jar
LFS
Normal file
BIN
lib/compiler-management-23.1.10-javadoc.jar
LFS
Normal file
Binary file not shown.
BIN
lib/compiler-management-23.1.10-sources.jar
LFS
Normal file
BIN
lib/compiler-management-23.1.10-sources.jar
LFS
Normal file
Binary file not shown.
BIN
lib/compiler-management-23.1.10.jar
LFS
Normal file
BIN
lib/compiler-management-23.1.10.jar
LFS
Normal file
Binary file not shown.
BIN
lib/graal-sdk-22.3.1-javadoc.jar
LFS
BIN
lib/graal-sdk-22.3.1-javadoc.jar
LFS
Binary file not shown.
BIN
lib/graal-sdk-22.3.1-sources.jar
LFS
BIN
lib/graal-sdk-22.3.1-sources.jar
LFS
Binary file not shown.
BIN
lib/graal-sdk-22.3.1.jar
LFS
BIN
lib/graal-sdk-22.3.1.jar
LFS
Binary file not shown.
BIN
lib/icu4j-23.1.10-javadoc.jar
LFS
Normal file
BIN
lib/icu4j-23.1.10-javadoc.jar
LFS
Normal file
Binary file not shown.
BIN
lib/icu4j-23.1.10-sources.jar
LFS
Normal file
BIN
lib/icu4j-23.1.10-sources.jar
LFS
Normal file
Binary file not shown.
BIN
lib/icu4j-23.1.10.jar
LFS
Normal file
BIN
lib/icu4j-23.1.10.jar
LFS
Normal file
Binary file not shown.
BIN
lib/icu4j-71.1-javadoc.jar
LFS
BIN
lib/icu4j-71.1-javadoc.jar
LFS
Binary file not shown.
BIN
lib/icu4j-71.1-sources.jar
LFS
BIN
lib/icu4j-71.1-sources.jar
LFS
Binary file not shown.
BIN
lib/icu4j-71.1.jar
LFS
BIN
lib/icu4j-71.1.jar
LFS
Binary file not shown.
BIN
lib/jniutils-23.1.10-javadoc.jar
LFS
Normal file
BIN
lib/jniutils-23.1.10-javadoc.jar
LFS
Normal file
Binary file not shown.
BIN
lib/jniutils-23.1.10-sources.jar
LFS
Normal file
BIN
lib/jniutils-23.1.10-sources.jar
LFS
Normal file
Binary file not shown.
BIN
lib/jniutils-23.1.10.jar
LFS
Normal file
BIN
lib/jniutils-23.1.10.jar
LFS
Normal file
Binary file not shown.
BIN
lib/js-22.3.1-edit.jar
LFS
BIN
lib/js-22.3.1-edit.jar
LFS
Binary file not shown.
BIN
lib/js-22.3.1-javadoc.jar
LFS
BIN
lib/js-22.3.1-javadoc.jar
LFS
Binary file not shown.
BIN
lib/js-22.3.1-sources.jar
LFS
BIN
lib/js-22.3.1-sources.jar
LFS
Binary file not shown.
BIN
lib/js-language-23.1.10-javadoc.jar
LFS
Normal file
BIN
lib/js-language-23.1.10-javadoc.jar
LFS
Normal file
Binary file not shown.
BIN
lib/js-language-23.1.10-sources.jar
LFS
Normal file
BIN
lib/js-language-23.1.10-sources.jar
LFS
Normal file
Binary file not shown.
BIN
lib/js-language-23.1.10.jar
LFS
Normal file
BIN
lib/js-language-23.1.10.jar
LFS
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/js-scriptengine-22.3.1.jar
LFS
BIN
lib/js-scriptengine-22.3.1.jar
LFS
Binary file not shown.
BIN
lib/js-scriptengine-23.1.10-javadoc.jar
LFS
Normal file
BIN
lib/js-scriptengine-23.1.10-javadoc.jar
LFS
Normal file
Binary file not shown.
BIN
lib/js-scriptengine-23.1.10-sources.jar
LFS
Normal file
BIN
lib/js-scriptengine-23.1.10-sources.jar
LFS
Normal file
Binary file not shown.
BIN
lib/js-scriptengine-23.1.10.jar
LFS
Normal file
BIN
lib/js-scriptengine-23.1.10.jar
LFS
Normal file
Binary file not shown.
BIN
lib/nativeimage-23.1.10-javadoc.jar
LFS
Normal file
BIN
lib/nativeimage-23.1.10-javadoc.jar
LFS
Normal file
Binary file not shown.
BIN
lib/nativeimage-23.1.10-sources.jar
LFS
Normal file
BIN
lib/nativeimage-23.1.10-sources.jar
LFS
Normal file
Binary file not shown.
BIN
lib/nativeimage-23.1.10.jar
LFS
Normal file
BIN
lib/nativeimage-23.1.10.jar
LFS
Normal file
Binary file not shown.
BIN
lib/polyglot-23.1.10-javadoc.jar
LFS
Normal file
BIN
lib/polyglot-23.1.10-javadoc.jar
LFS
Normal file
Binary file not shown.
BIN
lib/polyglot-23.1.10-sources.jar
LFS
Normal file
BIN
lib/polyglot-23.1.10-sources.jar
LFS
Normal file
Binary file not shown.
BIN
lib/polyglot-23.1.10.jar
LFS
Normal file
BIN
lib/polyglot-23.1.10.jar
LFS
Normal file
Binary file not shown.
BIN
lib/regex-22.3.1-edit.jar
LFS
BIN
lib/regex-22.3.1-edit.jar
LFS
Binary file not shown.
BIN
lib/regex-22.3.1-javadoc.jar
LFS
BIN
lib/regex-22.3.1-javadoc.jar
LFS
Binary file not shown.
BIN
lib/regex-22.3.1-sources.jar
LFS
BIN
lib/regex-22.3.1-sources.jar
LFS
Binary file not shown.
BIN
lib/regex-23.1.10-javadoc.jar
LFS
Normal file
BIN
lib/regex-23.1.10-javadoc.jar
LFS
Normal file
Binary file not shown.
BIN
lib/regex-23.1.10-sources.jar
LFS
Normal file
BIN
lib/regex-23.1.10-sources.jar
LFS
Normal file
Binary file not shown.
BIN
lib/regex-23.1.10.jar
LFS
Normal file
BIN
lib/regex-23.1.10.jar
LFS
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/truffle-api-22.3.1.jar
LFS
BIN
lib/truffle-api-22.3.1.jar
LFS
Binary file not shown.
BIN
lib/truffle-api-23.1.10-javadoc.jar
LFS
Normal file
BIN
lib/truffle-api-23.1.10-javadoc.jar
LFS
Normal file
Binary file not shown.
BIN
lib/truffle-api-23.1.10-sources.jar
LFS
Normal file
BIN
lib/truffle-api-23.1.10-sources.jar
LFS
Normal file
Binary file not shown.
BIN
lib/truffle-api-23.1.10.jar
LFS
Normal file
BIN
lib/truffle-api-23.1.10.jar
LFS
Normal file
Binary file not shown.
BIN
lib/truffle-compiler-23.1.10-javadoc.jar
LFS
Normal file
BIN
lib/truffle-compiler-23.1.10-javadoc.jar
LFS
Normal file
Binary file not shown.
BIN
lib/truffle-compiler-23.1.10-sources.jar
LFS
Normal file
BIN
lib/truffle-compiler-23.1.10-sources.jar
LFS
Normal file
Binary file not shown.
BIN
lib/truffle-compiler-23.1.10.jar
LFS
Normal file
BIN
lib/truffle-compiler-23.1.10.jar
LFS
Normal file
Binary file not shown.
BIN
lib/truffle-runtime-23.1.10-javadoc.jar
LFS
Normal file
BIN
lib/truffle-runtime-23.1.10-javadoc.jar
LFS
Normal file
Binary file not shown.
BIN
lib/truffle-runtime-23.1.10-sources.jar
LFS
Normal file
BIN
lib/truffle-runtime-23.1.10-sources.jar
LFS
Normal file
Binary file not shown.
BIN
lib/truffle-runtime-23.1.10.jar
LFS
Normal file
BIN
lib/truffle-runtime-23.1.10.jar
LFS
Normal file
Binary file not shown.
BIN
lib/word-23.1.10-javadoc.jar
LFS
Normal file
BIN
lib/word-23.1.10-javadoc.jar
LFS
Normal file
Binary file not shown.
BIN
lib/word-23.1.10-sources.jar
LFS
Normal file
BIN
lib/word-23.1.10-sources.jar
LFS
Normal file
Binary file not shown.
BIN
lib/word-23.1.10.jar
LFS
Normal file
BIN
lib/word-23.1.10.jar
LFS
Normal file
Binary file not shown.
@@ -265,10 +265,10 @@ public class App implements ApplicationListener {
|
|||||||
public static Hq2x hq2x;
|
public static Hq2x hq2x;
|
||||||
|
|
||||||
public static Mesh fullscreenQuad;
|
public static Mesh fullscreenQuad;
|
||||||
private static OrthographicCamera camera;
|
public static OrthographicCamera camera;
|
||||||
private static FlippingSpriteBatch logoBatch;
|
public static FlippingSpriteBatch logoBatch;
|
||||||
public static TextureRegion splashScreenLogo;
|
public static TextureRegion splashScreenLogo;
|
||||||
private static TextureRegion splashBackdrop;
|
public static TextureRegion splashBackdrop;
|
||||||
public static AudioDevice audioDevice;
|
public static AudioDevice audioDevice;
|
||||||
|
|
||||||
public static FlippingSpriteBatch batch;
|
public static FlippingSpriteBatch batch;
|
||||||
@@ -280,6 +280,11 @@ public class App implements ApplicationListener {
|
|||||||
private static TerrarumGamescreen currentScreen;
|
private static TerrarumGamescreen currentScreen;
|
||||||
private static LoadScreenBase currentSetLoadScreen;
|
private static LoadScreenBase currentSetLoadScreen;
|
||||||
|
|
||||||
|
/** When set, App.render() will capture postProcessorOutFBO and then transition to this screen after the current frame finishes. */
|
||||||
|
public static TerrarumGamescreen pendingScreenWithCapture = null;
|
||||||
|
/** Populated by the deferred-capture path; consumed by TitleScreen.show(). */
|
||||||
|
public static Pixmap captureLastFrame = null;
|
||||||
|
|
||||||
private void initViewPort(int width, int height) {
|
private void initViewPort(int width, int height) {
|
||||||
// Set Y to point downwards
|
// Set Y to point downwards
|
||||||
camera.setToOrtho(true, width, height); // some elements are pre-flipped, while some are not. The statement itself is absolutely necessary to make edge of the screen as the origin
|
camera.setToOrtho(true, width, height); // some elements are pre-flipped, while some are not. The statement itself is absolutely necessary to make edge of the screen as the origin
|
||||||
@@ -545,7 +550,7 @@ public class App implements ApplicationListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Color splashTextCol = new Color(0x282828FF);
|
public static Color splashTextCol = new Color(0x282828FF);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void create() {
|
public void create() {
|
||||||
@@ -747,6 +752,7 @@ public class App implements ApplicationListener {
|
|||||||
// hand over the scene control to this single class; Terrarum must call
|
// hand over the scene control to this single class; Terrarum must call
|
||||||
// 'AppLoader.getINSTANCE().screen.render(delta)', this is not redundant at all!
|
// 'AppLoader.getINSTANCE().screen.render(delta)', this is not redundant at all!
|
||||||
|
|
||||||
|
SplashScreen.loadingComplete = true;
|
||||||
IngameInstance title = ModMgr.INSTANCE.getTitleScreen(batch);
|
IngameInstance title = ModMgr.INSTANCE.getTitleScreen(batch);
|
||||||
|
|
||||||
if (title != null) {
|
if (title != null) {
|
||||||
@@ -767,6 +773,17 @@ public class App implements ApplicationListener {
|
|||||||
|
|
||||||
currentScreen.render(UPDATE_RATE);
|
currentScreen.render(UPDATE_RATE);
|
||||||
postProcessorOutFBO = TerrarumPostProcessor.INSTANCE.draw(Gdx.graphics.getDeltaTime(), camera.combined, renderFBO);
|
postProcessorOutFBO = TerrarumPostProcessor.INSTANCE.draw(Gdx.graphics.getDeltaTime(), camera.combined, renderFBO);
|
||||||
|
|
||||||
|
// Deferred transition: capture the just-rendered frame then switch screens.
|
||||||
|
// This fires AFTER the current screen has fully rendered so the capture is of the real last ingame frame.
|
||||||
|
if (pendingScreenWithCapture != null) {
|
||||||
|
TerrarumGamescreen next = pendingScreenWithCapture;
|
||||||
|
pendingScreenWithCapture = null;
|
||||||
|
FrameBufferManager.begin(postProcessorOutFBO);
|
||||||
|
captureLastFrame = Pixmap.createFromFrameBuffer(0, 0, postProcessorOutFBO.getWidth(), postProcessorOutFBO.getHeight());
|
||||||
|
FrameBufferManager.end();
|
||||||
|
setScreen(next);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -866,104 +883,7 @@ public class App implements ApplicationListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void drawSplash() {
|
public static void drawSplash() {
|
||||||
setCameraPosition(0f, 0f);
|
SplashScreen.render(logoBatch, camera);
|
||||||
|
|
||||||
logoBatch.setColor(Color.WHITE);
|
|
||||||
logoBatch.setBlendFunctionSeparate(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA, GL20.GL_ONE, GL20.GL_ONE_MINUS_SRC_ALPHA);
|
|
||||||
|
|
||||||
|
|
||||||
int drawWidth = Toolkit.INSTANCE.getDrawWidth();
|
|
||||||
int safetyTextLen = fontGame.getWidth(Lang.INSTANCE.get("APP_WARNING_HEALTH_AND_SAFETY", true));
|
|
||||||
int logoPosX0 = (drawWidth - splashScreenLogo.getRegionWidth() - safetyTextLen) >>> 1;
|
|
||||||
int logoPosY = Math.round(scr.getHeight() / 15f);
|
|
||||||
int textY = logoPosY + splashScreenLogo.getRegionHeight() - 16;
|
|
||||||
|
|
||||||
// draw custom backdrop (if exists)
|
|
||||||
if (splashBackdrop != null) {
|
|
||||||
logoBatch.setShader(null);
|
|
||||||
logoBatch.begin();
|
|
||||||
|
|
||||||
|
|
||||||
var size = ((float) Math.max(scr.getWidth(), scr.getHeight()));
|
|
||||||
var x = 0f;
|
|
||||||
var y = 0f;
|
|
||||||
if (scr.getWidth() > scr.getHeight()) {
|
|
||||||
y = (scr.getHeight() - size) / 2f;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
x = (scr.getWidth() - size) / 2f;
|
|
||||||
}
|
|
||||||
|
|
||||||
logoBatch.draw(splashBackdrop, x, y, size, size);
|
|
||||||
|
|
||||||
|
|
||||||
logoBatch.end();
|
|
||||||
}
|
|
||||||
|
|
||||||
int logoPosX = logoPosX0;//(int)(logoPosX0 + Math.round(100 * Math.sin(GLOBAL_RENDER_TIMER / 50.0)));
|
|
||||||
|
|
||||||
// draw logo reflection
|
|
||||||
logoBatch.setShader(shaderReflect);
|
|
||||||
logoBatch.setColor(Color.WHITE);
|
|
||||||
logoBatch.begin();
|
|
||||||
if (getConfigBoolean("showhealthmessageonstartup")) {
|
|
||||||
logoBatch.draw(splashScreenLogo, logoPosX, logoPosY + splashScreenLogo.getRegionHeight());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
logoBatch.draw(splashScreenLogo, (drawWidth - splashScreenLogo.getRegionWidth()) / 2f,
|
|
||||||
(scr.getHeight() - splashScreenLogo.getRegionHeight() * 2) / 2f + splashScreenLogo.getRegionHeight()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
logoBatch.end();
|
|
||||||
logoBatch.setShader(null);
|
|
||||||
logoBatch.begin();
|
|
||||||
if (getConfigBoolean("showhealthmessageonstartup")) {
|
|
||||||
logoBatch.draw(splashScreenLogo, logoPosX, logoPosY);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
logoBatch.draw(splashScreenLogo, (drawWidth - splashScreenLogo.getRegionWidth()) / 2f,
|
|
||||||
(scr.getHeight() - splashScreenLogo.getRegionHeight() * 2) / 2f
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
logoBatch.end();
|
|
||||||
|
|
||||||
// draw health messages
|
|
||||||
if (getConfigBoolean("showhealthmessageonstartup")) {
|
|
||||||
logoBatch.setShader(null);
|
|
||||||
logoBatch.begin();
|
|
||||||
|
|
||||||
logoBatch.setColor(splashTextCol);
|
|
||||||
fontGame.draw(logoBatch, Lang.INSTANCE.get("APP_WARNING_HEALTH_AND_SAFETY", true),
|
|
||||||
logoPosX + splashScreenLogo.getRegionWidth(),
|
|
||||||
textY
|
|
||||||
);
|
|
||||||
|
|
||||||
// some chinese stuff
|
|
||||||
if (GAME_LOCALE.contentEquals("zhCN")) {
|
|
||||||
for (int i = 1; i <= 4; i++) {
|
|
||||||
String s = Lang.INSTANCE.get("APP_CHINESE_HEALTHY_GAME_MSG_" + i, true);
|
|
||||||
|
|
||||||
fontGame.draw(logoBatch, s,
|
|
||||||
(drawWidth - fontGame.getWidth(s)) >>> 1,
|
|
||||||
Math.round(scr.getHeight() * 12f / 15f + fontGame.getLineHeight() * (i - 1))
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Texture tex1 = CommonResourcePool.INSTANCE.getAsTexture("title_health1");
|
|
||||||
Texture tex2 = CommonResourcePool.INSTANCE.getAsTexture("title_health2");
|
|
||||||
int virtualHeight = scr.getHeight() - logoPosY - splashScreenLogo.getRegionHeight() / 4;
|
|
||||||
int virtualHeightOffset = scr.getHeight() - virtualHeight;
|
|
||||||
logoBatch.drawFlipped(tex1, (drawWidth - tex1.getWidth()) >>> 1, virtualHeightOffset + (virtualHeight >>> 1) - 16, tex1.getWidth(), -tex1.getHeight());
|
|
||||||
logoBatch.drawFlipped(tex2, (drawWidth - tex2.getWidth()) >>> 1, virtualHeightOffset + (virtualHeight >>> 1) + 16 + tex2.getHeight(), tex2.getWidth(), -tex2.getHeight());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
logoBatch.end();
|
|
||||||
batch.setBlendFunctionSeparate(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA, GL20.GL_ONE, GL20.GL_ONE_MINUS_SRC_ALPHA);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1452,7 +1372,7 @@ public class App implements ApplicationListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private static void setCameraPosition(float newX, float newY) {
|
public static void setCameraPosition(float newX, float newY) {
|
||||||
camera.position.set((-newX + scr.getWidth() / 2), (-newY + scr.getHeight() / 2), 0f); // deliberate integer division
|
camera.position.set((-newX + scr.getWidth() / 2), (-newY + scr.getHeight() / 2), 0f); // deliberate integer division
|
||||||
camera.update();
|
camera.update();
|
||||||
logoBatch.setProjectionMatrix(camera.combined);
|
logoBatch.setProjectionMatrix(camera.combined);
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ public class Principii {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final String GRAAL_MODULE_PATH = "compiler-23.1.10.jar:compiler-management-23.1.10.jar:truffle-compiler-23.1.10.jar:truffle-api-23.1.10.jar:truffle-runtime-23.1.10.jar:polyglot-23.1.10.jar:collections-23.1.10.jar:word-23.1.10.jar:nativeimage-23.1.10.jar:jniutils-23.1.10.jar";
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
||||||
@@ -130,6 +131,13 @@ public class Principii {
|
|||||||
List<String> userDefinedExtraCmds = Arrays.stream(userDefinedExtraCmd0.split(" +")).filter((it) -> !it.isBlank()).toList();
|
List<String> userDefinedExtraCmds = Arrays.stream(userDefinedExtraCmd0.split(" +")).filter((it) -> !it.isBlank()).toList();
|
||||||
ArrayList<String> cmd0 = new ArrayList<>();
|
ArrayList<String> cmd0 = new ArrayList<>();
|
||||||
cmd0.add(runtime);
|
cmd0.add(runtime);
|
||||||
|
cmd0.add("--upgrade-module-path="+GRAAL_MODULE_PATH);
|
||||||
|
cmd0.add("-XX:+UnlockExperimentalVMOptions");
|
||||||
|
cmd0.add("-XX:+EnableJVMCI");
|
||||||
|
cmd0.add("-XX:+UseZGC");
|
||||||
|
cmd0.add("-XX:+ZGenerational");
|
||||||
|
cmd0.add("-XX:+UseDynamicNumberOfGCThreads");
|
||||||
|
cmd0.add("--add-exports=java.base/jdk.internal.misc=jdk.internal.vm.compiler");
|
||||||
cmd0.addAll(extracmds);
|
cmd0.addAll(extracmds);
|
||||||
cmd0.addAll(userDefinedExtraCmds);
|
cmd0.addAll(userDefinedExtraCmds);
|
||||||
// cmd0.add("-Dhttps.protocols=SSLv3,TLSv1.2,TLSv1.1,TLSv1");
|
// cmd0.add("-Dhttps.protocols=SSLv3,TLSv1.2,TLSv1.1,TLSv1");
|
||||||
|
|||||||
154
src/net/torvald/terrarum/SplashScreen.kt
Normal file
154
src/net/torvald/terrarum/SplashScreen.kt
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
package net.torvald.terrarum
|
||||||
|
|
||||||
|
import com.badlogic.gdx.graphics.Color
|
||||||
|
import com.badlogic.gdx.graphics.GL20
|
||||||
|
import com.badlogic.gdx.graphics.OrthographicCamera
|
||||||
|
import com.badlogic.gdx.graphics.Texture
|
||||||
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
|
import net.torvald.terrarum.langpack.Lang
|
||||||
|
import net.torvald.terrarum.ui.Toolkit
|
||||||
|
import net.torvald.terrarum.ui.UICanvas
|
||||||
|
import net.torvald.terrarum.ui.UIItemHorzSlider
|
||||||
|
import kotlin.math.max
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Draws the cold-boot splash screen: backdrop, logo, loading bar, subtitle, and health messages.
|
||||||
|
* Consolidated from App.drawSplash() so all splash rendering lives here.
|
||||||
|
*
|
||||||
|
* Progress is time-based: p = t / (t + HALF_TIME_MS), snapping to 1.0 when
|
||||||
|
* [loadingComplete] is set to true by App right before transitioning to the title screen.
|
||||||
|
*
|
||||||
|
* Created by minjaesong on 2026-04-06.
|
||||||
|
*/
|
||||||
|
object SplashScreen {
|
||||||
|
|
||||||
|
/** Set to true by App when loading completes, to snap the bar to 100%. */
|
||||||
|
@JvmField @Volatile var loadingComplete = false
|
||||||
|
|
||||||
|
private const val HALF_TIME_MS = 1500L // progress = t / (t + HALF_TIME_MS)
|
||||||
|
|
||||||
|
private val stubParent = object : UICanvas() {
|
||||||
|
override var width = 0
|
||||||
|
override var height = 0
|
||||||
|
override fun updateImpl(delta: Float) {}
|
||||||
|
override fun renderImpl(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) {}
|
||||||
|
override fun dispose() {}
|
||||||
|
}
|
||||||
|
|
||||||
|
private var loadingBar: UIItemHorzSlider? = null
|
||||||
|
private var lastBarWidth = 0
|
||||||
|
private var startTime = 0L
|
||||||
|
|
||||||
|
private val subtitleCol = Color(0.75f, 0.75f, 0.75f, 1f)
|
||||||
|
|
||||||
|
@JvmStatic fun render(batch: SpriteBatch, camera: OrthographicCamera) {
|
||||||
|
App.setCameraPosition(0f, 0f)
|
||||||
|
|
||||||
|
val batch = App.logoBatch
|
||||||
|
val scr = App.scr
|
||||||
|
val drawWidth = Toolkit.drawWidth
|
||||||
|
val showHealth = App.getConfigBoolean("showhealthmessageonstartup")
|
||||||
|
|
||||||
|
batch.color = Color.WHITE
|
||||||
|
batch.setBlendFunctionSeparate(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA, GL20.GL_ONE, GL20.GL_ONE_MINUS_SRC_ALPHA)
|
||||||
|
|
||||||
|
val safetyTextLen = if (showHealth) App.fontGame.getWidth(Lang["APP_WARNING_HEALTH_AND_SAFETY", true]) else 0
|
||||||
|
val logoPosX0 = (drawWidth - App.splashScreenLogo.regionWidth - safetyTextLen) ushr 1
|
||||||
|
val logoPosY = Math.round(scr.height / 15f)
|
||||||
|
val textY = logoPosY + App.splashScreenLogo.regionHeight - 16
|
||||||
|
|
||||||
|
// backdrop
|
||||||
|
App.splashBackdrop?.let { backdrop ->
|
||||||
|
batch.setShader(null)
|
||||||
|
batch.inUse {
|
||||||
|
val size = max(scr.width, scr.height).toFloat()
|
||||||
|
val x = if (scr.width > scr.height) 0f else (scr.width - size) / 2f
|
||||||
|
val y = if (scr.width > scr.height) (scr.height - size) / 2f else 0f
|
||||||
|
batch.draw(backdrop, x, y, size, size)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val logoPosX = logoPosX0
|
||||||
|
|
||||||
|
// logo reflection
|
||||||
|
batch.setShader(App.shaderReflect)
|
||||||
|
batch.color = Color.WHITE
|
||||||
|
batch.inUse {
|
||||||
|
if (showHealth) {
|
||||||
|
batch.draw(App.splashScreenLogo, logoPosX.toFloat(), (logoPosY + App.splashScreenLogo.regionHeight).toFloat())
|
||||||
|
} else {
|
||||||
|
batch.draw(App.splashScreenLogo,
|
||||||
|
(drawWidth - App.splashScreenLogo.regionWidth) / 2f,
|
||||||
|
(scr.height - App.splashScreenLogo.regionHeight * 2) / 2f + App.splashScreenLogo.regionHeight)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// logo
|
||||||
|
batch.setShader(null)
|
||||||
|
batch.inUse {
|
||||||
|
if (showHealth) {
|
||||||
|
batch.draw(App.splashScreenLogo, logoPosX.toFloat(), logoPosY.toFloat())
|
||||||
|
} else {
|
||||||
|
batch.draw(App.splashScreenLogo,
|
||||||
|
(drawWidth - App.splashScreenLogo.regionWidth) / 2f,
|
||||||
|
(scr.height - App.splashScreenLogo.regionHeight * 2) / 2f)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// loading bar+subtitle
|
||||||
|
if (startTime == 0L) startTime = System.currentTimeMillis()
|
||||||
|
|
||||||
|
val elapsed = System.currentTimeMillis() - startTime
|
||||||
|
val progress = if (loadingComplete) 1f
|
||||||
|
else elapsed.toFloat() / (elapsed + HALF_TIME_MS).toFloat()
|
||||||
|
|
||||||
|
val barWidth = (Toolkit.drawWidth * 0.4f).toInt().coerceAtLeast(200)
|
||||||
|
val barX = (Toolkit.drawWidth - barWidth) / 2
|
||||||
|
val barY = App.scr.height - App.scr.tvSafeGraphicsHeight - 24
|
||||||
|
|
||||||
|
if (loadingBar == null || lastBarWidth != barWidth) {
|
||||||
|
lastBarWidth = barWidth
|
||||||
|
loadingBar = UIItemHorzSlider(stubParent, barX, barY, 0.0, 0.0, 1.0, barWidth).also {
|
||||||
|
it.suppressHaptic = true
|
||||||
|
it.isEnabled = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val bar = loadingBar ?: return
|
||||||
|
bar.posX = barX
|
||||||
|
bar.posY = barY
|
||||||
|
bar.handleWidth = (progress * barWidth).toInt().coerceIn(12, barWidth)
|
||||||
|
|
||||||
|
val subtitle = "Reticulating Splines..."
|
||||||
|
val subtitleW = App.fontGame.getWidth(subtitle)
|
||||||
|
val subtitleX = (Toolkit.drawWidth - subtitleW) / 2f
|
||||||
|
val subtitleY = (barY - 32).toFloat()
|
||||||
|
|
||||||
|
batch.inUse {
|
||||||
|
batch.color = subtitleCol
|
||||||
|
App.fontGame.draw(batch, subtitle, subtitleX, subtitleY)
|
||||||
|
batch.color = Color.WHITE
|
||||||
|
bar.render(0f, batch, camera)
|
||||||
|
}
|
||||||
|
|
||||||
|
// health messages
|
||||||
|
if (showHealth) {
|
||||||
|
batch.setShader(null)
|
||||||
|
batch.inUse {
|
||||||
|
batch.color = App.splashTextCol
|
||||||
|
App.fontGame.draw(batch, Lang["APP_WARNING_HEALTH_AND_SAFETY", true],
|
||||||
|
(logoPosX + App.splashScreenLogo.regionWidth).toFloat(), textY.toFloat())
|
||||||
|
|
||||||
|
val tex1 = CommonResourcePool.getAsTexture("title_health1")
|
||||||
|
val tex2 = CommonResourcePool.getAsTexture("title_health2")
|
||||||
|
val virtualHeight = scr.height - logoPosY - App.splashScreenLogo.regionHeight / 4
|
||||||
|
val virtualHeightOffset = scr.height - virtualHeight
|
||||||
|
batch.drawFlipped(tex1, ((drawWidth - tex1.width) ushr 1).toFloat(), (virtualHeightOffset + (virtualHeight ushr 1) - 16).toFloat(), tex1.width.toFloat(), (-tex1.height).toFloat())
|
||||||
|
batch.drawFlipped(tex2, ((drawWidth - tex2.width) ushr 1).toFloat(), (virtualHeightOffset + (virtualHeight ushr 1) + 16 + tex2.height).toFloat(), tex2.width.toFloat(), (-tex2.height).toFloat())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
App.batch.setBlendFunctionSeparate(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA, GL20.GL_ONE, GL20.GL_ONE_MINUS_SRC_ALPHA)
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -727,7 +727,7 @@ class MovableWorldCamera(val parent: BuildingMaker) : ActorHumanoid(0, physProp
|
|||||||
|
|
||||||
class YamlCommandExit : YamlInvokable {
|
class YamlCommandExit : YamlInvokable {
|
||||||
override fun invoke(args: Array<Any>) {
|
override fun invoke(args: Array<Any>) {
|
||||||
App.setScreen(TitleScreen(App.batch))
|
App.pendingScreenWithCapture = TitleScreen(App.batch)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,10 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion
|
|||||||
import com.badlogic.gdx.graphics.glutils.Float16FrameBuffer
|
import com.badlogic.gdx.graphics.glutils.Float16FrameBuffer
|
||||||
import com.badlogic.gdx.graphics.glutils.FrameBuffer
|
import com.badlogic.gdx.graphics.glutils.FrameBuffer
|
||||||
import com.badlogic.gdx.graphics.glutils.ShaderProgram
|
import com.badlogic.gdx.graphics.glutils.ShaderProgram
|
||||||
|
import com.badlogic.gdx.utils.BufferUtils
|
||||||
import com.badlogic.gdx.utils.Disposable
|
import com.badlogic.gdx.utils.Disposable
|
||||||
import com.jme3.math.FastMath
|
import com.jme3.math.FastMath
|
||||||
|
import java.nio.ByteBuffer
|
||||||
import net.torvald.random.HQRNG
|
import net.torvald.random.HQRNG
|
||||||
import net.torvald.terrarum.*
|
import net.torvald.terrarum.*
|
||||||
import net.torvald.terrarum.App.*
|
import net.torvald.terrarum.App.*
|
||||||
@@ -87,12 +89,21 @@ object IngameRenderer : Disposable {
|
|||||||
|
|
||||||
private lateinit var fboRGBwall: Float16FrameBuffer // for masking away the shadows
|
private lateinit var fboRGBwall: Float16FrameBuffer // for masking away the shadows
|
||||||
|
|
||||||
|
private lateinit var fboUI: Float16FrameBuffer // UI composite target for scene-aware dimming
|
||||||
|
private lateinit var fboSceneAvg: Float16FrameBuffer // tiny target for brightness readback
|
||||||
|
|
||||||
private lateinit var rgbTex: TextureRegion
|
private lateinit var rgbTex: TextureRegion
|
||||||
private lateinit var aTex: TextureRegion
|
private lateinit var aTex: TextureRegion
|
||||||
private lateinit var mixedOutTex: TextureRegion
|
private lateinit var mixedOutTex: TextureRegion
|
||||||
|
private lateinit var uiTex: TextureRegion
|
||||||
private lateinit var lightTex: TextureRegion
|
private lateinit var lightTex: TextureRegion
|
||||||
private lateinit var blurTex: TextureRegion
|
private lateinit var blurTex: TextureRegion
|
||||||
|
|
||||||
|
// Contextual UI dimming: dim slightly when the world scene is dark.
|
||||||
|
private val sceneAvgBuf: ByteBuffer = BufferUtils.newByteBuffer(SCENE_AVG_SIZE * SCENE_AVG_SIZE * 4)
|
||||||
|
@Volatile private var smoothedSceneLuma = 1f
|
||||||
|
private var uiDimFactor = 1f
|
||||||
|
|
||||||
private lateinit var fboBlurHalf: Float16FrameBuffer
|
private lateinit var fboBlurHalf: Float16FrameBuffer
|
||||||
// private lateinit var fboBlurQuarter: Float16FrameBuffer
|
// private lateinit var fboBlurQuarter: Float16FrameBuffer
|
||||||
|
|
||||||
@@ -136,6 +147,14 @@ object IngameRenderer : Disposable {
|
|||||||
/** lower value = greater lozenge artefact from linear intp */
|
/** lower value = greater lozenge artefact from linear intp */
|
||||||
const val lightmapDownsample = 2f // still has choppy look when the camera moves but unnoticeable when blurred
|
const val lightmapDownsample = 2f // still has choppy look when the camera moves but unnoticeable when blurred
|
||||||
|
|
||||||
|
// Contextual UI dimming parameters.
|
||||||
|
private const val SCENE_AVG_SIZE = 16 // side of the small RGBA8 FBO used for brightness readback
|
||||||
|
private const val SCENE_AVG_INTERVAL = 6L // sample every N frames; smoothing fills the gaps
|
||||||
|
private const val UI_DIM_DARK_FACTOR = 0.8f // 80% brightness when the scene is dark
|
||||||
|
private const val UI_DIM_DARK_LUMA = 0.08f // luma at/below this -> fully dimmed
|
||||||
|
private const val UI_DIM_BRIGHT_LUMA = 0.22f // luma at/above this -> no dimming
|
||||||
|
private const val UI_DIM_SMOOTHING = 0.12f // per-sample EMA factor for luma
|
||||||
|
|
||||||
private var debugMode = 0
|
private var debugMode = 0
|
||||||
|
|
||||||
var renderingActorsCount = 0
|
var renderingActorsCount = 0
|
||||||
@@ -444,20 +463,38 @@ object IngameRenderer : Disposable {
|
|||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// draw UI
|
// contextual UI dimming: keep uiDimFactor in sync with the rendered scene's brightness
|
||||||
setCameraPosition(0f, 0f)
|
sampleSceneBrightness()
|
||||||
|
|
||||||
batch.inUse {
|
// draw UI into its own FBO so individual UIs can keep using batch.color freely
|
||||||
batch.shader = null
|
fboUI.inAction(camera, batch) {
|
||||||
batch.color = Color.WHITE
|
gdxClearAndEnableBlend(0f, 0f, 0f, 0f)
|
||||||
|
blendNormalStraightAlpha(batch)
|
||||||
|
|
||||||
if (!KeyToggler.isOn(Input.Keys.F4)) {
|
batch.inUse {
|
||||||
uiContainer?.forEach {
|
batch.shader = null
|
||||||
it?.render(frameDelta, batch, camera)
|
batch.color = Color.WHITE
|
||||||
|
|
||||||
|
if (!KeyToggler.isOn(Input.Keys.F4)) {
|
||||||
|
uiContainer?.forEach {
|
||||||
|
it?.render(frameDelta, batch, camera)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// composite UI on top of the world with the contextual dim tint
|
||||||
|
setCameraPosition(0f, 0f)
|
||||||
|
blendNormalPremultAlpha(batch)
|
||||||
|
|
||||||
|
uiTex.texture.setFilter(Texture.TextureFilter.Nearest, Texture.TextureFilter.Nearest)
|
||||||
|
batch.inUse {
|
||||||
|
batch.shader = null
|
||||||
|
batch.color = Color(uiDimFactor, uiDimFactor, uiDimFactor, 1f)
|
||||||
|
batch.drawFlipped(uiTex, 0f, 0f, fboUI.width.toFloat(), fboUI.height.toFloat())
|
||||||
|
batch.color = Color.WHITE
|
||||||
|
}
|
||||||
|
|
||||||
// works but some UI elements have wrong transparency -> should be fixed with Terrarum.gdxCleanAndSetBlend -- Torvald 2019-01-12
|
// works but some UI elements have wrong transparency -> should be fixed with Terrarum.gdxCleanAndSetBlend -- Torvald 2019-01-12
|
||||||
blendNormalStraightAlpha(batch)
|
blendNormalStraightAlpha(batch)
|
||||||
batch.color = Color.WHITE
|
batch.color = Color.WHITE
|
||||||
@@ -466,6 +503,48 @@ object IngameRenderer : Disposable {
|
|||||||
if (newWorldLoadedLatch) newWorldLoadedLatch = false
|
if (newWorldLoadedLatch) newWorldLoadedLatch = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Downsamples [fboMixedOut] into [fboSceneAvg], reads it back, and updates [smoothedSceneLuma]
|
||||||
|
* and [uiDimFactor]. Sampling is throttled to every [SCENE_AVG_INTERVAL] frames; the EMA fills gaps.
|
||||||
|
*/
|
||||||
|
private fun sampleSceneBrightness() {
|
||||||
|
if (App.GLOBAL_RENDER_TIMER % SCENE_AVG_INTERVAL == 0L) {
|
||||||
|
mixedOutTex.texture.setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear)
|
||||||
|
|
||||||
|
fboSceneAvg.inAction(camera, batch) {
|
||||||
|
gdxClearAndEnableBlend(0f, 0f, 0f, 1f)
|
||||||
|
batch.inUse {
|
||||||
|
batch.shader = null
|
||||||
|
batch.color = Color.WHITE
|
||||||
|
batch.draw(mixedOutTex, 0f, 0f, fboSceneAvg.width.toFloat(), fboSceneAvg.height.toFloat())
|
||||||
|
}
|
||||||
|
|
||||||
|
sceneAvgBuf.rewind()
|
||||||
|
Gdx.gl.glReadPixels(0, 0, fboSceneAvg.width, fboSceneAvg.height,
|
||||||
|
GL20.GL_RGBA, GL20.GL_UNSIGNED_BYTE, sceneAvgBuf)
|
||||||
|
}
|
||||||
|
|
||||||
|
sceneAvgBuf.rewind()
|
||||||
|
var sumR = 0L
|
||||||
|
var sumG = 0L
|
||||||
|
var sumB = 0L
|
||||||
|
val count = fboSceneAvg.width * fboSceneAvg.height
|
||||||
|
for (i in 0 until count) {
|
||||||
|
sumR += (sceneAvgBuf.get().toInt() and 0xFF)
|
||||||
|
sumG += (sceneAvgBuf.get().toInt() and 0xFF)
|
||||||
|
sumB += (sceneAvgBuf.get().toInt() and 0xFF)
|
||||||
|
sceneAvgBuf.get() // alpha discarded
|
||||||
|
}
|
||||||
|
val inv = 1f / (count * 255f)
|
||||||
|
val luma = 0.2126f * (sumR * inv) + 0.7152f * (sumG * inv) + 0.0722f * (sumB * inv)
|
||||||
|
smoothedSceneLuma += (luma - smoothedSceneLuma) * UI_DIM_SMOOTHING
|
||||||
|
}
|
||||||
|
|
||||||
|
val t = ((smoothedSceneLuma - UI_DIM_DARK_LUMA) / (UI_DIM_BRIGHT_LUMA - UI_DIM_DARK_LUMA))
|
||||||
|
.coerceIn(0f, 1f)
|
||||||
|
uiDimFactor = UI_DIM_DARK_FACTOR + (1f - UI_DIM_DARK_FACTOR) * t
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private fun prepLightmapRGBA() {
|
private fun prepLightmapRGBA() {
|
||||||
lightmapFbo.inAction(null, null) {
|
lightmapFbo.inAction(null, null) {
|
||||||
@@ -1305,6 +1384,9 @@ object IngameRenderer : Disposable {
|
|||||||
|
|
||||||
fboBlurHalf.dispose()
|
fboBlurHalf.dispose()
|
||||||
//fboBlurQuarter.dispose()
|
//fboBlurQuarter.dispose()
|
||||||
|
|
||||||
|
if (::fboUI.isInitialized) fboUI.dispose()
|
||||||
|
if (::fboSceneAvg.isInitialized) fboSceneAvg.dispose()
|
||||||
}
|
}
|
||||||
|
|
||||||
// BlocksDrawer and LightmapRenderer must be resized before lightmapFbo is created,
|
// BlocksDrawer and LightmapRenderer must be resized before lightmapFbo is created,
|
||||||
@@ -1332,11 +1414,15 @@ object IngameRenderer : Disposable {
|
|||||||
LightmapRenderer.lightBuffer.height * LightmapRenderer.DRAW_TILE_SIZE.toInt(),
|
LightmapRenderer.lightBuffer.height * LightmapRenderer.DRAW_TILE_SIZE.toInt(),
|
||||||
false
|
false
|
||||||
)
|
)
|
||||||
|
fboUI = Float16FrameBuffer(width, height, false)
|
||||||
|
fboSceneAvg = Float16FrameBuffer(SCENE_AVG_SIZE, SCENE_AVG_SIZE, false)
|
||||||
|
|
||||||
rgbTex = TextureRegion(fboRGB_lightMixed.colorBufferTexture)
|
rgbTex = TextureRegion(fboRGB_lightMixed.colorBufferTexture)
|
||||||
aTex = TextureRegion(fboA_lightMixed.colorBufferTexture)
|
aTex = TextureRegion(fboA_lightMixed.colorBufferTexture)
|
||||||
lightTex = TextureRegion(lightmapFbo.colorBufferTexture)
|
lightTex = TextureRegion(lightmapFbo.colorBufferTexture)
|
||||||
blurTex = TextureRegion()
|
blurTex = TextureRegion()
|
||||||
mixedOutTex = TextureRegion(fboMixedOut.colorBufferTexture)
|
mixedOutTex = TextureRegion(fboMixedOut.colorBufferTexture)
|
||||||
|
uiTex = TextureRegion(fboUI.colorBufferTexture)
|
||||||
|
|
||||||
fboBlurHalf = Float16FrameBuffer(
|
fboBlurHalf = Float16FrameBuffer(
|
||||||
LightmapRenderer.lightBuffer.width * LightmapRenderer.DRAW_TILE_SIZE.toInt() / 2,
|
LightmapRenderer.lightBuffer.width * LightmapRenderer.DRAW_TILE_SIZE.toInt() / 2,
|
||||||
@@ -1394,6 +1480,8 @@ object IngameRenderer : Disposable {
|
|||||||
if (::fboRGBactorsMiddleShadow.isInitialized) fboRGBactorsMiddleShadow.tryDispose()
|
if (::fboRGBactorsMiddleShadow.isInitialized) fboRGBactorsMiddleShadow.tryDispose()
|
||||||
if (::fboRGBterrainShadow.isInitialized) fboRGBterrainShadow.tryDispose()
|
if (::fboRGBterrainShadow.isInitialized) fboRGBterrainShadow.tryDispose()
|
||||||
if (::fboRGBwall.isInitialized) fboRGBwall.tryDispose()
|
if (::fboRGBwall.isInitialized) fboRGBwall.tryDispose()
|
||||||
|
if (::fboUI.isInitialized) fboUI.tryDispose()
|
||||||
|
if (::fboSceneAvg.isInitialized) fboSceneAvg.tryDispose()
|
||||||
|
|
||||||
blurtex0.tryDispose()
|
blurtex0.tryDispose()
|
||||||
|
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ class TitleScreen(batch: FlippingSpriteBatch) : IngameInstance(batch) {
|
|||||||
private var splashCapture: Texture? = null
|
private var splashCapture: Texture? = null
|
||||||
private var settleFrames = 0
|
private var settleFrames = 0
|
||||||
private var transitionState = 0 // 0=loading, 1=settling, 2=fading, 3=done
|
private var transitionState = 0 // 0=loading, 1=settling, 2=fading, 3=done
|
||||||
|
private var enteringFromIngame = false
|
||||||
|
|
||||||
private lateinit var demoWorld: GameWorld
|
private lateinit var demoWorld: GameWorld
|
||||||
private lateinit var cameraNodes: FloatArray // camera Y-pos
|
private lateinit var cameraNodes: FloatArray // camera Y-pos
|
||||||
@@ -296,6 +297,15 @@ class TitleScreen(batch: FlippingSpriteBatch) : IngameInstance(batch) {
|
|||||||
override fun show() {
|
override fun show() {
|
||||||
printdbg(this, "show() called")
|
printdbg(this, "show() called")
|
||||||
|
|
||||||
|
// consume the pre-captured frame provided by App.render()'s deferred-capture path
|
||||||
|
val pixmap = App.captureLastFrame
|
||||||
|
App.captureLastFrame = null
|
||||||
|
if (pixmap != null) {
|
||||||
|
splashCapture = Texture(pixmap)
|
||||||
|
pixmap.dispose()
|
||||||
|
enteringFromIngame = true
|
||||||
|
}
|
||||||
|
|
||||||
for (k in Input.Keys.F1..Input.Keys.F12) {
|
for (k in Input.Keys.F1..Input.Keys.F12) {
|
||||||
KeyToggler.forceSet(k, false)
|
KeyToggler.forceSet(k, false)
|
||||||
}
|
}
|
||||||
@@ -325,15 +335,22 @@ class TitleScreen(batch: FlippingSpriteBatch) : IngameInstance(batch) {
|
|||||||
|
|
||||||
override fun renderImpl(updateRate: Float) {
|
override fun renderImpl(updateRate: Float) {
|
||||||
when (transitionState) {
|
when (transitionState) {
|
||||||
// Loading phase: show splash, advance GL load steps
|
// Loading phase: show splash or last ingame frame, advance GL load steps
|
||||||
0 -> {
|
0 -> {
|
||||||
App.drawSplash()
|
if (enteringFromIngame) {
|
||||||
|
// hold the last ingame frame while the title screen loads in the background
|
||||||
|
drawSplashCapture(1f)
|
||||||
|
} else {
|
||||||
|
App.drawSplash()
|
||||||
|
}
|
||||||
processGLLoadStep()
|
processGLLoadStep()
|
||||||
if (loadDone) {
|
if (loadDone) {
|
||||||
// capture the current framebuffer (splash) as a texture
|
if (!enteringFromIngame) {
|
||||||
val pixmap = Pixmap.createFromFrameBuffer(0, 0, App.scr.width, App.scr.height)
|
// capture the current splash screen frame for the crossfade
|
||||||
splashCapture = Texture(pixmap)
|
val pixmap = Pixmap.createFromFrameBuffer(0, 0, App.scr.width, App.scr.height)
|
||||||
pixmap.dispose()
|
splashCapture = Texture(pixmap)
|
||||||
|
pixmap.dispose()
|
||||||
|
}
|
||||||
transitionState = 1
|
transitionState = 1
|
||||||
settleFrames = 0
|
settleFrames = 0
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ class UIInventoryEscMenu(val full: UIInventoryFull) : UICanvas() {
|
|||||||
when (new) {
|
when (new) {
|
||||||
2 -> {
|
2 -> {
|
||||||
areYouSureMainMenuButtons.deselect()
|
areYouSureMainMenuButtons.deselect()
|
||||||
App.setScreen(TitleScreen(App.batch))
|
App.pendingScreenWithCapture = TitleScreen(App.batch)
|
||||||
}
|
}
|
||||||
3 -> {
|
3 -> {
|
||||||
screen = 0; areYouSureMainMenuButtons.deselect()
|
screen = 0; areYouSureMainMenuButtons.deselect()
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ class UIItemHorzSlider(
|
|||||||
override fun update(delta: Float) {
|
override fun update(delta: Float) {
|
||||||
super.update(delta)
|
super.update(delta)
|
||||||
|
|
||||||
mouseOnHandle = itemRelativeMouseX in handlePos.roundToInt() until handlePos.roundToInt() + handleWidth && itemRelativeMouseY in 0 until height
|
mouseOnHandle = if (!isEnabled) false else itemRelativeMouseX in handlePos.roundToInt() until handlePos.roundToInt() + handleWidth && itemRelativeMouseY in 0 until height
|
||||||
|
|
||||||
// update handle position and value
|
// update handle position and value
|
||||||
if (mouseUp && Terrarum.mouseDown || mouseLatched) {
|
if (mouseUp && Terrarum.mouseDown || mouseLatched) {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import com.badlogic.gdx.graphics.OrthographicCamera
|
|||||||
import com.badlogic.gdx.graphics.Pixmap
|
import com.badlogic.gdx.graphics.Pixmap
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
import com.badlogic.gdx.graphics.glutils.FrameBuffer
|
import com.badlogic.gdx.graphics.glutils.FrameBuffer
|
||||||
import com.ibm.icu.text.Normalizer2
|
import org.graalvm.shadowed.com.ibm.icu.text.Normalizer2 // wtf?
|
||||||
import com.jme3.math.FastMath
|
import com.jme3.math.FastMath
|
||||||
import net.torvald.terrarum.*
|
import net.torvald.terrarum.*
|
||||||
import net.torvald.terrarum.gamecontroller.*
|
import net.torvald.terrarum.gamecontroller.*
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ class UIItemVertSlider(
|
|||||||
override fun update(delta: Float) {
|
override fun update(delta: Float) {
|
||||||
super.update(delta)
|
super.update(delta)
|
||||||
|
|
||||||
mouseOnHandle = itemRelativeMouseY in handlePos.roundToInt() until handlePos.roundToInt() + handleHeight && itemRelativeMouseX in 0 until width
|
mouseOnHandle = if (!isEnabled) false else itemRelativeMouseY in handlePos.roundToInt() until handlePos.roundToInt() + handleHeight && itemRelativeMouseX in 0 until width
|
||||||
|
|
||||||
// update handle position and value
|
// update handle position and value
|
||||||
if (mouseUp && Terrarum.mouseDown || mouseLatched) {
|
if (mouseUp && Terrarum.mouseDown || mouseLatched) {
|
||||||
|
|||||||
Reference in New Issue
Block a user