Compare commits

...
5012 Commits
Author SHA1 Message Date
Anuken f5888a7c56 Android crash fixes 2020-10-23 13:42:28 -04:00
Anuken 754aba9013 Merge remote-tracking branch 'origin/master' 2020-10-23 13:31:58 -04:00
Anuken cf3f540df4 New map 2020-10-23 13:31:55 -04:00
Anuken f2f805e140 Merge pull request #2969 from rodrigolitzius/patch-1
S
2020-10-23 12:01:43 -04:00
Anuken 84171a8619 Slightly better terrain filter 2020-10-23 12:00:06 -04:00
Anuken 92d573bdcb Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/assets/bundles/bundle_ro.properties
2020-10-23 11:52:27 -04:00
Anuken f81f4ded03 Updated bundles 2020-10-23 11:52:01 -04:00
Anuken c3e0a8efd7 Merge pull request #3075 from YellOw139/patch-1
[Bundle][RO] Translation Update
2020-10-23 11:50:57 -04:00
YellOw139 92327bfd1d [Bundle][RO] Translation Update
This PR was tested in-game and is ready to merge at any time (unless marked as draft).

Changelog:

- New strings/changes up to commit <need to check number>
- Typo fixes & various other improvements
2020-10-23 18:49:48 +03:00
Anuken 7d194094ff Merge remote-tracking branch 'origin/master' 2020-10-23 11:48:56 -04:00
Anuken d8798b5a0d function 2020-10-23 11:48:53 -04:00
Anuken 6d846cc3a5 Merge pull request #2934 from Prosta4okua/master
[Bundle][RU] actual L10n
2020-10-23 11:48:35 -04:00
Anuken 4dfb743273 Merged translations 2020-10-23 11:42:12 -04:00
Anuken 2b5ee5c463 Merge remote-tracking branch 'origin/master' 2020-10-23 10:39:05 -04:00
Anuken bf1268bb6e Shooting -> Function category / Dialog cleanup 2020-10-23 10:39:01 -04:00
Felix Corvus 9cb601c569 Update bundle_ru.properties 2020-10-23 17:11:51 +03:00
Felix Corvus bf8ab8e34e Update bundle_ru.properties 2020-10-23 16:49:43 +03:00
Anuken 4de1b8fe11 Merge pull request #2948 from xXextremeduro69420Xx/patch-2
Update bundle_pt_BR.properties
2020-10-23 09:47:28 -04:00
Anuken 9db4d287dd Merge branch 'master' into patch-2 2020-10-23 09:47:22 -04:00
Anuken 4ca3909220 Merge pull request #3024 from DaGamerFiles/patch-2
Update bundle_in_ID.properties
2020-10-23 09:38:24 -04:00
Anuken 6983577b20 Merge pull request #3006 from Kieaer/patch-5
Update bundle_ko.properties
2020-10-23 09:38:10 -04:00
Anuken 7812d92915 Merge pull request #2944 from Prosta4okua/patch-7
Ukrainian bundle
2020-10-23 09:35:19 -04:00
Anuken 3d46ed580e Merge branch 'master' into patch-7 2020-10-23 09:35:13 -04:00
Anuken d7e5828347 Merge pull request #2942 from YellOw139/patch-5
[Bundle][RO] Translation Update
2020-10-23 09:34:40 -04:00
Anuken fb29817a45 Merge pull request #2940 from PetrGasparik/v107
Czech translation for v110
2020-10-23 09:34:09 -04:00
Anuken 2dfb9830a3 Merge branch 'master' into v107 2020-10-23 09:34:04 -04:00
Anuken f8957b20c9 Merge pull request #2860 from BasedUser/patch-4
Update servers_be.json
2020-10-23 09:31:03 -04:00
Anuken aad91cce03 Merge pull request #2826 from ActualWina/patch-7
Updates to bundle_es.properties
2020-10-23 09:30:27 -04:00
Anuken a1de6e5288 Merge branch 'master' into patch-7 2020-10-23 09:30:23 -04:00
Anuken b181eda196 Merge pull request #2822 from cinnx/patch-15
Update bundle_pl.properties
2020-10-23 09:28:51 -04:00
Anuken a16b9240d6 Merge branch 'master' into patch-15 2020-10-23 09:28:47 -04:00
Anuken e163a80ba7 Merge pull request #2748 from ballgamer56/patch-2
Update Thai translation
2020-10-23 09:25:05 -04:00
Anuken a0f55861fe Merge pull request #3028 from GlennFolker/master
allow mods to easily load icon region
2020-10-23 09:21:43 -04:00
Anuken d66cf13ac6 Added buttons to clear campaign saves & research 2020-10-23 09:08:17 -04:00
Anuken 436a020c3e Fixed attack mode gamover check 2020-10-22 20:44:18 -04:00
Anuken 23673f0b11 typo 2020-10-22 20:34:02 -04:00
Anuken bd659d2c97 Don't clear legacy unlocks after read 2020-10-22 20:33:26 -04:00
Anuken 514e2503fa Editor generation cleanup 2020-10-22 19:26:55 -04:00
Anuken 4f21ea7799 Fixed archipelago map / filters messing with block data 2020-10-22 18:11:12 -04:00
Anuken a773edd838 (slightly) fewer polys in campaign 2020-10-22 17:12:38 -04:00
Anuken ace9aebf2b Fixed #3068 2020-10-22 16:28:08 -04:00
Anuken a2e75df096 Map editor tweaks & fixes / New map 2020-10-22 15:27:30 -04:00
Anuken c2ff5a69ef Buffered map-load filter support / Spawn path filter 2020-10-22 12:27:22 -04:00
YellOw139 f4fcb8daa6 Update bundle_ro.properties 2020-10-22 19:14:48 +03:00
Anuken 46b2f4cccb Minor bugfixes & wave tweaks 2020-10-22 11:54:27 -04:00
Felix Corvus c63b98150f Merge branch 'master' into master 2020-10-22 18:21:52 +03:00
Vanguard 91164f659b smol breyn 2020-10-22 18:02:39 +03:00
Vanguard 70750920fa anuke shenanigans
a lot of them
2020-10-22 17:14:41 +03:00
Anuken a732237005 Allowed enemy spawns on water 2020-10-22 09:43:21 -04:00
YellOw139 76d2fc0f54 Typo 2020-10-22 16:23:21 +03:00
Anuken f2dd5ba113 Fixed #3062 / Fixed #3064 2020-10-22 09:11:48 -04:00
YellOw139 4d28b5083c Quezler Status Fielded my mind 2020-10-22 14:27:56 +03:00
YellOw139 dabdf514d6 Space 2020-10-22 07:50:35 +03:00
Anuken 6c13250705 Merge remote-tracking branch 'origin/master' 2020-10-21 20:32:40 -04:00
Anuken f0d74e2705 New map / Unit stat tweaks / FileChooser keyboard input 2020-10-21 20:32:35 -04:00
Anuken 1d65d54d9a Merge pull request #3055 from summetdev/patch-6
[typo] Keybinds and keybinds.
2020-10-21 19:05:50 -04:00
Anuken b71ae99301 Merge pull request #3054 from Catchears/cleanup
change surgealloy to surgeAlloy and phasefabric to phaseFabric
2020-10-21 16:34:40 -04:00
Summet 80bd1daea4 typo 2020-10-21 23:34:38 +03:00
YellOw139 21022436e8 Stats are finally consistent and up to date 2020-10-21 22:02:24 +03:00
Anuken a80d0cc457 Fixed #3053 2020-10-21 14:10:28 -04:00
Wiki Updater 4d575364f4 change surgeAlloy and phaseFabric 2020-10-21 20:04:41 +02:00
Anuken 87dda1ba4b Merge remote-tracking branch 'origin/master' 2020-10-21 11:37:48 -04:00
Anuken 1cbcb742e9 Fixed #3052 2020-10-21 11:37:44 -04:00
Anuken 48f5be6623 Merge pull request #3051 from skykatik/patch-1
var -> let
2020-10-21 10:48:22 -04:00
Anuken ee8f18796e Merge remote-tracking branch 'origin/master' 2020-10-21 10:37:07 -04:00
Anuken 3517da8214 Fixed #3049 2020-10-21 10:37:03 -04:00
Skat aba001f499 var deprecated, use let or const 2020-10-21 16:05:36 +03:00
Thomas Widyantoko b82ede8140 Merge pull request #4 from Quick-korkc/patch-4
Zone description and typo fixed
2020-10-21 18:21:44 +07:00
키에르 f3f5872159 Merge branch 'master' into patch-5 2020-10-21 20:14:40 +09:00
YellOw139 eba9578a0d More conflict changes. Should be ok now. 2020-10-21 07:30:18 +03:00
YellOw139 b95bf1595b Fog 2020-10-21 07:28:27 +03:00
YellOw139 92b8981988 Merge branch 'master' into patch-5 2020-10-21 07:22:51 +03:00
YellOw139 83c53a541a Wall stats (WIP) 2020-10-21 07:10:48 +03:00
Anuken 0878becb33 Merge pull request #3013 from genNAowl/wall-stats
Add Wall Stats
2020-10-20 19:04:54 -04:00
Leonwang4234 54fd2e03b4 resolve conflicts 2020-10-20 15:57:48 -07:00
Leonwang4234 df37ce3cef Merge remote-tracking branch 'upstream/master' into wall-stats 2020-10-20 15:49:46 -07:00
Anuken 18e6a43a87 Added weather to some built-in maps 2020-10-20 17:24:51 -04:00
Anuken 8f58228317 More base parts 2020-10-20 15:43:06 -04:00
Anuken 30abfc0619 Fixed #3045 2020-10-20 14:02:10 -04:00
Anuken 82fe66b931 Titanium fuse ammo 2020-10-20 12:14:53 -04:00
Anuken 9a9b1d1a90 Fixed log level code 2020-10-20 11:41:54 -04:00
Anuken 03707ea6cf arc 2020-10-20 11:41:34 -04:00
Anuken 7731cee219 arc 2020-10-20 11:24:41 -04:00
Anuken 03c60a93f0 Merge remote-tracking branch 'origin/master' 2020-10-20 11:21:54 -04:00
Anuken 9ab272a01f Better server colors 2020-10-20 11:21:47 -04:00
ballgamer56 f0c5c98633 Merge branch 'master' into patch-2 2020-10-20 20:23:15 +07:00
Anuken e68d28ef51 Merge pull request #3041 from summetdev/admin-chat
Admin chat.
2020-10-20 09:10:18 -04:00
Anuken 9060a9518a Fixed #3037 2020-10-20 09:05:41 -04:00
ballgamer56 8e164269cc Formated to the newest update
Updated to commit 2ff749bd17
2020-10-20 20:02:41 +07:00
SummetandPatrick 'Quezler' Mounier ffb94576ac Better colors
Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>
2020-10-20 15:04:03 +03:00
Quick-Korc a1a2007b3e Zone description and typo fixed 2020-10-20 19:00:13 +07:00
summetdev 0c1c0f9557 Admin -> A 2020-10-20 13:56:53 +03:00
summetdev 9f95aa035d Indents 2020-10-20 13:56:09 +03:00
summetdev 89fca49b91 Put admin color to Pal 2020-10-20 13:51:21 +03:00
summetdev d3e26c7c16 Admin chat command 2020-10-20 13:33:28 +03:00
Thomas Widyantoko 0ba653ddd0 Merge branch 'master' into patch-2 2020-10-20 05:55:02 +07:00
Anuken c27251cfb0 Fog 2020-10-19 18:28:37 -04:00
Anuken d5fb0e924a Merge remote-tracking branch 'origin/master' 2020-10-19 16:26:03 -04:00
Anuken 6e8732387b Better weather classes 2020-10-19 16:25:59 -04:00
Anuken ef0376371d Merge pull request #3030 from sk7725/patch-21
remove final from item.color (and liquid too)
2020-10-19 12:20:14 -04:00
Sunny Kim 3c2e12621e rainbow liquid 2020-10-20 01:01:45 +09:00
Sunny Kim efb42296cf remove final 2020-10-20 00:57:08 +09:00
Anuken cab08de1f7 Merge remote-tracking branch 'origin/master' 2020-10-19 11:34:59 -04:00
Anuken 2ff749bd17 Unified stat system 2020-10-19 11:34:52 -04:00
Anuken 073b82b70f Merge pull request #3029 from abomb4/patch-mod-environment
Json in Mod should be able to define OreBlock type
2020-10-19 10:43:53 -04:00
abomb4 9e79ed8a26 Json in Mod should be able to define OreBlock type
That in mindustry.world.blocks.environment package
2020-10-19 22:34:52 +08:00
Anuken 59e1fd1eb6 typo 2020-10-19 10:04:30 -04:00
Anuken d1d674cfc9 Merge remote-tracking branch 'origin/master' 2020-10-19 10:04:13 -04:00
Anuken 80f801db36 Fixed #3023 / Fixed #3020 2020-10-19 10:04:10 -04:00
Anuken 400d36609a Merge pull request #3022 from Ilya246/patch-1
armor defined twice in mega
2020-10-19 09:41:06 -04:00
GlennFolker cae66a1e6d allow mods to easily load icon region 2020-10-19 19:13:06 +07:00
Thomas Widyantoko e88a2f8437 Space block name changed 2020-10-19 14:50:56 +07:00
Thomas Widyantoko 4b4cde288b Update bundle_in_ID.properties
Improved translation, new lines and a slight text color format fix.
2020-10-19 13:43:59 +07:00
Ilya246 ad5d3581f6 armor defined twice in mega 2020-10-19 10:09:39 +04:00
Petr Gašparík 538c198113 Czecg translation up to commit 46ec457 2020-10-19 07:48:57 +02:00
Petr Gašparík 8f4ac642d1 Merge branch 'master' of https://github.com/Anuken/Mindustry into v107 2020-10-19 07:34:10 +02:00
Anuken 7f21d61078 Crash fix 2020-10-18 19:54:52 -04:00
Anuken c7622198fd Cleanup 2020-10-18 19:21:59 -04:00
Anuken 3a52fb2afe Merge branch 'router' 2020-10-18 19:03:13 -04:00
Anuken e63bbe6ac9 Merge remote-tracking branch 'origin/master' 2020-10-18 18:34:24 -04:00
Anuken dac236b0e9 Better launch selection 2020-10-18 18:34:19 -04:00
Leonwang4234 1e0545c1ec Merge branch 'wall-stats' of https://github.com/genNAowl/Mndstry into wall-stats 2020-10-18 14:29:18 -07:00
Leonwang4234 cff2799c72 remove changes in description 2020-10-18 14:29:15 -07:00
genNAowlandSummet 7a7fa74e65 Update core/src/mindustry/world/blocks/defense/Wall.java
Co-authored-by: Summet <summet.dev@gmail.com>
2020-10-18 14:26:48 -07:00
Anuken fcbad69b46 Merge pull request #3014 from summetdev/patch-6
:)
2020-10-18 17:20:25 -04:00
Summet 8ceb155e38 :) 2020-10-19 00:14:40 +03:00
Leonwang4234 db3db47ca1 Add wall stats + other changes 2020-10-18 13:35:20 -07:00
Anuken 97fd9abd8c Merge remote-tracking branch 'origin/master' 2020-10-18 15:46:24 -04:00
Anuken 00d6997b5a Hex/bin logic number support 2020-10-18 15:46:20 -04:00
Anuken 58ff6c60aa Merge pull request #3012 from summetdev/typo
Grammatical fix
2020-10-18 14:57:26 -04:00
Anuken 7fc2d6be18 Merge pull request #3010 from summetdev/units-payload
Units payload.
2020-10-18 14:43:23 -04:00
summetdev bd6aebb961 fixed a typo in comment 2020-10-18 21:38:01 +03:00
summetdev 801eca5ca3 prevent sending extra packets 2020-10-18 21:26:32 +03:00
summetdev 96996f8079 merge 2020-10-18 20:28:29 +03:00
summetdev 12e35b643c sync fix 2020-10-18 20:24:09 +03:00
SummetandAnuken 2e0c1cd613 code style
Co-authored-by: Anuken <arnukren@gmail.com>
2020-10-18 20:07:46 +03:00
Anuken 563e99aded Fixed #3009 2020-10-18 13:02:55 -04:00
summetdev 8625ef09cc Units payload 2020-10-18 19:54:10 +03:00
Anuken ce6292cc53 Recipe display for reconstructors 2020-10-18 11:53:36 -04:00
Anuken ef58111cc3 Merge remote-tracking branch 'origin/master' 2020-10-18 09:29:53 -04:00
Anuken 14c42c5652 Removed issue workaround from README 2020-10-18 09:29:49 -04:00
Anuken 4cd9c0194a Merge pull request #3008 from abomb4/master
Try fix 'Cannot attach to current VM' problem in IDEA
2020-10-18 09:28:33 -04:00
abomb4 7f708a3f6c Try fix 'Cannot attach current VM' problem in IDEA
Seems add a 'fork' option to core module solves this problem
2020-10-18 21:15:30 +08:00
Anuken e6606ca17e Update bug_report.md 2020-10-18 09:11:15 -04:00
Anuken c1c41a19c8 Cleanup 2020-10-18 09:08:47 -04:00
키에르 48885a814c Update bundle_ko.properties 2020-10-18 13:56:55 +09:00
YellOw139 2ff6630e23 Bumped up a couple of commits 2020-10-18 05:39:38 +03:00
Anuken 521d44714d Disabled spawnpoints during ongoing attack maps 2020-10-17 19:49:13 -04:00
Anuken 4ab0c8a1ca Merge remote-tracking branch 'origin/master' 2020-10-17 18:37:57 -04:00
Anuken 7349af4753 Various small tweaks 2020-10-17 18:37:54 -04:00
Anuken 55a8ae083b Merge pull request #2992 from DeltaNedas/planetdraw
allow modded planets to customize drawing
2020-10-17 17:56:12 -04:00
Anuken e9131b4631 Minor payload acceptor fixes 2020-10-17 17:05:34 -04:00
Felix Corvus 6ab7496a9d Update bundle_ru.properties 2020-10-18 00:04:01 +03:00
Anuken 5d9beb4c28 Fixed #2582 2020-10-17 14:37:51 -04:00
Anuken a47432c20b Merge remote-tracking branch 'origin/master' 2020-10-17 13:03:03 -04:00
Anuken 8043c09e2b Breaking logic change: Coordinates are now tile-based 2020-10-17 13:02:57 -04:00
DeltaNedas 091593c84d Merge branch 'master' into planetdraw 2020-10-17 16:59:28 +00:00
Anuken 1324e75eea Merge pull request #2996 from DeltaNedas/universe
add universe draw events
2020-10-17 12:52:26 -04:00
Anuken c99873c823 Added bool to enable editor cliff button 2020-10-17 11:02:48 -04:00
DeltaNedas ef2bf2e129 add universeDraw event 2020-10-17 15:38:12 +01:00
Anuken 46ec457819 Cleanup 2020-10-17 10:37:28 -04:00
DeltaNedas 35a86a1aac add universe draw events 2020-10-17 15:34:00 +01:00
Anuken 3a7ee50db3 Merge remote-tracking branch 'origin/master' 2020-10-17 10:10:34 -04:00
Anuken be394c4b33 Checks to prevent uncaptureable sectors 2020-10-17 10:10:29 -04:00
Anuken e05ba886e8 Update README.md 2020-10-17 09:37:09 -04:00
Anuken 41dcf7a6f2 Merge pull request #2817 from ThePythonGuy3/patch-7
Some typo fixes and various stuff for spanish bundle.
2020-10-17 09:19:05 -04:00
Anuken c3d0819cc1 Fixed #2988 2020-10-17 09:17:16 -04:00
DeltaNedas 8e0c5023c9 hh 2020-10-17 12:28:46 +01:00
DeltaNedas 54b0d308be h 2020-10-17 12:16:47 +01:00
DeltaNedas 05b77d787e hide orbits of hidden planets 2020-10-17 12:10:52 +01:00
Anuken 962d0729d6 Merge remote-tracking branch 'origin/master' 2020-10-16 20:09:55 -04:00
Anuken fc1b03f322 Various tweaks 2020-10-16 20:09:48 -04:00
Anuken 91b4fb1c97 Merge pull request #2979 from DeltaNedas/planet
PlanetGrid stuff
2020-10-16 19:46:05 -04:00
DeltaNedas 0fa947bfaa make calc stuff pkg private again 2020-10-16 23:22:39 +01:00
DeltaNedas 060152fc29 make calc stuff pkg private again 2020-10-16 23:06:46 +01:00
DeltaNedas 97b0461d7f allow modded planets to customize drawing 2020-10-16 23:00:06 +01:00
DeltaNedas fd54c66726 make ptile/edge/corner mutable 2020-10-16 22:26:50 +01:00
Felix Corvus db28e82faf Update bundle_ru.properties 2020-10-16 22:50:01 +03:00
Anuken e00daffe6d Bugfixes 2020-10-16 15:27:30 -04:00
DeltaNedas bddcdc0aa2 make planet stuff public, constructor protected 2020-10-16 19:57:13 +01:00
Anuken 1fbced0433 Corrected loadout placement function 2020-10-16 14:09:29 -04:00
Anuken d6c5d2bc10 Merge remote-tracking branch 'origin/master' 2020-10-16 12:56:51 -04:00
Anuken b0ea725142 Sector tweaks 2020-10-16 12:56:48 -04:00
Anuken 8be6eabec9 Merge pull request #2974 from abomb4/patch-homing-delay
New feature request: bullet homing delay
2020-10-16 12:44:51 -04:00
Anuken f391e7a5ac Sector production bugfixes 2020-10-16 12:16:00 -04:00
abomb4 83756a6ea0 New feature: bullet homing delay 2020-10-17 00:05:19 +08:00
Prosta4okua a8f45b464c Update bundle_uk_UA.properties 2020-10-16 18:57:13 +03:00
Felix Corvus e31d293bab Update bundle_ru.properties 2020-10-16 18:34:29 +03:00
Anuken f5decdaa1c Disabled spawner radius/warning when waves off 2020-10-16 11:27:17 -04:00
Anuken 2f54edf34f Sector refactoring, invasions and cleanup 2020-10-16 11:02:24 -04:00
Felix Corvus 421fcd5705 Update bundle_ru.properties 2020-10-16 04:55:31 +03:00
Rodrigo 685fd51b6f S
completely useless "S"
2020-10-15 21:43:06 -03:00
Anuken 5ee4101ba4 Moved some static regions 2020-10-15 16:33:51 -04:00
Anuken d177c8b875 arc 2020-10-15 15:45:19 -04:00
Anuken 45b87ec615 fixed some sector things, broke more things 2020-10-15 15:41:09 -04:00
Anuken 988e1add82 Merge remote-tracking branch 'origin/master' 2020-10-15 13:44:29 -04:00
Anuken 86c2fe8805 too many things to list 2020-10-15 13:44:20 -04:00
Anuken 6806c09760 Merge pull request #2960 from sharlotte-mobile/patch-1
changed private -> public of checkRadius method
2020-10-15 09:49:08 -04:00
Sharlotte fa2cdb752a changed private -> public of checkRadius method
when i try to change color of forceField by using draw method , the Mindustry is crashed because of that private method.
2020-10-15 20:46:29 +09:00
xXextremeduro69420Xx 17725ddfe8 Update bundle_pt_BR.properties
Small changes and fixed some typos.
2020-10-14 11:32:37 -03:00
Anuken fb0179da95 Attempting jitpack Java 14 workaround 2020-10-14 09:15:47 -04:00
Anuken 2b435c2600 UnitType serializer set 2020-10-14 09:13:29 -04:00
Anuken d630110396 JITPack version check 2020-10-14 09:08:03 -04:00
Anuken f96552a1a1 Merge remote-tracking branch 'origin/master' 2020-10-14 08:49:09 -04:00
Anuken 6b4a7d025b Fixed #2938 / Fixed #2936 2020-10-14 08:49:05 -04:00
Prosta4okua 592708811b Update bundle_uk_UA.properties 2020-10-14 14:54:21 +03:00
YellOw139 99b3a224d0 Typo fix 2020-10-14 11:49:13 +03:00
YellOw139 80bf157752 [Bundle][RO] Translation Update
This PR was tested in-game and is ready to merge at any time (unless marked as draft).

