New version format / Updated bundles / ConnectPacket encoding fix

This commit is contained in:
Anuken
2018-11-21 11:00:50 -05:00
parent 46035e76cc
commit 729f5ed5e4
23 changed files with 824 additions and 857 deletions
+10 -3
View File
@@ -19,7 +19,7 @@ allprojects {
version = 'release' version = 'release'
ext { ext {
versionNumber = '4.0' versionNumber = '4'
versionModifier = 'alpha' versionModifier = 'alpha'
versionType = 'official' versionType = 'official'
appName = 'Mindustry' appName = 'Mindustry'
@@ -124,9 +124,16 @@ project(":ios") {
def vfile = file('robovm.properties') def vfile = file('robovm.properties')
def props = new Properties() def props = new Properties()
props.load(new FileInputStream(vfile)) if(vfile.exists()){
props.load(new FileInputStream(vfile))
}
props['app.build'] = (props['app.build'].toInteger() + 1)+"" props['app.id'] = 'io.anuke.mindustry'
props['app.version'] = '4.0'
props['app.mainclass'] = 'io.anuke.mindustry.IOSLauncher'
props['app.executable'] = 'IOSLauncher'
props['app.name'] = 'Mindustry'
props['app.build'] = (!props.hasProperty("app.build") ? 40 : props['app.build'].toInteger() + 1)+""
props.store(vfile.newWriter(), null) props.store(vfile.newWriter(), null)
} }
-1
View File
@@ -362,7 +362,6 @@ setting.sensitivity.name = Controller Sensitivity
setting.saveinterval.name = Autosave Interval setting.saveinterval.name = Autosave Interval
setting.seconds = {0} Seconds setting.seconds = {0} Seconds
setting.fullscreen.name = Fullscreen setting.fullscreen.name = Fullscreen
setting.multithread.name = Multithreading
setting.fps.name = Show FPS setting.fps.name = Show FPS
setting.vsync.name = VSync setting.vsync.name = VSync
setting.lasers.name = Show Power Lasers setting.lasers.name = Show Power Lasers
+1 -3
View File
@@ -286,6 +286,7 @@ text.no = Nein
text.info.title = [accent]Info text.info.title = [accent]Info
text.error.title = [crimson] Ein Fehler ist aufgetreten text.error.title = [crimson] Ein Fehler ist aufgetreten
text.error.crashtitle = Ein Fehler ist aufgetreten! text.error.crashtitle = Ein Fehler ist aufgetreten!
text.blocks.unknown = [LIGHT_GRAY]???
text.blocks.blockinfo = Blockinfo: text.blocks.blockinfo = Blockinfo:
text.blocks.powercapacity = Kapazität text.blocks.powercapacity = Kapazität
text.blocks.powershot = Stromverbrauch/Schuss text.blocks.powershot = Stromverbrauch/Schuss
@@ -359,7 +360,6 @@ setting.sensitivity.name = Controller-Empfindlichkeit
setting.saveinterval.name = Autosave Häufigkeit setting.saveinterval.name = Autosave Häufigkeit
setting.seconds = {0} Sekunden setting.seconds = {0} Sekunden
setting.fullscreen.name = Vollbild setting.fullscreen.name = Vollbild
setting.multithread.name = Multithreading
setting.fps.name = Zeige FPS setting.fps.name = Zeige FPS
setting.vsync.name = VSync setting.vsync.name = VSync
setting.lasers.name = Zeige Stromlaser setting.lasers.name = Zeige Stromlaser
@@ -404,8 +404,6 @@ mode.waves.name = Wellen
mode.waves.description = Der normale Modus. Begrenzte Ressourcen und automatische Wellen. mode.waves.description = Der normale Modus. Begrenzte Ressourcen und automatische Wellen.
mode.sandbox.name = Sandkasten mode.sandbox.name = Sandkasten
mode.sandbox.description = Unendliche Ressourcen und kein Timer für Wellen. mode.sandbox.description = Unendliche Ressourcen und kein Timer für Wellen.
mode.custom.warning = [scarlet]FREISCHALTUNGEN IN BENUTZERDEFINIERTEN SPIELEN ODER SERVERN WERDEN NICHT GESPEICHERT.[]\n\nSpiele in Sektoren, um Dinge freizuschalten.
mode.custom.warning.read = Nur um sicherzugehen, dass du es gelesen hast:\n[scarlet]FREISCHALTUNGEN IN BENUTZERDEFINIERTEN SPIELEN ODER SERVERN WERDEN NICHT GESPEICHERT.[]\n\nSpiele in Sektoren, um Dinge freizuschalten.(Ich wünschte, der Hinweis wäre nicht notwendig, aber anscheinend ist er das)[]
mode.freebuild.name = Freier Bau mode.freebuild.name = Freier Bau
mode.freebuild.description = Begrenzte Ressourcen und kein Timer für Wellen. mode.freebuild.description = Begrenzte Ressourcen und kein Timer für Wellen.
mode.pvp.name = PvP mode.pvp.name = PvP
+1 -3
View File
@@ -286,6 +286,7 @@ text.no = No
text.info.title = [accent]Información text.info.title = [accent]Información
text.error.title = [crimson]Un error ha ocurrido. text.error.title = [crimson]Un error ha ocurrido.
text.error.crashtitle = Un error ha ocurrido. text.error.crashtitle = Un error ha ocurrido.
text.blocks.unknown = [LIGHT_GRAY]???
text.blocks.blockinfo = Información del Bloque text.blocks.blockinfo = Información del Bloque
text.blocks.powercapacity = Capacidad de Energía text.blocks.powercapacity = Capacidad de Energía
text.blocks.powershot = Energía/Disparo text.blocks.powershot = Energía/Disparo
@@ -359,7 +360,6 @@ setting.sensitivity.name = Sensibilidad del Control
setting.saveinterval.name = Intervalo del Auto-guardado setting.saveinterval.name = Intervalo del Auto-guardado
setting.seconds = {0} Segundos setting.seconds = {0} Segundos
setting.fullscreen.name = Pantalla Completa setting.fullscreen.name = Pantalla Completa
setting.multithread.name = Multiproceso
setting.fps.name = Mostrar FPS setting.fps.name = Mostrar FPS
setting.vsync.name = VSync setting.vsync.name = VSync
setting.lasers.name = Mostrar Energía de los Láseres setting.lasers.name = Mostrar Energía de los Láseres
@@ -404,8 +404,6 @@ mode.waves.name = hordas
mode.waves.description = El modo normal. con recursos limitados y entrada de hordas automática. mode.waves.description = El modo normal. con recursos limitados y entrada de hordas automática.
mode.sandbox.name = sandbox mode.sandbox.name = sandbox
mode.sandbox.description = Recursos ilimitados y sin temporizador para las hordas. mode.sandbox.description = Recursos ilimitados y sin temporizador para las hordas.
mode.custom.warning = Ten en cuenta que los bloques no pueden usarse en partidas personalizadas hasta que se desbloqueen en sectores.\n\n[LIGHT_GRAY]Si no desbloqueaste ningún bloque, ningno aparecerá.
mode.custom.warning.read = Solo para asegurar que lo has leído:\n[scarlet]¡LOS DESBLOQUEOS EN PARTIDAS PERSONALIZADAS NO ESTÁN DISPONIBLES EN LOS SECTORES U OTROS MODOS DE JUEGO!\n\n[LIGHT_GRAY](Ojalá esto no fuera necesario, pero parece que lo es)
mode.freebuild.name = construcción libre mode.freebuild.name = construcción libre
mode.freebuild.description = recursos limitados y no hay temporizador para las hordas. mode.freebuild.description = recursos limitados y no hay temporizador para las hordas.
mode.pvp.name = PvP mode.pvp.name = PvP
+1 -3
View File
@@ -286,6 +286,7 @@ text.no = Non
text.info.title = Info text.info.title = Info
text.error.title = [crimson]Une erreur s'est produite text.error.title = [crimson]Une erreur s'est produite
text.error.crashtitle = Une erreur s'est produite text.error.crashtitle = Une erreur s'est produite
text.blocks.unknown = [LIGHT_GRAY]???
text.blocks.blockinfo = Info sur le bloc text.blocks.blockinfo = Info sur le bloc
text.blocks.powercapacity = capacité d'énergie text.blocks.powercapacity = capacité d'énergie
text.blocks.powershot = Énergie/Tir text.blocks.powershot = Énergie/Tir
@@ -359,7 +360,6 @@ setting.sensitivity.name = Sensibilité de la manette
setting.saveinterval.name = Intervalle des sauvegardes auto setting.saveinterval.name = Intervalle des sauvegardes auto
setting.seconds = {0} secondes setting.seconds = {0} secondes
setting.fullscreen.name = Plein écran setting.fullscreen.name = Plein écran
setting.multithread.name = Multithreading [scarlet] (instable!)
setting.fps.name = Afficher FPS setting.fps.name = Afficher FPS
setting.vsync.name = VSync setting.vsync.name = VSync
setting.lasers.name = Afficher les rayons des lasers setting.lasers.name = Afficher les rayons des lasers
@@ -404,8 +404,6 @@ mode.waves.name = Vagues
mode.waves.description = le mode de jeu normal. Ressource limitée et vagues d'ennemis. mode.waves.description = le mode de jeu normal. Ressource limitée et vagues d'ennemis.
mode.sandbox.name = bac à sable mode.sandbox.name = bac à sable
mode.sandbox.description = Ressources infinies et pas de timer pour les vagues. mode.sandbox.description = Ressources infinies et pas de timer pour les vagues.
mode.custom.warning = Notez que les blocs débloqués en partie personnalisées ne sont pas conservés pour les secteurs.\n\n[LIGHT_GRAY]En mode bac à sable, seul les blocs débloqués en mode secteur peuvent être utilisés.
mode.custom.warning.read = Simplement pour vérifier que vous l'avez lu :\n[scarlet]CE QUI EST DEBLOQUE LORS DES PARITES PERSONNALISEES NE L'EST POUR LES SECTEURS OU LES AUTRES MODES DE JEU!\n\n[LIGHT_GRAY](J'aurais souhaité que ce ne soit pas nécessaire, mais ça a l'air de l'être )
mode.freebuild.name = construction libre mode.freebuild.name = construction libre
mode.freebuild.description = Ressource limitée et pas de timer pour les vagues. mode.freebuild.description = Ressource limitée et pas de timer pour les vagues.
mode.pvp.name = JcJ mode.pvp.name = JcJ
+1 -3
View File
@@ -286,6 +286,7 @@ text.no = Non
text.info.title = Info text.info.title = Info
text.error.title = [crimson]Une erreur s'est produite text.error.title = [crimson]Une erreur s'est produite
text.error.crashtitle = Une erreur s'est produite text.error.crashtitle = Une erreur s'est produite
text.blocks.unknown = [LIGHT_GRAY]???
text.blocks.blockinfo = Info sur le bloc text.blocks.blockinfo = Info sur le bloc
text.blocks.powercapacity = Capacité d'énergie text.blocks.powercapacity = Capacité d'énergie
text.blocks.powershot = Énergie/Tir text.blocks.powershot = Énergie/Tir
@@ -359,7 +360,6 @@ setting.sensitivity.name = Contôle de la sensibilité
setting.saveinterval.name = Intervalle des sauvegardes auto setting.saveinterval.name = Intervalle des sauvegardes auto
setting.seconds = {0} Secondes setting.seconds = {0} Secondes
setting.fullscreen.name = Plein écran setting.fullscreen.name = Plein écran
setting.multithread.name = Multithreading
setting.fps.name = Afficher FPS setting.fps.name = Afficher FPS
setting.vsync.name = VSync setting.vsync.name = VSync
setting.lasers.name = Afficher les rayons des lasers setting.lasers.name = Afficher les rayons des lasers
@@ -404,8 +404,6 @@ mode.waves.name = Vagues
mode.waves.description = Le mode normal. Ressources limitées et vagues déclenchées automatiquement. mode.waves.description = Le mode normal. Ressources limitées et vagues déclenchées automatiquement.
mode.sandbox.name = Bac à sable mode.sandbox.name = Bac à sable
mode.sandbox.description = Ressources infinies et pas de compte à rebours pour les vagues. mode.sandbox.description = Ressources infinies et pas de compte à rebours pour les vagues.
mode.custom.warning = Notez que les blocs débloqués en partie personnalisées ne sont pas conservés pour les secteurs.\n\n[LIGHT_GRAY]En mode bac à sable, seul les blocs débloqués en mode secteur peuvent être utilisés.
mode.custom.warning.read = Juste pour vous assurer que vous l'avez lu:\n[scarlet]Les déverrouillages dans les jeux personnalisés ne sont pas transférés aux secteurs ou à d'autres modes!\n\n[LIGHT_GRAY](J'aimerais que ce ne soit pas nécessaire, mais apparemment c'est le cas)
mode.freebuild.name = Construction libre mode.freebuild.name = Construction libre
mode.freebuild.description = Ressources limitées et pas de compte à rebours pour les vagues. mode.freebuild.description = Ressources limitées et pas de compte à rebours pour les vagues.
mode.pvp.name = PvP mode.pvp.name = PvP
+1 -3
View File
@@ -286,6 +286,7 @@ text.no = No
text.info.title = [accent]Info text.info.title = [accent]Info
text.error.title = [crimson]Telah terjadi kesalahan text.error.title = [crimson]Telah terjadi kesalahan
text.error.crashtitle = Telah terjadi kesalahan text.error.crashtitle = Telah terjadi kesalahan
text.blocks.unknown = [LIGHT_GRAY]???
text.blocks.blockinfo = Info Blok text.blocks.blockinfo = Info Blok
text.blocks.powercapacity = Kapasitas Tenaga text.blocks.powercapacity = Kapasitas Tenaga
text.blocks.powershot = Tenaga/tembakan text.blocks.powershot = Tenaga/tembakan
@@ -359,7 +360,6 @@ setting.sensitivity.name = Sensitivitas Pengendali
setting.saveinterval.name = Waktu Simpan Otomatis setting.saveinterval.name = Waktu Simpan Otomatis
setting.seconds = {0} Detik setting.seconds = {0} Detik
setting.fullscreen.name = Layar Penuh setting.fullscreen.name = Layar Penuh
setting.multithread.name = Multithreading
setting.fps.name = Tunjukkan FPS setting.fps.name = Tunjukkan FPS
setting.vsync.name = VSync setting.vsync.name = VSync
setting.lasers.name = Tampilkan Laser Tenaga setting.lasers.name = Tampilkan Laser Tenaga
@@ -404,8 +404,6 @@ mode.waves.name = gelombang
mode.waves.description = the normal mode. limited resources and automatic incoming waves. mode.waves.description = the normal mode. limited resources and automatic incoming waves.
mode.sandbox.name = sandbox mode.sandbox.name = sandbox
mode.sandbox.description = infinite resources and no timer for waves. mode.sandbox.description = infinite resources and no timer for waves.
mode.custom.warning = Note that blocks cannot be used in custom games until they are unlocked in sectors.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
mode.custom.warning.read = Just to make sure you've read it:\n[scarlet]UNLOCKS IN CUSTOM GAMES DO NOT CARRY OVER TO SECTORS OR OTHER MODES!\n\n[LIGHT_GRAY](I wish this wasn't necessary, but apparently it is)
mode.freebuild.name = freebuild mode.freebuild.name = freebuild
mode.freebuild.description = limited resources and no timer for waves. mode.freebuild.description = limited resources and no timer for waves.
mode.pvp.name = PvP mode.pvp.name = PvP
+1 -3
View File
@@ -286,6 +286,7 @@ text.no = No
text.info.title = [accent] Info text.info.title = [accent] Info
text.error.title = [crimson]Si è verificato un errore text.error.title = [crimson]Si è verificato un errore
text.error.crashtitle = Si è verificato un errore text.error.crashtitle = Si è verificato un errore
text.blocks.unknown = [LIGHT_GRAY]???
text.blocks.blockinfo = info sul blocco text.blocks.blockinfo = info sul blocco
text.blocks.powercapacity = Capacità Energetica text.blocks.powercapacity = Capacità Energetica
text.blocks.powershot = Danno/Colpo text.blocks.powershot = Danno/Colpo
@@ -359,7 +360,6 @@ setting.sensitivity.name = Sensibilità del controller
setting.saveinterval.name = Intervallo di salvataggio automatico setting.saveinterval.name = Intervallo di salvataggio automatico
setting.seconds = {0} Secondi setting.seconds = {0} Secondi
setting.fullscreen.name = Schermo Intero setting.fullscreen.name = Schermo Intero
setting.multithread.name = multithreading
setting.fps.name = Mostra FPS setting.fps.name = Mostra FPS
setting.vsync.name = VSync setting.vsync.name = VSync
setting.lasers.name = Mostra Laser Energetici setting.lasers.name = Mostra Laser Energetici
@@ -404,8 +404,6 @@ mode.waves.name = ondate
mode.waves.description = modalità normale. risorse limitate e ondate automatiche. mode.waves.description = modalità normale. risorse limitate e ondate automatiche.
mode.sandbox.name = Sandbox mode.sandbox.name = Sandbox
mode.sandbox.description = risorse infinite e nessun timer per le ondate. mode.sandbox.description = risorse infinite e nessun timer per le ondate.
mode.custom.warning = Note that blocks cannot be used in custom games until they are unlocked in sectors.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
mode.custom.warning.read = Just to make sure you've read it:\n[scarlet]UNLOCKS IN CUSTOM GAMES DO NOT CARRY OVER TO SECTORS OR OTHER MODES!\n\n[LIGHT_GRAY](I wish this wasn't necessary, but apparently it is)
mode.freebuild.name = freebuild mode.freebuild.name = freebuild
mode.freebuild.description = risorse limitate e nessun timer per le ondate. mode.freebuild.description = risorse limitate e nessun timer per le ondate.
mode.pvp.name = PvP mode.pvp.name = PvP
+1 -3
View File
@@ -286,6 +286,7 @@ text.no = いいえ
text.info.title = 情報 text.info.title = 情報
text.error.title = [crimson]エラーが発生しました text.error.title = [crimson]エラーが発生しました
text.error.crashtitle = エラーが発生しました text.error.crashtitle = エラーが発生しました
text.blocks.unknown = [LIGHT_GRAY]???
text.blocks.blockinfo = ブロック情報 text.blocks.blockinfo = ブロック情報
text.blocks.powercapacity = 電力容量 text.blocks.powercapacity = 電力容量
text.blocks.powershot = 電力/ショット text.blocks.powershot = 電力/ショット
@@ -359,7 +360,6 @@ setting.sensitivity.name = 操作感度
setting.saveinterval.name = 自動保存間隔 setting.saveinterval.name = 自動保存間隔
setting.seconds = {0} 秒 setting.seconds = {0} 秒
setting.fullscreen.name = フルスクリーン setting.fullscreen.name = フルスクリーン
setting.multithread.name = マルチスレッド
setting.fps.name = FPSを表示 setting.fps.name = FPSを表示
setting.vsync.name = VSync setting.vsync.name = VSync
setting.lasers.name = 電力レーザーを表示 setting.lasers.name = 電力レーザーを表示
@@ -404,8 +404,6 @@ mode.waves.name = ウェーブ
mode.waves.description = ノーマルモードです。限られた資源でウェーブが自動的に始まります。 mode.waves.description = ノーマルモードです。限られた資源でウェーブが自動的に始まります。
mode.sandbox.name = サンドボックス mode.sandbox.name = サンドボックス
mode.sandbox.description = 無限の資源でウェーブを自由に始められます。 mode.sandbox.description = 無限の資源でウェーブを自由に始められます。
mode.custom.warning = [scarlet]カスタムゲームまたは、サーバ内でのアンロックは保存されません。[]\n\nアンロックするには区域でプレイしてください。
mode.custom.warning.read = 必ずお読みください:\n[scarlet]カスタムゲーム内でのアンロックは区域やほかのモードには影響しません!\n\n[LIGHT_GRAY](多分必要ないと思いますが)
mode.freebuild.name = フリービルド mode.freebuild.name = フリービルド
mode.freebuild.description = 限られた資源でウェーブを自由に始められます。 mode.freebuild.description = 限られた資源でウェーブを自由に始められます。
mode.pvp.name = PvP mode.pvp.name = PvP
File diff suppressed because it is too large Load Diff
+1 -3
View File
@@ -286,6 +286,7 @@ text.no = Nie ma mowy!
text.info.title = [accent]Informacje text.info.title = [accent]Informacje
text.error.title = [crimson]Wystąpił błąd text.error.title = [crimson]Wystąpił błąd
text.error.crashtitle = Wystąpił błąd text.error.crashtitle = Wystąpił błąd
text.blocks.unknown = [LIGHT_GRAY]???
text.blocks.blockinfo = Informacje o bloku text.blocks.blockinfo = Informacje o bloku
text.blocks.powercapacity = Pojemność mocy text.blocks.powercapacity = Pojemność mocy
text.blocks.powershot = moc / strzał text.blocks.powershot = moc / strzał
@@ -359,7 +360,6 @@ setting.sensitivity.name = Czułość kontrolera
setting.saveinterval.name = Interwał automatycznego zapisywania setting.saveinterval.name = Interwał automatycznego zapisywania
setting.seconds = Sekundy setting.seconds = Sekundy
setting.fullscreen.name = Pełny ekran setting.fullscreen.name = Pełny ekran
setting.multithread.name = Wielowątkowość
setting.fps.name = Widoczny licznik FPS setting.fps.name = Widoczny licznik FPS
setting.vsync.name = Synchronizacja pionowa setting.vsync.name = Synchronizacja pionowa
setting.lasers.name = Pokaż lasery zasilające setting.lasers.name = Pokaż lasery zasilające
@@ -404,8 +404,6 @@ mode.waves.name = Fale
mode.waves.description = Normalny tryb. Normalne surowce i fale. mode.waves.description = Normalny tryb. Normalne surowce i fale.
mode.sandbox.name = sandbox mode.sandbox.name = sandbox
mode.sandbox.description = Nieskończone surowce i fale bez odliczania. Dla przedszkolaków! mode.sandbox.description = Nieskończone surowce i fale bez odliczania. Dla przedszkolaków!
mode.custom.warning = Note that blocks cannot be used in custom games until they are unlocked in sectors.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
mode.custom.warning.read = Just to make sure you've read it:\n[scarlet]UNLOCKS IN CUSTOM GAMES DO NOT CARRY OVER TO SECTORS OR OTHER MODES!\n\n[LIGHT_GRAY](I wish this wasn't necessary, but apparently it is)
mode.freebuild.name = budowanie mode.freebuild.name = budowanie
mode.freebuild.description = Normalne surowce i fale bez odliczania. mode.freebuild.description = Normalne surowce i fale bez odliczania.
mode.pvp.name = PvP mode.pvp.name = PvP
+1 -3
View File
@@ -286,6 +286,7 @@ text.no = Não
text.info.title = [accent]Informação text.info.title = [accent]Informação
text.error.title = [crimson]Ocorreu um Erro. text.error.title = [crimson]Ocorreu um Erro.
text.error.crashtitle = Ocorreu um Erro text.error.crashtitle = Ocorreu um Erro
text.blocks.unknown = [LIGHT_GRAY]???
text.blocks.blockinfo = Informação do Bloco text.blocks.blockinfo = Informação do Bloco
text.blocks.powercapacity = Capacidade de Energia text.blocks.powercapacity = Capacidade de Energia
text.blocks.powershot = Energia/tiro text.blocks.powershot = Energia/tiro
@@ -359,7 +360,6 @@ setting.sensitivity.name = Sensibilidade do Controle
setting.saveinterval.name = Intervalo de autosalvamento setting.saveinterval.name = Intervalo de autosalvamento
setting.seconds = {0} Segundos setting.seconds = {0} Segundos
setting.fullscreen.name = Tela Cheia setting.fullscreen.name = Tela Cheia
setting.multithread.name = Multithreading
setting.fps.name = Mostrar FPS setting.fps.name = Mostrar FPS
setting.vsync.name = VSync setting.vsync.name = VSync
setting.lasers.name = Mostrar lasers setting.lasers.name = Mostrar lasers
@@ -404,8 +404,6 @@ mode.waves.name = hordas
mode.waves.description = O modo normal. Recursos limitados E os ataques vem automaticamente. mode.waves.description = O modo normal. Recursos limitados E os ataques vem automaticamente.
mode.sandbox.name = sandbox mode.sandbox.name = sandbox
mode.sandbox.description = Recursos infinitos E sem tempo para Ataques. mode.sandbox.description = Recursos infinitos E sem tempo para Ataques.
mode.custom.warning = Note that blocks cannot be used in custom games until they are unlocked in sectors.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
mode.custom.warning.read = Just to make sure you've read it:\n[scarlet]UNLOCKS IN CUSTOM GAMES DO NOT CARRY OVER TO SECTORS OR OTHER MODES!\n\n[LIGHT_GRAY](I wish this wasn't necessary, but apparently it is)
mode.freebuild.name = construção \nlivre mode.freebuild.name = construção \nlivre
mode.freebuild.description = recursos limitados e Sem tempo para Ataques. mode.freebuild.description = recursos limitados e Sem tempo para Ataques.
mode.pvp.name = PvP mode.pvp.name = PvP
+1 -3
View File
@@ -286,6 +286,7 @@ text.no = Нет
text.info.title = Информация text.info.title = Информация
text.error.title = [crimson]Произошла ошибка text.error.title = [crimson]Произошла ошибка
text.error.crashtitle = Произошла ошибка text.error.crashtitle = Произошла ошибка
text.blocks.unknown = [LIGHT_GRAY]???
text.blocks.blockinfo = Информация о блоке text.blocks.blockinfo = Информация о блоке
text.blocks.powercapacity = Вместимость энергии text.blocks.powercapacity = Вместимость энергии
text.blocks.powershot = Энергия/выстрел text.blocks.powershot = Энергия/выстрел
@@ -359,7 +360,6 @@ setting.sensitivity.name = Чувствительность контроллер
setting.saveinterval.name = Интервал автосохранения setting.saveinterval.name = Интервал автосохранения
setting.seconds = {0} Секунд setting.seconds = {0} Секунд
setting.fullscreen.name = Полноэкранный режим setting.fullscreen.name = Полноэкранный режим
setting.multithread.name = Многопоточность (TPS)
setting.fps.name = Показывать FPS setting.fps.name = Показывать FPS
setting.vsync.name = Верт. синхронизация setting.vsync.name = Верт. синхронизация
setting.lasers.name = Показывать энергетические лазеры setting.lasers.name = Показывать энергетические лазеры
@@ -404,8 +404,6 @@ mode.waves.name = Волны
mode.waves.description = В режиме "волны" ограниченные ресурсы и автоматические наступающие волны. mode.waves.description = В режиме "волны" ограниченные ресурсы и автоматические наступающие волны.
mode.sandbox.name = Песочница mode.sandbox.name = Песочница
mode.sandbox.description = Бесконечные ресурсы и нет таймера для волн, но можно самим вызвать волну. mode.sandbox.description = Бесконечные ресурсы и нет таймера для волн, но можно самим вызвать волну.
mode.custom.warning = [scarlet]РАЗБЛОКИРОВАННОЕ В ПОЛЬЗОВАТЕЛЬСКИХ ИГРАХ ИЛИ НА СЕРВЕРАХ НЕ СОХРАНЯЕТСЯ[]\n\nИграйте в секторах для разблокировки чего-либо
mode.custom.warning.read = Внимательно прочитайте это!:\n[scarlet]РАЗБЛОКИРОВАННОЕ В ПОЛЬЗОВАТЕЛЬСКИХ ИГРАХ ИЛИ ДРУГИХ РЕЖИМАХ ИГРЫ НЕ РАСПРОСТРАНЯЕТСЯ НА СЕКТОРА ИЛИ ДРУГИЕ РЕЖИМЫ ИГРЫ!\n\n[LIGHT_GRAY](Я бы хотел, чтобы это не было необходимо, но, по-видимому, это так)
mode.freebuild.name = Свободная\nстройка mode.freebuild.name = Свободная\nстройка
mode.freebuild.description = ограниченные ресурсы и нет таймера для волн. mode.freebuild.description = ограниченные ресурсы и нет таймера для волн.
mode.pvp.name = Противо-\nстояние mode.pvp.name = Противо-\nстояние
+1 -3
View File
@@ -286,6 +286,7 @@ text.no = Hayir
text.info.title = [accent]Bilgi text.info.title = [accent]Bilgi
text.error.title = [crimson]Bir hata olustu text.error.title = [crimson]Bir hata olustu
text.error.crashtitle = Bir hata olustu text.error.crashtitle = Bir hata olustu
text.blocks.unknown = [LIGHT_GRAY]???
text.blocks.blockinfo = Yapi bilgisi text.blocks.blockinfo = Yapi bilgisi
text.blocks.powercapacity = Guc kapasitesi text.blocks.powercapacity = Guc kapasitesi
text.blocks.powershot = Guc/Saldiri hizi text.blocks.powershot = Guc/Saldiri hizi
@@ -359,7 +360,6 @@ setting.sensitivity.name = Kumanda hassasligi
setting.saveinterval.name = Otomatik kaydetme suresi setting.saveinterval.name = Otomatik kaydetme suresi
setting.seconds = {0} Saniye setting.seconds = {0} Saniye
setting.fullscreen.name = Tam ekran setting.fullscreen.name = Tam ekran
setting.multithread.name = Parcaciklar
setting.fps.name = FPS'i goster setting.fps.name = FPS'i goster
setting.vsync.name = VSync setting.vsync.name = VSync
setting.lasers.name = Guc lazerlerini goster setting.lasers.name = Guc lazerlerini goster
@@ -404,8 +404,6 @@ mode.waves.name = Dalgali
mode.waves.description = Klasik mod. Dalgalara karsi cekirdegi koru. mode.waves.description = Klasik mod. Dalgalara karsi cekirdegi koru.
mode.sandbox.name = Serbest mode.sandbox.name = Serbest
mode.sandbox.description = Sonsuz esyalar ve Dalga suresi yok mode.sandbox.description = Sonsuz esyalar ve Dalga suresi yok
mode.custom.warning = Note that blocks cannot be used in custom games until they are unlocked in sectors.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
mode.custom.warning.read = Just to make sure you've read it:\n[scarlet]UNLOCKS IN CUSTOM GAMES DO NOT CARRY OVER TO SECTORS OR OTHER MODES!\n\n[LIGHT_GRAY](I wish this wasn't necessary, but apparently it is)
mode.freebuild.name = Yapi Yapma mode.freebuild.name = Yapi Yapma
mode.freebuild.description = Sinirli esyalar ama dalga suresi yok. mode.freebuild.description = Sinirli esyalar ama dalga suresi yok.
mode.pvp.name = PvP mode.pvp.name = PvP
+1 -3
View File
@@ -286,6 +286,7 @@ text.no = No
text.info.title = [Vurgu] Bilgi text.info.title = [Vurgu] Bilgi
text.error.title = [crimson] Bir hata oluştu text.error.title = [crimson] Bir hata oluştu
text.error.crashtitle = Bir hata oluştu text.error.crashtitle = Bir hata oluştu
text.blocks.unknown = [LIGHT_GRAY]???
text.blocks.blockinfo = Blok Bilgisi text.blocks.blockinfo = Blok Bilgisi
text.blocks.powercapacity = Güç kapasitesi text.blocks.powercapacity = Güç kapasitesi
text.blocks.powershot = Güç / atış text.blocks.powershot = Güç / atış
@@ -359,7 +360,6 @@ setting.sensitivity.name = Denetleyici hassasiyeti
setting.saveinterval.name = Otomatik Kaydetme Aralığı setting.saveinterval.name = Otomatik Kaydetme Aralığı
setting.seconds = saniye setting.seconds = saniye
setting.fullscreen.name = Tam ekran setting.fullscreen.name = Tam ekran
setting.multithread.name = Çok iş parçacığı
setting.fps.name = Saniyede ... Kare göstermek setting.fps.name = Saniyede ... Kare göstermek
setting.vsync.name = VSync setting.vsync.name = VSync
setting.lasers.name = Güç Lazerleri Göster setting.lasers.name = Güç Lazerleri Göster
@@ -404,8 +404,6 @@ mode.waves.name = dalgalar
mode.waves.description = normal mod. sınırlı kaynaklar ve otomatik gelen dalgalar. mode.waves.description = normal mod. sınırlı kaynaklar ve otomatik gelen dalgalar.
mode.sandbox.name = Limitsiz Oynama mode.sandbox.name = Limitsiz Oynama
mode.sandbox.description = sonsuz kaynaklar ve dalgalar için zamanlayıcı yok. mode.sandbox.description = sonsuz kaynaklar ve dalgalar için zamanlayıcı yok.
mode.custom.warning = Note that blocks cannot be used in custom games until they are unlocked in sectors.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
mode.custom.warning.read = Just to make sure you've read it:\n[scarlet]UNLOCKS IN CUSTOM GAMES DO NOT CARRY OVER TO SECTORS OR OTHER MODES!\n\n[LIGHT_GRAY](I wish this wasn't necessary, but apparently it is)
mode.freebuild.name = Özgür Oynama mode.freebuild.name = Özgür Oynama
mode.freebuild.description = sınırlı kaynaklar ve dalgalar için zamanlayıcı yok. mode.freebuild.description = sınırlı kaynaklar ve dalgalar için zamanlayıcı yok.
mode.pvp.name = PvP mode.pvp.name = PvP
+1 -3
View File
@@ -286,6 +286,7 @@ text.no = Ні
text.info.title = [accent]Інформація text.info.title = [accent]Інформація
text.error.title = [crimson]Виникла помилка text.error.title = [crimson]Виникла помилка
text.error.crashtitle = Виникла помилка text.error.crashtitle = Виникла помилка
text.blocks.unknown = [LIGHT_GRAY]???
text.blocks.blockinfo = Інформація про блок text.blocks.blockinfo = Інформація про блок
text.blocks.powercapacity = Місткість енергії text.blocks.powercapacity = Місткість енергії
text.blocks.powershot = Енергія/постріл text.blocks.powershot = Енергія/постріл
@@ -359,7 +360,6 @@ setting.sensitivity.name = Чутливість контролера
setting.saveinterval.name = Інтервал автозбереження setting.saveinterval.name = Інтервал автозбереження
setting.seconds = {0} сек. setting.seconds = {0} сек.
setting.fullscreen.name = Повноекранний режим setting.fullscreen.name = Повноекранний режим
setting.multithread.name = Багатопотоковість (TPS)
setting.fps.name = Показати FPS setting.fps.name = Показати FPS
setting.vsync.name = Вертикальна синхронізація setting.vsync.name = Вертикальна синхронізація
setting.lasers.name = Показати енергетичні лазери setting.lasers.name = Показати енергетичні лазери
@@ -404,8 +404,6 @@ mode.waves.name = Хвилі
mode.waves.description = Нормальний режим. Обмежені ресурси та автоматичні хвилі. mode.waves.description = Нормальний режим. Обмежені ресурси та автоматичні хвилі.
mode.sandbox.name = Пісочниця mode.sandbox.name = Пісочниця
mode.sandbox.description = Нескінченні ресурси і нема таймера для хвиль. mode.sandbox.description = Нескінченні ресурси і нема таймера для хвиль.
mode.custom.warning = [scarlet]РОЗБЛОКОВАНЕ В КОРИСТУВАЛЬНИЦЬКИХ ІГРАХ АБО НА СЕРВЕРАХ НЕ ЗБЕРІГАЄТЬСЯ.\n\nГрайте у секторах для розблокування.
mode.custom.warning.read = Уважно прочитайте це!:\n[scarlet]РОЗБЛОКОВАНЕ В КОРИСТУВАЛЬНИЦЬКИХ ІГРАХ АБО В ІНШИХ РЕЖИМАХ ГРИ НЕ ПОШИРЮЄТЬСЯ НА СЕКТОРИ ТА ІНШІ РЕЖИМИ ГРИ!\n\n[LIGHT_GRAY](Я б хотів, щоб це не було необхідно, але, мабуть, це так)
mode.freebuild.name = Вільний режим mode.freebuild.name = Вільний режим
mode.freebuild.description = обмежені ресурси і немає таймера для хвиль. mode.freebuild.description = обмежені ресурси і немає таймера для хвиль.
mode.pvp.name = PvP mode.pvp.name = PvP
+1 -3
View File
@@ -286,6 +286,7 @@ text.no = 不
text.info.title = [accent]详情 text.info.title = [accent]详情
text.error.title = [crimson]发生了一个错误 text.error.title = [crimson]发生了一个错误
text.error.crashtitle = 发生了一个错误 text.error.crashtitle = 发生了一个错误
text.blocks.unknown = [LIGHT_GRAY]???
text.blocks.blockinfo = 方块详情 text.blocks.blockinfo = 方块详情
text.blocks.powercapacity = 能量容量 text.blocks.powercapacity = 能量容量
text.blocks.powershot = 能量/发射 text.blocks.powershot = 能量/发射
@@ -359,7 +360,6 @@ setting.sensitivity.name = 控制器灵敏度
setting.saveinterval.name = 自动保存间隔 setting.saveinterval.name = 自动保存间隔
setting.seconds = {0} 秒 setting.seconds = {0} 秒
setting.fullscreen.name = 全屏 setting.fullscreen.name = 全屏
setting.multithread.name = 多线程
setting.fps.name = 显示 FPS setting.fps.name = 显示 FPS
setting.vsync.name = 帧同步 setting.vsync.name = 帧同步
setting.lasers.name = 显示能量射线 setting.lasers.name = 显示能量射线
@@ -404,8 +404,6 @@ mode.waves.name = 普通
mode.waves.description = 普通模式,有限的资源和自动生成敌人。 mode.waves.description = 普通模式,有限的资源和自动生成敌人。
mode.sandbox.name = 沙盒 mode.sandbox.name = 沙盒
mode.sandbox.description = 无限的资源,不会自动生成敌人。 mode.sandbox.description = 无限的资源,不会自动生成敌人。
mode.custom.warning = 请注意,方块在区域内解锁之前,不能用于自定义游戏。\n\n[LIGHT_GRAY]如果您没有解锁任何方块,则不会出现任何方块。
mode.custom.warning.read = 确保你已经阅读过它:\n[scarlet]自定义游戏的解锁不带至区域或其他模式!\n\n[LIGHT_GRAY](我希望这不是必要的,但显然是必要的)
mode.freebuild.name = 自由建造 mode.freebuild.name = 自由建造
mode.freebuild.description = 有限的资源,不会自动生成敌人。 mode.freebuild.description = 有限的资源,不会自动生成敌人。
mode.pvp.name = PvP mode.pvp.name = PvP
+1 -3
View File
@@ -286,6 +286,7 @@ text.no = 否
text.info.title = [accent]資訊 text.info.title = [accent]資訊
text.error.title = [crimson]發生錯誤 text.error.title = [crimson]發生錯誤
text.error.crashtitle = 發生錯誤 text.error.crashtitle = 發生錯誤
text.blocks.unknown = [LIGHT_GRAY]???
text.blocks.blockinfo = 方塊資訊 text.blocks.blockinfo = 方塊資訊
text.blocks.powercapacity = 蓄電量 text.blocks.powercapacity = 蓄電量
text.blocks.powershot = 能源/射擊 text.blocks.powershot = 能源/射擊
@@ -359,7 +360,6 @@ setting.sensitivity.name = 控制器靈敏度
setting.saveinterval.name = 自動存檔間隔 setting.saveinterval.name = 自動存檔間隔
setting.seconds = {0}秒 setting.seconds = {0}秒
setting.fullscreen.name = 全螢幕 setting.fullscreen.name = 全螢幕
setting.multithread.name = 多執行緒
setting.fps.name = 顯示螢幕刷新率 setting.fps.name = 顯示螢幕刷新率
setting.vsync.name = 垂直同步 setting.vsync.name = 垂直同步
setting.lasers.name = 顯示雷射光束 setting.lasers.name = 顯示雷射光束
@@ -404,8 +404,6 @@ mode.waves.name = 一般
mode.waves.description = 一般模式,有限的資源與自動來襲的波次。 mode.waves.description = 一般模式,有限的資源與自動來襲的波次。
mode.sandbox.name = 沙盒 mode.sandbox.name = 沙盒
mode.sandbox.description = 無限的資源,與不倒數計時的波次。 mode.sandbox.description = 無限的資源,與不倒數計時的波次。
mode.custom.warning = 請注意,方塊在區域內解鎖之前,不能用於自訂遊戲。\n\n[LIGHT_GRAY]如果您沒有解鎖任何方塊,則不會出現任何方塊。
mode.custom.warning.read = 確保你已閱讀過它:\n[scarlet]自訂遊戲的解鎖不帶至區域或其他模式!\n\n[LIGHT_GRAY](我希望這不是必要的,但顯然是必要的)
mode.freebuild.name = 自由建造 mode.freebuild.name = 自由建造
mode.freebuild.description = 有限的資源,與不倒數計時的波次。 mode.freebuild.description = 有限的資源,與不倒數計時的波次。
mode.pvp.name = 對戰 mode.pvp.name = 對戰
@@ -11,10 +11,10 @@ import java.io.IOException;
public class Version{ public class Version{
/**Build type. 'official' for official releases; 'custom' or 'bleeding edge' are also used.*/ /**Build type. 'official' for official releases; 'custom' or 'bleeding edge' are also used.*/
public static String type; public static String type;
/**Number specifying the major version, e.g. '4.0'*/
public static String number;
/**Build modifier, e.g. 'alpha' or 'release'*/ /**Build modifier, e.g. 'alpha' or 'release'*/
public static String modifier; public static String modifier;
/**Number specifying the major version, e.g. '4'*/
public static int number;
/**Build number, e.g. '43'. set to '-1' for custom builds.*/ /**Build number, e.g. '43'. set to '-1' for custom builds.*/
public static int build = 0; public static int build = 0;
@@ -26,7 +26,7 @@ public class Version{
PropertiesUtils.load(map, file.reader()); PropertiesUtils.load(map, file.reader());
type = map.get("type"); type = map.get("type");
number = map.get("number"); number = Integer.parseInt(map.get("number"));
modifier = map.get("modifier"); modifier = map.get("modifier");
build = Strings.canParseInt(map.get("build")) ? Integer.parseInt(map.get("build")) : -1; build = Strings.canParseInt(map.get("build")) ? Integer.parseInt(map.get("build")) : -1;
}catch(IOException e){ }catch(IOException e){
+8 -5
View File
@@ -2,7 +2,7 @@ package io.anuke.mindustry.net;
import com.badlogic.gdx.utils.Base64Coder; import com.badlogic.gdx.utils.Base64Coder;
import io.anuke.mindustry.game.Version; import io.anuke.mindustry.game.Version;
import io.anuke.ucore.io.IOUtils; import io.anuke.mindustry.io.TypeIO;
import io.anuke.ucore.util.Bundles; import io.anuke.ucore.util.Bundles;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
@@ -65,6 +65,7 @@ public class Packets{
public static class ConnectPacket implements Packet{ public static class ConnectPacket implements Packet{
public int version; public int version;
public String versionType;
public String name, uuid, usid; public String name, uuid, usid;
public boolean mobile; public boolean mobile;
public int color; public int color;
@@ -72,8 +73,9 @@ public class Packets{
@Override @Override
public void write(ByteBuffer buffer){ public void write(ByteBuffer buffer){
buffer.putInt(Version.build); buffer.putInt(Version.build);
IOUtils.writeString(buffer, name); TypeIO.writeString(buffer, versionType);
IOUtils.writeString(buffer, usid); TypeIO.writeString(buffer, name);
TypeIO.writeString(buffer, usid);
buffer.put(mobile ? (byte) 1 : 0); buffer.put(mobile ? (byte) 1 : 0);
buffer.putInt(color); buffer.putInt(color);
buffer.put(Base64Coder.decode(uuid)); buffer.put(Base64Coder.decode(uuid));
@@ -82,8 +84,9 @@ public class Packets{
@Override @Override
public void read(ByteBuffer buffer){ public void read(ByteBuffer buffer){
version = buffer.getInt(); version = buffer.getInt();
name = IOUtils.readString(buffer); versionType = TypeIO.readString(buffer);
usid = IOUtils.readString(buffer); name = TypeIO.readString(buffer);
usid = TypeIO.readString(buffer);
mobile = buffer.get() == 1; mobile = buffer.get() == 1;
color = buffer.getInt(); color = buffer.getInt();
byte[] idbytes = new byte[8]; byte[] idbytes = new byte[8];
@@ -11,6 +11,7 @@ import io.anuke.mindustry.ui.dialogs.FloatingDialog;
import io.anuke.ucore.core.Events; import io.anuke.ucore.core.Events;
import io.anuke.ucore.scene.Group; import io.anuke.ucore.scene.Group;
import io.anuke.ucore.scene.ui.layout.Table; import io.anuke.ucore.scene.ui.layout.Table;
import io.anuke.ucore.util.Strings;
import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.Vars.*;
@@ -42,7 +43,7 @@ public class MenuFragment extends Fragment{
} }
//version info //version info
parent.fill(c -> c.bottom().left().add("Mindustry " + Version.number + "-" + Version.modifier + " " + Version.type + " / " + (Version.build == -1 ? "custom build" : "build " + Version.build)) parent.fill(c -> c.bottom().left().add(Strings.formatArgs("Mindustry v{0} {1}-{2} {3}", Version.number, Version.modifier, Version.type, (Version.build == -1 ? "custom build" : "build " + Version.build)))
.visible(() -> state.is(State.menu))); .visible(() -> state.is(State.menu)));
} }
@@ -55,14 +56,14 @@ public class MenuFragment extends Fragment{
container.defaults().size(size).pad(5).padTop(4f); container.defaults().size(size).pad(5).padTop(4f);
MobileButton MobileButton
play = new MobileButton("icon-play-2", isize, "$text.play", this::showPlaySelect), play = new MobileButton("icon-play-2", isize, "$text.play", this::showPlaySelect),
maps = new MobileButton("icon-map", isize, "$text.maps", ui.maps::show), maps = new MobileButton("icon-map", isize, "$text.maps", ui.maps::show),
load = new MobileButton("icon-load", isize, "$text.load", ui.load::show), load = new MobileButton("icon-load", isize, "$text.load", ui.load::show),
join = new MobileButton("icon-add", isize, "$text.joingame", ui.join::show), join = new MobileButton("icon-add", isize, "$text.joingame", ui.join::show),
editor = new MobileButton("icon-editor", isize, "$text.editor", () -> ui.loadGraphics(ui.editor::show)), editor = new MobileButton("icon-editor", isize, "$text.editor", () -> ui.loadGraphics(ui.editor::show)),
tools = new MobileButton("icon-tools", isize, "$text.settings", ui.settings::show), tools = new MobileButton("icon-tools", isize, "$text.settings", ui.settings::show),
unlocks = new MobileButton("icon-unlocks", isize, "$text.unlocks", ui.unlocks::show), unlocks = new MobileButton("icon-unlocks", isize, "$text.unlocks", ui.unlocks::show),
donate = new MobileButton("icon-donate", isize, "$text.donate", Platform.instance::openDonations); donate = new MobileButton("icon-donate", isize, "$text.donate", Platform.instance::openDonations);
if(Gdx.graphics.getWidth() > Gdx.graphics.getHeight()){ if(Gdx.graphics.getWidth() > Gdx.graphics.getHeight()){
container.add(play); container.add(play);
-5
View File
@@ -15,8 +15,3 @@ createIPA.dependsOn build
robovm { robovm {
archs = "thumbv7:arm64" archs = "thumbv7:arm64"
} }
eclipse.project {
name = appName + "-ios"
natures 'org.robovm.eclipse.RoboVMNature'
}
-7
View File
@@ -1,7 +0,0 @@
#Tue Nov 20 20:02:17 EST 2018
app.version=4.0
app.id=io.anuke.mindustry
app.mainclass=io.anuke.mindustry.IOSLauncher
app.executable=IOSLauncher
app.build=32
app.name=Mindustry