Compare commits

...

4514 Commits
v82 ... v106

Author SHA1 Message Date
Anuken
ae78054188 Update .travis.yml 2020-09-23 18:37:45 -04:00
Anuken
28b7ef53bb Updated bundle contents 2020-09-23 18:28:25 -04:00
Anuken
d7bd4bd0c8 Merge remote-tracking branch 'origin/master' 2020-09-23 18:26:09 -04:00
Anuken
3a618761b3 Pre-release tweaks 2020-09-23 18:26:05 -04:00
Anuken
8efba6ada7 Merge pull request #2564 from Prosta4okua/master
[Bundle][RU] actual L10n
2020-09-23 18:25:36 -04:00
Anuken
c12263078a Merge pull request #2626 from YellOw139/patch-2
[Bundle][RO] Translation Update
2020-09-23 18:25:24 -04:00
Anuken
fcff922370 Merge branch 'master' into patch-2 2020-09-23 18:25:12 -04:00
Anuken
14627dbbf7 Merge pull request #2639 from PetrGasparik/6.0-aplha-2
Czech translation track for 6.0 aplha 2
2020-09-23 18:24:48 -04:00
Anuken
5df5a6e39f tweak 2020-09-23 18:01:12 -04:00
Anuken
3db2ffb843 Launch pad destination selection 2020-09-23 18:00:24 -04:00
Anuken
1cc8d7e3f4 Balance 2020-09-23 15:21:06 -04:00
Anuken
84aa4ad602 Merge pull request #2675 from Voz-Duh/turrets-shadow
Turrets Shadow
2020-09-23 10:50:47 -04:00
Voz-Duh
64d4fd5579 Fix 2020-09-23 16:55:59 +03:00
Voz-Duh
868c6a6996 Fix 2020-09-23 16:47:11 +03:00
Anuken
8ed83964a2 Bugfixes 2020-09-23 09:33:56 -04:00
Anuken
ec11e60c7c Fixed #2679 2020-09-23 09:32:27 -04:00
Voz-Duh
b4d0df03df Fix 2020-09-23 12:56:21 +03:00
Voz-Duh
d0f6d9fb95 Deleted other files 2020-09-23 12:42:02 +03:00
YellOw139
fb42302720 Update bundle_ro.properties 2020-09-23 12:40:27 +03:00
YellOw139
7701368d1b Main menu adjustments for mobile 2020-09-23 12:39:13 +03:00
Voz-Duh
9503e26e1d Add shadow 2020-09-23 12:39:06 +03:00
Felix Corvus
fe9a44d876 Update bundle_ru.properties 2020-09-23 08:35:28 +03:00
Anuken
6b43697891 (2) 2020-09-22 23:32:34 -04:00
Anuken
b601dc5deb Fixed fuse length being less than expected 2020-09-22 23:25:44 -04:00
Anuken
a4375f9c85 Merge remote-tracking branch 'origin/master' 2020-09-22 23:22:56 -04:00
Anuken
0058d45352 Fixed #2672 2020-09-22 23:22:53 -04:00
Anuken
2eaa7d2745 Merge pull request #2669 from genNAowl/camelcasing1
rotatespeed > rotateSpeed
2020-09-22 23:08:50 -04:00
Anuken
cf13717cc8 Fixed #2671 2020-09-22 22:52:55 -04:00
Anuken
39aeab5f11 cleanup 2020-09-22 21:58:59 -04:00
Anuken
3f403a26cc ? ? 2020-09-22 21:54:09 -04:00
Anuken
721e79eb90 Fixed #2670 2020-09-22 21:48:42 -04:00
Anuken
3592b36f85 ??? 2020-09-22 21:45:07 -04:00
Anuken
36fc6959f4 Removed redundant revision code 2020-09-22 21:42:49 -04:00
Anuken
7a6f69fc88 log revision changes 2020-09-22 21:39:12 -04:00
Anuken
f685c30178 testing if travis messed up codegen 2020-09-22 21:28:31 -04:00
Leonwang4234
e00b50c1f1 rotatespeed > rotateSpeed 2020-09-22 18:25:05 -07:00
Anuken
ba6ab8483e Various tweaks 2020-09-22 20:42:36 -04:00
Anuken
4a02315ee5 Small bugfixes 2020-09-22 17:59:37 -04:00
Anuken
f3e08f9cb6 Internal refactoring & cleanup 2020-09-22 15:50:33 -04:00
Anuken
0256a475cf Fixed #2662 2020-09-22 13:38:08 -04:00
Anuken
3a466475fd Better error handling on Steam 2020-09-22 13:12:21 -04:00
Anuken
5895e2f23c #2647 2020-09-22 12:24:40 -04:00
Anuken
08ff36c43e Bugfixes 2020-09-22 12:16:17 -04:00
Anuken
b2b8949e26 Cleanup 2020-09-22 11:16:19 -04:00
Anuken
ce4f67341c Merge remote-tracking branch 'origin/master' 2020-09-22 10:03:10 -04:00
Anuken
a6c10a97f2 Fixed #2654 / Fixed #2651 / fine I'll add a base 2020-09-22 10:03:05 -04:00
Anuken
d4044c3b27 Merge pull request #2609 from DeltaNedas/crashlog
more info in crash reports
2020-09-22 09:30:29 -04:00
DeltaNedas
472d408bbc crash send error code 2020-09-22 06:16:40 +00:00
DeltaNedas
c7cfb290eb version for mods 2020-09-22 06:15:43 +00:00
DeltaNedas
8b354e7334 Update core/src/mindustry/net/CrashSender.java
Co-authored-by: Anuken <arnukren@gmail.com>
2020-09-22 06:13:51 +00:00
YellOw139
5009f3aaf1 Quad, Oct 2020-09-22 07:52:11 +03:00
Anuken
87032c82b1 T4/5 support mechs 2020-09-21 23:32:30 -04:00
Anuken
1d8f837fb1 Fixed #2646 2020-09-21 14:35:39 -04:00
Anuken
ff7c87bec0 Bugfixes 2020-09-21 14:33:15 -04:00
Anuken
ff58ccf659 Sprite tweaks 2020-09-21 13:22:07 -04:00
Felix Corvus
eb0a5d4d14 Update bundle_ru.properties 2020-09-21 19:18:40 +03:00
Anuken
45e77fe3b4 Balance 2020-09-21 12:05:24 -04:00
Anuken
74fadfe603 Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-09-21 11:41:15 -04:00
Anuken
1aa8bb9dd2 T5 air support unit 2020-09-21 11:41:11 -04:00
Anuken
b732da09df Merge pull request #2643 from Remint32/patch-4
Make Pal.java colors changable for texturepack-mods tweaks
2020-09-21 11:10:37 -04:00
Felix Corvus
6840fb53b7 Update Pal.java 2020-09-21 16:24:06 +03:00
Anuken
6b56fef512 Merge pull request #2636 from genNAowl/wall-sound-effects
Add sound variables for when a wall is releasing lightning/deflecting bullets
2020-09-21 09:11:57 -04:00
Felix Corvus
1b38b2d2f9 Lyagushka just kva'd 2020-09-21 16:00:45 +03:00
Petr Gašparík
50960ff599 Update for Stream plus humble selfpromo 2020-09-21 11:08:46 +02:00
Petr Gašparík
c122d737c1 Czech translation - fixes 2020-09-21 11:01:53 +02:00
Petr Gašparík
3349764421 Czech translation - from 105 to 6.0 alpha 2020-09-21 10:59:02 +02:00
Petr Gašparík
636a332d65 Merge branch 'master' of https://github.com/Anuken/Mindustry into v105 2020-09-21 10:05:24 +02:00
Leonwang4234
5eb722efee Update Wall.java 2020-09-20 20:25:18 -07:00
Anuken
63e35bd462 T4 air carrier unit (*unfinished*) 2020-09-20 19:34:12 -04:00
Anuken
401384ae5b Anuken/Mindustry-Suggestions/issues/548 2020-09-20 16:35:25 -04:00
DeltaNedas
f9a70b1190 typo 2020-09-20 20:35:44 +01:00
DeltaNedas
632322a2bc add even more info to crash logs 2020-09-20 20:25:57 +01:00
Anuken
b2d054c1f2 Merge remote-tracking branch 'origin/master' 2020-09-20 15:23:41 -04:00
Anuken
0a314e142e Fixed #2632 (among other things) 2020-09-20 15:23:34 -04:00
YellOw139
d6291ea6c5 Merge branch 'master' into patch-2 2020-09-20 17:47:32 +03:00
Felix Corvus
f7b320e838 Update bundle_ru.properties 2020-09-20 17:47:08 +03:00
YellOw139
c82455d994 #2628 2020-09-20 17:42:19 +03:00
Felix Corvus
dd32b4d39d Merge branch 'master' into master 2020-09-20 16:56:36 +03:00
Anuken
8a3ed9c80b Merge pull request #2628 from Remint32/patch-5
[Bundle] Little improvements for convenience
2020-09-20 09:51:29 -04:00
Félix Córvus
0396cc6ec4 Update Control.java 2020-09-20 16:45:34 +03:00
Félix Córvus
e907d1a23f Updating bundles 2020-09-20 16:43:15 +03:00
Felix Corvus
86446f4f00 Update Control.java 2020-09-20 16:32:38 +03:00
YellOw139
9bdc81e728 Update contributors 2020-09-20 12:11:33 +03:00
YellOw139
a0d81eb18e [Bundle][RO] Translation Update
This PR was tested in-game and it's ready to merge at any time (unless marked as draft).

Changelog:
- Changes as per commits c71be9ae32, f53af781ba, 68cf2af6e0, 0bcb48ca31, b4d83f33e9
- Changed Surge Alloy name to 'Supra Aliaj'. 
  The new name is closer to the original, shorter and easier to pronounce. Old name: 'Aliaj de Supratensiune'
- Changed Phase Fabric name to 'Fibră-Fază'.
  It's closer to the original and shorter. Old name: 'Material de Fază'
- Tweaked some stat names
- Tweaked some map editor button names
- Typo fixes & various other improvements
2020-09-20 12:06:09 +03:00
Anuken
415380f25e Merge remote-tracking branch 'origin/master' 2020-09-19 21:54:18 -04:00
Anuken
b9fd38a76e Various tweaks and speculative changes 2020-09-19 21:54:08 -04:00
Anuken
b4d83f33e9 Merge pull request #2395 from genNAowl/ready-to-merge-force-projectors
F O R C E P R O J E C T O R S
2020-09-19 21:15:45 -04:00
Anuken
3b8b762a1c Removed phase radius display *(see description)*
Phased radius has been proposed in numerous PRs, but I don't know how to handle it properly yet. New players may be confused about the extra circle/hexagon indicator around blocks - it's not clear what it means. An extra radius easy to implement, so I'll leave it out of this PR and handle it later.
2020-09-19 21:15:18 -04:00
Anuken
cdd1e90d1a Fixed #2622 2020-09-19 17:35:32 -04:00
Anuken
eb8658e140 Mud tweaks / Unit count tweaks 2020-09-19 16:04:50 -04:00
Anuken
84b1c0348d Merge remote-tracking branch 'origin/master' 2020-09-19 14:11:51 -04:00
Anuken
0bcb48ca31 Costs for unit research 2020-09-19 14:11:48 -04:00
Anuken
c470c0abe1 Merge pull request #2612 from sk7725/patch-17
[KO] Update bundle_ko.properties
2020-09-19 13:26:31 -04:00
Anuken
dcbfc2b7aa Storage team colors 2020-09-19 12:38:24 -04:00
Anuken
ce8e060f29 Merge remote-tracking branch 'origin/master' 2020-09-19 12:31:06 -04:00
Anuken
9b0947a6e5 Fixed #2607 / Fixed #2604 2020-09-19 12:30:58 -04:00
Anuken
c865dbb465 Merge pull request #2610 from DeltaNedas/pubtree
make techtree funcs public
2020-09-19 12:14:26 -04:00
Anuken
eb60b60b4a Merge pull request #2615 from Remint32/patch-4
[Bundle] Missing keybind lines
2020-09-19 12:12:52 -04:00
Anuken
e19e74cdc5 Bugfixes 2020-09-19 11:40:11 -04:00
Felix Corvus
68cf2af6e0 missing keybind lines 2020-09-19 17:34:49 +03:00
Felix Corvus
db3eaf9a33 missing lines 2020-09-19 17:29:33 +03:00
Felix Corvus
48f6ed47a6 Merge branch 'master' into master 2020-09-19 17:01:57 +03:00
Felix Corvus
c1efb69a91 Update bundle_ru.properties 2020-09-19 16:58:22 +03:00
Vanguard
742b171d5c 2 new lines
unit.sei.name
unit.omura.name
2020-09-19 16:10:07 +03:00
Sunny Kim
8a4dd09137 Update bundle_ko.properties
+ Lots of environmental blocks(reflects 74cefb3ec9)!
2020-09-19 20:49:08 +09:00
DeltaNedas
435ef23eed Update CrashSender.java 2020-09-19 09:50:02 +00:00
DeltaNedas
cdc1337fcb make techtree funcs public 2020-09-19 10:00:33 +01:00
DeltaNedas
c324cf2c66 h 2020-09-19 09:56:05 +01:00
DeltaNedas
3894234578 more info in crash reports 2020-09-19 09:54:09 +01:00
Anuken
b29c0ab401 Unit production limit tweaks 2020-09-18 22:42:05 -04:00
Anuken
8a99a89f57 how many times do I neet to press refresh before IntelliJ sees the files that were there all along 2020-09-18 21:19:26 -04:00
Anuken
c038ef200a arc 2020-09-18 21:16:40 -04:00
Anuken
aae045b5dd Outline changes 2020-09-18 21:14:04 -04:00
Anuken
8dd1c5f1f8 hhhhh 2020-09-18 18:56:01 -04:00
Anuken
f53af781ba T4/5 naval / Controversial weapon outlines 2020-09-18 18:54:09 -04:00
Felix Corvus
4cc90c0f4d Update bundle_ru.properties 2020-09-18 22:25:59 +03:00
Felix Corvus
80490c401a Update bundle_ru.properties 2020-09-18 21:38:31 +03:00
Anuken
6b6783f201 Fixed #2591 / Fixed #2591 / Fixed #2589 / Fixed #2587 2020-09-18 11:21:50 -04:00
Anuken
c71be9ae32 Mud 2020-09-18 00:13:08 -04:00
Anuken
4c241f9867 Bugfixes 2020-09-17 23:53:35 -04:00
Anuken
f242a2b2cd Fixed #2585 2020-09-17 22:25:56 -04:00
Anuken
0c7a7e00eb Merge remote-tracking branch 'origin/master' 2020-09-17 21:05:23 -04:00
Anuken
ea224bd1f1 many things 2020-09-17 21:05:16 -04:00
Anuken
c5fffb9ddd Merge pull request #2579 from DeltaNedas/logicops
add lua-style integer division with //
2020-09-17 14:47:17 -04:00
DeltaNedas
ee08fa8f77 add lua-style integer division with // 2020-09-17 17:46:45 +01:00
Anuken
dfb96dcdd9 Merge pull request #2557 from Vortetty/patch-1
Update servers_be.json
2020-09-17 11:15:07 -04:00
Anuken
b0bb048c35 Merge branch 'master' into patch-1 2020-09-17 11:14:54 -04:00
Anuken
ce2dd89f44 Fixed #2571 2020-09-16 23:34:56 -04:00
Anuken
7b55ce94fe Merge remote-tracking branch 'origin/master' 2020-09-16 18:38:30 -04:00
Anuken
bdf814c9b9 Removed sector data cache system 2020-09-16 18:38:23 -04:00
Anuken
53f5c69d40 Merge pull request #2569 from Mayonez-bat/patch-1
Update servers_v6.json
2020-09-16 18:08:32 -04:00
Felix Corvus
e1277da02d Update bundle_ru.properties 2020-09-17 00:49:02 +03:00
Anuken
030542890e Bugfixes 2020-09-16 16:04:11 -04:00
Mayonez-bat
eb5c5a617b Update servers_v6.json
Add pandorum,su:8000
2020-09-16 20:24:09 +01:00
Anuken
5c98512e4f Bugfixes 2020-09-16 14:53:44 -04:00
Anuken
0847fc9f09 Crash fix 2020-09-16 12:58:26 -04:00
Anuken
47b4da59e0 Fixed #2567 2020-09-16 12:56:32 -04:00
Prosta4okua
d2b8967713 Merge pull request #20 from TheSlaylord/patch-14
_Ничего личного, можно добавлюсь в список контрибуторов/переводчиков?_
Нет, нельзя.
*делает слияние*
:D
2020-09-16 18:57:00 +03:00
TheSlaylord
b24c5ea920 Update contributors 2020-09-16 18:48:04 +03:00
TheSlaylord
7dfe973664 Update bundle_ru.properties 2020-09-16 18:46:04 +03:00
Anuken
ddcfd0728d Merge remote-tracking branch 'origin/master' 2020-09-16 11:44:46 -04:00
Anuken
9cfd78ee1f Fixed #2565 2020-09-16 11:44:39 -04:00
Anuken
90978b54da Merge pull request #2558 from sk7725/patch-16
[KO] Unit name changes
2020-09-16 10:50:39 -04:00
Anuken
7e9f5f5dc4 Merge pull request #2562 from Quezler/patch-44
+ commander
2020-09-16 10:49:39 -04:00
Anuken
edb776a549 Merge pull request #2521 from YellOw139/patch-1
Create bundle_ro.properties
2020-09-16 10:29:07 -04:00
Anuken
bc2d4267ee Merge remote-tracking branch 'origin/master' 2020-09-16 09:57:16 -04:00
Anuken
d015e878c8 Visual fixes 2020-09-16 09:57:12 -04:00
Anuken
bdda8dbd38 Merge pull request #2559 from BasedUser/patch-2
Update servers_v6.json
2020-09-16 09:51:12 -04:00
Anuken
b200b198ed Merge branch 'master' into patch-2 2020-09-16 09:51:05 -04:00
Anuken
5b6da6039f Merge pull request #2560 from Somka000/patch-5
Update servers_v6.json
2020-09-16 09:33:34 -04:00
Anuken
5fbc3b8dd4 Merge pull request #2561 from Somka000/patch-7
Update servers_be.json
2020-09-16 09:26:24 -04:00
Anuken
e2a838a715 Fixed #2563 2020-09-16 09:23:57 -04:00
Felix Corvus
41f3fcbe16 Update bundle_ru.properties 2020-09-16 16:01:47 +03:00
Felix Corvus
013995b30d nicknames fixes 2020-09-16 15:13:25 +03:00
YellOw139
66aacd6ef0 Update bundle_ro.properties 2020-09-16 13:39:28 +03:00
YellOw139
703ad61b72 Update bundle_ro.properties 2020-09-16 13:38:54 +03:00
Patrick 'Quezler' Mounier
e7162004f2 + commander 2020-09-16 12:04:24 +02:00
Somka000
542492e434 Update servers_be.json
Move .pl to 6.0 server list
2020-09-16 08:38:48 +02:00
Petr Gašparík
6547af8009 Merge branch 'master' of https://github.com/Anuken/Mindustry into v105 2020-09-16 08:22:45 +02:00
Somka000
b816bc1467 Update servers_v6.json
Move .pl to 6.0 server list
2020-09-16 08:20:58 +02:00
YellOw139
9e81460adb Update bundle_ro.properties 2020-09-16 08:18:01 +03:00
YellOw139
71df10c6d8 Update bundle_ro.properties 2020-09-16 07:43:07 +03:00
BasedUser
de610c839a Update servers_be.json 2020-09-16 06:59:56 +03:00
BasedUser
24291e595a Update servers_v6.json
Move routerchain.ddns.net to v6 server list
2020-09-16 06:59:09 +03:00
Anuken
3974497c31 Merge remote-tracking branch 'origin/master' 2020-09-15 23:49:47 -04:00
Anuken
462e6733ed Cliff-spam cache fix 2020-09-15 23:49:40 -04:00
Sunny Kim
3407520645 [KO] Unit name changes
[KO] Unit name changes, based on community reactions.
2020-09-16 10:15:38 +09:00
Anuken
2877bdf0d6 Update bundle_ko.properties (#2475)
* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties
2020-09-15 20:36:18 -04:00
Sunny Kim
c7e4346890 Higher than 5 waves -> Lower than 5 waves (#2444)
I just noticed this and it bugs me. Also removed "Campaign Achievement:" because almost all achievements are campaign. Also changed wrong words, including the notorious 블럭 -> 블록. Also fixed typo: 2 Waves skipped to 2 Launches skipped.
2020-09-15 20:36:10 -04:00
Anuken
52ff09d024 Fixed deployment 2020-09-15 20:18:21 -04:00
Anuken
23c56974b2 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/assets/bundles/bundle_uk_UA.properties
2020-09-15 19:28:57 -04:00
Anuken
a5ce57e56d Deployment fixes 2020-09-15 19:28:38 -04:00
Prosta4okua
7e2b3a6e2d Ukrainian translation (#2492)
* Український переклад :flag_ua:

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Оновлення перекладу до стану 10.09.2020

* Update bundle_uk_UA.properties

* Оновлення на 15.09.2020

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties
2020-09-15 18:21:11 -04:00
Anuken
234649bd68 Weather tweaks 2020-09-15 18:20:56 -04:00
Anuken
d655f95b67 Random weather wind direction 2020-09-15 18:15:26 -04:00
Anuken
a3abad34e3 arc 2020-09-15 18:00:49 -04:00
Anuken
903a2c069e Merge remote-tracking branch 'origin/master' 2020-09-15 18:00:39 -04:00
Anuken
306a660e87 Custom map weather definition 2020-09-15 18:00:29 -04:00
Petr Gašparík
e624c42026 Czech translation - up-to-date! (#2393)
* Czech translation - up-to-date!

* fix
2020-09-15 16:44:54 -04:00
Felix Corvus
76ed066a95 [Bundle][RU] actual L10n (#2381)
* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* *Командный центр*

* Update bundle_ru.properties

* Update bundle_ru.properties

Новые (нет) юниты, Scepter и Reign

* Забыл про Toxopid

* [ru l10n] Обходчик -> Ползун

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* BasedUser was trolled by Anuke

* Update bundle_ru.properties

* Ого, вот это обновление окружения!

* *Ы*

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update achievements.vdf

* Update bundle_ru.properties

* Пункт снаряжения -> Пункт снабжения

Co-authored-by: TheSlaylord <62336673+TheSlaylord@users.noreply.github.com>
2020-09-15 16:44:29 -04:00
YellOw139
f52693ae88 Update bundle_ro.properties 2020-09-15 21:55:17 +03:00
Anuken
24baa77c47 Merge remote-tracking branch 'origin/master' 2020-09-15 14:01:23 -04:00
Anuken
b06a9cbf16 Query V6 servers on non-BE instead of standard servers 2020-09-15 14:01:20 -04:00
Anuken
c53bb52d94 Added list for v6 servers (currently empty) 2020-09-15 13:59:32 -04:00
Anuken
f609ee77a4 Bridge align fix 2020-09-15 13:56:42 -04:00
Anuken
d1b5b7eb3c Fixed #2556 2020-09-15 13:47:00 -04:00
Vortetty
b018063a5c Update servers_be.json
Added a 24/7 uptime server im hosting with auto updates (restarts after the updates)
2020-09-15 10:25:17 -07:00
Anuken
2e8d6b56df arc 2020-09-15 13:19:17 -04:00
Anuken
b3d7515dcd Line optimization & cleanup 2020-09-15 13:19:02 -04:00
Anuken
1327a2bef4 Mega repair AI 2020-09-15 10:39:45 -04:00
Anuken
757e0fbda0 Cleanup 2020-09-14 16:56:32 -04:00
Anuken
b603409f74 arc 2020-09-14 14:09:33 -04:00
Anuken
50816deb9e Smarter payload routers / 2x display / Campaign tweaks 2020-09-14 14:09:15 -04:00
Anuken
d6447cb31a Fixed #2553 2020-09-14 11:13:27 -04:00
Anuken
8901838c19 Fixed #2551 2020-09-14 09:41:54 -04:00
YellOw139
ac8c82eaa1 Update bundle_ro.properties 2020-09-14 14:52:45 +03:00
YellOw139
fffa07398e Update bundle_ro.properties 2020-09-14 10:40:26 +03:00
YellOw139
7021d2b9fd Update bundle_ro.properties 2020-09-14 09:45:51 +03:00
Anuken
5c63ff889a what 2020-09-13 23:30:51 -04:00
Anuken
3f1ed6d4a4 Bugfixes 2020-09-13 23:11:24 -04:00
Anuken
bbb9b3ef62 Bugfixes & unit status polish 2020-09-13 22:30:05 -04:00
Anuken
0e78751c6c Turret ammo display 2020-09-13 21:22:39 -04:00
Anuken
7ce93c7f85 Prototype health/ammo indication 2020-09-13 21:08:24 -04:00
Anuken
be229f441e click fix 2020-09-13 14:32:15 -04:00
Anuken
30c45e6a43 arc 2020-09-13 14:30:45 -04:00
Anuken
f3921e3dcc Minor optimization 2020-09-13 14:30:31 -04:00
Anuken
48391219fd Packed sprites for cliff removal 2020-09-13 12:18:41 -04:00
Anuken
27e9b5aeb9 Removed cliffs / Nerfed explosion bombing 2020-09-13 12:13:42 -04:00
YellOw139
140569238b Update bundle_ro.properties 2020-09-13 18:59:52 +03:00
Anuken
bab43859f5 Bugfixes 2020-09-13 10:02:10 -04:00
YellOw139
12d8cba2a7 Update bundle_ro.properties 2020-09-13 16:11:43 +03:00
YellOw139
a5d36dff7e Update bundle_ro.properties 2020-09-13 13:59:52 +03:00
Anuken
1fd98fe07c Bugfixes (2) 2020-09-12 23:43:03 -04:00
Anuken
4d6c8ade98 Bugfixes 2020-09-12 23:41:25 -04:00
Anuken
8234f31e83 Various tweaks 2020-09-12 21:41:43 -04:00
Anuken
e5ff429241 ??? 2020-09-12 15:32:35 -04:00
Anuken
b58b6c7361 Fixed #2544 2020-09-12 14:57:00 -04:00
Anuken
640a45ea66 Rhino update 2020-09-12 13:03:36 -04:00
Anuken
5ce8e6339d Merge remote-tracking branch 'origin/master' 2020-09-12 12:47:29 -04:00
Anuken
fa9611e28c Bugfixes 2020-09-12 12:47:18 -04:00
Sunny Kim
b5b75656d1 Block Fields for Modding (#2538)
* quickRotate

* quickRotate and rotateArrow

* rotateArrow

* rotateArrow

* Update contributors

* quickRotate

* removed rotateArrow

* remove rotateArrow

* removal
2020-09-12 10:11:10 -04:00
Anuken
197b67f8c1 Fixed #2543 2020-09-12 09:51:57 -04:00
Anuken
c95f0674b6 Fixed outdated fuse schematic 2020-09-11 23:28:22 -04:00
Anuken
1c6fed8df8 Many things that won't fit in a commit message 2020-09-11 23:04:19 -04:00
Anuken
3feb9e76f0 Allowed Steam name change / T4+5 reconstructor cost increase 2020-09-11 19:57:46 -04:00
Anuken
3d8fb1b6ca Bridge fixes 2020-09-11 13:36:10 -04:00
Anuken
83d9bd7d81 Difficulty indicator for sectors / Power sense FPS scale 2020-09-11 10:42:16 -04:00
Anuken
5373011058 Merge remote-tracking branch 'origin/master' 2020-09-10 22:20:27 -04:00
Anuken
c0ca134c5d Fixed #2537 (mostly) 2020-09-10 22:20:20 -04:00
LordChrom
007a0da40a Bugfix for Logic Ops (#2535)
Performing some operations on larger numbers gave erroneous results when converting from doubles to ints. Now uses longs instead, which should help.
2020-09-10 19:14:03 -04:00
Anuken
e6eb847d81 Fixed #2536 2020-09-10 19:09:00 -04:00
Anuken
7c1d035977 Bugfixes 2020-09-10 16:45:48 -04:00
Anuken
260a6bac6d arc 2020-09-10 15:17:49 -04:00
Anuken
74cefb3ec9 Dacite decoration block / Environmental renaming 2020-09-10 15:17:10 -04:00
Anuken
88e3022db0 files that intelliJ missed despite me hitting refresh 2020-09-10 12:14:12 -04:00
Anuken
0e61d61dd2 Saner naming scheme of wall blocks 2020-09-10 12:09:25 -04:00
Anuken
aec4a07aec Fixed steam-generator bundle name 2020-09-10 10:29:54 -04:00
Anuken
55b6abffd1 Fixed #2530 2020-09-10 09:24:25 -04:00
Anuken
3e2fcfa30f Fixed #2529 2020-09-10 09:20:54 -04:00
Anuken
3b5d6860d6 Bugfixes 2020-09-09 23:39:00 -04:00
Anuken
2260e6824c Fixed minGameVersion / Crawler command / New rules 2020-09-09 22:17:26 -04:00
Anuken
c5cb2d8683 Miner unit bugfixes 2020-09-09 19:09:56 -04:00
Anuken
5259969384 Object sense support / Bugfixes 2020-09-09 19:02:40 -04:00
YellOw139
aff57f2f30 Update bundle_ro.properties 2020-09-10 00:01:35 +03:00
Anuken
c03e3f56aa Added min-game-version 105 enforcement 2020-09-09 16:40:08 -04:00
YellOw139
8c0fb1edbb Update bundle_ro.properties 2020-09-09 23:29:21 +03:00
YellOw139
3ceda53202 Update bundle_ro.properties 2020-09-09 23:20:36 +03:00
YellOw139
7fc53f0a9e Update bundle_ro.properties 2020-09-09 18:32:51 +03:00
YellOw139
4503096e26 Update bundle_ro.properties 2020-09-09 18:27:12 +03:00
Anuken
6787bbdc05 Better builder AI / Various tweaks 2020-09-09 10:39:18 -04:00
Anuken
d9a067b4d2 Small sprite tweaks & bugfixes 2020-09-08 21:40:50 -04:00
YellOw139
6c7a603219 Create bundle_ro.properties
I know unfinished translations in non-draft pull requests are a big no, but I ran low on battery, had no available charger and needed to change devices while making sure progress is not lost.

Will fix ASAP.
2020-09-09 03:14:51 +03:00
Anuken
ac88d84322 Various base generation tweaks 2020-09-08 16:25:01 -04:00
Anuken
ef617b7fd2 New base parts 2020-09-08 15:46:24 -04:00
Anuken
905f1608de Merge remote-tracking branch 'origin/master' 2020-09-08 11:54:32 -04:00
Anuken
fdca6771fb Better attack-mode core spawning limits 2020-09-08 11:54:23 -04:00
Aryan Pawar
66038b77c4 Hindi Translations for the Google Play page (Updated) (#2518)
Removed the Images so that fastlane uses default images as Anuke suggested.
2020-09-08 10:21:06 -04:00
Anuken
27565cfe1c Merge remote-tracking branch 'origin/master' 2020-09-08 10:05:45 -04:00
Anuken
b66c29e12c Cleanup 2020-09-08 10:05:41 -04:00
Recessive
1f41a2e8c0 Update servers.json (#2327)
* Update servers.json

Add AA assimilation server to global listing

* Update servers.json
2020-09-08 09:36:09 -04:00
zethnest
1439f9d14b [QOL] Quick Copy Implementation (#2097)
* quick copy implementation

* quick copy implementation

* limit break + copy to schematic size

changed default

added comments

* fix error

* fix cannot copy schematic after placing

Co-authored-by: Anuken <arnukren@gmail.com>
2020-09-08 09:27:41 -04:00
Anuken
b6912254c4 Translations for startup message 2020-09-07 18:00:25 -04:00
Anuken
1b5a338e1e Merge remote-tracking branch 'origin/master' 2020-09-07 17:07:01 -04:00
Anuken
fe76490418 Fixed #2515 2020-09-07 17:06:56 -04:00
DeltaNedas
29b31daba7 ignore indentation in imported assembly (#2511)
* ignore indentation in imported assembly

* oop

* Update LAssembler.java
2020-09-07 11:13:28 -04:00
Anuken
15bb01fd22 Slight steam generator nerf + differential buff 2020-09-07 09:40:22 -04:00
Anuken
93d1904978 Fixed payload calculations not using squares 2020-09-06 22:19:30 -04:00
Anuken
010a1594fa Name fixes 2020-09-06 19:09:41 -04:00
Anuken
1d191f1914 Merge remote-tracking branch 'origin/master' 2020-09-06 17:13:18 -04:00
Anuken
7b18389d45 Payload system rework (#2485) 2020-09-06 17:13:14 -04:00
Somka000
7f874f87c4 Second pvp server 6.0 (#2510)
Because players like pvp and attack, but i cant host 2 gamemodes in one server.
2020-09-06 17:05:53 -04:00
Anuken
27d9f965be Fixed #2507 2020-09-06 14:54:10 -04:00
Anuken
0a3193f1d6 Merge remote-tracking branch 'origin/master' 2020-09-06 13:26:30 -04:00
Anuken
2a995efa2a Fixed default campaign core spawning units in blocks 2020-09-06 13:26:23 -04:00
Anuken
f5fa737867 Update CONTRIBUTING.md 2020-09-06 12:09:52 -04:00
Sunny Kim
8a6b5668fa Distribution/PowerNode/TractorBeamTurret fields for modding (#2498)
* Effect stuff for quezler conveyors

* shootSound for mass driver

* *color intensifies*

* Update TractorBeamTurret.java

* Update MassDriver.java

Co-authored-by: Anuken <arnukren@gmail.com>
2020-09-06 11:55:24 -04:00
Anuken
cbce04f70f Fixed #2502 2020-09-06 10:05:10 -04:00
Anuken
e5674b1b1e Fixed #2501 2020-09-06 09:41:48 -04:00
Anuken
50a94af0d1 Fixed #2500 2020-09-06 09:07:51 -04:00
Anuken
9bdf27fe3e Merge remote-tracking branch 'origin/master' 2020-09-05 22:58:11 -04:00
Anuken
e267519c6d Balance & bugfixes 2020-09-05 22:58:07 -04:00
Anuken
e4078b1c2f Update README.md 2020-09-05 20:46:02 -04:00
Anuken
f87bd78674 Placement config code cleanup 2020-09-05 20:41:50 -04:00
Anuken
c483ae2c23 Fixed certain teams not attacking other units 2020-09-05 15:03:13 -04:00
Anuken
09e34da880 Bugfixes 2020-09-05 13:35:36 -04:00
Anuken
9fb570f965 Merge remote-tracking branch 'origin/master' 2020-09-05 11:52:00 -04:00
Anuken
ad7692b110 Added debug logging for erroneous rate limit
I still don't know what causes this and I can't reproduce it locally
2020-09-05 11:51:50 -04:00
Sunny Kim
ec447fa2c0 More defense fields for modding(fixed) (#2490)
* lightningColor for Shock Mines

Because various colored lightning is widely used in 6.0, this would be neat for modders.

* doorSound

* just...in case

* oh no
2020-09-05 10:15:33 -04:00
Anuken
bc74208c8c Merge remote-tracking branch 'origin/master' 2020-09-05 10:14:53 -04:00
Anuken
631b0a7761 Fixed #2491 2020-09-05 10:14:46 -04:00
Sunny Kim
f447aeff3e More wall fields for modding (#2486)
* More wall fields for mods

- `flashColor` (`flashWhite` is renamed to `flashHit` since it isn't white anymore)
- `lightningColor`

* Update Blocks.java
2020-09-05 08:50:46 -04:00
Anuken
12f1ee9537 Overdriveable bridges 2020-09-05 08:47:38 -04:00
Anuken
68f00a8983 Bugfixes 2020-09-04 22:36:38 -04:00
Anuken
d77830ebf0 Added boss mechs to reconstructors 2020-09-04 22:17:28 -04:00
Anuken
739c4f2de2 Final mech boss unit (unfinished) 2020-09-04 22:05:15 -04:00
Anuken
3127bb54b2 Merge remote-tracking branch 'origin/master' 2020-09-04 14:28:04 -04:00
Anuken
ee2b099799 Initial Vestige mech implementation 2020-09-04 14:27:55 -04:00
Anuken
be962d6e2e jenkins is gone 2020-09-04 11:12:05 -04:00
Anuken
c7522ff89f Fixed more unit warp 2020-09-04 11:07:01 -04:00
Anuken
af47e7662f Reduced ridiculous wave spacing in campaign 2020-09-03 21:23:36 -04:00
Anuken
ba1363895e Fixed projector clipping 2020-09-03 19:17:49 -04:00
Anuken
07305aecf4 Unit bugfixes 2020-09-03 16:02:14 -04:00
Anuken
90247e3b27 Fixed #2472 2020-09-03 15:23:08 -04:00
Anuken
686d922119 arc 2020-09-03 14:06:08 -04:00
Anuken
90aed50ca8 Many various fixes 2020-09-03 14:04:30 -04:00
Anuken
13a2319416 Merge branch 'master' of https://github.com/Anuken/Mindustry into refactor-paths
 Conflicts:
	core/src/mindustry/ai/types/GroundAI.java
2020-09-03 09:18:06 -04:00
Anuken
a6ee946024 Pathfinder progress 2020-09-03 09:17:21 -04:00
Anuken
d4166c4f1f Merge remote-tracking branch 'origin/master' 2020-09-02 18:27:06 -04:00
Anuken
ed02eadb76 Bugfixes 2020-09-02 18:27:02 -04:00
Anuken
c0c2d2da35 Update servers.json 2020-09-02 17:45:02 -04:00
Anuken
eac99d30f9 Update servers_be.json 2020-09-02 16:37:34 -04:00
Anuken
439c9c5599 Bugfixes 2020-09-02 16:24:05 -04:00
Anuken
0cc3bcb121 Fixed #2477 2020-09-02 14:39:02 -04:00
Anuken
b3e7b9e65b Cleanup 2020-09-02 14:30:56 -04:00
Anuken
6f6e9f4cc2 Initial Toxopid implementation 2020-09-02 13:32:08 -04:00
Anuken
6de1920042 Fixed #2476 2020-09-02 09:35:03 -04:00
Anuken
c1cc11c7cb Initial toxopid sprites, WIP 2020-09-02 00:13:25 -04:00
Sunny Kim
850d3a037a Update bundle_ko.properties 2020-09-02 09:21:10 +09:00
Sunny Kim
80e2c06c48 Update bundle_ko.properties 2020-09-02 09:17:18 +09:00
Sunny Kim
7d4a1cb627 Update bundle_ko.properties 2020-09-02 09:12:22 +09:00
Anuken
f1772418f2 Bugfixes 2020-09-01 16:11:54 -04:00
Anuken
8e17571824 Fixed #2449 / Fixed #2456 / Fixed #2458 / Fixed #2459 / Fixed #2466 / Fixed #2474 2020-09-01 11:34:03 -04:00
Anuken
6e3162aec2 Update README.md 2020-08-31 21:53:42 -04:00
Anuken
c9b37419c7 Fixed #2455 2020-08-31 07:43:53 -05:00
Anuken
b1e39b1bcb Update BuildBlock.java 2020-08-30 09:58:47 -05:00
Anuken
899b2f6aac Update bug_report.md 2020-08-30 09:56:31 -05:00
Anuken
540a5f30cb Update Turret.java 2020-08-30 09:34:30 -05:00
Anuken
f2cc56ddc8 Fixed #2452 2020-08-30 09:02:44 -05:00
Anuken
e41b17543f Update LiquidModule.java 2020-08-30 08:58:53 -05:00
Anuken
d40cff0741 Update CoreBlock.java 2020-08-30 08:19:28 -05:00
Anuken
02a9e2cd57 ??? 2020-08-29 11:54:20 -05:00
DeltaNedas
1f543f6c18 fix #2460 (#2461) 2020-08-29 11:18:40 -05:00
Anuken
d1094492bd Update settings.gradle 2020-08-28 21:05:07 -05:00
Sunny Kim
7f1fdf035e 블럭 -> 블록 (#2445)
A common mistake; 블록 is right and 블럭 is wrong. See #1912
2020-08-28 21:03:43 -05:00
Anuken
44b0ef408f testing BE builds 2020-08-27 20:21:20 -04:00
Anuken
a575ad2d99 Cleanup 2020-08-27 20:09:40 -04:00
Anuken
92aba83450 Cleanup 2020-08-27 13:45:07 -04:00
Anuken
fba7f7592b Fixed captured sectors being lost 2020-08-27 11:42:45 -04:00
Anuken
3f0dd7264d Removed useless menu button for desktop 2020-08-27 11:38:12 -04:00
Anuken
b7ec90e7c0 Launch/map buttons for mobile campaign / Bugfixes 2020-08-27 11:35:58 -04:00
Anuken
89c007fcdb Merge branch '16bititemtest' 2020-08-27 11:12:44 -04:00
Anuken
a5b27dc339 Merge remote-tracking branch 'origin/master' 2020-08-27 09:31:53 -04:00
Anuken
390367f253 Fixed #2440 2020-08-27 09:31:49 -04:00
Anuken
7ea558a187 Merge pull request #2438 from BasedUser/master
Add routerchain.ddns.net to BE server list
2020-08-26 20:29:27 -04:00
Anuken
c3fbecf858 Merge branch 'master' into master 2020-08-26 20:29:05 -04:00
BasedUser
5ecfb7c51d Add routerchain.ddns.net to BE server list 2020-08-27 03:21:11 +03:00
Anuken
bac8c20b0b literally nothing 2020-08-26 20:10:22 -04:00
Anuken
480a9e38b4 when your internet cuts out in the middle of a commit 2020-08-26 16:53:20 -04:00
Anuken
97fc46cffe #2434 2020-08-26 16:48:12 -04:00
Anuken
6a7d2303a4 Fixed disconnected players not being removed 2020-08-26 14:55:07 -04:00
Anuken
5bf7401139 Fixed a crash 2020-08-26 14:50:43 -04:00
Anuken
8a36b3e590 Bugfixes 2020-08-26 14:35:43 -04:00
Anuken
1c12740006 arc 2020-08-26 13:57:20 -04:00
Anuken
fa9deece91 Fixed #2433 2020-08-26 13:56:58 -04:00
Anuken
0b6ef1c57c Fixed ghost units appearing in certain situations 2020-08-26 12:25:27 -04:00
Anuken
9735e18acf Fixed server NaN contamination 2020-08-26 11:51:42 -04:00
Anuken
20eb7bc05b Merge remote-tracking branch 'origin/master' 2020-08-26 09:21:26 -04:00
Anuken
be74e954fa Fixed #2427 / Fixed #2429 2020-08-26 09:21:18 -04:00
Anuken
cc45e063cd Merge pull request #2428 from Phlosioneer/eclipse-gitignore-update
Update Eclipse section of gitignore
2020-08-26 09:18:34 -04:00
Phlosioneer
f8a3db6b99 Update Eclipse section of gitignore
The various /bin directories were out of date
2020-08-26 02:03:16 -04:00
Anuken
1461673168 Fixed #2425 (probably) 2020-08-25 23:14:11 -04:00
Anuken
71b55317c1 Balance 2020-08-25 22:24:46 -04:00
Anuken
bce85ded79 Added arkyid boss 2020-08-25 22:01:46 -04:00
Anuken
58182fe040 16bit items 2020-08-25 20:56:44 -04:00
Anuken
6a23439fce Fixed #2424 2020-08-25 19:46:14 -04:00
Anuken
c191dd8855 Cleanup 2020-08-25 15:06:09 -04:00
Anuken
898867db8f Merge pull request #2412 from DeltaNedas/input
make input fields public
2020-08-25 15:05:13 -04:00
Anuken
ea9ebe26a3 Fixed air units spawning on wrong end of map / Fixed kick message spam 2020-08-25 14:38:07 -04:00
Anuken
8143b8d80a Fixed mobile crash 2020-08-25 13:03:19 -04:00
Anuken
51e4b10437 Fire rule 2020-08-25 12:59:15 -04:00
Anuken
a98dc0b31f Rule tweaks 2020-08-25 12:52:13 -04:00
Anuken
da360f54e9 Block explosion damage rule 2020-08-25 12:46:41 -04:00
Anuken
7239c2cf08 Balance 2020-08-25 12:32:05 -04:00
Anuken
9fc42dec6a Fixed fire not syncing 2020-08-25 12:10:16 -04:00
Anuken
7b2b9b3988 Fixed #2416 / Fixed #2417 2020-08-25 09:24:49 -04:00
Anuken
174e4b8632 Bugfixes 2020-08-24 23:55:19 -04:00
Anuken
91569596d8 arc 2020-08-24 23:16:45 -04:00
Anuken
de6cde6ddd Bugfixes 2020-08-24 23:16:24 -04:00
Anuken
77911385e1 Fixed ground units walking into exclusion zone 2020-08-24 21:21:31 -04:00
Anuken
b207d05d4b Re-added command center 2020-08-24 19:49:49 -04:00
Anuken
6b7debbba7 Added logic to tech tree 2020-08-24 17:35:52 -04:00
Anuken
d902878f63 Bugfixes 2020-08-24 13:12:58 -04:00
DeltaNedas
668120577d more publiv fields 2020-08-24 17:35:50 +01:00
Anuken
02263f1eb7 Fixed tech tree panning not working on mobile 2020-08-24 11:15:49 -04:00
DeltaNedas
3d18b7f4e3 make input fields public 2020-08-24 11:30:27 +01:00
Anuken
521b4fb4d7 Increased antumbra cost 2020-08-23 23:31:38 -04:00
Anuken
02ccdd2d67 Fixed #2411 2020-08-23 18:46:03 -04:00
Anuken
fefef3bc47 Decreased throughput of instant transfer blocks chained to routers 2020-08-23 17:08:07 -04:00
Anuken
2f19cab144 Fixed conduits not reacting with each other 2020-08-23 13:25:47 -04:00
Anuken
5e6465e8f3 nope, --release 8 is broken 2020-08-23 12:08:09 -04:00
Anuken
a92d143788 another gradle test 2020-08-23 12:05:54 -04:00
Anuken
d9aa4eb9c9 an attempt to make the javadoc shut up 2020-08-23 12:02:45 -04:00
Anuken
399b24ed8b Merge remote-tracking branch 'origin/master' 2020-08-23 11:40:01 -04:00
Anuken
0c1594d659 Fixed shield ability effect spam 2020-08-23 11:39:57 -04:00
Anuken
cee0a09a88 Update .travis.yml 2020-08-23 11:31:58 -04:00
Anuken
4b0c977e73 java 8's compiler is stupid apparently 2020-08-23 11:30:56 -04:00
Anuken
c1258b75d5 Logic edge autoscroll & jump highlighting on hover 2020-08-23 11:24:23 -04:00
Anuken
dac24e8bf1 Replaced redundant 'negate' operator with *= -1 2020-08-23 10:20:34 -04:00
Anuken
90b8910935 Merged UnaryOp and BinaryOp 2020-08-23 10:14:04 -04:00
Anuken
92764c8389 Fixed #2408 2020-08-23 09:40:06 -04:00
Anuken
315693251d Fixed some mod layout dialog issues 2020-08-22 14:12:38 -04:00
Anuken
ac21c620fe Many new modding improvements 2020-08-22 14:05:41 -04:00
Leonwang4234
939fbab4c4 why did I forget to change this 2020-08-22 10:05:16 -07:00
Leonwang4234
94fe7bb456 Forgot to remove this * 5f for some reason 2020-08-22 09:03:09 -07:00
Leonwang4234
7954788da3 changed phase radius boost
Split into phase radius boost and phase shield boost.
2020-08-22 09:00:50 -07:00
Anuken
b128155615 Added T3 logic processor 2020-08-22 11:16:15 -04:00
Anuken
a76da8e488 Fixed payload routers not outputting to reconstructors 2020-08-22 09:40:10 -04:00
Anuken
29e0d4f2c2 arc 2020-08-22 09:08:27 -04:00
Anuken
9224120f5b Merge remote-tracking branch 'origin/master' 2020-08-22 09:01:03 -04:00
Anuken
c1cd27b9da Fixed #2402 / Fixed #2403 2020-08-22 09:00:55 -04:00
Leonwang4234
0c4e58ee2b remove push mechanic 2020-08-21 21:43:09 -07:00
Anuken
5d1e96cf50 this is very boring 2020-08-21 22:49:50 -04:00
Anuken
1e7f28f309 Path progress 2020-08-21 20:45:47 -04:00
Anuken
b23d35797b Fixed #2396 2020-08-21 20:45:29 -04:00
Anuken
43f7bd1cdb Path progress 2020-08-21 14:57:54 -04:00
Anuken
526f1106fb Initial path refactor 2020-08-21 14:32:35 -04:00
Leonwang4234
5f3b204708 Update ForceProjector.java 2020-08-21 10:12:04 -07:00
Leonwang4234
a97df4247b F O R C E P R O J E C T O R S 2020-08-21 10:11:48 -07:00
Anuken
467d995aed Bugfixes 2020-08-21 10:28:05 -04:00
Anuken
e49ebecffa Merge remote-tracking branch 'origin/master' 2020-08-21 10:03:45 -04:00
Anuken
3b85dc27d7 Fixed "waiting for players" being shown after PvP end 2020-08-21 10:03:40 -04:00
Petr Gašparík
eb13ac4961 fix 2020-08-21 10:37:43 +02:00
Petr Gašparík
2b8dfaf289 Czech translation - up-to-date! 2020-08-21 10:35:04 +02:00
Anuken
d6bf6de924 Merge pull request #2391 from gen-NA-owl/ready-to-merge-phase-walls
Phase Walls: more bullet dmg = less reflect chance
2020-08-20 23:42:32 -04:00
Anuken
28d2243abc Bugfixes, balancing 2020-08-20 23:36:27 -04:00
Leonwang4234
a17dfb820e Update Wall.java 2020-08-20 20:30:04 -07:00
Anuken
48d1c2038e Fixed players trying to control dead units 2020-08-20 20:04:53 -04:00
Anuken
52489ef777 Bugfixes 2020-08-20 18:37:15 -04:00
Anuken
c946b42360 Fixed conveyors not moving units 2020-08-20 16:34:41 -04:00
Anuken
b9ff4ba9c5 Bugfixes 2020-08-20 16:21:40 -04:00
Anuken
b86cdb52be Typo fix 2020-08-20 16:15:36 -04:00
Anuken
dac2264ac7 Smoother mobile player movement / Cleanup 2020-08-20 15:56:40 -04:00
Anuken
562c41c288 Fixed #2389 / Fixed #2388 / Fixed #2387 / Fixed #2386 2020-08-20 15:11:00 -04:00
Anuken
6d20e354b1 Merge remote-tracking branch 'origin/master' 2020-08-20 14:00:36 -04:00
Anuken
cee0ddce56 Cleanup 2020-08-20 14:00:32 -04:00
Anuken
1237b14b7a Merge pull request #2374 from DeltaNedas/patch-7
use 6.0 branch for github import
2020-08-20 12:26:26 -04:00
Anuken
3498a34c56 Bugfixes 2020-08-20 09:46:08 -04:00
DeltaNedas
6e4cac413b use master as fallback for 6.0 mods 2020-08-20 00:19:48 +01:00
Anuken
5df2a3e625 Added ping marker to servers 2020-08-19 17:11:37 -04:00
Anuken
7251fa4a03 Updated sector cache 2020-08-19 16:25:43 -04:00
Anuken
b827176bc4 Various fixes 2020-08-19 16:21:30 -04:00
Anuken
bbe6c5017a Removed synthetic accessors / Sector sanity tests 2020-08-19 15:13:29 -04:00
Anuken
e9f72180e6 Config fix 2020-08-19 11:15:54 -04:00
Anuken
8fcab2d637 Fixed #2379 2020-08-19 11:15:19 -04:00
Anuken
9470f1f99f Unit control null checks 2020-08-19 11:03:04 -04:00
Anuken
e81385a8e6 Merge remote-tracking branch 'origin/master' 2020-08-19 10:35:28 -04:00
Anuken
819835fbc0 Fixed #2373 / Fixed #2378 2020-08-19 10:35:24 -04:00
Anuken
55d6a617e7 Merge pull request #2375 from DeltaNedas/loadtime
print mod load time to log
2020-08-19 10:33:15 -04:00
DeltaNedas
d8cd07127c print mod load time to log 2020-08-19 07:07:56 +01:00
DeltaNedas
361eb6a7e2 use 6.0 branch for github import 2020-08-19 06:00:50 +00:00
Anuken
7ebe84cc0e Fixed save incompatibility with missing types 2020-08-18 23:42:05 -04:00
Anuken
b551af6bcf trails are terrible 2020-08-18 23:15:12 -04:00
Anuken
f31b1ed8d0 Bugfixes 2020-08-18 19:30:11 -04:00
Anuken
3d5236dfd3 Removed unnecessary events from global script 2020-08-18 17:04:01 -04:00
Anuken
26acf7cbbc Bugfixes 2020-08-18 16:56:30 -04:00
Anuken
e96fcb3cb7 Fixed json-related crash 2020-08-18 16:24:43 -04:00
Anuken
4ed888bde5 Significantly increased arc power usage 2020-08-18 14:54:11 -04:00
Anuken
a814b799e0 Fixed logic scrolling lock 2020-08-18 14:47:57 -04:00
Anuken
ca864655d1 More bugfixes 2020-08-18 13:22:06 -04:00
Anuken
4d83221c76 Bugfixes 2020-08-18 13:09:12 -04:00
Anuken
fffdd1ca86 Merge remote-tracking branch 'origin/master' 2020-08-18 11:52:42 -04:00
Anuken
9efdb0af5d Bugfixes 2020-08-18 11:52:38 -04:00
Anuken
65de36ab41 Merge pull request #2263 from Prosta4okua/patch-2
Update bundle_uk_UA.properties
2020-08-18 11:45:12 -04:00
Anuken
cb6fe97a87 Merge pull request #2268 from Prosta4okua/master
[Bundle][RU] actual l10n
2020-08-18 11:44:50 -04:00
Anuken
55c1d8043e Merge pull request #2273 from BaseModMaker/patch-1
Update bundle_fr_BE.properties
2020-08-18 11:43:02 -04:00
Anuken
92d6c7fb3b Merge pull request #2276 from HAJDog247/master
Filipino (Tagalog) Translation -- patch 1
2020-08-18 11:42:53 -04:00
Anuken
b0fc855b57 Merge pull request #2369 from TheSlaylord/revert-2368-patch-13
Revert "Update bundle_ru.properties"
2020-08-18 11:42:21 -04:00
Anuken
82ba151d81 Merge pull request #2296 from grimsoul10/patch-4
Update bundle_in_ID.properties
2020-08-18 11:42:07 -04:00
Anuken
50631807dd Merge pull request #2342 from Penta0308/master
Update bundle_ko.properties
2020-08-18 11:41:59 -04:00
TheSlaylord
4c83aba918 Revert "Update bundle_ru.properties" 2020-08-18 18:41:49 +03:00
Anuken
47f5127bf8 Merge pull request #2368 from TheSlaylord/patch-13
Update bundle_ru.properties
2020-08-18 11:34:29 -04:00
TheSlaylord
47e5895a18 Update bundle_ru.properties 2020-08-18 18:30:27 +03:00
Anuken
1007667f9a Bugfixes 2020-08-18 11:23:17 -04:00
Anuken
065a8e712c Fixed BE client potentially segfaulting on startup 2020-08-18 11:07:38 -04:00
Anuken
88dba65593 Added stat for consecutive chains of overflows/sorters 2020-08-18 11:02:44 -04:00
Anuken
ec2593f3d5 Less instant transfer block chaining 2020-08-18 10:17:07 -04:00
Anuken
00f7f57c46 Bugfixes 2020-08-18 10:01:53 -04:00
Anuken
623e3924ed Middle-click selection for building blocks 2020-08-18 01:11:04 -04:00
Anuken
14ac712214 Non-final units 2020-08-18 01:01:25 -04:00
Anuken
0638b1f951 Added missing sort field to radar 2020-08-18 00:52:29 -04:00
Anuken
0b407c7c1f Bugfixes 2020-08-18 00:37:09 -04:00
Anuken
0bd122c570 Various tweaks 2020-08-18 00:04:57 -04:00
Anuken
7e0391a8a0 Bugfixes 2020-08-17 23:47:39 -04:00
Anuken
69c04ea90d a 2020-08-17 20:49:24 -04:00
Anuken
7ec6e64c18 Fixed tab cycling not working 2020-08-17 20:02:56 -04:00
Anuken
7ecf5aa26d Disable naval units on ground / Mobile payload input 2020-08-17 16:15:51 -04:00
Anuken
9a48028508 Fixed #2363 2020-08-17 09:35:12 -04:00
Anuken
2701bd3de2 arc 2020-08-16 23:31:02 -04:00
Anuken
0fe8836db4 Fixed #2360 2020-08-16 23:30:49 -04:00
Anuken
91c1c004c7 Formation tweaks 2020-08-16 18:51:17 -04:00
Anuken
2bb2964790 Progress on new unit control block 2020-08-16 16:34:14 -04:00
Anuken
8dd4e9feb0 Formation cleanup 2020-08-16 15:54:41 -04:00
Anuken
01bd8d5148 Merge remote-tracking branch 'origin/master' 2020-08-16 10:13:37 -04:00
Anuken
8234eec7fc Fixed crux units being deactivated in sandbox 2020-08-16 10:13:33 -04:00
Anuken
d9bfe88ddf Merge pull request #2358 from Somka000/patch-3
Public server on 6.0
2020-08-16 10:01:56 -04:00
Anuken
2526224820 Bugfixes 2020-08-15 18:54:57 -04:00
Somka000
78e92b1027 Public server on 6.0
Attack/PvP server on 6.0, tomorrow I will add attack maps adapted to the bot AI. Hosted in VPS.
2020-08-15 21:22:15 +02:00
Anuken
0cc5945331 Better mod dialog layout / Less obnoxious button sound 2020-08-15 10:12:34 -04:00
Anuken
97aca84b26 arc 2020-08-14 22:22:28 -04:00
Anuken
98844d752c Better spore trees 2020-08-14 22:21:47 -04:00
Anuken
91e5fa5409 Merge remote-tracking branch 'origin/master' 2020-08-14 19:45:51 -04:00
Anuken
b57fb47855 Compilation for Android on Java 9+ 2020-08-14 19:45:22 -04:00
Felix Corvus
891c449e6b Update bundle_ru.properties
Некорректно переводить memory-cell как "Ячейка памяти", потому что по факту блок ею не является.
Ячейка памяти это *минимальный* элемент памяти, в то время как у блока есть своя адресация.
2020-08-14 23:30:23 +03:00
Anuken
53e1cf55c4 Merge pull request #2355 from Redstonneur1256/patch-1
Fix duplicated default settings
2020-08-14 15:31:47 -04:00
Redstonneur1256
af3c88e606 Fix duplicated default settings 2020-08-14 20:59:15 +02:00
Anuken
75606baf6a Cleanup 2020-08-14 14:32:03 -04:00
Anuken
fa8a6d001a Made logic blocks solid 2020-08-14 11:31:38 -04:00
Anuken
67e32ce880 arc 2020-08-14 10:48:47 -04:00
Anuken
44a86ef2e7 Merge remote-tracking branch 'origin/master' 2020-08-14 10:48:40 -04:00
Anuken
ffb2d6eeaa Better logic UI 2020-08-14 10:48:29 -04:00
Anuken
0cac9f379e Merge pull request #2325 from Neba-MD/master
Add TWS Attack server
2020-08-13 22:41:28 -04:00
Anuken
4a8a7a9d8f Update gradle.yml 2020-08-13 20:56:28 -04:00
Anuken
05b2b18f69 Update gradle.yml 2020-08-13 20:49:02 -04:00
Anuken
73dd7ba21a Test fixes 2020-08-13 20:28:36 -04:00
Anuken
1d95980066 Bugfixes / Team access 2020-08-13 19:57:45 -04:00
Anuken
c2f71e5788 Merge remote-tracking branch 'origin/master' 2020-08-13 14:59:34 -04:00
Anuken
f361ac27e0 Optional custom displayed gamemode 2020-08-13 14:59:27 -04:00
Anuken
ebceee0a5c Merge pull request #2348 from Quezler/patch-43
Remove trailing space in connected log message
2020-08-13 14:22:16 -04:00
Patrick 'Quezler' Mounier
765aa15473 Remove trailing space in connected log message 2020-08-13 20:19:30 +02:00
Anuken
e1f0564d0b More instruction limits 2020-08-13 14:02:11 -04:00
Anuken
af6ed6ea89 Fixed poly instructions not allowing full 360 degree range 2020-08-13 12:25:49 -04:00
Anuken
1de3217738 GetLink instruction 2020-08-13 10:20:29 -04:00
Anuken
54dcf06722 Bugfixes 2020-08-13 09:26:45 -04:00
Anuken
9ba98ed4b4 Fixed #2346 2020-08-13 09:18:47 -04:00
Anuken
1249eb3b00 Bugfixes 2020-08-12 21:24:00 -04:00
Anuken
fb511a4eef Bugfixes 2020-08-12 19:47:43 -04:00
Anuken
a8c4e9f567 Logic bugfixes & tweaks 2020-08-12 18:51:50 -04:00
Anuken
0aabe9bbe0 Fixed arbitrary logic string limit 2020-08-12 18:40:25 -04:00
Anuken
799fc6029d Logic connection names 2020-08-12 17:45:34 -04:00
Anuken
3dd814f0b8 arc 2020-08-12 13:39:52 -04:00
Anuken
5b727ac6fd Fixed #2344 2020-08-12 13:39:20 -04:00
Anuken
1c17c38e15 Fixed string write errors in long logic programs [schematics break] 2020-08-12 11:13:32 -04:00
Penta0308
5b6ab30eb9 Update bundle_ko.properties 2020-08-12 16:57:54 +09:00
Anuken
925b1e3057 Simple mining AI 2020-08-12 00:08:23 -04:00
Anuken
8810cf037e . 2020-08-11 13:08:44 -04:00
Anuken
25e04ca3e5 Triangle draw command 2020-08-11 12:54:39 -04:00
Anuken
188171ec03 Bugfixes 2020-08-11 12:48:17 -04:00
Anuken
d85f6c72eb Cleanup 2020-08-11 11:18:32 -04:00
Anuken
2b96d30255 Correct names for buildings 2020-08-11 11:12:18 -04:00
Anuken
bb3c80c055 Dedicated memory cells 2020-08-11 10:50:12 -04:00
Anuken
7e8326a3af Logic tweaks 2020-08-10 23:21:14 -04:00
Anuken
75ada3cca1 Turret-based radar 2020-08-10 23:04:52 -04:00
Anuken
4f7d6fc018 Bugfixes / Logic category (no icon) / Switch block 2020-08-10 17:09:54 -04:00
Anuken
c560de9c53 purple 2020-08-10 16:10:18 -04:00
Anuken
c4e8fef8d0 Fixed #2335 (probably) 2020-08-10 14:28:43 -04:00
Anuken
6ab24ccefd arc 2020-08-10 14:19:50 -04:00
Anuken
ea8dccdfb2 Many various logic changes 2020-08-10 14:19:24 -04:00
Anuken
b28e7de1db More sensors / Logic tweaks 2020-08-09 20:47:35 -04:00
Anuken
f00510a508 Bugfixes / Power capacity sensor 2020-08-09 20:18:47 -04:00
Anuken
15572cdd7a Optional asm parameters for text 2020-08-09 18:33:59 -04:00
Anuken
eb4a2a2da1 arc 2020-08-09 18:27:11 -04:00
Anuken
73d9348c83 Clipboard export / Conditional jumps / Saving of state 2020-08-09 18:26:54 -04:00
BasedUser
d828b280af Merge pull request #4 from Anuken/master
e
2020-08-09 23:36:12 +03:00
Anuken
4efba475de functional scrolling 2020-08-09 15:35:52 -04:00
Anuken
6dca449b08 Better logic UI 2020-08-09 15:10:13 -04:00
Anuken
1d5a25ce75 Graphics 2020-08-09 12:46:44 -04:00
Anuken
1b7159647e Sensor selection 2020-08-09 10:03:02 -04:00
Felix Corvus
f4e666bce8 Update bundle_ru.properties 2020-08-09 10:19:02 +03:00
Anuken
4dc90d4074 Less terrible logic UI / Unary operations 2020-08-08 20:36:45 -04:00
Anuken
2042dafb73 Merge pull request #2324 from DeltaNedas/water
deep water is 2x better to pump
2020-08-08 18:48:57 -04:00
DeltaNedas
cb4c916ed7 oops 2020-08-08 23:25:02 +01:00
Anuken
da19c5ae19 Sensor types 2020-08-08 18:01:54 -04:00
Anuken
4008d88f0b arc 2020-08-08 14:14:58 -04:00
Anuken
0fc246cfdc Merge remote-tracking branch 'origin/master' 2020-08-08 14:14:43 -04:00
Anuken
ac46b77380 Logic progress 2020-08-08 14:14:33 -04:00
DeltaNedas
76e21fbd19 deep water is 2x better to pump 2020-08-08 18:45:25 +01:00
Anuken
1988958c4a Merge pull request #2323 from DeltaNedas/router
make distribution block fields/funcs public/protected
2020-08-08 13:38:09 -04:00
DeltaNedas
5e5aadc4ac make distribution block fields/funcs public/protected 2020-08-08 18:23:54 +01:00
Anuken
3fbeb33390 Update CONTRIBUTING.md 2020-08-08 12:17:20 -04:00
Neba-MD
d08f9bf819 Add TWS server 2020-08-09 00:01:52 +08:00
Felix Corvus
dce253e146 Update bundle_ru.properties 2020-08-08 07:31:39 +03:00
Anuken
8411cc16f1 Logic stuff 2020-08-07 23:01:40 -04:00
Anuken
51af6eeec9 Barely functional logic 2020-08-07 18:30:03 -04:00
Anuken
090e0f35dc aa 2020-08-07 17:50:54 -04:00
Anuken
33fdea7b7d Merge remote-tracking branch 'origin/master' 2020-08-07 16:11:16 -04:00
Anuken
a12211587c More logic 2020-08-07 16:11:02 -04:00
Anuken
44912c0fa9 Merge pull request #2318 from Quezler/patch-42
Update servers_be.json
2020-08-07 10:52:26 -04:00
Patrick 'Quezler' Mounier
ee0b946ea6 Update servers_be.json 2020-08-07 13:47:13 +02:00
Anuken
5040eacda7 a rc 2020-08-07 00:24:54 -04:00
Anuken
ec99daaefb logic 2 2020-08-07 00:24:14 -04:00
Anuken
176e4a3bb9 Many things 2020-08-06 20:00:02 -04:00
Anuken
ac3106728f arc 2020-08-06 12:31:42 -04:00
Anuken
5dc78a24e0 Logic progress 2020-08-06 12:31:04 -04:00
Anuken
7482e2a988 Bugfixes 2020-08-05 19:52:09 -04:00
Anuken
f4a838df98 Bugfixes 2020-08-05 09:59:50 -04:00
Anuken
54d37b63b3 Bugfixes 2020-08-05 09:47:11 -04:00
Anuken
75eed2926a Start of work on logic stuff 2020-08-04 23:37:12 -04:00
Anuken
03b5bc9449 Weather status effects 2020-08-04 21:26:24 -04:00
Anuken
55903576b6 Fixed #2312 2020-08-04 17:18:19 -04:00
Anuken
d9ea17baca Fixed #2311 2020-08-04 16:49:20 -04:00
Anuken
b11908f509 Event things 2020-08-04 15:14:01 -04:00
Anuken
0d4e75fc42 Re-added remote effect methods 2020-08-04 13:38:40 -04:00
Anuken
3038862af5 '$' symbol removal 2020-08-04 10:45:55 -04:00
Anuken
f60afc39f1 Replaced '$' formatting with '@' 2020-08-04 10:18:01 -04:00
Anuken
8dd4839f53 Anuken/Mindustry-Suggestions/issues/375 2020-08-04 10:00:24 -04:00
Anuken
8b83360fe5 Fixed #2307 2020-08-04 09:10:55 -04:00
Anuken
b268e8ca58 Rand rename 2020-08-04 09:10:22 -04:00
Anuken
7ecd8b3169 Merge remote-tracking branch 'origin/master' 2020-08-03 22:53:45 -04:00
Anuken
2466267b1c Multi-target AI 2020-08-03 22:53:35 -04:00
Anuken
49f6b9bb05 Update README.md 2020-08-03 21:57:20 -04:00
Anuken
10cacf71ae Merge pull request #2305 from DeltaNedas/modsuifix
fix some issues with mods ui
2020-08-03 21:11:50 -04:00
DeltaNedas
1589b8a72b grow each mod 2020-08-04 01:46:26 +01:00
DeltaNedas
e78948e548 fix some issues with mods ui 2020-08-04 01:44:05 +01:00
Anuken
b1da2faa04 Flying boss tweaks 2020-08-03 10:51:10 -04:00
Anuken
3966ff6817 Boss weapon tweaks 2020-08-02 21:54:33 -04:00
HAJDog247
b1bf96bfff Update bundle_fil.properties 2020-08-03 07:51:22 +08:00
Anuken
f97d1eedee Fixed #2300 2020-08-02 10:35:50 -04:00
Anuken
a7c0f9e73c Antumbra weapons 2020-08-01 21:52:12 -04:00
grimsoul10
8c3c671dcd Update bundle_in_ID.properties
A Little bit update 5%
2020-08-01 23:41:23 +00:00
Anuken
a2df243387 "Fixed" #2294 2020-08-01 11:28:55 -04:00
Anuken
ef757f4563 Removed arbitrary preset selection requirements 2020-07-31 22:19:24 -04:00
Anuken
5d3f48d0eb Cleanup 2020-07-31 21:07:28 -04:00
Felix Corvus
b3977d43b0 Update bundle_ru.properties 2020-08-01 01:27:26 +03:00
Felix Corvus
5a4ba149cf Update bundle_ru.properties 2020-08-01 01:09:23 +03:00
Anuken
d658367be7 Fixed #2290 2020-07-31 16:29:53 -04:00
Anuken
bb3b4d4415 arc 2020-07-31 14:07:01 -04:00
Anuken
e4cdf20030 Preset capture waves / More tooltips 2020-07-31 14:06:15 -04:00
Anuken
caf5d37d98 Bugfixes / Auto-strip color codes from meta 2020-07-31 12:31:00 -04:00
Anuken
acfd18ab7b Bugfixes 2020-07-31 11:34:53 -04:00
Anuken
2510b09201 Bugfixes / Default capture waves 2020-07-31 10:40:27 -04:00
Anuken
658079fab6 Bugfixes 2020-07-31 09:51:03 -04:00
Anuken
a4ddf90ef5 Added sectors to tech tree / Bugfixes 2020-07-30 23:13:06 -04:00
Anuken
ff990925f0 Bugfixes 2020-07-30 21:41:17 -04:00
Anuken
b12c25bc0b Updated sector data 2020-07-30 20:19:51 -04:00
Anuken
40edbe785c More bugfixes 2020-07-30 20:07:49 -04:00
Anuken
5ad2807958 Fixed #2287 2020-07-30 19:59:31 -04:00
Anuken
a297d11023 Bugfixes 2020-07-30 19:00:19 -04:00
Anuken
01e3599c7d arc 2020-07-30 17:01:12 -04:00
Anuken
06b08c80c2 BitmapFont -> Font / Bugfixes 2020-07-30 16:59:53 -04:00
Anuken
f39609d1ef Named the starter planet 2020-07-30 16:14:15 -04:00
Anuken
99fafc47f2 Bugfixes 2020-07-30 14:24:23 -04:00
Anuken
b46a8263ba perhaps ground zero was a bit too hard 2020-07-30 11:16:47 -04:00
Anuken
c3a073fbbf Bugfixes 2020-07-30 10:51:43 -04:00
Anuken
bc8f02666a Minor UI tweaks 2020-07-30 09:40:46 -04:00
Anuken
c9316bd9fa Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-07-30 08:48:14 -04:00
Anuken
6e88a665a0 Reset revisions 2020-07-30 08:48:10 -04:00
Anuken
f0f4c77d4f Merge pull request #2283 from Dexapnow/patch-9
Update bundle_pl.properties
2020-07-30 08:45:36 -04:00
Dexapnow
7cb2b75802 Update bundle_pl.properties
Ready to merge.
2020-07-30 13:28:19 +02:00
Anuken
66c0c9baa2 Autopan to last sector 2020-07-29 23:36:59 -04:00
Anuken
9bf3074aee AI bugfixes / Balance 2020-07-29 21:09:58 -04:00
Anuken
1e7aaac3d4 Merge remote-tracking branch 'origin/master' 2020-07-29 19:04:24 -04:00
Anuken
e127df3aed Changed startup reminder 2020-07-29 19:04:20 -04:00
Anuken
418f598d26 Merge pull request #2281 from Summet-V/delete-all-saves
[QOL] Button to clear all saves.
2020-07-29 14:29:03 -04:00
Anuken
5d266174af Fixed #2282 2020-07-29 14:24:42 -04:00
Summet-V
c34bf78ab6 Moved to the game data section 2020-07-29 21:05:58 +03:00
Anuken
f840b007ed Costs for item/liquid research (very much WIP) 2020-07-29 13:52:30 -04:00
Anuken
b672d79dd7 Door chaining / p l a s t a n i u m b l e n d i n g 2020-07-29 13:22:13 -04:00
Summet-V
8c310e38ff Add button 2020-07-29 19:02:40 +03:00
Anuken
b8d1f66653 Bugfixes 2020-07-29 11:02:39 -04:00
Anuken
a0459191d6 Different crash saving mechanism on Android 2020-07-29 10:44:32 -04:00
Anuken
6263c11ce5 Ground zero wave balance 2020-07-29 10:35:40 -04:00
Anuken
d292f954a6 arc 2020-07-29 10:19:45 -04:00
Anuken
63ed322d62 Merge remote-tracking branch 'origin/master' 2020-07-29 10:19:18 -04:00
Anuken
8729410cd8 Moved rotation to Building 2020-07-29 10:19:07 -04:00
Anuken
881929c569 Merge pull request #2280 from Dexapnow/patch-8
Small suggestion
2020-07-29 10:10:47 -04:00
Dexapnow
31f89df5b9 Small suggestion
Since Spiroct and Atrax can't fly why don't give them more cargo capacity?
2020-07-29 16:03:05 +02:00
Anuken
749b9f5b30 Plastanium conveyor buff (40/s) + description 2020-07-29 08:44:53 -04:00
Anuken
7d2b7197d6 Fixed #2277 2020-07-29 08:19:39 -04:00
Base
7f9e32a74c Update bundle_fr_BE.properties 2020-07-29 14:04:33 +02:00
Summet-V
6236819f67 Bundles 2020-07-29 14:31:00 +03:00
HAJDog247
45aa43e62e Filipino (Tagalog) Translation -- patch 1
[UNDER DEVELOPMENT]
This project may take a week or so.
2020-07-29 15:30:08 +08:00
Felix Corvus
4951f1f0b7 2020-07-29 01:08:39 +03:00
Felix Corvus
2765b8d47c editor waves stats RU translation 2020-07-29 00:58:04 +03:00
Anuken
81265500a5 Bugfixes 2020-07-28 17:19:57 -04:00
Anuken
3251dde4a8 Spore storms / Weather attribute effects 2020-07-28 17:13:21 -04:00
Anuken
7cc94057a1 Display modes for waves 2020-07-28 15:27:43 -04:00
Anuken
be530abd4b Merge remote-tracking branch 'origin/master' 2020-07-28 14:29:14 -04:00
Anuken
c6826a6c7e Initial implementation of Anuken/Mindustry-Suggestions/issues/327 2020-07-28 14:28:58 -04:00
Anuken
101a4c2f65 Merge pull request #2271 from Dexapnow/patch-6
Remove "sortersnek"
2020-07-28 11:14:42 -04:00
Base
d7ea50f2ad Update bundle_fr_BE.properties
i translated some text that wasn't translated yet
2020-07-28 16:44:49 +02:00
Anuken
578d5b7a71 Merge pull request #2269 from DeltaNedas/strict
add 'use strict' to mod scripts
2020-07-28 08:43:44 -04:00
Prosta4okua
5c73168c4d Update bundle_uk_UA.properties 2020-07-28 15:38:51 +03:00
DeltaNedas
6c6640f6c6 semicolon 2020-07-28 11:57:02 +00:00
Felix Corvus
10f3fbf87b Update bundle_ru.properties 2020-07-28 04:59:24 +03:00
Anuken
1100803af4 Global sector items / Mod file reading 2020-07-27 20:18:07 -04:00
Dexapnow
c21a0a2516 Remove "sortersnek"
There is many reasons behind it, but most important (that let to removing other "sneks") is infinite throughput/teleporter like mechanic.
I know that most of players like it and they will never change their mind, so this might be better solution.
2020-07-27 20:27:27 +02:00
Anuken
44e150638d Research % indicator 2020-07-27 14:11:44 -04:00
Anuken
8360d60ee8 Fractional research 2020-07-27 14:04:03 -04:00
DeltaNedas
3bf2e18e85 add 'use strict' to mod scripts 2020-07-27 03:55:59 +01:00
Felix Corvus
78fb3fc22f Merge remote-tracking branch 'upstream/master' 2020-07-26 23:47:21 +03:00
Felix Corvus
7f811403df Press **F** to feathub.com 2020-07-26 23:29:41 +03:00
Anuken
95f7fc1b3b Rounding of research amounts 2020-07-26 10:35:47 -04:00
Anuken
42d7eb4e05 Bugfixes 2020-07-25 19:08:25 -04:00
Felix Corvus
8980275f0a Update bundle_ru.properties 2020-07-25 22:07:48 +03:00
Anuken
8f8117e94b Merge remote-tracking branch 'origin/master' 2020-07-25 14:38:13 -04:00
Anuken
d6d2e88b71 Saving of rotation of static blocks 2020-07-25 14:38:09 -04:00
Anuken
86ef6dc9d7 Merge pull request #2233 from Prosta4okua/master
[Bundle][RU] actual translation
2020-07-25 14:34:23 -04:00
Anuken
c3881b57de More research tweaks / Balancing 2020-07-25 13:29:50 -04:00
Anuken
ef381cb970 Fixed #2265 2020-07-25 10:59:18 -04:00
Anuken
b180462c45 Better tree layout 2020-07-25 10:25:48 -04:00
Felix Corvus
a0bdeb2649 Будем получать по куполу 2020-07-25 15:28:21 +03:00
Anuken
20077738d2 Research fixes 2020-07-24 23:56:14 -04:00
Anuken
38e55ab541 Added most things to tech tree 2020-07-24 23:38:33 -04:00
Felix Corvus
da4f042fa4 Я СКАЗАЛ РИССО 2020-07-25 03:12:21 +03:00
Anuken
17f86c5f77 Added missing tech tree blocks 2020-07-24 19:15:09 -04:00
Prosta4okua
1f6c2df476 Update bundle_uk_UA.properties 2020-07-25 00:23:30 +03:00
Prosta4okua
6be58ecb8d Update bundle_uk_UA.properties 2020-07-24 23:49:58 +03:00
Anuken
961e2a2490 Merge remote-tracking branch 'origin/master' 2020-07-24 13:51:00 -04:00
Anuken
1c8fd4cc38 https://github.com/Anuken/Mindustry-Suggestions/issues/336 2020-07-24 13:50:57 -04:00
Felix Corvus
43a0b6486a РИССО 2020-07-24 20:50:03 +03:00
Anuken
f1cf8b2849 Merge pull request #2262 from Quezler/patch-41
Remove some spaces
2020-07-24 13:49:34 -04:00
Patrick 'Quezler' Mounier
7bf299bcc0 Remove some spaces 2020-07-24 19:44:26 +02:00
Anuken
f41212b4d7 plastanium balancing 2020-07-24 13:42:11 -04:00
Felix Corvus
38a2ae0db2 Merge branch 'master' into master 2020-07-24 20:37:08 +03:00
Felix Corvus
07b5999b13 Merge branch 'master' into master 2020-07-24 20:34:49 +03:00
Anuken
58c39e14d6 risse -> risso 2020-07-24 13:27:15 -04:00
Felix Corvus
7c0080ee65 Russian translation of units 2020-07-24 20:20:35 +03:00
Anuken
8db4f88ecc Plastanium conveyor blend fix 2020-07-24 12:56:30 -04:00
Anuken
0372ec7c9f Bugfixes, balancing 2020-07-24 12:42:59 -04:00
Anuken
a48efd971c Removed "naval" sector requirement 2020-07-24 10:53:17 -04:00
Anuken
c1283b856b Some initial air boss stats 2020-07-23 21:50:07 -04:00
Anuken
d6af9a6671 arc 2020-07-23 17:39:28 -04:00
Anuken
72fc103e16 UI cleanup 2020-07-23 17:37:45 -04:00
Anuken
69f6154894 Updated bundles 2020-07-23 17:12:55 -04:00
Felix Corvus
91d54dfad3 Прочность 2020-07-23 19:46:46 +03:00
Felix Corvus
8c495a3f57 Update bundle_ru.properties 2020-07-23 19:30:48 +03:00
Anuken
3892cf2283 Merge remote-tracking branch 'origin/master' 2020-07-23 10:27:28 -04:00
Anuken
c93431ecc6 Bugfixes 2020-07-23 10:27:24 -04:00
Anuken
c8f3e26f44 Merge pull request #2247 from leweii/patch-1
Update bundle_zh_CN.properties
2020-07-23 09:23:31 -04:00
Anuken
565bac1e2b Merge pull request #2254 from Remint32/master
Textures micro fixes and improvements
2020-07-23 09:23:06 -04:00
Anuken
7e306d476d Merge pull request #2236 from Dexapnow/patch-5
PvP server hosted in Poland
2020-07-23 08:56:34 -04:00
Anuken
dc30ac4069 Merge remote-tracking branch 'origin/master' 2020-07-23 08:47:34 -04:00
Anuken
9e0bd49f04 Fixed #2255 2020-07-23 08:47:30 -04:00
Anuken
fbc79d5d6f Merge pull request #2240 from L0615T1C5-216AC-9437/patch-3
Add chaotic-Neutral Attack server to the Community List
2020-07-22 21:40:12 -04:00
Anuken
b9ff9b7ee4 Merge branch 'master' into patch-3 2020-07-22 21:40:05 -04:00
Anuken
1b17944901 Merge pull request #2165 from L0615T1C5-216AC-9437/patch-2
Add Chaotic-Neutral PvP Server to Community Server List
2020-07-22 21:38:28 -04:00
Anuken
701aa840b3 Nondestructive unit cap enforcement 2020-07-22 14:31:44 -04:00
Anuken
b4594b2274 Hard enforcement of unit cap 2020-07-22 13:27:54 -04:00
Anuken
a4a3f6f8c5 Merge remote-tracking branch 'origin/master' 2020-07-22 11:03:42 -04:00
Anuken
988da3b8e9 Balancing / Bugfixes 2020-07-22 11:03:38 -04:00
Anuken
769fc93940 Merge pull request #2250 from AydenRennaker/patch-4
Add Atanner Hexed PVP to Community Servers List
2020-07-22 09:43:17 -04:00
Felix Corvus
4157e3c74d Update bundle_ru.properties 2020-07-22 04:02:57 +03:00
Felix Corvus
916a00b6ff textures micro fixes and improvements 2020-07-22 03:40:58 +03:00
Anuken
43ca3ca210 Correct flow rate scaling 2020-07-21 19:51:57 -04:00
Anuken
93371b1cd0 Merge remote-tracking branch 'origin/master' 2020-07-21 19:49:50 -04:00
Anuken
973d907218 Balancing & bugfixes 2020-07-21 19:49:46 -04:00
Anuken
efaba522cd Merge pull request #2253 from Remint32/master
spore-press frames sprites 6.0-ed
2020-07-21 19:25:53 -04:00
Felix Corvus
2ef0e33227 spore-press frames sprites 6.0-ed 2020-07-22 02:18:55 +03:00
Anuken
5cfd784501 Merge remote-tracking branch 'origin/master' 2020-07-21 15:43:10 -04:00
Anuken
5c9e005397 Per-unit cap (still broken) 2020-07-21 15:43:02 -04:00
AydenRennaker
6b52c64b6f Add Atanner Hexed Survival to Community Servers List
Added hexed game server with core spawns on hex capture.
Banned ripple and hail.
2020-07-20 18:27:47 -06:00
Anuken
30f2fd0b7e Moved server to middle of list for fairness 2020-07-20 13:32:13 -04:00
leweii
c9da9754ef Update bundle_zh_CN.properties
In Chinese properties, add some words, and try to make some sentences more fluent.
2020-07-20 14:05:30 +08:00
Felix Corvus
69dae20275 ru translation respawn line fix 2020-07-20 05:16:57 +03:00
Anuken
07b3991fdf Merge pull request #2242 from XZimur/patch-1
Update bundle_uk_UA.properties
2020-07-19 21:37:07 -04:00
Anuken
4ef0143928 typo 2020-07-19 21:35:32 -04:00
Anuken
7a2a436a52 Fixed #2246 2020-07-19 21:34:31 -04:00
Anuken
6547a38567 Cached Block#offset() 2020-07-19 16:34:06 -04:00
Anuken
c398b89284 Changed mouse_move to use forward mouse button by default 2020-07-19 13:04:26 -04:00
Anuken
9521af7be5 Input fixes 2020-07-19 13:00:55 -04:00
Anuken
c2d6076407 arc 2020-07-19 12:21:56 -04:00
Anuken
a074010eb7 Time.delta cleanup / Basic mobile input 2020-07-19 12:21:21 -04:00
Anuken
f9ed74c15a Fixed #2243 2020-07-19 09:32:57 -04:00
XZimur
4dec69fca7 Update bundle_uk_UA.properties
I did found several errors in this translation:
1 - Container and Vault are both traslated as "Соховище", so i fixed this by translating Vault as "Вмістилище"
2 - Bridge conduit is translated like "Мостовий водопровід" with means Bridge water pipe, so i changed that to "Мостовий трубопровід" with mens Bridge conduit
2020-07-19 10:15:14 +03:00
Anuken
c772e1fcc6 Bugfixes 2020-07-18 22:50:05 -04:00
Felix Corvus
f0acfb3cf3 бесконечные правки 2020-07-18 17:43:20 +03:00
Anuken
870f06218b Bugfixes 2020-07-18 09:36:43 -04:00
Anuken
6b3039dba2 Modifier reordering 2020-07-17 19:00:39 -04:00
LOGISTICAL NIGHTMARE
b291c09b73 Add chaotic-Neutral Attack server to the Community List 2020-07-17 18:12:19 -04:00
Anuken
521e3c773f Weapon occlusion / Balancing 2020-07-17 16:57:27 -04:00
Anuken
60ce8ca935 Naval unit sprites complete 2020-07-17 16:41:46 -04:00
Anuken
d02268d347 Additional pyratite balancing 2020-07-17 15:25:17 -04:00
Anuken
54e5d6a302 Fixed #2238 2020-07-17 13:20:31 -04:00
Anuken
1bb621bbd5 Naval unit tweaks 2020-07-17 11:15:07 -04:00
Anuken
b2b6ddb5b2 arc 2020-07-17 08:48:13 -04:00
Anuken
660abe188b Fixed #2237 2020-07-17 08:46:11 -04:00
Dexapnow
49a43a4308 PvP server hosted in Poland 2020-07-17 13:57:32 +02:00
Anuken
208105f21d Prototype T1 naval unit 2020-07-16 21:09:42 -04:00
Anuken
a193351bd7 Merge remote-tracking branch 'origin/master' 2020-07-16 14:32:43 -04:00
Anuken
e3f40cd968 Cleanup 2020-07-16 14:32:38 -04:00
Anuken
0c54417a11 Merge pull request #2234 from Remint32/patch-4
bruh trails -> pretty trails fix
2020-07-16 12:11:25 -04:00
Felix Corvus
4e3226ee3d bruh trails -> pretty trails fix 2020-07-16 18:41:22 +03:00
Felix Corvus
22ff8e2b9b hmm 2020-07-16 17:44:24 +03:00
Felix Corvus
df7285a1f5 Update bundle_ru.properties 2020-07-16 15:10:36 +03:00
Felix Corvus
6d55285b62 Update bundle_ru.properties 2020-07-16 14:23:34 +03:00
Anuken
4c0062e967 Merge pull request #2230 from Paulao17/patch-2
French fastlane metadata corrections
2020-07-15 13:26:48 -04:00
Anuken
67cd8ccae4 Merge pull request #2229 from Kieaer/patch-4
ko bundle update
2020-07-15 11:46:17 -04:00
Paulao17
42a63daf00 Language and meaning corrections (French translation)
This translation uses the second person singular whereas the steam translation uses second person plural. The latter is more formal, potentially less adapted for a mobile user-base.
2020-07-15 17:21:21 +02:00
키에르
3d26e461c2 Update bundle_ko.properties
block.segment - block.silicon-curcible, setting.mapcenter.name
2020-07-16 00:13:37 +09:00
Paulao17
49736a37c9 Plurals and various (French translation) 2020-07-15 17:04:07 +02:00
Anuken
874aa6cf4a Merge remote-tracking branch 'origin/master' 2020-07-15 10:19:56 -04:00
Anuken
0f6629718d Minor test fixes 2020-07-15 10:19:53 -04:00
Anuken
b9de9e5a0c Merge pull request #2068 from Kieaer/patch-4
[Following] Update bundle_ko.properties
2020-07-15 10:16:36 -04:00
Anuken
61b99f04e9 Merge remote-tracking branch 'origin/master' 2020-07-15 10:01:09 -04:00
Anuken
fd89911dd4 Text field dialog cleanup 2020-07-15 10:01:01 -04:00
Anuken
6a5900d745 Merge pull request #2195 from Prosta4okua/master
Ru translation
2020-07-15 09:49:11 -04:00
Anuken
a6593e3572 Merge pull request #2142 from Math2128/patch-5
Update bundle_fr.properties
2020-07-15 09:44:36 -04:00
Anuken
c25853dc3e Merge pull request #2211 from stuffyAI/patch-4
Create achievements.vdf for german steam achievements
2020-07-14 20:53:57 -04:00
Anuken
16873c6086 Merge pull request #2221 from T1NT4/patch-2
Update bundle_pt_BR.properties
2020-07-14 20:41:24 -04:00
Anuken
23e1d0998a Merge pull request #2093 from zethnest/map-center
[QOL] Center Map to Player Implementation
2020-07-14 20:41:03 -04:00
Anuken
6e08b67817 Merge pull request #2164 from Cyberman-42/patch-1
Update bundle_nl.properties
2020-07-14 15:30:33 -04:00
Anuken
7a60339c5d Update bundle_nl.properties 2020-07-14 15:30:16 -04:00
Anuken
7f6026bd52 Implemented #2153 2020-07-14 15:27:58 -04:00
Anuken
e0f1242ca7 Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-07-14 15:04:04 -04:00
Anuken
bd95d81b40 nah 2020-07-14 15:03:59 -04:00
Anuken
d5b71e2773 Merge pull request #2210 from xerus2000/patch-1
Unify tower terminology in german translation of tutorial
2020-07-14 15:03:08 -04:00
Anuken
c21b02b1ec Merge pull request #2187 from Catchears/patch-1
Improved german translation.
2020-07-14 15:02:33 -04:00
Anuken
c1cd84593d Merge pull request #2194 from driver1748/patch-1
Corrected some translations
2020-07-14 14:58:35 -04:00
Anuken
85d67db1ed Merge pull request #2175 from AlbertCerfeda/patch-2
Minor changes
2020-07-14 14:58:13 -04:00
Anuken
fe0d3cfe22 Merge pull request #2140 from soytheLB/patch-5
Update bundle_es.properties
2020-07-14 14:56:30 -04:00
Anuken
1661905d9b Merge pull request #2106 from PetrGasparik/v105
Czech translation - up to date!
2020-07-14 14:56:09 -04:00
Anuken
06f2330295 Merge pull request #2226 from Ubuntu8406/patch-2
A small update of the finnish translation
2020-07-14 14:52:34 -04:00
Anuken
ca1e43d79c Merge branch 'master' into patch-2 2020-07-14 14:52:28 -04:00
Anuken
43676b68bf Merge pull request #2105 from TheJaaju/patch-4
Update bundle_fi.properties
2020-07-14 14:49:27 -04:00
Anuken
752cccb588 Merge pull request #2062 from GioIacca9/patch-11
Minor changes
2020-07-14 14:45:51 -04:00
Anuken
3eca6b770e <added missing sprites IntelliJ missed> 2020-07-14 14:39:11 -04:00
Anuken
a1a72ee713 <added missing sprites IntelliJ missed> 2020-07-14 13:21:12 -04:00
Anuken
9dc49743e8 Implemented #1335 2020-07-14 13:20:50 -04:00
Anuken
fb08a3638b NetClient cleanup 2020-07-14 13:04:22 -04:00
Anuken
3d353b414c arc 2020-07-14 11:17:10 -04:00
Anuken
f9b6b8e5b7 recieve -> receive 2020-07-14 11:16:32 -04:00
Anuken
da577a0db2 Merge remote-tracking branch 'origin/master' 2020-07-14 11:11:56 -04:00
Anuken
fbd55a341e Implemented server autosave config (#1296) 2020-07-14 11:11:49 -04:00
Anuken
064a0545a8 Merge pull request #1941 from bluet-it/master
add bundle_hu
2020-07-14 10:41:34 -04:00
Anuken
a33ac30a01 Merge pull request #1595 from andreasgamborg/patch-1
Create bundle_da.properties
2020-07-14 10:41:28 -04:00
Anuken
6d7d4bcba1 Merge pull request #2028 from burunduk/patch-2
Update bundle_uk_UA.properties
2020-07-14 10:40:34 -04:00
Anuken
b541cfcc75 Update bundle_zh_TW.properties (#2081)
* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties
2020-07-14 10:37:54 -04:00
Ali-C-Ila
6c52812a0d Update bundle_zh_TW.properties (#2054) 2020-07-14 10:37:41 -04:00
Lapis
360494af50 Update bundle_ja.properties (#2046)
* update bundle_ja.properties

* update bundle_ja.properties

* update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* removed experimental tag

* Small fix

* fix typo

* bundle_ja.properties

* Small fix

* Small fix

* Update bundle_ja.properties

* Update bundle_ja.properties

* add waves.guardian

* Fixed setting.atmosphere.name translation

* translation of waves.shields

* Update bundle_ja.properties
2020-07-14 10:37:22 -04:00
Anuken
b48e6d0e2f Illuminator tweaks 2020-07-14 10:25:56 -04:00
Felix Corvus
83d334582b Update bundle_ru.properties
Changes from https://github.com/Anuken/Mindustry/pull/2225
2020-07-14 07:24:40 +03:00
Anuken
250d982d99 Internal unit name finalizations 2020-07-13 20:39:43 -04:00
Ubuntu8406
982b7f33bc A small update of the finnish translation 2020-07-13 19:10:40 +03:00
Anuken
103ebc009d Fixed #2224 2020-07-13 08:50:19 -04:00
Petr Gašparík
a0ef83fb62 Czech translation - small improvement 2020-07-13 10:43:31 +02:00
Petr Gašparík
682bfcc8e8 Merge branch 'master' of https://github.com/Anuken/Mindustry into v105 2020-07-13 10:42:30 +02:00
Anuken
d31a530d6e Minor unit production balancing 2020-07-12 23:25:36 -04:00
Anuken
f5f495b9b8 Leg unit movement fixes 2020-07-12 11:34:19 -04:00
Anuken
dad5b186db Bugfixes / Negative knockback / Unit progress 2020-07-11 23:35:58 -04:00
Anuken
430eef02e2 Multi-legged unit implementations 2020-07-11 22:41:26 -04:00
Anuken
0555e4dfa7 Various palette changes 2020-07-11 14:44:50 -04:00
Anuken
6188250605 Unit tweaks 2020-07-11 13:20:23 -04:00
Anuken
064172e1f1 Bugfixes 2020-07-11 10:26:27 -04:00
Anuken
0752076bf2 Bullet cleanup 2020-07-11 09:08:17 -04:00
Anuken
a8d5198ca6 IntelliJ still refusing to add new files 2020-07-10 20:05:10 -04:00
Anuken
9cb4645b11 More unit progress 2020-07-10 20:04:45 -04:00
T1NT4
b81de5ebe4 Update bundle_pt_BR.properties
changed the revenant factory description to match the revenant unit description on the database, and also fixed the revenant factory description so it no longer says that revenant are ground units
2020-07-10 18:00:12 -03:00
Anuken
d7e432f730 Unit name changes 2020-07-10 16:38:19 -04:00
Anuken
2eb27d156d Removed useless files
These have not been updated in years
2020-07-10 13:41:09 -04:00
Anuken
d1485e3e65 IntelliJ has failed to commit this file 3 times
It's been checked in my version control UI for my last 3 commits, and was invisible in my first commit despite me refreshing the list
2020-07-10 13:26:05 -04:00
Anuken
21170634bd More unit abilities 2020-07-10 13:22:45 -04:00
Anuken
baa9f22a0b Ground support unit implementations 2020-07-10 12:14:24 -04:00
Anuken
f39702e1cc Core unit balance 2020-07-10 09:43:59 -04:00
Anuken
b94f883f39 More multiplayer fixes 2020-07-09 20:58:49 -04:00
Anuken
7c5f3762dd Bugfixes 2020-07-09 16:48:36 -04:00
Anuken
938ae6e80a Merge remote-tracking branch 'origin/master' 2020-07-09 13:14:05 -04:00
Anuken
2584197a02 Multiplayer bugfixes 2020-07-09 13:13:57 -04:00
zethnest
2a81370c66 fix power produce & consumption (#2217) 2020-07-09 09:23:49 -04:00
Anuken
29e9d064df Unit wreck visuals 2020-07-08 23:48:12 -04:00
Anuken
b0f69263c7 Bugfixes 2020-07-08 19:17:08 -04:00
Anuken
c15aec641a Environmental lights / Bugfixes 2020-07-08 12:40:17 -04:00
Anuken
a9333baa78 Research tweaks 2020-07-08 12:11:27 -04:00
Anuken
26e70fa585 Many various campaign mechanic changes 2020-07-07 21:13:03 -04:00
Anuken
b95206cf87 Support for jar mods on desktop 2020-07-07 09:34:52 -04:00
stuffyAI
2c982213b9 Update achievements.vdf 2020-07-07 08:04:58 +02:00
stuffyAI
45488947ef Fixes from above comments
Sbeve
2020-07-07 08:02:34 +02:00
Anuken
56ffe5aea8 Campaign mechanics 2020-07-06 21:53:34 -04:00
Anuken
a6523630bf Unit sprite cleanup 2020-07-06 11:05:37 -04:00
stuffyAI
0da19d54bb Create achievements.vdf 2020-07-06 15:16:18 +02:00
Catchears
8a5f19e4f9 Changes from stuffAI 2020-07-06 13:08:48 +02:00
Janek
14f975bde7 Unify Tutorial terminology in german translation
A friend of mine was playing through the tutorial and was confused by the term "Turm", since the duo is translated as "Geschütz", so he didn't quite know what the tutorial wanted. This unifies the terminology, since in the beginning you only have one "Geschütz" choice anyways.
2020-07-05 17:54:48 +02:00
Anuken
9b285e6b21 Removed references to "phantom" 2020-07-05 11:15:46 -04:00
Anuken
403597f860 Unit cleanup 2020-07-05 10:39:54 -04:00
Anuken
add0d0cd86 Unit naming / Fixed #2209 2020-07-04 23:53:22 -04:00
Anuken
685275237a Updated older annotation processors 2020-07-03 20:26:23 -04:00
Anuken
8576d535bd Removed "on" prefix from all remote methods 2020-07-03 18:48:31 -04:00
Anuken
7ff2e98420 Cleanup 2020-07-03 16:41:06 -04:00
Anuken
843a8c3e56 Fixed crashes with team IDs above 127 2020-07-03 12:36:12 -04:00
Anuken
3772b04c6b Miner unit fixes 2020-07-03 09:30:08 -04:00
Anuken
fb7633cb07 Cyclone hits ground targets again 2020-07-02 23:35:36 -04:00
Anuken
efa8d8a0d7 Minor weapon fixes 2020-07-02 23:19:44 -04:00
Anuken
f4a7108382 Weapon system refactoring 2020-07-02 22:48:37 -04:00
Anuken
d59aab1a7d Air/ground bullet cleanup 2020-07-02 15:52:21 -04:00
Anuken
ee3aedc75f Implemented core item display (WIP) 2020-07-02 15:27:02 -04:00
Anuken
cecb5cf4b4 Added tractor beam turret 2020-07-02 14:02:33 -04:00
Anuken
0a7e40bd23 Merged wall classes 2020-07-02 10:44:31 -04:00
Anuken
fd2deb0a82 Moved pref saving to specific locations 2020-07-02 10:20:16 -04:00
Anuken
5f6c71b9d3 Replaced concept of "turns" with raw seconds 2020-07-01 11:50:33 -04:00
Anuken
3cf5adc278 Merge remote-tracking branch 'origin/master' 2020-06-30 19:14:40 -04:00
Anuken
e907c2045c Cleanup 2020-06-30 19:14:32 -04:00
Katsute
5740c2b6d0 hideme (#2201)
Co-authored-by: Katsute <Katsute@users.noreply.github.com>
2020-06-30 11:53:14 -04:00
Anuken
c2c0c3fd08 Fixed #2197 2020-06-29 21:22:12 -04:00
Anuken
df4278a646 Removed item core restrictions 2020-06-29 19:32:15 -04:00
Anuken
810a59f146 Mass driver resprite 2020-06-29 16:23:25 -04:00
Anuken
9ec23940b9 Merge remote-tracking branch 'origin/master' 2020-06-29 15:58:57 -04:00
Anuken
bf5dd7386e Reduced garbage allocation 2020-06-29 15:58:48 -04:00
Anuken
5f7e25b65e Updated README with JDK 14 suggestion 2020-06-29 15:30:31 -04:00
Anuken
d58e3ac235 Implemented more sector launch mechanics 2020-06-29 11:58:43 -04:00
WinterUnderTheSnow
679aab18ee *Phantom is now Phenom too
XD
2020-06-29 10:07:53 +08:00
Anuken
fb032eb763 Enforce sector core capacity 2020-06-28 20:16:36 -04:00
Anuken
0d6657a1e8 Idle sector resource production 2020-06-28 18:55:42 -04:00
Anuken
fceac4c1a1 Don't show launch animation for existing bases 2020-06-28 13:35:08 -04:00
Anuken
b3f29f100d Custom launch items 2020-06-28 13:33:53 -04:00
Prosta4okua
24071ed23b Merge branch 'master' into master 2020-06-28 19:41:37 +03:00
Prosta4okua
e1e9b28bf1 Ненужная большая буква + обновление с master.
1. Вы -> вы
2. Ваш -> ваш
«Вы» используется только в деловом общении.
2020-06-28 19:34:12 +03:00
Anuken
6386cae19a Launching dialog bugfixes & requirement display 2020-06-28 11:40:03 -04:00
WinterUnderTheSnow
b12d3ae0ba Corrected some translations
4,5 Noticed that using discord in China need some unusual ways.
19 ‘Gameover’ not ‘Your core has been destroyed!’
105 Mod guide is actually guiding you how to make a mod 
116 ‘dependences’refers to ‘mods needed’,not ‘condition needed’
126 ‘import mod from GitHub’sounds better than’import github mod’
151 I think ‘Your are not invited to play on this server’ sounds better than ‘You are not in the whitelist’.This will stop noobs spamming everywhere.
155 ‘Server admin’ but not ‘Room owner’
156,193,203,206 ‘ban’ is better than ‘blacklist’
195 added one this server’
1000 phantom?Why not Phenom(Yes that CPU) XD (In fact ‘神魂修理机’ is a joke too)
2020-06-28 21:40:17 +08:00
Anuken
bd274f804a Loadout selection + custom loadout schematics 2020-06-27 23:04:38 -04:00
Anuken
63356e96ec Merge remote-tracking branch 'origin/master' 2020-06-27 19:16:47 -04:00
Anuken
80332e37d5 Upgradeable cores 2020-06-27 19:16:39 -04:00
Summet
63717bdf51 Small Colored Shields Improvement. (#2193)
When a player places a force projector, the color of its edges will be the color of the player.
2020-06-27 11:06:13 -04:00
Anuken
313cadb763 Minor cleanup / Trail experiment 2020-06-27 09:20:52 -04:00
Anuken
0847b20401 Cleanup 2020-06-26 18:50:30 -04:00
Anuken
7401c16ded Team-colored shields 2020-06-26 18:42:29 -04:00
Anuken
0df4e26736 Cleanup 2020-06-26 15:59:54 -04:00
Anuken
fdf7c88083 argh 2020-06-26 14:27:26 -04:00
Anuken
eabc5c15c7 Codegen for an inheritance tree 2020-06-26 11:58:35 -04:00
Catchears
bec394abbc Fix translations 2020-06-26 08:43:39 +01:00
Anuken
96f41b0cf3 Cleanup 2020-06-25 22:34:38 -04:00
Anuken
c12865eabc Removed reload, forced mandatory mod restart 2020-06-25 22:31:47 -04:00
Anuken
ecfac00c30 Arc 2020-06-25 12:54:55 -04:00
Anuken
d90807b29c Bugfixes 2020-06-25 12:51:30 -04:00
Catchears
f4f5658fee Revert "Revert "Small comma fix""
This reverts commit 62399d0f2b.
2020-06-25 13:22:50 +01:00
Catchears
62399d0f2b Revert "Small comma fix"
This reverts commit 47ec565316.
2020-06-25 13:22:39 +01:00
Catchears
47ec565316 Small comma fix 2020-06-25 11:06:28 +01:00
Catchears
0f224c7780 Add / improve translations again 2020-06-25 11:02:48 +01:00
Catchears
946ac8eefb Change capitalisation due to a mistake 2020-06-25 09:45:21 +01:00
Anuken
19cb144cdb Minor GL fixes 2020-06-24 20:37:49 -04:00
Anuken
b204074690 More multiplayer fixes 2020-06-24 10:07:05 -04:00
Anuken
d5c758c18a arc 2020-06-23 22:47:40 -04:00
Anuken
843be42568 More multiplayer bugfixes 2020-06-23 22:46:28 -04:00
Anuken
db2f61ec29 less instant disconnect, more broken multiplayer 2020-06-23 21:07:20 -04:00
Anuken
d095008e7c Some initial multiplayer bugfixes 2020-06-23 20:01:55 -04:00
Anuken
fc8e1d5b6d Bugfixes 2020-06-23 16:27:32 -04:00
Anuken
ba78eab30a Proper player icons 2020-06-23 15:40:24 -04:00
Anuken
7b7e803011 Cleanup 2020-06-22 23:08:59 -04:00
Anuken
7dfd20d020 Core launch cost 2020-06-22 21:02:53 -04:00
Petr Gašparík
f0882d8d5e Czech translation - up to date 2020-06-22 23:19:57 +02:00
Petr Gašparík
e3735ffa9c Merge branch 'master' of https://github.com/Anuken/Mindustry into v105 2020-06-22 22:54:57 +02:00
Math2128
185e4334f6 Update bundle_fr.properties
Update to the main bundle
2020-06-22 13:52:06 -04:00
Anuken
58d8e22b40 Added smooth camera option 2020-06-22 13:40:04 -04:00
Anuken
47b06d0eac Added sandstorm weather 2020-06-22 11:10:12 -04:00
Anuken
42c323365a Removed CoreLauncher 2020-06-21 20:22:20 -04:00
Anuken
9c69e3a1a0 Bugfixes / Sector preset cleanup 2020-06-21 16:00:26 -04:00
Catchears
af7b7ef2b1 Improved german translation. 2020-06-21 20:03:46 +01:00
Anuken
4a8be42258 Lowercase enums 2020-06-21 12:38:59 -04:00
Anuken
6f1a64db78 Updated atlas with correct enum names 2020-06-21 12:25:11 -04:00
Anuken
934db24d3b Renamed Texture enums with correct case 2020-06-21 12:20:02 -04:00
Anuken
93ae73abb6 Sprite cleanup 2020-06-21 10:38:13 -04:00
Anuken
71ea9b3bd9 (IntelliJ refuses to add new files after refresh) 2020-06-21 10:34:00 -04:00
Anuken
6517eaf62f Implemented #2177 2020-06-21 10:33:08 -04:00
Anuken
a0f0640729 Testing liquids/items in tech tree 2020-06-20 22:21:43 -04:00
Anuken
2082976783 Merge remote-tracking branch 'origin/master' 2020-06-20 12:28:31 -04:00
Anuken
25338ff1cf Removed CampaignData.java/GlobalData.java 2020-06-20 12:28:24 -04:00
Patrick 'Quezler' Mounier
e41d2d66c5 Make room for a space (#2179) 2020-06-20 11:35:26 -04:00
Anuken
ec4a5880b7 Fixed #2178 2020-06-20 09:07:35 -04:00
Anuken
f419de0fad Fixed some tech tree layout issues 2020-06-19 23:36:21 -04:00
Anuken
6bcc103cf7 Research system progress 2020-06-19 19:31:14 -04:00
Anuken
08ac91359b Sprite cleanup 2020-06-19 12:26:58 -04:00
Anuken
63eee99aba Merge remote-tracking branch 'origin/master' 2020-06-19 12:26:48 -04:00
Anuken
2280ed6071 Research block tweaks / Merged in #1927 2020-06-19 12:26:41 -04:00
Albert Cerfeda
5a1c9ce785 Minor changes 2020-06-19 15:53:21 +02:00
Albert Cerfeda
2ee518c9fc Uppercase initial of 'Trello' (#2174) 2020-06-19 08:06:31 -04:00
Anuken
15623fbe5c Support for local server discovery on Steam 2020-06-18 19:23:42 -04:00
Anuken
daefe6bc1f Cleanup 2020-06-18 18:47:50 -04:00
Anuken
31708b9af7 Exception parsing cleanup 2020-06-18 18:47:34 -04:00
Anuken
fa2df57021 Sector preset shadow fixes 2020-06-18 14:43:53 -04:00
Anuken
d38abe95f9 Editor bugfixes / Arbitrary map resizing 2020-06-18 14:24:22 -04:00
Anuken
ae47f37b27 Added campaign target wave 2020-06-17 21:41:39 -04:00
Anuken
e88ff1a358 Minor UI tweaks 2020-06-17 15:07:20 -04:00
Anuken
bce8a61390 Switched to ES6 language level 2020-06-17 14:35:47 -04:00
Anuken
2bfe0c30ec Cleanup 2020-06-17 12:17:29 -04:00
Anuken
3c02234a3b Ammo resupply point implementation 2020-06-17 10:41:26 -04:00
Anuken
de16c95dd6 Some simplification 2020-06-16 23:01:58 -04:00
Anuken
5da0267df9 Hover unit display 2020-06-16 22:56:51 -04:00
zethnest
0aa313e37c fixed-hotkey implementation (#2170) 2020-06-16 16:29:44 -04:00
Anuken
a7ca632c09 AI in custom game attack mode 2020-06-16 16:04:25 -04:00
Anuken
d1de976dc4 arc 2020-06-16 14:15:10 -04:00
Anuken
2e42526e90 Fixed up Discord RPC 2020-06-16 14:13:43 -04:00
Anuken
918c9492df Changing discord RPC system 2020-06-16 13:43:00 -04:00
Anuken
6e162d91e5 Fixed #2169 2020-06-16 10:08:33 -04:00
Anuken
1eaa1a05ac Switched to rhino fork 2020-06-15 23:22:14 -04:00
Anuken
caea5c7df2 Cleanup 2020-06-15 21:52:51 -04:00
Anuken
b789394efc TextField fixes 2020-06-15 19:26:03 -04:00
Anuken
89aec3ac51 Cleanup 2020-06-15 18:35:21 -04:00
Anuken
405d6cf33f Per-team infinite building resources 2020-06-15 15:33:14 -04:00
Math2128
cecfe77e95 Update bundle_fr.properties
Translated new stuffs + fixed two mistakes.
2020-06-15 15:06:42 -04:00
Anuken
7001ad09cb Support for team-only lighting 2020-06-15 13:54:02 -04:00
Anuken
b5660a50ca Certain team-specific rules 2020-06-15 12:00:32 -04:00
LOGISTICAL NIGHTMARE
c8d59cea6d Add Chaotic-Neutral PvP Server to Community Server List 2020-06-15 11:43:23 -04:00
Anuken
90b0650af9 Merge remote-tracking branch 'origin/master' 2020-06-15 09:58:54 -04:00
Anuken
d04ce2a750 Block damage multiplier rule 2020-06-15 09:58:46 -04:00
Cyberman
3dfad51e93 Update bundle_nl.properties
Just a few things I had time for.
2020-06-15 15:49:10 +02:00
ILiekMelons
dbe482d494 Fixed disassembler and overdrive projector (#2163)
I misspelt disassembler and forgot to put a .name somewhere 😅
2020-06-15 09:44:38 -04:00
Math2128
db77cfa3b5 Update bundle_fr.properties
added the new stuff from the main bundle + fixed a typo
2020-06-15 02:02:04 -04:00
Math2128
ac14f43107 Update bundle_fr.properties
1125
2020-06-14 20:45:10 -04:00
ILiekMelons
2a7da8c80e Add names for new drones and machines (#2162)
* Add in names for drone-related things

* Various machines added

* extra newline that i removed
2020-06-14 20:43:25 -04:00
Anuken
0a40991c75 Update README.md 2020-06-14 19:58:19 -04:00
Anuken
9dffbde8c8 Update README.md 2020-06-14 19:58:08 -04:00
Anuken
0968f0be59 Testing doc script [2] 2020-06-14 18:51:38 -04:00
Math2128
baa0d5a951 Update bundle_fr.properties
1030
2020-06-14 18:46:32 -04:00
Anuken
5f79040faa Testing doc script 2020-06-14 18:41:42 -04:00
Anuken
126b54b981 Better built-in shuffle 2020-06-14 14:50:04 -04:00
Math2128
9e105dbce5 Update bundle_fr.properties
971
2020-06-14 14:13:15 -04:00
Anuken
5370874686 Client debug info 2020-06-14 11:21:50 -04:00
Anuken
84693f5073 ? 2020-06-14 11:16:52 -04:00
Anuken
1823bc8f15 Support for compiling on Java 14 2020-06-14 11:10:54 -04:00
Math2128
a7a31f6c35 Update bundle_fr.properties
837
2020-06-14 00:33:57 -04:00
Anuken
b4573861a8 h i g h precision shaders
(I shouldn't need to do this)
2020-06-13 20:58:41 -04:00
Anuken
1f48daa4ed arc 2020-06-13 18:20:37 -04:00
Anuken
f365d8519b Reconstructor fixes 2020-06-13 18:20:10 -04:00
Anuken
c74d2f8cf2 Merge remote-tracking branch 'origin/master' 2020-06-13 16:27:22 -04:00
Anuken
b48736e771 Reconstructor sprites / Bugfixes 2020-06-13 16:27:15 -04:00
Summet
26f0a627d5 Unnecessary Draw.z (#2160) 2020-06-13 15:19:27 -04:00
Anuken
f55fb48ea7 Slightly higher contrast black palette 2020-06-13 12:24:50 -04:00
Anuken
9e96954eaa Fixed colorswap 2020-06-13 12:18:18 -04:00
Anuken
186ae4e2a2 why 2020-06-13 12:13:57 -04:00
Anuken
fef4882c15 Turbine generator tweaks 2020-06-13 12:08:03 -04:00
Anuken
c8f2362b7e Merge remote-tracking branch 'origin/master' 2020-06-13 10:54:50 -04:00
Anuken
0869db6eb6 testing to see if Java 14 CI fixes anything 2020-06-13 10:54:47 -04:00
Anuken
8237d901e4 Update gradle.yml 2020-06-13 10:48:59 -04:00
Anuken
f76b349d3f Merge remote-tracking branch 'origin/master' 2020-06-13 10:42:18 -04:00
Anuken
d7fcb65b4e CI test 2020-06-13 10:42:14 -04:00
Anuken
8769b9bf0e CI test 2020-06-13 10:41:59 -04:00
Anuken
dc8cb09013 Update gradle.yml 2020-06-13 10:40:50 -04:00
Anuken
348b379490 Update gradle.yml 2020-06-13 10:38:42 -04:00
Anuken
0601a2a90b Update gradle.yml 2020-06-13 10:36:24 -04:00
Anuken
bb7da46301 Merge remote-tracking branch 'origin/master' 2020-06-13 10:33:26 -04:00
Anuken
3b3a1dd496 Editor map fix / Crafter renderer system 2020-06-13 10:33:19 -04:00
DeltaNedas
e025f94200 make FPS/Ping and position untouchable (#2159) 2020-06-12 21:32:19 -04:00
Anuken
27522ae494 Icon generation improvements 2020-06-12 19:41:06 -04:00
Anuken
2bd3bc0e13 Reconstructor fixes 2020-06-12 18:41:35 -04:00
Anuken
d85a7338ea Batch cleanup 2020-06-12 17:20:50 -04:00
Anuken
a47e300297 Cleanup 2020-06-12 14:57:57 -04:00
Anuken
a76cb3cb1a Scrapped reaper segments 2020-06-12 13:32:00 -04:00
Anuken
ce9f515543 Fallback atlas / Bugfixes / Cleanup 2020-06-11 15:25:46 -04:00
Anuken
1e954dc2be Cleanup 2020-06-11 14:09:06 -04:00
Anuken
e247b092dc cleaning up mistakes 2020-06-11 13:42:22 -04:00
Anuken
732769524c 🔥🔥🔥 2020-06-11 12:03:27 -04:00
Math2128
917db20e76 Update bundle_fr.properties 2020-06-10 23:10:00 -04:00
Anuken
2a9008f042 Transition to Framebuffer#blit 2020-06-10 21:07:21 -04:00
Math2128
c5df9aa814 Update bundle_fr.properties
Ligne 644: Le jeu ne se met pas en pause pendant que l'on construit, même avec cette option de cocher. En fait, cela met la construction sur pause et attend que l'on appuie sur la touche E (par défaut) pour confirmer la construction. Je trouvais l'ancien nom assez trompeur, et je l'ai donc changer comme cela. 

I'm at line 762
2020-06-10 19:20:31 -04:00
Anuken
6648a9ff1a Cleanup 2020-06-10 19:19:19 -04:00
Anuken
c66c3590b1 Batch cleanup 2020-06-10 17:42:45 -04:00
Anuken
a7bdd6c856 Improved shader preprocessing 2020-06-10 16:58:56 -04:00
Anuken
6ae8247a02 arc 2020-06-10 15:32:14 -04:00
Anuken
2662228bec Use GL3.0 for all platforms 2020-06-10 15:31:43 -04:00
Anuken
2b1bd90dfa Out of atlas space / GL30 progress 2020-06-10 12:55:01 -04:00
Math2128
61d212128a Update bundle_fr.properties
line 709
2020-06-09 23:47:13 -04:00
Anuken
a51a8d7473 Added cool new reconstructors™️ 2020-06-09 23:11:02 -04:00
Anuken
9fbe421905 Sprites 2020-06-09 17:04:38 -04:00
Math2128
778b61914a Update bundle_fr.properties
Correction de quelques fautes de frappe lors des modifications des descriptions des tourelles.
Fixed some typos about turret descriptions.
2020-06-09 14:04:00 -04:00
Anuken
d0565420ef Sprites 2020-06-09 11:08:22 -04:00
Anuken
b346b9114a Updated Gradle 2020-06-09 08:46:28 -04:00
Anuken
99518f4e1d Functioning 5x5 reconstructor 2020-06-08 21:34:08 -04:00
Anuken
6501071510 Cleanup, renaming 2020-06-08 21:03:29 -04:00
Anuken
6dd9369066 Cleanup 2020-06-08 17:31:02 -04:00
Anuken
5be5d11c8e Hash updated 2020-06-08 17:20:43 -04:00
Anuken
8ea28e1ced Seq. 2020-06-08 17:19:47 -04:00
Anuken
87ab895253 Sprites moved 2020-06-08 17:10:55 -04:00
Anuken
43762e82a8 Unit tweaks 2020-06-08 16:33:21 -04:00
Math2128
758b327639 Update bundle_fr.properties
Quelques changements aux descriptions des tourelles pour s'ajuster aux définitions anglaises et dans le but d'homogénéiser les descriptions. Je ne suis pas sur au niveau du Cyclone.
Some changes about the turret descriptions to fit more the english description.
2020-06-08 15:07:50 -04:00
Anuken
bb9855e830 Merge remote-tracking branch 'origin/master' 2020-06-08 11:52:27 -04:00
Anuken
cac6041583 tweaks 2020-06-08 11:52:14 -04:00
Anuken
1f905790e7 kinematic lerp 2020-06-08 11:45:48 -04:00
Anuken
427cf8e594 cleanup 2 2020-06-08 11:06:04 -04:00
Anuken
5c6a155d75 cleanup 2020-06-08 10:57:52 -04:00
EyeOfDarkness
b9ccc528e9 Updated Chaos Array and Eradicator sprites (#2155)
* updated sprite

* lich

* Add files via upload

* Add files via upload

* ground

* Add files via upload
2020-06-08 10:57:02 -04:00
Anuken
4537c4ea57 no IK 2020-06-08 10:46:19 -04:00
Summet
af3423d94a Add newline to contributors file (#2156) 2020-06-08 10:20:59 -04:00
Anuken
5869b7d27e leg 1 2020-06-08 10:03:46 -04:00
Math2128
be50ededcd Update bundle_fr.properties
Because I made typos translating the tutorial
2020-06-07 21:35:00 -04:00
Math2128
f7a7521120 Update bundle_fr.properties
Worked on the « may be subject to a lot of changes» tutorial.
2020-06-07 21:09:40 -04:00
Math2128
5ca1d66755 Update bundle_fr.properties 2020-06-07 20:01:36 -04:00
Anuken
36ce04e8f0 fuse fix 2020-06-07 18:26:45 -04:00
Petr Gašparík
cd1918e337 Czech translation - update with cleanups 2020-06-08 00:00:56 +02:00
Petr Gašparík
269a92a723 Merge branch 'master' of https://github.com/Anuken/Mindustry into v105 2020-06-07 23:56:42 +02:00
Anuken
06f3e8ca7a Merge remote-tracking branch 'origin/master' 2020-06-07 17:22:25 -04:00
Anuken
210971fedb Bugfixes 2020-06-07 17:22:17 -04:00
Summet
66f7198c7c [Small Fix] Cursor On Enemy Block. (#2152)
* cursor fix

* mistake
2020-06-07 14:56:41 -04:00
Anuken
6c00b2a0ff Merge remote-tracking branch 'origin/master' 2020-06-07 14:17:46 -04:00
Anuken
42a6b0e369 Unit cleanup 2020-06-07 14:17:42 -04:00
Math2128
68cfd1790a Update bundle_fr.properties
Line 633
2020-06-07 13:44:12 -04:00
LOGISTICAL NIGHTMARE
465a8af03e add Chaotic-Neutral to Community Server List (#2144) 2020-06-07 13:30:41 -04:00
Anuken
8993c1db04 Fixed editor crash 2020-06-07 13:28:22 -04:00
Anuken
9574f742e1 Eruptor legs 2020-06-07 11:15:25 -04:00
Anuken
fb9670d0ad Merge remote-tracking branch 'origin/master' 2020-06-07 09:58:36 -04:00
Anuken
737e32e447 Bugfixes 2020-06-07 09:58:29 -04:00
키에르
09d42773a6 Match 69d0751e65 2020-06-07 22:29:03 +09:00
키에르
b9b57f7908 Finish 2020-06-07 22:03:43 +09:00
Math2128
409cc219f1 Update bundle_fr.properties
Line 476
2020-06-07 00:45:57 -04:00
Anuken
c479a3482d Update CONTRIBUTING.md 2020-06-06 22:36:19 -04:00
Anuken
bf125c92d3 Merge remote-tracking branch 'origin/master' 2020-06-06 17:15:12 -04:00
Anuken
b4cecbc3b9 Plastanium laser blocking 2020-06-06 17:15:08 -04:00
Math2128
f940f96a14 Update bundle_fr.properties
Fixed some more typos and added a few translation lines (259 to 462)
2020-06-06 15:16:02 -04:00
ThePythonGuy
f81529c005 Reduce the screen shake generated by salvos (#2148)
It becomes very difficult to try and build things precisely around salvos, specifically in attack maps, because they shoot very fast and cause a lot of camera shake, which makes very difficult to place conveyors or turrets around them.
2020-06-06 14:03:10 -04:00
Anuken
182d8e2daf Bugfixes 2020-06-06 12:55:21 -04:00
Anuken
0f76aeba05 More intelligent suicide units / Bugfixes 2020-06-06 11:36:14 -04:00
Anuken
1e3a190d5a Balance 2020-06-06 09:33:25 -04:00
Anuken
93fe794f63 Sprite tweaks 2020-06-05 22:38:41 -04:00
Anuken
890e84ab62 Somewhat functional base building AI 2020-06-05 22:38:27 -04:00
Anuken
65e94850ca Sprite tweaks 2020-06-05 20:59:30 -04:00
Anuken
28fb6a7d2a Merge remote-tracking branch 'origin/master' 2020-06-05 20:41:12 -04:00
Anuken
0b4de1a4fa Foundation for building AI 2020-06-05 20:41:05 -04:00
EyeOfDarkness
305c19496e Updated Segment and Lich sprite (#2143)
* updated sprite

* lich
2020-06-05 20:39:58 -04:00
Anuken
685f915656 Various fixes 2020-06-05 18:03:57 -04:00
Anuken
1ef546b578 Base tweaks 2020-06-05 16:42:52 -04:00
Anuken
50422aaac5 Base bugfixes 2020-06-05 16:33:55 -04:00
Anuken
597d58e843 Power network base support 2020-06-05 14:23:57 -04:00
Anuken
b3ff616af2 Better generation 2020-06-05 13:42:48 -04:00
Anuken
cf02a75846 Support for schematic random rotation 2020-06-05 13:23:24 -04:00
Math2128
fa665468d3 Update bundle_fr.properties
Fixed some typos here and there (line 1 to 258)
2020-06-05 12:02:56 -04:00
Anuken
d9e05907af Basic schematic based generation 2020-06-05 10:45:57 -04:00
Anuken
17b1eaf1b6 Merge remote-tracking branch 'origin/master' 2020-06-04 14:50:16 -04:00
Anuken
803f9e8eb6 Made save format support removed blocks 2020-06-04 14:50:08 -04:00
키에르
733713c9a2 Features for Hub/Lobby Servers (#2136)
* Features for Hub/Lobby Servers

* Update NetworkIO.java

* upper
2020-06-04 11:10:03 -04:00
Anuken
f112226178 Direct block payload pickup 2020-06-04 10:19:25 -04:00
Anuken
95354f6d11 Slight balancing of turrets/ammo 2020-06-04 09:32:00 -04:00
Ali-C-Ila
0e7c70fe3c Update bundle_zh_TW.properties 2020-06-04 18:44:30 +08:00
soytheLB
d2d0be7759 Update bundle_es.properties
added line 275 respawn
changed  waves.boss to waves.guardian

added bar.units
removed bar.
2020-06-04 05:16:04 -03:00
Anuken
c25ea81926 Better UI for certain dialogs 2020-06-03 22:40:43 -04:00
Anuken
5bcaed54c6 3x3 separator 2020-06-03 19:42:42 -04:00
Anuken
45c2cd7ac3 Large overdrive projector 2020-06-03 17:23:45 -04:00
Anuken
6fff4ad8a1 Point defense blocks 2020-06-03 16:22:07 -04:00
Anuken
3d98de34eb Thermal -> AttributeSmelter 2020-06-03 12:19:27 -04:00
Anuken
9b65151718 Merge remote-tracking branch 'origin/master' 2020-06-03 12:11:47 -04:00
Anuken
3c89ccf7c3 Added silicon crucible 2020-06-03 12:11:40 -04:00
AydenRennaker
973dc5fe3e Add Atanner Gaming Survival Server (#2133)
Seems like there is a lot of interest in the survival game mode so we want to add a new survival exclusive server.
2020-06-03 10:57:44 -04:00
Anuken
b786260f89 Save last github mod imported 2020-06-03 10:57:24 -04:00
Anuken
7f6dcbd75a Cleanup 2020-06-03 01:27:40 -04:00
Anuken
0382d40dcc Payload router 2020-06-03 01:13:44 -04:00
Anuken
140e1fa53e 🚮Upgrade cleanup 2020-06-02 23:45:39 -04:00
Anuken
34568f12d6 🚮 2020-06-02 23:01:47 -04:00
Anuken
c7bfba7a23 Merge remote-tracking branch 'origin/master' 2020-06-02 22:09:54 -04:00
Anuken
5e7d9f8119 Awful enemy base generation 2020-06-02 22:09:41 -04:00
키에르
86b769bd27 Remove kr server (#2134) 2020-06-02 19:00:43 -04:00
Anuken
789cc3cdb9 Launch animation 2020-06-01 23:17:55 -04:00
Anuken
69d0751e65 Cleanup 2020-06-01 18:55:19 -04:00
Anuken
68f1efdbdd Sector launch impl 2020-06-01 16:00:36 -04:00
Anuken
ba788bac7a Planet rendering refactoring 2020-06-01 13:55:52 -04:00
Anuken
b314e38c0e Cleanup 2020-06-01 12:57:27 -04:00
Anuken
bb6230966f Fixed #2131 2020-06-01 12:54:46 -04:00
Anuken
e2d016f318 Merge remote-tracking branch 'origin/master' 2020-06-01 11:12:17 -04:00
Anuken
8273198c56 Bugfixes 2020-06-01 11:12:06 -04:00
zethnest
0c6b7aa934 fix export icon (#2130) 2020-06-01 09:05:49 -04:00
zethnest
b6c0e92c2c readability and redundant (#2129) 2020-05-31 22:56:23 -04:00
Anuken
d984862c69 Merge remote-tracking branch 'origin/master' 2020-05-31 20:16:39 -04:00
Anuken
5b4a22e219 Implemented #1329 2020-05-31 20:16:32 -04:00
Anuken
6a24a82345 Update bug_report.md 2020-05-31 18:12:44 -04:00
Anuken
23b2170c66 Update config.yml 2020-05-31 18:11:07 -04:00
Anuken
f6f0d6c1be Delete feature_request.md 2020-05-31 18:10:29 -04:00
Anuken
3cc89156a7 Create config.yml 2020-05-31 18:10:16 -04:00
Anuken
8598b0a23a Fixed bizzare planet render bugs 2020-05-31 16:45:03 -04:00
Anuken
bd349803d3 Moved some blocks around 2020-05-31 14:39:10 -04:00
Anuken
0842c3f0a0 Progress on sector state 2020-05-30 21:04:41 -04:00
Anuken
8a4824e72d Fixed compilation 2020-05-30 12:14:24 -04:00
Anuken
e1dfb68cfd Preparation for moving planet dialog 2020-05-30 12:12:04 -04:00
Anuken
73b25c103c Merge remote-tracking branch 'origin/master' 2020-05-30 12:11:11 -04:00
Anuken
d988b4b5c9 Method refactoring / Cleanup 2020-05-30 12:11:00 -04:00
AydenRennaker
30af729f93 Add Atanner Gaming Mindustry Attack Server (#2128)
Lot of interest in this game mode decided to add another server to support it.
2020-05-30 09:22:09 -04:00
Anuken
8d0486d425 Fixes wave being an item turret for some reason 2020-05-30 09:06:39 -04:00
Ali-C-Ila
95ade7f32a Update bundle_zh_TW.properties 2020-05-30 19:48:14 +08:00
Anuken
9e7a97b780 Minor fixes 2020-05-29 20:47:00 -04:00
Anuken
b08eafc78e Revenant 2020-05-29 20:08:23 -04:00
Anuken
42252fa217 Updated travis build-tools 2020-05-29 14:08:36 -04:00
Anuken
be5ba03142 Cleaned up schematic dialog code 2020-05-29 14:01:27 -04:00
Anuken
35679925d2 Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-05-29 13:58:57 -04:00
Anuken
780c4208bb Cleanup 2020-05-29 13:58:53 -04:00
zethnest
b3590134ab [QOL] Search Ignore Symbols (#2079)
* autofocus implementation

* fuzzy match schematic search implementation

* enter to select first schematic implementation

* fix duplicate variable

fix setting check

* no fuzzy match

* Update SchematicsDialog.java

useless t.update

* fix no schematic match
2020-05-29 13:58:44 -04:00
Anuken
d851a09944 Cleanup 2020-05-29 13:52:42 -04:00
Anuken
5275599baf Removed player damage/speed rules
these didn't work anyway, since units are player-controlled
2020-05-29 13:49:29 -04:00
Anuken
402fe88cf6 Bugfixes / Direct payload support 2020-05-29 10:44:08 -04:00
Anuken
a89d2025e3 Merged some turret classes 2020-05-29 09:59:08 -04:00
Anuken
a7f86b2ba6 Cleanup 2020-05-28 21:13:25 -04:00
Anuken
c5c8d646f7 Cleanup 2020-05-28 12:16:35 -04:00
Anuken
fbc2d13435 Bugfixes 2020-05-28 12:13:06 -04:00
Anuken
ed795076f0 Dynamic pathfinding 2020-05-28 11:27:42 -04:00
Petr Gašparík
5119959b0f Merge branch 'master' of https://github.com/Anuken/Mindustry into v105 2020-05-28 08:23:37 +02:00
Anuken
638343d25e Variable mass driver bullets 2020-05-27 19:57:07 -04:00
Anuken
55f0aa6d3b Bugfixes 2020-05-27 18:23:20 -04:00
Anuken
49c7984c8c Merge remote-tracking branch 'origin/master' 2020-05-27 18:11:45 -04:00
Anuken
92d265402b Payload support 2020-05-27 18:11:42 -04:00
Petr Gašparík
6a8d66c169 Merge branch 'master' of https://github.com/Anuken/Mindustry into v105 2020-05-27 15:41:18 +02:00
zethnest
0d0450e3d1 Icon.upload for schematic upload (#2116) 2020-05-26 22:58:53 -04:00
Anuken
bcadcb18bc Merge remote-tracking branch 'origin/master' 2020-05-26 22:04:20 -04:00
Anuken
da2a8aaf26 this is necessary again 2020-05-26 22:03:40 -04:00
Anuken
aaf7911735 Fixed weather not triggering serverside 2020-05-26 20:03:03 -04:00
Anuken
a375dd3fc2 Cleanup 2020-05-26 19:39:50 -04:00
Petr Gašparík
645e66fe71 Czech translation - color correction 2020-05-26 22:20:15 +02:00
Anuken
ddb3afc255 Cleanup 2020-05-26 13:20:08 -04:00
Anuken
5c4ce00dec Sprites 2020-05-26 13:00:20 -04:00
Anuken
a7c7295893 Various tweaks 2020-05-26 12:59:05 -04:00
Anuken
c1d4a4851f Better leg sprite support 2020-05-26 10:57:02 -04:00
Petr Gašparík
671162e700 Czech translation - type 2020-05-26 13:43:35 +02:00
Petr Gašparík
6ccc555047 Czech translation - Steam update 2020-05-26 13:37:43 +02:00
Petr Gašparík
34d9193cd8 Merge branch 'master' of https://github.com/Anuken/Mindustry into v105 2020-05-26 13:33:21 +02:00
Anuken
90f38fd135 Cleanup 2020-05-25 23:56:03 -04:00
Anuken
39e3ae931c more legs 2020-05-25 22:19:31 -04:00
Anuken
60684b4ef9 Legs -> Mech 2020-05-25 16:41:55 -04:00
Anuken
08af9aaa02 Replacement method bugfixes 2020-05-25 15:41:07 -04:00
Anuken
aae6d2038b Payload API changes 2020-05-25 15:03:31 -04:00
Anuken
732d90635f Removed pad sprites 2020-05-25 14:36:52 -04:00
Anuken
9292f62a20 Merge remote-tracking branch 'origin/master' 2020-05-25 14:36:45 -04:00
Anuken
1ae9d04f47 Experimental: block loader/unloaders 2020-05-25 14:36:40 -04:00
Summet
803b5328f5 show restricted build area when using schematic (#2109) 2020-05-25 13:25:31 -04:00
asl97
56afe6a10b Hide "Boost Effect" when liquidBoostIntensity == 1 (#2108) 2020-05-25 13:03:43 -04:00
Ali-C-Ila
d636242b6f Update bundle_zh_TW.properties 2020-05-25 18:37:57 +08:00
Petr Gašparík
b2382ac429 Czech translation - up to date! 2020-05-25 10:25:21 +02:00
TheJaaju
de42cd6250 Update bundle_fi.properties
- Fixed typos
- Added translations
2020-05-25 10:52:44 +03:00
Anuken
0e59a22cbe Respawn key 2020-05-24 22:27:14 -04:00
Anuken
e8869c07fe Removed respawn time rule 2020-05-24 17:05:31 -04:00
Anuken
3051598b92 Various sync fixes 2020-05-24 17:01:17 -04:00
Anuken
d202c6ebdd Hide block types 2020-05-24 15:42:14 -04:00
Anuken
e16aa5a74a Sync progress 2020-05-24 15:38:40 -04:00
Anuken
7c06ba94c1 Autogenerated interpolation 2020-05-24 14:00:53 -04:00
Anuken
1acb5fc56c Manual turret control 2020-05-24 10:11:28 -04:00
Anuken
503b947fb7 Sprite tweaks 2020-05-24 08:38:47 -04:00
Anuken
65f63fd4d2 Re-added Tau 2020-05-23 21:53:11 -04:00
Anuken
df08498d70 Bugfixes 2020-05-23 19:14:48 -04:00
Anuken
46bc2207ff Initial reconstructor impl 2020-05-23 18:49:28 -04:00
Anuken
d8ee862125 Functional payload factories 2020-05-23 11:53:49 -04:00
Anuken
39b0051b73 Directional unit factories (unfinished) 2020-05-23 10:39:44 -04:00
Anuken
f250008db3 Cleanup 2020-05-22 20:00:02 -04:00
Anuken
76aa201a99 Name changes / Bugfixes 2020-05-22 17:37:38 -04:00
Anuken
12d9479184 Added dart as default starter 2020-05-22 14:35:25 -04:00
Anuken
795bd84d06 Fixed multiplayer 2020-05-22 11:06:56 -04:00
Anuken
598c7235b4 Merge remote-tracking branch 'origin/master' 2020-05-22 09:37:22 -04:00
Anuken
46d15e0aab Auto-despawn core units 2020-05-22 09:37:19 -04:00
zethnest
8e0fa30439 [QOL] Search Schematic (#2089)
* autofocus implementation

* enter to select first schematic implementation

* fix undeclared variable

* fix import
2020-05-22 09:37:08 -04:00
Anuken
88608b3f88 Added support for server pausing 2020-05-21 22:55:40 -04:00
Anuken
c980e72f52 Fixed homing PR 2020-05-21 21:17:34 -04:00
Anuken
807d7c2084 Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-05-21 21:15:44 -04:00
Anuken
b683c3f8d5 ... 2020-05-21 21:15:39 -04:00
MEEP of Faith
c07c872ad5 Homing Power Functionality (#2096)
Homing Power should probably actually affect how strong homing is.
2020-05-21 21:15:13 -04:00
Anuken
4787a68a08 Cleanup 2020-05-21 19:20:37 -04:00
Anuken
55effc54bb Fixed compilation errors 2020-05-21 16:59:38 -04:00
Anuken
c225291790 a r c 2020-05-21 16:53:30 -04:00
Anuken
14e79b50d2 Removed legacy IO code 2020-05-21 16:50:49 -04:00
Anuken
61d9fd3d72 Cleanup / Armor support 2020-05-21 14:57:15 -04:00
Anuken
b562c30381 Merge remote-tracking branch 'origin/master' 2020-05-21 11:04:59 -04:00
Anuken
684b84310b Balancing 2020-05-21 11:04:48 -04:00
zethnest
1c9ad2266d fix lowercase colorname (#2094) 2020-05-21 09:32:48 -04:00
Ali-C-Ila
ee288fbd3b Update bundle_zh_TW.properties 2020-05-21 20:32:37 +08:00
Izzat Nasrun
196a79a10c togglable in settings.game
fix zoom independency
2020-05-21 12:26:20 +08:00
Anuken
42ba97f872 Bugfixes 2020-05-20 20:28:52 -04:00
Anuken
5b445c59c1 Implemented ground mech boosting 2020-05-20 18:48:04 -04:00
Anuken
78f24b8840 Support for wave shields 2020-05-20 17:16:18 -04:00
Izzat Nasrun
f598ccb79b remove unnecessary imports 2020-05-21 04:49:46 +08:00
Izzat Nasrun
befae9a7c2 center map to player when opened implementation 2020-05-21 04:46:22 +08:00
Anuken
dc58626602 Removed zone files 2020-05-20 14:11:40 -04:00
Anuken
e8eecf8a1f Merge remote-tracking branch 'origin/master' 2020-05-20 13:56:23 -04:00
Anuken
aa19c80567 Targeting bugfixes 2020-05-20 13:56:17 -04:00
zethnest
7030f69bc6 Chat on Minimap Implementation (#2092)
* chat on minimap implementation

* add braces
2020-05-20 11:34:49 -04:00
Anuken
daa80955ac Update CONTRIBUTING.md 2020-05-20 11:34:00 -04:00
Anuken
611115e55b Better flying unit support 2020-05-19 21:19:04 -04:00
Anuken
371debceb7 Unit tweaks 2020-05-19 21:06:07 -04:00
Anuken
31e2e05e30 Merge remote-tracking branch 'origin/master' 2020-05-19 21:05:41 -04:00
Anuken
1bc7454146 Unit tweaks 2020-05-19 21:05:34 -04:00
Przemyslaw Paluch
f1ff904b66 More updates for Polish translation + provided Polish changelogs for 104.3+ versions for Android (#2088)
* Fixed typos in Polish translation

* Update Polish translation + provide changelogs for latest versions in Polish
2020-05-19 20:06:22 -04:00
Anuken
945be0c524 Various tweaks 2020-05-19 17:49:25 -04:00
Anuken
4edd024015 Merge remote-tracking branch 'origin/master' 2020-05-19 14:58:08 -04:00
Anuken
77c0163a79 Re-implemented some units / Bugfixes 2020-05-19 14:58:04 -04:00
Przemyslaw Paluch
0af1e549f8 Fixed typos in Polish translation (#2083) 2020-05-18 20:24:21 -04:00
Anuken
8c6e8d8bcb Merge remote-tracking branch 'origin/master' 2020-05-18 20:17:06 -04:00
Anuken
c3ad3a9823 Lock state implementation 2020-05-18 20:17:02 -04:00
zethnest
e63053f0f0 fix lowercase colorname (#2082) 2020-05-18 19:25:34 -04:00
Anuken
a9ece49c0d Shale biome implementation 2020-05-18 17:25:50 -04:00
Anuken
530ff9761b Fixed core selection in preset sectors 2020-05-18 15:38:56 -04:00
Anuken
a12ff624e5 ??? 2020-05-18 11:12:07 -04:00
Ali-C-Ila
255edd94f8 Update bundle_zh_TW.properties 2020-05-18 23:11:18 +08:00
Anuken
dcbe4072dc ??? 2020-05-18 11:10:56 -04:00
Anuken
3784251108 Initial support for arbitrary types of content in tech tree 2020-05-18 09:40:38 -04:00
Anuken
f290f688d0 Merge remote-tracking branch 'origin/master' 2020-05-18 08:46:09 -04:00
Anuken
b05a10b114 Crash fix 2020-05-18 08:46:05 -04:00
zethnest
dafe629c1d fix coloring (#2077) 2020-05-18 08:37:10 -04:00
Anuken
12174bcdbf Native fixes 2020-05-17 22:22:37 -04:00
Anuken
4254de01e4 Bugfixes 2020-05-17 16:17:08 -04:00
Anuken
7b3a5ad227 Functional presets 2020-05-17 13:07:46 -04:00
Anuken
d9751dbc6d Sector preset support / Per-player votekick cooldown 2020-05-17 11:12:22 -04:00
Anuken
9a32b1a35a Merge remote-tracking branch 'origin/master' 2020-05-17 08:58:39 -04:00
Anuken
4ce15416fb Fixed #2071 (in arc) 2020-05-17 08:58:35 -04:00
zethnest
4bb7d007f8 Schematic Drill Indicator (#2069)
* schematic drill indicator

* temp comment clarity

* more implementations

* implementation as suggested Anuke

implementation as suggested Anuke

* Update core/src/mindustry/world/blocks/production/Drill.java

Co-authored-by: Anuken <arnukren@gmail.com>

* suggested check & fix display

Co-authored-by: Anuken <arnukren@gmail.com>
2020-05-17 08:49:02 -04:00
키에르
3a62bfa8ce Update bundle_ko.properties 2020-05-17 16:07:21 +09:00
Anuken
7ffc170b76 Merge remote-tracking branch 'origin/master' 2020-05-16 22:44:45 -04:00
Anuken
a796fc1dce various tweaks 2020-05-16 22:44:41 -04:00
Neba-MD
44f826cc14 Add TWS (Hong Kong server) to server.json (#2070)
- A Co-op server based in Hong Kong.
- The server is also known as (ggg.sytes.net), renamed the domain name for easier identification
- Been stable and regularly maintained since 4 Feb.
- Have moderators across different timezone.
- Map pool focused on uniqueness.
2020-05-16 19:21:58 -04:00
Anuken
23b431acae Sector fixes 2020-05-16 17:02:43 -04:00
Anuken
2b46659daf Turn notification 2020-05-16 16:40:24 -04:00
Anuken
bdbc8ab6d2 Many campaign changes 2020-05-16 16:11:53 -04:00
키에르
d61da30c15 Update bundle_ko.properties 2020-05-17 02:05:33 +09:00
Anuken
d110fe5ea3 Removed usage of Core.settings#save 2020-05-16 10:23:06 -04:00
Anuken
d390484ea4 Fixed #2067 2020-05-16 09:02:07 -04:00
Anuken
6938c69d97 Minor planet dialog polish 2020-05-15 22:24:01 -04:00
Anuken
4c85864260 Direction bugfixes 2020-05-15 20:10:03 -04:00
Anuken
1cefaf28db Edge tweaks 2020-05-15 19:59:42 -04:00
Anuken
381df23bf2 Fixed #2066 2020-05-15 19:54:04 -04:00
Anuken
6a0dc4c965 fixed gradle messing everything up again 2020-05-15 17:42:59 -04:00
Anuken
94651897b2 Tweaks 2020-05-15 16:21:47 -04:00
Anuken
bc28dd392b Bugfixes / Built-in rate limits 2020-05-15 15:45:23 -04:00
Anuken
9f20de427e Bugfix 2020-05-15 11:11:03 -04:00
Anuken
b68e0a8562 Turn logic / Cross-sector production / Pad tweaks 2020-05-15 11:03:21 -04:00
GioIacca9
898c07c4af Minor changes 2020-05-15 16:21:39 +02:00
Anuken
603cb4295a Tweaks 2020-05-15 00:11:50 -04:00
Anuken
931882fb6a arc 2020-05-14 23:23:36 -04:00
Anuken
b84ec4ff8e Merge remote-tracking branch 'origin/master' 2020-05-14 23:16:34 -04:00
Anuken
434a754c9a Better pad animations / Balancing 2020-05-14 23:16:26 -04:00
sk7725
8c501fa10b [KO] Small Revert (#2059)
Readd translator credits(Kieaer said he removed it temporarily, and also https://discord.com/channels/391020510269669376/395414970793459714/710497552071655484)
2020-05-14 22:00:24 -04:00
Anuken
a4987f864f Refactoring / Launch pad tweaks 2020-05-14 22:00:04 -04:00
Anuken
3fd677b3e6 Merge remote-tracking branch 'origin/master' 2020-05-14 17:40:57 -04:00
Anuken
6d23963e98 Entity IO fixes 2020-05-14 17:40:49 -04:00
Anuken
759068b82a Update bug_report.md 2020-05-14 17:36:53 -04:00
Anuken
12f4d5a9a4 Save on exit 2020-05-14 15:18:04 -04:00
Anuken
d54d8a25af Added shield effects 2020-05-14 12:07:33 -04:00
Olexandr Nesterenko
b99dba808e Merge branch 'master' into patch-2 2020-05-14 08:54:42 +03:00
Olexandr Nesterenko
89f3511082 Update bundle_uk_UA.properties 2020-05-14 08:53:13 +03:00
Anuken
a06f6f0b2d Refactoring 2020-05-13 22:29:27 -04:00
Anuken
6e62936458 Refactoring 2020-05-13 18:11:28 -04:00
Anuken
e64122bbbb Moved MessageBlock
it *technically* stores text
2020-05-13 17:07:47 -04:00
Anuken
8abe6c4270 Merge remote-tracking branch 'origin/master' 2020-05-13 17:05:10 -04:00
Anuken
04dc701c25 Various campaign-related tweaks 2020-05-13 17:04:59 -04:00
zethnest
2dfa334ba6 Lowercases ColorNames (#2053)
* lowercase colornames

* change yellow to accent
2020-05-13 14:38:26 -04:00
ian
b758b69243 Partially add to and fix swedish translations (#2052) 2020-05-13 14:37:05 -04:00
Anuken
c432639dfa Bugfixes 2020-05-12 21:41:45 -04:00
Anuken
ab49825d35 Merge remote-tracking branch 'origin/master' 2020-05-12 21:34:40 -04:00
Anuken
6a22d45320 Prototype unit cap mechanic 2020-05-12 21:34:27 -04:00
Summet
fea5142955 Replaced all upper-case colors to lower-case (#2044) 2020-05-12 20:03:35 -04:00
Alberto Galera
4910afbc82 Fix translation typo (#2045)
* Fix translation typo

* typo
2020-05-12 20:03:23 -04:00
Anuken
2990013b8e Updated Gradle 2020-05-12 12:49:26 -04:00
Anuken
c3524794c6 Arc 2020-05-12 12:32:53 -04:00
Anuken
fe9df51721 Upgraded to 'implementation' / 'api' 2020-05-12 12:31:09 -04:00
Anuken
0663d8067a Merge remote-tracking branch 'origin/master' 2020-05-12 09:41:12 -04:00
Anuken
27ffefa0cd Added sprites 2020-05-12 09:41:07 -04:00
zethnest
3c4c046e1f align opacity check with ItemBridge (#2036)
* align opacity check with ItemBridge

* align opacity check with ItemBridge
2020-05-12 09:38:27 -04:00
Anuken
f6d8658ee2 Fixed #2040 / Fixed #2039 / Fixed #2038 / Fixed #2037 / Fixed #2035 2020-05-12 09:34:26 -04:00
Anuken
7f3f1d7d76 Merge remote-tracking branch 'origin/master' 2020-05-11 23:40:34 -04:00
Anuken
43642ff546 Bugfixes / Cleanup 2020-05-11 23:40:23 -04:00
sk7725
911424b2e2 Changed [lighthray] to [lightgray] (#2033)
If somehow the color [lighthray] will be added, ignore this pull request!
2020-05-11 21:23:50 -04:00
Anuken
8e50228df2 Merge remote-tracking branch 'origin/master' 2020-05-11 13:20:38 -04:00
Anuken
9cca79adaa Fixed #2032 2020-05-11 13:20:27 -04:00
Lapis
130eee35ec Update bundle_ja.properties (#2029)
* update bundle_ja.properties

* update bundle_ja.properties

* update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* removed experimental tag

* Small fix

* fix typo

* bundle_ja.properties

* Small fix

* Small fix
2020-05-11 10:46:34 -04:00
Olexandr Nesterenko
37c92302f0 Fix build (#2030) 2020-05-11 09:16:43 -04:00
Olexandr Nesterenko
709d3751d1 Update bundle_uk_UA.properties 2020-05-11 12:20:46 +03:00
Olexandr Nesterenko
4545033f12 Update bundle_uk_UA.properties 2020-05-11 11:20:48 +03:00
Anuken
03d0849538 Merge remote-tracking branch 'origin/master' 2020-05-11 00:41:39 -04:00
Anuken
3ea2360290 Removal of unused assets/classes 2020-05-11 00:41:35 -04:00
TheMainOne
a5b235d829 Fixed "Restart required" (#2025) 2020-05-10 22:56:24 -04:00
Lapis
1514f9f7ec Update bundle_ja.properties (#2026)
* update bundle_ja.properties

* update bundle_ja.properties

* update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* removed experimental tag

* Small fix

* fix typo

* bundle_ja.properties
2020-05-10 22:48:14 -04:00
Summet
289c653574 Gradle shortcut (#2027) 2020-05-10 21:35:25 -04:00
Anuken
a344c1a5d0 Better sun 2020-05-10 19:17:08 -04:00
Anuken
686c451ea6 Minor tweaks 2020-05-10 17:22:13 -04:00
Anuken
c0ea4737fd Merge remote-tracking branch 'origin/master' 2020-05-10 13:58:08 -04:00
Anuken
c7d2be5a7f Selection tweaks 2020-05-10 13:58:04 -04:00
Alex Wilson
b09517066f Added Australian Servers (#2005)
https://kbni.net.au/posts/2020/05/04/australian-mindustry-servers/
2020-05-10 13:37:13 -04:00
Anuken
07701f8c01 Merge remote-tracking branch 'origin/master' 2020-05-10 13:34:57 -04:00
Anuken
2cb9cfb097 Cleanup 2020-05-10 13:34:52 -04:00
DLJ-345
11d2ed06cd Update bundle_fi.properties (#2020) 2020-05-10 12:27:44 -04:00
Summet
c62a87e81a Deleting a block in the editor by right-clicking (#2021)
* Deleting a block in the editor by right-clicking

* Small fix

Co-authored-by: Anuken <arnukren@gmail.com>

Co-authored-by: Anuken <arnukren@gmail.com>
2020-05-10 10:44:54 -04:00
Anuken
dabc891791 Cleanup 2020-05-10 10:37:36 -04:00
Anuken
0adc2811bb Bugfixes 2020-05-10 09:14:13 -04:00
Anuken
d6412bf19c Static cleanup 2020-05-09 22:25:19 -04:00
Anuken
fce89d4db5 Fixed #2015 2020-05-09 22:24:13 -04:00
Anuken
1fdd9dd124 Merge remote-tracking branch 'origin/master' 2020-05-09 16:29:07 -04:00
Anuken
f0d2f7b728 "grabage struct" 2020-05-09 16:29:01 -04:00
Lapis
53d60e9cf6 Update bundle_ja.properties (#2013)
* update bundle_ja.properties

* update bundle_ja.properties

* update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* removed experimental tag

* Small fix

* fix typo
2020-05-09 10:21:34 -04:00
Anuken
bc658f9f45 Synced weather 2020-05-08 21:55:40 -04:00
Anuken
95a1d84eb9 Support for weather in rules / Sector weather 2020-05-08 21:51:17 -04:00
Anuken
d7eb365446 Merge remote-tracking branch 'origin/master' 2020-05-08 20:22:16 -04:00
Anuken
8d5cd7b814 Serialization that makes more sense 2020-05-08 20:22:11 -04:00
valtsu41
dcaf0dded5 Better zone naming in finnish (#2008) 2020-05-08 18:28:20 -04:00
cinnx
21e446e6f0 Update bundle_pl.properties (#2010)
updated, fixed and translated some phrases.
thanks @Kubek0212 for reporting old description of power nodes ❤
2020-05-08 16:43:11 -04:00
Anuken
aab97fefc8 Fixed puddles not appearing / Overdrive tweaks
- Bridges, routers and junctions can (probably) be overdrived now, untested
2020-05-08 16:41:59 -04:00
Anuken
bcec6261d1 Added rain, better snow implementation 2020-05-08 16:13:49 -04:00
Anuken
cda3c3743b Merge remote-tracking branch 'origin/master' 2020-05-08 09:30:48 -04:00
Anuken
4f3cf9466e Less water 2020-05-08 09:30:40 -04:00
laohuaji233
e5e325b25b Update bundle_zh_CN.properties (#2007) 2020-05-08 09:20:44 -04:00
MEEP of Faith
739ce75154 Customizable Fragging Angle (#2006)
* Customizable Fragging Angle

* I did it wrong.

* Undo that last change.

* Anuke told me to make it just forwards

* Thanks Anuke

My inexperience is very evident.
2020-05-07 21:53:00 -04:00
Anuken
d94427b4ee Updated version info 2020-05-07 21:46:26 -04:00
Anuken
639738754a Removed startup dialog 2020-05-07 21:40:18 -04:00
Anuken
372b1311f7 Merge remote-tracking branch 'origin/master' 2020-05-07 21:37:54 -04:00
Anuken
2b9d618bd2 Implemented various suggestions
- Pathfinding weighs walls more
- C disables all HUD
- Unloader doesn't store items
- Some bugfixes
2020-05-07 21:37:41 -04:00
Lapis
1fd22f6d10 Small fix bundle_ja.properties (#1992)
* update bundle_ja.properties

* update bundle_ja.properties

* update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* removed experimental tag

* Small fix
2020-05-07 20:17:29 -04:00
TheSlaylord
a0c747407f Update bundle_ru.properties (#2004)
Removed experimental tag
2020-05-07 20:17:21 -04:00
Anuken
2ca7f553bb Native fixes 2020-05-07 16:55:45 -04:00
Anuken
128c3625e2 fixed incorrect property 2020-05-07 14:35:24 -04:00
Anuken
d51a8611c3 Better exception output 2020-05-07 14:33:01 -04:00
Anuken
047652154e Cleanup 2020-05-07 14:08:27 -04:00
Anuken
542555d721 Merge remote-tracking branch 'origin/master' 2020-05-07 14:05:31 -04:00
Anuken
6ea8a0f583 cleanup 2020-05-07 14:04:58 -04:00
Anuken
561e94617c Better screen res support 2020-05-07 14:04:22 -04:00
Anuken
5aa2860fa4 Mobile support 2020-05-07 12:51:52 -04:00
Patrick 'Quezler' Mounier
018ef5daf4 Change baseunit pred variable from b to u (#2002) 2020-05-07 11:28:42 -04:00
Patrick 'Quezler' Mounier
8a48a8bf3d Fix only the output of the last chat filter mattering (#1997) 2020-05-07 09:41:16 -04:00
Anuken
5aec051d9b progress 2020-05-06 19:07:37 -04:00
Anuken
8b5adca750 Early prototype loading screen 2020-05-05 23:01:12 -04:00
AydenRennaker
98f012feb8 Update servers.json (#1989)
* Update servers.json

* added a record to server name.

Server has moderation, logging of user actions with /history, custom maps. Ready for players.
2020-05-05 14:46:53 -04:00
Anuken
346ac88009 Merge remote-tracking branch 'origin/master' 2020-05-05 14:28:51 -04:00
Anuken
07074046e6 Cleanup 2020-05-05 14:28:37 -04:00
LFlicker
735187e78a Update bundle_ko.properties (#1986)
* Update bundle_ko.properties

Typo correction

* Update bundle_ko.properties

* Update bundle_ko.properties

Typo Correction
2020-05-05 11:06:32 -04:00
Anuken
4161698bb8 Removed quote requirement for events 2020-05-04 18:05:47 -04:00
Anuken
a4bd1dcc6d Mod event support 2020-05-04 17:57:08 -04:00
Anuken
8876c673f7 Bullet fix 2020-05-04 17:06:53 -04:00
Anuken
40bb0ddf39 Cleanup / Updated arc 2020-05-04 12:08:02 -04:00
Anuken
25178d0531 Merge remote-tracking branch 'origin/master' 2020-05-04 10:58:04 -04:00
Anuken
ea2adbd63b Editor fixes 2020-05-04 10:57:57 -04:00
Patrick 'Quezler' Mounier
f10bdbf775 Swap bottom & top liquid block regions (#1982) 2020-05-04 10:07:29 -04:00
Patrick 'Quezler' Mounier
19649104a7 Fix pump ohno liquid texture (#1979) 2020-05-04 10:04:18 -04:00
Patrick 'Quezler' Mounier
8280d11054 Move pump fluid sprite from production to liquid (#1980) 2020-05-04 10:04:00 -04:00
Patrick 'Quezler' Mounier
440226fecc Scale stack conveyor edge regions for requests (#1981) 2020-05-04 10:03:50 -04:00
Koteyka_by
c920902481 Update bundle_be.properties (#1977)
Fix a errors in a translate
2020-05-04 09:09:58 -04:00
Anuken
90505a8e19 Fixed #1978 2020-05-04 09:09:40 -04:00
Anuken
23cb249c19 Possible scroll fix 2020-05-04 08:59:56 -04:00
Anuken
07a4b64b8a Removed unnecessary functional methods / Script cleanup 2020-05-04 00:01:45 -04:00
Anuken
834c15a808 client/server separation 2020-05-03 21:45:46 -04:00
Anuken
bdb1e29c85 Mod packet support 2020-05-03 21:28:51 -04:00
Anuken
becc23ca42 Cleaner formatting 2020-05-03 21:18:25 -04:00
Anuken
45d8188ba4 Fixed tests not compiling 2020-05-03 18:30:18 -04:00
Anuken
bd4f3c039c Merge remote-tracking branch 'origin/master' 2020-05-03 18:14:25 -04:00
Anuken
b399ed1ed6 cleanup 2020-05-03 18:01:56 -04:00
xetrov05
c83ae5d34c Translation to ZH_TW (#1974) 2020-05-03 17:50:57 -04:00
Anuken
ea753f2f83 cleanup 2020-05-03 17:49:21 -04:00
Anuken
85503a7a95 Fixed item bridges 2020-05-03 12:56:14 -04:00
Anuken
80a13237f4 Merge remote-tracking branch 'origin/master' 2020-05-03 12:08:15 -04:00
Anuken
f188fbb567 Config previews 2020-05-03 12:08:11 -04:00
Summet
63d2d32fd8 Update bundle_ru.properties (#1972) 2020-05-03 11:45:41 -04:00
Anuken
de77d80dab Save config when picking blocks 2020-05-03 11:35:58 -04:00
Anuken
5c00ced1e3 Better API for saving block configs 2020-05-03 11:32:46 -04:00
Anuken
8eeb668945 Merge remote-tracking branch 'origin/master' 2020-05-03 10:06:51 -04:00
Anuken
53e7c03730 Enabled flow rates by default 2020-05-03 10:06:47 -04:00
zethnest
9af3cf7a13 double-click disconnect mass driver (#1970) 2020-05-03 09:48:07 -04:00
Anuken
50e8586dc2 cleanup 2020-05-03 00:49:34 -04:00
Anuken
dd68241d1f Bugfixes 2020-05-02 23:15:36 -04:00
Anuken
cb6920b8be Commander unit component 2020-05-02 21:34:37 -04:00
Anuken
dce8b8faa1 Cleanup / Functioning formation 2020-05-02 17:58:12 -04:00
Anuken
3e87fff9db Cleanup 2020-05-02 14:54:01 -04:00
Anuken
b9aa8edf78 Added steering AI classes 2020-05-02 14:13:47 -04:00
Anuken
25f07e7bcb Docs 2020-05-02 12:58:54 -04:00
Anuken
fed4d10ec6 Cleanup 2020-05-02 12:30:29 -04:00
Anuken
fd62125862 Implementation of new region system 2020-05-02 12:28:50 -04:00
Anuken
069d572a97 New region loading system for blocks 2020-05-02 11:47:27 -04:00
Anuken
f9129170a1 Merge remote-tracking branch 'origin/master' 2020-05-02 10:53:52 -04:00
Anuken
342523a7de Fixed #1959 / Indication of selected units 2020-05-02 10:53:48 -04:00
Patrick 'Quezler' Mounier
969eb4c57f Add missing super load call to StackConveyor (#1964) 2020-05-02 10:13:12 -04:00
Ali-C-Ila
e7c3c3f199 Update bundle_zh_TW.properties (#1965)
* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties
2020-05-02 10:13:01 -04:00
Anuken
5f27261cb1 Cleanup of cleanup 2020-05-02 00:52:12 -04:00
Anuken
b9d16d9fd9 Merge remote-tracking branch 'origin/master' 2020-05-02 00:51:49 -04:00
Anuken
ef42f022c7 Cleanup 2020-05-02 00:51:42 -04:00
Lapis
33d9501dd2 Update bundle_ja.properties (#1963)
* update bundle_ja.properties

* update bundle_ja.properties

* update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* removed experimental tag
2020-05-01 23:55:22 -04:00
Anuken
c16c64b049 Trail experiment 2020-05-01 21:15:34 -04:00
Anuken
cc04537355 Merge remote-tracking branch 'origin/master' 2020-05-01 20:38:46 -04:00
Anuken
39f6bc30b7 Unit factory tweaks / AI fixes 2020-05-01 20:38:12 -04:00
MEEP of Faith
9e9776971f I was told I made a mistake (#1962) 2020-05-01 20:32:16 -04:00
키에르
85eb62110d Add kr server (#1951) 2020-05-01 18:29:57 -04:00
MEEP of Faith
9def4eaba4 Unjank Plated Conduit Background Transparency (#1961)
The background transparent part was for some reason 3-6 different colors. Invisible, but still there.
2020-05-01 18:09:39 -04:00
MEEP of Faith
941d2d0f39 Support custom bottom color (#1960)
Should work similarly to flameColor on the GenericSmelter.
2020-05-01 18:08:49 -04:00
Anuken
35bd6a40c5 Better unit factory implementation 2020-05-01 18:07:37 -04:00
Anuken
676ee8beda Merge remote-tracking branch 'origin/master' 2020-05-01 16:49:10 -04:00
Anuken
df63ce411d Cleanup / Removed collision process 2020-05-01 16:48:36 -04:00
Anuken
41754fc100 Minor optimization 2020-05-01 16:46:38 -04:00
Anuken
135b87fdb2 Cleanup, optimization 2020-05-01 16:35:18 -04:00
Anuken
3101fc8056 a performance disaster, part 2 2020-05-01 14:49:58 -04:00
Anuken
64bacea3c7 a performance disaster, part 1 2020-05-01 14:36:33 -04:00
zethnest
1608bfd038 Clear Selection with Double Click (#1958)
* add onConfigureTileTapped method

* code cleanup

* Update ItemSource.java

Co-authored-by: Anuken <arnukren@gmail.com>
2020-05-01 12:30:07 -04:00
키에르
211be67e0e Update bundle_ko.properties (#1948) 2020-05-01 12:24:01 -04:00
Anuken
cdc8d2bfe4 Removed experimental tag 2020-05-01 11:31:25 -04:00
Anuken
c1e1e3c25b Merge remote-tracking branch 'origin/master' 2020-05-01 11:23:44 -04:00
Anuken
e75d1a51a6 More accurate resource display / Server fix 2020-05-01 11:23:36 -04:00
Patrick 'Quezler' Mounier
c0e149f5f3 Finetune itemsmoved stat on stack conveyors (#1954) 2020-05-01 10:17:14 -04:00
DarkenWizMan
f8a24bc3a1 fixed more misspells, added new words (#1956)
unit factory and drone changed to lithuanian counterparts
2020-05-01 10:06:16 -04:00
Anuken
d99946df77 Fixed daggers not shooting 2020-04-30 23:54:04 -04:00
Anuken
07835bb76d arc 2020-04-30 23:16:20 -04:00
Anuken
52a3e17ec5 Natives 2020-04-30 22:56:43 -04:00
Anuken
ea1e137a00 Server physics 2020-04-30 22:10:59 -04:00
Anuken
3b340f7164 Better physics 2020-04-30 22:09:42 -04:00
Anuken
273f4590df Physics 2020-04-30 21:58:48 -04:00
Anuken
8de0ca7d6e Async logic framework, box2D dependencies 2020-04-30 20:03:11 -04:00
Anuken
626a06ca00 Bugfixes / Better titan sprite 2020-04-30 18:21:50 -04:00
Anuken
c5859eb03a Fixed #1947 2020-04-30 17:34:29 -04:00
Anuken
3397557737 Sprites 2020-04-30 16:04:43 -04:00
Patrick 'Quezler' Mounier
a226cd390c Cleanup stack conveyor code (#1946)
- removes now obsolete adhoc boosteffect listing
- clarrify comments a bit more
- monospace align some code
- retexture to avoid shadow conflict
2020-04-30 15:16:19 -04:00
Anuken
d50092e9a2 Merge remote-tracking branch 'origin/master' 2020-04-30 14:46:30 -04:00
Anuken
2dbb099d79 AI tweaks / Control tweaks / Plastanium conveyor tweaks / Unit factories 2020-04-30 14:46:22 -04:00
DarkenWizMan
864d6977ff fixed mispels, added new words (#1945)
Removed some capital letters, because in lithuanian names of things don't have capital letters in all words, only first word (unless each word gets it's own row). I was too unsure if I should change machine name capital letters.
Also changed uncorrectly used words.
Added new words.
NOTE: I haven't looked through all stuff, so, I may have missed something.
2020-04-30 12:34:02 -04:00
Anuken
5887169f90 Cleanup 2020-04-29 19:54:20 -04:00
Anuken
289e8bb394 iOS backend refactoring 2020-04-29 18:44:09 -04:00
Anuken
f4604f2207 Cleanup 2020-04-29 18:36:20 -04:00
Anuken
6b55b64775 arc 2020-04-29 18:32:33 -04:00
Anuken
ec5c060574 Merge remote-tracking branch 'origin/master' 2020-04-29 18:29:27 -04:00
Anuken
b66c1c2649 Many buildscript changes 2020-04-29 18:29:19 -04:00
Ali-C-Ila
d3c9689fff Update bundle_zh_TW.properties (#1940) 2020-04-29 10:21:50 -04:00
bluet-it
7bffc66b3d added incomplete hungarian translation 2020-04-29 15:58:35 +02:00
Anuken
414b538e6b Merge remote-tracking branch 'origin/master' 2020-04-28 19:34:03 -04:00
Anuken
2ee99b3290 Cleanup 2020-04-28 19:33:59 -04:00
TheSlaylord
ae472fb03d Update bundle_ru.properties (#1931)
* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties
2020-04-28 15:05:41 -04:00
Kittiskov
58cbfa599a Update(Not complete yet) (#1381)
I didn't update all these yet, because I have to sleep (yawn).

Co-authored-by: Anuken <arnukren@gmail.com>
2020-04-28 14:16:40 -04:00
Anuken
d4163f2d1c Merge remote-tracking branch 'origin/master' 2020-04-28 13:15:45 -04:00
Anuken
3ccf2ecc24 Projector visualization 2020-04-28 13:15:40 -04:00
Daan Breur
40ea1c865d [LANG] NL Some Small Changes (#1546) 2020-04-28 12:32:09 -04:00
Lapis
1836cf9582 Update bundle_ja.properties (#1930)
* update bundle_ja.properties

* update bundle_ja.properties

* update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties
2020-04-28 12:27:07 -04:00
GioIacca9
eef4137a59 Updated bundle_it to dfcf11f (#1929) 2020-04-28 12:27:00 -04:00
Prosta4okua
ab0cb0c019 Ukrainian translation (#1924)
* Update bundle_ru.properties

* Felix alive (phantom description)

* RU bundle Phantom description fix

* 2 lines changed

wave.enemies
wave.enemy

* 6 lines changed

editor.overwrite.confirm
confirmban
confirmkick
confirmvotekick
confirmadmin
confirmunadmin

* 5 lines changed (fixed)

confirmban
confirmkick
confirmvotekick
confirmadmin
confirmunadmin

* 5 lines changed (yet again)

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Стан з гілки master взято

* Оновлено на 26.04.2020

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

Co-authored-by: Felix Corvus <remint32@yandex.ru>
Co-authored-by: Vanguard <55051135+XEN0PHIL@users.noreply.github.com>
2020-04-28 12:26:52 -04:00
sk7725
14de9d7f5f 6.0 unit and block Korean Translation #1 (#1936) 2020-04-28 12:25:31 -04:00
Wina
621fa7862c Updated Spanish Bundle (#1937)
* Minor fixes

* Added Plastanium Conveyor Translation
2020-04-28 12:25:11 -04:00
Anuken
2504fd536b Autopack sprites when running 2020-04-27 17:35:10 -04:00
Anuken
a4d49f5d17 Automatic assignment of entities 2020-04-27 01:31:41 -04:00
Anuken
2f3c098b50 Unit status cleanup 2020-04-26 23:24:05 -04:00
Anuken
f6bf229b0a Cleanup 2020-04-26 21:59:49 -04:00
Prosta4okua
3fd5f3f986 Merge pull request #15 from Prosta4okua/revert-14-master
Revert "Update bundle_ru.properties"
2020-04-27 00:50:31 +03:00
Prosta4okua
f905245b71 Revert "Update bundle_ru.properties" 2020-04-27 00:50:15 +03:00
Prosta4okua
a6acd1bed2 Merge pull request #14 from Summet-V/master
Rename "Целостность" to "Здоровье"
2020-04-27 00:43:18 +03:00
Summet
8860dab37a Update bundle_ru.properties
Rename "Целостность" to "Здоровье"
2020-04-26 21:15:38 +03:00
Anuken
1941b0fa8a Merge remote-tracking branch 'origin/master' 2020-04-26 11:24:56 -04:00
Anuken
dfcf11fb07 Removed mech-related bundle entries 2020-04-26 11:24:52 -04:00
Patrick 'Quezler' Mounier
5fc8901e0b Fix plastanium conveyor icon generation (#1920) 2020-04-26 11:08:27 -04:00
Lapis
02fbc56137 Update bundle_ja.properties (#1917)
* update bundle_ja.properties

* update bundle_ja.properties

* update bundle_ja.properties

* Update bundle_ja.properties
2020-04-26 11:08:05 -04:00
Patrick 'Quezler' Mounier
0589290380 Prevent colored map author name from tainting gameover (#1922) 2020-04-26 10:59:27 -04:00
Anuken
fa62336096 Cleanup 2020-04-25 23:14:12 -04:00
Anuken
08f8323465 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/assets-raw/sprites/units/phantom-cell.png
2020-04-25 22:49:38 -04:00
Anuken
9b74b69950 Unit tweaks 2020-04-25 22:49:30 -04:00
MEEP of Faith
46762ab0e1 New power cells for everything (#1915)
* Ground Unit Power Cells

* Flying Unit Cells

* Player/Mech Cells
2020-04-25 22:48:58 -04:00
Anuken
8b7d75c5ba Unit tweaks 2020-04-25 22:48:25 -04:00
MEEP of Faith
c7c638caa6 Copy code from UnitType.java (#1916)
Support custom bottom region without scripting.
2020-04-25 21:10:36 -04:00
Anuken
c875bb3f55 Merge remote-tracking branch 'origin/master' 2020-04-25 17:34:39 -04:00
Anuken
ceee1d36e6 Bugfixes 2020-04-25 17:34:35 -04:00
Gdeft
9260cdee95 Update in bundle_in_ID.properties (#1913)
Translated few words to Bahasa and revised some of them too so they sound more standard.
2020-04-25 13:38:06 -04:00
Lapis
d97d971cf6 Update bundle_ja.properties (#1908)
* update bundle_ja.properties

* update bundle_ja.properties

* update bundle_ja.properties
2020-04-25 13:38:00 -04:00
Patrick 'Quezler' Mounier
efc1d9040b Add nydus 6.0 server entry (#1909) 2020-04-25 12:53:58 -04:00
Anuken
30d8737f67 Bugfixes 2020-04-25 12:49:19 -04:00
Anuken
9e0af97cee Merge remote-tracking branch 'origin/master' 2020-04-25 12:30:22 -04:00
Anuken
838e12cc0a stop 2020-04-25 12:30:18 -04:00
sk7725
02394973b0 Fix inconsistencies in Korean Translation (#1912)
For block, the national institute of korean language(https://www.korean.go.kr/front/onlineQna/onlineQnaView.do?mn_id=216&qna_seq=81761) specifies that the correct translation is 블록, not 블럭. Both translations, despite 블럭 being the wrong translation, are being used. All 블럭 have been changed to 블록.
2020-04-25 12:24:56 -04:00
Patrick 'Quezler' Mounier
14c9050103 Remove power usage from phase bridge endpoints (#1910) 2020-04-25 10:32:00 -04:00
Anuken
81af481d3a Removed sleep 2020-04-25 10:12:37 -04:00
Anuken
2e2c8ceab4 Bugfixes 2020-04-25 00:04:14 -04:00
Anuken
09e08a474b Plastanium conveyor + bugfixes 2020-04-24 20:17:24 -04:00
Anuken
21946cafd1 Merge branch 'crater' of https://github.com/Quezler/Mindustry into Quezler-crater 2020-04-24 15:46:32 -04:00
Anuken
32a182cd01 Unit parsing cleanup 2020-04-24 15:45:57 -04:00
Anuken
6041e238a6 Bugfixes 2020-04-24 12:01:08 -04:00
Anuken
5d4ca753a7 Light cleanup 2020-04-24 11:08:02 -04:00
Anuken
1b2e10d355 Cleanup, re-implementations 2020-04-24 11:01:17 -04:00
Anuken
018fe5dea2 Added lights for laser turret projectiles 2020-04-24 09:50:40 -04:00
Anuken
eeb88df5f6 Bugfixes 2020-04-23 17:45:12 -04:00
Patrick 'Quezler' Mounier
cf186e0219 Merge branch 'master' into crater
# Conflicts:
#	core/assets/sprites/sprites2.png
2020-04-23 21:15:11 +02:00
Patrick 'Quezler' Mounier
39266d23c8 Merge branch 'master' into crater
# Conflicts:
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites2.png
#	core/assets/sprites/sprites3.png
2020-04-23 21:10:48 +02:00
Anuken
cafd076f9c Fixed water animation conflict 2020-04-23 15:08:32 -04:00
Anuken
87ed405916 Bugfixes 2020-04-23 14:50:30 -04:00
Anuken
7091cad704 Merge branches '6.0' and 'master' of https://github.com/Anuken/Mindustry into 6.0 2020-04-23 14:05:09 -04:00
Anuken
b68b3a1837 Layer tweaks 2020-04-23 14:04:31 -04:00
Anuken
2aa05f989b Merged in sprite sorting 2020-04-23 14:00:55 -04:00
Anuken
cec5c24d69 progress 2020-04-23 13:58:06 -04:00
Anuken
c738dcb42e progress 2020-04-23 12:52:16 -04:00
Anuken
1bf5b19889 progress 2020-04-23 12:35:49 -04:00
laohuaji233
37240478b8 Update bundle_zh_CN.properties (#1900)
* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties
2020-04-23 11:08:33 -04:00
Rayfulrand
9e8dae8cd6 Update summary (#1901)
more accurate translation of Tower Defence genre
2020-04-23 11:07:06 -04:00
Anuken
c6e4bf1fa4 progress 2020-04-23 11:06:58 -04:00
Anuken
71e8c088a6 progress 2020-04-23 11:01:14 -04:00
Anuken
989ee895e8 Functional sorting 2020-04-23 10:25:46 -04:00
Anuken
2538273402 progress 2020-04-23 00:41:18 -04:00
Anuken
18b68fefed how did this compile 2020-04-23 00:16:41 -04:00
Anuken
362846bd68 progress 2020-04-23 00:03:03 -04:00
Anuken
6cf422eebf progress 2020-04-22 17:23:30 -04:00
Álvaro Manzanas
cf69fa1d7c Update bundle_es.properties (#1899)
* Update bundle_es.properties

* Update bundle_es.properties
2020-04-22 16:20:07 -04:00
Anuken
fc4f8619f8 progress (purge) 2020-04-22 16:17:43 -04:00
Anuken
c5f93139bd progress 2020-04-22 16:06:26 -04:00
Anuken
9beb23b0e4 progress 2020-04-22 15:19:39 -04:00
Anuken
d154361e75 Merge branch '6.0' of https://github.com/Anuken/Mindustry into sprite-sorting 2020-04-22 14:34:34 -04:00
Anuken
67d87f023b Cleanup 2020-04-22 14:22:33 -04:00
Anuken
da7c393096 progress 2020-04-22 12:47:29 -04:00
Anuken
b3f936acb8 Fixed tests not compiling 2020-04-22 11:18:19 -04:00
Anuken
2ca62831e3 Revert "Cleaned up tests" (wrong branch) 2020-04-22 11:17:47 -04:00
Anuken
cb601b729e Merge remote-tracking branch 'origin/master' 2020-04-22 10:48:54 -04:00
Anuken
cc4e9c5ba1 Cleaned up tests 2020-04-22 10:48:50 -04:00
Anuken
a592144291 Catching of schematic preview errors / Fixes #1886 2020-04-22 09:49:04 -04:00
Kaio Duarte Costa
390b5e3b60 Update bundle_pt_BR.properties (#1881) 2020-04-21 11:03:25 -04:00
sk7725
05cfe7a80a Fixed inconsistencies with the word 'schematic' (#1892)
설계도 and 회로도 are both schematic.
2020-04-21 11:03:09 -04:00
Anuken
58e9e0c0de Merged #1882 with some tweaks 2020-04-21 11:02:44 -04:00
Patrick 'Quezler' Mounier
561198f517 Fix issue with uneven dumping 2020-04-18 13:39:12 +02:00
Patrick 'Quezler' Mounier
16a1483f55 Require 4 loading docks to saturate a belt
Which encourages using them right from the factory, instead of simply connecting it up to a full titanium belt.
2020-04-18 13:28:32 +02:00
Anuken
eeb8d5ef9c Renamed key fields and table methods 2020-04-17 11:26:59 -04:00
Anuken
c5c63c24d5 Update bug_report.md 2020-04-16 17:00:07 -04:00
Patrick 'Quezler' Mounier
32e32ecae2 Merge branch '6.0' into crater
# Conflicts:
#	core/assets/icons/icons.properties
#	core/assets/sprites/block_colors.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites2.png
#	core/assets/sprites/sprites4.png
#	core/assets/sprites/sprites6.png
2020-04-16 22:38:51 +02:00
Anuken
280f3dd428 Added experimental package 2020-04-16 16:31:43 -04:00
Patrick 'Quezler' Mounier
1acc6461e6 Grow the circle slightly inward 2020-04-16 22:05:55 +02:00
Patrick 'Quezler' Mounier
9864383300 Revert 〃 2020-04-16 21:15:49 +02:00
Patrick 'Quezler' Mounier
41eb51a340 Experiment with visible ports 2020-04-16 21:11:59 +02:00
Felix Corvus
07ae854dec A:b:uke fixes
see: https://github.com/Anuken/Mindustry/pull/1877#issuecomment-614645700
2020-04-16 22:02:40 +03:00
Patrick 'Quezler' Mounier
da99286826 Remove obsolete valid check 2020-04-16 20:33:52 +02:00
Patrick 'Quezler' Mounier
79a095faa8 Merge branch '6.0' into crater 2020-04-16 20:30:13 +02:00
Anuken
2f3a842f2e isValid() workaround 2020-04-16 14:26:09 -04:00
Patrick 'Quezler' Mounier
a05f4338c5 Waspify the crater 🐝 2020-04-16 20:24:07 +02:00
Anuken
2693f9c176 Implemented some PR features 2020-04-16 13:46:45 -04:00
Corby
15750b5eb0 Korean localization fixes and changes. (#1874) 2020-04-16 13:33:38 -04:00
Patrick 'Quezler' Mounier
361a540ed3 Merge branch '6.0' into crater 2020-04-16 19:10:10 +02:00
Patrick 'Quezler' Mounier
a83546bc9d Call bumps & upstreams from the objects themselves 2020-04-16 19:01:27 +02:00
Patrick 'Quezler' Mounier
e66a1a92c3 Phase out the need for isSleeping
Thanks to knowledge gained from the previous commit.
2020-04-16 18:56:00 +02:00
Patrick 'Quezler' Mounier
b599bafd5e Override isvalid for sleeping craters 2020-04-16 18:48:38 +02:00
Patrick 'Quezler' Mounier
589d4c92d1 Scale crater from 16x16 to 20x20 2020-04-16 18:39:24 +02:00
Patrick 'Quezler' Mounier
b9b8a4a2f7 Move update function up
It felt wrong to put it down below.
2020-04-16 18:17:00 +02:00
Patrick 'Quezler' Mounier
7df44ec060 Implement anuke’s size calculation 2020-04-16 18:12:51 +02:00
Patrick 'Quezler' Mounier
83511368f6 Stash shadow draft 2020-04-16 17:44:43 +02:00
Anuken
c6bbdfdc9b Fixed compilation 2020-04-16 11:35:35 -04:00
Anuken
713dbccf74 Bugfixes 2020-04-16 11:30:42 -04:00
Patrick 'Quezler' Mounier
a1d4804fae Merge branch '6.0' into crater
# Conflicts:
#	core/assets/sprites/block_colors.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites2.png
#	core/assets/sprites/sprites4.png
#	core/assets/sprites/sprites6.png
#	core/src/mindustry/ui/fragments/PlayerListFragment.java
2020-04-16 17:13:18 +02:00
Anuken
a8f4df8030 Merge branches '6.0' and 'master' of https://github.com/Anuken/Mindustry into 6.0
# Conflicts:
#	core/src/mindustry/ui/fragments/PlayerListFragment.java
2020-04-16 10:14:13 -04:00
Anuken
256f805754 Payload fixes 2020-04-16 09:55:57 -04:00
Anuken
ea0358d570 Merge remote-tracking branch 'origin/6.0' into 6.0 2020-04-16 09:44:36 -04:00
Anuken
42f227195c Better payload framework 2020-04-16 09:44:31 -04:00
Ali-C-Ila
7d6e8fdcd1 Update bundle_zh_TW.properties (#1876)
* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties
2020-04-16 09:14:36 -04:00
Patrick 'Quezler' Mounier
7254204ae5 [6.0] fix build requirement check for sandbox (#1873)
* Fix not being able to start building in 6.0 sandbox

* Make 〃 more logical
2020-04-16 09:11:23 -04:00
Vanguard
0cde4a9778 Merge branch 'master' into master 2020-04-16 15:44:04 +03:00
Vanguard
bfe701bd08 5 lines changed (yet again) 2020-04-16 15:17:35 +03:00
Vanguard
2a47c22607 5 lines changed (fixed)
confirmban
confirmkick
confirmvotekick
confirmadmin
confirmunadmin
2020-04-16 15:15:25 +03:00
Patrick 'Quezler' Mounier
5c28985ee6 Merge branch '6.0' into crater
# Conflicts:
#	core/assets/icons/icons.properties
#	core/assets/sprites/block_colors.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites3.png
#	core/assets/sprites/sprites5.png
#	core/src/mindustry/content/Blocks.java
#	core/src/mindustry/ui/fragments/PlayerListFragment.java
#	core/src/mindustry/world/BlockStorage.java
2020-04-16 12:39:52 +02:00
Patrick 'Quezler' Mounier
424e58ff7d Merge branch 'master' into crater 2020-04-16 11:20:16 +02:00
Anuken
8a01b87c99 Cleanup 2020-04-15 23:12:18 -04:00
Anuken
79c8548171 Better conveyor animations 2020-04-15 19:05:18 -04:00
Anuken
a234949b8c Visual tweaks 2020-04-15 13:03:37 -04:00
Anuken
0eaf9bc9c6 Various prototypes 2020-04-15 12:44:53 -04:00
Prosta4okua
305632c002 Update bundle_uk_UA.properties (#1871) 2020-04-15 10:36:38 -04:00
Anuken
51226d6c88 Arc compat 2020-04-14 20:29:59 -04:00
clfer
73e53a7766 [WIP]Translate steam metadata in french (#771)
* Steam french translation

* Paulao17 feedback

* Steam french translation adjustments

Co-authored-by: clfer <clement.ferrier+github@gmail.com>
2020-04-14 13:59:55 -04:00
Vanguard
18e92f5abf RU updates (#1866)
* Update bundle_ru.properties

* Felix alive (phantom description)

* RU bundle Phantom description fix

* 2 lines changed

wave.enemies
wave.enemy

* 6 lines changed

editor.overwrite.confirm
confirmban
confirmkick
confirmvotekick
confirmadmin
confirmunadmin

Co-authored-by: Prosta4okua <31485341+Prosta4okua@users.noreply.github.com>
Co-authored-by: Felix Corvus <remint32@yandex.ru>
2020-04-14 10:04:29 -04:00
Miguel de Dios Matias
a10235d6b0 I18n es tiny fix (#1865)
* Update some translations into spanish.

* Need a white space between #wave_number and wave word (in spanish).

* Added translation for 'search'.

* Fix translate of 'bleeding edge' is https://www.urbandictionary.com/define.php?term=Bleeding%20edge . It is not a name.

* Fixed some spanish strings about schematic.

* Fixed some translations in spanish.
2020-04-14 10:04:13 -04:00
Olexandr Nesterenko
95d603a035 Separate the use of map name and player name (#1863)
* change use 'name'

* remove schematic.name
2020-04-14 10:04:05 -04:00
Vanguard
32199ac307 6 lines changed
editor.overwrite.confirm
confirmban
confirmkick
confirmvotekick
confirmadmin
confirmunadmin
2020-04-14 15:17:33 +03:00
GioIacca9
25bc6ebaf0 Minor changes (#1858) 2020-04-13 21:22:49 -04:00
Wina
9a0292268e Minor changes in bundle_es.properties (#1861)
Added some clarifications in the tutorial and corrected multiple spelling and grammar errors.
2020-04-13 21:21:20 -04:00
Lapis
91f9ce3098 update (#1862) 2020-04-13 21:21:10 -04:00
Anuken
c717084cb9 Cleanup 2020-04-13 18:07:00 -04:00
Anuken
2af12a632a Added basic multi-unit factories 2020-04-13 16:56:33 -04:00
Olexandr Nesterenko
474ddcf989 Update bundle_uk_UA.properties (#1811) 2020-04-12 18:06:09 -04:00
Anuken
d860977144 Disabled asset copying on non-iOS platforms 2020-04-12 17:53:19 -04:00
Fernando
8093f69b6a Update bundle_pt_BR.properties (#1839)
* Update bundle_pt_BR.properties

* Update bundle_pt_BR.properties

* Update bundle_pt_BR.properties

* Update bundle_pt_BR.properties
2020-04-12 17:43:51 -04:00
Anuken
a240c00ebf Set cleanup 2020-04-12 17:42:09 -04:00
Lapis
bc20967262 Update bundle_ja.properties (#1848)
* update

* update

* update
2020-04-12 13:36:01 -04:00
Blockzilla101
501253d13a added name of player to ban/kick/vote-kick/un-admin/admin confirmation dialog (#1846)
* added name of player to baning/kicking/vote-kicking/admining

* slight tweaks

* fixed redundant things
2020-04-12 10:52:05 -04:00
Anuken
603d8b16d0 Various tweaks 2020-04-12 10:26:18 -04:00
Patrick 'Quezler' Mounier
9e811be477 Name which map name has a conflict when importing (#1844) 2020-04-12 09:56:36 -04:00
MWestfall
e47dcd75ff Update servers.json (#1837)
Splitting Co-Op into attack and survival
2020-04-11 16:21:44 -04:00
Anuken
f163601262 Better unit control effects 2020-04-11 11:34:51 -04:00
Anuken
b1f32d241b Merge branches '6.0' and 'master' of https://github.com/Anuken/Mindustry into 6.0
# Conflicts:
#	core/assets/bundles/bundle_uk_UA.properties
#	core/src/mindustry/core/NetClient.java
#	core/src/mindustry/ui/fragments/PlayerListFragment.java
#	core/src/mindustry/world/blocks/power/ImpactReactor.java
#	gradle.properties
2020-04-11 10:37:52 -04:00
Anuken
3bb2b646db Networked unit control / Mimic AI prototype 2020-04-11 10:03:47 -04:00
Anuken
7dca6b2a30 Other tweaks 2020-04-10 19:17:40 -04:00
Anuken
758ace353e Laser turret behavior changes 2020-04-10 19:15:14 -04:00
Petr Gašparík
9c1730685c Czech translation - up to date (#1836) 2020-04-10 18:45:01 -04:00
Anuken
67a084a5e7 Cleanup 2020-04-10 13:49:36 -04:00
Anuken
2395bc9308 Bugfixes / Testing reaper sprite 2020-04-10 12:55:58 -04:00
Anuken
00f3353976 ... 2020-04-10 11:51:35 -04:00
Anuken
aedd047c6f Slightly improved mod dialog 2020-04-10 11:49:22 -04:00
OverChock
4ec85ae72b Update bundle_pt_BR.properties (#1833)
Some changes on turrets description.
2020-04-10 08:34:17 -04:00
Miguel de Dios Matias
5ac8ae2a00 I18n es tiny fix (#1835)
* Update some translations into spanish.

* Need a white space between #wave_number and wave word (in spanish).
2020-04-10 08:34:09 -04:00
Anuken
b4739e6036 Simpler sun shader 2020-04-09 21:15:42 -04:00
Anuken
dedb63e9b6 tweaks 2020-04-09 21:03:16 -04:00
Anuken
803538d5be Better detail 2020-04-09 20:55:59 -04:00
Anuken
1efbd9dcf2 Faster shaders (?) 2020-04-09 20:50:11 -04:00
Fernando
0a2ff97eb0 Update bundle_pt_BR.properties (#1830) 2020-04-09 09:59:03 -04:00
Gdeft
2c3e473b0f Updated translation for bundle_in_ID.properties (#1824)
* New translation added for Bahasa

I will add more translation and also review it soon again.

* Update bundle_in_ID.properties

* Update bundle_in_ID.properties

Updated ID translation for the description in campaign mode.

* Update bundle_in_ID.properties

More update for the Indonesian language including :
▪Even more translation (of course)
▪Fixed captialization and spelling
▪Fixed already existing translation
(almost finished)

* Finished translation for Bahasa 

• Fixed few missed spellings
• Added new translation
• Finished translation (I'm not sure for the items)

This the last commit for this pull request :)
2020-04-09 09:37:34 -04:00
Anuken
2a74bb742b Added landing sound 2020-04-08 22:06:43 -04:00
Vanguard
f7fcc0528e 2 lines changed
wave.enemies
wave.enemy
2020-04-09 02:39:52 +03:00
Anuken
a241d6f5bb Minor cleanup 2020-04-08 10:54:45 -04:00
Anuken
7b25b09c18 Bugfixes 2020-04-07 14:08:42 -04:00
Anuken
5fbe925429 Revert "Moved launch button"
This reverts commit 83bc3e4e
2020-04-07 11:29:23 -04:00
VKLowe
18aa9fc15e Update bundle_ru.properties (#1827) 2020-04-07 09:13:38 -04:00
Anuken
83bc3e4e8d Moved launch button 2020-04-05 14:26:15 -04:00
Olivier
3b0bff1a9b Revised french translation, corrected syntax errors (grammar, spelling), coherence with names. (#1822) 2020-04-05 13:56:17 -04:00
Anuken
a7b80f025c Bugfixes 2020-04-04 15:08:08 -04:00
laohuaji233
7227180707 Update bundle_zh_CN.properties (#1815) 2020-04-04 09:16:25 -04:00
Anuken
85e4270536 New water textures 2020-04-04 00:31:29 -04:00
Anuken
54a2bf1ba8 Smoother/faster water shader 2020-04-03 22:42:46 -04:00
Fernando
0d2bef90f2 Update bundle_pt_BR.properties (#1813) 2020-04-03 19:48:01 -04:00
Anuken
191d7fe1ef Cleanup 2020-04-03 19:40:45 -04:00
Anuken
e17052a452 Bugfixes / Builder changes / Planning layer changes 2020-04-03 13:37:35 -04:00
shadowpazzo
b3cd492a13 little fix to surge things and more understandable words (#1778)
i think lega supercarica is better than lega di sovratensione for italians and more
2020-04-03 11:04:41 -04:00
Patrick 'Quezler' Mounier
68c20ae728 Complete me senpai (#1810) 2020-04-03 10:48:51 -04:00
Vanguard
4c9b034153 Updated Phantom description (#1809)
Added info "Rebuilds destroyed blocks"
2020-04-03 08:21:39 -04:00
TheSlaylord
41510d4574 Update bundle_ru.properties (#1808) 2020-04-03 08:21:16 -04:00
Anuken
d611dd107a Bugfixes 2020-04-02 22:45:13 -04:00
Anuken
d0b2f63553 Tweaks 2020-04-02 14:56:53 -04:00
Anuken
a26cd46a7e Reflective planet water 2020-04-02 12:32:55 -04:00
Patrick 'Quezler' Mounier
74e94e5344 Merge branch 'master' into crater 2020-04-02 12:05:04 +02:00
Felix Corvus
5f49f23aa0 RU bundle Phantom description fix 2020-04-02 05:13:33 +03:00
Felix Corvus
a7e86aeee8 Felix alive (phantom description) 2020-04-02 05:07:05 +03:00
Anuken
1dcaa44e9b Merge remote-tracking branch 'origin/master' 2020-04-01 14:44:31 -04:00
Anuken
c1b225a3b0 Fixed issue in #1804 2020-04-01 14:44:17 -04:00
KeviTV
e253f5b0bd Create bundle_be.properties (#1797)
* Create bundle_be.properties

Full translation for the game into Belarusian

* Update bundle_be.properties

Small fix
2020-04-01 01:19:44 -04:00
Azathoth
8d784f616f Update bundle_pt_BR.properties (#1796)
some fixes at translation, better and more fluid translation in some words and a big fix at a weapon name that a lot of people was complaining about
2020-03-31 23:36:09 -04:00
Anuken
19239a6890 More cleanup 2020-03-31 19:39:14 -04:00
Anuken
77447c59f6 Cleanup 2020-03-31 15:01:22 -04:00
Anuken
f1fd072400 Game state cleanup 2020-03-31 14:16:38 -04:00
Anuken
b06d517084 Fixed #1793 2020-03-31 12:02:27 -04:00
Ali-C-Ila
e31061a546 Update bundle_zh_TW.properties (#1792) 2020-03-31 09:32:50 -04:00
Patrick 'Quezler' Mounier
dcb27eb9ba Turn bug report brackets into checkbox (#1790) 2020-03-31 09:32:34 -04:00
Lapis
c90a206a3a update bundle_ja.properties (#1787) 2020-03-30 14:29:19 -04:00
Anuken
9081f3ff03 Fixed antialiasing 2020-03-30 12:00:08 -04:00
Anuken
084c90ba9f Improved atmosphere shader performance 2020-03-30 11:35:22 -04:00
TheSlaylord
dd932c91b4 Update bundle_ru.properties (#1776)
* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties
2020-03-30 11:13:06 -04:00
Prosta4okua
7de0da28cd Update bundle_ru.properties (#1777) 2020-03-30 11:12:58 -04:00
Olexandr Nesterenko
81ffd3fd3c chenge size for ok button (#1786) 2020-03-30 11:11:38 -04:00
Anuken
115e3a737b Cleanup 2020-03-29 23:06:58 -04:00
Anuken
fc65812263 Added cubemap stars 2020-03-29 19:39:29 -04:00
Anuken
7ba7e14282 Atmosphere tweaks 2020-03-29 18:34:00 -04:00
Anuken
f22e1bdeb3 Added planet atmosphere shader 2020-03-29 17:08:25 -04:00
Lapis
4740350ec5 update bundle_ja.properties (#1782)
* update bundle_ja.properties

* update bundle_ja.properties

* update bundle_ja.properties

* update bundle_ja.properties

* update bundle_ja.properties

* update bundle_ja.properties
2020-03-29 15:24:52 -04:00
Anuken
60a2a53973 Update bug_report.md 2020-03-29 13:29:45 -04:00
laohuaji233
924532f600 Update contributors (#1780) 2020-03-28 22:14:05 -04:00
GioIacca9
e983fde30f :) (#1779)
Anuke can I add my nick?
2020-03-28 18:11:09 -04:00
Anuken
65bf97bc03 Removed need for local.properties file 2020-03-28 17:03:52 -04:00
Prosta4okua
075cfd6eb0 Update bundle_ru.properties 2020-03-28 18:39:37 +02:00
Anuken
73f7681f59 Slight fade-in improvements 2020-03-28 08:54:29 -04:00
Anuken
48715d0311 Merge pull request #1769 from NickZhYT/patch-8
Update bundle_ru.properties
2020-03-28 08:52:46 -04:00
Anuken
cd99a0e1a7 Merge pull request #1770 from GioIacca9/patch-7
Update bundle_it.properties
2020-03-28 08:52:17 -04:00
Anuken
f1c254d6db Merge pull request #1771 from Lapis256/master
update bundle_ja.properties
2020-03-28 08:52:10 -04:00
Lapis256
43ef64bb2f update bundle_ja.properties 2020-03-28 20:12:34 +09:00
Lapis256
81bc6c6ce7 update bundle_ja.properties 2020-03-28 20:04:22 +09:00
NickZhYT
101744a710 Update bundle_ru.properties
Some description changes
2020-03-28 11:15:23 +03:00
GioIacca9
b37ea872a8 Update bundle_it.properties 2020-03-28 08:51:56 +01:00
Anuken
e32e9df1ab Merge pull request #1696 from unakiritan/patch-2
Create short-description.txt
2020-03-27 23:24:23 -04:00
Anuken
7dff023928 Merge remote-tracking branch 'origin/master' 2020-03-27 18:23:07 -04:00
Anuken
767719d410 Power balance tweak 2020-03-27 18:23:02 -04:00
Anuken
a96ac1e0fe Merge pull request #1716 from burunduk/patch-3
Fix uk translation
2020-03-27 16:53:03 -04:00
Anuken
8302287019 Merge branch 'master' into patch-3 2020-03-27 16:52:54 -04:00
Anuken
b992062710 Merge pull request #1475 from Ali-C-Ila/patch-25
Update Chinese Steam achievements
2020-03-27 16:32:52 -04:00
Anuken
1b6308786e Merge pull request #1476 from Ali-C-Ila/patch-26
Update Chinese steam description
2020-03-27 16:31:06 -04:00
Anuken
b284d6892a Updated bundles with missing text 2020-03-27 16:13:41 -04:00
Anuken
6f279a18d5 Merge pull request #1700 from laohuaji233/patch-28
Update bundle_zh_CN.properties
2020-03-27 16:03:09 -04:00
Anuken
f6e384c0a2 Merge pull request #1766 from Ali-C-Ila/patch-30
Update bundle_zh_TW.properties
2020-03-27 16:02:32 -04:00
Anuken
88214aadb4 Merge pull request #1761 from PetrGasparik/v104
Czech translation for 104.x
2020-03-27 16:02:26 -04:00
Anuken
351eddae00 Merge pull request #1750 from King-BR/patch-1
Update bundle_pt_BR.properties
2020-03-27 16:02:21 -04:00
Anuken
40e910b2e7 Merge branch 'master' into patch-1 2020-03-27 16:02:16 -04:00
Anuken
df572aac6b Merge pull request #1724 from TheJaaju/patch-2
Update bundle_fi.properties
2020-03-27 15:58:42 -04:00
Anuken
6dfd6d44e7 Merge pull request #1699 from TheAldas/patch-4
Grammar corrections
2020-03-27 15:56:34 -04:00
Anuken
53c8b636ea Merge pull request #1694 from Prosta4okua/master
RU updates
2020-03-27 15:56:25 -04:00
Anuken
d430a821d4 Update bundle_uk_UA.properties (#1693)
* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties
2020-03-27 15:56:17 -04:00
feu-follet
fad10815d2 Update bundle_fr.properties (#1683)
Add the french version for underflow gate (name+description)

Co-authored-by: Anuken <arnukren@gmail.com>
2020-03-27 15:56:09 -04:00
yeyys
2fc95d5a22 Update bundle_pt_BR.properties (#1627)
* Update bundle_pt_BR.properties

* Update bundle_pt_BR.properties

* Update bundle_pt_BR.properties

* Update bundle_pt_BR.properties

Co-authored-by: Anuken <arnukren@gmail.com>
2020-03-27 15:54:40 -04:00
Predator127
7cae1572c0 Update bundle_pt_BR.properties (#1628)
* Update bundle_pt_BR.properties

Made by Hanko! (Now Zero)

* Update bundle_pt_BR.properties

* Update bundle_pt_BR.properties
2020-03-27 15:53:15 -04:00
Anuken
3bdd6e04ca cleanup 2020-03-27 15:34:46 -04:00
Lapis
5ddafdd618 Update bundle_ja.properties (#1681)
* update bundle

* update bundle

* update ja_bundle

Co-authored-by: Anuken <arnukren@gmail.com>
2020-03-27 15:11:17 -04:00
QmelZ
e93e174dcd Fixed small things/changes to bundle_tr.properties (#1692)
title
2020-03-27 13:01:13 -04:00
soytheLB
f714714106 Update bundle_es.properties (#1748)
added translation to schematic.exists
added translation to rules.deconstructrefundmultiplier
added tranlation to rules.solarpowermultiplier
On the last I used solar panel power multiplier since it doesnt sound good in spanish otherwise.
2020-03-27 13:00:18 -04:00
feu-follet
900d221327 Update bundle_fr.properties (#1710)
Adds the chaos array translation, corrects some errors and improves some translations
2020-03-27 13:00:09 -04:00
NickZhYT
04e2aab3cf Update bundle_ru.properties (#1746)
Some description changes
2020-03-27 12:33:22 -04:00
Igor Polyakov
3e30db1173 Update bundle_ru.properties (#1735) 2020-03-27 12:33:12 -04:00
Ali-C-Ila
1af5e59098 Update bundle_zh_TW.properties 2020-03-27 22:43:15 +08:00
TheSlaylord
ec49875325 Update bundle_ru.properties (#1760) 2020-03-27 10:10:07 -04:00
Anuken
50c6b0b1bd Cleanup 2020-03-27 10:07:42 -04:00
Anuken
7f0134c78f OpenGL error tweaks 2020-03-27 09:27:30 -04:00
Anuken
69323707cc GLEW tweaks 2020-03-27 09:00:28 -04:00
Prosta4okua
d6a395292a Update bundle_uk_UA.properties 2020-03-27 11:43:03 +02:00
Prosta4okua
96e288d0ab Update bundle_uk_UA.properties 2020-03-27 11:40:31 +02:00
Petr Gašparík
64d0c478d0 Czech translation - minus EOL 2020-03-27 09:12:56 +01:00
Petr Gašparík
f1717ceafa Czech translation - sync with 104.x 2020-03-27 09:11:45 +01:00
Petr Gašparík
08e473c5ba Merge branch 'master' of https://github.com/Anuken/Mindustry into v104 2020-03-27 08:44:57 +01:00
Vanguard
7216818fdc 2 new lines
players.search
players.notfound
2020-03-27 04:28:22 +03:00
fuzzbuck
643d054294 Add search bar in playerlist (#1572)
* add "search" bar in playerlist

* remove log.info

* clear keyboard focus & text on toggle

* refactor sField -> field (fixes build??)

* refactor field -> sField (revert) should build now 👍

* remove drawEach boolean, simplify everything (please ignore previous commits)

* escape color codes

* use Strings.stripcolors & check for & without color codes
2020-03-26 19:01:24 -04:00
Petr Gašparík
0b619851de Czech translation - 104.x translation (#1713)
* Czech translation - sync with changes

* Czech translation - sync with updates

* Czech translation - small fix

* Czech - ud to date translation

* Czech - update translations for 104.x

* Czech translation - fixed typo
2020-03-26 18:40:49 -04:00
NickZhYT
281f2f7a64 Update bundle.properties (#1747)
Some description edits
2020-03-26 18:40:34 -04:00
DeltaNedas
b077cd7fb0 let scripts require from the same mod (#1698)
it seems fine to have
`require("mymod/script")`
e.g. if mods require a lot of scripts and want to organise it
2020-03-26 18:30:34 -04:00
Anuken
cb4ecbd4b8 Implemented % tile efficiency display 2020-03-26 18:25:10 -04:00
unakiritan
935b22bf4a Update bundle_ja.properties (#1695)
Translated into Japanese.
2020-03-26 17:43:18 -04:00
Anuken
0573160b2f Added sorter cross (#1566) 2020-03-26 17:39:23 -04:00
Anuken
152a987c3a Experimental flow display 2020-03-26 17:19:18 -04:00
Prosta4okua
11723fdb2d Update bundle_uk_UA.properties 2020-03-26 20:39:50 +02:00
Prosta4okua
c6f7da4e4e Update bundle_ru.properties 2020-03-26 20:30:31 +02:00
Anuken
0f79017f02 Merge remote-tracking branch 'origin/master' 2020-03-26 12:39:59 -04:00
Anuken
d346442e86 Changed "global" -> "community" servers 2020-03-26 12:39:54 -04:00
Patrick 'Quezler' Mounier
975221f4cc Revert "Revert "Revert "Revert "Revert "Repurpose branch to be played"""""
This reverts commit 164dd0c405.
2020-03-26 16:53:34 +01:00
GioIacca9
ec30b0fa94 Update bundle_it.properties (#1755) 2020-03-26 11:30:04 -04:00
Yoann Prot
379bef6b52 ✏️ fix typo on tutorial for belgium translation (#829) 2020-03-26 11:23:37 -04:00
Anuken
f966489298 Various tweaks 2020-03-25 23:28:20 -04:00
whert-dev
1e1fbbc37b Bind plasma sprite's size to reactor's size (#1754)
This will be useful for modded ImpactReactors that have different sizes. (Please correct my code if it is wrong).
2020-03-25 19:55:33 -04:00
Anuken
e7ffb0214f Fixed some invalid sectors 2020-03-25 16:04:19 -04:00
Anuken
3a7d3f4973 Merge remote-tracking branch 'origin/master' 2020-03-25 11:06:56 -04:00
Anuken
6cc2719ed7 Updated FBO method names 2020-03-25 11:06:52 -04:00
Anuken
51b03725a2 Oregen fixes 2020-03-25 10:41:26 -04:00
Anuken
4fb74d1e39 Cleanup 2020-03-25 00:18:40 -04:00
Fernando
70d7f68078 Update bundle_pt_BR.properties 2020-03-24 20:50:52 -03:00
Fernando
6ecee1e947 Update bundle_pt_BR.properties 2020-03-24 20:46:48 -03:00
Anuken
7d5ceafff2 Implemented #1129 / Bugfixes 2020-03-24 12:02:26 -04:00
Dexapnow
d18697a504 Update bundle_pl.properties (#1742)
Based of "missing tags"
2020-03-24 11:18:06 -04:00
Anuken
a1b64900ab 2 2020-03-24 00:33:59 -04:00
Anuken
2b4ce01fac Updated arc 2020-03-24 00:25:36 -04:00
Anuken
52b6e756bc Fixed some issues with scaled ninepatches 2020-03-24 00:22:28 -04:00
Anuken
74b6bc5dd3 Added distributed ore gen 2020-03-23 14:08:37 -04:00
Patrick 'Quezler' Mounier
104fd78966 Collapse while 2020-03-23 17:07:11 +01:00
Patrick 'Quezler' Mounier
6b27d19057 Alter comments 2020-03-23 17:05:03 +01:00
Patrick 'Quezler' Mounier
6228b5353f Pack dump into conveyor rotation 2020-03-23 17:01:47 +01:00
Olexandr Nesterenko
75272c0a3e change scrap name 2020-03-23 12:30:39 +02:00
Anuken
2165a2af7d Better enemy spawn selection 2020-03-22 23:12:58 -04:00
Anuken
289cca3bf0 Cleanup 2020-03-22 13:16:11 -04:00
Anuken
53a6297b59 Better naval check 2020-03-22 11:30:15 -04:00
Anuken
ea3e16ee16 Added water check 2020-03-22 09:44:38 -04:00
Anuken
ad45bebbdc Better spawn selection 2020-03-22 09:28:55 -04:00
Anuken
196a9dd77e Fixed incorrect plane projection 2020-03-21 19:11:13 -04:00
Anuken
148abaccd9 Cleanup 2020-03-21 16:40:39 -04:00
Anuken
4813d6c8ff More reasonable AI behavior 2020-03-21 14:29:00 -04:00
Anuken
3563c929af Cleanup 2020-03-21 12:08:21 -04:00
Anuken
d831fa7ba3 Added basic flying AI 2020-03-21 11:48:10 -04:00
Anuken
d673167477 Added basic ground AI 2020-03-21 10:49:38 -04:00
Anuken
c4d5314a1a Color script fixes 2020-03-19 20:15:41 -04:00
Anuken
d91ff744f2 Fixed color methods 2020-03-19 20:14:37 -04:00
Anuken
d2a2311cce Merge branches '6.0' and 'master' of https://github.com/Anuken/Mindustry into 6.0
# Conflicts:
#	core/src/mindustry/core/ContentLoader.java
#	core/src/mindustry/core/NetClient.java
#	core/src/mindustry/entities/type/Player.java
#	core/src/mindustry/io/MapIO.java
#	core/src/mindustry/io/TypeIO.java
#	core/src/mindustry/ui/dialogs/HostDialog.java
#	core/src/mindustry/ui/dialogs/JoinDialog.java
#	core/src/mindustry/world/LegacyColorMapper.java
2020-03-19 20:07:45 -04:00
Anuken
966321baca Merge remote-tracking branch 'origin/master' 2020-03-19 20:02:48 -04:00
Anuken
f2f39573bb Color cleanup 2020-03-19 20:02:43 -04:00
Anuken
6cbc42d9de Fixed unnecessary Color rgba methods 2020-03-19 20:00:04 -04:00
TheJaaju
998cc9535e Update bundle_fi.properties
Titles
2020-03-19 22:54:08 +02:00
Anuken
c7bc05f560 Unlock tweaks 2020-03-19 12:45:21 -04:00
Anuken
e9994794aa Sector lock state 2020-03-19 11:29:18 -04:00
laohuaji233
da215425e9 Update bundle_zh_CN.properties 2020-03-19 15:53:38 +08:00
Anuken
6bf031d0f5 Planet render cleanup 2020-03-18 13:32:23 -04:00
TheJaaju
58a4ec1265 Update bundle_fi.properties 2020-03-18 08:42:16 +02:00
Anuken
436c76fd2f Merge branch 'master' of https://github.com/Anuken/Mindustry into 6.0
# Conflicts:
#	core/src/mindustry/world/blocks/BuildBlock.java
2020-03-17 20:03:12 -04:00
Anuken
12d4aab48a Tweaks 2020-03-17 20:02:38 -04:00
Anuken
71f20f928a Update build.gradle 2020-03-17 20:01:44 -04:00
TheJaaju
b874eecd5f Update bundle_fi.properties
+ translations
2020-03-18 01:40:29 +02:00
Ali-C-Ila
0d19068219 Update bundle_zh_TW.properties (#1718)
* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties
2020-03-17 12:02:56 -04:00
TheJaaju
b0dddb2a7c Update bundle_fi.properties (#1720)
added translations and fixed a typo
2020-03-17 12:02:47 -04:00
Anuken
0ed21a1d5f Bugfixes, cleanup / Created stub processor class 2020-03-17 11:51:33 -04:00
Anuken
08488857da Removed DoubleTurret, merged functionality 2020-03-17 11:02:10 -04:00
Anuken
2c7ff64511 Fixed some variable shadowing 2020-03-17 10:28:18 -04:00
Anuken
24f5921863 Bugfixes 2020-03-17 09:07:31 -04:00
Prosta4okua
9d24a47b01 Update bundle_uk_UA.properties 2020-03-17 13:01:31 +02:00
Prosta4okua
bc0104b0cc Update bundle_uk_UA.properties 2020-03-17 09:31:16 +02:00
Anuken
32ffacf8f6 Added sector deployment UI 2020-03-16 23:09:07 -04:00
Anuken
928812142a Bugfixes & liquid unit tests 2020-03-16 10:41:32 -04:00
Olexandr Nesterenko
567eb1e9dd revert some fix 2020-03-16 16:01:23 +02:00
Olexandr Nesterenko
660e27f002 fix uk 2020-03-16 13:24:18 +02:00
Olexandr Nesterenko
f23177fddc Update uk 2020-03-16 12:12:14 +02:00
Olexandr Nesterenko
9a529fc40b Fix uk translation 2020-03-16 11:54:37 +02:00
Patrick 'Quezler' Mounier
164dd0c405 Revert "Revert "Revert "Revert "Repurpose branch to be played""""
This reverts commit 8caa9ed548.
2020-03-16 09:15:44 +01:00
Anuken
2250f2f0bc Stack trace 2020-03-16 01:08:45 -04:00
Petr Gašparík
ad6d819b8f Czech translation - fixed typo 2020-03-16 00:06:39 +01:00
Petr Gašparík
0749120df3 Czech - update translations for 104.x 2020-03-16 00:05:20 +01:00
Petr Gašparík
865397983b Czech - ud to date translation 2020-03-15 23:43:52 +01:00
Petr Gašparík
b6f1b7570b Merge branch 'master' of https://github.com/Anuken/Mindustry into v104 2020-03-15 23:30:37 +01:00
Vanguard
11b6ae58d7 1 new line, 1 changed line
New:
rules.deconstructrefundmultiplier

Changed:
stat.deconstructed
2020-03-16 00:34:58 +03:00
Patrick 'Quezler' Mounier
8caa9ed548 Revert "Revert "Revert "Repurpose branch to be played"""
This reverts commit 4b08cfd2b7.
2020-03-15 22:04:10 +01:00
Patrick 'Quezler' Mounier
4f195b72d1 Merge branch 'master' into crater 2020-03-15 22:00:51 +01:00
Patrick 'Quezler' Mounier
4b08cfd2b7 Revert "Revert "Repurpose branch to be played""
This reverts commit 9df875354a.
2020-03-15 22:00:45 +01:00
ma44
ec34e27102 map setting refund (#1709) 2020-03-15 14:02:47 -04:00
Anuken
6079980a50 Fixed content loading crash 2020-03-15 09:08:27 -04:00
Anuken
1e3326fb8a Cleanup 2020-03-15 09:02:14 -04:00
Anuken
cd019ab329 More bugfixes 2020-03-14 18:19:07 -04:00
Anuken
7e781d9ff8 Bugfixes 2020-03-14 12:29:12 -04:00
Anuken
808615a77c Bugfixes 2020-03-13 22:33:37 -04:00
laohuaji233
377ac2be90 Update bundle_zh_CN.properties 2020-03-12 22:48:34 +08:00
laohuaji233
9e8dbfdc03 Update bundle_zh_CN.properties 2020-03-12 21:33:26 +08:00
Prosta4okua
7db5d14048 Update bundle_uk_UA.properties 2020-03-12 11:37:54 +02:00
Anuken
06e94b1800 Cleaned up weather class 2020-03-11 10:08:27 -04:00
Aldas
680b2bc6b6 Translated launch.skip.confirm line 2020-03-11 12:12:30 +02:00
Anuken
8550995c4e Fixed compilation 2020-03-10 19:51:31 -04:00
Anuken
930c342fb6 Shader cleanup 2020-03-10 19:48:38 -04:00
Anuken
25bbce2e10 Fixed a crash 2020-03-10 15:13:28 -04:00
Anuken
9398ac5088 GL fixes 2020-03-10 12:40:24 -04:00
Anuken
860efdc052 GL Optimization 2020-03-10 12:10:53 -04:00
Anuken
ade989aecb Removed Shader#end 2020-03-10 10:32:40 -04:00
unakiritan
12380f54d2 Create short-description.txt
Japanese Steam metadata.
2020-03-10 14:51:43 +09:00
Vanguard
c4d3c18dda Merge branch 'master' into master 2020-03-10 05:44:57 +03:00
Vanguard
424514e037 2 new lines
schematic.replace
schematic.exists
2020-03-10 05:39:14 +03:00
Prosta4okua
521f367286 Update bundle_uk_UA.properties 2020-03-09 19:17:32 +02:00
Aldas
b4df9e37d7 Grammar corrections
grammar corrections
2020-03-09 18:39:43 +02:00
Anuken
876d193379 Bugfixes 2020-03-09 11:16:57 -04:00
Anuken
f63d1874c2 Merge remote-tracking branch 'origin/master' 2020-03-09 09:41:51 -04:00
Anuken
d7f9090c0b Fixed #1672 2020-03-09 09:41:39 -04:00
Anuken
1dc4fd0800 FX cleanup and installation 2020-03-08 22:45:32 -04:00
Anuken
0ff3c1ee78 Cleanup 2020-03-08 21:53:19 -04:00
Anuken
863c7ae2bc Removed unit factory limit 2020-03-08 17:49:19 -04:00
Anuken
7ae0192a09 Crash fix 2020-03-08 12:12:06 -04:00
Anuken
12c4395508 Added basic respawning 2020-03-07 23:24:22 -05:00
DeltaNedas
9ef394a99e set current mod to required mod (#1684)
or you will need to prefix mod name in requires of the required mod
instead you now need to prefix current mods name after youve required from another mod
2020-03-07 22:47:12 -05:00
Anuken
7aa71f38c3 Merge remote-tracking branch 'origin/master' 2020-03-07 14:36:50 -05:00
Anuken
8b3d64a29a Better error detection 2020-03-07 14:36:47 -05:00
Anuken
7b144cbec6 Attribute tweaks 2020-03-07 13:56:57 -05:00
Anuken
1e0067d64b Bugfixes 2020-03-07 10:27:29 -05:00
Anuken
7655b65363 Bugfixes / Fixed #1680 2020-03-06 17:06:21 -05:00
Anuken
ae0b84cef0 Increased max block size 2020-03-06 16:31:09 -05:00
Anuken
a02c7989b4 Bugfixes 2020-03-06 16:10:13 -05:00
Anuken
60d28fb01b Bugfixes 2020-03-06 16:07:07 -05:00
Anuken
f8b554aff8 Fixed some basic crashes 2020-03-06 15:30:51 -05:00
Anuken
77f406e9b8 Fixed core errors 2020-03-06 15:22:13 -05:00
Anuken
4358658889 Down to less than 100 errors 2020-03-06 14:55:06 -05:00
Anuken
73c0ebb75f Fixed most errors in block package 2020-03-06 14:41:38 -05:00
Anuken
4744465986 More cleanup, nearing completion of block refactor 2020-03-06 12:19:26 -05:00
Patrick 'Quezler' Mounier
f931469132 This does ¬ seem nececary anymore somehow 2020-03-06 18:08:18 +01:00
Patrick 'Quezler' Mounier
afdb0aa8c2 Fix sleep visualizer 2020-03-06 17:21:17 +01:00
Patrick 'Quezler' Mounier
73414d7c2a Collapse if 2020-03-06 14:59:12 +01:00
Patrick 'Quezler' Mounier
c1f025db52 Rename reload to cooldown 2020-03-06 14:57:11 +01:00
Patrick 'Quezler' Mounier
087aef6b85 Move capacity into crater 2020-03-06 11:06:35 +01:00
Patrick 'Quezler' Mounier
7ddcd93a57 Use extended position 2020-03-06 10:28:49 +01:00
Patrick 'Quezler' Mounier
caa25b811b Condense single use rotation 2020-03-06 10:22:37 +01:00
Patrick 'Quezler' Mounier
5a60ab1d2a Privatize drawer 2020-03-06 10:20:47 +01:00
Patrick 'Quezler' Mounier
8a25d57c83 This looks good to 2020-03-06 10:17:02 +01:00
Patrick 'Quezler' Mounier
c5de6706e0 Eyecandyfi 2020-03-06 10:14:52 +01:00
Patrick 'Quezler' Mounier
f50ee2ecf2 Try to clean up the end of tile logic 2020-03-06 09:52:28 +01:00
Patrick 'Quezler' Mounier
11fc494284 Clean up transfer code 2020-03-06 09:34:09 +01:00
Anuken
1c48c1a43e Cleanup 2020-03-05 23:23:10 -05:00
Anuken
2e19504b65 it begins 2020-03-05 20:27:42 -05:00
Anuken
5a0d079a78 oh no 2020-03-05 18:05:59 -05:00
Anuken
89a5c957fd add mod name to js print() (#1677)
* add mod name to js print()

* add mod name to errors
2020-03-05 15:58:10 -05:00
Patrick 'Quezler' Mounier
e05f755a4e Remove unused import 2020-03-05 21:30:18 +01:00
Patrick 'Quezler' Mounier
44bff5b7cf Remove conveyor integration remnants 2020-03-05 21:29:19 +01:00
Patrick 'Quezler' Mounier
e2b9977ebc Remove omnidirectional due to issues 2020-03-05 21:27:28 +01:00
Patrick 'Quezler' Mounier
3e51abf6eb Try to fix blending with omnidirectional 2020-03-05 21:24:51 +01:00
Patrick 'Quezler' Mounier
c1f765a467 Bodge in a rotational blend bypass 2020-03-05 20:26:34 +01:00
Patrick 'Quezler' Mounier
e67667e4a3 Remove preemtive unload 2020-03-05 20:09:09 +01:00
Patrick 'Quezler' Mounier
14a97976cc Realign pixels
Bothered me for ages.
2020-03-05 19:48:36 +01:00
Anuken
2dfbbdfd5b Beginning work on respawning 2020-03-05 12:12:03 -05:00
Patrick 'Quezler' Mounier
4a3e00f822 Fix early return 2020-03-05 15:21:41 +01:00
Anuken
39ee31d748 Fixed #1673 2020-03-05 08:45:14 -05:00
Patrick 'Quezler' Mounier
3ac50a3f3e , 2020-03-05 14:42:37 +01:00
Patrick 'Quezler' Mounier
6fb4c79f82 Fix sleeping while reloading 2020-03-05 14:29:27 +01:00
Patrick 'Quezler' Mounier
9c75133fc8 Blend tripod dumper with conveyors 2020-03-05 14:21:41 +01:00
Patrick 'Quezler' Mounier
fd61add2e4 Cleanup update loop 2020-03-05 14:10:28 +01:00
Patrick 'Quezler' Mounier
acd695a469 Messy cleanup 2020-03-05 13:40:44 +01:00
Patrick 'Quezler' Mounier
5036506547 Rotate smoother 2020-03-05 13:28:23 +01:00
Patrick 'Quezler' Mounier
b0becbad38 Fix unloading prematurely 2020-03-05 13:22:50 +01:00
Patrick 'Quezler' Mounier
bcb87f8f76 Update description accordingly 2020-03-05 12:15:38 +01:00
Patrick 'Quezler' Mounier
ecb09c0f04 Dump like bridges do 2020-03-05 12:11:55 +01:00
Patrick 'Quezler' Mounier
e7298702a1 Delete drafts 2020-03-05 10:50:21 +01:00
Patrick 'Quezler' Mounier
b74cf71f40 Come up with a new description 2020-03-05 10:50:08 +01:00
Patrick 'Quezler' Mounier
2025c7c669 Fix mech dropoff ¬ working 2020-03-05 10:35:48 +01:00
Patrick 'Quezler' Mounier
00249f62b6 Cleanup if chains 2020-03-05 10:28:10 +01:00
Patrick 'Quezler' Mounier
9df875354a Revert "Repurpose branch to be played"
This reverts commit ff578c8540.

# Conflicts:
#	tools/crater-deploy.sh
2020-03-05 10:10:00 +01:00
Patrick 'Quezler' Mounier
9bc340ba17 Fix end ¬ rendering 2020-03-05 10:08:22 +01:00
Patrick 'Quezler' Mounier
79c965bf8d Move sleep detector to renderer 2020-03-05 10:08:15 +01:00
Patrick 'Quezler' Mounier
e5e4884448 Merge branch 'master' into crater
# Conflicts:
#	core/assets/sprites/block_colors.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites3.png
#	core/assets/sprites/sprites5.png
#	core/src/mindustry/world/modules/ItemModule.java
2020-03-05 10:00:02 +01:00
Anuken
882076030d Added back tapping 2020-03-04 19:58:48 -05:00
Anuken
c02c00cdfb Schematic tweaks and improvements 2020-03-04 19:21:40 -05:00
Anuken
0534a4da45 Update bundle_zh_TW.properties (#1665) 2020-03-04 13:53:54 -05:00
Anuken
31c9b61358 Updated join.info (#1666) 2020-03-04 13:53:47 -05:00
Anuken
ff44b0ca85 Small RU fix (#1670) 2020-03-04 13:53:27 -05:00
Anuken
a36a0cad53 RU updates to Android description (#1663) 2020-03-04 13:53:19 -05:00
Anuken
0dfb3b1c1b Update achievements.vdf (#1668)
* Update achievements.vdf

* Update achievements.vdf

* Update achievements.vdf

Co-authored-by: Anuken <arnukren@gmail.com>
2020-03-04 13:53:12 -05:00
Anuken
c7112a706a Update bundle_uk_UA.properties (#1636)
* Update bundle_uk_UA.properties

* Update uk metadata

* Update uk bundles

* Update achievemnts
2020-03-04 13:52:20 -05:00
Anuken
2684a960fa Create 104.4 (#1671)
* Create 104.4

* Update 104.4
2020-03-04 13:52:02 -05:00
Anuken
a5e07bfd29 Created fastlane/metadata/android/ru-RU/changelogs (#1669)
* Created fastlane/metadata/android/ru-RU/changelogs

104.4.txt

* Update 104.4.txt
2020-03-04 13:51:56 -05:00
Anuken
3eea0ea065 Bugfixes, tweaks 2020-03-04 13:48:00 -05:00
Anuken
fbbec816e8 Merged in object configuration 2020-03-04 13:33:14 -05:00
Anuken
cf31293d7b Many internal changes 2020-03-04 13:32:31 -05:00
Patrick 'Quezler' Mounier
3b2b7be72a Remove nested app.post (#1667) 2020-03-04 11:58:16 -05:00
Vanguard
307f9ee297 2 changed lines
link.trello.description
link.feathub.description
2020-03-04 19:51:48 +03:00
Anuken
c96427c722 Bugfixes 2020-03-04 09:01:41 -05:00
Anuken
503607e36a Fixed #1661 2020-03-04 08:39:48 -05:00
Anuken
aeae286273 Merge branch '6.0' of https://github.com/Anuken/Mindustry into object-config
# Conflicts:
#	core/src/mindustry/entities/traits/BuilderTrait.java
#	core/src/mindustry/entities/type/TileEntity.java
#	core/src/mindustry/game/EventType.java
#	core/src/mindustry/game/Schematics.java
#	core/src/mindustry/input/InputHandler.java
#	core/src/mindustry/io/TypeIO.java
#	core/src/mindustry/world/Block.java
#	core/src/mindustry/world/blocks/distribution/Sorter.java
2020-03-04 08:38:36 -05:00
Vanguard
1bbdedec72 1 changed line
join.info
2020-03-04 14:59:57 +03:00
Anuken
2581353c5e Merge branch '6.0' of https://github.com/Anuken/Mindustry into object-config
# Conflicts:
#	core/src/mindustry/entities/traits/BuilderTrait.java
#	core/src/mindustry/entities/type/TileEntity.java
#	core/src/mindustry/game/EventType.java
#	core/src/mindustry/game/Schematics.java
#	core/src/mindustry/input/InputHandler.java
#	core/src/mindustry/io/TypeIO.java
#	core/src/mindustry/world/Block.java
#	core/src/mindustry/world/blocks/distribution/Sorter.java
2020-03-03 21:33:03 -05:00
Anuken
087f8129b9 Tile code cleanup 2020-03-03 19:29:41 -05:00
Anuken
bac1648d4b Added support for changing cached floor/terrain 2020-03-03 17:01:09 -05:00
Anuken
f1aadd97a8 Merge branch 'master' of https://github.com/Anuken/Mindustry into 6.0
# Conflicts:
#	core/src/mindustry/core/Logic.java
#	gradle.properties
2020-03-03 12:12:25 -05:00
Anuken
64c1800391 Merge remote-tracking branch 'origin/master' 2020-03-03 12:11:49 -05:00
Anuken
2a191a45be Cleanup 2020-03-03 12:11:47 -05:00
Anuken
e8823fab36 More concise stream class 2020-03-03 12:11:35 -05:00
Anuken
3858cdd4c5 Added map region class 2020-03-03 12:08:31 -05:00
Aldas
cdb8682d43 Updated data.import.confirm lane (#1658)
Updated data.import.confirm lane
2020-03-03 10:36:34 -05:00
fuzzbuck
8e9dabb350 Add "pardon" command for votekicks (#1570)
* Add "pardon" command

Allows players who have been incorrectly votekicked to join again

* isn't hasn't

* getInfoOptional & space

* pardon me

no pun intended

* Update ServerControl.java
2020-03-02 13:37:04 -05:00
Anuken
ceac809c1d Cleanup 2020-03-02 10:44:56 -05:00
Recessive
b512169d44 Added AA ffa to server list (#1605)
* Added AA ffa to server list

* Changed ip to use custom domain
2020-03-02 10:40:50 -05:00
Aldas
d3b7dd973f Grammar corrections (#1656)
Grammar and logic corrections
2020-03-02 10:02:56 -05:00
Anuken
f88fe898ff Updated bundle 2020-03-01 21:23:50 -05:00
Lapis+
d93ca520ae Update bundle_ja.properties (#1578) 2020-03-01 21:09:08 -05:00
Vanguard
cdf8514ac8 RU updates (#1584)
* 1 changed line, 1 removed line

Changed:
keybind.zoom.name

Removed:
keybind.zoom_hold.name

Moved some lines around to keep them in the same order with bundle.properties

* 1 changed line

tutorial.intro

* 3 new lines, 3 changed lines

New:
mod.erroredcontent
mod.errors
mod.noerrorplay

Changed:
mod.requiresversion
mod.remove.confirm
details

* 2 changed lines

mods.guide
mod.import.github

* 1 new line

link.feathub.description

* 1 changed line

item.graphite.description

* 1 changed line

block.mass-driver.description

* 9 new lines, 1 changed line

New:
be.update
be.update.confirm
be.updating
be.ignore
be.noupdates
be.check
server.kicked.serverRestarting
setting.coreselect.name
rules.blockhealthmultiplier

Changed:
wave.enemy

* 3 changed lines

quit.confirm.tutorial
setting.coreselect.name
public.confirm

* 22 changed lines

mod.missing
item.plastanium.name
block.plastanium-wall.name
block.plastanium-wall-large.name
block.plastanium-compressor.name
item.scrap.description
item.spore-pod.description
item.blast-compound.description
liquid.oil.description
unit.revenant.description
block.multi-press.description
block.plastanium-compressor.description
block.spore-press.description
block.power-source.description
block.force-projector.description
block.conveyor.description
block.mass-driver.description
block.liquid-junction.description
block.phase-conduit.description
block.thorium-reactor.description
block.blast-drill.description
block.cyclone.description

* 3 new lines, 2 removed lines

New:
setting.bridgeopacity.name
block.liquid-void.name
block.liquid-void.description

Removed:
block.signal
block.editsignal

* 1 new line

data.openfolder

* 1 changed line

block.cryofluidmixer.description

* 2 new lines

block.underflow-gate.name
block.underflow-gate.description

* 2 changed lines

unit.thousands
unit.millions

* 3 new lines

blocks.tiles
blocks.affinities
setting.playerlimit.name

* 1 changed line

block.underflow-gate.name

* 1 changed line

unit.thousands

* 1 changed line

blocks.affinities

* 1 changed line (reverted)

unit.thousands

* Update bundle_ru.properties

* 1 new line

mod.display

* 1 changed line

techtree

* 1 changed line (new approach)

techtree

* 1 changed line

editor.generate

* 1 new line

stat.playtime

* 3 new lines

servers.local
servers.remote
servers.global

* 3 changed lines

servers.local
servers.remote
servers.global

* 1 changed line

setting.pixelate.name

* 1 line removed

schematic.replace

* 1 new line

rules.solarpowermultiplier

* 2 changed lines

unit.thousands
unit.millions

Co-authored-by: Anuken <arnukren@gmail.com>
Co-authored-by: Prosta4okua <31485341+Prosta4okua@users.noreply.github.com>
2020-03-01 21:06:16 -05:00
Dexapnow
62c7b5f691 Update bundle_pl.properties (#1643) 2020-03-01 21:04:07 -05:00
AmateurPotion
a6ddb1d187 Update bundle_ko.properties (#1629) 2020-03-01 21:03:41 -05:00
StarMiner99
4c28c30228 [Lang] Changed some nl Translations (#1626)
* fixed translations till line 180

fixed nl translations

* Fixed most nl translations

* small fixes

suggested by Quezler
2020-03-01 21:03:00 -05:00
Anuken
182a8837be Save satellite presence 2020-03-01 20:58:33 -05:00
Anuken
c3a790bfd2 2 2020-03-01 16:29:04 -05:00
Anuken
7d84300c31 Updated arc 2020-03-01 16:22:38 -05:00
Anuken
ab7e840eee Cleanup 2020-03-01 16:20:42 -05:00
Anuken
a31de609ce BufferUtils -> Buffers 2020-03-01 16:19:04 -05:00
Anuken
9ddd76d6cb Cleanup 2020-03-01 15:41:10 -05:00
Anuken
c6fc103bff Merge branches '6.0' and 'master' of https://github.com/Anuken/Mindustry into 6.0 2020-03-01 12:55:51 -05:00
Anuken
6f5815abc8 Merge remote-tracking branch 'origin/master' 2020-03-01 12:34:07 -05:00
Anuken
c59a3116ad Better JNI error checking (**needs recompilation**) 2020-03-01 12:34:01 -05:00
Anuken
3ed5282e14 Better sector null checks 2020-03-01 12:15:38 -05:00
Anuken
51cec64118 Merge remote-tracking branch 'origin/6.0' into 6.0 2020-03-01 00:09:07 -05:00
Anuken
a2a9cffdee Moved some methods around 2020-03-01 00:09:03 -05:00
Prosta4okua
057f3aead7 Update bundle_uk_UA.properties (#1644) 2020-02-29 21:46:38 -05:00
Anuken
4b36a6d5bd Bugfixes 2020-02-29 19:37:14 -05:00
Anuken
26c328ae34 Bugfixes and cleanup 2020-02-29 12:43:37 -05:00
Anuken
7a01719816 Real-time lighting + solar system rendering 2020-02-29 11:58:10 -05:00
Aldas
bcc901b3ef Add bundle_lt.properties for lithuanian translation (#1650)
* Create bundle_lt.properties file

Translated first 480 lines. Soon other half will be translated

* Update bundle_lt.properties

* Update bundle_lt.properties

* Update bundle_lt.properties

* Update bundle_lt.properties

* Update bundle_lt.properties
2020-02-29 09:02:45 -05:00
Anuken
f0857fa22d Universe time + Progress on solar system framework 2020-02-28 20:21:00 -05:00
b1tt
56b2b8ed79 gp ru full_description.txt grammar fix (#1645)
unnecessary comma ig
2020-02-28 15:47:28 -05:00
Anuken
38ab1473f2 Backport of fixed lighting + overflow crash fix 2020-02-28 13:46:16 -05:00
Anuken
04f8282821 Better lighting 2020-02-28 13:44:03 -05:00
Anuken
120d96c775 Sun + dynamic lighting 2020-02-28 13:18:06 -05:00
Anuken
21bd7a75f0 Added icosphere generator 2020-02-27 20:39:41 -05:00
Anuken
bc7671b08d Merge remote-tracking branch 'origin/master' 2020-02-27 10:08:19 -05:00
Anuken
709bd4952f Added PC hardware flag 2020-02-27 10:08:09 -05:00
Anuken
dcf75222d9 Cleanup 2020-02-27 10:04:56 -05:00
Anuken
1e53ea50b0 Added support for export/import of all basic terrain as image 2020-02-26 19:37:22 -05:00
Anuken
fdaac290ac Better previews 2020-02-26 14:44:06 -05:00
xaumex
c361e5c26d Update Silicon translation in spanish (#1639)
Silicone (en) = Silicona (es)
Silicon (en) = Silicio (es)
2020-02-26 11:01:56 -05:00
Anuken
a1fd621eb6 Fast sector save access, structural changes 2020-02-25 23:40:26 -05:00
Patrick 'Quezler' Mounier
8bbd8489e0 Remember scroll position when a new message gets added (#1638) 2020-02-25 12:06:18 -05:00
Anuken
5f8a0ec12e Tweaks 2020-02-25 10:04:37 -05:00
Anuken
8b7f439ef5 Unfinished sector selection 2020-02-24 23:03:33 -05:00
Anuken
3211b5da01 Added plane batch 2020-02-24 15:58:36 -05:00
DeltaNedas
0c01554a6b add floatf/p and func to global.js (#1633) 2020-02-24 15:06:33 -05:00
Ali-C-Ila
251877f561 Update bundle_zh_TW.properties (#1579)
* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties
2020-02-24 11:46:20 -05:00
Patrick 'Quezler' Mounier
ce1884512d Null the block as well? (#1630) 2020-02-24 11:44:39 -05:00
Anuken
cfbe631e66 Merge 2020-02-23 20:14:38 -05:00
Anuken
7f53328f52 Refactored planet rendering to different classes 2020-02-23 19:05:25 -05:00
soytheLB
c989504bf6 Update bundle_es.properties (#1624)
Corrected some misspellings.
Added warning text in router.
Changed description of alloy smelter to keep with the translated name of surge alloy.
Added a missed dot from my previous translation.
2020-02-23 10:44:09 -05:00
Patrick 'Quezler' Mounier
e592d6fe52 Add nydus to global server list (#1625) 2020-02-23 10:34:53 -05:00
Anuken
9af93dc44d Slightly larger sectors 2020-02-22 22:40:16 -05:00
Anuken
91f2eaf53a Bugfixes 2020-02-22 20:02:41 -05:00
Anuken
c8a762df42 Minor assignment tweak 2020-02-22 19:53:14 -05:00
Anuken
66bcb294fb Update issue templates 2020-02-22 19:35:14 -05:00
Anuken
501e909039 Merge remote-tracking branch 'origin/master' 2020-02-22 19:32:10 -05:00
Anuken
2cd69230e0 Changed feathub link 2020-02-22 19:32:01 -05:00
Anuken
68b9bfe907 Cleanup 2020-02-22 19:30:39 -05:00
Anuken
ae66ca468d Update README.md 2020-02-22 19:30:02 -05:00
Anuken
0846198721 Updated issue templates 2020-02-22 19:25:05 -05:00
Anuken
966fff70ed 2 2020-02-22 17:28:48 -05:00
Anuken
9788f9b981 Tweaks 2020-02-22 17:28:13 -05:00
Anuken
6e4b02db5a Correctly seeded sectors 2020-02-22 15:28:56 -05:00
Vanguard
5735fba4c7 2 changed lines
unit.thousands
unit.millions
2020-02-22 20:21:05 +03:00
Anuken
2afb175560 Generation tweaks 2020-02-22 12:05:31 -05:00
GioIacca9
47618ac21f Translated #1593 (#1621) 2020-02-22 10:33:22 -05:00
Patrick 'Quezler' Mounier
f891c42847 Remove bundle key space (#1619) 2020-02-22 08:43:54 -05:00
Anuken
4a40172782 Cleaned up bullet sprites 2020-02-22 00:28:03 -05:00
Anuken
baa0eb1149 Added cliffs as separate block 2020-02-21 23:45:25 -05:00
Anuken
6871db7155 Visual tweaks 2020-02-21 22:58:18 -05:00
Vanguard
2fc17fea2a 1 new line
rules.solarpowermultiplier
2020-02-22 04:04:53 +03:00
Petr Gašparík
0a98597ad0 Czech translation - sync with v104 (#1612)
* Czech translation - sync with changes

* Czech translation - sync with updates

* Czech translation - small fix
2020-02-21 16:27:05 -05:00
Patrick 'Quezler' Mounier
b7a8fa4191 Fix typo in banned comment (#1617) 2020-02-21 13:49:15 -05:00
Anuken
a5e469e96c Complete planet panning 2020-02-21 13:48:50 -05:00
DeltaNedas
fe22d334dc Separate ambient light and solar panel efficiency (#1593)
* new branch

* Separate ambient light and solar panel efficiency

* Made ambient light -> solar efficiency default
2020-02-21 11:38:56 -05:00
bobthebadguy
de560ac6f8 Fixed small typo (#1613)
Now there are 70 pull requests.
2020-02-21 09:58:11 -05:00
Patrick 'Quezler' Mounier
ff652f2515 +1 technical correctness (#1615) 2020-02-21 09:57:48 -05:00
Anuken
99d3e9ae7c Generator cleanup 2020-02-20 20:28:23 -05:00
Anuken
abec83a3e1 Merge pull request #1611 from Dexapnow/patch-1
Update bundle_pl.properties
2020-02-20 10:46:37 -05:00
Anuken
97f342aceb . 2020-02-20 10:34:17 -05:00
Dexapnow
23e4d1dd84 Update bundle_pl.properties 2020-02-20 14:05:38 +01:00
Petr Gašparík
2b0f06649c Czech translation - small fix 2020-02-20 12:14:06 +01:00
Petr Gašparík
f818f787c3 Czech translation - sync with updates 2020-02-20 12:11:21 +01:00
Petr Gašparík
405c37abcd Merge branch 'master' of https://github.com/Anuken/Mindustry into v104 2020-02-20 12:10:42 +01:00
Dexapnow
3bb4820e79 Update bundle_pl.properties
Some things just were confusing
2020-02-20 09:46:37 +01:00
Anuken
32dcae8fd3 Update bundle.properties 2020-02-19 13:49:40 -05:00
Petr Gašparík
60079c79f3 Czech translation - sync with changes 2020-02-19 19:26:44 +01:00
Petr Gašparík
c60f817f2c Merge branch 'master' of https://github.com/Anuken/Mindustry into v104 2020-02-19 19:16:52 +01:00
Anuken
1d1c73fd6f Merge 2020-02-19 13:10:25 -05:00
Anuken
e8ca5fe211 More iOS stuff 2020-02-19 11:03:12 -05:00
Anuken
b2dd2c8441 Cleanup 2020-02-19 10:31:15 -05:00
Anuken
73995c7764 Merge remote-tracking branch 'origin/master' 2020-02-19 10:21:42 -05:00
Anuken
a866af40cb iOS fixes 2020-02-19 10:21:35 -05:00
Anuken
71f1fb5d66 Cleanup 2020-02-19 10:17:56 -05:00
Vanguard
10732ccb5a 1 line removed
schematic.replace
2020-02-19 15:33:53 +03:00
Anuken
65800a51c6 Sector darkness boundaries 2020-02-19 00:29:48 -05:00
Anuken
6317e0816a Merge pull request #1607 from hellomouse/name-change-fix
Reset local player name on disconnect
2020-02-18 23:52:05 -05:00
iczero
b3e9e12279 Reset local player name on disconnect 2020-02-18 21:52:42 -05:00
Anuken
48c04bda8c Map tweaks 2020-02-18 20:07:07 -05:00
Anuken
4a55dde5ee Bugfixes 2020-02-18 19:54:35 -05:00
Anuken
afd31c2b42 Merge remote-tracking branch 'origin/6.0' into 6.0 2020-02-18 19:34:17 -05:00
Anuken
53996d8a8d Circular sector maps 2020-02-18 19:34:07 -05:00
Anuken
378a5d5239 Removed bloom on iOS 2020-02-18 12:40:53 -05:00
Anuken
62330d6c99 Merge remote-tracking branch 'origin/master' 2020-02-18 12:23:07 -05:00
Anuken
10f3c722b6 iOS fixes 2020-02-18 12:23:04 -05:00
Anuken
711faa6e2a Merge pull request #1597 from GioIacca9/patch-3
Update block.pyratite-mixer.description
2020-02-18 11:51:37 -05:00
Anuken
48124bc731 Merge pull request #1603 from indielm/patch-4
Update servers.json
2020-02-18 11:45:12 -05:00
Anuken
0f43690aaf More unlocks? 2020-02-18 11:43:06 -05:00
Anuken
a655e18b87 Merge remote-tracking branch 'origin/master' 2020-02-18 11:35:36 -05:00
Anuken
2038409283 Removed schematic replacement dialog 2020-02-18 11:35:28 -05:00
Anuken
8b14219bab Merge pull request #1583 from Prosta4okua/patch-9
6.0
2020-02-18 10:39:22 -05:00
Anuken
d9ae8e5a28 Merge pull request #1571 from artur309/master
Added new lines and some small translation.s
2020-02-18 10:32:30 -05:00
Anuken
507f553295 Merge pull request #1592 from QmelZ/patch-1
Translation to Turkish
2020-02-18 10:32:08 -05:00
Anuken
08509dafb1 Merge pull request #1573 from soytheLB/patch-2
Update bundle_es to version #149465
2020-02-18 10:31:46 -05:00
Anuken
da2cc292c3 Wall generation 2020-02-17 20:33:01 -05:00
indielm
e7a6dcde3d Update servers.json 2020-02-17 16:02:49 -05:00
Anuken
e215772f30 Added backwards compatibility for legacy saves 2020-02-17 11:13:46 -05:00
Anuken
18d4efa315 Merge 2020-02-17 09:30:36 -05:00
Anuken
b96d5c417f Fixed #1601 2020-02-17 09:27:51 -05:00
Anuken
6d68e10804 Bugfixes, cleanup 2020-02-16 22:22:10 -05:00
Anuken
e71230755d Fixed omnidirectional shooting with ignored rotation 2020-02-16 13:49:29 -05:00
Anuken
7a8bd82f8e Improved controls / Re-added engine sprite 2020-02-16 13:16:18 -05:00
GioIacca9
f650963cf4 Update block.pyratite-mixer.description 2020-02-16 19:06:50 +01:00
Andreas Gamborg
35c130c4ff Create bundle_da.properties
Added file for danish translated.
I have translated the first 200 lines.
2020-02-16 16:42:39 +01:00
Anuken
e677538c53 Fixed a crash 2020-02-15 15:55:37 -05:00
Anuken
8b4fcf99a6 Building / Fixed some tests 2020-02-15 14:51:31 -05:00
Anuken
1fe0a7d81e Fixed mock audio package 2020-02-15 12:41:57 -05:00
Anuken
03d0f54083 class IDs 2020-02-15 12:39:22 -05:00
Anuken
1f65ba185a Fixed unit drowning effects 2020-02-15 12:39:13 -05:00
QmelZ
47f63dd006 Translation to Turkish
I translated all the default ones left, fully finished.
2020-02-15 15:15:27 +02:00
Anuken
024f2d62e2 Planet sector metadata 2020-02-14 20:08:07 -05:00
Anuken
7f56cdc1e9 Better planet terrain 2020-02-14 14:12:22 -05:00
Anuken
abaa462645 Added entity revisions 2020-02-14 12:54:44 -05:00
Anuken
d37886b2cd Fixed #1585 2020-02-14 09:51:09 -05:00
Prosta4okua
ff74a212c5 Update bundle_uk_UA.properties 2020-02-14 12:38:58 +02:00
Prosta4okua
a4d42ea22c 6.0 2020-02-14 12:35:17 +02:00
Anuken
c4d4dcb9db TypeIO resolution 2020-02-13 23:10:18 -05:00
Anuken
c4464e67fd Fixed IO issues 2020-02-13 22:26:24 -05:00
Anuken
09c57c32d6 Better IO 2020-02-13 22:11:59 -05:00
Anuken
e3621f44da Barely functional IO 2020-02-13 19:26:36 -05:00
Vanguard
fc46708677 1 changed line
setting.pixelate.name
2020-02-14 03:24:27 +03:00
Anuken
ad248e2e20 Autogeneration of some IO code 2020-02-13 13:30:30 -05:00
Anuken
47f075133f Merge 2020-02-13 11:22:29 -05:00
Anuken
0678f54e25 Fixed bloom darkening sprites / Changed pixelate desc 2020-02-13 10:17:43 -05:00
Anuken
c45dd74404 Merge remote-tracking branch 'origin/master' 2020-02-13 10:04:50 -05:00
Anuken
58b31bd799 Added support for animations w/ pixelation + map screenshots 2020-02-13 10:04:45 -05:00
Anuken
c067be2add Added client creation event 2020-02-13 09:11:35 -05:00
Anuken
767743b837 Merge pull request #1575 from Quezler/patch-23
[typo] appropriate
2020-02-13 08:43:05 -05:00
Anuken
1d60f0d8d7 Merge pull request #1574 from laohuaji233/patch-25
Update bundle_zh_CN.properties
2020-02-13 08:42:40 -05:00
Patrick 'Quezler' Mounier
1ac22bec61 Oh look, another penny! 💸 2020-02-13 08:57:10 +01:00
Patrick 'Quezler' Mounier
5dd86c0cbd Remove unappropriate spelling of appropriate 2020-02-13 08:54:44 +01:00
laohuaji233
93de060ad5 Update bundle_zh_CN.properties 2020-02-13 14:56:46 +08:00
soytheLB
c5fcc30422 Update bundle_es to version #149465
Added translation to the following:
 Line 62 stat.playtime
Line 108 mod. display
Line 176 servers.local
Line 177 servers.remote
Line 178 servers.global
line 261 data.open.folder
Line 542 block.tiles
Line 543 block.afinities
Line 678 Player.limit
Line 681 bridge.opacity
Changed cancel building from "impiar" to "limpiar"
Changed Lich unit name to "Exánime".
Translated name for scatter turret.
Changed wave name from "Horda" to "Ola". (Horda reffers to enemy waves while ola means sea waves)
Changed name swarmer from "enjambredor" to "enjambre".
changed turrets description to be closer to the english version.
Changed factories descriptions to be closer to english version
2020-02-12 23:46:27 -03:00
Anuken
932b4d541d Cleanup 2020-02-12 19:40:35 -05:00
Artur Quaresma
97355263df Added new lines and some small translation.s
I added new lines and some small transaltions that was missing.
2020-02-12 21:09:58 +00:00
Anuken
2a5a018616 Merge pull request #1568 from indielm/patch-2
Update servers.json
2020-02-12 14:33:02 -05:00
Anuken
1e454bbee8 Merge pull request #1569 from DeltaNedas/patch-7
:)
2020-02-12 14:32:52 -05:00
DeltaNedas
948d184c40 :) 2020-02-12 19:28:54 +00:00
indielm
30054dffbc Update servers.json 2020-02-12 14:11:08 -05:00
Anuken
031b6e0bf8 Fixed #1565 2020-02-12 13:26:29 -05:00
Anuken
258945a45a Team validation 2020-02-12 12:47:02 -05:00
Anuken
e798619679 Bugfixes 2020-02-12 11:25:00 -05:00
Anuken
5c48ae2158 Fixed #1558 / Fixed #1556 2020-02-12 10:16:43 -05:00
Petr Gašparík
0e48ff241c Merge branch 'master' of https://github.com/Anuken/Mindustry into v104 2020-02-12 12:43:54 +01:00
Anuken
bb380f7feb Fixed #1555 2020-02-11 23:15:51 -05:00
Anuken
03fe3a04ba Merge pull request #1553 from heckelson/patch-1
translated; spelling errors, odd phrases removed
2020-02-11 21:42:09 -05:00
Anuken
6fd0205495 Merge 2020-02-11 19:55:02 -05:00
Alexander H
68e403557a translated; spelling errors, odd phrases removed
I've gone through the German translation file looking for missing translations, which I provided, as well as spelling errors and odd phrases, which I continued to remove. I also replaced every [LIGHT_GRAY] tag with [lightgray] for uniformity.
2020-02-12 01:46:13 +01:00
Anuken
c5b88c2763 Added changelogs 2020-02-11 18:59:09 -05:00
Anuken
0cbd9a1fcc Removed redundant file move code 2020-02-11 18:03:17 -05:00
Anuken
3102931cb4 Removed script wrapper 2020-02-11 17:50:16 -05:00
Anuken
fb302d49c7 Improved battery brightness display / Palette tweak / Diffgen buff 2020-02-11 17:27:33 -05:00
Anuken
a4a3e7fc48 Merge pull request #1514 from Arkanic/patch-7
make batteries glow based on power contents (a redo that works)
2020-02-11 16:31:14 -05:00
Anuken
eb87e5f265 Single-script mod case 2020-02-11 16:14:01 -05:00
Anuken
9c2569d4f5 Merge pull request #1477 from DeltaNedas/patch-5
controlled script loading
2020-02-11 16:03:38 -05:00
Anuken
ce3f4ed0fb Merge remote-tracking branch 'origin/master' 2020-02-11 15:54:23 -05:00
Anuken
1b94eed9d3 Fixed conveyors blending with enemy teams 2020-02-11 15:54:16 -05:00
Anuken
aafecfebbb Merge pull request #1468 from Prosta4okua/patch-7
Update bundle_uk_UA.properties
2020-02-11 15:45:12 -05:00
Anuken
5bbe4af71b Merge pull request #1466 from Vam-Jam/PlayerList
[Added] Dedicated Players command
2020-02-11 15:45:02 -05:00
Anuken
de9a14c903 Czech translation for 103.x changelog (#1455)
* Czech translation for 103.x changelog

* Czech translation - mod display

* Czech translation - fix typos

* Czech: added Time played + small format corr.

* Czech for server categories!
2020-02-11 15:40:33 -05:00
Ali-C-Ila
5ab47f4fe0 Update bundle_zh_TW.properties (#1454)
* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties
2020-02-11 15:40:24 -05:00
Vanguard
435860eda4 RU updates (#1442)
* 1 changed line, 1 removed line

Changed:
keybind.zoom.name

Removed:
keybind.zoom_hold.name

Moved some lines around to keep them in the same order with bundle.properties

* 1 changed line

tutorial.intro

* 3 new lines, 3 changed lines

New:
mod.erroredcontent
mod.errors
mod.noerrorplay

Changed:
mod.requiresversion
mod.remove.confirm
details

* 2 changed lines

mods.guide
mod.import.github

* 1 new line

link.feathub.description

* 1 changed line

item.graphite.description

* 1 changed line

block.mass-driver.description

* 9 new lines, 1 changed line

New:
be.update
be.update.confirm
be.updating
be.ignore
be.noupdates
be.check
server.kicked.serverRestarting
setting.coreselect.name
rules.blockhealthmultiplier

Changed:
wave.enemy

* 3 changed lines

quit.confirm.tutorial
setting.coreselect.name
public.confirm

* 22 changed lines

mod.missing
item.plastanium.name
block.plastanium-wall.name
block.plastanium-wall-large.name
block.plastanium-compressor.name
item.scrap.description
item.spore-pod.description
item.blast-compound.description
liquid.oil.description
unit.revenant.description
block.multi-press.description
block.plastanium-compressor.description
block.spore-press.description
block.power-source.description
block.force-projector.description
block.conveyor.description
block.mass-driver.description
block.liquid-junction.description
block.phase-conduit.description
block.thorium-reactor.description
block.blast-drill.description
block.cyclone.description

* 3 new lines, 2 removed lines

New:
setting.bridgeopacity.name
block.liquid-void.name
block.liquid-void.description

Removed:
block.signal
block.editsignal

* 1 new line

data.openfolder

* 1 changed line

block.cryofluidmixer.description

* 2 new lines

block.underflow-gate.name
block.underflow-gate.description

* 2 changed lines

unit.thousands
unit.millions

* 3 new lines

blocks.tiles
blocks.affinities
setting.playerlimit.name

* 1 changed line

block.underflow-gate.name

* 1 changed line

unit.thousands

* 1 changed line

blocks.affinities

* 1 changed line (reverted)

unit.thousands

* Update bundle_ru.properties

* 1 new line

mod.display

* 1 changed line

techtree

* 1 changed line (new approach)

techtree

* 1 changed line

editor.generate

* 1 new line

stat.playtime

* 3 new lines

servers.local
servers.remote
servers.global

* 3 changed lines

servers.local
servers.remote
servers.global

Co-authored-by: Anuken <arnukren@gmail.com>
Co-authored-by: Prosta4okua <31485341+Prosta4okua@users.noreply.github.com>
2020-02-11 15:40:17 -05:00
AmateurPotion
5611a8684c Update bundle_ko.properties (#1490)
* Update bundle_ko.properties

Finish! yeeeee!

* Update bundle_ko.properties
2020-02-11 15:33:25 -05:00
LauweJoster
f06550fc3c Update bundle_nl.properties (#1501)
Grammar and sentence improvements. Also added translations
2020-02-11 15:32:18 -05:00
Ali-C-Ila
652c143ff6 Update bundle_zh_TW.properties (#1519) 2020-02-11 15:25:53 -05:00
Rasangus
64ade54336 Update bundle_pt_BR.properties (#1525) 2020-02-11 15:25:38 -05:00
kf-games
e6507a84ef Update Servers.json, Add PvP server MINDUSTRY.RU:7000 (#1533)
Add PvP server MINDUSTRY.RU:7000
2020-02-11 15:25:30 -05:00
Arkanic
91148a7fde oops wrong branch 2020-02-12 08:04:35 +13:00
Arkanic
e02f370228 Update README.md 2020-02-12 08:01:49 +13:00
Anuken
5aa1e30006 Bugfix 2020-02-11 13:08:42 -05:00
Anuken
ad7c72015c Better admin management 2020-02-11 13:06:52 -05:00
Anuken
d99f9740e8 USID fixes 2020-02-11 12:36:28 -05:00
Anuken
d1840e7c2a Item selection scrolling 2020-02-11 11:55:38 -05:00
Anuken
e173eb55ca Merge remote-tracking branch 'origin/master' 2020-02-11 11:30:25 -05:00
Anuken
d6b5f6a311 buildTable improvements 2020-02-11 11:30:22 -05:00
Petr Gašparík
bd6b84dc23 Merge branch 'master' of https://github.com/Anuken/Mindustry into v103.3 2020-02-11 17:20:40 +01:00
AmateurPotion
eaa0b53f30 Update README.md (#1548)
hey?
2020-02-11 11:13:26 -05:00
fuzzbuck
f14df52490 Allow admins to bypass the playerlimit [server] (#1549) 2020-02-11 11:10:50 -05:00
Petr Gašparík
29a6b1a8da Merge branch 'master' of https://github.com/Anuken/Mindustry into v103.3 2020-02-11 11:18:54 +01:00
Anuken
b15a40fcbd Cleanup / Fixed desktop IDs resetting 2020-02-10 23:26:22 -05:00
Anuken
9da2d1ee9a Merge remote-tracking branch 'origin/master' 2020-02-10 20:22:09 -05:00
Anuken
6882a9a355 Added persistent message server function 2020-02-10 20:22:03 -05:00
Anuken
47023af3d5 cleanup 2020-02-10 15:51:01 -05:00
Anuken
86d5842868 Testing new quadtree 2020-02-10 11:29:58 -05:00
Anuken
81990cf16c Optimizations 2020-02-10 11:07:10 -05:00
Anuken
6c6861a97a Cleanup 2020-02-10 10:47:21 -05:00
Anuken
0ad8408ba9 Collisions, lots of bugfixes 2020-02-10 09:58:00 -05:00
Anuken
fbadb9f4aa Group collisions 2020-02-10 09:22:19 -05:00
Patrick 'Quezler' Mounier
4bb9a93ff9 Do as i say, ¬ do as i do 2020-02-10 13:14:48 +01:00
Patrick 'Quezler' Mounier
ac3ab6971d Undo the last 5 2020-02-10 13:11:49 +01:00
Patrick 'Quezler' Mounier
66c81246b6 Fix single tile check if blendbit is 0 2020-02-10 13:02:21 +01:00
Patrick 'Quezler' Mounier
656c37372d Wrap upstream tile thingie 2020-02-10 12:57:21 +01:00
Patrick 'Quezler' Mounier
b89078733e Revert "Stash revertable"
This reverts commit 158241b8e2.
2020-02-10 12:49:44 +01:00
Patrick 'Quezler' Mounier
158241b8e2 Stash revertable 2020-02-10 12:49:36 +01:00
Patrick 'Quezler' Mounier
2bd7c92b9e Allow sideloading the unloader
Main reason for blendbits > 1 & 2
2020-02-10 12:38:48 +01:00
Patrick 'Quezler' Mounier
562fa07755 Merge branch 'master' into crater 2020-02-10 12:09:14 +01:00
Anuken
e9b066b866 Fires, puddles, feature reimplementations 2020-02-09 23:43:08 -05:00
Anuken
3feca9bbf8 Minor tweaks 2020-02-09 22:27:16 -05:00
GioIacca9
941449c502 Updated "Full implementation of #1494" (#1541) 2020-02-09 22:26:47 -05:00
Anuken
d89189debd Fixed server 2020-02-09 15:40:03 -05:00
Anuken
ae7a8e1f65 Minor tweaks 2020-02-09 14:35:22 -05:00
Anuken
c23e923ffb Merged with master 2020-02-09 12:32:29 -05:00
Anuken
a2706a80b1 Merged with master 2020-02-09 12:27:44 -05:00
Anuken
d2ab316072 ?? 2020-02-09 12:25:13 -05:00
Anuken
f9bc4a30f0 Merge 2020-02-09 12:16:12 -05:00
Anuken
d45d7f21b6 Procedural scorch marks / Bugfixes 2020-02-09 12:07:36 -05:00
Anuken
8e976c20a1 Hitbox fixes 2020-02-08 23:00:26 -05:00
Anuken
e23119e330 Feature re-implementations 2020-02-08 21:54:41 -05:00
Daniel Jennings
baab36bfc5 Trim schematic string before calling Base64Decoder (#1537)
This fixes getting the "Length of Base64 encoded input string is not a multiple of 4." error when importing schematics that have whitespace at the start/end of them, which is easy to accidentally have without knowing by when copying the schematic codes from random different web pages.
2020-02-08 16:41:33 -05:00
Anuken
5169e197b6 Bugfixes 2020-02-08 16:00:54 -05:00
Anuken
ba1f59aa71 Better physics 2020-02-08 15:39:27 -05:00
Anuken
8814dbe29a Sprite cleanup / Bullets 2020-02-08 14:48:04 -05:00
Anuken
f46be924b9 Effects, collisions, method overrides 2020-02-08 13:14:23 -05:00
Anuken
f3893533a4 Cleanup 2020-02-08 11:08:31 -05:00
Prosta4okua
0a53c4c1be Update bundle_uk_UA.properties 2020-02-08 12:26:09 +02:00
Prosta4okua
d7eb0d3ba3 Update bundle_uk_UA.properties 2020-02-08 12:23:50 +02:00
Anuken
659bfea8cf Cleanup 2020-02-07 23:12:39 -05:00
Anuken
c8455ddbc8 Added message for non-building units 2020-02-07 21:56:55 -05:00
Anuken
3a2fef3bd7 Merge remote-tracking branch 'origin/master' 2020-02-07 20:52:03 -05:00
Anuken
9ccf95971e Fixed small launch items button 2020-02-07 20:51:59 -05:00
valtsu41
9b36125b0c Finnish translation & grammar update (#1473)
* Finnish translation & grammar update

* More grammar correcting and making things more native

* Just a little more fine-tuning

* Fixes
2020-02-07 20:42:14 -05:00
Anuken
0ffcd0b94c Fixed #1507 / Fixed #1504 2020-02-07 20:21:45 -05:00
Anuken
a6801af128 Use zip files when exporting 2020-02-07 20:11:43 -05:00
Anuken
30ea039246 Fixed #1521 2020-02-07 20:11:05 -05:00
Anuken
5a5945cc52 Merge remote-tracking branch 'origin/master' 2020-02-07 20:09:45 -05:00
Anuken
e5fd3dec4c Fixed #1526 2020-02-07 20:09:37 -05:00
Anuken
8a9c92227d More movement 2020-02-07 18:55:53 -05:00
Anuken
4265d40024 Movement 2020-02-07 13:02:24 -05:00
Anuken
861b3ac3f4 Tweaks 2020-02-07 11:46:10 -05:00
Anuken
007a1bd1d2 Unit definitions 2020-02-07 11:04:58 -05:00
Anuken
b9841f9cfa a mess 2020-02-07 10:47:58 -05:00
Anuken
33e818a757 Entity name mapping 2020-02-07 09:36:51 -05:00
扩散性百万甜面包
7b586ea043 Fix a typo (#1528)
* Fix a typo

* Update core/src/mindustry/mod/Mods.java

Co-Authored-By: Patrick 'Quezler' Mounier <Quezler@me.com>

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>
2020-02-07 08:25:26 -05:00
Petr Gašparík
e98808bc46 Czech for server categories! 2020-02-07 12:35:09 +01:00
Petr Gašparík
bc37415a10 Merge branch 'master' of https://github.com/Anuken/Mindustry into v103.3 2020-02-07 12:32:33 +01:00
Prosta4okua
619b2ba897 Update bundle_uk_UA.properties 2020-02-07 12:42:59 +02:00
Patrick 'Quezler' Mounier
d7e8a8e4f4 Add comment to 〃 2020-02-07 11:02:42 +01:00
Patrick 'Quezler' Mounier
b66e03d2a8 Revert "Cache upstream"
This reverts commit 908018b97c.
2020-02-07 10:59:51 +01:00
Patrick 'Quezler' Mounier
908018b97c Cache upstream
But i do ¬ like how this turned out, so reverting :(
2020-02-07 10:59:45 +01:00
Patrick 'Quezler' Mounier
9abb08152b Prettify upsteam calculator 2020-02-07 10:51:36 +01:00
Patrick 'Quezler' Mounier
94dc220924 Finish 〃 2020-02-07 10:32:43 +01:00
Patrick 'Quezler' Mounier
3d8e83850e Refractor inputs to upstream 2020-02-07 08:41:34 +01:00
Anuken
eeae5149a1 Basic unit rendering 2020-02-06 22:08:31 -05:00
Anuken
37a9311202 Merge remote-tracking branch 'origin/master' 2020-02-06 20:25:17 -05:00
Anuken
e9f37ea68e Removed entity processor files 2020-02-06 20:25:10 -05:00
Anuken
f83b6728cf ? 2020-02-06 20:24:30 -05:00
Prosta4okua
59431b223b Update bundle_uk_UA.properties 2020-02-06 23:38:45 +02:00
Anuken
e3136e9e09 more rendering 2020-02-06 14:58:12 -05:00
MEEP of Faith
da5755b7c1 For consistancy (#1517)
Swap "liquids" with "liquid." Also proposing because the category for liquid blocks is "liquid" and not "liquids" when modding.
2020-02-06 14:46:33 -05:00
Patrick 'Quezler' Mounier
4147d8a512 Cleanup 〃 2020-02-06 20:23:42 +01:00
Patrick 'Quezler' Mounier
8c7b688f78 Add layered blendbitz 2020-02-06 20:19:00 +01:00
Anuken
ddecb2d831 Actual updating and rendering 2020-02-06 13:40:07 -05:00
Patrick 'Quezler' Mounier
99d1a2829f Merge branch 'master' into crater 2020-02-06 19:33:57 +01:00
Patrick 'Quezler' Mounier
c0d250560a 🐍 is kil 2020-02-06 19:33:42 +01:00
Anuken
6fe5663f79 Autogenerated render layer groups 2020-02-06 13:20:03 -05:00
Anuken
70c06b58ef Conveyor cleanup 2020-02-06 11:38:36 -05:00
Anuken
6a99a3922e Cleanup 2020-02-06 11:37:22 -05:00
Patrick 'Quezler' Mounier
502e8f78ce Move some stuff around 2020-02-06 17:25:54 +01:00
Anuken
a11f6efe0a Rudimentary rendering 2020-02-05 23:04:48 -05:00
Anuken
8172e69f8c it launches 2020-02-05 22:08:57 -05:00
Anuken
65857d77c4 .... 2020-02-05 21:14:53 -05:00
Anuken
dfecfa3964 . 2020-02-05 20:11:49 -05:00
Vanguard
9b30b452a1 3 changed lines
servers.local
servers.remote
servers.global
2020-02-06 03:39:32 +03:00
Vanguard
c254a702fc 3 new lines
servers.local
servers.remote
servers.global
2020-02-06 03:34:19 +03:00
Anuken
4a2c6c571f Merge remote-tracking branch 'origin/master' 2020-02-05 19:02:02 -05:00
Anuken
a5fd881f8d Full implementation of #1494 2020-02-05 19:01:53 -05:00
martin-mfg
d59b23b835 bundle_de.properties: merge PRs + further improvements (#1482)
* Update bundle_de.properties

* Update bundle_de.properties

* Update bundle_de.properties

* Update bundle_de.properties

* Update bundle_de.properties

* Update bundle_de.properties

* Update bundle_de.properties

* add minor missing changes from discussion in #799

* fix duplicated text in german translation (configure.locked)

* apply German translation suggestions from PR comment

This commit applies suggestions from the comment at https://github.com/Anuken/Mindustry/pull/783#pullrequestreview-299643677

Co-authored-by: Anuken <arnukren@gmail.com>
Co-authored-by: Silvério Santos <ssantos@web.de>
2020-02-05 18:37:21 -05:00
Patrick 'Quezler' Mounier
e06d8eabec [formatting] add newline to file(s) (#1508)
* Trail appropriate files with a new line

* For some ironic reason it ignored itself

Probably because it wasn’t tracked/commited yet.

* Rename newlines to server executable naming pattern
2020-02-05 18:36:56 -05:00
Anuken
f6b1420103 c l e a n u p 2020-02-05 18:28:19 -05:00
Anuken
84748afc55 the errors are back 2020-02-05 15:00:35 -05:00
Arkanic
ce7eccf524 i forgot -base 2020-02-05 18:10:57 +00:00
Anuken
eb0ea9030b ? 2020-02-05 13:08:48 -05:00
Patrick 'Quezler' Mounier
8bb533f646 3rd times the charm (#1509) 2020-02-05 13:06:16 -05:00
Anuken
da97aee8e4 it never ends 2020-02-05 13:03:22 -05:00
Patrick 'Quezler' Mounier
05ccdfd51b Merge branch 'master' into crater
# Conflicts:
#	core/assets/sprites/block_colors.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites3.png
#	core/assets/sprites/sprites5.png
#	core/src/mindustry/world/modules/ItemModule.java
2020-02-05 10:26:34 +01:00
Petr Gašparík
39b35dd9cb Merge branch 'master' of https://github.com/Anuken/Mindustry into v103.3 2020-02-05 08:34:59 +01:00
Arkanic
ff06a005a0 become exist 2020-02-05 00:53:15 +00:00
Arkanic
fd500f5405 heh make branch 2020-02-05 13:27:36 +13:00
Anuken
a7b39e56bd Cleanup continues 2020-02-04 18:00:32 -05:00
Anuken
012421afcb Class ID mapping 2020-02-04 13:57:42 -05:00
Anuken
be50997f94 Merge branches '6.0' and 'splinterface-impl' of https://github.com/Anuken/Mindustry into splinterface-impl
# Conflicts:
#	core/assets/sprites/block_colors.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites3.png
#	core/assets/sprites/sprites5.png
#	core/src/mindustry/Vars.java
#	core/src/mindustry/entities/traits/SaveTrait.java
#	core/src/mindustry/maps/generators/MapGenerator.java
#	core/src/mindustry/ui/dialogs/DeployDialog.java
#	core/src/mindustry/world/blocks/Floor.java
#	desktop/src/mindustry/desktop/DesktopLauncher.java
#	gradle.properties
2020-02-04 12:25:18 -05:00
Anuken
878f570472 Cleanup 2020-02-04 12:23:38 -05:00
Anuken
36b9451e01 Read-only component fields / Removed get/set prefix 2020-02-04 12:14:09 -05:00
Anuken
1d0cfd4435 UnitType cleanup 2020-02-04 11:40:56 -05:00
Anuken
006004fd70 Decal cleanup 2020-02-04 09:39:12 -05:00
Anuken
a07e275e11 Entity groups 2020-02-04 01:03:34 -05:00
Anuken
67106abb9b Updated arc 2020-02-03 20:30:18 -05:00
InvalidError404
ea6490cf9f Improved ItemModule::take() behavior (#1495)
* Improved ItemModule::take() behavior

The original take() behavior spams items in whatever order they appear in the items list until each index is depleted, which is problematic when non-specific unloaders are competing against dedicated unloaders for a low-index resources.

My modification makes the take() loop persistent so take() will do complete laps around the item list starting from wherever the previous call returned from, never repeating the same item twice in a row unless there is nothing else to return. A significant improvement IMO.

How is this an improvement? With the original behavior, if you converge a bunch of belts on a storage block or launcher, want to unload a few belts of specific resources (ex.: copper, lead, silicon and titanium for surge alloy) and pass everything else including overflows along using non-specific unloaders, you are out of luck when the resources you want are at the top of the list since most of those will get swept away by non-specific unloaders. With the rotating take(), non-specific unloaders are equal-opportunity across all available resources, which gives single-resource unloaders that many more chances to unload more of their resources before non-specific unloaders get to them. It also reduces the rate at which items further down the list that may hardly ever get touched by the existing implementation will race toward the storage block's cap. The even drain across all items will help prevent things like mass driver stalls due to receivers filling up with an excess resource that isn't getting cleared.

It would be even nicer if dedicated unloaders had priority over non-specific ones (non-specific unloaders don't touch resources with dedicated unloaders unless the dedicated unloaders are overflowing), though that would require a rework beyond my current "getting the stupid IDE and tool chains to work" level of familiarity with Java development.

To sum it up: trivial change, big impact for people who like mixing belts and sorting them out with unloaders.

* Update core/src/mindustry/world/modules/ItemModule.java

Co-Authored-By: Patrick 'Quezler' Mounier <Quezler@me.com>

* Update core/src/mindustry/world/modules/ItemModule.java

Co-Authored-By: Patrick 'Quezler' Mounier <Quezler@me.com>

* Formatting

* Anuken's take() rotator.

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>
2020-02-03 20:27:25 -05:00
Anuken
a942ed2cad More cleanup 2020-02-03 20:24:49 -05:00
Anuken
88d2ec5be8 Cleanup 2020-02-03 15:59:54 -05:00
Patrick 'Quezler' Mounier
627321304d zzzz (#1503) 2020-02-03 15:55:53 -05:00
Arkanic
d2c2fd7d5f aaaa (#1502) 2020-02-03 14:44:54 -05:00
Anuken
141cf518a2 Refactoring 2020-02-03 14:07:06 -05:00
DeltaNedas
fea9f51513 !dir.exists() and new line 2020-02-03 18:36:17 +00:00
DeltaNedas
4709b5dddc remove old mainScript, it is always main.js 2020-02-03 18:35:24 +00:00
GioIacca9
b4be655d0c Translated stat.playtime (#1485) 2020-02-03 12:54:06 -05:00
LauweJoster
19da1e1306 Update bundle_nl.properties (#1499)
Improved some grammar and sentencing. Also added a few translations.
2020-02-03 12:37:28 -05:00
Patrick 'Quezler' Mounier
9bc24ae47a Darken yellow square on nucleus core (#1497)
#1496
2020-02-03 08:51:19 -05:00
Petr Gašparík
aef5fd85b2 Merge branch 'master' of https://github.com/Anuken/Mindustry into v103.3 2020-02-03 10:05:06 +01:00
Anuken
f937cb30f0 More components, less entities 2020-02-02 23:38:16 -05:00
Anuken
f2f31120a0 Gradual component conversion 2020-02-02 20:17:22 -05:00
Anuken
63fa50d111 Implementation begins 2020-02-02 18:33:59 -05:00
Anuken
ad84329688 Abstract component method support 2020-02-02 17:21:35 -05:00
Anuken
ae6d33cad1 Bugfixes 2020-02-02 16:44:51 -05:00
Anuken
ad9dd83032 Better entity code generation + minor refactoring 2020-02-02 16:13:25 -05:00
Anuken
382ca09f6e Merge branches 'master' and 'splinterface' of https://github.com/Anuken/Mindustry 2020-02-02 13:59:41 -05:00
Anuken
c978410cb3 Scale cleanup / Name cleanup 2020-02-02 13:59:24 -05:00
Anuken
5eb3f0f3de Interface + base component support 2020-02-02 12:25:46 -05:00
Anuken
acb3438cc8 More entity processor features 2020-02-02 11:51:58 -05:00
DeltaNedas
a9f07f3603 formatting 2020-02-02 15:49:10 +00:00
Patrick 'Quezler' Mounier
4c369dd17c Hide drop zone warning if you're part of the wave team (#1492) 2020-02-02 10:41:09 -05:00
DeltaNedas
c458c77322 cleanup 2020-02-02 13:40:53 +00:00
DeltaNedas
b93692ad41 yes 2020-02-02 13:40:38 +00:00
DeltaNedas
d84217300c fixed error message 2020-02-02 12:58:00 +00:00
DeltaNedas
49ab7ceb77 main.js required now 2020-02-02 12:44:37 +00:00
Anuken
7ddfcbfabd Utility method copying 2020-02-02 00:39:29 -05:00
Anuken
da2aee7d31 Entity components based on code generation - experiment 2020-02-01 23:54:41 -05:00
DeltaNedas
4c45716149 first part of what cat wants 2020-02-02 02:49:47 +00:00
Anuken
9f20ff151c Shortened annotation processors 2020-02-01 17:27:24 -05:00
Anuken
5f7fc3441c Merge remote-tracking branch 'origin/master' 2020-02-01 17:17:08 -05:00
Anuken
62179233ef Bugfixes 2020-02-01 17:17:03 -05:00
fuzzbuck
376e3d6ef1 Add mindustry.io to servers.json (#1467)
- huge community (~1.5k members)
- anti-grief measures (discord bot <-> in-game moderation)
- huge map pool (50+)
- stable, powerful server based in europe
2020-02-01 17:14:06 -05:00
DeltaNedas
51bc5c3b74 local changes 2020-02-01 18:28:25 +00:00
DeltaNedas
a45a14025d oops 2020-02-01 18:26:38 +00:00
Anuken
eabebcefc7 Disabled data folder button due to terrible file manager support 2020-01-31 23:09:21 -05:00
Vanguard
6aed5f081c 1 new line
stat.playtime
2020-02-01 04:21:50 +03:00
DeltaNedas
e1a215ae0b wrapper works now 2020-02-01 01:18:18 +00:00
Anuken
63d84bead3 Cleanup 2020-01-31 20:10:21 -05:00
DeltaNedas
d872656bc5 it works sorta! 2020-01-31 23:51:33 +00:00
Anuken
51b4824c92 Fixed #1484 2020-01-31 11:07:25 -05:00
Petr Gašparík
b4e9e6be32 Czech: added Time played + small format corr. 2020-01-31 13:16:27 +01:00
Petr Gašparík
737e3145ec Merge branch 'master' of https://github.com/Anuken/Mindustry into v103.3 2020-01-31 13:13:51 +01:00
Anuken
2721aa550d Implemented #1444 2020-01-30 22:56:17 -05:00
Anuken
f92b91c17b Switched to arc bloom 2020-01-30 17:50:35 -05:00
Anuken
221b28c153 Merge remote-tracking branch 'origin/master' 2020-01-30 17:43:48 -05:00
Anuken
7c2541afa2 Fixed bloom black screen on iOS/Android 2020-01-30 17:43:36 -05:00
Petr Gašparík
bfa24cca4c Merge branch 'v103.3' of https://github.com/PetrGasparik/Mindustry; branch 'master' of https://github.com/Anuken/Mindustry into v103.3 2020-01-30 16:06:46 +01:00
Ali-C-Ila
26656b1e32 Update description.txt 2020-01-30 13:01:15 +08:00
Ali-C-Ila
c4228c0a0c Update achievements.vdf 2020-01-30 12:53:21 +08:00
Vanguard
91d1abf1e9 1 changed line
editor.generate
2020-01-30 04:17:46 +03:00
DeltaNedas
9da505119b it compiles but cant find module
help
2020-01-30 00:53:05 +00:00
DeltaNedas
677debd475 testing script loading stuff
is not allowed in console, only from `LoadedMod`s.
2020-01-30 00:38:51 +00:00
DeltaNedas
864c73f791 make it semi work maybe
still completely insecure
2020-01-30 00:21:50 +00:00
DeltaNedas
9ed7719464 compile dammit 2020-01-30 00:04:42 +00:00
DeltaNedas
187e1f5848 create new branch 2020-01-29 23:52:58 +00:00
Vam-Jam
36782a2454 [Fix] lastMessage doesnt change if prevented by antispam (#1471)
Fixes issue #1470
2020-01-29 11:32:41 -05:00
Patrick 'Quezler' Mounier
55932d03c9 Do ¬ bump empty conveyors 2020-01-29 10:33:39 +01:00
Patrick 'Quezler' Mounier
93faf128b7 Bump up the chain to update in unison 2020-01-29 10:12:18 +01:00
Patrick 'Quezler' Mounier
56b2cc2745 Fix unloading on a corner 2020-01-29 09:05:00 +01:00
Patrick 'Quezler' Mounier
d2869b976d Fix comment in 〃 2020-01-29 09:04:46 +01:00
Patrick 'Quezler' Mounier
432b555f1b Optimize with sleeps
Ehmm i meant recharge cycles, beep boop.
2020-01-29 09:02:53 +01:00
Patrick 'Quezler' Mounier
db1a2ddc64 Move start & end logic into entity snek bits 2020-01-29 08:03:53 +01:00
Patrick 'Quezler' Mounier
88282a8c0b Prevent turns from being considered the end 2020-01-29 07:48:14 +01:00
Prosta4okua
6a48a1e0a3 Update bundle_uk_UA.properties 2020-01-29 01:12:12 +02:00
Prosta4okua
d0faecbea5 Update bundle_uk_UA.properties 2020-01-29 01:07:24 +02:00
Vamist
b5ccd36315 [Added] Players command
Allows servers to view current active players in more detail without having to use status
2020-01-28 20:16:06 +00:00
Patrick 'Quezler' Mounier
4674e5ad68 Merge branch 'master' into crater 2020-01-28 20:06:16 +01:00
Anuken
97cfc33abb Merge remote-tracking branch 'origin/master' 2020-01-28 13:44:13 -05:00
Anuken
867a642859 Fixed #1460 2020-01-28 13:44:06 -05:00
Anuken
d99cad8793 Update SERVERLIST.md 2020-01-28 13:28:34 -05:00
kf-games
2a11f65e10 Add server MINDUSTRY.RU (#1463)
Add server MINDUSTRY.RU
Server 24/7 Online
380+ Maps
Have a motd
There are moderators
Server in uninterrupted operation since October 2019
2020-01-28 13:05:55 -05:00
Patrick 'Quezler' Mounier
babe00245a Comment on crater-deploy.sh 2020-01-28 14:52:09 +01:00
Patrick 'Quezler' Mounier
ff578c8540 Repurpose branch to be played
When anuke shows more interest in this branch the changes that stem from this can be reversed and squashed, but people want to play it, and keeping 2 crater related branches in sync is frankly a pain 😗
2020-01-28 14:31:32 +01:00
Patrick 'Quezler' Mounier
445126ea65 Rename Track to CraterConveyor
though it does not extend the conveyor class.
2020-01-28 11:41:20 +01:00
Patrick 'Quezler' Mounier
2683c74800 Avoid assigning new object? 2020-01-28 11:10:23 +01:00
Patrick 'Quezler' Mounier
61197fe974 Remove duplicate code between first & take 2020-01-28 11:08:40 +01:00
Patrick 'Quezler' Mounier
89d143af8f Undo part of 〃 2020-01-28 11:00:08 +01:00
Patrick 'Quezler' Mounier
0f92f77b55 Draw crater unto plastanium conveyor icon
And remove whitespaces from the emoji one.
2020-01-28 10:57:51 +01:00
Patrick 'Quezler' Mounier
683211cb1f Untangle conveyor entanglement
Made track a standalone block due to the influx of conveyor code changes, and if it were ever to return it would make sense to also include the conduits in one form or another, like a 🐍 class/trait/abstract/method/etc
2020-01-28 10:41:30 +01:00
Patrick 'Quezler' Mounier
af83d08fb1 FIx inconsistencies in the diff 2020-01-28 07:59:11 +01:00
Patrick 'Quezler' Mounier
28765ef909 Merge branch 'master' into crater 2020-01-28 07:45:03 +01:00
Anuken
89e1c5afc0 Conveyor tweaks 2020-01-28 00:21:05 -05:00
Anuken
ad6e0bcd0f Merge branches 'master' and 'mech-rework' of https://github.com/Anuken/Mindustry into mech-rework
# Conflicts:
#	android/src/mindustry/android/AndroidLauncher.java
#	annotations/src/main/java/mindustry/annotations/SerializeAnnotationProcessor.java
#	annotations/src/main/java/mindustry/annotations/impl/AssetsAnnotationProcessor.java
#	build.gradle
#	core/assets-raw/fontgen/config.json
#	core/assets/bundles/bundle_cs.properties
#	core/assets/bundles/bundle_it.properties
#	core/assets/fonts/font.ttf
#	core/assets/fonts/icon.ttf
#	core/assets/icons/icons.properties
#	core/assets/sprites/block_colors.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites3.png
#	core/assets/sprites/sprites5.png
#	core/src/mindustry/content/UnitTypes.java
#	core/src/mindustry/core/NetClient.java
#	core/src/mindustry/core/NetServer.java
#	core/src/mindustry/entities/bullet/BulletType.java
#	core/src/mindustry/entities/type/TileEntity.java
#	core/src/mindustry/maps/filters/FilterOption.java
#	core/src/mindustry/mod/Scripts.java
#	core/src/mindustry/ui/Fonts.java
#	core/src/mindustry/ui/dialogs/DeployDialog.java
#	core/src/mindustry/ui/fragments/HudFragment.java
#	core/src/mindustry/ui/fragments/MenuFragment.java
#	core/src/mindustry/world/blocks/production/Cultivator.java
#	core/src/mindustry/world/blocks/units/CommandCenter.java
#	gradle.properties
#	tools/src/mindustry/tools/FontGenerator.java
2020-01-27 15:51:02 -05:00
Anuken
a2933e030a More severe votekick 2020-01-27 15:43:17 -05:00
Patrick 'Quezler' Mounier
8edcebd3a6 Undo moving other bundle keys into their place
Should be a different commit/pull
2020-01-27 19:42:27 +01:00
Patrick 'Quezler' Mounier
6eb6870bb6 Register crater emoji via ui folder
#1458
2020-01-27 19:33:36 +01:00
Patrick 'Quezler' Mounier
038fc72d7b Merge branch 'master' into crater 2020-01-27 19:17:22 +01:00
Anuken
d21c47a582 Merge remote-tracking branch 'origin/master' 2020-01-27 13:15:15 -05:00
Anuken
5ad0193a86 Fixed reduced conveyor edge throughput 2020-01-27 13:15:12 -05:00
MWestfall
881eca636d Update servers.json (#1457) 2020-01-27 12:55:18 -05:00
Patrick 'Quezler' Mounier
2e3f7d8db2 Merge branch 'master' into crater 2020-01-27 18:40:51 +01:00
Patrick 'Quezler' Mounier
883a2a9b59 Bruteforce crater emoji 2020-01-27 18:40:40 +01:00
Daniel Jennings
d849a3a87f Adding Steam Rich Presence support. (#1453)
* Steam Rich Presence support. I opted to put this code inside of
DesktopLauncher.java instead of SNet.java because it heavily overlaps
with the work the DiscordRPC code was already doing.

Testing wasn't easy because I had to figure out how the Steam version
actually runs normally, but it was straightforward once I figured out
what version information to slam into the JAR and fixed 'desktop:steamtest' to work locally with my paths.

Because of how Steam currently expects SetRichPresence to be used, I had
to upload to the Steam partner site a trivial Rich Presence loc token
called 'steam_status_raw' that just gets entirely substituted for the
'steam_status' RP token string. I didn't expect that I'd need to do
anything for localization support (and instead just let it use English
for everyone like Discord) but apparently Steam isn't happy if you
directly set 'steam_display' to a raw string (but I'm going to look at
that when I'm back at work because I don't know that we need that
requirement.)

* Whoops, left this in there from debugging the Steam connection.

* Fixing coding style, and also triggering another CI build
2020-01-27 12:17:52 -05:00
Patrick 'Quezler' Mounier
9a289c83e6 Fuse with conveyor optimization
# Conflicts:
#	core/src/mindustry/world/blocks/distribution/ItemConveyor.java
2020-01-27 18:06:48 +01:00
Anuken
5ebc04ab29 Update SERVERLIST.md 2020-01-27 11:59:17 -05:00
Anuken
379f860a6b Merge remote-tracking branch 'origin/master' 2020-01-27 11:01:57 -05:00
Anuken
65211a6021 Fixed #1447 2020-01-27 11:01:48 -05:00
Anuken
9395fa99be Create SERVERLIST.md 2020-01-27 10:50:08 -05:00
Anuken
b7e1adb8b1 Fixed 103 network compatibility 2020-01-27 10:19:18 -05:00
Petr Gašparík
315260f7f5 Czech translation - fix typos 2020-01-27 14:14:43 +01:00
Vanguard
d1c2666fdd 1 changed line (new approach)
techtree
2020-01-27 16:11:23 +03:00
Petr Gašparík
69069e2ef3 Czech translation - mod display 2020-01-27 11:32:31 +01:00
Petr Gašparík
de143a8e16 Czech translation for 103.x changelog 2020-01-27 11:30:23 +01:00
Anuken
b9e8694e68 Added synced server label + effect methods 2020-01-27 00:25:32 -05:00
Anuken
cd1ed97e52 Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-01-27 00:11:24 -05:00
Anuken
a61234d21e Minor tweaks 2020-01-26 21:50:55 -05:00
키에르
9499b9dfaf Add custom text on screen (#1448) 2020-01-26 17:56:11 -05:00
Anuken
9baaacc8ac Crash fix 2020-01-26 16:55:24 -05:00
Anuken
db3d4b170f Merge branches 'conveyor-refactor' and 'master' of https://github.com/Anuken/Mindustry 2020-01-26 16:12:35 -05:00
Anuken
621233a5b3 More optimization 2020-01-26 16:12:11 -05:00
Anuken
9a3245c23e Clamp 2020-01-26 15:13:55 -05:00
Anuken
6fe2697185 2x faster conveyor optimization 2020-01-26 15:04:00 -05:00
Anuken
d7ea0bc21e why 2020-01-26 13:16:42 -05:00
Anuken
adbfb15932 Cleanup 2020-01-26 13:13:01 -05:00
Anuken
fda6ea4b45 Fixed #1452 2020-01-26 11:40:28 -05:00
Anuken
93cada6a16 Conveyor benchmark test 2020-01-26 11:40:09 -05:00
Anuken
0d5dd146ef Fixed #1451 2020-01-26 10:58:14 -05:00
Nickibosss
1207fb1440 Update bundle_it.properties (#1431) 2020-01-25 17:51:43 -05:00
Petr Gašparík
8584fae07a Czech translation - update (#1432) 2020-01-25 17:51:32 -05:00
Ali-C-Ila
0a661766be Update bundle_zh_TW.properties (#1438) 2020-01-25 17:51:24 -05:00
Prosta4okua
fb6cb4829f Update bundle_uk_UA.properties (#1434)
* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties
2020-01-25 17:51:17 -05:00
Anuken
e14a36a97e Fixed #1445 2020-01-25 17:50:59 -05:00
Anuken
ca69aafd11 Fixed #1440 2020-01-25 10:44:46 -05:00
Vanguard
df3a62b87c Merge branch 'master' into master 2020-01-25 15:03:05 +03:00
Vanguard
65e2a32722 1 changed line
techtree
2020-01-25 14:57:51 +03:00
Anuken
923d576a5f Fixed #1436 / Fixed crawlers not exploding 2020-01-24 23:21:23 -05:00
Anuken
081edde1f2 Fixed double client commands 2020-01-24 22:48:05 -05:00
Vanguard
0103a2b7c6 1 new line
mod.display
2020-01-25 04:05:03 +03:00
Anuken
1ab81fa4ab Bugfixes 2020-01-24 19:14:49 -05:00
Prosta4okua
095cb68725 Update bundle_ru.properties 2020-01-25 02:12:21 +02:00
Anuken
69711151a5 Bugfixes 2020-01-24 18:48:26 -05:00
Anuken
aefc4ed83c Better annotation processing 2020-01-24 18:31:54 -05:00
Anuken
83f44abb5a Suppress d/c messages when necessary 2020-01-24 14:27:23 -05:00
Patrick 'Quezler' Mounier
6e970cb84d Fix tech tree entry 2020-01-24 20:26:49 +01:00
Patrick 'Quezler' Mounier
58a79d8631 Update to v103
# Conflicts:
#	core/assets/sprites/block_colors.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites3.png
#	core/assets/sprites/sprites5.png
#	core/src/mindustry/content/Blocks.java
#	core/src/mindustry/content/TechTree.java
#	core/src/mindustry/world/blocks/distribution/ItemConveyor.java
2020-01-24 20:25:03 +01:00
Anuken
f2bc3e78d7 Fixed #1429 2020-01-24 14:00:06 -05:00
Anuken
2fe6a3525b Added null check for attribute 2020-01-24 13:37:23 -05:00
Anuken
78fb427120 Minor fixes 2020-01-24 13:02:03 -05:00
Anuken
b9876e267b Headless load fix 2020-01-24 12:31:34 -05:00
Anuken
4c1459c47e Fixed page limits in /help 2020-01-24 11:50:51 -05:00
Vanguard
5b9b684ccd PRE 103 RU_updates (#1425)
* 1 changed line, 1 removed line

Changed:
keybind.zoom.name

Removed:
keybind.zoom_hold.name

Moved some lines around to keep them in the same order with bundle.properties

* 1 changed line

tutorial.intro

* 3 new lines, 3 changed lines

New:
mod.erroredcontent
mod.errors
mod.noerrorplay

Changed:
mod.requiresversion
mod.remove.confirm
details

* 2 changed lines

mods.guide
mod.import.github

* 1 new line

link.feathub.description

* 1 changed line

item.graphite.description

* 1 changed line

block.mass-driver.description

* 9 new lines, 1 changed line

New:
be.update
be.update.confirm
be.updating
be.ignore
be.noupdates
be.check
server.kicked.serverRestarting
setting.coreselect.name
rules.blockhealthmultiplier

Changed:
wave.enemy

* 3 changed lines

quit.confirm.tutorial
setting.coreselect.name
public.confirm

* 22 changed lines

mod.missing
item.plastanium.name
block.plastanium-wall.name
block.plastanium-wall-large.name
block.plastanium-compressor.name
item.scrap.description
item.spore-pod.description
item.blast-compound.description
liquid.oil.description
unit.revenant.description
block.multi-press.description
block.plastanium-compressor.description
block.spore-press.description
block.power-source.description
block.force-projector.description
block.conveyor.description
block.mass-driver.description
block.liquid-junction.description
block.phase-conduit.description
block.thorium-reactor.description
block.blast-drill.description
block.cyclone.description

* 3 new lines, 2 removed lines

New:
setting.bridgeopacity.name
block.liquid-void.name
block.liquid-void.description

Removed:
block.signal
block.editsignal

* 1 new line

data.openfolder

* 1 changed line

block.cryofluidmixer.description

* 2 new lines

block.underflow-gate.name
block.underflow-gate.description

* 2 changed lines

unit.thousands
unit.millions

* 3 new lines

blocks.tiles
blocks.affinities
setting.playerlimit.name

* 1 changed line

block.underflow-gate.name

* 1 changed line

unit.thousands

* 1 changed line

blocks.affinities

* 1 changed line (reverted)

unit.thousands

Co-authored-by: Anuken <arnukren@gmail.com>
2020-01-24 11:31:14 -05:00
Vanguard
5c0f24aa41 1 changed line (reverted)
unit.thousands
2020-01-24 19:31:05 +03:00
Anuken
8141361a30 Fix script whitelist 2020-01-24 11:27:47 -05:00
Anuken
99e51411d5 Implemented #1048 2020-01-24 11:24:35 -05:00
Anuken
4ca1a506b6 Merge remote-tracking branch 'origin/master' 2020-01-24 11:17:22 -05:00
Anuken
125d6ef8cd Cleanup 2020-01-24 11:17:18 -05:00
Rasangus
a35365ad7c Update description.txt (#1283) 2020-01-24 11:15:25 -05:00
Rasangus
ccf8cdf961 Create title.txt (#1282) 2020-01-24 11:15:09 -05:00
Petr Gašparík
76d425a920 Czech translation for Android and Steam + continuous updates (#1383)
* Improving Czech translation, up to line  374 now

* Czech translation, revisited up to line 468

* Translation revision up to line 510.

* Czech translation - small fixes here and there.

* Czech translation - small fixes here and there.

* Czech lang. - Fixed some typos found by @dusekdan

* Czech - revision up to line 564

* Czech tr. - small fixes to fit into GUI

* Czech tr. - small fixes after checking GUI

* Czech tr. - revision up to line 670 done

* Czech tr. - revisited up to line 748.

* Czech tr. - now it has the same length as English

* Czech translation - polished up to line 1062
Only tutorial left...

* Czech translation - small fixes

* Czech tr. - revisited up to line 1070

* Czech translation - revision done up line 1084.
New: tutorial translated, new key incorporated.

* Czech translation done up to line 1100.

* Czech translation up to line 1105

* Czech translation - small corrections, consistency

* Czech translation up to line 1124

* Czech translation - done up to line 1159

* Czech translation up to line 1071

* Czech translation, up to line 1177

* Czech translation, done up to line 1203

* Czech translation REVISION DONE!

* Czech files for Steam!

* Czech - full translation for Android

* Czech translation - fixing typos found by @dusekdan
thank you!

* Czech traslation, back to "Workshop" from "Dílna"
...as it is the same name on Steam

* Czech translation - underflow gate
2020-01-24 11:12:41 -05:00
Prosta4okua
9ef23ace95 [WIP]Update bundle_uk_UA.properties (#1363)
* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties
2020-01-24 11:12:33 -05:00
Artur Quaresma
0df826a589 Android and Steam language support pt-PT (#1382)
The changelogs are being worked, but the big features are translated
2020-01-24 11:11:31 -05:00
Anuken
d58098ca94 Added server info toast method 2020-01-24 11:03:15 -05:00
Anuken
1a6436355c Merge remote-tracking branch 'origin/master' 2020-01-24 10:26:16 -05:00
Anuken
63c277f78e Implemented mod name display in content desc 2020-01-24 10:26:10 -05:00
xzarfs
dda12af593 Update finnish language properties (#1396)
Major imporvements to the finish language.

Changed finnish word 'aalto' to 'taso' (both mean wave but 'aalto' is the one in a ocean)
2020-01-24 10:09:48 -05:00
GioIacca9
3dda4badac Update bundle_it.properties (#1428) 2020-01-24 10:04:37 -05:00
Vanguard
17265382ed 1 changed line
blocks.affinities
2020-01-24 06:56:28 +03:00
Vanguard
a4031386f1 1 changed line
unit.thousands
2020-01-24 06:44:42 +03:00
Vanguard
68aba266df Merge branch 'master' into master 2020-01-24 06:33:32 +03:00
Vanguard
308ce8aef3 1 changed line
block.underflow-gate.name
2020-01-24 06:32:40 +03:00
Vanguard
d99ce73ab4 3 new lines
blocks.tiles
blocks.affinities
setting.playerlimit.name
2020-01-24 06:23:41 +03:00
Anuken
a4e820f907 Added default ore flags for modded ores 2020-01-23 20:20:04 -05:00
Anuken
bc56b8127f Merge remote-tracking branch 'origin/master' 2020-01-23 19:17:16 -05:00
Anuken
b16ad97d93 Updated font 2020-01-23 19:17:11 -05:00
martin-mfg
6ffb470916 Update bundle_de.properties (#1423)
Again some changes and translations

Co-authored-by: Amon-Senpai <56207045+Amon-Senpai@users.noreply.github.com>
2020-01-23 18:57:24 -05:00
Anuken
92df6e6e06 Merge remote-tracking branch 'origin/master' 2020-01-23 18:33:38 -05:00
Anuken
f4940fffab Minor tweaks 2020-01-23 18:33:32 -05:00
Vanguard
847a1a738e RU updates (#1354)
* 1 changed line, 1 removed line

Changed:
keybind.zoom.name

Removed:
keybind.zoom_hold.name

Moved some lines around to keep them in the same order with bundle.properties

* 1 changed line

tutorial.intro

* 3 new lines, 3 changed lines

New:
mod.erroredcontent
mod.errors
mod.noerrorplay

Changed:
mod.requiresversion
mod.remove.confirm
details

* 2 changed lines

mods.guide
mod.import.github

* 1 new line

link.feathub.description

* 1 changed line

item.graphite.description

* 1 changed line

block.mass-driver.description

* 9 new lines, 1 changed line

New:
be.update
be.update.confirm
be.updating
be.ignore
be.noupdates
be.check
server.kicked.serverRestarting
setting.coreselect.name
rules.blockhealthmultiplier

Changed:
wave.enemy

* 3 changed lines

quit.confirm.tutorial
setting.coreselect.name
public.confirm

* 22 changed lines

mod.missing
item.plastanium.name
block.plastanium-wall.name
block.plastanium-wall-large.name
block.plastanium-compressor.name
item.scrap.description
item.spore-pod.description
item.blast-compound.description
liquid.oil.description
unit.revenant.description
block.multi-press.description
block.plastanium-compressor.description
block.spore-press.description
block.power-source.description
block.force-projector.description
block.conveyor.description
block.mass-driver.description
block.liquid-junction.description
block.phase-conduit.description
block.thorium-reactor.description
block.blast-drill.description
block.cyclone.description

* 3 new lines, 2 removed lines

New:
setting.bridgeopacity.name
block.liquid-void.name
block.liquid-void.description

Removed:
block.signal
block.editsignal

* 1 new line

data.openfolder

* 1 changed line

block.cryofluidmixer.description

* 2 new lines

block.underflow-gate.name
block.underflow-gate.description

* 2 changed lines

unit.thousands
unit.millions

Co-authored-by: Anuken <arnukren@gmail.com>
2020-01-23 18:10:53 -05:00
Anuken
368a53ee98 Merge branch 'master' into master 2020-01-23 18:10:48 -05:00
LingLan
32b3bb2d89 Update zh_CN translate (#1412)
* update zh_CN translate

* Update bundle_zh_CN.properties

typo fixed.

* update zh_CN translate

* update translate for underflow-gate

* translate setting.bridgeopacity.name
2020-01-23 18:09:40 -05:00
Ali-C-Ila
9aa04a1584 Update bundle_zh_TW.properties (#1346)
* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties
2020-01-23 18:09:33 -05:00
Artur Quaresma
4fca93ff4d Update bundle_pt_PT.properties (#1351)
A new update
2020-01-23 18:09:25 -05:00
AmateurPotion
2455738f47 Update bundle_ko.properties (#1379) 2020-01-23 18:08:47 -05:00
Avevad
c96931a1b9 Update bundle_ru.properties (#1410) 2020-01-23 18:07:37 -05:00
GioIacca9
9efff27b77 Updated underflow gate (#1416)
Translated:
`block.underflow-gate.name` and `block.underflow-gate.description`.
`data.openfolder`
and other minor strings
2020-01-23 18:07:16 -05:00
Anuken
d031efe1f2 Added Steam player limit + reduced votekick cooldown 2020-01-23 17:49:53 -05:00
Anuken
235142c869 Implemented #1093 2020-01-23 15:50:03 -05:00
Anuken
288da868bf Merged #1406 manually 2020-01-23 14:53:27 -05:00
Anuken
1716076cdf Minor UI tweaks 2020-01-23 14:40:07 -05:00
Anuken
eb8479f7f7 Switched from gdx-packer to arc-packer 2020-01-22 19:16:56 -05:00
Anuken
78b2fe64a3 Fixed annotation source version warnings 2020-01-22 15:59:02 -05:00
Anuken
5e977312a7 Annotation processor cleanup 2020-01-22 12:24:00 -05:00
Anuken
26e93c2f06 Cleanup 2020-01-22 11:36:13 -05:00
Anuken
85e0103ff8 UI fixes 2020-01-22 11:13:27 -05:00
Vanguard
ed3474f5f0 2 changed lines
unit.thousands
unit.millions
2020-01-22 18:56:33 +03:00
Vanguard
33ef1ca804 2 new lines
block.underflow-gate.name
block.underflow-gate.description
2020-01-22 18:02:04 +03:00
Anuken
9e95ebfa11 Fixed action filter issues 2020-01-21 10:03:47 -05:00
Anuken
d74f6e4cb8 Fixed JS method conflict 2020-01-21 08:32:56 -05:00
Anuken
1a1208d092 Cleanup 2020-01-21 08:13:42 -05:00
Anuken
501ca5dd4e New tech tree layout 2020-01-20 22:39:46 -05:00
Anuken
2642c3c8b8 Layout improvements 2020-01-20 20:21:04 -05:00
Anuken
200e85d970 Added underflow gate to tech tree 2020-01-20 18:55:26 -05:00
Anuken
26676d60e1 Added underflow gates 2020-01-20 18:54:25 -05:00
Anuken
2fe3fea7f4 Cleanup 2020-01-20 16:16:02 -05:00
Anuken
2c4dcff72d Cleanup 2020-01-20 16:15:15 -05:00
Anuken
f6595937f4 Cleanup 2020-01-20 16:14:45 -05:00
Anuken
df1a102021 Cleanup 2020-01-20 16:14:29 -05:00
Anuken
a4ac318c9e Changed deconstruct event to fire before tile removal 2020-01-20 15:00:38 -05:00
Anuken
d2bc2baefe Fixed #1401 2020-01-20 14:32:07 -05:00
Anuken
8aec6d24db Fixed #776 2020-01-20 14:28:18 -05:00
Anuken
b5258cd809 Fixed #1402 / Fixed #1404 2020-01-20 14:13:20 -05:00
Anuken
be0b13e27d Tweaks 2020-01-20 14:04:43 -05:00
Anuken
27d6bf067e Added prototype planet sector land system 2020-01-20 12:05:26 -05:00
Anuken
01e7397df5 Added preview projection 2020-01-20 11:13:20 -05:00
Anuken
b9dd6cc4b5 Cleanup 2020-01-19 21:06:45 -05:00
Anuken
85cf7e9d5c Added previously-missing icons 2020-01-19 18:45:25 -05:00
Anuken
a797618f6c Fixed #1397 2020-01-19 14:56:12 -05:00
Anuken
19b8d91724 Removed dead lwjgl3 module 2020-01-19 13:22:03 -05:00
Anuken
4f144c8f3d Merge remote-tracking branch 'origin/mech-rework' into mech-rework
# Conflicts:
#	core/src/mindustry/entities/Weapons.java
#	gradle.properties
2020-01-19 11:11:10 -05:00
Anuken
c0844304a6 Merge 2020-01-19 11:10:14 -05:00
Anuken
b1df52e0c8 Added self-destruct bullet property 2020-01-19 10:43:38 -05:00
Anuken
87b4c37d82 Cleanup of scripts 2020-01-19 09:49:55 -05:00
Anuken
48b623882a Bugfixes 2020-01-18 21:16:05 -05:00
Anuken
b2f9b2ef77 Planet cleanup 2020-01-18 17:03:03 -05:00
Anuken
47695f1f8c Added accurate planet generation 2020-01-18 13:24:14 -05:00
Anuken
f044f30829 Merge 2020-01-18 11:16:03 -05:00
Anuken
5328875ba5 nothing 2020-01-18 11:14:47 -05:00
Anuken
95352e1729 Added server descriptions 2020-01-18 10:05:18 -05:00
Anuken
6e6f8f3cdb Icon cleanup 2020-01-17 22:50:27 -05:00
Anuken
c61fed884b Bugfixes 2020-01-17 22:40:02 -05:00
Anuken
121301c7bd Prevented extra memory leaks 2020-01-17 21:33:14 -05:00
Anuken
569b1f788f Fixed segfault during mod loading 2020-01-17 21:28:12 -05:00
Anuken
ca519a94af Font improvements 2020-01-17 18:29:18 -05:00
Anuken
8d61ddbbd4 Added chat icons for in-game items and blocks 2020-01-17 18:08:23 -05:00
Anuken
d9e5dc8ba2 Added missing icons 2020-01-17 15:24:34 -05:00
Anuken
c3d2351b2d Various icon changes 2020-01-17 13:57:04 -05:00
Anuken
4f29c80814 Single-texture font+UI packing 2020-01-16 22:25:57 -05:00
Anuken
ce18e32826 Added font icon generate+merge pipeline 2020-01-16 17:05:20 -05:00
Anuken
0299263511 Merge branch 'master' of https://github.com/Anuken/Mindustry into font-icons 2020-01-16 11:16:10 -05:00
Anuken
c456aa3beb Fixed server host not seeing own messages 2020-01-16 11:15:17 -05:00
Anuken
3eaeac3618 Testing icon font 2020-01-16 11:10:53 -05:00
Anuken
eb79f3288c Added Android crash logging 2020-01-16 10:59:27 -05:00
Anuken
f7c4ea3e58 Weapon mount cleanup 2020-01-16 10:52:20 -05:00
Anuken
651d0f5162 Cleanup 2020-01-15 13:55:52 -05:00
Anuken
7b13597d69 Removed chat clearing after /sync is used 2020-01-15 11:48:58 -05:00
Anuken
c933652da9 Removed landscape ""lock"" on iOS / Closes #1387 2020-01-15 11:29:38 -05:00
Anuken
e5856cf73b More objects 2020-01-15 11:28:44 -05:00
Anuken
4c0302bcb1 Added search command 2020-01-15 09:31:25 -05:00
Anuken
ac66ac2c55 Merge remote-tracking branch 'origin/master' 2020-01-14 17:08:16 -05:00
Anuken
eaa86023f9 Visual tweaks 2020-01-14 17:07:39 -05:00
Anuken
2dd95a62ca Configuration 2020-01-14 16:18:26 -05:00
Petr Gašparík
9b663b548b Czech translation total revision DONE, please merge (#1344)
* Improving Czech translation, up to line  374 now

* Czech translation, revisited up to line 468

* Translation revision up to line 510.

* Czech translation - small fixes here and there.

* Czech translation - small fixes here and there.

* Czech lang. - Fixed some typos found by @dusekdan

* Czech - revision up to line 564

* Czech tr. - small fixes to fit into GUI

* Czech tr. - small fixes after checking GUI

* Czech tr. - revision up to line 670 done

* Czech tr. - revisited up to line 748.

* Czech tr. - now it has the same length as English

* Czech translation - polished up to line 1062
Only tutorial left...

* Czech translation - small fixes

* Czech tr. - revisited up to line 1070

* Czech translation - revision done up line 1084.
New: tutorial translated, new key incorporated.

* Czech translation done up to line 1100.

* Czech translation up to line 1105

* Czech translation - small corrections, consistency

* Czech translation up to line 1124

* Czech translation - done up to line 1159

* Czech translation up to line 1071

* Czech translation, up to line 1177

* Czech translation, done up to line 1203

* Czech translation REVISION DONE!
2020-01-14 16:00:51 -05:00
Anuken
373b842c3d Bugfix 2020-01-14 13:36:15 -05:00
Anuken
ae2dd5732a Objectification 2020-01-14 13:32:19 -05:00
Anuken
68be77fa1d Added configurable block access validation 2020-01-14 10:32:52 -05:00
Jeff Huang
a526eaa112 Add Android zh-TW translations. (#1368) 2020-01-13 23:02:43 -05:00
Anuken
b20e0967fd Structural changes 2020-01-13 16:10:17 -05:00
Anuken
a5549bd4d2 Fixed #1372 2020-01-13 08:32:32 -05:00
Anuken
899a12eddb Elevation 2020-01-13 07:45:11 -05:00
Anuken
acaeb19fe1 Fixed #1364 2020-01-12 20:21:52 -05:00
Anuken
c637ec15ff Deployment dialog replaced 2020-01-12 20:01:32 -05:00
Vanguard
4452c1b38a 1 changed line
block.cryofluidmixer.description
2020-01-12 23:33:59 +03:00
Anuken
e6f1d194ae Improved planet generation 2020-01-12 14:11:47 -05:00
Anuken
dbb06f8abd Extra clamping 2020-01-12 12:16:51 -05:00
Anuken
18ce4b6bde Cleanup 2020-01-12 12:16:08 -05:00
Vanguard
6243b9fa3a 1 new line
data.openfolder
2020-01-12 19:56:30 +03:00
Anuken
8364ca6b17 Fixed #1340 2020-01-12 11:19:24 -05:00
Anuken
c2cb308081 Object cleanup / Planet mesh class 2020-01-12 00:24:35 -05:00
Anuken
bbf87df373 a revelation 2020-01-11 23:41:12 -05:00
Anuken
dbc45985ce Added log file 2020-01-11 20:09:20 -05:00
Anuken
d6dec002c1 Added remote tile set/remove methods 2020-01-11 19:32:08 -05:00
Anuken
4aa4e15de5 Arc 2020-01-11 19:21:37 -05:00
Anuken
7e7d2019af Made Android files external 2020-01-11 19:21:16 -05:00
Anuken
10634af104 Fixed #1360 2020-01-11 17:11:51 -05:00
Anuken
432a40c656 Cleanup 2020-01-11 17:02:38 -05:00
Anuken
15f5f2fad9 Cleanup 2020-01-11 14:08:03 -05:00
Anuken
6d30840eb1 Fixed #1358 2020-01-11 12:57:21 -05:00
Anuken
7437100c96 Merge remote-tracking branch 'origin/master' 2020-01-11 12:50:08 -05:00
Anuken
35835cacd3 Fixed #1355 2020-01-11 12:47:54 -05:00
Anuken
fbedc95ad9 Mesh-based rendering 2020-01-11 10:44:07 -05:00
Vanguard
9f743ce657 Merge branch 'master' into master 2020-01-11 14:44:27 +03:00
Vanguard
e1130bafc8 3 new lines, 2 removed lines
New:
setting.bridgeopacity.name
block.liquid-void.name
block.liquid-void.description

Removed:
block.signal
block.editsignal
2020-01-11 14:41:24 +03:00
Anuken
f26e0b4609 Hexagonal planet 2020-01-11 00:39:37 -05:00
FranLamark
1d8de2d222 Update bundle_es.properties (NEW!) (#1352)
(Nuevas cosas agregadas dentro del juego (Por Anuke) y traducidas al español por mi y otros, aparte de un retoque en algunas traducciones con errores/letras de más)
Solo para la versión en español.
(New things added within the game (By Anuke) and translated into Spanish by me and others, apart from a touch-up in some translations with more errors / lyrics)
Only for the Spanish version.
2020-01-10 22:16:06 -05:00
Anuken
f918cdeced More rendering stuff 2020-01-10 20:27:10 -05:00
Anuken
6f3c771d73 Refactoring 2020-01-10 17:28:37 -05:00
Anuken
49137d4f58 an actual planet 2020-01-10 15:54:39 -05:00
Anuken
eebbf9bbf4 Merge branches '6.0' and 'master' of https://github.com/Anuken/Mindustry into 6.0 2020-01-10 15:23:19 -05:00
Anuken
647ae27020 Fixes 2020-01-10 15:20:48 -05:00
Anuken
e45df98f26 Merge branch 'master' of https://github.com/Anuken/Mindustry into 6.0
# Conflicts:
#	core/src/mindustry/graphics/Bloom.java
#	gradle.properties
2020-01-10 15:19:07 -05:00
Anuken
677aa0d0bf Shortening of a few classes 2020-01-10 15:13:34 -05:00
Anuken
b123b8b074 Removed Mech/UnitType 2020-01-10 15:08:13 -05:00
Anuken
6cf7651069 Merge remote-tracking branch 'origin/master' 2020-01-10 11:39:48 -05:00
Anuken
18e73b1a4a Fixed mech pad indicators displaying onscreen 2020-01-10 11:39:38 -05:00
Anuken
f7791a2bb2 Merge; internal changes 2020-01-10 11:30:42 -05:00
GioIacca9
87442853bb Added setting.bridgeopacity.name (#1347) 2020-01-10 11:17:48 -05:00
Patrick 'Quezler' Mounier
ed765ad10a Merge branch 'master' into crater
# Conflicts:
#	core/assets/sprites/block_colors.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites3.png
#	core/assets/sprites/sprites5.png
2020-01-10 12:02:07 +01:00
Anuken
5675565c96 Merge remote-tracking branch 'origin/master' 2020-01-09 14:56:26 -05:00
Anuken
6050274c0f Bugfixes 2020-01-09 14:56:21 -05:00
Anuken
75f8a495e7 Update feature_request.md 2020-01-09 14:35:33 -05:00
Anuken
5d6b8acf4c Update feature_request.md 2020-01-09 14:35:09 -05:00
Anuken
65ee2d2b9e Merge remote-tracking branch 'origin/master' 2020-01-09 12:07:41 -05:00
Anuken
e06f514023 Added basic subnet bans 2020-01-09 12:03:45 -05:00
Artur Quaresma
f183cf1882 Rename bundle_pt.properties to bundle_pt_PT.properties (#1339)
It´s better since theres is a bundle_pt_BR, and not being confuse for some
2020-01-09 08:56:00 -05:00
Anuken
2345b48e97 Merge remote-tracking branch 'origin/master' 2020-01-08 23:35:27 -05:00
Anuken
50355b45d5 Tech tree balance 2020-01-08 23:28:25 -05:00
J-VdS
9b82333a69 typo (#1343) 2020-01-08 17:36:58 -05:00
GioIacca9
08bae1fa15 Updated liquid void name and description (#1341) 2020-01-08 16:57:36 -05:00
Anuken
a7cddf97b8 Implemented bridge opacity from #1006 2020-01-08 16:16:19 -05:00
Anuken
7b4ee27fe4 Bugfixes 2020-01-08 11:37:12 -05:00
Anuken
8f208920f7 Merged in liquid void 2020-01-08 11:04:12 -05:00
Anuken
1193e18ee1 Updated bundles post-merge 2020-01-08 11:01:12 -05:00
Anuken
c04c825cec Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/assets/bundles/bundle_cs.properties
#	core/assets/bundles/bundle_fr.properties
#	core/assets/bundles/bundle_it.properties
#	core/assets/bundles/bundle_nl.properties
#	core/assets/bundles/bundle_pt.properties
#	core/assets/bundles/bundle_ru.properties
#	core/assets/bundles/bundle_zh_TW.properties
2020-01-08 11:00:19 -05:00
Anuken
5ad09d6d80 Updated bundles with proper spacing 2020-01-08 10:59:29 -05:00
Patrick 'Quezler' Mounier
4a94a6c059 Update dutch localization (#1315)
* Run gradle tools:updatebundles for nl

* Update 🇳🇱 bundle

Wow this took several hours, didn’t expect that. 🙈

* Implement @TsjipTsjip’s review

* Oops

* 〃

* 〃

* 〃

* 〃

* 〃

* 〃

* 〃
2020-01-08 10:52:43 -05:00
Valentin Lorentz
379f0b1c71 Fix translation of "silicon" in fr_BE (#1298)
This was fixed by 3b9980c01e in the fr translation, but not this one.
2020-01-08 10:52:19 -05:00
Ali-C-Ila
45aa23f94d Update bundle_zh_TW.properties (#1303) 2020-01-08 10:52:07 -05:00
Petr Gašparík
27f396a1e0 Revision of Czech translation [up to line 564]: consistency with English file, terms, grammar, semantics (#1284)
* Improving Czech translation, up to line  374 now

* Czech translation, revisited up to line 468

* Translation revision up to line 510.

* Czech translation - small fixes here and there.

* Czech translation - small fixes here and there.

* Czech lang. - Fixed some typos found by @dusekdan

* Czech - revision up to line 564

* Czech tr. - small fixes to fit into GUI

* Czech tr. - small fixes after checking GUI
2020-01-08 10:51:48 -05:00
Artur Quaresma
b44aa8e23a Update bundle_pt.properties (#1334) 2020-01-08 10:30:27 -05:00
Alessandro Maurizio
b5d5bb21b1 Fix Steam Achievement italian translation error (#1324)
* Fix Steam Achievement italian translation error

* Fix wrong Revenant Factory italian description
2020-01-08 10:30:11 -05:00
Patrick 'Quezler' Mounier
406c11a14d Make rebuildable a block attribute (#1338) 2020-01-08 10:28:28 -05:00
Jeff Huang
105aeade1f Add zh-tw translations for Steam metadata. (#1288)
* Add zh-tw translations for Steam metadata.

* Updated language name to fit Steam requirements

Co-authored-by: Anuken <arnukren@gmail.com>
2020-01-08 10:27:50 -05:00
itskatt
3cc0990a94 translate (#1311) 2020-01-08 10:22:15 -05:00
Vanguard
2692b60d21 RU updates (#1277)
* 1 changed line, 1 removed line

Changed:
keybind.zoom.name

Removed:
keybind.zoom_hold.name

Moved some lines around to keep them in the same order with bundle.properties

* 1 changed line

tutorial.intro

* 3 new lines, 3 changed lines

New:
mod.erroredcontent
mod.errors
mod.noerrorplay

Changed:
mod.requiresversion
mod.remove.confirm
details

* 2 changed lines

mods.guide
mod.import.github

* 1 new line

link.feathub.description

* 1 changed line

item.graphite.description

* 1 changed line

block.mass-driver.description

* 9 new lines, 1 changed line

New:
be.update
be.update.confirm
be.updating
be.ignore
be.noupdates
be.check
server.kicked.serverRestarting
setting.coreselect.name
rules.blockhealthmultiplier

Changed:
wave.enemy

* 3 changed lines

quit.confirm.tutorial
setting.coreselect.name
public.confirm

* 22 changed lines

mod.missing
item.plastanium.name
block.plastanium-wall.name
block.plastanium-wall-large.name
block.plastanium-compressor.name
item.scrap.description
item.spore-pod.description
item.blast-compound.description
liquid.oil.description
unit.revenant.description
block.multi-press.description
block.plastanium-compressor.description
block.spore-press.description
block.power-source.description
block.force-projector.description
block.conveyor.description
block.mass-driver.description
block.liquid-junction.description
block.phase-conduit.description
block.thorium-reactor.description
block.blast-drill.description
block.cyclone.description
2020-01-08 10:21:21 -05:00
GioIacca9
3e636b73ce Updated Italian translations (#1297)
* Update it-IT translation

* Update bundle_it.properties
2020-01-08 10:21:09 -05:00
Aaron B
24adec99f4 Updated some german translations (#1295)
block.tar.name = Teer is right, but the only thing you get from tar is oil so why not name it oil?
2020-01-08 10:20:56 -05:00
Spico (Spirit Guy)
af1b73be69 Update bundle_tr.properties (#1293)
Fixed Line 418 not appearing at the right colour
2020-01-08 10:20:21 -05:00
Anuken
6e5d506a35 Stub implementation of action filters 2020-01-08 09:37:18 -05:00
Patrick 'Quezler' Mounier
5f047603bf Revert "Blend prototype"
This reverts commit 35afc94d34.

# Conflicts:
#	core/assets/sprites/sprites.png
2020-01-08 12:17:28 +01:00
Patrick 'Quezler' Mounier
5c485eff04 Ressurect OG corner 2020-01-08 10:58:05 +01:00
Patrick 'Quezler' Mounier
0f2f8f2411 Revert "Stash cursed loading dock"
This reverts commit 9bdf475049.
2020-01-08 10:42:34 +01:00
Patrick 'Quezler' Mounier
9bdf475049 Stash cursed loading dock 2020-01-08 10:41:09 +01:00
Patrick 'Quezler' Mounier
35afc94d34 Blend prototype 2020-01-08 10:27:06 +01:00
Anuken
f8f3ecd451 Merge remote-tracking branch 'origin/master' 2020-01-07 20:15:09 -05:00
Anuken
f4a819ba28 Fixed text wrapping for credits in Russian 2020-01-07 20:14:11 -05:00
Anuken
cf5e8c6463 Point planet renderer 2020-01-07 20:09:21 -05:00
Rasangus
44e745ac37 Update bundle_pt_BR.properties (#1281) 2020-01-07 19:42:48 -05:00
Anuken
c183b2dac4 Fixed incorrect variable usage 2020-01-07 15:54:51 -05:00
Anuken
1f3bab5fa3 Added untested rate limits 2020-01-07 14:16:48 -05:00
Anuken
6f25ba4541 squares. 2020-01-07 13:55:45 -05:00
Anuken
c611ce9d58 Removed old Matrix4 class 2020-01-07 11:16:04 -05:00
Anuken
3e0556de05 Merge remote-tracking branch 'origin/master' 2020-01-07 10:32:39 -05:00
Anuken
7a71468388 Updated arc hash just in case 2020-01-07 10:32:34 -05:00
Anuken
c8980163e9 3D progress 2020-01-07 10:32:00 -05:00
DeltaNedas
b0d65dcedb let mechs override drawStats and do custom power cell stuff (#1309)
* let mechs override drawStats and do custom power cell stuff

* Update Player.java

* Update Mech.java

* Update Player.java
2020-01-07 09:30:18 -05:00
Patrick 'Quezler' Mounier
8fc84fad0a Scale foobar correctly with different capacities 2020-01-07 10:48:31 +01:00
Patrick 'Quezler' Mounier
12c3b22b7c Fix poofing ¬ working if conveyor was backed up 2020-01-07 10:44:37 +01:00
Patrick 'Quezler' Mounier
252817abb7 Bar 2020-01-07 10:33:58 +01:00
Patrick 'Quezler' Mounier
781fbb6255 Foo 2020-01-07 10:33:04 +01:00
Patrick 'Quezler' Mounier
add19ed7f1 Start rotating 50% through reload 2020-01-07 10:17:24 +01:00
Anuken
81602dc3d5 Cleanup 2020-01-07 00:25:33 -05:00
Anuken
c474b082cd Cleanup 2020-01-07 00:24:37 -05:00
Anuken
b730cd52d5 GL cleanup 2020-01-06 23:47:29 -05:00
Anuken
3ae8065cf1 Merge 2020-01-06 17:20:16 -05:00
Anuken
7f23803db1 Visual changes 2020-01-06 16:25:08 -05:00
Patrick 'Quezler' Mounier
ecae603f50 Prevent (world border) crash
Learned my lesson from the diode :)
2020-01-06 18:13:40 +01:00
Patrick 'Quezler' Mounier
0b3d4da92d Block trading 2020-01-06 18:12:10 +01:00
Patrick 'Quezler' Mounier
6e8ba927dd Final cleanup before the draft phase ends ❤️ 2020-01-06 18:09:19 +01:00
Patrick 'Quezler' Mounier
9b55eeaa38 Rename batches to something simpler 2020-01-06 18:04:56 +01:00
Patrick 'Quezler' Mounier
1a177ef239 Rephase dotted 2020-01-06 18:00:43 +01:00
Patrick 'Quezler' Mounier
207d95dbd8 Refractor away throughput stat 2020-01-06 17:57:14 +01:00
Patrick 'Quezler' Mounier
78951113d6 Remove maxunits stat entry 2020-01-06 17:55:02 +01:00
Patrick 'Quezler' Mounier
58e5931b83 Fix caveat of 〃 2020-01-06 17:51:12 +01:00
Patrick 'Quezler' Mounier
9891e971ea Only unload if its ¬ the tile it spawned on
¬ loading if it both start & end plays weird
¬ unloading if it both start & end plays weird
——
so only unloading if the origin tile is ¬ the unload tile is the only smooth option

sadly this does block player feeding the conveyor at the last tile in the chain
2020-01-06 17:47:22 +01:00
Patrick 'Quezler' Mounier
6b3dc669eb Merge branch 'master' into crater 2020-01-06 17:37:47 +01:00
Patrick 'Quezler' Mounier
dd3c4d06ac Mass driver place range assist (#1331) 2020-01-06 11:32:18 -05:00
Anuken
854e69322b Merge remote-tracking branch 'origin/master' 2020-01-06 08:38:13 -05:00
Anuken
03286b29e8 Changed Cyrillic font 2020-01-06 08:37:19 -05:00
Daniel Dušek
9d9e31948d Add - tutorial localized, description coverage++, fix broken translations (#1327) 2020-01-05 17:41:41 -05:00
Patrick 'Quezler' Mounier
c6299c8f2c Add throughput stat entry 2020-01-05 15:28:28 +01:00
Patrick 'Quezler' Mounier
76fa8bef81 Add fixme 2020-01-05 10:37:32 +01:00
Patrick 'Quezler' Mounier
2ce30ece6c Prevent smoke while placing 2020-01-05 10:35:15 +01:00
Patrick 'Quezler' Mounier
2b4401c753 Prevent accepting items from the front 2020-01-05 10:32:58 +01:00
Patrick 'Quezler' Mounier
4494503e6b Get rid of computed boolean 2020-01-05 10:31:51 +01:00
Patrick 'Quezler' Mounier
2948738e33 Refractor away overhead 2020-01-05 10:28:43 +01:00
Anuken
71da1f1135 Added mod listing data class 2020-01-05 00:08:48 -05:00
Anuken
6c83c111cd Merge remote-tracking branch 'origin/master' 2020-01-04 15:28:19 -05:00
Anuken
8af3b877b5 Fixed #1320 2020-01-04 15:12:29 -05:00
Patrick 'Quezler' Mounier
095c65f36c Remove crater from bundle 2020-01-04 21:10:09 +01:00
Patrick 'Quezler' Mounier
7adf8cfdef Merge branch 'master' into crater 2020-01-04 20:05:50 +01:00
Patrick 'Quezler' Mounier
eb70283355 Use current directory explicitly for bundle updator (#1316) 2020-01-04 12:40:12 -05:00
Dave
5f1ea4b098 UX improvements for showTextInput (#1290)
* Added keyDown support for showTextInput (Enter, Escape, Back)

* Removed unnecessary "this"

* Added cursor autofocus on showTextInput
2020-01-04 12:39:57 -05:00
DeltaNedas
1dd0295c45 make turnCursor: false mechs not cross eyed (#1301)
* create new branch

* add targetDistance to weapons for mechs

players will use if turnCursor is false
2020-01-04 12:15:43 -05:00
Anuken
ea66d9a92f Merge remote-tracking branch 'origin/master' 2020-01-04 12:10:21 -05:00
Anuken
197769a9fe Fixed #1319 2020-01-04 12:10:03 -05:00
Simon Woodburry-Forget
439605f6e8 use findAll to iterate through mod content (#1313) 2020-01-04 00:32:03 -05:00
Patrick 'Quezler' Mounier
2666b564c2 Revamp comment 2020-01-03 20:19:44 +01:00
Patrick 'Quezler' Mounier
0ae627c56b Revert "Tweak next tile treshold"
This reverts commit a629aeef75.
2020-01-03 19:03:34 +01:00
Patrick 'Quezler' Mounier
81de3d2c7d Fix typo 2020-01-03 18:49:33 +01:00
Patrick 'Quezler' Mounier
57cd03c0c2 Remove crater inactivity 2020-01-03 18:43:06 +01:00
Patrick 'Quezler' Mounier
a629aeef75 Tweak next tile treshold 2020-01-03 18:35:51 +01:00
Patrick 'Quezler' Mounier
b8e32304a3 Purge newline 2020-01-03 17:45:29 +01:00
Patrick 'Quezler' Mounier
e2d0ab5161 Move bundle entries around 2020-01-03 17:42:05 +01:00
Patrick 'Quezler' Mounier
73040de839 Change bundle description 2020-01-03 17:41:05 +01:00
Patrick 'Quezler' Mounier
097334726d Change respawn & idle from frames to integers 2020-01-03 17:36:05 +01:00
Patrick 'Quezler' Mounier
6efcbe69a0 Get rid of compressable 2020-01-03 17:29:08 +01:00
Patrick 'Quezler' Mounier
f6af699428 Revert "🎩"
This reverts commit 10e4268dd5.

# Conflicts:
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
2020-01-03 17:26:19 +01:00
Patrick 'Quezler' Mounier
5a21387762 Add inb4 2020-01-03 17:23:57 +01:00
Patrick 'Quezler' Mounier
1f6d3dca0e Give craters surfboards to stream 2020-01-03 17:18:48 +01:00
Patrick 'Quezler' Mounier
0b0007502f Revert "Differentiate texture from armored conveyor"
This reverts commit 59451fcc0b.
2020-01-03 17:09:13 +01:00
Patrick 'Quezler' Mounier
59451fcc0b Differentiate texture from armored conveyor
By removing the turtleshell it looks less armored while still somewhat high-tech (ish)
2020-01-03 17:09:06 +01:00
Patrick 'Quezler' Mounier
12b034d16b Tweak default conveyor stats 2020-01-03 16:47:37 +01:00
Patrick 'Quezler' Mounier
68dca82ab8 Refractor for readability 2020-01-03 16:42:28 +01:00
Patrick 'Quezler' Mounier
edbe50d8c4 Get rid of track enum 2020-01-03 16:20:23 +01:00
Patrick 'Quezler' Mounier
644d54c3f1 Move drawer back from crater to tile 2020-01-03 16:12:38 +01:00
Patrick 'Quezler' Mounier
f4a7f98b0b Fix blending 2020-01-03 16:00:58 +01:00
Patrick 'Quezler' Mounier
315bb483f2 Replace headless check with inactivity 2020-01-03 12:30:55 +01:00
Patrick 'Quezler' Mounier
d843f29e09 Make crater speed configurable 2020-01-03 12:19:33 +01:00
Patrick 'Quezler' Mounier
0807e1bd25 List boostable item capacity in stats 2020-01-03 12:13:33 +01:00
Patrick 'Quezler' Mounier
4aaaf3292e Add cooldown after crater moved 2020-01-03 11:56:29 +01:00
Patrick 'Quezler' Mounier
8c7d8abddd Inflate crater properties 2020-01-03 11:40:45 +01:00
Patrick 'Quezler' Mounier
aa64dcfe27 Update target before launch
So it has the chance to make room before it receives the crater from the caller.
2020-01-03 11:28:46 +01:00
Patrick 'Quezler' Mounier
f94c7e6105 Move launch checks 2020-01-03 11:23:47 +01:00
Patrick 'Quezler' Mounier
7b0456a227 Launch only when full 2020-01-03 11:11:54 +01:00
Patrick 'Quezler' Mounier
cad13b61bb Merge branch 'master' into crater
# Conflicts:
#	core/src/mindustry/mod/ClassAccess.java
2020-01-03 08:01:22 +01:00
Vanguard
2e114d09ea 22 changed lines
mod.missing
item.plastanium.name
block.plastanium-wall.name
block.plastanium-wall-large.name
block.plastanium-compressor.name
item.scrap.description
item.spore-pod.description
item.blast-compound.description
liquid.oil.description
unit.revenant.description
block.multi-press.description
block.plastanium-compressor.description
block.spore-press.description
block.power-source.description
block.force-projector.description
block.conveyor.description
block.mass-driver.description
block.liquid-junction.description
block.phase-conduit.description
block.thorium-reactor.description
block.blast-drill.description
block.cyclone.description
2020-01-03 07:27:50 +03:00
Anuken
7fa61eaf3b Added server MOTD 2020-01-02 22:09:33 -05:00
Patrick 'Quezler' Mounier
4a238cff77 Begone 🔭 2020-01-02 22:09:12 +01:00
Patrick 'Quezler' Mounier
3f754116d8 Tweak crater movement 2020-01-02 22:06:41 +01:00
Patrick 'Quezler' Mounier
13e378c7d3 Birth base conveyor class 2020-01-02 22:06:18 +01:00
Patrick 'Quezler' Mounier
e289f13d27 - newline 2020-01-02 21:40:04 +01:00
Patrick 'Quezler' Mounier
f0bfe24008 Remove crater bundle entry 2020-01-02 21:34:56 +01:00
Patrick 'Quezler' Mounier
0ae6527584 Sacrifice hivemind to convert craters to drawings
Sad, yes, but crater units would never sync well over the net in its current state, so faking them unto conveyors is the only real option.

Forgive me future ai overlord <3
2020-01-02 21:29:19 +01:00
Anuken
5f3c10e397 arc 2020-01-02 14:33:21 -05:00
Anuken
e214a8e7c0 Merge remote-tracking branch 'origin/master' 2020-01-02 14:10:22 -05:00
Anuken
cb76e80836 Bugfixes 2020-01-02 14:08:41 -05:00
KSean222
d161ba442f Set primitive wrapping to false for scripts (#1302)
* Set primitive wrapping to false for scripts

* Added one newline cause why not
2020-01-02 14:07:38 -05:00
Anuken
70e6e52eba Update README.md 2020-01-02 14:04:12 -05:00
Patrick 'Quezler' Mounier
10e4268dd5 🎩
Leaving this here until it gets merged or something :)
2020-01-02 09:02:37 +01:00
Patrick 'Quezler' Mounier
317f40eecd Use tree score instead of looping each crater twice 2020-01-02 08:51:49 +01:00
Patrick 'Quezler' Mounier
ec32f65646 Avoid recursion 2020-01-02 08:11:37 +01:00
Patrick 'Quezler' Mounier
f1a455d7f1 Uproot the way the update order works 2020-01-02 07:57:32 +01:00
Patrick 'Quezler' Mounier
481c5753e7 Fixes a crash somehow 2020-01-01 22:23:10 +01:00
Patrick 'Quezler' Mounier
7f434fb625 ❤️
https://youtu.be/gzkItR1jkKY?t=105
2020-01-01 20:55:20 +01:00
Patrick 'Quezler' Mounier
5c31009495 Remove unused alteration 2020-01-01 20:54:29 +01:00
Patrick 'Quezler' Mounier
549efa472a Always keep moving towards its purpose 2020-01-01 20:51:26 +01:00
Patrick 'Quezler' Mounier
70b43ee31c Keep unloading if it succeeds 2020-01-01 20:45:22 +01:00
Patrick 'Quezler' Mounier
2fcdae4c7e Dirty, but works even better <3 2020-01-01 20:32:09 +01:00
Patrick 'Quezler' Mounier
15311fa4ed This looks acceptable 2020-01-01 20:31:01 +01:00
Patrick 'Quezler' Mounier
0ce1164ffa Brainstorm dibs logic 2020-01-01 20:29:14 +01:00
Patrick 'Quezler' Mounier
12f51d477e Purge anti collision 2020-01-01 20:17:52 +01:00
Patrick 'Quezler' Mounier
00933f0e30 Merge branch 'master' into crater 2020-01-01 20:13:21 +01:00
Patrick 'Quezler' Mounier
197118e16e Doesn’t really close the gap 2020-01-01 20:13:07 +01:00
Patrick 'Quezler' Mounier
b8cede1cf5 Start reworking tile assigner 2020-01-01 20:07:22 +01:00
Patrick 'Quezler' Mounier
163bf15930 Rework dibs into hivemind
Imperfect, will require tweaking.
2020-01-01 20:06:47 +01:00
Anuken
af9be8584e Merge remote-tracking branch 'origin/master' 2020-01-01 12:16:29 -05:00
Anuken
ddb0d7eff2 Fixed #1304 2020-01-01 12:16:23 -05:00
Anuken
fdee9c7b50 Update README.md 2020-01-01 10:45:02 -05:00
Vanguard
b44b0f9992 3 changed lines
quit.confirm.tutorial
setting.coreselect.name
public.confirm
2020-01-01 18:41:21 +03:00
Patrick 'Quezler' Mounier
1bcfc69206 Tweak stat pages 2020-01-01 14:01:54 +01:00
Patrick 'Quezler' Mounier
c3186b63ce Rename compression to plastanium
Breaking change.
2020-01-01 13:43:14 +01:00
Patrick 'Quezler' Mounier
8cd03c8a06 Add techtree entry 2020-01-01 13:34:08 +01:00
Patrick 'Quezler' Mounier
fd5f914845 Holy sh*t this looks smooth 2020-01-01 11:47:36 +01:00
Patrick 'Quezler' Mounier
07d23b4489 Merge branch 'master' into crater 2020-01-01 11:40:55 +01:00
Anuken
7a29877a2d Bugfixes 2019-12-31 19:19:04 -05:00
Patrick 'Quezler' Mounier
6f2dd3b708 Make its movement a bit more robotic
Far from smooth, but its better than a mass suicide orgy.
2019-12-31 22:32:41 +01:00
Patrick 'Quezler' Mounier
c6c3357979 Stash revised 〃 2019-12-31 21:28:59 +01:00
Patrick 'Quezler' Mounier
ed0809515e Revert "Experiment with reserving tiles"
This reverts commit b46455642a.
2019-12-31 21:10:17 +01:00
Patrick 'Quezler' Mounier
b46455642a Experiment with reserving tiles 2019-12-31 21:10:12 +01:00
Patrick 'Quezler' Mounier
9c1eca6d31 Merge remote-tracking branch 'anuken/master' into crater 2019-12-31 18:55:06 +01:00
Patrick 'Quezler' Mounier
7726d94566 Revert "Stash failed collision preventer"
This reverts commit 0383d3b8d7.
2019-12-31 18:54:45 +01:00
Patrick 'Quezler' Mounier
0383d3b8d7 Stash failed collision preventer 2019-12-31 18:54:38 +01:00
Patrick 'Quezler' Mounier
830f67e001 Merge branch 'master' into crater 2019-12-31 17:31:09 +01:00
Anuken
42e0238bb9 Merge remote-tracking branch 'origin/master' 2019-12-31 10:30:04 -05:00
Anuken
a78c0defc7 Fixed #1289 2019-12-31 10:29:18 -05:00
CinExPL
62947b9417 Update bundle_pl.properties (#1285)
- reverted back some changes made by @FarmerThanos,
- fixed some errors,
- compared to english file.
2019-12-30 23:03:46 -05:00
Anuken
e7d813ab5b Votekick config 2019-12-30 13:03:29 -05:00
Anuken
1de294cae5 Bugfixes 2019-12-30 13:00:28 -05:00
Anuken
51bd74fcc1 Build time increase of basic blocks 2019-12-30 12:55:35 -05:00
Anuken
f2e1d17ce9 Made junction harder to spam 2019-12-30 12:49:27 -05:00
Anuken
44ef5148b4 Reduced drone lag 2019-12-30 12:47:40 -05:00
Anuken
73461e0364 Added config for showing connect/disconnect messages 2019-12-30 11:36:50 -05:00
Patrick 'Quezler' Mounier
296f195a7e Unload only in facing direction 2019-12-30 14:24:09 +01:00
Patrick 'Quezler' Mounier
f52fe3052e Fix overflowing craters 2019-12-30 13:14:00 +01:00
Patrick 'Quezler' Mounier
744d863fe9 Move crater critter creator 2019-12-30 13:03:48 +01:00
Patrick 'Quezler' Mounier
0582382778 Refracor track with comments 2019-12-30 12:48:02 +01:00
Patrick 'Quezler' Mounier
4cbd11a213 Refracor crater with comments 2019-12-30 12:17:21 +01:00
Patrick 'Quezler' Mounier
bf9207fe4e Merge branch 'master' into crater 2019-12-30 10:55:06 +01:00
Patrick 'Quezler' Mounier
56351b427b Revert "Attempt to remove unused regions"
This reverts commit 4f5b737f7c.
2019-12-30 10:53:50 +01:00
Patrick 'Quezler' Mounier
4f5b737f7c Attempt to remove unused regions
Failed, conveyor code depends to much on it, gonna revert this.
2019-12-30 10:53:45 +01:00
Anuken
905d7abadb Bugfixes 2019-12-29 23:49:09 -05:00
Anuken
6f61665390 Fixed some block indexing 2019-12-29 21:51:44 -05:00
Anuken
66d19ec6b7 Merge remote-tracking branch 'origin/master' 2019-12-29 21:46:03 -05:00
Anuken
ee4f06a9c2 Bugfixes 2019-12-29 21:45:59 -05:00
Anuken
bcd5b811bb a brief experiment 2019-12-29 21:05:02 -05:00
Anuken
689b0b8c61 Fixed games never ending 2019-12-29 20:04:08 -05:00
Anuken
1ce9b54e10 Merge remote-tracking branch 'origin/master' 2019-12-29 18:59:17 -05:00
Anuken
39db62e3a5 Minimap tweaks 2019-12-29 18:56:29 -05:00
Wina
ec59b04363 Full SPA translation for Steam (Achievements included) (#1229)
* Full description translated

* Create achievements.vdf

* Create short-description.txt
2019-12-29 18:55:51 -05:00
FarmerThanos
565064cd64 Updated bundle_pl.properties (#1273)
* Updated bundle_pl.properties

Corrected some translations, translated some options and added a description to the Battery Diode.

* Update bundle_pl.properties

Reverted some changes
2019-12-29 18:52:44 -05:00
Petr Gašparík
9d2e356996 Update bundle_cs.properties (#1267)
Rewamping Czech translation. First part.
2019-12-29 18:52:06 -05:00
Ali-C-Ila
ae5685ae46 Update bundle_zh_TW.properties (#1263)
* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties
2019-12-29 18:51:58 -05:00
Predator127
2b46b0e38e Update bundle_pt_BR.properties (#1253)
* Update bundle_pt_BR.properties

Hi there! my name is Zero! also known as Hanko, I've translated for a long time since then.
I've been lookin through the new translations since i've been out for quite a long time, but dont think i forgot that i was a translator!

* Update bundle_pt_BR.properties
2019-12-29 18:51:52 -05:00
GioIacca9
e200dcee33 Update bundle_it.properties (#1240) 2019-12-29 18:51:45 -05:00
PlayerBrasil13
fe63b46b67 Update bundle_pt_BR.properties (#1232) 2019-12-29 18:51:37 -05:00
SpiffyBadGaster
698e83a28a Make translation better (#1222)
* Make translation better

* Make something better

* Fix that javaline

* Make Translate better

Not finish

* Make Translate better

Not finish
2019-12-29 18:51:30 -05:00
Prosta4okua
150d0bf513 [WIP]Update bundle_uk_UA.properties (#1220)
* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* 17.12.2019
2019-12-29 18:51:22 -05:00
Prosta4okua
5af7cd1d55 Update bundle_uk_UA.properties (#1275) 2019-12-29 18:50:59 -05:00
Vanguard
616867b4b9 9 new lines, 1 changed line
New:
be.update
be.update.confirm
be.updating
be.ignore
be.noupdates
be.check
server.kicked.serverRestarting
setting.coreselect.name
rules.blockhealthmultiplier

Changed:
wave.enemy
2019-12-30 02:47:49 +03:00
Anuken
b952ee0725 Tweaks 2019-12-29 18:01:10 -05:00
Anuken
670f085f78 New, improved minimap / Bugfixes 2019-12-29 17:56:10 -05:00
Anuken
811c22b84e Added camera movement while paused 2019-12-29 15:40:56 -05:00
Patrick 'Quezler' Mounier
20a511d940 Merge branch 'master' into crater 2019-12-29 20:50:55 +01:00
Patrick 'Quezler' Mounier
d99f163cac Fix crash when fed directly by a conveyor 2019-12-29 20:49:06 +01:00
Patrick 'Quezler' Mounier
899137fbf7 Fix blending 2019-12-29 20:46:57 +01:00
Patrick 'Quezler' Mounier
971b1542ba Balance capacity 2019-12-29 20:38:44 +01:00
Anuken
6edcbb9120 Bugfixes 2019-12-29 14:38:03 -05:00
Patrick 'Quezler' Mounier
6b091b4d31 Make craters affected by overdrive projectors 2019-12-29 20:31:11 +01:00
Patrick 'Quezler' Mounier
326f75cbda Merge branch 'master' into crater 2019-12-29 19:09:27 +01:00
Anuken
566052cabf Fixed #1272 2019-12-29 12:24:51 -05:00
Anuken
730d30ef98 Added core schematic selection setting 2019-12-29 11:40:52 -05:00
Anuken
e04c592f9e Bugfixes 2019-12-29 00:40:25 -05:00
Anuken
77b89d45d6 Cleanup / Desktop dead camera panning 2019-12-29 00:09:46 -05:00
Anuken
df4a0dd5e4 Added openServer method 2019-12-28 22:18:16 -05:00
Anuken
8c941c7165 Added update trigger / Server moddability tweaks 2019-12-28 21:34:20 -05:00
Anuken
b01d56aae8 Bugfixes 2019-12-28 18:22:20 -05:00
Anuken
497ae740aa Removed pointless "> " 2019-12-28 18:12:34 -05:00
Anuken
7543d92473 Added startup commands to server 2019-12-28 18:05:45 -05:00
Anuken
60d83751e8 Fixed server port not being parsed 2019-12-28 17:55:00 -05:00
Anuken
e0f59404c1 Added BE server 2019-12-28 17:49:49 -05:00
Anuken
d3c559fa00 Moved server run scripts 2019-12-28 17:33:17 -05:00
Anuken
179bf4d525 Added BE-specific server list 2019-12-28 16:34:35 -05:00
Anuken
16ddb91466 Merge remote-tracking branch 'origin/master' 2019-12-28 16:30:46 -05:00
Anuken
e1bf8bdab1 Added BE auto-updater / Server config / Fixed #1266 2019-12-28 16:30:40 -05:00
AmateurPotion
d43b40fab5 Update bundle_ko.properties (#1262) 2019-12-28 11:21:55 -05:00
Anuken
c250b1d24a Fixes 2019-12-28 11:16:35 -05:00
Patrick 'Quezler' Mounier
5d62b1b318 Merge branch 'master' into crater 2019-12-28 09:39:21 +01:00
Patrick 'Quezler' Mounier
e0cfbc7609 All hail the cuteness of this crater roomba critter 2019-12-27 20:45:27 +01:00
Anuken
186a2aaa45 Merge branches 'master' and 'mech-rework' of https://github.com/Anuken/Mindustry into mech-rework
# Conflicts:
#	core/assets/sprites/block_colors.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites3.png
#	core/assets/sprites/sprites5.png
#	core/src/mindustry/ai/BlockIndexer.java
#	core/src/mindustry/core/World.java
#	core/src/mindustry/entities/traits/Entity.java
#	core/src/mindustry/entities/type/BaseEntity.java
#	core/src/mindustry/entities/type/TileEntity.java
#	core/src/mindustry/world/blocks/defense/MendProjector.java
#	core/src/mindustry/world/blocks/defense/OverdriveProjector.java
#	core/src/mindustry/world/blocks/production/Drill.java
#	gradle.properties
2019-12-27 01:41:06 -05:00
Anuken
c0c0ffa682 Bugfixes 2019-12-27 01:22:50 -05:00
Anuken
98f8a1732e Renamed Calls -> Call 2019-12-26 23:00:26 -05:00
Anuken
d6d6dc29dc More plugin customization / Renamed Rectangle 2019-12-26 22:44:15 -05:00
Anuken
6080a7e4bc Possibly fixed tests / Added support for mod icons 2019-12-26 20:53:53 -05:00
Anuken
c339a0ecdf Merge 2019-12-26 20:44:05 -05:00
Anuken
684f3075cb Team#toString() 2019-12-26 20:20:12 -05:00
Anuken
954e26fc14 Method cleanup 2019-12-26 20:08:53 -05:00
Anuken
c449302d28 Fixed tests 2019-12-26 19:57:24 -05:00
Anuken
d8629100db Functionality fixes 2019-12-26 19:48:45 -05:00
Anuken
4858e602ed Fixed compilation 2019-12-26 19:40:54 -05:00
Anuken
de5979f4ee Many various internal changes 2019-12-26 17:46:01 -05:00
Anuken
36ec88e2e2 Team cleanup 2019-12-26 14:20:36 -05:00
Anuken
a5978b6163 Updated Arc 2019-12-26 08:08:16 -05:00
Anuken
1d6f769e3d Debug fixes 2019-12-26 08:01:24 -05:00
Anuken
2b22b7e7e4 Condensed unit group array 2019-12-25 22:26:51 -05:00
Anuken
9016c12d16 Made team a separate class 2019-12-25 19:07:04 -05:00
Anuken
8ac0949ddf Added default liquid turret liquid display 2019-12-25 14:38:43 -05:00
Anuken
c307fc02cf Full merge 2019-12-25 13:34:27 -05:00
Anuken
c681cc5cf8 Compile fixes 2019-12-25 13:25:44 -05:00
Anuken
1e7c83f0c9 Partial merge 2019-12-25 13:22:36 -05:00
Anuken
fad94cb56e Updated Arc 2019-12-25 12:57:00 -05:00
Anuken
ee429ef4f2 Merge branches 'kill-packages' and 'master' of https://github.com/Anuken/Mindustry 2019-12-25 12:55:38 -05:00
Anuken
c7ea4e85c9 Serialize fixes 2019-12-25 12:47:14 -05:00
Anuken
c0f14185a8 More fixes 2019-12-25 12:35:23 -05:00
Anuken
ec4c2c7adb Fixed compilation 2019-12-25 12:22:12 -05:00
Anuken
03342dc2f5 Android fixes 2019-12-25 12:06:19 -05:00
Anuken
475794640d More cleanup 2019-12-25 11:16:54 -05:00
Anuken
514d4817c8 it is done 2019-12-25 01:39:38 -05:00
Anuken
48daf12810 three dee 2019-12-24 21:45:53 -05:00
Anuken
32d28a4070 Merge branches '6.0' and 'master' of https://github.com/Anuken/Mindustry into 6.0
# Conflicts:
#	core/assets/sprites/block_colors.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites2.png
#	core/assets/sprites/sprites3.png
#	core/assets/sprites/sprites5.png
#	core/src/io/anuke/mindustry/ctype/ContentType.java
#	core/src/io/anuke/mindustry/ctype/UnlockableContent.java
#	core/src/io/anuke/mindustry/io/LegacyMapIO.java
#	core/src/io/anuke/mindustry/type/WeatherEvent.java
#	gradle.properties
2019-12-24 12:40:23 -05:00
Vanguard
341121f655 1 changed line
block.mass-driver.description
2019-12-24 14:01:38 +03:00
Patrick 'Quezler' Mounier
f89af1b26a Override inverted sorter arrow colours (#1252)
Override hex’s of the arrows by those of the unloader.
2019-12-24 00:32:04 -05:00
TsjipTsjip
49bd91681d Merge pull request #2 from Quezler/bird-liquid-void
〃but for the right target branch
2019-12-23 19:58:48 +01:00
Patrick 'Quezler' Mounier
c279fda5e4 Suggest liquid void sprite
Uses the color of the corner(s) for the inner ring, just like how the item void is colored based on the item source.
2019-12-23 17:24:38 +01:00
TsjipTsjip
ff3165f5d2 Formatting 2019-12-23 11:35:12 +01:00
Anuken
5b21873f3c Merge remote-tracking branch 'origin/master' 2019-12-22 22:05:00 -05:00
Anuken
b806a22a0a Fixed #1237 2019-12-22 22:04:41 -05:00
Ali-C-Ila
41e4187193 Added Chinese translator (#1250) 2019-12-22 12:01:41 -05:00
Ali-C-Ila
ba7cf94a6b Update bundle_zh_TW.properties (#1211)
* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties
2019-12-22 12:01:27 -05:00
Vanguard
01de18b663 RU updates (#1225)
* 1 changed line, 1 removed line

Changed:
keybind.zoom.name

Removed:
keybind.zoom_hold.name

Moved some lines around to keep them in the same order with bundle.properties

* 1 changed line

tutorial.intro

* 3 new lines, 3 changed lines

New:
mod.erroredcontent
mod.errors
mod.noerrorplay

Changed:
mod.requiresversion
mod.remove.confirm
details

* 2 changed lines

mods.guide
mod.import.github

* 1 new line

link.feathub.description

* 1 changed line

item.graphite.description
2019-12-22 12:01:03 -05:00
Wina
9aeccfd9f3 Spanish Translation for Google Play Store (#1228)
* [WIP]Added ES description for play store.

.

* Create short_description.txt

* Create summary.txt

* Update summary.txt

* Create title.txt

* Create video.txt

* Create 100.1.txt
2019-12-22 11:21:25 -05:00
Wina
41a5c4daf3 Updated Spanish translation (#1227)
Translated a few items more and fixed gramatical mistakes of the old translation.
2019-12-22 11:20:59 -05:00
stuffyAI
07e58dc14b Update german language bundle (#1226)
Mostly adding new things to translate from last few updates, also some missing stuff
2019-12-22 11:13:38 -05:00
Vanguard
196f37eff1 1 changed line
item.graphite.description
2019-12-22 15:27:39 +03:00
Anuken
ede002878e problem solved 2019-12-21 21:11:30 -08:00
Anuken
9906821912 Update BundleLauncher.java 2019-12-20 20:31:07 -08:00
Vanguard
2e110bff20 1 new line
link.feathub.description
2019-12-20 18:20:07 +03:00
Anuken
adb12dcbb8 Bugfix 2019-12-19 21:58:43 -05:00
Anuken
7a1f467f27 obligatory daily commit 2019-12-19 21:49:40 -05:00
ado1928
5e568eac0d Added Feathub to the "About" tab (#1234)
* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Update Links.java
2019-12-19 19:33:24 -05:00
Joshua Fan
0f6cd5242c Fix chat scroll (#1236) 2019-12-19 19:23:32 -05:00
Anuken
e91151213a Extra mod fields 2019-12-18 09:27:24 -05:00
Anuken
8b4c266d49 Bugfixes 2019-12-18 08:43:31 -05:00
Vanguard
f5b21c954e Merge branch 'master' into master 2019-12-18 13:22:37 +03:00
Vanguard
040f3d0254 2 changed lines
mods.guide
mod.import.github
2019-12-18 13:19:33 +03:00
Anuken
1c816be5ce Fixed crash occuring with block overload 2019-12-17 18:15:24 -05:00
Anuken
f504dd2b5a Minor tweaks 2019-12-17 17:10:29 -05:00
Vanguard
f2687e4a1a 3 new lines, 3 changed lines
New:
mod.erroredcontent
mod.errors
mod.noerrorplay

Changed:
mod.requiresversion
mod.remove.confirm
details
2019-12-17 21:27:48 +03:00
Anuken
26881fbdb9 Added server mod error check 2019-12-17 10:58:43 -05:00
Anuken
8d921199fb Merge remote-tracking branch 'origin/master' 2019-12-16 18:37:18 -05:00
Anuken
4ffe233321 Added repair point range display 2019-12-16 18:37:11 -05:00
Anuken
e076de9dcd Merge pull request #1221 from TsjipTsjip/typoFixes
'arilleryPlastic' -> 'artilleryPlastic'
2019-12-16 13:58:59 -05:00
TsjipTsjip
5ce66b0dbb 'arilleryPlastic' -> 'artilleryPlastic' 2019-12-16 19:55:10 +01:00
Anuken
6971a76c8e І 2019-12-16 12:50:18 -05:00
Anuken
d47f86cc21 Cleanup 2019-12-16 10:12:39 -05:00
Anuken
487607e1d6 Removed references to GWT completely 2019-12-16 00:08:14 -05:00
Anuken
3cefc085bd Tentative RU bundle changes 2019-12-15 22:11:07 -05:00
Anuken
3d8e5bd36a Added new Cyrillic font 2019-12-15 21:31:55 -05:00
Anuken
e9ed0512f7 Removed Path API usage 2019-12-15 21:12:41 -05:00
Anuken
0cf39bf5c3 Eliminated 8 characters 2019-12-15 20:01:06 -05:00
Anuken
95a1474b9a Merge remote-tracking branch 'origin/master' 2019-12-15 19:36:38 -05:00
Anuken
53aedcee2c Cleanup 2019-12-15 19:35:04 -05:00
Anuken
9758a05002 Merge pull request #1218 from joshuaptfan/break-cancel
Prevent right-click from deconstructing when schematic is selected
2019-12-15 18:38:08 -05:00
joshuaptfan
18bb7ba936 Prevent right-click from deconstructing when schematic is selected; allow deconstruct cancel with left-click 2019-12-15 14:26:13 -08:00
Anuken
9f3dcdf727 Fixed #1215 - made all valid floors show up in drill mine list 2019-12-15 16:29:11 -05:00
Anuken
7d2354a653 Mod path resolving fixes 2019-12-15 16:00:50 -05:00
Anuken
ab21b88001 Mod sort fix 2019-12-15 15:22:19 -05:00
Anuken
a560978dcf Sync fixes / Fixed linear filtering resetting on mod load 2019-12-15 14:30:28 -05:00
Anuken
047f479a2f Fixed server 2019-12-15 14:00:07 -05:00
Anuken
d78d3daaf9 Updated script stub 2019-12-15 13:56:01 -05:00
Anuken
976d0f54b3 Merge branches 'master' and 'safe-mod-loading' of https://github.com/Anuken/Mindustry
# Conflicts:
#	core/src/io/anuke/mindustry/mod/Mods.java
2019-12-15 13:55:30 -05:00
Anuken
1c1db3990f Fully implemented safe content loading 2019-12-15 13:54:51 -05:00
Vanguard
17ae17dced 1 changed line
tutorial.intro
2019-12-15 16:15:51 +03:00
Anuken
bcc8f65ac8 More cleanup 2019-12-14 20:49:55 -05:00
Anuken
e043f4bb66 API cleanup 2019-12-14 18:19:02 -05:00
Anuken
9d3dda035c Compile fixes 2019-12-14 12:53:37 -05:00
Anuken
6e16aab794 Merge remote-tracking branch 'origin/master' 2019-12-14 11:05:32 -05:00
Anuken
c1cf3183ac Fixed some Android-related script issues 2019-12-14 11:04:22 -05:00
Anuken
252d0f6aa1 aaaaa 2019-12-14 10:51:36 -05:00
Anuken
1f5a6e1bf8 Compile error fixes 2019-12-14 10:06:09 -05:00
Anuken
58e3143e2a Content cleaning 2019-12-14 09:33:07 -05:00
TsjipTsjip
71eb19d4f3 Update core/assets/bundles/bundle_fr.properties
Co-Authored-By: YaFou <33806646+YaFou@users.noreply.github.com>
2019-12-14 11:12:12 +01:00
Anuken
9033ebcfd7 Merge pull request #1019 from Kieaer/patch-4
Add WithdrawEvent
2019-12-13 23:19:19 -05:00
Anuken
1f5e773c77 Fixed double-event firing 2019-12-13 23:15:49 -05:00
TsjipTsjip
472069855c Apply French localization. 2019-12-13 19:33:34 +01:00
Vanguard
601f6af3c8 1 changed line, 1 removed line
Changed:
keybind.zoom.name

Removed:
keybind.zoom_hold.name

Moved some lines around to keep them in the same order with bundle.properties
2019-12-13 19:10:59 +03:00
TsjipTsjip
7f5e494709 Update bundle.properties 2019-12-13 14:52:15 +01:00
Anuken
7b1a0a42d4 Merge pull request #1206 from joshuaptfan/zoom-no-hold
Make scroll zoom by default, remove zoom hold keybind
2019-12-12 18:35:29 -05:00
Anuken
3d78175e50 Merge pull request #1208 from Kieaer/patch-6
Update MessageBlock.java
2019-12-12 18:33:20 -05:00
키에르
9d2133814c Update MessageBlock.java 2019-12-13 07:56:50 +09:00
joshuaptfan
6ce013a1eb Make diagonal placement keybind modify scroll to always zoom 2019-12-12 14:56:32 -08:00
Anuken
19675068ea Fixed wave time not saving properly 2019-12-12 17:09:29 -05:00
joshuaptfan
5db8520b74 Add rotation checks to mobile zoom 2019-12-12 13:52:05 -08:00
Anuken
c3e41140e0 Disabled smart resource usage for now 2019-12-12 16:39:34 -05:00
Anuken
bce379d40d Merge remote-tracking branch 'origin/master' 2019-12-12 16:34:37 -05:00
Anuken
8fde8695d0 Fixed tests 2019-12-12 16:33:24 -05:00
Anuken
8c1c54d49a Merge pull request #1207 from Prosta4okua/master
1 new line
2019-12-12 16:31:04 -05:00
Anuken
01e3912827 Implemented conservative generators / Closes #804 2019-12-12 16:28:02 -05:00
Vanguard
e22f853a31 1 new line
mod.scripts.unsupported
2019-12-13 00:08:23 +03:00
Anuken
1ae20553ff Merge remote-tracking branch 'origin/master' 2019-12-12 16:07:40 -05:00
Anuken
c68eaade94 Merge pull request #1204 from Prosta4okua/master
Ukrainian translation.
2019-12-12 16:07:29 -05:00
Anuken
1461b5b357 Merge pull request #1205 from Prosta4okua/patch-2
True Ukrainian translation
2019-12-12 16:07:05 -05:00
Anuken
f0dd3b3a39 Merge pull request #1109 from ballgamer56/patch-1
Thai translation
2019-12-12 15:54:50 -05:00
Anuken
61d724ee2b Added Thai font 2019-12-12 15:54:25 -05:00
Prosta4okua
d60c2c5b63 Merge branch 'master' into patch-2 2019-12-12 22:40:30 +02:00
Prosta4okua
7e696cadaf Update bundle_uk_UA.properties 2019-12-12 22:36:54 +02:00
Anuken
0f23bf9d08 Merge pull request #1156 from martin-mfg/master
add and fix some German translations
2019-12-12 15:34:44 -05:00
Anuken
202d79817a Merge pull request #1149 from itskatt/french-translation
Update the French Translation
2019-12-12 15:34:06 -05:00
joshuaptfan
736737f151 Make scroll zoom by default, remove zoom hold keybind 2019-12-12 12:23:32 -08:00
TsjipTsjip
2366d25de7 Add liquid void block. 2019-12-12 21:11:14 +01:00
Anuken
a29ce3b0b9 Merge pull request #1202 from AmateurPotion/patch-23
Update bundle_ko.properties
2019-12-12 09:30:18 -05:00
AmateurPotion
fed4842222 Update bundle_ko.properties 2019-12-12 21:48:38 +09:00
Anuken
fbed11e927 Fixed #1198 2019-12-11 15:13:45 -05:00
Anuken
45ce4013d0 Merge remote-tracking branch 'origin/master' 2019-12-11 14:26:51 -05:00
Anuken
6f3d585118 Merge pull request #1183 from GioIacca9/patch-2
Update bundle_it.properties
2019-12-11 14:24:37 -05:00
Anuken
962ce7bfa6 Merge pull request #1187 from AmateurPotion/patch-22
Update bundle_ko.properties
2019-12-11 14:24:24 -05:00
Anuken
b6ee157adb Update bundle_zh_TW.properties (#1190)
* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties
2019-12-11 14:24:15 -05:00
TsjipTsjip
a45a632726 Update bundle_nl_BE.properties (#1194) 2019-12-11 14:24:07 -05:00
Anuken
675e15ddca Minor refactor of class names 2019-12-11 14:23:53 -05:00
Atan599
f6b9830f82 Update bundle_cs.properties (#1192) 2019-12-11 10:51:34 -05:00
TsjipTsjip
324f6351ea "artlleryIncendiary" -> "artilleryIncendiary" (#1196)
* Gracious error with missing link description keys.

* Fix typo. "artlleryIncendiary" -> "artilleryIncendiary"

* Revert "Gracious error with missing link description keys."

This reverts commit ff5a470560.
2019-12-11 10:17:28 -05:00
Anuken
aeb6e6498e Minor server tweaks 2019-12-10 17:00:49 -05:00
Anuken
f4ee67c08b Fixed gradle complaining about absolutely nothing 2019-12-10 10:45:07 -05:00
Ali-C-Ila
a2382965f6 Update bundle_zh_TW.properties 2019-12-10 20:17:55 +08:00
Ali-C-Ila
09dbee1401 Update bundle_zh_TW.properties 2019-12-10 20:09:21 +08:00
Anuken
b74696b312 Fixed effect loading 2019-12-09 22:20:53 -05:00
Anuken
da849085ec Status effect cleanup 2019-12-09 22:08:22 -05:00
AmateurPotion
83a3195e34 Update bundle_ko.properties 2019-12-10 10:26:40 +09:00
AmateurPotion
8148f2a0f7 Update bundle_ko.properties 2019-12-10 10:25:42 +09:00
Anuken
2a03ef0c43 More cleanup 2019-12-09 16:59:43 -05:00
Anuken
0078a8cb8e Fixed scripts not working on older Android phones 2019-12-09 12:48:15 -05:00
Anuken
177cea5c5d Added block size error 2019-12-09 11:48:59 -05:00
Anuken
74dc31b10a Removed unnecessary unit types 2019-12-09 11:27:09 -05:00
Anuken
9e07b95223 Functional tweaks 2019-12-08 22:50:54 -05:00
Anuken
2554433f8d Fixed #1184 2019-12-08 21:29:03 -05:00
Anuken
e06d61dcc9 FX cleanup 2019-12-08 18:38:56 -05:00
Anuken
1aca302518 Many changes to improve scripting 2019-12-08 18:34:23 -05:00
Anuken
a7d37b7e6c Fixed tests 2019-12-08 15:59:48 -05:00
Anuken
9f29898713 Better console / Better logging 2019-12-08 15:17:14 -05:00
Anuken
803719b216 Added mod displayName property [for color tags, etc] 2019-12-08 13:44:27 -05:00
Anuken
6588fc6581 Removed pointless base object 2019-12-08 13:14:47 -05:00
Anuken
9f4d44f0f3 Cleanup / Added server support for scripting 2019-12-08 11:00:59 -05:00
Anuken
07fb5aa88e Bugfixes 2019-12-08 10:27:06 -05:00
Anuken
b3e1436074 Fixed #1176 2019-12-08 10:09:29 -05:00
GioIacca9
98a083abdd Update bundle_it.properties 2019-12-08 15:49:03 +01:00
Vanguard
86df70a839 1 new line
load.scripts
2019-12-08 15:34:43 +03:00
Anuken
fd202421b1 Changed console keybind to prevent confusion 2019-12-08 00:25:13 -05:00
Anuken
268f3cc3c2 Merge branches 'master' and 'rhino-js-suffering' of https://github.com/Anuken/Mindustry
# Conflicts:
#	core/src/io/anuke/mindustry/content/Blocks.java
#	gradle.properties
2019-12-08 00:15:42 -05:00
Anuken
477ebc91bf Fixed reloading 2019-12-07 21:53:50 -05:00
Anuken
fd6abaff62 More class support 2019-12-07 21:46:35 -05:00
Vanguard
ccca26d98f RU updates (#1172)
* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* Fixes

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

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* .-.

* Gm

Description

* Oof

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

* dada

* Update upload-build.sh

* Update upload-build.sh

* test

teeest

* tesy

tesssy

* 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
- Приведение положения строк в бандле в соответствии с референсным файлом
- Добавление и перевод новых (отсутствующих) строк из референсного файла
- Корректировка существующих строк

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

* Виправив декілька помилок

* 3123

* Мелкие правки и дополнения

* Перевод новых строк

* niiiice

* oh no

* oh no 😱

* 😱 oh no 😱

* just another yet translator

* Some contributors

The changes made by **Vanguard** were commited by @Prosta4okua and @Remint32 (Felix
Corvus).
Therefore he is not present in authors of commits on github.

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

* Новые строки и новые правки

DAFAK?
-> 3f293190cf (diff-daade3141498d8856d75ec34b88bbb19)

* Добавление строк блока с сообщением

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

* Правки правок

* Правки 🚚

* Крамниця

* Правки и удаление "точки сбора"

rally point ?!?!

* Steam Russian localisation files

* Tiny fix https://github.com/Anuken/Mindustry/issues/661

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

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

* Правки от Vanguard

Правки от @XEN0PHIL

* 🤔

( ͡° ͜ʖ ͡°)

* RU translation changes from Vanguard (#9)

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* ЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇ

* Update bundle.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Fixed the mess between codes like {0} {1} etc.

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* 1 new line added

mod.requiresversion

* 1 new line, 1 changed line

New:
settings.resetKey

Changed:
mech.dart-ship.description

* 1 new line added

item.corestorable

* byte-logic draft translations

Зная скорость Анюка

* 1 new line, 1 changed line

New:
mod.item.remove

Changed:
mode.attack.description
2019-12-07 17:39:35 -05:00
Anuken
5ca01bf234 Effect parsing 2019-12-07 15:55:51 -05:00
Anuken
d3747f0d4c Content loading improvements 2019-12-07 15:41:52 -05:00
Patrick 'Quezler' Mounier
d81b36d897 Add 1 plastanium to armored conduits recipe (#1181) 2019-12-07 15:25:37 -05:00
Anuken
07598e3f2f Minor tweaks 2019-12-07 14:26:14 -05:00
Anuken
dd5e3b2aba JS console / Scripting tweaks 2019-12-07 14:10:39 -05:00
Anuken
06abc43aea Fixed slow imports 2019-12-07 11:37:13 -05:00
Patrick 'Quezler' Mounier
8b80a42886 Respect insulated blocks when toggeling a powernode (#1163) 2019-12-07 11:10:59 -05:00
Anuken
93fd6c5bd6 Removed massive import wall 2019-12-07 01:51:09 -05:00
Anuken
96aa3ccee0 Various improvements 2019-12-07 00:34:27 -05:00
Anuken
f3a5798a7f Various fixes 2019-12-06 22:24:32 -05:00
Anuken
2b49c300f8 Security / Android compat / Functional extension 2019-12-06 21:57:47 -05:00
Anuken
50a6071cfc Fixed maps not reloading on mod reload 2019-12-06 14:07:18 -05:00
Vanguard
044dac6a9e Merge branch 'master' into master 2019-12-06 18:20:05 +03:00
Vanguard
7f3f27a91e 1 new line, 1 changed line
New:
mod.item.remove

Changed:
mode.attack.description
2019-12-06 18:00:20 +03:00
Anuken
ef24e5ecad Merge remote-tracking branch 'origin/master' 2019-12-05 22:06:57 -05:00
Anuken
6f146c6cad Added support for mod map/schematic packs 2019-12-05 21:15:28 -05:00
Ali-C-Ila
db5bd7eea8 Update bundle.properties (#1164) 2019-12-05 10:01:47 -05:00
iczero
2e315e5516 Fix builderID remaining -1 for Call.onDeconstructFinish (#1162)
BuildEntity.deconstruct is missing code to set builderID,
so the builderID parameter is always set to -1 in
Call.onDeconstructFinish. The same code exists in
BuildEntity.construct.
2019-12-04 21:54:50 -05:00
iczero
7dd7ccf698 Add gradle property jvmArgs (#1161)
Allows specifying additional arguments for the vm, which would
make using tools such as HotSwapAgent and dcevm easier
Example: run -PjvmArgs='["-XXaltjvm=dcevm"]'
2019-12-04 20:05:01 -05:00
Anuken
a087df0771 Added experimental server block syncing 2019-12-04 17:03:49 -05:00
itskatt
ba982a73b8 Remove e
Co-Authored-By: Paulao17 <paul@shimaore.net>
2019-12-04 19:59:51 +01:00
Anuken
c85847567d h 2019-12-03 18:03:21 -05:00
Martin Gebert
c08aa1f3d6 add and fix some German translations 2019-12-03 23:16:58 +01:00
Anuken
1e3bfba31a this engine is also broken 2019-12-03 17:16:23 -05:00
Anuken
5788c27aaa hmmm 2019-12-03 01:01:18 -05:00
Anuken
8445c8e974 speed 2019-12-03 00:21:11 -05:00
Anuken
9e3870acbe Merge branches 'master' and 'mech-rework' of https://github.com/Anuken/Mindustry into mech-rework
# Conflicts:
#	core/assets/sprites/block_colors.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites3.png
#	core/assets/sprites/sprites5.png
#	core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java
#	gradle.properties
2019-12-02 22:45:05 -05:00
Anuken
5c30f4bc9c Fixed nothing 2019-12-02 17:52:49 -05:00
Anuken
78f146fbcf Merge branches '6.0' and 'master' of https://github.com/Anuken/Mindustry into 6.0
# Conflicts:
#	core/assets/sprites/block_colors.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites3.png
#	core/assets/sprites/sprites5.png
#	core/src/io/anuke/mindustry/graphics/Shaders.java
#	gradle.properties
2019-12-01 17:42:56 -05:00
Anuken
5a9957c578 Merge remote-tracking branch 'origin/master' 2019-12-01 17:36:30 -05:00
Anuken
42687fb47e Fixed crash caused by missing sounds 2019-12-01 17:35:47 -05:00
Anuken
9cb55b9745 a mess 2019-12-01 14:21:47 -05:00
Anuken
e66ecb6c90 Removed unnecessary option 2019-12-01 12:50:11 -05:00
itskatt
04d3c40baa Apply suggestions from review
Co-Authored-By: YaFou <33806646+YaFou@users.noreply.github.com>
2019-12-01 18:36:25 +01:00
Anuken
0e7c403bd8 Tweaks 2019-12-01 12:32:35 -05:00
itskatt
77e0e46a17 Update the French Translation 2019-12-01 16:52:39 +01:00
Anuken
b6915a0483 Fixed script load crash 2019-12-01 01:30:40 -05:00
Emlyn Bolton
1db444b070 Present the file sharing on iPad in a popover - and prevent the crash. (#1145)
* Present the file sharing on iPad in a popover - and prevent the crash.

* Update gradle.properties
2019-12-01 00:25:15 -05:00
Ali-C-Ila
ae981053b2 Update bundle_zh_TW.properties (#1133)
* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties
2019-12-01 00:10:51 -05:00
PlayerBrasil13
23f90fcaf4 Update bundle_pt_BR.properties (#1128)
Translated the last PR's added lines, fixed some portuguese errors.
2019-12-01 00:08:40 -05:00
Maron [RUNO]
d5b50c038c Added polish translation for google play (#1142) 2019-12-01 00:04:43 -05:00
Prosta4okua
765d9703f5 Ukrainian translation (#1144)
* :flag_ua:

* 🇺🇦

* ЇїЇ

* 30.10.2019

* Упс.

* 1

* 06.11.2019

* lol

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties
2019-12-01 00:04:35 -05:00
Anuken
b21c25bccf Added features that don't work 2019-11-30 22:15:30 -05:00
Anuken
ceae04aa5b Desktop-specific scripting 2019-11-30 18:30:39 -05:00
Anuken
3abcdf2063 Better access 2019-11-30 17:45:02 -05:00
Anuken
f784e893dd Merge remote-tracking branch 'origin/master' 2019-11-29 22:17:45 -05:00
Anuken
7e993c15dc Moved documentation 2019-11-29 21:56:53 -05:00
valtsu41
5411ae777e Starting bundle_fi.properties (#900) 2019-11-28 22:04:58 -05:00
Anuken
e733b4be1b Added msch handling definition 2019-11-27 17:46:15 -05:00
Anuken
57f9aeee86 Public block fields / Better scripting 2019-11-27 13:51:07 -05:00
Anuken
eabbd2fa32 """security""" 2019-11-27 00:07:37 -05:00
Anuken
d9aa9b6278 Desktop scripting support 2019-11-26 23:32:30 -05:00
Anuken
1e1b84a201 Merge branches 'master' and 'mod-spritepack-refactor' of https://github.com/Anuken/Mindustry 2019-11-25 23:55:18 -05:00
Anuken
e6753ace87 Cleanup 2019-11-25 23:43:58 -05:00
Felix Corvus
932c32ad8f byte-logic draft translations
Зная скорость Анюка
2019-11-26 06:40:59 +03:00
Anuken
a5fbc07561 Texture overrides / Potential mod texture binding optimizations 2019-11-25 20:50:32 -05:00
Felix Corvus
2631c4f7af adding millions & thousands localisation (#1132)
* "mil" / "k" localisation adding

* "mil" / "k" localisation adding

* Update bundle.properties

* Update bundle_ru.properties
2019-11-25 20:48:53 -05:00
Anuken
01304bf734 Fixed bizzare crash 2019-11-25 18:41:09 -05:00
Ali-C-Ila
c2c5836752 Update bundle_zh_TW.properties (#1131) 2019-11-25 14:48:24 -05:00
Vanguard
6a15328854 1 new line added
item.corestorable
2019-11-25 16:42:40 +03:00
matheod
dabdd094f9 Add storable indication in core database (#1124)
* Add storable in core indication in core database

* Add corestorable text

* French translation of corestorable
2019-11-24 01:35:16 -05:00
Anuken
0dd8267e21 Merge remote-tracking branch 'origin/master' 2019-11-23 21:27:58 -05:00
Anuken
7b69310f1b Deployment tweak 2019-11-23 21:27:52 -05:00
PlayerBrasil13
6f48e7a5ed Update bundle_pt_BR.properties (#1122)
Added some lines that are in bundle.properties and was missing in bundle_pt_BR.properties
2019-11-23 20:43:00 -05:00
Ali-C-Ila
98bca1740c Update bundle_zh_TW.properties (#1118)
* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties
2019-11-23 15:16:49 -05:00
CinExPL
51842a61a8 Update bundle_pl.properties (#1119)
Improvements based on comparison with original bundle file + small fixes
2019-11-23 15:16:32 -05:00
Anuken
78fefdacca Merge remote-tracking branch 'origin/master' 2019-11-22 23:12:44 -05:00
Anuken
a1fb3e27ab Fixed launched items not saving 2019-11-22 23:10:50 -05:00
YFdyh000
686b892ea9 Update bundle_zh_CN.properties (#1113)
* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties
2019-11-22 21:00:11 -05:00
osoitz
ffcfaf1610 Update bundle_eu.properties (#1114) 2019-11-22 20:59:42 -05:00
blackassasin1234
80c46bb5a2 Added some Events (#1096)
* Added PlayerBanEvent, PlayerUnbanEvent, PlayerIpBanEvent, and PlayerIpUnbanEvent.

* Removed Unecessary import (oops)

* Formatted code

* Fixed a little oopsie

* Prevent NPE

* add another line..
2019-11-22 20:56:00 -05:00
Anuken
cb29bee8f5 Remove js mod ext support 2019-11-22 18:42:10 -05:00
Anuken
2d42704062 Switched to hjson extension 2019-11-22 18:19:18 -05:00
Vanguard
2136ae03a5 1 new line, 1 changed line
New:
settings.resetKey

Changed:
mech.dart-ship.description
2019-11-23 02:18:58 +03:00
Anuken
fbe58bec04 Merge remote-tracking branch 'origin/master' 2019-11-22 17:54:25 -05:00
Anuken
5f81a0c7f3 Bugfixes 2019-11-22 17:51:29 -05:00
DeltaNedas
38804462a9 add reset keybind to english locale (#1116)
* updated english locale for "reset key".

* Update bundle.properties

* Update bundle.properties
2019-11-22 16:17:11 -05:00
Anuken
f28eb4027c Log # of fetched servers; cleanup 2019-11-22 16:13:09 -05:00
Anuken
c324dce034 Added potential global server list 2019-11-22 16:00:53 -05:00
Anuken
0efced4fd8 Merge remote-tracking branch 'origin/master' 2019-11-22 15:33:22 -05:00
Anuken
6d6fac00d7 Less hacky support for atrocious json 2019-11-22 15:33:01 -05:00
Vanguard
d0803ef45c 1 new line added
mod.requiresversion
2019-11-22 17:07:04 +03:00
Prosta4okua
0122fb4028 Ukrainian changelog. (#1102)
* Create 100.txt

* Create 29547.txt
2019-11-22 08:10:17 -05:00
Anuken
2c61fcdfa6 Added optional mod minimum game version 2019-11-21 21:12:05 -05:00
Anuken
18b6c37a89 Item bridge fixes 2019-11-21 20:50:15 -05:00
Anuken
31c294e972 Merge remote-tracking branch 'origin/master' 2019-11-21 20:43:03 -05:00
Anuken
b8e3b70fcc Made 'custom' the default shuffle mode for backwards compat 2019-11-21 20:42:57 -05:00
Yuuto Tokuhara
289e4f29ef Update bundle_ja.properties (#1108)
translated somethings
2019-11-21 15:49:26 -05:00
itskatt
1482695f6e Update the French Translation (#1010)
* translate

* Sync the bundle, translation fixes and revisions

* e

* Translate newest additions

* sync with cafd95859f

* é

* Translate new additions

* ééééééééé

* Apply suggestions from translation review

Co-Authored-By: YaFou <33806646+YaFou@users.noreply.github.com>
2019-11-21 15:49:04 -05:00
Vanguard
5e51b43367 Update bundle_ru.properties 2019-11-21 17:27:06 +03:00
ballgamer56
10376ee59d Thai trabslation
Took me a week to finish :3
2019-11-21 07:53:13 +07:00
Anuken
f162d815fe Better error messages 2019-11-20 18:10:34 -05:00
Anuken
7f2a529c08 Merge remote-tracking branch 'origin/master' 2019-11-20 18:10:08 -05:00
Anuken
968f3ace33 Better mod parsing 2019-11-20 18:09:43 -05:00
Anuken
2a8fca33ea Update CONTRIBUTING.md 2019-11-20 16:58:34 -05:00
Anuken
8be948300e Merge remote-tracking branch 'origin/master' 2019-11-20 14:51:02 -05:00
Anuken
f2c9c2e5fb Bugfixes 2019-11-20 14:50:57 -05:00
AmateurPotion
6ec0ff9442 Update bundle_ko.properties (#1044)
* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties
2019-11-20 13:28:53 -05:00
Ali-C-Ila
0693480633 Update bundle_zh_TW.properties (#1103) 2019-11-20 13:26:35 -05:00
Vanguard
33842aca14 Update bundle_ru.properties 2019-11-20 18:43:38 +03:00
Anuken
3ddb9d166f Update bundle.properties 2019-11-20 10:00:36 -05:00
Vanguard
d17b37cb39 RU updates (#1104)
* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* Fixes

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

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* .-.

* Gm

Description

* Oof

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

* dada

* Update upload-build.sh

* Update upload-build.sh

* test

teeest

* tesy

tesssy

* 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
- Приведение положения строк в бандле в соответствии с референсным файлом
- Добавление и перевод новых (отсутствующих) строк из референсного файла
- Корректировка существующих строк

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

* Виправив декілька помилок

* 3123

* Мелкие правки и дополнения

* Перевод новых строк

* niiiice

* oh no

* oh no 😱

* 😱 oh no 😱

* just another yet translator

* Some contributors

The changes made by **Vanguard** were commited by @Prosta4okua and @Remint32 (Felix
Corvus).
Therefore he is not present in authors of commits on github.

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

* Новые строки и новые правки

DAFAK?
-> 3f293190cf (diff-daade3141498d8856d75ec34b88bbb19)

* Добавление строк блока с сообщением

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

* Правки правок

* Правки 🚚

* Крамниця

* Правки и удаление "точки сбора"

rally point ?!?!

* Steam Russian localisation files

* Tiny fix https://github.com/Anuken/Mindustry/issues/661

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

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

* Правки от Vanguard

Правки от @XEN0PHIL

* 🤔

( ͡° ͜ʖ ͡°)

* RU translation changes from Vanguard (#9)

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* ЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇ

* Update bundle.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Fixed the mess between codes like {0} {1} etc.

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties
2019-11-20 09:58:00 -05:00
Vanguard
c82473ba47 Update bundle_ru.properties 2019-11-20 17:42:10 +03:00
Vanguard
b99a0ff618 Merge branch 'master' into master 2019-11-20 17:14:51 +03:00
Vanguard
c7000b29a6 Update bundle_ru.properties 2019-11-20 16:47:55 +03:00
Anuken
fac217a836 Fixed infinite place distance, impact meltdown 2019-11-20 00:05:00 -05:00
Anuken
c4c19a204f Bugfixes 2019-11-19 23:09:35 -05:00
Anuken
496677725e Use the sane maven plugin 2019-11-19 22:32:59 -05:00
Anuken
a6523c670f Merge remote-tracking branch 'origin/master' 2019-11-19 22:04:15 -05:00
Anuken
879f90ebf4 Added changelogs / Updated link registry 2019-11-19 22:04:10 -05:00
Ali-C-Ila
ff2d9c34fd Update bundle_zh_TW.properties (#1097) 2019-11-19 19:55:57 -05:00
Anuken
8daaea3536 Minor power tweaks 2019-11-19 19:52:15 -05:00
Anuken
cc7aaae52c Fixed inverted sorter chains 2019-11-19 19:16:35 -05:00
Anuken
4ce494cc22 Merge remote-tracking branch 'origin/master' 2019-11-19 19:08:52 -05:00
Anuken
9461d7a360 Hjson unit tests 2019-11-19 19:08:41 -05:00
Prosta4okua
50854a55f0 Pr/10 (#1095)
* :flag_ua:

* 🇺🇦

* ЇїЇ

* 30.10.2019

* Упс.

* 1

* 06.11.2019

* lol

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties
2019-11-19 17:35:37 -05:00
Patrick 'Quezler' Mounier
d03ec3122c Add toggle_power_lines entry to the bundle (#1099) 2019-11-19 12:45:27 -05:00
Patrick 'Quezler' Mounier
dd13c305e7 Make offline force projector use no boost (#1092)
Mimiced check in the mending & overdrive projector.
2019-11-19 09:03:42 -05:00
Patrick 'Quezler' Mounier
48911005aa Fix placing a diode on the world border (#1094)
* Fix placing a diode on the world border

* 〃
2019-11-19 08:40:44 -05:00
Patrick 'Quezler' Mounier
7955b82b1e Add weave layer to phase 〃 icon (#1091)
Makes the block more recognizable in the build menu.
2019-11-19 08:13:43 -05:00
Prosta4okua
9ff53dd87d Update bundle_ru.properties 2019-11-19 13:50:41 +02:00
Prosta4okua
4487d01a38 Update bundle_ru.properties 2019-11-19 13:41:31 +02:00
Anuken
fd6c6b2aab Merge remote-tracking branch 'origin/master' 2019-11-19 03:23:58 -05:00
Anuken
44fdda09c6 it's 3 am and ios file imports are finally fixed 2019-11-19 03:23:40 -05:00
Arkanic
9bfaecf760 slightly reduced cooldown between votekick (#1056) 2019-11-18 20:08:56 -05:00
Anuken
39939f8a51 Merge https://github.com/joshuaptfan/Mindustry
# Conflicts:
#	core/assets/bundles/bundle.properties
#	core/src/io/anuke/mindustry/content/Blocks.java
#	core/src/io/anuke/mindustry/input/Binding.java
2019-11-18 19:40:45 -05:00
Anuken
7e5c276e7f Update PlacementFragment.java 2019-11-18 19:21:43 -05:00
Anuken
7e8503cde7 Merge remote-tracking branch 'origin/master' 2019-11-18 18:56:54 -05:00
Anuken
134fea445c Custom map providers / Added next map specification command 2019-11-18 18:56:49 -05:00
YFdyh000
3a3548dd63 Update bundle_zh_CN.properties (#1081) 2019-11-18 17:30:56 -05:00
Ali-C-Ila
0ef27354be Update bundle_zh_TW.properties (#1085)
plated conduit
2019-11-18 17:01:02 -05:00
Anuken
ad25cd8074 Illuminator description 2019-11-18 17:00:52 -05:00
Anuken
6bc98bbe67 Configurable lights 2019-11-18 16:58:39 -05:00
Anuken
5e2dd89d3b Entity type cleanup 2019-11-18 16:24:57 -05:00
Patrick 'Quezler' Mounier
7830372477 Beep boop add f-droid (#1087)
Full credit to @ZacBytes for the initial implementation.
2019-11-18 15:52:44 -05:00
Anuken
425f63c673 Update Blocks.java 2019-11-18 12:43:04 -05:00
Anuken
7523f20d85 Update BuildVisibility.java 2019-11-18 12:40:03 -05:00
Anuken
13cc136fe2 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	CONTRIBUTING.md
2019-11-18 08:30:25 -05:00
Anuken
c41cbc8bea Added formatting file 2019-11-18 08:29:52 -05:00
Anuken
d232d249e9 Update CONTRIBUTING.md 2019-11-18 01:07:26 -05:00
Anuken
e0a52f4779 More guidelines 2019-11-18 01:04:37 -05:00
Anuken
8d431e5b40 Contribution guide cleanup 2019-11-18 01:00:16 -05:00
Anuken
dcb1f0b00a Merge remote-tracking branch 'origin/master' 2019-11-18 00:55:49 -05:00
Anuken
9b732017a9 Added contribution guide 2019-11-18 00:55:33 -05:00
Ali-C-Ila
fd94f8f24b Update bundle_zh_TW.properties (#1066)
* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

Illuminati and nuke donkey!

* Update bundle_zh_TW.properties
2019-11-17 15:51:52 -05:00
Clauskem
814b7458ec Added some extra translations (#1078) 2019-11-17 15:51:45 -05:00
Anuken
dc1b073882 Revert #961 2019-11-17 15:45:47 -05:00
Anuken
fad6fe9a2a Added armored conduit / Lighting improvements / Moved liquid package 2019-11-17 13:51:36 -05:00
Anuken
c8eee3b825 Made solar panels less efficient in darkness 2019-11-17 11:35:32 -05:00
Anuken
73b6cc73ff Fixed tests 2019-11-17 11:30:03 -05:00
Anuken
2593e96999 Bugfixes 2019-11-17 11:20:36 -05:00
Anuken
629999a1cd More unit tests / Lighting improvements 2019-11-16 23:45:31 -05:00
Anuken
4d3e268972 Merge branches 'lights' and 'master' of https://github.com/Anuken/Mindustry 2019-11-16 23:29:33 -05:00
Anuken
84968c9f73 Added color picker / Customizable lighting rules 2019-11-16 23:27:42 -05:00
Anuken
d73b99945f Minor light optimization 2019-11-16 22:49:36 -05:00
Anuken
1d15316cbb Configurable ambient light, darkness 2019-11-16 20:18:00 -05:00
Anuken
913a703d41 Illuminator textures 2019-11-16 20:06:11 -05:00
Anuken
5d949f6bc0 Correct reactor consumption display 2019-11-16 20:05:52 -05:00
Anuken
faf64f11f2 More lights 2019-11-16 19:57:33 -05:00
Anuken
430c4fa1d0 Fixed #1077 2019-11-16 16:54:51 -05:00
Anuken
a90f2545d9 Disable reactor explosions on servers by default 2019-11-16 16:43:31 -05:00
Anuken
eba0a96b6d Merge remote-tracking branch 'origin/master' 2019-11-16 15:51:51 -05:00
Anuken
f9ffb78b33 Added configurable global server rules 2019-11-16 15:51:35 -05:00
Anuken
0c0573a7b1 Filter fixes 2019-11-16 13:07:40 -05:00
Anuken
aa6229be4b Fixed spawn/core select filters 2019-11-16 13:04:04 -05:00
Anuken
94cf054312 Fixed unit tests 2019-11-16 12:40:26 -05:00
Anuken
edfe58cb38 Refactoring of tile storage, filters 2019-11-16 12:34:29 -05:00
Anuken
083f2e38d4 Update BuilderTrait.java 2019-11-16 09:37:09 -05:00
Zachary
7feed8828c Increase time taken for reactor to explode (#1067)
yes
2019-11-16 00:16:09 -05:00
Anuken
8798fa101a Merge 2019-11-16 00:15:45 -05:00
Anuken
1f6ef9d9ae Merge remote-tracking branch 'origin/master' 2019-11-15 21:12:12 -05:00
Anuken
e6afe584e5 Fixed 'underwater' ores 2019-11-15 21:12:08 -05:00
Fayti1703
76c63443af Deduplicate requirements assignment for Tar Fields (#1065) 2019-11-15 20:02:27 -05:00
Joshua Fan
cafd95859f Clean up text capitalization, misc UI (#1072) 2019-11-15 20:01:59 -05:00
Anuken
b795d97d0e Merge remote-tracking branch 'origin/master' 2019-11-15 19:49:48 -05:00
Anuken
ec7379cc86 Updated to gradle 6.0 2019-11-15 19:48:26 -05:00
Richard Wardin
43fe6be13e Display the server status on gameover (map, players, wave, etc) (#1068) 2019-11-15 19:37:26 -05:00
ghostslayer989
75d4b5b663 Bump gradle from 3.4.1 to 3.5.2 (#1071)
Bumps gradle from 3.4.1 to 3.5.2.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-15 19:17:44 -05:00
Vanguard
a7fc1a42ce Update bundle_ru.properties 2019-11-15 10:02:08 +03:00
Vanguard
16eef2dd92 Update bundle_ru.properties 2019-11-15 09:30:30 +03:00
Anuken
016823d446 Bridge cleanup 2019-11-14 18:53:24 -05:00
Anuken
0cf9ef66fa Merge remote-tracking branch 'origin/master' 2019-11-14 18:48:21 -05:00
Anuken
1f583dc7a2 Bugfixes 2019-11-14 18:48:12 -05:00
Patrick 'Quezler' Mounier
74212771dc Might as well add a tech tree entry 2019-11-14 21:36:58 +01:00
Patrick 'Quezler' Mounier
6bcea7af66 Pressurize identically as the pulse conduit 2019-11-14 21:33:36 +01:00
Patrick 'Quezler' Mounier
3ec7e40213 Merge branch 'master' into armored-conduit 2019-11-14 21:32:15 +01:00
Patrick 'Quezler' Mounier
836e72119c 🗜 Pressure conduit (#949)
* Suggest pressure conduit

* Revert "Suggest pressure conduit"

This reverts commit 721dd9255e.

* Increase pulse conduit output pressure

* Remove `tile.block().`
2019-11-14 15:21:29 -05:00
Maximilian
f81f7e1d2a update DE translation (#914) 2019-11-14 15:11:51 -05:00
Anuken
618a050414 Fix getProgressIncrease 2019-11-14 15:02:09 -05:00
Anuken
ec7f49c94b Merge remote-tracking branch 'origin/master' 2019-11-14 14:59:10 -05:00
Anuken
30ea285ca0 Change power "satisfaction" -> "status", use efficiency() in blocks 2019-11-14 14:59:04 -05:00
Prosta4okua
32a5c7b769 Ukrainian translation. You probably forgot about it, right? I remind:) (#1016)
* :flag_ua:

* 🇺🇦

* ЇїЇ

* 30.10.2019

* Упс.

* 1

* 06.11.2019

* lol

* Update bundle_uk_UA.properties
2019-11-14 14:44:28 -05:00
Ali-C-Ila
581749a29f Update bundle_zh_TW.propertie (#1060)
* Update bundle_zh_TW.propertie

diode update

* Update bundle_zh_TW.properties
2019-11-14 14:43:42 -05:00
Adam Witkowski
d83d26598c Update bundle_pl.properties (#1041)
Added missing properties for Polish bundle, improved most of the embarrassing translations and modified a few awkward ones.
2019-11-14 14:42:15 -05:00
Eler
d653f1441d Update bundle_pt_BR.properties (#1051)
HUGE PORTUGUESE UPDATE
Changelog in English (em português logo abaixo)
•99% translated to Portuguese
•Minor correction of translation errors
•Added caps lock on unique items like Workshop and Copper(i will speak why this soon)
•Set the word Wall (house) to Wall (Wall), in Portuguese Wall has two meanings, I put the closest meaning

Changelog em Português
•99% Traduzido para o Português
•Pequena correção nos erros de tradução
•Correção nos erros do menu /n (finalmente!!!)
•Caps Lock adicionado no meio de frase para itens únicos como Oficina e Cobre(Explicarei o porquê em breve)
• Ajuste nas palavras Parede para Muro, pois a segunda tem mais sentido com o objetivo da construção, ex: Muros do Castelo
2019-11-14 14:41:32 -05:00
Joshua Fan
a9b822089f Make Esc mirror back button behavior in settings (#1061) 2019-11-14 14:41:15 -05:00
Anuken
c5a4d7331f Switched to using core attack events 2019-11-14 14:40:42 -05:00
Anuken
230428f2e0 Update CoreBlock.java 2019-11-14 12:35:59 -05:00
Anuken
1a26a1bf63 Update CoreBlock.java 2019-11-14 12:28:35 -05:00
Anuken
77001324e9 Update EventType.java 2019-11-14 09:59:33 -05:00
Anuken
0fd6207689 Cleanup 2019-11-14 08:51:12 -05:00
Anuken
dd175747ab Permissive extensions 2019-11-13 19:40:03 -05:00
Anuken
3106389f6a Switched to HJson content parsing 2019-11-13 19:12:12 -05:00
Anuken
d8c997b355 Methods renamed / Better build request handling 2019-11-12 23:40:45 -05:00
Anuken
e6647484bd Prototyping mechs 2019-11-12 23:01:10 -05:00
Anuken
4b70b2fbcc Cleanup & refactor of projectors 2019-11-12 17:18:27 -05:00
Anuken
103f655fa4 Removed boolean usage 2019-11-12 15:59:44 -05:00
Anuken
1dfaf3897c Proper node intersect 2019-11-12 08:23:23 -05:00
Vanguard
f7bdd4efe1 Update bundle_ru.properties 2019-11-12 15:21:37 +03:00
Patrick 'Quezler' Mounier
8a089ba3c9 Resolve conflicts
# Conflicts:
#	core/assets/sprites/block_colors.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites3.png
#	core/assets/sprites/sprites5.png
2019-11-12 08:44:26 +01:00
Anuken
56917483d6 Cleaned up diode 2019-11-11 23:32:49 -05:00
Patrick 'Quezler' Mounier
f5c1eb74af 🔩 Add (plastanium) diode (#964)
* Add plastanium diode

* Only rotate the arrow part

* Use the sum of graph batteries from both sides

* Make diode send power overflow

Diode keeps one-way equalizing while the sending graph has batteries that are ¬ yet fully filled.

* Remove redundant block != null check

* Remove free power

* Stash

* Revert "Stash"

This reverts commit 0c14854519.

* Equalize graph storage percentage

* Update sprite

* Move nearby link check

* DRY

* Fire deathstar at extra spaces

* 〃

* Fix ghost rotation

* Please overlord anuke

* Mild cleanup

* Konami code

* 〃

* Lowercase float

* Newline begone

* Fix overclocking issue

* Fix rotation and name
2019-11-11 23:29:03 -05:00
Anuken
7d9963d542 Merge 2019-11-11 19:09:37 -05:00
Vanguard
785afaa281 Update bundle_ru.properties 2019-11-12 00:29:46 +03:00
Joshua Fan
dcdec7f55f Add mouse-based movement (#1037)
* Add mouse-based movement

* Rename keybind to 'Follow Mouse'
2019-11-11 14:00:35 -05:00
itskatt
8d19c8b7af Update overflow gate description (#1040) 2019-11-11 14:00:06 -05:00
Vanguard
29025a45e8 Update bundle_ru.properties 2019-11-11 18:25:22 +03:00
Anuken
a73491bb9b aaaa 2019-11-10 23:28:53 -05:00
Anuken
eee06da6b4 again 2019-11-10 23:10:44 -05:00
Anuken
231ce28f74 apple why 2019-11-10 23:01:19 -05:00
Anuken
0e8abca5d9 More attempts 2019-11-10 22:41:06 -05:00
Anuken
2cf628305a Return -1 when applicable 2019-11-10 22:12:25 -05:00
Anuken
001294a94c Use different streams 2019-11-10 21:44:11 -05:00
Anuken
fa0e9727ae Remove stream read 2019-11-10 21:28:11 -05:00
Anuken
b8aa3c8b21 Attempt 2 2019-11-10 21:16:51 -05:00
Anuken
f2f5fde3a5 Merge remote-tracking branch 'origin/master' 2019-11-10 20:59:28 -05:00
Anuken
d6822c9c7d Possible IOS read fix 2019-11-10 20:59:23 -05:00
Anuken
52f592a357 Lighting improvements 2019-11-10 16:18:47 -05:00
Anuken
39a0dde1f4 Merge branch 'master' of https://github.com/Anuken/Mindustry into lights
# Conflicts:
#	core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java
2019-11-10 14:12:43 -05:00
Anuken
8952dd7f56 Begin work on 6.0 2019-11-10 14:05:29 -05:00
iczero
fbb1f012e2 Add item and amount properties to DepositEvent (#1025) 2019-11-10 10:15:52 -05:00
Patrick 'Quezler' Mounier
6141b135fe Fix style 2019-11-10 09:25:23 +01:00
Patrick 'Quezler' Mounier
e827bb17e7 Move blend check to autotiler 2019-11-10 09:24:24 +01:00
Anuken
4c0607aba8 Bugfixes 2019-11-09 17:19:29 -05:00
Anuken
2af13a31dc Bugfixes 2019-11-09 16:36:28 -05:00
Anuken
2dec6af231 Merge remote-tracking branch 'origin/master' 2019-11-09 15:30:12 -05:00
Anuken
c70fb5940f Display document import errors on iOS 2019-11-09 15:30:02 -05:00
Vanguard
2c15ae178d Update bundle_ru.properties 2019-11-09 16:38:29 +03:00
Joshua Fan
4a987677ac Add 'Show Block Select Keys' graphics option, implement requested changes 2019-11-09 07:59:00 -05:00
danmw3
ee88cd33b1 Allow for toggling the visibility of power line lasers (#1022)
* Allow for toggling the visibility of power line lasers

Configurable key-bind in controls and obeys the power line opacity setting.

* Last power opacity is saved after being toggled off.

* Moved key-bind into the View category.
2019-11-09 00:00:02 -05:00
Anuken
fb15c44383 Fix links in a hacky way 2019-11-08 21:11:49 -05:00
Anuken
4f4113d3d1 Merge remote-tracking branch 'origin/master' 2019-11-08 19:09:45 -05:00
Anuken
52355de1c0 use // for comments 2019-11-08 19:08:07 -05:00
iczero
ebee4fa5da Implement build autopausing (#1017)
Automatically pause building after current build queue is empty
2019-11-08 16:56:06 -05:00
키에르
796241b40a Add TapEvent/TapConfigEvent (#1018)
* Update EventType.java

* Update InputHandler.java
2019-11-08 14:58:24 -05:00
Anuken
505f802e20 Use ## for comments, just in case 2019-11-08 14:55:32 -05:00
Anuken
e9f9194f73 Added json comments 2019-11-08 14:40:15 -05:00
Anuken
effd4e959a Power cleanup 2019-11-08 13:04:24 -05:00
Patrick 'Quezler' Mounier
f58eb75639 🐬 Factorio flavoured powerlines (#997)
* Stash initial prototype

* Fix 〃to connect the chain

* Add comments

* Hook onto convejor pathfinding

* Cleanup remnant discovered via pull request diff

* Toggle placement between diagonal and pathfinding

* Stash questionable prototype

* 〃

* Attempt to rewrite away the skip array

* Revert "Attempt to rewrite away the skip array"

This reverts commit 12753a9b5c.

* Slight cleanup

* Subtract conveyor placement

* Refractor each to for

* Apply @anuke’s coding stype
2019-11-08 12:28:49 -05:00
키에르
0c430527b8 Fix error 2019-11-09 00:41:31 +09:00
키에르
7871b5bdaa Update BlockInventoryFragment.java 2019-11-09 00:18:41 +09:00
키에르
124480f96b Update EventType.java 2019-11-09 00:17:29 +09:00
Vanguard
32e207d047 Update bundle_ru.properties 2019-11-08 16:38:18 +03:00
Anuken
8b2934c60e Update ForceProjector.java 2019-11-07 19:05:15 -05:00
Anuken
d05f56c5b1 Cleanup 2019-11-07 17:16:09 -05:00
Anuken
d1196f8e85 Fixed #745 2019-11-07 16:55:26 -05:00
Anuken
c71b5d6f87 Copy Steam DLLs into folder 2019-11-07 14:58:51 -05:00
joshuaptfan
8a6d39d5d0 Revert changes to localization files 2019-11-07 07:20:43 -08:00
Vanguard
0ac7059812 Update bundle_ru.properties 2019-11-07 00:35:44 +03:00
Anuken
1e7c21c1ae Bugfixes 2019-11-06 13:59:35 -05:00
Vanguard
c9c1c57c9d Update bundle_ru.properties 2019-11-06 07:35:45 +03:00
Anuken
82ae378edc Fixed mech pads not working 2019-11-05 21:51:58 -05:00
Vanguard
01ef9c4fea Update bundle_ru.properties 2019-11-06 05:49:46 +03:00
joshuaptfan
dbb64f1d87 Add hotkey tutorial to tutorial mission 2019-11-05 17:25:21 -08:00
Anuken
ccac67ced6 Fixed unit tests, power problems 2019-11-05 19:20:23 -05:00
Anuken
ce6f3ddb5a Updated bundles 2019-11-05 19:03:14 -05:00
Mateus Auler
4c4e93c88a Added Portuguese (Brazil) translation to Steam description and fixed small mistake in the English description (#890)
* Added missing list tag in English Steam description

* Added Portuguese (Brazil) translation to Steam description and achievements
2019-11-05 19:02:02 -05:00
12358abc
d86997e388 Add files via upload (#979) 2019-11-05 18:55:31 -05:00
Ali-C-Ila
60717bdaad Update bundle_zh_TW.properties (#972 and #945 included) (#1002)
This includes the contents in the previous two pull requests.(#945 and #972 )
Also improved another few translations.
2019-11-05 18:54:15 -05:00
AmateurPotion
4454b6f29d Update achievements.vdf (#983)
* Update achievements.vdf

* Update achievements.vdf
2019-11-05 18:52:58 -05:00
Anuken
0738a7dbf0 Merge remote-tracking branch 'origin/master' 2019-11-05 18:09:49 -05:00
Anuken
a539bb8e57 Better oil bar color 2019-11-05 17:58:30 -05:00
Patrick 'Quezler' Mounier
b2d417f207 Display pump output during placement (#1003) 2019-11-05 17:58:19 -05:00
kirina
4352ab92f1 fix Japanese translation for Mods (#991) 2019-11-05 17:42:28 -05:00
ElerTheMagnanimous
5c522069b1 Update bundle_pt_BR.properties (#1007)
a few more fixes at translation
2019-11-05 17:39:57 -05:00
Patrick 'Quezler' Mounier
49d12f36b9 Power productivity & Drone pad standby (#998)
* Introduce power productivity

Allows power consumers to scale down their intake.

* Make drone pads only use power when constructing

* Implement requested changes

* Begone
2019-11-05 17:31:32 -05:00
Anuken
e4697bae27 Merge remote-tracking branch 'origin/master' 2019-11-05 17:29:33 -05:00
Anuken
3691ab7f8f Remove canProduce as a method 2019-11-05 17:29:19 -05:00
Joshua Fan
a47e03de0a Fix key hints to display string names instead of internal names (#1004) 2019-11-05 16:08:45 -05:00
Anuken
21b7016fb5 Bugfixes 2019-11-05 15:32:13 -05:00
joshuaptfan
33da381892 Add hover info key combo hint 2019-11-05 10:48:49 -08:00
Patrick 'Quezler' Mounier
69f2a77779 F 2019-11-05 17:58:02 +01:00
Patrick 'Quezler' Mounier
2bfa304d97 Or better yet 2019-11-05 17:57:55 +01:00
Vanguard
4dde48d18e Update bundle_ru.properties 2019-11-05 17:33:04 +03:00
Patrick 'Quezler' Mounier
c2e450add0 I suppose this makes more sense 2019-11-05 15:11:59 +01:00
Patrick 'Quezler' Mounier
8f9a9ec3e5 Rename leak rate to leak resistance
Since the higher the number is the slower it leaks.
2019-11-05 14:55:14 +01:00
Patrick 'Quezler' Mounier
e04b756d36 2019-11-05 14:53:04 +01:00
Patrick 'Quezler' Mounier
e066034e9f Remove duplicate blend check for armored 2019-11-05 14:52:57 +01:00
Patrick 'Quezler' Mounier
a48baa1356 Rename class to whats logical 2019-11-05 14:48:10 +01:00
Patrick 'Quezler' Mounier
c6a75891d3 Add bundle entry 2019-11-05 14:41:08 +01:00
Patrick 'Quezler' Mounier
7d7eb53cd6 Only accept liquids from conduits or behind 2019-11-05 14:36:50 +01:00
Patrick 'Quezler' Mounier
8e2c12848c Add a cap against leaking
Doesn’t fully prevent leaking, there are intentional gaps, but its significantly slower.
2019-11-05 14:30:46 +01:00
Patrick 'Quezler' Mounier
521da56e70 Add plated conduits
Went with “plated” instead of “armored” since the titanium one wasn’t named like the conveyors as well.
2019-11-05 14:00:50 +01:00
Anuken
3e43f5577e Bugfixes 2019-11-04 23:47:51 -05:00
Anuken
f1f8130718 arc, again 2019-11-04 22:55:04 -05:00
Anuken
f38bf9262d Arc update 2 2019-11-04 22:35:32 -05:00
Anuken
be6af55616 Arc update 2019-11-04 22:28:11 -05:00
Anuken
53d004d91e Merge remote-tracking branch 'origin/master' 2019-11-04 22:18:39 -05:00
Anuken
6153764c0d Bugfixes for Steam 2019-11-04 22:18:34 -05:00
AmateurPotion
a6fd244be2 Update bundle_ko.properties (#995) 2019-11-04 19:52:25 -05:00
Paulao17
a54d72d00c Update bundle_fr.properties (#947)
* Update bundle_fr.properties

Added new keys from new updates.
Also paralleled large wall names.

* Large Thorium wall syntax correction

* Add max connections for power nodes french

Updated for [#988](https://github.com/Anuken/Mindustry/pull/988) (merged at this time)
2019-11-04 19:52:14 -05:00
ElerTheMagnanimous
b3eacd841f Update bundle_pt_BR.properties (#993)
Translation error at the thorium, they translated it as uranium
2019-11-04 17:37:34 -05:00
Anuken
08b730a349 Replaced 'loadout' class with schematics / Small sound tweaks 2019-11-03 22:15:05 -05:00
Anuken
08d0a7ada7 Bugfixes / Better power link priority 2019-11-03 21:27:58 -05:00
Vanguard
381d19634f Update bundle_ru.properties 2019-11-03 22:09:41 +03:00
Anuken
b542b6651e Merge remote-tracking branch 'origin/master' 2019-11-03 13:04:32 -05:00
Anuken
c249485a4f Mobile schematic fixes 2019-11-03 13:04:27 -05:00
Joshua Fan
988c424e45 Add max connections stat to power nodes (#988) 2019-11-03 13:00:32 -05:00
Anuken
48c062f7af HUD fixes 2019-11-03 12:16:28 -05:00
Anuken
cf6d2c7593 Added schematics dialog to desktop menu 2019-11-03 08:59:51 -05:00
joshuaptfan
3392138972 Add settings slider steps 2019-11-03 01:34:32 -07:00
joshuaptfan
abd76fe89f Checking unlocked status of blocks from getByCategory() is no longer necessary 2019-11-03 00:04:15 -07:00
joshuaptfan
258670e0b5 Clean up 2019-11-02 22:37:06 -07:00
joshuaptfan
71d67b9d8f Implement number and directional category/block selection hotkeys 2019-11-02 22:14:18 -07:00
Vanguard
240f924faf Update bundle_ru.properties 2019-11-03 03:01:53 +03:00
Anuken
7ca8ac64a3 Merge remote-tracking branch 'origin/master' 2019-11-02 15:51:37 -04:00
Anuken
230f98fbb4 Fix abstractness 2019-11-02 15:51:31 -04:00
matheod
9122fbe141 Remove useless space in tutorial (#981) 2019-11-02 15:23:05 -04:00
Anuken
6f9811498a Bugfixes 2019-11-02 14:35:50 -04:00
Anuken
a72d95e6d7 Display steam load error message 2019-11-02 14:16:26 -04:00
Anuken
19796092e5 Merge branches 'better-diagonals' and 'master' of https://github.com/Anuken/Mindustry 2019-11-02 14:09:32 -04:00
Anuken
2209968963 Auto-pathfinding diagonals 2019-11-02 14:09:16 -04:00
Anuken
06cfe9a9cc ok GitHub I get it please shut up now 2019-11-02 11:29:31 -04:00
Anuken
173518356d Update LiquidTurret.java 2019-11-02 11:26:16 -04:00
Patrick 'Quezler' Mounier
326b1e9f62 Let server console know which map was randomly picked (#980) 2019-11-02 11:24:43 -04:00
Anuken
b8ea0f3aa6 Initial setup 2019-11-02 10:49:21 -04:00
Anuken
51d08c6f42 Merge remote-tracking branch 'origin/master' 2019-11-02 10:45:32 -04:00
Anuken
49adf1fae7 Fixed to mobile input 2019-11-02 10:45:23 -04:00
AmateurPotion
6c85a4dd29 Create Steam Mindustry Korean translate (#962)
* Create achievements.vdf

* Create short-description.txt

* Create description.txt

* Update short-description.txt

* Update description.txt

* Rename fastlane/metadata/steam/description.txt to fastlane/metadata/steam/korean/description.txt
2019-11-02 09:49:14 -04:00
AmateurPotion
4dd84fbfa4 Create Google playstore Korean translate (#959)
* Create 95.txt

* Create 94.txt

* Create 93.txt

* Create 89.txt

* Rename fastlane/metadata/android/ko-KR/94.txt to fastlane/metadata/android/ko-KR/changelogs/94.txt

* Create 99.6.txt

* Update 99.6.txt
2019-11-02 09:46:09 -04:00
AmateurPotion
6a58347872 Update bundle_ko.properties (#951) 2019-11-02 09:45:55 -04:00
Anuken
ea9e23f924 Bugfixes 2019-11-02 09:40:41 -04:00
Anuken
b78e04a2de Fixed #976 2019-11-02 09:22:43 -04:00
Anuken
98c51db226 Merge remote-tracking branch 'origin/master' 2019-11-01 21:54:28 -04:00
Anuken
52764be2b6 Fixed map cache in workshop 2019-11-01 21:54:00 -04:00
Vanguard
bf27c14946 Update bundle_ru.properties 2019-11-02 04:38:55 +03:00
Maximilian
6148a931d3 Improve server host command (#967)
* Improve server host command

* remove spaces
2019-11-01 20:26:29 -04:00
Anuken
59401ab5f5 Prevent locked block replacement 2019-11-01 19:23:01 -04:00
Anuken
ad23cbc03c Schematic fixes 2019-11-01 17:48:30 -04:00
Anuken
4743434e9c Merge remote-tracking branch 'origin/master' 2019-11-01 17:30:46 -04:00
Anuken
2c59288969 Auto-junctions 2019-11-01 17:30:09 -04:00
Patrick 'Quezler' Mounier
0c2f8f879e Clarrify where the option to view ping is located (#974) 2019-11-01 16:03:05 -04:00
Anuken
b6d72044a0 Fixed mod deletion issue 2019-11-01 15:59:59 -04:00
Anuken
a97ae7ad34 Merge remote-tracking branch 'origin/master' 2019-11-01 15:19:47 -04:00
Anuken
6d6fe41bc5 Bugfixes 2019-11-01 15:19:42 -04:00
matheod
733566d606 Update starting message of French tutorial (#973)
Fix #968
2019-11-01 14:05:47 -04:00
Anuken
6f19685255 Fixed #971 2019-11-01 12:48:42 -04:00
Anuken
91dc25f69d Mobile schematics / Randomized projector reloads 2019-10-31 22:44:07 -04:00
Anuken
3be3253a08 Merge remote-tracking branch 'origin/master' 2019-10-31 18:38:48 -04:00
Anuken
53248f6e00 Some minor cleanup 2019-10-31 18:27:09 -04:00
Vanguard
d1d7b08619 Update bundle_ru.properties 2019-10-31 16:06:52 +03:00
Vanguard
1c10fec242 Update bundle_ru.properties 2019-10-31 06:37:18 +03:00
Éric ALBER
3467b62cc4 Allow for a more fine grained UI scaling setting (#961) 2019-10-30 20:46:22 -04:00
Anuken
6746732e49 Steamworks4J updates 2019-10-30 19:31:06 -04:00
Anuken
52af596eb4 Merge remote-tracking branch 'origin/master' 2019-10-30 18:29:41 -04:00
Anuken
08eb683e8a Fixed #958 2019-10-30 18:29:36 -04:00
Anuken
6f1f21a127 Update README.md 2019-10-30 16:56:02 -04:00
Anuken
cea15bebab Apparently google doesn't like short locale names 2019-10-30 16:54:35 -04:00
Anuken
06e7b94b60 Steam fixes 2019-10-30 16:29:01 -04:00
Vanguard
c9bbae1c5c Update bundle_ru.properties 2019-10-30 21:48:25 +03:00
Anuken
8616a82efc Fixed some modding bugs 2019-10-30 13:53:00 -04:00
Anuken
ee5d229f51 Workshop bugfixes 2019-10-30 01:24:03 -04:00
Anuken
42bf1df424 Merge remote-tracking branch 'origin/master' 2019-10-30 00:30:58 -04:00
dase1353
3df5504fde Update bundle_zh_TW.properties (#942)
Update bundle_zh-TW.properties to bundle.properties 0722ad2 Version
2019-10-30 00:30:46 -04:00
AmateurPotion
8bf8b6075a Ko - android translate (#933)
* Create title.txt

Create korean translate folder

* Create summary.txt

* Create short_description.txt

* Rename fastlane/metadata/android/en-US/ko/short_description.txt to fastlane/metadata/android/ko/short_description.txt

* Create full_description.txt

* Update full_description.txt

* Rename fastlane/metadata/android/full_description.txt to fastlane/metadata/android/ko/full_description.txt
2019-10-30 00:28:11 -04:00
Vanguard
b3a09226ca RU updates (#931)
* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* Fixes

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

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* .-.

* Gm

Description

* Oof

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

* dada

* Update upload-build.sh

* Update upload-build.sh

* test

teeest

* tesy

tesssy

* 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
- Приведение положения строк в бандле в соответствии с референсным файлом
- Добавление и перевод новых (отсутствующих) строк из референсного файла
- Корректировка существующих строк

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

* Виправив декілька помилок

* 3123

* Мелкие правки и дополнения

* Перевод новых строк

* niiiice

* oh no

* oh no 😱

* 😱 oh no 😱

* just another yet translator

* Some contributors

The changes made by **Vanguard** were commited by @Prosta4okua and @Remint32 (Felix
Corvus).
Therefore he is not present in authors of commits on github.

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

* Новые строки и новые правки

DAFAK?
-> 3f293190cf (diff-daade3141498d8856d75ec34b88bbb19)

* Добавление строк блока с сообщением

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

* Правки правок

* Правки 🚚

* Крамниця

* Правки и удаление "точки сбора"

rally point ?!?!

* Steam Russian localisation files

* Tiny fix https://github.com/Anuken/Mindustry/issues/661

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

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

* Правки от Vanguard

Правки от @XEN0PHIL

* 🤔

( ͡° ͜ʖ ͡°)

* RU translation changes from Vanguard (#9)

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* ЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇ

* Update bundle.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Fixed the mess between codes like {0} {1} etc.
2019-10-30 00:28:00 -04:00
Anuken
fcbcdfc5d9 Tweaks 2019-10-30 00:27:17 -04:00
Anuken
6fa16ab130 Update README.md 2019-10-29 23:06:22 -04:00
Anuken
996a86f351 Update feature_request.md 2019-10-29 22:58:09 -04:00
Anuken
a76ccb72c2 Update feature_request.md 2019-10-29 22:57:52 -04:00
Anuken
0559595ac6 Update README.md 2019-10-29 22:32:53 -04:00
Anuken
77dbeed890 Mobile fixes 2019-10-29 22:24:35 -04:00
Vanguard
d1b4f8c5b7 Fixed the mess between codes like {0} {1} etc. 2019-10-30 01:20:47 +03:00
Anuken
7316f74917 Moved some interfaces around 2019-10-29 17:09:56 -04:00
Anuken
f1519f7aba Cleanup (2) 2019-10-29 16:00:13 -04:00
Anuken
b86218b75a Cleanup (1) 2019-10-29 15:59:53 -04:00
Anuken
0722ad2f4c Refactoring of functional package 2019-10-29 15:57:25 -04:00
Anuken
f0fa643930 Merge remote-tracking branch 'origin/master' 2019-10-29 14:59:01 -04:00
Anuken
d1dcce31a5 Fixed #940 2019-10-29 14:58:48 -04:00
Vanguard
ac593eb8cf Update bundle_ru.properties 2019-10-29 19:02:26 +03:00
Patrick 'Quezler' Mounier
f07239d8c2 🗺 Locate existing mechpads (#915)
* Stash prototype

* Only target mechpads of the same team

* Switch from chessboard lookup to indexer

* Point using cubes

* Delegate * tilesize
2019-10-29 00:01:39 -04:00
clfer
485fc3ea2a Change selected block when changing category (#837)
* Change selected block when changing category

* Use an ObjectMap in the HUD fragment instead of attribute in category
2019-10-28 23:51:24 -04:00
Vanguard
7b3a27f1e2 Merge branch 'master' into master 2019-10-29 04:56:24 +03:00
Anuken
c540f8e5f5 Bugfixes 2019-10-28 21:47:55 -04:00
Prosta4okua
b7d91310cc Ukrainian translation is here. Are you tired of waiting? (#932)
* :flag_ua:

* 🇺🇦
2019-10-28 21:26:41 -04:00
ZetA0545
32d0cc6dd0 Turkish translation (#916) 2019-10-28 21:25:04 -04:00
Silvério Santos
9caee67606 Create bundle_pt.properties (#912) 2019-10-28 21:24:37 -04:00
Ali-C-Ila
bde78dcc19 Update bundle.properties (#905)
removed description stating large power nodes have more connections.
2019-10-28 21:24:01 -04:00
dase1353
28a5fb537d Update bundle_zh_TW.properties (#898)
add tutorial.intro.mobile String
2019-10-28 21:23:40 -04:00
AmateurPotion
cd7bac1e2c Update bundle_ko.properties (#895)
* Update bundle_ko.properties

* Update bundle_ko.properties
2019-10-28 21:23:29 -04:00
Anuken
f682b86f9a Fixed #923 2019-10-28 21:20:53 -04:00
Vanguard
ff14f819c4 Update bundle_ru.properties 2019-10-28 19:58:55 +03:00
Vanguard
8b5ce2ab33 Update bundle_ru.properties 2019-10-28 19:21:42 +03:00
Vanguard
b1f2faa988 Update bundle_ru.properties 2019-10-28 18:38:06 +03:00
Anuken
d342c2c081 Fixed #919 2019-10-28 00:51:00 -04:00
Anuken
a5cec84be1 Fixed #917 2019-10-27 22:18:53 -04:00
Anuken
a299c39d7b Bugfixes 2019-10-27 20:30:31 -04:00
Anuken
685c41ebf5 Slight balancing 2019-10-27 18:16:41 -04:00
Anuken
1ec09a4679 Merge remote-tracking branch 'origin/master' 2019-10-27 18:07:46 -04:00
Anuken
9e4e58baf9 Added mod dependencies 2019-10-27 18:07:18 -04:00
Patrick 'Quezler' Mounier
bd5c98cc0d 🚧 Add insulator wall (#840)
* Stash insulator prototype

* Fix automatic wires when placing non-powernodes

* Implement requested changes

Stopping lightning has yet to be added.

* ❤️

* Implement lightning absorption

* Visually distinguish insulated power lines

* Stop lightning infront of wall

* Highlight insulators instead of recipients

* Attempt to implement requested changes

* Implement requested changes

* Remove spaces between if and (

* Snap lightning to insulated blocks

* Update bundle.properties
2019-10-27 17:41:00 -04:00
Anuken
ef2817513a Layout fixes 2019-10-27 16:26:33 -04:00
Anuken
d28ae1b304 Bugfixes 2019-10-27 16:05:13 -04:00
Anuken
101f5351bd Bugfixes 2019-10-27 15:25:15 -04:00
Anuken
e103d62b75 Bugfixes / Rework of save discovery system 2019-10-27 14:58:26 -04:00
Patrick 'Quezler' Mounier
d969741f90 ️ Toggle (all) powernode connections by doubleclicking (#907)
* Toggle (all) powernode connections by doubleclicking

* Mimic return false of the above if
2019-10-27 11:01:50 -04:00
Anuken
8a1ea7fd19 Merge remote-tracking branch 'origin/master' 2019-10-27 10:51:41 -04:00
Anuken
34db321577 Disabled 'import github' button on Android because Android is garbage and can't even do something as simple as an HTTP request without 5 workaround for different versions 2019-10-27 10:51:35 -04:00
Patrick 'Quezler' Mounier
cc57f0b19b Fix visual armored conveyor glitch (#891) 2019-10-26 21:23:16 -04:00
Anuken
4e946ae52b Fixed #903 / Fixed #902 2019-10-26 21:20:05 -04:00
키에르
236ed74cae Fix onConnect (#896)
* Update NetClient.java

* import class

* Update NetClient.java
2019-10-26 08:58:25 -04:00
Anuken
cd07d3b13d Update Block.java 2019-10-26 08:52:53 -04:00
Anuken
b582c79593 Update PowerNode.java 2019-10-26 08:51:26 -04:00
Anuken
df0d81db7c Update Tile.java 2019-10-26 08:49:52 -04:00
Patrick 'Quezler' Mounier
a628134a89 Add mobile tutorial intro (#897) 2019-10-26 08:05:20 -04:00
Anuken
708acdfe95 Merge remote-tracking branch 'origin/master' 2019-10-25 15:06:16 -04:00
Anuken
f84a7e7661 Mobile layout fix 2019-10-25 15:06:12 -04:00
Anuken
5fde533bcc a 2019-10-25 15:01:51 -04:00
Anuken
16e57f6f24 Update bug_report.md 2019-10-25 15:01:45 -04:00
Anuken
44dc250a2b Various bugfixes 2019-10-25 14:48:44 -04:00
Anuken
742fb3dece Fixed #880 2019-10-25 14:08:31 -04:00
Anuken
bd0a6636e6 Minor bugfixes 2019-10-25 14:00:38 -04:00
Prosta4okua
ad5cdebca8 🇺🇦 Ukrainian translation (#878)
* :flag_ua:

* 🇺🇦
2019-10-25 13:28:19 -04:00
dase1353
ff794d485a Update bundle_zh_TW.properties (#870)
* Update bundle_zh_TW.properties

follow last Anuke Bundle Version

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties
2019-10-25 13:28:05 -04:00
Mengyang Li
65a7a5afe2 Update bundle_zh_CN.properties (#872)
- fixed export and import translation
 - replace 示意图 -> 蓝图, which is more common in Chinese and Minecraft is using [similar term](https://minecraft-zh.gamepedia.com/index.php?title=Minecraft_Wiki:%E8%AE%A1%E5%88%92/%E7%BB%93%E6%9E%84%E8%93%9D%E5%9B%BE/%E6%9D%91%E5%BA%84&variant=zh)
2019-10-25 13:27:59 -04:00
itskatt
2fcae6d27c Update the French translation (#875)
* small fixes

* forgot about this
2019-10-25 13:27:51 -04:00
Anuken
6023b312e3 iOS mod dialog layout 2019-10-25 13:13:13 -04:00
Anuken
c4cbb85e03 iOS fix 2019-10-25 13:08:50 -04:00
Anuken
3280bceaa1 Bugfixes 2019-10-25 13:05:04 -04:00
Vanguard
87a3f23f51 Update bundle_ru.properties 2019-10-25 20:00:41 +03:00
Anuken
b7e788d529 Fixed #877 / Fixed #871 / Other fixes 2019-10-25 12:58:07 -04:00
Vanguard
71d423cac3 Update bundle_ru.properties 2019-10-25 18:01:29 +03:00
Vanguard
b083f5d8f9 Update bundle_ru.properties 2019-10-25 16:49:18 +03:00
Vanguard
6c9917fc2a Update bundle_ru.properties 2019-10-25 16:20:28 +03:00
Vanguard
f6b814588e Update bundle_ru.properties 2019-10-25 15:11:18 +03:00
Vanguard
9be72c81eb Update bundle_ru.properties 2019-10-25 13:27:42 +03:00
Vanguard
4b91d07f11 Update bundle_ru.properties 2019-10-25 13:11:56 +03:00
BasedUser
ccc1f6296c Merge pull request #3 from Anuken/master
a
2019-10-25 08:55:14 +03:00
Anuken
15cbc5fe42 Minor bugfixes 2019-10-24 23:41:17 -04:00
Anuken
70d80bb32e Cleanup / Added server-side rule change Call 2019-10-24 20:13:29 -04:00
Anuken
6d878e33fd Support for mp3 without iOS 2019-10-24 20:01:15 -04:00
Anuken
e865d17fd1 Merge branch 'master' of https://github.com/Anuken/Mindustry 2019-10-24 18:53:21 -04:00
Anuken
f971061ef4 Bugfixes 2019-10-24 18:52:42 -04:00
Anuken
5d7f14c21f Better error messages 2019-10-24 18:11:18 -04:00
Anuken
955dc5f48d Bugfixes / Copy over plugins to mod folder 2019-10-24 18:04:39 -04:00
dase1353
345c696db9 Update bundle_zh_TW.properties (#865)
* Update bundle_zh_TW.properties

update to follow last Anuke Bundle Version

* Update bundle_zh_TW.properties
2019-10-24 17:20:29 -04:00
Paulao17
7130902979 Correct language errors (#866)
* Correct language errors

* Update core/assets/bundles/bundle_fr.properties

Co-Authored-By: itskatt <48765398+itskatt@users.noreply.github.com>
2019-10-24 17:20:19 -04:00
AmateurPotion
f50d5bd23c Update bundle_ko.properties (#867)
서지 합금은 이름이 자원임에도 불구하고 4글자나 되서 그냥 채팅하기 쉽게끔 설금으로 바꿨습니다.
2019-10-24 17:20:10 -04:00
Anuken
cbfcb5de2c Bugfixes 2019-10-24 09:03:49 -04:00
Anuken
eaaf3a9e60 Fixed compilation 2019-10-24 08:21:37 -04:00
Anuken
ab199633f8 Check version when connecting 2019-10-23 21:47:08 -04:00
Anuken
80ccc0eee0 Merge remote-tracking branch 'origin/master' 2019-10-23 20:14:24 -04:00
Anuken
7179b147b2 Added Reddit link 2019-10-23 20:13:22 -04:00
Anuken
74366f10e9 Bugfix 2019-10-23 17:49:29 -04:00
dase1353
b94834fb20 Update bundle_zh_TW.properties (#862)
update to last Anuke bundle version
2019-10-23 16:09:17 -04:00
PotassioK
9ae98a4353 Update bundle_it.properties (#864) 2019-10-23 16:08:55 -04:00
Anuken
f1a423f8fb Bugfixes 2019-10-23 16:04:19 -04:00
Anuken
b7c1660b07 Merge remote-tracking branch 'origin/master' 2019-10-23 14:48:39 -04:00
Anuken
b0409b31d8 Display content in mod error 2019-10-23 14:37:22 -04:00
eun4786
e33c0a4309 Update bundle_ko.properties (#863) 2019-10-23 08:59:18 -04:00
Anuken
151dca6fb9 Updated bundles 2019-10-22 20:33:52 -04:00
Anuken
56e5705ed6 Bugfixes 2019-10-22 20:17:43 -04:00
Anuken
1f5e639fb2 Use short map names 2019-10-22 19:37:03 -04:00
Anuken
b98b9a98e3 Cleanup 2019-10-22 18:55:15 -04:00
Anuken
ae4ec55abe Merge remote-tracking branch 'origin/master' 2019-10-22 18:45:15 -04:00
Anuken
17e219f142 Fixed #859 2019-10-22 18:45:05 -04:00
swedneck
216e999a71 Update swedish translation (#853)
* add new strings from bundle.properties

* Use the correct locale code for swedish

* update translations

* update swedish translations

* make sure translation keys are up to date, update swedish translation
2019-10-22 17:18:30 -04:00
itskatt
3b9980c01e Update the French translation (#854)
* translation fix

* translate outdated descriptions
2019-10-22 17:18:18 -04:00
키에르
e08eec42ac Server to server (#855)
* Update NetClient.java

* Update NetClient.java

* Update NetClient.java
2019-10-22 17:17:36 -04:00
SkeptiC
39a6d1c58d Updated Czech translation... (#856)
* Update bundle_cs.properties

Re-translated some non-fitting words  and advanced a little bit for full translation...
Uppercase consistency in mind.

* Update bundle_cs.properties

Edited some non fitting words and progressed...(553)
2019-10-22 17:17:13 -04:00
Ali-C-Ila
6f4f686c04 General revision on bundle_zh_TW.properties (#857)
Translation improvements
- Improvements and corrections on most descriptions, including units, factories, items, campaign maps, etc.
- Changes on names of units and turrets to give the game more flavor.
- Changes on a couple items' names, including metaglass, pyratite, plastanium and slag
- Fixed a little coding typo( "scarlet]")
- includes all the updates in #830
2019-10-22 17:17:04 -04:00
NarendraAIM
a2f430418a Finishing untranslated strings. (#858)
Translated unfinished words that I could find. mostly in the server and multiplayer descriptions. Also changed unique terms like Tech Tree and simplify and translate most block descriptions and names. Fixing typos.
~Gallus
2019-10-22 17:16:46 -04:00
Anuken
d39ceb1f5e Respawn players on restart 2019-10-22 09:22:06 -04:00
Anuken
ceec999922 Merge remote-tracking branch 'origin/master' 2019-10-21 21:22:44 -04:00
Anuken
d7ebbbf2b6 Better organization 2019-10-21 21:22:35 -04:00
AmateurPotion
7e5be6793e Update bundle_ko.properties (#852)
* Update bundle_ko.properties

* Update bundle_ko.properties
2019-10-21 21:13:19 -04:00
Anuken
bb593af463 Bugfixes 2019-10-21 19:55:21 -04:00
Anuken
4ae4456c43 Merge remote-tracking branch 'origin/master' 2019-10-21 19:32:51 -04:00
Anuken
d2fda57f2c Revert merge 2019-10-21 19:32:46 -04:00
AmateurPotion
7e1b95216b Update bundle_ko.properties (#832)
* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties
2019-10-21 19:20:05 -04:00
itskatt
adb8930816 Update the French translation (#845)
* bundle sync + translate newest additions

* bundle sync

* add this
2019-10-21 19:19:50 -04:00
Felix Corvus
c483a00865 Russian localization updates (#732)
* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* Fixes

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

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* .-.

* Gm

Description

* Oof

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

* dada

* Update upload-build.sh

* Update upload-build.sh

* test

teeest

* tesy

tesssy

* 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
- Приведение положения строк в бандле в соответствии с референсным файлом
- Добавление и перевод новых (отсутствующих) строк из референсного файла
- Корректировка существующих строк

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

* Виправив декілька помилок

* 3123

* Мелкие правки и дополнения

* Перевод новых строк

* niiiice

* oh no

* oh no 😱

* 😱 oh no 😱

* just another yet translator

* Some contributors

The changes made by **Vanguard** were commited by @Prosta4okua and @Remint32 (Felix
Corvus).
Therefore he is not present in authors of commits on github.

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

* Новые строки и новые правки

DAFAK?
-> 3f293190cf (diff-daade3141498d8856d75ec34b88bbb19)

* Добавление строк блока с сообщением

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

* Правки правок

* Правки 🚚

* Крамниця

* Правки и удаление "точки сбора"

rally point ?!?!

* Steam Russian localisation files

* Tiny fix https://github.com/Anuken/Mindustry/issues/661

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

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

* Правки от Vanguard

Правки от @XEN0PHIL

* 🤔

( ͡° ͜ʖ ͡°)

* RU translation changes from Vanguard (#9)

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* ЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇ

* Update bundle.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_uk_UA.properties
2019-10-21 19:04:57 -04:00
Yoann Prot
9c8b3b6cc7 ✏️ fix translation error with french translation during tutorial (#828) 2019-10-21 19:03:15 -04:00
PotassioK
c062492def Update bundle_it.properties (#850)
* Update bundle_it.properties

* Update bundle_it.properties

* Update bundle_it.properties

* Update bundle_it.properties
2019-10-21 19:01:37 -04:00
Anuken
4f6bd5b684 Bugfixes 2019-10-21 18:55:01 -04:00
Anuken
181c418cea Merge remote-tracking branch 'origin/master' 2019-10-21 17:53:05 -04:00
Anuken
01f6fff823 Correct liquid boost display for turrets 2019-10-21 17:50:26 -04:00
dase1353
3bb787c575 Update bundle_zh_TW.properties (#830)
* Update bundle_zh_TW.properties

Update bundle_zh_TW.properties to last Base Bundle Version

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

update to follow last bundle assets

* Update bundle_zh_TW.properties
2019-10-21 12:48:31 -04:00
laohuaji233
39972c4c2b Update bundle_zh_CN.properties (#844) 2019-10-21 12:45:30 -04:00
Charles Wu
486a45ad14 Update bundle_zh_CN.properties (#798)
fix chinese translation grammatical mistakes
2019-10-21 12:14:49 -04:00
Anuken
ad5cb37ed5 Merge remote-tracking branch 'origin/master' 2019-10-21 00:02:40 -04:00
Anuken
eb1d3c27c5 Mods + crash message for iOS/Android 2019-10-21 00:02:36 -04:00
Anuken
ec59396035 Fixed sharing crash 2019-10-20 21:31:34 -04:00
Anuken
c5a550bf78 Merge branch 'master' of https://github.com/Anuken/Mindustry 2019-10-20 20:44:59 -04:00
Anuken
83b3bd9a2e Fixed flip not taking into account offset 2019-10-20 20:39:58 -04:00
Anuken
a2ff516112 Merge branch 'master' of https://github.com/Anuken/Mindustry 2019-10-20 17:09:02 -04:00
Anuken
513e5b4019 iOS fix 2019-10-20 17:08:54 -04:00
Anuken
fe4783dc63 Merge pull request #814 from Maxattax97/minimap-players
Add username labels to map/minimap
2019-10-20 17:06:48 -04:00
Anuken
ffa6894e56 Merge remote-tracking branch 'origin/master' 2019-10-20 17:05:56 -04:00
Anuken
982483f178 Merged #812 2019-10-20 17:05:23 -04:00
Max O'Cull
898956d833 Fix compact formatting 2019-10-20 17:03:54 -04:00
Anuken
b1d9be707d Merge pull request #847 from clfer/feature/build-queue-improvement
Allow to replace previous build request in queue
2019-10-20 16:57:25 -04:00
Anuken
907f1e7dfd Merge remote-tracking branch 'origin/master' 2019-10-20 16:52:06 -04:00
Anuken
2e0e351228 Bugfixes 2019-10-20 16:50:04 -04:00
Anuken
e4b267d757 Merge pull request #838 from ado1928/master
Added more rubble pngs
2019-10-20 16:32:07 -04:00
clfer
a238d7278f Allow to replace previous build request in queue 2019-10-20 21:52:27 +02:00
Anuken
4b428c6636 Bugfixes 2019-10-20 14:06:43 -04:00
Anuken
b5e9f280e6 Schematic preview improvements 2019-10-20 12:48:39 -04:00
Anuken
3c65e366e8 Clear previous schematic when selecting new one 2019-10-20 10:56:17 -04:00
Anuken
e9efe4169c Fixes of bug variety 2019-10-20 10:42:40 -04:00
Anuken
4c7259843c Merge branch 'master' of https://github.com/Anuken/Mindustry into mech-rework
# Conflicts:
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
2019-10-20 10:21:35 -04:00
Anuken
4be22822d4 Bugfixes 2019-10-20 10:06:13 -04:00
Anuken
00054e2c61 Bugfixes 2019-10-19 21:09:59 -04:00
Anuken
cc105e5029 Merge branches 'master' and 'schematics' of https://github.com/Anuken/Mindustry
# Conflicts:
#	gradle.properties
2019-10-19 20:46:25 -04:00
Anuken
f6899cf3c3 Mobile bugfixes 2019-10-19 20:45:17 -04:00
Anuken
a2a4c8c43d Bugfixes 2019-10-19 19:54:41 -04:00
Anuken
0faae5d5ca Bugfix 2019-10-19 19:11:54 -04:00
Anuken
2586c53f0d Complete refactoring of workshop / Schematic+mod support 2019-10-19 18:53:27 -04:00
ado1928
7fdbd27ebb Add files via upload 2019-10-19 10:58:34 +02:00
Anuken
d0dc21a52c Workshop refactoring 2019-10-19 02:00:43 -04:00
Anuken
f7be953bb5 Schematic import 2019-10-19 01:19:32 -04:00
Anuken
08a51d8f1b Schematic export buttons, workshop support progress 2019-10-19 01:03:49 -04:00
Anuken
32edf58f75 Fixed zips 2019-10-18 20:11:02 -04:00
Anuken
88e1770f2e Bugfixes 2019-10-18 19:31:01 -04:00
Anuken
142e93f3e9 Schematic search button 2019-10-18 17:18:29 -04:00
Anuken
db9eb36c8c Updating arc 2019-10-18 15:07:13 -04:00
Anuken
6a12effd6a Schematic flipping + rotation 2019-10-18 14:38:43 -04:00
Anuken
f7d98591c9 Schematic rotation 2019-10-18 11:38:00 -04:00
Anuken
30bcfb6d5e Functional desktop schematic placement 2019-10-18 00:41:30 -04:00
Anuken
61d15782d0 More functionality, lots of bugfixes 2019-10-17 23:51:23 -04:00
Anuken
dec6a1296b Better schematic previews, keep on game export 2019-10-17 22:57:37 -04:00
Anuken
44c8b07eb1 Things 2019-10-17 22:14:04 -04:00
Anuken
0095d89543 Merge branch 'master' of https://github.com/Anuken/Mindustry into schematics 2019-10-17 21:58:55 -04:00
Anuken
4977f598fd Config drawing 2019-10-17 21:58:49 -04:00
Anuken
25cacbb28d Merge remote-tracking branch 'origin/master' 2019-10-17 17:00:49 -04:00
Anuken
a0c93ea7d3 Made incend bullets apply status instead of creating fire 2019-10-17 17:00:38 -04:00
Anuken
1921bc87a2 Dialog 2019-10-17 16:53:43 -04:00
Anuken
6437e6b878 Update ContentParser.java 2019-10-17 10:56:10 -04:00
Anuken
41284ac3bc Bugfix 2019-10-17 09:01:59 -04:00
Anuken
8cf0df7ac5 Crash fix 2019-10-17 08:40:11 -04:00
Anuken
b804f7fa6e Bugfixes 2019-10-16 23:08:07 -04:00
Anuken
ddf2ce353f Merge branches 'master' and 'mech-rework' of https://github.com/Anuken/Mindustry into mech-rework 2019-10-16 19:46:20 -04:00
Anuken
95cda0d9ab no 2019-10-16 19:46:03 -04:00
Anuken
2dae3c4b4a Fixed sound loading 2019-10-16 19:19:08 -04:00
Anuken
9f9e838a3a Alpha stuff 2019-10-16 18:57:19 -04:00
Anuken
0f52fc1f4f Alpha sprite 2019-10-16 18:36:02 -04:00
Anuken
71be99ad6d Tweaks 2019-10-16 17:30:47 -04:00
Anuken
4b5d3ba4d8 Added laser bullet type 2019-10-16 16:33:09 -04:00
Anuken
fd12027873 Merge remote-tracking branch 'origin/master' 2019-10-16 14:37:31 -04:00
Anuken
ff4c7e4302 Multithreaded packing 2019-10-16 14:36:46 -04:00
Anuken
b2ea1b7ca5 Some refactoring 2019-10-16 14:22:54 -04:00
Anuken
3939d1855d Merge pull request #831 from Quezler/patch-2
Fix loadout reset
2019-10-16 12:27:20 -04:00
Patrick 'Quezler' Mounier
596d58b539 Fix loadout reset 2019-10-16 15:51:18 +02:00
Anuken
47f423540d Vanguard mech visuals 2019-10-15 20:35:43 -04:00
Anuken
565bc6d4c2 Merge branch 'master' into master 2019-10-15 19:49:39 -04:00
Anuken
a3871cca90 Added correctly named mech pads for alpha/dart 2019-10-15 18:32:47 -04:00
Anuken
af3067c08b Merge pull request #800 from laohuaji233/patch-23
Update bundle_zh_CN.properties
2019-10-15 18:30:57 -04:00
Anuken
d0006eaa26 Merge pull request #793 from 1RedOne/patch-2
Adds Japanese menu items for Mods
2019-10-15 18:21:04 -04:00
Anuken
52b2731a42 Merge pull request #785 from osoitz/patch-2
Update bundle_eu.properties
2019-10-15 18:19:11 -04:00
Anuken
08f3368766 Merge pull request #782 from Amon-Senpai/patch-2
Update bundle_de.properties
2019-10-15 18:17:30 -04:00
Anuken
86474484ae Merge pull request #780 from PlayerBrasil13/patch-3
Update bundle_pt_BR.properties
2019-10-15 18:17:11 -04:00
Anuken
e31fb13378 Merge pull request #774 from dase1353/patch-1
Update bundle_zh_TW.properties
2019-10-15 18:15:44 -04:00
Anuken
c147389d25 Merge pull request #769 from Tunacan427/master
Huge updates to Turkish translations
2019-10-15 18:15:12 -04:00
Anuken
0581f500cc Merge pull request #767 from mdtrooper/master
Update bundle_es.properties
2019-10-15 18:08:26 -04:00
Anuken
e5335e9a97 Merge branch 'master' into master 2019-10-15 18:08:21 -04:00
Anuken
5c0a338e6b Merge pull request #765 from azureblue/azureblue-patch-1_bundle_pl
Update bundle_pl.properties
2019-10-15 18:07:52 -04:00
Anuken
73329ccaf2 Merge pull request #753 from clfer/feature/update_bundle_fr_FR
Update bundle_fr.properties
2019-10-15 18:05:09 -04:00
Anuken
8b5b7cf5fc Merge pull request #759 from laohuaji233/patch-21
Create achievements.vdf
2019-10-15 18:01:35 -04:00
Anuken
799cdc716b Create description.txt (#744)
* Create description.txt

* Rename fastlane/metadata/steam/description.txt to fastlane/metadata/steam/Simplified Chinese/description.txt
2019-10-15 17:54:23 -04:00
laohuaji233
6c4853a847 Create short-description.txt (#743)
* Create short-description.txt

* Rename fastlane/metadata/steam/short-description.txt to fastlane/metadata/steam/Simplified Chinese/short-description.txt
2019-10-15 17:54:09 -04:00
DeltaRays
bfe57b309a Update bundle_it.properties (#740) 2019-10-15 17:53:50 -04:00
eru_java
6715c43fc3 Update bundle_ja.properties (Steam Translate and Update) (#736)
Translated STEAM.
Translated new features.
2019-10-15 17:53:03 -04:00
Mengyang Li
f68348bde6 Update bundle_zh_CN.properties: fix minor typo (#725) 2019-10-15 17:47:00 -04:00
Anuken
121e27906c Fixed bullet parsing 2019-10-15 14:31:31 -04:00
Anuken
923b3eba96 h 2019-10-15 14:26:11 -04:00
Anuken
cee9c8fa01 Merge remote-tracking branch 'origin/mech-rework' into mech-rework
# Conflicts:
#	gradle.properties
2019-10-15 09:19:06 -04:00
Anuken
a1826763f5 Autotiling begins 2019-10-15 08:56:42 -04:00
Anuken
5a3e4f7fb6 Merge branch 'master' of https://github.com/Anuken/Mindustry into schematics 2019-10-15 08:52:48 -04:00
Anuken
f17766c8ce Fixed tests 2019-10-15 08:51:48 -04:00
Anuken
8556b7eef7 Block build visibility 2019-10-15 00:23:38 -04:00
Anuken
8e9b84f4f9 Minor position tweak 2019-10-14 23:50:07 -04:00
Anuken
6b1fd152e5 Merge remote-tracking branch 'origin/master' 2019-10-14 23:48:38 -04:00
Charlie Karniol
fab3fcb112 Vastly improved Estonian translation bundle (#737)
* Minor user interface tweaks

* Vastly improved Estonian translation bundle
2019-10-14 23:48:25 -04:00
Maxwelllondon92
a4b6b88b76 Update bundle_it.properties (#730)
* Update bundle_it.properties

Minor corrections and mistypes.
added translation to armored conveyor, rally command
added Editor translation
added UI translation
Adjustment made to the tutorial instruction

* Update bundle_it.properties

correction for wrong name and description of pixelation setting

* Update bundle_it.properties

Minor corrections to keybind menu settings

* Update bundle_it.properties

Corrections: some mech pads were mistakenly translated as ship pads
2019-10-14 23:46:11 -04:00
Maxwelllondon92
b1e99f07a2 Create achievements.vdf (#727) 2019-10-14 23:45:35 -04:00
Anuken
6bceb7311a Better display of broken stuff / 5x slower wall building 2019-10-14 23:43:13 -04:00
Mengyang Li
cbfc766e55 hud: show player position (#717)
* hud: show player position

* hud: clean up old statement

* hug: address comments
2019-10-14 23:42:03 -04:00
njwlgamer
d19c3daa67 Update bundle_nl.properties (#667) 2019-10-14 23:41:02 -04:00
ねらひかだ
86eb832446 Japanese Translations for Google Play (#713)
* Copy descriptions for Google Play

* Update descriptions for Google Play

* Delete not need files

* Add contributors, fix some translations

* Very small changes

* Very small changes 2

* campaign...?

Japanese is not familiar with the word "campaign"
2019-10-14 23:37:33 -04:00
AmateurPotion
ebb859238c Update bundle_ko.properties (#818)
* Update bundle_ko.properties

* Update bundle_ko.properties
2019-10-14 23:22:33 -04:00
Anuken
eb21d5ab67 Experimental schematics 2019-10-14 21:34:06 -04:00
Anuken
edfd402ccd Targeting priority 2019-10-14 18:54:50 -04:00
Anuken
3d8547d7dd Better null checks 2019-10-14 18:40:28 -04:00
Anuken
3ffa768cfc Json cleanup 2019-10-14 17:36:58 -04:00
Anuken
53e9d4a3e3 Update ModsDialog.java 2019-10-14 12:40:56 -04:00
Prosta4okua
657686cab3 Update bundle_uk_UA.properties 2019-10-14 15:47:35 +03:00
BasedUser
36edbbe2df Merge pull request #1 from Anuken/master
merge with Anuken/Mindustry
2019-10-14 13:51:32 +03:00
dase1353
a45fc2c030 Update bundle_zh_TW.properties 2019-10-14 11:43:08 +08:00
Anuken
78471c1860 Cleanup 2019-10-13 19:43:51 -04:00
Anuken
7eb3e5c0ea Radial tech tree layout 2019-10-13 19:36:47 -04:00
Anuken
adc7c2bdb6 Full zoom+pan in tech tree and campaign 2019-10-13 17:53:50 -04:00
Anuken
bef8b905de Added github import dialog 2019-10-13 17:14:35 -04:00
Tunacan427
4d91c8f8b7 Merge branch 'master' into master 2019-10-13 23:52:01 +03:00
Anuken
53c842492a Tech tree zoom 2019-10-13 14:49:19 -04:00
Anuken
3d624f7eaf Added inverted sorter 2019-10-13 12:58:58 -04:00
Anuken
8366dfcece Vanguard starter mech 2019-10-13 12:38:14 -04:00
Anuken
92dacf18cd Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/assets/bundles/bundle.properties
2019-10-13 12:12:03 -04:00
Anuken
6743bd144f Nestable set iteration 2019-10-13 12:11:28 -04:00
Anuken
4b7b07460a Nestable set iteration 2019-10-13 12:09:49 -04:00
Vanguard
b074c047f4 Update bundle_ru.properties 2019-10-13 18:55:30 +03:00
Vanguard
a33fd5fbad Update bundle_ru.properties 2019-10-13 18:32:28 +03:00
Vanguard
597b58253c Update bundle_ru.properties 2019-10-13 18:16:59 +03:00
Vanguard
8ac844c839 Update bundle_ru.properties 2019-10-13 18:14:58 +03:00
Vanguard
dd3665be16 Update bundle_ru.properties 2019-10-13 17:35:24 +03:00
Vanguard
a01a888e47 Update bundle_ru.properties 2019-10-13 17:24:58 +03:00
Vanguard
6348652b0d Update bundle_ru.properties 2019-10-13 16:51:54 +03:00
Vanguard
96ff599c2d Update bundle_ru.properties 2019-10-13 16:35:26 +03:00
Anuken
a09320cb4a A warning 2019-10-12 23:12:02 -04:00
Anuken
c6173e70eb A warning 2019-10-12 23:11:45 -04:00
Anuken
9ef31201b6 Fixed #821 2019-10-12 21:48:45 -04:00
Anuken
e7a5f0a6e6 Fixed editor variants 2019-10-12 18:45:46 -04:00
Anuken
0509c28576 Fixed bizzare single type generator initialization 2019-10-12 18:39:08 -04:00
Anuken
35c13d38a4 Base mech 2019-10-12 18:12:28 -04:00
Anuken
dd3fd97b43 Updated arc 2019-10-12 16:56:43 -04:00
Anuken
d973283039 Mod loading fixes 2019-10-12 15:22:54 -04:00
Max O'Cull
b5bec065fe Fix mis-coloring of entity "tile" 2019-10-12 13:15:47 -04:00
Anuken
01e3bd703e Added option to initialize generators without storage properties 2019-10-12 13:10:33 -04:00
Anuken
d9f98323c7 Merge remote-tracking branch 'origin/master' 2019-10-12 12:53:05 -04:00
Anuken
d7ca2a33c8 Input fixes 2019-10-12 12:52:50 -04:00
Max O'Cull
243862804a Remove labels from minimap, keep on larger map 2019-10-12 12:41:26 -04:00
Lionel Bergen
bd03e666da fixed issue (#816) 2019-10-11 23:54:48 -05:00
Max O'Cull
23b7176d5a Remove extraneous withLabels argument 2019-10-11 20:00:00 -04:00
Max O'Cull
120457916a Add username labels to map/minimap 2019-10-11 19:57:18 -04:00
Anuken
bd3463c824 Override locale names, fixes #757 2019-10-11 18:09:56 -04:00
Anuken
4e0d1b2746 Better mod crash logs 2019-10-11 16:08:14 -04:00
Anuken
b927c2df1a Hash update 2019-10-11 10:30:20 -04:00
Anuken
3f3a03c227 ???? 2019-10-11 09:32:58 -04:00
Anuken
36cec98082 ??? 2019-10-11 09:26:49 -04:00
Anuken
4f7561d66c Compile fix 2019-10-11 09:18:21 -04:00
Anuken
a05ee8bbb8 Merge remote-tracking branch 'origin/master' 2019-10-11 09:15:30 -04:00
Anuken
21b7a0235b Attempting to fix github CI 2019-10-11 09:14:43 -04:00
키에르
f01e486edb DepositEvent first (#811)
* Update EventType.java

* Update InputHandler.java
2019-10-11 00:35:29 -04:00
Anuken
204332a76a Mobile input fixes 2019-10-10 22:13:45 -04:00
Anuken
80a4e67ddf Better replacement 2019-10-10 16:47:46 -04:00
Anuken
6e7baf42b1 Fixed encoding 2019-10-10 16:03:12 -04:00
Anuken
36a21e2443 Variant fixes 2019-10-10 09:13:12 -04:00
Anuken
720f7c0b0f Crash fix 2019-10-09 22:02:54 -04:00
Anuken
42d96fa356 Ignore constructor access modifiers 2019-10-09 21:34:37 -04:00
Anuken
534f770314 Block mod overwrite 2019-10-09 18:39:12 -04:00
Anuken
16eb069717 Fixed mod structural crash / Fixed input fragment disappearing 2019-10-09 17:36:57 -04:00
laohuaji233
d65f54c27b Update bundle_zh_CN.properties 2019-10-10 00:01:33 +08:00
clfer
4a78a04168 Update bundle_fr.properties 2019-10-09 10:03:31 +02:00
Anuken
3a3c5e2304 Merge remote-tracking branch 'origin/master' 2019-10-08 21:30:55 -04:00
Anuken
31e4b2752f Various fixes 2019-10-08 21:27:37 -04:00
azureblue
b43db6035f Power Lasers Transparency (#778)
* Render each visible power link only once.

* Set power lasers opacity based on the setting

* Change power laser colors to work better with transparency

* Slightly reducing power laser width

* Change laser color to the original, minor refactoring

* Change power laser opacity setting label

* Add laser opacity setting text to bundles

* Remove "Show Power Lasers" setting as it's redundant (replaced by lasers opacity setting), changing default laser opacity setting to 100%

* Remove "setting.lasers.name" from other bundles
2019-10-08 19:32:00 -04:00
Anuken
295c922f0a Merge branches 'master' and 'new-planning-system' of https://github.com/Anuken/Mindustry 2019-10-08 19:03:18 -04:00
Anuken
a11ffbce66 Clearer mobile requests 2019-10-08 19:03:04 -04:00
Anuken
0ffa7bd0f5 Mobile input fixes 2019-10-08 19:01:04 -04:00
dase1353
eebfc2d6c5 Update bundle_zh_TW.properties 2019-10-08 08:55:13 +08:00
Anuken
a2dfa6368d Some mobile fixes 2019-10-07 20:52:50 -04:00
dase1353
3805497d71 Update bundle_zh_TW.properties 2019-10-08 08:46:45 +08:00
dase1353
a4ea062a83 Update bundle_zh_TW.properties 2019-10-08 08:37:44 +08:00
dase1353
e46daeed97 Update bundle_zh_TW.properties 2019-10-08 08:34:49 +08:00
Anuken
9fdc4a2c45 Delete old requests, pause building 2019-10-07 20:26:08 -04:00
azureblue
71fc20d971 fixing and improving translation, making letters case more consistent 2019-10-08 02:10:43 +02:00
Anuken
9aec61020d More usability improvements 2019-10-07 19:51:52 -04:00
clfer
c4cab3ed03 Update bundle_fr.properties - Integrate latest bundle.properties changes 2019-10-08 01:17:36 +02:00
Runi Arnsbjörnson
4bcd907f5b Update bundle_fr.properties - runiArnsbjornson update 2019-10-08 00:57:05 +02:00
Anuken
989e0d8fd1 Removal of drone requests 2019-10-07 17:17:01 -04:00
Patrick 'Quezler' Mounier
ddf31e82f6 Remove duplicate check for banned id (#792)
It already existed 2 if's up :)
2019-10-07 09:59:47 -04:00
Stephen Owen
5a749ac106 Converted Romaji to Kanji
somehow typed author '著者' in Romaji and wasn't auto corrected to kanji in this case 😰
2019-10-07 09:52:19 -04:00
Stephen Owen
5831576d21 Adds Japanese menu items for Mods
Adds Japanese menu content for Mods top level menu, and also mod menu items themselves
2019-10-07 09:49:40 -04:00
dase1353
df9ea97863 Update bundle_zh_TW.properties 2019-10-07 17:31:29 +08:00
Anuken
4315cb41f2 Various improvements 2019-10-06 23:03:02 -04:00
Anuken
335c1779ef Conduit autotile, cleanup 2019-10-06 17:30:11 -04:00
Anuken
20462b91d4 Major refactoring of building input in progress 2019-10-06 16:56:31 -04:00
Anuken
e372821cea Update feature_request.md 2019-10-06 12:07:21 -04:00
Letter N
778859d7d7 fixes readme.md links (#781) 2019-10-06 10:34:34 -04:00
osoitz
19afb81bf6 Update bundle_eu.properties 2019-10-06 16:22:02 +02:00
Amon-Senpai
a049b4faa6 Update bundle_de.properties
Corrected some words
2019-10-06 11:58:00 +02:00
dase1353
c554d791bb Update bundle_zh_TW.properties 2019-10-06 17:23:00 +08:00
dase1353
01519e75a0 Update bundle_zh_TW.properties 2019-10-06 17:10:52 +08:00
Stephen Owen
0eb61e601b Add download links to readme (#779)
* Add download links to readme

Lazy folks like me need links to do anything :p

* changed from Oracle JDK, which requires an account now

boo Oracle
2019-10-05 19:26:07 -04:00
PlayerBrasil13
b6396990ba Update bundle_pt_BR.properties 2019-10-05 18:11:26 -03:00
PlayerBrasil13
bdd74bfcc3 Update bundle_pt_BR.properties 2019-10-05 18:09:14 -03:00
PlayerBrasil13
aaadca8287 Update bundle_pt_BR.properties 2019-10-05 18:08:42 -03:00
PlayerBrasil13
8873b2368f Update bundle_pt_BR.properties
Made by:
@Predator127 /September#9140
@PlayerBrasil13  /PlayerBrasil13#6078
2019-10-05 17:44:31 -03:00
Anuken
c95fa25b60 Unlock bosses when defeated 2019-10-05 16:08:34 -04:00
Anuken
9e2ad3c642 Merge branches 'master' and 'zone-objectives' of https://github.com/Anuken/Mindustry 2019-10-05 16:06:57 -04:00
Anuken
a51216d7a6 Test fix 2019-10-05 16:06:36 -04:00
Anuken
a24321ae56 Mod cleanup 2019-10-05 16:05:54 -04:00
Anuken
4b99f7c819 Cleanup, bugfixes 2019-10-05 15:51:29 -04:00
Anuken
ae6925ccce Stop sounds on state change 2019-10-05 10:57:58 -04:00
dase1353
94a2ab23ba Update bundle_zh_TW.properties 2019-10-05 19:09:11 +08:00
dase1353
b8c4f46630 Update bundle_zh_TW.properties 2019-10-05 19:06:15 +08:00
Anuken
e5c7d5dd2f Config banned blocks 2019-10-05 01:16:03 -04:00
Anuken
c1ff7812d8 Zone objective abstraction, cleanup 2019-10-05 00:21:48 -04:00
Kemal
66925bfc7f Merge branch 'master' of https://github.com/Tunacan427/Mindustry 2019-10-05 03:53:44 +03:00
Kemal
e8c7bd1d32 Some small changes to translation. 2019-10-05 03:53:35 +03:00
Anuken
1b93da20f4 Workshop map listing button 2019-10-04 19:43:26 -04:00
Anuken
edb0ece03b More mod content support 2019-10-04 19:14:45 -04:00
dase1353
12164098a6 Update bundle_zh_TW.properties 2019-10-05 03:13:06 +08:00
dase1353
48145e4e77 Update bundle_zh_TW.properties 2019-10-05 03:08:45 +08:00
Anuken
df3f23731b Workshop mod loading 2019-10-04 15:06:29 -04:00
Anuken
912a40c9cd Cleanup 2019-10-03 22:39:57 -04:00
Anuken
8cd013d2ab Merge branches 'lights' and 'master' of https://github.com/Anuken/Mindustry into lights 2019-10-03 22:32:53 -04:00
Anuken
f7b6cea21b Fast color calculation 2019-10-03 22:32:25 -04:00
Anuken
8f0eefa97e Bug report link, proper minimap colors 2019-10-03 22:26:13 -04:00
Anuken
bc02d178ce Support for zones 2019-10-03 18:53:43 -04:00
clfer
3fb1f5f54a Update bundle_fr.properties - Integrate latest bundle.properties changes 2019-10-04 00:39:07 +02:00
clfer
335bfab746 Update bundle_fr.properties - Spelling, accent, wordings, spacing 2019-10-04 00:38:21 +02:00
clfer
2d4d943b61 Update bundle_fr.properties 2019-10-04 00:37:42 +02:00
Tunacan427
f06e5ed87f Merge branch 'master' into master 2019-10-03 21:39:33 +03:00
Tunacan427
bd777e610f Update contributors 2019-10-03 21:27:25 +03:00
azureblue
bdcccb0344 adding missing comma 2019-10-03 19:38:54 +02:00
Anuken
35ede418eb Merge remote-tracking branch 'origin/master' 2019-10-03 12:51:32 -04:00
Anuken
46f118db13 Added link to modding guide 2019-10-03 12:51:25 -04:00
azureblue
6d2a4d4d2b more bundle_pl translation changes
Made a few more changes as I came across translations that were completely wrong.
2019-10-03 18:45:28 +02:00
Ormek
7491366658 Fixed link to "bleeding edge live builds." (#768)
Old target (Jenkins) says that it is no longer up to date and that we should look at github instead.
2019-10-03 12:10:36 -04:00
Miguel de Dios Matias
8e0979020d Update the spanish strings. 2019-10-03 17:53:51 +02:00
Miguel de Dios Matias
7e11cd29e1 Updated and fixed some spanish translations and added empty lines and unstranslated lines from english (to keep the similar structure). 2019-10-03 17:38:49 +02:00
azureblue
6dc1a21cf0 fixing typo
Co-Authored-By: Draco <54777154+Dr4coDragon@users.noreply.github.com>
2019-10-03 16:51:19 +02:00
Anuken
92d7efeea2 Support for modded floors 2019-10-03 08:59:53 -04:00
Miguel de Dios Matias
f5ce5d0a78 Merge remote-tracking branch 'anuken/master' 2019-10-03 11:28:03 +02:00
Anuken
cce0040eaf why does this work 2019-10-02 23:17:06 -04:00
Anuken
3369de6bf7 Merge remote-tracking branch 'origin/master' 2019-10-02 23:09:51 -04:00
Anuken
532926a9e3 Mod reloading that works for some ridiculous reason? 2019-10-02 23:09:35 -04:00
PlayerBrasil13
9e9d2496ed Update bundle_pt_BR.properties (#735)
* Update bundle_pt_BR.properties

* Update bundle_pt_BR.properties

* Update bundle_pt_BR.properties

* Update bundle_pt_BR.properties

* Update bundle_pt_BR.properties
2019-10-02 21:29:59 -04:00
Anuken
89db08f4ed Fixed unit tests, server 2019-10-02 21:29:35 -04:00
Anuken
ffd4297b17 Mod corruption load warnings 2019-10-02 21:23:29 -04:00
Anuken
ec29bd3682 Custom sounds, mod sound loading 2019-10-02 21:03:56 -04:00
Anuken
76dbc1cca3 Fixed ore/editor icon generation 2019-10-02 20:25:33 -04:00
azureblue
f5b6e13a1c Update bundle_pl.properties
Added some missing translations and made changes to existing ones (also changing some units name).
2019-10-03 00:51:35 +02:00
Prosta4okua
b5d2566ffd Update bundle.properties 2019-10-03 00:12:55 +03:00
Prosta4okua
a6dcd725cb ЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇ 2019-10-03 00:11:04 +03:00
Anuken
e0ec9a047c Modded consumers 2019-10-02 14:44:18 -04:00
Anuken
7dfe2116fe Update Logic.java 2019-10-02 09:57:17 -04:00
Anuken
525360f284 Update Control.java 2019-10-02 09:56:31 -04:00
Anuken
2db3060a03 Made content icon system more sane 2019-10-01 23:46:40 -04:00
Anuken
d9b8335e0e Block tech tree mods 2019-10-01 21:47:02 -04:00
laohuaji233
948170e46b Rename fastlane/metadata/steam/description.txt to fastlane/metadata/steam/Simplified Chinese/description.txt 2019-10-02 09:35:01 +08:00
Anuken
5b8c237a1e Modding improvements 2019-10-01 21:33:51 -04:00
laohuaji233
4c6f2f018f Create achievements.vdf 2019-10-02 08:30:52 +08:00
Anuken
8ccdba5be2 Disabled Player-Player and Player-Drone collisions 2019-10-01 20:28:40 -04:00
Anuken
cb929a7239 Merge remote-tracking branch 'origin/master' 2019-10-01 17:35:30 -04:00
Anuken
251b8deb25 Fixed steam crash with a workaround 2019-10-01 17:35:23 -04:00
Anuken
9145ade617 Changed host confirmation text 2019-10-01 12:40:43 -04:00
Anuken
4b83569b43 Switched consumers over to dynamic Bits 2019-10-01 12:15:50 -04:00
Miguel de Dios Matias
56cc806d01 Fixed the spanish translation 'silicona' -> 'silicio'. (#758) 2019-10-01 11:55:31 -04:00
Miguel de Dios Matias
ae6d5ae476 Fixed the spanish translation 'silicona' -> 'silicio'. 2019-10-01 16:53:59 +02:00
Anuken
4bc37ab065 Some minor queued block fixes 2019-09-30 22:12:02 -04:00
Anuken
c9e969c7b4 Editor scroll fix 2019-09-30 21:45:25 -04:00
Anuken
65290dc2bf Merge branches 'config-int' and 'master' of https://github.com/Anuken/Mindustry 2019-09-30 21:35:07 -04:00
Anuken
8c3f8f9b01 Fixed connection glitch 2019-09-30 21:34:50 -04:00
Anuken
985918b870 Fixed power node config 2019-09-30 21:08:56 -04:00
Anuken
62ad78ace9 Saving of broken blocks 2019-09-30 20:48:02 -04:00
Anuken
af37c58bc1 Merge remote-tracking branch 'origin/master' 2019-09-30 20:21:43 -04:00
Anuken
5eba4a360d Fixed Steam offline crash 2019-09-30 20:21:37 -04:00
Anuken
7bfdbaabe7 Int configuration / Drone rebuilding 2019-09-30 19:40:08 -04:00
cheese1
4f2bfb2406 Update bundle_de.properties (#752) 2019-09-30 17:42:31 -04:00
Anuken
3b5dd7567a Allow mods to add maps 2019-09-30 17:24:51 -04:00
Anuken
94733515e4 Reduced spirit factory to 1 drone, 2x power 2019-09-30 17:12:08 -04:00
Anuken
d64872d9ae Fixed wiki link 2019-09-30 12:28:56 -04:00
Anuken
a2474e71cc Zone mod parsing 2019-09-30 12:18:43 -04:00
Anuken
c361f692df Update Zone.java 2019-09-30 12:11:23 -04:00
Anuken
758670eb51 Update InputHandler.java 2019-09-30 10:57:48 -04:00
Anuken
c8b12837a4 Update MenuFragment.java 2019-09-30 10:25:49 -04:00
Anuken
f7f854f0d3 Update MenuFragment.java 2019-09-30 10:17:08 -04:00
Anuken
8c27108b0a Update CrashSender.java 2019-09-30 10:15:27 -04:00
Anuken
7cd220fe8c Display more launch info / Store mod list in saves 2019-09-29 23:40:23 -04:00
Anuken
7fccd18910 Server mod checking 2019-09-29 22:59:23 -04:00
Anuken
73e9f55e55 More tutorial info 2019-09-29 21:51:45 -04:00
Anuken
002a052371 Fixed #748 / Better mod loading 2019-09-29 21:41:32 -04:00
Anuken
0049a0004e Block rotation / Mod loading improvements 2019-09-29 19:54:52 -04:00
Anuken
b0503d9930 Merge branches 'master' and 'mods' of https://github.com/Anuken/Mindustry
# Conflicts:
#	core/src/io/anuke/mindustry/entities/type/FlyingUnit.java
#	gradle.properties
2019-09-29 17:03:28 -04:00
Anuken
429bb6ac13 plugins -> mods 2019-09-29 16:52:17 -04:00
Anuken
f1b0ba039c plugins -> mods 2019-09-29 16:26:13 -04:00
Anuken
33416aadef Parsing fixes / Moved annotations to Arc 2019-09-29 16:09:43 -04:00
Anuken
f17e46015a JSON block, item loading 2019-09-29 15:21:50 -04:00
Prosta4okua
2b8878e724 Ukrainian language (#715)
* 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

* Create description.txt

* Update description.txt

* Create short-description.txt

* Create achievements.vdf

* Update achievements.vdf

* Update bundle_uk_UA.properties

* Update achievements.vdf

* Update achievements.vdf

* Update achievements.vdf

* Update achievements.vdf

* Update achievements.vdf

* 000b23d703
^
2019-09-29 12:53:52 -04:00
Anuken
63744c0a3a 'belts' 2019-09-29 12:39:59 -04:00
Anuken
9c175ac893 Type parsing work 2019-09-29 12:36:01 -04:00
Anuken
c6bc398950 Texture packing 2019-09-29 11:26:25 -04:00
Anuken
4210070d07 Fixed server map shuffling 2019-09-29 10:06:17 -04:00
Anuken
c05fb7ebf1 oh no 2019-09-29 10:05:54 -04:00
Anuken
d35fbb8383 bugfixes 2019-09-29 08:59:53 -04:00
laohuaji233
d9abee3adf Create description.txt 2019-09-29 13:13:22 +08:00
Anuken
fe3f75f141 Starting work on json content parsing 2019-09-28 23:58:30 -04:00
Anuken
79554bf8e9 Mod import/export dialog, restarting 2019-09-28 23:26:55 -04:00
Anuken
4f9ed73a59 Added mod file tree, bundle loading 2019-09-28 21:13:44 -04:00
Felix Corvus
3d1b6e9fc5 RU translation changes from Vanguard (#9)
* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties
2019-09-29 02:07:30 +03:00
Anuken
2019196f65 Sort Steam server lists, ignore version when unimportant 2019-09-28 18:01:55 -04:00
Anuken
a815763833 Upped lower FPS cap to 15 2019-09-28 16:40:12 -04:00
Anuken
92a3f150bb Thruster fix / Removed info on Steam to prevent confusion 2019-09-28 15:40:31 -04:00
Anuken
000b23d703 Workshop crash fix / Mine balancing 2019-09-28 15:14:29 -04:00
Anuken
438b3d9752 Workshop map updates, removal detection 2019-09-28 13:13:23 -04:00
Anuken
a9edee1550 Made wave events fire on clients 2019-09-28 11:32:34 -04:00
Anuken
b63de8b7d6 iOS cleanup 2019-09-28 11:03:15 -04:00
Anuken
5e0e3f4522 iOS map imports 2019-09-28 10:47:40 -04:00
Anuken
a74722aea5 Bugfixes 2019-09-28 10:34:50 -04:00
Anuken
4e55cbbfe8 Merge remote-tracking branch 'origin/master' 2019-09-28 10:14:48 -04:00
Anuken
5f8b9f301a Added summary.txt 2019-09-28 10:14:27 -04:00
Tunacan427
c387817157 i realised there is squash so no need to care about commits 2019-09-28 16:17:40 +03:00
Anuken
138a9ffae7 Experimenting with light 2019-09-27 22:59:02 -04:00
Anuken
b3666ed2a8 More mod setup 2019-09-27 22:20:16 -04:00
Maxwelllondon92
3b8fd10f70 Create description.txt (#728) 2019-09-27 22:18:19 -04:00
Maxwelllondon92
7c0106e62f Create short-description.txt (#729) 2019-09-27 22:18:13 -04:00
Anuken
8609400d76 Ask players if they want to make games public 2019-09-27 20:39:30 -04:00
Anuken
0b0aa36aab More diagnostic info + crash fix 2019-09-27 20:23:02 -04:00
Anuken
70ab102d8c Mods branch 2019-09-27 19:51:46 -04:00
Tunacan427
1f24d936d8 why do i do so many commits 2019-09-27 23:12:23 +03:00
Anuken
f925ec8cbe Basic kill tracking 2019-09-27 16:04:34 -04:00
Felix Corvus
b603481cf6 🤔
( ͡° ͜ʖ ͡°)
2019-09-27 19:29:18 +03:00
Felix Corvus
7dbce6037a Правки от Vanguard
Правки от @XEN0PHIL
2019-09-27 19:02:45 +03:00
Felix Corvus
b7f6ed4a74 Merge branch 'Anuken-master' 2019-09-27 18:42:07 +03:00
Felix Corvus
67bea7ab55 Merge branch 'master' of https://github.com/Anuken/Mindustry into Anuken-master 2019-09-27 18:41:38 +03:00
Felix Corvus
346e90f62d Мелкие правки из TODO 2019-09-27 18:24:53 +03:00
Anuken
53d4f44178 Crash fixes 2019-09-26 19:51:41 -04:00
Anuken
f3ab8f34ed Steam bugfixes 2019-09-26 19:18:10 -04:00
(G_H)
276b79a748 Partial Cross Team Interaction Exploit Fix (#722)
* Delete Mindustry-64.zip

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

* It seems like... Exploit Patch?

* 2nd

* idk man
2019-09-26 19:07:31 -04:00
Anuken
ecff04424d Merge remote-tracking branch 'origin/master' 2019-09-26 19:06:52 -04:00
Anuken
b02a563519 Steam crash fix (?) 2019-09-26 19:06:42 -04:00
Draco
54990868c3 Added Polish steam description (#721)
* Create Polish steam translation file

* Delete polish

* Added Polish translation steam folder

Allready has translated achievments to Polish.

* Added Polish steam descriptions

* Small change

* Another small change

* Fix

* Small fix
2019-09-26 16:31:53 -04:00
Anuken
6a29fb2bf9 why 2019-09-26 16:10:25 -04:00
Anuken
7b3d65feca Triggering Arc update 2019-09-26 16:09:20 -04:00
Anuken
9230be87d4 Fixed #680 2019-09-26 16:03:12 -04:00
Anuken
3f87d64e54 Merge remote-tracking branch 'origin/master' 2019-09-26 15:41:48 -04:00
Anuken
10ddb5f361 Bugfixes / Bundles updated 2019-09-26 15:41:42 -04:00
Draco
6bde30ceb7 Added my name (#718) 2019-09-26 09:26:11 -04:00
Anuken
e15b6e7cff Cleanup / Halved drone production, increased mining speed 2019-09-25 21:59:15 -04:00
Anuken
85dc6385cd Fixed normal mech movement 2019-09-25 20:40:09 -04:00
Anuken
94d245246c Actual speed fix 2019-09-25 20:29:26 -04:00
Anuken
d79ec83817 Possible javelin fix 2019-09-25 20:04:24 -04:00
Anuken
f19dfe9d70 Server shuffle fix 2019-09-25 16:54:43 -04:00
Anuken
b47f40eb07 Full player reset 2019-09-25 16:49:11 -04:00
Tunacan427
e38d2a8380 Merge branch 'master' of https://github.com/Tunacan427/Mindustry 2019-09-25 23:46:51 +03:00
Tunacan427
2220af3ac4 Even more translations 2019-09-25 23:46:46 +03:00
Anuken
fd69241de9 Bugfixes 2019-09-25 16:44:55 -04:00
Anuken
47e723c557 Removed logging 2019-09-25 16:32:36 -04:00
Anuken
48bf88f99d More testing 2019-09-25 16:23:37 -04:00
Anuken
289ab44ed5 ? 2019-09-25 16:14:46 -04:00
Anuken
8ec465319b server debug 2019-09-25 16:10:00 -04:00
Anuken
53f66308d4 Merge remote-tracking branch 'origin/master' 2019-09-25 15:40:37 -04:00
Anuken
2658c1f52e Workshop fixes / Message block extension 2019-09-25 15:40:31 -04:00
Kemal
f92a988612 More translation. 2019-09-25 22:29:35 +03:00
Draco
fc015f0bee Added Polish steam translation folder (#714)
* Create Polish steam translation file

* Delete polish

* Added Polish translation steam folder

Allready has translated achievments to Polish.
2019-09-25 14:56:19 -04:00
Anuken
29bf181a08 Fixed #709 2019-09-25 13:55:31 -04:00
Anuken
4c244e836b Merge remote-tracking branch 'origin/master' 2019-09-25 13:51:36 -04:00
Anuken
5ac7fa5eca Bugfixes 2019-09-25 13:51:23 -04:00
Tunacan427
7683fdb9cb Resolve merge conflict that I have no idea why happened 2019-09-25 20:06:12 +03:00
Tunacan427
d621b5a77e More translations 2019-09-25 19:58:30 +03:00
Anuken
49b9d1ec82 Update bug_report.md 2019-09-25 12:56:19 -04:00
Rasangus
04cfec3213 Update bundle_pt_BR.properties (#708)
* Update bundle_pt_BR.properties

Trying to solve the most game breaking translation problems

* Update bundle_pt_BR.properties
2019-09-25 12:39:15 -04:00
Felix Corvus
4b4623fea1 Russian localization updates (#711)
* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* Fixes

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

* Update bundle_ru.properties

* Update bundle_uk_UA.properties

* .-.

* Gm

Description

* Oof

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

* dada

* Update upload-build.sh

* Update upload-build.sh

* test

teeest

* tesy

tesssy

* 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
- Приведение положения строк в бандле в соответствии с референсным файлом
- Добавление и перевод новых (отсутствующих) строк из референсного файла
- Корректировка существующих строк

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

* Виправив декілька помилок

* 3123

* Мелкие правки и дополнения

* Перевод новых строк

* niiiice

* oh no

* oh no 😱

* 😱 oh no 😱

* just another yet translator

* Some contributors

The changes made by **Vanguard** were commited by @Prosta4okua and @Remint32 (Felix
Corvus).
Therefore he is not present in authors of commits on github.

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

* Новые строки и новые правки

DAFAK?
-> 3f293190cf (diff-daade3141498d8856d75ec34b88bbb19)

* Добавление строк блока с сообщением

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

* Правки правок

* Правки 🚚

* Крамниця

* Правки и удаление "точки сбора"

rally point ?!?!

* Steam Russian localisation files

* Tiny fix https://github.com/Anuken/Mindustry/issues/661

* Мелкие правки
2019-09-25 12:39:04 -04:00
AmateurPotion
1b7f4deeac Update bundle_ko.properties (#712)
* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties
2019-09-25 12:38:54 -04:00
Anuken
1462402519 More crash fixes 2019-09-25 12:24:30 -04:00
Anuken
5edf70103f Crash fix 2019-09-25 12:17:08 -04:00
Anuken
9ba11e2474 Bugfixes 2019-09-25 12:12:43 -04:00
Tunacan427
02cb07f170 more translation (#4)
yes
2019-09-25 17:33:04 +03:00
Felix Corvus
8d72ca84cc Мелкие правки 2019-09-25 13:34:39 +03:00
Felix Corvus
8e63016f45 Tiny fix https://github.com/Anuken/Mindustry/issues/661 2019-09-25 12:36:21 +03:00
Felix Corvus
ab952d7002 Steam Russian localisation files 2019-09-25 12:11:42 +03:00
Felix Corvus
b24671c2b9 Merge branch 'Anuken-master' 2019-09-25 11:40:22 +03:00
Felix Corvus
12a93fea24 Merge branch 'master' of https://github.com/Anuken/Mindustry into Anuken-master 2019-09-25 11:39:07 +03:00
Felix Corvus
609bf18be8 Merge pull request #4 from Prosta4okua/translation
Fix repo
2019-09-25 11:12:00 +03:00
Felix Corvus
5de22ae9ae Merge branch 'master' into translation 2019-09-25 11:11:11 +03:00
Felix Corvus
9f4110a3d5 Правки и удаление "точки сбора"
rally point ?!?!
2019-09-25 09:24:19 +03:00
Anuken
a1da82a173 crashfix 2019-09-24 23:57:19 -04:00
Anuken
f1456190b5 Buffer fix 2019-09-24 22:25:49 -04:00
Anuken
03bb94da23 Fixed pathfinding 2019-09-24 22:17:24 -04:00
ねらひかだ
5aa574bc71 Better Japanese Translations (#686)
* Sync with original bundle

* ja translation part-1

* ja translation part-2

* Done tutorial translation

* Almost complete...

* zone description is difficult...

* OMG!!! IT IS NOT SPACE!!!

* a little change
2019-09-24 20:44:40 -04:00
firda
99c0291b0e Czech tranlastion corrections - bundle_cs (#669) 2019-09-24 20:35:50 -04:00
laohuaji233
89c195d96b Update bundle_zh_CN.properties[finished] (#674)
* 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-09-24 20:20:28 -04:00
nightmare3832
86f3fffa91 translations (#677) 2019-09-24 19:49:19 -04:00
PlayerBrasil13
e191362c4f Update bundle_pt_BR.properties (#678)
* Update bundle_pt_BR.properties

* Update bundle_pt_BR.properties
2019-09-24 19:49:00 -04:00
Prosta4okua
8c0cff0c65 Steam (╯°□°)╯︵ ┻━┻ (#683)
* 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
- Приведение положения строк в бандле в соответствии с референсным файлом
- Добавление и перевод новых (отсутствующих) строк из референсного файла
- Корректировка существующих строк

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

* Виправив декілька помилок

* 3123

* Мелкие правки и дополнения

* Перевод новых строк

* niiiice

* oh no

* oh no 😱

* 😱 oh no 😱

* just another yet translator

* Some contributors

The changes made by **Vanguard** were commited by @Prosta4okua and @Remint32 (Felix
Corvus).
Therefore he is not present in authors of commits on github.

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

* Новые строки и новые правки

DAFAK?
-> 3f293190cf (diff-daade3141498d8856d75ec34b88bbb19)

* Добавление строк блока с сообщением

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

* Правки правок

* Правки 🚚

* Крамниця
2019-09-24 19:47:35 -04:00
T1NT4
db31238b00 Update bundle_pt_BR.properties (#687) 2019-09-24 19:45:01 -04:00
Maxwelllondon92
c18b730d7c Update Italian translations (#696)
* Update bundle_it.properties

Minor translation corrections and mistypes.
Fixed doubled name for lancer tower (had the same name as wave tower)
Changed infinite source and void block translations (now translate as "Infinite Source (item/liquid/energy)" and "Bin (item/energy)".
Change force projector translation. Now translates as "Force field generator".
Changed Launch pad name (now translate as space elevator and advanced space elevator)
Changed spore pod name (translation was "spore platform")
Changed mech/ship pads translation (translation was "block of {x} mech/ship")

* Update bundle_it.properties

* Update bundle_it.properties

* Update bundle_it.properties

* Update bundle_it.properties

* Update bundle_it.properties

* Update bundle_it.properties

* Update bundle_it.properties
2019-09-24 19:44:44 -04:00
itskatt
7ad85f6ffb Update the French translation (#697)
* translate newest additions

* few changes + correct mistake

* merge

* translate armored conveyors
2019-09-24 19:44:27 -04:00
Markus Kollotzek
45a79624b1 Provide updated translations for German tutorial (#703)
* Provide German translation for the tutorial. (#640)

* Apply improvements to German translation #641

* Fix typos in German translation
2019-09-24 19:43:29 -04:00
Anuken
65dde8bc97 Merge remote-tracking branch 'origin/master' 2019-09-24 19:16:18 -04:00
Anuken
83dce4d8d2 Bugfixes 2019-09-24 19:16:12 -04:00
Anuken
6680326392 Update TRANSLATING.md 2019-09-24 17:56:23 -04:00
Anuken
cc222034cb Update TRANSLATING.md 2019-09-24 17:56:12 -04:00
Anuken
5b0250ee74 Merge remote-tracking branch 'origin/master' 2019-09-24 17:50:16 -04:00
Anuken
eb52f3b902 Added steam metadata 2019-09-24 17:49:49 -04:00
Anuken
9add64ae8d Update feature_request.md 2019-09-24 17:35:50 -04:00
Anuken
20c5aadefe Update feature_request.md 2019-09-24 17:35:38 -04:00
Anuken
34896a805e Update bug_report.md 2019-09-24 17:35:10 -04:00
Letter N
722b488795 Adds templates (#701)
* Create feature_request.md

* Create bug_report.md
2019-09-24 17:34:02 -04:00
Tunacan427
228a3f67e1 Update language files to include new stuff and a bit more translations 2019-09-25 00:31:48 +03:00
Prosta4ok_ua
fe5457ef30 Merge branch 'translation' of https://github.com/Prosta4okua/Mindustry into translation 2019-09-25 00:23:31 +03:00
Prosta4ok_ua
b747bb217a Крамниця 2019-09-25 00:22:49 +03:00
Tunacan427
4fc0a93a1f Merge branch 'master' of https://github.com/Anuken/Mindustry 2019-09-25 00:16:13 +03:00
Anuken
ecd73dcc2c Various bugfixes / Added new blocks to tech tree 2019-09-24 17:02:34 -04:00
Tunacan427
7f43c4377c Merge branch 'master' of https://github.com/Tunacan427/Mindustry 2019-09-24 23:29:24 +03:00
Kemal
ab998e87f8 Translated some words.
Not much.
2019-09-24 23:21:47 +03:00
Tunacan427
6c53aaf67f Fork project and edit a bit
Nothing too much
2019-09-24 23:00:11 +03:00
Felix Corvus
adcc922b80 Правки 🚚 2019-09-24 22:52:57 +03:00
Felix Corvus
9400984d22 Правки правок 2019-09-24 19:30:20 +03:00
Felix Corvus
93bef0d16a Корректировка правок 2019-09-24 05:47:21 +03:00
Felix Corvus
db97d48f9d Добавление строк блока с сообщением 2019-09-24 05:34:42 +03:00
Felix Corvus
63d5520c0b Новые строки и новые правки
DAFAK?
-> 3f293190cf (diff-daade3141498d8856d75ec34b88bbb19)
2019-09-24 05:20:37 +03:00
Felix Corvus
4cddf6ab78 Мелкие правки из TODO 2019-09-24 01:55:16 +03:00
Anuken
b6e97c4261 Added armored conveyors 2019-09-22 15:12:15 -04:00
Anuken
a2750c8aff Default linear filtering on desktop 2019-09-22 12:35:53 -04:00
Anuken
2c0372f680 Power graph capacity display 2019-09-22 11:38:13 -04:00
Anuken
2dceb8927c Votekick after being offline / Votekick button 2019-09-22 11:28:32 -04:00
Anuken
e5cf2161d4 spaghetti eradicated 2019-09-22 01:37:50 -04:00
Anuken
b2bae64215 extreme confusion 2019-09-22 00:01:48 -04:00
Anuken
552dc254da spgashfetiti 2019-09-21 23:41:56 -04:00
Anuken
dc51afdc60 Fixed sprites 2019-09-21 20:24:07 -04:00
Anuken
3f293190cf Merge branch 'master' of https://github.com/Anuken/Mindustry into messages
# Conflicts:
#	core/assets/sprites/block_colors.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites2.png
#	core/assets/sprites/sprites5.png
2019-09-21 18:59:49 -04:00
Synray
7f299869c5 Add ability to rotate each block in a line (#688)
* Add ability to rotate each block in a line

* New behavior only when placing straight lines

* Code style
2019-09-21 18:03:05 -04:00
Anuken
c45805e703 no 2019-09-21 17:51:44 -04:00
Anuken
d062d8081a Bugfixes 2019-09-21 16:44:47 -04:00
Anuken
5955ecefd3 Bugfixes 2019-09-21 15:54:34 -04:00
Anuken
0d25d83651 Better Android keyboard support 2019-09-21 15:35:59 -04:00
Anuken
1957b6aa12 Removed unused rally point block 2019-09-21 13:06:09 -04:00
Anuken
4fa173f0f5 Don't auto-increment build version 2019-09-21 11:04:35 -04:00
Anuken
fed3bcd79d Cleanup 2019-09-20 23:21:43 -04:00
Anuken
dda1f18f67 Unit enemy spawnpoint camping 2019-09-20 23:09:11 -04:00
Anuken
025386af53 New pathfinding implementation on separate thread 2019-09-20 22:01:27 -04:00
Anuken
bd1ea41c0d Merge remote-tracking branch 'origin/master' 2019-09-19 23:46:34 -04:00
Anuken
5d729c1e8d Bugfixes 2019-09-19 23:46:27 -04:00
Anuken
1fac4c59a3 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/src/io/anuke/mindustry/editor/MapEditorDialog.java
2019-09-19 23:00:42 -04:00
Anuken
0e9296913c Fixed iOS build issues 2019-09-19 22:59:44 -04:00
Felix Corvus
4307b99dd4 Some contributors
The changes made by **Vanguard** were commited by @Prosta4okua and @Remint32 (Felix
Corvus).
Therefore he is not present in authors of commits on github.
2019-09-20 02:22:28 +03:00
Felix Corvus
aedbc4bf1d just another yet translator 2019-09-20 02:11:20 +03:00
Anuken
50d379d94d Merge remote-tracking branch 'origin/master' 2019-09-19 19:02:05 -04:00
Anuken
d6a4149175 Testing iOS file chooser 2019-09-19 19:01:48 -04:00
Felix Corvus
60151e4bca 😱 oh no 😱 2019-09-19 20:55:22 +03:00
Felix Corvus
32340efa52 oh no 😱 2019-09-19 20:26:14 +03:00
Felix Corvus
5182dea970 oh no 2019-09-19 20:01:26 +03:00
Felix Corvus
b4a050a986 niiiice 2019-09-19 19:54:10 +03:00
Felix Corvus
e3be5e4173 Перевод новых строк 2019-09-19 19:49:45 +03:00
Anuken
5a0669d437 SAF is terrible 2019-09-18 19:24:49 -04:00
Anuken
0d29d94800 Bugfixes 2019-09-18 15:18:59 -04:00
Anuken
1e667946b3 Bugfixes 2019-09-18 12:46:11 -04:00
Anuken
c6a4bf69ee Fixed turret cooling 2019-09-18 08:49:48 -04:00
Anuken
5d0cfc3599 Workshop tweaks 2019-09-17 22:39:58 -04:00
Anuken
2424afa1fb Workshop implementation progress 2019-09-17 21:55:57 -04:00
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
Felix Corvus
772343ae5f Мелкие правки и дополнения 2019-09-17 18:11:18 +03: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
Prosta4ok_ua
5063d94b1c 3123 2019-09-16 20:56:15 +03:00
Prosta4ok_ua
4b9db2538c Виправив декілька помилок 2019-09-16 20:34:53 +03:00
Prosta4okua
326f225777 Merge pull request #3 from Anuken/master
їїїїїїїїїїї
2019-09-16 16:18:38 +03: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
Anuken
8c4b628e06 Merge branch 'master' into translation 2019-09-15 20:37:28 -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
Felix Corvus
15cadaba1d мелкие правки 2019-09-14 20:53:54 +03:00
Felix Corvus
cd658db38a Рефакторинг, корректировка и добавление новых строк с 801 по 912
Рефакторинг, корректировка и добавление новых строк с 801 по 912
- Приведение положения строк в бандле в соответствии с референсным файлом
- Добавление и перевод новых (отсутствующих) строк из референсного файла
- Корректировка существующих строк
2019-09-14 20:10:32 +03:00
Prosta4ok_ua
b145a34400 Merge branch 'translation' of https://github.com/Prosta4okua/Mindustry into translation 2019-09-14 15:56:43 +03:00
Felix Corvus
08c2861457 Рефакторинг, корректировка и добавление новых строк с 601 по 800
Рефакторинг, корректировка и добавление новых строк с 601 по 800
- Приведение положения строк в бандле в соответствии с референсным файлом
- Добавление и перевод новых (отсутствующих) строк из референсного файла
- Корректировка существующих строк
2019-09-14 15:18:50 +03:00
Anuken
6c07c5006a Added client implementation for 50 achievemenets 2019-09-13 22:02:13 -04:00
Felix Corvus
b39c366a06 правка 2019-09-14 01:05:19 +03:00
Felix Corvus
bb73e87a2a мелкие правки 2019-09-14 01:01:00 +03:00
Felix Corvus
43a46784f2 ещё правки в редакторе 2019-09-14 00:39:41 +03:00
Felix Corvus
9baf5f8cea правки в редакторе 2019-09-14 00:37:13 +03:00
Prosta4ok_ua
b78d492eb6 212122 2019-09-13 23:46:36 +03:00
Prosta4ok_ua
ed04322aef 121 2019-09-13 22:57:22 +03:00
Prosta4ok_ua
c995cba022 Merge branch 'translation' of https://github.com/Prosta4okua/Mindustry into translation 2019-09-13 22:39:54 +03:00
Prosta4ok_ua
4ab7014e01 Перші сто рядків українського перекладу відредаговано. 2019-09-13 22:38:24 +03:00
Felix Corvus
e9ec24dd80 Рефакторинг, корректировка и добавление новых строк с 381 по 600
Рефакторинг, корректировка и добавление новых строк с 381 по 600
- Приведение положения строк в бандле в соответствии с референсным файлом
- Добавление и перевод новых (отсутствующих) строк из референсного файла
- Корректировка существующих строк
2019-09-13 21:50:55 +03:00
Prosta4ok_ua
fc818bc0bb Merge branch 'translation' of https://github.com/Prosta4okua/Mindustry into translation 2019-09-13 21:16:17 +03:00
Prosta4ok_ua
450d95566a 313131 2019-09-13 21:16:13 +03: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
Felix Corvus
0e3410c23e Небольшие правки 2019-09-13 18:29:50 +03: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
Prosta4ok_ua
94ea502b23 ru_ri 2019-09-12 21:54:29 +03:00
Prosta4ok_ua
e6a78bf230 Second pack of changes by Vanguard. 2019-09-12 21:43:20 +03: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
Felix Corvus
03da91edfb Рефакторинг и добавление новых строк с 137 по 380
- Приведение положения строк в бандле в соответствии с референсным файлом
- Добавление и перевод новых (отсутствующих) строк из референсного файла
- Мелкие правки
2019-09-12 19:23:58 +03: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
Felix Corvus
66106ce48d Рефакторинг и добавление новых строк с 1 по 136
- Приведение положения строк в бандле в соответствии с референсным файлом
- Добавление и перевод новых (отсутствующих) строк из референсного файла
2019-09-12 17:15:39 +03:00
Felix Corvus
c057589899 Небольшие правки "КАК СОЗДАТЬ СЕРВЕР С ДРУГОМ Update" 2019-09-12 16:38:56 +03: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
209f0902c9 message blocks 2019-09-03 16:11:01 -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
Prosta4ok_ua
f071ddf9da 123 2019-08-31 22:39:19 +03:00
Prosta4ok_ua
f49d3757df Merge branch 'translation' of https://github.com/Prosta4okua/Mindustry into translation 2019-08-31 22:03:03 +03: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
Prosta4ok_ua
4fb1ee1201 hm 2019-08-31 21:15:05 +03:00
Prosta4ok_ua
2a35f5c879 hmmm 2019-08-31 21:12:44 +03: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
15affd4701 Merge branch 'master' into translation 2019-08-31 13:06:53 -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
Prosta4ok_ua
ae0d41dfc3 From additional improvements. 2019-08-28 17:11:33 +03:00
Prosta4ok_ua
8e2c05458c Merge branch 'translation' of https://github.com/Prosta4okua/Mindustry into translation 2019-08-28 11:44:48 +03: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
Felix Corvus
bee5473e98 Мелкие правки 2019-08-27 05:18:48 +03:00
Felix Corvus
fbbffb2467 Обновление и корректировка строк с 322 по 377 - "Campaign Update"
Обновление и корректировка строк с 322 по 377, а так же предыдущих.
- По прежнему нужно разобраться с 297 строкой ("filter.option.percentile"). Добавил метку для отличия функционала. Проверю и уберу к следующей сборке.
2019-08-27 04:43:39 +03: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
Prosta4ok_ua
de42011d3e Small fixes. 2019-08-24 15:14:47 +03:00
Prosta4ok_ua
7e80d90fb5 Unfinished Ukrainian language. 2019-08-24 14:58:18 +03:00
Prosta4ok_ua
c0398e9ad9 Fixed "В" 2019-08-24 13:46:54 +03: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
Anuken
8406248a1b Merge branch 'master' into patch-1 2019-08-23 18:12:20 -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
Felix Corvus
eb2ad92bf7 озарение в переводе ;D 2019-08-23 16:02:39 +03:00
Felix Corvus
60a834d742 Обновление и корректировка строк с 253 по 321 - "WorldEditor Update"
Обновление и корректировка строк с 253 по 321, а так же предыдущих.
- Разобраться с 297 строкой ("filter.option.percentile").
- Разобраться с местами применения 322 строки.
2019-08-23 15:15:04 +03:00
Prosta4ok_ua
0e0902df05 router 2019-08-23 11:20:31 +03: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
Felix Corvus
c3d879aec9 Обновление и корректировка строк с 87 по 252
Обновление и корректировка строк с 87 по 252, а так же правка предыдущих.
- 35 строку лучше привести в соответствии с оригинальным текстом, без дополнений и пояснений.
- 103 строка не переводится в соответствии с https://semver.org/lang/ru/ , хотя это не жёсткое правило, поскольку не влияет непосредственно на алгоритм работы с версиями.
- 187 Предлагаю эту строку перевести как 'Настройки карты', не смотря на оригинальный текст (соответственно и 230, 231).
2019-08-23 04:21:42 +03: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
Prosta4ok_ua
d1920621fa router 2019-08-22 22:15:12 +03:00
Felix Corvus
8dad252e3c Обновление и корректировка строк с 1 по 90 2019-08-22 22:00:43 +03:00
Prosta4ok_ua
5ea22cf1fa idk what i changed 2019-08-22 16:45:42 +03: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
Prosta4ok_ua
3d06cfca31 gmmm
/-/-/-/
2019-08-21 13:07:57 +03: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
Anuken
0921b733c2 Merge branch 'master' into patch-1 2019-08-16 11:13:05 -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
Prosta4ok_ua
cc597a8e95 1 2019-08-16 18:09:43 +03: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
Prosta4ok_ua
c5ecc2bc15 [[]] 2019-08-16 15:42:21 +03:00
Prosta4ok_ua
18842dd47d WATER
WATER
2019-08-16 12:29:05 +03:00
Prosta4ok_ua
ee1e464d4d 1 2019-08-16 12:22:40 +03: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
Anuken
682c7bc08f Merge branch 'master' into patch-1 2019-08-13 16:46:01 -04:00
Prosta4ok_ua
7618b0254f 1 2019-08-13 23:39:53 +03:00
Prosta4ok_ua
c2c4efebb2 Added tutorial. Thank to Slava0135 and ymomfe. 2019-08-13 23:36:40 +03: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
Prosta4ok_ua
9b7c8d26b5 1 2019-08-12 21:01:03 +03: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
Prosta4ok_ua
f91f074463 / 2019-08-04 16:58:45 +03: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
Prosta4ok_ua
40c7347c8e Translated everything. Maybe. 2019-08-04 14:16:03 +03: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
Prosta4ok_ua
5e18514b7a Ukrainian finished. Fixed some errors. 2019-08-03 23:55:41 +03: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
Prosta4ok_ua
6d15066dff й 2019-08-01 17:46:15 +03: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
Prosta4ok_ua
90340da42e Translate new descriptions 2019-08-01 11:21:27 +03: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
Prosta4okua
bdb91a6737 tesy
tesssy
2019-07-31 22:39:35 +03:00
Prosta4okua
ff321ac908 test
teeest
2019-07-31 22:39:15 +03:00
Prosta4okua
3206a7cab4 Update upload-build.sh 2019-07-31 22:35:40 +03:00
Prosta4okua
fb78adb49a Update upload-build.sh 2019-07-31 22:30:42 +03:00
Prosta4ok_ua
f47c1a5e43 dada 2019-07-31 22:26:55 +03: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
Prosta4ok_ua
1b1add315a ЈҮУКЕНГШҺЗХҸЖДЛОРПАВЫӘЧСМИТҒБӨ 2019-07-30 18:02:28 +03: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
Prosta4ok_ua
edde55fedf Oof 2019-07-30 14:46:13 +03: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
dc81071c58 Merge branch 'master' into patch-1 2019-07-29 10:50:40 -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
Prosta4ok_ua
f6093f483c Gm
Description
2019-07-28 22:30:52 +03: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
Prosta4ok_ua
fde88e437b Merge branch 'patch-1' of https://github.com/Prosta4okua/Mindustry into patch-1 2019-07-27 12:27:02 +03:00
Prosta4ok_ua
eb5ce3e05d .-. 2019-07-27 12:26:12 +03: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
Prosta4okua
8ba04a98be Update bundle_uk_UA.properties 2019-07-23 10:56:15 +03:00
Prosta4okua
62634c0fe0 Update bundle_ru.properties 2019-07-23 10:55:22 +03: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
Prosta4ok_ua
6161fb10af Капіталізація це зло. 2019-07-09 16:38:12 +03: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
Prosta4ok_ua
4b4fc8e9ee Fixes 2019-07-08 16:35:54 +03: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
89a4e6506f Bloom option 2019-06-29 10:40:52 -04:00
Anuken
22656a40b2 Bloom fix 2019-06-28 23:31:34 -04:00
Anuken
6fa9abd896 discard 2019-06-28 23:04:43 -04:00
Anuken
b7a0ebad17 Merge branch 'master' of https://github.com/Anuken/Mindustry into bloom 2019-06-24 19:45:13 -04:00
Anuken
f8526e1ac7 Bloom 2019-06-24 19:39:57 -04:00
Prosta4okua
f35f1550e8 Update bundle_uk_UA.properties 2019-01-18 17:20:13 +02:00
Prosta4okua
e422f64b8b Update bundle_ru.properties 2018-05-06 09:42:43 +03:00
Prosta4okua
ed143414ca Merge pull request #1 from Prosta4okua/Prosta4okua-patch-1
Update bundle_ru.properties
2018-05-06 09:27:25 +03:00
Prosta4okua
f9c48f5edf Update bundle_ru.properties 2018-05-06 09:27:03 +03:00
2579 changed files with 165814 additions and 72166 deletions

27
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,27 @@
---
name: Bug report
about: Create a report to help fix an issue.
title: ''
labels: bug
assignees: ''
---
**Platform**: *Android/iOS/Mac/Windows/Linux*
**Build**: *The build number under the title in the main menu. Required.*
**Issue**: *Explain your issue in detail.*
**Steps to reproduce**: *How you happened across the issue, and what exactly you did to make the bug happen.*
**Link(s) to mod(s) used**: *The mod repositories or zip files that are related to the issue, if applicable.*
**Save file**: *The save file you were playing on when the bug happened, if applicable.*
**Crash report**: *The contents of relevant crash report files. REQUIRED if you are reporting a crash.*
---
*Place an X (no spaces) between the brackets to confirm that you have read the line below.*
- [ ] **I have searched the closed and open issues to make sure that this problem has not already been reported.**

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Feature request
url: https://github.com/Anuken/Mindustry-Suggestions/issues/new/choose
about: Do not make a new issue for feature requests! Instead, post it in suggestions repository.
- name: Question
url: https://discord.com/invite/mindustry
about: Questions about the game should be asked in the Discord, not in the issue tracker.

85
.github/Mindustry-CodeStyle-IJ.xml vendored Normal file
View File

@@ -0,0 +1,85 @@
<code_scheme name="Default" version="173">
<option name="AUTODETECT_INDENTS" value="false" />
<option name="RIGHT_MARGIN" value="300" />
<GroovyCodeStyleSettings>
<option name="SPACE_BEFORE_CLOSURE_LBRACE" value="false" />
</GroovyCodeStyleSettings>
<JavaCodeStyleSettings>
<option name="SPACE_AROUND_TYPE_BOUNDS_IN_TYPE_PARAMETERS" value="false" />
<option name="INSERT_INNER_CLASS_IMPORTS" value="true" />
<option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="1" />
<option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="2" />
<option name="PACKAGES_TO_USE_IMPORT_ON_DEMAND">
<value>
<package name="java.awt" withSubpackages="false" static="false" />
<package name="mindustry" withSubpackages="false" static="true" />
<package name="javax.swing" withSubpackages="false" static="false" />
</value>
</option>
<option name="JD_ALIGN_PARAM_COMMENTS" value="false" />
<option name="JD_ALIGN_EXCEPTION_COMMENTS" value="false" />
<option name="JD_ADD_BLANK_AFTER_DESCRIPTION" value="false" />
<option name="JD_DO_NOT_WRAP_ONE_LINE_COMMENTS" value="true" />
<option name="JD_KEEP_EMPTY_PARAMETER" value="false" />
<option name="JD_KEEP_EMPTY_EXCEPTION" value="false" />
<option name="JD_KEEP_EMPTY_RETURN" value="false" />
</JavaCodeStyleSettings>
<Properties>
<option name="SPACES_AROUND_KEY_VALUE_DELIMITER" value="true" />
<option name="KEEP_BLANK_LINES" value="true" />
</Properties>
<codeStyleSettings language="Groovy">
<option name="SPACE_BEFORE_IF_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_WHILE_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_FOR_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_TRY_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_CATCH_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_SWITCH_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_SYNCHRONIZED_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_CLASS_LBRACE" value="false" />
<option name="SPACE_BEFORE_METHOD_LBRACE" value="false" />
<option name="SPACE_BEFORE_IF_LBRACE" value="false" />
<option name="SPACE_BEFORE_ELSE_LBRACE" value="false" />
<option name="SPACE_BEFORE_WHILE_LBRACE" value="false" />
<option name="SPACE_BEFORE_FOR_LBRACE" value="false" />
<option name="SPACE_BEFORE_DO_LBRACE" value="false" />
<option name="SPACE_BEFORE_SWITCH_LBRACE" value="false" />
<option name="SPACE_BEFORE_TRY_LBRACE" value="false" />
<option name="SPACE_BEFORE_CATCH_LBRACE" value="false" />
<option name="SPACE_BEFORE_FINALLY_LBRACE" value="false" />
<option name="SPACE_BEFORE_SYNCHRONIZED_LBRACE" value="false" />
<option name="SPACE_BEFORE_ELSE_KEYWORD" value="false" />
<option name="SPACE_BEFORE_WHILE_KEYWORD" value="false" />
<option name="SPACE_BEFORE_CATCH_KEYWORD" value="false" />
<option name="SPACE_BEFORE_FINALLY_KEYWORD" value="false" />
</codeStyleSettings>
<codeStyleSettings language="JAVA">
<option name="SPACE_AFTER_TYPE_CAST" value="false" />
<option name="SPACE_BEFORE_IF_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_WHILE_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_FOR_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_TRY_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_CATCH_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_SWITCH_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_SYNCHRONIZED_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_CLASS_LBRACE" value="false" />
<option name="SPACE_BEFORE_METHOD_LBRACE" value="false" />
<option name="SPACE_BEFORE_IF_LBRACE" value="false" />
<option name="SPACE_BEFORE_ELSE_LBRACE" value="false" />
<option name="SPACE_BEFORE_WHILE_LBRACE" value="false" />
<option name="SPACE_BEFORE_FOR_LBRACE" value="false" />
<option name="SPACE_BEFORE_DO_LBRACE" value="false" />
<option name="SPACE_BEFORE_SWITCH_LBRACE" value="false" />
<option name="SPACE_BEFORE_TRY_LBRACE" value="false" />
<option name="SPACE_BEFORE_CATCH_LBRACE" value="false" />
<option name="SPACE_BEFORE_FINALLY_LBRACE" value="false" />
<option name="SPACE_BEFORE_SYNCHRONIZED_LBRACE" value="false" />
<option name="SPACE_BEFORE_ELSE_KEYWORD" value="false" />
<option name="SPACE_BEFORE_WHILE_KEYWORD" value="false" />
<option name="SPACE_BEFORE_CATCH_KEYWORD" value="false" />
<option name="SPACE_BEFORE_FINALLY_KEYWORD" value="false" />
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="0" />
</indentOptions>
</codeStyleSettings>
</code_scheme>

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

@@ -0,0 +1,28 @@
name: Java CI
on: [push]
jobs:
buildJava8:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up JDK 8
uses: actions/setup-java@v1
with:
java-version: 8
- name: Run unit tests with gradle and Java 8
run: ./gradlew compileJava
buildJava14:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up JDK 14
uses: actions/setup-java@v1
with:
java-version: 14
- name: Run unit tests with gradle and Java 14
run: ./gradlew compileJava

32
.gitignore vendored
View File

@@ -4,34 +4,45 @@ logs/
/core/assets/bundles/output/ /core/assets/bundles/output/
/core/assets/.gifimages/ /core/assets/.gifimages/
/deploy/ /deploy/
/out/
/desktop/packr-out/ /desktop/packr-out/
/desktop/packr-export/ /desktop/packr-export/
/desktop/mindustry-saves/ /desktop/mindustry-saves/
/desktop/mindustry-maps/ /desktop/mindustry-maps/
/desktop/gifexport/ /desktop/gifexport/
/gifs/
/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/
/annotations/out/ /annotations/out/
/net/build/ /net/build/
/tools/build/ /tools/build/
/core/build/
/tests/build/ /tests/build/
/server/build/ /server/build/
changelog
saves/
/core/assets-raw/fontgen/out/
core/assets/saves/
/core/assets/saves/
steam_appid.txt
/test_files/ /test_files/
/annotations/build/
/android/assets/mindustry-maps/ /android/assets/mindustry-maps/
/android/assets/mindustry-saves/ /android/assets/mindustry-saves/
/core/assets/gifexport/ /core/assets/gifexport/
/annotations/src/main/resources/META-INF/services
/core/assets/version.properties /core/assets/version.properties
/core/assets/locales /core/assets/locales
/ios/src/io/anuke/mindustry/gen/ /ios/src/mindustry/gen/
/core/src/io/anuke/mindustry/gen/ /core/src/mindustry/gen/
ios/robovm.properties ios/robovm.properties
packr-out/ packr-out/
config/ config/
*.gif *.gif
/core/assets/basepartnames
version.properties version.properties
.attach_* .attach_*
@@ -46,15 +57,6 @@ crash-report-*
## Robovm ## Robovm
/ios/robovm-build/ /ios/robovm-build/
## GWT
/html/war/
/html/gwt-unitCache/
.apt_generated/
.gwt/
gwt-unitCache/
www-test/
.gwt-tmp/
## Android Studio and Intellij and Android in general ## Android Studio and Intellij and Android in general
/android/libs/armeabi/ /android/libs/armeabi/
/android/libs/armeabi-v7a/ /android/libs/armeabi-v7a/
@@ -77,9 +79,11 @@ com_crashlytics_export_strings.xml
/android/bin/ /android/bin/
/core/bin/ /core/bin/
/desktop/bin/ /desktop/bin/
/html/bin/
/ios/bin/ /ios/bin/
/ios-moe/bin/ /annotations/bin/
/server/bin/
/tests/bin/
/tools/bin/
*.tmp *.tmp
*.bak *.bak
*.swp *.swp

View File

@@ -1,28 +1,50 @@
jdk: jdk:
- openjdk8 - openjdk14
dist: xenial
android:
components:
- android-29
- build-tools-29.0.3
script: script:
- git clone --depth=1 --branch=master https://github.com/Anuken/MindustryBuilds ../MindustryBuilds
- cd ../MindustryBuilds
- echo ${TRAVIS_TAG}
- if [ -n "$TRAVIS_TAG" ]; then echo versionName=5-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 - 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}"
- "./gradlew core:javadoc"
- cd ../
- git clone --depth=1 https://github.com/MindustryGame/docs.git
- cp -a Mindustry/core/build/docs/javadoc/. docs/
- cd docs
- if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then git add .; git commit -m "Update ${TRAVIS_BUILD_NUMBER}"; git push https://Anuken:${GH_PUSH_TOKEN}@github.com/MindustryGame/docs; fi
- cd ../Mindustry
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 #- provider: script
script: bash update_wiki.sh #script: bash update_wiki.sh
on: # on:
repo: Anuken/Mindustry # repo: Anuken/Mindustry
tags: true # tags: true
env: env:
global: 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: 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=

73
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,73 @@
# Contributing
This is for code contributions. For translations, see [TRANSLATING](TRANSLATING.md).
## Basic Guidelines
#### Use an IDE.
Specifically, IntelliJ IDEA. Download the (free) Community Edition of it [here](https://www.jetbrains.com/idea/download/). Some people use other tools, like VS Code, but I would personally not recommend them for Java development.
#### Always test your changes.
Do not submit something without at least running the game to see if it compiles.
If you are submitting a new block, make sure it has a name and description, and that it works correctly in-game. If you are changing existing block mechanics, test them out first.
#### Do not make large changes before discussing them first.
If you are interested in adding a large mechanic/feature or changing large amounts of code, first contact me (Anuken) via [Discord](https://discord.gg/mindustry) (preferred method) or via e-mail (*anukendev@gmail.com*).
For most changes, this should not be necessary. I just want to know if you're doing something big so I can offer advice and/or make sure you're not wasting your time on it.
## Style Guidelines
#### Follow the formatting guidelines.
This means:
- No spaces around parentheses: `if(condition){`, `SomeType s = (SomeType)object`
- Same-line braces.
- 4 spaces indentation
- `camelCase`, **even for constants or enums**. Why? Because `SCREAMING_CASE` is ugly, annoying to type and does not achieve anything useful. Constants are *less* dangerous than variables, not more.
- No underscores for anything. (Yes, I know `Bindings` violates this principle, but that's for legacy reasons and really should be cleaned up some day)
- Do not use braceless `if/else` statements. `if(x) statement else statement2` should **never** be done. In very specific situations, having braceless if-statements on one line is allowed: `if(cond) return;` would be valid.
Import [this style file](.github/Mindustry-CodeStyle-IJ.xml) into IntelliJ to get correct formatting when developing Mindustry.
#### Do not use incompatible Java features (java.util.function, java.awt).
Android and RoboVM (iOS) do not support many of Java 8's features, such as the packages `java.util.function`, `java.util.stream` or `forEach` in collections. Do not use these in your code.
If you need to use functional interfaces, use the ones in `arc.func`, which are more or less the same with different naming schemes.
The same applies to any class *outside* of the standard `java.[n]io` / `java.net` / `java.util` packages: Most of them are not supported.
`java.awt` is one of these packages: do not use it, ever. It is not supported on any platform, even desktop - the entire package is removed during JRE minimization.
In general, if you are using IntelliJ, you should be warned about platform incompatiblities.
#### Use `arc` collections and classes when possible.
Instead of using `java.util.List`, `java.util.HashMap`, and other standard Java collections, use `Seq`, `ObjectMap` and other equivalents from `arc.struct`.
Why? Because that's what the rest of the codebase uses, and the standard collections have a lot of cruft and usability issues associated with them.
In the rare case that concurrency is required, you may use the standard Java classes for that purpose (e.g. `CopyOnWriteArrayList`).
What you'll usually need to change:
- `HashSet` -> `ObjectSet`
- `HashMap` -> `ObjectMap`
- `List` / `ArrayList` / `Stack` -> `Seq`
- `java.util.Queue` -> `arc.struct.Queue`
- *Many others*
#### Avoid boxed types (Integer, Boolean)
Never create variables or collections with boxed types `Seq<Integer>` or `ObjectMap<Integer, ...>`. Use the collections specialized for this task, e.g. `IntSeq` and `IntMap`.
#### Do not allocate anything if possible.
Never allocate `new` objects in the main loop. If you absolutely require new objects, use `Pools` to obtain and free object instances.
Otherwise, use the `Tmp` variables for things like vector/shape operations, or create `static` variables for re-use.
If using a list, make it a static variable and clear it every time it is used. Re-use as much as possible.
#### Avoid bloated code and unnecessary getters/setters.
This is situational, but in essence what it means is to avoid using any sort of getters and setters unless absolutely necessary. Public or protected fields should suffice for most things.
If something needs to be encapsulated in the future, IntelliJ can handle it with a few clicks.
#### Do not create methods unless necessary.
Unless a block of code is very large or used in more than 1-2 places, don't split it up into a separate method. Making unnecessary methods only creates confusion, and may slightly decrease performance.
## Other Notes
If you would like your name to appear in the game's credits, add it to the [list of contributors](https://github.com/Anuken/Mindustry/blob/master/core/assets/contributors) as part of your PR.

View File

@@ -1,4 +1,4 @@
![Logo](core/assets/sprites/logo.png) ![Logo](core/assets-raw/sprites/ui/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)
@@ -6,29 +6,44 @@
A sandbox tower defense game written in Java. A sandbox tower defense game written in Java.
_[Trello Board](https://trello.com/b/aE2tcUwF/mindustry-40-plans)_ _[Trello Board](https://trello.com/b/aE2tcUwF/mindustry-40-plans)_
_[Wiki](http://mindustry.wikia.com/wiki/Mindustry_Wiki)_ _[Wiki](https://mindustrygame.github.io/wiki)_
_[Javadoc](https://mindustrygame.github.io/docs/)_
### Contributing
See [CONTRIBUTING](CONTRIBUTING.md).
### Building ### Building
Bleeding-edge live builds are generated automatically for every commit. You can see them [here](https://jenkins.hellomouse.net/job/mindustry/). Bleeding-edge builds are generated automatically for every commit. You can see them [here](https://github.com/Anuken/MindustryBuilds/releases).
If you'd rather compile on your own, follow these instructions. If you'd rather compile on your own, follow these instructions.
First, make sure you have Java 8 and JDK 8 installed. Open a terminal in the root directory, `cd` to the Mindustry folder and run the following commands: First, make sure you have [JDK 14](https://adoptopenjdk.net/) installed. Open a terminal in the root directory, `cd` to the Mindustry folder and run the following commands:
#### Windows #### Windows
_Running:_ `gradlew desktop:run` _Running:_ `gradlew.bat desktop:run`
_Building:_ `gradlew desktop:dist` _Building:_ `gradlew.bat desktop:dist`
_Sprite Packing:_ `gradlew.bat tools:pack`
#### Linux/Mac OS #### Linux/Mac OS
_Running:_ `./gradlew desktop:run` _Running:_ `./gradlew desktop:run`
_Building:_ `./gradlew desktop:dist` _Building:_ `./gradlew desktop:dist`
_Sprite Packing:_ `./gradlew tools:pack`
#### Server #### Server
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. Set the `ANDROID_HOME` environment variable to point to your unzipped Android SDK directory.
3. Run `gradlew android:assembleDebug` (or `./gradlew` if on linux/mac). This will create an unsigned APK in `android/build/outputs/apk`.
To debug the application on a connected phone, run `gradlew android:installDebug android:run`.
##### 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 +51,22 @@ 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.
### Feature Requests
Post feature requests and feedback [here](https://github.com/Anuken/Mindustry-Suggestions/issues/new/choose).
### Downloads ### Downloads
<a href="https://anuke.itch.io/mindustry"><img src="https://static.itch.io/images/badge.svg" 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://upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Get_it_on_Google_play.svg/1280px-Get_it_on_Google_play.svg.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/)

26
SERVERLIST.md Normal file
View File

@@ -0,0 +1,26 @@
### Adding a server to the list
Mindustry now has a public list of servers that everyone can see and connect to.
This is done by letting clients `GET` a [JSON list of servers](https://github.com/Anuken/Mindustry/blob/master/servers.json) in this repository.
You may want to add your server to this list. The steps for getting this done are as follows:
1. **Ensure your server is properly moderated.** For the most part, this applies to survival servers, but PvP servers can be affected as well.
You'll need to either hire some moderators, or make use of (currently non-existent) anti-grief and anti-curse plugins.
*Consider enabling a rate limit:* `config messageRateLimit 2` will make it so that players can only send messages every 2 seconds, for example.
2. **Set an appropriate MOTD, name and description.** This is set with `config <name/desc/motd> <value>`. "Appropriate" means that:
- Your name or description must reflect the type of server you're hosting.
Since new players may be exposed to the server list early on, put in a phrase like "Co-op survival" or "PvP" so players know what they're getting into. Yes, this is also displayed in the server mode info text, but having extra info in the name doesn't hurt.
- Make sure players know where to refer to for server support. It should be fairly clear that the server owner is not me, but you.
- Try to be professional in your text; use common sense.
3. **Get some good maps.** *(optional, but highly recommended)*. Add some maps to your server and set the map rotation to custom-only. You can get maps from the Steam workshop by subscribing and exporting them; using the `#maps` channel on Discord is also an option.
4. **Check your server configuration.** *(optional)* I would recommend adding a message rate limit of 1 second (`config messageRateLimit 1`), and disabling connect/disconnect messages to reduce spam (`config showConnectMessages false`).
5. Finally, **submit a pull request** to add your server's IP to the list.
This should be fairly straightforward: Press the edit button on the [server file](https://github.com/Anuken/Mindustry/blob/master/servers.json), then add a JSON object with a single key, indicating your server address.
For example, if your server address is `google.com`, you would add a comma after the last entry and insert:
```json
{
"address": "google.com"
}
```
Then, press the *'submit pull request'* button and I'll take a look at your server. If I have any issues with it, I'll let you know in the PR comments.

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,
@@ -34,6 +31,10 @@ There are two ways to test the translation bundle:
1) Assuming you have the PC version downloaded, download your bundle file, name it `bundle.properties`, then place it in the same folder as the Mindustry desktop executable and run it. *You should get a popup message in-game confirming that you have loaded an external translation.* 1) Assuming you have the PC version downloaded, download your bundle file, name it `bundle.properties`, then place it in the same folder as the Mindustry desktop executable and run it. *You should get a popup message in-game confirming that you have loaded an external translation.*
2) For advanced users: simply download your fork of mindustry and compile/run the game. 2) For advanced users: simply download your fork of mindustry and compile/run the game.
#### Translating for stores (Steam, Google Play)
If you would like to translate the descriptions for Google Play or Steam, see the [Fastlane Metadata folder](https://github.com/Anuken/Mindustry/tree/master/fastlane/metadata) and submit a pull request for files there. On Google Play, you would create or edit the folder with the correct local code; for Steam, I have to update the translations manually, so just name the folder with the language name, and include the same files as the English folder does.
**And that's it.** **And that's it.**
*(...of course, that's never really it. Bother me on Discord when something inevitably goes wrong.)* *(...of course, that's never really it. Bother me on Discord when something inevitably goes wrong.)*

View File

@@ -3,6 +3,7 @@
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-feature android:name="android.hardware.type.pc" android:required="false" />
<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"/>
@@ -13,12 +14,13 @@
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:isGame="true" android:isGame="true"
android:usesCleartextTraffic="true"
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/ArcTheme" 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="mindustry.android.AndroidLauncher"
android:label="@string/app_name" android:label="@string/app_name"
android:screenOrientation="user" android:screenOrientation="user"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout"> android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout">
@@ -32,32 +34,9 @@
<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"/>
</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"/> <data android:scheme="file" android:host="*" android:pathPattern=".*\\.msav"/>
</intent-filter> </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>
</activity> </activity>
</application> </application>

View File

@@ -8,6 +8,8 @@ buildscript{
} }
dependencies{ dependencies{
//IMPORTANT NOTICE: any version of the plugin after 3.4.1 will break builds
//it appears abstract methods don't get desugared properly (if at all)
classpath 'com.android.tools.build:gradle:3.4.1' classpath 'com.android.tools.build:gradle:3.4.1'
} }
} }
@@ -19,26 +21,21 @@ 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 arcModule("backends:backend-android") implementation arcModule("backends:backend-android")
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi" implementation 'com.jakewharton.android.repackaged:dalvik-dx:9.0.0_r3'
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-arm64-v8a" natives "com.github.Anuken.Arc:natives-android:${getArcHash()}"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86" natives "com.github.Anuken.Arc:natives-freetype-android:${getArcHash()}"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86_64" natives "com.github.Anuken.Arc:natives-box2d-android:${getArcHash()}"
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi"
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi-v7a" //android dependencies magically disappear during compilation, thanks gradle!
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-arm64-v8a" if(new File(projectDir.parent, '../Arc').exists()) compileOnly fileTree(dir: '../../Arc/backends/backend-android/libs', include: ['*.jar'])
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86"
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86_64"
} }
task deploy(type: Copy){ task deploy(type: Copy){
@@ -46,12 +43,12 @@ task deploy(type: Copy){
from "build/outputs/apk/release/android-release.apk" from "build/outputs/apk/release/android-release.apk"
into "../deploy/" into "../deploy/"
rename("android-release.apk", appName + "-android-" + getVersionString() + ".apk") rename("android-release.apk", "${generateDeployName('android')}.apk")
} }
android{ android{
buildToolsVersion '28.0.3' buildToolsVersion '29.0.3'
compileSdkVersion 28 compileSdkVersion 29
sourceSets{ sourceSets{
main{ main{
manifest.srcFile 'AndroidManifest.xml' manifest.srcFile 'AndroidManifest.xml'
@@ -70,27 +67,21 @@ android{
} }
defaultConfig{ defaultConfig{
def vfile = file('../core/assets/version.properties') Properties props = loadVersionProps()
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
if(project.hasProperty("release")){
props['androidBuildCode'] = (vcode + 1).toString()
}
props.store(file('../core/assets/version.properties').newWriter(), null)
} }
compileOptions{ compileOptions{
@@ -108,7 +99,7 @@ android{
keyAlias RELEASE_KEY_ALIAS keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD keyPassword RELEASE_KEY_PASSWORD
}else{ }else{
println("No keystore info property found!") println("No keystore property found. Releases will be unsigned.")
} }
} }
} }
@@ -125,25 +116,11 @@ android{
// 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-v7a/").mkdirs()
file("libs/arm64-v8a/").mkdirs()
file("libs/x86_64/").mkdirs()
file("libs/x86/").mkdirs()
configurations.natives.files.each{ jar -> configurations.natives.files.each{ jar ->
def outputDir = null
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.jar")) outputDir = file("libs/armeabi")
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(outputDir != null){
copy{ copy{
from zipTree(jar) from zipTree(jar)
into outputDir into file("libs/")
include "*.so" include "**"
}
} }
} }
} }
@@ -167,5 +144,5 @@ task run(type: Exec){
} }
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/mindustry.android.AndroidLauncher'
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 87 KiB

View File

@@ -1,29 +0,0 @@
# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
-verbose
-verbose
-ignorewarnings
-keep class io.anuke.mindustry.game.Rules
-keep class io.anuke.mindustry.desktop.DesktopLauncher
-keepclasseswithmembers public class * {
public static void main(java.lang.String[]);
}

View File

@@ -1,13 +0,0 @@
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# 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
# Project target.
target=android-19

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

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,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<style name="GdxTheme" parent="android:Theme.Material.NoActionBar"> <style name="ArcTheme" parent="android:Theme.Material.NoActionBar">
<item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item> <item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item> <item name="android:windowAnimationStyle">@android:style/Animation</item>

View File

@@ -1,6 +1,6 @@
<resources> <resources>
<style name="GdxTheme" parent="android:Theme"> <style name="ArcTheme" parent="android:Theme">
<item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item> <item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item> <item name="android:windowAnimationStyle">@android:style/Animation</item>

View File

@@ -1,186 +0,0 @@
package io.anuke.mindustry;
import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings.Secure;
import android.telephony.TelephonyManager;
import io.anuke.arc.Core;
import io.anuke.arc.backends.android.surfaceview.AndroidApplication;
import io.anuke.arc.backends.android.surfaceview.AndroidApplicationConfiguration;
import io.anuke.arc.files.FileHandle;
import io.anuke.arc.function.Consumer;
import io.anuke.arc.function.Predicate;
import io.anuke.arc.scene.ui.layout.Unit;
import io.anuke.arc.util.Strings;
import io.anuke.arc.util.serialization.Base64Coder;
import io.anuke.mindustry.core.Platform;
import io.anuke.mindustry.game.Saves.SaveSlot;
import io.anuke.mindustry.io.SaveIO;
import io.anuke.mindustry.net.*;
import io.anuke.mindustry.ui.dialogs.FileChooser;
import java.io.*;
import java.util.ArrayList;
import static io.anuke.mindustry.Vars.*;
public class AndroidLauncher extends AndroidApplication{
public static final int PERMISSION_REQUEST_CODE = 1;
boolean doubleScaleTablets = true;
FileChooser chooser;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
config.useImmersiveMode = true;
config.depth = 0;
Platform.instance = new Platform(){
@Override
public void hide(){
moveTaskToBack(true);
}
@Override
public String getUUID(){
try{
String s = Secure.getString(getContext().getContentResolver(), Secure.ANDROID_ID);
int len = s.length();
byte[] data = new byte[len / 2];
for(int i = 0; i < len; i += 2){
data[i / 2] = (byte)((Character.digit(s.charAt(i), 16) << 4)
+ Character.digit(s.charAt(i + 1), 16));
}
String result = new String(Base64Coder.encode(data));
if(result.equals("AAAAAAAAAOA=")) throw new RuntimeException("Bad UUID.");
return result;
}catch(Exception e){
return super.getUUID();
}
}
@Override
public void shareFile(FileHandle file){
}
@Override
public void showFileChooser(String text, String content, Consumer<FileHandle> cons, boolean open, Predicate<String> filetype){
chooser = new FileChooser(text, file -> filetype.test(file.extension().toLowerCase()), open, cons);
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.M || (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED &&
checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)){
chooser.show();
chooser = null;
}else{
ArrayList<String> perms = new ArrayList<>();
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[0]), PERMISSION_REQUEST_CODE);
}
}
@Override
public void beginForceLandscape(){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
}
@Override
public void endForceLandscape(){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}
@Override
public boolean canDonate(){
return true;
}
};
if(doubleScaleTablets && isTablet(this.getContext())){
Unit.dp.addition = 0.5f;
}
config.hideStatusBar = true;
Net.setClientProvider(new ArcNetClient());
Net.setServerProvider(new ArcNetServer());
initialize(new Mindustry(), config);
checkFiles(getIntent());
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults){
if(requestCode == PERMISSION_REQUEST_CODE){
for(int i : grantResults){
if(i != PackageManager.PERMISSION_GRANTED) return;
}
if(chooser != null){
chooser.show();
}
}
}
private void checkFiles(Intent intent){
try{
Uri uri = intent.getData();
if(uri != null){
File myFile = null;
String scheme = uri.getScheme();
if(scheme.equals("file")){
String fileName = uri.getEncodedPath();
myFile = new File(fileName);
}else if(!scheme.equals("content")){
//error
return;
}
boolean save = uri.getPath().endsWith(saveExtension);
boolean map = uri.getPath().endsWith(mapExtension);
InputStream inStream;
if(myFile != null) inStream = new FileInputStream(myFile);
else inStream = getContentResolver().openInputStream(uri);
Core.app.post(() -> Core.app.post(() -> {
if(save){ //open save
System.out.println("Opening save.");
FileHandle file = Core.files.local("temp-save." + saveExtension);
file.write(inStream, false);
if(SaveIO.isSaveValid(file)){
try{
SaveSlot slot = control.saves.importSave(file);
ui.load.runLoadSave(slot);
}catch(IOException e){
ui.showError(Core.bundle.format("save.import.fail", Strings.parseException(e, true)));
}
}else{
ui.showError("$save.import.invalid");
}
}else if(map){ //open map
FileHandle file = Core.files.local("temp-map." + mapExtension);
file.write(inStream, false);
Core.app.post(() -> {
System.out.println("Opening map.");
if(!ui.editor.isShown()){
ui.editor.show();
}
ui.editor.beginEditMap(file);
});
}
}));
}
}catch(IOException e){
e.printStackTrace();
}
}
private boolean isTablet(Context context){
TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
return manager != null && manager.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE;
}
}

View File

@@ -0,0 +1,246 @@
package mindustry.android;
import android.*;
import android.app.*;
import android.content.*;
import android.content.pm.*;
import android.net.*;
import android.os.Build.*;
import android.os.*;
import android.provider.Settings.*;
import android.telephony.*;
import arc.*;
import arc.backend.android.*;
import arc.files.*;
import arc.func.*;
import arc.scene.ui.layout.*;
import arc.util.*;
import arc.util.serialization.*;
import mindustry.*;
import mindustry.game.Saves.*;
import mindustry.io.*;
import mindustry.net.*;
import mindustry.ui.dialogs.*;
import java.io.*;
import java.lang.System;
import java.lang.Thread.*;
import java.util.*;
import static mindustry.Vars.*;
public class AndroidLauncher extends AndroidApplication{
public static final int PERMISSION_REQUEST_CODE = 1;
boolean doubleScaleTablets = true;
FileChooser chooser;
Runnable permCallback;
@Override
protected void onCreate(Bundle savedInstanceState){
UncaughtExceptionHandler handler = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler((thread, error) -> {
CrashSender.log(error);
//try to forward exception to system handler
if(handler != null){
handler.uncaughtException(thread, error);
}else{
error.printStackTrace();
System.exit(1);
}
});
super.onCreate(savedInstanceState);
if(doubleScaleTablets && isTablet(this.getContext())){
Scl.setAddition(0.5f);
}
initialize(new ClientLauncher(){
@Override
public void hide(){
moveTaskToBack(true);
}
@Override
public rhino.Context getScriptContext(){
return AndroidRhinoContext.enter(getContext().getCacheDir());
}
@Override
public void shareFile(Fi file){
}
@Override
public void showFileChooser(boolean open, String extension, Cons<Fi> cons){
if(VERSION.SDK_INT >= VERSION_CODES.Q){
Intent intent = new Intent(open ? Intent.ACTION_OPEN_DOCUMENT : Intent.ACTION_CREATE_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType(extension.equals("zip") && !open ? "application/zip" : "*/*");
addResultListener(i -> startActivityForResult(intent, i), (code, in) -> {
if(code == Activity.RESULT_OK && in != null && in.getData() != null){
Uri uri = in.getData();
if(uri.getPath().contains("(invalid)")) return;
Core.app.post(() -> Core.app.post(() -> cons.get(new Fi(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 if(VERSION.SDK_INT >= VERSION_CODES.M && !(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED &&
checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)){
chooser = new FileChooser(open ? "@open" : "@save", file -> file.extension().equalsIgnoreCase(extension), open, file -> {
if(!open){
cons.get(file.parent().child(file.nameWithoutExtension() + "." + extension));
}else{
cons.get(file);
}
});
ArrayList<String> perms = new ArrayList<>();
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[0]), PERMISSION_REQUEST_CODE);
}else{
super.showFileChooser(open, extension, cons);
}
}
@Override
public void beginForceLandscape(){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
}
@Override
public void endForceLandscape(){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER);
}
}, new AndroidApplicationConfiguration(){{
useImmersiveMode = true;
hideStatusBar = true;
stencil = 8;
}});
checkFiles(getIntent());
//new external folder
Fi data = Core.files.absolute(getContext().getExternalFilesDir(null).getAbsolutePath());
Core.settings.setDataDirectory(data);
//move to internal storage if there's no file indicating that it moved
if(!Core.files.local("files_moved").exists()){
Log.info("Moving files to external storage...");
try{
//current local storage folder
Fi src = Core.files.absolute(Core.files.getLocalStoragePath());
for(Fi fi : src.list()){
fi.copyTo(data);
}
//create marker
Core.files.local("files_moved").writeString("files moved to " + data);
Core.files.local("files_moved_103").writeString("files moved again");
Log.info("Files moved.");
}catch(Throwable t){
Log.err("Failed to move files!");
t.printStackTrace();
}
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults){
if(requestCode == PERMISSION_REQUEST_CODE){
for(int i : grantResults){
if(i != PackageManager.PERMISSION_GRANTED) return;
}
if(chooser != null){
Core.app.post(chooser::show);
}
if(permCallback != null){
Core.app.post(permCallback);
permCallback = null;
}
}
}
private void checkFiles(Intent intent){
try{
Uri uri = intent.getData();
if(uri != null){
File myFile = null;
String scheme = uri.getScheme();
if(scheme.equals("file")){
String fileName = uri.getEncodedPath();
myFile = new File(fileName);
}else if(!scheme.equals("content")){
//error
return;
}
boolean save = uri.getPath().endsWith(saveExtension);
boolean map = uri.getPath().endsWith(mapExtension);
InputStream inStream;
if(myFile != null) inStream = new FileInputStream(myFile);
else inStream = getContentResolver().openInputStream(uri);
Core.app.post(() -> Core.app.post(() -> {
if(save){ //open save
System.out.println("Opening save.");
Fi file = Core.files.local("temp-save." + saveExtension);
file.write(inStream, false);
if(SaveIO.isSaveValid(file)){
try{
SaveSlot slot = control.saves.importSave(file);
ui.load.runLoadSave(slot);
}catch(IOException e){
ui.showException("@save.import.fail", e);
}
}else{
ui.showErrorMessage("@save.import.invalid");
}
}else if(map){ //open map
Fi file = Core.files.local("temp-map." + mapExtension);
file.write(inStream, false);
Core.app.post(() -> {
System.out.println("Opening map.");
if(!ui.editor.isShown()){
ui.editor.show();
}
ui.editor.beginEditMap(file);
});
}
}));
}
}catch(IOException e){
e.printStackTrace();
}
}
private boolean isTablet(Context context){
TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
return manager != null && manager.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE;
}
}

View File

@@ -0,0 +1,224 @@
package mindustry.android;
import android.annotation.*;
import android.os.*;
import android.os.Build.*;
import arc.*;
import arc.backend.android.*;
import com.android.dex.*;
import com.android.dx.cf.direct.*;
import com.android.dx.command.dexer.*;
import com.android.dx.dex.*;
import com.android.dx.dex.cf.*;
import com.android.dx.dex.file.DexFile;
import com.android.dx.merge.*;
import dalvik.system.*;
import rhino.*;
import java.io.*;
import java.nio.*;
/**
* Helps to prepare a Rhino Context for usage on android.
* @author F43nd1r
* @since 11.01.2016
*/
public class AndroidRhinoContext{
/**
* call this instead of {@link Context#enter()}
* @return a context prepared for android
*/
public static Context enter(File cacheDirectory){
if(!SecurityController.hasGlobal())
SecurityController.initGlobal(new SecurityController(){
@Override
public GeneratedClassLoader createClassLoader(ClassLoader classLoader, Object o){
return Context.getCurrentContext().createClassLoader(classLoader);
}
@Override
public Object getDynamicSecurityDomain(Object o){
return null;
}
@Override
public Object callWithDomain(Object o, Context context, Callable callable, Scriptable scriptable, Scriptable scriptable1, Object[] objects){
return null;
}
});
AndroidContextFactory factory;
if(!ContextFactory.hasExplicitGlobal()){
factory = new AndroidContextFactory(cacheDirectory);
ContextFactory.getGlobalSetter().setContextFactoryGlobal(factory);
}else if(!(ContextFactory.getGlobal() instanceof AndroidContextFactory)){
throw new IllegalStateException("Cannot initialize factory for Android Rhino: There is already another factory");
}else{
factory = (AndroidContextFactory)ContextFactory.getGlobal();
}
return factory.enterContext();
}
/**
* Ensures that the classLoader used is correct
* @author F43nd1r
* @since 11.01.2016
*/
public static class AndroidContextFactory extends ContextFactory{
private final File cacheDirectory;
/**
* Create a new factory. It will cache generated code in the given directory
* @param cacheDirectory the cache directory
*/
public AndroidContextFactory(File cacheDirectory){
this.cacheDirectory = cacheDirectory;
initApplicationClassLoader(createClassLoader(AndroidContextFactory.class.getClassLoader()));
}
/**
* Create a ClassLoader which is able to deal with bytecode
* @param parent the parent of the create classloader
* @return a new ClassLoader
*/
@Override
public BaseAndroidClassLoader createClassLoader(ClassLoader parent){
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
return new InMemoryAndroidClassLoader(parent);
}
return new FileAndroidClassLoader(parent, cacheDirectory);
}
@Override
protected void onContextReleased(final Context cx){
super.onContextReleased(cx);
((BaseAndroidClassLoader)cx.getApplicationClassLoader()).reset();
}
}
/**
* Compiles java bytecode to dex bytecode and loads it
* @author F43nd1r
* @since 11.01.2016
*/
abstract static class BaseAndroidClassLoader extends ClassLoader implements GeneratedClassLoader{
public BaseAndroidClassLoader(ClassLoader parent){
super(parent);
}
@Override
public Class<?> defineClass(String name, byte[] data){
try{
DexOptions dexOptions = new DexOptions();
DexFile dexFile = new DexFile(dexOptions);
DirectClassFile classFile = new DirectClassFile(data, name.replace('.', '/') + ".class", true);
classFile.setAttributeFactory(StdAttributeFactory.THE_ONE);
classFile.getMagic();
DxContext context = new DxContext();
dexFile.add(CfTranslator.translate(context, classFile, null, new CfOptions(), dexOptions, dexFile));
Dex dex = new Dex(dexFile.toDex(null, false));
Dex oldDex = getLastDex();
if(oldDex != null){
dex = new DexMerger(new Dex[]{dex, oldDex}, CollisionPolicy.KEEP_FIRST, context).merge();
}
return loadClass(dex, name);
}catch(IOException | ClassNotFoundException e){
throw new RuntimeException("Failed to define class", e);
}
}
protected abstract Class<?> loadClass(Dex dex, String name) throws ClassNotFoundException;
protected abstract Dex getLastDex();
protected abstract void reset();
@Override
public void linkClass(Class<?> aClass){}
@Override
public Class<?> loadClass(String name, boolean resolve)
throws ClassNotFoundException{
Class<?> loadedClass = findLoadedClass(name);
if(loadedClass == null){
Dex dex = getLastDex();
if(dex != null){
loadedClass = loadClass(dex, name);
}
if(loadedClass == null){
loadedClass = getParent().loadClass(name);
}
}
return loadedClass;
}
}
static class FileAndroidClassLoader extends BaseAndroidClassLoader{
private static int instanceCounter = 0;
private final File dexFile;
public FileAndroidClassLoader(ClassLoader parent, File cacheDir){
super(parent);
int id = instanceCounter++;
dexFile = new File(cacheDir, id + ".dex");
cacheDir.mkdirs();
reset();
}
@Override
protected Class<?> loadClass(Dex dex, String name) throws ClassNotFoundException{
try{
dex.writeTo(dexFile);
}catch(IOException e){
e.printStackTrace();
}
android.content.Context context = ((AndroidApplication) Core.app).getContext();
return new DexClassLoader(dexFile.getPath(), VERSION.SDK_INT >= 21 ? context.getCodeCacheDir().getPath() : context.getCacheDir().getAbsolutePath(), null, getParent()).loadClass(name);
}
@Override
protected Dex getLastDex(){
if(dexFile.exists()){
try{
return new Dex(dexFile);
}catch(IOException e){
e.printStackTrace();
}
}
return null;
}
@Override
protected void reset(){
dexFile.delete();
}
}
@TargetApi(Build.VERSION_CODES.O)
static class InMemoryAndroidClassLoader extends BaseAndroidClassLoader{
private Dex last;
public InMemoryAndroidClassLoader(ClassLoader parent){
super(parent);
}
@Override
protected Class<?> loadClass(Dex dex, String name) throws ClassNotFoundException{
last = dex;
return new InMemoryDexClassLoader(ByteBuffer.wrap(dex.getBytes()), getParent()).loadClass(name);
}
@Override
protected Dex getLastDex(){
return last;
}
@Override
protected void reset(){
last = null;
}
}
}

View File

@@ -1,6 +1,2 @@
apply plugin: "java"
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,150 +0,0 @@
package io.anuke.annotations;
import java.lang.annotation.*;
public class Annotations{
/** 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})
@Retention(RetentionPolicy.SOURCE)
public @interface NonNull{
}
/** Marks a class as serializable. */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface Serialize{
}
/** Marks a class as a special value type struct. Class name must end in 'Struct'. */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface Struct{
}
/** Marks a field of a struct. Optional. */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.SOURCE)
public @interface StructField{
/** Size of a struct field in bits. Not valid on booleans or floating point numbers. */
int value();
}
public enum PacketPriority{
/** Gets put in a queue and processed if not connected. */
normal,
/** Gets handled immediately, regardless of connection status. */
high,
/** Does not get handled unless client is connected. */
low
}
/** A set of two booleans, one specifying server and one specifying client. */
public enum Loc{
/** Method can only be invoked on the client from the server. */
server(true, false),
/** Method can only be invoked on the server from the client. */
client(false, true),
/** Method can be invoked from anywhere */
both(true, true),
/** Neither server nor client. */
none(false, false);
/** If true, this method can be invoked ON clients FROM servers. */
public final boolean isServer;
/** If true, this method can be invoked ON servers FROM clients. */
public final boolean isClient;
Loc(boolean server, boolean client){
this.isServer = server;
this.isClient = client;
}
}
public enum Variant{
/** Method can only be invoked targeting one player. */
one(true, false),
/** Method can only be invoked targeting all players. */
all(false, true),
/** Method targets both one player and all players. */
both(true, true);
public final boolean isOne, isAll;
Variant(boolean isOne, boolean isAll){
this.isOne = isOne;
this.isAll = isAll;
}
}
/** Marks a method as invokable remotely across a server/client connection. */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Remote{
/** Specifies the locations from which this method can be invoked. */
Loc targets() default Loc.server;
/** Specifies which methods are generated. Only affects server-to-client methods. */
Variant variants() default Variant.all;
/** The local locations where this method is called locally, when invoked. */
Loc called() default Loc.none;
/** Whether to forward this packet to all other clients upon recieval. Client only. */
boolean forward() default false;
/**
* Whether the packet for this method is sent with UDP instead of TCP.
* UDP is faster, but is prone to packet loss and duplication.
*/
boolean unreliable() default false;
/** Priority of this event. */
PacketPriority priority() default PacketPriority.normal;
}
/**
* Specifies that this method will be used to write classes of the type returned by {@link #value()}.<br>
* This method must return void and have two parameters, the first being of type {@link java.nio.ByteBuffer} and the second
* being the type returned by {@link #value()}.
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface WriteClass{
Class<?> value();
}
/**
* Specifies that this method will be used to read classes of the type returned by {@link #value()}. <br>
* This method must return the type returned by {@link #value()},
* and have one parameter, being of type {@link java.nio.ByteBuffer}.
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface ReadClass{
Class<?> value();
}
}

View File

@@ -1,65 +0,0 @@
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,98 +0,0 @@
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;
}
public boolean checkScope (Scope members) {
for (Symbol s : members.getElements()) {
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,90 +0,0 @@
package io.anuke.annotations;
import io.anuke.annotations.Annotations.ReadClass;
import io.anuke.annotations.Annotations.WriteClass;
import javax.annotation.processing.RoundEnvironment;
import javax.lang.model.element.Element;
import javax.lang.model.type.MirroredTypeException;
import javax.tools.Diagnostic.Kind;
import java.util.HashMap;
import java.util.Set;
/**
* This class finds reader and writer methods annotated by the {@link io.anuke.annotations.Annotations.WriteClass}
* and {@link io.anuke.annotations.Annotations.ReadClass} annotations.
*/
public class IOFinder{
/**
* Finds all class serializers for all types and returns them. Logs errors when necessary.
* Maps fully qualified class names to their serializers.
*/
public HashMap<String, ClassSerializer> findSerializers(RoundEnvironment env){
HashMap<String, ClassSerializer> result = new HashMap<>();
//get methods with the types
Set<? extends Element> writers = env.getElementsAnnotatedWith(WriteClass.class);
Set<? extends Element> readers = env.getElementsAnnotatedWith(ReadClass.class);
//look for writers first
for(Element writer : writers){
WriteClass writean = writer.getAnnotation(WriteClass.class);
String typeName = getValue(writean);
//make sure there's only one read method
if(readers.stream().filter(elem -> getValue(elem.getAnnotation(ReadClass.class)).equals(typeName)).count() > 1){
Utils.messager.printMessage(Kind.ERROR, "Multiple writer methods for type '" + typeName + "'", writer);
}
//make sure there's only one write method
long count = readers.stream().filter(elem -> getValue(elem.getAnnotation(ReadClass.class)).equals(typeName)).count();
if(count == 0){
Utils.messager.printMessage(Kind.ERROR, "Writer method does not have an accompanying reader: ", writer);
}else if(count > 1){
Utils.messager.printMessage(Kind.ERROR, "Writer method has multiple reader for type: ", writer);
}
Element reader = readers.stream().filter(elem -> getValue(elem.getAnnotation(ReadClass.class)).equals(typeName)).findFirst().get();
//add to result list
result.put(typeName, new ClassSerializer(Utils.getMethodName(reader), Utils.getMethodName(writer), typeName));
}
return result;
}
private String getValue(WriteClass write){
try{
Class<?> type = write.value();
return type.getName();
}catch(MirroredTypeException e){
return e.getTypeMirror().toString();
}
}
private String getValue(ReadClass read){
try{
Class<?> type = read.value();
return type.getName();
}catch(MirroredTypeException e){
return e.getTypeMirror().toString();
}
}
/** Information about read/write methods for a specific class type. */
public static class ClassSerializer{
/** Fully qualified method name of the reader. */
public final String readMethod;
/** Fully qualified method name of the writer. */
public final String writeMethod;
/** Fully qualified class type name. */
public final String classType;
public ClassSerializer(String readMethod, String writeMethod, String classType){
this.readMethod = readMethod;
this.writeMethod = writeMethod;
this.classType = classType;
}
}
}

View File

@@ -1,154 +0,0 @@
package io.anuke.annotations;
import com.squareup.javapoet.*;
import io.anuke.annotations.Annotations.Loc;
import io.anuke.annotations.Annotations.Remote;
import io.anuke.annotations.IOFinder.ClassSerializer;
import javax.annotation.processing.*;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.*;
import javax.tools.Diagnostic.Kind;
import java.util.*;
import java.util.stream.Collectors;
/** The annotation processor for generating remote method call code. */
@SupportedSourceVersion(SourceVersion.RELEASE_8)
@SupportedAnnotationTypes({
"io.anuke.annotations.Annotations.Remote",
"io.anuke.annotations.Annotations.WriteClass",
"io.anuke.annotations.Annotations.ReadClass",
})
public class RemoteMethodAnnotationProcessor extends AbstractProcessor{
/** Maximum size of each event packet. */
public static final int maxPacketSize = 4096;
/** Warning on top of each autogenerated file. */
public static final String autogenWarning = "Autogenerated file. Do not modify!\n";
/** Name of the base package to put all the generated classes. */
private static final String packageName = "io.anuke.mindustry.gen";
/** Name of class that handles reading and invoking packets on the server. */
private static final String readServerName = "RemoteReadServer";
/** Name of class that handles reading and invoking packets on the client. */
private static final String readClientName = "RemoteReadClient";
/** Simple class name of generated class name. */
private static final String callLocation = "Call";
/** Processing round number. */
private int round;
//class serializers
private HashMap<String, ClassSerializer> serializers;
//all elements with the Remote annotation
private Set<? extends Element> elements;
//map of all classes to generate by name
private HashMap<String, ClassEntry> classMap;
//list of all method entries
private ArrayList<MethodEntry> methods;
//list of all method entries
private ArrayList<ClassEntry> classes;
@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 > 1) return false; //only process 2 rounds
round++;
try{
//round 1: find all annotations, generate *writers*
if(round == 1){
//get serializers
serializers = new IOFinder().findSerializers(roundEnv);
//last method ID used
int lastMethodID = 0;
//find all elements with the Remote annotation
elements = roundEnv.getElementsAnnotatedWith(Remote.class);
//map of all classes to generate by name
classMap = new HashMap<>();
//list of all method entries
methods = new ArrayList<>();
//list of all method entries
classes = new ArrayList<>();
List<Element> orderedElements = new ArrayList<>(elements);
orderedElements.sort(Comparator.comparing(Object::toString));
//create methods
for(Element element : orderedElements){
Remote annotation = element.getAnnotation(Remote.class);
//check for static
if(!element.getModifiers().contains(Modifier.STATIC) || !element.getModifiers().contains(Modifier.PUBLIC)){
Utils.messager.printMessage(Kind.ERROR, "All @Remote methods must be public and static: ", element);
}
//can't generate none methods
if(annotation.targets() == Loc.none){
Utils.messager.printMessage(Kind.ERROR, "A @Remote method's targets() cannot be equal to 'none':", element);
}
//get and create class entry if needed
if(!classMap.containsKey(callLocation)){
ClassEntry clas = new ClassEntry(callLocation);
classMap.put(callLocation, clas);
classes.add(clas);
}
ClassEntry entry = classMap.get(callLocation);
//create and add entry
MethodEntry method = new MethodEntry(entry.name, Utils.getMethodName(element), annotation.targets(), annotation.variants(),
annotation.called(), annotation.unreliable(), annotation.forward(), lastMethodID++, (ExecutableElement)element, annotation.priority());
entry.methods.add(method);
methods.add(method);
}
//create read/write generators
RemoteWriteGenerator writegen = new RemoteWriteGenerator(serializers);
//generate the methods to invoke (write)
writegen.generateFor(classes, packageName);
return true;
}else if(round == 2){ //round 2: generate all *readers*
RemoteReadGenerator readgen = new RemoteReadGenerator(serializers);
//generate server readers
readgen.generateFor(methods.stream().filter(method -> method.where.isClient).collect(Collectors.toList()), readServerName, packageName, true);
//generate client readers
readgen.generateFor(methods.stream().filter(method -> method.where.isServer).collect(Collectors.toList()), readClientName, packageName, false);
//create class for storing unique method hash
TypeSpec.Builder hashBuilder = TypeSpec.classBuilder("MethodHash").addModifiers(Modifier.PUBLIC);
hashBuilder.addJavadoc(autogenWarning);
hashBuilder.addField(FieldSpec.builder(int.class, "HASH", Modifier.STATIC, Modifier.PUBLIC, Modifier.FINAL)
.initializer("$1L", Objects.hash(methods)).build());
//build and write resulting hash class
TypeSpec spec = hashBuilder.build();
JavaFile.builder(packageName, spec).build().writeTo(Utils.filer);
return true;
}
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
return false;
}
}

View File

@@ -1,128 +0,0 @@
package io.anuke.annotations;
import com.squareup.javapoet.*;
import io.anuke.annotations.Annotations.Serialize;
import javax.annotation.processing.*;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.*;
import javax.lang.model.util.ElementFilter;
import java.io.*;
import java.lang.reflect.Field;
import java.util.List;
import java.util.Set;
@SupportedSourceVersion(SourceVersion.RELEASE_8)
@SupportedAnnotationTypes("io.anuke.annotations.Annotations.Serialize")
public class SerializeAnnotationProcessor extends AbstractProcessor{
/** Target class name. */
private static final String className = "Serialization";
/** Name of the base package to put all the generated classes. */
private static final String packageName = "io.anuke.mindustry.gen";
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{
Set<TypeElement> elements = ElementFilter.typesIn(roundEnv.getElementsAnnotatedWith(Serialize.class));
TypeSpec.Builder classBuilder = TypeSpec.classBuilder(className).addModifiers(Modifier.PUBLIC);
classBuilder.addAnnotation(AnnotationSpec.builder(SuppressWarnings.class).addMember("value", "\"unchecked\"").build());
classBuilder.addJavadoc(RemoteMethodAnnotationProcessor.autogenWarning);
MethodSpec.Builder method = MethodSpec.methodBuilder("init").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
for(TypeElement elem : elements){
TypeName type = TypeName.get(elem.asType());
String simpleTypeName = type.toString().substring(type.toString().lastIndexOf('.') + 1);
TypeSpec.Builder serializer = TypeSpec.anonymousClassBuilder("")
.addSuperinterface(ParameterizedTypeName.get(
ClassName.bestGuess("io.anuke.arc.Settings.TypeSerializer"), type));
MethodSpec.Builder writeMethod = MethodSpec.methodBuilder("write")
.returns(void.class)
.addParameter(DataOutput.class, "stream")
.addParameter(type, "object")
.addException(IOException.class)
.addModifiers(Modifier.PUBLIC);
MethodSpec.Builder readMethod = MethodSpec.methodBuilder("read")
.returns(type)
.addParameter(DataInput.class, "stream")
.addException(IOException.class)
.addModifiers(Modifier.PUBLIC);
readMethod.addStatement("$L object = new $L()", type, type);
List<VariableElement> fields = ElementFilter.fieldsIn(Utils.elementUtils.getAllMembers(elem));
for(VariableElement field : fields){
if(field.getModifiers().contains(Modifier.STATIC) || field.getModifiers().contains(Modifier.TRANSIENT) || field.getModifiers().contains(Modifier.PRIVATE))
continue;
String name = field.getSimpleName().toString();
String typeName = Utils.typeUtils.erasure(field.asType()).toString().replace('$', '.');
String capName = Character.toUpperCase(typeName.charAt(0)) + typeName.substring(1);
if(field.asType().getKind().isPrimitive()){
writeMethod.addStatement("stream.write" + capName + "(object." + name + ")");
readMethod.addStatement("object." + name + "= stream.read" + capName + "()");
}else{
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("return object");
serializer.addMethod(writeMethod.build());
serializer.addMethod(readMethod.build());
method.addStatement("io.anuke.arc.Core.settings.setSerializer($N, $L)", Utils.elementUtils.getBinaryName(elem).toString().replace('$', '.') + ".class", serializer.build());
name(writeMethod, "write" + simpleTypeName);
name(readMethod, "read" + simpleTypeName);
writeMethod.addModifiers(Modifier.STATIC);
readMethod.addModifiers(Modifier.STATIC);
classBuilder.addMethod(writeMethod.build());
classBuilder.addMethod(readMethod.build());
}
classBuilder.addMethod(method.build());
//write result
JavaFile.builder(packageName, classBuilder.build()).build().writeTo(Utils.filer);
return true;
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
}
static void name(MethodSpec.Builder builder, String name){
try{
Field field = builder.getClass().getDeclaredField("name");
field.setAccessible(true);
field.set(builder, name);
}catch(Exception e){
throw new RuntimeException(e);
}
}
}

View File

@@ -1,226 +0,0 @@
package io.anuke.annotations;
import com.squareup.javapoet.*;
import io.anuke.annotations.Annotations.Struct;
import io.anuke.annotations.Annotations.StructField;
import javax.annotation.processing.*;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.*;
import javax.lang.model.type.TypeKind;
import javax.lang.model.util.ElementFilter;
import javax.tools.Diagnostic.Kind;
import java.util.List;
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.
*/
@SupportedSourceVersion(SourceVersion.RELEASE_8)
@SupportedAnnotationTypes({
"io.anuke.annotations.Annotations.Struct"
})
public class StructAnnotationProcessor extends AbstractProcessor{
/** Name of the base package to put all the generated classes. */
private static final String packageName = "io.anuke.mindustry.gen";
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{
Set<TypeElement> elements = ElementFilter.typesIn(roundEnv.getElementsAnnotatedWith(Struct.class));
for(TypeElement elem : elements){
if(!elem.getSimpleName().toString().endsWith("Struct")){
Utils.messager.printMessage(Kind.ERROR, "All classes annotated with @Struct must have their class names end in 'Struct'.", elem);
continue;
}
String structName = elem.getSimpleName().toString().substring(0, elem.getSimpleName().toString().length() - "Struct".length());
String structParam = structName.toLowerCase();
TypeSpec.Builder classBuilder = TypeSpec.classBuilder(structName)
.addModifiers(Modifier.FINAL, Modifier.PUBLIC);
try{
List<VariableElement> variables = ElementFilter.fieldsIn(elem.getEnclosedElements());
int structSize = variables.stream().mapToInt(StructAnnotationProcessor::varSize).sum();
int structTotalSize = (structSize <= 8 ? 8 : structSize <= 16 ? 16 : structSize <= 32 ? 32 : 64);
if(variables.size() == 0){
Utils.messager.printMessage(Kind.ERROR, "making a struct with no fields is utterly pointles.", elem);
continue;
}
//obtain type which will be stored
Class<?> structType = typeForSize(structSize);
//[constructor] get(fields...) : structType
MethodSpec.Builder constructor = MethodSpec.methodBuilder("get")
.addModifiers(Modifier.STATIC, Modifier.PUBLIC)
.returns(structType);
StringBuilder cons = new StringBuilder();
StringBuilder doc = new StringBuilder();
doc.append("Bits used: ").append(structSize).append(" / ").append(structTotalSize).append("\n");
int offset = 0;
for(VariableElement var : variables){
int size = varSize(var);
TypeName varType = TypeName.get(var.asType());
String varName = var.getSimpleName().toString();
//add val param to constructor
constructor.addParameter(varType, varName);
//[get] field(structType) : fieldType
MethodSpec.Builder getter = MethodSpec.methodBuilder(var.getSimpleName().toString())
.addModifiers(Modifier.STATIC, Modifier.PUBLIC)
.returns(varType)
.addParameter(structType, structParam);
//[set] field(structType, fieldType) : structType
MethodSpec.Builder setter = MethodSpec.methodBuilder(var.getSimpleName().toString())
.addModifiers(Modifier.STATIC, Modifier.PUBLIC)
.returns(structType)
.addParameter(structType, structParam).addParameter(varType, "value");
//[getter]
if(varType == TypeName.BOOLEAN){
//bools: single bit, is simplified
getter.addStatement("return ($L & (1L << $L)) != 0", structParam, offset);
}else if(varType == TypeName.FLOAT){
//floats: need conversion
getter.addStatement("return Float.intBitsToFloat((int)(($L >>> $L) & $L))", structParam, offset, bitString(size, structTotalSize));
}else{
//bytes, shorts, chars, ints
getter.addStatement("return ($T)(($L >>> $L) & $L)", varType, structParam, offset, bitString(size, structTotalSize));
}
//[setter] + [constructor building]
if(varType == TypeName.BOOLEAN){
cons.append(" | (").append(varName).append(" ? ").append("1L << ").append(offset).append("L : 0)");
//bools: single bit, needs special case to clear things
setter.beginControlFlow("if(value)");
setter.addStatement("return ($T)(($L & ~(1L << $LL)))", structType, structParam, offset);
setter.nextControlFlow("else");
setter.addStatement("return ($T)(($L & ~(1L << $LL)) | (1L << $LL))", structType, structParam, offset, offset);
setter.endControlFlow();
}else if(varType == TypeName.FLOAT){
cons.append(" | (").append("(").append(structType).append(")").append("Float.floatToIntBits(").append(varName).append(") << ").append(offset).append("L)");
//floats: need conversion
setter.addStatement("return ($T)(($L & $L) | (($T)Float.floatToIntBits(value) << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset);
}else{
cons.append(" | (((").append(structType).append(")").append(varName).append(" << ").append(offset).append("L)").append(" & ").append(bitString(offset, size, structTotalSize)).append(")");
//bytes, shorts, chars, ints
setter.addStatement("return ($T)(($L & $L) | (($T)value << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset);
}
doc.append("<br> ").append(varName).append(" [").append(offset).append("..").append(size + offset).append("]\n");
//add finished methods
classBuilder.addMethod(getter.build());
classBuilder.addMethod(setter.build());
offset += size;
}
classBuilder.addJavadoc(doc.toString());
//add constructor final statement + add to class and build
constructor.addStatement("return ($T)($L)", structType, cons.toString().substring(3));
classBuilder.addMethod(constructor.build());
JavaFile.builder(packageName, classBuilder.build()).build().writeTo(Utils.filer);
}catch(IllegalArgumentException e){
e.printStackTrace();
Utils.messager.printMessage(Kind.ERROR, e.getMessage(), elem);
}
}
return true;
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
}
static String bitString(int offset, int size, int totalSize){
StringBuilder builder = new StringBuilder();
for(int i = 0; i < offset; i++) builder.append('0');
for(int i = 0; i < size; i++) builder.append('1');
for(int i = 0; i < totalSize - size - offset; i++) builder.append('0');
return "0b" + builder.reverse().toString() + "L";
}
static String bitString(int size, int totalSize){
StringBuilder builder = new StringBuilder();
for(int i = 0; i < size; i++) builder.append('1');
for(int i = 0; i < totalSize - size; i++) builder.append('0');
return "0b" + builder.reverse().toString() + "L";
}
static int varSize(VariableElement var) throws IllegalArgumentException{
if(!var.asType().getKind().isPrimitive()){
throw new IllegalArgumentException("All struct fields must be primitives: " + var);
}
StructField an = var.getAnnotation(StructField.class);
if(var.asType().getKind() == TypeKind.BOOLEAN && an != null && an.value() != 1){
throw new IllegalArgumentException("Booleans can only be one bit long... why would you do this?");
}
if(var.asType().getKind() == TypeKind.FLOAT && an != null && an.value() != 32){
throw new IllegalArgumentException("Float size can't be changed. Very sad.");
}
return an == null ? typeSize(var.asType().getKind()) : an.value();
}
static Class<?> typeForSize(int size) throws IllegalArgumentException{
if(size <= 8){
return byte.class;
}else if(size <= 16){
return short.class;
}else if(size <= 32){
return int.class;
}else if(size <= 64){
return long.class;
}
throw new IllegalArgumentException("Too many fields, must fit in 64 bits. Curent size: " + size);
}
/** returns a type's element size in bits. */
static int typeSize(TypeKind kind) throws IllegalArgumentException{
switch(kind){
case BOOLEAN:
return 1;
case BYTE:
return 8;
case SHORT:
return 16;
case FLOAT:
case CHAR:
case INT:
return 32;
default:
throw new IllegalArgumentException("Invalid type kind: " + kind + ". Note that doubles and longs are not supported.");
}
}
}

View File

@@ -1,24 +0,0 @@
package io.anuke.annotations;
import javax.annotation.processing.Filer;
import javax.annotation.processing.Messager;
import javax.lang.model.element.Element;
import javax.lang.model.element.TypeElement;
import javax.lang.model.util.Elements;
import javax.lang.model.util.Types;
public class Utils{
public static Types typeUtils;
public static Elements elementUtils;
public static Filer filer;
public static Messager messager;
public static String getMethodName(Element element){
return ((TypeElement)element.getEnclosingElement()).getQualifiedName().toString() + "." + element.getSimpleName();
}
public static boolean isPrimitive(String type){
return type.equals("boolean") || type.equals("byte") || type.equals("short") || type.equals("int")
|| type.equals("long") || type.equals("float") || type.equals("double") || type.equals("char");
}
}

View File

@@ -0,0 +1,256 @@
package mindustry.annotations;
import java.lang.annotation.*;
public class Annotations{
//region entity interfaces
/** Indicates that a method overrides other methods. */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.SOURCE)
public @interface Replace{
}
/** Indicates that a method should be final in all implementing classes. */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.SOURCE)
public @interface Final{
}
/** Indicates that a field will be interpolated when synced. */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.SOURCE)
public @interface SyncField{
/** If true, the field will be linearly interpolated. If false, it will be interpolated as an angle. */
boolean value();
/** If true, the field is clamped to 0-1. */
boolean clamped() default false;
}
/** Indicates that a field will not be read from the server when syncing the local player state. */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.SOURCE)
public @interface SyncLocal{
}
/** Indicates that a component field is imported from other components. This means it doesn't actually exist. */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.SOURCE)
public @interface Import{
}
/** Indicates that a component field is read-only. */
@Target({ElementType.FIELD, ElementType.METHOD})
@Retention(RetentionPolicy.SOURCE)
public @interface ReadOnly{
}
/** Indicates multiple inheritance on a component type. */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface Component{
/** Whether to generate a base class for this components.
* An entity cannot have two base classes, so only one component can have base be true. */
boolean base() default false;
}
/** Indicates that a method is implemented by the annotation processor. */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface InternalImpl{
}
/** Indicates priority of a method in an entity. Methods with higher priority are done last. */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface MethodPriority{
float value();
}
/** Indicates that a component def is present on all entities. */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface BaseComponent{
}
/** Creates a group that only examines entities that have all the components listed. */
@Retention(RetentionPolicy.SOURCE)
public @interface GroupDef{
Class[] value();
boolean collide() default false;
boolean spatial() default false;
boolean mapping() default false;
}
/** Indicates an entity definition. */
@Retention(RetentionPolicy.SOURCE)
public @interface EntityDef{
/** List of component interfaces */
Class[] value();
/** Whether the class is final */
boolean isFinal() default true;
/** If true, entities are recycled. */
boolean pooled() default false;
/** Whether to serialize (makes the serialize method return this value).
* If true, this entity is automatically put into save files.
* If false, no serialization code is generated at all. */
boolean serialize() default true;
/** Whether to generate IO code. This is for advanced usage only. */
boolean genio() default true;
}
/** Indicates an internal interface for entity components. */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface EntityInterface{
}
//endregion
//region misc. utility
/** Automatically loads block regions annotated with this. */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.SOURCE)
public @interface Load{
/**
* The region name to load. Variables can be used:
* "@" -> block name
* "$size" -> block size
* "#" "#1" "#2" -> index number, for arrays
* */
String value();
/** 1D Array length, if applicable. */
int length() default 1;
/** 2D array lengths. */
int[] lengths() default {};
/** Fallback string used to replace "@" (the block name) if the region isn't found. */
String fallback() default "error";
}
/** Registers a statement for auto serialization. */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface RegisterStatement{
String value();
}
@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{
}
//endregion
//region struct
/** Marks a class as a special value type struct. Class name must end in 'Struct'. */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface Struct{
}
/** Marks a field of a struct. Optional. */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.SOURCE)
public @interface StructField{
/** Size of a struct field in bits. Not valid on booleans or floating point numbers. */
int value();
}
//endregion
//region remote
public enum PacketPriority{
/** Gets put in a queue and processed if not connected. */
normal,
/** Gets handled immediately, regardless of connection status. */
high,
/** Does not get handled unless client is connected. */
low
}
/** A set of two booleans, one specifying server and one specifying client. */
public enum Loc{
/** Method can only be invoked on the client from the server. */
server(true, false),
/** Method can only be invoked on the server from the client. */
client(false, true),
/** Method can be invoked from anywhere */
both(true, true),
/** Neither server nor client. */
none(false, false);
/** If true, this method can be invoked ON clients FROM servers. */
public final boolean isServer;
/** If true, this method can be invoked ON servers FROM clients. */
public final boolean isClient;
Loc(boolean server, boolean client){
this.isServer = server;
this.isClient = client;
}
}
public enum Variant{
/** Method can only be invoked targeting one player. */
one(true, false),
/** Method can only be invoked targeting all players. */
all(false, true),
/** Method targets both one player and all players. */
both(true, true);
public final boolean isOne, isAll;
Variant(boolean isOne, boolean isAll){
this.isOne = isOne;
this.isAll = isAll;
}
}
/** Marks a method as invokable remotely across a server/client connection. */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Remote{
/** Specifies the locations from which this method can be invoked. */
Loc targets() default Loc.server;
/** Specifies which methods are generated. Only affects server-to-client methods. */
Variant variants() default Variant.all;
/** The local locations where this method is called locally, when invoked. */
Loc called() default Loc.none;
/** Whether to forward this packet to all other clients upon receival. Client only. */
boolean forward() default false;
/**
* Whether the packet for this method is sent with UDP instead of TCP.
* UDP is faster, but is prone to packet loss and duplication.
*/
boolean unreliable() default false;
/** Priority of this event. */
PacketPriority priority() default PacketPriority.normal;
}
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface TypeIOHandler{
}
//endregion
}

View File

@@ -0,0 +1,246 @@
package mindustry.annotations;
import arc.files.*;
import arc.struct.*;
import arc.util.Log;
import arc.util.Log.*;
import arc.util.*;
import com.squareup.javapoet.*;
import com.sun.source.util.*;
import com.sun.tools.javac.model.*;
import com.sun.tools.javac.processing.*;
import com.sun.tools.javac.tree.*;
import com.sun.tools.javac.util.*;
import mindustry.annotations.util.*;
import javax.annotation.processing.*;
import javax.lang.model.*;
import javax.lang.model.element.*;
import javax.lang.model.type.*;
import javax.lang.model.util.*;
import javax.tools.Diagnostic.*;
import javax.tools.*;
import java.io.*;
import java.lang.annotation.*;
import java.util.List;
import java.util.*;
@SupportedSourceVersion(SourceVersion.RELEASE_8)
public abstract class BaseProcessor extends AbstractProcessor{
/** Name of the base package to put all the generated classes. */
public static final String packageName = "mindustry.gen";
public static Types typeu;
public static JavacElements elementu;
public static Filer filer;
public static Messager messager;
public static Trees trees;
public static TreeMaker maker;
protected int round;
protected int rounds = 1;
protected RoundEnvironment env;
protected Fi rootDirectory;
protected Context context;
public static String getMethodName(Element element){
return ((TypeElement)element.getEnclosingElement()).getQualifiedName().toString() + "." + element.getSimpleName();
}
public static boolean isPrimitive(String type){
return type.equals("boolean") || type.equals("byte") || type.equals("short") || type.equals("int")
|| type.equals("long") || type.equals("float") || type.equals("double") || type.equals("char");
}
public static boolean instanceOf(String type, String other){
TypeElement a = elementu.getTypeElement(type);
TypeElement b = elementu.getTypeElement(other);
return a != null && b != null && typeu.isSubtype(a.asType(), b.asType());
}
public static String getDefault(String value){
switch(value){
case "float":
case "double":
case "int":
case "long":
case "short":
case "char":
case "byte":
return "0";
case "boolean":
return "false";
default:
return "null";
}
}
//in bytes
public static int typeSize(String kind){
switch(kind){
case "boolean":
case "byte":
return 1;
case "short":
return 2;
case "float":
case "char":
case "int":
return 4;
case "long":
return 8;
default:
throw new IllegalArgumentException("Invalid primitive type: " + kind + "");
}
}
public static String simpleName(String str){
return str.contains(".") ? str.substring(str.lastIndexOf('.') + 1) : str;
}
public static TypeName tname(String pack, String simple){
return ClassName.get(pack, simple );
}
public static TypeName tname(String name){
if(!name.contains(".")) return ClassName.get(packageName, name);
String pack = name.substring(0, name.lastIndexOf("."));
String simple = name.substring(name.lastIndexOf(".") + 1);
return ClassName.get(pack, simple);
}
public static TypeName tname(Class<?> c){
return ClassName.get(c).box();
}
public static TypeVariableName getTVN(TypeParameterElement element) {
String name = element.getSimpleName().toString();
List<? extends TypeMirror> boundsMirrors = element.getBounds();
List<TypeName> boundsTypeNames = new ArrayList<>();
for (TypeMirror typeMirror : boundsMirrors) {
boundsTypeNames.add(TypeName.get(typeMirror));
}
return TypeVariableName.get(name, boundsTypeNames.toArray(new TypeName[0]));
}
public static void write(TypeSpec.Builder builder) throws Exception{
write(builder, null);
}
public static void write(TypeSpec.Builder builder, Seq<String> imports) throws Exception{
JavaFile file = JavaFile.builder(packageName, builder.build()).skipJavaLangImports(true).build();
if(imports != null){
String rawSource = file.toString();
Seq<String> result = new Seq<>();
for (String s : rawSource.split("\n", -1)) {
result.add(s);
if (s.startsWith("package ")) {
result.add("");
for (String i : imports) {
result.add(i);
}
}
}
String out = result.toString("\n");
JavaFileObject object = filer.createSourceFile(file.packageName + "." + file.typeSpec.name, file.typeSpec.originatingElements.toArray(new Element[0]));
OutputStream stream = object.openOutputStream();
stream.write(out.getBytes());
stream.close();
}else{
file.writeTo(filer);
}
}
public Seq<Selement> elements(Class<? extends Annotation> type){
return Seq.with(env.getElementsAnnotatedWith(type)).map(Selement::new);
}
public Seq<Stype> types(Class<? extends Annotation> type){
return Seq.with(env.getElementsAnnotatedWith(type)).select(e -> e instanceof TypeElement)
.map(e -> new Stype((TypeElement)e));
}
public Seq<Svar> fields(Class<? extends Annotation> type){
return Seq.with(env.getElementsAnnotatedWith(type)).select(e -> e instanceof VariableElement)
.map(e -> new Svar((VariableElement)e));
}
public Seq<Smethod> methods(Class<? extends Annotation> type){
return Seq.with(env.getElementsAnnotatedWith(type)).select(e -> e instanceof ExecutableElement)
.map(e -> new Smethod((ExecutableElement)e));
}
public static void err(String message){
messager.printMessage(Kind.ERROR, message);
Log.err("[CODEGEN ERROR] " +message);
}
public static void err(String message, Element elem){
messager.printMessage(Kind.ERROR, message, elem);
Log.err("[CODEGEN ERROR] " + message + ": " + elem);
}
public void err(String message, Selement elem){
err(message, elem.e);
}
@Override
public synchronized void init(ProcessingEnvironment env){
super.init(env);
JavacProcessingEnvironment javacProcessingEnv = (JavacProcessingEnvironment)env;
trees = Trees.instance(env);
typeu = env.getTypeUtils();
elementu = javacProcessingEnv.getElementUtils();
filer = env.getFiler();
messager = env.getMessager();
context = ((JavacProcessingEnvironment)env).getContext();
maker = TreeMaker.instance(javacProcessingEnv.getContext());
Log.setLogLevel(LogLevel.info);
if(System.getProperty("debug") != null){
Log.setLogLevel(LogLevel.debug);
}
}
@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv){
if(round++ >= rounds) return false; //only process 1 round
if(rootDirectory == null){
try{
String path = Fi.get(filer.getResource(StandardLocation.CLASS_OUTPUT, "no", "no")
.toUri().toURL().toString().substring(OS.isWindows ? 6 : "file:".length()))
.parent().parent().parent().parent().parent().parent().parent().toString().replace("%20", " ");
rootDirectory = Fi.get(path);
}catch(IOException e){
throw new RuntimeException(e);
}
}
this.env = roundEnv;
try{
process(roundEnv);
}catch(Throwable e){
e.printStackTrace();
throw new RuntimeException(e);
}
return true;
}
@Override
public SourceVersion getSupportedSourceVersion(){
return SourceVersion.RELEASE_8;
}
public void process(RoundEnvironment env) throws Exception{
}
}

View File

@@ -0,0 +1,349 @@
package mindustry.annotations.entity;
import arc.files.*;
import arc.math.*;
import arc.struct.*;
import arc.util.*;
import arc.util.serialization.*;
import com.squareup.javapoet.*;
import mindustry.annotations.Annotations.*;
import mindustry.annotations.*;
import mindustry.annotations.util.*;
import mindustry.annotations.util.TypeIOResolver.*;
import javax.lang.model.element.*;
import static mindustry.annotations.BaseProcessor.instanceOf;
public class EntityIO{
final static Json json = new Json();
//suffixes for sync fields
final static String targetSuf = "_TARGET_", lastSuf = "_LAST_";
//replacements after refactoring
final static StringMap replacements = StringMap.of("mindustry.entities.units.BuildRequest", "mindustry.entities.units.BuildPlan");
final ClassSerializer serializer;
final String name;
final TypeSpec.Builder type;
final Fi directory;
final Seq<Revision> revisions = new Seq<>();
boolean write;
MethodSpec.Builder method;
ObjectSet<String> presentFields = new ObjectSet<>();
EntityIO(String name, TypeSpec.Builder type, Seq<FieldSpec> typeFields, ClassSerializer serializer, Fi directory){
this.directory = directory;
this.type = type;
this.serializer = serializer;
this.name = name;
json.setIgnoreUnknownFields(true);
directory.mkdirs();
//load old revisions
for(Fi fi : directory.list()){
revisions.add(json.fromJson(Revision.class, fi));
}
revisions.sort(r -> r.version);
//next revision to be used
int nextRevision = revisions.isEmpty() ? 0 : revisions.max(r -> r.version).version + 1;
//resolve preferred field order based on fields that fit
Seq<FieldSpec> fields = typeFields.select(spec ->
!spec.hasModifier(Modifier.TRANSIENT) &&
!spec.hasModifier(Modifier.STATIC) &&
!spec.hasModifier(Modifier.FINAL)/* &&
(spec.type.isPrimitive() || serializer.has(spec.type.toString()))*/);
//sort to keep order
fields.sortComparing(f -> f.name);
//keep track of fields present in the entity
presentFields.addAll(fields.map(f -> f.name));
Revision previous = revisions.isEmpty() ? null : revisions.peek();
//add new revision if it doesn't match or there are no revisions
if(revisions.isEmpty() || !revisions.peek().equal(fields)){
revisions.add(new Revision(nextRevision,
fields.map(f -> new RevisionField(f.name, f.type.toString()))));
Log.warn("Adding new revision @ for @.\nPre = @\nNew = @\n", nextRevision, name, previous == null ? null : previous.fields.toString(", ", f -> f.name + ":" + f.type), fields.toString(", ", f -> f.name + ":" + f.type.toString()));
//write revision
directory.child(nextRevision + ".json").writeString(json.toJson(revisions.peek()));
}
}
void write(MethodSpec.Builder method, boolean write) throws Exception{
this.method = method;
this.write = write;
//subclasses *have* to call this method
method.addAnnotation(CallSuper.class);
if(write){
//write short revision
st("write.s($L)", revisions.peek().version);
//write uses most recent revision
for(RevisionField field : revisions.peek().fields){
io(field.type, "this." + field.name);
}
}else{
//read revision
st("short REV = read.s()");
for(int i = 0; i < revisions.size; i++){
//check for the right revision
Revision rev = revisions.get(i);
if(i == 0){
cont("if(REV == $L)", rev.version);
}else{
ncont("else if(REV == $L)", rev.version);
}
//add code for reading revision
for(RevisionField field : rev.fields){
//if the field doesn't exist, the result will be an empty string, it won't get assigned
io(field.type, presentFields.contains(field.name) ? "this." + field.name + " = " : "");
}
}
//throw exception on illegal revisions
ncont("else");
st("throw new IllegalArgumentException(\"Unknown revision '\" + REV + \"' for entity type '" + name + "'\")");
econt();
}
}
void writeSync(MethodSpec.Builder method, boolean write, Seq<Svar> syncFields, Seq<Svar> allFields) throws Exception{
this.method = method;
this.write = write;
if(write){
//write uses most recent revision
for(RevisionField field : revisions.peek().fields){
io(field.type, "this." + field.name);
}
}else{
Revision rev = revisions.peek();
//base read code
st("if(lastUpdated != 0) updateSpacing = $T.timeSinceMillis(lastUpdated)", Time.class);
st("lastUpdated = $T.millis()", Time.class);
st("boolean islocal = isLocal()");
//add code for reading revision
for(RevisionField field : rev.fields){
Svar var = allFields.find(s -> s.name().equals(field.name));
boolean sf = var.has(SyncField.class), sl = var.has(SyncLocal.class);
if(sl) cont("if(!islocal)");
if(sf){
st(field.name + lastSuf + " = this." + field.name);
}
io(field.type, "this." + (sf ? field.name + targetSuf : field.name) + " = ");
if(sl){
ncont("else" );
io(field.type, "");
//just assign the two values so jumping does not occur on de-possession
if(sf){
st(field.name + lastSuf + " = this." + field.name);
st(field.name + targetSuf + " = this." + field.name);
}
econt();
}
}
st("afterSync()");
}
}
void writeSyncManual(MethodSpec.Builder method, boolean write, Seq<Svar> syncFields) throws Exception{
this.method = method;
this.write = write;
if(write){
for(Svar field : syncFields){
st("buffer.put(this.$L)", field.name());
}
}else{
//base read code
st("if(lastUpdated != 0) updateSpacing = $T.timeSinceMillis(lastUpdated)", Time.class);
st("lastUpdated = $T.millis()", Time.class);
//just read the field
for(Svar field : syncFields){
//last
st("this.$L = this.$L", field.name() + lastSuf, field.name());
//assign target
st("this.$L = buffer.get()", field.name() + targetSuf);
}
}
}
void writeInterpolate(MethodSpec.Builder method, Seq<Svar> fields) throws Exception{
this.method = method;
cont("if(lastUpdated != 0 && updateSpacing != 0)");
//base calculations
st("float timeSinceUpdate = Time.timeSinceMillis(lastUpdated)");
st("float alpha = Math.min(timeSinceUpdate / updateSpacing, 2f)");
//write interpolated data, using slerp / lerp
for(Svar field : fields){
String name = field.name(), targetName = name + targetSuf, lastName = name + lastSuf;
st("$L = $L($T.$L($L, $L, alpha))", name, field.annotation(SyncField.class).clamped() ? "arc.math.Mathf.clamp" : "", Mathf.class, field.annotation(SyncField.class).value() ? "lerp" : "slerp", lastName, targetName);
}
ncont("else if(lastUpdated != 0)"); //check if no meaningful data has arrived yet
//write values directly to targets
for(Svar field : fields){
String name = field.name(), targetName = name + targetSuf;
st("$L = $L", name, targetName);
}
econt();
}
private void io(String type, String field) throws Exception{
type = type.replace("mindustry.gen.", "");
type = replacements.get(type, type);
if(BaseProcessor.isPrimitive(type)){
s(type.equals("boolean") ? "bool" : type.charAt(0) + "", field);
}else if(instanceOf(type, "mindustry.ctype.Content")){
if(write){
s("s", field + ".id");
}else{
st(field + "mindustry.Vars.content.getByID(mindustry.ctype.ContentType.$L, read.s())", BaseProcessor.simpleName(type).toLowerCase().replace("type", ""));
}
}else if(serializer.writers.containsKey(type) && write){
st("$L(write, $L)", serializer.writers.get(type), field);
}else if(serializer.mutatorReaders.containsKey(type) && !write && !field.replace(" = ", "").contains(" ") && !field.isEmpty()){
st("$L$L(read, $L)", field, serializer.mutatorReaders.get(type), field.replace(" = ", ""));
}else if(serializer.readers.containsKey(type) && !write){
st("$L$L(read)", field, serializer.readers.get(type));
}else if(type.endsWith("[]")){ //it's a 1D array
String rawType = type.substring(0, type.length() - 2);
if(write){
s("i", field + ".length");
cont("for(int INDEX = 0; INDEX < $L.length; INDEX ++)", field);
io(rawType, field + "[INDEX]");
}else{
String fieldName = field.replace(" = ", "").replace("this.", "");
String lenf = fieldName + "_LENGTH";
s("i", "int " + lenf + " = ");
if(!field.isEmpty()){
st("$Lnew $L[$L]", field, type.replace("[]", ""), lenf);
}
cont("for(int INDEX = 0; INDEX < $L; INDEX ++)", lenf);
io(rawType, field.replace(" = ", "[INDEX] = "));
}
econt();
}else if(type.startsWith("arc.struct") && type.contains("<")){ //it's some type of data structure
String struct = type.substring(0, type.indexOf("<"));
String generic = type.substring(type.indexOf("<") + 1, type.indexOf(">"));
if(struct.equals("arc.struct.Queue") || struct.equals("arc.struct.Seq")){
if(write){
s("i", field + ".size");
cont("for(int INDEX = 0; INDEX < $L.size; INDEX ++)", field);
io(generic, field + ".get(INDEX)");
}else{
String fieldName = field.replace(" = ", "").replace("this.", "");
String lenf = fieldName + "_LENGTH";
s("i", "int " + lenf + " = ");
if(!field.isEmpty()){
st("$L.clear()", field.replace(" = ", ""));
}
cont("for(int INDEX = 0; INDEX < $L; INDEX ++)", lenf);
io(generic, field.replace(" = ", "_ITEM = ").replace("this.", generic + " "));
if(!field.isEmpty()){
String temp = field.replace(" = ", "_ITEM").replace("this.", "");
st("if($L != null) $L.add($L)", temp, field.replace(" = ", ""), temp);
}
}
econt();
}else{
Log.warn("Missing serialization code for collection '@' in '@'", type, name);
}
}else{
Log.warn("Missing serialization code for type '@' in '@'", type, name);
}
}
private void cont(String text, Object... fmt){
method.beginControlFlow(text, fmt);
}
private void econt(){
method.endControlFlow();
}
private void ncont(String text, Object... fmt){
method.nextControlFlow(text, fmt);
}
private void st(String text, Object... args){
method.addStatement(text, args);
}
private void s(String type, String field){
if(write){
method.addStatement("write.$L($L)", type, field);
}else{
method.addStatement("$Lread.$L()", field, type);
}
}
public static class Revision{
int version;
Seq<RevisionField> fields;
Revision(int version, Seq<RevisionField> fields){
this.version = version;
this.fields = fields;
}
Revision(){}
/** @return whether these two revisions are compatible */
boolean equal(Seq<FieldSpec> specs){
if(fields.size != specs.size) return false;
for(int i = 0; i < fields.size; i++){
RevisionField field = fields.get(i);
FieldSpec spec = specs.get(i);
if(!field.type.replace("mindustry.gen.", "").equals(spec.type.toString().replace("mindustry.gen.", ""))){
return false;
}
}
return true;
}
}
public static class RevisionField{
String name, type;
RevisionField(String name, String type){
this.name = name;
this.type = type;
}
RevisionField(){}
}
}

View File

@@ -0,0 +1,950 @@
package mindustry.annotations.entity;
import arc.*;
import arc.files.*;
import arc.func.*;
import arc.struct.*;
import arc.util.ArcAnnotate.*;
import arc.util.*;
import arc.util.io.*;
import arc.util.pooling.Pool.*;
import arc.util.pooling.*;
import com.squareup.javapoet.*;
import com.squareup.javapoet.TypeSpec.*;
import com.sun.source.tree.*;
import mindustry.annotations.Annotations.*;
import mindustry.annotations.*;
import mindustry.annotations.util.*;
import mindustry.annotations.util.TypeIOResolver.*;
import javax.annotation.processing.*;
import javax.lang.model.element.*;
import javax.lang.model.type.*;
import java.lang.annotation.*;
@SupportedAnnotationTypes({
"mindustry.annotations.Annotations.EntityDef",
"mindustry.annotations.Annotations.GroupDef",
"mindustry.annotations.Annotations.EntityInterface",
"mindustry.annotations.Annotations.BaseComponent",
"mindustry.annotations.Annotations.TypeIOHandler"
})
public class EntityProcess extends BaseProcessor{
Seq<EntityDefinition> definitions = new Seq<>();
Seq<GroupDefinition> groupDefs = new Seq<>();
Seq<Stype> baseComponents;
ObjectMap<String, Stype> componentNames = new ObjectMap<>();
ObjectMap<Stype, Seq<Stype>> componentDependencies = new ObjectMap<>();
ObjectMap<Selement, Seq<Stype>> defComponents = new ObjectMap<>();
ObjectMap<String, String> varInitializers = new ObjectMap<>();
ObjectMap<String, String> methodBlocks = new ObjectMap<>();
ObjectMap<Stype, ObjectSet<Stype>> baseClassDeps = new ObjectMap<>();
ObjectSet<String> imports = new ObjectSet<>();
Seq<Selement> allGroups = new Seq<>();
Seq<Selement> allDefs = new Seq<>();
Seq<Stype> allInterfaces = new Seq<>();
Seq<TypeSpec.Builder> baseClasses = new Seq<>();
ClassSerializer serializer;
{
rounds = 3;
}
@Override
public void process(RoundEnvironment env) throws Exception{
allGroups.addAll(elements(GroupDef.class));
allDefs.addAll(elements(EntityDef.class));
allInterfaces.addAll(types(EntityInterface.class));
//round 1: generate component interfaces
if(round == 1){
serializer = TypeIOResolver.resolve(this);
baseComponents = types(BaseComponent.class);
Seq<Stype> allComponents = types(Component.class);
//store code
for(Stype component : allComponents){
for(Svar f : component.fields()){
VariableTree tree = f.tree();
//add initializer if it exists
if(tree.getInitializer() != null){
String init = tree.getInitializer().toString();
varInitializers.put(f.descString(), init);
}
}
for(Smethod elem : component.methods()){
if(elem.is(Modifier.ABSTRACT) || elem.is(Modifier.NATIVE)) continue;
//get all statements in the method, store them
methodBlocks.put(elem.descString(), elem.tree().getBody().toString()
//replace all self() invocations with this
.replaceAll("this\\.<(.*)>self\\(\\)", "this")
.replaceAll("self\\(\\)", "this")
);
}
}
//store components
for(Stype type : allComponents){
componentNames.put(type.name(), type);
}
//add component imports
for(Stype comp : allComponents){
imports.addAll(getImports(comp.e));
}
//create component interfaces
for(Stype component : allComponents){
TypeSpec.Builder inter = TypeSpec.interfaceBuilder(interfaceName(component))
.addModifiers(Modifier.PUBLIC).addAnnotation(EntityInterface.class);
inter.addJavadoc("Interface for {@link $L}", component.fullName());
//implement extra interfaces these components may have, e.g. position
for(Stype extraInterface : component.interfaces().select(i -> !isCompInterface(i))){
//javapoet completely chokes on this if I add `addSuperInterface` or create the type name with TypeName.get
inter.superinterfaces.add(tname(extraInterface.fullName()));
}
//implement super interfaces
Seq<Stype> depends = getDependencies(component);
for(Stype type : depends){
inter.addSuperinterface(ClassName.get(packageName, interfaceName(type)));
}
ObjectSet<String> signatures = new ObjectSet<>();
//add utility methods to interface
for(Smethod method : component.methods()){
//skip private methods, those are for internal use.
if(method.isAny(Modifier.PRIVATE, Modifier.STATIC)) continue;
//keep track of signatures used to prevent dupes
signatures.add(method.e.toString());
inter.addMethod(MethodSpec.methodBuilder(method.name())
.addJavadoc(method.doc() == null ? "" : method.doc())
.addExceptions(method.thrownt())
.addTypeVariables(method.typeVariables().map(TypeVariableName::get))
.returns(method.ret().toString().equals("void") ? TypeName.VOID : method.retn())
.addParameters(method.params().map(v -> ParameterSpec.builder(v.tname(), v.name())
.build())).addModifiers(Modifier.PUBLIC, Modifier.ABSTRACT).build());
}
for(Svar field : component.fields().select(e -> !e.is(Modifier.STATIC) && !e.is(Modifier.PRIVATE) && !e.has(Import.class))){
String cname = field.name();
//getter
if(!signatures.contains(cname + "()")){
inter.addMethod(MethodSpec.methodBuilder(cname).addModifiers(Modifier.ABSTRACT, Modifier.PUBLIC)
.addAnnotations(Seq.with(field.annotations()).select(a -> a.toString().contains("Null")).map(AnnotationSpec::get))
.addJavadoc(field.doc() == null ? "" : field.doc())
.returns(field.tname()).build());
}
//setter
if(!field.is(Modifier.FINAL) && !signatures.contains(cname + "(" + field.mirror().toString() + ")") &&
!field.annotations().contains(f -> f.toString().equals("@mindustry.annotations.Annotations.ReadOnly"))){
inter.addMethod(MethodSpec.methodBuilder(cname).addModifiers(Modifier.ABSTRACT, Modifier.PUBLIC)
.addJavadoc(field.doc() == null ? "" : field.doc())
.addParameter(ParameterSpec.builder(field.tname(), field.name())
.addAnnotations(Seq.with(field.annotations())
.select(a -> a.toString().contains("Null")).map(AnnotationSpec::get)).build()).build());
}
}
write(inter);
//generate base class if necessary
//SPECIAL CASE: components with EntityDefs don't get a base class! the generated class becomes the base class itself
if(component.annotation(Component.class).base()){
Seq<Stype> deps = depends.copy().and(component);
baseClassDeps.get(component, ObjectSet::new).addAll(deps);
//do not generate base classes when the component will generate one itself
if(!component.has(EntityDef.class)){
TypeSpec.Builder base = TypeSpec.classBuilder(baseName(component)).addModifiers(Modifier.PUBLIC, Modifier.ABSTRACT);
//go through all the fields.
for(Stype type : deps){
//add public fields
for(Svar field : type.fields().select(e -> !e.is(Modifier.STATIC) && !e.is(Modifier.PRIVATE) && !e.has(Import.class) && !e.has(ReadOnly.class))){
FieldSpec.Builder builder = FieldSpec.builder(field.tname(),field.name(), Modifier.PUBLIC);
//keep transience
if(field.is(Modifier.TRANSIENT)) builder.addModifiers(Modifier.TRANSIENT);
//keep all annotations
builder.addAnnotations(field.annotations().map(AnnotationSpec::get));
//add initializer if it exists
if(varInitializers.containsKey(field.descString())){
builder.initializer(varInitializers.get(field.descString()));
}
base.addField(builder.build());
}
}
//add interfaces
for(Stype type : deps){
base.addSuperinterface(tname(packageName, interfaceName(type)));
}
//add to queue to be written later
baseClasses.add(base);
}
}
//LOGGING
Log.debug("&gGenerating interface for " + component.name());
for(TypeName tn : inter.superinterfaces){
Log.debug("&g> &lbimplements @", simpleName(tn.toString()));
}
//log methods generated
for(MethodSpec spec : inter.methodSpecs){
Log.debug("&g> > &c@ @(@)", simpleName(spec.returnType.toString()), spec.name, Seq.with(spec.parameters).toString(", ", p -> simpleName(p.type.toString()) + " " + p.name));
}
Log.debug("");
}
}else if(round == 2){ //round 2: get component classes and generate interfaces for them
//parse groups
//this needs to be done before the entity interfaces are generated, as the entity classes need to know which groups to add themselves to
for(Selement<?> group : allGroups){
GroupDef an = group.annotation(GroupDef.class);
Seq<Stype> types = types(an, GroupDef::value).map(stype -> {
Stype result = interfaceToComp(stype);
if(result == null) throw new IllegalArgumentException("Interface " + stype + " does not have an associated component!");
return result;
});
//representative component type
Stype repr = types.first();
String groupType = repr.annotation(Component.class).base() ? baseName(repr) : interfaceName(repr);
boolean collides = an.collide();
groupDefs.add(new GroupDefinition(group.name().startsWith("g") ? group.name().substring(1) : group.name(),
ClassName.bestGuess(packageName + "." + groupType), types, an.spatial(), an.mapping(), collides));
}
ObjectMap<String, Selement> usedNames = new ObjectMap<>();
ObjectMap<Selement, ObjectSet<String>> extraNames = new ObjectMap<>();
//look at each definition
for(Selement<?> type : allDefs){
EntityDef ann = type.annotation(EntityDef.class);
boolean isFinal = ann.isFinal();
//all component classes (not interfaces)
Seq<Stype> components = allComponents(type);
Seq<GroupDefinition> groups = groupDefs.select(g -> (!g.components.isEmpty() && !g.components.contains(s -> !components.contains(s))) || g.manualInclusions.contains(type));
ObjectMap<String, Seq<Smethod>> methods = new ObjectMap<>();
ObjectMap<FieldSpec, Svar> specVariables = new ObjectMap<>();
ObjectSet<String> usedFields = new ObjectSet<>();
//make sure there's less than 2 base classes
Seq<Stype> baseClasses = components.select(s -> s.annotation(Component.class).base());
if(baseClasses.size > 2){
err("No entity may have more than 2 base classes. Base classes: " + baseClasses, type);
}
//get base class type name for extension
Stype baseClassType = baseClasses.any() ? baseClasses.first() : null;
@Nullable TypeName baseClass = baseClasses.any() ? tname(packageName + "." + baseName(baseClassType)) : null;
//whether the main class is the base itself
boolean typeIsBase = baseClassType != null && type.has(Component.class) && type.annotation(Component.class).base();
if(type.isType() && (!type.name().endsWith("Def") && !type.name().endsWith("Comp"))){
err("All entity def names must end with 'Def'/'Comp'", type.e);
}
String name = type.isType() ?
type.name().replace("Def", "").replace("Comp", "") :
createName(type);
//check for type name conflicts
if(!typeIsBase && baseClass != null && name.equals(baseName(baseClassType))){
name += "Entity";
}
//skip double classes
if(usedNames.containsKey(name)){
extraNames.get(usedNames.get(name), ObjectSet::new).add(type.name());
continue;
}
usedNames.put(name, type);
extraNames.get(type, ObjectSet::new).add(name);
if(!type.isType()){
extraNames.get(type, ObjectSet::new).add(type.name());
}
TypeSpec.Builder builder = TypeSpec.classBuilder(name).addModifiers(Modifier.PUBLIC);
//add serialize() boolean
builder.addMethod(MethodSpec.methodBuilder("serialize").addModifiers(Modifier.PUBLIC).returns(boolean.class).addStatement("return " + ann.serialize()).build());
//all SyncField fields
Seq<Svar> syncedFields = new Seq<>();
Seq<Svar> allFields = new Seq<>();
Seq<FieldSpec> allFieldSpecs = new Seq<>();
boolean isSync = components.contains(s -> s.name().contains("Sync"));
//add all components
for(Stype comp : components){
//whether this component's fields are defined in the base class
boolean isShadowed = baseClass != null && !typeIsBase && baseClassDeps.get(baseClassType).contains(comp);
//write fields to the class; ignoring transient/imported ones
Seq<Svar> fields = comp.fields().select(f -> !f.has(Import.class));
for(Svar f : fields){
if(!usedFields.add(f.name())){
err("Field '" + f.name() + "' of component '" + comp.name() + "' redefines a field in entity '" + type.name() + "'");
continue;
}
FieldSpec.Builder fbuilder = FieldSpec.builder(f.tname(), f.name());
//keep statics/finals
if(f.is(Modifier.STATIC)){
fbuilder.addModifiers(Modifier.STATIC);
if(f.is(Modifier.FINAL)) fbuilder.addModifiers(Modifier.FINAL);
}
//add transient modifier for serialization
if(f.is(Modifier.TRANSIENT)){
fbuilder.addModifiers(Modifier.TRANSIENT);
}
//add initializer if it exists
if(varInitializers.containsKey(f.descString())){
fbuilder.initializer(varInitializers.get(f.descString()));
}
fbuilder.addModifiers(f.has(ReadOnly.class) ? Modifier.PROTECTED : Modifier.PUBLIC);
fbuilder.addAnnotations(f.annotations().map(AnnotationSpec::get));
FieldSpec spec = fbuilder.build();
//whether this field would be added to the superclass
boolean isVisible = !f.is(Modifier.STATIC) && !f.is(Modifier.PRIVATE) && !f.has(ReadOnly.class);
//add the field only if it isn't visible or it wasn't implemented by the base class
if(!isShadowed || !isVisible){
builder.addField(spec);
}
specVariables.put(spec, f);
allFieldSpecs.add(spec);
allFields.add(f);
//add extra sync fields
if(f.has(SyncField.class) && isSync){
if(!f.tname().toString().equals("float")) err("All SyncFields must be of type float", f);
syncedFields.add(f);
//a synced field has 3 values:
//- target state
//- last state
//- current state (the field itself, will be written to)
//target
builder.addField(FieldSpec.builder(float.class, f.name() + EntityIO.targetSuf).addModifiers(Modifier.TRANSIENT, Modifier.PRIVATE).build());
//last
builder.addField(FieldSpec.builder(float.class, f.name() + EntityIO.lastSuf).addModifiers(Modifier.TRANSIENT, Modifier.PRIVATE).build());
}
}
//get all methods from components
for(Smethod elem : comp.methods()){
methods.get(elem.toString(), Seq::new).add(elem);
}
}
syncedFields.sortComparing(Selement::name);
//override toString method
builder.addMethod(MethodSpec.methodBuilder("toString")
.addAnnotation(Override.class)
.returns(String.class)
.addModifiers(Modifier.PUBLIC)
.addStatement("return $S + $L", name + "#", "id").build());
EntityIO io = new EntityIO(type.name(), builder, allFieldSpecs, serializer, rootDirectory.child("annotations/src/main/resources/revisions").child(name));
//entities with no sync comp and no serialization gen no code
boolean hasIO = ann.genio() && (components.contains(s -> s.name().contains("Sync")) || ann.serialize());
//add all methods from components
for(ObjectMap.Entry<String, Seq<Smethod>> entry : methods){
if(entry.value.contains(m -> m.has(Replace.class))){
//check replacements
if(entry.value.count(m -> m.has(Replace.class)) > 1){
err("Type " + type + " has multiple components replacing method " + entry.key + ".");
}
Smethod base = entry.value.find(m -> m.has(Replace.class));
entry.value.clear();
entry.value.add(base);
}
//check multi return
if(entry.value.count(m -> !m.isAny(Modifier.NATIVE, Modifier.ABSTRACT) && !m.isVoid()) > 1){
err("Type " + type + " has multiple components implementing non-void method " + entry.key + ".");
}
entry.value.sort(Structs.comps(Structs.comparingFloat(m -> m.has(MethodPriority.class) ? m.annotation(MethodPriority.class).value() : 0), Structs.comparing(Selement::name)));
//representative method
Smethod first = entry.value.first();
//skip internal impl
if(first.has(InternalImpl.class)){
continue;
}
//build method using same params/returns
MethodSpec.Builder mbuilder = MethodSpec.methodBuilder(first.name()).addModifiers(first.is(Modifier.PRIVATE) ? Modifier.PRIVATE : Modifier.PUBLIC);
//if(isFinal || entry.value.contains(s -> s.has(Final.class))) mbuilder.addModifiers(Modifier.FINAL);
if(entry.value.contains(s -> s.has(CallSuper.class))) mbuilder.addAnnotation(CallSuper.class); //add callSuper here if necessary
if(first.is(Modifier.STATIC)) mbuilder.addModifiers(Modifier.STATIC);
mbuilder.addTypeVariables(first.typeVariables().map(TypeVariableName::get));
mbuilder.returns(first.retn());
mbuilder.addExceptions(first.thrownt());
for(Svar var : first.params()){
mbuilder.addParameter(var.tname(), var.name());
}
//only write the block if it's a void method with several entries
boolean writeBlock = first.ret().toString().equals("void") && entry.value.size > 1;
if((entry.value.first().is(Modifier.ABSTRACT) || entry.value.first().is(Modifier.NATIVE)) && entry.value.size == 1 && !entry.value.first().has(InternalImpl.class)){
err(entry.value.first().up().getSimpleName() + "#" + entry.value.first() + " is an abstract method and must be implemented in some component", type);
}
//SPECIAL CASE: inject group add/remove code
if(first.name().equals("add") || first.name().equals("remove")){
mbuilder.addStatement("if(added == $L) return", first.name().equals("add"));
for(GroupDefinition def : groups){
//remove/add from each group, assume imported
mbuilder.addStatement("Groups.$L.$L(this)", def.name, first.name());
}
}
if(hasIO){
//SPECIAL CASE: I/O code
//note that serialization is generated even for non-serializing entities for manual usage
if((first.name().equals("read") || first.name().equals("write"))){
io.write(mbuilder, first.name().equals("write"));
}
//SPECIAL CASE: sync I/O code
if((first.name().equals("readSync") || first.name().equals("writeSync"))){
io.writeSync(mbuilder, first.name().equals("writeSync"), syncedFields, allFields);
}
//SPECIAL CASE: sync I/O code for writing to/from a manual buffer
if((first.name().equals("readSyncManual") || first.name().equals("writeSyncManual"))){
io.writeSyncManual(mbuilder, first.name().equals("writeSyncManual"), syncedFields);
}
//SPECIAL CASE: interpolate method implementation
if(first.name().equals("interpolate")){
io.writeInterpolate(mbuilder, syncedFields);
}
//SPECIAL CASE: method to snap to target position after being read for the first time
if(first.name().equals("snapSync")){
mbuilder.addStatement("updateSpacing = 16");
mbuilder.addStatement("lastUpdated = $T.millis()", Time.class);
for(Svar field : syncedFields){
//reset last+current state to target position
mbuilder.addStatement("$L = $L", field.name() + EntityIO.lastSuf, field.name() + EntityIO.targetSuf);
mbuilder.addStatement("$L = $L", field.name(), field.name() + EntityIO.targetSuf);
}
}
//SPECIAL CASE: method to snap to current position so interpolation doesn't go wild
if(first.name().equals("snapInterpolation")){
mbuilder.addStatement("updateSpacing = 16");
mbuilder.addStatement("lastUpdated = $T.millis()", Time.class);
for(Svar field : syncedFields){
//reset last+current state to target position
mbuilder.addStatement("$L = $L", field.name() + EntityIO.lastSuf, field.name());
mbuilder.addStatement("$L = $L", field.name() + EntityIO.targetSuf, field.name());
}
}
}
for(Smethod elem : entry.value){
String descStr = elem.descString();
if(elem.is(Modifier.ABSTRACT) || elem.is(Modifier.NATIVE) || !methodBlocks.containsKey(descStr)) continue;
//get all statements in the method, copy them over
String str = methodBlocks.get(descStr);
//name for code blocks in the methods
String blockName = elem.up().getSimpleName().toString().toLowerCase().replace("comp", "");
//skip empty blocks
if(str.replace("{", "").replace("\n", "").replace("}", "").replace("\t", "").replace(" ", "").isEmpty()){
continue;
}
//wrap scope to prevent variable leakage
if(writeBlock){
//replace return; with block break
str = str.replace("return;", "break " + blockName + ";");
mbuilder.addCode(blockName + ": {\n");
}
//trim block
str = str.substring(2, str.length() - 1);
//make sure to remove braces here
mbuilder.addCode(str);
//end scope
if(writeBlock) mbuilder.addCode("}\n");
}
//add free code to remove methods - always at the end
//this only gets called next frame.
if(first.name().equals("remove") && ann.pooled()){
mbuilder.addStatement("$T.app.post(() -> $T.free(this))", Core.class, Pools.class);
}
builder.addMethod(mbuilder.build());
}
//add pool reset method and implement Poolable
if(ann.pooled()){
builder.addSuperinterface(Poolable.class);
//implement reset()
MethodSpec.Builder resetBuilder = MethodSpec.methodBuilder("reset").addModifiers(Modifier.PUBLIC);
for(FieldSpec spec : allFieldSpecs){
@Nullable Svar variable = specVariables.get(spec);
if(variable != null && variable.isAny(Modifier.STATIC, Modifier.FINAL)) continue;
String desc = variable.descString();
if(spec.type.isPrimitive()){
//set to primitive default
resetBuilder.addStatement("$L = $L", spec.name, variable != null && varInitializers.containsKey(desc) ? varInitializers.get(desc) : getDefault(spec.type.toString()));
}else{
//set to default null
if(!varInitializers.containsKey(desc)){
resetBuilder.addStatement("$L = null", spec.name);
} //else... TODO reset if poolable
}
}
builder.addMethod(resetBuilder.build());
}
//make constructor private
builder.addMethod(MethodSpec.constructorBuilder().addModifiers(Modifier.PROTECTED).build());
//add create() method
builder.addMethod(MethodSpec.methodBuilder("create").addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.returns(tname(packageName + "." + name))
.addStatement(ann.pooled() ? "return Pools.obtain($L.class, " +name +"::new)" : "return new $L()", name).build());
definitions.add(new EntityDefinition(packageName + "." + name, builder, type, typeIsBase ? null : baseClass, components, groups, allFieldSpecs));
}
//generate groups
TypeSpec.Builder groupsBuilder = TypeSpec.classBuilder("Groups").addModifiers(Modifier.PUBLIC);
MethodSpec.Builder groupInit = MethodSpec.methodBuilder("init").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
for(GroupDefinition group : groupDefs){
//class names for interface/group
ClassName itype = group.baseType;
ClassName groupc = ClassName.bestGuess("mindustry.entities.EntityGroup");
//add field...
groupsBuilder.addField(ParameterizedTypeName.get(
ClassName.bestGuess("mindustry.entities.EntityGroup"), itype), group.name, Modifier.PUBLIC, Modifier.STATIC);
groupInit.addStatement("$L = new $T<>($L.class, $L, $L)", group.name, groupc, itype, group.spatial, group.mapping);
}
//write the groups
groupsBuilder.addMethod(groupInit.build());
MethodSpec.Builder groupClear = MethodSpec.methodBuilder("clear").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
for(GroupDefinition group : groupDefs){
groupClear.addStatement("$L.clear()", group.name);
}
//write clear
groupsBuilder.addMethod(groupClear.build());
//add method for resizing all necessary groups
MethodSpec.Builder groupResize = MethodSpec.methodBuilder("resize")
.addParameter(TypeName.FLOAT, "x").addParameter(TypeName.FLOAT, "y").addParameter(TypeName.FLOAT, "w").addParameter(TypeName.FLOAT, "h")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC);
MethodSpec.Builder groupUpdate = MethodSpec.methodBuilder("update")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC);
//method resize
for(GroupDefinition group : groupDefs){
if(group.spatial){
groupResize.addStatement("$L.resize(x, y, w, h)", group.name);
groupUpdate.addStatement("$L.updatePhysics()", group.name);
}
}
groupUpdate.addStatement("all.update()");
for(GroupDefinition group : groupDefs){
if(group.collides){
groupUpdate.addStatement("$L.collide()", group.name);
}
}
groupsBuilder.addMethod(groupResize.build());
groupsBuilder.addMethod(groupUpdate.build());
write(groupsBuilder);
//load map of sync IDs
StringMap map = new StringMap();
Fi idProps = rootDirectory.child("annotations/src/main/resources/classids.properties");
if(!idProps.exists()) idProps.writeString("");
PropertiesUtils.load(map, idProps.reader());
//next ID to be used in generation
Integer max = map.values().toSeq().map(Integer::parseInt).max(i -> i);
int maxID = max == null ? 0 : max + 1;
//assign IDs
definitions.sort(Structs.comparing(t -> t.naming.toString()));
for(EntityDefinition def : definitions){
String name = def.naming.fullName();
if(map.containsKey(name)){
def.classID = map.getInt(name);
}else{
def.classID = maxID++;
map.put(name, def.classID + "");
}
}
OrderedMap<String, String> res = new OrderedMap<>();
res.putAll(map);
res.orderedKeys().sort();
//write assigned IDs
PropertiesUtils.store(res, idProps.writer(false), "Maps entity names to IDs. Autogenerated.");
//build mapping class for sync IDs
TypeSpec.Builder idBuilder = TypeSpec.classBuilder("EntityMapping").addModifiers(Modifier.PUBLIC)
.addField(FieldSpec.builder(TypeName.get(Prov[].class), "idMap", Modifier.PUBLIC, Modifier.STATIC).initializer("new Prov[256]").build())
.addField(FieldSpec.builder(ParameterizedTypeName.get(ClassName.get(ObjectMap.class),
tname(String.class), tname(Prov.class)),
"nameMap", Modifier.PUBLIC, Modifier.STATIC).initializer("new ObjectMap<>()").build())
.addMethod(MethodSpec.methodBuilder("map").addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.returns(TypeName.get(Prov.class)).addParameter(int.class, "id").addStatement("return idMap[id]").build())
.addMethod(MethodSpec.methodBuilder("map").addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.returns(TypeName.get(Prov.class)).addParameter(String.class, "name").addStatement("return nameMap.get(name)").build());
CodeBlock.Builder idStore = CodeBlock.builder();
//store the mappings
for(EntityDefinition def : definitions){
//store mapping
idStore.addStatement("idMap[$L] = $L::new", def.classID, def.name);
extraNames.get(def.naming).each(extra -> {
idStore.addStatement("nameMap.put($S, $L::new)", extra, def.name);
if(!Strings.camelToKebab(extra).equals(extra)){
idStore.addStatement("nameMap.put($S, $L::new)", Strings.camelToKebab(extra), def.name);
}
});
//return mapping
def.builder.addMethod(MethodSpec.methodBuilder("classId").addAnnotation(Override.class)
.returns(int.class).addModifiers(Modifier.PUBLIC).addStatement("return " + def.classID).build());
}
idBuilder.addStaticBlock(idStore.build());
write(idBuilder);
}else{
//round 3: generate actual classes and implement interfaces
//write base classes
for(TypeSpec.Builder b : baseClasses){
write(b, imports.asArray());
}
//implement each definition
for(EntityDefinition def : definitions){
ObjectSet<String> methodNames = def.components.flatMap(type -> type.methods().map(Smethod::simpleString)).<String>as().asSet();
//add base class extension if it exists
if(def.extend != null){
def.builder.superclass(def.extend);
}
//get interface for each component
for(Stype comp : def.components){
//implement the interface
Stype inter = allInterfaces.find(i -> i.name().equals(interfaceName(comp)));
if(inter == null){
err("Failed to generate interface for", comp);
return;
}
def.builder.addSuperinterface(inter.tname());
//generate getter/setter for each method
for(Smethod method : inter.methods()){
String var = method.name();
FieldSpec field = Seq.with(def.fieldSpecs).find(f -> f.name.equals(var));
//make sure it's a real variable AND that the component doesn't already implement it somewhere with custom logic
if(field == null || methodNames.contains(method.simpleString())) continue;
//getter
if(!method.isVoid()){
def.builder.addMethod(MethodSpec.overriding(method.e).addStatement("return " + var).build());
}
//setter
if(method.isVoid() && !Seq.with(field.annotations).contains(f -> f.type.toString().equals("@mindustry.annotations.Annotations.ReadOnly"))){
def.builder.addMethod(MethodSpec.overriding(method.e).addStatement("this." + var + " = " + var).build());
}
}
}
write(def.builder, imports.asArray());
}
//store nulls
TypeSpec.Builder nullsBuilder = TypeSpec.classBuilder("Nulls").addModifiers(Modifier.PUBLIC).addModifiers(Modifier.FINAL);
//create mock types of all components
for(Stype interf : allInterfaces){
//indirect interfaces to implement methods for
Seq<Stype> dependencies = interf.allInterfaces().and(interf);
Seq<Smethod> methods = dependencies.flatMap(Stype::methods);
methods.sortComparing(Object::toString);
//optionally add superclass
Stype superclass = dependencies.map(this::interfaceToComp).find(s -> s != null && s.annotation(Component.class).base());
//use the base type when the interface being emulated has a base
TypeName type = superclass != null && interfaceToComp(interf).annotation(Component.class).base() ? tname(baseName(superclass)) : interf.tname();
//used method signatures
ObjectSet<String> signatures = new ObjectSet<>();
//create null builder
String baseName = interf.name().substring(0, interf.name().length() - 1);
String className = "Null" + baseName;
TypeSpec.Builder nullBuilder = TypeSpec.classBuilder(className)
.addModifiers(Modifier.FINAL);
nullBuilder.addSuperinterface(interf.tname());
if(superclass != null) nullBuilder.superclass(tname(baseName(superclass)));
for(Smethod method : methods){
String signature = method.toString();
if(signatures.contains(signature)) continue;
Stype compType = interfaceToComp(method.type());
MethodSpec.Builder builder = MethodSpec.overriding(method.e).addModifiers(Modifier.PUBLIC, Modifier.FINAL);
builder.addAnnotation(OverrideCallSuper.class); //just in case
if(!method.isVoid()){
if(method.name().equals("isNull")){
builder.addStatement("return true");
}else if(method.name().equals("id")){
builder.addStatement("return -1");
}else{
Svar variable = compType == null || method.params().size > 0 ? null : compType.fields().find(v -> v.name().equals(method.name()));
String desc = variable == null ? null : variable.descString();
if(variable == null || !varInitializers.containsKey(desc)){
builder.addStatement("return " + getDefault(method.ret().toString()));
}else{
String init = varInitializers.get(desc);
builder.addStatement("return " + (init.equals("{}") ? "new " + variable.mirror().toString() : "") + init);
}
}
}
nullBuilder.addMethod(builder.build());
signatures.add(signature);
}
nullsBuilder.addField(FieldSpec.builder(type, Strings.camelize(baseName)).initializer("new " + className + "()").addModifiers(Modifier.FINAL, Modifier.STATIC, Modifier.PUBLIC).build());
write(nullBuilder);
}
write(nullsBuilder);
}
}
Seq<String> getImports(Element elem){
return Seq.with(trees.getPath(elem).getCompilationUnit().getImports()).map(Object::toString);
}
/** @return interface for a component type */
String interfaceName(Stype comp){
String suffix = "Comp";
if(!comp.name().endsWith(suffix)) err("All components must have names that end with 'Comp'", comp.e);
//example: BlockComp -> IBlock
return comp.name().substring(0, comp.name().length() - suffix.length()) + "c";
}
/** @return base class name for a component type */
String baseName(Stype comp){
String suffix = "Comp";
if(!comp.name().endsWith(suffix)) err("All components must have names that end with 'Comp'", comp.e);
return comp.name().substring(0, comp.name().length() - suffix.length());
}
@Nullable Stype interfaceToComp(Stype type){
//example: IBlock -> BlockComp
String name = type.name().substring(0, type.name().length() - 1) + "Comp";
return componentNames.get(name);
}
/** @return all components that a entity def has */
Seq<Stype> allComponents(Selement<?> type){
if(!defComponents.containsKey(type)){
//get base defs
Seq<Stype> interfaces = types(type.annotation(EntityDef.class), EntityDef::value);
Seq<Stype> components = new Seq<>();
for(Stype i : interfaces){
Stype comp = interfaceToComp(i);
if(comp != null){
components.add(comp);
}else{
throw new IllegalArgumentException("Type '" + i + "' is not a component interface!");
}
}
ObjectSet<Stype> out = new ObjectSet<>();
for(Stype comp : components){
//get dependencies for each def, add them
out.add(comp);
out.addAll(getDependencies(comp));
}
defComponents.put(type, out.asArray());
}
return defComponents.get(type);
}
Seq<Stype> getDependencies(Stype component){
if(!componentDependencies.containsKey(component)){
ObjectSet<Stype> out = new ObjectSet<>();
//add base component interfaces
out.addAll(component.interfaces().select(this::isCompInterface).map(this::interfaceToComp));
//remove self interface
out.remove(component);
//out now contains the base dependencies; finish constructing the tree
ObjectSet<Stype> result = new ObjectSet<>();
for(Stype type : out){
result.add(type);
result.addAll(getDependencies(type));
}
if(component.annotation(BaseComponent.class) == null){
result.addAll(baseComponents);
}
//remove it again just in case
out.remove(component);
componentDependencies.put(component, result.asArray());
}
return componentDependencies.get(component);
}
boolean isCompInterface(Stype type){
return interfaceToComp(type) != null;
}
String createName(Selement<?> elem){
Seq<Stype> comps = types(elem.annotation(EntityDef.class), EntityDef::value).map(this::interfaceToComp);;
comps.sortComparing(Selement::name);
return comps.toString("", s -> s.name().replace("Comp", ""));
}
<T extends Annotation> Seq<Stype> types(T t, Cons<T> consumer){
try{
consumer.get(t);
}catch(MirroredTypesException e){
return Seq.with(e.getTypeMirrors()).map(Stype::of);
}
throw new IllegalArgumentException("Missing types.");
}
class GroupDefinition{
final String name;
final ClassName baseType;
final Seq<Stype> components;
final boolean spatial, mapping, collides;
final ObjectSet<Selement> manualInclusions = new ObjectSet<>();
public GroupDefinition(String name, ClassName bestType, Seq<Stype> components, boolean spatial, boolean mapping, boolean collides){
this.baseType = bestType;
this.components = components;
this.name = name;
this.spatial = spatial;
this.mapping = mapping;
this.collides = collides;
}
@Override
public String toString(){
return name;
}
}
class EntityDefinition{
final Seq<GroupDefinition> groups;
final Seq<Stype> components;
final Seq<FieldSpec> fieldSpecs;
final TypeSpec.Builder builder;
final Selement naming;
final String name;
final @Nullable TypeName extend;
int classID;
public EntityDefinition(String name, Builder builder, Selement naming, TypeName extend, Seq<Stype> components, Seq<GroupDefinition> groups, Seq<FieldSpec> fieldSpec){
this.builder = builder;
this.name = name;
this.naming = naming;
this.groups = groups;
this.components = components;
this.extend = extend;
this.fieldSpecs = fieldSpec;
}
@Override
public String toString(){
return "Definition{" +
"groups=" + groups +
"components=" + components +
", base=" + naming +
'}';
}
}
}

View File

@@ -0,0 +1,145 @@
package mindustry.annotations.impl;
import arc.files.*;
import arc.scene.style.*;
import arc.struct.*;
import arc.util.serialization.*;
import com.squareup.javapoet.*;
import mindustry.annotations.Annotations.*;
import mindustry.annotations.*;
import javax.annotation.processing.*;
import javax.lang.model.*;
import javax.lang.model.element.*;
import java.util.*;
@SupportedAnnotationTypes("mindustry.annotations.Annotations.StyleDefaults")
public class AssetsProcess extends BaseProcessor{
@Override
public void process(RoundEnvironment env) throws Exception{
processSounds("Sounds", rootDirectory + "/core/assets/sounds", "arc.audio.Sound");
processSounds("Musics", rootDirectory + "/core/assets/music", "arc.audio.Music");
processUI(env.getElementsAnnotatedWith(StyleDefaults.class));
}
void processUI(Set<? extends Element> elements) throws Exception{
TypeSpec.Builder type = TypeSpec.classBuilder("Tex").addModifiers(Modifier.PUBLIC);
TypeSpec.Builder ictype = TypeSpec.classBuilder("Icon").addModifiers(Modifier.PUBLIC);
TypeSpec.Builder ichtype = TypeSpec.classBuilder("Iconc").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 = rootDirectory + "/core/assets-raw/sprites/ui";
Jval icons = Jval.read(Fi.get(rootDirectory + "/core/assets-raw/fontgen/config.json").readString());
ictype.addField(FieldSpec.builder(ParameterizedTypeName.get(ObjectMap.class, String.class, TextureRegionDrawable.class),
"icons", Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).initializer("new ObjectMap<>()").build());
for(Jval val : icons.get("glyphs").asArray()){
String name = capitalize(val.getString("css", ""));
int code = val.getInt("code", 0);
ichtype.addField(FieldSpec.builder(char.class, name, Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).initializer("(char)" + code).build());
ictype.addField(TextureRegionDrawable.class, name + "Small", Modifier.PUBLIC, Modifier.STATIC);
icload.addStatement(name + "Small = mindustry.ui.Fonts.getGlyph(mindustry.ui.Fonts.def, (char)" + code + ")");
ictype.addField(TextureRegionDrawable.class, name, Modifier.PUBLIC, Modifier.STATIC);
icload.addStatement(name + " = mindustry.ui.Fonts.getGlyph(mindustry.ui.Fonts.icon, (char)" + code + ")");
icload.addStatement("icons.put($S, " + name + ")", name);
icload.addStatement("icons.put($S, " + name + "Small)", name + "Small");
}
Fi.get(resources).walk(p -> {
if(!p.extEquals("png")) return;
String filename = p.name();
filename = filename.substring(0, filename.indexOf("."));
String sfilen = filename;
String dtype = p.name().endsWith(".9.png") ? "arc.scene.style.NinePatchDrawable" : "arc.scene.style.TextureRegionDrawable";
String varname = capitalize(sfilen);
if(SourceVersion.isKeyword(varname)) varname += "s";
type.addField(ClassName.bestGuess(dtype), varname, Modifier.STATIC, Modifier.PUBLIC);
load.addStatement(varname + " = ("+dtype+")arc.Core.atlas.drawable($S)", sfilen);
});
for(Element elem : elements){
Seq.with(((TypeElement)elem).getEnclosedElements()).each(e -> e.getKind() == ElementKind.FIELD, field -> {
String fname = field.getSimpleName().toString();
if(fname.startsWith("default")){
loadStyles.addStatement("arc.Core.scene.addStyle(" + field.asType().toString() + ".class, mindustry.ui.Styles." + fname + ")");
}
});
}
ictype.addMethod(icload.build());
JavaFile.builder(packageName, ichtype.build()).build().writeTo(BaseProcessor.filer);
JavaFile.builder(packageName, ictype.build()).build().writeTo(BaseProcessor.filer);
type.addMethod(load.build());
type.addMethod(loadStyles.build());
JavaFile.builder(packageName, type.build()).build().writeTo(BaseProcessor.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<>();
Fi.get(path).walk(p -> {
String fname = p.name();
String name = p.nameWithoutExtension();
if(names.contains(name)){
BaseProcessor.err("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 = "arc.Core.app.getType() != arc.Application.ApplicationType.iOS ? \"" + filepath + "\" : \"" + filepath.replace(".ogg", ".mp3")+"\"";
loadBegin.addStatement("arc.Core.assets.load("+filename +", "+rtype+".class).loaded = a -> " + name + " = ("+rtype+")a", filepath, filepath.replace(".ogg", ".mp3"));
dispose.addStatement("arc.Core.assets.unload(" + filename + ")");
dispose.addStatement(name + " = null");
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), name, Modifier.STATIC, Modifier.PUBLIC).initializer("new arc.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 arc.mock.Mock" + rtype.substring(rtype.lastIndexOf(".") + 1)+ "()").build());
}
type.addMethod(loadBegin.build());
type.addMethod(dispose.build());
JavaFile.builder(packageName, type.build()).build().writeTo(BaseProcessor.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,154 @@
package mindustry.annotations.impl;
import com.sun.source.tree.*;
import com.sun.source.util.*;
import com.sun.tools.javac.code.Scope;
import com.sun.tools.javac.code.*;
import com.sun.tools.javac.code.Symbol.*;
import com.sun.tools.javac.code.Type.*;
import com.sun.tools.javac.tree.*;
import com.sun.tools.javac.tree.JCTree.*;
import mindustry.annotations.Annotations.*;
import javax.annotation.processing.*;
import javax.lang.model.*;
import javax.lang.model.element.*;
import javax.tools.Diagnostic.*;
import java.lang.annotation.*;
import java.util.*;
@SupportedAnnotationTypes({"java.lang.Override"})
public class CallSuperProcess extends AbstractProcessor{
private Trees trees;
@Override
public void init(ProcessingEnvironment pe){
super.init(pe);
trees = Trees.instance(pe);
}
@Override
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.methodName = e.getSimpleName().toString();
TreePath tp = trees.getPath(e.getEnclosingElement());
codeScanner.scan(tp, trees);
if(codeScanner.callSuperUsed){
List list = codeScanner.method.getBody().getStatements();
if(!doesCallSuper(list, codeScanner.methodName)){
processingEnv.getMessager().printMessage(Kind.ERROR, "Overriding method '" + codeScanner.methodName + "' 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;
}
static class CodeAnalyzerTreeScanner extends TreePathScanner<Object, Trees>{
String methodName;
MethodTree method;
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;
if(tree == null || tree.sym == null) return super.visitClass(classTree, trees);
com.sun.tools.javac.code.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);
}
}
}

View File

@@ -0,0 +1,201 @@
package mindustry.annotations.impl;
import arc.struct.*;
import com.squareup.javapoet.*;
import mindustry.annotations.Annotations.*;
import mindustry.annotations.*;
import mindustry.annotations.util.*;
import javax.annotation.processing.*;
import javax.lang.model.element.*;
import javax.lang.model.type.*;
/**
* 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.
*/
@SupportedAnnotationTypes({
"mindustry.annotations.Annotations.Struct"
})
public class StructProcess extends BaseProcessor{
@Override
public void process(RoundEnvironment env) throws Exception{
Seq<Stype> elements = types(Struct.class);
for(Stype elem : elements){
if(!elem.name().endsWith("Struct")){
err("All classes annotated with @Struct must have their class names end in 'Struct'.", elem);
continue;
}
String structName = elem.name().substring(0, elem.name().length() - "Struct".length());
String structParam = structName.toLowerCase();
TypeSpec.Builder classBuilder = TypeSpec.classBuilder(structName)
.addModifiers(Modifier.FINAL, Modifier.PUBLIC);
try{
Seq<Svar> variables = elem.fields();
int structSize = variables.mapInt(StructProcess::varSize).sum();
int structTotalSize = (structSize <= 8 ? 8 : structSize <= 16 ? 16 : structSize <= 32 ? 32 : 64);
if(variables.size == 0){
err("making a struct with no fields is utterly pointles.", elem);
continue;
}
//obtain type which will be stored
Class<?> structType = typeForSize(structSize);
//[constructor] get(fields...) : structType
MethodSpec.Builder constructor = MethodSpec.methodBuilder("get")
.addModifiers(Modifier.STATIC, Modifier.PUBLIC)
.returns(structType);
StringBuilder cons = new StringBuilder();
StringBuilder doc = new StringBuilder();
doc.append("Bits used: ").append(structSize).append(" / ").append(structTotalSize).append("\n");
int offset = 0;
for(Svar var : variables){
int size = varSize(var);
TypeName varType = var.tname();
String varName = var.name();
//add val param to constructor
constructor.addParameter(varType, varName);
//[get] field(structType) : fieldType
MethodSpec.Builder getter = MethodSpec.methodBuilder(var.name().toString())
.addModifiers(Modifier.STATIC, Modifier.PUBLIC)
.returns(varType)
.addParameter(structType, structParam);
//[set] field(structType, fieldType) : structType
MethodSpec.Builder setter = MethodSpec.methodBuilder(var.name().toString())
.addModifiers(Modifier.STATIC, Modifier.PUBLIC)
.returns(structType)
.addParameter(structType, structParam).addParameter(varType, "value");
//[getter]
if(varType == TypeName.BOOLEAN){
//bools: single bit, is simplified
getter.addStatement("return ($L & (1L << $L)) != 0", structParam, offset);
}else if(varType == TypeName.FLOAT){
//floats: need conversion
getter.addStatement("return Float.intBitsToFloat((int)(($L >>> $L) & $L))", structParam, offset, bitString(size, structTotalSize));
}else{
//bytes, shorts, chars, ints
getter.addStatement("return ($T)(($L >>> $L) & $L)", varType, structParam, offset, bitString(size, structTotalSize));
}
//[setter] + [constructor building]
if(varType == TypeName.BOOLEAN){
cons.append(" | (").append(varName).append(" ? ").append("1L << ").append(offset).append("L : 0)");
//bools: single bit, needs special case to clear things
setter.beginControlFlow("if(value)");
setter.addStatement("return ($T)(($L & ~(1L << $LL)))", structType, structParam, offset);
setter.nextControlFlow("else");
setter.addStatement("return ($T)(($L & ~(1L << $LL)) | (1L << $LL))", structType, structParam, offset, offset);
setter.endControlFlow();
}else if(varType == TypeName.FLOAT){
cons.append(" | (").append("(").append(structType).append(")").append("Float.floatToIntBits(").append(varName).append(") << ").append(offset).append("L)");
//floats: need conversion
setter.addStatement("return ($T)(($L & $L) | (($T)Float.floatToIntBits(value) << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset);
}else{
cons.append(" | (((").append(structType).append(")").append(varName).append(" << ").append(offset).append("L)").append(" & ").append(bitString(offset, size, structTotalSize)).append(")");
//bytes, shorts, chars, ints
setter.addStatement("return ($T)(($L & $L) | (($T)value << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset);
}
doc.append("<br> ").append(varName).append(" [").append(offset).append("..").append(size + offset).append("]\n");
//add finished methods
classBuilder.addMethod(getter.build());
classBuilder.addMethod(setter.build());
offset += size;
}
classBuilder.addJavadoc(doc.toString());
//add constructor final statement + add to class and build
constructor.addStatement("return ($T)($L)", structType, cons.toString().substring(3));
classBuilder.addMethod(constructor.build());
JavaFile.builder(packageName, classBuilder.build()).build().writeTo(BaseProcessor.filer);
}catch(IllegalArgumentException e){
e.printStackTrace();
err(e.getMessage(), elem);
}
}
}
static String bitString(int offset, int size, int totalSize){
StringBuilder builder = new StringBuilder();
for(int i = 0; i < offset; i++) builder.append('0');
for(int i = 0; i < size; i++) builder.append('1');
for(int i = 0; i < totalSize - size - offset; i++) builder.append('0');
return "0b" + builder.reverse().toString() + "L";
}
static String bitString(int size, int totalSize){
StringBuilder builder = new StringBuilder();
for(int i = 0; i < size; i++) builder.append('1');
for(int i = 0; i < totalSize - size; i++) builder.append('0');
return "0b" + builder.reverse().toString() + "L";
}
static int varSize(Svar var) throws IllegalArgumentException{
if(!var.mirror().getKind().isPrimitive()){
throw new IllegalArgumentException("All struct fields must be primitives: " + var);
}
StructField an = var.annotation(StructField.class);
if(var.mirror().getKind() == TypeKind.BOOLEAN && an != null && an.value() != 1){
throw new IllegalArgumentException("Booleans can only be one bit long... why would you do this?");
}
if(var.mirror().getKind() == TypeKind.FLOAT && an != null && an.value() != 32){
throw new IllegalArgumentException("Float size can't be changed. Very sad.");
}
return an == null ? typeSize(var.mirror().getKind()) : an.value();
}
static Class<?> typeForSize(int size) throws IllegalArgumentException{
if(size <= 8){
return byte.class;
}else if(size <= 16){
return short.class;
}else if(size <= 32){
return int.class;
}else if(size <= 64){
return long.class;
}
throw new IllegalArgumentException("Too many fields, must fit in 64 bits. Curent size: " + size);
}
/** returns a type's element size in bits. */
static int typeSize(TypeKind kind) throws IllegalArgumentException{
switch(kind){
case BOOLEAN:
return 1;
case BYTE:
return 8;
case SHORT:
return 16;
case FLOAT:
case CHAR:
case INT:
return 32;
default:
throw new IllegalArgumentException("Invalid type kind: " + kind + ". Note that doubles and longs are not supported.");
}
}
}

View File

@@ -0,0 +1,114 @@
package mindustry.annotations.misc;
import arc.*;
import arc.graphics.g2d.*;
import arc.struct.*;
import arc.struct.ObjectMap.*;
import com.squareup.javapoet.*;
import mindustry.annotations.Annotations.*;
import mindustry.annotations.*;
import mindustry.annotations.util.*;
import javax.annotation.processing.*;
import javax.lang.model.element.*;
@SupportedAnnotationTypes("mindustry.annotations.Annotations.Load")
public class LoadRegionProcessor extends BaseProcessor{
@Override
public void process(RoundEnvironment env) throws Exception{
TypeSpec.Builder regionClass = TypeSpec.classBuilder("ContentRegions")
.addModifiers(Modifier.PUBLIC);
MethodSpec.Builder method = MethodSpec.methodBuilder("loadRegions")
.addParameter(tname("mindustry.ctype.MappableContent"), "content")
.addModifiers(Modifier.STATIC, Modifier.PUBLIC);
ObjectMap<Stype, Seq<Svar>> fieldMap = new ObjectMap<>();
for(Svar field : fields(Load.class)){
if(!field.is(Modifier.PUBLIC)){
err("@LoadRegion field must be public", field);
}
fieldMap.get(field.enclosingType(), Seq::new).add(field);
}
for(Entry<Stype, Seq<Svar>> entry : fieldMap){
method.beginControlFlow("if(content instanceof $T)", entry.key.tname());
for(Svar field : entry.value){
Load an = field.annotation(Load.class);
//get # of array dimensions
int dims = count(field.mirror().toString(), "[]");
boolean doFallback = !an.fallback().equals("error");
String fallbackString = doFallback ? ", " + parse(an.fallback()) : "";
//not an array
if(dims == 0){
method.addStatement("(($T)content).$L = $T.atlas.find($L$L)", entry.key.tname(), field.name(), Core.class, parse(an.value()), fallbackString);
}else{
//is an array, create length string
int[] lengths = an.lengths();
if(lengths.length == 0) lengths = new int[]{an.length()};
if(dims != lengths.length){
err("Length dimensions must match array dimensions: " + dims + " != " + lengths.length, field);
}
StringBuilder lengthString = new StringBuilder();
for(int value : lengths) lengthString.append("[").append(value).append("]");
method.addStatement("(($T)content).$L = new $T$L", entry.key.tname(), field.name(), TextureRegion.class, lengthString.toString());
for(int i = 0; i < dims; i++){
method.beginControlFlow("for(int INDEX$L = 0; INDEX$L < $L; INDEX$L ++)", i, i, lengths[i], i);
}
StringBuilder indexString = new StringBuilder();
for(int i = 0; i < dims; i++){
indexString.append("[INDEX").append(i).append("]");
}
method.addStatement("(($T)content).$L$L = $T.atlas.find($L$L)", entry.key.tname(), field.name(), indexString.toString(), Core.class, parse(an.value()), fallbackString);
for(int i = 0; i < dims; i++){
method.endControlFlow();
}
}
}
method.endControlFlow();
}
regionClass.addMethod(method.build());
write(regionClass);
}
private static int count(String str, String substring){
int lastIndex = 0;
int count = 0;
while(lastIndex != -1){
lastIndex = str.indexOf(substring, lastIndex);
if(lastIndex != -1){
count ++;
lastIndex += substring.length();
}
}
return count;
}
private String parse(String value){
value = '"' + value + '"';
value = value.replace("@size", "\" + ((mindustry.world.Block)content).size + \"");
value = value.replace("@", "\" + content.name + \"");
value = value.replace("#1", "\" + INDEX0 + \"");
value = value.replace("#2", "\" + INDEX1 + \"");
value = value.replace("#", "\" + INDEX0 + \"");
return value;
}
}

View File

@@ -0,0 +1,104 @@
package mindustry.annotations.misc;
import arc.func.*;
import arc.struct.*;
import com.squareup.javapoet.*;
import mindustry.annotations.Annotations.*;
import mindustry.annotations.*;
import mindustry.annotations.util.*;
import javax.annotation.processing.*;
import javax.lang.model.element.*;
@SupportedAnnotationTypes("mindustry.annotations.Annotations.RegisterStatement")
public class LogicStatementProcessor extends BaseProcessor{
@Override
public void process(RoundEnvironment env) throws Exception{
TypeSpec.Builder type = TypeSpec.classBuilder("LogicIO")
.addModifiers(Modifier.PUBLIC);
MethodSpec.Builder writer = MethodSpec.methodBuilder("write")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.addParameter(Object.class, "obj")
.addParameter(StringBuilder.class, "out");
MethodSpec.Builder reader = MethodSpec.methodBuilder("read")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.returns(tname("mindustry.logic.LStatement"))
.addParameter(String[].class, "tokens");
Seq<Stype> types = types(RegisterStatement.class);
type.addField(FieldSpec.builder(
ParameterizedTypeName.get(
ClassName.get(Seq.class),
ParameterizedTypeName.get(ClassName.get(Prov.class),
tname("mindustry.logic.LStatement"))), "allStatements", Modifier.PUBLIC, Modifier.STATIC)
.initializer("Seq.with(" + types.toString(", ", t -> "" + t.toString() + "::new") + ")").build());
boolean beganWrite = false, beganRead = false;
for(Stype c : types){
String name = c.annotation(RegisterStatement.class).value();
if(beganWrite){
writer.nextControlFlow("else if(obj instanceof $T)", c.mirror());
}else{
writer.beginControlFlow("if(obj instanceof $T)", c.mirror());
beganWrite = true;
}
//write the name & individual fields
writer.addStatement("out.append($S)", name);
Seq<Svar> fields = c.fields();
String readSt = "if(tokens[0].equals($S))";
if(beganRead){
reader.nextControlFlow("else " + readSt, name);
}else{
reader.beginControlFlow(readSt, name);
beganRead = true;
}
reader.addStatement("$T result = new $T()", c.mirror(), c.mirror());
int index = 0;
for(Svar field : fields){
if(field.is(Modifier.TRANSIENT)) continue;
writer.addStatement("out.append(\" \")");
writer.addStatement("out.append((($T)obj).$L$L)", c.mirror(), field.name(),
Seq.with(typeu.directSupertypes(field.mirror())).contains(t -> t.toString().contains("java.lang.Enum")) ? ".name()" :
"");
//reading primitives, strings and enums is supported; nothing else is
reader.addStatement("if(tokens.length > $L) result.$L = $L(tokens[$L])",
index + 1,
field.name(),
field.mirror().toString().equals("java.lang.String") ?
"" : (field.tname().isPrimitive() ? field.tname().box().toString() :
field.mirror().toString()) + ".valueOf", //if it's not a string, it must have a valueOf method
index + 1
);
index ++;
}
reader.addStatement("result.afterRead()");
reader.addStatement("return result");
}
reader.endControlFlow();
writer.endControlFlow();
reader.addStatement("return null");
type.addMethod(writer.build());
type.addMethod(reader.build());
write(type);
}
}

View File

@@ -1,4 +1,4 @@
package io.anuke.annotations; package mindustry.annotations.remote;
import java.util.ArrayList; import java.util.ArrayList;

View File

@@ -1,6 +1,6 @@
package io.anuke.annotations; package mindustry.annotations.remote;
import io.anuke.annotations.Annotations.*; import mindustry.annotations.Annotations.*;
import javax.lang.model.element.ExecutableElement; import javax.lang.model.element.ExecutableElement;

View File

@@ -0,0 +1,123 @@
package mindustry.annotations.remote;
import arc.struct.*;
import com.squareup.javapoet.*;
import mindustry.annotations.Annotations.*;
import mindustry.annotations.*;
import mindustry.annotations.util.*;
import mindustry.annotations.util.TypeIOResolver.*;
import javax.annotation.processing.*;
import javax.lang.model.element.*;
import java.util.*;
/** The annotation processor for generating remote method call code. */
@SupportedAnnotationTypes({
"mindustry.annotations.Annotations.Remote",
"mindustry.annotations.Annotations.TypeIOHandler"
})
public class RemoteProcess extends BaseProcessor{
/** Maximum size of each event packet. */
public static final int maxPacketSize = 4096;
/** Warning on top of each autogenerated file. */
public static final String autogenWarning = "Autogenerated file. Do not modify!\n";
/** Name of class that handles reading and invoking packets on the server. */
private static final String readServerName = "RemoteReadServer";
/** Name of class that handles reading and invoking packets on the client. */
private static final String readClientName = "RemoteReadClient";
/** Simple class name of generated class name. */
private static final String callLocation = "Call";
//class serializers
private ClassSerializer serializer;
//all elements with the Remote annotation
private Seq<Smethod> elements;
//map of all classes to generate by name
private HashMap<String, ClassEntry> classMap;
//list of all method entries
private Seq<MethodEntry> methods;
//list of all method entries
private Seq<ClassEntry> classes;
{
rounds = 2;
}
@Override
public void process(RoundEnvironment roundEnv) throws Exception{
//round 1: find all annotations, generate *writers*
if(round == 1){
//get serializers
serializer = TypeIOResolver.resolve(this);
//last method ID used
int lastMethodID = 0;
//find all elements with the Remote annotation
elements = methods(Remote.class);
//map of all classes to generate by name
classMap = new HashMap<>();
//list of all method entries
methods = new Seq<>();
//list of all method entries
classes = new Seq<>();
Seq<Smethod> orderedElements = elements.copy();
orderedElements.sortComparing(Object::toString);
//create methods
for(Smethod element : orderedElements){
Remote annotation = element.annotation(Remote.class);
//check for static
if(!element.is(Modifier.STATIC) || !element.is(Modifier.PUBLIC)){
err("All @Remote methods must be public and static: ", element);
}
//can't generate none methods
if(annotation.targets() == Loc.none){
err("A @Remote method's targets() cannot be equal to 'none':", element);
}
//get and create class entry if needed
if(!classMap.containsKey(callLocation)){
ClassEntry clas = new ClassEntry(callLocation);
classMap.put(callLocation, clas);
classes.add(clas);
}
ClassEntry entry = classMap.get(callLocation);
//create and add entry
MethodEntry method = new MethodEntry(entry.name, BaseProcessor.getMethodName(element.e), annotation.targets(), annotation.variants(),
annotation.called(), annotation.unreliable(), annotation.forward(), lastMethodID++, element.e, annotation.priority());
entry.methods.add(method);
methods.add(method);
}
//create read/write generators
RemoteWriteGenerator writegen = new RemoteWriteGenerator(serializer);
//generate the methods to invoke (write)
writegen.generateFor(classes, packageName);
}else if(round == 2){ //round 2: generate all *readers*
RemoteReadGenerator readgen = new RemoteReadGenerator(serializer);
//generate server readers
readgen.generateFor(methods.select(method -> method.where.isClient), readServerName, packageName, true);
//generate client readers
readgen.generateFor(methods.select(method -> method.where.isServer), readClientName, packageName, false);
//create class for storing unique method hash
TypeSpec.Builder hashBuilder = TypeSpec.classBuilder("MethodHash").addModifiers(Modifier.PUBLIC);
hashBuilder.addJavadoc(autogenWarning);
hashBuilder.addField(FieldSpec.builder(int.class, "HASH", Modifier.STATIC, Modifier.PUBLIC, Modifier.FINAL)
.initializer("$1L", Arrays.hashCode(methods.map(m -> m.element).toArray())).build());
//build and write resulting hash class
TypeSpec spec = hashBuilder.build();
JavaFile.builder(packageName, spec).build().writeTo(BaseProcessor.filer);
}
}
}

View File

@@ -1,23 +1,19 @@
package io.anuke.annotations; package mindustry.annotations.remote;
import arc.struct.*;
import arc.util.io.*;
import com.squareup.javapoet.*; import com.squareup.javapoet.*;
import io.anuke.annotations.IOFinder.ClassSerializer; import mindustry.annotations.*;
import mindustry.annotations.util.TypeIOResolver.*;
import javax.lang.model.element.*; import javax.lang.model.element.*;
import javax.tools.Diagnostic.Kind;
import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.nio.ByteBuffer;
import java.util.HashMap;
import java.util.List;
/** Generates code for reading remote invoke packets on the client and server. */ /** Generates code for reading remote invoke packets on the client and server. */
public class RemoteReadGenerator{ public class RemoteReadGenerator{
private final HashMap<String, ClassSerializer> serializers; private final ClassSerializer serializers;
/** Creates a read generator that uses the supplied serializer setup. */ /** Creates a read generator that uses the supplied serializer setup. */
public RemoteReadGenerator(HashMap<String, ClassSerializer> serializers){ public RemoteReadGenerator(ClassSerializer serializers){
this.serializers = serializers; this.serializers = serializers;
} }
@@ -28,28 +24,21 @@ public class RemoteReadGenerator{
* @param packageName Full target package name. * @param packageName Full target package name.
* @param needsPlayer Whether this read method requires a reference to the player sender. * @param needsPlayer Whether this read method requires a reference to the player sender.
*/ */
public void generateFor(List<MethodEntry> entries, String className, String packageName, boolean needsPlayer) public void generateFor(Seq<MethodEntry> entries, String className, String packageName, boolean needsPlayer) throws Exception{
throws IllegalAccessException, InvocationTargetException, InstantiationException, NoSuchMethodException, IOException{
TypeSpec.Builder classBuilder = TypeSpec.classBuilder(className).addModifiers(Modifier.PUBLIC); TypeSpec.Builder classBuilder = TypeSpec.classBuilder(className).addModifiers(Modifier.PUBLIC);
classBuilder.addJavadoc(RemoteMethodAnnotationProcessor.autogenWarning); classBuilder.addJavadoc(RemoteProcess.autogenWarning);
//create main method builder //create main method builder
MethodSpec.Builder readMethod = MethodSpec.methodBuilder("readPacket") MethodSpec.Builder readMethod = MethodSpec.methodBuilder("readPacket")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC) .addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.addParameter(ByteBuffer.class, "buffer") //buffer to read form .addParameter(Reads.class, "read") //buffer to read form
.addParameter(int.class, "id") //ID of method type to read .addParameter(int.class, "id") //ID of method type to read
.returns(void.class); .returns(void.class);
if(needsPlayer){ if(needsPlayer){
//since the player type isn't loaded yet, creating a type def is necessary
//this requires reflection since the TypeName constructor is private for some reason
Constructor<TypeName> cons = TypeName.class.getDeclaredConstructor(String.class);
cons.setAccessible(true);
TypeName playerType = cons.newInstance("io.anuke.mindustry.entities.type.Player");
//add player parameter //add player parameter
readMethod.addParameter(playerType, "player"); readMethod.addParameter(ClassName.get(packageName, "Player"), "player");
} }
CodeBlock.Builder readBlock = CodeBlock.builder(); //start building block of code inside read method CodeBlock.Builder readBlock = CodeBlock.builder(); //start building block of code inside read method
@@ -79,26 +68,22 @@ public class RemoteReadGenerator{
//name of parameter //name of parameter
String varName = var.getSimpleName().toString(); String varName = var.getSimpleName().toString();
//captialized version of type name for reading primitives //captialized version of type name for reading primitives
String capName = typeName.equals("byte") ? "" : Character.toUpperCase(typeName.charAt(0)) + typeName.substring(1); String pname = typeName.equals("boolean") ? "bool" : typeName.charAt(0) + "";
//write primitives automatically //write primitives automatically
if(Utils.isPrimitive(typeName)){ if(BaseProcessor.isPrimitive(typeName)){
if(typeName.equals("boolean")){ readBlock.addStatement("$L $L = read.$L()", typeName, varName, pname);
readBlock.addStatement("boolean " + varName + " = buffer.get() == 1");
}else{
readBlock.addStatement(typeName + " " + varName + " = buffer.get" + capName + "()");
}
}else{ }else{
//else, try and find a serializer //else, try and find a serializer
ClassSerializer ser = serializers.get(typeName); String ser = serializers.readers.get(typeName.replace("mindustry.gen.", ""), SerializerResolver.locate(entry.element, var.asType(), false));
if(ser == null){ //make sure a serializer exists! if(ser == null){ //make sure a serializer exists!
Utils.messager.printMessage(Kind.ERROR, "No @ReadClass method to read class type: '" + typeName + "'", var); BaseProcessor.err("No read method to read class type '" + typeName + "' in method " + entry.targetMethod + "; " + serializers.readers, var);
return; return;
} }
//add statement for reading it //add statement for reading it
readBlock.addStatement(typeName + " " + varName + " = " + ser.readMethod + "(buffer)"); readBlock.addStatement(typeName + " " + varName + " = " + ser + "(read)");
} }
//append variable name to string builder //append variable name to string builder
@@ -118,7 +103,7 @@ public class RemoteReadGenerator{
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)");
@@ -139,6 +124,6 @@ public class RemoteReadGenerator{
//build and write resulting class //build and write resulting class
TypeSpec spec = classBuilder.build(); TypeSpec spec = classBuilder.build();
JavaFile.builder(packageName, spec).build().writeTo(Utils.filer); JavaFile.builder(packageName, spec).build().writeTo(BaseProcessor.filer);
} }
} }

View File

@@ -1,36 +1,39 @@
package io.anuke.annotations; package mindustry.annotations.remote;
import arc.struct.*;
import arc.util.io.*;
import com.squareup.javapoet.*; import com.squareup.javapoet.*;
import io.anuke.annotations.Annotations.Loc; import mindustry.annotations.Annotations.*;
import io.anuke.annotations.IOFinder.ClassSerializer; import mindustry.annotations.*;
import mindustry.annotations.util.TypeIOResolver.*;
import javax.lang.model.element.*; import javax.lang.model.element.*;
import javax.tools.Diagnostic.Kind; import java.io.*;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.HashMap;
import java.util.List;
/** Generates code for writing remote invoke packets on the client and server. */ /** Generates code for writing remote invoke packets on the client and server. */
public class RemoteWriteGenerator{ public class RemoteWriteGenerator{
private final HashMap<String, ClassSerializer> serializers; private final ClassSerializer serializers;
/** Creates a write generator that uses the supplied serializer setup. */ /** Creates a write generator that uses the supplied serializer setup. */
public RemoteWriteGenerator(HashMap<String, ClassSerializer> serializers){ public RemoteWriteGenerator(ClassSerializer serializers){
this.serializers = serializers; this.serializers = serializers;
} }
/** Generates all classes in this list. */ /** Generates all classes in this list. */
public void generateFor(List<ClassEntry> entries, String packageName) throws IOException{ public void generateFor(Seq<ClassEntry> entries, String packageName) throws IOException{
for(ClassEntry entry : entries){ for(ClassEntry entry : entries){
//create builder //create builder
TypeSpec.Builder classBuilder = TypeSpec.classBuilder(entry.name).addModifiers(Modifier.PUBLIC); TypeSpec.Builder classBuilder = TypeSpec.classBuilder(entry.name).addModifiers(Modifier.PUBLIC);
classBuilder.addJavadoc(RemoteMethodAnnotationProcessor.autogenWarning); classBuilder.addJavadoc(RemoteProcess.autogenWarning);
//add temporary write buffer //add temporary write buffer
classBuilder.addField(FieldSpec.builder(ByteBuffer.class, "TEMP_BUFFER", Modifier.STATIC, Modifier.PRIVATE, Modifier.FINAL) classBuilder.addField(FieldSpec.builder(ReusableByteOutStream.class, "OUT", Modifier.STATIC, Modifier.PRIVATE, Modifier.FINAL)
.initializer("ByteBuffer.allocate($1L)", RemoteMethodAnnotationProcessor.maxPacketSize).build()); .initializer("new ReusableByteOutStream($L)", RemoteProcess.maxPacketSize).build());
//add writer for that buffer
classBuilder.addField(FieldSpec.builder(Writes.class, "WRITE", Modifier.STATIC, Modifier.PRIVATE, Modifier.FINAL)
.initializer("new Writes(new $T(OUT))", DataOutputStream.class).build());
//go through each method entry in this class //go through each method entry in this class
for(MethodEntry methodEntry : entry.methods){ for(MethodEntry methodEntry : entry.methods){
@@ -52,7 +55,7 @@ public class RemoteWriteGenerator{
//build and write resulting class //build and write resulting class
TypeSpec spec = classBuilder.build(); TypeSpec spec = classBuilder.build();
JavaFile.builder(packageName, spec).build().writeTo(Utils.filer); JavaFile.builder(packageName, spec).build().writeTo(BaseProcessor.filer);
} }
} }
@@ -62,7 +65,7 @@ public class RemoteWriteGenerator{
//create builder //create builder
MethodSpec.Builder method = MethodSpec.methodBuilder(elem.getSimpleName().toString() + (forwarded ? "__forward" : "")) //add except suffix when forwarding MethodSpec.Builder method = MethodSpec.methodBuilder(elem.getSimpleName().toString() + (forwarded ? "__forward" : "")) //add except suffix when forwarding
.addModifiers(Modifier.STATIC, Modifier.SYNCHRONIZED) .addModifiers(Modifier.STATIC)
.returns(void.class); .returns(void.class);
//forwarded methods aren't intended for use, and are not public //forwarded methods aren't intended for use, and are not public
@@ -73,31 +76,31 @@ public class RemoteWriteGenerator{
//validate client methods to make sure //validate client methods to make sure
if(methodEntry.where.isClient){ if(methodEntry.where.isClient){
if(elem.getParameters().isEmpty()){ if(elem.getParameters().isEmpty()){
Utils.messager.printMessage(Kind.ERROR, "Client invoke methods must have a first parameter of type Player.", elem); BaseProcessor.err("Client invoke methods must have a first parameter of type Player", elem);
return; return;
} }
if(!elem.getParameters().get(0).asType().toString().equals("io.anuke.mindustry.entities.type.Player")){ if(!elem.getParameters().get(0).asType().toString().contains("Player")){
Utils.messager.printMessage(Kind.ERROR, "Client invoke methods should have a first parameter of type Player.", elem); BaseProcessor.err("Client invoke methods should have a first parameter of type Player", elem);
return; return;
} }
} }
//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("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("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) + " || !mindustry.Vars.net.active())");
} }
//concatenate parameters //concatenate parameters
@@ -106,7 +109,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.player"); results.append("mindustry.Vars.player");
}else{ }else{
results.append(var.getSimpleName()); results.append(var.getSimpleName());
} }
@@ -127,15 +130,15 @@ public class RemoteWriteGenerator{
method.beginControlFlow("if(" + getCheckString(methodEntry.where) + ")"); method.beginControlFlow("if(" + getCheckString(methodEntry.where) + ")");
//add statement to create packet from pool //add statement to create packet from pool
method.addStatement("$1N packet = $2N.obtain($1N.class, $1N::new)", "io.anuke.mindustry.net.Packets.InvokePacket", "io.anuke.arc.util.pooling.Pools"); method.addStatement("$1N packet = $2N.obtain($1N.class, $1N::new)", "mindustry.net.Packets.InvokePacket", "arc.util.pooling.Pools");
//assign buffer
method.addStatement("packet.writeBuffer = TEMP_BUFFER");
//assign priority //assign priority
method.addStatement("packet.priority = (byte)" + methodEntry.priority.ordinal()); method.addStatement("packet.priority = (byte)" + methodEntry.priority.ordinal());
//assign method ID //assign method ID
method.addStatement("packet.type = (byte)" + methodEntry.id); method.addStatement("packet.type = (byte)" + methodEntry.id);
//rewind buffer //reset stream
method.addStatement("TEMP_BUFFER.position(0)"); method.addStatement("OUT.reset()");
method.addTypeVariables(Seq.with(elem.getTypeParameters()).map(BaseProcessor::getTVN));
for(int i = 0; i < elem.getParameters().size(); i++){ for(int i = 0; i < elem.getParameters().size(); i++){
//first argument is skipped as it is always the player caller //first argument is skipped as it is always the player caller
@@ -145,8 +148,12 @@ public class RemoteWriteGenerator{
VariableElement var = elem.getParameters().get(i); VariableElement var = elem.getParameters().get(i);
try{
//add parameter to method //add parameter to method
method.addParameter(TypeName.get(var.asType()), var.getSimpleName().toString()); method.addParameter(TypeName.get(var.asType()), var.getSimpleName().toString());
}catch(Throwable t){
throw new RuntimeException("Error parsing method " + methodEntry.targetMethod);
}
//name of parameter //name of parameter
String varName = var.getSimpleName().toString(); String varName = var.getSimpleName().toString();
@@ -159,27 +166,22 @@ 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(mindustry.Vars.net.server())");
} }
if(Utils.isPrimitive(typeName)){ //check if it's a primitive, and if so write it if(BaseProcessor.isPrimitive(typeName)){ //check if it's a primitive, and if so write it
if(typeName.equals("boolean")){ //booleans are special method.addStatement("WRITE.$L($L)", typeName.equals("boolean") ? "bool" : typeName.charAt(0) + "", varName);
method.addStatement("TEMP_BUFFER.put(" + varName + " ? (byte)1 : 0)");
}else{
method.addStatement("TEMP_BUFFER.put" +
capName + "(" + varName + ")");
}
}else{ }else{
//else, try and find a serializer //else, try and find a serializer
ClassSerializer ser = serializers.get(typeName); String ser = serializers.writers.get(typeName.replace("mindustry.gen.", ""), SerializerResolver.locate(elem, var.asType(), true));
if(ser == null){ //make sure a serializer exists! if(ser == null){ //make sure a serializer exists!
Utils.messager.printMessage(Kind.ERROR, "No @WriteClass method to write class type: '" + typeName + "'", var); BaseProcessor.err("No @WriteClass method to write class type: '" + typeName + "'", var);
return; return;
} }
//add statement for writing it //add statement for writing it
method.addStatement(ser.writeMethod + "(TEMP_BUFFER, " + varName + ")"); method.addStatement(ser + "(WRITE, " + varName + ")");
} }
if(writePlayerSkipCheck){ //write end check if(writePlayerSkipCheck){ //write end check
@@ -187,26 +189,28 @@ public class RemoteWriteGenerator{
} }
} }
//assign packet bytes
method.addStatement("packet.bytes = OUT.getBytes()");
//assign packet length //assign packet length
method.addStatement("packet.writeLength = TEMP_BUFFER.position()"); method.addStatement("packet.length = OUT.size()");
String sendString; String sendString;
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 = "mindustry.Vars.net.send(";
}else{ }else{
sendString = "sendExcept(exceptSenderID, "; sendString = "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 = "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 ? "mindustry.net.Net.SendMode.udp" : "mindustry.net.Net.SendMode.tcp") + ")");
//end check for server/client //end check for server/client
@@ -217,8 +221,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 ? "mindustry.Vars.net.server() || mindustry.Vars.net.client()" :
loc.isClient ? "io.anuke.mindustry.net.Net.client()" : loc.isClient ? "mindustry.Vars.net.client()" :
loc.isServer ? "io.anuke.mindustry.net.Net.server()" : "false"; loc.isServer ? "mindustry.Vars.net.server()" : "false";
} }
} }

View File

@@ -0,0 +1,22 @@
package mindustry.annotations.remote;
import arc.struct.*;
import javax.lang.model.element.*;
import javax.lang.model.type.*;
public class SerializerResolver{
public static String locate(ExecutableElement elem, TypeMirror mirror, boolean write){
//generic type
if((mirror.toString().equals("T") && Seq.with(elem.getTypeParameters().get(0).getBounds()).contains(SerializerResolver::isEntity)) ||
isEntity(mirror)){
return write ? "mindustry.io.TypeIO.writeEntity" : "mindustry.io.TypeIO.readEntity";
}
return null;
}
private static boolean isEntity(TypeMirror mirror){
return !mirror.toString().contains(".") || mirror.toString().startsWith("mindustry.gen.") && !mirror.toString().startsWith("byte");
}
}

View File

@@ -0,0 +1,262 @@
package mindustry.annotations.util;
import arc.func.*;
import com.sun.tools.javac.code.*;
import com.sun.tools.javac.code.Attribute.Array;
import com.sun.tools.javac.code.Attribute.Enum;
import com.sun.tools.javac.code.Attribute.Error;
import com.sun.tools.javac.code.Attribute.Visitor;
import com.sun.tools.javac.code.Attribute.*;
import com.sun.tools.javac.code.Type;
import com.sun.tools.javac.code.Symbol.*;
import com.sun.tools.javac.code.Type.ArrayType;
import com.sun.tools.javac.util.List;
import com.sun.tools.javac.util.Name;
import com.sun.tools.javac.util.*;
import sun.reflect.annotation.*;
import javax.lang.model.element.*;
import javax.lang.model.type.*;
import java.lang.Class;
import java.lang.annotation.*;
import java.lang.reflect.*;
import java.util.*;
import java.util.Map.*;
//replaces the standard Java AnnotationProxyMaker with one that doesn't crash
//thanks, oracle.
@SuppressWarnings({"sunapi", "unchecked"})
public class AnnotationProxyMaker{
private final Compound anno;
private final Class<? extends Annotation> annoType;
private AnnotationProxyMaker(Compound var1, Class<? extends Annotation> var2){
this.anno = var1;
this.annoType = var2;
}
public static <A extends Annotation> A generateAnnotation(Compound var0, Class<A> var1){
AnnotationProxyMaker var2 = new AnnotationProxyMaker(var0, var1);
return (A)var1.cast(var2.generateAnnotation());
}
private Annotation generateAnnotation(){
return AnnotationParser.annotationForMap(this.annoType, this.getAllReflectedValues());
}
private Map<String, Object> getAllReflectedValues(){
LinkedHashMap var1 = new LinkedHashMap();
Iterator var2 = this.getAllValues().entrySet().iterator();
while(var2.hasNext()){
Entry var3 = (Entry)var2.next();
MethodSymbol var4 = (MethodSymbol)var3.getKey();
Object var5 = this.generateValue(var4, (Attribute)var3.getValue());
if(var5 != null){
var1.put(var4.name.toString(), var5);
}
}
return var1;
}
private Map<MethodSymbol, Attribute> getAllValues(){
LinkedHashMap map = new LinkedHashMap();
ClassSymbol cl = (ClassSymbol)this.anno.type.tsym;
//try to use Java 8 API for this if possible
try{
Class entryClass = Class.forName("com.sun.tools.javac.code.Scope$Entry");
Object members = cl.members();
Field field = members.getClass().getField("elems");
Object elems = field.get(members);
Field siblingField = entryClass.getField("sibling");
Field symField = entryClass.getField("sym");
for(Object currEntry = elems; currEntry != null; currEntry = siblingField.get(currEntry)){
handleSymbol((Symbol)symField.get(currEntry), map);
}
}catch(Throwable e){
//otherwise try other API
try{
Class lookupClass = Class.forName("com.sun.tools.javac.code.Scope$LookupKind");
Field nonRecField = lookupClass.getField("NON_RECURSIVE");
Object nonRec = nonRecField.get(null);
Scope scope = cl.members();
Method getSyms = scope.getClass().getMethod("getSymbols", lookupClass);
Iterable<Symbol> it = (Iterable<Symbol>)getSyms.invoke(scope, nonRec);
Iterator<Symbol> i = it.iterator();
while(i.hasNext()){
handleSymbol(i.next(), map);
}
}catch(Throwable death){
//I tried
throw new RuntimeException(death);
}
}
for(Pair var7 : this.anno.values){
map.put(var7.fst, var7.snd);
}
return map;
}
private void handleSymbol(Symbol sym, LinkedHashMap map){
if(sym.getKind() == ElementKind.METHOD){
MethodSymbol var4 = (MethodSymbol)sym;
Attribute var5 = var4.getDefaultValue();
if(var5 != null){
map.put(var4, var5);
}
}
}
private Object generateValue(MethodSymbol var1, Attribute var2){
AnnotationProxyMaker.ValueVisitor var3 = new AnnotationProxyMaker.ValueVisitor(var1);
return var3.getValue(var2);
}
private class ValueVisitor implements Visitor{
private MethodSymbol meth;
private Class<?> returnClass;
private Object value;
ValueVisitor(MethodSymbol var2){
this.meth = var2;
}
Object getValue(Attribute var1){
Method var2;
try{
var2 = AnnotationProxyMaker.this.annoType.getMethod(this.meth.name.toString());
}catch(NoSuchMethodException var4){
return null;
}
this.returnClass = var2.getReturnType();
var1.accept(this);
if(!(this.value instanceof ExceptionProxy) && !AnnotationType.invocationHandlerReturnType(this.returnClass).isInstance(this.value)){
this.typeMismatch(var2, var1);
}
return this.value;
}
public void visitConstant(Constant var1){
this.value = var1.getValue();
}
public void visitClass(com.sun.tools.javac.code.Attribute.Class var1){
this.value = mirrorProxy(var1.classType);
}
public void visitArray(Array var1){
Name var2 = ((ArrayType)var1.type).elemtype.tsym.getQualifiedName();
int var6;
if(var2.equals(var2.table.names.java_lang_Class)){
ListBuffer var14 = new ListBuffer();
Attribute[] var15 = var1.values;
int var16 = var15.length;
for(var6 = 0; var6 < var16; ++var6){
Attribute var7 = var15[var6];
Type var8 = var7 instanceof UnresolvedClass ? ((UnresolvedClass)var7).classType : ((com.sun.tools.javac.code.Attribute.Class)var7).classType;
var14.append(var8);
}
this.value = mirrorProxy(var14.toList());
}else{
int var3 = var1.values.length;
Class var4 = this.returnClass;
this.returnClass = this.returnClass.getComponentType();
try{
Object var5 = java.lang.reflect.Array.newInstance(this.returnClass, var3);
for(var6 = 0; var6 < var3; ++var6){
var1.values[var6].accept(this);
if(this.value == null || this.value instanceof ExceptionProxy){
return;
}
try{
java.lang.reflect.Array.set(var5, var6, this.value);
}catch(IllegalArgumentException var12){
this.value = null;
return;
}
}
this.value = var5;
}finally{
this.returnClass = var4;
}
}
}
public void visitEnum(Enum var1){
if(this.returnClass.isEnum()){
String var2 = var1.value.toString();
try{
this.value = java.lang.Enum.valueOf((Class)this.returnClass, var2);
}catch(IllegalArgumentException var4){
this.value = proxify(() -> new EnumConstantNotPresentException((Class)this.returnClass, var2));
}
}else{
this.value = null;
}
}
public void visitCompound(Compound var1){
try{
Class var2 = this.returnClass.asSubclass(Annotation.class);
this.value = AnnotationProxyMaker.generateAnnotation(var1, var2);
}catch(ClassCastException var3){
this.value = null;
}
}
public void visitError(Error var1){
if(var1 instanceof UnresolvedClass){
this.value = mirrorProxy(((UnresolvedClass)var1).classType);
}else{
this.value = null;
}
}
private void typeMismatch(Method var1, final Attribute var2){
this.value = proxify(() -> new AnnotationTypeMismatchException(var1, var2.type.toString()));
}
}
private static Object mirrorProxy(Type t){
return proxify(() -> new MirroredTypeException(t));
}
private static Object mirrorProxy(List<Type> t){
return proxify(() -> new MirroredTypesException(t));
}
private static <T extends Throwable> Object proxify(Prov<T> prov){
try{
return new ExceptionProxy(){
@Override
protected RuntimeException generateException(){
return (RuntimeException)prov.get();
}
};
}catch(Throwable t){
throw new RuntimeException(t);
}
}
}

View File

@@ -0,0 +1,111 @@
package mindustry.annotations.util;
import arc.struct.*;
import arc.util.ArcAnnotate.*;
import com.squareup.javapoet.*;
import com.sun.tools.javac.code.Attribute.*;
import mindustry.annotations.*;
import javax.lang.model.element.*;
import javax.lang.model.type.*;
import java.lang.Class;
import java.lang.annotation.*;
import java.lang.reflect.*;
public class Selement<T extends Element>{
public final T e;
public Selement(T e){
this.e = e;
}
public @Nullable String doc(){
return BaseProcessor.elementu.getDocComment(e);
}
public Seq<Selement<?>> enclosed(){
return Seq.with(e.getEnclosedElements()).map(Selement::new);
}
public String fullName(){
return e.toString();
}
public Stype asType(){
return new Stype((TypeElement)e);
}
public Svar asVar(){
return new Svar((VariableElement)e);
}
public Smethod asMethod(){
return new Smethod((ExecutableElement)e);
}
public boolean isVar(){
return e instanceof VariableElement;
}
public boolean isType(){
return e instanceof TypeElement;
}
public boolean isMethod(){
return e instanceof ExecutableElement;
}
public Seq<? extends AnnotationMirror> annotations(){
return Seq.with(e.getAnnotationMirrors());
}
public <A extends Annotation> A annotation(Class<A> annotation){
try{
Method m = com.sun.tools.javac.code.AnnoConstruct.class.getDeclaredMethod("getAttribute", Class.class);
m.setAccessible(true);
Compound compound = (Compound)m.invoke(e, annotation);
return compound == null ? null : AnnotationProxyMaker.generateAnnotation(compound, annotation);
}catch(Exception e){
throw new RuntimeException(e);
}
}
public <A extends Annotation> boolean has(Class<A> annotation){
return annotation(annotation) != null;
}
public Element up(){
return e.getEnclosingElement();
}
public TypeMirror mirror(){
return e.asType();
}
public TypeName tname(){
return TypeName.get(mirror());
}
public ClassName cname(){
return ClassName.get((TypeElement)BaseProcessor.typeu.asElement(mirror()));
}
public String name(){
return e.getSimpleName().toString();
}
@Override
public String toString(){
return e.toString();
}
@Override
public int hashCode(){
return e.hashCode();
}
@Override
public boolean equals(Object o){
return o != null && o.getClass() == getClass() && e.equals(((Selement)o).e);
}
}

View File

@@ -0,0 +1,71 @@
package mindustry.annotations.util;
import arc.struct.*;
import com.squareup.javapoet.*;
import com.sun.source.tree.*;
import mindustry.annotations.*;
import javax.lang.model.element.*;
import javax.lang.model.type.*;
public class Smethod extends Selement<ExecutableElement>{
public Smethod(ExecutableElement executableElement){
super(executableElement);
}
public boolean isAny(Modifier... mod){
for(Modifier m : mod){
if(is(m)) return true;
}
return false;
}
public String descString(){
return up().asType().toString() + "#" + super.toString().replace("mindustry.gen.", "");
}
public boolean is(Modifier mod){
return e.getModifiers().contains(mod);
}
public Stype type(){
return new Stype((TypeElement)up());
}
public Seq<TypeMirror> thrown(){
return Seq.with(e.getThrownTypes()).as();
}
public Seq<TypeName> thrownt(){
return Seq.with(e.getThrownTypes()).map(TypeName::get);
}
public Seq<TypeParameterElement> typeVariables(){
return Seq.with(e.getTypeParameters()).as();
}
public Seq<Svar> params(){
return Seq.with(e.getParameters()).map(Svar::new);
}
public boolean isVoid(){
return ret().toString().equals("void");
}
public TypeMirror ret(){
return e.getReturnType();
}
public TypeName retn(){
return TypeName.get(ret());
}
public MethodTree tree(){
return BaseProcessor.trees.getTree(e);
}
public String simpleString(){
return name() + "(" + params().toString(", ", p -> BaseProcessor.simpleName(p.mirror().toString())) + ")";
}
}

View File

@@ -0,0 +1,61 @@
package mindustry.annotations.util;
import arc.struct.*;
import mindustry.annotations.*;
import javax.lang.model.element.*;
import javax.lang.model.type.*;
public class Stype extends Selement<TypeElement>{
public Stype(TypeElement typeElement){
super(typeElement);
}
public static Stype of(TypeMirror mirror){
return new Stype((TypeElement)BaseProcessor.typeu.asElement(mirror));
}
public String fullName(){
return mirror().toString();
}
public Seq<Stype> interfaces(){
return Seq.with(e.getInterfaces()).map(Stype::of);
}
public Seq<Stype> allInterfaces(){
return interfaces().flatMap(s -> s.allInterfaces().and(s)).distinct();
}
public Seq<Stype> superclasses(){
return Seq.with(BaseProcessor.typeu.directSupertypes(mirror())).map(Stype::of);
}
public Seq<Stype> allSuperclasses(){
return superclasses().flatMap(s -> s.allSuperclasses().and(s)).distinct();
}
public Stype superclass(){
return new Stype((TypeElement)BaseProcessor.typeu.asElement(BaseProcessor.typeu.directSupertypes(mirror()).get(0)));
}
public Seq<Svar> fields(){
return Seq.with(e.getEnclosedElements()).select(e -> e instanceof VariableElement).map(e -> new Svar((VariableElement)e));
}
public Seq<Smethod> methods(){
return Seq.with(e.getEnclosedElements()).select(e -> e instanceof ExecutableElement
&& !e.getSimpleName().toString().contains("<")).map(e -> new Smethod((ExecutableElement)e));
}
public Seq<Smethod> constructors(){
return Seq.with(e.getEnclosedElements()).select(e -> e instanceof ExecutableElement
&& e.getSimpleName().toString().contains("<")).map(e -> new Smethod((ExecutableElement)e));
}
@Override
public TypeMirror mirror(){
return e.asType();
}
}

View File

@@ -0,0 +1,41 @@
package mindustry.annotations.util;
import com.sun.source.tree.*;
import com.sun.tools.javac.tree.JCTree.*;
import mindustry.annotations.*;
import javax.lang.model.element.*;
public class Svar extends Selement<VariableElement>{
public Svar(VariableElement e){
super(e);
}
public String descString(){
return up().asType().toString() + "#" + super.toString().replace("mindustry.gen.", "");
}
public JCVariableDecl jtree(){
return (JCVariableDecl)BaseProcessor.elementu.getTree(e);
}
public Stype enclosingType(){
return new Stype((TypeElement)up());
}
public boolean isAny(Modifier... mods){
for(Modifier m : mods){
if(is(m)) return true;
}
return false;
}
public boolean is(Modifier mod){
return e.getModifiers().contains(mod);
}
public VariableTree tree(){
return (VariableTree)BaseProcessor.trees.getTree(e);
}
}

View File

@@ -0,0 +1,58 @@
package mindustry.annotations.util;
import arc.struct.*;
import mindustry.annotations.Annotations.*;
import mindustry.annotations.*;
import javax.lang.model.element.*;
/**
* This class finds reader and writer methods.
*/
public class TypeIOResolver{
/**
* Finds all class serializers for all types and returns them. Logs errors when necessary.
* Maps fully qualified class names to their serializers.
*/
public static ClassSerializer resolve(BaseProcessor processor){
ClassSerializer out = new ClassSerializer(new ObjectMap<>(), new ObjectMap<>(), new ObjectMap<>());
for(Stype type : processor.types(TypeIOHandler.class)){
//look at all TypeIOHandler methods
Seq<Smethod> methods = type.methods();
for(Smethod meth : methods){
if(meth.is(Modifier.PUBLIC) && meth.is(Modifier.STATIC)){
Seq<Svar> params = meth.params();
//2 params, second one is type, first is writer
if(params.size == 2 && params.first().tname().toString().equals("arc.util.io.Writes")){
out.writers.put(fix(params.get(1).tname().toString()), type.fullName() + "." + meth.name());
}else if(params.size == 1 && params.first().tname().toString().equals("arc.util.io.Reads") && !meth.isVoid()){
//1 param, one is reader, returns type
out.readers.put(fix(meth.retn().toString()), type.fullName() + "." + meth.name());
}else if(params.size == 2 && params.first().tname().toString().equals("arc.util.io.Reads") && !meth.isVoid() && meth.ret().equals(meth.params().get(1).mirror())){
//2 params, one is reader, other is type, returns type - these are made to reduce garbage allocated
out.mutatorReaders.put(fix(meth.retn().toString()), type.fullName() + "." + meth.name());
}
}
}
}
return out;
}
/** makes sure type names don't contain 'gen' */
private static String fix(String str){
return str.replace("mindustry.gen", "");
}
/** Information about read/write methods for class types. */
public static class ClassSerializer{
public final ObjectMap<String, String> writers, readers, mutatorReaders;
public ClassSerializer(ObjectMap<String, String> writers, ObjectMap<String, String> readers, ObjectMap<String, String> mutatorReaders){
this.writers = writers;
this.readers = readers;
this.mutatorReaders = mutatorReaders;
}
}
}

View File

@@ -1,4 +0,0 @@
io.anuke.annotations.RemoteMethodAnnotationProcessor
io.anuke.annotations.SerializeAnnotationProcessor
io.anuke.annotations.StructAnnotationProcessor
io.anuke.annotations.CallSuperAnnotationProcessor

View File

@@ -0,0 +1,28 @@
#Maps entity names to IDs. Autogenerated.
alpha=0
atrax=1
block=2
corvus=24
flare=3
mace=4
mega=5
mindustry.entities.comp.BuildingComp=6
mindustry.entities.comp.BulletComp=7
mindustry.entities.comp.DecalComp=8
mindustry.entities.comp.EffectStateComp=9
mindustry.entities.comp.FireComp=10
mindustry.entities.comp.LaunchCoreComp=11
mindustry.entities.comp.PlayerComp=12
mindustry.entities.comp.PuddleComp=13
mindustry.type.Weather.WeatherStateComp=14
mindustry.world.blocks.campaign.LaunchPad.LaunchPayloadComp=15
mindustry.world.blocks.defense.ForceProjector.ForceDrawComp=22
mono=16
nova=17
poly=18
pulsar=19
quad=23
risso=20
spiroct=21
vela=25

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>,size:-1},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>,size:-1},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>,size:-1},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>,size:-1},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{fields:[{name:cons,type:mindustry.world.modules.ConsumeModule,size:-1},{name:health,type:float,size:4},{name:items,type:mindustry.world.modules.ItemModule,size:-1},{name:liquids,type:mindustry.world.modules.LiquidModule,size:-1},{name:power,type:mindustry.world.modules.PowerModule,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{fields:[{name:collided,type:arc.struct.IntSeq,size:-1},{name:damage,type:float,size:4},{name:data,type:java.lang.Object,size:-1},{name:fdata,type:float,size:4},{name:lifetime,type:float,size:4},{name:owner,type:mindustry.gen.Entityc,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:time,type:float,size:4},{name:type,type:mindustry.entities.bullet.BulletType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{fields:[{name:color,type:arc.graphics.Color,size:-1},{name:lifetime,type:float,size:4},{name:region,type:arc.graphics.g2d.TextureRegion,size:-1},{name:rotation,type:float,size:4},{name:time,type:float,size:4},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{fields:[{name:color,type:arc.graphics.Color,size:-1},{name:data,type:java.lang.Object,size:-1},{name:effect,type:mindustry.entities.Effect,size:-1},{name:lifetime,type:float,size:4},{name:offsetX,type:float,size:4},{name:offsetY,type:float,size:4},{name:parent,type:mindustry.gen.Posc,size:-1},{name:rotation,type:float,size:4},{name:time,type:float,size:4},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{version:1,fields:[{name:color,type:arc.graphics.Color,size:-1},{name:data,type:java.lang.Object,size:-1},{name:effect,type:mindustry.entities.Effect,size:-1},{name:lifetime,type:float,size:4},{name:offsetX,type:float,size:4},{name:offsetY,type:float,size:4},{name:parent,type:Posc,size:-1},{name:rotation,type:float,size:4},{name:time,type:float,size:4},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

View File

@@ -0,0 +1 @@
{version:2,fields:[{name:color,type:arc.graphics.Color,size:-1},{name:data,type:java.lang.Object,size:-1},{name:effect,type:mindustry.entities.Effect,size:-1},{name:lifetime,type:float,size:4},{name:offsetX,type:float,size:4},{name:offsetY,type:float,size:4},{name:parent,type:mindustry.gen.Posc,size:-1},{name:rotation,type:float,size:4},{name:time,type:float,size:4},{name:x,type:float,size:4},{name:y,type:float,size:4}]}

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