From 9a88426ff75e38b9d691d2b2201228d79629aec6 Mon Sep 17 00:00:00 2001 From: Xelo Date: Thu, 17 Dec 2020 11:39:08 +1100 Subject: [PATCH 1/4] raw strings for SurfaceShaders (#4004) * SurfaceShaders thing * Update core/src/mindustry/graphics/Shaders.java spacing fix Co-authored-by: Antsiferov Andrew * star import Co-authored-by: Antsiferov Andrew --- core/src/mindustry/graphics/Shaders.java | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/core/src/mindustry/graphics/Shaders.java b/core/src/mindustry/graphics/Shaders.java index ac3aef896c..c72aa9e5b1 100644 --- a/core/src/mindustry/graphics/Shaders.java +++ b/core/src/mindustry/graphics/Shaders.java @@ -1,6 +1,7 @@ package mindustry.graphics; import arc.*; +import arc.files.*; import arc.graphics.*; import arc.graphics.Texture.*; import arc.graphics.g2d.*; @@ -225,11 +226,18 @@ public class Shaders{ } } - public static class SurfaceShader extends LoadShader{ - + public static class SurfaceShader extends Shader{ public SurfaceShader(String frag){ - super(frag, "screenspace"); + super(getShaderFi("screenspace.vert"), getShaderFi(frag + ".frag")); + loadNoise(); + } + public SurfaceShader(String vertRaw, String fragRaw){ + super(vertRaw, fragRaw); + loadNoise(); + } + + public void loadNoise(){ Core.assets.load("sprites/noise.png", Texture.class).loaded = t -> { ((Texture)t).setFilter(TextureFilter.linear); ((Texture)t).setWrap(TextureWrap.repeat); @@ -252,9 +260,12 @@ public class Shaders{ } public static class LoadShader extends Shader{ - public LoadShader(String frag, String vert){ - super(Core.files.internal("shaders/" + vert + ".vert"), Core.files.internal("shaders/" + frag + ".frag")); + super(getShaderFi(vert + ".vert"), getShaderFi(frag + ".frag")); } } + + public static Fi getShaderFi(String file){ + return Core.files.internal("shaders/" + file); + } } From bd85d1d7ca75ab9e4279b26133510a8fccd42138 Mon Sep 17 00:00:00 2001 From: Thomas Widyantoko <40286070+DaGamerFiles@users.noreply.github.com> Date: Thu, 17 Dec 2020 07:40:52 +0700 Subject: [PATCH 2/4] update in_ID translation (#4003) * update in_ID translation * weather graphics setting suggestion from Discord --- core/assets/bundles/bundle_in_ID.properties | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/assets/bundles/bundle_in_ID.properties b/core/assets/bundles/bundle_in_ID.properties index 702138cd6c..48c2a8c5fd 100644 --- a/core/assets/bundles/bundle_in_ID.properties +++ b/core/assets/bundles/bundle_in_ID.properties @@ -13,6 +13,7 @@ link.google-play.description = Google Play Store link.f-droid.description = Daftar katalog F-Droid link.wiki.description = Wiki Mindustry resmi link.suggestions.description = Saran fitur baru +link.bug.description = Menemukan bug? Laporkan di sini linkfail = Gagal membuka tautan!\nURL disalin ke papan ke papan klip. screenshot = Tangkapan layar disimpan di {0} screenshot.invalid = Peta terlalu besar, tidak cukup memori untuk menangkap layar. @@ -196,6 +197,7 @@ servers.local = Server Lokal servers.remote = Server Jarak Jauh (Simpanan) servers.global = Server Komunitas +servers.disclaimer = Server komunitas [accent]tidak[] dimiliki atau diatur oleh pengembang.\n\nServer dapat berisi konten buatan pemain lain yang mungkin tidak sesuai untuk semua umur. servers.showhidden = Tampilkan Server Tersembunyi server.shown = Ditampilkan server.hidden = Disembunyikan @@ -831,6 +833,7 @@ setting.chatopacity.name = Jelas-Beningnya Pesan setting.lasersopacity.name = Jelas-Beningnya Tenaga Laser setting.bridgeopacity.name = Jelas-Beningnya Jembatan setting.playerchat.name = Tunjukkan Pesan dalam Permainan +setting.showweather.name = Perlihatkan Cuaca public.confirm = Apakah kamu ingin mempublikasi permainanmu?\n[accent]Siapa saja bisa masuk ke permainanmu.\n[lightgray]Ini bisa diganti di Peraturan->Permainan->Visibilitas Game Publik. public.beta = Ingat bahwa game versi beta tidak dapat membuat lobi publik. uiscale.reset = Skala UI telah diubah.\nTekan "OK" untuk mengonfirmasi.\n[scarlet]Kembali dan keluar di[accent] {0}[] pengaturan... @@ -1414,7 +1417,6 @@ block.vault.description = Menyimpan semua tipe item berkuantitas besar. [lightgr block.container.description = Menyimpan semua tipe item. [lightgray] pembongkar muatan[] bisa digunakan untuk mengeluarkan item dari kontainer. block.unloader.description = Mengeluarkan item dari kontainer, gudang atau inti kedalam pengantar atau langsung ke blok yang dituju. Tipe item yang dimuat bisa diganti dengan mengetuk pembongkar muatan. block.launch-pad.description = Meluncurkan beberapa item tanpa meninggalkan tempat. -block.launch-pad-large.description = Sebuah alas luncur yang ditingkatkan. Menyimpan lebih banyak item dan lebih sering meluncur. block.duo.description = Menembakkan peluru bergantian ke musuh. block.scatter.description = Menembakkan gumpalan timah, rongsokan atau metaglass ke musuh udara. block.scorch.description = Membakar musuh darat yang dekat dengannya. Sangat efektif dalam jarak dekat. From b12cac7b308cfe073782a66cd46cec885e9374bf Mon Sep 17 00:00:00 2001 From: Angel_24 <57916262+Angel-24@users.noreply.github.com> Date: Thu, 17 Dec 2020 01:41:07 +0100 Subject: [PATCH 3/4] Update bundle_es.properties (#4002) * Update bundle_es.properties * Update bundle_es.properties * Update bundle_es.properties * Update bundle_es.properties * Update bundle_es.properties * Tweaks from a newer pull request Added changes based on the Frankz30's Pull request: [ https://github.com/Anuken/Mindustry/pull/3879#issue-534932998 ] * Added translations for wheather graphics and report bugs options --- core/assets/bundles/bundle_es.properties | 50 +++++++++++++----------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index c846b1fcfd..6e68a8f3b9 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -13,6 +13,7 @@ link.google-play.description = Ver en Google Play Store link.f-droid.description = Página de F-Droid del juego link.wiki.description = Wiki oficial de Mindustry link.suggestions.description = Sugerir nuevas funciones +link.bug.description = ¿Encontraste un error? Puedes reportarlo aquí linkfail = ¡Error al abrir el enlace!\nLa URL ha sido copiada a su portapapeles. screenshot = Captura de pantalla guardada en {0} screenshot.invalid = Mapa demasiado grande, no hay suficiente memoria para la captura de pantalla. @@ -33,12 +34,12 @@ load.system = Sistema load.mod = Mods load.scripts = Scripts -be.update = Una nueva e innovadora versión disponible: +be.update = Hay una nueva versión disponible: be.update.confirm = ¿Descargar y reiniciar ahora? be.updating = Actualizando... be.ignore = Ignorar be.noupdates = No se encontraron actualizaciones. -be.check = Revisando actualizaciones +be.check = Buscar actualizaciones schematic = Plantilla schematic.add = Guardar plantilla... @@ -54,7 +55,7 @@ schematic.copy.import = Importar desde el portapapeles. schematic.shareworkshop = Compartir en el Steam Workshop schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Girar plantilla schematic.saved = Plantilla guardada. -schematic.delete.confirm = Esta plantilla será completamente borrada. +schematic.delete.confirm = Se borrará ésta plantilla. schematic.rename = Renombrar plantilla schematic.info = {0}x{1}, {2} bloques schematic.disabled = [scarlet]Plantillas desactivadas.[]\nNo puedes usar plantillas en este [accent]mapa[] o [accent]servidor. @@ -75,12 +76,12 @@ level.highscore = Puntuación más alta: [accent]{0} level.select = Selección de nivel level.mode = Modo de juego: coreattack = < ¡El núcleo está bajo ataque! > -nearpoint = [[ [scarlet]ABANDONA EL PUNTO DE APARICIÓN INMEDIATAMENTE[] ]\nAniquilación inminente +nearpoint = [[ [scarlet]ABANDONA EL PUNTO DE APARICIÓN INMEDIATAMENTE[] ]\nRiesgo de aniquilación inminente database = Base de datos savegame = Guardar Partida loadgame = Cargar Partida -joingame = Unirse a la Partida -customgame = Partida personalizada +joingame = Unirse a Partida +customgame = Crear Partida newgame = Nueva Partida none = minimap = Minimapa @@ -103,7 +104,7 @@ committingchanges = Confirmando Cambios done = Hecho feature.unsupported = Tu dispositivo no es compatible con esta función. -mods.alphainfo = Ten en cuenta que los mods estan en versión Alpha, y[scarlet] pueden tener varios problemas[].\nReporta cualquier error que encuentres en la página de GitHub de Mindustry o Discord. +mods.alphainfo = Ten en cuenta que los mods estan en fase Alpha, y[scarlet] pueden tener varios errores[].\nReporta cualquier error que encuentres en la página de GitHub de Mindustry. mods = Mods mods.none = [lightgray]¡No se encontraron Mods! mods.guide = Guía de Modding @@ -180,9 +181,9 @@ server.kicked.serverRestarting = Se esta reiniciando el servidor. server.versions = Tu versión:[accent] {0}[]\nVersión del servidor:[accent] {1}[] host.info = El botón [accent]host[] crea un servidor en el puerto [scarlet]6567[]. \nCualquier persona en la misma [lightgray]wifi []o [lightgray]red local[] debería poder ver tu servidor en la lista de servidores.\n\nSi quieres que cualquier persona se pueda conectar de cualquier lugar mediante IP, se requiere [accent]asignación de puertos[].\n\n[lightgray]Nota: Si alguien experimenta problemas conectándose a tu partida LAN, asegúrate de permitir a Mindustry acceso a tu red local mediante la configuración de tu firewall. join.info = Aquí, puedes escribir la [accent]IP de un servidor[] para conectarte, o descubrir servidores en tu [accent]red local[] para conectarte.\nTambién se puede jugar multijugador en redes LAN y WAN.\n\n[lightgray]Nota: No hay una lista automática global de servidores; si quieres conectarte por IP, tendrás que preguntarle al anfitrión por la IP. -hostserver = Crear Servidor +hostserver = Abrir Partida invitefriends = Invitar Amigos -hostserver.mobile = Crear\nPartida +hostserver.mobile = Abrir\nPartida host = Servidor hosting = [accent]Abriendo servidor... hosts.refresh = Actualizar @@ -225,7 +226,7 @@ confirmvotekick = ¿Estás de acuerdo en expulsar este jugador? confirmunban = ¿Quieres desbanear a este jugador? confirmadmin = ¿Quieres hacer administrador a este jugador? confirmunadmin = ¿Quieres quitar los permisos de administrador a este jugador? -joingame.title = Unirse a la partida +joingame.title = Unirse a Partida joingame.ip = IP: disconnect = Desconectado. disconnect.error = Error en la conexión. @@ -317,22 +318,22 @@ saveimage = Guardar Imagen unknown = Desconocido custom = Personalizado builtin = Incorporado -map.delete.confirm = ¿Estás seguro de querer borrar este mapa? ¡Recuerda que está acción no se puede deshacer! +map.delete.confirm = ¿Quieres borrar este mapa? ¡Recuerda que esta acción no se puede deshacer! map.random = [accent]Mapa Aleatorio map.nospawn = ¡Este mapa no tiene ningún núcleo en que pueda aparecer el jugador! Agrega un núcleo[accent] naranja[] al mapa con el editor. -map.nospawn.pvp = ¡Este mapa no tiene ningún núcleo enemigo para que aparezca el jugador! Añade un núcleo[scarlet] "de otro color"[] a este mapa en el editor. +map.nospawn.pvp = ¡Este mapa no tiene ningún núcleo enemigo para que aparezcan otros jugadores! Añade un núcleo[scarlet] "de otro color"[] a este mapa en el editor. map.nospawn.attack = ¡Este mapa no tiene núcleos a los que los jugadores deban atacar! Añade núcleos[scarlet] rojos[] a este mapa en el editor. map.invalid = Error cargando el mapa: archivo corrupto o inválido. workshop.update = Actualizar artículo workshop.error = Error al obtener detalles del Steam Workshop: {0} -map.publish.confirm = ¿Estás seguro de que deseas publicar este mapa?\n\n[lightgray]¡Asegúrese de aceptar primero el EULA del Steam Workshop, o sus mapas no aparecerán! -workshop.menu = Seleccione lo que le gustaría hacer con este artículo. +map.publish.confirm = ¿Deseas publicar este mapa?\n\n[lightgray]¡Asegúrate de aceptar primero el EULA del Steam Workshop, o tus mapas no aparecerán! +workshop.menu = Selecciona lo que quieres hacer con este artículo. workshop.info = Información del artículo changelog = Lista de cambios (optional): eula = EULA de Steam -missing = Este artículo ha sido movido o eliminado.\n[lightgray]La lista del taller ahora se ha desvinculado automáticamente. +missing = Este artículo ha sido movido o eliminado.\n[lightgray]La lista del Workshop se ha desvinculado automáticamente. publishing = [accent]Publicando... -publish.confirm = ¿Estás seguro de que quieres publicar esto?\n\n[lightgray]¡Asegúrese de aceptar primero el EULA del Steam Workshop, o sus artículos no aparecerán! +publish.confirm = ¿Estás seguro de que quieres publicar esto?\n\n[lightgray]¡Asegúrate de aceptar primero el EULA del Steam Workshop, o tus artículos no aparecerán! publish.error = Error publicando el artículo: {0} steam.error = Error al inicializar los servicios de Steam.\nError: {0} @@ -477,7 +478,7 @@ width = Ancho: height = Alto: menu = Menú play = Jugar -campaign = Campaña +campaign = Continuar Campaña load = Cargar save = Guardar fps = FPS: {0} @@ -832,11 +833,12 @@ setting.chatopacity.name = Opacidad del Chat setting.lasersopacity.name = Opacidad del Laser de Nodos de Energía setting.bridgeopacity.name = Opacidad de Puentes Transportadores setting.playerchat.name = Mostrar el chat de burbuja +setting.showweather.name = Efectos visuales climáticos public.confirm = ¿Quieres hacer pública tu partida?\n[lightgray]Esto se puede cambiar más tarde en "Configuración->Juego->Visibilidad pública de la partida". public.beta = Recuerda que no puedes crear partidas públicas en las versiones beta del juego. uiscale.reset = La escala de la interfaz ha sido modificada.\nPulsa "OK" para conservar esta escala.\n[scarlet]Se desharán los cambios automáticamente en [accent] {0}[] segundos... uiscale.cancel = Cancelar y Salir -setting.bloom.name = Desenfoque de movimiento +setting.bloom.name = Desenfoque de iluminación keybind.title = Cambiar accesos de teclado keybinds.mobile = [scarlet]Los accesos del teclado aquí mostrados no estan disponible en Móviles o Tablets. Solo aceptan movimiento básico. category.general.name = General @@ -912,12 +914,12 @@ keybind.zoom_minimap.name = Zoom del minimapa mode.help.title = Descripción de modos mode.survival.name = Supervivencia mode.survival.description = El modo normal. Recursos limitados y oleadas automáticas. -mode.sandbox.name = Modo Libre +mode.sandbox.name = Modo libre mode.sandbox.description = Recursos ilimitados y sin temporizador para las oleadas. mode.editor.name = Editor mode.pvp.name = JcJ mode.pvp.description = Pelea contra otros jugadores localmente. -mode.attack.name = Ataque +mode.attack.name = Batalla mode.attack.description = No hay oleadas, el objetivo es destruir la base enemiga. mode.custom = Normas personalizadas @@ -1197,7 +1199,7 @@ block.surge-wall.name = Muro de Sobretensión block.surge-wall-large.name = Muro de Sobretensión grande block.cyclone.name = Cyclone block.fuse.name = Fuse -block.shock-mine.name = Mina electrizante +block.shock-mine.name = Mina eléctrica block.overdrive-projector.name = Proyector de Aceleración block.force-projector.name = Proyector de Escudo block.arc.name = Arc @@ -1282,8 +1284,10 @@ hint.generator = Los \uf879[accent]Generadores de combustión[] querman carbón hint.guardian = Los [accent]Guardianes[] poseen una robusta armadura. Municiones débiles como el [accent]Cobre[] o el [accent]Plomo[] no son [scarlet]effectivas[] contra él.\n\nUsa torretas de mayor categoría o por ejemplo, munición de \uf835[accent]Grafito[] \uf861Duo/\uf859 en torretas Salvo para derribar a los Guardianes. hint.coreUpgrade = Los núcleos se pueden mejorar [accent]construyendo núcleos de mayor calidad encima[].\n\nColoca un  núcleo [accent]Foundation[] sobre el  núcleo [accent]Shard[]. Asegúrate de que no hay obstáculos cerca. hint.presetLaunch = Las zonas de aterrizaje de los [accent]sectores grises[], como el [accent]Bosque Congelado[], son accesibles desde cualquier lugar. No requieren capturar sectores adyacentes.\n\nLos [accent]sectores numerados[], como este, son [accent]opcionales[]. +hint.coreIncinerate = Tras completar la capacidad máxima de almacenamiento en el núcleo para un tipo de objeto, cualquier recurso adicional de ese tipo que reciba el núcleo será [accent]incinerado[]. +hint.coopCampaign = Sí estás jugando el modo [accent]campaña en multijugador[], los objetos producidos en el mapa actual también se enviarán [accent]a los sectores locales de cada jugador[].\n\nCualquier nueva investigación tecnológica realizada por el anfitrión también se desbloqueará para los demás jugadores. -item.copper.description = Un útil material de estructura. Usado en todo tipo de bloques. +item.copper.description = Un práctico material de estructura. Usado en todo tipo de bloques. item.copper.details = Cobre. Metal anormalmente abundante en Serpulo. Estructuralmente débil a menos que sea reforzado. item.lead.description = Un material básico. Usado en electrónicos y transferencia de líquidos. item.lead.details = Denso. Inerte. Extensamente usado en baterías.\nNota: Suele ser tóxico para la mayoría de formas de vida biológicas. Aunque ya no quedan muchas de esas por aquí. @@ -1453,7 +1457,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 desde un procesador lógico. block.large-logic-display.description = También muestra gráficos arbitrarios desde un procesador lógico. -block.interplanetary-accelerator.description = Una torre de proyección electromagnética masiva. Puede acelerar los núcleos hasta la velocidad necesaria para su desplegación interplanetaria. +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. unit.dagger.description = Dispara proyectiles básicos a enemigos cercanos. unit.mace.description = Lanza torrentes de llamas a enemigos cercanos. From 8bc349b68c8895692a13fe2de80b5f07df58d6af Mon Sep 17 00:00:00 2001 From: DeltaNedas <39013340+DeltaNedas@users.noreply.github.com> Date: Thu, 17 Dec 2020 00:42:48 +0000 Subject: [PATCH 4/4] add @commanded for units (#3870) --- core/src/mindustry/entities/comp/UnitComp.java | 1 + core/src/mindustry/logic/LAccess.java | 1 + 2 files changed, 2 insertions(+) diff --git a/core/src/mindustry/entities/comp/UnitComp.java b/core/src/mindustry/entities/comp/UnitComp.java index 77e96bc0bc..e66c1131ec 100644 --- a/core/src/mindustry/entities/comp/UnitComp.java +++ b/core/src/mindustry/entities/comp/UnitComp.java @@ -133,6 +133,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I case mineY -> mining() ? mineTile.y : -1; case flag -> flag; case controlled -> controller instanceof LogicAI || controller instanceof Player ? 1 : 0; + case commanded -> controller instanceof FormationAI ? 1 : 0; case payloadCount -> self() instanceof Payloadc pay ? pay.payloads().size : 0; default -> 0; }; diff --git a/core/src/mindustry/logic/LAccess.java b/core/src/mindustry/logic/LAccess.java index ab1d7ca687..0daf9ae83f 100644 --- a/core/src/mindustry/logic/LAccess.java +++ b/core/src/mindustry/logic/LAccess.java @@ -34,6 +34,7 @@ public enum LAccess{ type, flag, controlled, + commanded, name, config, payloadCount,