shaders moved to subdir; console click on the actor to type its id in

This commit is contained in:
minjaesong
2021-12-04 16:16:01 +09:00
parent 63487a1386
commit c0b2f4c8df
62 changed files with 352 additions and 25 deletions

View File

@@ -418,18 +418,18 @@ public class App implements ApplicationListener {
// set GL graphics constants
for (int i = 0; i < ditherPatterns.length; i++) {
Texture t = new Texture(Gdx.files.internal("assets/dither_512_"+i+".tga"));
Texture t = new Texture(Gdx.files.internal("assets/shaders/dither_512_"+i+".tga"));
t.setFilter(Texture.TextureFilter.Nearest, Texture.TextureFilter.Linear);
t.setWrap(Texture.TextureWrap.Repeat, Texture.TextureWrap.Repeat);
ditherPatterns[i] = t;
}
shaderBayerSkyboxFill = loadShaderFromFile("assets/4096.vert", "assets/4096_bayer_skyboxfill.frag");
shaderHicolour = loadShaderFromFile("assets/4096.vert", "assets/hicolour.frag");
shaderDebugDiff = loadShaderFromFile("assets/4096.vert", "assets/diff.frag");
shaderBayerSkyboxFill = loadShaderFromFile("assets/shaders/4096.vert", "assets/shaders/4096_bayer_skyboxfill.frag");
shaderHicolour = loadShaderFromFile("assets/shaders/4096.vert", "assets/shaders/hicolour.frag");
shaderDebugDiff = loadShaderFromFile("assets/shaders/4096.vert", "assets/shaders/diff.frag");
shaderPassthruRGB = SpriteBatch.createDefaultShader();
shaderColLUT = loadShaderFromFile("assets/4096.vert", "assets/passthrurgb.frag");
shaderReflect = loadShaderFromFile("assets/4096.vert", "assets/reflect.frag");
shaderColLUT = loadShaderFromFile("assets/shaders/4096.vert", "assets/shaders/passthrurgb.frag");
shaderReflect = loadShaderFromFile("assets/shaders/4096.vert", "assets/shaders/reflect.frag");
fullscreenQuad = new Mesh(
true, 4, 6,
@@ -858,7 +858,8 @@ public class App implements ApplicationListener {
// test print
System.out.println("[App] Test printing every registered item");
Terrarum.INSTANCE.getItemCodex().getItemCodex().values().stream().map(GameItem::getOriginalID).forEach(System.out::println);
Terrarum.INSTANCE.getItemCodex().getItemCodex().values().stream().map(GameItem::getOriginalID).forEach((String s) -> System.out.print(s+" "));
System.out.println();
// create tile atlas

View File

@@ -38,7 +38,7 @@ object ColorLimiterTest : ApplicationAdapter() {
override fun create() {
ShaderProgram.pedantic = false
shader4096 = ShaderProgram(Gdx.files.internal("assets/4096.vert"), Gdx.files.internal("assets/4096_bayer.frag"))
shader4096 = ShaderProgram(Gdx.files.internal("assets/shaders/4096.vert"), Gdx.files.internal("assets/shaders/4096_bayer.frag"))
shader4096.bind()
shader4096.setUniformf("rcount", 4f)
shader4096.setUniformf("gcount", 4f)

View File

@@ -47,7 +47,7 @@ object GlslTilingTest : ApplicationAdapter() {
override fun create() {
ShaderProgram.pedantic = false
shader = ShaderProgram(Gdx.files.internal("assets/4096.vert"), Gdx.files.internal("assets/tiling.frag"))
shader = ShaderProgram(Gdx.files.internal("assets/shaders/4096.vert"), Gdx.files.internal("assets/shaders/tiling.frag"))
font = TerrarumSansBitmap("assets/graphics/fonts/terrarum-sans-bitmap", flipY = false)

View File

@@ -63,6 +63,19 @@ object ModMgr {
"\tJarfile: $jar\n" +
"\tDependencies: ${dependencies.joinToString("\n\t")}"
}
data class ModuleErrorInfo(
val type: LoadErrorType,
val moduleName: String,
val cause: Throwable? = null,
)
enum class LoadErrorType {
YOUR_FAULT,
MY_FAULT,
NOT_EVEN_THERE
}
const val modDir = "./assets/mods"
/** Module name (directory name), ModuleMetadata */
@@ -73,6 +86,12 @@ object ModMgr {
val loadOrder = ArrayList<String>()
val errorLogs = ArrayList<ModuleErrorInfo>()
fun logError(type: LoadErrorType, moduleName: String, cause: Throwable? = null) {
errorLogs.add(ModuleErrorInfo(type, moduleName, cause))
}
init {
// load modules
val loadOrderCSVparser = CSVParser.parse(
@@ -139,6 +158,9 @@ object ModMgr {
printdbgerr(this, "$moduleName failed to load, skipping...")
printdbgerr(this, "\t$e")
print(App.csiR); e.printStackTrace(System.out); print(App.csi0)
logError(LoadErrorType.YOUR_FAULT, moduleName, e)
moduleInfo.remove(moduleName)
}
@@ -162,12 +184,18 @@ object ModMgr {
}
catch (noSuchModule: FileNotFoundException) {
printdbgerr(this, "No such module: $moduleName, skipping...")
logError(LoadErrorType.NOT_EVEN_THERE, moduleName)
moduleInfo.remove(moduleName)
}
catch (e: Throwable) {
printdbgerr(this, "There was an error while loading module $moduleName")
printdbgerr(this, "\t$e")
print(App.csiR); e.printStackTrace(System.out); print(App.csi0)
logError(LoadErrorType.YOUR_FAULT, moduleName, e)
moduleInfo.remove(moduleName)
}
finally {

View File

@@ -39,7 +39,7 @@ object ShitOnGlsl : ApplicationAdapter() {
override fun create() {
ShaderProgram.pedantic = false
shader = ShaderProgram(Gdx.files.internal("assets/4096.vert"), Gdx.files.internal("assets/crt.frag"))
shader = ShaderProgram(Gdx.files.internal("assets/shaders/4096.vert"), Gdx.files.internal("assets/shaders/crt.frag"))
font = TerrarumSansBitmap("assets/graphics/fonts/terrarum-sans-bitmap", flipY = false)

View File

@@ -196,7 +196,7 @@ object TestTestMain : ApplicationAdapter() {
override fun create() {
ShaderProgram.pedantic = false
blurShader = ShaderProgram(Gdx.files.internal("assets/blur.vert"), Gdx.files.internal("assets/blur.frag"))
blurShader = ShaderProgram(Gdx.files.internal("assets/shaders/blur.vert"), Gdx.files.internal("assets/shaders/blur.frag"))
batch = SpriteBatch()

View File

@@ -56,8 +56,8 @@ open class ActorWithBody : Actor {
get() = Terrarum.ingame?.world
@Transient internal var sprite: SpriteAnimation? = null
@Transient internal var spriteGlow: SpriteAnimation? = null
@Transient var sprite: SpriteAnimation? = null
@Transient var spriteGlow: SpriteAnimation? = null
var drawMode = BlendMode.NORMAL

View File

@@ -114,18 +114,18 @@ object IngameRenderer : Disposable {
// these codes will run regardless of the invocation of the "initialise()" function
// the "initialise()" function will also be called
init {
shaderBlurDither = App.loadShaderFromFile("assets/blur.vert", "assets/blur_dither.frag")
shaderRGBOnlyDither = App.loadShaderFromFile("assets/4096.vert", "assets/4096_bayer_rgb1.frag")
shaderAtoGreyDither = App.loadShaderFromFile("assets/4096.vert", "assets/4096_bayer_aaa1.frag")
shaderBlurDither = App.loadShaderFromFile("assets/shaders/blur.vert", "assets/shaders/blur_dither.frag")
shaderRGBOnlyDither = App.loadShaderFromFile("assets/shaders/4096.vert", "assets/shaders/4096_bayer_rgb1.frag")
shaderAtoGreyDither = App.loadShaderFromFile("assets/shaders/4096.vert", "assets/shaders/4096_bayer_aaa1.frag")
shaderBlurRaw = App.loadShaderFromFile("assets/blur.vert", "assets/blur.frag")
shaderRGBOnlyRaw = App.loadShaderFromFile("assets/4096.vert", "assets/rgbonly.frag")
shaderAtoGreyRaw = App.loadShaderFromFile("assets/4096.vert", "assets/aonly.frag")
shaderBlurRaw = App.loadShaderFromFile("assets/shaders/blur.vert", "assets/shaders/blur.frag")
shaderRGBOnlyRaw = App.loadShaderFromFile("assets/shaders/4096.vert", "assets/shaders/rgbonly.frag")
shaderAtoGreyRaw = App.loadShaderFromFile("assets/shaders/4096.vert", "assets/shaders/aonly.frag")
shaderBayer = App.loadShaderFromFile("assets/4096.vert", "assets/4096_bayer.frag") // always load the shader regardless of config because the config may cange
shaderAlphaDither = App.loadShaderFromFile("assets/4096.vert", "assets/alphadither.frag")
shaderBlendGlow = App.loadShaderFromFile("assets/blendGlow.vert", "assets/blendGlow.frag")
shaderBayer = App.loadShaderFromFile("assets/shaders/4096.vert", "assets/shaders/4096_bayer.frag") // always load the shader regardless of config because the config may cange
shaderAlphaDither = App.loadShaderFromFile("assets/shaders/4096.vert", "assets/shaders/alphadither.frag")
shaderBlendGlow = App.loadShaderFromFile("assets/shaders/blendGlow.vert", "assets/shaders/blendGlow.frag")
if (!shaderBlendGlow.isCompiled) {

View File

@@ -21,6 +21,7 @@ object UITitleRemoConYaml {
- MENU_MODULES : net.torvald.terrarum.ModOptionsHost
- MENU_LABEL_RETURN+WRITETOCONFIG
- MENU_MODULES : net.torvald.terrarum.modulebasegame.ui.UITitleModules
- MENU_LABEL_RETURN
- MENU_LABEL_CREDITS
- MENU_LABEL_COPYRIGHT : net.torvald.terrarum.modulebasegame.ui.UITitleCredits
- MENU_CREDIT_GPL_DNT : net.torvald.terrarum.modulebasegame.ui.UITitleGPL3

View File

@@ -1,5 +1,6 @@
package net.torvald.terrarum.ui
import com.badlogic.gdx.Gdx
import com.badlogic.gdx.Input
import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color
@@ -56,6 +57,8 @@ class ConsoleWindow : UICanvas() {
private val textinput = UIItemTextLineInput(this, 0, 0, this.width)
private var clickLatched = false
init {
reset()
addUIitem(textinput)
@@ -75,6 +78,12 @@ class ConsoleWindow : UICanvas() {
}
it.setTooltipMessage(if (lb.size > 0) lb.joinToString("\n") else null)
// click to enter the actor's reference ID
if (lb.size > 0 && !clickLatched && Gdx.input.isButtonPressed(App.getConfigInt("config_mouseprimary"))) {
clickLatched = true
textinput.appendText(lb.first().substringBefore(' '))
}
}
else {
it.setTooltipMessage(null)
@@ -82,6 +91,11 @@ class ConsoleWindow : UICanvas() {
}
uiItems.forEach { it.update(delta) }
if (!Gdx.input.isButtonPressed(App.getConfigInt("config_mouseprimary"))) {
clickLatched = false
}
}
override fun renderUI(batch: SpriteBatch, camera: Camera) {

View File

@@ -611,7 +611,9 @@ class UIItemTextLineInput(
clearText()
textbuf.addAll(s.toCodePoints())
}
fun appendText(s: String) {
textbuf.addAll(s.toCodePoints())
}
override fun dispose() {
fbo.dispose()
}

View File

@@ -85,7 +85,7 @@ internal object BlocksDrawer {
private lateinit var tilesQuad: Mesh
private val shader = App.loadShaderFromFile("assets/4096.vert", "assets/tiling_dither.frag")
private val shader = App.loadShaderFromFile("assets/shaders/4096.vert", "assets/shaders/tiling_dither.frag")
init {