modularise everything

This commit is contained in:
minjaesong
2022-02-27 18:52:09 +09:00
parent f4402771c8
commit 3443a5baab
43 changed files with 170 additions and 85 deletions

View File

@@ -0,0 +1,11 @@
/**
* Created by minjaesong on 2022-02-27.
*/
module ModuleComputers {
requires gdx;
requires Terrarum;
requires TerrarumSansBitmap;
requires kotlin.stdlib;
requires kotlinx.coroutines.core;
requires TerrarumTSVM;
}

View File

@@ -0,0 +1,35 @@
package net.torvald.terrarum.modulecomputers.console
import com.badlogic.gdx.Gdx
import net.torvald.gdx.graphics.PixmapIO2
import net.torvald.spriteanimation.SpriteAnimation
import net.torvald.terrarum.App
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.console.ConsoleCommand
import net.torvald.terrarum.console.Echo
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
/**
* Created by minjaesong on 2022-02-27.
*/
internal object Dumpsprite : ConsoleCommand {
override fun execute(args: Array<String>) {
val player = Terrarum.ingame!!.actorNowPlaying!!.sprite!!
val field = SpriteAnimation::class.java.getDeclaredField("textureRegion")
field.isAccessible = true
val textureRegion = field.get(player) as TextureRegionPack
val texture = textureRegion.texture.textureData
val pixmap = texture.consumePixmap()
PixmapIO2.writeTGA(Gdx.files.absolute("${App.defaultDir}/Exports/PlayerTexture.tga"), pixmap, false)
}
override fun printUsage() {
Echo("A spear to test the ingame's shield")
}
}

View File

@@ -0,0 +1 @@
Dumpsprite
1 Dumpsprite

66
src/module-info.java Normal file
View File

@@ -0,0 +1,66 @@
module Terrarum {
// java
requires java.base;
requires java.desktop;
requires java.logging;
requires jdk.unsupported; // sun.misc.Unsafe
// kotlin
requires kotlin.stdlib;
requires kotlin.test;
requires kotlin.reflect;
requires kotlin.stdlib.jdk8; // for some reason it's required
// gdx
requires gdx;
requires gdx.platform;
requires gdx.backend.lwjgl3;
requires gdx.controllers.core;
requires gdx.controllers.desktop;
// terrarum
requires TerrarumSansBitmap;
requires Terrarum.Joise;
// etc
requires GetCpuName;
requires org.apache.commons.codec;
requires commons.csv;
requires jxinput;
requires org.graalvm.sdk;
requires com.ibm.icu;
requires org.lwjgl.opengl;
exports net.torvald.colourutil;
exports net.torvald.gdx.graphics;
exports net.torvald.random;
exports net.torvald.spriteanimation;
exports net.torvald.util;
exports net.torvald.unicode;
exports net.torvald.terrarum;
exports net.torvald.terrarum.blockproperties;
exports net.torvald.terrarum.concurrent;
exports net.torvald.terrarum.console;
exports net.torvald.terrarum.gameactors;
exports net.torvald.terrarum.gamecontroller;
exports net.torvald.terrarum.gameitems;
exports net.torvald.terrarum.gameparticles;
exports net.torvald.terrarum.gameworld;
exports net.torvald.terrarum.imagefont;
exports net.torvald.terrarum.itemproperties;
exports net.torvald.terrarum.langpack;
exports net.torvald.terrarum.realestate;
exports net.torvald.terrarum.ui;
exports net.torvald.terrarum.utils;
exports net.torvald.terrarum.weather;
exports net.torvald.terrarum.modulebasegame;
exports net.torvald.terrarum.modulebasegame.gameactors;
exports net.torvald.terrarum.modulebasegame.gameitems;
exports net.torvald.terrarum.modulebasegame.gameparticles;
exports net.torvald.terrarum.modulebasegame.gameworld;
exports net.torvald.terrarum.modulebasegame.ui;
exports net.torvald.terrarum.modulebasegame.worldgenerator;
}

View File

@@ -1,35 +0,0 @@
module terrarum.terrarum {
// java
requires java.base;
requires java.desktop;
requires java.logging;
requires jdk.unsupported; // sun.misc.Unsafe
// kotlin
requires kotlin.stdlib;
requires kotlin.test;
requires kotlin.reflect;
requires kotlin.stdlib.jdk8;
// gdx
requires gdx;
requires gdx.platform;
requires gdx.backend.lwjgl3;
requires gdx.controllers.core;
requires gdx.controllers.desktop;
// terrarum
requires TerrarumSansBitmap;
requires Terrarum.Joise;
// etc
requires GetCpuName;
requires org.apache.commons.codec;
requires commons.csv;
requires jxinput;
requires org.graalvm.sdk;
requires com.ibm.icu;
requires org.lwjgl.opengl;
exports net.torvald.terrarum;
}

