diff --git a/.idea/artifacts/TerrarumBuild.xml b/.idea/artifacts/TerrarumBuild.xml
index 614d8a898..d217a6054 100644
--- a/.idea/artifacts/TerrarumBuild.xml
+++ b/.idea/artifacts/TerrarumBuild.xml
@@ -13,8 +13,6 @@
-
-
@@ -85,9 +83,9 @@
-
-
-
+
+
+
\ No newline at end of file
diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
index 010304a53..fdfef6106 100644
--- a/.idea/kotlinc.xml
+++ b/.idea/kotlinc.xml
@@ -1,13 +1,13 @@
-
+
-
-
+
+
-
+
\ No newline at end of file
diff --git a/.idea/libraries/KotlinJavaRuntime.xml b/.idea/libraries/KotlinJavaRuntime.xml
index 328a61582..800ef4dcf 100644
--- a/.idea/libraries/KotlinJavaRuntime.xml
+++ b/.idea/libraries/KotlinJavaRuntime.xml
@@ -1,14 +1,23 @@
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/jetbrains_kotlin_reflect.xml b/.idea/libraries/jetbrains_kotlin_reflect.xml
deleted file mode 100644
index 1383da43b..000000000
--- a/.idea/libraries/jetbrains_kotlin_reflect.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/jetbrains_kotlin_test.xml b/.idea/libraries/jetbrains_kotlin_test.xml
deleted file mode 100644
index a2d579212..000000000
--- a/.idea/libraries/jetbrains_kotlin_test.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/jetbrains_kotlin_test1.xml b/.idea/libraries/jetbrains_kotlin_test1.xml
deleted file mode 100644
index 869770c98..000000000
--- a/.idea/libraries/jetbrains_kotlin_test1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ModuleComputers/ModuleComputers.iml b/ModuleComputers/ModuleComputers.iml
index 9ea68e6e4..285b1150b 100644
--- a/ModuleComputers/ModuleComputers.iml
+++ b/ModuleComputers/ModuleComputers.iml
@@ -13,12 +13,9 @@
-
-
-
-
+
\ No newline at end of file
diff --git a/MusicPlayer/MusicPlayer.iml b/MusicPlayer/MusicPlayer.iml
index 2f1cde801..dd8eeb3a2 100644
--- a/MusicPlayer/MusicPlayer.iml
+++ b/MusicPlayer/MusicPlayer.iml
@@ -7,13 +7,12 @@
-
-
+
\ No newline at end of file
diff --git a/MusicPlayer/src/net/torvald/terrarum/musicplayer/gui/MusicPlayerControl.kt b/MusicPlayer/src/net/torvald/terrarum/musicplayer/gui/MusicPlayerControl.kt
index 52b0375a4..cac879812 100644
--- a/MusicPlayer/src/net/torvald/terrarum/musicplayer/gui/MusicPlayerControl.kt
+++ b/MusicPlayer/src/net/torvald/terrarum/musicplayer/gui/MusicPlayerControl.kt
@@ -94,8 +94,11 @@ class MusicPlayerControl(private val ingame: TerrarumIngame) : UICanvas() {
private var currentlySelectedAlbum: AlbumProp? = null
/** Returns the internal playlist of the MusicGovernor */
- private val songsInGovernor: List
- get() = ingame.backgroundMusicPlayer.extortField>("songs")!!
+ private val songsInGovernorrrrrrrrrr: List
+ get() = ingame.musicStreamer.extortField>("songs")!!
+
+ // the value must be "latched" to stay consistent
+ private fun getCurrentPlaylist() = MusicService.currentPlaylist
/*private val shouldPlayerBeDisabled: Boolean
get() {
@@ -107,7 +110,7 @@ class MusicPlayerControl(private val ingame: TerrarumIngame) : UICanvas() {
* is recommended as an ingame interaction may cancel the playback from the playlist from the MusicPlayer
* (e.g. interacting with a jukebox) */
private val internalPlaylistName: String
- get() = ingame.backgroundMusicPlayer.playlistName
+ get() = ingame.musicStreamer.playlistName
fun registerPlaylist(path: String, fileToName: JsonValue?, shuffled: Boolean, diskJockeyingMode: String): TerrarumMusicPlaylist {
fun String.isNum(): Boolean {
@@ -120,7 +123,7 @@ class MusicPlayerControl(private val ingame: TerrarumIngame) : UICanvas() {
}
}
- val playlist = ingame.backgroundMusicPlayer.queueDirectory(path, shuffled, diskJockeyingMode, false) { filename ->
+ val playlist = ingame.musicStreamer.queueDirectory(path, shuffled, diskJockeyingMode, false) { filename ->
fileToName?.get(filename).let {
if (it == null)
filename.substringBeforeLast('.').replace('_', ' ').split(" ").map { it.capitalize() }.let {
@@ -136,19 +139,19 @@ class MusicPlayerControl(private val ingame: TerrarumIngame) : UICanvas() {
}
}
- ingame.backgroundMusicPlayer.addMusicStartHook { music ->
+ ingame.musicStreamer.addMusicStartHook { music ->
setMusicName(music.name)
if (mode <= MODE_PLAYING)
transitionRequest = MODE_PLAYING
}
- ingame.backgroundMusicPlayer.addMusicStopHook { music ->
+ ingame.musicStreamer.addMusicStopHook { music ->
setIntermission()
if (mode <= MODE_PLAYING)
transitionRequest = MODE_IDLE
}
- setPlaylistDisplayVars(songsInGovernor)
+ setPlaylistDisplayVars(playlist)
return playlist
}
@@ -189,6 +192,7 @@ class MusicPlayerControl(private val ingame: TerrarumIngame) : UICanvas() {
override fun updateImpl(delta: Float) {
val transactionLocked = MusicService.transactionLocked
+ val currentPlaylist = getCurrentPlaylist()
// process transition request
if (transitionRequest != null) {
@@ -348,7 +352,7 @@ class MusicPlayerControl(private val ingame: TerrarumIngame) : UICanvas() {
// prev song
if (mode < MODE_SHOW_LIST) {
MusicService.playPrevSongInPlaylist {
- ingame.backgroundMusicPlayer.startMusic(this) // required for "intermittent" mode
+ ingame.musicStreamer.startMusic(this) // required for "intermittent" mode
iHitTheStopButton = false
stopRequested = false
}
@@ -401,7 +405,7 @@ class MusicPlayerControl(private val ingame: TerrarumIngame) : UICanvas() {
// next song
if (mode < MODE_SHOW_LIST) {
MusicService.playNextSongInPlaylist {
- ingame.backgroundMusicPlayer.startMusic(this) // required for "intermittent" mode
+ ingame.musicStreamer.startMusic(this) // required for "intermittent" mode
iHitTheStopButton = false
stopRequested = false
}
@@ -442,26 +446,27 @@ class MusicPlayerControl(private val ingame: TerrarumIngame) : UICanvas() {
// make playlist clicking (change song within the playlist) work
else if (listViewPanelScroll == 1f && mouseOnList != null) {
val index = playlistScroll + mouseOnList!!
- val list = songsInGovernor
- if (index < list.size) {
- // if selected song != currently playing
- if (App.audioMixer.musicTrack.currentTrack == null || list[index] != App.audioMixer.musicTrack.currentTrack) {
- // FIXME the olde way -- must be replaced with one that utilises MusicService
- // rebuild playlist
- //ingame.backgroundMusicPlayer.queueIndexFromPlaylist(index)
- // fade out
- /*App.audioMixer.requestFadeOut(App.audioMixer.musicTrack, AudioMixer.DEFAULT_FADEOUT_LEN / 3f) {
- if (!shouldPlayerBeDisabled) {
- ingame.backgroundMusicPlayer.startMusic(this) // required for "intermittent" mode
+ if (currentPlaylist != null) {
+ if (index < currentPlaylist.musicList.size) {
+ // if selected song != currently playing
+ if (App.audioMixer.musicTrack.currentTrack == null || currentPlaylist.musicList[index] != App.audioMixer.musicTrack.currentTrack) {
+ // FIXME the olde way -- must be replaced with one that utilises MusicService
+ // rebuild playlist
+ //ingame.backgroundMusicPlayer.queueIndexFromPlaylist(index)
+ // fade out
+ /*App.audioMixer.requestFadeOut(App.audioMixer.musicTrack, AudioMixer.DEFAULT_FADEOUT_LEN / 3f) {
+ if (!shouldPlayerBeDisabled) {
+ ingame.backgroundMusicPlayer.startMusic(this) // required for "intermittent" mode
+ iHitTheStopButton = false
+ stopRequested = false
+ }
+ }*/
+
+ MusicService.playNthSongInPlaylist(index) {
+ ingame.musicStreamer.startMusic(this) // required for "intermittent" mode
iHitTheStopButton = false
stopRequested = false
}
- }*/
-
- MusicService.playNthSongInPlaylist(index) {
- ingame.backgroundMusicPlayer.startMusic(this) // required for "intermittent" mode
- iHitTheStopButton = false
- stopRequested = false
}
}
}
@@ -474,7 +479,7 @@ class MusicPlayerControl(private val ingame: TerrarumIngame) : UICanvas() {
if (index < list.size) {
// if selected album is not the same album currently playing, queue that album immediately
// (navigating into the selected album involves too much complication :p)
- if (ingame.backgroundMusicPlayer.playlistSource != albumsList[index].canonicalPath) {
+ if (ingame.musicStreamer.playlistSource != albumsList[index].canonicalPath) {
// FIXME the olde way -- must be replaced with one that utilises MusicService
// fade out
/*App.audioMixer.requestFadeOut(App.audioMixer.musicTrack, AudioMixer.DEFAULT_FADEOUT_LEN / 3f) {
@@ -510,10 +515,10 @@ class MusicPlayerControl(private val ingame: TerrarumIngame) : UICanvas() {
ingame.backgroundMusicPlayer.stopMusic(this)
}
}
- else*/ if (ingame.backgroundMusicPlayer.playCaller is PlaysMusic && !jukeboxStopMonitorAlert && !App.audioMixer.musicTrack.isPlaying) {
+ else*/ if (ingame.musicStreamer.playCaller is PlaysMusic && !jukeboxStopMonitorAlert && !App.audioMixer.musicTrack.isPlaying) {
jukeboxStopMonitorAlert = true
- val interval = ingame.backgroundMusicPlayer.getRandomMusicInterval()
- ingame.backgroundMusicPlayer.stopMusic(this, false, interval)
+ val interval = ingame.musicStreamer.getRandomMusicInterval()
+ ingame.musicStreamer.stopMusic(this, false, interval)
}
else if (App.audioMixer.musicTrack.isPlaying) {
jukeboxStopMonitorAlert = false
@@ -525,7 +530,7 @@ class MusicPlayerControl(private val ingame: TerrarumIngame) : UICanvas() {
private var stopRequested = false
private fun resetAlbumlistScroll() {
- val currentlyPlaying = albumsList.indexOfFirst { it.canonicalPath.replace('\\', '/') == ingame.backgroundMusicPlayer.playlistSource }
+ val currentlyPlaying = albumsList.indexOfFirst { it.canonicalPath.replace('\\', '/') == ingame.musicStreamer.playlistSource }
if (currentlyPlaying >= 0) {
albumlistScroll = (currentlyPlaying / PLAYLIST_LINES) * PLAYLIST_LINES
}
@@ -535,9 +540,15 @@ class MusicPlayerControl(private val ingame: TerrarumIngame) : UICanvas() {
}
private fun resetPlaylistScroll(song: MusicContainer? = null) {
- val currentlyPlaying = songsInGovernor.indexOf(song ?: App.audioMixer.musicTrack.currentTrack)
- if (currentlyPlaying >= 0) {
- playlistScroll = (currentlyPlaying / PLAYLIST_LINES) * PLAYLIST_LINES
+ val currentPlaylist = getCurrentPlaylist()
+ if (currentPlaylist != null) {
+ val currentlyPlaying = currentPlaylist.musicList.indexOf(song ?: App.audioMixer.musicTrack.currentTrack)
+ if (currentlyPlaying >= 0) {
+ playlistScroll = (currentlyPlaying / PLAYLIST_LINES) * PLAYLIST_LINES
+ }
+ else {
+ playlistScroll = 0
+ }
}
else {
playlistScroll = 0
@@ -804,9 +815,9 @@ class MusicPlayerControl(private val ingame: TerrarumIngame) : UICanvas() {
albumlistNameOverflown.clear()
}
- private fun setPlaylistDisplayVars(plist: List) {
+ private fun setPlaylistDisplayVars(plist: TerrarumMusicPlaylist) {
resetPlaylistDisplay()
- plist.forEachIndexed { i, music ->
+ plist.musicList.forEachIndexed { i, music ->
val len = App.fontGameFBO.getWidth(music.name)
val overflown = (len >= playlistNameLenMax)
playlistRealNameLen[i] = len
@@ -828,26 +839,47 @@ class MusicPlayerControl(private val ingame: TerrarumIngame) : UICanvas() {
private fun drawPlayList(camera: OrthographicCamera, delta: Float, batch: SpriteBatch, x: Float, y: Float, alpha: Float, scale: Float) {
batch.end()
- playlistFBOs.forEachIndexed { i, it ->
- val pnum = i + playlistScroll
- it.inAction(camera, batch) {
- batch.inUse {
- batch.color = Color.WHITE
- gdxClearAndEnableBlend(0f, 0f, 0f, 0f)
- blendNormalStraightAlpha(batch)
+ val currentPlaylist = getCurrentPlaylist()
- // draw text
- App.fontGameFBO.draw(batch, if (pnum in songsInGovernor.indices) songsInGovernor[pnum].name else "", maskOffWidth - playlistNameScrolls[pnum], (PLAYLIST_LINE_HEIGHT - 24) / 2)
+ if (currentPlaylist != null) {
+ playlistFBOs.forEachIndexed { i, it ->
+ val pnum = i + playlistScroll
+ it.inAction(camera, batch) {
+ batch.inUse {
+ batch.color = Color.WHITE
+ gdxClearAndEnableBlend(0f, 0f, 0f, 0f)
+ blendNormalStraightAlpha(batch)
- // mask off the area
- batch.color = Color.WHITE
- blendAlphaMask(batch)
- batch.draw(textmask.get(0, 0), 0f, 0f, maskOffWidth.toFloat(), PLAYLIST_LINE_HEIGHT)
- batch.draw(textmask.get(1, 0), maskOffWidth.toFloat(), 0f, PLAYLIST_NAME_LEN - 2f * maskOffWidth, PLAYLIST_LINE_HEIGHT)
- batch.draw(textmask.get(2, 0), PLAYLIST_NAME_LEN - maskOffWidth.toFloat(), 0f, maskOffWidth.toFloat(), PLAYLIST_LINE_HEIGHT)
+ // draw text
+ App.fontGameFBO.draw(
+ batch,
+ if (pnum in currentPlaylist.musicList.indices) currentPlaylist.musicList[pnum].name else "",
+ maskOffWidth - playlistNameScrolls[pnum],
+ (PLAYLIST_LINE_HEIGHT - 24) / 2
+ )
- blendNormalStraightAlpha(batch) // qnd hack to make sure this line gets called, otherwise the screen briefly goes blank when the playlist view is closed
- Toolkit.fillArea(batch, 999f, 999f, 1f, 1f)
+ // mask off the area
+ batch.color = Color.WHITE
+ blendAlphaMask(batch)
+ batch.draw(textmask.get(0, 0), 0f, 0f, maskOffWidth.toFloat(), PLAYLIST_LINE_HEIGHT)
+ batch.draw(
+ textmask.get(1, 0),
+ maskOffWidth.toFloat(),
+ 0f,
+ PLAYLIST_NAME_LEN - 2f * maskOffWidth,
+ PLAYLIST_LINE_HEIGHT
+ )
+ batch.draw(
+ textmask.get(2, 0),
+ PLAYLIST_NAME_LEN - maskOffWidth.toFloat(),
+ 0f,
+ maskOffWidth.toFloat(),
+ PLAYLIST_LINE_HEIGHT
+ )
+
+ blendNormalStraightAlpha(batch) // qnd hack to make sure this line gets called, otherwise the screen briefly goes blank when the playlist view is closed
+ Toolkit.fillArea(batch, 999f, 999f, 1f, 1f)
+ }
}
}
}
@@ -856,37 +888,40 @@ class MusicPlayerControl(private val ingame: TerrarumIngame) : UICanvas() {
blendNormalStraightAlpha(batch)
if (alpha > 0f) {
playlistFBOs.forEachIndexed { i, it ->
- val alpha2 = alpha + (playListAnimAkku[i] * 0.2f)
- val pnum = i + playlistScroll
- val m1 = songsInGovernor.getOrNull(pnum)
- val m2 = App.audioMixer.musicTrack.currentTrack
- val currentlyPlaying = if (m1 == null || m2 == null) false else (m1 == m2)
+ if (currentPlaylist != null) {
+ val alpha2 = alpha + (playListAnimAkku[i] * 0.2f)
+ val pnum = i + playlistScroll
- // print number
+ val m1 = currentPlaylist.musicList.getOrNull(pnum)
+ val m2 = App.audioMixer.musicTrack.currentTrack
+ val currentlyPlaying = if (m1 == null || m2 == null) false else (m1 == m2)
- // print bars instead of numbers if the song is currently being played
- if (currentlyPlaying) {
- val xoff = 6
- val yoff = 5 + 7 + (PLAYLIST_LINE_HEIGHT - 24) / 2
- // it will set the colour on its own
- drawFreqMeter(batch, x + xoff, y + yoff + PLAYLIST_LINE_HEIGHT * i * scale, alpha)
+ // print number
+
+ // print bars instead of numbers if the song is currently being played
+ if (currentlyPlaying) {
+ val xoff = 6
+ val yoff = 5 + 7 + (PLAYLIST_LINE_HEIGHT - 24) / 2
+ // it will set the colour on its own
+ drawFreqMeter(batch, x + xoff, y + yoff + PLAYLIST_LINE_HEIGHT * i * scale, alpha)
+ }
+ else {
+ val xoff = maskOffWidth + (if (pnum < 9) 3 else 0)
+ val yoff = 7 + (PLAYLIST_LINE_HEIGHT - 24) / 2
+ batch.color = Color(1f, 1f, 1f, alpha * 0.75f)
+ App.fontSmallNumbers.draw(
+ batch,
+ if (pnum in currentPlaylist.musicList.indices) "${pnum + 1}" else "",
+ x + xoff,
+ y + yoff + PLAYLIST_LINE_HEIGHT * i * scale
+ )
+ }
+
+ // print the name
+ batch.color = Color(1f, 1f, 1f, alpha2)
+ batch.draw(it.colorBufferTexture, x + PLAYLIST_LEFT_GAP * scale, y + PLAYLIST_LINE_HEIGHT * i * scale, it.width * scale, it.height * scale)
}
- else {
- val xoff = maskOffWidth + (if (pnum < 9) 3 else 0)
- val yoff = 7 + (PLAYLIST_LINE_HEIGHT - 24) / 2
- batch.color = Color(1f, 1f, 1f, alpha * 0.75f)
- App.fontSmallNumbers.draw(
- batch,
- if (pnum in songsInGovernor.indices) "${pnum + 1}" else "",
- x + xoff,
- y + yoff + PLAYLIST_LINE_HEIGHT * i * scale
- )
- }
-
- // print the name
- batch.color = Color(1f, 1f, 1f, alpha2)
- batch.draw(it.colorBufferTexture, x + PLAYLIST_LEFT_GAP * scale, y + PLAYLIST_LINE_HEIGHT * i * scale, it.width * scale, it.height * scale)
// separator
batch.color = Color(1f, 1f, 1f, alpha * 0.25f)
@@ -936,7 +971,7 @@ class MusicPlayerControl(private val ingame: TerrarumIngame) : UICanvas() {
val pnum = i + albumlistScroll
val currentlyPlaying = if (pnum in albumsList.indices) {
- val m1 = ingame.backgroundMusicPlayer.playlistSource
+ val m1 = ingame.musicStreamer.playlistSource
val m2 = albumsList[pnum].canonicalPath.replace('\\', '/')
(m1 == m2)
}
@@ -1303,7 +1338,7 @@ class MusicPlayerControl(private val ingame: TerrarumIngame) : UICanvas() {
track.doGaplessPlayback = (albumProp.diskJockeyingMode == "continuous")
if (track.doGaplessPlayback) {
track.pullNextTrack = {
- track.currentTrack = ingame.backgroundMusicPlayer.pullNextMusicTrack(true)
+ track.currentTrack = ingame.musicStreamer.pullNextMusicTrack(true)
setMusicName(track.currentTrack?.name ?: "")
}
}
diff --git a/TerrarumBuild.iml b/TerrarumBuild.iml
index e9a824dd5..0d7053020 100644
--- a/TerrarumBuild.iml
+++ b/TerrarumBuild.iml
@@ -18,17 +18,14 @@
-
-
-
-
+
\ No newline at end of file
diff --git a/lib/android-lint/common-31.0.1.jar b/lib/android-lint/common-31.0.1.jar
deleted file mode 100644
index 0a9b6bade..000000000
--- a/lib/android-lint/common-31.0.1.jar
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:39b4cdcfc49c4e5724605c5d8b66f62907e80b9b33a23d4fbeda2f13e7ec739e
-size 526635
diff --git a/lib/android-lint/guava-31.0.1-jre.jar b/lib/android-lint/guava-31.0.1-jre.jar
deleted file mode 100644
index bf65e67c8..000000000
--- a/lib/android-lint/guava-31.0.1-jre.jar
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9
-size 2974216
diff --git a/lib/android-lint/intellij-core-31.0.1.jar b/lib/android-lint/intellij-core-31.0.1.jar
deleted file mode 100644
index 03ff042bf..000000000
--- a/lib/android-lint/intellij-core-31.0.1.jar
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:2d258f6137c7585608ea43320cfa0a685d32a40e6dd4cd0c21f466e60fd01ace
-size 22786526
diff --git a/lib/android-lint/kotlin-compiler-31.0.1.jar b/lib/android-lint/kotlin-compiler-31.0.1.jar
deleted file mode 100644
index e41e02d2c..000000000
--- a/lib/android-lint/kotlin-compiler-31.0.1.jar
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1b1ff8dca59b78e59aaa02818e1aef4aa142302fdfa7fb9041ca0c342da0bbe3
-size 47773961
diff --git a/lib/android-lint/kxml2-2.3.0.jar b/lib/android-lint/kxml2-2.3.0.jar
deleted file mode 100644
index 953572cc1..000000000
--- a/lib/android-lint/kxml2-2.3.0.jar
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f264dd9f79a1fde10ce5ecc53221eff24be4c9331c830b7d52f2f08a7b633de2
-size 43858
diff --git a/lib/android-lint/layoutlib-api-31.0.1.jar b/lib/android-lint/layoutlib-api-31.0.1.jar
deleted file mode 100644
index 60df2a14e..000000000
--- a/lib/android-lint/layoutlib-api-31.0.1.jar
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3df9c0423d26dffae97d9d622492c817dd57ac2d46b15e077b2af5fd9bf8ac05
-size 118413
diff --git a/lib/android-lint/lint-31.0.1.pom b/lib/android-lint/lint-31.0.1.pom
deleted file mode 100644
index ae75c8b19..000000000
--- a/lib/android-lint/lint-31.0.1.pom
+++ /dev/null
@@ -1,127 +0,0 @@
-
-
- 4.0.0
- com.android.tools.lint
- lint
- 31.0.1
- com.android.tools.lint.lint
- Lint tools. Both a Command line tool and a library to add lint features to other tools
- http://tools.android.com/
-
-
- The Apache Software License, Version 2.0
- http://www.apache.org/licenses/LICENSE-2.0.txt
- repo
-
-
-
-
- The Android Open Source Project
-
-
-
-
- com.android.tools.lint
- lint-api
- 31.0.1
- compile
-
-
- com.android.tools.lint
- lint-checks
- 31.0.1
- compile
-
-
- com.android.tools.external.com-intellij
- intellij-core
- 31.0.1
- runtime
-
-
- com.android.tools.external.com-intellij
- kotlin-compiler
- 31.0.1
- runtime
-
-
- com.android.tools.external.org-jetbrains
- uast
- 31.0.1
- runtime
-
-
- com.android.tools.analytics-library
- protos
- 31.0.1
- runtime
-
-
- com.android.tools.analytics-library
- shared
- 31.0.1
- runtime
-
-
- com.android.tools.analytics-library
- tracker
- 31.0.1
- runtime
-
-
- com.android.tools.build
- manifest-merger
- 31.0.1
- runtime
-
-
- com.android.tools
- common
- 31.0.1
- runtime
-
-
- com.android.tools.layoutlib
- layoutlib-api
- 31.0.1
- runtime
-
-
- com.android.tools
- sdk-common
- 31.0.1
- runtime
-
-
- com.android.tools
- sdklib
- 31.0.1
- runtime
-
-
- com.google.guava
- guava
- 31.0.1-jre
- runtime
-
-
- net.sf.kxml
- kxml2
- 2.3.0
- runtime
-
-
- org.jetbrains.kotlin
- kotlin-reflect
- 1.7.10
- runtime
-
-
- org.jetbrains.kotlin
- kotlin-stdlib-jdk8
- 1.7.10
- runtime
-
-
-
diff --git a/lib/android-lint/lint-api-31.0.1.jar b/lib/android-lint/lint-api-31.0.1.jar
deleted file mode 100644
index 11533eb83..000000000
--- a/lib/android-lint/lint-api-31.0.1.jar
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b574c059dbe7c0bd5a8fb99b239e6ba844484a59c6622f2636c107eb87c3c24b
-size 1228529
diff --git a/lib/android-lint/lint-checks-31.0.1.jar b/lib/android-lint/lint-checks-31.0.1.jar
deleted file mode 100644
index d1d44103d..000000000
--- a/lib/android-lint/lint-checks-31.0.1.jar
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:67d210b6331030d27b11d7e081a9d299eb1d7a5519304de5a2c00fbb19044d42
-size 5451675
diff --git a/lib/android-lint/manifest-merger-31.0.1.jar b/lib/android-lint/manifest-merger-31.0.1.jar
deleted file mode 100644
index d7285880f..000000000
--- a/lib/android-lint/manifest-merger-31.0.1.jar
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f7082a48ad04dc93cbdf4247569c3ce1c25c1488724951f00c04f7253a9bfba5
-size 224062
diff --git a/lib/android-lint/protos-31.0.1.jar b/lib/android-lint/protos-31.0.1.jar
deleted file mode 100644
index ebecce219..000000000
--- a/lib/android-lint/protos-31.0.1.jar
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d074b93c2395722c6fff42b0397c5ba6cb2be44338a49a5133fbfb9b8191a68d
-size 6268854
diff --git a/lib/android-lint/sdk-common-31.0.1.jar b/lib/android-lint/sdk-common-31.0.1.jar
deleted file mode 100644
index c1bbbf5c6..000000000
--- a/lib/android-lint/sdk-common-31.0.1.jar
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:766aa3b48b8c87adb8a1b0fed6689d48ec85ea803f85ab9f155c0e40c510e258
-size 1529180
diff --git a/lib/android-lint/sdklib-31.0.1.jar b/lib/android-lint/sdklib-31.0.1.jar
deleted file mode 100644
index 70f86e235..000000000
--- a/lib/android-lint/sdklib-31.0.1.jar
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9770b9aaedcb5543497b9abb79ac0e1ee5ba3a8197969b52aa51a06f6bc10964
-size 707911
diff --git a/lib/android-lint/shared-31.0.1.jar b/lib/android-lint/shared-31.0.1.jar
deleted file mode 100644
index 8e5dd0ba5..000000000
--- a/lib/android-lint/shared-31.0.1.jar
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d7efd1542cf705b1a0a46ac493849f7cf3d5e4b3bcdc78a4fa0478ea6c7caccb
-size 122231
diff --git a/lib/android-lint/tracker-31.0.1.jar b/lib/android-lint/tracker-31.0.1.jar
deleted file mode 100644
index 431000820..000000000
--- a/lib/android-lint/tracker-31.0.1.jar
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a62bcf8ad3816bdc276999e80c8edd52bdb1a20bfd571d8f5f7e91fce1c74545
-size 40677
diff --git a/lib/android-lint/uast-31.0.1.jar b/lib/android-lint/uast-31.0.1.jar
deleted file mode 100644
index d084eb4d5..000000000
--- a/lib/android-lint/uast-31.0.1.jar
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b4b1a74a712518c0dfd9930e9ffa69288ec84cf2fb55a5abd09f30b73ab0cac0
-size 2530116
diff --git a/src/net/torvald/parametricsky/Application.kt b/src/net/torvald/parametricsky/Application.kt
index ee02beec5..ff7efaf64 100644
--- a/src/net/torvald/parametricsky/Application.kt
+++ b/src/net/torvald/parametricsky/Application.kt
@@ -240,8 +240,8 @@ class Application(val WIDTH: Int, val HEIGHT: Int) : Game() {
}
- ymaxDisp.text = "${ys.max()}"
- ymaxDisp2.text = "${ys2.max()}"
+ ymaxDisp.text = "${ys.maxOrNull()}"
+ ymaxDisp2.text = "${ys2.maxOrNull()}"
//System.exit(0)
}
diff --git a/src/net/torvald/terrarum/IngameInstance.kt b/src/net/torvald/terrarum/IngameInstance.kt
index 238be60e4..f9099d3ba 100644
--- a/src/net/torvald/terrarum/IngameInstance.kt
+++ b/src/net/torvald/terrarum/IngameInstance.kt
@@ -581,7 +581,7 @@ open class IngameInstance(val batch: FlippingSpriteBatch, val isMultiplayer: Boo
noticelet.sendNotification(itemID, itemCount)
}
- open val backgroundMusicPlayer: BackgroundMusicPlayer = BackgroundMusicPlayer()
+ open val musicStreamer: MusicStreamer = MusicStreamer()
}
inline fun Lock.lock(body: () -> Unit) {
diff --git a/src/net/torvald/terrarum/MusicService.kt b/src/net/torvald/terrarum/MusicService.kt
index 95542d739..d70e24c66 100644
--- a/src/net/torvald/terrarum/MusicService.kt
+++ b/src/net/torvald/terrarum/MusicService.kt
@@ -12,7 +12,7 @@ import net.torvald.terrarum.transaction.TransactionState
*/
object MusicService : TransactionListener() {
- private var currentPlaylist: TerrarumMusicPlaylist? = null
+ var currentPlaylist: TerrarumMusicPlaylist? = null; private set
override fun getCurrentStatusForTransaction(): TransactionState {
return TransactionState(
diff --git a/src/net/torvald/terrarum/BackgroundMusicPlayer.kt b/src/net/torvald/terrarum/MusicStreamer.kt
similarity index 90%
rename from src/net/torvald/terrarum/BackgroundMusicPlayer.kt
rename to src/net/torvald/terrarum/MusicStreamer.kt
index 963b64c70..0f5866a97 100644
--- a/src/net/torvald/terrarum/BackgroundMusicPlayer.kt
+++ b/src/net/torvald/terrarum/MusicStreamer.kt
@@ -1,6 +1,6 @@
package net.torvald.terrarum
-open class BackgroundMusicPlayer {
+open class MusicStreamer {
open fun update(ingameInstance: IngameInstance, delta: Float) {
diff --git a/src/net/torvald/terrarum/audio/AudioMixer.kt b/src/net/torvald/terrarum/audio/AudioMixer.kt
index ba7f92ff9..75ef7fc0b 100644
--- a/src/net/torvald/terrarum/audio/AudioMixer.kt
+++ b/src/net/torvald/terrarum/audio/AudioMixer.kt
@@ -123,8 +123,7 @@ class AudioMixer : Disposable {
fun getFreeGuiTrackNoMatterWhat(): TerrarumAudioMixerTrack {
synchronized(this) {
- val it = getFreeGuiTrack() ?: guiTracks.minBy { it.playStartedTime }.also { it.checkedOutTime = System.nanoTime() }
- return it
+ return getFreeGuiTrack() ?: guiTracks.minByOrNull { it.playStartedTime }.also { it!!.checkedOutTime = System.nanoTime() }!!
}
}
@@ -142,7 +141,7 @@ class AudioMixer : Disposable {
*/
fun getFreeTrackNoMatterWhat(): TerrarumAudioMixerTrack {
synchronized(this) {
- return getFreeTrack() ?: dynamicTracks.minBy { it.playStartedTime }.also { it.checkedOutTime = System.nanoTime() }
+ return getFreeTrack() ?: dynamicTracks.minByOrNull { it.playStartedTime }.also { it!!.checkedOutTime = System.nanoTime() }!!
}
}
diff --git a/src/net/torvald/terrarum/modulebasegame/BuildingMaker.kt b/src/net/torvald/terrarum/modulebasegame/BuildingMaker.kt
index 865a34540..e7a0aada2 100644
--- a/src/net/torvald/terrarum/modulebasegame/BuildingMaker.kt
+++ b/src/net/torvald/terrarum/modulebasegame/BuildingMaker.kt
@@ -62,7 +62,7 @@ class BuildingMaker(batch: FlippingSpriteBatch) : IngameInstance(batch) {
lateinit var gameWorld: GameWorld
- override val backgroundMusicPlayer = TerrarumBackgroundMusicPlayer()
+ override val musicStreamer = TerrarumMusicStreamer()
init {
gameUpdateGovernor = ConsistentUpdateRate
@@ -396,7 +396,7 @@ class BuildingMaker(batch: FlippingSpriteBatch) : IngameInstance(batch) {
}
- backgroundMusicPlayer.update(this, delta)
+ musicStreamer.update(this, delta)
}
@@ -495,7 +495,7 @@ class BuildingMaker(batch: FlippingSpriteBatch) : IngameInstance(batch) {
// blockMarkings.dispose()
uiPenMenu.dispose()
uiGetPoiName.dispose()
- backgroundMusicPlayer.dispose()
+ musicStreamer.dispose()
}
fun getPoiNameForExport(w: Int, h: Int, callback: (String) -> Unit) {
diff --git a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt
index 65fdbaf29..5b7f7cd74 100644
--- a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt
+++ b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt
@@ -262,7 +262,7 @@ open class TerrarumIngame(batch: FlippingSpriteBatch) : IngameInstance(batch) {
override var gameFullyLoaded = false
internal set
- override val backgroundMusicPlayer = TerrarumBackgroundMusicPlayer()
+ override val musicStreamer = TerrarumMusicStreamer()
//////////////
@@ -1006,7 +1006,7 @@ open class TerrarumIngame(batch: FlippingSpriteBatch) : IngameInstance(batch) {
oldSelectedWireRenderClass = selectedWireRenderClass
}
- backgroundMusicPlayer.update(this, delta)
+ musicStreamer.update(this, delta)
////////////////////////
// ui-related updates //
@@ -1795,7 +1795,7 @@ open class TerrarumIngame(batch: FlippingSpriteBatch) : IngameInstance(batch) {
catch (e: IllegalArgumentException) {}
}
- backgroundMusicPlayer.dispose()
+ musicStreamer.dispose()
super.dispose()
}
}
diff --git a/src/net/torvald/terrarum/modulebasegame/TerrarumBackgroundMusicPlayer.kt b/src/net/torvald/terrarum/modulebasegame/TerrarumMusicStreamer.kt
similarity index 92%
rename from src/net/torvald/terrarum/modulebasegame/TerrarumBackgroundMusicPlayer.kt
rename to src/net/torvald/terrarum/modulebasegame/TerrarumMusicStreamer.kt
index d54d97984..96d391f0f 100644
--- a/src/net/torvald/terrarum/modulebasegame/TerrarumBackgroundMusicPlayer.kt
+++ b/src/net/torvald/terrarum/modulebasegame/TerrarumMusicStreamer.kt
@@ -11,7 +11,7 @@ import net.torvald.terrarum.audio.audiobank.MusicContainer
import net.torvald.terrarum.gameworld.WorldTime.Companion.DAY_LENGTH
import java.io.File
-class TerrarumBackgroundMusicPlayer : BackgroundMusicPlayer() {
+class TerrarumMusicStreamer : MusicStreamer() {
private val STATE_INIT = 0
private val STATE_FIREPLAY = 1
private val STATE_PLAYING = 2
@@ -30,41 +30,7 @@ class TerrarumBackgroundMusicPlayer : BackgroundMusicPlayer() {
private var shuffled = true
private var diskJockeyingMode = "intermittent" // intermittent, continuous
- private fun registerSongsFromDir(musicDir: String, fileToName: ((String) -> String)?) {
- val musicDir = musicDir.replace('\\', '/')
- playlistSource = musicDir
- printdbg(this, "registerSongsFromDir $musicDir")
- val fileToName = if (fileToName == null) {
- { name: String -> name.substringBeforeLast('.').replace('_', ' ').split(" ").map { it.capitalize() }.joinToString(" ") }
- }
- else fileToName
-
- playlistName = musicDir.substringAfterLast('/')
-
- playlist = File(musicDir).listFiles()?.sortedBy { it.name }?.mapNotNull {
- printdbg(this, "Music: ${it.absolutePath}")
- try {
- MusicContainer(
- fileToName(it.name),
- it
- ).also { muscon ->
-
- printdbg(this, "MusicTitle: ${muscon.name}")
-
- muscon.songFinishedHook = {
- if (App.audioMixer.musicTrack.currentTrack == it) {
- stopMusic(this, true, getRandomMusicInterval())
- }
- }
- }
- }
- catch (e: GdxRuntimeException) {
- e.printStackTrace()
- null
- }
- } ?: emptyList() // TODO test code
- }
private fun restockMusicBin() {
musicBin = ArrayList(if (shuffled) playlist.shuffled() else playlist.slice(playlist.indices))
@@ -232,7 +198,7 @@ class TerrarumBackgroundMusicPlayer : BackgroundMusicPlayer() {
val timeNow = System.currentTimeMillis()
val trackThis = App.audioMixer.musicTrack.currentTrack
- if (caller is TerrarumBackgroundMusicPlayer) {
+ if (caller is TerrarumMusicStreamer) {
if (stopCaller == null) {
// printdbg(this, "Caller: this, prev caller: $stopCaller, len: $pauseLen, obliging stop request")
stopMusic0(trackThis, callStopMusicHook, pauseLen)
diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureJukebox.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureJukebox.kt
index 8c8b2e8c7..71e31d150 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureJukebox.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureJukebox.kt
@@ -19,7 +19,7 @@ import net.torvald.terrarum.gameactors.Hitbox
import net.torvald.terrarum.gameactors.Lightbox
import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.langpack.Lang
-import net.torvald.terrarum.modulebasegame.TerrarumBackgroundMusicPlayer
+import net.torvald.terrarum.modulebasegame.TerrarumMusicStreamer
import net.torvald.terrarum.modulebasegame.gameitems.FixtureItemBase
import net.torvald.terrarum.modulebasegame.gameitems.ItemFileRef
import net.torvald.terrarum.modulebasegame.gameitems.MusicDiscHelper
@@ -106,7 +106,7 @@ class FixtureJukebox : Electric, PlaysMusic {
// supress the normal background music playback
if (musicIsPlaying && !flagDespawn) {
- (INGAME.backgroundMusicPlayer as TerrarumBackgroundMusicPlayer).stopMusic(this, true)
+ (INGAME.musicStreamer as TerrarumMusicStreamer).stopMusic(this, true)
}
}
@@ -138,7 +138,7 @@ class FixtureJukebox : Electric, PlaysMusic {
printdbg(this, "Stop music $title - $artist")
// can't call stopDiscPlayback() because of the recursion
- (INGAME.backgroundMusicPlayer as TerrarumBackgroundMusicPlayer).stopMusic(this, pauseLen = (INGAME.backgroundMusicPlayer as TerrarumBackgroundMusicPlayer).getRandomMusicInterval())
+ (INGAME.musicStreamer as TerrarumMusicStreamer).stopMusic(this, pauseLen = (INGAME.musicStreamer as TerrarumMusicStreamer).getRandomMusicInterval())
}
discCurrentlyPlaying = index
@@ -185,7 +185,7 @@ class FixtureJukebox : Electric, PlaysMusic {
*/
fun stopGracefully() {
stopDiscPlayback()
- (INGAME.backgroundMusicPlayer as TerrarumBackgroundMusicPlayer).stopMusic(this, pauseLen = (INGAME.backgroundMusicPlayer as TerrarumBackgroundMusicPlayer).getRandomMusicInterval())
+ (INGAME.musicStreamer as TerrarumMusicStreamer).stopMusic(this, pauseLen = (INGAME.musicStreamer as TerrarumMusicStreamer).getRandomMusicInterval())
}
diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureMusicalTurntable.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureMusicalTurntable.kt
index d5964b70f..83a3be359 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureMusicalTurntable.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureMusicalTurntable.kt
@@ -3,14 +3,13 @@ package net.torvald.terrarum.modulebasegame.gameactors
import net.torvald.spriteanimation.SheetSpriteAnimation
import net.torvald.terrarum.*
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
-import net.torvald.terrarum.audio.AudioMixer
import net.torvald.terrarum.audio.audiobank.MusicContainer
import net.torvald.terrarum.audio.TerrarumAudioMixerTrack
import net.torvald.terrarum.gameactors.AVKey
import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.langpack.Lang
-import net.torvald.terrarum.modulebasegame.TerrarumBackgroundMusicPlayer
+import net.torvald.terrarum.modulebasegame.TerrarumMusicStreamer
import net.torvald.terrarum.modulebasegame.gameitems.FixtureItemBase
import net.torvald.terrarum.modulebasegame.gameitems.ItemFileRef
import net.torvald.terrarum.modulebasegame.gameitems.MusicDiscHelper
@@ -96,7 +95,7 @@ class FixtureMusicalTurntable : Electric, PlaysMusic {
// supress the normal background music playback
if (musicIsPlaying && !flagDespawn) {
- (INGAME.backgroundMusicPlayer as TerrarumBackgroundMusicPlayer).stopMusic(this, true)
+ (INGAME.musicStreamer as TerrarumMusicStreamer).stopMusic(this, true)
}
}
@@ -122,7 +121,7 @@ class FixtureMusicalTurntable : Electric, PlaysMusic {
App.printdbg(this, "Stop music $title - $artist")
// can't call stopDiscPlayback() because of the recursion
- (INGAME.backgroundMusicPlayer as TerrarumBackgroundMusicPlayer).stopMusic(this, pauseLen = (INGAME.backgroundMusicPlayer as TerrarumBackgroundMusicPlayer).getRandomMusicInterval())
+ (INGAME.musicStreamer as TerrarumMusicStreamer).stopMusic(this, pauseLen = (INGAME.musicStreamer as TerrarumMusicStreamer).getRandomMusicInterval())
}
@@ -163,7 +162,7 @@ class FixtureMusicalTurntable : Electric, PlaysMusic {
*/
fun stopGracefully() {
stopDiscPlayback()
- (INGAME.backgroundMusicPlayer as TerrarumBackgroundMusicPlayer).stopMusic(this, pauseLen = (INGAME.backgroundMusicPlayer as TerrarumBackgroundMusicPlayer).getRandomMusicInterval())
+ (INGAME.musicStreamer as TerrarumMusicStreamer).stopMusic(this, pauseLen = (INGAME.musicStreamer as TerrarumMusicStreamer).getRandomMusicInterval())
}
diff --git a/src/net/torvald/terrarum/ui/UIItemSpinner.kt b/src/net/torvald/terrarum/ui/UIItemSpinner.kt
index 884b20482..fe739c37e 100644
--- a/src/net/torvald/terrarum/ui/UIItemSpinner.kt
+++ b/src/net/torvald/terrarum/ui/UIItemSpinner.kt
@@ -72,7 +72,7 @@ class UIItemSpinner(
val intermediate = (0..(maxd - mind).div(stepd).ceilToInt()).map {
it to ((mind + stepd * it) - id).absoluteValue
- }.minBy { it.second }.first * stepd + mind
+ }.minByOrNull { it.second }!!.first * stepd + mind
initialValue = when (initialValue.javaClass.simpleName) {
"Integer" -> intermediate.toInt()
else -> intermediate