mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-07 20:31:51 +09:00
more test music play stuffs
This commit is contained in:
@@ -167,9 +167,9 @@ object SanicLoadScreen : LoadScreenBase() {
|
||||
val drawHeight = getPulseEffWidthMul() * textTex.height
|
||||
it.draw(textTex,
|
||||
textX - (drawWidth - textTex.width) / 2f,
|
||||
glideDispY - 2f - (drawHeight - textTex.height) / 2f,
|
||||
glideDispY - 2f - (drawHeight - textTex.height) / 2f + drawHeight,
|
||||
drawWidth,
|
||||
drawHeight
|
||||
-drawHeight
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -413,7 +413,7 @@ class BuildingMaker(batch: FlippingSpriteBatch) : IngameInstance(batch) {
|
||||
}
|
||||
|
||||
override fun dispose() {
|
||||
blockMarkings.dispose()
|
||||
// blockMarkings.dispose()
|
||||
uiPenMenu.dispose()
|
||||
}
|
||||
|
||||
|
||||
@@ -3,11 +3,9 @@ package net.torvald.terrarum.modulebasegame
|
||||
import com.badlogic.gdx.Gdx
|
||||
import com.badlogic.gdx.audio.Music
|
||||
import com.badlogic.gdx.utils.GdxRuntimeException
|
||||
import net.torvald.terrarum.App
|
||||
import net.torvald.terrarum.*
|
||||
import net.torvald.terrarum.App.printdbg
|
||||
import net.torvald.terrarum.IngameInstance
|
||||
import net.torvald.terrarum.MusicGovernor
|
||||
import net.torvald.terrarum.tryDispose
|
||||
import net.torvald.unicode.EMDASH
|
||||
import java.io.File
|
||||
|
||||
data class MusicContainer(
|
||||
@@ -25,7 +23,7 @@ class TerrarumMusicGovernor : MusicGovernor() {
|
||||
printdbg(this, "Music: ${it.absolutePath}")
|
||||
try {
|
||||
MusicContainer(
|
||||
it.nameWithoutExtension,
|
||||
it.nameWithoutExtension.replace('_', ' ').split(" ").map { it.capitalize() }.joinToString(" "),
|
||||
it,
|
||||
Gdx.audio.newMusic(Gdx.files.absolute(it.absolutePath))
|
||||
)
|
||||
@@ -36,10 +34,22 @@ class TerrarumMusicGovernor : MusicGovernor() {
|
||||
}
|
||||
} ?: emptyList() // TODO test code
|
||||
|
||||
private var currentMusic: MusicContainer? = null
|
||||
|
||||
private var musicBin: ArrayList<Int> = ArrayList(songs.indices.toList().shuffled())
|
||||
|
||||
private var currentMusic: MusicContainer? = null
|
||||
private var currentAmbient: MusicContainer? = null
|
||||
|
||||
|
||||
|
||||
private var warningPrinted = false
|
||||
|
||||
private val musicVolume: Float
|
||||
get() = (App.getConfigDouble("bgmvolume") * App.getConfigDouble("mastervolume")).toFloat()
|
||||
private val ambientVolume: Float
|
||||
get() = (App.getConfigDouble("sfxvolume") * App.getConfigDouble("mastervolume")).toFloat()
|
||||
|
||||
|
||||
|
||||
|
||||
private fun stopMusic() {
|
||||
printdbg(this, "Now stopping: $currentMusic")
|
||||
@@ -52,11 +62,16 @@ class TerrarumMusicGovernor : MusicGovernor() {
|
||||
printdbg(this, "Intermission: $intermissionLength seconds")
|
||||
}
|
||||
|
||||
private fun startMusic(song: MusicContainer) {
|
||||
song.gdxMusic.volume = musicVolume
|
||||
song.gdxMusic.play()
|
||||
printdbg(this, "Now playing: $song")
|
||||
|
||||
private var warningPrinted = false
|
||||
INGAME.sendNotification("Now Playing $EMDASH ${song.name}")
|
||||
|
||||
currentMusic = song
|
||||
}
|
||||
|
||||
private val musicVolume: Float
|
||||
get() = (App.getConfigDouble("musicvolume") * App.getConfigDouble("mastervolume")).toFloat()
|
||||
|
||||
override fun update(ingame: IngameInstance, delta: Float) {
|
||||
if (songs.isEmpty()) {
|
||||
@@ -82,11 +97,7 @@ class TerrarumMusicGovernor : MusicGovernor() {
|
||||
musicBin = ArrayList(songs.indices.toList().shuffled())
|
||||
}
|
||||
|
||||
song.gdxMusic.volume = musicVolume
|
||||
song.gdxMusic.play()
|
||||
printdbg(this, "Now playing: $song")
|
||||
|
||||
currentMusic = song
|
||||
startMusic(song)
|
||||
|
||||
// process fadeout request
|
||||
if (fadeoutFired) {
|
||||
|
||||
@@ -83,7 +83,7 @@ class Notification : UICanvas() {
|
||||
message.forEachIndexed { index, s ->
|
||||
val xoff = 6 + (displayedTextWidth - realTextWidth) / 2
|
||||
val y = -textHeight + App.fontGame.lineHeight * index
|
||||
App.fontGame.draw(batch, s, LRmargin + xoff, y )
|
||||
App.fontGame.draw(batch, s, LRmargin + xoff, y - 1)
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user