View File

@@ -1,6 +1,6 @@
package net.torvald.gdx.graphics
import net.torvald.UnsafeHelper
import net.torvald.unsafe.UnsafeHelper
/**
* Basically just a FloatArray. You may need to re-write the entire code to actually store the Vectors,

View File

@@ -9,7 +9,7 @@ import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.Pixmap
import com.badlogic.gdx.graphics.Texture
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.EMDASH
import net.torvald.unicode.EMDASH
import net.torvald.colourutil.*
import net.torvald.parametricsky.datasets.DatasetCIEXYZ
import net.torvald.parametricsky.datasets.DatasetRGB

View File

@@ -1,6 +1,6 @@
package net.torvald.random;
import net.torvald.UnsafeHelper;
import net.torvald.unsafe.UnsafeHelper;
/**
* Code from https://richardstartin.github.io/posts/xxhash

View File

@@ -1,6 +1,6 @@
package net.torvald.random;
import net.torvald.UnsafeHelper;
import net.torvald.unsafe.UnsafeHelper;
/**
* Code from https://richardstartin.github.io/posts/xxhash

View File

@@ -10,8 +10,8 @@ import com.badlogic.gdx.graphics.Texture
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.glutils.ShaderProgram
import com.badlogic.gdx.graphics.glutils.ShapeRenderer
import net.torvald.EMDASH
import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap
import net.torvald.unicode.EMDASH
/**
* Created by minjaesong on 2017-07-05.

View File

@@ -4,8 +4,8 @@ import com.badlogic.gdx.graphics.Texture
import com.badlogic.gdx.graphics.g2d.TextureRegion
import com.badlogic.gdx.utils.Disposable
import com.badlogic.gdx.utils.Queue
import net.torvald.UnsafePtr
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
import net.torvald.unsafe.UnsafePtr
/**
* Created by minjaesong on 2019-03-10.
@@ -127,8 +127,8 @@ object CommonResourcePool {
u is Disposable -> u.dispose()
u is Texture -> u.dispose()
u is TextureRegion -> u.texture.dispose()
u is UnsafePtr -> u.destroy()
else -> poolKillFun[name]?.invoke(u)
u is UnsafePtr -> u.destroy()
else -> poolKillFun[name]?.invoke(u)
}
}
catch (e: Throwable) {

View File

@@ -1,7 +1,7 @@
package net.torvald.terrarum
import net.torvald.BULLET
import net.torvald.ENDASH
import net.torvald.unicode.BULLET
import net.torvald.unicode.ENDASH
object CreditSingleton {

View File

@@ -8,7 +8,7 @@ import com.badlogic.gdx.graphics.*
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.glutils.ShaderProgram
import com.badlogic.gdx.graphics.Color
import net.torvald.EMDASH
import net.torvald.unicode.EMDASH
import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap
/**

View File

@@ -206,6 +206,15 @@ object ModMgr {
val cl = JarFileLoader(urls)
cl.addFile("${File(modDir).absolutePath}/$moduleName/$jar")
moduleClassloader[moduleName] = cl
// check for module-info.java
val moduleInfoPath = cl.getResources("module-info.class").toList().filter { it.toString().contains("$moduleName/$jar!/module-info.class") && it.toString().endsWith("module-info.class")}
println("moduleinfo: ${cl.getResources("module-info.class").toList().joinToString()}")
println(moduleInfoPath.joinToString())
if (moduleInfoPath.size == 0) {
throw IllegalStateException("module-info not found on $moduleName")
}
newClass = cl.loadClass(entryPoint)
}
// for modules that are not (meant to be used by the "basegame" kind of modules)

View File

@@ -7,7 +7,7 @@ import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration
import com.badlogic.gdx.graphics.*
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.glutils.ShaderProgram
import net.torvald.EMDASH
import net.torvald.unicode.EMDASH
import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap
/**

View File

@@ -12,7 +12,7 @@ import com.badlogic.gdx.graphics.glutils.ShapeRenderer
import com.badlogic.gdx.utils.Disposable
import com.badlogic.gdx.utils.JsonReader
import com.jme3.math.FastMath
import net.torvald.UnsafeHelper
import net.torvald.unsafe.UnsafeHelper
import net.torvald.gdx.graphics.Cvec
import net.torvald.random.HQRNG
import net.torvald.terrarum.App.*

View File

@@ -11,7 +11,7 @@ import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.glutils.FrameBuffer
import com.badlogic.gdx.graphics.glutils.ShaderProgram
import com.badlogic.gdx.graphics.Color
import net.torvald.EMDASH
import net.torvald.unicode.EMDASH
import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap

View File

@@ -1,8 +1,8 @@
package net.torvald.terrarum.controller
import net.torvald.CURRENCY
import net.torvald.EMDASH
import net.torvald.MIDDOT
import net.torvald.unicode.CURRENCY
import net.torvald.unicode.EMDASH
import net.torvald.unicode.MIDDOT
/**
* Created by minjaesong on 2019-04-10.

View File

@@ -1,14 +1,14 @@
package net.torvald.terrarum.gameworld
import com.badlogic.gdx.utils.Disposable
import net.torvald.UnsafeHelper
import net.torvald.UnsafePtr
import net.torvald.terrarum.App.printdbg
import net.torvald.unsafe.UnsafeHelper
import net.torvald.unsafe.UnsafePtr
/**
* Memory layout:
* ```
* a7 a6 a5 a4 a3 a2 a1 a0 | xx xx xx xx aB aA a9 a8 ||
* a7 a6 a5 a4 a3 a2 a1 a0 | aF aE aD aC aB aA a9 a8 ||
* ```
* where a_n is a tile number
*

View File

@@ -4,7 +4,7 @@ import com.badlogic.gdx.Gdx
import com.badlogic.gdx.Input
import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.EMDASH
import net.torvald.unicode.EMDASH
import net.torvald.terrarum.*
import net.torvald.terrarum.App.*
import net.torvald.terrarum.Terrarum.getPlayerSaveFiledesc

View File

@@ -1,6 +1,6 @@
package net.torvald.terrarum.modulebasegame.console
import net.torvald.EMDASH
import net.torvald.unicode.EMDASH
import net.torvald.random.HQRNG
import net.torvald.terrarum.console.ConsoleAlias
import net.torvald.terrarum.console.ConsoleCommand

View File

@@ -1,6 +1,6 @@
package net.torvald.terrarum.modulebasegame.debuggerapp
import net.torvald.EMDASH
import net.torvald.unicode.EMDASH
import net.torvald.terrarum.*
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
import net.torvald.terrarum.console.Echo

View File

@@ -2,7 +2,7 @@ package net.torvald.terrarum.modulebasegame.gameactors
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.Pixmap
import net.torvald.EMDASH
import net.torvald.unicode.EMDASH
import net.torvald.terrarum.ccC
import net.torvald.terrarum.ccW
import net.torvald.terrarum.gameworld.toUint

View File

@@ -2,7 +2,7 @@ package net.torvald.terrarum.modulebasegame.gameitems
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.TextureRegion
import net.torvald.EMDASH
import net.torvald.unicode.EMDASH
import net.torvald.terrarum.*
import net.torvald.terrarum.gameactors.ActorWithBody
import net.torvald.terrarum.gameactors.BlockMarkerActor

View File

@@ -3,7 +3,7 @@ package net.torvald.terrarum.modulebasegame.ui
import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.TIMES
import net.torvald.unicode.TIMES
import net.torvald.terrarum.App
import net.torvald.terrarum.langpack.Lang
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.CELL_COL

View File

@@ -4,16 +4,15 @@ import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.glutils.ShapeRenderer
import net.torvald.ENDASH
import net.torvald.getKeycapPC
import net.torvald.terrarum.*
import net.torvald.terrarum.App.*
import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent
import net.torvald.terrarum.langpack.Lang
import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid
import net.torvald.terrarum.ui.Toolkit
import net.torvald.terrarum.ui.UICanvas
import net.torvald.terrarum.ui.UIItemHorizontalFadeSlide
import net.torvald.unicode.ENDASH
import net.torvald.unicode.getKeycapPC
/**
* Created by minjaesong on 2017-10-21.

View File

@@ -5,7 +5,7 @@ import com.badlogic.gdx.Input
import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.EMDASH
import net.torvald.unicode.EMDASH
import net.torvald.terrarum.App
import net.torvald.terrarum.CommonResourcePool
import net.torvald.terrarum.gamecontroller.*

View File

@@ -9,9 +9,9 @@ import com.badlogic.gdx.graphics.glutils.FrameBuffer
import com.badlogic.gdx.graphics.glutils.ShapeRenderer
import com.badlogic.gdx.utils.JsonReader
import com.jme3.math.FastMath
import net.torvald.EMDASH
import net.torvald.getKeycapConsole
import net.torvald.getKeycapPC
import net.torvald.unicode.EMDASH
import net.torvald.unicode.getKeycapConsole
import net.torvald.unicode.getKeycapPC
import net.torvald.spriteanimation.SpriteAnimation
import net.torvald.terrarum.*
import net.torvald.terrarum.App.printdbg

View File

@@ -3,14 +3,13 @@ package net.torvald.terrarum.modulebasegame.ui
import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.EMDASH
import net.torvald.getKeycapPC
import net.torvald.terrarum.App
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.TerrarumScreenSize
import net.torvald.terrarum.modulebasegame.ui.UIQuickslotBar.Companion.COMMON_OPEN_CLOSE
import net.torvald.terrarum.ui.Movement
import net.torvald.terrarum.ui.UICanvas
import net.torvald.unicode.EMDASH
import net.torvald.unicode.getKeycapPC
import kotlin.math.roundToInt
/**

View File

@@ -6,8 +6,8 @@ import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.g2d.TextureRegion
import com.badlogic.gdx.graphics.glutils.FrameBuffer
import com.badlogic.gdx.graphics.glutils.ShapeRenderer
import net.torvald.getKeycapConsole
import net.torvald.getKeycapPC
import net.torvald.unicode.getKeycapConsole
import net.torvald.unicode.getKeycapPC
import net.torvald.terrarum.*
import net.torvald.terrarum.langpack.Lang
import net.torvald.terrarum.ui.Movement

View File

@@ -8,7 +8,7 @@ import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.Pixmap
import com.badlogic.gdx.graphics.Texture
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.EMDASH
import net.torvald.unicode.EMDASH
import net.torvald.gdx.graphics.PixmapIO2
import net.torvald.terrarum.gdxClearAndSetBlend
import net.torvald.terrarum.inUse

View File

@@ -6,7 +6,7 @@ import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration
import com.badlogic.gdx.graphics.g2d.BitmapFont
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.EMDASH
import net.torvald.unicode.EMDASH
import net.torvald.terrarum.gdxClearAndSetBlend
import net.torvald.terrarum.inUse

View File

@@ -9,7 +9,7 @@ import com.badlogic.gdx.graphics.OrthographicCamera
import com.badlogic.gdx.graphics.Pixmap
import com.badlogic.gdx.graphics.Texture
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.EMDASH
import net.torvald.unicode.EMDASH
import net.torvald.random.HQRNG
import net.torvald.terrarum.Point2i
import net.torvald.terrarum.inUse

View File

@@ -10,7 +10,7 @@ import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.OrthographicCamera
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.glutils.ShaderProgram
import net.torvald.EMDASH
import net.torvald.unicode.EMDASH
import net.torvald.terrarum.*
import net.torvald.terrarum.ui.Toolkit
import net.torvald.terrarum.ui.UICanvas

View File

@@ -1,6 +1,6 @@
package net.torvald.terrarum.tests
import net.torvald.UnsafeHelper
import net.torvald.unsafe.UnsafeHelper
import net.torvald.terrarum.gameworld.toUint
import sun.misc.Unsafe

View File

@@ -14,7 +14,7 @@ import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.glutils.ShaderProgram
import com.sudoplay.joise.Joise
import com.sudoplay.joise.module.*
import net.torvald.UnsafePtr
import net.torvald.unsafe.UnsafeHelper
import net.torvald.random.HQRNG
import net.torvald.terrarum.concurrent.*
import net.torvald.terrarum.gameworld.fmod

View File

@@ -4,7 +4,7 @@ import com.badlogic.gdx.Gdx
import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.EMDASH
import net.torvald.unicode.EMDASH
import net.torvald.terrarum.*
import net.torvald.terrarum.Terrarum.mouseTileX
import net.torvald.terrarum.Terrarum.mouseTileY

View File

@@ -5,7 +5,7 @@ import com.badlogic.gdx.Input
import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.EMDASH
import net.torvald.unicode.EMDASH
import net.torvald.terrarum.App
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.TerrarumAppConfiguration

View File

@@ -13,7 +13,7 @@ import net.torvald.terrarum.*
import net.torvald.terrarum.gamecontroller.*
import net.torvald.terrarum.utils.Clipboard
import net.torvald.terrarumsansbitmap.gdx.CodepointSequence
import net.torvald.toJavaString
import net.torvald.unicode.toJavaString
import kotlin.streams.toList
data class InputLenCap(val count: Int, val unit: CharLenUnit) {

View File

@@ -1,7 +1,7 @@
package net.torvald.terrarum.worlddrawer
import com.badlogic.gdx.utils.Disposable
import net.torvald.UnsafeHelper
import net.torvald.unsafe.UnsafeHelper
/**
* As the fast access to this LUT is critical for the performance because of the way light calculation work,

View File

@@ -1,4 +1,4 @@
package net.torvald
package net.torvald.unicode
import net.torvald.terrarum.savegame.ByteArray64

View File

@@ -1,4 +1,4 @@
package net.torvald
package net.torvald.unsafe
import net.torvald.terrarum.App.printdbg
import net.torvald.terrarum.printStackTrace