Compare commits

...

5 Commits
v53 ... v54

Author SHA1 Message Date
Anuken
46ab6d3476 Minor fix 2018-09-02 13:33:43 -04:00
Anuken
3fcf3cbf93 Merge remote-tracking branch 'origin/master' 2018-09-02 13:20:58 -04:00
Anuken
ada912c69b Made group error message more specific 2018-09-02 13:20:51 -04:00
Prosta4okua
e204b89eaf Update bundle_ru.properties (#206)
* Update bundle_ru.properties

* Update bundle_ru.properties
2018-09-02 13:20:40 -04:00
Anuken
e903798fc2 Crash report fixes / Mobile mech fixes / Multiplayer fixes 2018-09-02 13:12:45 -04:00
6 changed files with 26 additions and 57 deletions

View File

@@ -26,7 +26,7 @@ allprojects {
appName = 'Mindustry' appName = 'Mindustry'
gdxVersion = '1.9.8' gdxVersion = '1.9.8'
roboVMVersion = '2.3.0' roboVMVersion = '2.3.0'
uCoreVersion = '411d5992f44e320a4292b93323d19f9fe7e3e701' uCoreVersion = '06b465e3385ded22d84f42cb09554352a1d3ad6c'
getVersionString = { getVersionString = {
String buildVersion = getBuildVersion() String buildVersion = getBuildVersion()

View File

@@ -6,8 +6,8 @@ text.link.github.description=Исходный код игры
text.link.dev-builds.description=Нестабильные разработки text.link.dev-builds.description=Нестабильные разработки
text.link.trello.description=Официальная доска trello для запланированных функций text.link.trello.description=Официальная доска trello для запланированных функций
text.link.itch.io.description=itch.io страница с загрузкой ПК и веб-версией text.link.itch.io.description=itch.io страница с загрузкой ПК и веб-версией
text.link.google-play.description=Скачать с Google Play text.link.google-play.description=Скачать для Android
text.link.wiki.description=официальная вики Mindustry text.link.wiki.description=Официальная вики Mindustry(англ.)
text.linkfail=Не удалось открыть ссылку!\nURL-адрес был скопирован в буфер обмена. text.linkfail=Не удалось открыть ссылку!\nURL-адрес был скопирован в буфер обмена.
text.editor.web=Веб-версия не поддерживает редактор!\nЗагрузите игру, чтобы использовать ее. text.editor.web=Веб-версия не поддерживает редактор!\nЗагрузите игру, чтобы использовать ее.
text.web.unsupported=Веб-версия не поддерживает эту функцию! Загрузите игру, чтобы использовать её. text.web.unsupported=Веб-версия не поддерживает эту функцию! Загрузите игру, чтобы использовать её.
@@ -21,6 +21,7 @@ text.level.delete.title=Подтвердите удаление
text.map.delete=Вы действительно хотите удалить карту "[orange]{0}[]"? text.map.delete=Вы действительно хотите удалить карту "[orange]{0}[]"?
text.level.select=Выбор уровня text.level.select=Выбор уровня
text.level.mode=Режим игры: text.level.mode=Режим игры:
text.construction.desktop=Элементы управления на настольных компьютерах были изменены.\nЧтобы отменить выбор блока или остановить строительство, [accent]используйте пробел[].
text.construction.title=Руководство по размещения блоков text.construction.title=Руководство по размещения блоков
text.construction=Вы только что выбрали режим размещения[accent]блоков[].\n\nЧтобы начать размещение, просто коснитесь подходящего местоположения рядом с вашим кораблем.\nПосле того, как вы поставили несколько блоков, нажмите на галочку, чтобы подтвердить, и ваш корабль начнет их строить.\n\n- [accent]Удалите блоки [] из вашего выбора, нажав на них.n- [accent]Нажмите Shift [] и, удерживая, перетащите любой блок в выборе.\n- [accent]Поместите блоки в линию [], нажимая и удерживая пустое место, а затем перетаскивая его в направлении.\n- [accent]Отмените размещение или выбор [], нажав X в левом нижнем углу. text.construction=Вы только что выбрали режим размещения[accent]блоков[].\n\nЧтобы начать размещение, просто коснитесь подходящего местоположения рядом с вашим кораблем.\nПосле того, как вы поставили несколько блоков, нажмите на галочку, чтобы подтвердить, и ваш корабль начнет их строить.\n\n- [accent]Удалите блоки [] из вашего выбора, нажав на них.n- [accent]Нажмите Shift [] и, удерживая, перетащите любой блок в выборе.\n- [accent]Поместите блоки в линию [], нажимая и удерживая пустое место, а затем перетаскивая его в направлении.\n- [accent]Отмените размещение или выбор [], нажав X в левом нижнем углу.
text.deconstruction.title=Руководство по разрушении блоков text.deconstruction.title=Руководство по разрушении блоков
@@ -62,7 +63,6 @@ text.players.single={0} игрок на сервере
text.server.mismatch=Ошибка пакета: возможное несоответствие версии клиента/сервера. Убедитесь, что у вас и у создателя сервера установлена последняя версия Mindustry! text.server.mismatch=Ошибка пакета: возможное несоответствие версии клиента/сервера. Убедитесь, что у вас и у создателя сервера установлена последняя версия Mindustry!
text.server.closing=[accent]Закрытие сервера... text.server.closing=[accent]Закрытие сервера...
text.server.kicked.kick=Вас выгнали с сервера! text.server.kicked.kick=Вас выгнали с сервера!
text.server.kicked.fastShoot=Вы стреляете слишком быстро.
text.server.kicked.serverClose=Сервер закрыт. text.server.kicked.serverClose=Сервер закрыт.
text.server.kicked.sectorComplete=Сектор завершён. text.server.kicked.sectorComplete=Сектор завершён.
text.server.kicked.sectorComplete.text=Ваша миссия завершена.\nТеперь сервер продолжит работу в следующем секторе. text.server.kicked.sectorComplete.text=Ваша миссия завершена.\nТеперь сервер продолжит работу в следующем секторе.
@@ -343,8 +343,9 @@ category.view.name=Просмотр
category.multiplayer.name=Мультиплеер category.multiplayer.name=Мультиплеер
keybind.move_x.name=Движение по x keybind.move_x.name=Движение по x
keybind.move_y.name=Движение по y keybind.move_y.name=Движение по y
keybind.select.name=Выбор keybind.select.name=Выбор/Выстрел
keybind.break.name=Разрушение keybind.break.name=Разрушение
keybind.deselect.name=Отмена
keybind.shoot.name=Выстрел keybind.shoot.name=Выстрел
keybind.zoom_hold.name=Удержание зума keybind.zoom_hold.name=Удержание зума
keybind.zoom.name=Приблизить keybind.zoom.name=Приблизить
@@ -606,6 +607,10 @@ block.thermal-generator.name=Термальный генератор
block.thermal-generator.description=Горячее воспринимает на ура. block.thermal-generator.description=Горячее воспринимает на ура.
block.alloy-smelter.name=Плавильня сплава block.alloy-smelter.name=Плавильня сплава
block.mend-projector.name=Ремонтирующий гранатомёт block.mend-projector.name=Ремонтирующий гранатомёт
block.surge-wall.name=Волновая стена
block.surge-wall-large.name=Большая волновая стена
block.cyclone.name=Циклон
block.fuse.name=Взрыватель
unit.drone.name=Дрон unit.drone.name=Дрон
unit.drone.description=Начальный дрон. По умолчанию появляется из ядра. Автоматически добывает руды, собирает предметы, ремонтирует блоки. unit.drone.description=Начальный дрон. По умолчанию появляется из ядра. Автоматически добывает руды, собирает предметы, ремонтирует блоки.
unit.fabricator.name=Сборщик unit.fabricator.name=Сборщик
@@ -618,48 +623,3 @@ unit.monsoon.name=Муссон
unit.monsoon.description=Тяжелый ковровый бомбардировщик. Использует взрывоопасное соединение или пиратит в качестве боеприпасов. unit.monsoon.description=Тяжелый ковровый бомбардировщик. Использует взрывоопасное соединение или пиратит в качестве боеприпасов.
unit.interceptor.name=Истребитель-перехватчик unit.interceptor.name=Истребитель-перехватчик
unit.interceptor.description=Быстрая и ударная боевая единица, которая использует набег с отскоком. unit.interceptor.description=Быстрая и ударная боевая единица, которая использует набег с отскоком.
content.mech.name=Mechs
mech.alpha-mech.name=Alpha
mech.alpha-mech.weapon=Heavy Repeater
mech.alpha-mech.ability=Drone Swarm
mech.alpha-mech.description=The standard mech. Has decent speed and damage output; can create up to 3 drones for increased offensive capability.
mech.delta-mech.name=Delta
mech.delta-mech.weapon=Arc Generator
mech.delta-mech.ability=Discharge
mech.delta-mech.description=A fast, lightly-armored mech made for hit-and-run attacks. Does little damage against structures, but can kill large groups of enemy units very quickly with its arc lightning weapons.
mech.tau-mech.name=Tau
mech.tau-mech.weapon=Restruct Laser
mech.tau-mech.ability=Repair Burst
mech.tau-mech.description=The support mech. Heals allied blocks by shooting at them. Can extinguish fires and heal allies in a radius with its repair ability.
mech.omega-mech.name=Omega
mech.omega-mech.weapon=Swarm Missiles
mech.omega-mech.ability=Armored Configuration
mech.omega-mech.description=A bulky and well-armored mech, made for front-line assaults. Its armor ability can block up to 90% of incoming damage.
mech.dart-ship.name=Dart
mech.dart-ship.weapon=Repeater
mech.dart-ship.description=The standard ship. Reasonably fast and light, but has little offensive capability and low mining speed.
mech.javelin-ship.name=Javelin
mech.javelin-ship.description=A hit-and-run strike ship. While initially slow, it can accelerate to great speeds and fly by enemy outposts, dealing large amounts of damage with its lightning ability and missiles.
mech.javelin-ship.weapon=Burst Missiles
mech.javelin-ship.ability=Discharge Booster
mech.trident-ship.name=Trident
mech.trident-ship.description=A heavy bomber. Reasonably well armored.
mech.trident-ship.weapon=Bomb Bay
mech.glaive-ship.name=Glaive
mech.glaive-ship.description=A large, well-armored gunship. Equipped with an incendiary repeater. Good acceleration and maximum speed.
mech.glaive-ship.weapon=Flame Repeater
text.mech.weapon=[LIGHT_GRAY]Weapon: {0}
text.mech.armor=[LIGHT_GRAY]Armor: {0}
text.mech.itemcapacity=[LIGHT_GRAY]Item Capacity: {0}
text.mech.minespeed=[LIGHT_GRAY]Mining Speed: {0}
text.mech.minepower=[LIGHT_GRAY]Mining Power: {0}
text.mech.ability=[LIGHT_GRAY]Ability: {0}
block.core.name=Core
block.metalfloor.name=Metal Floor
block.trident-ship-factory.name=Trident Ship Reconstructor
block.glaive-ship-factory.name=Glaive Ship Reconstructor
block.omega-mech-factory.name=Omega Mech Reconstructor
block.tau-mech-factory.name=Tau Mech Reconstructor
block.alloy-smelter.name=Alloy Smtler
block.mend-projector.name=Mend Projector
unit.alpha-drone.name=Alpha Drone

View File

@@ -137,9 +137,9 @@ public class Recipes implements ContentList{
new Recipe(units, UpgradeBlocks.javelinFactory, new ItemStack(Items.lead, 350), new ItemStack(Items.silicon, 450), new ItemStack(Items.titanium, 500), new ItemStack(Items.plastanium, 400), new ItemStack(Items.phasematter, 200)); new Recipe(units, UpgradeBlocks.javelinFactory, new ItemStack(Items.lead, 350), new ItemStack(Items.silicon, 450), new ItemStack(Items.titanium, 500), new ItemStack(Items.plastanium, 400), new ItemStack(Items.phasematter, 200));
new Recipe(units, UpgradeBlocks.glaiveFactory, new ItemStack(Items.lead, 450), new ItemStack(Items.silicon, 650), new ItemStack(Items.titanium, 700), new ItemStack(Items.plastanium, 600), new ItemStack(Items.surgealloy, 200)); new Recipe(units, UpgradeBlocks.glaiveFactory, new ItemStack(Items.lead, 450), new ItemStack(Items.silicon, 650), new ItemStack(Items.titanium, 700), new ItemStack(Items.plastanium, 600), new ItemStack(Items.surgealloy, 200));
new Recipe(units, UpgradeBlocks.tauFactory, new ItemStack(Items.lead, 250), new ItemStack(Items.densealloy, 250), new ItemStack(Items.copper, 250), new ItemStack(Items.silicon, 250)); new Recipe(units, UpgradeBlocks.tauFactory, new ItemStack(Items.lead, 250), new ItemStack(Items.densealloy, 250), new ItemStack(Items.copper, 250), new ItemStack(Items.silicon, 250)).setDesktop();
new Recipe(units, UpgradeBlocks.deltaFactory, new ItemStack(Items.lead, 350), new ItemStack(Items.densealloy, 350), new ItemStack(Items.copper, 400), new ItemStack(Items.silicon, 450), new ItemStack(Items.thorium, 300)); new Recipe(units, UpgradeBlocks.deltaFactory, new ItemStack(Items.lead, 350), new ItemStack(Items.densealloy, 350), new ItemStack(Items.copper, 400), new ItemStack(Items.silicon, 450), new ItemStack(Items.thorium, 300)).setDesktop();
new Recipe(units, UpgradeBlocks.omegaFactory, new ItemStack(Items.lead, 450), new ItemStack(Items.densealloy, 550), new ItemStack(Items.silicon, 650), new ItemStack(Items.thorium, 600), new ItemStack(Items.surgealloy, 240)); new Recipe(units, UpgradeBlocks.omegaFactory, new ItemStack(Items.lead, 450), new ItemStack(Items.densealloy, 550), new ItemStack(Items.silicon, 650), new ItemStack(Items.thorium, 600), new ItemStack(Items.surgealloy, 240)).setDesktop();
//actual unit related stuff //actual unit related stuff
new Recipe(units, UnitBlocks.dronePad, new ItemStack(Items.copper, 70), new ItemStack(Items.lead, 110), new ItemStack(Items.silicon, 130)); new Recipe(units, UnitBlocks.dronePad, new ItemStack(Items.copper, 70), new ItemStack(Items.lead, 110), new ItemStack(Items.silicon, 130));

View File

@@ -163,6 +163,8 @@ public class NetClient extends Module{
@Remote(variants = Variant.both) @Remote(variants = Variant.both)
public static void onWorldDataBegin(){ public static void onWorldDataBegin(){
Entities.clear(); Entities.clear();
netClient.removed.clear();
ui.chatfrag.clearMessages(); ui.chatfrag.clearMessages();
Net.setClientLoaded(false); Net.setClientLoaded(false);

View File

@@ -42,7 +42,7 @@ public class BlockConsumeFragment extends Fragment{
table.update(() -> { table.update(() -> {
if(tile.entity == null){ if(tile.entity == null || state.is(State.menu)){
hide(); hide();
return; return;
} }

View File

@@ -40,14 +40,21 @@ public class CrashHandler{
ex(() -> value.addChild("build", new JsonValue(Version.build))); ex(() -> value.addChild("build", new JsonValue(Version.build)));
ex(() -> value.addChild("net", new JsonValue(fn))); ex(() -> value.addChild("net", new JsonValue(fn)));
ex(() -> value.addChild("server", new JsonValue(fs))); ex(() -> value.addChild("server", new JsonValue(fs)));
ex(() -> value.addChild("gamemode", new JsonValue(Vars.state.mode.toString()))); ex(() -> value.addChild("gamemode", new JsonValue(Vars.state.mode.name())));
ex(() -> value.addChild("state", new JsonValue(Vars.state.getState().name())));
ex(() -> value.addChild("os", new JsonValue(System.getProperty("os.name")))); ex(() -> value.addChild("os", new JsonValue(System.getProperty("os.name"))));
ex(() -> value.addChild("multithreading", new JsonValue(Settings.getBool("multithread")))); ex(() -> value.addChild("multithreading", new JsonValue(Settings.getBool("multithread"))));
ex(() -> value.addChild("trace", new JsonValue(parseException(e)))); ex(() -> value.addChild("trace", new JsonValue(parseException(e))));
Log.info("Sending crash report."); Log.info("Sending crash report.");
//post to crash report URL //post to crash report URL
Net.http(Vars.crashReportURL, "POST", value.toJson(OutputType.json), r -> System.exit(1), t -> System.exit(1)); Net.http(Vars.crashReportURL, "POST", value.toJson(OutputType.json), r -> {
Log.info("Crash sent successfully.");
System.exit(1);
}, t -> {
t.printStackTrace();
System.exit(1);
});
//sleep forever //sleep forever
try{ Thread.sleep(Long.MAX_VALUE); }catch(InterruptedException ignored){} try{ Thread.sleep(Long.MAX_VALUE); }catch(InterruptedException ignored){}