From 8626082068b4d75120a9e8500b88d74c808608ab Mon Sep 17 00:00:00 2001 From: Redstonneur1256 <29004178+Redstonneur1256@users.noreply.github.com> Date: Sun, 9 Feb 2025 18:10:45 +0100 Subject: [PATCH 1/2] Allow markers to be used as light sources (#9733) * Allow markers to be used as light sources * Better light source markers * Move PointMarker drawLight to LightMarker * Add a rule for unit lights * Optimize marker rendering * Update core/assets/bundles/bundle.properties --------- Co-authored-by: Anuken --- core/assets/bundles/bundle.properties | 2 + core/src/mindustry/core/Renderer.java | 48 ++++++---- .../mindustry/editor/MapObjectivesDialog.java | 5 + core/src/mindustry/game/MapMarkers.java | 95 ++++++++++++++----- core/src/mindustry/game/MapObjectives.java | 86 ++++++++++++++--- core/src/mindustry/game/Rules.java | 2 + .../mindustry/graphics/MinimapRenderer.java | 10 +- core/src/mindustry/logic/LExecutor.java | 1 + core/src/mindustry/logic/LMarkerControl.java | 1 + core/src/mindustry/logic/LogicRule.java | 1 + core/src/mindustry/type/UnitType.java | 2 +- .../ui/dialogs/CustomRulesDialog.java | 11 ++- 12 files changed, 196 insertions(+), 68 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 4613532a31..677fd1ee88 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1438,8 +1438,10 @@ rules.title.unit = Units rules.title.experimental = Experimental rules.title.environment = Environment rules.title.teams = Teams +rules.title.light = Lighting rules.title.planet = Planet rules.lighting = Lighting +rules.lighting.unitlight = Unit Lighting rules.fog = Fog of War rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/src/mindustry/core/Renderer.java b/core/src/mindustry/core/Renderer.java index 00fb77bfaf..b7b8d3243e 100644 --- a/core/src/mindustry/core/Renderer.java +++ b/core/src/mindustry/core/Renderer.java @@ -320,6 +320,37 @@ public class Renderer implements ApplicationListener{ } } + //draw objective markers + float scaleFactor = 4f / renderer.getDisplayScale(); + state.rules.objectives.eachRunning(obj -> { + for(var marker : obj.markers){ + if(marker.world != -1){ + marker.draw(marker.autoscale ? scaleFactor : 1); + } + } + }); + + for(var marker : state.markers.worldMarkers){ + marker.draw(marker.autoscale ? scaleFactor : 1); + } + Draw.reset(); + + lights.add(() -> { + state.rules.objectives.eachRunning(obj -> { + for(var marker : obj.markers){ + if(marker.light != -1){ + marker.drawLight(marker.autoscale ? scaleFactor : 1); + } + } + }); + + for(var marker : state.markers.lightMarkers){ + marker.drawLight(marker.autoscale ? scaleFactor : 1); + } + + Draw.reset(); + }); + if(state.rules.lighting && drawLight){ Draw.draw(Layer.light, lights::draw); } @@ -353,23 +384,6 @@ public class Renderer implements ApplicationListener{ }); } - float scaleFactor = 4f / renderer.getDisplayScale(); - - //draw objective markers - state.rules.objectives.eachRunning(obj -> { - for(var marker : obj.markers){ - if(marker.world){ - marker.draw(marker.autoscale ? scaleFactor : 1); - } - } - }); - - for(var marker : state.markers){ - if(marker.world){ - marker.draw(marker.autoscale ? scaleFactor : 1); - } - } - Draw.reset(); Draw.draw(Layer.overlayUI, overlays::drawTop); diff --git a/core/src/mindustry/editor/MapObjectivesDialog.java b/core/src/mindustry/editor/MapObjectivesDialog.java index c8f021f214..fd1d60cb11 100644 --- a/core/src/mindustry/editor/MapObjectivesDialog.java +++ b/core/src/mindustry/editor/MapObjectivesDialog.java @@ -302,6 +302,11 @@ public class MapObjectivesDialog extends BaseDialog{ }).growX().fillY(); }); + + setInterpreter(IndexBool.class, int.class, (cont, name, type, field, remover, indexer, get, set) -> { + getInterpreter(Boolean.class).build(cont, name, type, field, remover, indexer, () -> get.get() != -1, v -> set.get(v ? +1 : -1)); + }); + // Special data structure interpreters. // Instantiate default `Seq`s with a reflectively allocated array. setProvider(Seq.class, (type, cons) -> cons.get(new Seq<>(type.element.raw))); diff --git a/core/src/mindustry/game/MapMarkers.java b/core/src/mindustry/game/MapMarkers.java index 3afb6895ee..4bd4193cea 100644 --- a/core/src/mindustry/game/MapMarkers.java +++ b/core/src/mindustry/game/MapMarkers.java @@ -1,42 +1,37 @@ package mindustry.game; +import arc.func.*; import arc.struct.*; import arc.util.*; import mindustry.game.MapObjectives.*; import mindustry.io.*; import java.io.*; -import java.util.*; -public class MapMarkers implements Iterable{ +public class MapMarkers{ /** Maps marker unique ID to marker. */ private IntMap map = new IntMap<>(); - /** Sequential list of markers. This allows for faster iteration than a map. */ - private Seq all = new Seq<>(false); + + public Seq worldMarkers = new Seq<>(false); + public Seq mapMarkers = new Seq<>(false); + public Seq lightMarkers = new Seq<>(false); public void add(int id, ObjectiveMarker marker){ if(marker == null) return; - var prev = map.put(id, marker); - if(prev != null){ - all.set(prev.arrayIndex, marker); - }else{ - all.add(marker); - marker.arrayIndex = all.size - 1; - } + + setMarker(worldMarkers, marker, prev, m -> m.world, (m, i) -> m.world = i); + setMarker(mapMarkers, marker, prev, m -> m.minimap, (m, i) -> m.minimap = i); + setMarker(lightMarkers, marker, prev, m -> m.light, (m, i) -> m.light = i); } public void remove(int id){ var prev = map.remove(id); + if(prev != null){ - if(all.size > prev.arrayIndex + 1){ //there needs to be something above the index to replace it with - all.remove(prev.arrayIndex); - //update its index - all.get(prev.arrayIndex).arrayIndex = prev.arrayIndex; - }else{ - //no sense updating the index of the replaced element when it was not replaced - all.remove(prev.arrayIndex); - } + remove(worldMarkers, prev.world, (m, i) -> m.world = i); + remove(mapMarkers, prev.minimap, (m, i) -> m.minimap = i); + remove(lightMarkers, prev.light, (m, i) -> m.light = i); } } @@ -49,7 +44,7 @@ public class MapMarkers implements Iterable{ } public int size(){ - return all.size; + return map.size; } public void write(DataOutput stream) throws IOException{ @@ -57,16 +52,64 @@ public class MapMarkers implements Iterable{ } public void read(DataInput stream) throws IOException{ - all.clear(); + worldMarkers.clear(); + mapMarkers.clear(); + lightMarkers.clear(); map = JsonIO.readBytes(IntMap.class, ObjectiveMarker.class, (DataInputStream)stream); + for(var entry : map.entries()){ - all.add(entry.value); - entry.value.arrayIndex = all.size - 1; + var marker = entry.value; + + if(marker.world != -1) marker.world = worldMarkers.add(marker).size - 1; + if(marker.minimap != -1) marker.minimap = mapMarkers.add(marker).size - 1; + if(marker.light != -1) marker.light = lightMarkers.add(marker).size - 1; } } - @Override - public Iterator iterator(){ - return all.iterator(); + public interface MarkerSetter{ + void set(ObjectiveMarker marker, int index); } + + public void updateMarker(Seq markers, ObjectiveMarker marker, boolean visible, Intf getter, MarkerSetter setter){ + if((getter.get(marker) != -1) == visible) return; // nothing to change + + if(!visible){ + setter.set(markers.peek(), getter.get(marker)); + markers.remove(getter.get(marker)); + setter.set(marker, -1); + }else{ + setter.set(marker, markers.size); + markers.add(marker); + } + } + + private void setMarker(Seq markers, ObjectiveMarker curr, ObjectiveMarker prev, Intf getter, MarkerSetter setter){ + int currIndex = getter.get(curr); + + if(prev != null && getter.get(prev) != -1){ + int prevIndex = getter.get(prev); + if(currIndex != -1){ + // both markers visible, replace previous with current + setter.set(curr, prevIndex); + markers.set(prevIndex, curr); + }else{ + // previous marker visible but not current + setter.set(markers.peek(), prevIndex); + markers.remove(prevIndex); + } + }else{ + if(currIndex != -1){ + setter.set(curr, markers.size); + markers.add(curr); + } + } + } + + private void remove(Seq markers, int index, MarkerSetter setter){ + if(index != -1){ + setter.set(markers.peek(), index); + markers.remove(index); + } + } + } diff --git a/core/src/mindustry/game/MapObjectives.java b/core/src/mindustry/game/MapObjectives.java index 7f158b264a..144b61bc73 100644 --- a/core/src/mindustry/game/MapObjectives.java +++ b/core/src/mindustry/game/MapObjectives.java @@ -65,7 +65,8 @@ public class MapObjectives implements Iterable, Eachable, Eachable, Eachable world = !Mathf.equal((float)p1, 0f); - case minimap -> minimap = !Mathf.equal((float)p1, 0f); + case world -> state.markers.updateMarker(state.markers.worldMarkers, this, !Mathf.equal((float)p1, 0f), m -> m.world, (m, i) -> m.world = i); + case minimap -> state.markers.updateMarker(state.markers.mapMarkers, this, !Mathf.equal((float)p1, 0f), m -> m.minimap, (m, i) -> m.minimap = i); + case light -> state.markers.updateMarker(state.markers.lightMarkers, this, !Mathf.equal((float)p1, 0f), m -> m.light, (m, i) -> m.light = i); case autoscale -> autoscale = !Mathf.equal((float)p1, 0f); case drawLayer -> drawLayer = (float)p1; } @@ -842,8 +847,13 @@ public class MapObjectives implements Iterable, Eachable, Eachable, Eachable, Eachable radius = (float)p1; + case color -> color.fromDouble(p1); + } + } + } + } + private static void lookupRegion(String name, TextureRegion out){ TextureRegion region = Core.atlas.find(name); if(region.found()){ @@ -1275,6 +1330,11 @@ public class MapObjectives implements Iterable, Eachable { for(var marker : obj.markers){ - if(marker.minimap){ + if(marker.minimap != -1){ marker.draw(1); } } }); - - for(var marker : state.markers){ - if(marker.minimap){ - marker.draw(1); - } + for(var marker : state.markers.mapMarkers){ + marker.draw(1); } + Draw.reset(); Draw.trans(Tmp.m2); } diff --git a/core/src/mindustry/logic/LExecutor.java b/core/src/mindustry/logic/LExecutor.java index 1ba96cc93a..10b7f05b0c 100644 --- a/core/src/mindustry/logic/LExecutor.java +++ b/core/src/mindustry/logic/LExecutor.java @@ -1548,6 +1548,7 @@ public class LExecutor{ } } case ambientLight -> state.rules.ambientLight.fromDouble(value.num()); + case unitLight -> state.rules.unitLight = value.bool(); case solarMultiplier -> state.rules.solarMultiplier = Math.max(value.numf(), 0f); case dragMultiplier -> state.rules.dragMultiplier = Math.max(value.numf(), 0f); case ban -> { diff --git a/core/src/mindustry/logic/LMarkerControl.java b/core/src/mindustry/logic/LMarkerControl.java index c24775af02..4ea274563b 100644 --- a/core/src/mindustry/logic/LMarkerControl.java +++ b/core/src/mindustry/logic/LMarkerControl.java @@ -4,6 +4,7 @@ public enum LMarkerControl{ remove, world("true/false"), minimap("true/false"), + light("true/false"), autoscale("true/false"), pos("x", "y"), endPos("x", "y"), diff --git a/core/src/mindustry/logic/LogicRule.java b/core/src/mindustry/logic/LogicRule.java index b6ca757bb7..f532af6441 100644 --- a/core/src/mindustry/logic/LogicRule.java +++ b/core/src/mindustry/logic/LogicRule.java @@ -15,6 +15,7 @@ public enum LogicRule{ lighting, canGameOver, ambientLight, + unitLight, solarMultiplier, dragMultiplier, ban, diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index 68513a7f58..11fcb1c4b3 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -1547,7 +1547,7 @@ public class UnitType extends UnlockableContent implements Senseable{ } public void drawLight(Unit unit){ - if(lightRadius > 0){ + if(lightRadius > 0 && state.rules.unitLight){ Drawf.light(unit.x, unit.y, lightRadius, lightColor, lightOpacity); } } diff --git a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java index 8c9e1a16c5..3c1c9b0ccc 100644 --- a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java +++ b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java @@ -221,6 +221,11 @@ public class CustomRulesDialog extends BaseDialog{ number("@rules.solarmultiplier", f -> rules.solarMultiplier = f, () -> rules.solarMultiplier); + if(Core.bundle.get("rules.weather").toLowerCase().contains(ruleSearch)){ + current.button("@rules.weather", this::weatherDialog).width(250f).left().row(); + } + + category("light"); if(Core.bundle.get("rules.ambientlight").toLowerCase().contains(ruleSearch)){ current.button(b -> { b.left(); @@ -232,11 +237,7 @@ public class CustomRulesDialog extends BaseDialog{ b.add("@rules.ambientlight"); }, () -> ui.picker.show(rules.ambientLight, rules.ambientLight::set)).left().width(250f).row(); } - - if(Core.bundle.get("rules.weather").toLowerCase().contains(ruleSearch)){ - current.button("@rules.weather", this::weatherDialog).width(250f).left().row(); - } - + check("@rules.lighting.unitlight", b -> rules.unitLight = b, () -> rules.unitLight); category("planet"); if(Core.bundle.get("rules.title.planet").toLowerCase().contains(ruleSearch)){ From 9f2997982d533e6feedf039308ef6b9aea1282e7 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Sun, 9 Feb 2025 17:11:32 +0000 Subject: [PATCH 2/2] Automatic bundle update --- core/assets/bundles/bundle_be.properties | 2 ++ core/assets/bundles/bundle_bg.properties | 2 ++ core/assets/bundles/bundle_ca.properties | 2 ++ core/assets/bundles/bundle_cs.properties | 2 ++ core/assets/bundles/bundle_da.properties | 2 ++ core/assets/bundles/bundle_de.properties | 2 ++ core/assets/bundles/bundle_es.properties | 2 ++ core/assets/bundles/bundle_et.properties | 2 ++ core/assets/bundles/bundle_eu.properties | 2 ++ core/assets/bundles/bundle_fi.properties | 2 ++ core/assets/bundles/bundle_fil.properties | 2 ++ core/assets/bundles/bundle_fr.properties | 2 ++ core/assets/bundles/bundle_hu.properties | 2 ++ core/assets/bundles/bundle_id_ID.properties | 2 ++ core/assets/bundles/bundle_it.properties | 2 ++ core/assets/bundles/bundle_ja.properties | 2 ++ core/assets/bundles/bundle_ko.properties | 2 ++ core/assets/bundles/bundle_lt.properties | 2 ++ core/assets/bundles/bundle_nl.properties | 2 ++ core/assets/bundles/bundle_nl_BE.properties | 2 ++ core/assets/bundles/bundle_pl.properties | 2 ++ core/assets/bundles/bundle_pt_BR.properties | 2 ++ core/assets/bundles/bundle_pt_PT.properties | 2 ++ core/assets/bundles/bundle_ro.properties | 2 ++ core/assets/bundles/bundle_ru.properties | 2 ++ core/assets/bundles/bundle_sr.properties | 2 ++ core/assets/bundles/bundle_sv.properties | 2 ++ core/assets/bundles/bundle_th.properties | 2 ++ core/assets/bundles/bundle_tk.properties | 2 ++ core/assets/bundles/bundle_tr.properties | 2 ++ core/assets/bundles/bundle_uk_UA.properties | 2 ++ core/assets/bundles/bundle_vi.properties | 2 ++ core/assets/bundles/bundle_zh_CN.properties | 2 ++ core/assets/bundles/bundle_zh_TW.properties | 2 ++ 34 files changed, 68 insertions(+) diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index e00d04b2f9..f918cc12f8 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -1403,8 +1403,10 @@ rules.title.unit = Баяв. адз. rules.title.experimental = Эксперыментальны rules.title.environment = Асяродзе rules.title.teams = Кманды +rules.title.light = Lighting rules.title.planet = Планета rules.lighting = Асвятленне +rules.lighting.unitlight = Unit Lighting rules.fog = Туман Вайны rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_bg.properties b/core/assets/bundles/bundle_bg.properties index ec27fb18a1..273cdb4d76 100644 --- a/core/assets/bundles/bundle_bg.properties +++ b/core/assets/bundles/bundle_bg.properties @@ -1420,8 +1420,10 @@ rules.title.unit = Единици rules.title.experimental = Експериментално rules.title.environment = Околна среда rules.title.teams = Отбори +rules.title.light = Lighting rules.title.planet = Планета rules.lighting = Светкавици +rules.lighting.unitlight = Unit Lighting rules.fog = Мъгла на войната rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_ca.properties b/core/assets/bundles/bundle_ca.properties index 1b873694d7..3a09a4c2a6 100644 --- a/core/assets/bundles/bundle_ca.properties +++ b/core/assets/bundles/bundle_ca.properties @@ -1417,8 +1417,10 @@ rules.title.unit = Unitats rules.title.experimental = Experimental rules.title.environment = Entorn rules.title.teams = Equips +rules.title.light = Lighting rules.title.planet = Planeta rules.lighting = Il·luminació +rules.lighting.unitlight = Unit Lighting rules.fog = Amaga el terreny inexplorat rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index 9b4f532c2d..f756cc9afc 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -1419,8 +1419,10 @@ rules.title.unit = Jednotky rules.title.experimental = Experimentální rules.title.environment = Environmentální rules.title.teams = Týmy +rules.title.light = Lighting rules.title.planet = Planeta rules.lighting = Osvětlení +rules.lighting.unitlight = Unit Lighting rules.fog = Fog of War rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index 2aa8e2ee58..4170e2276c 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -1405,8 +1405,10 @@ rules.title.unit = Enheder rules.title.experimental = Eksperimentel rules.title.environment = Miljø rules.title.teams = Teams +rules.title.light = Lighting rules.title.planet = Planet rules.lighting = Lys +rules.lighting.unitlight = Unit Lighting rules.fog = Fog of War rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index 48404d7877..daccea244d 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -1430,8 +1430,10 @@ rules.title.unit = Einheiten rules.title.experimental = Experimentell rules.title.environment = Umgebung rules.title.teams = Teams +rules.title.light = Lighting rules.title.planet = Planet rules.lighting = Blitze +rules.lighting.unitlight = Unit Lighting rules.fog = Kriegsnebel rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index e98b8cc044..fdb83b6289 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -1423,8 +1423,10 @@ rules.title.unit = Unidades rules.title.experimental = Experimental rules.title.environment = Entorno rules.title.teams = Equipos +rules.title.light = Lighting rules.title.planet = Planeta rules.lighting = Iluminación +rules.lighting.unitlight = Unit Lighting rules.fog = Ocultar terreno inexplorado (Fog of War) rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index ef497b9e40..1ba7f8f381 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -1408,8 +1408,10 @@ rules.title.unit = Väeüksused rules.title.experimental = Experimental rules.title.environment = Environment rules.title.teams = Teams +rules.title.light = Lighting rules.title.planet = Planet rules.lighting = Lighting +rules.lighting.unitlight = Unit Lighting rules.fog = Fog of War rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index 63c3bf9c0d..342f7b965d 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -1407,8 +1407,10 @@ rules.title.unit = Unitateak rules.title.experimental = Experimental rules.title.environment = Environment rules.title.teams = Teams +rules.title.light = Lighting rules.title.planet = Planet rules.lighting = Lighting +rules.lighting.unitlight = Unit Lighting rules.fog = Fog of War rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index 1d03cb860d..af333a1883 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -1406,8 +1406,10 @@ rules.title.unit = Yksiköt rules.title.experimental = Kokeellinen rules.title.environment = Ympäristö rules.title.teams = Joukkueet +rules.title.light = Lighting rules.title.planet = Planeetta rules.lighting = Salamointi +rules.lighting.unitlight = Unit Lighting rules.fog = Sodan sumu (Fog of War) rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index 568c3ac56e..60cb2d52cd 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -1412,8 +1412,10 @@ rules.title.unit = Mga Yunit rules.title.experimental = Experimental rules.title.environment = Kapaligiran rules.title.teams = Mga Team +rules.title.light = Lighting rules.title.planet = Planeta rules.lighting = Lighting +rules.lighting.unitlight = Unit Lighting rules.fog = Fog of War rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index b44f39f086..90333cb9a9 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -1431,8 +1431,10 @@ rules.title.unit = Unités rules.title.experimental = Expérimental rules.title.environment = Environnement rules.title.teams = Équipes +rules.title.light = Lighting rules.title.planet = Planète rules.lighting = Éclairage +rules.lighting.unitlight = Unit Lighting rules.fog = Brouillard de Guerre rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index 80dfd6ecd1..f933b76b99 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -1438,8 +1438,10 @@ rules.title.unit = Egységek rules.title.experimental = Kísérleti rules.title.environment = Környezet rules.title.teams = Csapatok +rules.title.light = Lighting rules.title.planet = Bolygó rules.lighting = Világítás +rules.lighting.unitlight = Unit Lighting rules.fog = A háború köde rules.invasions = Ellenséges szektorokból érkező inváziók rules.legacylaunchpads = Hagyományos kilövőállás-mechanizmus diff --git a/core/assets/bundles/bundle_id_ID.properties b/core/assets/bundles/bundle_id_ID.properties index ce0071241a..9882dca95f 100644 --- a/core/assets/bundles/bundle_id_ID.properties +++ b/core/assets/bundles/bundle_id_ID.properties @@ -1438,8 +1438,10 @@ rules.title.unit = Unit rules.title.experimental = Eksperimental rules.title.environment = Lingkungan rules.title.teams = Tim +rules.title.light = Lighting rules.title.planet = Planet rules.lighting = Penerangan +rules.lighting.unitlight = Unit Lighting rules.fog = Kabut Perang rules.invasions = Invasi Sektor Musuh rules.legacylaunchpads = Mekanisme Alas Peluncur Warisan diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index 1fa61a6179..f6041a9cdb 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -1410,8 +1410,10 @@ rules.title.unit = Unità rules.title.experimental = Sperimentale rules.title.environment = Ambiente rules.title.teams = squadre +rules.title.light = Lighting rules.title.planet = pianeta rules.lighting = Illuminazione +rules.lighting.unitlight = Unit Lighting rules.fog = Nebbia di guerra rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index 316fe51292..46dfa4f72d 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -1416,8 +1416,10 @@ rules.title.unit = ユニット rules.title.experimental = 実験的なゲームプレイ rules.title.environment = 環境 rules.title.teams = チーム +rules.title.light = Lighting rules.title.planet = 惑星 rules.lighting = 霧 +rules.lighting.unitlight = Unit Lighting rules.fog = 戦場の霧 rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index d008c03c46..58ec721395 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -1437,8 +1437,10 @@ rules.title.unit = 기체 rules.title.experimental = 실험적인 기능 rules.title.environment = 환경 rules.title.teams = 팀 +rules.title.light = Lighting rules.title.planet = 행성 rules.lighting = 조명 표시 +rules.lighting.unitlight = Unit Lighting rules.fog = 전장의 안개 rules.invasions = 적 지역 침공 rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index 1597ce1da0..400b5f2e54 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -1405,8 +1405,10 @@ rules.title.unit = Vienetai rules.title.experimental = Eksperimentinis rules.title.environment = Environment rules.title.teams = Teams +rules.title.light = Lighting rules.title.planet = Planet rules.lighting = Apšvietimas +rules.lighting.unitlight = Unit Lighting rules.fog = Fog of War rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index 945cfd1642..be57ca93dd 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -1417,8 +1417,10 @@ rules.title.unit = Eenheden rules.title.experimental = Experimenteel rules.title.environment = Omgeving rules.title.teams = Teams +rules.title.light = Lighting rules.title.planet = Planeet rules.lighting = Belichting +rules.lighting.unitlight = Unit Lighting rules.fog = Mist van de Oorlog rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index e40a91b474..a8e97a0561 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -1405,8 +1405,10 @@ rules.title.unit = Units rules.title.experimental = Experimental rules.title.environment = Environment rules.title.teams = Teams +rules.title.light = Lighting rules.title.planet = Planet rules.lighting = Lighting +rules.lighting.unitlight = Unit Lighting rules.fog = Fog of War rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index a44ebe7d35..77ba9cd166 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -1414,8 +1414,10 @@ rules.title.unit = Jednostki rules.title.experimental = Eksperymentalne rules.title.environment = Otoczenie rules.title.teams = Drużyny +rules.title.light = Lighting rules.title.planet = Planet rules.lighting = Oświetlenie +rules.lighting.unitlight = Unit Lighting rules.fog = Mgła Wojny rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index debb1915c9..9e622b450d 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -1435,8 +1435,10 @@ rules.title.unit = Unidades rules.title.experimental = Experimental rules.title.environment = Ambiente rules.title.teams = Times +rules.title.light = Lighting rules.title.planet = Planeta rules.lighting = Iluminação +rules.lighting.unitlight = Unit Lighting rules.fog = Névoa de Guerra rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index 7119604a38..1fef897d95 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -1447,8 +1447,10 @@ rules.title.unit = Unidades rules.title.experimental = Experimental rules.title.environment = Ambiente rules.title.teams = Equipas +rules.title.light = Lighting rules.title.planet = Planeta rules.lighting = Iluminação +rules.lighting.unitlight = Unit Lighting rules.fog = Névoa de guerra rules.invasions = Invasões de Setores Inimigos rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index 971bf0c019..295cde386d 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -1416,8 +1416,10 @@ rules.title.unit = Unități rules.title.experimental = Experimental rules.title.environment = Mediu rules.title.teams = Echipe +rules.title.light = Lighting rules.title.planet = Planet rules.lighting = Luminozitate Ambientală +rules.lighting.unitlight = Unit Lighting rules.fog = Fog of War rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index 858259d648..3af7cbb780 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -1420,8 +1420,10 @@ rules.title.unit = Боевые единицы rules.title.experimental = Экспериментально rules.title.environment = Окружение rules.title.teams = Команды +rules.title.light = Lighting rules.title.planet = Планета rules.lighting = Освещение +rules.lighting.unitlight = Unit Lighting rules.fog = Туман войны rules.invasions = Вторжения врагов на сектора rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_sr.properties b/core/assets/bundles/bundle_sr.properties index f2ccdfae14..069baece74 100644 --- a/core/assets/bundles/bundle_sr.properties +++ b/core/assets/bundles/bundle_sr.properties @@ -1418,8 +1418,10 @@ rules.title.unit = Jedinice rules.title.experimental = Experimental rules.title.environment = Okolina rules.title.teams = Timovi +rules.title.light = Lighting rules.title.planet = Planeta rules.lighting = Osvetljenje +rules.lighting.unitlight = Unit Lighting rules.fog = Magla Rata rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index 8e49899104..df5b9dfe0f 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -1405,8 +1405,10 @@ rules.title.unit = Units rules.title.experimental = Experimental rules.title.environment = Environment rules.title.teams = Teams +rules.title.light = Lighting rules.title.planet = Planet rules.lighting = Lighting +rules.lighting.unitlight = Unit Lighting rules.fog = Fog of War rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index f3f3cf549d..5295139069 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -1419,8 +1419,10 @@ rules.title.unit = ยูนิต rules.title.experimental = ทดลอง rules.title.environment = สิ่งแวดล้อม rules.title.teams = ทีม +rules.title.light = Lighting rules.title.planet = ดาว rules.lighting = แสง +rules.lighting.unitlight = Unit Lighting rules.fog = หมอกแห่งสงคราม rules.invasions = การรุกรานของฐานทัพศัตรู rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index db585ea46b..54e627071e 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -1405,8 +1405,10 @@ rules.title.unit = Units rules.title.experimental = Experimental rules.title.environment = Environment rules.title.teams = Teams +rules.title.light = Lighting rules.title.planet = Planet rules.lighting = Lighting +rules.lighting.unitlight = Unit Lighting rules.fog = Fog of War rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index 72bb544cb4..e7c4f922ab 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -1414,8 +1414,10 @@ rules.title.unit = Birlikler rules.title.experimental = Deneysel rules.title.environment = Çevre rules.title.teams = Takımlar +rules.title.light = Lighting rules.title.planet = Gezegen rules.lighting = Işıklandırma +rules.lighting.unitlight = Unit Lighting rules.fog = Savaş Sisi rules.invasions = Düşman Sektör Saldırıları rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index c121f0a783..c582a7e941 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -1425,8 +1425,10 @@ rules.title.unit = Бойові одиниці rules.title.experimental = Експериментальне rules.title.environment = Середовище rules.title.teams = Команди +rules.title.light = Lighting rules.title.planet = Планета rules.lighting = Світлотінь +rules.lighting.unitlight = Unit Lighting rules.fog = Туман війни rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index d8ee8eb681..014dc7b9ac 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -1438,8 +1438,10 @@ rules.title.unit = Đơn Vị rules.title.experimental = Thử Nghiệm rules.title.environment = Môi Trường rules.title.teams = Đội +rules.title.light = Lighting rules.title.planet = Hành Tinh rules.lighting = Ánh Sáng +rules.lighting.unitlight = Unit Lighting rules.fog = Sương Mù Chiến Tranh rules.invasions = Kẻ Địch Xâm Lược Khu Vực rules.legacylaunchpads = Cơ chế bệ phóng di sản diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index 2dea70d698..760c109596 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -1429,8 +1429,10 @@ rules.title.unit = 单位 rules.title.experimental = 实验性 rules.title.environment = 环境 rules.title.teams = 队伍 +rules.title.light = Lighting rules.title.planet = 星球 rules.lighting = 环境光 +rules.lighting.unitlight = Unit Lighting rules.fog = 战争迷雾 rules.invasions = 敌方区块入侵 rules.legacylaunchpads = 旧版发射台机制 diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index 316460d853..c23e18f369 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -1431,8 +1431,10 @@ rules.title.unit = 單位 rules.title.experimental = 實驗中 rules.title.environment = 環境 rules.title.teams = 分隊 +rules.title.light = Lighting rules.title.planet = 星球 rules.lighting = 光照 +rules.lighting.unitlight = Unit Lighting rules.fog = 戰爭迷霧 rules.invasions = Enemy Sector Invasions rules.legacylaunchpads = Legacy Launch Pad Mechanics