support for texture packs

This commit is contained in:
minjaesong
2022-02-23 17:59:38 +09:00
parent 841a77403b
commit 7c966b0da8
36 changed files with 2818 additions and 142 deletions

View File

@@ -4,44 +4,15 @@ import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.Pixmap
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.glutils.FrameBuffer
import net.torvald.terrarum.langpack.Lang
import net.torvald.terrarum.ui.Toolkit
/**
* Created by minjaesong on 2021-12-11.
*/
class NoModuleDefaultTitlescreen(batch: SpriteBatch) : IngameInstance(batch) {
class NoModuleDefaultTitlescreen(batch: FlippingSpriteBatch) : IngameInstance(batch) {
private val wot = """No Module is currently loaded.
Please reconfigure your Load Order on:
Derzeit ist kein Modul geladen.
Bitte konfigurieren Sie Ihren Ladeauftrag neu auf:
Actualmente no hay ningún módulo cargado.
Vuelva a configurar su orden de carga en:
Moduulia ei ole ladattu tällä hetkellä.
Määritä lataustilauksesi uudelleen:
Aucun module nest actuellement chargé.
Veuillez reconfigurer votre ordre de chargement sur :
現在ロードされたモジュールがありません。
次のファイルでロードオーダーを再設定してください。
현재 불러와진 모듈이 없습니다.
다음의 파일에서 불러오기 순서를 재설정하십시오.
В настоящее время модуль не загружен.
Измените конфигурацию вашего порядка загрузки на:
ไม่มีการโหลดโมดูลในขณะนี้
โปรดกำหนดค่าคำสั่งซื้อการโหลดของคุณใหม่เมื่อ:
当前未加载任何模块。请重新配置您的加载顺序:
當前未加載任何模塊。請重新配置您的加載順序:
\c\a assets/mods/LoadOrder.csv""".split('\n')
private val wot = "${Lang["APP_NOMODULE_1"]}\n${Lang["APP_NOMODULE_2"]}\n\u115F\n\u115F".split('\n')
private val maxtw = wot.maxOf { App.fontGameFBO.getWidth(it) }
@@ -49,11 +20,13 @@ Veuillez reconfigurer votre ordre de chargement sur :
private var init = false
private val pathText = App.loadOrderDir
override fun render(updateRate: Float) {
gdxClearAndSetBlend(0f, 0f, 0f, 0f)
if (!init) {
val lh = 20f
val lh = 28f
val pbreak = 8f
val th = lh * wot.size
@@ -72,19 +45,9 @@ Veuillez reconfigurer votre ordre de chargement sur :
batch.inUse {
batch.color = Color.WHITE
wot.reversed().forEachIndexed { index, s ->
if (s.startsWith('\\')) {
val tagsSplit = s.indexOfFirst { it == ' ' }
val tagsBulk = s.substring(0, tagsSplit)
val tags = tagsBulk.split('\\').filter { it.isNotBlank() }
val text = s.substring(tagsSplit + 1)
if (tags.contains("a")) batch.color = Toolkit.Theme.COL_HIGHLIGHT else batch.color = Color.WHITE
if (tags.contains("c"))
App.fontGameFBO.draw(batch, text, (Toolkit.drawWidth - App.fontGameFBO.getWidth(text)) / 2f, heights[index] + centering)
else
App.fontGameFBO.draw(batch, text, (Toolkit.drawWidth - maxtw) / 2f, heights[index] + centering)
if (index == 0) {
batch.color = Toolkit.Theme.COL_HIGHLIGHT
App.fontGameFBO.draw(batch, pathText, (Toolkit.drawWidth - App.fontGameFBO.getWidth(pathText)) / 2f, heights[index] + centering)
}
else {
batch.color = Color.WHITE