Merge branch 'tiled-logic-displays' of https://github.com/Anuken/Mindustry

This commit is contained in:
Anuken
2025-04-16 16:50:52 -04:00
91 changed files with 429 additions and 18 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 121 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 446 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 339 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 370 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 466 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 B

+3
View File
@@ -1111,6 +1111,7 @@ ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Only Core Depositing Allowed
bar.drilltierreq = Better Drill Required
bar.nobatterypower = Insufficient Battery Power
@@ -1982,6 +1983,7 @@ block.logic-processor.name = Logic Processor
block.hyper-processor.name = Hyper Processor
block.logic-display.name = Logic Display
block.large-logic-display.name = Large Logic Display
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Memory Cell
block.memory-bank.name = Memory Bank
@@ -2281,6 +2283,7 @@ block.memory-cell.description = Stores information for a logic processor.
block.memory-bank.description = Stores information for a logic processor. High capacity.
block.logic-display.description = Displays arbitrary graphics from a logic processor.
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
+3
View File
@@ -1076,6 +1076,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Даступны Толькі Перанос Рэсурсаў У Ядро
bar.drilltierreq = Патрабуецца свідар лепей
@@ -1937,6 +1938,7 @@ block.logic-processor.name = Працэсар Логікі
block.hyper-processor.name = Гіперпрацэсар
block.logic-display.name = Экран
block.large-logic-display.name = Вялікі Экран
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Ячэйка Памяці
block.memory-bank.name = Блок Памяці
team.malis.name = Маліс
@@ -2227,6 +2229,7 @@ block.memory-cell.description = Stores information for a logic processor.
block.memory-bank.description = Stores information for a logic processor. High capacity.
block.logic-display.description = Displays arbitrary graphics from a logic processor.
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
+3
View File
@@ -1090,6 +1090,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] намаляване на
ability.stat.minspeed = [stat]{0} полета/в сек.[lightgray] мин. скорост
ability.stat.duration = [stat]{0} в сек.[lightgray] продължителност
ability.stat.buildtime = [stat]{0} в сек.[lightgray] време за строеж
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Доставянето е разрешено само до ядрото
@@ -1956,6 +1957,7 @@ block.logic-processor.name = Логически процесор
block.hyper-processor.name = Хипер процесор
block.logic-display.name = Логически дисплей
block.large-logic-display.name = Голям логически дисплей
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Клетка памет
block.memory-bank.name = Банка памет
team.malis.name = Малис
@@ -2247,6 +2249,7 @@ block.memory-cell.description = Съхранява информация, коя
block.memory-bank.description = Съхранява информация, която може да се достъпва или променя от процесор. Има голям капацитет.
block.logic-display.description = Позволява изобразяването на графика чрез процесор.
block.large-logic-display.description = Позволява изобразяването на графика чрез процесор.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Масивна електромагнитна релсова кула. Ускорява ядрото до необходимата за междупланетно изстрелване скорост.
block.repair-turret.description = Непрекъснато ремонтира най-близката повредена единица в обхват. Може да приема охладител.
block.core-bastion.description = Ядро на базата. Добре бронирано. Ако бъде унищожено, секторът е загубен.
+3
View File
@@ -1090,6 +1090,7 @@ ability.stat.damagereduction = [stat]{0} %[lightgray] de reducció del dany
ability.stat.minspeed = [stat]{0} caselles/seg[lightgray] de velocitat mín.
ability.stat.duration = [stat]{0} seg[lightgray] de duració
ability.stat.buildtime = [stat]{0} seg[lightgray] de temps de construcció
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Només es permet depositar al nucli.
bar.drilltierreq = Cal una perforadora millor.
@@ -1957,6 +1958,7 @@ block.logic-processor.name = Processador lògic
block.hyper-processor.name = Hiperprocessador
block.logic-display.name = Monitor lògic
block.large-logic-display.name = Monitor lògic gran
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Cel·la de memòria
block.memory-bank.name = Banc de memòria
@@ -2249,6 +2251,7 @@ block.memory-cell.description = Emmagatzema informació per a un processador lò
block.memory-bank.description = Emmagatzema informació per a un processador lògic. Alta capacitat.
block.logic-display.description = Mostra un gràfic des dun processador lògic.
block.large-logic-display.description = Mostra un gràfic des dun processador lògic.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Una torreta amb un canó electromagnètic enorme. Accelera els nuclis fins aconseguir la velocitat descapament per a fer llançaments interplanetaris.
block.repair-turret.description = Repara contínuament la unitat danyada que tingui més a prop al seu voltant. També se li pot subministrar refrigerant perquè funcioni més ràpid.
block.core-bastion.description = Nucli de la base. Blindat. Quan es destrueix, es perd el sector.
+3
View File
@@ -1091,6 +1091,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Pouze Ukládání do Jádra je povoleno
@@ -1956,6 +1957,7 @@ block.logic-processor.name = Logický procesor
block.hyper-processor.name = Hyperprocesor
block.logic-display.name = Zobrazovač logiky
block.large-logic-display.name = Velký zobrazovač logiky
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Paměťová buňka
block.memory-bank.name = Paměťová banka
team.malis.name = Malis
@@ -2248,6 +2250,7 @@ block.memory-cell.description = Ukládá informace z logického procesoru.
block.memory-bank.description = Ukládá informace z logického procesoru. Větší kapacita.
block.logic-display.description = Zobrazuje libovolnou grafiku z logického procesoru.
block.large-logic-display.description = Zobrazuje libovolnou grafiku z logického procesoru.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Masivní elektromagnetická věž. Urychlí jádro na únikovou rychlost pro meziplanetární vyslání.
block.repair-turret.description = Nepřetržitě opravuje nejblížší poškozenou jednotku v jeho blízkosti. Lze volitelně dodávat chlazení pro jeho posílení.
block.core-bastion.description = Jádro základny. Obrněné. Pokud je zničeno, sektor je ztracen.
+3
View File
@@ -1077,6 +1077,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Only Core Depositing Allowed
@@ -1939,6 +1940,7 @@ block.logic-processor.name = Topdatamat
block.hyper-processor.name = Hyperdatamat
block.logic-display.name = Dataskærm
block.large-logic-display.name = Større Dataskærm
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Hukommelsescelle
block.memory-bank.name = Hukommelsesbank
team.malis.name = Malis
@@ -2227,6 +2229,7 @@ block.memory-cell.description = Stores information for a logic processor.
block.memory-bank.description = Stores information for a logic processor. High capacity.
block.logic-display.description = Displays arbitrary graphics from a logic processor.
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
+3
View File
@@ -1102,6 +1102,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] Schadensreduktion
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min Geschwindigkeit
ability.stat.duration = [stat]{0} sek[lightgray] Dauer
ability.stat.buildtime = [stat]{0} sek[lightgray] Baudauer
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Nur Kernablage möglich
@@ -1971,6 +1972,7 @@ block.logic-processor.name = Logikprozessor
block.hyper-processor.name = Hyperprozessor
block.logic-display.name = Logik-Bildschirm
block.large-logic-display.name = Großer Logik-Bildschirm
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Speicherzelle
block.memory-bank.name = Große Speicherzelle
@@ -2274,6 +2276,7 @@ block.memory-cell.description = Speichert Informationen für einen Prozessor.
block.memory-bank.description = Speichert Informationen für einen Prozessor. Hohe Kapazität.
block.logic-display.description = Zeigt mithilfe eines Prozessors Beliebiges an.
block.large-logic-display.description = Zeigt mithilfe eines Prozessors Beliebiges an.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Ein Riesen-Railgun-Turm, der mithilfe des Elektromagnetismus Kerne auf die nötige Geschwindigkeit bringt, um interplanetarisches Reisen zu ermöglichen.
block.repair-turret.description = Heilt durchgehend die nächste befreundete, beschädigte Einheit in der Umgebung. Verwendet optional Kühlung.
+3
View File
@@ -1096,6 +1096,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Sólo se permite depositar en el núcleo
bar.drilltierreq = Requiere un taladro mejor
@@ -1963,6 +1964,7 @@ block.logic-processor.name = Procesador lógico
block.hyper-processor.name = Hiperprocesador
block.logic-display.name = Pantalla lógica
block.large-logic-display.name = Pantalla lógica grande
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Unidad de memoria
block.memory-bank.name = Servidor de memoria
# Name of the teams that are not colors or adjectives are intentionally untrasnlated.
@@ -2262,6 +2264,7 @@ block.memory-cell.description = Almacena información para los procesadores lóg
block.memory-bank.description = Almacena información para los procesadores lógicos. Alta capacidad.
block.logic-display.description = Muestra gráficos arbitrarios dibujados desde un procesador lógico.
block.large-logic-display.description = Muestra gráficos arbitrarios dibujados desde un procesador lógico.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Una torre de proyección electromagnética masiva. Acelera núcleos hasta la velocidad necesaria para escapar del campo gravitatorio del planeta, habilitando el despliegue interplanetario.
block.repair-turret.description = Repara continuamente la unidad dañada más cercana dentro de su alcance. Opcionalmente acepta refrigerante.
+3
View File
@@ -1080,6 +1080,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Only Core Depositing Allowed
@@ -1942,6 +1943,7 @@ block.logic-processor.name = Logic Processor
block.hyper-processor.name = Hyper Processor
block.logic-display.name = Logic Display
block.large-logic-display.name = Large Logic Display
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Memory Cell
block.memory-bank.name = Memory Bank
team.malis.name = Malis
@@ -2232,6 +2234,7 @@ block.memory-cell.description = Stores information for a logic processor.
block.memory-bank.description = Stores information for a logic processor. High capacity.
block.logic-display.description = Displays arbitrary graphics from a logic processor.
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
+3
View File
@@ -1079,6 +1079,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Only Core Depositing Allowed
@@ -1941,6 +1942,7 @@ block.logic-processor.name = Logic Processor
block.hyper-processor.name = Hyper Processor
block.logic-display.name = Logic Display
block.large-logic-display.name = Large Logic Display
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Memory Cell
block.memory-bank.name = Memory Bank
team.malis.name = Malis
@@ -2231,6 +2233,7 @@ block.memory-cell.description = Stores information for a logic processor.
block.memory-bank.description = Stores information for a logic processor. High capacity.
block.logic-display.description = Displays arbitrary graphics from a logic processor.
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
+3
View File
@@ -1078,6 +1078,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Sijoittaminen sallittua vain ytimeen
@@ -1943,6 +1944,7 @@ block.logic-processor.name = Logiikkaprosessori
block.hyper-processor.name = Hyperprosessori
block.logic-display.name = Logiikkanäyttö
block.large-logic-display.name = Iso logiikkanäyttö
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Muistisolu
block.memory-bank.name = Muistipankki
team.malis.name = Malis
@@ -2234,6 +2236,7 @@ block.memory-cell.description = Varastoi tietoa prosessorille.
block.memory-bank.description = Varastoi tietoa prosessorille. Suuri kapasiteetti.
block.logic-display.description = Näyttää mielivaltaista ggrafiikkaa prosessorista.
block.large-logic-display.description = Näyttää mielivaltaista ggrafiikkaa prosessorista.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Massiivinen sähkömagneettinen raidetykkitorni. Kiihdyttää ytimiä pakonopeuteen interplanetaarista leviämistä varten.
block.repair-turret.description = Korjaa jatkuvasti lähintä vahingoittunutta yksikköä lähellään. Käyttää vaihtoehtoisesti jäähdytysnestettä.
block.core-bastion.description = Tukikohdan ydin. Panssaroitu. Mikäli tuhottu, sektori on menetetty.
@@ -1083,6 +1083,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] pagbabawas ng pinsala
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min ng bilis
ability.stat.duration = [stat]{0} sec[lightgray] na tagal
ability.stat.buildtime = [stat]{0} sec[lightgray] oras na pagbuo
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Pinapayag lang ang Cire Depositing
@@ -1949,6 +1950,7 @@ block.logic-processor.name = Logic Processor
block.hyper-processor.name = Hyper Processor
block.logic-display.name = Logic Display
block.large-logic-display.name = Malaking Logic Display
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Memory Cell
block.memory-bank.name = Memory Bank
team.malis.name = Malis
@@ -2239,6 +2241,7 @@ block.memory-cell.description = Stores information for a logic processor.
block.memory-bank.description = Stores information for a logic processor. High capacity.
block.logic-display.description = Displays arbitrary graphics from a logic processor.
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
+3
View File
@@ -1102,6 +1102,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Seul le dépôt de ressources dans le Noyau est autorisé
bar.drilltierreq = Meilleure Foreuse Requise
@@ -1971,6 +1972,7 @@ block.logic-processor.name = Processeur
block.hyper-processor.name = Hyper Processeur
block.logic-display.name = Écran
block.large-logic-display.name = Grand Écran
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Cellule de mémoire
block.memory-bank.name = Banque de mémoire
@@ -2270,6 +2272,7 @@ block.memory-cell.description = Stocke des informations pour un processeur logiq
block.memory-bank.description = Stocke des informations pour un processeur logique. Possède une plus grande capacité.
block.logic-display.description = Affiche des images à partir des instructions d'un processeur logique.
block.large-logic-display.description = Affiche des images à partir des instructions d'un processeur logique. Possède une plus grande résolution qu'un écran.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Un énorme canon électromagnétique à rails. Accélère les Noyaux pour qu'ils échappent à la gravité de leur planète et leur permettent un déploiement interplanétaire.
block.repair-turret.description = Répare en continu l'unité endommagée la plus proche dans son périmètre. Accepte le liquide de refroidissement en option.
+3
View File
@@ -1109,6 +1109,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] sebzéscsökkentés
ability.stat.minspeed = [stat]{0} mező/mp[lightgray] min. sebesség
ability.stat.duration = [stat]{0} mp[lightgray] időtartam
ability.stat.buildtime = [stat]{0} mp[lightgray] építési idő
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Nyersanyagtárolás csak a támaszpontban
bar.drilltierreq = Erősebb fúró szükséges
@@ -1981,6 +1982,7 @@ block.logic-processor.name = Logikai processzor
block.hyper-processor.name = Hiperprocesszor
block.logic-display.name = Logikai kijelző
block.large-logic-display.name = Nagy logikai kijelző
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Memóriacella
block.memory-bank.name = Memóriabank
@@ -2280,6 +2282,7 @@ block.memory-cell.description = Információt tárol egy logikai processzor szá
block.memory-bank.description = Információt tárol egy logikai processzor számára. Nagy kapacitású.
block.logic-display.description = Tetszőleges ábrákat jelenít meg egy logikai processzor alapján.
block.large-logic-display.description = Tetszőleges ábrákat jelenít meg egy logikai processzor alapján.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Hatalmas elektromágneses sínágyútorony. Képes a támaszpontokat szökési sebességre gyorsítani a bolygóközi bevetéshez.
block.repair-turret.description = Folyamatosan javítja a hatósugarában lévő legközelebbi sérült egységet. Opcionálisan elfogad hűtőfolyadékot.
@@ -1110,6 +1110,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] pengurangan kerusakan
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] kecepatan minimal
ability.stat.duration = [stat]{0} sec[lightgray] durasi
ability.stat.buildtime = [stat]{0} sec[lightgray] waktu membangun
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Hanya Penyetoran Inti yang Diizinkan
bar.drilltierreq = Membutuhkan Bor yang Lebih Baik
@@ -1982,6 +1983,7 @@ block.logic-processor.name = Prosesor Logika
block.hyper-processor.name = Prosesor Raksasa
block.logic-display.name = Tampilan Logika
block.large-logic-display.name = Tampilan Logika Besar
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Sel Memori
block.memory-bank.name = Bank Memori
@@ -2281,6 +2283,7 @@ block.memory-cell.description = Menyimpan informasi untuk prosesor.
block.memory-bank.description = Menyimpan informasi untuk prosesor. Berkapasitas besar.
block.logic-display.description = Menampilkan grafik sembarang dari prosesor.
block.large-logic-display.description = Menampilkan grafik sembarang dari prosesor. Lebih besar.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Sebuah menara railgun elektromagnetik raksasa. Meluncurkan Inti dengan kecepatan tinggi untuk peluncuran antarplanet.
block.repair-turret.description = Memulihkan unit terdekat yang sekarat dalam jangkauan secara terus-menerus. Dapat menerima pendingin (Opsional).
+3
View File
@@ -1082,6 +1082,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Concesso solo il deposito al nucleo
@@ -1949,6 +1950,7 @@ block.logic-processor.name = Processore Logico
block.hyper-processor.name = Iper Processore
block.logic-display.name = Display Logico
block.large-logic-display.name = Grande Display Logico
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Cella di Memoria
block.memory-bank.name = Banca di Memoria
team.malis.name = Malis
@@ -2240,6 +2242,7 @@ block.memory-cell.description = Imagazzina le informazioni elaborate dai process
block.memory-bank.description = Imagazzina le informazioni elaborate dai processori. Alta capacità.
block.logic-display.description = Visualizza la grafica arbitraria elaborata dal processore.
block.large-logic-display.description = Visualizza la grafica arbitraria elaborata dal processore.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Una massiccia torre che utilizza potenti campi elettromagnetici. Accelera nuclei fino alla velocità di fuga per un impiego interplanetario.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
+3
View File
@@ -1088,6 +1088,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = コアにのみ搬入できます。
@@ -1952,6 +1953,7 @@ block.logic-processor.name = ロジックプロセッサー
block.hyper-processor.name = ハイパープロセッサー
block.logic-display.name = ロジックディスプレイ
block.large-logic-display.name = 大型ロジックディスプレイ
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = メモリーセル
block.memory-bank.name = メモリーバンク
team.malis.name = マリス
@@ -2244,6 +2246,7 @@ block.memory-cell.description = 情報を格納します。
block.memory-bank.description = より多くの情報を格納します。
block.logic-display.description = プロセッサからの任意のグラフィックを表示します。
block.large-logic-display.description = プロセッサからの任意のグラフィックを表示します。
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = 巨大な電磁レールガンタワーです。別惑星への展開のためにコアを重力圏脱出可能速度まで加速します。
block.repair-turret.description = 範囲内の損傷したブロックを近い順に継続的に修復します。オプションで冷却液を活用できます。
block.core-bastion.description = 基本的な堅いコアです。一度破壊されると、セクターを失います。破壊されないようにしましょう。
+3
View File
@@ -1109,6 +1109,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] 피해 감소
ability.stat.minspeed = [stat]{0} tiles/초[lightgray] 최소 속도
ability.stat.duration = [stat]{0} 초[lightgray] 지속 시간
ability.stat.buildtime = [stat]{0} 초[lightgray] 건설 시간
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = 코어에만 투입할 수 있습니다
bar.drilltierreq = 더 좋은 드릴 필요
@@ -1981,6 +1982,7 @@ block.logic-processor.name = 로직 프로세서
block.hyper-processor.name = 하이퍼 프로세서
block.logic-display.name = 로직 디스플레이
block.large-logic-display.name = 대형 로직 디스플레이
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = 메모리 셀
block.memory-bank.name = 메모리 보관소
@@ -2280,6 +2282,7 @@ block.memory-cell.description = 프로세서를 위한 데이터를 저장합니
block.memory-bank.description = 프로세서를 위한 데이터를 저장합니다. 큰 용량을 지니고 있습니다.
block.logic-display.description = 프로세서를 이용해 임의로 그래픽을 출력할 수 있습니다.
block.large-logic-display.description = 프로세서를 이용해 임의로 그래픽을 출력할 수 있습니다.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = 거대한 전자기 레일건 타워. 행성 간 이동을 위한 탈출 속도까지 코어를 가속합니다.
block.repair-turret.description = 피해를 입은 가장 가까운 유닛을 지속적으로 수리합니다. 선택적으로 냉각수를 넣을 수 있습니다.
+3
View File
@@ -1077,6 +1077,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Only Core Depositing Allowed
@@ -1939,6 +1940,7 @@ block.logic-processor.name = Loginis Procesorius
block.hyper-processor.name = Hiper Procesorius
block.logic-display.name = Logic Display
block.large-logic-display.name = Large Logic Display
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Memory Cell
block.memory-bank.name = Memory Bank
team.malis.name = Malis
@@ -2229,6 +2231,7 @@ block.memory-cell.description = Stores information for a logic processor.
block.memory-bank.description = Stores information for a logic processor. High capacity.
block.logic-display.description = Displays arbitrary graphics from a logic processor.
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
+3
View File
@@ -1089,6 +1089,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Alleen materialen in de Core toegestaan.
@@ -1952,6 +1953,7 @@ block.logic-processor.name = Logic Processor
block.hyper-processor.name = Hyper Processor
block.logic-display.name = Logic Display
block.large-logic-display.name = Large Logic Display
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Memory Cell
block.memory-bank.name = Memory Bank
team.malis.name = Malis
@@ -2242,6 +2244,7 @@ block.memory-cell.description = Stores information for a logic processor.
block.memory-bank.description = Stores information for a logic processor. High capacity.
block.logic-display.description = Displays arbitrary graphics from a logic processor.
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
@@ -1077,6 +1077,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Only Core Depositing Allowed
@@ -1939,6 +1940,7 @@ block.logic-processor.name = Logic Processor
block.hyper-processor.name = Hyper Processor
block.logic-display.name = Logic Display
block.large-logic-display.name = Large Logic Display
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Memory Cell
block.memory-bank.name = Memory Bank
team.malis.name = Malis
@@ -2229,6 +2231,7 @@ block.memory-cell.description = Stores information for a logic processor.
block.memory-bank.description = Stores information for a logic processor. High capacity.
block.logic-display.description = Displays arbitrary graphics from a logic processor.
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
+3
View File
@@ -1086,6 +1086,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] redukcja uszkodzeń
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sek[lightgray] czas trwania
ability.stat.buildtime = [stat]{0} sek[lightgray] czas budowy
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Dozwolone jest tylko przeniesienie z rdzenia
@@ -1959,6 +1960,7 @@ block.logic-processor.name = Procesor Logiczny
block.hyper-processor.name = Hiperprocesor
block.logic-display.name = Wyświetlacz Logiczny
block.large-logic-display.name = Duży Wyświetlacz Logiczny
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Komórka Pamięci
block.memory-bank.name = Bank Pamięci
team.malis.name = Malis
@@ -2250,6 +2252,7 @@ block.memory-cell.description = Przechowuje dane dla procesora.
block.memory-bank.description = Przechowuje dane dla procesora. Duża pojemność.
block.logic-display.description = Wyświetla obraz z procesora.
block.large-logic-display.description = Wyświetla obraz z procesora.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Masywna elektromagnetyczna wieża. Przyspiesza rdzeń do prędkości ucieczki by wylądować na innych planetach.
block.repair-turret.description = Na bieżąco naprawia najbliższą uszkodzoną jednostkę w jej sąsiedztwie. Opcjonalnie akceptuje chłodziwo.
block.core-bastion.description = Rdzeń bazy. Uzbrojony. Po zniszczeniu tracisz sektor.
@@ -1108,6 +1108,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Somente depósito no núcleo permitido
bar.drilltierreq = Broca melhor necessária.
@@ -1969,6 +1970,7 @@ block.logic-processor.name = Processador Lógico
block.hyper-processor.name = Hiper Processador
block.logic-display.name = Monitor Lógico
block.large-logic-display.name = Monitor Lógico Grande
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Célula de Memória
block.memory-bank.name = Banco de Memória
@@ -2269,6 +2271,7 @@ block.memory-cell.description = Guarda informações para um processador lógico
block.memory-bank.description = Guarda informações para um processador lógico. Capacidade alta.
block.logic-display.description = Exibe gráficos arbitrários de um processador lógico.
block.large-logic-display.description = Exibe gráficos arbitrários de um processador lógico.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Uma enorme torre eletromagnética. Acelera a velocidade de fuga dos núcleos para o desdobramento interplanetário.
block.repair-turret.description = Conserta continuamente a unidade danificada mais próxima a ela. Opcionalmente, aceita líquido refrigerante.
@@ -1104,6 +1104,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] redução de dano
ability.stat.minspeed = [stat]{0} blocos/seg.[lightgray] velocidade mínima
ability.stat.duration = [stat]{0} seg.[lightgray] duração
ability.stat.buildtime = [stat]{0} seg.[lightgray] tempo de construção
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Depósito no núcleo permitido apenas
bar.drilltierreq = Melhor broca necessária
@@ -1986,6 +1987,7 @@ block.logic-processor.name = Processador Lógico
block.hyper-processor.name = Hiper-processador
block.logic-display.name = Ecrã Lógico
block.large-logic-display.name = Ecrã Lógico Grande
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Célula de Memória
block.memory-bank.name = Banco de Memória
team.malis.name = Malis
@@ -2289,6 +2291,7 @@ block.memory-cell.description = Guarda informações para um processador lógico
block.memory-bank.description = Guarda informações para um processador lógico. Capacidade alta.
block.logic-display.description = Exibe gráficos arbitrários de um processador lógico.
block.large-logic-display.description = Exibe gráficos arbitrários de um processador lógico.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Uma enorme torre eletromagnética. Acelera a velocidade de fuga dos núcleos para o desdobramento interplanetário.
block.repair-turret.description = Conserta continuamente a unidade danificada mais próxima a ela. Opcionalmente, aceita líquido refrigerante.
+3
View File
@@ -1088,6 +1088,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Only Core Depositing Allowed
@@ -1952,6 +1953,7 @@ block.logic-processor.name = Procesor Logic
block.hyper-processor.name = Hiperprocesor
block.logic-display.name = Monitor Logic
block.large-logic-display.name = Monitor Logic Mare
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Celulă de Memorie
block.memory-bank.name = Bancă de Memorie
team.malis.name = Malis
@@ -2244,6 +2246,7 @@ block.memory-cell.description = Stochează informație pt un procesor.
block.memory-bank.description = Stochează informație pt un procesor. Capacitate mare.
block.logic-display.description = Afișează grafica transmisă de un procesor logic.
block.large-logic-display.description = Afișează grafica transmisă de un procesor logic.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Un turn masiv cu o armă railgun electromagnetică. Accelerează nucleele la viteză cosmică pt lansare interplanetară.
block.repair-turret.description = Repară încontinuu cea mai deteriorată unitate din vecinătate. Poate accepta răcitor.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
+3
View File
@@ -1091,6 +1091,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] снижение урона
ability.stat.minspeed = [stat]{0} плиток/сек[lightgray] минимальная скорость
ability.stat.duration = [stat]{0} сек[lightgray] продолжительность
ability.stat.buildtime = [stat]{0} сек[lightgray] время постройки
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Доступен перенос только в ядро
@@ -1957,6 +1958,7 @@ block.logic-processor.name = Логический процессор
block.hyper-processor.name = Гипер процессор
block.logic-display.name = Логический дисплей
block.large-logic-display.name = Большой логический дисплей
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Ячейка памяти
block.memory-bank.name = Блок памяти
team.malis.name = Малис
@@ -2251,6 +2253,7 @@ block.memory-cell.description = Хранит информацию для лог
block.memory-bank.description = Хранит информацию для логического процессора. Большая ёмкость.
block.logic-display.description = Отображает произвольную графику из логического процессора.
block.large-logic-display.description = Отображает произвольную графику из логического процессора.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Массивная электромагнитная башня-рельсотрон. Ускоряет ядро, позволяя преодолеть гравитацию для межпланетного развёртывания.
block.repair-turret.description = Непрерывно ремонтирует ближайшую поврежденную единицу в своем радиусе. Опционально использует охлаждающую жидкость.
block.core-bastion.description = Ядро базы. Бронировано. После уничтожения, весь контакт с регионом теряется.
+3
View File
@@ -1090,6 +1090,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Dozvoljeno Dostavljanje Samo Unutar Jezgra
@@ -1954,6 +1955,7 @@ block.logic-processor.name = Logički Procesor
block.hyper-processor.name = Hiper Procesor
block.logic-display.name = Logički Displej
block.large-logic-display.name = Veliki Logički Displej
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Memorijska Ćelija
block.memory-bank.name = Memorijska Banka
team.malis.name = Baštovan
@@ -2247,6 +2249,7 @@ block.memory-cell.description = Stores information for a logic processor.
block.memory-bank.description = Stores information for a logic processor. High capacity.
block.logic-display.description = Displays arbitrary graphics from a logic processor.
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.core-bastion.description = Jezgro baze. Oklopljeno. Jednom uništeno gubi se sektor.
+3
View File
@@ -1077,6 +1077,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Only Core Depositing Allowed
@@ -1939,6 +1940,7 @@ block.logic-processor.name = Logic Processor
block.hyper-processor.name = Hyper Processor
block.logic-display.name = Logic Display
block.large-logic-display.name = Large Logic Display
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Memory Cell
block.memory-bank.name = Memory Bank
team.malis.name = Malis
@@ -2229,6 +2231,7 @@ block.memory-cell.description = Stores information for a logic processor.
block.memory-bank.description = Stores information for a logic processor. High capacity.
block.logic-display.description = Displays arbitrary graphics from a logic processor.
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
+3
View File
@@ -1091,6 +1091,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] ความเสียห
ability.stat.minspeed = [stat]{0} ช่อง/วิ[lightgray] ความเร็วต่ำสุด
ability.stat.duration = [stat]{0} วิ[lightgray] ระยะเวลา
ability.stat.buildtime = [stat]{0} วิ[lightgray] ความในการสร้าง
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = ขนย้ายทรัพยากรลงแกนกลางได้เท่านั้น
@@ -1956,6 +1957,7 @@ block.logic-processor.name = ตัวประมวลผลลอจิก
block.hyper-processor.name = ตัวประมวลผลไฮเปอร์
block.logic-display.name = หน้าจอลอจิก
block.large-logic-display.name = หน้าจอลอจิกขนาดใหญ่
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = เซลล์ความจำ
block.memory-bank.name = ธนาคารความจำ
@@ -2257,6 +2259,7 @@ block.memory-cell.description = เก็บข้อมูลเป็นตั
block.memory-bank.description = เก็บข้อมูลเป็นตัวเลขสำหรับตัวประมวลผลลอจิกไว้สื่อสารกันไปมา มีพื้นที่เยอะมาก
block.logic-display.description = แสดงกราฟิกโดยควบคุมจากตัวประมวลผลลอจิก
block.large-logic-display.description = แสดงกราฟิกโดยควบคุมจากตัวประมวลผลลอจิก มีขนาดใหญ่กว่า
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = หอคอยเรลกันแม่เหล็กไฟฟ้าขนาดมหึมา เร่งความเร็วแกนกลางเพื่อบินสู่อวกาศไปยังดาวเคราะห์อื่นๆ
block.repair-turret.description = ซ่อมแซมยูนิตที่อยู่ในรัศมีของมันอย่างต่อเนื่อง สามารถใช้ของเหลวมาหล่อเย็นเพื่อเพิ่มประสิทธิภาพได้
+3
View File
@@ -1077,6 +1077,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction
ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed
ability.stat.duration = [stat]{0} sec[lightgray] duration
ability.stat.buildtime = [stat]{0} sec[lightgray] build time
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Only Core Depositing Allowed
@@ -1939,6 +1940,7 @@ block.logic-processor.name = Logic Processor
block.hyper-processor.name = Hyper Processor
block.logic-display.name = Logic Display
block.large-logic-display.name = Large Logic Display
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Memory Cell
block.memory-bank.name = Memory Bank
team.malis.name = Malis
@@ -2229,6 +2231,7 @@ block.memory-cell.description = Stores information for a logic processor.
block.memory-bank.description = Stores information for a logic processor. High capacity.
block.logic-display.description = Displays arbitrary graphics from a logic processor.
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
+3
View File
@@ -1087,6 +1087,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] hasar indüksiyonu
ability.stat.minspeed = [stat]{0} blok/sn[lightgray] min hız
ability.stat.duration = [stat]{0} sn[lightgray] süre
ability.stat.buildtime = [stat]{0} sn[lightgray] inşa süresi
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Sadece Merkeze Aktarım Mümkün
bar.drilltierreq = Daha Güçlü Matkap Gerekli
@@ -1952,6 +1953,7 @@ block.logic-processor.name = İşlemci
block.hyper-processor.name = Hiper İşlemci
block.logic-display.name = Ekran
block.large-logic-display.name = Büyük Ekran
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Bellek Hücresi
block.memory-bank.name = Bellek Bankası
team.malis.name = Malis
@@ -2244,6 +2246,7 @@ block.memory-cell.description = Bilgi saklar.
block.memory-bank.description = Bilgi saklar. Yüksek kapasiteye sahiptir.
block.logic-display.description = Bir işlemciden bilgi alarak grafik gösteririr.
block.large-logic-display.description = Bir işlemciden bilgi alarak grafik gösteririr.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Gezegenler Arası ulaşım şimdi parmaklarının ucunda...
block.repair-turret.description = Sürekli en yakın birimi tamir eder. Soğutucu kullanabilir.
block.core-bastion.description = Ana Merkez. Güçlendirilmiş. Yok edildiğinde sektör kaybedilir.
@@ -1098,6 +1098,7 @@ ability.stat.damagereduction = [lightgray]Зменшення шкоди: [stat]{
ability.stat.minspeed = [lightgray]Мінімальна швидкість: [stat]{0} плиток за сек.
ability.stat.duration = [lightgray]Тривалість: [stat]{0} за сек.
ability.stat.buildtime = [lightgray]Час побудови: [stat]{0} за сек.
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Передача предметів дозволена лише до ядра
bar.drilltierreq = Потрібен ліпший бур
@@ -1965,6 +1966,7 @@ block.logic-processor.name = Логічний процесор
block.hyper-processor.name = Гіперпроцесор
block.logic-display.name = Логічний дисплей
block.large-logic-display.name = Великий логічний дисплей
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Комірка пам’яті
block.memory-bank.name = Блок пам’яті
@@ -2267,6 +2269,7 @@ block.memory-cell.description = Англійська назва: Memory Cell\nЗ
block.memory-bank.description = Англійська назва: Memory Bank\nЗберігає інформацію для логічного процесора. Висока місткість.
block.logic-display.description = Англійська назва: Logic Display\nПоказує довільну графіку з логічного процесора.
block.large-logic-display.description = Англійська назва: Large Logic Display\nПоказує довільну графіку з логічного процесора.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Англійська назва: Interplanetary Accelerator\nВелика електромагнітна башта-рейкотрон. Прискорює ядра, щоби подолати планетне тяжіння для міжпланетного розгортання.
block.repair-turret.description = Англійська назва: Repair Turret\nБезпервно ремонтує найближчу пошкоджену одиницю. Для прискорення ремонтування можна охолодити.
+3
View File
@@ -1109,6 +1109,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] giảm sát thương
ability.stat.minspeed = tốc độ tối thiểu [stat]{0} ô/giây[lightgray]
ability.stat.duration = thời hạn [stat]{0} giây[lightgray]
ability.stat.buildtime = thời gian xây [stat]{0} giây[lightgray]
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = Chỉ được phép đưa vào lõi
bar.drilltierreq = Cần máy khoan tốt hơn
@@ -1981,6 +1982,7 @@ block.logic-processor.name = Bộ xử lý trung cấp
block.hyper-processor.name = Bộ xử lý siêu cấp
block.logic-display.name = Màn hình hiển thị
block.large-logic-display.name = Màn hình hiển thị lớn
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = Ô bộ nhớ
block.memory-bank.name = Khối bộ nhớ
@@ -2280,6 +2282,7 @@ block.memory-cell.description = Lưu trữ thông tin cho bộ xử lý.
block.memory-bank.description = Lưu trữ thông tin cho bộ xử lý. Dung lượng cao.
block.logic-display.description = Hiển thị đồ họa tùy ý từ bộ xử lý.
block.large-logic-display.description = Hiển thị đồ họa tùy ý từ bộ xử lý.
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = Tòa tháp súng điện từ cỡ lớn. Tăng tốc vật phóng đến vận tốc thoát để triển khai giữa các hành tinh.
block.repair-turret.description = Sửa chữa những đơn vị bị hư hỏng trong khu vực nhất định. Tùy chọn làm mát để tăng hiệu quả.
@@ -1099,6 +1099,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] 伤害减免
ability.stat.minspeed = [stat]{0} 格/秒[lightgray] 最低速度
ability.stat.duration = [stat]{0} 秒[lightgray] 持续时间
ability.stat.buildtime = [stat]{0} 秒[lightgray] 建造时间
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = 仅核心可丢入资源
@@ -1970,6 +1971,7 @@ block.logic-processor.name = 逻辑处理器
block.hyper-processor.name = 超核处理器
block.logic-display.name = 逻辑显示屏
block.large-logic-display.name = 大型逻辑显示屏
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = 内存元
block.memory-bank.name = 内存库
@@ -2270,6 +2272,7 @@ block.memory-cell.description = 存储处理器的信息。
block.memory-bank.description = 存储处理器的信息。 容量更大。
block.logic-display.description = 显示处理器中绘制的各种图像。
block.large-logic-display.description = 显示处理器中绘制的各种图像。
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = 一个巨大的电磁轨道加速器。 将核心加速至逃逸速度以进行星际部署。
block.repair-turret.description = 持续修复范围内受损的单位。 可以用冷却液强化。
@@ -1100,6 +1100,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray]傷害減免
ability.stat.minspeed = [stat]{0} 格/秒[lightgray]最低速度
ability.stat.duration = [stat]{0} 秒[lightgray]持續時間
ability.stat.buildtime = [stat]{0} 秒[lightgray]建造時間
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = 僅允許向核心放置物品
@@ -1970,6 +1971,7 @@ block.logic-processor.name = 邏輯處理器
block.hyper-processor.name = 超級處理器
block.logic-display.name = 顯示器
block.large-logic-display.name = 大型顯示器
block.tile-logic-display.name = Tiled Logic Display
block.memory-cell.name = 記憶單元
block.memory-bank.name = 記憶體
@@ -2266,6 +2268,7 @@ block.memory-cell.description = 為邏輯處理器儲存資料。
block.memory-bank.description = 為邏輯處理器儲存資料。具備更大容量。
block.logic-display.description = 顯示由處理器輸出的任意圖像。
block.large-logic-display.description = 顯示由處理器輸出的任意圖像。
block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks.
block.interplanetary-accelerator.description = 巨大的電磁砲塔。將核心加速至脫離速度以在其他星球部署。
block.repair-turret.description = 持續修復最靠近的受損單位。能使用冷卻劑。
block.core-bastion.description = 基地的核心。具有裝甲。一旦所有基地核心被摧毀,此區域即戰敗。
+1
View File
@@ -599,3 +599,4 @@
63083=landing-pad|block-landing-pad-ui
63082=stone-vent|block-stone-vent-ui
63081=basalt-vent|block-basalt-vent-ui
63080=tile-logic-display|block-tile-logic-display-ui
Binary file not shown.
+5 -1
View File
@@ -158,7 +158,7 @@ public class Blocks{
payloadConveyor, payloadRouter, reinforcedPayloadConveyor, reinforcedPayloadRouter, payloadMassDriver, largePayloadMassDriver, smallDeconstructor, deconstructor, constructor, largeConstructor, payloadLoader, payloadUnloader,
//logic
message, switchBlock, microProcessor, logicProcessor, hyperProcessor, largeLogicDisplay, logicDisplay, memoryCell, memoryBank,
message, switchBlock, microProcessor, logicProcessor, hyperProcessor, largeLogicDisplay, logicDisplay, logicDisplayTile, memoryCell, memoryBank,
canvas, reinforcedMessage,
worldProcessor, worldCell, worldMessage, worldSwitch,
@@ -6596,6 +6596,10 @@ public class Blocks{
size = 6;
}};
logicDisplayTile = new TileableLogicDisplay("tile-logic-display"){{
requirements(Category.logic, with(Items.lead, 10, Items.silicon, 10, Items.metaglass, 10, Items.phaseFabric, 6));
}};
canvas = new CanvasBlock("canvas"){{
requirements(Category.logic, BuildVisibility.shown, with(Items.silicon, 10, Items.beryllium, 10));
@@ -169,7 +169,6 @@ public class SerpuloTechTree{
});
});
//logic disabled until further notice
node(microProcessor, () -> {
node(switchBlock, () -> {
node(message, () -> {
@@ -177,6 +176,10 @@ public class SerpuloTechTree{
node(largeLogicDisplay, () -> {
});
node(logicDisplayTile, () -> {
});
});
node(memoryCell, () -> {
+1 -5
View File
@@ -969,11 +969,7 @@ public class LExecutor{
if(Vars.headless) return;
if(target.building() instanceof LogicDisplayBuild d && (d.team == exec.team || exec.privileged)){
if(d.commands.size + exec.graphicsBuffer.size < maxDisplayBuffer){
for(int i = 0; i < exec.graphicsBuffer.size; i++){
d.commands.addLast(exec.graphicsBuffer.items[i]);
}
}
d.flushCommands(exec.graphicsBuffer);
exec.graphicsBuffer.clear();
}
}
@@ -13,6 +13,7 @@ import mindustry.annotations.Annotations.*;
import mindustry.ctype.*;
import mindustry.gen.*;
import mindustry.graphics.*;
import mindustry.logic.*;
import mindustry.ui.*;
import mindustry.world.*;
import mindustry.world.meta.*;
@@ -65,7 +66,7 @@ public class LogicDisplay extends Block{
}
public class LogicDisplayBuild extends Building{
public FrameBuffer buffer;
public @Nullable FrameBuffer buffer;
public float color = Color.whiteFloatBits;
public float stroke = 1f;
public LongQueue commands = new LongQueue(256);
@@ -87,12 +88,34 @@ public class LogicDisplay extends Block{
}
});
processCommands();
Draw.blend(Blending.disabled);
Draw.draw(Draw.z(), () -> {
if(buffer != null){
Draw.rect(Draw.wrap(buffer.getTexture()), x, y, buffer.getWidth() * scaleFactor * Draw.scl, -buffer.getHeight() * scaleFactor * Draw.scl);
}
});
Draw.blend();
}
public void flushCommands(LongSeq graphicsBuffer){
int added = Math.min(graphicsBuffer.size, LExecutor.maxDisplayBuffer - commands.size);
for(int i = 0; i < added; i++){
commands.addLast(graphicsBuffer.items[i]);
}
}
public void processCommands(){
//don't bother processing commands if displays are off
if(!commands.isEmpty()){
if(!commands.isEmpty() && buffer != null){
Draw.draw(Draw.z(), () -> {
if(buffer == null) return;
Tmp.m1.set(Draw.proj());
Tmp.m2.set(Draw.trans());
Draw.proj(0, 0, displaySize, displaySize);
Draw.proj(0, 0, buffer.getWidth(), buffer.getHeight());
if(transform != null){
Draw.trans(transform);
}
@@ -148,14 +171,6 @@ public class LogicDisplay extends Block{
Draw.reset();
});
}
Draw.blend(Blending.disabled);
Draw.draw(Draw.z(), () -> {
if(buffer != null){
Draw.rect(Draw.wrap(buffer.getTexture()), x, y, buffer.getWidth() * scaleFactor * Draw.scl, -buffer.getHeight() * scaleFactor * Draw.scl);
}
});
Draw.blend();
}
@Override
@@ -0,0 +1,287 @@
package mindustry.world.blocks.logic;
import arc.*;
import arc.graphics.*;
import arc.graphics.g2d.*;
import arc.graphics.gl.*;
import arc.math.geom.*;
import arc.scene.ui.layout.*;
import arc.struct.*;
import arc.util.*;
import mindustry.*;
import mindustry.annotations.Annotations.*;
import mindustry.graphics.*;
import mindustry.world.*;
import static mindustry.Vars.*;
public class TileableLogicDisplay extends LogicDisplay{
protected static final Seq<TileableLogicDisplayBuild> queue = new Seq<>();
protected static final Seq<TileableLogicDisplayBuild> displays = new Seq<>();
protected static final ObjectSet<FrameBuffer> buffers = new ObjectSet<>();
protected static final IntSet processed = new IntSet();
//in tiles
public int maxDisplayDimensions = 12;
public @Load(value = "@-#", length = 47) TextureRegion[] tileRegion;
public @Load("@-back") TextureRegion backRegion;
static final int[] bitmasks = {
39, 36, 39, 36, 27, 16, 27, 24, 39, 36, 39, 36, 27, 16, 27, 24,
38, 37, 38, 37, 17, 41, 17, 43, 38, 37, 38, 37, 26, 21, 26, 25,
39, 36, 39, 36, 27, 16, 27, 24, 39, 36, 39, 36, 27, 16, 27, 24,
38, 37, 38, 37, 17, 41, 17, 43, 38, 37, 38, 37, 26, 21, 26, 25,
3, 4, 3, 4, 15, 40, 15, 20, 3, 4, 3, 4, 15, 40, 15, 20,
5, 28, 5, 28, 29, 10, 29, 23, 5, 28, 5, 28, 31, 11, 31, 32,
3, 4, 3, 4, 15, 40, 15, 20, 3, 4, 3, 4, 15, 40, 15, 20,
2, 30, 2, 30, 9, 46, 9, 22, 2, 30, 2, 30, 14, 44, 14, 6,
39, 36, 39, 36, 27, 16, 27, 24, 39, 36, 39, 36, 27, 16, 27, 24,
38, 37, 38, 37, 17, 41, 17, 43, 38, 37, 38, 37, 26, 21, 26, 25,
39, 36, 39, 36, 27, 16, 27, 24, 39, 36, 39, 36, 27, 16, 27, 24,
38, 37, 38, 37, 17, 41, 17, 43, 38, 37, 38, 37, 26, 21, 26, 25,
3, 0, 3, 0, 15, 42, 15, 12, 3, 0, 3, 0, 15, 42, 15, 12,
5, 8, 5, 8, 29, 35, 29, 33, 5, 8, 5, 8, 31, 34, 31, 7,
3, 0, 3, 0, 15, 42, 15, 12, 3, 0, 3, 0, 15, 42, 15, 12,
2, 1, 2, 1, 9, 45, 9, 19, 2, 1, 2, 1, 14, 18, 14, 13,
};
public TileableLogicDisplay(String name){
super(name);
displaySize = 32;
}
public static void linkDisplays(TileableLogicDisplayBuild start){
TileableLogicDisplayBuild root = null;
int topX = start.tile.x, topY = start.tile.y, botX = start.tile.x, botY = start.tile.y;
queue.clear();
displays.clear();
processed.clear();
queue.add(start);
displays.add(start);
while(!queue.isEmpty()){
var next = queue.pop();
processed.add(next.id);
//assign root based on bottom leftmost position
if(root == null || next.tile.x < root.tile.x || next.tile.y < root.tile.y){
root = next;
}
topX = Math.max(next.tile.x, topX);
topY = Math.max(next.tile.y, topY);
botX = Math.min(next.tile.x, botX);
botY = Math.min(next.tile.y, botY);
for(var prox : next.proximity){
if(prox instanceof TileableLogicDisplayBuild disp && processed.add(disp.id)){
queue.add(disp);
displays.add(disp);
}
}
}
if(root.prevBuffers == null){
root.prevBuffers = new Seq<>();
}
//add all new buffers
buffers.clear();
for(var member : displays){
if(member.buffer != null && buffers.add(member.buffer)){
root.prevBuffers.add(new MergeBuffer(member.buffer, member.originX, member.originY, member.tilesWidth, member.tilesHeight));
}
}
int tilesWidth = topX - botX + 1, tilesHeight = topY - botY + 1;
//the new root display has been assigned
for(var member : displays){
member.needsUpdate = false;
member.rootDisplay = root;
member.tilesWidth = tilesWidth;
member.tilesHeight = tilesHeight;
member.originX = botX;
member.originY = botY;
member.buffer = null;
}
}
static class MergeBuffer{
FrameBuffer buffer;
int x, y, width, height;
MergeBuffer(FrameBuffer buffer, int x, int y, int width, int height){
this.buffer = buffer;
this.x = x;
this.y = y;
this.width = width;
this.height = height;
}
@Override
public String toString(){
return "MergeBuffer{" +
"x=" + x +
", y=" + y +
", width=" + width +
", height=" + height +
'}';
}
}
public class TileableLogicDisplayBuild extends LogicDisplayBuild{
//bottom left corner of display
public TileableLogicDisplayBuild rootDisplay = this;
//size of display area
public int tilesWidth = 1, tilesHeight = 1, originX, originY;
public @Nullable Seq<MergeBuffer> prevBuffers;
public int bits = 0;
public boolean needsUpdate = false;
@Override
public void display(Table table){
super.display(table);
if(tilesWidth > maxDisplayDimensions || tilesHeight > maxDisplayDimensions){
table.row().add(Core.bundle.format("bar.displaytoolarge", maxDisplayDimensions, maxDisplayDimensions)).color(Color.scarlet).growX().wrap();
}
}
@Override
public void onProximityUpdate(){
super.onProximityUpdate();
bits = 0;
for(int i = 0; i < 8; i++){
Tile other = tile.nearby(Geometry.d8(i));
if(other != null && other.block() == block && other.team() == team){
bits |= (1 << i);
}
}
}
@Override
public void draw(){
//TODO if this is called before draw() on the root display is called, it will wipe it
if(needsUpdate){
needsUpdate = false;
linkDisplays(this);
}
Draw.rect(backRegion, x, y);
//don't even bother processing anything when displays are off.
if(!Vars.renderer.drawDisplays) return;
if(isRoot()){
Draw.draw(Draw.z(), () -> {
if(buffer == null && tilesWidth <= maxDisplayDimensions && tilesHeight <= maxDisplayDimensions){
buffer = new FrameBuffer(32 * tilesWidth, 32 * tilesHeight);
Tmp.m1.set(Draw.proj());
Tmp.m2.set(Draw.trans());
Draw.proj(0, 0, buffer.getWidth(), buffer.getHeight());
//clear the buffer - some OSs leave garbage in it
buffer.begin(Pal.darkerMetal);
if(prevBuffers != null){
for(var other : prevBuffers){
Draw.rect(Draw.wrap(other.buffer.getTexture()), (other.x - originX) * 32 + other.buffer.getWidth()/2f, (other.y - originY) * 32 + other.buffer.getHeight()/2f, other.buffer.getWidth(), -other.buffer.getHeight());
Draw.flush();
}
}
buffer.end();
Draw.proj(Tmp.m1);
Draw.trans(Tmp.m2);
Draw.reset();
}
if(prevBuffers != null){
for(var other : prevBuffers){
if(!other.buffer.isDisposed()){
other.buffer.dispose();
}
}
prevBuffers.clear();
}
});
processCommands();
}
float offset = 0.001f + (rootDisplay.buffer == null ? 0f : (rootDisplay.buffer.hashCode() % 1_000_000) / 1_000_000f * 0.01f);
Draw.z(Layer.block + offset);
Draw.blend(Blending.disabled);
Draw.draw(Draw.z(), () -> {
if(rootDisplay.buffer != null){
int rtx = (tile.x - originX), rty = (tile.y - originY);
Tmp.tr1.set(rootDisplay.buffer.getTexture(), rtx * 32, rty * 32, 32, 32);
Draw.rect(Tmp.tr1, x, y, tilesize, -tilesize);
}
});
Draw.blend();
Draw.z(Layer.block + 0.02f);
Draw.rect(tileRegion[bitmasks[bits]], x, y);
}
@Override
public void flushCommands(LongSeq graphicsBuffer){
if(isRoot()){
super.flushCommands(graphicsBuffer);
}else{
rootDisplay.flushCommands(graphicsBuffer);
}
}
public void updateOthers(){
for(int i = 0; i < 4; i++){
Tile other = tile.nearby(Geometry.d8edge(i));
if(other != null && other.block() == block && other.team() == team){
other.build.onProximityUpdate();
}
}
}
@Override
public void onProximityAdded(){
super.onProximityAdded();
needsUpdate = true;
updateOthers();
}
@Override
public void onProximityRemoved(){
super.onProximityRemoved();
processed.clear();
for(var other : proximity){
if(other instanceof TileableLogicDisplayBuild tl && !processed.contains(tl.id)){
tl.needsUpdate = true;
}
}
updateOthers();
}
public boolean isRoot(){
return rootDisplay == this;
}
}
}