Compare commits

..

1163 Commits
v67 ... v94

Author SHA1 Message Date
Anuken
69944a2b63 Crash fixes 2019-09-17 19:29:38 -04:00
Anuken
0ceb58a105 Bugfixes 2019-09-17 19:25:37 -04:00
Anuken
5e8da856e7 Conclusively fixed status effect null issue 2019-09-17 18:54:30 -04:00
Anuken
ee412e1994 passbackback 2019-09-17 17:39:20 -04:00
Anuken
02736524bd Update Tutorial.java 2019-09-17 12:27:18 -04:00
Anuken
c357b97b3b Update Control.java 2019-09-17 11:00:57 -04:00
Anuken
dbe7251c6b Update Statuses.java 2019-09-17 10:59:40 -04:00
Anuken
7ae90f655c Merge remote-tracking branch 'origin/master' 2019-09-16 23:25:14 -04:00
Anuken
669ce6dfbb launch pad fix 2019-09-16 23:25:09 -04:00
David Held
4dc55e5594 Fixes bug which let phase conveyor operate with any non-zero power; now requires full power to work (#672)
* Fixes bug which let phase conveyor operate with any non-zero power; now requires full power to work

* Fixed normal bridge, deprecated method
2019-09-16 19:00:06 -04:00
Anuken
4b824f7a4c Crash fixes 2019-09-16 17:26:39 -04:00
Anuken
3435132e87 Status nullcheck 2019-09-16 08:38:49 -04:00
Anuken
d49b15b2a0 Fixed some things 2019-09-16 08:24:10 -04:00
Anuken
0c59553b3d Fixed dialog padding 2019-09-15 21:57:19 -04:00
Anuken
4a50192937 Docs 2019-09-15 21:30:42 -04:00
Anuken
f65ab00250 Merge remote-tracking branch 'origin/master' 2019-09-15 21:03:45 -04:00
Anuken
f71c3af2e1 Plugin config file creation 2019-09-15 21:03:41 -04:00
JopoJP
77fb9e3d3e Fixed translation (#627)
The translation stated that storage is combined if placed beside each other but that isn't true.
2019-09-15 20:40:34 -04:00
osoitz
c1d6674797 Create bundle_eu.properties (#629)
Basque translation
2019-09-15 20:40:20 -04:00
itskatt
659aaba0b9 Update the French translation (#631)
* sync bundle and translate newest additions

* translate a few things

* Respect Capitalisaton & further the translation effort.

* Apply suggestions from code review

Apply review.

Co-Authored-By: itskatt <48765398+itskatt@users.noreply.github.com>

* Apply suggestions from code review

Revert changes to English version

Co-Authored-By: itskatt <48765398+itskatt@users.noreply.github.com>

* Add amrsoll to the contributors

* Update bundle_fr.properties.

* Add message.

* Sync with bundle.properties

* sync

* Translate newest additions
2019-09-15 20:39:59 -04:00
DeltaRays
a3816f6355 Completed the Italian (it) translation (#632)
Completed the Italian (it) translation, edited some partially incorrect translations (thanks Militare11). If you find any more incorrect translations make sure to tell us in the translations channel 😉
2019-09-15 20:39:50 -04:00
laohuaji233
4829f040c2 Update bundle_zh_CN.properties (#642)
* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties
2019-09-15 20:37:55 -04:00
VizardAlpha
59826f5189 Updates bundle_fr_BE.properties (#644)
* Updates bundle_fr_BE.properties

* Update bundle_fr_BE.properties
2019-09-15 20:37:45 -04:00
Prosta4okua
a6fac9e56a Translation (#645)
* Fixes

* Капіталізація це зло.

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* .-.

* Gm

Description

* Oof

* ЈҮУКЕНГШҺЗХҸЖДЛОРПАВЫӘЧСМИТҒБӨ

* dada

* Translate new descriptions

* й

* Ukrainian finished. Fixed some errors.

* Translated everything. Maybe.

* /

* 1

* Added tutorial. Thank to Slava0135 and ymomfe.

* 1

* 1

* WATER

WATER

* [[]]

* 1

* gmmm

/-/-/-/

* idk what i changed

* Обновление и корректировка строк с 1 по 90

* router

* Обновление и корректировка строк с 87 по 252

Обновление и корректировка строк с 87 по 252, а так же правка предыдущих.
- 35 строку лучше привести в соответствии с оригинальным текстом, без дополнений и пояснений.
- 103 строка не переводится в соответствии с https://semver.org/lang/ru/ , хотя это не жёсткое правило, поскольку не влияет непосредственно на алгоритм работы с версиями.
- 187 Предлагаю эту строку перевести как 'Настройки карты', не смотря на оригинальный текст (соответственно и 230, 231).

* router

* Обновление и корректировка строк с 253 по 321 - "WorldEditor Update"

Обновление и корректировка строк с 253 по 321, а так же предыдущих.
- Разобраться с 297 строкой ("filter.option.percentile").
- Разобраться с местами применения 322 строки.

* озарение в переводе ;D

* Fixed "В"

* Unfinished Ukrainian language.

* Small fixes.

* Обновление и корректировка строк с 322 по 377 - "Campaign Update"

Обновление и корректировка строк с 322 по 377, а так же предыдущих.
- По прежнему нужно разобраться с 297 строкой ("filter.option.percentile"). Добавил метку для отличия функционала. Проверю и уберу к следующей сборке.

* Мелкие правки

* From additional improvements.

* hmmm

* hm

* 123

* Небольшие правки "КАК СОЗДАТЬ СЕРВЕР С ДРУГОМ Update"

* Рефакторинг и добавление новых строк с 1 по 136

- Приведение положения строк в бандле в соответствии с референсным файлом
- Добавление и перевод новых (отсутствующих) строк из референсного файла

* Рефакторинг и добавление новых строк с 137 по 380

- Приведение положения строк в бандле в соответствии с референсным файлом
- Добавление и перевод новых (отсутствующих) строк из референсного файла
- Мелкие правки

* Second pack of changes by Vanguard.

* ru_ri

* Небольшие правки

* 313131

* Рефакторинг, корректировка и добавление новых строк с 381 по 600

Рефакторинг, корректировка и добавление новых строк с 381 по 600
- Приведение положения строк в бандле в соответствии с референсным файлом
- Добавление и перевод новых (отсутствующих) строк из референсного файла
- Корректировка существующих строк

* Перші сто рядків українського перекладу відредаговано.

* 121

* 212122

* правки в редакторе

* ещё правки в редакторе

* мелкие правки

* правка

* Рефакторинг, корректировка и добавление новых строк с 601 по 800

Рефакторинг, корректировка и добавление новых строк с 601 по 800
- Приведение положения строк в бандле в соответствии с референсным файлом
- Добавление и перевод новых (отсутствующих) строк из референсного файла
- Корректировка существующих строк

* Рефакторинг, корректировка и добавление новых строк с 801 по 912

Рефакторинг, корректировка и добавление новых строк с 801 по 912
- Приведение положения строк в бандле в соответствии с референсным файлом
- Добавление и перевод новых (отсутствующих) строк из референсного файла
- Корректировка существующих строк

* мелкие правки
2019-09-15 20:37:38 -04:00
AmateurPotion
68f0ef1bd2 Update bundle_ko.properties (#650)
* Update bundle_ko.properties

* Update bundle_ko.properties
2019-09-15 20:35:07 -04:00
east
d53882a086 Update bundle_tr.properties (#657)
Translated some still-English parts (will continue) and added some missing lines.
2019-09-15 20:33:34 -04:00
CinExPL
7c7306d37b Update bundle_pl.properties (#659)
Merge https://github.com/Anuken/Mindustry/pull/633 as first.
This file contains @Dr4coDragon's edits with some changes.
+ improvements based on comparison with original bundle file.
2019-09-15 20:32:40 -04:00
Draco
d5a9938354 Updated Polish translation (done) (#633)
* Updated polish translation

Added some of the missing translations for map descriptions, tutorial and few others

* Fixed typos and added more translations

* Added most of remaining translations (almost done)

There's only a few untranslated strings left which i'm not sure about proper translation or meaning

* Last few changes and translations added (done)

Translation update is ready
2019-09-15 20:30:54 -04:00
Anuken
3fad378b69 List fix 2019-09-15 18:24:18 -04:00
Anuken
afb47344c6 Arc update trigger 2019-09-15 17:55:33 -04:00
Anuken
5ba7e1d08b fixed #665 2019-09-15 16:54:58 -04:00
Anuken
681347e933 Mobile scrolling fix 2019-09-15 15:47:42 -04:00
Anuken
f1bf8a0f1a Equality comparison fix 2019-09-15 14:38:00 -04:00
Anuken
874b41cb46 Fixed disconnect not triggering 2019-09-15 14:24:00 -04:00
Anuken
d3876b6376 Fixed lobby joining 2019-09-15 14:01:27 -04:00
Anuken
f72f2bdf5d Fixed servers not discovering 2019-09-15 13:52:56 -04:00
Anuken
af91e17b13 2 2019-09-15 13:13:21 -04:00
Anuken
69bfd8f54d Static steam names 2019-09-15 13:03:29 -04:00
Anuken
369c3b569c Bugfixes, game startup connection 2019-09-15 12:44:30 -04:00
Anuken
8480e656b9 More steam stuff 2019-09-15 10:38:36 -04:00
Anuken
fb29324905 Steam stuff 2019-09-15 09:27:31 -04:00
Anuken
ed88633712 More bugfixes 2019-09-14 21:36:32 -04:00
Anuken
cd456f80a4 Bugfixes 2019-09-14 20:57:10 -04:00
Anuken
6d61515e28 Compile fix 2019-09-14 20:30:26 -04:00
Anuken
38af936e3f Bugfix 2019-09-14 19:14:22 -04:00
Anuken
d59f5ddc59 Achievement work, cleanup 2019-09-14 19:01:27 -04:00
Anuken
6c07c5006a Added client implementation for 50 achievemenets 2019-09-13 22:02:13 -04:00
Anuken
d4d060a500 'then' 2019-09-13 14:01:31 -04:00
Anuken
55e43761e9 Auto-tag Arc commits at release time 2019-09-13 13:53:15 -04:00
Anuken
b1edaa1408 Testing arc hash script 4 2019-09-13 13:12:34 -04:00
Anuken
d8d9762998 Testing arc hash script 3 2019-09-13 13:08:21 -04:00
Anuken
dd93284062 Merge remote-tracking branch 'origin/master' 2019-09-13 13:04:20 -04:00
Anuken
19c76fc741 Testing arc hash script 2019-09-13 13:03:02 -04:00
Anuken
1013455b0f Update ItemBridge.java 2019-09-13 08:56:53 -04:00
Anuken
066e4380e1 Crash fix 2019-09-13 08:17:47 -04:00
Anuken
55da9df2a1 Fixed #655 2019-09-13 08:13:40 -04:00
Anuken
4b26c57a20 Added direct core-vault chaining 2019-09-12 21:14:09 -04:00
Anuken
d0491dd68a 8 2019-09-12 19:00:31 -04:00
Anuken
cd8cc34c31 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	.travis.yml
2019-09-12 18:56:30 -04:00
Anuken
0249ebf718 7 2019-09-12 18:56:03 -04:00
Anuken
7fb4eeb998 Update .travis.yml 2019-09-12 18:29:10 -04:00
Anuken
0cd7313523 5 2019-09-12 17:48:41 -04:00
Anuken
5c3fc2a6ba 4 2019-09-12 17:45:53 -04:00
Anuken
19f888061f 3 2019-09-12 17:39:45 -04:00
Anuken
4e8a02be7d 2 2019-09-12 17:33:15 -04:00
Anuken
2231062c19 Travis testing 2019-09-12 17:19:01 -04:00
Anuken
fb4faa15bb Merge remote-tracking branch 'origin/master' 2019-09-12 13:03:49 -04:00
Anuken
e6d05926dd Bugfix 2019-09-12 13:02:48 -04:00
Anuken
ca9f18325c Fixed #583 2019-09-12 12:40:52 -04:00
Anuken
bd96ae5a48 Nestable array iterators + unit tests 2019-09-12 12:17:28 -04:00
east
cf1cc2ca49 Typo fix (#653)
Corrected "Prepating"
2019-09-12 10:41:22 -04:00
Anuken
bbaaa91575 Fixed black styles on game reload (Android) 2019-09-12 09:06:25 -04:00
Anuken
41b21c81a0 Fixed mass driver deadlock 2019-09-12 08:42:19 -04:00
Anuken
44842d3221 Deploy animation 2019-09-11 16:54:18 -04:00
Anuken
d9c7665aca Events 2019-09-11 12:37:58 -04:00
Anuken
565b79d1b2 Events, triggers 2019-09-10 22:50:00 -04:00
Anuken
f30dc7dcd9 Cleanup 2019-09-10 21:20:28 -04:00
Anuken
e4cdf515c9 More workshop implementation 2019-09-10 20:53:31 -04:00
Anuken
ad3463cbc4 Merge remote-tracking branch 'origin/master' 2019-09-10 15:05:06 -04:00
Anuken
db733bced6 Stats 2019-09-10 15:05:02 -04:00
Anuken
7aa71a7201 Steam workshop publishing 2019-09-10 14:25:34 -04:00
Anuken
6fe55661ed Bugfixes / Fixed #639 2019-09-09 19:06:11 -04:00
Anuken
af89efcfc4 Update links to match Steam policy 2019-09-09 17:05:36 -04:00
Anuken
82493c596d Merge remote-tracking branch 'origin/master' 2019-09-09 16:22:40 -04:00
Anuken
5a3fbf33df Made all color names lowercase for consistent style 2019-09-09 16:22:29 -04:00
Anuken
5bed0f3bcc Update LoadDialog.java 2019-09-09 00:03:55 -04:00
Anuken
87f6ff7be6 Update IOSLauncher.java 2019-09-09 00:01:48 -04:00
Anuken
fa56996e10 Update AndroidLauncher.java 2019-09-09 00:01:07 -04:00
Anuken
b867cdb8b9 Map fix 2019-09-08 23:33:21 -04:00
Anuken
3bac32e04a Dialog fix 2019-09-08 23:30:15 -04:00
Anuken
c4c0f45228 cleaning up what remains 2019-09-08 22:55:36 -04:00
Anuken
d981bb95b9 it is gone 2019-09-08 22:32:47 -04:00
Anuken
c9f0a59339 time for a crusade against dialogs 2019-09-08 15:08:55 -04:00
Anuken
ec58e868fd Update bundle.properties 2019-09-08 11:35:38 -04:00
Ulysses2
aa5152ac70 Update Router.java (#643) 2019-09-08 09:31:49 -04:00
Anuken
2cc627e7d0 Merged net module 2019-09-07 16:55:09 -04:00
Anuken
8653e7bbb1 Cleanup 2019-09-07 16:03:20 -04:00
Anuken
4fb7430fb7 More cleanup, removed connection IDs 2019-09-07 15:23:13 -04:00
Anuken
e90c8c4d3e Extensive network refactor 2019-09-07 14:11:50 -04:00
Anuken
06e6deae42 More cleanup 2019-09-07 12:10:26 -04:00
Anuken
38fe99f10e Android cleanup 2019-09-07 12:04:28 -04:00
Anuken
05ab62f038 merge 2019-09-06 22:51:35 -04:00
Anuken
168011586b More file chooser fixes 2019-09-06 22:09:54 -04:00
Anuken
b5f1e566b2 New Android file chooser implementation 2019-09-06 21:21:30 -04:00
Anuken
9b6fb2f382 cleanup 2019-09-06 15:20:30 -04:00
Anuken
24bb2428e7 Bugfixes 2019-09-06 14:05:13 -04:00
Anuken
75ba33abc0 Compile fix 2019-09-06 14:02:42 -04:00
Anuken
ff54629550 Merge 2019-09-06 13:58:32 -04:00
Anuken
b492c7ae27 Bugfixes 2019-09-05 21:44:49 -04:00
Anuken
5d04f93a88 Merge remote-tracking branch 'origin/master' 2019-09-05 19:23:25 -04:00
Anuken
5651d1b023 Support for built-in servers 2019-09-05 19:23:17 -04:00
Axel Soll
6822e3f5b8 Add French app description for the Play Store. (#635)
* Add French app description for the Play Store.

* Add "Features include" line

* Update full_description.txt
2019-09-05 10:01:25 -04:00
Anuken
3cbb02f9fb Merge remote-tracking branch 'origin/master' 2019-09-04 23:16:33 -04:00
Anuken
0f79298c28 Many various fixes 2019-09-04 23:16:26 -04:00
Anuken
8f4bd09635 Update Blocks.java 2019-09-04 10:00:16 -04:00
Anuken
0a9cad2ea6 net fix 2019-09-03 22:59:10 -04:00
Anuken
dc21adfda5 Better spawn animations 2019-09-03 22:55:46 -04:00
Anuken
a7bfe18f4a Player limit / Server mode display / Crash fixes / More save info 2019-09-03 19:14:33 -04:00
Anuken
9cc76a148b Utility methods 2019-09-03 08:36:59 -04:00
Anuken
1d95a255bc Bugfixes 2019-09-03 08:21:23 -04:00
Anuken
3f8d412d1c Merge remote-tracking branch 'origin/master' 2019-09-02 21:07:45 -04:00
Anuken
b2c35d45c3 merge 2 2019-09-02 21:07:40 -04:00
Anuken
35ab90e445 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/src/io/anuke/mindustry/core/NetServer.java
2019-09-02 21:07:15 -04:00
Anuken
9bfb5216f9 Merge remote-tracking branch 'origin/master' 2019-09-02 20:59:44 -04:00
Anuken
b10656294e Merge 2019-09-02 20:59:35 -04:00
Anuken
316f4d471f Fixed iOS crash 2019-09-02 20:58:15 -04:00
J-VdS
ef0b56eb22 Extra events (#630)
* eventype player join

* playerjoin event

* player leave

* player leave event

* typo

* remove

* leave fix
2019-09-02 19:37:38 -04:00
Anuken
e640042e5d Update build.gradle 2019-09-02 12:40:52 -04:00
Anuken
2c0d2c5e22 Update NetServer.java 2019-09-02 12:37:25 -04:00
Anuken
9eed39c2ae Update NetServer.java 2019-09-02 12:34:15 -04:00
Anuken
e8d89b6c43 Bugfixes 2019-09-01 15:52:07 -04:00
Anuken
494c3ffbc4 💥 2019-09-01 13:34:20 -04:00
Anuken
40d27c787c Fixed drones not finding blocked ores 2019-09-01 13:21:20 -04:00
Anuken
2fe5b44698 Java 8+ plugin load fix 2019-09-01 11:01:04 -04:00
Anuken
5cc32b9001 Fixed map loading bugs 2019-09-01 10:46:44 -04:00
Anuken
d481af43c7 Fixed "disconnected" bug / Updated menu music 2019-09-01 10:19:13 -04:00
Anuken
1cd43f938f Bugfixes 2019-09-01 00:45:54 -04:00
Anuken
528f5295c2 Slightly more informative D/C messages 2019-09-01 00:39:08 -04:00
Anuken
aaedeea870 console 2019-08-31 20:08:48 -04:00
Anuken
c684c32abe Merge branch 'master' of https://github.com/Anuken/Mindustry into steam 2019-08-31 17:04:23 -04:00
Anuken
34df9cca2c Fixed Java 8+ compatibility 2019-08-31 16:54:29 -04:00
Anuken
c678b53d3f Merge remote-tracking branch 'origin/master' 2019-08-31 14:49:33 -04:00
Anuken
ea30cc7d19 Renamed folder to use correct locale 2019-08-31 14:49:29 -04:00
DeltaRays
a2772d09f3 Update bundle_it.properties (#626) 2019-08-31 13:59:52 -04:00
Anuken
a0016f001c Updated bundles 2019-08-31 13:08:06 -04:00
Prosta4okua
ca532f271f [WIP] Ukr&Rus Translation (#607)
* Fixes

* Капіталізація це зло.

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* .-.

* Gm

Description

* Oof

* ЈҮУКЕНГШҺЗХҸЖДЛОРПАВЫӘЧСМИТҒБӨ

* dada

* Translate new descriptions

* й

* Ukrainian finished. Fixed some errors.

* Translated everything. Maybe.

* /

* 1

* Added tutorial. Thank to Slava0135 and ymomfe.

* 1

* 1

* WATER

WATER

* [[]]

* 1

* gmmm

/-/-/-/

* idk what i changed

* Обновление и корректировка строк с 1 по 90

* router

* Обновление и корректировка строк с 87 по 252

Обновление и корректировка строк с 87 по 252, а так же правка предыдущих.
- 35 строку лучше привести в соответствии с оригинальным текстом, без дополнений и пояснений.
- 103 строка не переводится в соответствии с https://semver.org/lang/ru/ , хотя это не жёсткое правило, поскольку не влияет непосредственно на алгоритм работы с версиями.
- 187 Предлагаю эту строку перевести как 'Настройки карты', не смотря на оригинальный текст (соответственно и 230, 231).

* router

* Обновление и корректировка строк с 253 по 321 - "WorldEditor Update"

Обновление и корректировка строк с 253 по 321, а так же предыдущих.
- Разобраться с 297 строкой ("filter.option.percentile").
- Разобраться с местами применения 322 строки.

* озарение в переводе ;D

* Fixed "В"

* Unfinished Ukrainian language.

* Small fixes.

* Обновление и корректировка строк с 322 по 377 - "Campaign Update"

Обновление и корректировка строк с 322 по 377, а так же предыдущих.
- По прежнему нужно разобраться с 297 строкой ("filter.option.percentile"). Добавил метку для отличия функционала. Проверю и уберу к следующей сборке.

* Мелкие правки

* From additional improvements.
2019-08-31 13:07:02 -04:00
Anuken
89402fd097 removeCommand() 2019-08-31 13:00:34 -04:00
ichthyosaurus
75451743aa Update bundle_de.properties (#620) 2019-08-31 12:12:07 -04:00
AmateurPotion
b4d9a6a507 Update bundle_ko.properties (#618)
* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties
2019-08-31 12:11:01 -04:00
VizardAlpha
335afa56a1 bundle_fr_BE.properties (#617)
* bundle_fr_BE.properties

* Small fix

https://fr.m.wikipedia.org/wiki/Flou_lumineux
2019-08-31 12:10:54 -04:00
laohuaji233
485592bdac Update bundle_zh_CN.properties (#612)
* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties
2019-08-31 12:05:49 -04:00
FranLamark
ee9289fc24 Update bundle_es.propierties (Spanish trasnlation to the game) (#611)
* Update bundle_es.propierties

Translated mostly (i hope every) stuff in english, and edit some spanish stuff too. Gaven specially to some ores more descriptive names, and bring specially translation in spanish to newer things like draugs factories, information about this one, and related newer things.

* Update bundle_es.properties
2019-08-31 12:05:42 -04:00
Spico (Spirit Guy)
a0c281a0a9 Update to Turkish Translation (#610)
Updated lines between 1 to 100.
Some tutorial messages are missing, going to translate them later on.
2019-08-31 12:05:08 -04:00
Dominik
ad0b0858f6 Update bundle_pl.properties (#608)
* Update bundle_pl.properties

* Update bundle_pl.properties

* Update bundle_pl.properties

* Update bundle_pl.properties
2019-08-31 12:05:00 -04:00
itskatt
c2191872ac [READY TO MERGE] French translation (#594)
* first step

* More progress

* Translate zones

* More translating

* Remove redundant part

* Translate ~100 lines

* Update bundle_fr.properties

* Update bundle_fr.properties

* More translating

* Translate over 1k lines, start translating the tutorial

* Rearange the french bundle like the original one

* Translate more lines from the tutorial

* Finish translating the tutorial + few adjustments

* Start translating the item descriptions

* More item description translating

* few parts that i've missed

* sync files + few changes

* not much

* Apply suggestions from AzariasB's code review

Co-Authored-By: Azarias Boutin <AzariasB@users.noreply.github.com>

* Few changes + add AzariasB to the contributors

* Translate new additions

* small fixes

* More small fixes
2019-08-31 12:04:52 -04:00
Anuken
5f361413bb /sync command 2019-08-31 10:14:26 -04:00
Anuken
3414026828 Crash fix 2019-08-31 09:50:05 -04:00
Anuken
7089fae0d5 Map fixes 2019-08-31 09:45:27 -04:00
Anuken
80bdf1e19c Bugfix 2019-08-31 08:47:53 -04:00
Anuken
e0c1f2a31a Minor save fixes 2019-08-30 23:39:29 -04:00
Anuken
92cfa2b033 1x deconstruction speed 2019-08-30 22:16:18 -04:00
Anuken
877cd5968c Tweaks 2019-08-30 21:37:10 -04:00
Anuken
b39464a7d1 Merged save previews 2019-08-30 20:13:03 -04:00
Anuken
52332e5821 Bugfixes 2019-08-30 20:11:48 -04:00
Anuken
7f2c7685b4 Lobby prefs 2019-08-30 19:49:36 -04:00
Anuken
7e80a60e65 More cleanup 2019-08-30 17:44:28 -04:00
Anuken
44544020ec Platform cleanup 2019-08-30 17:35:26 -04:00
Anuken
3b9d3fd233 Platform cleanup 2019-08-30 17:32:49 -04:00
Anuken
4e2d2ee378 Steam cleanup 2019-08-30 17:25:37 -04:00
Anuken
7aafa8b150 Merge 2019-08-30 16:39:40 -04:00
Anuken
6d9a59c60b More cleanup 2019-08-30 16:37:04 -04:00
Anuken
39e0977231 Entity cleanup 2019-08-30 16:00:09 -04:00
Anuken
f8f140090f Fixed #623 2019-08-30 15:52:55 -04:00
Anuken
f063f7b2d3 Minor tweaks 2019-08-30 15:17:05 -04:00
Anuken
60306f146f Campaign slot preview 2019-08-30 15:08:43 -04:00
Anuken
3b873b7cb2 Merge branches 'master' and 'save-preview' of https://github.com/Anuken/Mindustry into save-preview 2019-08-30 15:01:48 -04:00
Anuken
26d44ea030 Save slot previews 2019-08-30 15:01:38 -04:00
Anuken
b369751a75 Bugfixes 2019-08-30 13:56:33 -04:00
Anuken
6e2cd81c9f Save previews 2019-08-30 13:53:19 -04:00
Anuken
e953bd40eb PR build fix 2019-08-30 12:41:43 -04:00
Anuken
233ae99d3f Added teamchat 2019-08-29 23:22:47 -04:00
Anuken
ddca5ef25a Data export/import 2019-08-29 22:04:01 -04:00
Anuken
ae88f286a6 Merge remote-tracking branch 'origin/master' 2019-08-29 19:07:05 -04:00
Anuken
25af0c4302 Added bleeding edge info 2019-08-29 19:07:00 -04:00
Poussinou
96b398867b Update README.md (#622) 2019-08-29 18:57:54 -04:00
Anuken
97d1c49a3c ... 2019-08-29 18:53:46 -04:00
Anuken
e83dfd3d5a ... 2019-08-29 18:45:03 -04:00
Anuken
1142af853d ... 2019-08-29 18:37:27 -04:00
Anuken
4d502fe073 Updated travis.yml 2019-08-29 18:31:55 -04:00
Anuken
b022333df1 sadness 2019-08-29 18:27:42 -04:00
Anuken
725b2188aa Updated travis.yml 2019-08-29 18:09:03 -04:00
Anuken
1f20d19aea Updated travis.yml 2019-08-29 18:04:39 -04:00
Anuken
ec9f91519d Updated travis.yml 2019-08-29 17:23:50 -04:00
Anuken
ae4e3e2d33 Updated travis.yml 2019-08-29 17:07:58 -04:00
Anuken
b931493d2f Updated travis.yml 2019-08-29 17:04:05 -04:00
Anuken
7b0c07533b Updated travis.yml 2019-08-29 16:52:52 -04:00
Anuken
33f0d64971 Update .travis.yml 2019-08-29 16:49:07 -04:00
Anuken
d10592a397 Testing builds 2019-08-29 10:01:01 -04:00
Anuken
641937f952 Automatic custom game saves 2019-08-29 08:53:41 -04:00
Anuken
b5ed309405 Page fix 2019-08-28 22:44:19 -04:00
Anuken
9bfbd7c953 Typo fix 2019-08-28 22:34:55 -04:00
Anuken
57924afa3f Moved plugin files 2019-08-28 22:12:25 -04:00
Anuken
76f11099b7 Merge branch 'plugins' of https://github.com/Anuken/Mindustry 2019-08-28 22:07:31 -04:00
Anuken
efcf802682 JITPack fixes 2019-08-28 22:07:08 -04:00
Anuken
b095840dc8 Votekick 2019-08-28 21:57:09 -04:00
Anuken
5f9370da9a Server plugins + clientside commands 2019-08-28 20:38:12 -04:00
Anuken
7a6eb08e53 Updated descriptions on GP 2019-08-28 18:26:36 -04:00
Anuken
865c3f28d5 Server plugins branch 2019-08-28 18:23:43 -04:00
Anuken
d5916f3bc3 hmmm 2019-08-28 16:18:53 -04:00
Anuken
3ce870fb19 Building fix 2019-08-28 16:17:04 -04:00
Anuken
a575284bfe Fixed unit tests 2019-08-28 14:12:11 -04:00
Anuken
89d79fdc65 Merge remote-tracking branch 'origin/master' 2019-08-28 13:18:31 -04:00
Anuken
05c0fd2f40 Bugfixes 2019-08-28 13:18:27 -04:00
Anuken
bc3c2c46a8 iOS crash fix 2019-08-28 13:08:28 -04:00
Anuken
3d69e9c763 Fixed incorrect asset loading 2019-08-27 22:53:24 -04:00
Anuken
9f5a0ca4e9 Fixed crash on load 2019-08-27 21:11:39 -04:00
Anuken
43245681fe Merge branches 'asset-manager' and 'master' of https://github.com/Anuken/Mindustry 2019-08-27 19:40:13 -04:00
Anuken
9d214a77d7 Test fixes 2019-08-27 19:37:13 -04:00
Anuken
5134aca723 Put zone previews into atlas 2019-08-27 19:33:41 -04:00
Anuken
40405332ec Additional improvements 2019-08-27 18:34:38 -04:00
Anuken
8d61f3b479 Fixed some crashes 2019-08-27 18:25:38 -04:00
Anuken
bd15287420 Better loading screen / Fixed unit tests 2019-08-27 17:44:25 -04:00
Anuken
5dfc3fd576 Functional loading 2019-08-27 16:32:22 -04:00
Anuken
1e80bdf19f Functional loading 2019-08-27 09:27:09 -04:00
Anuken
76cd7ba8d1 non-functional loading screen 2019-08-26 22:53:11 -04:00
Anuken
1dfa0d08de Testing out Github Actions workflow 2019-08-26 16:55:22 -04:00
Anuken
1fc9c82aaf Attempts to improve the loading system 2019-08-26 13:15:53 -04:00
Anuken
600a2b5ad7 Fixed mend projector place offset 2019-08-26 12:24:42 -04:00
Anuken
cb60556ac0 Disabled structure mirroring 2019-08-26 12:23:09 -04:00
Anuken
62f683b871 Game load time breakdown 2019-08-26 08:10:27 -04:00
Anuken
f22d32c15e more balance 2019-08-25 22:12:11 -04:00
Anuken
a3d8586199 Improvements to version scripts 2019-08-25 22:02:00 -04:00
Anuken
0a471441cc Balance 2019-08-25 14:23:43 -04:00
Anuken
73149123b4 Fullscreen key / Bugfixes 2019-08-25 12:02:51 -04:00
Anuken
5c6f2171f4 Fixed black tile issue 2019-08-25 11:16:38 -04:00
Anuken
fd973038bb mnet was a mistake 2019-08-24 18:29:21 -04:00
Anuken
b7dff91d01 Merge remote-tracking branch 'origin/master' 2019-08-24 15:39:22 -04:00
Anuken
e314d199f0 By popular demand, re-added command center 2019-08-24 15:39:01 -04:00
Spico (Spirit Guy)
3938c199f6 Request to Reseting the Turkish Translation File (#609)
There were some conflicting duplicated lines and someone put the file onto google translate, so some of the coloured lines were broken, and since (I think) Im the only one who edits this file (My brother didnt started translating yet) It would be easier for me to start from scratch.
2019-08-24 14:41:59 -04:00
Anuken
962eef4a1d or not 2019-08-24 13:06:39 -04:00
Anuken
97443a86cb fixed a crash that shouldn't even happen 2019-08-24 11:52:14 -04:00
Anuken
7137616224 Merge remote-tracking branch 'origin/master' 2019-08-24 10:45:36 -04:00
Anuken
444825a5c1 Bugfix 2019-08-24 10:45:25 -04:00
Anuken
986deaa6c7 Various fixes 2019-08-24 10:32:29 -04:00
Anuken
7b27903de2 Fixed some static library issues 2019-08-24 10:00:04 -04:00
Anuken
bbadf6795e . 2019-08-23 19:16:43 -04:00
Anuken
8b9be6eafe Removed arcnet as dependency 2019-08-23 18:18:14 -04:00
Anuken
da336ea412 Updated bundle texts 2019-08-23 18:14:27 -04:00
Anuken
f1cf95d412 Merge remote-tracking branch 'origin/master' 2019-08-23 18:13:30 -04:00
Anuken
6642a3e9ad Added temp changelog to ignore 2019-08-23 18:13:26 -04:00
Dominik
49db7773e8 Update bundle_pl.properties (#586)
* Update bundle_pl.properties

* Update bundle_pl.properties

* Update bundle_pl.properties

* Update bundle_pl.properties

* Update bundle_pl.properties
2019-08-23 18:13:00 -04:00
AmateurPotion
9372819fb8 Update bundle_ko.properties (#588)
* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties
2019-08-23 18:12:53 -04:00
VizardAlpha
9d07d81551 bundle_fr_BE.properties (#595)
* bundle_fr_BE.properties

* bundle_fr_BE.properties

* bundle_fr_BE.properties
2019-08-23 18:12:45 -04:00
JasonD157
3c9bcf05e2 Update bundle_nl_BE.properties (#596) 2019-08-23 18:12:38 -04:00
Prosta4okua
3338da2a91 Patch 1 (#597)
* Fixes

* Капіталізація це зло.

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* .-.

* Gm

Description

* Oof

* ЈҮУКЕНГШҺЗХҸЖДЛОРПАВЫӘЧСМИТҒБӨ

* dada

* Translate new descriptions

* й

* Ukrainian finished. Fixed some errors.

* Translated everything. Maybe.

* /

* 1

* Added tutorial. Thank to Slava0135 and ymomfe.

* 1

* 1

* WATER

WATER

* [[]]

* 1

* gmmm

/-/-/-/

* idk what i changed

* Обновление и корректировка строк с 1 по 90

* router

* Обновление и корректировка строк с 87 по 252

Обновление и корректировка строк с 87 по 252, а так же правка предыдущих.
- 35 строку лучше привести в соответствии с оригинальным текстом, без дополнений и пояснений.
- 103 строка не переводится в соответствии с https://semver.org/lang/ru/ , хотя это не жёсткое правило, поскольку не влияет непосредственно на алгоритм работы с версиями.
- 187 Предлагаю эту строку перевести как 'Настройки карты', не смотря на оригинальный текст (соответственно и 230, 231).

* router

* Обновление и корректировка строк с 253 по 321 - "WorldEditor Update"

Обновление и корректировка строк с 253 по 321, а так же предыдущих.
- Разобраться с 297 строкой ("filter.option.percentile").
- Разобраться с местами применения 322 строки.

* озарение в переводе ;D
2019-08-23 18:12:30 -04:00
Daniel-Chin
b31858a64f Update bundle_zh_CN.properties (#598)
Improved some word choice.  
Changed some translations to fit the English counterpart.  
In the weapon descriptions, the Chinese text misses some info. I added them according to the current English descriptions.
2019-08-23 18:11:10 -04:00
Kylof61034
8f2a8dc9ba Add my name to contributors (#602) 2019-08-23 18:10:58 -04:00
Kylof61034
44e54cd4df German translations (#600)
* german translation update 1

* german translation update 2

* german translation update 3

* german translation update 4

* german translation update 5

* german translation update 6

* fixed some little mistakes
2019-08-23 18:10:50 -04:00
Spico (Spirit Guy)
36c41557ea 1 change on the names (#605)
Changed CrazyBearTR onto Spico The Spirit Guy
CrazyBearTR was my old username and I dont use it anymore, so i dont think it needs to be there
2019-08-23 18:10:33 -04:00
Anuken
d0d72101ab Fixed game6.ogg ending abruptly 2019-08-23 18:05:06 -04:00
Anuken
7b41d65fa6 Fixed issues with multithreaded serializer access 2019-08-23 16:13:46 -04:00
Anuken
5f9000db92 MNet cleanup 2019-08-23 15:04:31 -04:00
Anuken
de031b1ddb Merge branches 'master' and 'mnet' of https://github.com/Anuken/Mindustry 2019-08-23 14:29:53 -04:00
Anuken
58f46bb75f Merge remote-tracking branch 'origin/master' 2019-08-23 14:17:01 -04:00
Anuken
d1e07ec0a2 Fixed OpenAL not loading correctly 2019-08-23 17:17:45 -06:00
Anuken
0d4716f3b4 Fallback shield shader 2019-08-23 14:16:51 -04:00
Anuken
9ddfd650dd . 2019-08-23 14:16:25 -04:00
Anuken
cf9cda4936 Merge branch 'master' of https://github.com/Anuken/Mindustry into steam 2019-08-23 14:05:46 -04:00
Anuken
1880c32f90 Experimental MNet-2 backend 2019-08-22 22:49:22 -04:00
Anuken
6d72c08d63 ignore some files 2019-08-22 21:52:51 -04:00
Anuken
95ac1b2c21 Merge remote-tracking branch 'origin/master' 2019-08-22 21:52:06 -04:00
Anuken
a33fd45136 bugfixes 2019-08-22 21:51:56 -04:00
Anuken
4e43d2a96b . 2019-08-22 21:09:33 -04:00
Anuken
d68c8fe72c Merge remote-tracking branch 'origin/steam' into steam
# Conflicts:
#	desktop/src/io/anuke/mindustry/desktop/steam/SteamNetImpl.java
2019-08-22 21:08:58 -04:00
Anuken
c9d0619289 . 2019-08-22 21:08:44 -04:00
Anuken
8ea33946c4 proper discovery 2019-08-22 21:08:01 -04:00
Anuken
bef7394004 Merge remote-tracking branch 'origin/steam' into steam
# Conflicts:
#	desktop/src/io/anuke/mindustry/desktop/DesktopPlatform.java
2019-08-22 20:50:43 -04:00
Anuken
4042bf042e . 2019-08-22 20:50:16 -04:00
Anuken
643b698c30 discovery 2019-08-22 20:49:27 -04:00
Anuken
aba3e3985a . 2019-08-22 19:53:44 -04:00
Anuken
91f679f762 disconnection 2019-08-22 19:49:29 -04:00
Anuken
3eeed507cc Merge remote-tracking branch 'origin/steam' into steam 2019-08-22 17:38:04 -04:00
Anuken
988e1d6e30 . 2019-08-22 17:38:00 -04:00
Anuken
04b4aabcf6 . 2019-08-22 17:37:16 -04:00
Anuken
d97fe47206 . 2019-08-22 17:16:13 -04:00
Anuken
0d8748a6ce autoclip 2019-08-22 17:02:41 -04:00
Anuken
b360a39fcf debug 2019-08-22 16:59:39 -04:00
Anuken
70b071fa26 fixes 2019-08-22 16:51:26 -04:00
Anuken
64badb2cb7 Cleanup 2019-08-22 16:44:32 -04:00
Anuken
3da6634242 things 2019-08-22 16:19:29 -04:00
Anuken
4b8d072854 testing 2019-08-22 16:13:39 -04:00
Anuken
a1ea393f35 Update MirrorFilter.java 2019-08-22 15:45:14 -04:00
Anuken
32abd991e7 steam debugging 2019-08-22 09:27:59 -04:00
Anuken
3294f800be Steam things 2019-08-21 21:20:44 -04:00
Anuken
74e3dc2d7d ? 2019-08-21 20:12:00 -04:00
Anuken
a7a49a823b Merge 2019-08-21 20:10:54 -04:00
Anuken
14c943adfe fix of uninteresting variety 2019-08-21 19:04:26 -04:00
Anuken
fb84b4b7c1 Added fastlane integration 2019-08-21 18:46:46 -04:00
Anuken
4089ee424c Removed pointless platform-specific dists 2019-08-21 15:50:58 -04:00
Anuken
9bf010e222 Removed lwjgl3 desktop module, sdl promoted to main module 2019-08-21 15:41:38 -04:00
Anuken
0553fb6b79 Finalized build scripts 2019-08-21 15:34:01 -04:00
Anuken
4bb6a25055 Added deployment scripts 2019-08-21 14:46:36 -04:00
Anuken
66ff7b1592 Fixed minimization 2019-08-20 20:47:28 -04:00
Anuken
be32810608 on second thought, no 2019-08-20 19:57:42 -04:00
Anuken
88f48599a0 Names updated 2019-08-20 19:52:08 -04:00
Anuken
014e2ac8b8 Bugfixes 2019-08-20 19:42:39 -04:00
Anuken
bae88ec416 iPhone X splash images 2019-08-20 19:14:30 -04:00
Anuken
46230ad307 nothing 2019-08-20 18:31:56 -04:00
Anuken
963a207194 New power node link system 2019-08-20 10:52:06 -04:00
Anuken
59419e13d9 Networking fixes 2019-08-20 10:23:22 -04:00
Anuken
82f43a362f merge 2019-08-19 22:36:28 -04:00
Anuken
b370e04035 UI fix 2019-08-19 22:21:22 -04:00
Anuken
dfd6e7a07b Merge remote-tracking branch 'origin/master' 2019-08-19 22:16:51 -04:00
Anuken
a873560d4e Multiplayer: Smooth building + rotation / Disabled UDP / Cleanup 2019-08-19 22:16:43 -04:00
Anuken
f7eea51066 further progress 2019-08-19 21:32:33 -04:00
Anuken
c6777bd219 Update bundle.properties 2019-08-19 18:03:21 -04:00
Anuken
8eb4d25638 Fixed error on exiting with custom map on server 2019-08-19 09:42:45 -04:00
Anuken
98c35c5291 steam init 2019-08-19 09:40:59 -04:00
Anuken
191c6e9016 crash fix 2019-08-19 09:23:16 -04:00
Anuken
33c1579e9c Progress 2019-08-19 08:39:38 -04:00
Anuken
52af0b1db9 Merge remote-tracking branch 'origin/master' 2019-08-18 22:52:50 -04:00
Anuken
492cb49805 bugfixes 2019-08-18 22:52:46 -04:00
Anuken
e482c2c318 Steam client init 2019-08-18 15:26:06 -04:00
Anuken
5b387e7e17 Merge branches 'master' and 'steam' of https://github.com/Anuken/Mindustry into steam 2019-08-18 13:34:04 -04:00
Anuken
b2e70a44be Update TRANSLATING.md 2019-08-18 12:31:54 -04:00
Anuken
452a8aaa0c Fixed dialog scrolling 2019-08-18 10:16:31 -04:00
Anuken
c3f392a01c Merge remote-tracking branch 'origin/master' 2019-08-17 20:26:30 -04:00
Anuken
7d9b6a41fc Actual prediction fix 2019-08-17 20:26:17 -04:00
Samuele Esposito
f4f4cf3947 Possibly a small typo? (#592) 2019-08-17 17:00:20 -04:00
Anuken
28e930eb4b Merge remote-tracking branch 'origin/master' 2019-08-17 15:39:45 -04:00
Anuken
301387fb32 Fixed low rank on attack map completion 2019-08-17 15:39:41 -04:00
Anuken
5955387bdd map tweaks 2019-08-17 14:08:13 -04:00
Anuken
150491ff2c bugfixes 2019-08-17 12:09:18 -04:00
Anuken
c7d735bf56 Fixed moving unit target prediction 2019-08-17 11:23:49 -04:00
Anuken
1f4dbd0024 fixed #587 2019-08-16 23:11:14 -04:00
Anuken
ddef78c7d8 Merge remote-tracking branch 'origin/master' 2019-08-16 14:50:04 -04:00
Anuken
dc435d88f4 Fixed massive music files on iOS, now using MP3 2019-08-16 14:49:35 -04:00
Anuken
84aff0112d small map fix 2019-08-16 14:17:23 -04:00
Anuken
a13f8ed05f more frequent music 2019-08-16 12:53:18 -04:00
Anuken
0429abbb28 Balance 2019-08-16 12:31:44 -04:00
AmateurPotion
562d3e6528 Update bundle_ko.properties (#585) 2019-08-16 12:08:42 -04:00
Anuken
ac27b484fa Updated Mac icon 2019-08-16 12:05:00 -04:00
Anuken
3c57c3e492 Merge remote-tracking branch 'origin/master' 2019-08-16 11:14:22 -04:00
Anuken
83f9f5d34a zipzip 2019-08-16 11:14:18 -04:00
Prosta4okua
c659e4f0aa Fixes (#584)
* Fixes

* Капіталізація це зло.

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* .-.

* Gm

Description

* Oof

* ЈҮУКЕНГШҺЗХҸЖДЛОРПАВЫӘЧСМИТҒБӨ

* dada

* Translate new descriptions

* й

* Ukrainian finished. Fixed some errors.

* Translated everything. Maybe.

* /

* 1

* Added tutorial. Thank to Slava0135 and ymomfe.

* 1

* 1

* WATER

WATER

* [[]]

* 1
2019-08-16 11:13:52 -04:00
AmateurPotion
723ee3c647 Update bundle_ko.properties (#579)
* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties
2019-08-16 11:10:38 -04:00
Kylof61034
32baa279e2 added some german translations (#582) 2019-08-16 11:10:27 -04:00
Anuken
17b17979ab Release preparations 2019-08-16 11:00:15 -04:00
Anuken
c94ab5b05a Merge remote-tracking branch 'origin/master' 2019-08-16 09:58:34 -04:00
Anuken
625a0125cb Various tweaks 2019-08-16 09:58:25 -04:00
Anuken
9f8c1b3d20 ios landscape fix 2019-08-16 09:01:28 -04:00
Anuken
cc6ed88878 aaaaaaAAAAAAAAAAAa 2019-08-16 00:00:49 -04:00
Anuken
73523a96fa Merge remote-tracking branch 'origin/master' 2019-08-15 22:58:52 -04:00
Anuken
62e3bc86eb hhh 2019-08-15 22:58:48 -04:00
Anuken
a12af852ab more iOS mess-fixing 2019-08-15 22:44:37 -04:00
Anuken
6f2fc00045 Icons/splash screen updated for iOS 2019-08-15 22:25:08 -04:00
Anuken
9e0de644c4 more iOS fixes 2019-08-15 20:59:45 -04:00
Anuken
393bdfccaf iOS map export 2019-08-15 20:45:30 -04:00
Anuken
56c39799c8 things 2019-08-15 20:02:35 -04:00
Anuken
7f2a1374e4 Fixed truncated sounds 2019-08-15 14:16:41 -04:00
Anuken
6fa0ac56ac files 2019-08-15 13:33:23 -04:00
Anuken
89ee04c942 Machine ambient sounds 2019-08-15 13:32:36 -04:00
Anuken
c058163ab4 no 2019-08-15 00:12:06 -04:00
Anuken
2832dc69ef Random shoot sound pitch 2019-08-14 23:27:24 -04:00
Anuken
cb2e2ab9b2 OpenAL cleanup+refactor 2019-08-14 23:01:51 -04:00
Anuken
f342c38c62 openal stuff 2019-08-14 21:48:36 -04:00
Anuken
811e456f8f OpenAL audio backend for SDL 2019-08-14 20:50:26 -04:00
Anuken
000503d674 Update build.gradle 2019-08-14 13:53:23 -04:00
Anuken
d0bd29cfa0 fixed unnecessary asset copying 2019-08-14 13:47:16 -04:00
Anuken
d56565990e Fixed iOS audio issues 2019-08-14 13:10:29 -04:00
Anuken
b68734d679 iOS-specific format loading 2019-08-14 11:03:36 -04:00
Anuken
bf21c94bd7 Bugfixes 2019-08-14 10:27:10 -04:00
Anuken
b6b9685d57 wiki build script update 2019-08-13 23:53:22 -04:00
Anuken
f8adbda9c5 updated roboVM to 2.3.7 2019-08-13 23:26:25 -04:00
Anuken
c9178c3f2f Fixed power nodes in multiplayer 2019-08-13 22:47:31 -04:00
Anuken
84786c12d8 Bugfixes 2019-08-13 18:15:40 -04:00
Anuken
335b6ae0cc bundle 2019-08-13 17:48:19 -04:00
Anuken
9bde68a86f Merge remote-tracking branch 'origin/master' 2019-08-13 16:51:10 -04:00
Anuken
c3201178ae typo 2019-08-13 16:51:03 -04:00
Teamblur
366636ef7d Create bundle_et.properties (#498)
* Create bundle_et.properties

* Update bundle_et.properties

lisasin mõne tõlke eest poolt

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties

* Update bundle_et.properties
2019-08-13 16:49:10 -04:00
Dominik
47112e233e Update bundle_pl.properties (#566)
* Update bundle_pl.properties

Updated names of blocks in editor and some more

* Update bundle_pl.properties

* Update bundle_pl.properties

* Update bundle_pl.properties

* Update bundle_pl.properties

* Update bundle_pl.properties

* Update bundle_pl.properties
2019-08-13 16:48:02 -04:00
laohuaji233
88f005be0c Update bundle_zh_CN.properties (#568)
* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties
2019-08-13 16:47:48 -04:00
Prosta4okua
f454cd3291 Patch 1 (#569)
* Fixes

* Капіталізація це зло.

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* .-.

* Gm

Description

* Oof

* ЈҮУКЕНГШҺЗХҸЖДЛОРПАВЫӘЧСМИТҒБӨ

* dada

* Translate new descriptions

* й

* Ukrainian finished. Fixed some errors.

* Translated everything. Maybe.

* /

* 1

* Added tutorial. Thank to Slava0135 and ymomfe.

* 1
2019-08-13 16:46:12 -04:00
AmateurPotion
23038dc6f7 Update bundle_ko.properties (#577)
* Update bundle_ko.properties

Update!

* Update bundle_ko.properties

error xd

* Update bundle_ko.properties

third edit...

* Update bundle_ko.properties

one change

* Update bundle_ko.properties
2019-08-13 16:36:19 -04:00
Anuken
58b4f64125 Tutorial fixes 2019-08-13 16:26:02 -04:00
Anuken
974ab59fd2 Classic data backup dialog 2019-08-13 15:14:03 -04:00
Anuken
f2f6dc89a2 fire 2019-08-13 12:04:09 -04:00
Anuken
bff9d89232 more sounds 2019-08-13 11:42:01 -04:00
Anuken
a818da5eb7 some bad sounds 2019-08-12 23:29:24 -04:00
Anuken
a1269c05c5 Updated discord presence 2019-08-12 13:50:09 -04:00
Anuken
d0ff0307f5 New icon 2019-08-12 13:29:02 -04:00
Anuken
c4aa0b2863 New discord app ID / New testing sounds 2019-08-12 12:32:13 -04:00
Anuken
85fd2ad804 Various things 2019-08-11 18:01:32 -04:00
Anuken
0770574f17 Sound things 2019-08-11 16:55:32 -04:00
Anuken
6314bf51df audio cleanup 2019-08-11 13:46:14 -04:00
Anuken
4c08c98f8c Work on sound effects 2019-08-11 10:47:22 -04:00
Anuken
2341da995e Random in-game music, untested 2019-08-10 18:56:20 -04:00
Anuken
4ef60af4a8 Fixed maps not being able to override gamemode-specific settings 2019-08-10 11:43:28 -04:00
Anuken
16f6b51857 Various tweaks, new music tracks 2019-08-09 23:23:45 -04:00
Anuken
59e53eb672 mandatory hosting/joining info 2019-08-09 14:01:25 -04:00
Anuken
c7724e9122 Converted sounds to ogg 2019-08-09 13:51:24 -04:00
Anuken
2c4379acd1 Tutorial improvements 2019-08-09 12:18:08 -04:00
Anuken
69e7b442e2 made pause/tutorial panes not touchable 2019-08-08 21:57:13 -04:00
Anuken
70a4c2f3ed slightly less of a mess 2019-08-08 21:45:55 -04:00
Anuken
83c86b3883 more tutorial 2019-08-08 21:26:50 -04:00
Anuken
9924796ad9 A somewhat complete tutorial 2019-08-08 20:50:15 -04:00
Anuken
b587b6bb4d More tutorial 2019-08-08 17:26:20 -04:00
Anuken
4811578c95 Incomplete tutorial basics 2019-08-08 17:03:45 -04:00
Anuken
0a07c62b63 Merge branch 'master' of https://github.com/Anuken/Mindustry into tutorial 2019-08-08 11:26:29 -04:00
Anuken
c1ff370923 Fixed scaling / Improved power node visuals / Balancing 2019-08-08 10:48:35 -04:00
Anuken
e55575f093 Editor music updated 2019-08-07 19:21:50 -04:00
Anuken
703f034054 Bugfixes 2019-08-07 18:16:51 -04:00
Anuken
2d504521b1 Bugfixes 2019-08-07 08:39:59 -04:00
Anuken
8359789d4f Bugfixes 2019-08-06 19:10:32 -04:00
Anuken
8162e13f04 Balancing, fixes, general improvements 2019-08-06 18:05:17 -04:00
Anuken
282aab5939 Zone improvements 2019-08-06 13:01:54 -04:00
Anuken
5c6bcbf9cd Renamed layout/Unit to UnitScl to prevent name conflicts 2019-08-06 11:04:58 -04:00
Anuken
8ef1d54a16 Bugfixes 2019-08-06 09:17:26 -04:00
Anuken
e8bbc2bf4c Sound re-organized 2019-08-05 20:39:16 -04:00
Anuken
b02053a70c Added support for Alt keys 2019-08-05 16:54:42 -04:00
Anuken
99f2b8f536 Deploy music 2019-08-05 14:49:37 -04:00
Anuken
8346d5fc13 Fixed connection not resetting on game load / Experimental click changes 2019-08-05 10:26:24 -04:00
Anuken
3a841c6c0f stuff and things 2019-08-04 20:02:07 -04:00
Anuken
ecd30094b1 Cursor antialiasing 2019-08-04 09:41:25 -04:00
Anuken
81909bd1a9 Moved launch controls to wave button 2019-08-04 08:58:51 -04:00
Anuken
1cb01af77b Structure 2019-08-04 08:13:16 -04:00
Anuken
a65592d511 Added Tutorial class 2019-08-03 19:47:57 -04:00
Anuken
4ee6f60531 Merge branches 'master' and 'tutorial' of https://github.com/Anuken/Mindustry into tutorial 2019-08-03 19:38:26 -04:00
Anuken
319d65f9a3 New re-balanced attack map 2019-08-03 11:29:37 -04:00
Anuken
bc8c99df15 Tech tree balance 2019-08-03 09:54:56 -04:00
Anuken
aef3a719fe merge 2019-08-03 00:21:16 -04:00
Anuken
2726ebe191 Re-balanced starting item amount 2019-08-03 00:04:33 -04:00
Anuken
85767d4946 Improved drill item selection 2019-08-02 23:48:39 -04:00
Anuken
86a78b206a autolink 2 2019-08-02 23:40:08 -04:00
Anuken
4e308d6600 autolink 2 2019-08-02 23:23:04 -04:00
Anuken
7f2cc59b3c autolink 2019-08-02 20:48:26 -04:00
Anuken
878901d05d more ores 2019-08-02 20:30:15 -04:00
Anuken
d1304abb9e Increased node limit 2019-08-02 20:18:42 -04:00
Anuken
4ae39e851d Optional core spawn mech support 2019-08-02 20:03:04 -04:00
Anuken
06c5c92d2c Updated previews 2019-08-02 19:46:18 -04:00
Anuken
fc6e529049 mixer. 2019-08-02 18:37:06 -04:00
Anuken
438f128e2e New map ore balancing / Reduced item burn rate 2019-08-02 18:32:33 -04:00
Anuken
878af1ea28 1/2 cost rebalance 2019-08-02 13:22:45 -04:00
Anuken
8e84e7284e Added ore median filter 2019-08-02 12:56:21 -04:00
Anuken
77d4b0972d Balancing 2019-08-02 12:39:21 -04:00
Anuken
2a518fa7c9 Merge remote-tracking branch 'origin/master' 2019-08-02 10:10:48 -04:00
Anuken
04c8ecf4af New team colors 2019-08-02 10:10:37 -04:00
AmateurPotion
67743dded5 add my nickname (#571)
I'm Korean translater& r-e server owner. May I be added here?
2019-08-02 08:23:18 -04:00
Anuken
5acda423d8 UI polish 2019-08-01 22:40:15 -04:00
Anuken
8b3995686f Misc. in-game UI polish 2019-08-01 20:49:03 -04:00
Anuken
f388ca298e Better carried item display 2019-08-01 17:49:10 -04:00
Anuken
636b92205b Implemented sound volume 2019-08-01 16:54:36 -04:00
Anuken
26d26b5e7a Drill output/speed display 2019-08-01 13:32:38 -04:00
Anuken
01efb59d25 Fixed high sound memory usage / Basic drill output speed display 2019-08-01 13:08:50 -04:00
Anuken
b1980a17ac Fixed editor not showing after second view 2019-08-01 11:26:28 -04:00
Anuken
69ee5257f2 Display current ammo type in turret info 2019-08-01 11:03:20 -04:00
Anuken
5573031d07 Created tutorial branch 2019-08-01 10:43:41 -04:00
Anuken
b812fcddf8 Merge branch 'sound' of https://github.com/Anuken/Mindustry 2019-08-01 10:38:16 -04:00
Anuken
8393639735 Moved music control 2019-08-01 10:37:04 -04:00
Anuken
dafbba0907 Fixed more things 2019-07-31 22:49:41 -04:00
Anuken
28ab2b3917 Fixed crashes not saving or displaying 2019-08-01 02:28:01 -06:00
Anuken
2be3cc2f1e a mess 2019-07-31 18:59:28 -04:00
Anuken
d8085d88a8 Re-added classic sound effects for testing 2019-07-31 16:25:25 -04:00
Anuken
d6b023709d Initial menu music test 2019-07-30 22:50:15 -04:00
Anuken
2459fb23ae cleanup 2019-07-30 22:06:21 -04:00
Anuken
4bd3f415a9 Smooth menu fade 2019-07-30 20:04:25 -04:00
Anuken
4414ee6d38 Fade-in effect / Fixed mobile scaling 2019-07-30 19:48:06 -04:00
Anuken
fdd84066f5 format 2019-07-30 16:00:32 -04:00
Anuken
4ebf39449e . 2019-07-30 15:52:20 -04:00
Anuken
d4f26e0340 Fixed sound crackle 2019-07-30 14:15:10 -04:00
Anuken
a00a208ff8 Annotation processor for sound asset generation 2019-07-30 12:05:59 -04:00
Anuken
bc77fd619d Spatial sound / Minor refactoring 2019-07-30 11:38:02 -04:00
Anuken
5eadd6608d Updated bundles 2019-07-30 10:23:29 -04:00
Anuken
1340b8d4d8 Better consumption display 2019-07-30 10:20:49 -04:00
Anuken
9db86f212f Typos 2019-07-30 10:12:58 -04:00
Anuken
697894274f Fixed editor restoring incorrect orientation 2019-07-30 01:02:08 -04:00
Anuken
7292479d9c Added turret ammo deficiency display 2019-07-30 00:44:41 -04:00
Anuken
301c11c208 possible oregen fix 2019-07-29 22:12:39 -04:00
Anuken
71b218ad62 just in case 2019-07-29 22:11:59 -04:00
Anuken
ec2f21b944 Fixed crash on loading some older maps 2019-07-29 22:07:25 -04:00
Anuken
c65b3f3aca Sound. 2019-07-29 21:59:59 -04:00
Anuken
43280ee077 Fixed numerical rules resetting on Android 2019-07-29 17:19:17 -04:00
Anuken
c7e4fb8021 Audio progress 2019-07-29 17:01:55 -04:00
Anuken
132d058098 SDL input fixes 2019-07-29 15:17:10 -04:00
AmateurPotion
c678a5502d Update bundle_ko.properties (#563)
* Update bundle_ko.properties

현수님 보시면 빨리 공식 업데이트 하시기 전에 이전 버전으로 돌리시고 괜찮다 싶은 것만 번역 업데이트 해주세요

* Second mistranslation correction

One more mistranslation correction remaining.
2019-07-29 10:51:36 -06:00
laohuaji233
0ee35721b0 Update bundle_zh_CN.properties (#556)
Many minor modifications
2019-07-29 10:51:15 -06:00
Prosta4okua
1932f9a9c3 Fixes (#554)
* Fixes

* Капіталізація це зло.

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* .-.

* Gm

Description
2019-07-29 10:50:52 -06:00
Anuken
8e85b71669 Fixed mobile layout 2019-07-29 12:49:09 -04:00
Anuken
f439afae9e Descriptions for nearly everything 2019-07-29 12:33:11 -04:00
Anuken
fdd749be18 Pre-description change 2019-07-29 10:15:44 -04:00
Anuken
666e3e51a3 Bugfixes 2019-07-28 10:53:26 -04:00
Anuken
b930d5a1f9 might as well merge bloom 2019-07-27 16:16:22 -04:00
Anuken
5c10a2662d Moved clear color 2019-07-27 16:12:51 -04:00
Anuken
214f451cc1 Tweak 2019-07-27 16:10:17 -04:00
Anuken
67b4fa6f68 Map tweaks 2019-07-27 12:21:32 -04:00
Anuken
aa3e7a8ef5 Finalized map number 2019-07-27 10:52:46 -04:00
Anuken
7bf6099528 Added 2 new maps 2019-07-27 09:27:03 -04:00
Anuken
e90a4eb71d SDL tools 2019-07-26 21:24:07 -04:00
Anuken
7b83406ee4 Blend filter parameters / New map 2019-07-26 20:46:06 -04:00
Anuken
c4157d2ec8 New map / Better filters / Sand boulders 2019-07-26 18:59:33 -04:00
Anuken
2bdfaef2d9 Fixed ores generating over spawnpoints 2019-07-26 00:11:31 -04:00
Anuken
2b0fbd9904 """better""" map generation dialog 2019-07-26 00:04:36 -04:00
Anuken
0ffa0351b5 Removed ores from existing built-in maps / Default oregen 2019-07-25 23:24:12 -04:00
Anuken
951cbf3d16 Fixed some generation issues 2019-07-25 22:18:45 -04:00
Anuken
69454048ad ??? 2019-07-25 21:27:34 -04:00
Anuken
c4ceb89240 Implemented random map load filters 2019-07-25 21:27:16 -04:00
Anuken
4a638cba79 Merge remote-tracking branch 'origin/master' 2019-07-25 19:18:14 -04:00
Anuken
c209528271 Cleaned up generation filter code 2019-07-25 19:18:04 -04:00
Anuken
0d1f590937 Update CrashSender.java 2019-07-25 17:44:33 -04:00
Anuken
b59b839029 OpenGL 2.1 -> 2.0 2019-07-25 13:55:57 -04:00
Anuken
513243ba0f Fixed version not parsing on crash 2019-07-25 13:21:55 -04:00
Anuken
795e774119 Canyon map 2019-07-25 13:08:07 -04:00
Anuken
d02d419729 Fixed SDL crash 2019-07-25 12:46:31 -04:00
Anuken
518bffe644 SDL backend / Valid mode sprites / Better layout 2019-07-25 11:45:49 -04:00
Anuken
88d1b31aff SDL module 1 2019-07-25 10:14:01 -04:00
Anuken
4db2dbff44 Merge remote-tracking branch 'origin/master' 2019-07-25 10:09:25 -04:00
Anuken
32ad577f6d Added IKVM-specific dist command 2019-07-25 10:09:21 -04:00
Anuken
3310f49f68 steamed generators 2019-07-25 00:22:33 -04:00
Anuken
bf7803d554 Implemented gamemode validation 2019-07-24 23:05:16 -04:00
Anuken
c9bd253960 Fixed drones being idiots / Added another PvP map 2019-07-24 21:25:33 -04:00
Anuken
859591cea5 Added pvp/attack map 2019-07-24 16:23:56 -04:00
Anuken
b99b13a6e4 Added mirror tool for attack/PvP maps 2019-07-24 12:07:12 -04:00
Anuken
c80be4940f Fixed unit tests / Fixed some major tile loading flaws 2019-07-23 23:29:48 -04:00
Anuken
52374ce06d Zone changes 2019-07-23 11:45:46 -04:00
Anuken
5a594f7d9a Bugfixes / unfinished new zones 2019-07-22 18:47:23 -04:00
Anuken
aff87a26ce Merge branch 'master' of https://github.com/Anuken/Mindustry 2019-07-22 17:01:55 -04:00
Anuken
18aae0cfa5 Zones 2019-07-22 16:09:50 -04:00
Anuken
6f0bc2ecf8 Minor build fixes 2019-07-22 12:42:42 -04:00
Anuken
8d2a637bd8 Fixed build errors 2019-07-22 00:56:00 -04:00
Anuken
54180c4768 Menu fix 2019-07-22 00:45:09 -04:00
Anuken
4e22384ed1 Merge branches 'master' and 'uiscale' of https://github.com/Anuken/Mindustry 2019-07-17 21:19:16 -04:00
Anuken
029f801159 Added UI scale slider 2019-07-17 17:20:21 -04:00
L5474
fd53671430 Removed duplicate of my name (#558)
just saw #557 and got reminded of this file and checked it out. Why is my name on here twice lol.
2019-07-14 15:25:42 -06:00
Anuken
7b09548261 Merge remote-tracking branch 'origin/master' 2019-07-14 15:25:38 -04:00
Anuken
63e1311656 Bugfixes / Incomplete zone description field 2019-07-14 15:25:30 -04:00
Arkanic
36a303a86f I meekly request (#557) 2019-07-14 12:19:35 -06:00
Anuken
61f903dcf1 Update InputHandler.java 2019-07-14 12:54:24 -04:00
Anuken
2a10562e9e Merge remote-tracking branch 'origin/master' 2019-07-13 14:04:06 -04:00
Anuken
d64796f32a Clamping of tree views 2019-07-13 14:04:01 -04:00
Franciszek Zaranowicz
f2d67d0a5d Loadout for non-zones maps (#535)
* Loadout for non-zones maps

* Requested Changes

* Fixed Import

* Requested Changes #2
2019-07-13 10:28:04 -06:00
Anuken
ad39a51fe8 nothing 2019-07-12 23:52:31 -04:00
Anuken
14d0927fb6 Basic deploy background 2019-07-12 01:03:01 -04:00
Anuken
1697465d0d Core balancing 2019-07-11 23:30:11 -04:00
Anuken
e52965d039 Bugfixes 2019-07-10 09:55:31 -04:00
Anuken
a8d957bf7d Update OverdriveProjector.java 2019-07-10 09:05:47 -04:00
Anuken
b6b5343e04 Cleanup 2019-07-09 15:43:11 -04:00
Anuken
d4c318438d Removed buggy limited respawns 2019-07-09 12:12:43 -04:00
Anuken
d8d04f2ac3 Moved block icons to UI atlas 2019-07-08 15:49:47 -04:00
Anuken
1c38e73290 a warning 2019-07-08 11:07:45 -04:00
Anuken
7fc6b9b940 Removed quit button on iOS as per guidelines 2019-07-08 10:54:02 -04:00
Prosta4okua
ed50ed8550 Update bundle.properties (#553)
* Update bundle.properties

* Update bundle.properties

* Update bundle.properties

* Update bundle.properties
2019-07-08 07:20:08 -06:00
Anuken
fb4c65dae0 Update AboutDialog.java 2019-07-08 08:58:31 -04:00
Anuken
fc9543baa7 Updated sprites/UI colors 2019-07-07 14:11:57 -04:00
Anuken
b0eaca091a Merge pull request #541 from CinExPL/patch-8
Update bundle_pl.properties
2019-07-06 17:13:12 -06:00
Anuken
aab13a5582 Merge branch 'master' into patch-8 2019-07-06 17:13:06 -06:00
Anuken
f852ba02d8 Merge pull request #546 from Natchuz/polish-translation
Updated bundle_pl.properties
2019-07-06 17:12:35 -06:00
Anuken
4aa074b9fc Merge pull request #547 from etaoinshrdlcumwfgypbvkjxqz/zh-TW
Update Chinese (Taiwan) translation
2019-07-06 17:12:19 -06:00
Anuken
2f7503c752 Merge pull request #548 from Prosta4okua/patch-3
Update bundle_uk_UA.properties
2019-07-06 17:12:03 -06:00
Anuken
d754593c2b Merge pull request #549 from Prosta4okua/patch-4
Update bundle_ru.properties
2019-07-06 17:11:43 -06:00
Anuken
07ea938885 Mobile fix / Readme updated 2019-07-06 19:08:16 -04:00
Anuken
ac87930672 Balancing 2019-07-06 19:02:28 -04:00
Anuken
3dfef06bba Bugfixes 2019-07-06 18:42:05 -04:00
Prosta4okua
120faf3806 Update bundle_ru.properties 2019-07-06 21:31:01 +03:00
Prosta4okua
f51f04d170 Update bundle_uk_UA.properties 2019-07-06 21:30:38 +03:00
Anuken
ec7bb78ee4 Basic UI improvements 2019-07-06 14:08:43 -04:00
Anuken
5ae1e59b5c UI 2019-07-06 12:22:10 -04:00
Anuken
e3956ebcf2 Regression fixes 2019-07-06 11:02:55 -04:00
Anuken
bb75e8f2e0 Removed loading screen 2019-07-06 10:15:21 -04:00
Anuken
a77b1416e5 Merge branches 'master' and 'new-ui' of https://github.com/Anuken/Mindustry 2019-07-06 10:13:11 -04:00
Anuken
121e0a433b Final tweaks before merge 2019-07-06 10:12:22 -04:00
Anuken
988aee3078 Fixed editor saving incorrect map size 2019-07-05 23:34:04 -04:00
William So
2bb99bb100 Update Chinese (Taiwan) translation 2019-07-06 10:55:14 +08:00
Anuken
4e7ddc7e71 Fill tool fix 2019-07-05 14:39:45 -04:00
Anuken
174caef7ca Added turret damage / Removed changelog dialog 2019-07-05 14:01:54 -04:00
Anuken
d2bb3800e3 Added version display, info dialog back 2019-07-05 13:41:22 -04:00
Anuken
f0959ab356 More UI and layout changes 2019-07-05 12:02:02 -04:00
Anuken
2c5546c6fb Slight cleanup 2019-07-04 23:40:19 -04:00
Anuken
a7a565b93e Hacky pad fix 2019-07-04 17:29:31 -04:00
Anuken
ed074bd08b UI stuff 2019-07-04 17:11:30 -04:00
Anuken
d938b22729 Fixed incorrect blend/median previews on mobile 2019-07-04 09:22:13 -04:00
Natchuz
bd88a2378f Updated bundle_pl.properties 2019-07-04 13:21:44 +02:00
Anuken
0371126ccf Various menu fixes 2019-07-04 00:51:42 -04:00
Anuken
ab36b6a2e1 Random flyers 2019-07-03 23:46:55 -04:00
Anuken
d43d4a1773 Cleanup, main menu progress 2019-07-03 23:36:51 -04:00
Anuken
0837c476a1 T 2019-07-03 20:24:11 -04:00
Anuken
77a41b1783 Actually fixed FPS cap 2019-07-03 19:11:22 -04:00
Anuken
0d39400f8b Fixed performance regression / Removed useless fallback sprites 2019-07-03 17:07:22 -04:00
Anuken
d3c8678f80 Splitting UI atlas 2019-07-03 15:59:50 -04:00
Anuken
b7008072f8 Rendering cleanup 2019-07-03 15:35:10 -04:00
Anuken
15737810f0 Fixed unit tests 2019-07-03 13:06:18 -04:00
Anuken
5036c57372 Fixed incorrect fps cap 2019-07-03 13:00:57 -04:00
Anuken
5799e6f567 Laser optimization 2019-07-03 10:41:16 -04:00
Anuken
310e8afc25 Fixed loading of older saves 2019-07-03 10:11:22 -04:00
Anuken
78215363dc Work on fixing entity ID mapping 2019-07-03 09:50:33 -04:00
Anuken
4e873f8bf3 oh no it's broken 2019-07-02 22:44:55 -04:00
Anuken
79dc116e6a Nothing interesting 2019-07-02 22:38:25 -04:00
Anuken
a7480ae656 Merge branch 'master' of https://github.com/Anuken/Mindustry 2019-07-02 18:53:43 -04:00
Anuken
62e310a776 Updated gradle to 5.5 2019-07-02 18:53:27 -04:00
Anuken
bb398a2f1e Crash fixes 2019-07-02 18:52:04 -04:00
Anuken
79ab2d122d Changed layout structure 2019-07-02 18:40:39 -04:00
Anuken
3a2f73a176 Merge branches 'master' and 'new-ui' of https://github.com/Anuken/Mindustry into new-ui 2019-07-02 18:40:14 -04:00
Anuken
217237b57e New menu background, unfinished 2019-07-02 14:42:24 -04:00
Anuken
cb7b6eb3f8 More menu 2019-07-02 10:01:34 -04:00
Anuken
6e21d7f560 menu 2019-07-01 14:30:46 -04:00
CinExPL
09d905b96f Update bundle_pl.properties
few changes ;)
2019-07-01 17:55:16 +02:00
Anuken
8f29d4871d Moved version info 2019-07-01 10:27:56 -04:00
Anuken
94f175e2cd Moved map dialog 2019-07-01 09:31:39 -04:00
Anuken
5e15c5574a menu stuff 2019-06-30 16:52:34 -04:00
Anuken
1c530a6c7a Merge + update 2019-06-30 14:13:13 -04:00
Anuken
8fc0872b90 Merge pull request #540 from xslendix/master
Fixed gradlew
2019-06-30 12:17:46 -04:00
Anuken
3021cc29da Fixed tops of some generator blocks 2019-06-30 11:25:39 -04:00
Anuken
c77f51b7ae Bugfixes 2019-06-30 10:09:20 -04:00
xSlendiX
aa39d36663 Merge pull request #1 from xslendix/xslendix-patch-1
Update gradlew
2019-06-30 13:14:58 +03:00
xSlendiX
40907db32d Update gradlew 2019-06-30 13:13:05 +03:00
Anuken
12bff75586 Various fixes 2019-06-30 00:07:04 -04:00
Anuken
8bc59fb67c Fixed startup logo not fitting on screen 2019-06-29 13:50:59 -04:00
Anuken
ab5319f3d1 Merge pull request #515 from Kieaer/patch-6
Update bundle_ko.properties
2019-06-29 13:31:49 -04:00
Anuken
6128df0062 Merge pull request #517 from DVanatic/patch-1
Request Update (bundle.in_ID.properties)
2019-06-29 13:31:40 -04:00
Anuken
142938cdca Merge pull request #521 from Prosta4okua/patch-1
Patch 1. Fight!
2019-06-29 13:31:24 -04:00
Anuken
b32efe129e Merge pull request #523 from Predator127/patch-8
Update bundle_pt_BR.properties
2019-06-29 13:31:14 -04:00
Anuken
2b20272a61 Merge pull request #525 from VizardAlpha/patch-22
Updates bundle_fr_BE.properties
2019-06-29 13:31:01 -04:00
Anuken
d9ef79a7b5 Regression fix / Slightly better server dialog 2019-06-29 13:19:53 -04:00
Anuken
576f0be4ab Fixed incorrect game-overs on zone attack maps 2019-06-29 11:02:27 -04:00
Anuken
89a4e6506f Bloom option 2019-06-29 10:40:52 -04:00
키에르
47099a8a9b Update bundle_ko.properties 2019-06-29 15:00:06 +09:00
Anuken
04dfda0c55 Some minor map tweaks and fixes 2019-06-28 23:47:43 -04:00
Anuken
22656a40b2 Bloom fix 2019-06-28 23:31:34 -04:00
Anuken
b6df916700 Map updates 2019-06-28 23:16:26 -04:00
Anuken
6fa9abd896 discard 2019-06-28 23:04:43 -04:00
Prosta4ok_ua
e239406199 Нові переклади 2019-06-25 23:16:07 +03:00
Anuken
b7a0ebad17 Merge branch 'master' of https://github.com/Anuken/Mindustry into bloom 2019-06-24 19:45:13 -04:00
Anuken
266744b1dd Fixed salvo range 2019-06-24 19:44:57 -04:00
Anuken
f8526e1ac7 Bloom 2019-06-24 19:39:57 -04:00
Anuken
ab716e96e2 Bugfixes 2019-06-24 16:54:50 -04:00
Anuken
649d527dcf Temporary loading screen 2019-06-23 14:09:29 -04:00
Anuken
c5e7ddaf7a Added option to set TextField length for showTextInput() (#534)
* Add files via upload

* Added option to set TextField length for showTextInput()

the character length default was 12, and unchangeable afaik, so I added an option to change the character length, as well as suggesting a new character length for save file's name.
(I actually have no idea if this PR can be delivered correctly, wish me luck.)

* Rename UI.java to core\src\io\anuke\mindustry\ui/UI.java

* Rename SaveDialog.java to core\src\io\anuke\mindustry\ui\dialogs\SaveDialog.java

* Delete UI.java

* Added option to set TextField length for showTextInput()

the character length default was 12, and unchangeable afaik, so I added an option to change the character length, as well as suggesting a new character length for save file's name. (I actually have no idea if this PR can be delivered correctly, wish me luck.)

* Delete UI.java

* Delete SaveDialog.java

* Add files via upload

* Add files via upload

* Delete UI.java

* Delete SaveDialog.java

* Delete core\src\io\anuke\mindustry\ui\dialogs\SaveDialog.java

* Delete Mindustry-64.zip
2019-06-23 12:45:37 -04:00
Anuken
b2a4cb42cf Sprite updates 2019-06-23 12:36:13 -04:00
Anuken
3fc5941f54 Wiki whitespace fix 2019-06-23 11:16:11 -04:00
Anuken
741360022b Typo 2019-06-23 11:03:05 -04:00
Anuken
86e2f62aed Fixed locales not generating 2019-06-23 10:52:03 -04:00
Anuken
e552915637 Test 2 2019-06-23 10:33:25 -04:00
Anuken
98a51c1f61 Testing improved deployment script 2019-06-23 10:29:22 -04:00
(G_H)
aa84eefa8f Merge branch 'master' into GH-v80 2019-06-23 21:07:06 +08:00
(G_H)
22e12ce3e5 Delete Mindustry-64.zip 2019-06-23 20:22:22 +08:00
(G_H)
f4a82b5c01 Delete core\src\io\anuke\mindustry\ui\dialogs\SaveDialog.java 2019-06-23 20:22:13 +08:00
(G_H)
60520ea855 Delete SaveDialog.java 2019-06-23 17:59:36 +08:00
(G_H)
b70a0869cd Delete UI.java 2019-06-23 17:59:24 +08:00
(G_H)
7bdd21bb75 Add files via upload 2019-06-23 17:59:14 +08:00
(G_H)
0dd3736f2a Add files via upload 2019-06-23 17:58:42 +08:00
(G_H)
deb2d30706 Delete SaveDialog.java 2019-06-23 17:57:30 +08:00
(G_H)
c416e1546d Delete UI.java 2019-06-23 17:57:16 +08:00
(G_H)
6d3a67ae59 Added option to set TextField length for showTextInput()
the character length default was 12, and unchangeable afaik, so I added an option to change the character length, as well as suggesting a new character length for save file's name. (I actually have no idea if this PR can be delivered correctly, wish me luck.)
2019-06-23 17:55:12 +08:00
(G_H)
6b60147152 Delete UI.java 2019-06-23 17:52:45 +08:00
Anuken
8c91aca838 New maps / New generation filter(s) and tweaks 2019-06-22 20:40:53 -04:00
Anuken
b47e282747 Merge branch 'master' of https://github.com/Anuken/Mindustry 2019-06-21 16:16:28 -04:00
(G_H)
134d0e7e4a Rename SaveDialog.java to core\src\io\anuke\mindustry\ui\dialogs\SaveDialog.java 2019-06-22 00:50:46 +08:00
(G_H)
26b596760b Rename UI.java to core\src\io\anuke\mindustry\ui/UI.java 2019-06-22 00:49:39 +08:00
(G_H)
8a5e15e82d Added option to set TextField length for showTextInput()
the character length default was 12, and unchangeable afaik, so I added an option to change the character length, as well as suggesting a new character length for save file's name.
(I actually have no idea if this PR can be delivered correctly, wish me luck.)
2019-06-22 00:32:17 +08:00
Anuken
ffb5eee62a Update BuilderTrait.java 2019-06-21 09:11:17 -04:00
Anuken
387d9b39da Icon fixes 2019-06-20 22:20:25 -04:00
Anuken
43b5cb62bb Fixed #530 / Better icons / Server list ordering 2019-06-20 22:12:17 -04:00
Anuken
580923a646 Render tests 2019-06-20 16:27:57 -04:00
Anuken
06444f497b Internal tool changes 2019-06-20 15:34:48 -04:00
Anuken
1676ad5f1b Bugfixes 2019-06-20 09:14:47 -04:00
Anuken
478d86677d Fixed boulder sprites 2019-06-20 00:16:22 -04:00
Anuken
c5e0db8de9 Why are these synced? 2019-06-19 22:59:28 -04:00
Anuken
228690b400 Fixed net disconnect error 2019-06-19 22:20:45 -04:00
Anuken
1fe30bc466 Branch created 2019-06-19 22:20:17 -04:00
Anuken
8e95be0ac2 Crash fix + drill balance 2019-06-19 21:41:49 -04:00
Anuken
47b1e700ea Fixed travis syntax error 2019-06-19 18:11:08 -04:00
Anuken
3ad1949727 Minor tweaks before release 2019-06-19 18:04:31 -04:00
Anuken
441680861e Player spawning bugfix 2019-06-19 13:32:38 -04:00
키에르
5e848ecbb3 Update bundle_ko.properties 2019-06-19 19:38:55 +09:00
Anuken
c9520e607f Implemented craters map, again / Disabled unit editing 2019-06-18 20:45:21 -04:00
Anuken
40a8c52ba1 Testing travis build again 2019-06-18 18:41:03 -04:00
Anuken
cb6ffd7810 Testing travis wiki building 2019-06-18 18:30:43 -04:00
Anuken
185a7bb7d8 Bugfixes / Sprite update / Multiplayer in-game editor / Drone tweaks 2019-06-17 21:35:19 -04:00
Anuken
bc3405d11d Bugfixes 2019-06-17 15:45:10 -04:00
Anuken
2804361436 Bugfix 2019-06-17 12:18:10 -04:00
Anuken
4f40f3c4b2 More sprite updates 2019-06-17 10:08:24 -04:00
Anuken
897c55c410 Bugfixes 2019-06-16 23:38:50 -04:00
Anuken
9e97b5851e Where did that go? 2019-06-16 19:11:41 -04:00
Anuken
625fbdb2d7 Auto-rebuilding enemy drones / GC improvements 2019-06-16 18:50:51 -04:00
키에르
0f32d3f619 Update bundle_ko.properties 2019-06-16 13:31:16 +09:00
Anuken
273c74b275 Many things 2019-06-15 23:26:43 -04:00
Anuken
2500d0a930 Fixed maps getting rejected even with cores 2019-06-14 23:03:19 -04:00
Anuken
25bf3be009 Merge remote-tracking branch 'origin/master' 2019-06-14 21:07:10 -04:00
Anuken
910dab1896 More drone changes 2019-06-14 21:06:58 -04:00
Arkanic
6198ad557a English bundle graphite description (#528)
* added graphite description

graphite now has a description
Yay. my fist commit

* fixed grammar

thanks @anuken
2019-06-14 18:40:05 -04:00
Anuken
89b3d3b670 Removed difficulty 2019-06-14 15:53:09 -04:00
Anuken
122f43ddb9 Fixed unit tests 2019-06-14 15:07:39 -04:00
Anuken
50104d2532 Fixed door toggle 2019-06-14 13:29:40 -04:00
Prosta4ok_ua
f5f30d6026 Add new strings 2019-06-14 14:35:15 +03:00
Anuken
114cd48521 Actually functional builder drones 2019-06-13 22:34:24 -04:00
Anuken
548da3ea5f Further drone splitting / Even drone player distribution 2019-06-13 22:22:25 -04:00
Anuken
2a8b8d040b Fixed deconstruction exploit 2019-06-13 20:17:48 -04:00
Nathan R
0dc2d4445b Fixed download image (#526) 2019-06-13 19:00:52 -04:00
Anuken
8ac497354a Miner drone / Editor bugfixes 2019-06-12 22:09:24 -04:00
Anuken
0cbbcc00a5 Zone rules moved to maps 2019-06-12 19:25:22 -04:00
Anuken
5cfab33ada Fixed unit tests / Fixed zones having incorrect waves 2019-06-12 18:42:12 -04:00
Anuken
18328320c1 Fixed black blocks/units after quit / Fixed intense wave spawn lag 2019-06-12 18:07:19 -04:00
Anuken
73c48afc99 Save loading regression tests 2019-06-12 15:52:47 -04:00
Anuken
62bd0442df Testing loading of old saves 2019-06-12 15:29:41 -04:00
Anuken
0aee75c1c1 Splitting of building+mining into separate traits 2019-06-12 14:03:50 -04:00
Anuken
dc3c27297f Team drawing 2019-06-12 10:28:38 -04:00
Anuken
9363946874 Fixed terminology 2019-06-11 23:39:01 -04:00
Anuken
df78412896 Desktop/mobile descriptive tool modes 2019-06-11 23:31:57 -04:00
Anuken
16190aa878 Better server discovery 2019-06-11 13:01:28 -04:00
VizardAlpha
e6e5b95adc Update bundle_fr_BE.properties 2019-06-11 16:34:08 +02:00
VizardAlpha
990adcd3b3 Updates bundle_fr_BE.properties 2019-06-11 16:23:50 +02:00
Anuken
75a5bbdbb1 Start on multicast 2019-06-11 10:05:35 -04:00
Anuken
af1746932f Fixed incorrect scaling 2019-06-11 08:47:16 -04:00
Predator127
56ff5689f4 Update bundle_pt_BR.properties
Revised translation with a better vocabulary
2019-06-10 22:02:15 -03:00
Anuken
0dd15f3141 Fixed build errors 2019-06-10 18:51:06 -04:00
Anuken
72fb7b9df7 Net refactor 2019-06-10 18:46:58 -04:00
Anuken
d7e1297cce Tweaks 2019-06-10 15:14:57 -04:00
Anuken
3c9d4ee38f Merge remote-tracking branch 'origin/master' 2019-06-10 13:55:40 -04:00
Anuken
828e6bb1b7 New changes, possible fixes to UI layout bugs 2019-06-10 13:55:18 -04:00
Zachary
6e42d59716 Update README.md (#522)
fixed the google play store image L0L uWu
2019-06-10 11:29:05 -04:00
Prosta4ok_ua
6f589b5c84 Hello everyone 2019-06-10 18:20:08 +03:00
Anuken
6d1b8b81fa Bugfixes 2019-06-10 10:11:28 -04:00
키에르
cddd7e0e94 Update bundle_ko.properties 2019-06-10 19:42:12 +09:00
Anuken
340bc5f2f7 Ground zero map updated 2019-06-09 23:29:10 -04:00
DVanatic
ecd117cd58 Request Update (bundle.in_ID.properties)
I have read the guides and yes, i know the consequence of translating all lines despite it going to change soon-ish. i've been a diehard fan of this game since i saw it and really interested in following and working with this game's development!
2019-06-10 08:39:00 +07:00
Anuken
ea0788f56c Better wave timer / Sprite tweaks / Core wave spawns 2019-06-09 21:09:29 -04:00
Anuken
4199702b9b Updated turret sprites 2019-06-09 14:46:48 -04:00
Anuken
5946aaa31f Merge remote-tracking branch 'origin/master' 2019-06-09 12:04:49 -04:00
Anuken
444b5dbd97 Turret balance / Bugfixes 2019-06-09 12:04:45 -04:00
키에르
695ccfcc4d Update bundle_ko.properties 2019-06-09 18:34:45 +09:00
Fenr1r
a6d5bdd001 Fix some mistyping and refactoring (#503)
* remove unused import

* fix mixtyping (duplicated ;)

* remove redundant type casting
detail: item's type is defined as short.

* Revert "remove redundant type casting"

This reverts commit 39bf91d9ff.
2019-06-08 23:20:47 -04:00
Anuken
bd4d8efd78 Fixed invisible ship bug 2019-06-08 22:20:30 -04:00
Anuken
53baad766f More balancing and cleanup 2019-06-08 17:34:29 -04:00
Anuken
8ac746188b Unit pad balance 2019-06-08 17:22:46 -04:00
Prosta4okua
62dbce089f Update bundle_ru.properties 2019-06-08 22:42:36 +03:00
Anuken
fd5d0b2cbb Fixed PvP core assignment 2019-06-08 14:41:35 -04:00
Anuken
6226e0c5a3 Fixed old pathfinding targets not resetting on death 2019-06-08 13:04:26 -04:00
Anuken
01a9be835f what 2019-06-08 12:29:27 -04:00
Anuken
97eb66b0a5 Bundle update 2019-06-08 12:11:32 -04:00
Anuken
048c5e68f1 Crash fix 2019-06-08 11:28:33 -04:00
Anuken
8f39def993 Changed wiki link to point to unfinished 4.0 wiki 2019-06-08 10:56:47 -04:00
Anuken
0be674d7af Changed back overflow gate speed 2019-06-08 10:48:32 -04:00
Anuken
e6499f7e5a Bugfixes 2019-06-08 10:41:22 -04:00
Anuken
10bd1d1969 Fixed #509 2019-06-08 10:05:08 -04:00
Anuken
ec94267b8e Update ServerControl.java 2019-06-08 09:23:15 -04:00
Anuken
d3ad113bf5 Update ServerControl.java
;
2019-06-08 09:18:39 -04:00
Anuken
8d7242a1ef Update ServerControl.java 2019-06-08 09:08:49 -04:00
Anuken
13879dd374 Fixed #513 2019-06-07 18:58:07 -04:00
Anuken
0f519fd358 Bugfixes for 78.1 2019-06-07 17:34:46 -04:00
Anuken
e7fb128499 Fixed sorter loading 2019-06-07 16:13:48 -04:00
Anuken
c2d619cb7f Save IO fixes 2019-06-07 16:06:23 -04:00
Anuken
78176cca90 unused -> unchecked 2019-06-07 15:06:17 -04:00
Anuken
dbc49649c0 Merge remote-tracking branch 'origin/master' 2019-06-07 15:04:43 -04:00
Anuken
49ee821029 More stuff fixed / Contributor list 2019-06-07 15:03:01 -04:00
Anuken
e1499330bc Merge pull request #508 from VizardAlpha/patch-21
Updates bundle_fr_BE.properties
2019-06-07 14:19:21 -04:00
Anuken
222175e005 Merge pull request #497 from ZacBytes/patch-5
Update bundle_zh_CN.properties
2019-06-07 14:18:40 -04:00
Anuken
388927715e Merge branch 'master' into patch-5 2019-06-07 14:18:33 -04:00
Anuken
ac9e1febfb Merge pull request #492 from MrPickles14/patch-2
Update bundle_fr.properties
2019-06-07 14:16:08 -04:00
Anuken
e47836cc64 Merge branch 'master' into patch-2 2019-06-07 14:16:00 -04:00
Anuken
f8f48f1c88 Merge pull request #491 from MrPickles14/patch-1
Update bundle_fr.properties
2019-06-07 14:14:29 -04:00
Anuken
95e8a603a5 Merge pull request #489 from Kieaer/patch-5
bundle_ko
2019-06-07 14:14:03 -04:00
Anuken
c400fd88f3 Merge pull request #487 from beito123/master
Update Japanese translations
2019-06-07 14:13:06 -04:00
Anuken
095d90fd22 Merge pull request #484 from Deyvid67/patch-2
Update bundle_pt_BR.properties
2019-06-07 14:11:47 -04:00
Anuken
797be92ddd Merge pull request #482 from laohuaji233/patch-7
Update bundle_zh_CN.properties
2019-06-07 14:11:32 -04:00
Anuken
7f23bd694c Merge pull request #480 from Prosta4okua/patch-1
Update bundle_uk_UA.properties
2019-06-07 14:11:15 -04:00
Anuken
1cbf8b960a Added clarifying mode descriptions 2019-06-07 14:10:23 -04:00
Anuken
c8ce195522 Reverted buffers / Added Dexapnow's fixed zone maps [untested] 2019-06-07 14:07:32 -04:00
Anuken
4458ae042e hhh 2019-06-07 11:18:06 -04:00
Anuken
1c3d7c1c73 Merge branch 'master' of https://github.com/Anuken/Mindustry 2019-06-07 10:25:14 -04:00
Anuken
cb3bbd169f Map temporarily removed 2019-06-07 08:57:51 -04:00
Anuken
ab107bfc0d Additional default wave tweaks 2019-06-07 08:49:41 -04:00
Anuken
d0b5b49bf8 Fixed many various bugs 2019-06-06 23:29:21 -04:00
Anuken
1b4b1d5c9f Maps updated / 100 starting copper in custom maps 2019-06-06 22:45:25 -04:00
Anuken
aee800ab7a Changed turret outlines / Wall block tweaks 2019-06-06 21:18:54 -04:00
Anuken
895b46307a Sprite tweaks 2019-06-06 18:47:53 -04:00
Anuken
d300d45f22 Fixed unit factory sprites 2019-06-06 15:38:19 -04:00
Anuken
dd05f5278c Merge branch 'master' of https://github.com/Anuken/Mindustry 2019-06-06 12:05:46 -04:00
Anuken
1897008c72 Pump sprites 2019-06-06 10:27:11 -04:00
VizardAlpha
328cdac60f Update bundle_fr_BE.properties 2019-06-06 15:38:24 +02:00
Anuken
3942c6cd55 Even more sprites cleaned up 2019-06-06 00:28:09 -04:00
Anuken
f0f7b5aaf7 Updated sprites 2019-06-05 21:29:34 -04:00
키에르
3ad9e44891 Update bundle_ko.properties 2019-06-05 23:05:01 +09:00
Anuken
80bdaa1edc Cleanup 2019-06-04 23:30:07 -04:00
Anuken
39acb224d1 Merged replacement sprites. Scaling is now disabled by default. 2019-06-04 22:54:01 -04:00
Anuken
f51d565db8 Darker decals / map tweaks 2019-06-04 22:06:17 -04:00
Anuken
d608cf6536 Fixed player respawning at editor location 2019-06-04 20:52:58 -04:00
Anuken
0b49bd1985 Pathfinding tweak / Doors now update pathfinding 2019-06-04 17:10:45 -04:00
Anuken
fce69005a9 Islands map 2019-06-03 22:09:43 -04:00
Anuken
b73420b156 Added map assets 2019-06-02 23:15:36 -04:00
Anuken
fb863cb39b Editor bugfixes / Median filter 2019-06-02 17:45:44 -04:00
Anuken
8247ff15ed Fixed invalid phase weaver shader 2019-06-02 10:42:44 -04:00
Anuken
af8db9062c Balance 2019-06-01 23:16:59 -04:00
VizardAlpha
9039d52817 Updates bundle_fr_BE.properties 2019-06-01 23:12:52 +02:00
Anuken
88d5e1cca8 Fixed low-FPS pad orbiting 2019-06-01 15:16:10 -04:00
Anuken
57544e615f Removed event inheritance 2019-06-01 14:24:52 -04:00
Anuken
61a92d55ae Balance / UUID logging in d/c messages 2019-05-31 19:55:09 -04:00
Anuken
940965f03d .mmap file importing / Better exception parsing 2019-05-31 10:24:51 -04:00
Anuken
30a254e9be decoupling editor/MapEditor from editor/OperationStack (#504) 2019-05-31 09:11:16 -04:00
Anuken
581782af28 Mass driver power fix / Bugfixes 2019-05-31 09:10:37 -04:00
Anuken
72cad1409f Bugfixes / Balance of fuse 2019-05-30 23:05:15 -04:00
Anuken
e7e4985761 Fixed maps converting improperly / Minor balancing 2019-05-30 20:47:47 -04:00
Prosta4okua
cdb3d29767 Update bundle_uk_UA.properties 2019-05-30 09:56:57 +03:00
Prosta4okua
90fe5329e3 Update bundle_uk_UA.properties 2019-05-30 09:53:37 +03:00
Prosta4okua
22e20cb2da Update bundle_ru.properties 2019-05-30 09:51:54 +03:00
Anuken
a3454e50d7 Merge 2019-05-30 00:27:05 -04:00
Anuken
75b8f5e543 Properly rounded sprites for 'source/sorter' blocks 2019-05-29 23:42:03 -04:00
Anuken
1a0b22ef15 Overflow gate delay 2019-05-29 22:57:32 -04:00
Anuken
bc78d1a561 Balancing 2019-05-29 22:29:49 -04:00
Anuken
00b953a04e Spawnpoint repultion 2019-05-29 21:41:56 -04:00
Doyoung Gwak
aa0ef529f5 decoupling editor/MapEditor from editor/OperationStack 2019-05-29 00:04:42 +09:00
Anuken
bd134bf9c9 Cleanup 2019-05-28 09:24:13 -04:00
Anuken
752267c521 Fixed many various map bugs 2019-05-26 16:46:44 -04:00
Anuken
34635e3460 Fixed fire not syncing 2019-05-26 11:03:49 -04:00
Anuken
ba0b4513f1 New tile transitions 2019-05-25 23:56:21 -04:00
Anuken
4764808450 Merge remote-tracking branch 'origin/master' 2019-05-25 21:10:47 -04:00
Anuken
c66fd67510 Fixed #500 / Fixed units not appearing in edited maps 2019-05-25 21:10:42 -04:00
Fenr1r
3997ca6454 Minor fix - rename some variable on editor. (#495)
- editor/EditorTool.java
- editor/MapInfoDialog.java
- editor/MapRenderer.java
2019-05-25 12:08:00 -04:00
Anuken
4242100c53 More descriptive entity load errors 2019-05-25 12:01:55 -04:00
Anuken
32adcc3676 Merge remote-tracking branch 'origin/master' 2019-05-22 21:07:13 -04:00
Anuken
80c26606f0 Fixed unit duplication 2019-05-22 21:07:08 -04:00
Fenr1r
a7852098f1 Remove code duplication and rename set/get method on editor/DrawOperation.java (#496)
- remove code duplication in undo and redo method
- rename set/get method to setTile/getTile
2019-05-22 10:06:43 -04:00
Anuken
72638fc215 Merge branch 'master' of https://github.com/Anuken/Mindustry 2019-05-21 13:19:27 -04:00
Zachary
65418529cd Update bundle_zh_CN.properties
Skrttt Skrrtt Vroom Vroom

Translated some new stuff
2019-05-21 23:00:01 +08:00
Prosta4ok_ua
ceea0d1730 Hmmmm
Hmmmm
2019-05-20 21:25:16 +03:00
키에르
764ea699b1 Update bundle_ko.properties 2019-05-20 13:14:59 +09:00
Anuken
bdb7f522fb Balancing / Item tweaks 2019-05-19 17:50:11 -04:00
Anuken
2461331e32 Fixed wave turret being sporadic / Fixed unnecessary fluid usage 2019-05-19 09:09:22 -04:00
Anuken
3464f40da3 Fixed unit pads, rule selection, gameover state 2019-05-18 10:02:36 -04:00
Anuken
3b2b79d539 Buffed impact reactor 2019-05-17 18:10:03 -04:00
Anuken
8616fc6b05 Made invalid legacy maps be properly discarded 2019-05-16 17:15:22 -04:00
Anuken
9e9c001422 Cleanup 2019-05-16 15:16:17 -04:00
Anuken
93bbd34055 ...except overflow gates 2019-05-16 11:44:02 -04:00
Anuken
cac953e812 Buffers for everything 2019-05-16 11:43:02 -04:00
Anuken
aeb3662414 Bugfixes 2019-05-15 17:40:31 -04:00
Prosta4ok_ua
1687ce3182 Added new translations 2019-05-14 23:59:24 +03:00
Anuken
2888e87bb8 Map conversion fix 2019-05-14 16:38:49 -04:00
Anuken
094ebb8020 Removed some TODOs 2019-05-14 13:18:05 -04:00
Anuken
54ad52edc2 Merging of map saves 2019-05-14 11:54:22 -04:00
Anuken
0e869f3cb5 Fixed rules not saving / Memory usage reduction 2019-05-14 11:48:14 -04:00
Anuken
4d40af6ac0 More helpful in-game edit button 2019-05-13 11:47:38 -04:00
Anuken
79a2f31056 Fixed unit tests 2019-05-13 11:32:57 -04:00
Anuken
b2341bf75c Added map default rule editing 2019-05-13 11:31:25 -04:00
Anuken
c4c4b473e5 Server cleanup 2019-05-13 00:43:06 -04:00
Anuken
6e26ccf25d Removed unnecessary inheritance 2019-05-12 23:50:33 -04:00
Anuken
83bfad3546 Fixed server compilation 2019-05-12 20:01:59 -04:00
Anuken
90f6fff1ae Layout fixes 2019-05-12 19:55:26 -04:00
Anuken
52f2b52990 Somewhat functional rule selection 2019-05-12 19:43:23 -04:00
Anuken
48ed4b0e49 Fixed startup crash / Fixed editor rule issue 2019-05-12 12:51:25 -04:00
Anuken
c3c609e7b9 Fixed invisible enemies 2019-05-12 12:38:40 -04:00
Anuken
6cd8fa6b0c Removed unused support library dependency 2019-05-12 12:16:46 -04:00
Anuken
ffb6d398d7 Layout fixes 2019-05-12 12:00:19 -04:00
Anuken
52674b4668 Mobile diagonal toggle / Cancel button moved 2019-05-12 11:19:31 -04:00
Anuken
4ae2370137 New WIP custom map selection 2019-05-12 10:32:08 -04:00
키에르
cee55afa5c Update bundle_ko.properties 2019-05-12 15:46:03 +09:00
키에르
f998bbbe4c Update bundle_ko.properties 2019-05-12 14:45:25 +09:00
Anuken
e5d19a9819 Entity placement/removal 2019-05-11 21:42:06 -04:00
Anuken
dd75d88d2f Unit creation, team switch 2019-05-11 12:32:13 -04:00
Anuken
65ea01218a Fixed core-less editor gameover, respawning 2019-05-11 00:58:13 -04:00
Anuken
7a2234cd25 Tweaks to improve in-game editing 2019-05-11 00:37:29 -04:00
Anuken
11ede2756e Functional in-game map edits and loading 2019-05-10 20:25:09 -04:00
Anuken
3e51fab387 In-game editing (broken) 2019-05-10 19:13:55 -04:00
Anuken
962f413421 Cleanup 2019-05-10 16:16:21 -04:00
Anuken
ae6c938abb Merge remote-tracking branch 'origin/master' 2019-05-10 16:02:15 -04:00
Anuken
68faae69c5 Fixed compilation errors / Re-added basic trace dialog 2019-05-10 16:02:05 -04:00
MrPickles14
08edce7906 Update core/assets/bundles/bundle_fr.properties
Co-Authored-By: Math2128 <math2128@gmail.com>
2019-05-10 14:32:24 -04:00
MrPickles14
55eb493d1f Update bundle_fr.properties
J'ai changé 2 ou 3 trucs et ajouté des traductions qui n'étaient pas faites
2019-05-10 14:30:38 -04:00
Anuken
d6be07f1b8 Fixed crash 2019-05-10 13:42:04 -04:00
Anuken
064a012b25 Map previews functional 2019-05-10 12:57:45 -04:00
MrPickles14
df26148e7c Update bundle_fr.properties 2019-05-10 12:23:21 -04:00
Anuken
d26f533111 Basic non-in-game editor functionality 2019-05-10 00:01:48 -04:00
Anuken
69575dbab3 Fixed multiblocks not drawing 2019-05-09 18:10:12 -04:00
Anuken
9f4a430412 Fixed tests 2019-05-09 14:39:52 -04:00
Anuken
23843be981 More bugfix stuff 2019-05-09 12:57:00 -04:00
Anuken
486e3ffc0a Actual map conversion, loading of saves 2019-05-09 10:53:52 -04:00
Anuken
8127e5a66f Made save format actually functional, many things still broken 2019-05-08 23:16:08 -04:00
Anuken
53167a3b52 Map conversion code 2019-05-07 17:30:37 -04:00
Anuken
1b77247c40 wow it builds 2019-05-07 11:56:17 -04:00
Leone25
24374cf7e3 Update bundle_it.properties (#490)
please merge as soon as possible
2019-05-07 09:34:42 -04:00
Anuken
88de54ec90 Further unfinished map tweaks 2019-05-06 18:32:18 -04:00
Anuken
3035d569cc Editor<->world data merging 2019-05-06 17:03:53 -04:00
Anuken
51f9ad5a2c many things 2019-05-06 14:34:21 -04:00
키에르
bb322f1bff Update bundle_ko.properties 2019-05-06 16:20:54 +09:00
키에르
72843e9c92 Update bundle_ko.properties 2019-05-06 16:19:20 +09:00
Anuken
20fbe2fbbe even less broken 2019-05-05 22:09:02 -04:00
Anuken
bf073a84c8 a bit less broken but still broken 2019-05-05 19:05:46 -04:00
Anuken
35b158dba7 everything is borked 2019-05-05 14:16:34 -04:00
Anuken
465c0e7dc3 Merge branch 'master' of https://github.com/Anuken/Mindustry 2019-05-05 12:50:04 -04:00
Anuken
eb4f6f2e9f Merge branch 'master' of https://github.com/Anuken/Mindustry into save-rewrite 2019-05-05 12:39:38 -04:00
Anuken
0ff56e3a68 Fixed meltdown not firing when cheating 2019-05-05 12:36:30 -04:00
Anuken
4ddc59589c Error display 2019-05-05 12:19:32 -04:00
Anuken
1e15d7a33e Fixed some power/save/pathfinding bugs 2019-05-05 12:14:42 -04:00
Prosta4ok_ua
e4e2b6ab00 Hmmmmmm 2019-05-05 18:37:24 +03:00
Anuken
af67690e75 WIP save refactoring 2019-05-05 11:36:38 -04:00
beito123
b37ae484c0 Update Japanese translations 2019-05-05 23:39:15 +09:00
Anuken
13969bdd29 Fixed shields not working / Fixed player text not fading 2019-05-04 22:33:08 -04:00
Anuken
a3f5583326 Fixed tar fields 2019-05-04 22:17:17 -04:00
Anuken
f137c11c6c Harder default waves 2019-05-04 17:14:47 -04:00
Anuken
8d6afbd80d Trim console output even more 2019-05-04 14:22:13 -04:00
Anuken
c46fa206f6 Removed unnecessary logging 2019-05-04 14:01:06 -04:00
Anuken
e8da206389 Enable heap dump on server crash 2019-05-04 13:17:31 -04:00
beito123
18f1b5f9d2 Update Japanese translations 2019-05-05 01:52:35 +09:00
Anuken
b2b8cf2357 Server local command handling from sockets 2019-05-04 12:36:24 -04:00
Anuken
a4fd88a440 Bugfixes 2019-05-04 10:44:21 -04:00
beito123
96a92fd85f Update Japanese translations 2019-05-04 18:42:05 +09:00
beito123
e5175d6309 Update Japanese translations 2019-05-04 18:37:44 +09:00
beito123
b5ceee3336 Merge remote-tracking branch 'upstream/master' 2019-05-04 16:42:48 +09:00
Anuken
a1624f61ae Minor turret balancing 2019-05-03 22:58:06 -04:00
Anuken
5ee26fc3f4 Fixed power tests 2019-05-03 22:26:37 -04:00
Anuken
93ffb66e59 Fixed all known issues with power system 2019-05-03 21:19:41 -04:00
Anuken
4b9bcfb014 Crash fix 2019-05-03 10:26:56 -04:00
Anuken
a161c09441 Switched default mech to dart / Bugfixes 2019-05-03 09:21:45 -04:00
Anuken
0c396f76b2 Fixed impact reactor warming up without satisfied power 2019-05-03 00:13:37 -04:00
Anuken
b2408b1a7c New block stats / Junction bugfixes 2019-05-02 23:10:41 -04:00
Deyvid67
c97826ed29 Update bundle_pt_BR.properties 2019-05-02 14:33:29 -03:00
Anuken
9c653a46bc Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/src/io/anuke/mindustry/game/Version.java
2019-05-02 12:59:05 -04:00
Anuken
eaa2ad4f05 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/assets/bundles/bundle.properties
2019-05-02 08:57:09 -04:00
Anuken
88ce7837a6 Partial power usage / Drill ID priority / Liquid source deselect 2019-05-02 08:56:29 -04:00
beito123
9f5a183793 Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	core/assets/bundles/bundle_ja.properties
2019-05-02 20:08:10 +09:00
Anuken
c2a6690d24 Merge branch 'master' of https://github.com/Anuken/Mindustry 2019-05-01 20:52:02 -04:00
Anuken
5e5b719704 Added version toggle 2019-05-01 20:51:44 -04:00
L5474
4054c7d12d fix #481 + capitalization (#483)
hope you're happy based
2019-05-01 15:40:37 -04:00
laohuaji233
bb5e454b91 Update bundle_zh_CN.properties
Most of them have been translated into Chinese, but there are still some uncertainties.
2019-05-01 23:19:27 +08:00
Prosta4okua
ffb12f9c0b Update bundle_ru.properties 2019-05-01 18:18:01 +03:00
Prosta4okua
a89786d079 Update bundle_uk_UA.properties 2019-05-01 18:17:35 +03:00
Anuken
2d3fd513d8 1 2019-05-01 11:12:27 -04:00
Prosta4ok_ua
271d01dc9d Tar fields, Overgrowth, Dart Mech Pad 2019-05-01 13:16:12 +03:00
Prosta4okua
d3ffaea042 Update bundle_uk_UA.properties 2019-05-01 11:36:13 +03:00
Anuken
404b593ab8 Merge remote-tracking branch 'origin/master' 2019-04-30 23:58:51 -04:00
Anuken
b9f1dea914 Removed gen tweaks 2019-04-30 23:57:56 -04:00
Anuken
f3385e6453 Pruned bundles 2019-04-30 23:34:41 -04:00
Anuken
a2e55f7861 Removed creeptree for now 2019-04-30 13:09:40 -04:00
Anuken
761e0114a5 Apparent typo fix 2019-04-30 12:56:57 -04:00
laohuaji233
dcae128d06 Update bundle_zh_CN.properties (#475)
more translations
2019-04-30 12:49:39 -04:00
J-VdS
a891a8badc NL_BE bundle progress (Fishbuilder) (#474)
* Create bundle_nl_BE.properties

work in progress, just to save the file

* tot 148
2019-04-30 12:47:54 -04:00
Zachary
f3ec5b533e Update bundle_ja.properties (#473)
Translated like one name lmao
2019-04-30 12:47:42 -04:00
Zachary
d50397edf1 Update bundle_zh_CN.properties (#472)
Translated more block names.
2019-04-30 12:47:32 -04:00
Deyvid67
49986f22c8 Update bundle_pt_BR.properties (#469) 2019-04-30 12:47:26 -04:00
Predator127
70f279d978 Update bundle_pt_BR.properties (#467)
This is an updated version of the Brazillian translation, Made by Hanko
2019-04-30 12:46:01 -04:00
VizardAlpha
84c5a75b6c Updates bundle_fr_BE.properties (#462)
* Updates bundle_fr_BE.properties

* Update bundle_fr_BE.properties

* Update bundle_fr_BE.properties
2019-04-30 12:45:38 -04:00
Paul T
97663e87a6 Update bundle_de.properties (#452)
* Update bundle_de.properties

* Update bundle_de.properties
2019-04-30 12:45:06 -04:00
laohuaji233
5956edcb8e Update bundle_zh_CN.properties (#453)
More translations
2019-04-30 12:44:57 -04:00
Prosta4okua
7e975f2134 Update bundle_uk_UA.properties and bundle_ru.properties (#454)
* Update bundle_uk_UA.properties

Виправив помилку, переклав Slag.

* Update bundle_uk_UA.properties

Додав переклад дьогтю

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_ru.properties

Commit from Github Desktop

* Update bundle_ru.properties

* New translations was added

Salt Rocks and Pebbles

* Update bundle_ru.properties

* Update bundle_ru.properties

* New text

* Fix error

* Update bundle_ru.properties

* Add new translations

* Add Solonchaki :D

* 1
2019-04-30 12:44:41 -04:00
키에르
40de13f9c7 Update bundle_ko.properties (#457)
* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

*  Apr 22, 2019

* fix typo

* Update bundle_ko.properties
2019-04-30 12:44:08 -04:00
Dominik
70946539e3 Update bundle_pl.properties (#458)
Translated: wave info, generate, ammo info, drill, power efficency
2019-04-30 12:43:20 -04:00
CinExPL
996c594dfc Update bundle_pl.properties (#460)
Improvements based on comparison with original bundle file.
2019-04-30 12:39:00 -04:00
Anuken
d8eeb79b63 Un-debugged content 2019-04-30 12:29:19 -04:00
Anuken
cf61dd0704 Removed antialiasing due to bugs / Improved default waves 2019-04-30 12:05:01 -04:00
Anuken
6fd5f1563a Fixed incorrect power source sprite 2019-04-30 00:07:38 -04:00
Anuken
3c643c917a Map bugfixes / Sprite tweak / Zone loadout moved to dialog 2019-04-29 23:58:16 -04:00
Anuken
378be0ef86 Better Discord presence 2019-04-29 13:34:27 -04:00
Anuken
29e90969eb Removed UIUtils 2019-04-29 11:50:49 -04:00
Anuken
fb724514f3 Fixed portrait custom game dialog 2019-04-29 11:27:15 -04:00
Anuken
1f11da75d2 Push test 2019-04-29 08:34:40 -04:00
beito123
a2fa65330d Update Japanese translations 2019-04-29 17:40:03 +09:00
beito123
d3af66b7ed Merge remote-tracking branch 'upstream/master' 2019-04-29 17:18:16 +09:00
Anuken
fcc433fe17 Zone balancing 2019-04-28 22:03:26 -04:00
Anuken
617bdf9910 New zone maps / Dark map border / Tweaks 2019-04-28 20:25:41 -04:00
Anuken
3b2aa92eb7 Visual server respawning fix 2019-04-28 10:51:14 -04:00
Anuken
4c17b56e28 Less messy respawning / Standard starter mech / Bugfixes 2019-04-28 10:34:53 -04:00
Anuken
ad13c83f93 Fixed gen copying for earlier versions of IntelliJ 2019-04-27 09:58:14 -04:00
Anuken
768d67a8ae Updated desolate rift / Spawning fixes 2019-04-26 23:23:45 -04:00
Anuken
d827cda395 Fixed dispose() causing crash 2019-04-26 11:32:38 -04:00
Anuken
106e6c98a3 Disabled liquid ore placement 2019-04-26 11:31:55 -04:00
Anuken
e7ad797d4e Fixed unit tests 2019-04-26 11:23:41 -04:00
Anuken
6e1fb71194 Bugfixes 2019-04-25 21:53:17 -04:00
Anuken
9f5dc7f091 Fixed obscure zone test bug 2019-04-25 12:25:45 -04:00
Anuken
57b273639c Entity cleanup 2019-04-25 12:01:14 -04:00
Anuken
278d690a6b Even better avoidance 2019-04-24 23:16:18 -04:00
Anuken
c91c0f7b47 "Fixed" unit collisions 2019-04-24 22:47:49 -04:00
Anuken
6a406f4d45 Removed SolidTrait#movable 2019-04-24 22:18:00 -04:00
Anuken
eecaa850e0 Fixed minimap zoom not resetting after map load 2019-04-24 09:12:33 -04:00
Anuken
f332332eaa Removed unused variables 2019-04-23 21:59:44 -04:00
Anuken
79b0e76be0 Bugfixes / Unit test fix 2019-04-23 11:59:07 -04:00
Anuken
30650efd98 Added unfinished zone map 2019-04-22 23:56:46 -04:00
Anuken
b7759c8151 Better shared crash handling 2019-04-22 12:00:47 -04:00
Anuken
0382c35ac0 Settings menu layout improved / Rule dialog improvements 2019-04-21 22:39:56 -04:00
Anuken
819262c93f Removed GameMode requirements 2019-04-21 16:34:02 -04:00
Anuken
db60f4bb1c Updated to Gradle 5.4 2019-04-20 23:09:28 -04:00
Anuken
7785ca55c2 New unstable mass driver code 2019-04-20 21:10:52 -04:00
Anuken
75dcceff43 Zone requirement changes / Bugfixes 2019-04-20 19:57:20 -04:00
Franciszek Zaranowicz
af91979d4c New custom games and custom rules screen (#464)
* New waves and limited respawning option.

Added ability to manipulate number of respawns per wave. Added option to hold counting for next wave until all enemies are destroyed

* Critical bug fixed

Fixed frozen wave timer when rules.waitForWaveToEnd was enabled

* Requested changes

* Missed Import

* New custom game and custom rules screen

RulePreset is now a Gamemode (because each of them has a different goal).
New button under Gamemode selection which opens a dialog to modify rules of gamemode.
Now without any mutually exclusive options

* Requested changes

* Applied some text sugestions

* Wrong waveInProgress message displaying fixed

* Unwanted text

* Text changes

* I broke git

* Fixed chrash

* More fixes

New rule : manyCores; needed for sanbox mode

* Visual fix

* Requested changes #1 : small oversights

* Moved respawning logic to Player

and another imports cleanup

* manyCores in now attackMode

* UI changes

* Given back waves to sandbox and integer input in custom rules

* Renamed functions in CustomRulesScreen

* SPACES... Actually one space...
2019-04-20 14:19:17 -04:00
Anuken
52cd4a77dd MechPad deselect / Flyer patrol tweak 2019-04-20 14:14:34 -04:00
Anuken
8a1da3c0ed Added mobile camera clamping / Mech pad tap power validation 2019-04-19 23:32:46 -04:00
Anuken
9d67c36c32 Cleanup, bugfixes 2019-04-19 23:07:21 -04:00
Anuken
f283709e62 Removed NumberUtils 2019-04-19 11:39:47 -04:00
Anuken
5035559b08 Net cleanup 2019-04-17 23:45:42 -04:00
Anuken
01e1438382 Switched to ArcNet networking extension 2019-04-17 21:59:26 -04:00
Anuken
4eee472043 Blend fix 2019-04-16 20:31:40 -04:00
Anuken
5f89a1b9ca Sprite updates 2019-04-16 20:30:47 -04:00
Anuken
b9db5ad662 Added block cracks 2019-04-16 12:15:06 -04:00
beito123
4a7960d64b Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	core/assets/bundles/bundle_ja.properties
2019-04-16 19:10:18 +09:00
Anuken
5b8084e1fa Solid bush block 2019-04-16 00:49:14 -04:00
Anuken
ab67b67e4c Updated environmental sprites 2019-04-15 22:52:44 -04:00
Anuken
f825931f92 Consistent output timer 2019-04-15 18:53:31 -04:00
Anuken
6113edf2ce Made fortress mechs keep walking when attacking 2019-04-15 18:40:10 -04:00
Anuken
8413443c26 Tech tree usability improvements / Bugfixes 2019-04-15 18:32:32 -04:00
Anuken
f67fb31bc5 Updated craters map 2019-04-14 21:44:01 -04:00
Anuken
d321ec5ed1 Fixed impact reactor not requiring blast compound 2019-04-14 10:37:15 -04:00
Anuken
084ae184f9 Fixed core inventory persistence bug 2019-04-14 10:18:18 -04:00
Anuken
d1ec652f7b More blasting 2019-04-13 19:55:06 -04:00
Anuken
7a2a6586be Fixed nuclear reactor not exploding properly 2019-04-13 17:45:53 -04:00
Anuken
392dcf3092 Made frozen forest less constricted / Tree block fix / Server crash fix 2019-04-13 17:32:49 -04:00
Anuken
8a983c784d Added missing jcenter repository 2019-04-13 14:57:26 -04:00
Anuken
a443263439 Updated Discord RPC 2019-04-13 14:41:56 -04:00
Anuken
3e766b9f54 Merge branch 'remove-link-byte' of https://github.com/Anuken/Mindustry 2019-04-13 11:04:43 -04:00
Anuken
89b9501f35 Fixed tree color 2019-04-13 11:04:36 -04:00
Anuken
816ae84005 Overlay testing 2019-04-12 23:03:34 -04:00
Anuken
c0e425cf46 Fixed drones being useless 2019-04-12 16:05:30 -04:00
Anuken
9ebb4c7d12 Removed link byte, replaced with rotation 2019-04-12 15:30:34 -04:00
Anuken
46c3b35028 Generic overlay tiles 2019-04-12 15:10:10 -04:00
Anuken
ef2b8be726 Cleaned up some sprites 2019-04-11 22:52:29 -04:00
Anuken
df51078858 New generation 2019-04-11 16:41:46 -04:00
Anuken
5783b61631 Bugfixes 2019-04-10 17:47:22 -04:00
Anuken
98a53381fb Testing more procedural generation 2019-04-09 23:40:29 -04:00
Anuken
daccfa5fe3 Procedural zone generation 2019-04-09 22:52:38 -04:00
Anuken
d82c24616f Fixed tests 2019-04-09 13:45:38 -04:00
Anuken
905ca3dcfc Balance 2019-04-09 13:19:55 -04:00
Anuken
b4fb687c4f Coal centrifuge / In-game chat / Player health rule / Bugfixes 2019-04-09 12:44:07 -04:00
Anuken
39fb2ae5ab Net fixes 2019-04-08 18:33:22 -04:00
Anuken
b40beb0d1d Source reformat 2019-04-08 09:03:18 -04:00
Anuken
4a96b9bb00 Force projector allocation fix 2019-04-08 08:38:36 -04:00
Anuken
f83a178982 Removed useless net logging 2019-04-08 08:37:13 -04:00
Anuken
986b4276e1 Less snapshots per second 2019-04-07 18:19:38 -04:00
Anuken
6f6f418ec9 Fixed save/multiplayer sync bugs 2019-04-07 17:36:28 -04:00
Anuken
1463571cd7 Input fix 2019-04-07 16:58:22 -04:00
Anuken
7dfb0a81e3 Test fixes 2019-04-07 14:53:53 -04:00
Anuken
9699d9467a New tests / Bugfixes 2019-04-07 14:09:34 -04:00
Anuken
08a2872527 Bugfixes 2019-04-07 11:25:08 -04:00
Anuken
7c81a807ea Generator fixes 2019-04-06 10:04:00 -04:00
Anuken
3bf7031e6a Fixed cryofluid mixer 2019-04-05 20:48:13 -04:00
Anuken
503fc980f4 Bugfixes 2019-04-05 14:10:01 -04:00
Anuken
efed11eb97 stuff 2019-04-05 09:26:31 -04:00
Anuken
330820062f Fixed multiblock exploit 2019-04-04 23:53:51 -04:00
Anuken
45d157fe3f Minimap fixes 2019-04-04 23:34:09 -04:00
Anuken
812dea385c more bugfixes 2019-04-04 22:05:12 -04:00
키에르
c582bdea46 Update bundle_ko.properties (#439)
* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* match orignal bundle

* Update bundle_ko.properties

* Update bundle_ko.properties
2019-04-04 19:59:09 -06:00
laohuaji233
e6c6a9381b Update bundle_zh_CN.properties (#440)
* Update bundle_zh_CN.properties

More translations and fixed some wrong words

* Update bundle_zh_CN.properties
2019-04-04 19:58:05 -06:00
VXF
4b4c0755c6 Update bundle_zh_CN.properties (#441) 2019-04-04 19:53:34 -06:00
Prosta4okua
aeb0539c91 Russian bundle (#443)
* Go build communism

* Update bundle_ru.properties

Last commit: minimap

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties
2019-04-04 19:53:02 -06:00
Prosta4okua
9feafa45f5 Ukrainian bundle (#444)
* No. Routernism is better.

Last commit: bugfixes

* Update bundle_uk_UA.properties

Last commit: minimap

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties
2019-04-04 19:52:09 -06:00
Math2128
927df391f3 Update bundle_fr.properties (#447)
* Update bundle_fr.properties

Haven't done much. If I have more time, I will work on it. If anyone else wants to contribute, make sure not to do the same as me ! :p

* Update bundle_fr.properties

* Update bundle_fr.properties

* Update bundle_fr.properties

Add a bit more. If anyone knows where to find all the filters in the game, please tell me. It'll help me get the word in context

* Update bundle_fr.properties

* Update bundle_fr.properties

* Update bundle_fr.properties

* Update bundle_fr.properties

* Update bundle_fr.properties
2019-04-04 19:50:59 -06:00
Anuken
cbef6adeb1 Crafter bugfixes 2019-04-04 21:49:45 -04:00
Anuken
2dee221861 Crash fix 2019-04-04 20:39:04 -04:00
Anuken
0b175cb25d Fixed release script using wrong folder 2019-04-04 19:36:15 -04:00
Anuken
0820338b55 Moved FPS counter once more / Pulverizer sprite fix 2019-04-04 19:31:17 -04:00
Anuken
a2b46eee6f Improved pixel zoom / Possible player duplicate glitch 2019-04-04 18:58:48 -04:00
Anuken
09a435320a Impact reactor display bugfix 2019-04-04 15:14:45 -04:00
Anuken
bf56200c06 Power amount message for buffered blocks 2019-04-04 15:06:27 -04:00
Anuken
2d18df2011 Multiplayer bugfixes / Balancing 2019-04-04 14:46:41 -04:00
Anuken
bab87c0da8 Default spawn limit bumped to 4 2019-04-04 00:05:59 -04:00
Anuken
148f272500 New rule modifiers 2019-04-04 00:03:19 -04:00
Anuken
6de4af727b JSON read/write generation 2019-04-03 22:24:14 -04:00
Anuken
75946b9d14 Explosion propagation 2019-04-03 09:39:11 -04:00
Anuken
1c63ee6743 Clean pixel zoom 2019-04-02 23:30:40 -04:00
Anuken
efdaf0d986 Balancing, tweaks and bugfixes 2019-04-02 22:43:20 -04:00
Anuken
3f6aeac33d Cleanup of new graphical options 2019-04-02 17:18:55 -04:00
Anuken
d9692004cc Shield optimization 2019-04-02 17:08:22 -04:00
Anuken
67a12eecad Bugfixes 2019-04-02 15:52:44 -04:00
Anuken
37999e0870 Risky building changes 2019-04-02 14:26:23 -04:00
Anuken
66dc1e94f5 Slight entity optimizations / Turret sprite fixes 2019-04-02 13:58:44 -04:00
Anuken
ebcce194a0 Turret coolant use balancing 2019-04-02 11:26:02 -04:00
Anuken
95eab94c80 Fixed liquid blocks not accepting liquids 2019-04-02 10:51:52 -04:00
Anuken
41a6dbe06c Basic minimap 2019-04-01 21:16:22 -04:00
Anuken
fa22b0ec12 Removed dead donations code 2019-04-01 18:51:49 -04:00
Anuken
be60a367e8 Removed donations library and Android support libraries 2019-04-01 18:46:11 -04:00
Anuken
608de34205 Updated bundles 2019-04-01 13:32:49 -04:00
Anuken
0a8f2edb05 Block update unit tests 2019-04-01 11:57:43 -04:00
Anuken
41b08f38c5 Fixed tests 2019-04-01 11:34:10 -04:00
Anuken
a83c0b2e9a "fixes" 2019-03-31 22:27:11 -04:00
Anuken
8f853c8f18 Back button cleanup 2019-03-31 18:26:52 -04:00
Anuken
b4071f6dcb Merge 2019-03-31 18:24:25 -04:00
Anuken
6b70418861 Cleanup 2019-03-31 18:20:38 -04:00
Anuken
de0235ad94 Sweeping rework 2019-03-31 17:49:15 -04:00
Anuken
c278c632b3 Back button quitting 2019-03-31 13:16:43 -04:00
Anuken
6392330e70 Optimizations / Very broken changes 2019-03-31 13:11:12 -04:00
Anuken
160ae4e244 Fixed startup crashing 2019-03-31 10:37:52 -04:00
Anuken
a6c9bd3182 Class cleanup 2019-03-30 23:23:57 -04:00
Anuken
801eadd8a8 Bugfixes 2019-03-30 19:10:06 -04:00
Anuken
211dab1297 Compilation cleanup 2019-03-30 18:48:54 -04:00
Anuken
0c3b39ffdc Merge branches 'avoidance-optimization' and 'master' of https://github.com/Anuken/Mindustry 2019-03-30 13:52:46 -04:00
Anuken
c31f88a318 Fixes 2019-03-30 13:01:55 -04:00
Anuken
e9eb981782 More optimization / Flying avoidance 2019-03-30 12:54:29 -04:00
Anuken
83bde8a781 Improved avoidance 2019-03-30 12:33:01 -04:00
Anuken
52f352bf94 Fixed nondeterministic drill item sorting 2019-03-30 10:16:48 -04:00
Anuken
b419a96d69 Mech balance / Re-added map screenshot 2019-03-30 00:17:29 -04:00
Anuken
eb3d5b62f5 Tweaks 2019-03-29 22:48:04 -04:00
Anuken
1c5f578d88 Initial implementation 2019-03-29 18:48:03 -04:00
Anuken
db3aae1388 Merge remote-tracking branch 'origin/master' 2019-03-29 18:15:31 -04:00
Anuken
0b08eb72a6 Bugfixes 2019-03-29 18:15:22 -04:00
Skybbles // L5474
cbc81376be pulverizer pulverises scrap not stone (#442) 2019-03-29 13:55:45 -06:00
Anuken
27e9901d05 Removed unused shadow methods; minor tweaks 2019-03-29 09:07:46 -04:00
Anuken
532c36677c Map preview block shadows 2019-03-28 22:23:59 -04:00
Anuken
0c20c6ecb7 Removed greek bundle temporarily, as font does not support it 2019-03-28 20:48:34 -04:00
Anuken
fbb3240ebb Hid 0-damage stat to prevent confusion 2019-03-28 19:20:09 -04:00
Anuken
bffae90022 Crash fixes 2019-03-28 17:41:57 -04:00
Anuken
61f6368591 Bundle update 2019-03-28 17:31:22 -04:00
Valen. H
1027ca2a85 Greek (#394)
Made in 2018, might be a bit out of date but seems functional. (4-alpha-63)
**Not complete**
2019-03-28 15:29:11 -06:00
Prosta4okua
5acc42f739 @router & @xzimur Create a PR for the Russian language (#437)
Останній комміт — Code cleanup (97f5bf3cc4 (diff-daade3141498d8856d75ec34b88bbb19))
2019-03-28 15:26:14 -06:00
laohuaji233
1edeaeb94e Update bundle_zh_CN.properties (#436)
more translations
2019-03-28 15:26:08 -06:00
키에르
879acc6077 Update bundle_ko.properties (#435)
* Update bundle_ko.properties

* Oops

* Oops 2

* Update bundle_ko.properties

* Update bundle_ko.properties
2019-03-28 15:25:35 -06:00
Anuken
4e5d87104c Unit AI fixes / Other general fixes 2019-03-28 17:12:49 -04:00
Anuken
e6a24b8ba1 Balancing / Bugfixes / Decreased build duration slightly 2019-03-28 14:38:00 -04:00
Anuken
fd190c7770 UI layout fixes 2019-03-28 12:50:22 -04:00
Anuken
d56869aefa Unit shadows 2019-03-28 12:42:04 -04:00
Anuken
c8a15bb7e4 Shadow optimization: 30 -> 60 FPS on phone tested 2019-03-28 12:19:54 -04:00
Anuken
07c28c3f6d Minor fixes 2019-03-28 11:00:34 -04:00
Anuken
855957b099 Broke all crafting 2019-03-27 23:24:07 -04:00
Anuken
50959317e9 New launch pad / Tech tree tweaks 2019-03-27 22:13:40 -04:00
Anuken
20a681a71f Zone unlocking tweak 2019-03-27 19:21:15 -04:00
Anuken
4e2d558b36 Merge remote-tracking branch 'origin/master' 2019-03-27 09:31:12 -04:00
Anuken
0430b908f4 New requirements for zone unlock, currently broken 2019-03-27 09:31:07 -04:00
Anuken
a84e9f2aaa Updated RoboVM plugin 2019-03-26 20:35:29 -04:00
Anuken
7ce571e59c New tentative edge style / Zone tweaks 2019-03-26 20:10:01 -04:00
Anuken
545a64f7dc Merge remote-tracking branch 'origin/master' 2019-03-26 11:05:55 -04:00
Anuken
10c999a4a2 Bugfixes / Mender block / Extra stats / Balancing 2019-03-26 11:05:47 -04:00
Anuken
d0e026d597 Bugfixes 2019-03-25 13:12:55 -04:00
Anuken
0b1e2bf19b Compile fixes 2019-03-24 21:54:01 -04:00
Anuken
71c2c7ad05 More code cleanup 2019-03-24 21:10:59 -04:00
Anuken
97f5bf3cc4 Code cleanup 2019-03-24 19:58:51 -04:00
Anuken
bb9573b85a Build cost/speed rules 2019-03-24 18:33:07 -04:00
Anuken
e1f53dfc67 Added bundle entries 2019-03-24 17:58:59 -04:00
Anuken
87481e0a4d Ammo stats 2019-03-24 17:55:41 -04:00
Anuken
f7aa58e385 Many small tweaks / Custom rules / Server run files / Balance 2019-03-24 16:29:25 -04:00
Anuken
ea5c78f814 UI scaling fixes 2019-03-23 22:00:41 -04:00
Anuken
c93c016e9c more icons 2019-03-23 19:06:50 -04:00
Anuken
4bb6664c7e Merge remote-tracking branch 'origin/master' 2019-03-23 18:48:00 -04:00
Anuken
9578068a02 another menu attempt 2019-03-23 18:47:57 -04:00
Anuken
30e5f2b17d iOS building fix 2019-03-23 18:33:33 -04:00
Anuken
f959760c07 More iOS icon stuff 2019-03-23 15:05:22 -04:00
Anuken
e7db2350bc Merge remote-tracking branch 'origin/master' 2019-03-23 14:39:08 -04:00
Anuken
0585dabf7a iOS icons 2019-03-23 14:39:04 -04:00
Anuken
c5226c9e59 Merge branch 'master' into master 2019-03-20 17:13:48 -06:00
beito123
3bad95b389 Update Japanese translations 2019-03-20 15:29:36 +09:00
beito123
54ef7760b9 Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	core/assets/bundles/bundle_ja.properties
2019-03-20 13:11:49 +09:00
beito123
2ed5d34192 Update Japanese 2019-03-19 21:20:29 +09:00
beito123
9336a2b4c5 Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	core/assets/bundles/bundle_ja.properties
2019-03-17 17:56:40 +09:00
beito123
eb92ca8cd7 Update Japanese 2019-03-17 16:44:51 +09:00
(G_H)
d3922905c9 Add files via upload 2019-03-06 20:56:15 +08:00
beito123
f5866d7f72 Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	core/assets/bundles/bundle_ja.properties
2019-03-06 14:59:38 +09:00
beito123
dbbc72d00f Update Japanese translations 2019-03-06 14:49:12 +09:00
beito123
2b4bcf0b0a Oops! 2019-02-15 12:17:43 +09:00
beito123
0851f2d0e2 Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	core/assets/bundles/bundle_ja.properties
2019-02-13 12:23:26 +09:00
beito123
ea9ed841ee Update Japanese translations 2018-12-16 21:54:32 +09:00
beito123
567f3fd3cd Update Japanese translations 2018-12-15 17:26:26 +09:00
beito123
9dcd8dc419 Merge remote-tracking branch 'fork_master/master' 2018-12-15 15:48:39 +09:00
beito123
e19bd9d434 Update Japanese translation 2018-12-10 23:10:57 +09:00
beito123
35ecd26634 Update Japanese translations 2018-12-10 00:37:00 +09:00
beito123
ac3bb37c36 Update Japanese translations 2018-12-09 19:36:29 +09:00
beito123
17b8b285a3 Update Japanese translations 2018-12-09 19:10:41 +09:00
beito123
788bf383aa Update Japanese translations 2018-12-09 19:07:40 +09:00
beito123
8d0b889f3c Update Japanese translations 2018-12-09 15:09:37 +09:00
beito123
d250fb655d Merge remote-tracking branch 'fork_master/master' 2018-12-09 14:26:55 +09:00
beito123
74eb79de17 Merge remote-tracking branch 'fork_master/master' 2018-12-08 00:44:59 +09:00
beito123
e2eabfc141 Merge remote-tracking branch 'fork_master/master' 2018-12-01 17:08:54 +09:00
beito123
a3ee43b31c Update Japanese translations 2018-11-25 23:49:40 +09:00
beito123
12dd16d4bf Update Japanese 2018-11-25 23:40:33 +09:00
beito123
a5b9e57576 Update Japanese translations
Improve and update for new changes
2018-11-25 23:33:00 +09:00
beito123
6c194d257c merge from master 2018-11-25 22:39:04 +09:00
beito123
09598e0ced Update Japanese 2018-11-16 19:39:16 +09:00
beito123
6af2696f6a Update Japanese 2018-11-16 19:01:05 +09:00
beito123
69dac77932 Merge remote-tracking branch 'fork_master/master' 2018-11-16 18:44:14 +09:00
beito123
2764e0e5fa Upadte Japanese translations 2018-11-15 01:42:11 +09:00
beito123
fa5cdc3afa Update Japanese translation
Applies commit 7a51693. and small changes.
2018-11-15 01:07:39 +09:00
beito123
8dae5ec47a Add new japanese translation
It translated on commit 66810c8.
so it don't apply changes from commit 17e0489.
2018-11-15 00:39:37 +09:00
1603 changed files with 52231 additions and 42174 deletions

17
.github/workflows/gradle.yml vendored Normal file
View File

@@ -0,0 +1,17 @@
name: Java CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Run unit tests with gradle
run: ./gradlew test

8
.gitignore vendored
View File

@@ -10,6 +10,7 @@ logs/
/desktop/mindustry-maps/ /desktop/mindustry-maps/
/desktop/gifexport/ /desktop/gifexport/
/core/lib/ /core/lib/
/ios/assets/
/core/assets-raw/sprites/generated/ /core/assets-raw/sprites/generated/
/core/assets-raw/sprites_out/ /core/assets-raw/sprites_out/
/annotations/build/ /annotations/build/
@@ -18,6 +19,11 @@ logs/
/tools/build/ /tools/build/
/tests/build/ /tests/build/
/server/build/ /server/build/
changelog
saves/
core/assets/saves/
/core/assets/saves/
steam_appid.txt
/test_files/ /test_files/
/annotations/build/ /annotations/build/
/android/assets/mindustry-maps/ /android/assets/mindustry-maps/
@@ -30,7 +36,9 @@ logs/
ios/robovm.properties ios/robovm.properties
packr-out/ packr-out/
config/ config/
changelog
*.gif *.gif
/core/assets/saves/
version.properties version.properties

View File

@@ -1,21 +1,43 @@
jdk: jdk:
- openjdk8 - openjdk8
dist: trusty
android:
components:
- android-29
- build-tools-29.0.2
script: script:
- "git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc" - git clone --depth=1 --branch=master https://github.com/Anuken/MindustryBuilds ../MindustryBuilds
- cd ../MindustryBuilds
- echo ${TRAVIS_TAG}
- if [ -n "$TRAVIS_TAG" ]; then echo versionName=4-fdroid-${TRAVIS_TAG:1}$'\n'versionCode=${TRAVIS_TAG:1} > version_fdroid.txt; git add .; git commit -m "Updating to build ${TRAVIS_TAG}"; fi
- git tag ${TRAVIS_BUILD_NUMBER}
- git config --global user.name "Build Uploader"
- if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then git push https://Anuken:${GH_PUSH_TOKEN}@github.com/Anuken/MindustryBuilds ${TRAVIS_BUILD_NUMBER}; git push https://Anuken:${GH_PUSH_TOKEN}@github.com/Anuken/MindustryBuilds; fi
- cd ../Mindustry
- git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc
- if [ -n "$TRAVIS_TAG" ]; then cd ../Arc; git tag ${TRAVIS_TAG}; git push https://Anuken:${GH_PUSH_TOKEN}@github.com/Anuken/Arc ${TRAVIS_TAG}; cd ../Mindustry; fi
- "./gradlew test" - "./gradlew test"
- "./gradlew desktop:dist -Pbuildversion=${TRAVIS_TAG:1}" - "./gradlew desktop:dist -Pbuildversion=${TRAVIS_TAG:1}"
- "./gradlew server:dist -Pbuildversion=${TRAVIS_TAG:1}" - "./gradlew server:dist -Pbuildversion=${TRAVIS_TAG:1}"
deploy: deploy:
provider: releases - provider: releases
skip_cleanup: true skip_cleanup: true
draft: false draft: false
api_key: api_key:
secure: Cv5wFtWt62/A24EvSEQvMow7gKPbZ3oATEFPuSghhB2TQz1dA40Zee3Qvk4LFlpLrhYo4K0ZSczCZRGpR+hCd8+Dpww52bheYEvWuh3ZQfvu/fXtEx2j5PwP1qMpmIgSxETV/gkD7l9FImdh0VzktYiAvQfmi0bEocG9/D4QwjFpNat7iwBdcMiw1MvAygpdIWRsjiw0RKlB2mWarmoHhQ7Gu7qlU3j50uaEvcrtmU0pBUPggNQwQRv32i9NPvNFxrqqlUjDLIS8JFea99zCkp8BwYqbEvBIMzd+Qip1/stLJJA3+cDUClbsDtg8rAVetzpOrdLEEBmqShFe5MDl2yEHcsgpN9CFsyTaUfvB3P3rVjizvycMm42IsUkXQiarm5xTQ/TIA8Rd8AHiSKuweNCg1Fd5SFaRtKy8JVLXuxyfUccmyje6hhz2L4lS2Wfj3mAG7sqZUCXhWP79EKdGkiPOjKv4CwXEKmuH3BMVqPlNUZJr9Eg3sV1FG0h2l+MVOOnR635qdUbb49sYojYxVruMLX0BH1c4ZCu230m8CUoWA1Em1QNI75ya7+9Y5T6AsgWDVpBvdUo9fWNbdp+VQ0GskFQsJD5wtnxbcbHeFiERAgGBm7z6qt9u9LrQpBH+dsW52ADvYsu3L4nQEa+sdMHwTTwmGY+iUvsxu0DqxGg= secure: Cv5wFtWt62/A24EvSEQvMow7gKPbZ3oATEFPuSghhB2TQz1dA40Zee3Qvk4LFlpLrhYo4K0ZSczCZRGpR+hCd8+Dpww52bheYEvWuh3ZQfvu/fXtEx2j5PwP1qMpmIgSxETV/gkD7l9FImdh0VzktYiAvQfmi0bEocG9/D4QwjFpNat7iwBdcMiw1MvAygpdIWRsjiw0RKlB2mWarmoHhQ7Gu7qlU3j50uaEvcrtmU0pBUPggNQwQRv32i9NPvNFxrqqlUjDLIS8JFea99zCkp8BwYqbEvBIMzd+Qip1/stLJJA3+cDUClbsDtg8rAVetzpOrdLEEBmqShFe5MDl2yEHcsgpN9CFsyTaUfvB3P3rVjizvycMm42IsUkXQiarm5xTQ/TIA8Rd8AHiSKuweNCg1Fd5SFaRtKy8JVLXuxyfUccmyje6hhz2L4lS2Wfj3mAG7sqZUCXhWP79EKdGkiPOjKv4CwXEKmuH3BMVqPlNUZJr9Eg3sV1FG0h2l+MVOOnR635qdUbb49sYojYxVruMLX0BH1c4ZCu230m8CUoWA1Em1QNI75ya7+9Y5T6AsgWDVpBvdUo9fWNbdp+VQ0GskFQsJD5wtnxbcbHeFiERAgGBm7z6qt9u9LrQpBH+dsW52ADvYsu3L4nQEa+sdMHwTTwmGY+iUvsxu0DqxGg=
file: file:
- "desktop/build/libs/desktop-release.jar" - desktop/build/libs/Mindustry.jar
- "server/build/libs/server-release.jar" - server/build/libs/server-release.jar
on: on:
repo: Anuken/Mindustry repo: Anuken/Mindustry
tags: true tags: true
- provider: script
script: bash update_wiki.sh
on:
repo: Anuken/Mindustry
tags: true
env:
global:
- secure: TqlUl/ojjkCMVOGbCTKz7Cnr4F08UyWzY/CiJ0vvUOGJGZ1qm7XavAlDf5XT0egU4mvr37THubFO8vojbqmrmy0oZnYh3njKFA8axgyZ8PyKkjGHOfd0i6qyEWsOr9H90/2X8r3LwEeLaDFyHpu3wljIGBjweg53g2qwmDwCFa9UR80FJZ+xDB+rD6B3cXT0DTEkCoLZXLqXm0Y3HvBdSuBL1LR/FNb2BSxNq+tNLGiz1kdQZV5erausbbZypBoGxzz63xAnyz2kkFz73A8xQYVTzGbFodTPz7HM13GVZ5s43I03Y+HYyHBgBaSLziO2hi2kzVJccOwzBp7wS4fs1MqsFY5+IeWJ9k+hm89NiYT7+6zlEgoUMlIniny1qLqWTzx7btUeuC/y/h5TVBNgaV+z0jmHycHfeSyq5I+vmX4J8qe3wmaN8TcdqYKU5nIznOTk3CM5Fzu0Bs9vkCkOxmormmcjMFW1RbdOLc/hpZWZggsBA88sNEAI8eq+r5QEeqzeCx8YKoZDjdrsqvgLMc3El3gS9oMGxkn0Y/TEcqs9Tc4BXtTkqIA68hD0DYzlAxYjVbbkAI9Hh9lHNvV3Dr/oCkGXQ/HflM143kj1L3tSBZpqeqQE2XhngB5nqpS3OZTmZbMTQ8qD2luU18yaTGMLF5tJS/fdKPRx0gQ1kL8=
- secure: VEskj/0TVX2o7iUVXuVPysj/VSWmPhDl57SrT7/nBNN/P/8N5jFAvx8PMzG7qT0S5FzKxuV20psE4WylUGRKdeRtK7/QNBV7T3YqYYM6BUB1VeRpxe5hLxTeuBK3izglFO8DkdDqjUtzQSjzkoYT75ilROjhBrBUPhVek7UlbBHbaklPWYFXHnJmYS1FpZTdzqIj+Y0Gd1PSL2MzK4X74aAHl0qaDgsTwYwtKs7IAz+kFaTZBRpi9VjQHAFhDlkDR3jo9wQjH8/F6x0lCgV/FulSc37Okdb40sLFG98xcEA6gWh1NPMkz8CulUdVE7mj7SJNxLbNvoMNrWOVRjmEsn59p/9LiNC1F9ncFz9vjQjAmi7rMFFGHGxe5nn8cIAkpTvHQQkZoWHAA9SNJTDMMf09m2pRy/vvzx+a6NVxyC9iNrhLlnBg4gxAqRh0S6NU0uL+fuygKixn7rqlnb7KMT7bAbfcuV+dng6c8V7hYKDCh7sJbH8iJump1xkwoM7ecnU8fxJF/oKOr/fbk0Bfxu+Q9qYLrV1+DEdm93Vl2Thq+DBKmI66jRGSva6HeCLFo81PEiEjP1nLv75+kvVfOqVqJrZD1BrvoG2eWT/3hVLrN2kEIWWlpvQVC7FL11yWmYtAuOBh/vfhI76zKr+YTS6ccG9rqW4XeYjJytshe8M=

View File

@@ -1,4 +1,4 @@
![Imgur](https://i.imgur.com/w4N0yhv.png) ![Logo](core/assets/sprites/logo.png)
[![Build Status](https://travis-ci.org/Anuken/Mindustry.svg?branch=master)](https://travis-ci.org/Anuken/Mindustry) [![Build Status](https://travis-ci.org/Anuken/Mindustry.svg?branch=master)](https://travis-ci.org/Anuken/Mindustry)
[![Discord](https://img.shields.io/discord/391020510269669376.svg)](https://discord.gg/mindustry) [![Discord](https://img.shields.io/discord/391020510269669376.svg)](https://discord.gg/mindustry)
@@ -29,6 +29,13 @@ _Building:_ `./gradlew desktop:dist`
Server builds are bundled with each released build (in Releases). If you'd rather compile on your own, replace 'desktop' with 'server', e.g. `gradlew server:dist`. Server builds are bundled with each released build (in Releases). If you'd rather compile on your own, replace 'desktop' with 'server', e.g. `gradlew server:dist`.
#### Android
1. Install the Android SDK [here.](https://developer.android.com/studio#downloads) Make sure you're downloading the "Command line tools only", as Android Studio is not required.
2. Create a file named `local.properties` inside the Mindustry directory, with its contents looking like this: `sdk.dir=<Path to Android SDK you just downloaded, without these bracket>`. For example, if you're on Windows and installed the tools to C:\\tools, your local.properties would contain `sdk.dir=C:\\tools` (*note the double backslashes are required instead of single ones!*).
3. Run `gradlew android:assembleDebug` (or `./gradlew` if on linux/mac). This will create an unsigned APK in `android/build/outputs/apk`.
4. (Optional) To debug the application on a connected phone, do `gradlew android:installDebug android:run`. It is **highly recommended** to use IntelliJ for this instead, however.
##### Troubleshooting ##### Troubleshooting
If the terminal returns `Permission denied` or `Command not found` on Mac/Linux, run `chmod +x ./gradlew` before running `./gradlew`. *This is a one-time procedure.* If the terminal returns `Permission denied` or `Command not found` on Mac/Linux, run `chmod +x ./gradlew` before running `./gradlew`. *This is a one-time procedure.*
@@ -36,10 +43,18 @@ If the terminal returns `Permission denied` or `Command not found` on Mac/Linux,
--- ---
Gradle may take up to several minutes to download files. Be patient. <br> Gradle may take up to several minutes to download files. Be patient. <br>
After building, the output .JAR file should be in `/desktop/build/libs/desktop-release.jar` for desktop builds, and in `/server/build/libs/server-release.jar` for server builds. After building, the output .JAR file should be in `/desktop/build/libs/Mindustry.jar` for desktop builds, and in `/server/build/libs/server-release.jar` for server builds.
### Downloads ### Downloads
<a href="https://anuke.itch.io/mindustry"><img src="https://i.imgur.com/sk26hTV.png" width="auto" height="75"></a> [<img src="https://static.itch.io/images/badge.svg"
alt="Get it on Itch.io"
height="60">](https://anuke.itch.io/mindustry)
<a href="https://play.google.com/store/apps/details?id=io.anuke.mindustry&hl=en"><img src="https://i.imgur.com/8dF6l81.png" width="auto" height="75"></a> [<img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png"
alt="Get it on Google Play"
height="80">](https://play.google.com/store/apps/details?id=io.anuke.mindustry)
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
alt="Get it on F-Droid"
height="80">](https://f-droid.org/packages/io.anuke.mindustry/)

View File

@@ -1,8 +1,5 @@
## Translating for Mindustry ## Translating for Mindustry
**DISCLAIMER:** *Currently, 4.0 is far from done, which means that things such as block names, descriptions, and core text will be changing often. If you begin translating now, you might have to re-do large chunks of the bundle before final release.*
To begin, log in to your GitHub account, or if you don't have one yet, create it [here](https://github.com/). To begin, log in to your GitHub account, or if you don't have one yet, create it [here](https://github.com/).
Consult [this list](https://www.science.co.il/language/Locale-codes.php) to find the locale code for your language. Once you've found it, Consult [this list](https://www.science.co.il/language/Locale-codes.php) to find the locale code for your language. Once you've found it,

View File

@@ -2,11 +2,10 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="io.anuke.mindustry"> package="io.anuke.mindustry">
<uses-feature android:glEsVersion="0x00020000" android:required="true" /> <uses-feature android:glEsVersion="0x00020000" android:required="true"/>
<uses-permission android:name="com.android.vending.BILLING" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.INTERNET" />
<application <application
android:resizeableActivity="false" android:resizeableActivity="false"
@@ -17,7 +16,7 @@
android:appCategory="game" android:appCategory="game"
android:label="@string/app_name" android:label="@string/app_name"
android:theme="@style/GdxTheme" android:fullBackupContent="@xml/backup_rules"> android:theme="@style/GdxTheme" android:fullBackupContent="@xml/backup_rules">
<meta-data android:name="android.max_aspect" android:value="2.1" /> <meta-data android:name="android.max_aspect" android:value="2.1"/>
<activity <activity
android:name="io.anuke.mindustry.AndroidLauncher" android:name="io.anuke.mindustry.AndroidLauncher"
android:label="@string/app_name" android:label="@string/app_name"
@@ -25,46 +24,19 @@
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout"> android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter> </intent-filter>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.VIEW"/> <action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/> <category android:name="android.intent.category.BROWSABLE"/>
<data android:mimeType="application/octet-stream"/> <data android:mimeType="application/octet-stream" />
<data android:scheme="file" android:host="*" android:pathPattern=".*\\.mmap" /> <data android:scheme="file" android:host="*" android:pathPattern=".*\\.msav"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:mimeType="application/octet-stream"/>
<data android:scheme="file" android:host="*" android:pathPattern=".*\\.msav" />
</intent-filter>
<intent-filter android:icon="@mipmap/ic_launcher"
android:label="Mindustry Map"
android:priority="1">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file" android:host="*" android:pathPattern=".*\\.mmap" android:mimeType="*/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file" android:host="*" android:pathPattern=".*\\.msav" android:mimeType="*/*" />
</intent-filter> </intent-filter>
</activity> </activity>
<activity android:name=".DonationsActivity"
android:theme="@style/GdxTheme" />
</application> </application>
</manifest> </manifest>

View File

@@ -1,35 +1,31 @@
buildscript { buildscript{
repositories { repositories{
mavenLocal() mavenLocal()
mavenCentral() mavenCentral()
google() google()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } maven{ url "https://oss.sonatype.org/content/repositories/snapshots/" }
jcenter() jcenter()
} }
dependencies { dependencies{
classpath 'com.android.tools.build:gradle:3.3.2' classpath 'com.android.tools.build:gradle:3.4.1'
} }
} }
apply plugin: "com.android.application" apply plugin: "com.android.application"
configurations { natives } configurations{ natives }
repositories { repositories{
mavenCentral() mavenCentral()
jcenter() jcenter()
maven { maven{
url "https://maven.google.com" url "https://maven.google.com"
} }
} }
dependencies { dependencies{
implementation project(":core") implementation project(":core")
implementation project(":net")
implementation 'com.android.support:support-v4:28.0.0'
implementation 'org.sufficientlysecure:donations:2.5'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation arcModule("backends:backend-android") implementation arcModule("backends:backend-android")
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi" natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi"
@@ -47,16 +43,16 @@ dependencies {
task deploy(type: Copy){ task deploy(type: Copy){
dependsOn "assembleRelease" dependsOn "assembleRelease"
from "build/outputs/apk/google/release/android-google-release.apk" from "build/outputs/apk/release/android-release.apk"
into "../deploy/" into "../deploy/"
rename ("android-google-release.apk", appName + "-android-" + getVersionString() + ".apk") rename("android-release.apk", "${generateDeployName('android')}.apk")
} }
android { android{
buildToolsVersion '28.0.3' buildToolsVersion '29.0.2'
compileSdkVersion 28 compileSdkVersion 29
sourceSets { sourceSets{
main { main{
manifest.srcFile 'AndroidManifest.xml' manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src'] java.srcDirs = ['src']
aidl.srcDirs = ['src'] aidl.srcDirs = ['src']
@@ -68,50 +64,36 @@ android {
androidTest.setRoot('tests') androidTest.setRoot('tests')
} }
packagingOptions { packagingOptions{
exclude 'META-INF/robovm/ios/robovm.xml' exclude 'META-INF/robovm/ios/robovm.xml'
} }
defaultConfig { defaultConfig{
def vfile = file('../core/assets/version.properties') Properties props = new Properties().with{p -> p.load(file('../core/assets/version.properties').newReader()); return p }
Integer vcode = props['androidBuildCode']?.toInteger() ?: 1
def code = 0 def versionNameResult = "$versionNumber-$versionType-${getBuildVersion().replace(" ", "-")}"
def versionNameResult = "unknown"
if(vfile.exists()){
def props = new Properties()
props.load(new FileInputStream(vfile))
code = (props['androidBuildCode'] == null ? 0 : props['androidBuildCode']).toInteger() + 1
props['androidBuildCode'] = code.toString()
props.store(vfile.newWriter(), "Autogenerated file. Do not modify.")
versionNameResult = "$versionNumber-$versionType-${props['build'].replace(" ", "-")}"
}
applicationId "io.anuke.mindustry" applicationId "io.anuke.mindustry"
minSdkVersion 14 minSdkVersion 14
targetSdkVersion 28 targetSdkVersion 29
versionCode code
versionName versionNameResult versionName versionNameResult
versionCode vcode
props['androidBuildCode'] = (vcode + 1).toString()
props.store(file('../core/assets/version.properties').newWriter(), null)
} }
compileOptions { compileOptions{
sourceCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8
} }
flavorDimensions "google" flavorDimensions "google"
productFlavors { signingConfigs{
google { release{
buildConfigField "boolean", "DONATIONS_GOOGLE", "true" if(project.hasProperty("RELEASE_STORE_FILE")){
}
}
signingConfigs {
release {
if(project.hasProperty("RELEASE_STORE_FILE")) {
storeFile file(RELEASE_STORE_FILE) storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS keyAlias RELEASE_KEY_ALIAS
@@ -122,31 +104,33 @@ android {
} }
} }
if(project.hasProperty("RELEASE_STORE_FILE")) {
buildTypes { buildTypes {
release { release {
signingConfig signingConfigs.release signingConfig signingConfigs.release
} }
} }
}
} }
// called every time gradle gets executed, takes the native dependencies of // called every time gradle gets executed, takes the native dependencies of
// the natives configuration, and extracts them to the proper libs/ folders // the natives configuration, and extracts them to the proper libs/ folders
// so they get packed with the APK. // so they get packed with the APK.
task copyAndroidNatives() { task copyAndroidNatives(){
file("libs/armeabi/").mkdirs() file("libs/armeabi/").mkdirs()
file("libs/armeabi-v7a/").mkdirs() file("libs/armeabi-v7a/").mkdirs()
file("libs/arm64-v8a/").mkdirs() file("libs/arm64-v8a/").mkdirs()
file("libs/x86_64/").mkdirs() file("libs/x86_64/").mkdirs()
file("libs/x86/").mkdirs() file("libs/x86/").mkdirs()
configurations.natives.files.each { jar -> configurations.natives.files.each{ jar ->
def outputDir = null def outputDir = null
if (jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a") if(jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a")
if (jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a") if(jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a")
if (jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi") if(jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi")
if (jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64") if(jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64")
if (jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86") if(jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86")
if (outputDir != null) { if(outputDir != null){
copy { copy{
from zipTree(jar) from zipTree(jar)
into outputDir into outputDir
include "*.so" include "*.so"
@@ -155,47 +139,24 @@ task copyAndroidNatives() {
} }
} }
task run(type: Exec) { task run(type: Exec){
def path def path
def localProperties = project.file("../local.properties") def localProperties = project.file("../local.properties")
if (localProperties.exists()) { if(localProperties.exists()){
Properties properties = new Properties() Properties properties = new Properties()
localProperties.withInputStream { instr -> localProperties.withInputStream{ instr ->
properties.load(instr) properties.load(instr)
} }
def sdkDir = properties.getProperty('sdk.dir') def sdkDir = properties.getProperty('sdk.dir')
if (sdkDir) { if(sdkDir){
path = sdkDir path = sdkDir
} else { }else{
path = "$System.env.ANDROID_HOME" path = "$System.env.ANDROID_HOME"
} }
} else { }else{
path = "$System.env.ANDROID_HOME" path = "$System.env.ANDROID_HOME"
} }
def adb = path + "/platform-tools/adb" def adb = path + "/platform-tools/adb"
commandLine "$adb", 'shell', 'am', 'start', '-n', 'io.anuke.mindustry/io.anuke.mindustry.AndroidLauncher' commandLine "$adb", 'shell', 'am', 'start', '-n', 'io.anuke.mindustry/io.anuke.mindustry.AndroidLauncher'
} }
// sets up the Android Idea project, using the old Ant based build.
idea {
module {
sourceDirs += file("src")
scopes = [COMPILE: [plus: [project.configurations.compile]]]
iml {
withXml {
def node = it.asNode()
def builder = NodeBuilder.newInstance()
builder.current = node
builder.component(name: "FacetManager") {
facet(type: "android", name: "Android") {
configuration {
option(name: "UPDATE_PROPERTY_FILES", value: "true")
}
}
}
}
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 87 KiB

View File

@@ -9,6 +9,5 @@
# #
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target. # Project target.
target=android-19 target=android-19

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -1,32 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#000">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="top"
android:adjustViewBounds="false"
android:contentDescription="background"
android:cropToPadding="false"
android:scaleType="centerCrop"
android:src="@drawable/background" />
<LinearLayout
android:id="@+id/donations_activity_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
</RelativeLayout>
</LinearLayout>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Mindustry</string>
<string-array name="donation_google_catalog_values">
<item>1 달러</item>
<item>2 달러</item>
<item>5 달러</item>
<item>10 달러</item>
<item>15 달러</item>
<item>25 달러</item>
<item>50 달러</item>
</string-array>
</resources>

View File

@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Mindustry</string>
<string-array name="donation_google_catalog_values">
<item>1 Доллар</item>
<item>2 Доллара</item>
<item>5 Долларов</item>
<item>10 Долларов</item>
<item>15 Долларов</item>
<item>25 Долларов</item>
<item>50 Долларов</item>
</string-array>
</resources>

View File

@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Mindustry</string>
<string-array name="donation_google_catalog_values">
<item>1 Доллар</item>
<item>2 Доллара</item>
<item>5 Долларів</item>
<item>10 Долларів</item>
<item>15 Долларів</item>
<item>25 Долларів</item>
<item>50 Долларів</item>
</string-array>
</resources>

View File

@@ -2,14 +2,5 @@
<resources> <resources>
<string name="app_name">Mindustry</string> <string name="app_name">Mindustry</string>
<string-array name="donation_google_catalog_values">
<item>1 Dollar</item>
<item>2 Dollars</item>
<item>5 Dollars</item>
<item>10 Dollars</item>
<item>15 Dollars</item>
<item>25 Dollars</item>
<item>50 Dollars</item>
</string-array>
</resources> </resources>

View File

@@ -1,41 +1,26 @@
package io.anuke.mindustry; package io.anuke.mindustry;
import android.Manifest; import android.app.*;
import android.content.Context; import android.content.*;
import android.content.Intent; import android.content.pm.*;
import android.content.pm.ActivityInfo; import android.net.*;
import android.content.pm.PackageManager; import android.os.Build.*;
import android.net.Uri; import android.os.*;
import android.os.Build; import android.provider.Settings.*;
import android.os.Bundle; import android.telephony.*;
import android.provider.Settings.Secure; import io.anuke.arc.*;
import android.telephony.TelephonyManager; import io.anuke.arc.backends.android.surfaceview.*;
import android.util.Log; import io.anuke.arc.files.*;
import com.google.android.gms.common.GoogleApiAvailability; import io.anuke.arc.function.*;
import com.google.android.gms.common.GooglePlayServicesNotAvailableException; import io.anuke.arc.scene.ui.layout.*;
import com.google.android.gms.common.GooglePlayServicesRepairableException; import io.anuke.arc.util.*;
import com.google.android.gms.security.ProviderInstaller; import io.anuke.arc.util.serialization.*;
import io.anuke.arc.Core; import io.anuke.mindustry.game.Saves.*;
import io.anuke.arc.backends.android.surfaceview.AndroidApplication; import io.anuke.mindustry.io.*;
import io.anuke.arc.backends.android.surfaceview.AndroidApplicationConfiguration; import io.anuke.mindustry.ui.dialogs.*;
import io.anuke.arc.files.FileHandle;
import io.anuke.arc.function.Consumer;
import io.anuke.arc.scene.ui.layout.Unit;
import io.anuke.arc.util.Strings;
import io.anuke.arc.util.serialization.Base64Coder;
import io.anuke.net.KryoClient;
import io.anuke.net.KryoServer;
import io.anuke.mindustry.core.Platform;
import io.anuke.mindustry.game.Saves.SaveSlot;
import io.anuke.mindustry.io.SaveIO;
import io.anuke.mindustry.net.Net;
import io.anuke.mindustry.ui.dialogs.FileChooser;
import java.io.File; import java.io.*;
import java.io.FileInputStream; import java.lang.System;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.Vars.*;
@@ -43,18 +28,20 @@ public class AndroidLauncher extends AndroidApplication{
public static final int PERMISSION_REQUEST_CODE = 1; public static final int PERMISSION_REQUEST_CODE = 1;
boolean doubleScaleTablets = true; boolean doubleScaleTablets = true;
FileChooser chooser; FileChooser chooser;
Runnable permCallback;
@Override @Override
protected void onCreate(Bundle savedInstanceState){ protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration(); if(doubleScaleTablets && isTablet(this.getContext())){
config.useImmersiveMode = true; Scl.setAddition(0.5f);
config.depth = 0; }
Platform.instance = new Platform(){
initialize(new ClientLauncher(){
@Override @Override
public void openDonations(){ public void hide(){
showDonations(); moveTaskToBack(true);
} }
@Override @Override
@@ -64,7 +51,7 @@ public class AndroidLauncher extends AndroidApplication{
int len = s.length(); int len = s.length();
byte[] data = new byte[len / 2]; byte[] data = new byte[len / 2];
for(int i = 0; i < len; i += 2){ for(int i = 0; i < len; i += 2){
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) data[i / 2] = (byte)((Character.digit(s.charAt(i), 16) << 4)
+ Character.digit(s.charAt(i + 1), 16)); + Character.digit(s.charAt(i + 1), 16));
} }
String result = new String(Base64Coder.encode(data)); String result = new String(Base64Coder.encode(data));
@@ -80,21 +67,38 @@ public class AndroidLauncher extends AndroidApplication{
} }
@Override @Override
public void showFileChooser(String text, String content, Consumer<FileHandle> cons, boolean open, String filetype){ public void showFileChooser(boolean open, String extension, Consumer<FileHandle> cons){
chooser = new FileChooser(text, file -> file.extension().equalsIgnoreCase(filetype), open, cons); if(VERSION.SDK_INT >= 19){
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.M || (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED && Intent intent = new Intent(open ? Intent.ACTION_OPEN_DOCUMENT : Intent.ACTION_CREATE_DOCUMENT);
checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)){ intent.addCategory(Intent.CATEGORY_OPENABLE);
chooser.show(); intent.setType("*/*");
chooser = null; addResultListener(i -> startActivityForResult(intent, i), (code, in) -> {
if(code == Activity.RESULT_OK && in != null && in.getData() != null){
Uri uri = in.getData();
Core.app.post(() -> Core.app.post(() -> cons.accept(new FileHandle(uri.getPath()){
@Override
public InputStream read(){
try{
return getContentResolver().openInputStream(uri);
}catch(IOException e){
throw new ArcRuntimeException(e);
}
}
@Override
public OutputStream write(boolean append){
try{
return getContentResolver().openOutputStream(uri);
}catch(IOException e){
throw new ArcRuntimeException(e);
}
}
})));
}
});
}else{ }else{
ArrayList<String> perms = new ArrayList<>(); super.showFileChooser(open, extension, cons);
if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
perms.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
}
if(checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
perms.add(Manifest.permission.READ_EXTERNAL_STORAGE);
}
requestPermissions(perms.toArray(new String[perms.size()]), PERMISSION_REQUEST_CODE);
} }
} }
@@ -105,41 +109,33 @@ public class AndroidLauncher extends AndroidApplication{
@Override @Override
public void endForceLandscape(){ public void endForceLandscape(){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER);
} }
@Override @Override
public boolean canDonate(){ public boolean canDonate(){
return true; return true;
} }
}; }, new AndroidApplicationConfiguration(){{
useImmersiveMode = true;
try{ depth = 0;
ProviderInstaller.installIfNeeded(this); hideStatusBar = true;
}catch(GooglePlayServicesRepairableException e){ }});
GoogleApiAvailability apiAvailability = GoogleApiAvailability.getInstance();
apiAvailability.getErrorDialog(this, e.getConnectionStatusCode(), 0).show();
}catch(GooglePlayServicesNotAvailableException e){
Log.e("SecurityException", "Google Play Services not available.");
}
if(doubleScaleTablets && isTablet(this.getContext())){
Unit.dp.addition = 0.5f;
}
config.hideStatusBar = true;
Net.setClientProvider(new KryoClient());
Net.setServerProvider(new KryoServer());
initialize(new Mindustry(), config);
checkFiles(getIntent()); checkFiles(getIntent());
} }
@Override @Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults){ public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults){
if(requestCode == PERMISSION_REQUEST_CODE){ if(requestCode == PERMISSION_REQUEST_CODE){
for(int i : grantResults){ for(int i : grantResults){
if(i != PackageManager.PERMISSION_GRANTED) return; if(i != PackageManager.PERMISSION_GRANTED) return;
} }
if(chooser != null){ if(chooser != null){
chooser.show(); Core.app.post(chooser::show);
}
if(permCallback != null){
Core.app.post(permCallback);
permCallback = null;
} }
} }
} }
@@ -162,7 +158,7 @@ public class AndroidLauncher extends AndroidApplication{
InputStream inStream; InputStream inStream;
if(myFile != null) inStream = new FileInputStream(myFile); if(myFile != null) inStream = new FileInputStream(myFile);
else inStream = getContentResolver().openInputStream(uri); else inStream = getContentResolver().openInputStream(uri);
Core.app.post(() -> { Core.app.post(() -> Core.app.post(() -> {
if(save){ //open save if(save){ //open save
System.out.println("Opening save."); System.out.println("Opening save.");
FileHandle file = Core.files.local("temp-save." + saveExtension); FileHandle file = Core.files.local("temp-save." + saveExtension);
@@ -172,10 +168,10 @@ public class AndroidLauncher extends AndroidApplication{
SaveSlot slot = control.saves.importSave(file); SaveSlot slot = control.saves.importSave(file);
ui.load.runLoadSave(slot); ui.load.runLoadSave(slot);
}catch(IOException e){ }catch(IOException e){
ui.showError(Core.bundle.format("save.import.fail", Strings.parseException(e, false))); ui.showException("$save.import.fail", e);
} }
}else{ }else{
ui.showError("$save.import.invalid"); ui.showErrorMessage("$save.import.invalid");
} }
}else if(map){ //open map }else if(map){ //open map
FileHandle file = Core.files.local("temp-map." + mapExtension); FileHandle file = Core.files.local("temp-map." + mapExtension);
@@ -188,29 +184,15 @@ public class AndroidLauncher extends AndroidApplication{
ui.editor.beginEditMap(file); ui.editor.beginEditMap(file);
}); });
} }
}); }));
} }
}catch(IOException e){ }catch(IOException e){
e.printStackTrace(); e.printStackTrace();
} }
} }
private boolean isPackageInstalled(String packagename){
try{
getPackageManager().getPackageInfo(packagename, 0);
return true;
}catch(Exception e){
return false;
}
}
private boolean isTablet(Context context){ private boolean isTablet(Context context){
TelephonyManager manager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
return manager.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE; return manager != null && manager.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE;
}
private void showDonations(){
Intent intent = new Intent(this, DonationsActivity.class);
startActivity(intent);
} }
} }

View File

@@ -1,73 +0,0 @@
package io.anuke.mindustry;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.widget.Button;
import org.sufficientlysecure.donations.DonationsFragment;
public class DonationsActivity extends FragmentActivity{
/**
* Google
*/
private static final String GOOGLE_PUBKEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzG93KhpfBPKTo2jF0yxbWkkmMKwsPNM4SsMj1aDq7vv6n3R+mqJVfprOJxFfJh7JchXTflLIgiaKXFAiU70gJbMTniEWnEaFSxAeF09a7U0RjOwN+7rFwjCG91c2CpYxPanBTQP4zasc1ODPVzq4q6/4ByjhenN71V4WmR08NFIAodcfFPrOkDPil7i8y7cgcd1Ky53U0TS+LLYJttAK3XdTK4s7VE3I5IKoeNa4uwCmIM59R67q2k3cXjLk/nP6MP+y++EzHN/PTiR1sVg4dMP8K31RPw/1QNLPQwJz6Wc872oWwb7xo5gkoXbDc5WPPydsi8F3SyKNaYwzN6CDFQIDAQAB";
private static final String[] GOOGLE_CATALOG = new String[]{
"mindustry.donation.1", "mindustry.donation.2", "mindustry.donation.5",
"mindustry.donation.10", "mindustry.donation.15",
"mindustry.donation.25", "mindustry.donation.50"};
DonationsFragment donationsFragment;
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setTheme(R.style.GdxTheme);
setContentView(R.layout.donations_activity);
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
if(BuildConfig.DONATIONS_GOOGLE){
donationsFragment = DonationsFragment.newInstance(BuildConfig.DEBUG, true, GOOGLE_PUBKEY, GOOGLE_CATALOG,
getResources().getStringArray(R.array.donation_google_catalog_values), false, null, null,
null, false, null, null, false, null);
}
ft.replace(R.id.donations_activity_container, donationsFragment, "donationsFragment");
ft.commit();
}
public void onStart(){
super.onStart();
Button b = findViewById(org.sufficientlysecure.donations.R.id.donations__google_android_market_donate_button);
b.setOnClickListener(view -> {
donationsFragment.donateGoogleOnClick(donationsFragment.getView());
b.setEnabled(false);
});
}
/**
* Needed for Google Play In-app Billing. It uses startIntentSenderForResult(). The result is not propagated to
* the Fragment like in startActivityForResult(). Thus we need to propagate manually to our Fragment.
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
Button b = findViewById(org.sufficientlysecure.donations.R.id.donations__google_android_market_donate_button);
b.setEnabled(true);
FragmentManager fragmentManager = getSupportFragmentManager();
Fragment fragment = fragmentManager.findFragmentByTag("donationsFragment");
if(fragment != null){
fragment.onActivityResult(requestCode, resultCode, data);
}
}
}

View File

@@ -1,6 +1,6 @@
apply plugin: "java" apply plugin: "java"
sourceCompatibility = 1.8 sourceCompatibility = 1.8
sourceSets.main.java.srcDirs = [ "src/main/java/" ] sourceSets.main.java.srcDirs = ["src/main/java/"]
sourceSets.main.resources.srcDirs = [ "src/main/resources/" ] sourceSets.main.resources.srcDirs = ["src/main/resources/"]

View File

@@ -1,31 +1,60 @@
package io.anuke.annotations; package io.anuke.annotations;
import java.lang.annotation.ElementType; import java.lang.annotation.*;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
public class Annotations{ public class Annotations{
/** Marks a class as serializable.*/ @Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface StyleDefaults {
}
/** Indicates that a method should always call its super version. */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface CallSuper{
}
/** Annotation that allows overriding CallSuper annotation. To be used on method that overrides method with CallSuper annotation from parent class.*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface OverrideCallSuper {
}
/** Indicates that a method return or field can be null.*/
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE})
@Retention(RetentionPolicy.SOURCE)
public @interface Nullable{
}
/** Indicates that a method return or field cannot be null.*/
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE})
@Retention(RetentionPolicy.SOURCE)
public @interface NonNull{
}
/** Marks a class as serializable. */
@Target(ElementType.TYPE) @Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE)
public @interface Serialize{ public @interface Serialize{
} }
/** Marks a class as a special value type struct. Class name must end in 'Struct'.*/ /** Marks a class as a special value type struct. Class name must end in 'Struct'. */
@Target(ElementType.TYPE) @Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE)
public @interface Struct{ public @interface Struct{
} }
/**Marks a field of a struct. Optional.*/ /** Marks a field of a struct. Optional. */
@Target(ElementType.FIELD) @Target(ElementType.FIELD)
@Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE)
public @interface StructField{ public @interface StructField{
/**Size of a struct field in bits. Not valid on booleans or floating point numbers.*/ /** Size of a struct field in bits. Not valid on booleans or floating point numbers. */
int value(); int value();
} }

View File

@@ -0,0 +1,172 @@
package io.anuke.annotations;
import com.squareup.javapoet.*;
import io.anuke.annotations.Annotations.*;
import javax.annotation.processing.*;
import javax.lang.model.*;
import javax.lang.model.element.*;
import javax.tools.Diagnostic.*;
import javax.tools.*;
import java.nio.file.*;
import java.util.*;
@SupportedSourceVersion(SourceVersion.RELEASE_8)
@SupportedAnnotationTypes("io.anuke.annotations.Annotations.StyleDefaults")
public class AssetsAnnotationProcessor extends AbstractProcessor{
/** Name of the base package to put all the generated classes. */
private static final String packageName = "io.anuke.mindustry.gen";
private String path;
private int round;
@Override
public synchronized void init(ProcessingEnvironment processingEnv){
super.init(processingEnv);
//put all relevant utils into utils class
Utils.typeUtils = processingEnv.getTypeUtils();
Utils.elementUtils = processingEnv.getElementUtils();
Utils.filer = processingEnv.getFiler();
Utils.messager = processingEnv.getMessager();
}
@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv){
if(round++ != 0) return false; //only process 1 round
try{
path = Paths.get(Utils.filer.createResource(StandardLocation.CLASS_OUTPUT, "no", "no")
.toUri().toURL().toString().substring(System.getProperty("os.name").contains("Windows") ? 6 : "file:".length()))
.getParent().getParent().getParent().getParent().getParent().getParent().toString();
processSounds("Sounds", path + "/assets/sounds", "io.anuke.arc.audio.Sound");
processSounds("Musics", path + "/assets/music", "io.anuke.arc.audio.Music");
processUI(roundEnv.getElementsAnnotatedWith(StyleDefaults.class));
return true;
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
}
void processUI(Set<? extends Element> elements) throws Exception{
String[] iconSizes = {"small", "smaller", "tiny"};
TypeSpec.Builder type = TypeSpec.classBuilder("Tex").addModifiers(Modifier.PUBLIC);
TypeSpec.Builder ictype = TypeSpec.classBuilder("Icon").addModifiers(Modifier.PUBLIC);
MethodSpec.Builder load = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
MethodSpec.Builder loadStyles = MethodSpec.methodBuilder("loadStyles").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
MethodSpec.Builder icload = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
String resources = path + "/assets-raw/sprites/ui";
Files.walk(Paths.get(resources)).forEach(p -> {
if(Files.isDirectory(p) || p.getFileName().toString().equals(".DS_Store")) return;
String filename = p.getFileName().toString();
filename = filename.substring(0, filename.indexOf("."));
ArrayList<String> names = new ArrayList<>();
names.add("");
if(filename.contains("icon")){
names.addAll(Arrays.asList(iconSizes));
}
for(String suffix : names){
suffix = suffix.isEmpty() ? "" : "-" + suffix;
String sfilen = filename + suffix;
String dtype = p.getFileName().toString().endsWith(".9.png") ? "io.anuke.arc.scene.style.NinePatchDrawable" : "io.anuke.arc.scene.style.TextureRegionDrawable";
String varname = capitalize(sfilen);
TypeSpec.Builder ttype = type;
MethodSpec.Builder tload = load;
if(varname.startsWith("icon")){
varname = varname.substring("icon".length());
varname = Character.toLowerCase(varname.charAt(0)) + varname.substring(1);
ttype = ictype;
tload = icload;
if(SourceVersion.isKeyword(varname)) varname += "i";
}
if(SourceVersion.isKeyword(varname)) varname += "s";
ttype.addField(ClassName.bestGuess(dtype), varname, Modifier.STATIC, Modifier.PUBLIC);
tload.addStatement(varname + " = ("+dtype+")io.anuke.arc.Core.atlas.drawable($S)", sfilen);
}
});
for(Element elem : elements){
TypeElement t = (TypeElement)elem;
t.getEnclosedElements().stream().filter(e -> e.getKind() == ElementKind.FIELD).forEach(field -> {
String fname = field.getSimpleName().toString();
if(fname.startsWith("default")){
loadStyles.addStatement("io.anuke.arc.Core.scene.addStyle(" + field.asType().toString() + ".class, io.anuke.mindustry.ui.Styles." + fname + ")");
}
});
}
ictype.addMethod(icload.build());
JavaFile.builder(packageName, ictype.build()).build().writeTo(Utils.filer);
type.addMethod(load.build());
type.addMethod(loadStyles.build());
JavaFile.builder(packageName, type.build()).build().writeTo(Utils.filer);
}
void processSounds(String classname, String path, String rtype) throws Exception{
TypeSpec.Builder type = TypeSpec.classBuilder(classname).addModifiers(Modifier.PUBLIC);
MethodSpec.Builder dispose = MethodSpec.methodBuilder("dispose").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
MethodSpec.Builder loadBegin = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
HashSet<String> names = new HashSet<>();
Files.list(Paths.get(path)).forEach(p -> {
String fname = p.getFileName().toString();
String name = p.getFileName().toString();
name = name.substring(0, name.indexOf("."));
if(names.contains(name)){
Utils.messager.printMessage(Kind.ERROR, "Duplicate file name: " + p.toString() + "!");
}else{
names.add(name);
}
if(SourceVersion.isKeyword(name)){
name = name + "s";
}
String filepath = path.substring(path.lastIndexOf("/") + 1) + "/" + fname;
String filename = "io.anuke.arc.Core.app.getType() != io.anuke.arc.Application.ApplicationType.iOS ? \"" + filepath + "\" : \"" + filepath.replace(".ogg", ".mp3")+"\"";
loadBegin.addStatement("io.anuke.arc.Core.assets.load("+filename +", "+rtype+".class).loaded = a -> " + name + " = ("+rtype+")a", filepath, filepath.replace(".ogg", ".mp3"));
dispose.addStatement(name + ".dispose()");
dispose.addStatement(name + " = null");
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), name, Modifier.STATIC, Modifier.PUBLIC).initializer("new io.anuke.arc.audio.mock.Mock" + rtype.substring(rtype.lastIndexOf(".") + 1)+ "()").build());
});
if(classname.equals("Sounds")){
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), "none", Modifier.STATIC, Modifier.PUBLIC).initializer("new io.anuke.arc.audio.mock.Mock" + rtype.substring(rtype.lastIndexOf(".") + 1)+ "()").build());
}
type.addMethod(loadBegin.build());
type.addMethod(dispose.build());
JavaFile.builder(packageName, type.build()).build().writeTo(Utils.filer);
}
static String capitalize(String s){
StringBuilder result = new StringBuilder(s.length());
for(int i = 0; i < s.length(); i++){
char c = s.charAt(i);
if(c != '_' && c != '-'){
if(i > 0 && (s.charAt(i - 1) == '_' || s.charAt(i - 1) == '-')){
result.append(Character.toUpperCase(c));
}else{
result.append(c);
}
}
}
return result.toString();
}
}

View File

@@ -0,0 +1,65 @@
package io.anuke.annotations;
import com.sun.source.util.TreePath;
import com.sun.source.util.Trees;
import com.sun.tools.javac.tree.JCTree;
import com.sun.tools.javac.tree.JCTree.JCExpressionStatement;
import io.anuke.annotations.Annotations.OverrideCallSuper;
import javax.annotation.processing.*;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.Element;
import javax.lang.model.element.TypeElement;
import javax.tools.Diagnostic.Kind;
import java.util.List;
import java.util.Set;
@SupportedAnnotationTypes("java.lang.Override")
public class CallSuperAnnotationProcessor extends AbstractProcessor{
private Trees trees;
@Override
public void init (ProcessingEnvironment pe) {
super.init(pe);
trees = Trees.instance(pe);
}
public boolean process (Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
for (Element e : roundEnv.getElementsAnnotatedWith(Override.class)) {
if (e.getAnnotation(OverrideCallSuper.class) != null) return false;
CodeAnalyzerTreeScanner codeScanner = new CodeAnalyzerTreeScanner();
codeScanner.setMethodName(e.getSimpleName().toString());
TreePath tp = trees.getPath(e.getEnclosingElement());
codeScanner.scan(tp, trees);
if (codeScanner.isCallSuperUsed()) {
List list = codeScanner.getMethod().getBody().getStatements();
if (!doesCallSuper(list, codeScanner.getMethodName())) {
processingEnv.getMessager().printMessage(Kind.ERROR, "Overriding method '" + codeScanner.getMethodName() + "' must explicitly call super method from its parent class.", e);
}
}
}
return false;
}
private boolean doesCallSuper (List list, String methodName) {
for (Object object : list) {
if (object instanceof JCTree.JCExpressionStatement) {
JCTree.JCExpressionStatement expr = (JCExpressionStatement) object;
String exprString = expr.toString();
if (exprString.startsWith("super." + methodName) && exprString.endsWith(");")) return true;
}
}
return false;
}
@Override
public SourceVersion getSupportedSourceVersion () {
return SourceVersion.RELEASE_8;
}
}

View File

@@ -1,7 +1,5 @@
package io.anuke.annotations; package io.anuke.annotations;
import io.anuke.annotations.MethodEntry;
import java.util.ArrayList; import java.util.ArrayList;
/** Represents a class witha list method entries to include in it. */ /** Represents a class witha list method entries to include in it. */

View File

@@ -0,0 +1,110 @@
package io.anuke.annotations;
import com.sun.source.tree.*;
import com.sun.source.util.TreePathScanner;
import com.sun.source.util.Trees;
import com.sun.tools.javac.code.Scope;
import com.sun.tools.javac.code.Symbol;
import com.sun.tools.javac.code.Symbol.MethodSymbol;
import com.sun.tools.javac.code.Type.ClassType;
import com.sun.tools.javac.tree.JCTree.JCIdent;
import com.sun.tools.javac.tree.JCTree.JCTypeApply;
import io.anuke.annotations.Annotations.CallSuper;
import java.lang.annotation.Annotation;
class CodeAnalyzerTreeScanner extends TreePathScanner<Object, Trees> {
private String methodName;
private MethodTree method;
private boolean callSuperUsed;
@Override
public Object visitClass (ClassTree classTree, Trees trees) {
Tree extendTree = classTree.getExtendsClause();
if (extendTree instanceof JCTypeApply) { //generic classes case
JCTypeApply generic = (JCTypeApply) extendTree;
extendTree = generic.clazz;
}
if (extendTree instanceof JCIdent) {
JCIdent tree = (JCIdent) extendTree;
Scope members = tree.sym.members();
if (checkScope(members))
return super.visitClass(classTree, trees);
if (checkSuperTypes((ClassType) tree.type))
return super.visitClass(classTree, trees);
}
callSuperUsed = false;
return super.visitClass(classTree, trees);
}
public boolean checkSuperTypes (ClassType type) {
if (type.supertype_field != null && type.supertype_field.tsym != null) {
if (checkScope(type.supertype_field.tsym.members()))
return true;
else
return checkSuperTypes((ClassType) type.supertype_field);
}
return false;
}
@SuppressWarnings("unchecked")
public boolean checkScope (Scope members) {
Iterable<Symbol> it;
try{
it = (Iterable<Symbol>)members.getClass().getMethod("getElements").invoke(members);
}catch(Throwable t){
try{
it = (Iterable<Symbol>)members.getClass().getMethod("getSymbols").invoke(members);
}catch(Exception e){
throw new RuntimeException(e);
}
}
for (Symbol s : it) {
if (s instanceof MethodSymbol) {
MethodSymbol ms = (MethodSymbol) s;
if (ms.getSimpleName().toString().equals(methodName)) {
Annotation annotation = ms.getAnnotation(CallSuper.class);
if (annotation != null) {
callSuperUsed = true;
return true;
}
}
}
}
return false;
}
@Override
public Object visitMethod (MethodTree methodTree, Trees trees) {
if (methodTree.getName().toString().equals(methodName))
method = methodTree;
return super.visitMethod(methodTree, trees);
}
public void setMethodName (String methodName) {
this.methodName = methodName;
}
public String getMethodName () {
return methodName;
}
public MethodTree getMethod () {
return method;
}
public boolean isCallSuperUsed () {
return callSuperUsed;
}
}

View File

@@ -1,8 +1,6 @@
package io.anuke.annotations; package io.anuke.annotations;
import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.*;
import io.anuke.annotations.Annotations.PacketPriority;
import io.anuke.annotations.Annotations.Variant;
import javax.lang.model.element.ExecutableElement; import javax.lang.model.element.ExecutableElement;

View File

@@ -1,18 +1,13 @@
package io.anuke.annotations; package io.anuke.annotations;
import com.squareup.javapoet.FieldSpec; import com.squareup.javapoet.*;
import com.squareup.javapoet.JavaFile;
import com.squareup.javapoet.TypeSpec;
import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Loc;
import io.anuke.annotations.Annotations.Remote; import io.anuke.annotations.Annotations.Remote;
import io.anuke.annotations.IOFinder.ClassSerializer; import io.anuke.annotations.IOFinder.ClassSerializer;
import javax.annotation.processing.*; import javax.annotation.processing.*;
import javax.lang.model.SourceVersion; import javax.lang.model.SourceVersion;
import javax.lang.model.element.Element; import javax.lang.model.element.*;
import javax.lang.model.element.ExecutableElement;
import javax.lang.model.element.Modifier;
import javax.lang.model.element.TypeElement;
import javax.tools.Diagnostic.Kind; import javax.tools.Diagnostic.Kind;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -21,14 +16,14 @@ import java.util.stream.Collectors;
/** The annotation processor for generating remote method call code. */ /** The annotation processor for generating remote method call code. */
@SupportedSourceVersion(SourceVersion.RELEASE_8) @SupportedSourceVersion(SourceVersion.RELEASE_8)
@SupportedAnnotationTypes({ @SupportedAnnotationTypes({
"io.anuke.annotations.Annotations.Remote", "io.anuke.annotations.Annotations.Remote",
"io.anuke.annotations.Annotations.WriteClass", "io.anuke.annotations.Annotations.WriteClass",
"io.anuke.annotations.Annotations.ReadClass", "io.anuke.annotations.Annotations.ReadClass",
}) })
public class RemoteMethodAnnotationProcessor extends AbstractProcessor{ public class RemoteMethodAnnotationProcessor extends AbstractProcessor{
/** Maximum size of each event packet. */ /** Maximum size of each event packet. */
public static final int maxPacketSize = 4096; public static final int maxPacketSize = 4096;
/** Warning on top of each autogenerated file.*/ /** Warning on top of each autogenerated file. */
public static final String autogenWarning = "Autogenerated file. Do not modify!\n"; public static final String autogenWarning = "Autogenerated file. Do not modify!\n";
/** Name of the base package to put all the generated classes. */ /** Name of the base package to put all the generated classes. */
private static final String packageName = "io.anuke.mindustry.gen"; private static final String packageName = "io.anuke.mindustry.gen";
@@ -37,7 +32,7 @@ public class RemoteMethodAnnotationProcessor extends AbstractProcessor{
private static final String readServerName = "RemoteReadServer"; private static final String readServerName = "RemoteReadServer";
/** Name of class that handles reading and invoking packets on the client. */ /** Name of class that handles reading and invoking packets on the client. */
private static final String readClientName = "RemoteReadClient"; private static final String readClientName = "RemoteReadClient";
/**Simple class name of generated class name.*/ /** Simple class name of generated class name. */
private static final String callLocation = "Call"; private static final String callLocation = "Call";
/** Processing round number. */ /** Processing round number. */
@@ -115,7 +110,7 @@ public class RemoteMethodAnnotationProcessor extends AbstractProcessor{
//create and add entry //create and add entry
MethodEntry method = new MethodEntry(entry.name, Utils.getMethodName(element), annotation.targets(), annotation.variants(), MethodEntry method = new MethodEntry(entry.name, Utils.getMethodName(element), annotation.targets(), annotation.variants(),
annotation.called(), annotation.unreliable(), annotation.forward(), lastMethodID++, (ExecutableElement) element, annotation.priority()); annotation.called(), annotation.unreliable(), annotation.forward(), lastMethodID++, (ExecutableElement)element, annotation.priority());
entry.methods.add(method); entry.methods.add(method);
methods.add(method); methods.add(method);

View File

@@ -3,9 +3,7 @@ package io.anuke.annotations;
import com.squareup.javapoet.*; import com.squareup.javapoet.*;
import io.anuke.annotations.IOFinder.ClassSerializer; import io.anuke.annotations.IOFinder.ClassSerializer;
import javax.lang.model.element.Modifier; import javax.lang.model.element.*;
import javax.lang.model.element.TypeElement;
import javax.lang.model.element.VariableElement;
import javax.tools.Diagnostic.Kind; import javax.tools.Diagnostic.Kind;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;
@@ -25,7 +23,6 @@ public class RemoteReadGenerator{
/** /**
* Generates a class for reading remote invoke packets. * Generates a class for reading remote invoke packets.
*
* @param entries List of methods to use. * @param entries List of methods to use.
* @param className Simple target class name. * @param className Simple target class name.
* @param packageName Full target package name. * @param packageName Full target package name.
@@ -115,13 +112,13 @@ public class RemoteReadGenerator{
//execute the relevant method before the forward //execute the relevant method before the forward
//if it throws a ValidateException, the method won't be forwarded //if it throws a ValidateException, the method won't be forwarded
readBlock.addStatement("$N." + entry.element.getSimpleName() + "(" + varResult.toString() + ")", ((TypeElement) entry.element.getEnclosingElement()).getQualifiedName().toString()); readBlock.addStatement("$N." + entry.element.getSimpleName() + "(" + varResult.toString() + ")", ((TypeElement)entry.element.getEnclosingElement()).getQualifiedName().toString());
//call forwarded method, don't forward on the client reader //call forwarded method, don't forward on the client reader
if(entry.forward && entry.where.isServer && needsPlayer){ if(entry.forward && entry.where.isServer && needsPlayer){
//call forwarded method //call forwarded method
readBlock.addStatement(packageName + "." + entry.className + "." + entry.element.getSimpleName() + readBlock.addStatement(packageName + "." + entry.className + "." + entry.element.getSimpleName() +
"__forward(player.con.id" + (varResult.length() == 0 ? "" : ", ") + varResult.toString() + ")"); "__forward(player.con" + (varResult.length() == 0 ? "" : ", ") + varResult.toString() + ")");
} }
readBlock.nextControlFlow("catch (java.lang.Exception e)"); readBlock.nextControlFlow("catch (java.lang.Exception e)");

View File

@@ -4,10 +4,7 @@ import com.squareup.javapoet.*;
import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Loc;
import io.anuke.annotations.IOFinder.ClassSerializer; import io.anuke.annotations.IOFinder.ClassSerializer;
import javax.lang.model.element.ExecutableElement; import javax.lang.model.element.*;
import javax.lang.model.element.Modifier;
import javax.lang.model.element.TypeElement;
import javax.lang.model.element.VariableElement;
import javax.tools.Diagnostic.Kind; import javax.tools.Diagnostic.Kind;
import java.io.IOException; import java.io.IOException;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
@@ -88,19 +85,19 @@ public class RemoteWriteGenerator{
//if toAll is false, it's a 'send to one player' variant, so add the player as a parameter //if toAll is false, it's a 'send to one player' variant, so add the player as a parameter
if(!toAll){ if(!toAll){
method.addParameter(int.class, "playerClientID"); method.addParameter(ClassName.bestGuess("io.anuke.mindustry.net.NetConnection"), "playerConnection");
} }
//add sender to ignore //add sender to ignore
if(forwarded){ if(forwarded){
method.addParameter(int.class, "exceptSenderID"); method.addParameter(ClassName.bestGuess("io.anuke.mindustry.net.NetConnection"), "exceptConnection");
} }
//call local method if applicable, shouldn't happen when forwarding method as that already happens by default //call local method if applicable, shouldn't happen when forwarding method as that already happens by default
if(!forwarded && methodEntry.local != Loc.none){ if(!forwarded && methodEntry.local != Loc.none){
//add in local checks //add in local checks
if(methodEntry.local != Loc.both){ if(methodEntry.local != Loc.both){
method.beginControlFlow("if(" + getCheckString(methodEntry.local) + " || !io.anuke.mindustry.net.Net.active())"); method.beginControlFlow("if(" + getCheckString(methodEntry.local) + " || !io.anuke.mindustry.Vars.net.active())");
} }
//concatenate parameters //concatenate parameters
@@ -109,7 +106,7 @@ public class RemoteWriteGenerator{
for(VariableElement var : elem.getParameters()){ for(VariableElement var : elem.getParameters()){
//special case: calling local-only methods uses the local player //special case: calling local-only methods uses the local player
if(index == 0 && methodEntry.where == Loc.client){ if(index == 0 && methodEntry.where == Loc.client){
results.append("io.anuke.mindustry.Vars.players[0]"); results.append("io.anuke.mindustry.Vars.player");
}else{ }else{
results.append(var.getSimpleName()); results.append(var.getSimpleName());
} }
@@ -119,7 +116,7 @@ public class RemoteWriteGenerator{
//add the statement to call it //add the statement to call it
method.addStatement("$N." + elem.getSimpleName() + "(" + results.toString() + ")", method.addStatement("$N." + elem.getSimpleName() + "(" + results.toString() + ")",
((TypeElement) elem.getEnclosingElement()).getQualifiedName().toString()); ((TypeElement)elem.getEnclosingElement()).getQualifiedName().toString());
if(methodEntry.local != Loc.both){ if(methodEntry.local != Loc.both){
method.endControlFlow(); method.endControlFlow();
@@ -162,7 +159,7 @@ public class RemoteWriteGenerator{
boolean writePlayerSkipCheck = methodEntry.where == Loc.both && i == 0; boolean writePlayerSkipCheck = methodEntry.where == Loc.both && i == 0;
if(writePlayerSkipCheck){ //write begin check if(writePlayerSkipCheck){ //write begin check
method.beginControlFlow("if(io.anuke.mindustry.net.Net.server())"); method.beginControlFlow("if(io.anuke.mindustry.Vars.net.server())");
} }
if(Utils.isPrimitive(typeName)){ //check if it's a primitive, and if so write it if(Utils.isPrimitive(typeName)){ //check if it's a primitive, and if so write it
@@ -197,18 +194,18 @@ public class RemoteWriteGenerator{
if(forwarded){ //forward packet if(forwarded){ //forward packet
if(!methodEntry.local.isClient){ //if the client doesn't get it called locally, forward it back after validation if(!methodEntry.local.isClient){ //if the client doesn't get it called locally, forward it back after validation
sendString = "send("; sendString = "io.anuke.mindustry.Vars.net.send(";
}else{ }else{
sendString = "sendExcept(exceptSenderID, "; sendString = "io.anuke.mindustry.Vars.net.sendExcept(exceptConnection, ";
} }
}else if(toAll){ //send to all players / to server }else if(toAll){ //send to all players / to server
sendString = "send("; sendString = "io.anuke.mindustry.Vars.net.send(";
}else{ //send to specific client from server }else{ //send to specific client from server
sendString = "sendTo(playerClientID, "; sendString = "playerConnection.send(";
} }
//send the actual packet //send the actual packet
method.addStatement("io.anuke.mindustry.net.Net." + sendString + "packet, " + method.addStatement(sendString + "packet, " +
(methodEntry.unreliable ? "io.anuke.mindustry.net.Net.SendMode.udp" : "io.anuke.mindustry.net.Net.SendMode.tcp") + ")"); (methodEntry.unreliable ? "io.anuke.mindustry.net.Net.SendMode.udp" : "io.anuke.mindustry.net.Net.SendMode.tcp") + ")");
@@ -220,8 +217,8 @@ public class RemoteWriteGenerator{
} }
private String getCheckString(Loc loc){ private String getCheckString(Loc loc){
return loc.isClient && loc.isServer ? "io.anuke.mindustry.net.Net.server() || io.anuke.mindustry.net.Net.client()" : return loc.isClient && loc.isServer ? "io.anuke.mindustry.Vars.net.server() || io.anuke.mindustry.Vars.net.client()" :
loc.isClient ? "io.anuke.mindustry.net.Net.client()" : loc.isClient ? "io.anuke.mindustry.Vars.net.client()" :
loc.isServer ? "io.anuke.mindustry.net.Net.server()" : "false"; loc.isServer ? "io.anuke.mindustry.Vars.net.server()" : "false";
} }
} }

View File

@@ -5,23 +5,17 @@ import io.anuke.annotations.Annotations.Serialize;
import javax.annotation.processing.*; import javax.annotation.processing.*;
import javax.lang.model.SourceVersion; import javax.lang.model.SourceVersion;
import javax.lang.model.element.Modifier; import javax.lang.model.element.*;
import javax.lang.model.element.TypeElement;
import javax.lang.model.element.VariableElement;
import javax.lang.model.util.ElementFilter; import javax.lang.model.util.ElementFilter;
import java.io.DataInput; import java.io.*;
import java.io.DataOutput;
import java.io.IOException;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@SupportedSourceVersion(SourceVersion.RELEASE_8) @SupportedSourceVersion(SourceVersion.RELEASE_8)
@SupportedAnnotationTypes({ @SupportedAnnotationTypes("io.anuke.annotations.Annotations.Serialize")
"io.anuke.annotations.Annotations.Serialize"
})
public class SerializeAnnotationProcessor extends AbstractProcessor{ public class SerializeAnnotationProcessor extends AbstractProcessor{
/**Target class name.*/ /** Target class name. */
private static final String className = "Serialization"; private static final String className = "Serialization";
/** Name of the base package to put all the generated classes. */ /** Name of the base package to put all the generated classes. */
private static final String packageName = "io.anuke.mindustry.gen"; private static final String packageName = "io.anuke.mindustry.gen";
@@ -48,10 +42,13 @@ public class SerializeAnnotationProcessor extends AbstractProcessor{
TypeSpec.Builder classBuilder = TypeSpec.classBuilder(className).addModifiers(Modifier.PUBLIC); TypeSpec.Builder classBuilder = TypeSpec.classBuilder(className).addModifiers(Modifier.PUBLIC);
classBuilder.addAnnotation(AnnotationSpec.builder(SuppressWarnings.class).addMember("value", "\"unchecked\"").build()); classBuilder.addAnnotation(AnnotationSpec.builder(SuppressWarnings.class).addMember("value", "\"unchecked\"").build());
classBuilder.addJavadoc(RemoteMethodAnnotationProcessor.autogenWarning); classBuilder.addJavadoc(RemoteMethodAnnotationProcessor.autogenWarning);
MethodSpec.Builder method = MethodSpec.methodBuilder("init").addModifiers(Modifier.PUBLIC, Modifier.STATIC); MethodSpec.Builder method = MethodSpec.methodBuilder("init").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
for(TypeElement elem : elements){ for(TypeElement elem : elements){
TypeName type = TypeName.get(elem.asType()); TypeName type = TypeName.get(elem.asType());
String simpleTypeName = type.toString().substring(type.toString().lastIndexOf('.') + 1);
TypeSpec.Builder serializer = TypeSpec.anonymousClassBuilder("") TypeSpec.Builder serializer = TypeSpec.anonymousClassBuilder("")
.addSuperinterface(ParameterizedTypeName.get( .addSuperinterface(ParameterizedTypeName.get(
@@ -74,7 +71,8 @@ public class SerializeAnnotationProcessor extends AbstractProcessor{
List<VariableElement> fields = ElementFilter.fieldsIn(Utils.elementUtils.getAllMembers(elem)); List<VariableElement> fields = ElementFilter.fieldsIn(Utils.elementUtils.getAllMembers(elem));
for(VariableElement field : fields){ for(VariableElement field : fields){
if(field.getModifiers().contains(Modifier.STATIC) || field.getModifiers().contains(Modifier.TRANSIENT) || field.getModifiers().contains(Modifier.PRIVATE)) continue; if(field.getModifiers().contains(Modifier.STATIC) || field.getModifiers().contains(Modifier.TRANSIENT) || field.getModifiers().contains(Modifier.PRIVATE))
continue;
String name = field.getSimpleName().toString(); String name = field.getSimpleName().toString();
String typeName = Utils.typeUtils.erasure(field.asType()).toString().replace('$', '.'); String typeName = Utils.typeUtils.erasure(field.asType()).toString().replace('$', '.');
@@ -84,8 +82,8 @@ public class SerializeAnnotationProcessor extends AbstractProcessor{
writeMethod.addStatement("stream.write" + capName + "(object." + name + ")"); writeMethod.addStatement("stream.write" + capName + "(object." + name + ")");
readMethod.addStatement("object." + name + "= stream.read" + capName + "()"); readMethod.addStatement("object." + name + "= stream.read" + capName + "()");
}else{ }else{
writeMethod.addStatement("io.anuke.arc.Core.settings.getSerializer(" + typeName+ ".class).write(stream, object." + name + ")"); writeMethod.addStatement("io.anuke.arc.Core.settings.getSerializer(" + typeName + ".class).write(stream, object." + name + ")");
readMethod.addStatement("object." + name + " = (" +typeName+")io.anuke.arc.Core.settings.getSerializer(" + typeName+ ".class).read(stream)"); readMethod.addStatement("object." + name + " = (" + typeName + ")io.anuke.arc.Core.settings.getSerializer(" + typeName + ".class).read(stream)");
} }
} }
@@ -96,10 +94,8 @@ public class SerializeAnnotationProcessor extends AbstractProcessor{
method.addStatement("io.anuke.arc.Core.settings.setSerializer($N, $L)", Utils.elementUtils.getBinaryName(elem).toString().replace('$', '.') + ".class", serializer.build()); method.addStatement("io.anuke.arc.Core.settings.setSerializer($N, $L)", Utils.elementUtils.getBinaryName(elem).toString().replace('$', '.') + ".class", serializer.build());
String sname = type.toString().substring(type.toString().lastIndexOf('.') + 1); name(writeMethod, "write" + simpleTypeName);
name(readMethod, "read" + simpleTypeName);
name(writeMethod, "write" + sname);
name(readMethod, "read" + sname);
writeMethod.addModifiers(Modifier.STATIC); writeMethod.addModifiers(Modifier.STATIC);
readMethod.addModifiers(Modifier.STATIC); readMethod.addModifiers(Modifier.STATIC);

View File

@@ -1,28 +1,25 @@
package io.anuke.annotations; package io.anuke.annotations;
import com.squareup.javapoet.JavaFile; import com.squareup.javapoet.*;
import com.squareup.javapoet.MethodSpec;
import com.squareup.javapoet.TypeName;
import com.squareup.javapoet.TypeSpec;
import io.anuke.annotations.Annotations.Struct; import io.anuke.annotations.Annotations.Struct;
import io.anuke.annotations.Annotations.StructField; import io.anuke.annotations.Annotations.StructField;
import javax.annotation.processing.*; import javax.annotation.processing.*;
import javax.lang.model.SourceVersion; import javax.lang.model.SourceVersion;
import javax.lang.model.element.Modifier; import javax.lang.model.element.*;
import javax.lang.model.element.TypeElement;
import javax.lang.model.element.VariableElement;
import javax.lang.model.type.TypeKind; import javax.lang.model.type.TypeKind;
import javax.lang.model.util.ElementFilter; import javax.lang.model.util.ElementFilter;
import javax.tools.Diagnostic.Kind; import javax.tools.Diagnostic.Kind;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
/**Generates ""value types"" classes that are packed into integer primitives of the most aproppriate size. /**
* It would be nice if Java didn't make crazy hacks like this necessary.*/ * Generates ""value types"" classes that are packed into integer primitives of the most aproppriate size.
* It would be nice if Java didn't make crazy hacks like this necessary.
*/
@SupportedSourceVersion(SourceVersion.RELEASE_8) @SupportedSourceVersion(SourceVersion.RELEASE_8)
@SupportedAnnotationTypes({ @SupportedAnnotationTypes({
"io.anuke.annotations.Annotations.Struct" "io.anuke.annotations.Annotations.Struct"
}) })
public class StructAnnotationProcessor extends AbstractProcessor{ public class StructAnnotationProcessor extends AbstractProcessor{
/** Name of the base package to put all the generated classes. */ /** Name of the base package to put all the generated classes. */
@@ -129,7 +126,7 @@ public class StructAnnotationProcessor extends AbstractProcessor{
//floats: need conversion //floats: need conversion
setter.addStatement("return ($T)(($L & $L) | (($T)Float.floatToIntBits(value) << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset); setter.addStatement("return ($T)(($L & $L) | (($T)Float.floatToIntBits(value) << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset);
}else{ }else{
cons.append(" | (").append("(").append(structType).append(")").append(varName).append(" << ").append(offset).append("L)"); cons.append(" | (((").append(structType).append(")").append(varName).append(" << ").append(offset).append("L)").append(" & ").append(bitString(offset, size, structTotalSize)).append(")");
//bytes, shorts, chars, ints //bytes, shorts, chars, ints
setter.addStatement("return ($T)(($L & $L) | (($T)value << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset); setter.addStatement("return ($T)(($L & $L) | (($T)value << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset);
@@ -209,7 +206,7 @@ public class StructAnnotationProcessor extends AbstractProcessor{
throw new IllegalArgumentException("Too many fields, must fit in 64 bits. Curent size: " + size); throw new IllegalArgumentException("Too many fields, must fit in 64 bits. Curent size: " + size);
} }
/**returns a type's element size in bits.*/ /** returns a type's element size in bits. */
static int typeSize(TypeKind kind) throws IllegalArgumentException{ static int typeSize(TypeKind kind) throws IllegalArgumentException{
switch(kind){ switch(kind){
case BOOLEAN: case BOOLEAN:

View File

@@ -14,7 +14,7 @@ public class Utils{
public static Messager messager; public static Messager messager;
public static String getMethodName(Element element){ public static String getMethodName(Element element){
return ((TypeElement) element.getEnclosingElement()).getQualifiedName().toString() + "." + element.getSimpleName(); return ((TypeElement)element.getEnclosingElement()).getQualifiedName().toString() + "." + element.getSimpleName();
} }
public static boolean isPrimitive(String type){ public static boolean isPrimitive(String type){

View File

@@ -1,3 +1,5 @@
io.anuke.annotations.RemoteMethodAnnotationProcessor io.anuke.annotations.RemoteMethodAnnotationProcessor
io.anuke.annotations.SerializeAnnotationProcessor io.anuke.annotations.SerializeAnnotationProcessor
io.anuke.annotations.StructAnnotationProcessor io.anuke.annotations.StructAnnotationProcessor
io.anuke.annotations.CallSuperAnnotationProcessor
io.anuke.annotations.AssetsAnnotationProcessor

View File

@@ -8,45 +8,37 @@ buildscript{
} }
dependencies{ dependencies{
classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.5' classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.7'
classpath "com.badlogicgames.gdx:gdx-tools:1.9.9" classpath "com.badlogicgames.gdx:gdx-tools:1.9.10"
classpath "com.badlogicgames.packr:packr:2.1-SNAPSHOT" classpath "com.badlogicgames.packr:packr:2.1-SNAPSHOT"
} }
} }
allprojects{ allprojects{
apply plugin: "idea"
version = 'release' version = 'release'
apply plugin: 'maven'
group = 'com.github.Anuken'
ext{ ext{
versionNumber = '4' versionNumber = '4'
versionModifier = 'beta' if(!project.hasProperty("versionModifier")) versionModifier = 'release'
if(!project.hasProperty("versionType")) versionType = 'official' if(!project.hasProperty("versionType")) versionType = 'official'
appName = 'Mindustry' appName = 'Mindustry'
gdxVersion = '1.9.9' gdxVersion = '1.9.10'
roboVMVersion = '2.3.0' roboVMVersion = '2.3.7'
steamworksVersion = '1.8.0'
arcHash = null arcHash = null
debugged = { debugged = {
return new File(projectDir.parent, '../debug').exists() && !project.hasProperty("release") return new File(projectDir.parent, '../debug').exists() && !project.hasProperty("release") && project.hasProperty("args")
} }
localArc = { localArc = {
return (!project.hasProperty("release")) && new File(projectDir.parent, '../Arc').exists() return !project.hasProperty("release") && new File(projectDir.parent, '../Arc').exists()
} }
getArcHash = { getArcHash = {
//get latest commit hash from gtihub since JITPack's '-snapshot' version doesn't work correctly return new Properties().with{ p -> p.load(new File((File)projectDir, 'gradle.properties').newReader()); return p }["archash"]
if(arcHash == null){
try{
arcHash = 'git ls-remote https://github.com/Anuken/Arc.git'.execute().text.split("\t")[0]
}catch(e){
e.printStackTrace()
arcHash = "-SNAPSHOT";
}
}
return arcHash
} }
arcModule = { String name -> arcModule = { String name ->
@@ -59,11 +51,36 @@ allprojects{
} }
} }
generateDeployName = { String platform ->
if(platform == "windows"){
platform += "64"
}
platform = platform.capitalize()
if(platform.endsWith("64") || platform.endsWith("32")){
platform = "${platform.substring(0, platform.length() - 2)}-${platform.substring(platform.length() - 2)}bit"
}
return "[${platform}]${getModifierString()}[${getNeatVersionString()}]${appName}"
}
getVersionString = { getVersionString = {
String buildVersion = getBuildVersion() String buildVersion = getBuildVersion()
return "$versionNumber-$versionModifier-$buildVersion" return "$versionNumber-$versionModifier-$buildVersion"
} }
getNeatVersionString = {
String buildVersion = getBuildVersion()
return "v$buildVersion"
}
getModifierString = {
if(versionModifier != "release"){
return "[${versionModifier.toUpperCase()}]"
}
return ""
}
getBuildVersion = { getBuildVersion = {
if(!project.hasProperty("buildversion")) return "custom build" if(!project.hasProperty("buildversion")) return "custom build"
return project.getProperties()["buildversion"] return project.getProperties()["buildversion"]
@@ -89,12 +106,14 @@ allprojects{
try{ try{
pfile.createNewFile() pfile.createNewFile()
}catch(Exception ignored){} }catch(Exception ignored){
}
if(pfile.exists()){ if(pfile.exists()){
props.load(new FileInputStream(pfile)) props.load(new FileInputStream(pfile))
String buildid = getBuildVersion() String buildid = getBuildVersion()
println("Compiling with build: '$buildid'")
props["type"] = versionType props["type"] = versionType
props["number"] = versionNumber props["number"] = versionNumber
@@ -112,7 +131,10 @@ allprojects{
maven{ url "https://oss.sonatype.org/content/repositories/snapshots/" } maven{ url "https://oss.sonatype.org/content/repositories/snapshots/" }
maven{ url "https://oss.sonatype.org/content/repositories/releases/" } maven{ url "https://oss.sonatype.org/content/repositories/releases/" }
maven{ url 'https://jitpack.io' } maven{ url 'https://jitpack.io' }
jcenter()
} }
tasks.withType(Javadoc).all{ enabled = false }
} }
project(":desktop"){ project(":desktop"){
@@ -120,15 +142,17 @@ project(":desktop"){
dependencies{ dependencies{
compile project(":core") compile project(":core")
compile project(":net")
if(debugged()) compile project(":debug") if(debugged()) compile project(":debug")
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop" compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
compile "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-desktop" compile "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-desktop"
compile arcModule("backends:backend-lwjgl3") compile "com.code-disaster.steamworks4j:steamworks4j:$steamworksVersion"
compile 'com.github.MinnDevelopment:java-discord-rpc:v2.0.0' compile "com.code-disaster.steamworks4j:steamworks4j-server:$steamworksVersion"
compile arcModule("backends:backend-sdl")
compile 'com.github.MinnDevelopment:java-discord-rpc:v2.0.2'
} }
} }
@@ -145,7 +169,7 @@ project(":ios"){
} }
props['app.id'] = 'io.anuke.mindustry' props['app.id'] = 'io.anuke.mindustry'
props['app.version'] = '4.0' props['app.version'] = '4.2.1'
props['app.mainclass'] = 'io.anuke.mindustry.IOSLauncher' props['app.mainclass'] = 'io.anuke.mindustry.IOSLauncher'
props['app.executable'] = 'IOSLauncher' props['app.executable'] = 'IOSLauncher'
props['app.name'] = 'Mindustry' props['app.name'] = 'Mindustry'
@@ -155,7 +179,7 @@ project(":ios"){
dependencies{ dependencies{
compile project(":core") compile project(":core")
compile project(":net") compileOnly project(":annotations")
compile arcModule("backends:backend-robovm") compile arcModule("backends:backend-robovm")
@@ -169,10 +193,14 @@ project(":ios"){
project(":core"){ project(":core"){
apply plugin: "java" apply plugin: "java"
task finish{ task preGen{
outputs.upToDateWhen{ false }
generateLocales() generateLocales()
writeVersion()
} }
dependencies{
if(System.properties["user.name"] == "anuke"){
task cleanGen{ task cleanGen{
doFirst{ doFirst{
delete{ delete{
@@ -184,7 +212,7 @@ project(":core"){
task copyGen{ task copyGen{
doLast{ doLast{
copy{ copy{
from("../core/build/classes/java/main/io/anuke/mindustry/gen/"){ from("../core/build/generated/sources/annotationProcessor/java/main/io/anuke/mindustry/gen"){
include "**/*.java" include "**/*.java"
} }
@@ -193,12 +221,16 @@ project(":core"){
} }
} }
dependencies{
compileJava.dependsOn(cleanGen) compileJava.dependsOn(cleanGen)
compileJava.finalizedBy(copyGen) compileJava.finalizedBy(copyGen)
}
compileJava.dependsOn(preGen)
compile "org.lz4:lz4-java:1.4.1"
compile arcModule("arc-core") compile arcModule("arc-core")
compile arcModule("extensions:freetype") compile arcModule("extensions:freetype")
compile arcModule("extensions:arcnet")
if(localArc() && debugged()) compile arcModule("extensions:recorder") if(localArc() && debugged()) compile arcModule("extensions:recorder")
compileOnly project(":annotations") compileOnly project(":annotations")
@@ -211,7 +243,6 @@ project(":server"){
dependencies{ dependencies{
compile project(":core") compile project(":core")
compile project(":net")
compile arcModule("backends:backend-headless") compile arcModule("backends:backend-headless")
} }
} }
@@ -238,6 +269,12 @@ project(":tools"){
dependencies{ dependencies{
compile project(":core") compile project(":core")
//for render tests
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
compile "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-desktop"
compile arcModule("backends:backend-sdl")
} }
} }
@@ -246,16 +283,27 @@ project(":annotations"){
dependencies{ dependencies{
compile 'com.squareup:javapoet:1.11.0' compile 'com.squareup:javapoet:1.11.0'
compile files("${System.getProperty('java.home')}/../lib/tools.jar")
} }
} }
project(":net"){ task deployAll{
apply plugin: "java" task cleanDeployOutput{
doFirst{
if("${getBuildVersion()}" == "custom build" || "${getBuildVersion()}" == "") throw new IllegalArgumentException("----\n\nSET A BUILD NUMBER FIRST!\n\n----")
if(!project.hasProperty("release")) throw new IllegalArgumentException("----\n\nSET THE RELEASE PROJECT PROPERTY FIRST!\n\n----")
dependencies{ delete{
compile project(":core") delete "deploy/"
compile "org.lz4:lz4-java:1.4.1"
compile 'com.github.Anuken:kryonet:a64d2280880e80566ca1bdaffa55de43e51cad38'
compile 'com.github.Anuken:WaifUPnP:05eb46bc577fd7674596946ba288c96c0cedd893'
} }
}
}
dependsOn cleanDeployOutput
dependsOn "desktop:packrLinux64"
dependsOn "desktop:packrWindows64"
dependsOn "desktop:packrWindows32"
dependsOn "desktop:packrMacOS"
dependsOn "server:deploy"
dependsOn "android:deploy"
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 B

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 312 B

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 B

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 B

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 B

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 215 B

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 B

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 B

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 B

After

Width:  |  Height:  |  Size: 123 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 B

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 B

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 B

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 B

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 B

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Some files were not shown because too many files have changed in this diff Show More