Changelog:

- New strings/changes up to commit 1554fd0394
- Typo fixes & various other improvements
2020-10-14 11:45:09 +03:00
Petr Gašparík a85a20b346 Czech translation up to commit 1554fd0 2020-10-14 08:00:43 +02:00
Anuken bb655100ee Merge pull request #2865 from sk7725/patch-18
Update bundle_ko.properties
2020-10-13 19:38:18 -04:00
Anuken bea9deb386 Removed planet switch debug code 2020-10-13 19:37:45 -04:00
Felix Corvus 4b0c34c5c9 Перевод небесных тел 2020-10-14 02:03:10 +03:00
Anuken 1554fd0394 Planet selection for mods 2020-10-13 18:50:18 -04:00
Anuken 3bd3dcf03b Merge pull request #2924 from summetdev/groovy-imports
Cleanup some groovy's imports
2020-10-13 18:14:19 -04:00
Anuken 6bfae1c34f Merge pull request #2932 from Prosta4okua/master
Update bundle_ru.properties
2020-10-13 18:09:59 -04:00
Anuken cce8b5a530 Merge remote-tracking branch 'origin/master' 2020-10-13 18:09:49 -04:00
Anuken a8b55c27e8 x 2020-10-13 18:09:46 -04:00
Anuken 41c08a64e2 Merge pull request #2724 from Prosta4okua/patch-6
Ukrainian localisation
2020-10-13 18:07:35 -04:00
Felix Corvus f846125e78 Update bundle_ru.properties 2020-10-14 01:07:32 +03:00
Anuken caab6c1fa3 Merge pull request #2720 from Prosta4okua/master
[Bundle][RU] actual L10n
2020-10-13 18:06:45 -04:00
Anuken 7a770d8aed Merge pull request #2696 from YellOw139/patch-4
[Bundle][RO] Translation Update
2020-10-13 18:06:31 -04:00
Anuken 77458e1e4d Merge pull request #2694 from PetrGasparik/v106-alpha
[v107-alpha] Czech translation - update
2020-10-13 18:06:16 -04:00
Anuken 64cae7d877 Merge pull request #2693 from laohuaji233/patch-38
Update bundle_zh_CN.properties(finished)
2020-10-13 18:06:07 -04:00
Anuken 0e544825f9 Merge pull request #2481 from Pietro303HD/patch-2
some small changes, and also removed a typo
2020-10-13 18:03:56 -04:00
Anuken 3bf80e6732 Merge pull request #2420 from DaGamerFiles/patch-1
Indonesian translation
2020-10-13 18:03:47 -04:00
Felix Corvus e612213969 Update bundle_ru.properties 2020-10-14 00:44:10 +03:00
Anuken 37bb48076d Fixed #2931 2020-10-13 17:41:47 -04:00
Felix Corvus 6bfb10a84b Бета
Уже бета
2020-10-13 23:36:24 +03:00
Summet 37cafe5081 Бета 2020-10-13 23:31:41 +03:00
Anuken 4bf2b3b43e Now in beta 2020-10-13 16:18:11 -04:00
Anuken b1acc90739 Cleanup 2020-10-13 16:13:18 -04:00
Anuken 5d76dd0e2f Fixed #2929 2020-10-13 15:56:00 -04:00
Anuken ca875876cd arc 2020-10-13 11:18:30 -04:00
Anuken c05f40af4a Merge remote-tracking branch 'origin/master' 2020-10-13 10:53:50 -04:00
Anuken b2c236fe7b Difficulty settings for sector presets 2020-10-13 10:53:40 -04:00
Anuken d4c72b2a9c Merge pull request #2915 from genNAowl/pierce-cap-info
Add `pierceCap` Info
2020-10-13 10:53:17 -04:00
Anuken b40bbdad0e Merge pull request #2927 from sk7725/patch-19
Let buildTable accept `closeSelect`
2020-10-13 10:44:57 -04:00
Sunny Kim 4364851cf4 let buildTable accept closeSelect 2020-10-13 22:29:55 +09:00
Leonwang4234 24d295a924 add infinitepierce + bugfixes 2020-10-12 17:57:00 -07:00
BasedUser 56ca782cae Merge branch 'master' into patch-4 2020-10-13 00:58:31 +03:00
Anuken cf27b0f10a Merge pull request #2899 from FruityPear/patch-1
Add Pearkin Attack Server to servers.json
2020-10-12 16:23:52 -04:00
Anuken 565892b39a Merge branch 'master' into patch-1 2020-10-12 16:23:46 -04:00
Anuken 59223fb7aa Merge pull request #2464 from way-zer/patch-1
Update servers_be.json
2020-10-12 16:22:13 -04:00
Anuken 0b11185f39 Merge branch 'master' into patch-1 2020-10-12 16:22:09 -04:00
Anuken 259d611c2c Merge pull request #2523 from Recessive/patch-3
Update servers.json
2020-10-12 16:20:18 -04:00
Anuken 65f1d027a1 Merge branch 'master' into patch-3 2020-10-12 16:20:13 -04:00
Anuken f1123e51a3 Merge pull request #2820 from LeoSko/patch-1
Update servers.json
2020-10-12 16:17:45 -04:00
Anuken 06877b457e Rule selection fixes 2020-10-12 15:59:22 -04:00
Felix Corvus 7564f93445 Merge branch 'master' into master 2020-10-12 22:11:18 +03:00
Anuken fde1881fd5 Merge remote-tracking branch 'origin/master' 2020-10-12 14:33:29 -04:00
Anuken 876534bd26 Wave balancing & AI tweaks 2020-10-12 14:33:22 -04:00
summetdev 334c8616b0 Fixed 2020-10-12 21:26:01 +03:00
summetdev 966ee53cb9 Imports 2020-10-12 21:13:28 +03:00
Anuken fbda1fb7cf Merge pull request #2863 from MEEPofFaith/patch-2
If units can have `chargeSound`, why not `chargeTurret`s too?
2020-10-12 10:40:50 -04:00
Anuken a1f222b76d Merge pull request #2908 from Somka000/patch-8
Update servers_be.json
2020-10-12 10:40:10 -04:00
Vanguard e2403b96e6 3 changed lines
indev.popup
block.silicon-smelter.description
block.alloy-smelter.description
2020-10-12 17:38:56 +03:00
Summet 2a1ce6109e Дацитовый валун (#23) 2020-10-12 17:25:13 +03:00
Vanguard eec7408b0e 3 lines added; 1 line changed
Added:
wave.guardianwarn
wave.guardianwarn.one
lastaccessed

Changed:
block.silicon-smelter.description
2020-10-12 17:08:57 +03:00
Anuken f10c5c1ca8 Merge remote-tracking branch 'origin/master' 2020-10-12 10:06:41 -04:00
Anuken 378e81cd90 Fixed #2917 2020-10-12 10:06:34 -04:00
Anuken 0ddc34a51d Merge pull request #2920 from Catchears/dacite-boulder
Add bundle entry for dacite boulder
2020-10-12 10:03:30 -04:00
Wiki Updater 08629bb7f7 add bundle entry for dacit boulder 2020-10-12 10:49:41 +02:00
Leonwang4234 7f5561f037 add... 2020-10-11 17:03:48 -07:00
Anuken 9edec3c7ab Update .travis.yml 2020-10-11 19:14:16 -04:00
Anuken 66ecf96be2 Merge pull request #2904 from Quezler/patch-52
Make deconstructing scrap walls return scrap
2020-10-11 19:11:52 -04:00
Anuken 6807b589a3 Logic unit control tweaks 2020-10-11 19:10:33 -04:00
MEEP of Faith 7662174dc4 oki doki 2020-10-11 12:58:50 -07:00
Anuken ee50995dde Removed "sector attacked" message 2020-10-11 14:54:05 -04:00
Anuken 2f6f205dc7 Better builder detection for ConstructBlock 2020-10-11 14:20:53 -04:00
Anuken f1ec26f82b Correct logic control position rendering 2020-10-11 14:10:55 -04:00
Anuken 7df575e76a Merge remote-tracking branch 'origin/master' 2020-10-11 14:05:19 -04:00
Anuken af54de894c Balancing / LogicAI sync 2020-10-11 14:05:16 -04:00
YellOw139 8ed6f1e3a8 Updates until commit 3fe79531a6 2020-10-11 21:01:37 +03:00
Anuken 4473d1d674 Merge pull request #2911 from summetdev/patch-5
Fix Vars.loops declaration
2020-10-11 13:56:59 -04:00
Summet 4f258b54c5 Fix Vars.loops declaration 2020-10-11 20:47:04 +03:00
Anuken ad2bda8ec1 Better sector gen 2020-10-11 13:33:02 -04:00
Felix Corvus 6d436ce680 избегаем потенциальных проблем 2020-10-11 19:18:28 +03:00
Summet 504d29ca54 Подключения узлов ⚡
* Подключения узлов ⚡

* Подключения -> Подключений
2020-10-11 19:10:02 +03:00
Anuken f12379ee07 Fixed #2910 2020-10-11 11:55:45 -04:00
Anuken 3fe79531a6 Added message for last accessed player of block 2020-10-11 11:47:22 -04:00
Anuken e11a8565d0 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/src/mindustry/ui/dialogs/PausedDialog.java
2020-10-11 10:51:46 -04:00
Anuken 3d99e38f10 Sector simplification 2020-10-11 10:51:33 -04:00
Somka000 5bcc37d061 Update servers_be.json
I created PvP server on BE, because players don't have PvP BE server and on BE version are new turrets, better logic etc.
2020-10-11 16:49:27 +02:00
Anuken cc051dd787 Merge pull request #2905 from DeltaNedas/uinames
add names to lots of ui elements
2020-10-11 10:36:18 -04:00
DeltaNedas 0f2c38b0c0 oh no 2020-10-11 15:28:50 +01:00
Anuken d9aa1f765d Merge pull request #2906 from Quezler/patch-53
Visualize maximum amount of power node wires
2020-10-11 10:19:58 -04:00
AnukenandPatrick 'Quezler' Mounier 62baf5cab2 Update core/src/mindustry/world/blocks/power/PowerNode.java
Co-authored-by: Patrick 'Quezler' Mounier <patrick@queztech.net>
2020-10-11 09:24:27 -04:00
Anuken 65d9978fa1 Fixed #2901 / Fixed #2903 2020-10-11 09:02:20 -04:00
Patrick 'Quezler' Mounier 6d632fc532 Update bundle.properties 2020-10-11 14:59:44 +02:00
Patrick 'Quezler' Mounier a975da543b Add a connections bar to powernodes
Bundle entry in next commit.
2020-10-11 14:58:53 +02:00
Vanguard ec8708067b 1 new line
editor.center
2020-10-11 14:59:05 +03:00
DeltaNedas 5eb8a87528 h 2020-10-11 12:59:00 +01:00
DeltaNedas 1539d86846 add names to some major dialog elements 2020-10-11 12:57:18 +01:00
DeltaNedas a60ae3a060 add names to major fragment elements 2020-10-11 12:56:55 +01:00
Patrick 'Quezler' Mounier eaf7a86bce Make deconstructing scrap walls return scrap 2020-10-11 13:54:28 +02:00
MEEP of Faith 5600f96a37 Make the sound pitch not random. 2020-10-10 18:03:53 -07:00
Anuken bcb248907c Campaign core item incineration + better idle gen 2020-10-10 19:02:47 -04:00
Anuken ab772d4901 fewer destruction turns 2020-10-10 17:31:16 -04:00
Anuken 7bcecea539 Merge remote-tracking branch 'origin/master' 2020-10-10 17:09:22 -04:00
Anuken 4d889cd8d1 Weather fixes 2020-10-10 17:09:19 -04:00
Anuken a3e42b28bd Merge pull request #2821 from summetdev/schems-description
Descriptions for schematics.
2020-10-10 16:22:00 -04:00
Anuken c2202a0173 Bugfixes 2020-10-10 15:50:03 -04:00
Pear 31617b906b Add Pearkin Attack Server to server.json
We're a new community starting out with Mindustry.
Its a chill and relax attack server with RTV, stats, and Discord moderation setup.
2020-10-10 15:19:24 -04:00
Anuken 316e6e298c Fixed #2896 2020-10-10 14:55:21 -04:00
Anuken 8482221c83 . 2020-10-10 14:47:59 -04:00
summetdev d94fdfa50f don't show desc at schem save 2020-10-10 20:28:43 +03:00
Anuken 2079a91ac6 Merge remote-tracking branch 'origin/master' 2020-10-10 13:16:03 -04:00
Anuken d61ad8d2ef Fixed #2895 2020-10-10 13:15:59 -04:00
Anuken dbdd1bd87f Merge pull request #2894 from Quezler/patch-51
Who needs two pairs of legs?
2020-10-10 12:50:33 -04:00
Patrick 'Quezler' Mounier f2bd4bf38c Who needs two pairs of legs? 2020-10-10 18:35:00 +02:00
Anuken 837a8cecb3 Wave balancing & other tweaks 2020-10-10 12:26:57 -04:00
Anuken 3f74c61c0a Map center button 2020-10-10 12:05:11 -04:00
Anuken 63bf066cff Merge remote-tracking branch 'origin/master' 2020-10-10 11:38:05 -04:00
Anuken fb831e8fef Better cliff sprites 2020-10-10 11:37:58 -04:00
Anuken a4306431f0 Merge pull request #2892 from DeltaNedas/storage
make storageblock instantiable
2020-10-10 11:19:05 -04:00
Pietro303HD 2e4cbdcc05 Update bundle_pt_BR.properties 2020-10-10 09:51:23 -03:00
DeltaNedas 4b9659d4fa thank you quezler 2020-10-10 12:23:08 +01:00
DeltaNedas fd71e159d3 make storageblock instantiable 2020-10-10 11:16:04 +01:00
Anuken 5a31d419fc Bugfixes 2020-10-09 19:10:16 -04:00
Anuken 5455ef4361 CI 2020-10-09 18:49:46 -04:00
Anuken 2a7987d916 CI 2020-10-09 18:35:54 -04:00
Summet be1cc21ff5 Протекает меньше -> Не протекает (#21) 2020-10-10 01:04:31 +03:00
Anuken e4c8366a70 CI 2020-10-09 17:50:23 -04:00
Anuken e4bf46ab6a CI 2020-10-09 17:31:53 -04:00
Anuken 03a47baec3 CI 2020-10-09 17:08:58 -04:00
Anuken 4e1b46dda7 CI 2020-10-09 17:08:15 -04:00
Anuken d21e321c80 CI 2020-10-09 17:03:32 -04:00
Anuken 9f28750063 CI 2020-10-09 16:42:00 -04:00
Anuken 532263b417 Different Android version code system 2020-10-09 16:19:58 -04:00
Anuken 8d738c31e7 arc 2020-10-09 16:17:23 -04:00
Anuken 36463f920d Signed Android releases, maybe 2020-10-09 15:58:55 -04:00
Anuken 7639f8102f Bugfixes 2020-10-09 15:34:25 -04:00
Anuken 7da400608c Bugfixes 2020-10-09 15:18:13 -04:00
Anuken 81633dace4 Merge remote-tracking branch 'origin/master' 2020-10-09 13:52:15 -04:00
Anuken c78088ab5f Harder default waves 2020-10-09 13:52:07 -04:00
Anuken d75be3fcd6 Merge pull request #2888 from Quezler/patch-50
Update leak behaviour in plated conduit description
2020-10-09 13:18:11 -04:00
Patrick 'Quezler' Mounier d776744905 Update leak behaviour in plated conduit description 2020-10-09 19:11:56 +02:00
Anuken 96656bac6b Bugfixes 2020-10-09 12:59:59 -04:00
Anuken 99539bbab0 Merge remote-tracking branch 'origin/master' 2020-10-09 10:02:12 -04:00
Anuken 22f1c3b2d1 Bugfixes 2020-10-09 10:02:08 -04:00
Anuken 1d34b8474b Merge pull request #2877 from genNAowl/pierce-cap
Adds a Pierce Cap Variable
2020-10-09 09:59:53 -04:00
Anuken ecd152a114 Merge pull request #2882 from Quezler/patch-49
Prevent plated conduits from leaking
2020-10-09 09:57:47 -04:00
Anuken c59263037b Merge pull request #2879 from Quezler/patch-47
Console yes command
2020-10-09 09:46:16 -04:00
Patrick 'Quezler' Mounier ae9093bfd6 Update ArmoredConduit.java 2020-10-09 10:10:50 +02:00
Patrick 'Quezler' Mounier f3473e78b4 Update Conduit.java 2020-10-09 10:10:34 +02:00
Patrick 'Quezler' Mounier 1672c70c99 Update BuildingComp.java 2020-10-09 10:07:56 +02:00
Patrick 'Quezler' Mounier 637317f3a5 Add a yes command to the server console 2020-10-09 09:29:37 +02:00
Sunny Kim 30a5c6631b consistency 2020-10-09 15:50:27 +09:00
Leonwang4234 e73a813d69 prevent from breaking other things 2020-10-08 19:27:01 -07:00
Leonwang4234 af5fd4551c true it is 2020-10-08 19:18:53 -07:00
Leonwang4234 0eb0f34908 add pierceCap 2020-10-08 19:14:05 -07:00
Anuken e2b58528d0 New waves for sectors, quite possibly broken 2020-10-08 19:33:54 -04:00
Anuken 68f11df55d arc 2020-10-08 19:11:34 -04:00
Anuken 0a0af9c291 Random derelicts in sectors 2020-10-08 19:11:20 -04:00
Felix Corvus fcb027f3e5 Космос ✨ 2020-10-09 00:56:42 +03:00
Anuken 2d70e00193 getChild -> remove 2020-10-08 15:15:47 -04:00
Anuken c7f1204119 space 2020-10-08 15:14:28 -04:00
Anuken 2c905cdbf1 Merge branch 'space' 2020-10-08 14:47:41 -04:00
Anuken f14d631ff9 Internal changes for surface-less floors 2020-10-08 14:44:02 -04:00
Anuken 6aa1144429 Hot rock + basalt generation for sectors 2020-10-08 14:37:51 -04:00
Anuken d06449f311 space 2020-10-08 14:06:07 -04:00
Anuken e05ac5ae41 Cleanup 2020-10-08 13:08:49 -04:00
Anuken eb0ab3b3e5 Fixed #2870 2020-10-08 12:59:57 -04:00
Anuken ac496a60b7 More tests 2020-10-08 09:22:42 -04:00
Anuken 3ec243a49b Fixed #2866 2020-10-08 09:15:33 -04:00
Sunny Kim a698258b67 Update bundle_ko.properties
some stuff, unit shield(방어막) vs force field(보호막) distinction and more
2020-10-08 19:17:30 +09:00
MEEP of Faith f93b80dd36 thx 2020-10-07 21:24:32 -07:00
MEEP of Faith 4317cad110 Since my Gradle is broken or something, I'll be relying on Travis until I get it fixed. 2020-10-07 19:07:01 -07:00
MEEP of Faith 3d4ace6ca8 If units can have chargeSound, why not chargeTurrets too? 2020-10-07 18:24:30 -07:00
BasedUser a7bbea5d3a Update servers_be.json
additional flexibility
2020-10-08 01:25:32 +03:00
Anuken 29ccc5010a Removed debug log 2020-10-07 17:24:48 -04:00
Anuken a97f7eeef8 Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-10-07 17:24:25 -04:00
Anuken 903b62be98 IO fixes 2020-10-07 17:21:48 -04:00
Anuken 773e4c7053 Unified command 2020-10-07 16:37:48 -04:00
Anuken 4acb2ecfa6 Update bug_report.md 2020-10-07 16:05:16 -04:00
Anuken 261c1b1611 (2) 2020-10-07 14:20:23 -04:00
Anuken 8ba4458a1a Select effect 2020-10-07 14:20:09 -04:00
Anuken 30f5340a22 Mobile manual aiming / Mobile control changes [UNSTABLE] 2020-10-07 14:19:08 -04:00
Anuken 583a12a47b Fixed #2856 2020-10-07 11:13:11 -04:00
Anuken be66a15287 Extra mod field parsing (untested) 2020-10-07 11:00:02 -04:00
Petr Gašparík 0ae23b637f Merge branch 'master' of https://github.com/Anuken/Mindustry into v106-alpha 2020-10-07 09:50:58 +02:00
Anuken d4513fab19 IO schema files for previous commit 2020-10-06 17:08:28 -04:00
Anuken b23dc62c86 Save unit flags 2020-10-06 17:07:10 -04:00
Anuken 79bd9f1f81 More logic commands 2020-10-06 16:27:02 -04:00
Anuken 2d539565c3 More logic commands 2020-10-06 14:03:21 -04:00
Anuken 9182b48b85 Various unit logic additions 2020-10-06 11:26:25 -04:00
Thomas Widyantoko 4fb5e01324 Minor update from TheMrAlbert 2020-10-06 20:12:14 +07:00
Anuken 06925e70c8 Merge pull request #2841 from genNAowl/healbullets-bullets
Merge `HealBulletType` with `BulletType`
2020-10-06 09:09:18 -04:00
Vanguard f81a88feca 2 new lines; 1 changed line
New:
rules.enemyLights
units.processorcontrol

Changed:
item.titanium.description
2020-10-06 13:54:01 +03:00
Petr Gašparík 4b6289d957 Czech translation for Steam, up to date 2020-10-06 10:26:56 +02:00
Petr Gašparík 38ef46aa41 Czech translation - update for commit 7088ae8 2020-10-06 10:09:24 +02:00
Petr Gašparík 91875ec45f Merge branch 'master' of https://github.com/Anuken/Mindustry into v106-alpha 2020-10-06 10:06:06 +02:00
Leonwang4234 d8a06da79a Should Compile Now 2020-10-05 19:08:23 -07:00
Anuken c87f0c27b3 Logic tweaks 2020-10-05 19:59:15 -04:00
genNAowl cba2fd4351 Merge branch 'master' into healbullets-bullets 2020-10-05 16:04:29 -07:00
Anuken 5cc6ac0216 Small tweaks 2020-10-05 17:44:06 -04:00
Anuken e8e9c14ec9 Merge remote-tracking branch 'origin/master' 2020-10-05 17:09:30 -04:00
Anuken efbc871967 Pathfind command 2020-10-05 17:09:27 -04:00
Anuken 93e21c6bf9 Merge pull request #2806 from genNAowl/burning-affects-tiles
Incendiary Bullets Make Fires When Hitting Tiles
2020-10-05 16:35:13 -04:00
genNAowlandAnuken 7722d697c6 Update core/src/mindustry/entities/bullet/BulletType.java
Co-authored-by: Anuken <arnukren@gmail.com>
2020-10-05 13:10:52 -07:00
genNAowlandAnuken 68e67ae0f2 Update core/src/mindustry/entities/bullet/BulletType.java
Co-authored-by: Anuken <arnukren@gmail.com>
2020-10-05 13:10:46 -07:00
Anuken c24112e405 arc 2020-10-05 15:42:55 -04:00
Anuken fb4498d2fb Merge remote-tracking branch 'origin/master' 2020-10-05 15:42:48 -04:00
Anuken 7088ae89b3 Logic unit control 2020-10-05 15:42:37 -04:00
Leonwang4234 f9d6ef8e91 Sublime Text is messing with whitespace 2020-10-05 11:58:35 -07:00
Leonwang4234 28ea336966 whitespace 2020-10-05 11:57:19 -07:00
Leonwang4234 e17f28b636 merge healbullets with bullettype 2020-10-05 11:49:12 -07:00
Anuken dda77dad4c Merge pull request #2572 from Recessive/patch-5
Update servers.json
2020-10-05 11:12:33 -04:00
Petr Gašparík bf4b01e46c name change 2020-10-05 12:05:53 +02:00
Petr Gašparík cbb1058dc7 Merge branch 'v106-alpha' of https://github.com/PetrGasparik/Mindustry into v106-alpha 2020-10-05 12:04:38 +02:00
Petr Gašparík 26f6bcccb7 Czech - up to date for commit 14156c1 2020-10-05 12:04:35 +02:00
Petr Gašparík 81e4fb3759 Merge branch 'master' of https://github.com/Anuken/Mindustry into v106-alpha 2020-10-05 11:56:55 +02:00
Petr GašparíkandRoman Plášil 55be1fd969 Apply suggestions from code review
Co-authored-by: Roman Plášil <me@rplasil.name>
2020-10-05 11:55:01 +02:00
Anuken 8e49d73765 Nullable region arrays 2020-10-04 15:22:41 -04:00
Anuken d0d0f5a26f Fixed #2834 2020-10-04 15:06:13 -04:00
Anuken 9d454f208c Merge remote-tracking branch 'origin/master' 2020-10-04 12:48:37 -04:00
Anuken 702ba0ae84 Bugfixes 2020-10-04 12:48:33 -04:00
Anuken b02a3de117 hhh 2020-10-04 12:32:38 -04:00
Anuken 22debcc95a hhh 2020-10-04 12:32:37 -04:00
Anuken 4156ae4692 hhh 2020-10-04 12:32:27 -04:00
Anuken 46ab9e77e1 Update bug_report.md 2020-10-04 11:03:57 -04:00
Anuken dd9ca10c7f Update bug_report.md 2020-10-04 11:03:16 -04:00
Anuken 605a370679 Fixed turrets firing without power as players 2020-10-04 09:58:53 -04:00
Anuken c4fb84c359 Weapon charge sound 2020-10-04 09:42:49 -04:00
Anuken 55feb38cb7 Merge remote-tracking branch 'origin/master' 2020-10-04 09:11:42 -04:00
Anuken 3ad5167dc9 Fixed #2827 2020-10-04 09:11:38 -04:00
Anuken 0653d38075 Merge pull request #2825 from Gdeft/patch-3
Fix spelling in CrashSender.java
2020-10-04 09:09:52 -04:00
summetdev bdc69249bb fix newline 2020-10-04 16:03:48 +03:00
summetdev eedb90ed16 bigger description area 2020-10-04 15:27:05 +03:00
TheMrAlbert c1be33cf2f Minor update
These are the minor translations, please review this translation before merging.
Also, block.consecutive (line 611) are left untranslated to allow other translator who are capable to translate it well.
2020-10-04 12:45:08 +07:00
grimsoul10 5d2c36f186 Small changes (#1)
* Small changes
* Capitalizations
2020-10-04 10:48:48 +07:00
Thomas Widyantoko 3e49c68ec2 Updated for missing lines 2020-10-04 10:08:42 +07:00
Wina 903424654d Updates to bundle_es.properties 2020-10-03 22:39:33 -03:00
Gdeft 08dfded0c2 Fix spelling 2020-10-04 07:15:27 +07:00
Anuken b561b38b56 Fixed #2824 2020-10-03 19:07:16 -04:00
cinnx 6b36b65ac0 Update bundle_pl.properties
fixed some translations; compared, fixed and added few lines from original bundle file
2020-10-03 23:14:11 +02:00
summetdev 5ffff9c151 description for schematics 2020-10-03 22:43:52 +03:00
Anuken 187c98b830 Merge remote-tracking branch 'origin/master' 2020-10-03 15:35:29 -04:00
Anuken 06f9aa5f84 things 2020-10-03 15:35:26 -04:00
Leonid Skorospelov f30a3392d5 Update servers.json 2020-10-03 19:54:25 +03:00
ThePythonGuy 50491755d1 typo and stuff 2020-10-03 16:59:39 +02:00
Anuken 9a92e0246e Merge pull request #2807 from MEEPofFaith/patch-1
Define payload capacity of payload conveyors on the conveyor itself.
2020-10-03 10:37:41 -04:00
Anuken 58a62ad19c implicit nullable types 2020-10-03 10:19:00 -04:00
Leonwang4234 60d5048140 Update BulletType.java 2020-10-02 21:25:05 -07:00
MEEP of Faith 8d4dff2481 Change the comment. 2020-10-02 21:22:11 -07:00
MEEP of Faith f6d805638c Then apply flexibility to the Payload Conveyor
Modding :D
2020-10-02 21:19:53 -07:00
MEEP of Faith 8f1869672d Variable fits limit. 2020-10-02 21:16:45 -07:00
Anuken 7a307bbe9c cleanup 2020-10-02 23:15:52 -04:00
Anuken 99bc330ce4 arc 2020-10-02 23:11:35 -04:00
Anuken 35af71c613 Moved Nullable to utils package 2020-10-02 23:11:26 -04:00
Leonwang4234 e53a1d0472 Update BulletType.java 2020-10-02 19:47:47 -07:00
Leonwang4234 74c0d0d0fd Update BulletType.java 2020-10-02 19:33:11 -07:00
Leonwang4234 ca70b9c705 fix
(again)
2020-10-02 18:28:36 -07:00
Leonwang4234 5aa0ce97b8 fix 2020-10-02 18:27:33 -07:00
Leonwang4234 39e956c934 Update BulletType.java 2020-10-02 18:26:17 -07:00
Leonwang4234 88639fffc5 fix 2020-10-02 18:17:51 -07:00
Leonwang4234 e17ad7a429 Merge remote-tracking branch 'upstream/master' into burning-affects-tiles 2020-10-02 17:47:11 -07:00
Anuken ae2a4ea2d6 Merge remote-tracking branch 'origin/master' 2020-10-02 20:23:46 -04:00
Anuken 43936b536e Cleanup 2020-10-02 20:23:37 -04:00
Anuken b73660eb4f Merge pull request #2803 from SkinH/patch-2
Update servers.json
2020-10-02 20:03:16 -04:00
Skin 6da0f7a8a4 Update servers.json 2020-10-03 02:58:00 +03:00
Anuken 5861fe61b2 Cleanup 2020-10-02 19:51:30 -04:00
Mayonez-bat 1f0e70ce9c Update servers.json
Add new Russian server
2020-10-03 00:55:21 +03:00
Anuken 10dd2b4b33 Fixed javadoc errors 2020-10-02 12:06:16 -04:00
Anuken a3224b7082 Improved replacement system 2020-10-02 11:14:18 -04:00
Anuken 138434d029 Fixed #2799 / Fixed #2797 2020-10-02 09:54:08 -04:00
老滑稽 04b03b0749 Update bundle_zh_CN.properties 2020-10-02 08:19:31 +08:00
Anuken 215cfaa42f Fixed #2793 2020-10-01 16:03:13 -04:00
Anuken 68c41774e4 More contrast for specific colors 2020-10-01 14:22:48 -04:00
Anuken 4074a241d2 Cleanup 2020-10-01 14:07:33 -04:00
Anuken c1970b4da5 Merge branch 'campaign'
# Conflicts:
#	core/src/mindustry/world/consumers/ConsumeItemFilter.java
2020-10-01 13:37:25 -04:00
Anuken 1170880127 Merge remote-tracking branch 'origin/master' 2020-10-01 13:33:55 -04:00
Anuken 199be4d13d Implicit non-nullability for fields 2020-10-01 13:33:43 -04:00
Anuken 085bc2ee9c campaign progress 2020-10-01 11:19:42 -04:00
老滑稽 b7b2da6bbd Update bundle_zh_CN.properties 2020-10-01 21:01:30 +08:00
Anuken 2604a2d649 Merge pull request #2783 from Quezler/patch-45
Move cryofluid mixer emoji back to the old number
2020-10-01 08:56:28 -04:00
Anuken 6f4f0eef57 Merge pull request #2786 from Quezler/patch-46
Clarify stack conveyor recharge property
2020-10-01 08:42:11 -04:00
Vanguard 65a0bd9a63 2 lines changed; 1 line added
Changed:
unit.vela.name
block.foreshadow.name

Added:
block.tsunami.name
2020-10-01 14:47:56 +03:00
Patrick 'Quezler' Mounier ce463d225f Clarify stack conveyor recharge property
(also, should be minimum & multiple of 1)
2020-10-01 11:54:58 +02:00
Patrick 'Quezler' Mounier 8e4d00d594 Move cryofluid mixer emoji back to the old number 2020-10-01 11:03:59 +02:00
Anuken 4264b960cd Merge branch 'master' of https://github.com/Anuken/Mindustry into campaign 2020-09-30 22:46:33 -04:00
Anuken b15cdfef46 sprites repacked 2020-09-30 22:37:32 -04:00
Anuken d3441f4ac9 Merge pull request #2781 from genNAowl/cryofluidmixer-cryofluid-mixer
change "cryofluidmixer" to "cryofluid-mixer"
2020-09-30 22:35:10 -04:00
Anuken 54c991e611 Removed outOfTime pause 2020-09-30 22:25:28 -04:00
Leonwang4234 87b21c052f Update SaveFileReader.java
fix
2020-09-30 18:29:58 -07:00
Leonwang4234 9601c81045 change sprite name 2020-09-30 18:05:43 -07:00
Leonwang4234 14156c1ce7 "cryofluidmixer" to "cryofluid-mixer"fl 2020-09-30 17:54:50 -07:00
Anuken f3c642d0d7 Fixed #2779 2020-09-30 19:55:22 -04:00
Anuken a0394e4382 Balance 2020-09-30 18:56:37 -04:00
Anuken 7eb0da82de Added enemy lights setting 2020-09-30 17:44:13 -04:00
Anuken 326640d32a Cleanup 2020-09-30 17:21:05 -04:00
Anuken 781d9b3c38 Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-09-30 16:42:10 -04:00
Anuken 1697fec311 Tsunami balancing 2020-09-30 16:40:45 -04:00
Anuken 0b2c2c49b0 Anuken/Mindustry-Suggestions/issues/653 2020-09-30 15:12:38 -04:00
Anuken 27089f1057 Merge remote-tracking branch 'origin/master' 2020-09-30 15:01:50 -04:00
Anuken d07c74b60f Re-added tap event for servers 2020-09-30 15:01:46 -04:00
Anuken 8dc610a091 Update CONTRIBUTING.md 2020-09-30 14:53:56 -04:00
Anuken 059c729a2c Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-09-30 14:50:09 -04:00
Anuken 03d676403f Cleanup 2020-09-30 14:50:05 -04:00
slava0135 feb8202b73 better stats... 2020-09-30 21:17:44 +03:00
slava0135 65607ba6bf better stats 2020-09-30 21:13:14 +03:00
slava0135 a806d7c019 Fun fact: 1.0 is smaller than 10 2020-09-30 20:41:56 +03:00
slava0135 aa5b3aa756 balancing 2020-09-30 20:30:04 +03:00
Anuken 6645e3a473 Merge pull request #2772 from LeoDog896/pathfinder
Remove nearGround in favor of !nearLiquid
2020-09-30 12:59:55 -04:00
LeoDog896 f2fd23dced can be nearGround AND nearLiquid 2020-09-30 12:56:59 -04:00
LeoDog896 49db761730 Revert "remove nearGround in favor of !nearLiquid"
This reverts commit 8751e77876.
2020-09-30 12:56:43 -04:00
Anuken d2728c2bf0 Fixed #2774 2020-09-30 12:45:01 -04:00
YellOw139 09934d9e12 Foreshadow 2020-09-30 19:15:52 +03:00
slava0135 48da4933fc comma 2020-09-30 18:52:59 +03:00
slava0135 07cdbfa423 New turret sprite by EyeOfDarkness 2020-09-30 18:47:56 +03:00
Anuken f5e5f82d47 Merge remote-tracking branch 'origin/master' 2020-09-30 11:19:46 -04:00
Anuken 0963de4022 Cleanup 2020-09-30 11:19:38 -04:00
LeoDog896 8751e77876 remove nearGround in favor of !nearLiquid 2020-09-30 11:15:11 -04:00
Anuken b35fa21c79 Update gradle.yml 2020-09-30 11:13:17 -04:00
Anuken b38e7f66ad Merge pull request #2770 from LeoDog896/autotiler
Autotiler docs and cleanup
2020-09-30 10:49:42 -04:00
Anuken ba53d76d8d Merge pull request #2769 from Voz-Duh/packed-liquid-drawer
Packed Liquid Drawer
2020-09-30 10:46:45 -04:00
slava0135 58ff3f2ef7 Merge branch 'master' of https://github.com/Anuken/Mindustry into tsunami 2020-09-30 17:18:20 +03:00
LeoDog896 6db2376835 Revert to if-statement 2020-09-30 09:47:03 -04:00
LeoDog896 2b04ebb14d Enum follows camelCase rules 2020-09-30 09:46:33 -04:00
Anuken 957e06470d Merge pull request #2768 from LeoDog896/master
Remove unused package
2020-09-30 09:43:12 -04:00
LeoDog896 fbb317aa11 Update contributors 2020-09-30 09:30:12 -04:00
LeoDog896 1c04653ffd Autotiler cleanup and documentation 2020-09-30 09:29:57 -04:00
Voz-Duh 91274ae104 Fix 2020-09-30 16:19:32 +03:00
Voz-Duh adf0f60abb Fix 2020-09-30 16:08:32 +03:00
Voz-Duh 20e56ed3d3 Packed Liquid Drawer 2020-09-30 15:58:11 +03:00
LeoDog896 177aa934b6 Merge remote-tracking branch 'upstream/master' 2020-09-30 08:43:08 -04:00
Felix Corvus aeaa5ac6e2 some trick 2020-09-30 15:42:07 +03:00
LeoDog896 a8c6c30382 Remove unused package 2020-09-30 08:41:33 -04:00
Felix Corvus 54d4f733ef Update bundle_ru.properties 2020-09-30 14:35:52 +03:00
Felix Corvus 75d8f93dd9 Update bundle_ru.properties 2020-09-30 14:07:06 +03:00
Felix Corvus 3660f22d96 *Предвестник*
А потом из ру комьюнити приходят люди и спрашивают, почему **переводчики** испортили игру
2020-09-30 13:52:09 +03:00
slava0135 d4402ee3bb Merge branch 'master' of https://github.com/Anuken/Mindustry into tsunami
 Conflicts:
	core/assets/icons/icons.properties
	core/assets/sprites/block_colors.png
	core/assets/sprites/fallback/sprites.atlas
	core/assets/sprites/fallback/sprites3.png
	core/assets/sprites/fallback/sprites4.png
	core/assets/sprites/fallback/sprites5.png
	core/assets/sprites/fallback/sprites7.png
	core/assets/sprites/fallback/sprites8.png
	core/assets/sprites/sprites.atlas
	core/assets/sprites/sprites.png
	core/assets/sprites/sprites2.png
	core/assets/sprites/sprites4.png
	core/assets/sprites/sprites5.png
	core/src/mindustry/content/Blocks.java
2020-09-30 09:48:18 +03:00
Anuken 3c3c15dcf4 Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-09-29 23:55:59 -04:00
Anuken 2b2a12267a Long-range 4x4 turret (wip) / Java 14 language upgrade 2020-09-29 23:55:55 -04:00
Thomas Widyantoko d86813bbb3 Merge branch 'master' into patch-1 2020-09-30 07:12:28 +07:00
Anuken 0e2f62f8b4 Merge pull request #2765 from summetdev/file-chooser-default
Save last FileChooser's directory to settings.
2020-09-29 17:29:34 -04:00
summetdev 111e50c3c6 Safe last fileChooser's directory to settings 2020-09-29 22:04:27 +03:00
slava0135 fb53abe593 Final? design 2020-09-29 21:27:41 +03:00
slava0135 83a20810f7 recolor 2020-09-29 21:02:29 +03:00
slava0135 e5dc481d00 new texture 2020-09-29 20:40:09 +03:00
Anuken c3274622b2 Fixed #2763 2020-09-29 11:53:45 -04:00
slava0135 d4441711a7 balance and size 2020-09-29 18:35:34 +03:00
slava0135 cbc2205347 Merge branch 'master' of https://github.com/Anuken/Mindustry into tsunami
 Conflicts:
	core/assets/sprites/block_colors.png
	core/assets/sprites/fallback/sprites.atlas
	core/assets/sprites/fallback/sprites.png
	core/assets/sprites/fallback/sprites2.png
	core/assets/sprites/fallback/sprites3.png
	core/assets/sprites/fallback/sprites4.png
	core/assets/sprites/fallback/sprites5.png
	core/assets/sprites/fallback/sprites7.png
	core/assets/sprites/fallback/sprites8.png
	core/assets/sprites/sprites.atlas
	core/assets/sprites/sprites.png
	core/assets/sprites/sprites2.png
	core/assets/sprites/sprites4.png
	core/assets/sprites/sprites5.png
2020-09-29 18:31:42 +03:00
Petr Gašparík 1d0d06164b Merge branch 'master' of https://github.com/Anuken/Mindustry into v106-alpha 2020-09-29 17:28:26 +02:00
Anuken 521ca1aea4 Fixed mechs not having animations on multiplayer 2020-09-29 10:57:06 -04:00
Petr Gašparík de459df26b Merge branch 'master' of https://github.com/Anuken/Mindustry into v106-alpha 2020-09-29 13:43:13 +02:00
Anuken 5523ea4752 Slag light 2020-09-28 19:37:18 -04:00
Anuken c89d6f6b74 Re-packed sprites from PR 2020-09-28 18:42:09 -04:00
Anuken d3863a7550 Merge remote-tracking branch 'origin/master' 2020-09-28 18:32:48 -04:00
Anuken a5b1239c2b Method renaming for consistency 2020-09-28 18:32:39 -04:00
Anuken 95146e032f Merge pull request #2757 from Voz-Duh/cleaner-sprites
Cleaner Sprites
2020-09-28 17:34:40 -04:00
Voz-Duh 45e1700237 Fix 2020-09-28 21:58:37 +03:00
Voz-Duh 81ceec8d03 Fix 2020-09-28 21:47:42 +03:00
Anuken 6a45a965c0 Allow unloading non-visible blocks 2020-09-28 12:42:20 -04:00
Anuken d55de18d09 Merge remote-tracking branch 'origin/master' 2020-09-28 11:02:57 -04:00
Anuken 231902aec5 Fixed #2756 2020-09-28 11:02:53 -04:00
Voz-Duh aef09a18b7 Fix 2020-09-28 17:38:11 +03:00
Voz-Duh 332365adc6 Fix 2020-09-28 17:36:35 +03:00
Voz-Duh 2c3813c94b Cleaner Sprites 2020-09-28 17:34:05 +03:00
Anuken 586d3adb0e Update bug_report.md 2020-09-28 10:30:51 -04:00
Anuken f1d09053f3 Fixed #2755 / Fixed #2753 2020-09-28 10:26:08 -04:00
ballgamer56 49df949967 Update bundle_th.properties 2020-09-28 16:33:34 +07:00
Petr Gašparík 250150a30c Czech cleanup 2020-09-28 10:24:50 +02:00
Petr Gašparík 27b1954fbf Merge branch 'master' of https://github.com/Anuken/Mindustry into v106-alpha 2020-09-28 10:20:58 +02:00
ballgamer56 6d163e45ac Update bundle_th.properties 2020-09-28 14:11:15 +07:00
Anuken 078a68a07d Fixed cores being placeable on nothing 2020-09-27 23:00:38 -04:00
ballgamer56 ced29f3d7b Update bundle_th.properties 2020-09-28 07:28:22 +07:00
Petr Gašparík 8ce6520fca Czech translation . update up to commit 9e0b29b 2020-09-28 00:03:51 +02:00
Anuken 482ec4b43c Fixed #2752 2020-09-27 18:01:17 -04:00
Petr Gašparík 53b556941c Merge branch 'master' of https://github.com/Anuken/Mindustry into v106-alpha 2020-09-27 23:50:48 +02:00
Anuken 3bf01334c9 Many things 2020-09-27 17:15:31 -04:00
ballgamer56 6f36724280 [WIP] Update Thai translation 2020-09-27 21:02:22 +07:00
Anuken ff84d72e20 Cleaner wall sprites 2020-09-27 00:43:00 -04:00
Anuken f46180298f Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-09-26 22:32:17 -04:00
Anuken ae46535365 Sprite cleanup 2020-09-26 22:31:49 -04:00
Anuken 0c7ce94b13 Sprite cleanup 2020-09-26 22:29:15 -04:00
Anuken fea8a3c12b Merge pull request #2718 from MEEPofFaith/patch-2
Make lightning have frag angle properties
2020-09-26 22:27:26 -04:00
Anuken 285f733b61 Merge pull request #2725 from LeoDog896/master
More sort and target options
2020-09-26 22:27:05 -04:00
Anuken 7b98628084 Unbroke wave sprite 2020-09-26 22:20:02 -04:00
Anuken 0a11482b55 Merge pull request #2742 from TheEvilSkeleton/master
Add Flathub link
2020-09-26 20:17:35 -04:00
Anuken f4b6600a6d Merge pull request #2738 from Voz-Duh/top-for-liquid-turrets
Top For Liquid Turrets
2020-09-26 20:16:38 -04:00
Proprietary Chrome-chan b73cad5cd6 Add Flathub link 2020-09-26 21:06:43 +00:00
Anuken f785f97e87 Merge remote-tracking branch 'origin/master' 2020-09-26 14:38:20 -04:00
Anuken 9edd029764 Fixed #2740 2020-09-26 14:38:16 -04:00
Voz-Duh 55081785d0 Fix 2020-09-26 21:24:47 +03:00
Voz-Duh 79aaec80c3 Fix 2020-09-26 20:45:15 +03:00
Voz-Duh a72b1463b4 Fix 2020-09-26 20:40:09 +03:00
Anuken 2817573594 Merge pull request #2739 from summetdev/patch-3
Add @echo off to run-server.bat
2020-09-26 13:14:18 -04:00
Summet 3a4318551e add @echo off 2020-09-26 19:49:01 +03:00
Voz-Duh 18604a397d Top For Liquid Turrets 2020-09-26 19:11:55 +03:00
Anuken 0f420b625a Fixed #2737 2020-09-26 11:59:14 -04:00
Anuken d4d3b71d7d Fixed #2735 2020-09-26 09:46:16 -04:00
Anuken ccdd94a090 Build check cleanup 2020-09-25 20:15:00 -04:00
Anuken c49b3124d5 Merge remote-tracking branch 'origin/master' 2020-09-25 18:49:36 -04:00
Anuken dc30993898 Fixed #2729 2020-09-25 18:49:31 -04:00
Anuken 47d734873b Merge pull request #2727 from LeoDog896/drown
Drown event
2020-09-25 16:27:21 -04:00
LeoDog896andSummet 1d52211f93 Update core/src/mindustry/entities/comp/FlyingComp.java
Co-authored-by: Summet <summet.dev@gmail.com>
2020-09-25 14:21:48 -04:00
Anuken 059b72b3e2 Merge remote-tracking branch 'origin/master' 2020-09-25 14:21:34 -04:00
Anuken 2cc93924f1 Support for Android java mods 2020-09-25 14:21:30 -04:00
Anuken 23fe204322 Merge pull request #2728 from LeoDog896/globalizeVars
Use reportIssueUrl
2020-09-25 13:05:44 -04:00
LeoDog896 53d4124fc3 Use reportIssueUrl 2020-09-25 12:26:04 -04:00
LeoDog896 c912eb197b Drown event
we all need to know when they drown
2020-09-25 12:01:59 -04:00
LeoDog896 35e4f696aa Merge remote-tracking branch 'upstream/master' 2020-09-25 10:55:04 -04:00
Anuken 85d32cd510 Merge pull request #2726 from Voz-Duh/shadow-fix
Shadow Fix
2020-09-25 09:53:13 -04:00
Anuken 292793daf1 Fixed #2722 2020-09-25 09:50:38 -04:00
Voz-Duh 41b4cbbce2 Shadow Fix 2020-09-25 15:18:06 +03:00
LeoDog896 6492ffd35d More sort and target options 2020-09-25 07:58:44 -04:00
slava0135 79f4608e81 Merge remote-tracking branch 'origin/tsunami' into tsunami 2020-09-25 14:22:13 +03:00
slava0135 9050cac19c added to tech tree 2020-09-25 14:21:52 +03:00
Prosta4okua 52a610a957 Update bundle_uk_UA.properties 2020-09-25 14:13:06 +03:00
Prosta4okua 13ff69cbca Update bundle_uk_UA.properties 2020-09-25 14:10:55 +03:00
Slava0135andPatrick 'Quezler' Mounier 79ac9894b3 Update core/src/mindustry/content/Blocks.java
s p a c e

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>
2020-09-25 12:58:28 +03:00
slava0135 3e81d194cb New liquid turret - Tsunami 2020-09-25 11:49:04 +03:00
YellOw139 08e6b4f2d7 Multiplayer note and the latest cleanup 2020-09-25 10:48:52 +03:00
老滑稽 8132cd9ba7 Update bundle_zh_CN.properties 2020-09-25 12:29:37 +08:00
MEEP of Faith 9f26979419 why variable here 2020-09-24 20:34:02 -07:00
Anuken 7b90f5a97d Merge remote-tracking branch 'origin/master' 2020-09-24 22:41:17 -04:00
Anuken 3a06cacf1d Minor fixes 2020-09-24 22:41:13 -04:00
Anuken 56515db614 Update bug_report.md 2020-09-24 21:27:33 -04:00
Felix Corvus 54ce446a7f nothing 2020-09-25 03:17:32 +03:00
Felix Corvus 38718ddc1d Update bundle_ru.properties 2020-09-25 03:12:59 +03:00
Anuken 2141e2ebab Cleaned up extra accessor method 2020-09-24 18:32:18 -04:00
MEEP of Faith 55e25cc509 Make lightning have frag angle properties
Adds `lightningCone`, which is the full angle of where the lightning direction can be, and `lightningAngle` which is the angle compared to the bullet that the center of the lightning cone is.
2020-09-24 15:31:03 -07:00
Anuken bc705aa7a0 Minor allocation optimization 2020-09-24 18:24:43 -04:00
Anuken 9e0b29b3dd Cleanup 2020-09-24 18:11:10 -04:00
Anuken 504334999d Campaign multiplayer note 2020-09-24 16:49:04 -04:00
Anuken 8d8cedaa44 Removed launch mechanic remnants 2020-09-24 16:44:11 -04:00
Anuken 659da0a837 formation tweaks 2020-09-24 15:49:39 -04:00
Anuken 0dccbf8598 Better physics system 2020-09-24 15:39:34 -04:00
Anuken 1682e3b996 Fixed #2714 2020-09-24 14:26:24 -04:00
Anuken a914bd77f6 Fixed #2712 2020-09-24 14:00:43 -04:00
Anuken da115e90bc Merge remote-tracking branch 'origin/master' 2020-09-24 13:05:43 -04:00
Anuken 0a07458186 Power-based ammo / Refactoring / IP kicks / Fixes 2020-09-24 13:05:39 -04:00
Anuken 1d530f531d Merge pull request #2707 from LeoDog896/master
Make renderer shader final
2020-09-24 12:43:51 -04:00
老滑稽 1607a96a6a Update bundle_zh_CN.properties 2020-09-25 00:17:43 +08:00
老滑稽 f5c8d0bf52 Update bundle_zh_CN.properties 2020-09-25 00:12:45 +08:00
LeoDog896 244a587db8 Merge remote-tracking branch 'upstream/master' 2020-09-24 12:08:27 -04:00
LeoDog896 b88302e604 Make shader final
Seriously, it shouldn't be changed
2020-09-24 12:07:45 -04:00
老滑稽 f95f6d8c7b Update bundle_zh_CN.properties 2020-09-25 00:07:24 +08:00
Anuken d1980ef493 Merge pull request #2704 from summetdev/patch-2
remove .bat extension from README.md
2020-09-24 12:02:34 -04:00
老滑稽 db558672cb Update bundle_zh_CN.properties 2020-09-24 23:54:52 +08:00
Summet 110c04e5e3 remove .bat 2020-09-24 18:32:57 +03:00
Anuken f3f33038e4 Merge pull request #2701 from Voz-Duh/team-indicator-for-command-center
Team Indicator For Command Center
2020-09-24 11:16:12 -04:00
Anuken da66d93db9 Merge pull request #2702 from LeoDog896/master
Added boss as radar target
2020-09-24 11:15:15 -04:00
Voz-Duh d08c54d9a7 Fix 2020-09-24 18:10:49 +03:00
LeoDog896 e23e8de62a Added boss as radar target 2020-09-24 10:59:13 -04:00
Voz-Duh 11eb5f464f Team Indicator For Command Center 2020-09-24 17:47:50 +03:00
Anuken db94acdb83 Merge remote-tracking branch 'origin/master' 2020-09-24 09:23:42 -04:00
Anuken 68e708cf9a d 2020-09-24 09:23:38 -04:00
YellOw139 0b4caec004 [Bundle][RO] Translation Update
This PR was tested in-game and is ready to merge at any time (unless marked as draft).

Changelog:
- Changes up until commit 35460f0b5f
- Typo fixes & various other improvements
2020-09-24 11:43:16 +03:00
Petr Gašparík c08875498f Czech update upto commit 35460f0 2020-09-24 07:38:26 +02:00
老滑稽 c2348f9019 Update bundle_zh_CN.properties 2020-09-24 13:10:06 +08:00
Anuken 35460f0b5f Merge pull request #2692 from Prosta4okua/master
immediate RU L10n update
2020-09-23 23:03:54 -04:00
Felix Corvus 90fe7d7e59 immediate RU L10n update 2020-09-24 05:34:37 +03:00
Anuken 0288cb34fb Cleanup 2020-09-23 22:15:14 -04:00
Anuken 75ebaab3a3 Merge pull request #2660 from J-VdS/schematic
Server disable schematic option (fix #2382)
2020-09-23 22:01:06 -04:00
Anuken ada664a2ca Fixed #2690 2020-09-23 21:46:40 -04:00
Anuken f9b46fbf18 Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-09-23 19:16:53 -04:00
Anuken 764b93154e Turret sprite tweaks 2020-09-23 19:16:33 -04:00
Anuken e4d97d790f Merge pull request #2576 from MWestfall/patch-3
Update servers.json
2020-09-23 19:02:24 -04:00
Anuken 5fa31b5625 Merge pull request #2577 from MWestfall/patch-4
Update servers_v6.json
2020-09-23 19:01:29 -04:00
Anuken 414d3eb3c4 Merge pull request #2637 from AydenRennaker/patch-7
Add Atanner Gaming V6 Server
2020-09-23 19:01:11 -04:00
Anuken abd8356385 Update .travis.yml 2020-09-23 18:47:29 -04:00
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
J-VdS d0c6f3274b Merge branch 'master' into schematic 2020-09-23 16:29:41 +02:00
J-VdS 1e10817708 revert file 2020-09-23 16:26:48 +02: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
J-VdS 28cd08bdd1 idk 2020-09-22 19:04:42 +02:00
J-VdS 428c396968 Update SchematicsDialog.java 2020-09-22 19:04:05 +02:00
J-VdS 890dfdeb06 weird intellij 2020-09-22 19:03:27 +02:00
J-VdS a0913c67df Update DesktopInput.java 2020-09-22 19:01:51 +02:00
J-VdS ba4612ed96 indent 2020-09-22 19:00:25 +02:00
J-VdS 4608697d0d capitals 2020-09-22 18:59:35 +02:00
J-VdS 89ea055a24 comment change 2020-09-22 18:58:47 +02:00
J-VdS 3a3367b510 prepush2 2020-09-22 18:46:28 +02:00
J-VdS 393ca67291 cleanup 2020-09-22 18:42:59 +02:00
J-VdS f4003fd463 merge 2020-09-22 18:41:24 +02:00
J-VdS 51065b57c4 info popup 2020-09-22 18:40:04 +02: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
DeltaNedasandAnuken 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
AydenRennaker 9f5e96ff8a Add Atanner Gaming V6 Server
Auto Updating server to latest bleeding edge build.
2020-09-20 22:56:11 -06: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 https://github.com/Anuken/Mindustry/commit/74cefb3ec999eadd50bedaf0f95324b78638f332)!
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
MWestfall d4811a7d04 Update servers_v6.json
ECAN Moving to V6
2020-09-17 10:36:48 -04:00
MWestfall 553bc1d1c8 Update servers.json 2020-09-17 10:34:19 -04:00
Recessive ca3c1a2be8 Update servers.json
Add {AA} Campaign to the global server listing
2020-09-17 20:01:30 +10: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
Thomas Widyantoko ef65f4e8d4 Delete .gitignore 2020-09-16 13:43:24 +07:00
Thomas Widyantoko 71dae6fa78 in_ID Google Play Store translations
files added
2020-09-16 13:42:49 +07: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
Thomas Widyantoko 22c2d8b010 Update bundle_in_ID.properties to match with v6
with fixes from PR #2513, completed(?)
2020-09-16 13:14:11 +07:00
Thomas Widyantoko eafbe3d02d in_ID Google Play Store translation 2020-09-16 12:46:10 +07: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 CorvusandTheSlaylord 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 c3222f59c5 router 2020-09-14 17:10:32 -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
Recessive 55ed739372 Update servers.json
Add {AA} Plague to the server listing
2020-09-09 14:27:26 +10: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
zethnestandAnuken 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 KimandAnuken 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
Pietro303HD acb849b536 Update bundle_pt_BR.properties 2020-09-03 09:35:04 -03:00
Pietro303HD 6509a6cd7a some small changes, and also removed a typo 2020-09-03 08:29:46 -03: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
way-zer ca823be813 Update servers_be.json
one bleeding-edge server of China
2020-08-29 20:31:35 +08: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
J-VdS fee15caf7a Merge branch 'master' into schematic 2020-08-28 13:38:46 +02: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
Thomas Widyantoko d9c124a820 New lines from main bundle and fixes
Still hasn't done yet
2020-08-25 23:06:51 +07: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
J-VdS a418d7e59f fix mobile copysetting 2020-08-20 23:34:24 +02: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
J-VdS 0d425456be allow copies 2020-08-20 20:46:04 +02: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
J-VdS 3753e8f54a global rule not working 2020-08-19 20:29:03 +02:00
J-VdS 4938aac731 schematic server setting 2020-08-19 19:10:25 +02: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
J-VdS 4334a3c24b Merge branch 'master' into schematic 2020-08-19 16:14:48 +02:00
J-VdS a95296eccc Merge pull request #3 from Anuken/master
merge 2
2020-08-19 16:13:15 +02:00
J-VdS fe18222c6c block schematics 2020-08-19 16:11:00 +02: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
J-VdS 337d5b0531 Merge pull request #1 from Anuken/master
$ update
2020-08-04 17:33:50 +02: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
Leonwang4234 d2bc2b07a9 the statud effect burning affects tiles 2020-08-02 13:31:16 -07: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
KatsuteandKatsute 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 https://github.com/Anuken/Mindustry/commit/69d0751e65347ea7bb9583a981b56eb4e3306224 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
zethnestandAnuken 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
SummetandAnuken 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
zethnestandAnuken 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
KittiskovandAnuken 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
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
clferandclfer 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
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-folletandAnuken 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
yeyysandAnuken 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
LapisandAnuken 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
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
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
扩散性百万甜面包andPatrick 'Quezler' Mounier 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
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
InvalidError404andPatrick 'Quezler' Mounier 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
VanguardandAnuken 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-mfgandAmon-Senpai 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
VanguardandAnuken 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 HuangandAnuken 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
TsjipTsjipandYaFou 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?
-> https://github.com/Anuken/Mindustry/commit/3f293190cf2c02ec4475e17f2b2385abcf0521ae#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
itskattandPaulao17 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
itskattandYaFou 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
itskattandYaFou 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?
-> https://github.com/Anuken/Mindustry/commit/3f293190cf2c02ec4475e17f2b2385abcf0521ae#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?
-> https://github.com/Anuken/Mindustry/commit/3f293190cf2c02ec4475e17f2b2385abcf0521ae#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
Paulao17anditskatt 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?
-> https://github.com/Anuken/Mindustry/commit/3f293190cf2c02ec4475e17f2b2385abcf0521ae#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
azureblueandDraco 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?
-> https://github.com/Anuken/Mindustry/commit/3f293190cf2c02ec4475e17f2b2385abcf0521ae#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?
-> https://github.com/Anuken/Mindustry/commit/3f293190cf2c02ec4475e17f2b2385abcf0521ae#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?
-> https://github.com/Anuken/Mindustry/commit/3f293190cf2c02ec4475e17f2b2385abcf0521ae#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
itskattandAzarias Boutin 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 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
Prosta4ok_ua 9b7c8d26b5 1 2019-08-12 21:01:03 +03:00
Prosta4ok_ua f91f074463 / 2019-08-04 16:58:45 +03:00
Prosta4ok_ua 40c7347c8e Translated everything. Maybe. 2019-08-04 14:16:03 +03:00
Prosta4ok_ua 5e18514b7a Ukrainian finished. Fixed some errors. 2019-08-03 23:55:41 +03:00
Prosta4ok_ua 6d15066dff й 2019-08-01 17:46:15 +03:00
Prosta4ok_ua 90340da42e Translate new descriptions 2019-08-01 11:21:27 +03: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
Prosta4ok_ua 1b1add315a ЈҮУКЕНГШҺЗХҸЖДЛОРПАВЫӘЧСМИТҒБӨ 2019-07-30 18:02:28 +03:00
Prosta4ok_ua edde55fedf Oof 2019-07-30 14:46:13 +03:00
Anuken dc81071c58 Merge branch 'master' into patch-1 2019-07-29 10:50:40 -06:00
Prosta4ok_ua f6093f483c Gm
Description
2019-07-28 22:30:52 +03: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
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
Prosta4ok_ua 6161fb10af Капіталізація це зло. 2019-07-09 16:38:12 +03:00
Prosta4ok_ua 4b4fc8e9ee Fixes 2019-07-08 16:35:54 +03: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
2708 changed files with 180130 additions and 85746 deletions
+27
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. "LATEST" IS NOT A VERSION, I NEED THE EXACT BUILD NUMBER OF YOUR GAME.*
**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 (zipped) save file you were playing on when the bug happened. THIS IS REQUIRED FOR ANY ISSUE HAPPENING IN-GAME, REGARDLESS OF WHETHER YOU THINK IT HAPPENS EVERYWHERE. DO NOT DELETE OR OMIT THIS LINE UNLESS YOU ARE SURE THAT THE ISSUE DOES NOT HAPPEN IN-GAME.*
**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
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
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>
+27
View File
@@ -0,0 +1,27 @@
name: Java CI
on: [push]
jobs:
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
buildJava15:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up JDK 15
uses: actions/setup-java@v1
with:
java-version: 15
- name: Run unit tests with gradle and Java 15
run: ./gradlew compileJava
+17 -16
View File
@@ -4,11 +4,13 @@ logs/
/core/assets/bundles/output/
/core/assets/.gifimages/
/deploy/
/out/
/desktop/packr-out/
/desktop/packr-export/
/desktop/mindustry-saves/
/desktop/mindustry-maps/
/desktop/gifexport/
/gifs/
/core/lib/
/ios/assets/
/core/assets-raw/sprites/generated/
@@ -17,24 +19,30 @@ logs/
/annotations/out/
/net/build/
/tools/build/
/core/build/
/tests/build/
/server/build/
changelog
saves/
/core/assets-raw/fontgen/out/
core/assets/saves/
/core/assets/saves/
steam_appid.txt
/test_files/
/annotations/build/
/desktop-sdl/build/
desktop-sdl/build/
/android/assets/mindustry-maps/
/android/assets/mindustry-saves/
/core/assets/gifexport/
/annotations/src/main/resources/META-INF/services
/core/assets/version.properties
/core/assets/locales
/ios/src/io/anuke/mindustry/gen/
/core/src/io/anuke/mindustry/gen/
/ios/src/mindustry/gen/
/core/src/mindustry/gen/
ios/robovm.properties
packr-out/
config/
*.gif
/core/assets/basepartnames
version.properties
.attach_*
@@ -49,15 +57,6 @@ crash-report-*
## Robovm
/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/libs/armeabi/
/android/libs/armeabi-v7a/
@@ -80,9 +79,11 @@ com_crashlytics_export_strings.xml
/android/bin/
/core/bin/
/desktop/bin/
/html/bin/
/ios/bin/
/ios-moe/bin/
/annotations/bin/
/server/bin/
/tests/bin/
/tools/bin/
*.tmp
*.bak
*.swp
+41 -19
View File
@@ -1,28 +1,50 @@
jdk:
- openjdk8
- openjdk14
dist: xenial
android:
components:
- android-29
- build-tools-29.0.3
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=6-fdroid-${TRAVIS_TAG:1}$'\n'versionCode=${TRAVIS_TAG:1} > version_fdroid.txt; git add .; git commit -m "Updating to build ${TRAVIS_TAG}"; fi
- git tag ${TRAVIS_BUILD_NUMBER}
- git config --global user.name "Build Uploader"
- if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then git push https://Anuken:${GH_PUSH_TOKEN}@github.com/Anuken/MindustryBuilds ${TRAVIS_BUILD_NUMBER}; git push https://Anuken:${GH_PUSH_TOKEN}@github.com/Anuken/MindustryBuilds; fi
- cd ../Mindustry
- git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc
- if [ -n "$TRAVIS_TAG" ]; then cd ../Arc; git tag ${TRAVIS_TAG}; git push https://Anuken:${GH_PUSH_TOKEN}@github.com/Anuken/Arc ${TRAVIS_TAG}; cd ../Mindustry; fi
- "./gradlew test"
- "./gradlew desktop: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:
- provider: releases
skip_cleanup: true
draft: false
api_key:
secure: Cv5wFtWt62/A24EvSEQvMow7gKPbZ3oATEFPuSghhB2TQz1dA40Zee3Qvk4LFlpLrhYo4K0ZSczCZRGpR+hCd8+Dpww52bheYEvWuh3ZQfvu/fXtEx2j5PwP1qMpmIgSxETV/gkD7l9FImdh0VzktYiAvQfmi0bEocG9/D4QwjFpNat7iwBdcMiw1MvAygpdIWRsjiw0RKlB2mWarmoHhQ7Gu7qlU3j50uaEvcrtmU0pBUPggNQwQRv32i9NPvNFxrqqlUjDLIS8JFea99zCkp8BwYqbEvBIMzd+Qip1/stLJJA3+cDUClbsDtg8rAVetzpOrdLEEBmqShFe5MDl2yEHcsgpN9CFsyTaUfvB3P3rVjizvycMm42IsUkXQiarm5xTQ/TIA8Rd8AHiSKuweNCg1Fd5SFaRtKy8JVLXuxyfUccmyje6hhz2L4lS2Wfj3mAG7sqZUCXhWP79EKdGkiPOjKv4CwXEKmuH3BMVqPlNUZJr9Eg3sV1FG0h2l+MVOOnR635qdUbb49sYojYxVruMLX0BH1c4ZCu230m8CUoWA1Em1QNI75ya7+9Y5T6AsgWDVpBvdUo9fWNbdp+VQ0GskFQsJD5wtnxbcbHeFiERAgGBm7z6qt9u9LrQpBH+dsW52ADvYsu3L4nQEa+sdMHwTTwmGY+iUvsxu0DqxGg=
file:
- desktop/build/libs/desktop-release.jar
- server/build/libs/server-release.jar
on:
repo: Anuken/Mindustry
tags: true
- provider: script
script: bash update_wiki.sh
on:
repo: Anuken/Mindustry
tags: true
- provider: releases
skip_cleanup: true
draft: false
api_key:
secure: Cv5wFtWt62/A24EvSEQvMow7gKPbZ3oATEFPuSghhB2TQz1dA40Zee3Qvk4LFlpLrhYo4K0ZSczCZRGpR+hCd8+Dpww52bheYEvWuh3ZQfvu/fXtEx2j5PwP1qMpmIgSxETV/gkD7l9FImdh0VzktYiAvQfmi0bEocG9/D4QwjFpNat7iwBdcMiw1MvAygpdIWRsjiw0RKlB2mWarmoHhQ7Gu7qlU3j50uaEvcrtmU0pBUPggNQwQRv32i9NPvNFxrqqlUjDLIS8JFea99zCkp8BwYqbEvBIMzd+Qip1/stLJJA3+cDUClbsDtg8rAVetzpOrdLEEBmqShFe5MDl2yEHcsgpN9CFsyTaUfvB3P3rVjizvycMm42IsUkXQiarm5xTQ/TIA8Rd8AHiSKuweNCg1Fd5SFaRtKy8JVLXuxyfUccmyje6hhz2L4lS2Wfj3mAG7sqZUCXhWP79EKdGkiPOjKv4CwXEKmuH3BMVqPlNUZJr9Eg3sV1FG0h2l+MVOOnR635qdUbb49sYojYxVruMLX0BH1c4ZCu230m8CUoWA1Em1QNI75ya7+9Y5T6AsgWDVpBvdUo9fWNbdp+VQ0GskFQsJD5wtnxbcbHeFiERAgGBm7z6qt9u9LrQpBH+dsW52ADvYsu3L4nQEa+sdMHwTTwmGY+iUvsxu0DqxGg=
file:
- desktop/build/libs/Mindustry.jar
- server/build/libs/server-release.jar
on:
repo: Anuken/Mindustry
tags: true
#- provider: script
# script: bash update_wiki.sh
# on:
# repo: Anuken/Mindustry
# tags: true
env:
global:
secure: TqlUl/ojjkCMVOGbCTKz7Cnr4F08UyWzY/CiJ0vvUOGJGZ1qm7XavAlDf5XT0egU4mvr37THubFO8vojbqmrmy0oZnYh3njKFA8axgyZ8PyKkjGHOfd0i6qyEWsOr9H90/2X8r3LwEeLaDFyHpu3wljIGBjweg53g2qwmDwCFa9UR80FJZ+xDB+rD6B3cXT0DTEkCoLZXLqXm0Y3HvBdSuBL1LR/FNb2BSxNq+tNLGiz1kdQZV5erausbbZypBoGxzz63xAnyz2kkFz73A8xQYVTzGbFodTPz7HM13GVZ5s43I03Y+HYyHBgBaSLziO2hi2kzVJccOwzBp7wS4fs1MqsFY5+IeWJ9k+hm89NiYT7+6zlEgoUMlIniny1qLqWTzx7btUeuC/y/h5TVBNgaV+z0jmHycHfeSyq5I+vmX4J8qe3wmaN8TcdqYKU5nIznOTk3CM5Fzu0Bs9vkCkOxmormmcjMFW1RbdOLc/hpZWZggsBA88sNEAI8eq+r5QEeqzeCx8YKoZDjdrsqvgLMc3El3gS9oMGxkn0Y/TEcqs9Tc4BXtTkqIA68hD0DYzlAxYjVbbkAI9Hh9lHNvV3Dr/oCkGXQ/HflM143kj1L3tSBZpqeqQE2XhngB5nqpS3OZTmZbMTQ8qD2luU18yaTGMLF5tJS/fdKPRx0gQ1kL8=
- secure: 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=
+78
View File
@@ -0,0 +1,78 @@
# 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.
### Do not include packed sprites in your pull request.
When making a pull request that changes or adds new sprites, do not add the modified atlas & `spritesX.png` files to your final pull request. These are a frequent source of conflicts.
## 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. Any reasonable IDE should highlight them for you anyway.
- 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.
- Prefer single-line javadoc `/** @return for example */` instead of multiline javadoc whenver possible
- Short method/variable names (multipleLongWords should be avoided if it's possible to so reasonably, especially for variables)
- Use wildcard imports - `import some.package.*` - for everything. This makes incorrect class usage more obvious (*e.g. arc.util.Timer vs java.util.Timer*) and leads to cleaner-looking code.
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.
+49 -16
View File
@@ -1,45 +1,78 @@
![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)
[![Discord](https://img.shields.io/discord/391020510269669376.svg)](https://discord.gg/mindustry)
[![Discord](https://img.shields.io/discord/391020510269669376.svg)](https://discord.gg/mindustry)
A sandbox tower defense game written in Java.
_[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/)_
### Building
## Contributing
Bleeding-edge live builds are generated automatically for every commit. You can see them [here](https://jenkins.hellomouse.net/job/mindustry/).
See [CONTRIBUTING](CONTRIBUTING.md).
## Building
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.
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`
_Building:_ `gradlew desktop:dist`
_Building:_ `gradlew desktop:dist`
_Sprite Packing:_ `gradlew tools:pack`
#### Linux/Mac OS
### Linux/Mac OS
_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`.
##### Troubleshooting
### 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
#### Permission Denied
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.*
---
Gradle may take up to several minutes to download files. Be patient. <br>
After building, the output .JAR file should be in `/desktop/build/libs/desktop-release.jar` for desktop builds, and in `/server/build/libs/server-release.jar` for server builds.
After building, the output .JAR file should be in `/desktop/build/libs/Mindustry.jar` for desktop builds, and in `/server/build/libs/server-release.jar` for server builds.
### Downloads
## Feature Requests
<a href="https://anuke.itch.io/mindustry"><img src="https://static.itch.io/images/badge.svg" width="auto" height="75"></a>
Post feature requests and feedback [here](https://github.com/Anuken/Mindustry-Suggestions/issues/new/choose).
<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>
## Downloads
[<img src="https://static.itch.io/images/badge.svg"
alt="Get it on Itch.io"
height="60">](https://anuke.itch.io/mindustry)
[<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/)
[<img src="https://flathub.org/assets/badges/flathub-badge-en.svg"
alt="Download On Flathub"
height="60">](https://flathub.org/apps/details/com.github.Anuken.Mindustry)
+26
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.
+4 -3
View File
@@ -1,8 +1,5 @@
## 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/).
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.*
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.**
*(...of course, that's never really it. Bother me on Discord when something inevitably goes wrong.)*
+5 -26
View File
@@ -3,6 +3,7 @@
package="io.anuke.mindustry">
<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.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
@@ -13,12 +14,13 @@
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:isGame="true"
android:usesCleartextTraffic="true"
android:appCategory="game"
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"/>
<activity
android:name="io.anuke.mindustry.AndroidLauncher"
android:name="mindustry.android.AndroidLauncher"
android:label="@string/app_name"
android:screenOrientation="user"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout">
@@ -32,32 +34,9 @@
<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=".*\\.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:mimeType="application/octet-stream" />
<data android:scheme="file" android:host="*" android:pathPattern=".*\\.msav"/>
</intent-filter>
<intent-filter android:icon="@mipmap/ic_launcher"
android:label="Mindustry Map"
android:priority="1">
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="file" android:host="*" android:pathPattern=".*\\.mmap" android:mimeType="*/*"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="file" android:host="*" android:pathPattern=".*\\.msav" android:mimeType="*/*"/>
</intent-filter>
</activity>
</application>
+41 -59
View File
@@ -8,7 +8,9 @@ buildscript{
}
dependencies{
classpath 'com.android.tools.build:gradle:3.4.2'
//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'
}
}
@@ -19,26 +21,21 @@ configurations{ natives }
repositories{
mavenCentral()
jcenter()
maven{
url "https://maven.google.com"
}
maven{ url "https://maven.google.com" }
}
dependencies{
implementation project(":core")
implementation project(":net")
implementation arcModule("backends:backend-android")
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-arm64-v8a"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86_64"
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi"
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi-v7a"
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-arm64-v8a"
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86"
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86_64"
implementation 'com.jakewharton.android.repackaged:dalvik-dx:9.0.0_r3'
natives "com.github.Anuken.Arc:natives-android:${getArcHash()}"
natives "com.github.Anuken.Arc:natives-freetype-android:${getArcHash()}"
natives "com.github.Anuken.Arc:natives-box2d-android:${getArcHash()}"
//android dependencies magically disappear during compilation, thanks gradle!
if(new File(projectDir.parent, '../Arc').exists()) compileOnly fileTree(dir: '../../Arc/backends/backend-android/libs', include: ['*.jar'])
}
task deploy(type: Copy){
@@ -46,12 +43,12 @@ task deploy(type: Copy){
from "build/outputs/apk/release/android-release.apk"
into "../deploy/"
rename("android-release.apk", appName + "-android-" + getVersionString() + ".apk")
rename("android-release.apk", "${generateDeployName('android')}.apk")
}
android{
buildToolsVersion '28.0.3'
compileSdkVersion 28
buildToolsVersion '29.0.3'
compileSdkVersion 29
sourceSets{
main{
manifest.srcFile 'AndroidManifest.xml'
@@ -70,27 +67,21 @@ android{
}
defaultConfig{
def vfile = file('../core/assets/version.properties')
def code = 0
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(" ", "-")}"
}
Properties props = loadVersionProps()
Integer vcode = props['androidBuildCode']?.toInteger() ?: 1
def versionNameResult = "$versionNumber-$versionType-${getBuildVersion().replace(" ", "-")}"
applicationId "io.anuke.mindustry"
minSdkVersion 14
targetSdkVersion 28
versionCode code
targetSdkVersion 29
versionName versionNameResult
versionCode = (System.getenv("TRAVIS_BUILD_ID") != null ? System.getenv("TRAVIS_BUILD_ID").toInteger() : vcode)
if(project.hasProperty("release")){
props['androidBuildCode'] = (vcode + 1).toString()
}
props.store(file('../core/assets/version.properties').newWriter(), null)
}
compileOptions{
@@ -107,15 +98,20 @@ android{
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}else if(System.getenv("CI") == "true"){
storeFile = file("../../bekeystore.jks")
storePassword = System.getenv("keystore_password")
keyAlias = System.getenv("keystore_alias")
keyPassword = System.getenv("keystore_alias_password")
}else{
println("No keystore info property found!")
println("No keystore property found. Releases will be unsigned.")
}
}
}
if(project.hasProperty("RELEASE_STORE_FILE")) {
buildTypes {
release {
if(project.hasProperty("RELEASE_STORE_FILE") || System.getenv("CI") == "true"){
buildTypes{
release{
signingConfig signingConfigs.release
}
}
@@ -125,25 +121,11 @@ android{
// the natives configuration, and extracts them to the proper libs/ folders
// so they get packed with the APK.
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 ->
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{
from zipTree(jar)
into outputDir
include "*.so"
}
copy{
from zipTree(jar)
into file("libs/")
include "**"
}
}
}
@@ -167,5 +149,5 @@ task run(type: Exec){
}
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'
}
-29
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[]);
}
-13
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
@@ -2,4 +2,4 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@mipmap/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>
</adaptive-icon>
@@ -2,4 +2,4 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@mipmap/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>
</adaptive-icon>
+2 -2
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<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:colorBackgroundCacheHint">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
@@ -8,4 +8,4 @@
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowFullscreen">true</item>
</style>
</resources>
</resources>
+1 -1
View File
@@ -3,4 +3,4 @@
<string name="app_name">Mindustry</string>
</resources>
</resources>
+1 -1
View File
@@ -1,6 +1,6 @@
<resources>
<style name="GdxTheme" parent="android:Theme">
<style name="ArcTheme" parent="android:Theme">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
+1 -1
View File
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<full-backup-content>
</full-backup-content>
</full-backup-content>
@@ -1,209 +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.UnitScl;
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;
Runnable permCallback;
@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 requestExternalPerms(Runnable callback){
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)){
callback.run();
}else{
permCallback = callback;
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 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_USER);
}
@Override
public boolean canDonate(){
return true;
}
};
if(doubleScaleTablets && isTablet(this.getContext())){
UnitScl.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){
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.");
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;
}
}
@@ -0,0 +1,270 @@
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.telephony.*;
import arc.*;
import arc.backend.android.*;
import arc.files.*;
import arc.func.*;
import arc.scene.ui.layout.*;
import arc.util.*;
import dalvik.system.*;
import mindustry.*;
import mindustry.game.Saves.*;
import mindustry.io.*;
import mindustry.net.*;
import mindustry.ui.dialogs.*;
import java.io.*;
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 Class<?> loadJar(Fi jar, String mainClass) throws Exception{
DexClassLoader loader = new DexClassLoader(jar.file().getPath(), getFilesDir().getPath(), null, getClassLoader());
return Class.forName(mainClass, true, loader);
}
@Override
public void showFileChooser(boolean open, String extension, Cons<Fi> cons){
showFileChooser(open, cons, extension);
}
void showFileChooser(boolean open, Cons<Fi> cons, String... extensions){
String extension = extensions[0];
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 && extensions.length == 1 ? "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 -> Structs.contains(extensions, file.extension().toLowerCase()), 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{
if(open){
new FileChooser("@open", file -> Structs.contains(extensions, file.extension().toLowerCase()), true, cons).show();
}else{
super.showFileChooser(open, extension, cons);
}
}
}
@Override
public void showMultiFileChooser(Cons<Fi> cons, String... extensions){
showFileChooser(true, cons, extensions);
}
@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());
try{
//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();
}
}
}catch(Exception e){
//print log but don't crash
Log.err(e);
}
}
@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;
}
}
@@ -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;
}
}
}
+1 -5
View File
@@ -1,6 +1,2 @@
apply plugin: "java"
sourceCompatibility = 1.8
sourceSets.main.java.srcDirs = ["src/main/java/"]
sourceSets.main.resources.srcDirs = ["src/main/resources/"]
sourceSets.main.resources.srcDirs = ["src/main/resources/"]
@@ -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, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE})
@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();
}
}
@@ -1,98 +0,0 @@
package io.anuke.annotations;
import com.squareup.javapoet.*;
import javax.annotation.processing.AbstractProcessor;
import javax.annotation.processing.ProcessingEnvironment;
import javax.annotation.processing.RoundEnvironment;
import javax.annotation.processing.SupportedSourceVersion;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.Modifier;
import javax.lang.model.element.TypeElement;
import javax.tools.Diagnostic.Kind;
import javax.tools.StandardLocation;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
@SupportedSourceVersion(SourceVersion.RELEASE_8)
public class AssetsAnnotationProcessor extends AbstractProcessor{
/** Name of the base package to put all the generated classes. */
private static final String packageName = "io.anuke.mindustry.gen";
private 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{
String path = Paths.get(Utils.filer.createResource(StandardLocation.CLASS_OUTPUT, "no", "no")
.toUri().toURL().toString().substring(System.getProperty("os.name").contains("Windows") ? 6 : "file:".length()))
.getParent().getParent().getParent().getParent().getParent().getParent().toString();
process("Sounds", path + "/assets/sounds", "io.anuke.arc.audio.Sound", "newSound");
process("Musics", path + "/assets/music", "io.anuke.arc.audio.Music", "newMusic");
return true;
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
}
@Override
public Set<String> getSupportedAnnotationTypes() {
return Collections.singleton("*");
}
void process(String classname, String path, String rtype, String loadMethod) throws Exception{
TypeSpec.Builder type = TypeSpec.classBuilder(classname).addModifiers(Modifier.PUBLIC);
MethodSpec.Builder load = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
MethodSpec.Builder dispose = MethodSpec.methodBuilder("dispose").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
HashSet<String> names = new HashSet<>();
Files.list(Paths.get(path)).forEach(p -> {
String fname = p.getFileName().toString();
String name = p.getFileName().toString();
name = name.substring(0, name.indexOf("."));
if(names.contains(name)){
Utils.messager.printMessage(Kind.ERROR, "Duplicate file name: " + p.toString() + "!");
}else{
names.add(name);
}
if(SourceVersion.isKeyword(name)){
name = name + "s";
}
load.addStatement(name + " = io.anuke.arc.Core.audio."+loadMethod+"(io.anuke.arc.Core.files.internal(io.anuke.arc.Core.app.getType() != io.anuke.arc.Application.ApplicationType.iOS ? $S : $S))",
path.substring(path.lastIndexOf("/") + 1) + "/" + fname, (path.substring(path.lastIndexOf("/") + 1) + "/" + fname).replace(".ogg", ".caf"));
dispose.addStatement(name + ".dispose()");
dispose.addStatement(name + " = null");
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), name, Modifier.STATIC, Modifier.PUBLIC).initializer("new io.anuke.arc.audio.mock.Mock" + rtype.substring(rtype.lastIndexOf(".") + 1)+ "()").build());
//cons.consume(type, fname, name);
});
if(classname.equals("Sounds")){
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), "none", Modifier.STATIC, Modifier.PUBLIC).initializer("new io.anuke.arc.audio.mock.Mock" + rtype.substring(rtype.lastIndexOf(".") + 1)+ "()").build());
}
type.addMethod(load.build());
type.addMethod(dispose.build());
JavaFile.builder(packageName, type.build()).build().writeTo(Utils.filer);
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
}
@@ -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;
}
}
@@ -1,144 +0,0 @@
package io.anuke.annotations;
import com.squareup.javapoet.*;
import io.anuke.annotations.IOFinder.ClassSerializer;
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. */
public class RemoteReadGenerator{
private final HashMap<String, ClassSerializer> serializers;
/** Creates a read generator that uses the supplied serializer setup. */
public RemoteReadGenerator(HashMap<String, ClassSerializer> serializers){
this.serializers = serializers;
}
/**
* Generates a class for reading remote invoke packets.
* @param entries List of methods to use.
* @param className Simple target class name.
* @param packageName Full target package name.
* @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)
throws IllegalAccessException, InvocationTargetException, InstantiationException, NoSuchMethodException, IOException{
TypeSpec.Builder classBuilder = TypeSpec.classBuilder(className).addModifiers(Modifier.PUBLIC);
classBuilder.addJavadoc(RemoteMethodAnnotationProcessor.autogenWarning);
//create main method builder
MethodSpec.Builder readMethod = MethodSpec.methodBuilder("readPacket")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.addParameter(ByteBuffer.class, "buffer") //buffer to read form
.addParameter(int.class, "id") //ID of method type to read
.returns(void.class);
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
readMethod.addParameter(playerType, "player");
}
CodeBlock.Builder readBlock = CodeBlock.builder(); //start building block of code inside read method
boolean started = false; //whether an if() statement has been written yet
for(MethodEntry entry : entries){
//write if check for this entry ID
if(!started){
started = true;
readBlock.beginControlFlow("if(id == " + entry.id + ")");
}else{
readBlock.nextControlFlow("else if(id == " + entry.id + ")");
}
readBlock.beginControlFlow("try");
//concatenated list of variable names for method invocation
StringBuilder varResult = new StringBuilder();
//go through each parameter
for(int i = 0; i < entry.element.getParameters().size(); i++){
VariableElement var = entry.element.getParameters().get(i);
if(!needsPlayer || i != 0){ //if client, skip first parameter since it's always of type player and doesn't need to be read
//full type name of parameter
String typeName = var.asType().toString();
//name of parameter
String varName = var.getSimpleName().toString();
//captialized version of type name for reading primitives
String capName = typeName.equals("byte") ? "" : Character.toUpperCase(typeName.charAt(0)) + typeName.substring(1);
//write primitives automatically
if(Utils.isPrimitive(typeName)){
if(typeName.equals("boolean")){
readBlock.addStatement("boolean " + varName + " = buffer.get() == 1");
}else{
readBlock.addStatement(typeName + " " + varName + " = buffer.get" + capName + "()");
}
}else{
//else, try and find a serializer
ClassSerializer ser = serializers.get(typeName);
if(ser == null){ //make sure a serializer exists!
Utils.messager.printMessage(Kind.ERROR, "No @ReadClass method to read class type: '" + typeName + "'", var);
return;
}
//add statement for reading it
readBlock.addStatement(typeName + " " + varName + " = " + ser.readMethod + "(buffer)");
}
//append variable name to string builder
varResult.append(var.getSimpleName());
if(i != entry.element.getParameters().size() - 1) varResult.append(", ");
}else{
varResult.append("player");
if(i != entry.element.getParameters().size() - 1) varResult.append(", ");
}
}
//execute the relevant method before the forward
//if it throws a ValidateException, the method won't be forwarded
readBlock.addStatement("$N." + entry.element.getSimpleName() + "(" + varResult.toString() + ")", ((TypeElement)entry.element.getEnclosingElement()).getQualifiedName().toString());
//call forwarded method, don't forward on the client reader
if(entry.forward && entry.where.isServer && needsPlayer){
//call forwarded method
readBlock.addStatement(packageName + "." + entry.className + "." + entry.element.getSimpleName() +
"__forward(player.con.id" + (varResult.length() == 0 ? "" : ", ") + varResult.toString() + ")");
}
readBlock.nextControlFlow("catch (java.lang.Exception e)");
readBlock.addStatement("throw new java.lang.RuntimeException(\"Failed to to read remote method '" + entry.element.getSimpleName() + "'!\", e)");
readBlock.endControlFlow();
}
//end control flow if necessary
if(started){
readBlock.nextControlFlow("else");
readBlock.addStatement("throw new $1N(\"Invalid read method ID: \" + id + \"\")", RuntimeException.class.getName()); //handle invalid method IDs
readBlock.endControlFlow();
}
//add block and method to class
readMethod.addCode(readBlock.build());
classBuilder.addMethod(readMethod.build());
//build and write resulting class
TypeSpec spec = classBuilder.build();
JavaFile.builder(packageName, spec).build().writeTo(Utils.filer);
}
}
@@ -1,224 +0,0 @@
package io.anuke.annotations;
import com.squareup.javapoet.*;
import io.anuke.annotations.Annotations.Loc;
import io.anuke.annotations.IOFinder.ClassSerializer;
import javax.lang.model.element.*;
import javax.tools.Diagnostic.Kind;
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. */
public class RemoteWriteGenerator{
private final HashMap<String, ClassSerializer> serializers;
/** Creates a write generator that uses the supplied serializer setup. */
public RemoteWriteGenerator(HashMap<String, ClassSerializer> serializers){
this.serializers = serializers;
}
/** Generates all classes in this list. */
public void generateFor(List<ClassEntry> entries, String packageName) throws IOException{
for(ClassEntry entry : entries){
//create builder
TypeSpec.Builder classBuilder = TypeSpec.classBuilder(entry.name).addModifiers(Modifier.PUBLIC);
classBuilder.addJavadoc(RemoteMethodAnnotationProcessor.autogenWarning);
//add temporary write buffer
classBuilder.addField(FieldSpec.builder(ByteBuffer.class, "TEMP_BUFFER", Modifier.STATIC, Modifier.PRIVATE, Modifier.FINAL)
.initializer("ByteBuffer.allocate($1L)", RemoteMethodAnnotationProcessor.maxPacketSize).build());
//go through each method entry in this class
for(MethodEntry methodEntry : entry.methods){
//write the 'send event to all players' variant: always happens for clients, but only happens if 'all' is enabled on the server method
if(methodEntry.where.isClient || methodEntry.target.isAll){
writeMethodVariant(classBuilder, methodEntry, true, false);
}
//write the 'send event to one player' variant, which is only applicable on the server
if(methodEntry.where.isServer && methodEntry.target.isOne){
writeMethodVariant(classBuilder, methodEntry, false, false);
}
//write the forwarded method version
if(methodEntry.where.isServer && methodEntry.forward){
writeMethodVariant(classBuilder, methodEntry, true, true);
}
}
//build and write resulting class
TypeSpec spec = classBuilder.build();
JavaFile.builder(packageName, spec).build().writeTo(Utils.filer);
}
}
/** Creates a specific variant for a method entry. */
private void writeMethodVariant(TypeSpec.Builder classBuilder, MethodEntry methodEntry, boolean toAll, boolean forwarded){
ExecutableElement elem = methodEntry.element;
//create builder
MethodSpec.Builder method = MethodSpec.methodBuilder(elem.getSimpleName().toString() + (forwarded ? "__forward" : "")) //add except suffix when forwarding
.addModifiers(Modifier.STATIC, Modifier.SYNCHRONIZED)
.returns(void.class);
//forwarded methods aren't intended for use, and are not public
if(!forwarded){
method.addModifiers(Modifier.PUBLIC);
}
//validate client methods to make sure
if(methodEntry.where.isClient){
if(elem.getParameters().isEmpty()){
Utils.messager.printMessage(Kind.ERROR, "Client invoke methods must have a first parameter of type Player.", elem);
return;
}
if(!elem.getParameters().get(0).asType().toString().equals("io.anuke.mindustry.entities.type.Player")){
Utils.messager.printMessage(Kind.ERROR, "Client invoke methods should have a first parameter of type Player.", elem);
return;
}
}
//if toAll is false, it's a 'send to one player' variant, so add the player as a parameter
if(!toAll){
method.addParameter(int.class, "playerClientID");
}
//add sender to ignore
if(forwarded){
method.addParameter(int.class, "exceptSenderID");
}
//call local method if applicable, shouldn't happen when forwarding method as that already happens by default
if(!forwarded && methodEntry.local != Loc.none){
//add in local checks
if(methodEntry.local != Loc.both){
method.beginControlFlow("if(" + getCheckString(methodEntry.local) + " || !io.anuke.mindustry.net.Net.active())");
}
//concatenate parameters
int index = 0;
StringBuilder results = new StringBuilder();
for(VariableElement var : elem.getParameters()){
//special case: calling local-only methods uses the local player
if(index == 0 && methodEntry.where == Loc.client){
results.append("io.anuke.mindustry.Vars.player");
}else{
results.append(var.getSimpleName());
}
if(index != elem.getParameters().size() - 1) results.append(", ");
index++;
}
//add the statement to call it
method.addStatement("$N." + elem.getSimpleName() + "(" + results.toString() + ")",
((TypeElement)elem.getEnclosingElement()).getQualifiedName().toString());
if(methodEntry.local != Loc.both){
method.endControlFlow();
}
}
//start control flow to check if it's actually client/server so no netcode is called
method.beginControlFlow("if(" + getCheckString(methodEntry.where) + ")");
//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");
//assign buffer
method.addStatement("packet.writeBuffer = TEMP_BUFFER");
//assign priority
method.addStatement("packet.priority = (byte)" + methodEntry.priority.ordinal());
//assign method ID
method.addStatement("packet.type = (byte)" + methodEntry.id);
//rewind buffer
method.addStatement("TEMP_BUFFER.position(0)");
for(int i = 0; i < elem.getParameters().size(); i++){
//first argument is skipped as it is always the player caller
if((!methodEntry.where.isServer/* || methodEntry.mode == Loc.both*/) && i == 0){
continue;
}
VariableElement var = elem.getParameters().get(i);
//add parameter to method
method.addParameter(TypeName.get(var.asType()), var.getSimpleName().toString());
//name of parameter
String varName = var.getSimpleName().toString();
//name of parameter type
String typeName = var.asType().toString();
//captialized version of type name for writing primitives
String capName = typeName.equals("byte") ? "" : Character.toUpperCase(typeName.charAt(0)) + typeName.substring(1);
//special case: method can be called from anywhere to anywhere
//thus, only write the player when the SERVER is writing data, since the client is the only one who reads it
boolean writePlayerSkipCheck = methodEntry.where == Loc.both && i == 0;
if(writePlayerSkipCheck){ //write begin check
method.beginControlFlow("if(io.anuke.mindustry.net.Net.server())");
}
if(Utils.isPrimitive(typeName)){ //check if it's a primitive, and if so write it
if(typeName.equals("boolean")){ //booleans are special
method.addStatement("TEMP_BUFFER.put(" + varName + " ? (byte)1 : 0)");
}else{
method.addStatement("TEMP_BUFFER.put" +
capName + "(" + varName + ")");
}
}else{
//else, try and find a serializer
ClassSerializer ser = serializers.get(typeName);
if(ser == null){ //make sure a serializer exists!
Utils.messager.printMessage(Kind.ERROR, "No @WriteClass method to write class type: '" + typeName + "'", var);
return;
}
//add statement for writing it
method.addStatement(ser.writeMethod + "(TEMP_BUFFER, " + varName + ")");
}
if(writePlayerSkipCheck){ //write end check
method.endControlFlow();
}
}
//assign packet length
method.addStatement("packet.writeLength = TEMP_BUFFER.position()");
String sendString;
if(forwarded){ //forward packet
if(!methodEntry.local.isClient){ //if the client doesn't get it called locally, forward it back after validation
sendString = "send(";
}else{
sendString = "sendExcept(exceptSenderID, ";
}
}else if(toAll){ //send to all players / to server
sendString = "send(";
}else{ //send to specific client from server
sendString = "sendTo(playerClientID, ";
}
//send the actual packet
method.addStatement("io.anuke.mindustry.net.Net." + sendString + "packet, " +
(methodEntry.unreliable ? "io.anuke.mindustry.net.Net.SendMode.udp" : "io.anuke.mindustry.net.Net.SendMode.tcp") + ")");
//end check for server/client
method.endControlFlow();
//add method to class, finally
classBuilder.addMethod(method.build());
}
private String getCheckString(Loc loc){
return loc.isClient && loc.isServer ? "io.anuke.mindustry.net.Net.server() || io.anuke.mindustry.net.Net.client()" :
loc.isClient ? "io.anuke.mindustry.net.Net.client()" :
loc.isServer ? "io.anuke.mindustry.net.Net.server()" : "false";
}
}
@@ -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);
}
}
}
@@ -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.");
}
}
}
@@ -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");
}
}
@@ -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
}
@@ -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.level = LogLevel.info;
if(System.getProperty("debug") != null){
Log.level = 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{
}
}
@@ -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(){}
}
}
@@ -0,0 +1,965 @@
package mindustry.annotations.entity;
import arc.files.*;
import arc.func.*;
import arc.struct.*;
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()
.replaceAll("this\\.<(.*)>self\\(\\)", "this") //fix parameterized self() calls
.replaceAll("self\\(\\)", "this") //fix self() calls
.replaceAll(" yield ", "") //fix enchanced switch
.replaceAll("\\/\\*missing\\*\\/", "var") //fix vars
);
}
}
//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(type.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("mindustry.gen.Groups.queueFree(($T)this)", Poolable.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 pool storage
groupsBuilder.addField(FieldSpec.builder(ParameterizedTypeName.get(Seq.class, Poolable.class), "freeQueue", Modifier.PRIVATE, Modifier.STATIC).initializer("new Seq<>()").build());
//method for freeing things
MethodSpec.Builder groupFreeQueue = MethodSpec.methodBuilder("queueFree")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.addParameter(Poolable.class, "obj")
.addStatement("freeQueue.add(obj)");
groupsBuilder.addMethod(groupFreeQueue.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);
//free everything pooled at the start of each updaet
groupUpdate
.addStatement("for($T p : freeQueue) $T.free(p)", Poolable.class, Pools.class)
.addStatement("freeQueue.clear()");
//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 +
'}';
}
}
}
@@ -0,0 +1,158 @@
package mindustry.annotations.impl;
import arc.files.*;
import arc.scene.style.*;
import arc.struct.*;
import arc.util.*;
import arc.util.io.*;
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());
ObjectMap<String, String> texIcons = new OrderedMap<>();
PropertiesUtils.load(texIcons, Fi.get(rootDirectory + "/core/assets/icons/icons.properties").reader());
texIcons.each((key, val) -> {
String[] split = val.split("\\|");
String name = Strings.kebabToCamel(split[1]).replace("Medium", "").replace("Icon", "");
if(SourceVersion.isKeyword(name) || name.equals("char")) name = name + "i";
ichtype.addField(FieldSpec.builder(char.class, name, Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).initializer("(char)" + key).build());
});
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();
}
}
@@ -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);
}
}
}
@@ -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.");
}
}
}
@@ -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;
}
}
@@ -0,0 +1,105 @@
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.getClass() == $T.class)", c.mirror());
}else{
writer.beginControlFlow("if(obj.getClass() == $T.class)", c.mirror());
beganWrite = true;
}
//write the name & individual fields
writer.addStatement("out.append($S)", name);
Seq<Svar> fields = c.fields();
fields.addAll(c.superclass().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.isAny(Modifier.TRANSIENT, Modifier.STATIC)) 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);
}
}
@@ -1,4 +1,4 @@
package io.anuke.annotations;
package mindustry.annotations.remote;
import java.util.ArrayList;
@@ -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;
@@ -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 = 8192;
/** 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);
}
}
}
@@ -0,0 +1,129 @@
package mindustry.annotations.remote;
import arc.struct.*;
import arc.util.io.*;
import com.squareup.javapoet.*;
import mindustry.annotations.*;
import mindustry.annotations.util.TypeIOResolver.*;
import javax.lang.model.element.*;
/** Generates code for reading remote invoke packets on the client and server. */
public class RemoteReadGenerator{
private final ClassSerializer serializers;
/** Creates a read generator that uses the supplied serializer setup. */
public RemoteReadGenerator(ClassSerializer serializers){
this.serializers = serializers;
}
/**
* Generates a class for reading remote invoke packets.
* @param entries List of methods to use.
* @param className Simple target class name.
* @param packageName Full target package name.
* @param needsPlayer Whether this read method requires a reference to the player sender.
*/
public void generateFor(Seq<MethodEntry> entries, String className, String packageName, boolean needsPlayer) throws Exception{
TypeSpec.Builder classBuilder = TypeSpec.classBuilder(className).addModifiers(Modifier.PUBLIC);
classBuilder.addJavadoc(RemoteProcess.autogenWarning);
//create main method builder
MethodSpec.Builder readMethod = MethodSpec.methodBuilder("readPacket")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.addParameter(Reads.class, "read") //buffer to read form
.addParameter(int.class, "id") //ID of method type to read
.returns(void.class);
if(needsPlayer){
//add player parameter
readMethod.addParameter(ClassName.get(packageName, "Player"), "player");
}
CodeBlock.Builder readBlock = CodeBlock.builder(); //start building block of code inside read method
boolean started = false; //whether an if() statement has been written yet
for(MethodEntry entry : entries){
//write if check for this entry ID
if(!started){
started = true;
readBlock.beginControlFlow("if(id == " + entry.id + ")");
}else{
readBlock.nextControlFlow("else if(id == " + entry.id + ")");
}
readBlock.beginControlFlow("try");
//concatenated list of variable names for method invocation
StringBuilder varResult = new StringBuilder();
//go through each parameter
for(int i = 0; i < entry.element.getParameters().size(); i++){
VariableElement var = entry.element.getParameters().get(i);
if(!needsPlayer || i != 0){ //if client, skip first parameter since it's always of type player and doesn't need to be read
//full type name of parameter
String typeName = var.asType().toString();
//name of parameter
String varName = var.getSimpleName().toString();
//captialized version of type name for reading primitives
String pname = typeName.equals("boolean") ? "bool" : typeName.charAt(0) + "";
//write primitives automatically
if(BaseProcessor.isPrimitive(typeName)){
readBlock.addStatement("$L $L = read.$L()", typeName, varName, pname);
}else{
//else, try and find a serializer
String ser = serializers.readers.get(typeName.replace("mindustry.gen.", ""), SerializerResolver.locate(entry.element, var.asType(), false));
if(ser == null){ //make sure a serializer exists!
BaseProcessor.err("No read method to read class type '" + typeName + "' in method " + entry.targetMethod + "; " + serializers.readers, var);
return;
}
//add statement for reading it
readBlock.addStatement(typeName + " " + varName + " = " + ser + "(read)");
}
//append variable name to string builder
varResult.append(var.getSimpleName());
if(i != entry.element.getParameters().size() - 1) varResult.append(", ");
}else{
varResult.append("player");
if(i != entry.element.getParameters().size() - 1) varResult.append(", ");
}
}
//execute the relevant method before the forward
//if it throws a ValidateException, the method won't be forwarded
readBlock.addStatement("$N." + entry.element.getSimpleName() + "(" + varResult.toString() + ")", ((TypeElement)entry.element.getEnclosingElement()).getQualifiedName().toString());
//call forwarded method, don't forward on the client reader
if(entry.forward && entry.where.isServer && needsPlayer){
//call forwarded method
readBlock.addStatement(packageName + "." + entry.className + "." + entry.element.getSimpleName() +
"__forward(player.con" + (varResult.length() == 0 ? "" : ", ") + varResult.toString() + ")");
}
readBlock.nextControlFlow("catch (java.lang.Exception e)");
readBlock.addStatement("throw new java.lang.RuntimeException(\"Failed to to read remote method '" + entry.element.getSimpleName() + "'!\", e)");
readBlock.endControlFlow();
}
//end control flow if necessary
if(started){
readBlock.nextControlFlow("else");
readBlock.addStatement("throw new $1N(\"Invalid read method ID: \" + id + \"\")", RuntimeException.class.getName()); //handle invalid method IDs
readBlock.endControlFlow();
}
//add block and method to class
readMethod.addCode(readBlock.build());
classBuilder.addMethod(readMethod.build());
//build and write resulting class
TypeSpec spec = classBuilder.build();
JavaFile.builder(packageName, spec).build().writeTo(BaseProcessor.filer);
}
}
@@ -0,0 +1,228 @@
package mindustry.annotations.remote;
import arc.struct.*;
import arc.util.io.*;
import com.squareup.javapoet.*;
import mindustry.annotations.Annotations.*;
import mindustry.annotations.*;
import mindustry.annotations.util.TypeIOResolver.*;
import javax.lang.model.element.*;
import java.io.*;
/** Generates code for writing remote invoke packets on the client and server. */
public class RemoteWriteGenerator{
private final ClassSerializer serializers;
/** Creates a write generator that uses the supplied serializer setup. */
public RemoteWriteGenerator(ClassSerializer serializers){
this.serializers = serializers;
}
/** Generates all classes in this list. */
public void generateFor(Seq<ClassEntry> entries, String packageName) throws IOException{
for(ClassEntry entry : entries){
//create builder
TypeSpec.Builder classBuilder = TypeSpec.classBuilder(entry.name).addModifiers(Modifier.PUBLIC);
classBuilder.addJavadoc(RemoteProcess.autogenWarning);
//add temporary write buffer
classBuilder.addField(FieldSpec.builder(ReusableByteOutStream.class, "OUT", Modifier.STATIC, Modifier.PRIVATE, Modifier.FINAL)
.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
for(MethodEntry methodEntry : entry.methods){
//write the 'send event to all players' variant: always happens for clients, but only happens if 'all' is enabled on the server method
if(methodEntry.where.isClient || methodEntry.target.isAll){
writeMethodVariant(classBuilder, methodEntry, true, false);
}
//write the 'send event to one player' variant, which is only applicable on the server
if(methodEntry.where.isServer && methodEntry.target.isOne){
writeMethodVariant(classBuilder, methodEntry, false, false);
}
//write the forwarded method version
if(methodEntry.where.isServer && methodEntry.forward){
writeMethodVariant(classBuilder, methodEntry, true, true);
}
}
//build and write resulting class
TypeSpec spec = classBuilder.build();
JavaFile.builder(packageName, spec).build().writeTo(BaseProcessor.filer);
}
}
/** Creates a specific variant for a method entry. */
private void writeMethodVariant(TypeSpec.Builder classBuilder, MethodEntry methodEntry, boolean toAll, boolean forwarded){
ExecutableElement elem = methodEntry.element;
//create builder
MethodSpec.Builder method = MethodSpec.methodBuilder(elem.getSimpleName().toString() + (forwarded ? "__forward" : "")) //add except suffix when forwarding
.addModifiers(Modifier.STATIC)
.returns(void.class);
//forwarded methods aren't intended for use, and are not public
if(!forwarded){
method.addModifiers(Modifier.PUBLIC);
}
//validate client methods to make sure
if(methodEntry.where.isClient){
if(elem.getParameters().isEmpty()){
BaseProcessor.err("Client invoke methods must have a first parameter of type Player", elem);
return;
}
if(!elem.getParameters().get(0).asType().toString().contains("Player")){
BaseProcessor.err("Client invoke methods should have a first parameter of type Player", elem);
return;
}
}
//if toAll is false, it's a 'send to one player' variant, so add the player as a parameter
if(!toAll){
method.addParameter(ClassName.bestGuess("mindustry.net.NetConnection"), "playerConnection");
}
//add sender to ignore
if(forwarded){
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
if(!forwarded && methodEntry.local != Loc.none){
//add in local checks
if(methodEntry.local != Loc.both){
method.beginControlFlow("if(" + getCheckString(methodEntry.local) + " || !mindustry.Vars.net.active())");
}
//concatenate parameters
int index = 0;
StringBuilder results = new StringBuilder();
for(VariableElement var : elem.getParameters()){
//special case: calling local-only methods uses the local player
if(index == 0 && methodEntry.where == Loc.client){
results.append("mindustry.Vars.player");
}else{
results.append(var.getSimpleName());
}
if(index != elem.getParameters().size() - 1) results.append(", ");
index++;
}
//add the statement to call it
method.addStatement("$N." + elem.getSimpleName() + "(" + results.toString() + ")",
((TypeElement)elem.getEnclosingElement()).getQualifiedName().toString());
if(methodEntry.local != Loc.both){
method.endControlFlow();
}
}
//start control flow to check if it's actually client/server so no netcode is called
method.beginControlFlow("if(" + getCheckString(methodEntry.where) + ")");
//add statement to create packet from pool
method.addStatement("$1N packet = $2N.obtain($1N.class, $1N::new)", "mindustry.net.Packets.InvokePacket", "arc.util.pooling.Pools");
//assign priority
method.addStatement("packet.priority = (byte)" + methodEntry.priority.ordinal());
//assign method ID
method.addStatement("packet.type = (byte)" + methodEntry.id);
//reset stream
method.addStatement("OUT.reset()");
method.addTypeVariables(Seq.with(elem.getTypeParameters()).map(BaseProcessor::getTVN));
for(int i = 0; i < elem.getParameters().size(); i++){
//first argument is skipped as it is always the player caller
if((!methodEntry.where.isServer/* || methodEntry.mode == Loc.both*/) && i == 0){
continue;
}
VariableElement var = elem.getParameters().get(i);
try{
//add parameter to method
method.addParameter(TypeName.get(var.asType()), var.getSimpleName().toString());
}catch(Throwable t){
throw new RuntimeException("Error parsing method " + methodEntry.targetMethod);
}
//name of parameter
String varName = var.getSimpleName().toString();
//name of parameter type
String typeName = var.asType().toString();
//captialized version of type name for writing primitives
String capName = typeName.equals("byte") ? "" : Character.toUpperCase(typeName.charAt(0)) + typeName.substring(1);
//special case: method can be called from anywhere to anywhere
//thus, only write the player when the SERVER is writing data, since the client is the only one who reads it
boolean writePlayerSkipCheck = methodEntry.where == Loc.both && i == 0;
if(writePlayerSkipCheck){ //write begin check
method.beginControlFlow("if(mindustry.Vars.net.server())");
}
if(BaseProcessor.isPrimitive(typeName)){ //check if it's a primitive, and if so write it
method.addStatement("WRITE.$L($L)", typeName.equals("boolean") ? "bool" : typeName.charAt(0) + "", varName);
}else{
//else, try and find a serializer
String ser = serializers.writers.get(typeName.replace("mindustry.gen.", ""), SerializerResolver.locate(elem, var.asType(), true));
if(ser == null){ //make sure a serializer exists!
BaseProcessor.err("No @WriteClass method to write class type: '" + typeName + "'", var);
return;
}
//add statement for writing it
method.addStatement(ser + "(WRITE, " + varName + ")");
}
if(writePlayerSkipCheck){ //write end check
method.endControlFlow();
}
}
//assign packet bytes
method.addStatement("packet.bytes = OUT.getBytes()");
//assign packet length
method.addStatement("packet.length = OUT.size()");
String sendString;
if(forwarded){ //forward packet
if(!methodEntry.local.isClient){ //if the client doesn't get it called locally, forward it back after validation
sendString = "mindustry.Vars.net.send(";
}else{
sendString = "mindustry.Vars.net.sendExcept(exceptConnection, ";
}
}else if(toAll){ //send to all players / to server
sendString = "mindustry.Vars.net.send(";
}else{ //send to specific client from server
sendString = "playerConnection.send(";
}
//send the actual packet
method.addStatement(sendString + "packet, " +
(methodEntry.unreliable ? "mindustry.net.Net.SendMode.udp" : "mindustry.net.Net.SendMode.tcp") + ")");
//end check for server/client
method.endControlFlow();
//add method to class, finally
classBuilder.addMethod(method.build());
}
private String getCheckString(Loc loc){
return loc.isClient && loc.isServer ? "mindustry.Vars.net.server() || mindustry.Vars.net.client()" :
loc.isClient ? "mindustry.Vars.net.client()" :
loc.isServer ? "mindustry.Vars.net.server()" : "false";
}
}
@@ -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");
}
}
@@ -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);
}
}
}
@@ -0,0 +1,112 @@
package mindustry.annotations.util;
import arc.struct.*;
import arc.util.*;
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;
}
@Nullable
public 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);
}
}
@@ -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())) + ")";
}
}
@@ -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();
}
}
@@ -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);
}
}
@@ -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;
}
}
}
@@ -1,5 +0,0 @@
io.anuke.annotations.RemoteMethodAnnotationProcessor
io.anuke.annotations.SerializeAnnotationProcessor
io.anuke.annotations.StructAnnotationProcessor
io.anuke.annotations.CallSuperAnnotationProcessor
io.anuke.annotations.AssetsAnnotationProcessor
@@ -0,0 +1,31 @@
#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.PosTeam=27
mindustry.entities.comp.PosTeamDef=28
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
oct=26
poly=18
pulsar=19
quad=23
risso=20
spiroct=21
vela=25
@@ -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}]}
@@ -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}]}
@@ -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}]}
@@ -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}]}
@@ -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}]}
@@ -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}]}
@@ -0,0 +1 @@
{version:3,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}]}
@@ -0,0 +1 @@
{version:4,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}]}
@@ -0,0 +1 @@
{version:5,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}]}
@@ -0,0 +1 @@
{fields:[{name:baseFlammability,type:float,size:4},{name:block,type:mindustry.world.Block,size:-1},{name:lifetime,type:float,size:4},{name:puddleFlammability,type:float,size:4},{name:tile,type:mindustry.world.Tile,size:-1},{name:time,type:float,size:4},{name:x,type:float,size:4},{name:y,type:float,size:4}]}
@@ -0,0 +1 @@
{version:1,fields:[{name:lifetime,type:float,size:4},{name:tile,type:mindustry.world.Tile,size:-1},{name:time,type:float,size:4},{name:x,type:float,size:4},{name:y,type:float,size:4}]}
@@ -0,0 +1 @@
{fields:[{name:x,type:float,size:4},{name:y,type:float,size:4}]}
@@ -0,0 +1 @@
{fields:[{name:block,type:mindustry.world.Block,size:-1},{name:lifetime,type:float,size:4},{name:time,type:float,size:4},{name:x,type:float,size:4},{name:y,type:float,size:4}]}
@@ -0,0 +1 @@
{fields:[{name:lifetime,type:float,size:4},{name:stacks,type:arc.struct.Seq<mindustry.type.ItemStack>,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:time,type:float,size:4},{name:x,type:float,size:4},{name:y,type:float,size:4}]}
@@ -0,0 +1 @@
{fields:[{name:admin,type:boolean,size:1},{name:boosting,type:boolean,size:1},{name:color,type:arc.graphics.Color,size:-1},{name:mouseX,type:float,size:4},{name:mouseY,type:float,size:4},{name:name,type:java.lang.String,size:-1},{name:shooting,type:boolean,size:1},{name:team,type:mindustry.game.Team,size:-1},{name:typing,type:boolean,size:1},{name:unit,type:Unit,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}
@@ -0,0 +1 @@
{fields:[{name:team,type:mindustry.game.Team},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{fields:[{name:amount,type:float,size:4},{name:generation,type:int,size:4},{name:liquid,type:mindustry.type.Liquid,size:-1},{name:tile,type:mindustry.world.Tile,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}
@@ -0,0 +1 @@
{fields:[{name:intensity,type:float,size:4},{name:life,type:float,size:4},{name:opacity,type:float,size:4},{name:weather,type:mindustry.type.Weather,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}
@@ -0,0 +1 @@
{version:1,fields:[{name:effectTimer,type:float,size:4},{name:intensity,type:float,size:4},{name:life,type:float,size:4},{name:opacity,type:float,size:4},{name:weather,type:mindustry.type.Weather,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}
@@ -0,0 +1 @@
{version:2,fields:[{name:effectTimer,type:float,size:4},{name:intensity,type:float,size:4},{name:life,type:float,size:4},{name:opacity,type:float,size:4},{name:weather,type:mindustry.type.Weather,size:-1},{name:windVector,type:arc.math.geom.Vec2,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}
@@ -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}]}
@@ -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}]}
@@ -0,0 +1 @@
{version:2,fields:[{name:ammo,type:float},{name:armor,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}
@@ -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}]}
@@ -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}]}
@@ -0,0 +1 @@
{version:2,fields:[{name:ammo,type:float},{name:armor,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}
@@ -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}]}
@@ -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}]}
@@ -0,0 +1 @@
{version:2,fields:[{name:ammo,type:float},{name:armor,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}
@@ -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}]}
@@ -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}]}
@@ -0,0 +1 @@
{version:2,fields:[{name:ammo,type:float},{name:armor,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}
@@ -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}]}
@@ -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}]}
@@ -0,0 +1 @@
{version:2,fields:[{name:ammo,type:float},{name:armor,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}
@@ -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: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}]}
@@ -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: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}]}
@@ -0,0 +1 @@
{version:2,fields:[{name:ammo,type:float},{name:armor,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}
@@ -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}]}
@@ -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}]}
@@ -0,0 +1 @@
{version:2,fields:[{name:ammo,type:float},{name:armor,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{fields:[{name:ammo,type:float},{name:armor,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:health,type:float},{name:isShooting,type:boolean},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}

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