diff --git a/assets/graphics/gui/inline_loading_spinner.tga b/assets/graphics/gui/inline_loading_spinner.tga new file mode 100644 index 000000000..80ca0c319 --- /dev/null +++ b/assets/graphics/gui/inline_loading_spinner.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e860a0d99b26e6f501bc69bb1641c1c22a6709690e0eb4548f16a270dacbe8bb +size 51218 diff --git a/src/net/torvald/terrarum/App.java b/src/net/torvald/terrarum/App.java index 2350cca83..c0c8b1f53 100644 --- a/src/net/torvald/terrarum/App.java +++ b/src/net/torvald/terrarum/App.java @@ -381,6 +381,7 @@ public class App implements ApplicationListener { CommonResourcePool.INSTANCE.addToLoadingList("blockmarkings_common", () -> new TextureRegionPack(Gdx.files.internal("assets/graphics/blocks/block_markings_common.tga"), 16, 16, 0, 0, 0, 0, false, false, false)); CommonResourcePool.INSTANCE.addToLoadingList("blockmarking_actor", () -> new BlockMarkerActor()); CommonResourcePool.INSTANCE.addToLoadingList("loading_circle_64", () -> new TextureRegionPack(Gdx.files.internal("assets/graphics/gui/loading_circle_64.tga"), 64, 64, 0, 0, 0, 0, false, false, false)); + CommonResourcePool.INSTANCE.addToLoadingList("inline_loading_spinner", () -> new TextureRegionPack(Gdx.files.internal("assets/graphics/gui/inline_loading_spinner.tga"), 20, 20, 0, 0, 0, 0, false, false, false)); newTempFile("wenquanyi.tga"); // temp file required by the font diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIRemoCon.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIRemoCon.kt index 7f27f3664..607f356db 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIRemoCon.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIRemoCon.kt @@ -5,11 +5,8 @@ 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.terrarum.App +import net.torvald.terrarum.* import net.torvald.terrarum.App.printdbgerr -import net.torvald.terrarum.QNDTreeNode -import net.torvald.terrarum.TitleScreen -import net.torvald.terrarum.Yaml import net.torvald.terrarum.serialise.WriteConfig import net.torvald.terrarum.ui.UICanvas import net.torvald.terrarum.ui.UIItemTextButton @@ -280,11 +277,30 @@ open class UIRemoCon(val parent: TitleScreen, treeRepresentation: QNDTreeNode spinnerInterval) { + spinnerFrame = (spinnerFrame + 1) % 32 + spinnerTimer -= spinnerInterval + } + menubar.update(delta) } fun render(batch: SpriteBatch, camera: Camera) { + val spin = spinner.get(spinnerFrame % 8, spinnerFrame / 8) + + val inlineOffsetY = if (App.GAME_LOCALE.startsWith("th")) 0f + else if (App.GAME_LOCALE.startsWith("ko")) 0f + else 1f + + batch.draw(spin, menubar.posX + paddingLeft - 5f, menubar.posY + (lineHeight - 20) / 2 - inlineOffsetY) + menubar.render(batch, camera) }