mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-11 02:54:04 +09:00
shorter share code if allowed; flickering teleporter beams
This commit is contained in:
@@ -7,7 +7,9 @@ import net.torvald.terrarum.App
|
||||
import net.torvald.terrarum.INGAME
|
||||
import net.torvald.terrarum.imagefont.BigAlphNum
|
||||
import net.torvald.terrarum.langpack.Lang
|
||||
import net.torvald.terrarum.serialise.Common
|
||||
import net.torvald.terrarum.serialise.toBig64
|
||||
import net.torvald.terrarum.serialise.toUint
|
||||
import net.torvald.terrarum.ui.Toolkit
|
||||
import net.torvald.terrarum.ui.UICanvas
|
||||
import net.torvald.terrarum.utils.PasswordBase32
|
||||
@@ -28,15 +30,9 @@ class UIShare : UICanvas() {
|
||||
}
|
||||
|
||||
private var shareCode = ""
|
||||
private var dash = ' '
|
||||
|
||||
override fun show() {
|
||||
shareCode = PasswordBase32.encode(
|
||||
INGAME.world.worldIndex.mostSignificantBits.toBig64() +
|
||||
INGAME.world.worldIndex.leastSignificantBits.toBig64()
|
||||
).let {
|
||||
"${it.substring(0..3)}$dash${it.substring(4..5)}$dash${it.substring(6..10)}$dash${it.substring(11..15)}$dash${it.substring(16..20)}$dash${it.substring(21)}"
|
||||
}
|
||||
shareCode = Common.encodeUUID(INGAME.world.worldIndex)
|
||||
|
||||
App.printdbg(this, shareCode)
|
||||
App.printdbg(this, INGAME.world.worldIndex)
|
||||
|
||||
@@ -9,6 +9,7 @@ import net.torvald.terrarum.INGAME
|
||||
import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent
|
||||
import net.torvald.terrarum.imagefont.BigAlphNum
|
||||
import net.torvald.terrarum.langpack.Lang
|
||||
import net.torvald.terrarum.serialise.Common
|
||||
import net.torvald.terrarum.serialise.toBig64
|
||||
import net.torvald.terrarum.ui.Toolkit
|
||||
import net.torvald.terrarum.ui.UICanvas
|
||||
@@ -47,15 +48,10 @@ class UIWorldPortalShare(private val full: UIWorldPortal) : UICanvas() {
|
||||
}
|
||||
|
||||
private var shareCode = ""
|
||||
private var dash = ' '
|
||||
|
||||
override fun show() {
|
||||
shareCode = PasswordBase32.encode(
|
||||
INGAME.world.worldIndex.mostSignificantBits.toBig64() +
|
||||
INGAME.world.worldIndex.leastSignificantBits.toBig64()
|
||||
).let {
|
||||
"${it.substring(0..3)}$dash${it.substring(4..5)}$dash${it.substring(6..10)}$dash${it.substring(11..15)}$dash${it.substring(16..20)}$dash${it.substring(21)}"
|
||||
}
|
||||
shareCode = Common.encodeUUID(INGAME.world.worldIndex)
|
||||
|
||||
|
||||
printdbg(this, shareCode)
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent
|
||||
import net.torvald.terrarum.langpack.Lang
|
||||
import net.torvald.terrarum.printStackTrace
|
||||
import net.torvald.terrarum.savegame.VirtualDisk
|
||||
import net.torvald.terrarum.serialise.Common
|
||||
import net.torvald.terrarum.serialise.toBigInt64
|
||||
import net.torvald.terrarum.ui.*
|
||||
import net.torvald.terrarum.utils.PasswordBase32
|
||||
@@ -68,10 +69,7 @@ class UIWorldPortalUseInvitation(val full: UIWorldPortal) : UICanvas() {
|
||||
{ Lang["MENU_LABEL_CONFIRM_BUTTON"] }, buttonBaseX + (goButtonWidth + gridGap) * 2, buttonY, goButtonWidth, alignment = UIItemTextButton.Companion.Alignment.CENTRE, hasBorder = true).also {
|
||||
|
||||
it.clickOnceListener = { _, _ ->
|
||||
val code = codeInput.getText().replace(" ", "")
|
||||
val uuid = PasswordBase32.decode(code, 16).let {
|
||||
UUID(it.toBigInt64(0), it.toBigInt64(8))
|
||||
}
|
||||
val uuid = Common.decodeToUUID(codeInput.getText())
|
||||
val world = App.savegameWorlds[uuid]
|
||||
|
||||
App.printdbg(this, "Decoded UUID=$uuid")
|
||||
|
||||
Reference in New Issue
Block a user