Compare commits

...

1788 Commits
v36 ... v59

Author SHA1 Message Date
Anuken
20032def7e Fixed player turning white before drowning on multiplayer 2018-11-08 16:30:56 -05:00
Anuken
94706460c0 Merge remote-tracking branch 'origin/master' 2018-11-08 14:53:43 -05:00
Anuken
b7506229f8 Minor bugfixes 2018-11-08 14:53:18 -05:00
elmenda452
58c6df3537 Update bundle_es.properties (#317)
Translated the description of nearly everything which wasn't translated and made some changes. I don't really mind if someday these get reset.
2018-11-08 14:46:39 -05:00
Timmeey86
235a1f36ec Prepared/Fixed translation files for crash reported in #translations (#318) 2018-11-08 14:46:12 -05:00
키에르
b53821976e Update bundle_ko.properties (#316)
* Update bundle_ko.properties

* Fix typo
2018-11-08 10:20:30 -05:00
Anuken
4355881fb2 Fixed save files not working 2018-11-08 09:03:42 -05:00
Anuken
cf50d558ba Fixed many various things 2018-11-07 22:37:34 -05:00
Anuken
7488dc3ebb Fixed access violation crash 2018-11-07 21:49:26 -05:00
Anuken
b449847ad1 Reverted to power system that wasn't broken 2018-11-07 20:30:02 -05:00
Anuken
9785745384 Fixed many multiplayer bugs 2018-11-07 20:24:38 -05:00
Anuken
56ffa7905e Fixed instant-win wave missions / Fixed units clipping off screen 2018-11-07 19:58:53 -05:00
Anuken
216433aa2d New alpha drone mechanics 2018-11-07 19:34:31 -05:00
Anuken
122fbbed22 Added a 'tutorial' / Bugfixes 2018-11-07 19:23:40 -05:00
Anuken
042c671bd4 Difficulty balance / Better map display / UI fixes 2018-11-07 18:51:27 -05:00
Timmeey86
38fdc11917 Adjustable core position (#307)
* Made starting core position configurable and fixed tutorial sector core position

* Refactored classes to use a public int interface and a GridPoint2 as internal storage

* Battle missions now spawn the core at 50, 50 again

* Default player cores are now created at the first spawnpoint

* Manually fixed formatting which was not caught by auto formatter
2018-11-07 18:14:01 -05:00
Timmeey86
2f4730a9c6 Fixed unit/second translations since (#315) 2018-11-07 18:12:01 -05:00
Anuken
3759d32c89 Improved map previews 2018-11-07 16:56:47 -05:00
Timmeey86
93c2ca8df1 Reworked and extended german translation (#314)
* Reworked existing german translation

* Translated all block descriptions

* Replaced orange by accent highlighting
2018-11-07 16:45:57 -05:00
Anuken
3c70681537 Merge remote-tracking branch 'origin/master' 2018-11-07 15:30:58 -05:00
Anuken
0ce08319e7 Removed desktop top menu / Rebound pause back to space 2018-11-07 15:30:42 -05:00
Timmeey86
17e0489164 Improved descriptions of Container, Vault and Mend Projector (#312) 2018-11-07 14:09:26 -05:00
Anuken
7953cc416b Fixed item bridge input / Fixed sandbox map name/desc 2018-11-07 13:50:39 -05:00
Valentin Sonin
a670ac0aea upd bundle_ru.properties (#310)
add lines 768, 769,770
2018-11-07 12:41:30 -05:00
elmenda452
ef30018008 Update bundle_es.properties (#311)
Translated the entire tutorial, and a few more things.
2018-11-07 12:41:19 -05:00
elmenda452
66810c8b75 Update bundle_es.properties (#309)
Just translating a few things.
2018-11-07 00:11:53 -05:00
Anuken
2bba55ebd5 Clearer nuclear reactor output 2018-11-07 00:07:41 -05:00
Anuken
b977ae4d3b Updated bundles / Unbroke wave table 2018-11-06 23:56:11 -05:00
Anuken
d4f5e854c5 Misc. cleanup of UI / Removed 'font scale' var / Removed [orange] 2018-11-06 23:47:23 -05:00
Anuken
837f621633 Merge branch 'freetype' of https://github.com/Anuken/Mindustry 2018-11-06 21:01:21 -05:00
Anuken
a781b4a387 Updated uCore 2018-11-06 21:00:51 -05:00
Anuken
a73a75a7f8 Cyrillic, chinese, korean fonts 2018-11-06 20:55:18 -05:00
Anuken
17d1db913f Removed extra fonts in preparation for ttf conversion 2018-11-06 15:52:31 -05:00
Anuken
a924509e92 New font file 2018-11-06 13:09:39 -05:00
Anuken
04b4321ea1 New font 2018-11-06 12:55:13 -05:00
키에르
1f9ebc7295 Update bundle_ko.properties (#308) 2018-11-06 11:11:56 -05:00
Anuken
6d88111dfc Unbroke pathfinding 2018-11-05 21:43:26 -05:00
Anuken
184e52b4ec Removed waterlogged sectors 2018-11-05 21:04:04 -05:00
Anuken
2a3cc3d88c Fixed units moving faster at high FPS 2018-11-05 16:56:35 -05:00
Anuken
ffa1aae27c Removed shadow/world padding 2018-11-05 13:49:31 -05:00
Anuken
7cd842df19 Disabled tutorial until further notice 2018-11-05 13:09:04 -05:00
Anuken
e399e4960c Broke tutorial 2018-11-05 10:28:18 -05:00
Anuken
5c193a47eb Item image fix / Overflow/router reload fix 2018-11-05 09:02:45 -05:00
Anuken
b63c02cb10 New UI palette 2018-11-04 19:42:18 -05:00
Anuken
09418f1a5d Lakes / Fixed water placement 2018-11-04 18:52:51 -05:00
Anuken
fa4491340a More avoidance 2018-11-04 17:10:09 -05:00
Anuken
192814650d less (less) terrible physics 2018-11-04 15:49:23 -05:00
Anuken
5f1addc54d Local crash saving 2018-11-04 09:57:12 -05:00
Anuken
9ffc8c6800 Merge remote-tracking branch 'origin/master' 2018-11-04 09:32:47 -05:00
Anuken
64cd8084ea Fixed some sector bugs 2018-11-04 09:32:43 -05:00
키에르
2e6c9d408c Update (#304)
* Update bundle_ko.properties

* remove text.unit.none
2018-11-04 09:25:10 -05:00
키에르
f3bea49f61 'Unkown' (#302) 2018-11-04 09:22:39 -05:00
Timmeey86
48fdae754e Fixed a bug where sector buttons would not be updated after abandoning it (#301) 2018-11-04 09:22:15 -05:00
Anuken
64f2ee67b2 New sector dialog done 2018-11-04 00:09:25 -04:00
Anuken
19d34779a0 New sector dialog done 2018-11-04 00:08:06 -04:00
Anuken
76a6a0cf75 Fixed crash when trying to open non-existent map 2018-11-03 09:39:59 -04:00
Anuken
da47d97cd0 Removed unused descriptions / Re-ordered all files 2018-11-03 09:28:47 -04:00
Anuken
f59441005e New sorted update script 2018-11-03 09:17:03 -04:00
Anuken
e30347a11f Fixed world data not loading on mobile servers 2018-11-03 09:00:21 -04:00
Anuken
8ac079fb72 Fixed local servers sometimes not showing up 2018-11-03 08:53:59 -04:00
Anuken
4295f08a84 Fixed linked tiles sometimes being null 2018-11-02 21:40:19 -04:00
Anuken
bd8eb97d46 Merge remote-tracking branch 'origin/master' 2018-11-02 20:57:17 -04:00
Anuken
329f656c40 Input fix 2018-11-02 20:57:13 -04:00
Anuken
f2c7a26ce0 Sector edges 2018-11-02 20:53:28 -04:00
Anuken
930e25e64a Sector edges 2018-11-02 20:53:08 -04:00
Timmeey86
963269a685 Added descriptions for all unlockables which didn't have them (#297)
* Added english descriptions for walls and doors

* Added english descriptions for walls and doors

* Added descriptions for projectors, mine and turrets

* Added descriptions for transport blocks and two smelters

* Added descriptions for crafters

* Added descriptions for power-related items and containers

* Added descriptions for drills and extractors

* Added descriptions for ship/mech pads

* Added/updated unit/factory descriptions

* Added english descriptions for walls and doors

* Added descriptions for projectors, mine and turrets

* Added descriptions for transport blocks and two smelters

* Added descriptions for crafters

* Added descriptions for power-related items and containers

* Added descriptions for drills and extractors

* Added descriptions for ship/mech pads

* Added/updated unit/factory descriptions

* Added descriptions for liquids and related blocks.

* Updated descriptions based on discord discussion.

* Updated descriptions as requested by Anuken

* Updated shock mine description
2018-11-02 19:49:56 -04:00
Anuken
de23ef5d35 Fixed crash 2018-11-02 19:46:56 -04:00
Anuken
208ae6183c Merge 2018-11-02 19:45:31 -04:00
Anuken
761ae4b816 Mission icons 2018-11-02 19:38:08 -04:00
Anuken
ff308641e1 Command center label style cleanup 2018-11-02 17:50:58 -04:00
Sonnicon
a2094ddf75 Command Center mode label. (#296) 2018-11-02 17:47:42 -04:00
Anuken
0391ed3e63 Icons of missions 2018-11-02 10:35:29 -04:00
Timmeey86
b6b3997498 Fixed false friend translation (#295) 2018-11-02 10:30:59 -04:00
Anuken
9f77c0c9b7 Added Graphics.begin/endClip() 2018-11-02 09:19:51 -04:00
키에르
dc4812a86e Update bundle_ko.properties (#294) 2018-11-02 08:46:43 -04:00
Baramos666
fc83b0d95b Update bundle_fr.properties (#293) 2018-11-01 20:12:41 -04:00
Sonnicon
8e70568e32 Made placement of pumps consistent across different placements. (#292) 2018-11-01 19:49:05 -04:00
Anuken
f0e3a3a30c Crash fix 2018-11-01 19:47:40 -04:00
Anuken
cf44efa02e Global drone repair / Fixed item bridge 2018-11-01 19:45:13 -04:00
Anuken
ddc59dfb97 Merge remote-tracking branch 'origin/master' 2018-11-01 17:56:47 -04:00
Anuken
ef0a3396d7 Automatic consume fragment view 2018-11-01 17:56:42 -04:00
Anuken
8bf68aa020 Cleanup 2018-11-01 09:09:12 -04:00
Timmeey86
02a90856ff Info Pages will now display tool tips for any item icons (#289)
* All block info dialogs will now display tool tips for the liquids and items which are required

* Reverted accidental dependency addition

* Drills will now display tool tips as well (except cultivator)
2018-10-31 21:29:15 -04:00
Timmeey86
8716695d4e Fixed a crash which could occur when unconstructing environment (#290) 2018-10-31 21:13:51 -04:00
Anuken
9a1bb69cd8 Cleaned up pause menu mess / Added sector links 2018-10-31 17:10:00 -04:00
Anuken
6caad0daf6 Merge remote-tracking branch 'origin/master' 2018-10-31 13:53:22 -04:00
Anuken
6508f1541b Added server logs / Kick messages / Ban messages 2018-10-31 13:51:45 -04:00
Anuken
6809b38821 Possible empty sectors 2018-10-31 10:31:07 -04:00
LQ
7f9a3efa24 powergraph update with battery (#276) 2018-10-31 09:36:59 -04:00
Anuken
8ecea9792b Slightly more fleshed out sector selection 2018-10-30 23:05:35 -04:00
Anuken
7c85a03b42 Merge branch 'master' of https://github.com/Anuken/Mindustry into new-sectors 2018-10-30 22:18:07 -04:00
Anuken
d4d71b90eb Thread cleanup / Puddle fix 2018-10-30 22:13:01 -04:00
Anuken
fbf614a8df Removed html module 2018-10-30 19:15:12 -04:00
Anuken
c02329e4b1 Integrated thread implementation / Crash fix 2018-10-30 12:58:25 -04:00
Anuken
5aba065413 Bugfixes 2018-10-30 09:24:43 -04:00
Anuken
6e65096bb4 Improved power grid sprites / Bugfixes 2018-10-29 20:43:30 -04:00
Anuken
b39f25ed51 Fixed build error 2018-10-29 16:02:09 -04:00
Anuken
3925d5ec27 Removed useless power modules methods 2018-10-29 15:41:13 -04:00
Anuken
381b59acd4 Fixed irregularly scaled maps causing various bugs 2018-10-29 10:03:41 -04:00
Anuken
5b01d923d3 Full error localization 2018-10-28 23:50:30 -04:00
Anuken
108e5a2f5e Non-blocking connect / Localized connect error messages 2018-10-28 23:47:28 -04:00
Anuken
e21d17a482 Merge remote-tracking branch 'origin/master' 2018-10-28 22:29:29 -04:00
Anuken
d4ea8c56c3 Added TileEntity.read/writeConfig() 2018-10-28 22:29:23 -04:00
Skybbles // L5474
783ad64353 Updated README (#284)
Proper formatting (md:h4)
Syntactic update, '.bat' no longer needs to come after 'gradlew' for Windows building
Server build instructions
2018-10-28 20:05:20 -04:00
Anuken
ac918c1a81 Warning fix 2018-10-28 18:34:18 -04:00
Anuken
0f00074f77 Consistent yellow text 2018-10-28 18:22:14 -04:00
Anuken
eb20ec1556 Removed useless content logging, > 2018-10-28 18:17:46 -04:00
Anuken
32f9da0724 Merge remote-tracking branch 'origin/master' 2018-10-28 18:04:15 -04:00
Anuken
968be8eb8f Fixed server run error 2018-10-28 18:04:07 -04:00
Skybbles // L5474
d7e05cde42 Added timestamps and output type labels (#283)
* Added timestamps and output type labels

* Corrected initial 'build version, client checking' warning, which is why warn exists in the first place.
2018-10-28 18:01:51 -04:00
Anuken
557b86a7a9 Comment fix 2018-10-28 16:31:57 -04:00
Anuken
f144dda8b5 Fixed errors 2018-10-28 16:30:15 -04:00
Anuken
80aed31135 Broke and cleaned up server commands 2018-10-28 14:26:58 -04:00
Anuken
2a21e7c2cb Merge remote-tracking branch 'origin/master' 2018-10-28 00:31:32 -04:00
Anuken
d281277797 Balancing, bugfixes 2018-10-28 00:31:28 -04:00
키에르
fb807bcde4 Update bundle_ko.properties (#278) 2018-10-27 21:26:32 -04:00
Anuken
ebf6f6782f Merge remote-tracking branch 'origin/master' 2018-10-26 22:53:23 -04:00
Anuken
008df649f0 Configurable string charset 2018-10-26 22:53:19 -04:00
Anuken
a810e704ad Renamed ""oil"" / Increased phase fabric boost 2018-10-26 16:06:47 -04:00
Anuken
d0b3167956 Merge remote-tracking branch 'origin/master' 2018-10-26 15:30:58 -04:00
Anuken
a726ecbdd8 Fixed invalid map state not being reset 2018-10-26 15:30:08 -04:00
MMG
da6a8f806d Adds a few translations (#273) 2018-10-26 10:55:15 -04:00
키에르
b47f44cacd Add texts in font (#275)
* Add texts in font

* Update bundle_ko.properties

POEditor is break word spacing..
2018-10-26 10:54:42 -04:00
Anuken
0cc59adad7 Fixed crash / Made power nodes no longer link when adjacent 2018-10-26 09:54:55 -04:00
Anuken
6c076863db "silcion" 2018-10-26 00:11:58 -04:00
Anuken
ddb6e74955 Fixed revenant never shooting 2018-10-26 00:09:09 -04:00
Anuken
2094bc3d80 Renamed phase matter to reduce conflicts / Item balancing 2018-10-26 00:00:25 -04:00
Anuken
c922007d21 Removed unnecessary manual font specification 2018-10-25 23:22:37 -04:00
Anuken
b1435c1264 Merge remote-tracking branch 'origin/master' 2018-10-25 23:21:31 -04:00
Anuken
be5e1648e0 Removed font line height tweak 2018-10-25 23:21:27 -04:00
Anuken
a270feb1eb Removed extra sector border 2018-10-25 23:08:19 -04:00
VizardAlpha
103b8cd13a Rename bundle_fr_be.properties to bundle_fr_BE.properties (#271)
Update Bundle
2018-10-25 12:16:04 -04:00
Anuken
e6dd36283d Misc. bugfixes 2018-10-24 20:21:48 -04:00
Anuken
aae2d0a5dc Broke sector dialog 2018-10-24 19:32:07 -04:00
Anuken
fda1d4cc2b Merge remote-tracking branch 'origin/master' 2018-10-24 18:53:09 -04:00
Anuken
5be92460c1 Fixed crash 2018-10-24 18:53:05 -04:00
xgamezs
15ce31ea3a Adding a new string (#270)
* Update bundle_ru.properties (POEditor.com)

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_uk_UA.properties (POEditor.com)

* Update bundle_ru.properties (POEditor.com)

* Update bundle_uk_UA.properties (POEditor.com)

* Update bundle_zh_CN.properties (POEditor.com)

* Update bundle_zh_CN.properties (POEditor.com)

* Update bundle_zh_TW.properties (POEditor.com)

* Update bundle_fr.properties (POEditor.com)

* Create bundle_fr_be.properties

* Delete bundle_fr_be.properties

* Create bundle_fr_be.properties

* Update bundle_fr_be.properties (POEditor.com)

* Update bundle_de.properties (POEditor.com)

* Update bundle_in_ID.properties (POEditor.com)

* Update bundle_ita.properties (POEditor.com)

* Update bundle_ko.properties (POEditor.com)

* Update bundle_pl.properties (POEditor.com)

* Update bundle_pt_BR.properties (POEditor.com)

* Update bundle_es.properties (POEditor.com)

* Update bundle_tk.properties (POEditor.com)

* Create bundle_tr.properties

* Update bundle_tr.properties (POEditor.com)

* Update bundle.properties (POEditor.com)

* Update bundle_zh_CN.properties (POEditor.com)

* Update bundle_zh_TW.properties (POEditor.com)

* Update bundle.properties (POEditor.com)

* Update bundle_fr.properties (POEditor.com)

* Update bundle_fr_be.properties (POEditor.com)

* Update bundle_de.properties (POEditor.com)

* Update bundle_in_ID.properties (POEditor.com)

* Update bundle_ita.properties (POEditor.com)

* Update bundle_ko.properties (POEditor.com)

* Update bundle_pl.properties (POEditor.com)

* Update bundle_pt_BR.properties (POEditor.com)

* Update bundle_ru.properties (POEditor.com)

* Update bundle_es.properties (POEditor.com)

* Update bundle_tk.properties (POEditor.com)

* Update bundle_tr.properties (POEditor.com)

* Update bundle_uk_UA.properties (POEditor.com)

* Update bundle_zh_CN.properties (POEditor.com)

* Update bundle_zh_TW.properties (POEditor.com)

* Update bundle.properties (POEditor.com)

* Update bundle_fr.properties (POEditor.com)

* Update bundle_fr_be.properties (POEditor.com)

* Update bundle_de.properties (POEditor.com)

* Update bundle_in_ID.properties (POEditor.com)

* Update bundle_ita.properties (POEditor.com)

* Update bundle_ko.properties (POEditor.com)

* Update bundle_pl.properties (POEditor.com)

* Update bundle_pt_BR.properties (POEditor.com)

* Update bundle_ru.properties (POEditor.com)

* Update bundle_es.properties (POEditor.com)

* Update bundle_tk.properties (POEditor.com)

* Update bundle_tr.properties (POEditor.com)

* Update bundle_uk_UA.properties (POEditor.com)

* Update bundle_ru.properties (POEditor.com)

* Update bundle_ru.properties (POEditor.com)

* Update bundle_uk_UA.properties (POEditor.com)

* Update bundle.properties (POEditor.com)

* Update bundle_ru.properties (POEditor.com)

* Update bundle_uk_UA.properties (POEditor.com)

* Update bundle_uk_UA.properties

* Update bundle_ru.properties

* Update bundle.properties

* Update bundle_uk_UA.properties (POEditor.com)
2018-10-24 18:38:51 -04:00
Anuken
35e5a669a0 Fixed mobile mining/targeting conflict 2018-10-24 14:03:48 -04:00
Anuken
8b8c74cf93 Added filename entry (again) 2018-10-24 13:26:32 -04:00
xgamezs
cc43524b4c Update and standardize translations (POEditor.com) (#258)
* Update bundle_ru.properties (POEditor.com)

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_uk_UA.properties (POEditor.com)

* Update bundle_ru.properties (POEditor.com)

* Update bundle_uk_UA.properties (POEditor.com)

* Update bundle_zh_CN.properties (POEditor.com)

* Update bundle_zh_CN.properties (POEditor.com)

* Update bundle_zh_TW.properties (POEditor.com)

* Update bundle_fr.properties (POEditor.com)

* Create bundle_fr_be.properties

* Delete bundle_fr_be.properties

* Create bundle_fr_be.properties

* Update bundle_fr_be.properties (POEditor.com)

* Update bundle_de.properties (POEditor.com)

* Update bundle_in_ID.properties (POEditor.com)

* Update bundle_ita.properties (POEditor.com)

* Update bundle_ko.properties (POEditor.com)

* Update bundle_pl.properties (POEditor.com)

* Update bundle_pt_BR.properties (POEditor.com)

* Update bundle_es.properties (POEditor.com)

* Update bundle_tk.properties (POEditor.com)

* Create bundle_tr.properties

* Update bundle_tr.properties (POEditor.com)

* Update bundle.properties (POEditor.com)

* Update bundle_zh_CN.properties (POEditor.com)

* Update bundle_zh_TW.properties (POEditor.com)

* Update bundle.properties (POEditor.com)

* Update bundle_fr.properties (POEditor.com)

* Update bundle_fr_be.properties (POEditor.com)

* Update bundle_de.properties (POEditor.com)

* Update bundle_in_ID.properties (POEditor.com)

* Update bundle_ita.properties (POEditor.com)

* Update bundle_ko.properties (POEditor.com)

* Update bundle_pl.properties (POEditor.com)

* Update bundle_pt_BR.properties (POEditor.com)

* Update bundle_ru.properties (POEditor.com)

* Update bundle_es.properties (POEditor.com)

* Update bundle_tk.properties (POEditor.com)

* Update bundle_tr.properties (POEditor.com)

* Update bundle_uk_UA.properties (POEditor.com)

* Update bundle_zh_CN.properties (POEditor.com)

* Update bundle_zh_TW.properties (POEditor.com)

* Update bundle.properties (POEditor.com)

* Update bundle_fr.properties (POEditor.com)

* Update bundle_fr_be.properties (POEditor.com)

* Update bundle_de.properties (POEditor.com)

* Update bundle_in_ID.properties (POEditor.com)

* Update bundle_ita.properties (POEditor.com)

* Update bundle_ko.properties (POEditor.com)

* Update bundle_pl.properties (POEditor.com)

* Update bundle_pt_BR.properties (POEditor.com)

* Update bundle_ru.properties (POEditor.com)

* Update bundle_es.properties (POEditor.com)

* Update bundle_tk.properties (POEditor.com)

* Update bundle_tr.properties (POEditor.com)

* Update bundle_uk_UA.properties (POEditor.com)

* Update bundle_ru.properties (POEditor.com)
2018-10-24 13:22:18 -04:00
Anuken
f87d297155 Added filename entry 2018-10-24 13:09:42 -04:00
Anuken
605d50166a Made android module load only when SDK defined 2018-10-24 13:07:51 -04:00
Anuken
de6681d00a Added special case for unit.none 2018-10-24 10:31:23 -04:00
Anuken
7632e33975 Merge remote-tracking branch 'origin/master' 2018-10-23 22:45:41 -04:00
Anuken
5993a596e8 Made bundle generator add spaces between = 2018-10-23 22:45:36 -04:00
키에르
2294b6babb Add more texts with Cyrillic (#262) 2018-10-23 09:23:19 -04:00
VizardAlpha
c38f866363 Updates bundle_fr_be.properties (#260)
Replacing the new translations. Translation finish
2018-10-23 09:01:46 -04:00
CinExPL
511b112ac7 Update bundle_pl.properties (#257) 2018-10-23 09:01:04 -04:00
Anuken
8cd0618e85 Fixed crash 2018-10-23 08:41:52 -04:00
Anuken
b4b589bfc2 Removed unnecessary synchronization 2018-10-22 22:48:15 -04:00
Baltazár Radics
cb69eb7c0f Simplified power logic (#261)
* Simplified power logic

* Made the requested changes
2018-10-22 22:47:44 -04:00
Anuken
7d83cd89f2 Fixed breaking with multiblock being offseted 2018-10-22 22:21:22 -04:00
Anuken
b2dca0a34f Merge branch 'optimizations' of https://github.com/Anuken/Mindustry 2018-10-21 21:50:14 -04:00
Anuken
3bd73961d7 Merged inventory saving/loading, item-based capacity 2018-10-21 21:46:12 -04:00
Anuken
67f574b5d8 Storage graph inventory sharing 2018-10-21 19:49:32 -04:00
Anuken
f9b70a37aa Correct storage graphs 2018-10-21 17:20:08 -04:00
Anuken
d4047e1413 Fixed crash 2018-10-21 17:03:51 -04:00
Anuken
80f5b4c3b7 Crashy storage graph implementation 2018-10-21 17:02:37 -04:00
Anuken
4668a6d8c0 Implemented sector state network sync 2018-10-20 18:41:05 -04:00
Anuken
e6f076306f Merge branch 'rework-sectors' of https://github.com/Anuken/Mindustry 2018-10-20 17:36:56 -04:00
Anuken
b73dc127a3 Fixed enemy base generation 2018-10-20 17:36:07 -04:00
Anuken
8c8a2311d6 Fixed sector clear not resetting 0,0 2018-10-20 16:04:13 -04:00
Anuken
0555fb22ca Fixed pump crash 2018-10-20 14:09:00 -04:00
Anuken
85cde62039 Fixed phase weaver blink / Fixed item image offset (again) 2018-10-20 13:53:25 -04:00
Anuken
46a2648d15 Merge branch 'master' of https://github.com/Anuken/Mindustry into rework-sectors 2018-10-20 13:50:30 -04:00
Anuken
e55f6ecd6b Fixes to power system 2018-10-20 13:49:58 -04:00
Anuken
c71fee3fed Merge branch 'master' of https://github.com/Anuken/Mindustry into rework-sectors 2018-10-20 13:21:05 -04:00
Anuken
4d6c25c9d3 Fixed flying units blocking construction 2018-10-20 13:20:35 -04:00
Anuken
6ed4e2d946 Improved random recipe selection 2018-10-20 13:19:47 -04:00
Anuken
6b4242478f Merge branch 'master' of https://github.com/Anuken/Mindustry into rework-sectors 2018-10-20 11:52:02 -04:00
Anuken
ef5478279b Fixed 2 crashes 2018-10-20 11:48:59 -04:00
Anuken
62bb8bce1c Added missing imports 2018-10-20 11:44:19 -04:00
Anuken
83a5c3af8a Updated uCore with new threading changes 2018-10-20 11:41:10 -04:00
Anuken
f78abd61d4 Merge remote-tracking branch 'origin/master' 2018-10-20 11:39:05 -04:00
Anuken
209c6fa1c1 Merged in better multithreading 2018-10-20 11:39:00 -04:00
Anuken
6e3c600a49 Crash fix 2018-10-20 11:36:05 -04:00
Anuken
b1cda57174 Massively improved thread safety 2018-10-20 11:25:58 -04:00
키에르
412d92e782 Update bundle_ko.properties (#255) 2018-10-20 09:33:43 -04:00
Niko
c0703a6a5e Add german translations (#256)
* Replace some English Text with german translations in bundle_de

* Replace some English Text with german translations in bundle_de, renamed map to karte

* Replace some English Text about Units and Fluids with german translations in bundle_de

* Replace some English Text with german translations in bundle_de, renamed map to karte

* Replace some mech and drone definitions with german translations in bundle_de

* Replace almost all definitions with german translations in bundle_de

* Merge branch 'master' into add_german_translations

# Conflicts:
#	core/assets/bundles/bundle_de.properties

* fix some typos in bundle_de
2018-10-20 09:33:35 -04:00
Anuken
64bd306c6d Fixed crash 2018-10-20 09:02:29 -04:00
Anuken
6be49f898c Removed onFirstBegin() 2018-10-19 23:20:04 -04:00
Anuken
59bc73656f Save file refactor / Changed sector size 2018-10-19 22:46:53 -04:00
Anuken
bed22f51b4 Updated sector unlocking 2018-10-19 16:23:01 -04:00
Anuken
c1362a02f3 Removed all references to size 2018-10-19 13:48:08 -04:00
Anuken
859a3cbe6e Fixed Java 10-related crash 2018-10-19 12:58:53 -04:00
Anuken
a6d82f44b3 Initial (broken) commit 2018-10-19 12:57:24 -04:00
키에르
e66e17a41a Fix font height (#253) 2018-10-19 10:01:09 -04:00
Anuken
cfa6d7080c Fixed font 2018-10-19 09:56:50 -04:00
Anuken
01ceedccd5 Updated bundles / Decreased water extractor power usage 2018-10-19 09:32:23 -04:00
Anuken
ed28af7c73 Changed 'max power' to 'base power', re-scaled display stats of fuel 2018-10-19 09:31:33 -04:00
Anuken
74cf91f99e Fixed increased router storage / Fixed instant building after reload 2018-10-19 08:47:19 -04:00
Anuken
44479930df Fixed mobile mechs configuration / Block selection / Crash 2018-10-19 08:30:37 -04:00
Anuken
cb1f54aac4 Removed wiki link 2018-10-18 23:00:18 -04:00
Anuken
d68d2e9f30 Moved paused text details into bundle 2018-10-18 22:33:11 -04:00
Anuken
948c48ea23 Merge remote-tracking branch 'origin/master' 2018-10-18 21:57:19 -04:00
Anuken
a9ccf6ca42 Updated travis config / Fixed flying mech land effect 2018-10-18 21:57:13 -04:00
Baramos666
fd7b829e70 Update bundle_fr.properties (#249) 2018-10-18 21:56:44 -04:00
LQ
87a7cc6289 add liquid out speed display (#250) 2018-10-18 21:56:35 -04:00
VizardAlpha
2f8b5e53bb Updates bundle_fr_be.properties (#251)
Recast of the French translation (Belgium)
2018-10-18 21:56:09 -04:00
Prosta4okua
8b7fa3b646 [WIP]Update bundle_ru.properties (#243)
* Update bundle_ru.properties

* Update bundle_ru.properties
2018-10-18 21:56:00 -04:00
Anuken
dd2c71fe61 Removed sandbox from shuffle list / duplicate maps / mobile mech pickup 2018-10-18 18:20:07 -04:00
Anuken
3b58d57e5c Fixed unlocks not clearing / Fixed map editor not updating 2018-10-18 16:58:57 -04:00
Anuken
cecf32e52e Fixed RTG generator not using items 2018-10-18 16:33:39 -04:00
Anuken
91a2dfab36 Fixed build block repair / Sectors in random maps / Editor unlocks 2018-10-18 16:31:15 -04:00
Anuken
5e5838a8c1 let me make this PAINFULLY CLEAR 2018-10-18 16:04:40 -04:00
Skybbles // L5474
0fffbc06dd Spelling correction (#252)
*maybe you mean CLI board.*
2018-10-18 14:35:33 -04:00
Anuken
4d360bfb73 Bugfixes 2018-10-18 09:19:29 -04:00
Anuken
e3001b614e Fixed pathfinding through liquids / Switched overlay render layer 2018-10-18 00:02:12 -04:00
Anuken
6ecdef02ab Block break visual cleanup 2018-10-17 22:10:56 -04:00
Anuken
36903eb749 Fixed mission onBegin() being called many times 2018-10-17 17:35:33 -04:00
Anuken
f530c9514f Changed placement controls / Fixed complete sectors not resetting 2018-10-17 17:28:24 -04:00
Anuken
fdffa77bc5 Fixed mobile targeting / Removed 'transfer speed' / Buffed large nodes 2018-10-17 17:09:26 -04:00
Anuken
245dd39a60 Potentially fixed targeting issues 2018-10-17 14:01:18 -04:00
Anuken
4614aacc02 Fixed chat not clearing 2018-10-17 13:54:34 -04:00
Anuken
64ccdab90c Removed extra trace info (for now) 2018-10-17 13:41:25 -04:00
Anuken
02286b0c4e Fixed player build indicators, power void 2018-10-17 10:31:59 -04:00
Anuken
8e952a550b Fixed: map mirror / crashes / mech pads / player list / mobile placement 2018-10-17 10:20:58 -04:00
Anuken
a29f95194d Various fixes / Placement visual improvements 2018-10-17 00:36:43 -04:00
Anuken
0e5db49b93 Fixed missing blocks causing invalid map data error 2018-10-16 20:03:35 -04:00
Anuken
a2c29c0937 Removed tutorial ore post-generation / Updated uCore 2018-10-16 19:31:06 -04:00
Anuken
c318f05cfd Minor lightning visual change / Hid PvP mode on web 2018-10-16 17:46:44 -04:00
Anuken
789d200c24 Fixed typo in tutorial missions 2018-10-16 16:58:18 -04:00
Anuken
2dc4a9e044 Fixed abandoning sector not updating texture 2018-10-16 16:35:43 -04:00
Anuken
82577b91d5 2-column sector button layout 2018-10-16 13:10:06 -04:00
Anuken
8fd08a1574 Fixed infinite graph traversal for power blocks 2018-10-16 11:52:17 -04:00
LQ
7a41fc8ec8 update pad mission (#247)
add MechMission as same as the UpgradeBlocks type
2018-10-16 09:08:53 -04:00
Anuken
798ca929d6 Improved sector mission display 2018-10-15 23:20:47 -03:00
Anuken
7e4e58fb78 Updated android build tools version 2018-10-15 16:31:01 -04:00
Anuken
28b9975c75 Merge remote-tracking branch 'origin/master' 2018-10-15 16:20:44 -04:00
Anuken
5536ade389 Updated gradle to 4.10.2 2018-10-15 16:20:26 -04:00
LQ
21bc195213 make sure new sector include target sector (#244)
if shiftx, shifty calc from total width,height, the result sector did not include the target sector
2018-10-15 10:17:52 -04:00
Anuken
b6beacf053 Input cleanup 2018-10-15 02:05:25 -03:00
Anuken
94b6c133f4 Various resprites 2018-10-14 18:39:24 -04:00
Anuken
949d7bed89 Fixed item images having incorrect underlines 2018-10-14 16:05:39 -04:00
Anuken
81ce12a38c Added random PvP/Waves map generation 2018-10-14 13:24:32 -04:00
Anuken
eba65b2934 Fixed units pathfinding to nonexistent cores 2018-10-14 11:57:37 -04:00
Anuken
c7f5b7fca1 Minified gamemode table 2018-10-14 10:41:17 -04:00
Anuken
f670d522bf PvP merge 2018-10-14 10:01:50 -04:00
Anuken
a02f7f46c3 Merge remote-tracking branch 'origin/master' 2018-10-14 09:57:31 -04:00
Anuken
4b7f254e17 Added 2x2 container storage block 2018-10-14 09:57:28 -04:00
Anuken
9b42be560d Fixed bugs with team assignment 2018-10-14 09:41:19 -04:00
VizardAlpha
31b39231a2 Updates bundle_fr_be.properties (#242) 2018-10-13 23:32:08 -04:00
Anuken
4eb2c1f646 PvP autohost 2018-10-13 23:30:05 -04:00
Anuken
5f89d8588d Added 'abandon sector' button 2018-10-13 23:07:57 -04:00
Anuken
404cbf9b4a Removed menu setting 2018-10-13 22:52:58 -04:00
Anuken
0aabc09b82 Made game-overs remote events 2018-10-13 21:58:17 -04:00
Anuken
a5ebeadd95 Merge remote-tracking branch 'origin/master' 2018-10-13 17:48:04 -04:00
Anuken
9e188aaf03 Fixed place area being deselected near map edges 2018-10-13 17:47:58 -04:00
Anuken
870f5caca9 PvP game over condition 2018-10-13 17:33:23 -04:00
Anuken
28b4ddfc72 PvP game over condition and message 2018-10-13 17:31:38 -04:00
Prosta4okua
13a4a26e97 Update bundle_ru.properties (#241) 2018-10-13 17:29:09 -04:00
Anuken
81c7e63994 Added 'waiting for players' message 2018-10-13 16:03:21 -04:00
Gureumi
7f234ab5bc Fix font (#240) 2018-10-13 15:53:42 -04:00
Anuken
f8d0682810 Added warnings for missing enemy cores 2018-10-13 15:49:18 -04:00
Anuken
175d6b1fc5 Improved difficulty balance 2018-10-13 12:39:07 -04:00
Anuken
1cd8e8a097 Improved server discovery 2018-10-13 12:21:11 -04:00
Anuken
ed95e38257 Fixed breakable cores / Fixed sector sandbox / Fixed ship warp speed 2018-10-13 11:33:49 -04:00
Anuken
cab585225d Removed unused 'pad' recipe modifier 2018-10-13 10:54:05 -04:00
Anuken
3688dde5e5 Merged mobile mechs 2018-10-13 10:52:48 -04:00
Anuken
ae6a5b2512 Made PvP a selectable mode 2018-10-13 10:50:22 -04:00
LQ
6f87611d67 keep the saved width and height of sector (#236)
* keep the saved width and height of sector

width,height changed after expandSector mission, It will reset to original value in initSector()

* keep x,y of sector

sector X and Y may be shifted after loading as well.
2018-10-13 10:44:07 -04:00
Anuken
6a5e31c908 Crash fix 2018-10-13 09:43:31 -04:00
Anuken
8bda5e16cd Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/assets/bundles/bundle_fr.properties
2018-10-13 08:59:15 -04:00
Anuken
d70d3d95f0 Bundles updated 2018-10-13 08:58:41 -04:00
Baramos666
554b7d2ec4 Update bundle_fr.properties (#239) 2018-10-13 08:58:04 -04:00
LQ
ebc4031922 set charset (#238)
default file charset is not utf8 when run from win10
2018-10-13 08:57:31 -04:00
Anuken
c526997aba Fixed coal in core / Fixed build events not triggering 2018-10-13 08:49:54 -04:00
Anuken
c0e3a1f3ef Fixed minor TPS display / block breakage bugs 2018-10-12 22:41:48 -04:00
Anuken
7dc0a7a5c3 Sector generation fix 2018-10-12 17:01:20 -04:00
Anuken
2943b6ed04 Fixed HUD errors 2018-10-12 12:40:30 -04:00
Anuken
5feb212df7 Merge remote-tracking branch 'origin/master' 2018-10-12 09:57:48 -04:00
Anuken
327edcd347 Fixed map crash 2018-10-12 09:57:44 -04:00
LQ
94cbf4cddf fix displayString for CommandMission (#235) 2018-10-12 09:48:39 -04:00
Anuken
08cc87affb nothing again 2018-10-11 23:14:59 -04:00
Baramos666
18020d64cc Update bundle_fr.properties (#234) 2018-10-11 22:58:05 -04:00
Anuken
48b7ceac06 Small rendering fix 2018-10-11 18:46:45 -04:00
Anuken
dbcce9663c Improved base generation 2018-10-11 12:18:23 -04:00
Anuken
6ee7dd56fe Fixed wave spawn crash 2018-10-11 10:01:59 -04:00
Anuken
22328772ca "Fixed" some bugs 2018-10-11 10:01:19 -04:00
Anuken
99418e6b88 Mass driver power fix 2018-10-10 23:51:48 -04:00
Anuken
52bd079c0a Multithreading cleanup 2018-10-10 23:43:48 -04:00
Anuken
67db5e9dfc Nothing 2018-10-10 17:34:36 -04:00
Anuken
5f1bc6c6c2 Custom spawn locations 2018-10-10 13:02:00 -04:00
Anuken
05201d7012 Physics, pathfinding improvements 2018-10-10 11:29:34 -04:00
Anuken
6b4983537e Fixed puddles not appearing / Oil extractors not working 2018-10-10 08:57:07 -04:00
Anuken
87c8293c78 Various bugfixes 2018-10-10 08:39:25 -04:00
Anuken
54488564f3 Added sector complete event / Patched up server sector completion 2018-10-09 23:24:27 -04:00
Anuken
f2ac9ed385 Disabled core recipe 2018-10-09 23:10:04 -04:00
Anuken
38f2f1e30a Added legacy map importer 2018-10-09 22:52:28 -04:00
Anuken
02004011ec Update order swap 2018-10-09 20:50:49 -04:00
Anuken
60bb982450 Updated uCore 2018-10-09 20:13:31 -04:00
Anuken
67389c0bac Arc balancing 2018-10-09 19:52:36 -04:00
Anuken
faa1fee1c0 New lightning mechanics 2018-10-09 19:49:46 -04:00
Anuken
0bae421fbc it begins 2018-10-09 18:26:40 -04:00
Anuken
b29d81bf0f Improved lightning effects 2018-10-09 14:02:25 -04:00
Anuken
4792828da1 Missions now displayed as number / Improved mission gen 2018-10-09 09:22:06 -04:00
Anuken
6171e887a8 Sector growth 2018-10-08 23:56:47 -03:00
Anuken
f28fa93f40 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/src/io/anuke/mindustry/core/Renderer.java
2018-10-08 19:55:51 -04:00
Anuken
940ad84493 Random sector sizes / Cleanup 2018-10-08 19:55:10 -04:00
Anuken
0b168376ed Fixed build errors 2018-10-08 17:02:16 -04:00
Anuken
f7bd376499 More public modules 2018-10-08 16:09:31 -04:00
VizardAlpha
9566155bdb Created bundle_fr_be.properties (#233)
For Belgian player
2018-10-08 14:14:16 -04:00
Anuken
9994ddb31b Implemented public submodules 2018-10-08 09:41:01 -04:00
Anuken
fadfdaa673 Fixed missing ores 2018-10-08 09:31:47 -04:00
Anuken
4ca546f44a Test cleanup / Artillery fixes 2018-10-07 23:22:54 -04:00
Anuken
8af30c9256 Updated travis Android components 2018-10-07 19:31:19 -03:00
Anuken
42adc38720 Merge remote-tracking branch 'origin/master' 2018-10-07 19:22:18 -03:00
Anuken
c1d9dee46c Added content mission / Working implementation of preset sectors 2018-10-07 19:21:53 -03:00
Anuken
69a7104286 Updated Android tool versions 2018-10-07 11:14:54 -04:00
Anuken
aba5afe32c Updated uCore 2018-10-06 22:54:00 -04:00
Anuken
c1ccf4fceb Fixed sector pref clearing 2018-10-06 22:53:12 -04:00
Anuken
916a4cfc73 Added dialog for graphics startup errors 2018-10-06 17:23:43 -04:00
Anuken
fd107ab5b8 Code cleanup 2018-10-06 11:56:39 -04:00
Anuken
5fa6fccf7b Automatic boost 2018-10-05 23:10:04 -04:00
Anuken
0ce226d0c9 Fixed crash 2018-10-05 23:04:34 -04:00
Anuken
14e0b471d3 Mobile mechs implemented 2018-10-05 22:58:46 -04:00
Anuken
ed0df64cf9 Fixed compile errors / Refactored sector presets 2018-10-05 22:16:40 -04:00
Anuken
35bc2c9803 Sector preset class / New missions 2018-10-05 16:36:50 -04:00
Anuken
a771dc8787 Sector tint / Sector preset system 2018-10-04 20:59:58 -04:00
Anuken
244eb91dfb Added new test 2018-10-04 17:59:16 -04:00
Anuken
7488a6d42b Usage of ExtendedPreferences 2018-10-04 12:19:05 -04:00
Anuken
696a59f1b9 Updated revenant factory sprite 2018-10-04 09:31:52 -04:00
Anuken
ee5a3269f2 Failure confirmed working 2018-10-03 21:17:36 -04:00
Anuken
f89bf027f7 Testing test failure 2018-10-03 21:12:27 -04:00
Anuken
4db432b0a9 Updated travis with tests 2018-10-03 21:00:37 -04:00
Anuken
c82fd9ead5 Added unit tests 2018-10-03 20:58:35 -04:00
Anuken
34715b1e06 Fixed compile errors 2018-10-03 17:17:12 -04:00
Anuken
f0870b3236 Created test module 2018-10-03 15:53:33 -04:00
Anuken
9a286800d6 Ammo type for revenants 2018-10-03 13:44:18 -04:00
Anuken
59832b1777 Added revenant factory sprites 2018-10-03 10:26:37 -04:00
Anuken
561f566506 Merge branch 'circle-physics' of https://github.com/Anuken/Mindustry
# Conflicts:
#	core/src/io/anuke/mindustry/content/UnitTypes.java
2018-10-02 23:35:56 -04:00
Anuken
f0cacf6bd5 Final physics edit, ready to merge 2018-10-02 23:33:43 -04:00
Anuken
ce4031af74 Additional bugfixes 2018-10-02 21:44:32 -04:00
Anuken
dd7f91b8c2 Fixed many various physics bugs 2018-10-02 20:45:28 -04:00
Anuken
8523e5bf6b Rectangles 2018-10-02 18:47:23 -04:00
Anuken
860727d27a Revenant laser 2018-10-02 12:49:27 -04:00
Anuken
f175bf2c82 circles were a mistake 2018-10-01 22:49:53 -04:00
Anuken
40008f44ac Circle collision initial commit 2018-10-01 13:28:35 -04:00
Anuken
3f93b5c63b Revenant stat changes 2018-10-01 12:45:24 -04:00
Anuken
d2ce051c4a Implemented Fortress unit / Made artillery ignore air 2018-10-01 09:51:12 -04:00
Anuken
d5d90bde9a Removed mech ability key 2018-09-30 19:22:19 -04:00
Anuken
fc8d9febf6 Mass driver fixes 2018-09-29 22:53:24 -04:00
Anuken
b43c542213 Auto-target configuration 2018-09-29 20:49:19 -04:00
Anuken
e7533232c0 Fixed custom game waves / Fixed Windows appdata being incorrect 2018-09-29 14:25:29 -11:00
Anuken
5e1aaf11a7 Fixed copper/water not getting unlocked immediately 2018-09-29 10:31:17 -11:00
Anuken
d062dffc13 Cleanup / Fixed unlock system in custom games 2018-09-29 02:50:21 -07:00
Anuken
4810bbbbd9 Fixed loading / Freebuild unlocks 2018-09-28 14:23:56 -04:00
Anuken
967998273f Partially implemented specific unlock databases 2018-09-28 14:17:44 -04:00
Jae
24decf8abc Update bundle_zh_CN.properties (#230)
* Added translations

* Update bundle_fr.properties

* Update bundle_fr.properties

* Added zh_CN translations

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties
2018-09-27 17:46:17 -04:00
Anuken
3bc605894e Fixed android text input truncating text 2018-09-27 17:44:47 -04:00
Anuken
b74ae302ec Ground unit retreat attacking / Patrol attacking 2018-09-27 17:40:08 -04:00
DinoWattz
db3dac261a Update bundle_pt_BR.properties (#231)
Fixed some words and translated some words
2018-09-27 13:09:09 -04:00
Anuken
87b47b3042 Even less wall hugging 2018-09-26 18:15:16 -04:00
Jae
720e1a038e French translations added (#228)
* Added translations

* Update bundle_fr.properties

* Update bundle_fr.properties
2018-09-26 13:42:20 -04:00
Baramos666
1753c54e88 Update bundle_fr.properties (#229) 2018-09-26 13:28:18 -04:00
Anuken
2d42de83de Slightly less wall hugging 2018-09-26 13:22:30 -04:00
Anuken
c4e6af455d Wall-hugging ground patrol / Core storage changed to set 2018-09-26 10:23:06 -04:00
Anuken
51d619449b Added discord badge to README 2018-09-25 23:31:45 -04:00
Anuken
1160a14f56 Fixed web errors / Fixed IPv4 crash 2018-09-25 23:27:19 -04:00
Anuken
57fce0ddbc Flying unit patrol 2018-09-25 19:44:10 -04:00
Anuken
b9eb8a750b Removed useless hitbox rects 2018-09-25 17:37:01 -04:00
Anuken
3ce16e0ed1 Changed annotations retention / Mobile block bugfix 2018-09-25 17:18:50 -04:00
Anuken
554d9b4047 Updated bundles 2018-09-25 16:41:18 -04:00
Prosta4okua
02d565ce58 [COMPLETE]Rare update bundle_ru.properties (#223)
* Update bundle_ru.properties

Added the same thing as in bundle.properties. Also added 9 descriptions. Because of this PL, a PL from xga is old.

* 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
2018-09-25 16:39:52 -04:00
Anuken
795bc1276b Cleanup 2018-09-25 12:45:04 -04:00
Anuken
499b7b2e67 Crash fix 2018-09-25 08:41:40 -04:00
Anuken
b6c0fe8bf7 Build fix / Improved map contour 2018-09-24 23:12:13 -04:00
Anuken
d5bb1b72b9 Merge branch 'continuous-sectors' of https://github.com/Anuken/Mindustry
# Conflicts:
#	core/assets/bundles/bundle.properties
2018-09-24 22:57:49 -04:00
Anuken
af86564adc Final tutorial fixes 2018-09-24 22:56:48 -04:00
Anuken
5354e02b6f Finally a somewhat functional tutorial / Many bugfixes 2018-09-24 20:24:51 -04:00
Prosta4okua
4ee17a656f Update bundle.properties (#226) 2018-09-24 14:14:23 -04:00
Anuken
32c59b66f6 Changed tutorial ore gen 2018-09-24 10:19:27 -04:00
Anuken
20732f04ff Block position starting missions 2018-09-23 23:45:35 -04:00
Anuken
06763b34c3 Bugfixes / Better topological map 2018-09-23 18:41:08 -04:00
Anuken
6bab6c57f2 Fixed waves not appearing / Fixed ore tile blending 2018-09-23 12:45:22 -04:00
Anuken
4eab89d73e Per-sector ore gen 2018-09-23 10:10:05 -04:00
Anuken
8d20c46228 Basic tutorial text 2018-09-22 16:41:55 -04:00
Anuken
f5c4586bb7 Merge remote-tracking branch 'origin/master' 2018-09-22 12:29:30 -04:00
Anuken
bc6bbdbbe0 Fixed not being able to move units on conveyors 2018-09-22 12:29:27 -04:00
Anuken
b77caed0ba Added sample tutorial text / Refactoring 2018-09-22 12:20:04 -04:00
Baramos666
df976f1212 Update bundle_fr.properties (#225) 2018-09-22 11:17:07 -04:00
Anuken
999dd5eb6f Better mission display / Improved tutorial item amounts 2018-09-21 23:29:17 -04:00
Anuken
a1a6a3ab81 Tutorial sector prototype / New mission display 2018-09-21 23:14:26 -04:00
Anuken
d067bbfa65 New mission classes 2018-09-21 19:36:19 -04:00
Anuken
3bd40eeb27 Merge remote-tracking branch 'origin/continuous-sectors' into continuous-sectors
# Conflicts:
#	core/src/io/anuke/mindustry/maps/Sectors.java
2018-09-21 16:33:00 -04:00
Anuken
b124d54055 Merge 2018-09-21 16:32:38 -04:00
Anuken
90691de457 Fog persistence in sector expansion 2018-09-21 16:11:40 -04:00
Anuken
bee83a3a3e Sector expansion functional 2018-09-21 14:01:00 -04:00
Anuken
fd8f2438fa New world generation methods 2018-09-21 13:50:39 -04:00
Anuken
7937d99a73 Fixed buggy mobile zoom 2018-09-21 09:02:25 -04:00
Anuken
569afb5535 expandSector implementation 2018-09-21 08:49:35 -04:00
Anuken
fc5a45e113 Merge remote-tracking branch 'origin/continuous-sectors' into continuous-sectors 2018-09-21 08:47:41 -04:00
Anuken
950f4a9f1a Added expandSector method 2018-09-21 08:47:37 -04:00
Anuken
6a6e80b6d8 Fixed multiblock erase bug 2018-09-20 18:25:55 -04:00
Anuken
083c9792a6 Fixes to conveyor transmission visuals 2018-09-20 18:22:29 -04:00
Anuken
893bfce767 Incorrect conveyor movement transitions 2018-09-20 17:14:03 -04:00
Anuken
f61f3df732 Build fix 2018-09-20 12:32:12 -04:00
Anuken
a3be5e332e Fill.polyTri replaced 2018-09-20 12:31:53 -04:00
Anuken
33d65a8593 Fixed unit drop crash 2018-09-20 11:18:57 -04:00
Anuken
ebbf01c6e5 Synchronization 2018-09-20 09:29:16 -04:00
Anuken
acb8496352 Fixed node connection bug 2018-09-20 09:24:31 -04:00
Anuken
ecad5772d2 Fixed power debug blocks not working / Moved debug recipes 2018-09-20 08:47:58 -04:00
Anuken
6e6f5714dd Merge remote-tracking branch 'origin/master' 2018-09-20 08:34:07 -04:00
Anuken
50ae15aa4f Power crash fix 2018-09-20 08:33:57 -04:00
iczero
4e2c3049a0 Don't add unit drops to core if the core is full (#222) 2018-09-19 22:47:32 -04:00
Anuken
3a785c166e Removed NodeEntity 2018-09-19 22:39:43 -04:00
Anuken
5248a4eb9c Name refactor / Fixed crash / Power transfer fix 2018-09-19 22:17:58 -04:00
Anuken
c9a53aed7b Fixed crash, transmission bug 2018-09-19 17:36:58 -04:00
Anuken
bafe5dc784 Fixed block break crash 2018-09-19 12:41:33 -04:00
Anuken
5325488099 Changed enum to two booleans 2018-09-19 10:32:06 -04:00
Anuken
737ad5c8b7 Implemented node linking, graph reflow 2018-09-19 10:26:27 -04:00
Anuken
17cea4e274 Added PowerType enum 2018-09-19 10:07:33 -04:00
Anuken
af5b579a2f Power graph loading / merging 2018-09-19 09:41:30 -04:00
Anuken
c87eaaa928 Graph removal 2018-09-18 20:48:48 -04:00
Anuken
33418397f8 Power graph removal 2018-09-18 17:04:43 -04:00
Anuken
8c7258e839 Merge 2018-09-18 17:04:24 -04:00
Anuken
98fff9b81d Sector width/height 2018-09-18 11:54:08 -04:00
Anuken
0c63b27eea Removed old korean font / Fixed targeting going through UI 2018-09-18 09:17:50 -04:00
Anuken
0968981aef Removed unused graph classes 2018-09-17 21:43:19 -04:00
Anuken
8db4abdf43 Comment removed 2018-09-17 10:13:15 -04:00
Anuken
9aa4219bf0 Fixed core deconstruction crash 2018-09-17 09:57:58 -04:00
Anuken
6c32ab4711 Fixed visual glitch 2018-09-17 09:09:48 -04:00
Anuken
a80c5a1efa Fixed artillery bullet not respecting range properly 2018-09-16 22:30:06 -04:00
Anuken
4ba46bff69 Smoother map preview 2018-09-16 22:28:42 -04:00
Anuken
6a7c97277f Fixed meltdown not setting blocks on fire 2018-09-16 22:13:44 -04:00
Anuken
cc70ff9732 Branch created 2018-09-16 22:05:29 -04:00
Anuken
2d25948c57 Revenant factory definition / Crash fix 2018-09-16 21:57:37 -04:00
Anuken
8946af4831 Mass renaming of blocks and units 2018-09-16 19:48:15 -04:00
Anuken
5e7ca0374c Direct core item drops 2018-09-16 14:39:30 -04:00
Anuken
21f8e89ba4 ItemDrop class removed 2018-09-16 14:29:08 -04:00
Anuken
f0aca90de2 Bundle update 2018-09-16 14:19:56 -04:00
Anuken
097228066a Revenant sprite / Training mode / Mine transfer range / Drone heal buff 2018-09-16 14:05:43 -04:00
Anuken
7d8782f3dc Crash fix 2018-09-15 22:06:24 -04:00
Anuken
e4ea9d561e Lightning shield absorption 2018-09-15 16:37:28 -04:00
Anuken
e284d9de8e Balancing / Fixed editor/map bugs 2018-09-15 11:10:07 -04:00
Anuken
df6382a1ca Balancing 2018-09-14 15:16:25 -04:00
Anuken
c1c1a3318c Meltdown 2018-09-14 12:59:52 -04:00
Anuken
796df1cec5 Merge remote-tracking branch 'origin/master' 2018-09-14 10:53:27 -04:00
Anuken
28980293c5 Corrected spectre/meltdown recipes 2018-09-14 10:53:12 -04:00
Anuken
d878ad2e7e Meltdown prototype 2018-09-14 10:29:34 -04:00
Anuken
1290d1e9d4 Balancing / Wall renaming 2018-09-13 23:04:43 -04:00
Anuken
f229f1e9fe Added LaserTurret class / Updated bundles 2018-09-13 22:33:03 -04:00
Anuken
0776951018 Improved turret accuracy 2018-09-13 16:53:05 -04:00
Anuken
6d47b449b9 Spectre improvements 2018-09-13 14:43:52 -04:00
Anuken
594c975c70 Spectre WIP 2018-09-13 09:33:09 -04:00
Anuken
bf57318307 Compile error fix / Additional power transfer implementation 2018-09-13 08:32:55 -04:00
Anuken
abd87793e4 Power graph initial commit 2018-09-12 18:35:29 -04:00
Anuken
7b4e6128ce Server build fix 2018-09-12 11:01:20 -04:00
Anuken
2ae65acc28 Wave unit pads 2018-09-12 10:28:45 -04:00
Anuken
2ee87ad078 Crash fix 2018-09-12 10:18:45 -04:00
Anuken
d65beea179 Removed debug menu / Crash fix / Ship speed warp fix / String locale fix 2018-09-12 10:07:10 -04:00
Anuken
b19f3ff8cf Removed core bullet shield / Drill ore-count 2018-09-11 22:24:14 -04:00
Anuken
75fae9454d Fixed core crash / Fixed error texture on shoot 2018-09-11 18:12:11 -04:00
Anuken
5d309c39cf Added core recipe, made core destructible 2018-09-11 17:09:42 -04:00
Anuken
649fc5a0e6 Bundles updated 2018-09-11 16:34:31 -04:00
Anuken
67cfa5d42f Made blocks no longer unlock in custom games 2018-09-11 16:27:45 -04:00
Anuken
5dcacdeea1 Merge remote-tracking branch 'origin/master' 2018-09-11 09:22:59 -04:00
Anuken
2f7073bbe4 Removed NetEvents class / Added unused patrol command 2018-09-11 09:22:54 -04:00
Prosta4okua
e8df6ed3be Nice Update bundle_uk_UA.properties. :) (#220)
* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties
2018-09-11 09:22:16 -04:00
Anuken
d9eb4c1296 Server build fix / Debug hook 2018-09-10 19:33:12 -04:00
Anuken
4af0fbf553 Removed debug mode / Added source blocks to sandbox 2018-09-10 17:46:32 -04:00
Anuken
2da0862cb2 Fill.polyTri replaced 2018-09-10 13:14:43 -04:00
Anuken
66fcf84688 Removed Fill.poly() references 2018-09-10 10:59:27 -04:00
Anuken
5740d40d57 Merge remote-tracking branch 'origin/master' 2018-09-09 21:52:54 -04:00
Anuken
6ef2256bf2 Removed all reflection 2018-09-09 21:44:10 -04:00
Anuken
65f911909b Pools replace with Pooling / Removed all core reflection 2018-09-09 17:44:10 -04:00
Anuken
2cb6e454c8 Auto-generated serialization code 2018-09-09 16:19:53 -04:00
iczero
abfaa47db2 Add version type/number/modifier to crash reports (#221) 2018-09-09 14:38:29 -04:00
Prosta4okua
e06970eebb Create strings.xml (#217) 2018-09-09 11:30:26 -04:00
Anuken
dadc83800b Merge remote-tracking branch 'origin/master' 2018-09-09 11:27:06 -04:00
Anuken
62f2c67321 Fixed some multithreading bugs / No more drift 2018-09-09 11:26:15 -04:00
Anuken
1651844b4f Crash fix 2018-09-09 10:09:00 -04:00
xgamezs
fb9f42ff93 Update bundle_uk_UA.properties (#219) 2018-09-08 23:02:49 -04:00
Anuken
9c29b982dd absolutely incredible performance improvements 2018-09-08 23:00:17 -04:00
Anuken
f52c4964b3 Changed arc recipe 2018-09-08 20:59:39 -04:00
Anuken
46a8edb781 LZ4 compression 2018-09-08 17:07:25 -04:00
Anuken
8dbdbe6d6c Removed delta compression / Removed client snapshot packet 2018-09-08 16:29:09 -04:00
Anuken
778069c15d New artillery turret bullet patterns 2018-09-08 13:43:25 -04:00
Anuken
e98457c540 Fixed server build error 2018-09-08 11:57:57 -04:00
Anuken
7a3a76065c Added RTG generator 2018-09-08 11:48:27 -04:00
Anuken
c73c97dc7b Added arc turret 2018-09-08 11:35:29 -04:00
Anuken
1b0dd279ae Phase matter shield boost 2018-09-08 09:38:22 -04:00
Anuken
7dd487ccc5 Force projector implementation 2018-09-07 23:24:55 -04:00
Anuken
d046591512 Overdrive system 2018-09-07 17:16:38 -04:00
Anuken
e4ce115abf Fixed (another) crash 2018-09-07 13:46:07 -04:00
Anuken
aedcac5820 Fixed a crash 2018-09-07 12:01:36 -04:00
Anuken
9f4430ad92 Fixed save loader failing to load status effects 2018-09-07 09:40:13 -04:00
Anuken
2ad8f1c112 Bundles updated / Crash fix 2018-09-07 09:18:58 -04:00
Anuken
f0d884e114 Force projector sprite 2018-09-06 22:08:22 -04:00
Anuken
b618f5be80 Merge remote-tracking branch 'origin/master' 2018-09-06 21:47:00 -04:00
Anuken
7b63eac3eb Save fixes / Implemented overdrive projector 2018-09-06 21:46:50 -04:00
Prosta4okua
df3f2ea9c1 [Complete]Russian bundle. (#208)
* 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
2018-09-06 19:53:31 -04:00
Gureumi
30c6280ed1 smail translate (#216) 2018-09-06 19:51:12 -04:00
Anuken
1960b59629 Packer compile fix / Mapping fix 2018-09-06 19:38:19 -04:00
Anuken
6e6edf8322 Fixed trail length bug / Base projector classes 2018-09-06 12:25:38 -04:00
Anuken
f47fb01614 Minor bugfixes 2018-09-06 09:08:54 -04:00
Anuken
ae30bdd599 Bugfixes 2018-09-05 21:30:03 -04:00
Anuken
2c8962cf5f pain and suffering of various kinds 2018-09-05 20:25:50 -04:00
Anuken
eb3e507a11 Content mapping, part 1 2018-09-05 16:02:30 -04:00
Anuken
be3147465d Added unlock menu in-game 2018-09-05 13:22:04 -04:00
Anuken
484721fece Fixed game data clearing 2018-09-05 13:00:15 -04:00
Anuken
9c36026991 Data clearing / Bugfixes 2018-09-05 10:24:47 -04:00
Anuken
bf5055f944 Fixed random bullet pierce 2018-09-05 09:44:26 -04:00
Anuken
389034bf1a Fixed PvP matches not ending / Removed PvP core shield 2018-09-05 09:36:25 -04:00
Anuken
3f07102f2a Crash fixes 2018-09-05 09:05:15 -04:00
Anuken
d4ccfa31b5 Balancing 2018-09-04 22:16:23 -04:00
Anuken
5814b2a4b8 Merge remote-tracking branch 'origin/master' 2018-09-04 22:08:08 -04:00
Anuken
d3f61af493 Added shock mines 2018-09-04 22:08:05 -04:00
xgamezs
233ea7bb4a Update bundle_ru.properties (#214) 2018-09-04 21:23:08 -04:00
Anuken
6893a30ffb Removed camera clamping for custom maps 2018-09-04 19:55:39 -04:00
Anuken
ae6d2fb363 Minor optimization / Fixed bullets piercing shield randomly 2018-09-04 19:45:41 -04:00
Anuken
baa7cb3a10 Flux speed buff / Server drowning / Delta buff 2018-09-04 19:02:40 -04:00
Anuken
7b90544d91 Fixed player mech icon clip / Added kick confirmation 2018-09-04 17:42:56 -04:00
Anuken
9a5495d8b2 Crash fix / New pump/conduit placement restrictions 2018-09-04 16:43:15 -04:00
Anuken
1fa769b3e7 Merge remote-tracking branch 'origin/master' 2018-09-04 15:15:43 -04:00
Anuken
96766ece4e Made wave extinguish fires / Buffed fire 2018-09-04 15:15:25 -04:00
xgamezs
add525396f Update bundle_ru.properties (#213) 2018-09-04 14:43:35 -04:00
Anuken
26ae4edd63 Added version type 2018-09-04 12:10:48 -04:00
Anuken
063893adee Crash fixes 2018-09-04 09:00:37 -04:00
Anuken
ff37e99d71 Save load crash fix / Minor name refactor 2018-09-03 22:37:46 -04:00
Anuken
3d0b02ee23 Cleaned up enemy base walls 2018-09-03 22:12:46 -04:00
Anuken
d7cfbfe6c8 Merge remote-tracking branch 'origin/master' 2018-09-03 21:51:18 -04:00
Anuken
dc00e22f13 Fixed unit pads hiding in PvP / Fixed recipes not deselecting in menu 2018-09-03 21:51:13 -04:00
CrazyBearTR
bcde481304 Update of the Turkish Translation Bundle (#212)
* Update of the Turkish Translation Bundle

Some words were wrong. Fixed in this version.

* Update bundle_tr.properties
2018-09-03 19:38:01 -04:00
Prosta4okua
5b1341e488 [Complete]Update bundle_uk_UA.properties (#211)
* 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
2018-09-03 19:37:55 -04:00
Anuken
6ad70ceee3 Typo fix 2018-09-03 17:17:32 -04:00
Anuken
9c4d2f5490 Merge remote-tracking branch 'origin/master' 2018-09-03 17:04:16 -04:00
Anuken
6c5eff1143 Crash fix / Cleanup 2018-09-03 17:04:11 -04:00
Anuken
a893767d0f Merge remote-tracking branch 'origin/master' 2018-09-03 16:22:29 -04:00
Anuken
a4f240edc8 Fixed some high-FPS bugs 2018-09-03 16:22:24 -04:00
Anuken
e0a94f694b Shader fix / Hail buff / Tau nerf / Turkish lower case fix 2018-09-03 15:57:06 -04:00
Anuken
8654f25a4f Bugfixes for GWT 2018-09-03 13:48:16 -04:00
Anuken
e877310d85 Mech balancing / Less glitchy menu shader 2018-09-03 13:33:40 -04:00
Anuken
bb59f45ba6 Crash fix 2018-09-03 10:29:44 -04:00
Anuken
3d4c2a2c20 Merge remote-tracking branch 'origin/master' 2018-09-03 09:56:18 -04:00
Anuken
e36667cd08 Bugfixes 2018-09-03 09:56:14 -04:00
CrazyBearTR
cebaa6949e Turkish language request (#210) 2018-09-03 09:55:04 -04:00
Anuken
019e22aff2 Fixed missile shield pierce 2018-09-03 09:07:59 -04:00
Anuken
5129e2ea73 Crash fixes 2018-09-03 09:02:16 -04:00
Anuken
3b63f60462 Fixed some junction issues / Improved server crash reporting 2018-09-02 22:40:23 -04:00
Anuken
5e29115c2e Fixed ship flight targeting / Fixed unit weapon sprite offset 2018-09-02 16:23:39 -04:00
Anuken
0b4b30286d Fixed bridge infinite capacity / Fixed crash 2018-09-02 15:19:54 -04:00
Anuken
a01f64080d Fixed unit pads / Added chat log 2018-09-02 14:16:14 -04:00
Anuken
d031351bc8 Merge remote-tracking branch 'origin/master' 2018-09-02 13:49:42 -04:00
Anuken
1d21d36253 Fixed font line height / Bundles updated / Changelog date 2018-09-02 13:49:38 -04:00
iczero
8d4cd72b41 Remove duplicate roundrobin properties in weapons (#207) 2018-09-02 13:34:24 -04:00
Anuken
46ab6d3476 Minor fix 2018-09-02 13:33:43 -04:00
Anuken
3fcf3cbf93 Merge remote-tracking branch 'origin/master' 2018-09-02 13:20:58 -04:00
Anuken
ada912c69b Made group error message more specific 2018-09-02 13:20:51 -04:00
Prosta4okua
e204b89eaf Update bundle_ru.properties (#206)
* Update bundle_ru.properties

* Update bundle_ru.properties
2018-09-02 13:20:40 -04:00
Anuken
e903798fc2 Crash report fixes / Mobile mech fixes / Multiplayer fixes 2018-09-02 13:12:45 -04:00
Anuken
54497c43b6 Fixed mobile menu shader / Added 'old save' message for sectors 2018-09-02 11:46:47 -04:00
Anuken
99e54cc214 Fixed server connect crash 2018-09-02 11:22:05 -04:00
Anuken
56ae47cd8d Fixed server build error / Possible crash fix 2018-09-02 11:00:14 -04:00
Anuken
0fb336cf7b Balancing / Fixed bridge contamination 2018-09-02 10:46:24 -04:00
Anuken
469b3c0a94 Balance tweaks / Changed block liquid place-ability 2018-09-01 22:29:25 -04:00
Anuken
d90d88c68b Menu shader / Sprite fixes 2018-09-01 20:16:49 -04:00
Anuken
dcc061af3e New seed-based AI bases 2018-09-01 14:44:06 -04:00
Anuken
a2960f5c50 Pathfind updates / Less reflection / Platform cleanup 2018-08-31 23:19:36 -04:00
Anuken
565f8a2b4d Merge branch 'reflectionless' of https://github.com/Anuken/Mindustry 2018-08-31 16:15:43 -04:00
Anuken
5cb50d57ec Reduced reflection usage / Improved event system 2018-08-31 16:14:14 -04:00
Anuken
522e19d4bf Updated discord URL 2018-08-31 15:40:32 -04:00
Anuken
0db7a78889 Merge remote-tracking branch 'origin/master' 2018-08-31 10:15:12 -04:00
Anuken
1ce3b40b4e Basic pathfinding implementations 2018-08-31 10:15:08 -04:00
Leone25
e633528a7a Update bundle_ita.properties (#205) 2018-08-31 09:24:26 -04:00
Anuken
6570b411d1 Merge remote-tracking branch 'origin/master' 2018-08-31 00:02:42 -04:00
Anuken
ac9e774795 Added basic turret blob structures 2018-08-31 00:02:38 -04:00
Prosta4okua
8791747453 [Complete]Update bundle_ru.properties (#202)
* 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
2018-08-30 23:52:41 -04:00
Anuken
dda3afe9fa now with waifus 2018-08-30 21:39:27 -04:00
Anuken
d4435f980c Fixed ability input conflicts 2018-08-30 18:30:05 -04:00
Anuken
f29673a6e3 Made desktop selection rebindable 2018-08-30 16:46:41 -04:00
Anuken
9816bab151 Fixed build error 2018-08-30 09:58:18 -04:00
Anuken
5884c0bcb3 Merge branch 'crash-report-server' of https://github.com/Anuken/Mindustry 2018-08-30 09:23:10 -04:00
Anuken
96dc00beac Fixed carrying bug 2018-08-30 09:22:16 -04:00
Anuken
febc1e53b6 Added dedicated server crash reports 2018-08-30 09:05:15 -04:00
Anuken
3e18fb3ca0 Final crash report system for desktop 2018-08-29 23:46:04 -04:00
Anuken
28b9de2e7a Moved reporting system to CoreBot; JSON-base reports 2018-08-29 22:54:15 -04:00
Anuken
9a41399178 Initial proof-of-concept for crash report server 2018-08-29 22:09:55 -04:00
Anuken
db47b9a877 Minor tweaks 2018-08-29 16:19:34 -04:00
Anuken
7cdd7a3487 Merge remote-tracking branch 'origin/master' 2018-08-29 10:07:38 -04:00
Anuken
833f646903 Start of groundwork for dynamic bases 2018-08-29 10:07:34 -04:00
Senventise
35a85860b1 Add Simplified Chinese font and update translations (#204)
* update translation

* add simplified chinese font

* delete outdated font

* Update uiskin.json
2018-08-29 09:38:10 -04:00
Anuken
00f24dfb79 Balancing 2018-08-28 20:10:43 -04:00
Anuken
8c6ae2576d Fuse shot implemented 2018-08-28 19:00:29 -04:00
Anuken
5416ad33bd Basic fuse implementation 2018-08-28 13:10:49 -04:00
Anuken
1e25ba2d8e Implemented ammo types for cyclone 2018-08-28 12:12:08 -04:00
Anuken
8d08d25f5b Updated uCore 2018-08-28 09:02:38 -04:00
Anuken
802e7b12d0 Surge uses / Fixes, optimizations / Turret implementation base 2018-08-27 23:50:23 -04:00
Anuken
9b57550f3d Worldgen changes 2018-08-27 16:04:55 -04:00
Anuken
28c13c8e52 Fixed dropping items into enemy blocks 2018-08-27 13:56:20 -04:00
Anuken
d8f9059989 Player bufixes / Balancing 2018-08-27 13:46:33 -04:00
Anuken
ac9d37d038 Core player shield / Bundles updated 2018-08-27 13:30:34 -04:00
Anuken
6323c13704 Mech descriptions / Balancing / Crash fix / Physics fix 2018-08-27 09:52:33 -04:00
Anuken
2f7f16daff Added mend projector 2018-08-26 23:03:02 -04:00
Anuken
9059238aee Fixed lancer turning incorrectly / Buffed lancer 2018-08-26 20:02:29 -04:00
Anuken
2677c0e752 Merge remote-tracking branch 'origin/master' 2018-08-26 17:39:37 -04:00
Anuken
ba80770564 Disabled snapshot debug 2018-08-26 17:39:32 -04:00
Anuken
06ad35d934 Fixed jittery snapshots / Fixed misaligned unit bullets 2018-08-26 17:38:22 -04:00
Anuken
864c4f6bc3 Added custom port support 2018-08-26 10:25:23 -04:00
iczero
f5f0f02abe Fix UUID generation on desktop (#203) 2018-08-26 09:12:16 -04:00
Anuken
19979dec55 Fixed multiplayer crash 2018-08-25 23:25:04 -04:00
Anuken
926e61b7cc Initial test 2018-08-25 20:43:36 -04:00
Anuken
15378d3267 Removed incorrect health values 2018-08-25 20:25:09 -04:00
Anuken
33fcfda1a0 Added alloy smelter 2018-08-25 16:50:42 -04:00
Anuken
74d7b43d0f Fixed game-over state / Recipe balance 2018-08-25 15:35:35 -04:00
Anuken
e392c8f0e6 All reconstructors implemented / Balancing 2018-08-25 14:52:46 -04:00
Anuken
f60ba8587f Balancing / Reconstructors require power 2018-08-25 10:37:05 -04:00
Anuken
86a7f837cd Implemented halberd 2018-08-25 09:55:08 -04:00
Anuken
9465497481 Implemented trident 2018-08-24 23:32:08 -04:00
Anuken
8c3f3ac304 Javelin abilities 2018-08-24 17:53:54 -04:00
Anuken
88ba8f6f55 Ignored gif recorder images 2018-08-24 15:52:51 -04:00
Anuken
c64459dbf4 Fixed alpha drones dying on load 2018-08-24 15:52:05 -04:00
Anuken
8b0bbffe27 Merge remote-tracking branch 'origin/mechs-balance-altfire' into mechs-balance-altfire
# Conflicts:
#	core/src/io/anuke/mindustry/content/Mechs.java
2018-08-24 13:58:32 -04:00
Anuken
94805259d7 Added alpha drone swarm ability 2018-08-24 13:54:53 -04:00
Anuken
e796d44f92 Tau idle regen / Fixed non-synced alts / Fixed units not retreating 2018-08-24 10:19:56 -04:00
Anuken
5e8686db77 Removed Upgrade class / Buffed units / Bugfixes 2018-08-24 09:39:02 -04:00
Anuken
ee835f6514 Merge branch 'master' of https://github.com/Anuken/Mindustry into mechs-balance-altfire
# Conflicts:
#	core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java
2018-08-24 08:57:19 -04:00
Anuken
5de61aaed3 Unlockable mechs 2018-08-24 08:55:19 -04:00
Anuken
6613e4ec42 Generaor changes 2018-08-23 23:26:45 -04:00
Anuken
206314f4f4 Implemented lightning tile damage 2018-08-23 09:09:54 -04:00
Anuken
8f12c3f1a8 Fixed lightning / Implemented delta ability and gun 2018-08-23 09:02:09 -04:00
Anuken
4c224d0b9c Balancing, keybinds 2018-08-22 23:45:01 -04:00
Anuken
30dd089c8b Tau mech implemented 2018-08-22 23:29:14 -04:00
Anuken
8d9ec206bf Fixed mech hovering 2018-08-22 17:48:44 -04:00
Anuken
8319288776 Omega mech ability / Rendering fix 2018-08-22 16:13:26 -04:00
Anuken
60bf36613f Merge remote-tracking branch 'origin/master' 2018-08-22 12:42:30 -04:00
Anuken
a75994cbbf Updates to iOS build 2018-08-22 12:42:19 -04:00
Anuken
e1f7c7b03d Omega mech implementation 2018-08-21 22:40:39 -04:00
Anuken
bb7e2c7cee Commit #2000 2018-08-21 19:01:35 -04:00
Anuken
69eb6469f9 Merge branch 'continuous-servers' of https://github.com/Anuken/Mindustry 2018-08-21 18:56:32 -04:00
Anuken
d2eb3be7f8 Merge remote-tracking branch 'origin/master' 2018-08-21 18:54:15 -04:00
Anuken
5aa76639d1 Changed noise octaves with non-detailed worldgen 2018-08-21 18:54:11 -04:00
Anuken
3bf72a1af6 Forced hovering while on block 2018-08-21 17:28:35 -04:00
Anuken
b745d88299 Player State reset / Improved messages / Round end time 2018-08-21 17:23:17 -04:00
Anuken
3aedc07ad0 Initial continuous server implementation 2018-08-21 16:37:57 -04:00
Anuken
dbb164f4be Increased mech damage 2018-08-21 14:21:00 -04:00
Prosta4okua
b0103d1ce3 [Complete]Update bundle_ru.properties (#199)
* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties
2018-08-21 13:27:20 -04:00
Prosta4okua
9c532047d3 [Complete]Update bundle_uk_UA.properties (#201)
* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties
2018-08-21 13:27:09 -04:00
Anuken
0003a58210 Added land effect / Cleanup 2018-08-21 13:25:04 -04:00
Anuken
34f2704dc7 Added ground mech flight 2018-08-21 12:22:49 -04:00
Anuken
0ddee379ca Added mode-specific respawn time 2018-08-21 10:56:06 -04:00
Anuken
6dcbe4fabb Added phase walls 2018-08-21 10:36:42 -04:00
Anuken
5dbb9fdf3f Final tweaks, ready to merge 2018-08-21 09:45:54 -04:00
Anuken
914fa3079d Per-mode no-build radius 2018-08-20 23:47:56 -04:00
Anuken
2e958d8d8f New team system / Prototype dedicated PvP gamemode 2018-08-20 23:45:27 -04:00
Anuken
7a5e61fd2e Fixed off-color stone floor blocks 2018-08-20 22:17:34 -04:00
Anuken
6a031d8f53 Nerfed wall health 25% 2018-08-20 22:13:29 -04:00
Anuken
dc6f01c0d3 Merge branch 'resource-rework' of https://github.com/Anuken/Mindustry 2018-08-20 22:09:57 -04:00
Anuken
1cc8cbe8a8 Bundles updated / Updated mechanical drill sprite 2018-08-20 22:09:15 -04:00
Anuken
01ae8bec85 Turret sprite fixes 2018-08-20 21:30:37 -04:00
Anuken
258ab87f6b Palette swap / Blocks changed and renamed 2018-08-20 21:04:03 -04:00
Anuken
8ba2db6c58 Dense alloy / Compile errors fixed 2018-08-20 17:43:56 -04:00
Anuken
a7599e85dc Merge remote-tracking branch 'origin/master' 2018-08-20 10:21:56 -04:00
Anuken
28389d698e Fixed editor fill freeze 2018-08-20 10:21:51 -04:00
Gureumi
c47a220721 Update bundle_ko.properties (#198) 2018-08-20 09:21:13 -04:00
Anuken
69f7296baa Merge remote-tracking branch 'origin/master' 2018-08-19 22:49:39 -04:00
Anuken
855f56bb45 Crash fix 2018-08-19 22:49:35 -04:00
Anuken
a79d072aaf More copper 2018-08-19 22:47:46 -04:00
iczero
467047a011 Fix typo (#197) 2018-08-19 22:46:41 -04:00
Leone25
0288daa39d Update bundle_ita.properties (#195) 2018-08-19 18:40:53 -04:00
Prosta4okua
3f075068a9 Update bundle_ru.properties (#196) 2018-08-19 18:40:43 -04:00
Anuken
278e7027f2 Bundles updated 2018-08-19 13:35:35 -04:00
Anuken
9d654c1f18 Copper added, carbide removed 2018-08-19 13:34:36 -04:00
JustYanns
279187d13b Update bundle_fr.properties [Complete] (#146)
* Update bundle_fr.properties

Few things translated in french.
I'll do more soon !!

* Update bundle_fr.properties V2

Update with comment of Math2128

* Update bundle_fr.properties V3

Few translations fixed

* Update bundle_fr.properties V4

•1 Thorium is the same in french and in english. 
•2 Carbide and cryofluid are not translatable !!
•3 Phase matter = "matière de Phase" doesn't sound good, I think we have to let the english word.
•4 Pyratite can be translated as "pyrrhotite" is it a good idea ?

* Update bundle_fr V5

Few translations fixed

* Update bundle_fr.properties V6 [Almost complete]

The french translation is almost finished, I will release the final translation soon.

* Update bundle_fr.properties [pre-release1]

Translation almost finished,
I just have 2 problems (see in the conversation)

* Update bundle_fr.properties  [pre-release2]

Translation almost finished
I just have 2 problems (see in the conversation)

* Update bundle_fr.properties [pre-release3]

Thank you to Math2128, for having helping me ;)

* Update bundle_fr.properties  [pre-release4]

Translations of Math2128's commit added
2018-08-19 13:34:17 -04:00
Anuken
360494f971 Fixed connect/disconnect message color tags 2018-08-19 10:31:25 -04:00
Anuken
81931eb536 Removed unnecessary tungsten references 2018-08-19 10:30:12 -04:00
Gureumi
a2ef11eb0f Fix 'has connected' message + Add chat font (#194)
* Fix 'has connected' message

* Add chat font
2018-08-19 10:29:40 -04:00
Anuken
b872252771 Removed unnecessary tungsten references 2018-08-18 23:02:10 -04:00
Leone25
b2c388276f Update bundle_ita.properties (#192) 2018-08-18 18:33:49 -04:00
Prosta4okua
178928f866 [Complete]Update bundle_uk_UA.properties (#188)
* 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

* 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
2018-08-18 13:10:57 -04:00
Prosta4okua
7e548f9969 Update bundle_ru.properties (#191)
* Update bundle_ru.properties

* Update bundle_ru.properties
2018-08-18 13:10:43 -04:00
Anuken
a60ce3c54c Merge branch 'master' of https://github.com/Anuken/Mindustry into resource-rework 2018-08-18 13:10:22 -04:00
Anuken
0f173bcc5a Increased blink frequency 2018-08-18 13:10:01 -04:00
Anuken
64dbe8312e Fixed merge issues 2018-08-18 13:07:54 -04:00
Anuken
7f443c71ae Merge remote-tracking branch 'origin/master' 2018-08-18 13:06:59 -04:00
Anuken
27276c025c Merge branch 'remove-ammo' of https://github.com/Anuken/Mindustry 2018-08-18 13:06:54 -04:00
Anuken
e9d03c179c init() test 2018-08-18 12:19:20 -04:00
Uriel
dec01c23a9 [Completed] Remaking spanish translation bundle (#187)
* started translating all the stuff

* translated more of the original english file

* translated more parts

* almost half of the file!

* MOREgit add .!

* Update bundle_es.properties

* completed

* forgot about these ones...
2018-08-18 08:57:42 -04:00
Anuken
e0eb227ce5 Recipe init() method added 2018-08-17 22:49:45 -04:00
Anuken
20021c5b31 Fixed 1-character names being valid / Fixed collideLine with tiles 2018-08-17 20:21:49 -04:00
Anuken
f8d6797fc2 Fixed android module being necessary to compile 2018-08-17 18:05:28 -04:00
Anuken
25051980ce Fixed category bundle properties missing 2018-08-17 14:51:18 -04:00
Anuken
fb8becca99 Minor ban fix 2018-08-17 14:09:31 -04:00
Anuken
25bd8a7eaa Fixed sector name not being displayed in saves 2018-08-17 13:02:53 -04:00
Anuken
bbd2424a3f Merge remote-tracking branch 'origin/master' 2018-08-17 12:55:18 -04:00
Anuken
83eeeed319 Discord rich presence improvements 2018-08-17 12:55:06 -04:00
Anuken
c92e8161a1 Merge pull request #190 from Prosta4okua/patch-21
[Complete] bundle_ru.properties
2018-08-17 11:33:29 -04:00
Anuken
258555c990 Merge remote-tracking branch 'origin/master' 2018-08-17 11:32:19 -04:00
Anuken
0f7799422e Crashes fixed 2018-08-17 11:32:12 -04:00
Anuken
177b565d7c Merge pull request #173 from Gab351/patch-1
Translate l227 to l239
2018-08-17 10:38:24 -04:00
Prosta4okua
a62b336b6c Update bundle_ru.properties 2018-08-17 12:59:51 +03:00
Prosta4okua
3ea61c8b3a Update bundle_ru.properties 2018-08-17 12:02:44 +03:00
Prosta4okua
4c57f9f902 Update bundle_ru.properties 2018-08-17 10:48:29 +03:00
Anuken
6d7941fba4 iOS portrait mode support 2018-08-16 18:38:43 -04:00
Anuken
020c6388c2 Block renaming 2018-08-16 18:38:04 -04:00
Anuken
53d35e8c77 Bundles updated / Fixed some localization bugs 2018-08-16 17:43:43 -04:00
Anuken
01f205d352 Merge pull request #189 from Leone25/patch-1
last update bundle_ita.properties
2018-08-16 17:38:44 -04:00
Anuken
a786167b04 Reduced health flash 2018-08-16 17:38:16 -04:00
Anuken
1699ab48e8 Added alternate health bar on all units 2018-08-16 17:07:20 -04:00
Leone25
b15c04a532 Update bundle_ita.properties 2018-08-16 21:10:04 +02:00
Anuken
20d3740e75 Branch created 2018-08-16 11:46:34 -04:00
Anuken
80d57f8c0c Comma fix 2018-08-16 11:25:27 -04:00
Anuken
1de367e89c Full chat revert / Crash fixes 2018-08-16 10:09:22 -04:00
Anuken
8850a89e30 Fixed game-over sector algorithm 2018-08-15 21:25:07 -04:00
Anuken
4f72011cf7 Fixed markup crash / setsector command fixed / Drone crash fixed 2018-08-15 21:00:40 -04:00
Anuken
c569232e74 Fixed multiblocks not accepting items 2018-08-15 19:38:13 -04:00
Anuken
14c526d0c4 Power distribution fix 2018-08-15 18:41:21 -04:00
Anuken
5c4ac6b702 Fixed major issue with Vector2.ZERO mutation 2018-08-15 18:37:20 -04:00
Anuken
d58cc18136 Fixed block targeting bug 2018-08-15 18:18:57 -04:00
Anuken
36c01fde94 Updated uCore / Minor server tweak 2018-08-15 17:46:33 -04:00
Anuken
d4d9d59fe4 Server sector commands / World data compression / Snapshot sent w/ world 2018-08-15 17:25:19 -04:00
Anuken
8dbd0a6130 Fixed drones repairing incorrect blocks 2018-08-15 16:28:00 -04:00
Anuken
3746344cba Crash fixes 2018-08-15 16:26:08 -04:00
Anuken
d07fd1bbfe Improved build sync 2018-08-15 15:16:56 -04:00
Anuken
02f95c0ed4 Merge remote-tracking branch 'origin/master' 2018-08-15 14:16:42 -04:00
Anuken
c98fcbd795 Turrets target blocks / Added core no-build radius 2018-08-15 14:13:50 -04:00
Anuken
d071877963 Merge pull request #186 from Leone25/patch-1
Big update for italian bundle
2018-08-15 13:12:18 -04:00
Anuken
0267cb4006 Conduit sprites improved / Fixed incorrect proximity update 2018-08-15 13:11:55 -04:00
Leone25
bf571e595c Update bundle_ita.properties 2018-08-15 19:05:18 +02:00
Anuken
c0cad70212 Merge remote-tracking branch 'origin/master' 2018-08-15 10:49:05 -04:00
Anuken
7bd6dbb4b4 Partial korean font PR revert / Crash fixes 2018-08-15 10:48:19 -04:00
Anuken
6d932e3d04 Merge pull request #185 from Prosta4okua/patch-19
Update bundle_ru.properties
2018-08-15 09:20:41 -04:00
Prosta4okua
e154b5179d Update bundle_ru.properties 2018-08-15 08:27:26 +03:00
Anuken
52110d6008 ok 2018-08-14 19:30:05 -04:00
Anuken
103b08fd1d Added build progress sync 2018-08-14 18:56:42 -04:00
Anuken
cb09d10e7f Merge remote-tracking branch 'origin/master' 2018-08-14 18:51:13 -04:00
Anuken
a041c1e60d Synced whole place queue / Fixed player flash desync 2018-08-14 18:51:06 -04:00
Anuken
586b4cf4bd Merge pull request #183 from cloud9350/master
Add korean chat fonts + fix typos
2018-08-14 18:32:52 -04:00
Leone25
d0ff149cca Update bundle_ita.properties 2018-08-14 21:07:39 +02:00
Anuken
f8ddc8325c Fixed puddle/IO crash / crafter storage / player NaN position / red tint 2018-08-14 12:24:04 -04:00
Anuken
59ec09e82c Crash fixes / Resource-steal fixed / No-build while shooting fixed 2018-08-14 12:16:21 -04:00
Anuken
2ae5c96690 Merge remote-tracking branch 'origin/master' 2018-08-14 10:42:09 -04:00
Anuken
fda9e6bb9c Various crashes fixed 2018-08-14 10:41:54 -04:00
Anuken
29bcb8e07c Removed bars 2018-08-14 10:29:45 -04:00
Leone25
b70de81c2d Update bundle_ita.properties 2018-08-14 14:41:38 +02:00
Gureumi
5e89b2568f Add korean chat fonts + fix typos 2018-08-14 15:59:07 +09:00
Anuken
ac1d8215ff Merge pull request #182 from Prosta4okua/patch-18
[COMPLETE]Update bundle_ru.properties
2018-08-13 22:21:06 -04:00
Leone25
fefc734bfa Update bundle_ita.properties 2018-08-12 22:24:10 +02:00
Prosta4okua
7f8735842c Update bundle_ru.properties 2018-08-12 22:28:23 +03:00
Prosta4okua
a226983470 Update bundle_ru.properties 2018-08-12 19:19:07 +03:00
Prosta4okua
28526d0a12 Update bundle_ru.properties 2018-08-12 18:54:51 +03:00
Prosta4okua
913e005bae Update bundle_ru.properties 2018-08-12 10:44:56 +03:00
Prosta4okua
7bd9fd5bae Update bundle_ru.properties 2018-08-12 00:12:55 +03:00
Anuken
8986b89d67 Removed unit ammo 2018-08-10 10:45:37 -04:00
Anuken
ef936214f0 Merge pull request #180 from Prosta4okua/patch-17
[Complete]Update bundle_uk_UA.properties
2018-08-10 10:20:43 -04:00
Anuken
18fce6b3e3 Merge pull request #179 from cloud9350/master
Change items name texts and update font
2018-08-10 09:12:52 -04:00
Prosta4okua
ecda4d74ab Update bundle_uk_UA.properties 2018-08-10 16:12:44 +03:00
Prosta4okua
31124037b5 Update bundle_uk_UA.properties 2018-08-10 16:07:46 +03:00
Prosta4okua
aaf95e0756 Update bundle_uk_UA.properties 2018-08-10 16:06:01 +03:00
Gureumi
804e311875 Update 2018-08-10 19:21:46 +09:00
Anuken
61ad9bc47d Merge remote-tracking branch 'origin/master' 2018-08-09 22:20:52 -04:00
Anuken
2b23b7876a Minor bugfix 2018-08-09 22:20:46 -04:00
Anuken
547d334f43 Merge pull request #178 from Leone25/patch-1
update italian boundle_ita
2018-08-09 19:29:34 -04:00
Leone25
7432dc115e Update bundle_ita.properties 2018-08-10 00:48:20 +02:00
Anuken
905defe8ce Merge pull request #177 from Prosta4okua/patch-15
Update bundle_ru.properties
2018-08-09 18:35:44 -04:00
Prosta4okua
0a8ff0cde7 Update bundle_ru.properties 2018-08-10 00:59:27 +03:00
Prosta4okua
bd5f44030e Update bundle_ru.properties 2018-08-10 00:53:41 +03:00
Anuken
79abb86262 Merge remote-tracking branch 'origin/master' 2018-08-09 17:45:09 -04:00
Anuken
fe6f98ec5a Minor bugfixes / Added block names to bundle/ Autogen ore names 2018-08-09 17:44:52 -04:00
Anuken
e39a856e54 Update TRANSLATING.md 2018-08-09 09:47:15 -04:00
Anuken
64e5f8155d Merge pull request #176 from cloud9350/patch-1
Update language ko file
2018-08-09 09:20:10 -04:00
Gureumi
8328b11f6b Update. 2018-08-09 19:54:09 +09:00
Anuken
15778b2ca5 Server hotfix 2018-08-08 22:37:52 -04:00
Anuken
b7842014c1 Fixed minor autotile bug 2018-08-08 22:29:56 -04:00
Anuken
a804053904 Typo fix / Biomatter compressor buffed 2018-08-08 21:10:57 -04:00
Anuken
2aee72b47b Improved host command 2018-08-08 20:57:24 -04:00
Anuken
0cb8c600b7 Merge remote-tracking branch 'origin/master' 2018-08-08 20:53:02 -04:00
Anuken
aa5348f37e Auto-play server sectors / Difficulty decrease / Improved d/c messages 2018-08-08 20:52:51 -04:00
Anuken
0736574a57 Merge pull request #174 from Prosta4okua/patch-13
[Сomlete]Update bundle_ru.properties
2018-08-08 20:07:23 -04:00
Anuken
d56365ce63 Merge pull request #175 from CinExPL/patch-1
Update bundle_pl.properties
2018-08-08 20:07:14 -04:00
Prosta4okua
c82d2f856a Update bundle_ru.properties 2018-08-09 00:02:22 +03:00
Prosta4okua
8432677826 Update bundle_ru.properties 2018-08-08 23:58:41 +03:00
Prosta4okua
0c0c6e5470 Update bundle_ru.properties 2018-08-08 23:56:42 +03:00
Anuken
57019b6e20 Fixed oil extractor desync / Buffed thermal genenerator / Typo fix 2018-08-08 16:00:33 -04:00
CinExPL
12ab2249b4 Update bundle_pl.properties 2018-08-08 21:10:42 +02:00
Anuken
22d0992d38 Merge remote-tracking branch 'origin/master' 2018-08-08 15:04:04 -04:00
Anuken
f8def04653 Overall difficulty decrease / Crash fix / Server fillitems command 2018-08-08 15:02:51 -04:00
Anuken
6349530fc5 Updated build.gradle 2018-08-08 14:42:10 -04:00
Anuken
ad83a7dcc3 Merge remote-tracking branch 'origin/master' 2018-08-08 12:37:46 -04:00
Anuken
cfc2239733 Minor iso changes 2018-08-08 12:37:29 -04:00
Anuken
91552a3a2b Various bugfixes 2018-08-08 12:22:47 -04:00
Anuken
4e3204bc6d All known crashes fixed 2018-08-08 11:18:30 -04:00
Anuken
a94998bd02 Merge remote-tracking branch 'origin/master' 2018-08-08 10:43:09 -04:00
Anuken
81c78eafa6 Biomass compressor fix / Crash fix / Removed spawners in waves 2018-08-08 10:43:03 -04:00
Prosta4okua
273523480f Update bundle_ru.properties 2018-08-08 08:34:44 +03:00
Anuken
b27fefae88 Misc fixes 2018-08-08 01:09:57 -04:00
Anuken
aa00a1b8d1 Minor save-time fix 2018-08-07 20:16:50 -04:00
Anuken
ba62e0eefc Fixed playtime not resetting on save exit 2018-08-07 19:46:05 -04:00
Anuken
cb16c75e11 Minor bundle fixes / Web build fixed 2018-08-07 19:36:56 -04:00
Anuken
3efed0ace3 Added sector loc display 2018-08-07 19:04:58 -04:00
Anuken
879fb8194f Further nerfed AI 2018-08-07 19:01:23 -04:00
Anuken
049dd89470 Fixed drone spam 2018-08-07 18:49:43 -04:00
Anuken
1f59d4354a Fixed retreat command, more pathfinding 2018-08-07 18:26:16 -04:00
Anuken
8dea45d9d5 More pathfinding fixes 2018-08-07 18:19:02 -04:00
Anuken
21ba6e257c Added indicator when core is under attack 2018-08-07 17:01:17 -04:00
Anuken
18ebda01a4 Drill balancing / More starting resources 2018-08-07 16:13:37 -04:00
Leone25
3acb843109 Update bundle_ita.properties 2018-08-07 21:48:42 +02:00
Leone25
1768aea66f Update bundle_ita.properties 2018-08-07 20:54:40 +02:00
Anuken
4b61f273d5 Targeting fixes / command center fixes 2018-08-07 11:59:16 -04:00
Anuken
a1dbbbdafc Crash fixes / 2x2 drills 2018-08-07 11:40:25 -04:00
Anuken
dcb840f290 Many bugfixes / Dagger unit buffed / Build times increased 2018-08-07 11:17:32 -04:00
Anuken
e6c4c66199 All drill costs decreased / Fixed specific sector save errors 2018-08-06 23:32:43 -04:00
Anuken
b76cd558aa Added difficulty grace period scaling 2018-08-06 22:58:22 -04:00
Anuken
85b077b5c5 Additional recipe balancing 2018-08-06 22:03:25 -04:00
Anuken
c34d6e6606 Improved targeting / Balancing / Monsoon nerf 2018-08-06 19:17:42 -04:00
Anuken
a5fd0aebe6 Fixed armageddon / Removed idle command / Balancing 2018-08-06 19:04:07 -04:00
Anuken
aaec04d04a Balancing / Made pads spawn infinite units 2018-08-06 16:58:44 -04:00
Leone25
b4272e0387 Update bundle_ita.properties 2018-08-06 20:44:09 +02:00
Anuken
77f9d6cb1d Grace period increased / Even more starting resources / Pulverizer buff 2018-08-06 12:52:29 -04:00
Anuken
aaa82b34e4 Difficulty display / More starting resources / Recipe tweaks 2018-08-06 12:42:34 -04:00
Anuken
7a6b1129d9 Merge remote-tracking branch 'origin/master' 2018-08-06 12:23:12 -04:00
Anuken
1f8918c773 Added starter items based on difficulty 2018-08-06 12:22:55 -04:00
Anuken
e9fe724e59 Merge pull request #172 from Prosta4okua/patch-11
(Complete)Update bundle_ru.properties
2018-08-06 11:21:41 -04:00
Anuken
80001246ef Added sector wave difficulty / ita bundle updated 2018-08-06 11:19:44 -04:00
Anuken
50461bb7c8 Merge pull request #164 from Leone25/patch-2 2018-08-06 11:17:29 -04:00
Anuken
c7c7cfde74 Merge branch 'master' into patch-2 2018-08-06 11:17:20 -04:00
Anuken
dcc29c0c48 Fixed extremely suicidal enemies / Conveyor tile fixes 2018-08-06 10:54:56 -04:00
Anuken
635e299464 Tweaked spawn times / Liquid bridge fixes 2018-08-06 10:31:50 -04:00
Gab_351
502c4e51ae Translate l227 to l239 2018-08-06 15:16:39 +03:00
Prosta4okua
382fdcbb40 Update bundle_ru.properties 2018-08-06 15:03:23 +03:00
Anuken
468e092422 Pad ammo autofill / Per-mission waves / Better core resource selection 2018-08-05 23:19:11 -04:00
Anuken
6904d4693f Merge remote-tracking branch 'origin/master' 2018-08-05 19:19:55 -04:00
Anuken
3ef7ec3be5 Bundles updated 2018-08-05 19:19:50 -04:00
Anuken
70257cbbfa Merge pull request #170 from Prosta4okua/patch-10
[Complete] Update bundle_ru.properties
2018-08-05 19:18:25 -04:00
Anuken
6ef31d0ec1 Added spawner grace period 2018-08-05 19:17:46 -04:00
Prosta4okua
d3077bec58 Update bundle_ru.properties 2018-08-06 00:12:50 +03:00
Prosta4okua
a1095353fc Update bundle_ru.properties 2018-08-06 00:11:19 +03:00
Anuken
66fab1b3df Added thermal generator / Enemy bases with spawning 2018-08-05 17:00:26 -04:00
Prosta4okua
569d6d4272 Update bundle_ru.properties 2018-08-05 19:09:01 +03:00
Anuken
07c19ce085 Added thermal pump / Better conveyor autotile 2018-08-05 10:14:18 -04:00
Anuken
d86dd4f80b Fixed terrible spawn generation 2018-08-04 23:19:10 -04:00
Anuken
f0f89f0894 New non-clipped 8x8 turret sprites 2018-08-04 20:19:04 -04:00
Anuken
47af2e83f7 Improved structure generation 2018-08-04 16:58:31 -04:00
Anuken
8ec87872c8 Added outpost schematic system 2018-08-04 14:51:33 -04:00
Anuken
f30ea80b42 Made units self-destruct after spawner removal 2018-08-03 20:22:33 -04:00
Anuken
1dd6e66167 Added basic enemy outposts 2018-08-03 16:39:12 -04:00
Anuken
4e681b2dd1 Merge remote-tracking branch 'origin/master' 2018-08-03 12:13:39 -04:00
Anuken
58be00b3ce Exploit fixes 2018-08-03 12:13:17 -04:00
Anuken
5604ac6b6a Merge pull request #169 from Prosta4okua/patch-9
[COMPLETE]Update bundle_ru.properties
2018-08-03 10:53:52 -04:00
Anuken
effdaefdf3 Added built-in sandbox map 2018-08-02 13:58:02 -04:00
Anuken
5775fad030 Fixed core generation 2018-08-02 12:00:29 -04:00
Prosta4okua
eabc6d79c3 Update bundle_ru.properties 2018-08-02 12:44:35 +03:00
Prosta4okua
5f4ca6e383 Update bundle_ru.properties 2018-08-02 11:57:11 +03:00
Anuken
c05020e28e Fixed no-wave FPS display / Fixed unit pad inventories 2018-08-01 22:14:43 -04:00
Anuken
5206079e23 Implemented sandbox mode 2018-08-01 20:13:57 -04:00
Anuken
9b01140882 Fixed merge conflicts 2018-08-01 18:44:53 -04:00
Anuken
4dae27da98 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/assets/bundles/bundle_ru.properties
2018-08-01 18:44:25 -04:00
Anuken
f0cab65a6d Bundles updated 2018-08-01 18:38:48 -04:00
Anuken
699a47351b Merge pull request #168 from Prosta4okua/patch-8
[COMPLETE]Update bundle_ru.properties
2018-08-01 18:37:51 -04:00
Anuken
af004da699 Added mission completion dialog / Bundle fixes 2018-08-01 18:31:44 -04:00
Prosta4okua
b5ad885237 Update bundle_ru.properties 2018-08-01 23:45:08 +03:00
Prosta4okua
07bd0fec70 Update bundle_ru.properties 2018-08-01 23:44:25 +03:00
Prosta4okua
318e51d736 Update bundle_ru.properties 2018-08-01 23:43:18 +03:00
Anuken
ae90db50fe Added monsoon pad / Renamed factories to pads 2018-08-01 16:18:13 -04:00
Prosta4okua
64772c195e Update bundle_ru.properties 2018-08-01 21:17:23 +03:00
Prosta4okua
05ead63bdc Update bundle_ru.properties 2018-08-01 21:16:55 +03:00
Prosta4okua
6f5c64420d Update bundle_ru.properties 2018-08-01 20:59:45 +03:00
Prosta4okua
d9d9a00a24 Update bundle_ru.properties 2018-08-01 20:53:01 +03:00
Anuken
c1de67032c Nerfed monsoon bomber 2018-08-01 13:09:46 -04:00
Anuken
890d49fdd7 Merge remote-tracking branch 'origin/master' 2018-08-01 12:46:54 -04:00
Anuken
ba96ea5a0c Gamemode-specfic missions / Red-enabled location verification 2018-08-01 12:19:17 -04:00
Anuken
b481b784bb Merge pull request #166 from Predator127/patch-4
Fixed PT-BR
2018-07-31 21:56:58 -04:00
Anuken
53b6e68a85 Merge remote-tracking branch 'origin/master' 2018-07-31 21:55:22 -04:00
Anuken
e3d16418a0 Added island around core generation 2018-07-31 21:53:40 -04:00
Predator127
e41f560ecd Fixed PT-BR
Small fixes.
2018-07-31 17:49:14 -03:00
Anuken
d394d9a529 Merge pull request #165 from bdjnk/patch-1
fix english translation bundle link, fix spelling
2018-07-31 15:55:14 -04:00
Michael Plotke
a73015fa6e fix english translation bundle link, fix spelling 2018-07-31 14:37:54 -04:00
Anuken
87846864cc Merge remote-tracking branch 'origin/master' 2018-07-31 12:57:48 -04:00
Anuken
f3b976bdd1 All web version bugs fixed 2018-07-31 12:57:34 -04:00
Anuken
3a06e319b0 Merge pull request #163 from toushangyouxiang/master
Add bundle_zh_CN.properties
2018-07-31 07:02:25 -07:00
Anuken
fe31c404ff Merge pull request #162 from Predator127/patch-3
Huehue
2018-07-31 07:02:16 -07:00
Anuken
cc23378758 Updated gradle version 2018-07-31 09:48:33 -04:00
toushangyouxiang
5cac949ea8 fix translation 2018-07-31 21:02:25 +08:00
toushangyouxiang
a35e897194 translate fix 2018-07-31 21:01:29 +08:00
toushangyouxiang
8e92edeae1 add bundle_zh_CN.properties 2018-07-31 14:25:32 +08:00
toushangyouxiang
f289a0a9a8 fix name 2018-07-31 14:20:20 +08:00
toushangyouxiang
65a7e89a8c add bundle_zh_CN.properties 2018-07-31 14:17:01 +08:00
Anuken
43be3259c9 Removed all websocket code 2018-07-30 23:43:11 -04:00
Anuken
54a4c95a1b Minor UI fixes 2018-07-30 23:32:43 -04:00
Anuken
ddac5cbfbc Added unit type descriptions / Changed blast drill sprite 2018-07-30 21:20:00 -04:00
Anuken
22342d01a5 Added blast drill 2018-07-30 19:40:44 -04:00
Predator127
7cffaeb193 Huehue
small changes
2018-07-30 19:34:55 -03:00
Anuken
2534496543 Merge remote-tracking branch 'origin/master' 2018-07-30 17:00:24 -04:00
Anuken
fe9b11e771 Fully implemented mass driver 2018-07-30 17:00:18 -04:00
Anuken
032347840f Merge pull request #161 from Prosta4okua/patch-6
[COMPLETE] Upt8te bundle_ru.properties
2018-07-30 10:50:24 -07:00
Prosta4okua
2978bc6ac5 Update bundle_ru.properties 2018-07-30 19:24:06 +03:00
Prosta4okua
a3b0bb323f Update bundle_ru.properties 2018-07-30 19:23:06 +03:00
Prosta4okua
a6246d27d9 [INCOMPLETE]Upt8te bundle_ru.properties 2018-07-30 19:11:25 +03:00
Anuken
884b649b53 Merge pull request #160 from Predator127/patch-2
Update bundle_pt_BR.properties
2018-07-29 16:29:31 -07:00
Predator127
92a2f770b4 Update bundle_pt_BR.properties 2018-07-29 20:02:54 -03:00
Anuken
e88ce078df Fixed place distance not being respected 2018-07-29 19:00:29 -04:00
Anuken
77f0dfb9b1 Added system to query block outputs / Editor bugfixes 2018-07-29 17:41:27 -04:00
Anuken
78d1accf07 Added resource mission 2018-07-29 12:26:48 -04:00
Anuken
2ec68a7f07 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/assets/bundles/bundle_pt_BR.properties
2018-07-29 12:01:52 -04:00
Anuken
bbaa2a2c92 Updated bundles, removed unused text 2018-07-29 12:01:25 -04:00
Anuken
341bb67ef4 Merge pull request #159 from TriggeredBoi/patch-1
Update bundle_pt_BR.properties
2018-07-29 09:00:43 -07:00
Anuken
e377cb423b Merge remote-tracking branch 'origin/master' 2018-07-29 11:57:56 -04:00
Anuken
81e954c258 Implemented multi-mission sectors / Various bugfixes 2018-07-29 11:57:46 -04:00
Trigg
79d41ba7ac Update bundle_pt_BR.properties
fixed some stuff for now, I guess

(Don't want to be rude, but a good chunk of Predator's translation seems to have been made by fucken google translate )
2018-07-29 12:20:30 -03:00
Anuken
e740e4da87 Merge pull request #158 from Predator127/patch-1
Update bundle_pt_BR.properties
2018-07-29 06:51:58 -07:00
Predator127
b476c47194 Update bundle_pt_BR.properties 2018-07-28 23:33:56 -03:00
Anuken
b2d61a93d9 Added sector mission display and generation 2018-07-28 22:06:01 -04:00
Anuken
a045ec9d46 Fixed sector dialog UI scaling 2018-07-28 12:59:52 -04:00
Anuken
1daf8d2743 cleanup of cleanup 2018-07-28 12:52:02 -04:00
Anuken
295824f440 Minor cleanup 2018-07-28 12:50:11 -04:00
Anuken
22b59e0cf6 Merge pull request #157 from Ameb/libgdx-miui-fix
Introduce workaround for libgdx issue by @codegist
2018-07-28 08:49:52 -07:00
Ameb
ecabdb82e6 Introduce workaround for libgdx issue by @codegist
libgdx/libgdx#3861 libgdx/libgdx#4626 libgdx/libgdx#5312
2018-07-28 17:24:20 +02:00
Anuken
924b1c1a67 Fixed #156 2018-07-28 10:06:28 -04:00
Anuken
0454c4c25a Added skin aliases 2018-07-28 09:44:38 -04:00
Anuken
3a3b81941b Fixed server fog not being cleared by blocks 2018-07-27 20:18:04 -04:00
Anuken
0875c29da5 Implemented fog saving 2018-07-27 17:26:12 -04:00
Anuken
0d4cf9f6c4 Mac crash fix 2018-07-27 14:26:34 -04:00
Anuken
6a525dcf59 Mac crash fix 2018-07-27 14:25:06 -04:00
Anuken
01f6904f82 Tile field encapsulation 2018-07-27 10:52:14 -04:00
Anuken
23bd9a989b Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/assets/bundles/bundle_ru.properties
2018-07-27 09:15:24 -04:00
Anuken
acfa02475b Updated bundles 2018-07-27 09:10:39 -04:00
Anuken
9dba304011 Merge pull request #151 from Prosta4okua/patch-5
[COMPLETE]Update bundle_ru.properties
2018-07-27 09:09:37 -04:00
Prosta4okua
69b0020d15 Update bundle_ru.properties 2018-07-27 10:03:52 +03:00
Anuken
ce2896cb38 Command center name added / Regression fix 2018-07-26 23:04:37 -04:00
Anuken
68fd09c222 Improved unit commands 2018-07-26 19:20:47 -04:00
Anuken
c832a7b93f Full command center implementation 2018-07-26 17:51:25 -04:00
Anuken
49e19ab34d Removed 'in' class 2018-07-26 15:40:35 -04:00
Anuken
c1c82b451d Removed multi-class call generation 2018-07-26 15:24:48 -04:00
Anuken
ea6f88b7f6 Added basic command center logic 2018-07-26 15:17:23 -04:00
Anuken
2a6ee6d65b Bundle cleanup 2018-07-26 14:19:58 -04:00
Anuken
583342b430 Merge remote-tracking branch 'origin/master' 2018-07-26 13:34:25 -04:00
Anuken
7289c1080c Cleaned up custom game dialog / Disabled saving in sectors 2018-07-26 13:34:20 -04:00
Prosta4okua
9ed4f2b7a3 Update bundle_ru.properties 2018-07-26 19:40:51 +03:00
Prosta4okua
7396f91a5e Update bundle_ru.properties 2018-07-26 19:39:48 +03:00
Prosta4okua
ccc926d812 Update bundle_ru.properties 2018-07-26 19:36:26 +03:00
Prosta4okua
bd39255ead Update bundle_ru.properties 2018-07-26 19:31:21 +03:00
Prosta4okua
add7b1a7d9 Update bundle_ru.properties 2018-07-26 19:29:19 +03:00
Prosta4okua
8e471f9939 Update bundle_ru.properties 2018-07-26 19:24:08 +03:00
Prosta4okua
c61568ef98 Update bundle_ru.properties 2018-07-26 19:13:47 +03:00
Prosta4okua
3260e45e71 Update bundle_ru.properties 2018-07-26 19:11:48 +03:00
Prosta4okua
ea61b560b8 Update bundle_ru.properties 2018-07-26 19:03:58 +03:00
Prosta4okua
f8ad7d485b [INCOMPLETE]Update bundle_ru.properties 2018-07-26 18:58:24 +03:00
Anuken
229e624434 Merge pull request #150 from Prosta4okua/patch-4
Update bundle_ru.properties
2018-07-26 11:19:31 -04:00
Anuken
7a3fb9c759 Sector size increased / Cores moved / Fixed desktop recipes appearing 2018-07-26 10:47:46 -04:00
Prosta4okua
9a7ea0d28c Update bundle_ru.properties 2018-07-26 17:40:38 +03:00
Anuken
ee5e655668 Made splitter faster when unchained 2018-07-25 17:29:43 -04:00
Anuken
58be055f57 Added interceptor factory / Sector-specific ore gen 2018-07-24 21:57:09 -04:00
Leone25
38e1944503 Update bundle_ita.properties 2018-07-24 16:34:52 +02:00
Anuken
992b402e9c Merge remote-tracking branch 'origin/master' 2018-07-24 10:15:31 -04:00
Anuken
81bf28e4ed Fixed build error / Added per-type drone mine config 2018-07-24 10:15:25 -04:00
Anuken
f10734b083 Merge pull request #149 from Prosta4okua/patch-3
[Сomplete]Upd8te bundle_ru.properties
2018-07-24 10:00:35 -04:00
Anuken
bf8f565631 Fixed ore-cliff blending 2018-07-24 09:18:04 -04:00
Anuken
9bc1ff8fa2 Added unit type unlocking / Fixed viewing of enemy block stats 2018-07-24 09:08:35 -04:00
Prosta4okua
56239b6bbf Up8te bundle_ru.properties
It's all?!
2018-07-24 13:44:30 +03:00
Leone25
cedd2bfe57 Update bundle_ita.properties 2018-07-24 10:42:09 +02:00
Anuken
7e187a57d8 Volcanic terrain now more frequent 2018-07-23 22:58:56 -04:00
Anuken
572a30a2c5 Improved worldgen 2018-07-23 22:36:39 -04:00
Anuken
f3235ef7e8 Merge remote-tracking branch 'origin/master' 2018-07-23 20:44:42 -04:00
Anuken
7448eb32cc Added battle misson / Team block colors / Mission worldgen 2018-07-23 20:44:33 -04:00
Anuken
33e8cc4711 Merge pull request #148 from Prosta4okua/patch-2
[WIP] Update bundle_ru.properties
2018-07-23 17:53:27 -04:00
Prosta4okua
6cdb016c2c [WIP] Update bundle_ru.properties 2018-07-23 23:45:43 +03:00
Leone25
ababb7f5ab Update bundle_ita.properties 2018-07-23 21:24:23 +02:00
Leone25
9f2b66e09d Update bundle_ita.properties 2018-07-23 20:56:38 +02:00
Leone25
8de267f6a9 Update bundle_ita.properties 2018-07-23 19:20:58 +02:00
Anuken
ecf9a3cbc9 Added FPS cap setting / Bugfixes 2018-07-23 11:09:51 -04:00
Anuken
01300b97e2 Changed game over menu for sectors 2018-07-22 19:06:52 -04:00
Leone25
787163fb06 Flew changes at the bottom 2018-07-22 22:18:51 +02:00
Anuken
3701a3c3d9 Updated italian bundle 2018-07-22 15:55:36 -04:00
Anuken
68c51bb1bc More generation improvements 2018-07-22 13:29:01 -04:00
Anuken
df147c700c Merge remote-tracking branch 'origin/master' 2018-07-21 22:05:10 -04:00
Anuken
f5fc4d99dd Improved generation 2018-07-21 22:04:10 -04:00
Anuken
2a4aa9e550 Merge pull request #145 from theshadowknight/patch-2
PL update
2018-07-21 17:38:12 -04:00
theshadowknight
0a489f1117 . 2018-07-21 18:16:33 +02:00
theshadowknight
9cc7c061a3 FINAL 2018-07-21 18:10:38 +02:00
theshadowknight
a1e7274ec3 I think it is final
*think*
2018-07-21 17:59:44 +02:00
theshadowknight
51d516a39e . 2018-07-21 17:49:32 +02:00
theshadowknight
de7c38231c look 2018-07-21 17:46:48 +02:00
theshadowknight
c352ef9382 PL update
YAY! *Some easter eggs here*
2018-07-21 17:15:14 +02:00
Anuken
e36b5551e9 Added translation testing info, useful information 2018-07-21 11:13:21 -04:00
Anuken
57856c38d6 Merge remote-tracking branch 'origin/master' 2018-07-21 10:07:01 -04:00
Anuken
2a8e02339b Added disclaimer 2018-07-21 10:06:20 -04:00
Anuken
57f94ca6a2 Merge pull request #144 from theshadowknight/patch-1
PL translation update
2018-07-21 10:03:17 -04:00
theshadowknight
0eaca8b80a PL translation update
I finished at 458
2018-07-21 13:00:56 +02:00
Anuken
d2dbab57dc Updated translation guide 2018-07-21 00:47:31 -04:00
Anuken
cb448a3494 Ignored locales.json 2018-07-21 00:45:11 -04:00
Anuken
3fa6eae05b Removed locales.json 2018-07-21 00:44:49 -04:00
Anuken
52cc7d699a Added translation guide / Added locale list autogen 2018-07-21 00:44:13 -04:00
Anuken
ec4eac3a7d Moved locale declaration to json file 2018-07-20 23:48:42 -04:00
Anuken
fbcfb23676 fixBundles -> updateBundles 2018-07-20 20:35:53 -04:00
Anuken
dbb2371801 Re-added block shadows / Block optimization 2018-07-20 18:41:08 -04:00
Anuken
4d6dc9546f Fixed cliffs not blending properly 2018-07-20 16:52:42 -04:00
Anuken
06b9d328f4 Added auto-generated cliffs for floor blocks 2018-07-20 16:06:26 -04:00
Anuken
48c7daa4ab iOS fixes 2018-07-20 13:59:00 -04:00
Anuken
3c83b88127 Multi-threaded generation previews 2018-07-20 09:26:41 -04:00
Anuken
3a63fa5475 Generation minor improvements / Added debug map view 2018-07-19 20:46:30 -04:00
Anuken
882790d133 Sleeping system changes 2018-07-19 18:10:29 -04:00
Anuken
bcf72b894d Fixed conveyor entities not sleeping 2018-07-19 17:58:16 -04:00
Anuken
9f723c39ef Bundles updated / Fixed player name color changing join/leave text 2018-07-19 14:20:51 -04:00
Anuken
56fc40a64d Removed sound assets / Fixed text wrap / Proper screen clear 2018-07-19 11:06:10 -04:00
Anuken
091f591ffb Added sector-specific spawns 2018-07-19 09:58:19 -04:00
Anuken
4d88a8206a Fixed unnecessary disconnect messages / Fixed player ban crash 2018-07-19 09:30:58 -04:00
Anuken
363bf7c552 Removed sector camera clamp / Added map edge padding / Turret sprite fix 2018-07-18 22:43:35 -04:00
Anuken
7ff4e5879d Implemented multi-cell sectors 2018-07-18 13:23:54 -04:00
Anuken
0b7decbfdd Removed static block layer / Minor bugfixes 2018-07-18 10:40:31 -04:00
Anuken
be9ea33aa4 Improved floodfill / Fixed resource use bug / Fixed editor turret draw 2018-07-17 23:20:05 -04:00
Anuken
d4b2cad94e Merge remote-tracking branch 'origin/master' 2018-07-17 19:19:55 -04:00
Anuken
ac039ce7cd Fixed sector world gen / Added sector goal unlocks 2018-07-17 19:12:44 -04:00
Anuken
946e60937d iOS fixes 2018-07-17 14:15:43 -04:00
Anuken
6f6601d270 Improved sector dialog look / Made mobile versions show play select 2018-07-17 13:19:20 -04:00
Anuken
71016f0d7c Updated uCore / Added hidden sector saves 2018-07-17 12:47:11 -04:00
Anuken
c2c2551607 Implemented save time recording 2018-07-17 10:42:44 -04:00
Anuken
d7812ec030 New save slot system / Buffed smelter / Fixed flying shadow glitches 2018-07-17 09:18:19 -04:00
Anuken
f184b0700f Fixed conveyor/conduit crash / Improved conveyor movement 2018-07-16 21:44:15 -04:00
Anuken
07f0be8d8d Updated uCore / Sector deploying support 2018-07-16 20:53:35 -04:00
Anuken
dd45b43d7f Classes moved / Fixed autotile bugs / Added sector display 2018-07-16 18:42:29 -04:00
Anuken
9b505106e3 Fixed ugly oversized shadows in corner autotiles 2018-07-16 09:42:13 -04:00
Anuken
d552f37daf Added conveyor autotiling / Fixed autotile update bug 2018-07-15 22:33:14 -04:00
Anuken
6a7ff13859 Added basic sector classes / Changed play menu dialog 2018-07-15 17:19:33 -04:00
Anuken
9e3af13efc Added build version warning for servers 2018-07-15 14:51:03 -04:00
Anuken
92a968217c Fixed power being set to NaN / Set splitter sprite to router 2018-07-15 11:50:06 -04:00
Anuken
37b9df3202 Removed all UI builders / Updated uCore and functional interfaces 2018-07-14 22:06:03 -04:00
Anuken
7dc33111fc Changed default world size back 2018-07-14 20:04:27 -04:00
Anuken
ab2f260a52 Fixed some crashes 2018-07-14 17:16:13 -04:00
Anuken
1aa4b8cb88 Fixed crash report displaying location incorrectly 2018-07-14 17:00:33 -04:00
Anuken
dfed36748c Fixed saves not loading / Increased biomatter compressor output 2018-07-14 16:06:38 -04:00
Anuken
d35f736548 Updated traditional chinese bundle / Fixed korean bundle 2018-07-14 12:14:22 -04:00
Anuken
cfecdae970 Class package refactoring 2018-07-14 12:11:48 -04:00
Anuken
59ade6cf09 Vault optimizations / Removed unloader 2018-07-14 10:47:18 -04:00
Anuken
642842888a Removed Waffle.io links 2018-07-14 09:34:19 -04:00
Anuken
3ae51edf3a Merge branch '4.0' of https://github.com/Anuken/Mindustry
# Conflicts:
#	core/assets/bundles/bundle_ko.properties
#	core/src/io/anuke/mindustry/Vars.java
#	core/src/io/anuke/mindustry/core/UI.java
2018-07-14 09:32:55 -04:00
Anuken
d8ccb81015 Merge remote-tracking branch 'origin/4.0' into 4.0 2018-07-14 09:26:43 -04:00
Anuken
0db6020231 Increased bridge range / Bugfixes 2018-07-14 09:26:34 -04:00
Anuken
738c0a5c9c Merge pull request #143 from player20033/patch-1
#142 Solution
2018-07-13 22:12:51 -04:00
player20033
a2f7d3e241 #142 Solution 2018-07-14 10:02:13 +08:00
Anuken
9b86ded164 Merge pull request #141 from cloud9350/patch-4
Update bundle_ko.properties
2018-07-13 20:00:34 -04:00
Gureumi
6cbb645b10 Update bundle_ko.properties 2018-07-14 08:54:55 +09:00
Anuken
066a1d7591 Merge remote-tracking branch 'origin/4.0' into 4.0
# Conflicts:
#	core/src/io/anuke/mindustry/Vars.java
2018-07-13 19:54:20 -04:00
Anuken
5f82d575ee iOS fixes 2018-07-13 19:50:18 -04:00
Anuken
302ae0a83c Merge remote-tracking branch 'origin/4.0' into 4.0
# Conflicts:
#	core/assets/bundles/bundle_ko.properties
2018-07-13 13:48:52 -04:00
Anuken
82c4c791cc Added message for loading broken saves 2018-07-13 13:43:37 -04:00
Anuken
3c0310120d Merge pull request #140 from cloud9350/patch-4
Update bundle_ko.properties
2018-07-13 13:24:05 -04:00
Anuken
21c106e9d5 Updated splitter description 2018-07-13 12:53:40 -04:00
Anuken
2c8cd2f8dc Fixed autosave not triggering 2018-07-13 12:50:45 -04:00
Anuken
380d9908b4 Fixed chat stopping velocity / Fixed drone repair not being synced 2018-07-13 11:46:16 -04:00
Anuken
6abef7d645 Fixed item bridge crash 2018-07-13 11:09:33 -04:00
Anuken
98ac25ac29 Fixed distributor 2018-07-13 10:21:17 -04:00
Anuken
93bec04c92 Fixed overflow gate, splitter 2018-07-13 10:11:42 -04:00
Gureumi
136559cddd Update bundle_ko.properties 2018-07-13 22:34:41 +09:00
Gureumi
3f63a6ed70 Update bundle_ko.properties 2018-07-13 22:24:00 +09:00
Anuken
2fcb3c4420 Bugfixes 2018-07-12 21:13:08 -04:00
Anuken
baaeb229cf Formatting 2018-07-12 20:37:15 -04:00
Anuken
a3bda3a941 Changed crash report location 2018-07-12 19:00:02 -04:00
Anuken
3d536aa28d Fixed player names not displaying 2018-07-12 18:58:02 -04:00
Anuken
454267455b Fixed mobile consume frag / Added ability for ship to mine 2018-07-12 15:44:05 -04:00
Anuken
8e9adeb4b4 Fixed web version bugs 2018-07-12 14:06:50 -04:00
Anuken
1f18e7beed Improved glitchy interpolation / Updated uCore 2018-07-12 11:38:09 -04:00
Anuken
b5e8e54107 Added build tools to travis 2018-07-12 10:24:56 -04:00
Anuken
f41e426b69 Reactor balancing / Fixed generators / Fixed pump crash / Travis update 2018-07-12 10:20:38 -04:00
Anuken
6375862a71 Fixed deadlock / Crafter fixes / Autotile fixes / Low FPS ship fixes 2018-07-12 09:11:28 -04:00
Anuken
be2a745d78 Increased ore generation amount 2018-07-11 19:58:49 -04:00
Anuken
d89feb2c75 Bugfixes, minor optimizations 2018-07-11 19:57:27 -04:00
Anuken
b4a20c8fcb Fixed fog glitching around during screenshake 2018-07-11 12:30:07 -04:00
Anuken
73087a92f4 Fixed build error 2018-07-11 12:21:46 -04:00
Anuken
2b58bd5bd8 Optimizations 2018-07-11 12:19:21 -04:00
Anuken
bce0101278 Fixed some multiplayer crashes 2018-07-10 21:04:14 -04:00
Anuken
bba418c79d Added consumers for repair/resupply points 2018-07-10 18:57:50 -04:00
Anuken
cb58eb82fc Added requirement display / Text fixes / Better crash reports 2018-07-10 16:53:35 -04:00
Anuken
3aafffabc1 Added BlockConsumeFragment 2018-07-10 11:41:51 -04:00
Anuken
66b9cdf64c Conduit autotiling / Added Block.onProximityUpdate() 2018-07-10 10:14:10 -04:00
Anuken
d31fbf3b6f Added flyer shadows / Fixed block inventory rebuild spawn / Distributor 2018-07-09 20:18:50 -04:00
Anuken
dbee30a412 Updated uCore / Made splitter distribute properly 2018-07-09 18:14:55 -04:00
Anuken
f3cc881930 Status bar cleanup / Fixed power distribution / Fixed adjacency updates 2018-07-09 14:25:52 -04:00
Anuken
3d9c9e639d Automatic external bundle loading 2018-07-09 11:24:24 -04:00
Anuken
d6969d2c74 Removed unused bundle keys 2018-07-09 11:06:15 -04:00
Anuken
b7e28a73ba Bugfixes / Added tool to re-format bundles with missing text 2018-07-09 11:02:30 -04:00
Anuken
1e8206757d Various bugfixes / Fixed persistent inventory, block crashes 2018-07-08 23:59:02 -04:00
Anuken
a0e94577fc Fixed infinite red square, glitchy shadows 2018-07-08 17:04:32 -04:00
Anuken
a2a0c2f791 Fixed startup error 2018-07-08 16:50:52 -04:00
Anuken
63a0fde121 Offload optimizations / Compile errors fixed / Massive refactor 2018-07-08 16:38:29 -04:00
Anuken
c06152de07 Consumption system more or less complete 2018-07-08 00:04:41 -04:00
Anuken
0b3ccbda20 Merge pull request #136 from JaiunL/patch-1
Translated a few parts
2018-07-07 21:00:03 -04:00
Anuken
97b7eb0768 Bugfixes / Compile error fixes / Removed routers 2018-07-07 13:48:20 -04:00
Jaiun Lee
b712301804 Revised 2018-07-07 13:29:11 +09:00
Jaiun Lee
76ebe3ff41 Translated a few parts
Mostly focused on grammatical errors and inconsistency in styling. Still need multiple revisions on a full spectrum. Discord: Reaper#7917
2018-07-07 13:24:00 +09:00
Anuken
d988bb1821 Massive amount of bugfixes / Multi-liquid support / Broken build 2018-07-06 23:24:14 -04:00
Anuken
64f1fbe400 Fixed many various crashes 2018-07-06 12:04:33 -04:00
Anuken
c2c837329c Fixed block construction / Added build version to crash 2018-07-06 10:54:20 -04:00
Anuken
b6531efe08 Merge remote-tracking branch 'origin/4.0' into 4.0 2018-07-06 09:52:26 -04:00
Anuken
2c97a4aefe Fixed importing saves / File chooser bad size 2018-07-06 09:52:18 -04:00
Anuken
f0ffebd58c Delete vcs.xml 2018-07-05 18:56:48 -04:00
Anuken
05e407f064 Delete github_settings.xml 2018-07-05 18:56:33 -04:00
Anuken
6dd2eec1b6 Merge pull request #131 from Lorex/master
Add Traditional Chinese support
2018-07-05 18:56:12 -04:00
Anuken
df13436688 Merge pull request #135 from cloud9350/patch-1
Update language file for game beta version
2018-07-05 18:54:27 -04:00
Anuken
fa0d89b6df Fixed crash 2018-07-05 17:37:24 -04:00
Anuken
ab0f8defa4 Merge branch '4.0' of https://github.com/Anuken/Mindustry into 4.0 2018-07-05 17:11:27 -04:00
Anuken
6b3329845b Fixed onConstructFinish() not syncing rotation 2018-07-05 16:49:29 -04:00
Anuken
fc07c5efa6 Fixed carry entity chain reaction 2018-07-05 16:01:12 -04:00
Anuken
23188df276 Fixed slowdown when FPS got lower than TPS 2018-07-05 15:40:31 -04:00
Anuken
5e66dfcc36 Minor optimization 2018-07-05 15:23:20 -04:00
Anuken
bc36c57f9f Improved enemy drop tables 2018-07-05 14:09:46 -04:00
Anuken
5efa7d551e Fixed enemies dropping duplicate items 2018-07-05 14:05:11 -04:00
Anuken
8c6cda0d97 Fixed pathfinding using water / Fixed mech factories moving too fast 2018-07-05 13:38:42 -04:00
Anuken
4fa165bc6a Updated uCore 2018-07-05 13:23:31 -04:00
Anuken
da6695ceee Decreased flyer speed, damage, moved start wave / Wave time increase 2018-07-05 13:20:54 -04:00
Anuken
1043a5bb0d Fixed ghosts appearing in player list 2018-07-05 12:30:29 -04:00
Anuken
c7625278b5 Fixed autosave not triggering, offset player resource bars 2018-07-05 12:19:57 -04:00
Anuken
b9ef88951e Massive amount of bugfixes, too many to list in commit log 2018-07-05 12:05:53 -04:00
Gureumi
14fe35bba0 Update bundle_ko.properties 2018-07-05 22:21:12 +09:00
Anuken
4a32706c5a Misc bugfixes / Unified build/break block system 2018-07-04 23:52:21 -04:00
Anuken
cc92edfa58 Fixed item drop duplicates, invincible players 2018-07-04 15:22:59 -04:00
Anuken
071d0fbbf7 Fixed player names not displaying 2018-07-04 15:01:29 -04:00
Anuken
6ff44fddd0 Fixed plastanium compressor 2018-07-04 13:42:15 -04:00
Anuken
8760e99c43 Fixed dedicated server crash 2018-07-04 13:18:50 -04:00
Anuken
423f5f16bb Fixed extremely glitchy player pickup 2018-07-04 12:31:09 -04:00
Anuken
1c8c702afd Made flying units appear later in waves 2018-07-04 11:58:41 -04:00
Anuken
d2a739262d Added admin wave sending / Admin system fixes / Build fix 2018-07-04 11:57:04 -04:00
Anuken
76d0285e3f Added freebuild / Power system fix / Net packet pool fix / Crash fixes 2018-07-04 11:38:59 -04:00
Anuken
cb9d3414f2 Merge branch '4.0' of https://github.com/Anuken/Mindustry into 4.0 2018-07-03 20:07:15 -04:00
Anuken
12f444750c Fixed custom client inversion 2018-07-03 20:03:51 -04:00
Anuken
5fdf7e3a12 Updated annotations module 2018-07-03 19:58:24 -04:00
Anuken
60deb9205b uCore update / Kick packet priority / Custom client lock / Net fixes 2018-07-03 19:48:29 -04:00
Anuken
677526cb16 Fixed iOS NullPtr 2018-07-03 19:03:53 -04:00
Anuken
359a392cca Fixed various bugs and crashes 2018-07-03 15:53:06 -04:00
Anuken
4d600f973a Added max power output display to item power generator 2018-07-03 13:20:01 -04:00
Anuken
4a626bc920 Various net crashes fixed 2018-07-03 13:13:02 -04:00
Anuken
3597860074 Additional crashes/synchronizations fixed 2018-07-03 12:57:22 -04:00
Anuken
68d2c30c38 More bugfixes 2018-07-03 12:48:20 -04:00
Anuken
e210d9c08e Fixed server verifying mobile player positions 2018-07-03 12:29:14 -04:00
Anuken
c9b77e4e23 Crash fixes 2018-07-03 12:27:37 -04:00
Anuken
e56d865416 Updated uCore 2018-07-03 11:21:53 -04:00
Anuken
efc779a8d7 Added desktop place info text 2018-07-03 11:00:53 -04:00
Anuken
7e6807509b Fixed mobile breaking not taking into account multiblocks 2018-07-03 10:47:33 -04:00
Anuken
a683866397 Fixed conveyors/conduits not using items 2018-07-03 10:29:16 -04:00
Anuken
7a4f56d943 Additional bugfixes 2018-07-03 10:07:48 -04:00
Anuken
ec127519aa Many various bugfixes 2018-07-03 09:26:04 -04:00
Anuken
5ea3e2006d Fixed squished buttons in main menu 2018-07-02 23:07:14 -04:00
Anuken
bd914bf42a Removed player death sound 2018-07-02 21:47:52 -04:00
Anuken
e66c95fc76 Fixed ground units not targeting things properly 2018-07-02 21:47:26 -04:00
Anuken
9130302c93 Fixed pyratite mixer glitchy animation / Fixed block select flashing 2018-07-02 21:35:21 -04:00
Anuken
11b979e408 Crash fix 2018-07-02 19:29:11 -04:00
Anuken
44f13ef162 Added mobile build radius display 2018-07-02 18:11:23 -04:00
Anuken
17253adcdf Fixed FPS counter not hiding / Disabled minimap by default on mobile 2018-07-02 16:11:11 -04:00
Anuken
04dcc262ee Portrait alignment fixes 2018-07-02 16:01:58 -04:00
Anuken
e3bee43163 Portrait mode support / Mobile fixes 2018-07-02 15:49:01 -04:00
Anuken
fb2bb5a4bc Start of work on portrait mode / Made fragments abstract classes 2018-07-02 13:54:22 -04:00
Anuken
cf0a25fdfc Mobile placement guide / Bugfixes / Switched mobile test to arg 2018-07-02 13:06:52 -04:00
Anuken
e9436426b7 Gradle update / Block inventory improved / Crash fixes 2018-07-02 11:04:24 -04:00
Anuken
37ba95f8b3 Disabled mobile debug / Added no-core error message 2018-07-01 18:15:51 -04:00
Anuken
deadcd5339 Level selection improvements 2018-07-01 17:58:19 -04:00
Anuken
95d01f0ef5 Unlockable cleanup / Added javelin ship / Mobile fixes 2018-07-01 15:44:56 -04:00
Anuken
02b8e34242 Crash fixes / New ammo types / New turrets / Missiles added 2018-07-01 14:36:16 -04:00
Anuken
7177e0a576 New power node system / Volatile generators / Drone crash fix 2018-07-01 10:24:14 -04:00
Anuken
b2c99fd0fd Power transfer algo fix / Battery link fix / Fireball fix / 'and' 2018-06-30 23:59:38 -04:00
Anuken
cc5910f997 Added massive amount of partially-unfinished content to recipe menu 2018-06-30 20:59:05 -04:00
Anuken
cb6090c773 Fixed various crashes, synchronization bugs 2018-06-30 11:20:25 -04:00
Anuken
c0a649ffcb Added item names and descriptions, better unlock menu 2018-06-30 00:09:16 -04:00
Anuken
bebc1a22f3 Added content unlock menu 2018-06-29 19:47:47 -04:00
Anuken
b4151a256b Extensive netcode changes, bugfixes 2018-06-29 14:13:31 -04:00
Anuken
3898602f0e Improved error logging of remote reading/writing 2018-06-29 09:22:29 -04:00
Anuken
0216425209 Fixed more building desync 2018-06-29 09:15:07 -04:00
Anuken
499671a637 Fixed some snapshot bugs, net crashes 2018-06-28 21:04:01 -04:00
Anuken
ab82faf7ba Implemented scalable snapshot sizes 2018-06-28 20:49:12 -04:00
Anuken
fdf7173f14 Added vault to recipe list, removed 'next wave' button 2018-06-28 16:18:44 -04:00
Anuken
4b11511bd1 Minor world load time optimization 2018-06-28 15:48:21 -04:00
Anuken
53cbc0fb8b Further decreased save time and filesize 3x 2018-06-28 14:13:47 -04:00
Anuken
b209f3e50d Reduced save file size by 5x 2018-06-28 13:48:22 -04:00
Anuken
5ec495987e Un-broke editor block icons 2018-06-28 13:25:29 -04:00
Anuken
66c9fd8431 Added descriptions for some transportation blocks, fixed wrapping 2018-06-28 12:00:30 -04:00
Anuken
576af67587 Fixed crude turret icons 2018-06-28 11:50:50 -04:00
Anuken
cad44cf379 Added warning text on first startup, tutorial stub text, desc fixes 2018-06-28 10:11:25 -04:00
Anuken
ff07e99e39 Added more detailed drill tier lists 2018-06-27 21:53:52 -04:00
Anuken
18b137a1a6 New block stat system, names for all current block recipes 2018-06-27 21:29:57 -04:00
Anuken
2344fb910b Fixed server game-over crash 2018-06-27 14:58:14 -04:00
Anuken
085d309528 Added packet pooling synchronization 2018-06-27 14:55:37 -04:00
Anuken
c8069dfee7 Removed lag simulation 2018-06-27 14:52:31 -04:00
Anuken
9c90f59c25 Many various network fixes 2018-06-27 14:52:08 -04:00
Anuken
15cf8fe0be Fixed drone desync, client crash, dedicated server player warping 2018-06-27 14:23:15 -04:00
Anuken
4258f53bc8 Build crash fix 2018-06-27 14:06:55 -04:00
Anuken
3640f1ba77 Fixed player colors not being saved 2018-06-27 13:58:55 -04:00
Anuken
23bb409639 Cleanup 2018-06-27 13:55:38 -04:00
Anuken
6364b9e06b Implemented new spawnlist 2018-06-27 13:54:50 -04:00
Anuken
5cefecced8 Fixed fog not clearing, movement bug, items stuck in blocks 2018-06-27 11:57:37 -04:00
Anuken
8b17972b11 Fixed buggy ground unit rotations 2018-06-27 11:04:56 -04:00
Anuken
e799187aaf Added new wave spawning system 2018-06-27 10:56:39 -04:00
Anuken
c89123b18a Unit weapon rework, titan and bomber enemies added, various fixes 2018-06-26 22:48:18 -04:00
Anuken
03277c69af Various crash fixes 2018-06-26 16:19:05 -04:00
Anuken
20b3bb8f13 Mech palette change, delta mech implementation 2018-06-26 16:01:40 -04:00
Anuken
a6ca84308e Added phaseweaver to recipe list 2018-06-26 14:50:12 -04:00
Anuken
a71f3f55b0 Removed unnecessary language file entries 2018-06-26 14:21:03 -04:00
Anuken
24ac823f06 Added new recipes, fixed conveyor bug 2018-06-26 13:54:06 -04:00
Anuken
e407ba3ad3 Fully implemented dart ship factory 2018-06-26 12:44:40 -04:00
Anuken
7a049d64d8 Many various bugfixes, more aggressive memory optimization 2018-06-26 11:15:23 -04:00
Anuken
8ec9d95cd2 Fixed mass-block-breaking visual bug 2018-06-25 22:57:19 -04:00
Anuken
91501d39ee Balancing, fixed drone AI, fixed placement, fixed stacking effects 2018-06-25 22:47:18 -04:00
Anuken
5d70b4b95b Fixed player begin able to mine near enemies 2018-06-25 20:43:36 -04:00
Anuken
c7bc6e9128 Added range indicators, mobile build cancel button 2018-06-25 20:38:42 -04:00
Anuken
b911ef98bb Fixed units without an inventory being able to withdraw items 2018-06-25 19:37:04 -04:00
Anuken
f464868934 Fixed player disconnect events not getting shown properly 2018-06-25 19:35:07 -04:00
Anuken
d89c33fbe8 More multiplayer fixes 2018-06-25 19:25:26 -04:00
Anuken
f61f8a36f8 Typo fix 2018-06-25 18:48:01 -04:00
Anuken
b9b34eea37 Fixed some important crashes and multithreading issues 2018-06-25 18:46:04 -04:00
Anuken
d948607039 Fixed dashing not syncing, position being verified on client hosting 2018-06-25 18:33:40 -04:00
Anuken
5a135e108a Massive amount of bug/crash fixes, wave saving 2018-06-25 18:07:11 -04:00
Anuken
ced11c88bc Fixed smelter not using items, unit factory recipe 2018-06-25 15:44:09 -04:00
Anuken
92a748a762 Nerfed drone mined speed, new ore sprite packing 2018-06-25 15:05:42 -04:00
Anuken
f4c9645d73 Fixed power distributors connecting to generators, wrong save extension 2018-06-25 14:18:33 -04:00
Anuken
89ddbfc83d Added turbine generator to recipe list 2018-06-25 12:54:03 -04:00
Anuken
fa53b1be73 Added a few new recipes, balanced smelter 2018-06-25 12:48:35 -04:00
Anuken
c7ec7db61a Fixed empty inventories showing, debug blocks getting unlocked 2018-06-24 21:58:04 -04:00
Anuken
27cf4b0218 Fixed a bug in drone AI 2018-06-24 21:49:41 -04:00
Anuken
482858e36b Updated uCore version, should build now 2018-06-24 21:34:53 -04:00
Anuken
50372ed9f3 Disabled NYI gamemode selection, removed test map 2018-06-24 21:33:37 -04:00
Anuken
d8e8765cec Balanced a few electric turrets, fixed crash 2018-06-24 21:26:22 -04:00
Anuken
6ec28be541 Implemented homing silicon bullets 2018-06-24 21:17:48 -04:00
Anuken
6e5aec080a Implemented artillery turret, carbide artillery shells 2018-06-24 21:05:00 -04:00
Anuken
c7fb517e6c Made core drone pick up dropped items 2018-06-24 20:18:56 -04:00
Anuken
ca10ab0274 Increased fog view range, added tile fog discovery 2018-06-24 16:20:42 -04:00
Anuken
41e611d7db Improved fog of war, added minimap display 2018-06-24 14:42:45 -04:00
Anuken
77a63a39ad Added terrible fog-of-war 2018-06-24 00:09:00 -04:00
Anuken
0267ad574f Fixed some AI quirks, re-added debug blocks, fixed cultivator 2018-06-23 15:11:13 -04:00
Anuken
8f2aae6065 Added unit death scorch effects, more bugfixes 2018-06-23 12:30:54 -04:00
Anuken
a4edf827c8 Added random slopes, various bugfixes and balance fixes 2018-06-23 11:53:14 -04:00
Anuken
f9947d2e53 Improved world generation 2018-06-23 10:36:47 -04:00
Anuken
0a6614d1b3 Added rocks again 2018-06-22 23:04:58 -04:00
Anuken
98cfb4d5ed New block color and ore system 2018-06-22 22:48:00 -04:00
Anuken
18a780147e Updated uCore 2018-06-22 19:31:30 -04:00
Anuken
74878b5cb1 Loads of bugfixes, gameplay tweaks 2018-06-22 19:14:50 -04:00
Anuken
57d5628750 Fixed unit stats bars not being interpolated 2018-06-22 15:48:38 -04:00
Anuken
fc058476ed Made drone more intelligent 2018-06-22 15:38:14 -04:00
Anuken
c24eb231ab Added core miner drone, massive amount of balancing/setup 2018-06-22 15:07:48 -04:00
Anuken
28e44d33c4 Updated uCore 2018-06-21 16:03:07 -04:00
Anuken
f7dbe807e4 Added unit drops, boosting 2018-06-21 15:58:37 -04:00
Anuken
a76e99af86 Playtesting begins: balancing fixes 2018-06-21 14:07:20 -04:00
Anuken
13bb78ffa0 Added new conveyor animation 2018-06-21 12:41:33 -04:00
Anuken
8c194398a9 Added deselection, fixed pump placement and junction skipping 2018-06-21 10:20:37 -04:00
Anuken
21238e7376 lerp -> slerp 2018-06-20 22:57:22 -04:00
Anuken
ca30f49481 Added spatial indexing of tile targets, many bugfixes 2018-06-20 22:56:53 -04:00
Anuken
45da578756 Implemented dynamic ground unit spawning 2018-06-20 20:23:43 -04:00
Anuken
1c80314cfd Added procedural map borders 2018-06-20 18:14:12 -04:00
Anuken
23d621e9c7 Added incomplete procedural map generator 2018-06-20 16:16:59 -04:00
Anuken
2884e4b847 Improvements to playability at low TPS 2018-06-20 15:06:53 -04:00
Anuken
0c7f6432d8 Fixed glitchy minimap unit rendering 2018-06-20 12:15:56 -04:00
Anuken
56bb23400a Moved over map generator / Fixed logic updating on both threads 2018-06-20 11:09:44 -04:00
Anuken
33a278ccb4 Added unit squads, new spawning, WaveSpawner class 2018-06-19 23:46:46 -04:00
Anuken
e79494b5cb Implemented desktop carrying 2018-06-19 16:02:25 -04:00
Anuken
3c3147d665 Implemented flying for desktop, new ship bodies 2018-06-19 15:38:09 -04:00
Anuken
23f3f68767 Implemented basic mech factories 2018-06-19 14:23:59 -04:00
Anuken
08690b9d9e Merge pull request #133 from cloud9350/patch-4
fix fatal language translate (bundle ko)
2018-06-18 23:10:07 -04:00
Anuken
6cfd1a1ef6 Improved texture gen system, mech icon generation 2018-06-18 23:05:31 -04:00
Gureumi
d3eb9c9d99 Update bundle_ko.properties 2018-06-19 10:18:32 +09:00
Gureumi
a0ef3a0e44 fix fatal language translate (bundle ko)
fix no show server version + host user name on list
2018-06-19 10:13:07 +09:00
Anuken
354c6e17c0 Implemented smelting with flux 2018-06-18 17:20:23 -04:00
Anuken
c31a710aa7 Cleanup up turret definitions/recipes 2018-06-18 16:37:38 -04:00
Anuken
0304512b8a Implemented unstable fusion reactor, mending core, liquid cooled turrets 2018-06-18 16:07:37 -04:00
Anuken
6bdd960623 Added generated sprites to gitignore 2018-06-18 14:38:26 -04:00
Anuken
80d0a1555a Added phasewalls 2018-06-18 14:37:50 -04:00
Anuken
ee2cba89d5 New generators, projectors, status system, sprites renamed 2018-06-18 14:27:50 -04:00
Anuken
84d80525fa Duplicate ID check, hasItems cleanup, web host message, projector start 2018-06-17 23:19:58 -04:00
Anuken
4d9fab6cf2 Added all new stat definitions to bundle 2018-06-17 10:25:10 -04:00
Anuken
77856a3ff7 Improved stat system 2018-06-16 23:17:47 -04:00
Anuken
eb99132b8c Implemented volatile teleporters 2018-06-16 22:00:10 -04:00
Anuken
e1cdf80b17 Changed teleporter name, fixed some bugs 2018-06-16 21:55:38 -04:00
Anuken
9fbeeda1c6 Updated uCore 2018-06-16 19:45:45 -04:00
Anuken
1a8cd2e24c Added reconstructor blocks 2018-06-16 19:41:54 -04:00
Anuken
6c620182ea Implemented mass drivers 2018-06-16 14:34:11 -04:00
Anuken
ff542a9946 Improved efficiency of areEnemies() function 2018-06-16 11:35:32 -04:00
Anuken
6281826b92 Updated uCore 2018-06-15 21:54:26 -04:00
Anuken
eb94a4ee14 Added deflector walls 2018-06-15 21:52:02 -04:00
Anuken
09ebb7a01c Added entries for all new smelters 2018-06-15 18:47:53 -04:00
Anuken
11d2ada6b3 Added texture generation system 2018-06-15 18:06:05 -04:00
Anuken
ffbb6bb40b Sprite reorganization, new power and tier-based pumps 2018-06-15 15:53:43 -04:00
Anuken
604f315a83 Switched to binary preference file for desktop 2018-06-15 12:13:52 -04:00
Anuken
ba67c01dd0 Fixed a minor cursor bug, changed drill/pump place verification 2018-06-14 18:36:55 -04:00
Anuken
fab3704dbd Moved over Streamable inner classes, added test map 2018-06-14 17:11:38 -04:00
Anuken
1436e78305 Fixed extra space in uCore dependency 2018-06-13 23:49:25 -04:00
Anuken
125677f787 Added toggleable syncing 2018-06-13 23:16:34 -04:00
Anuken
63d5539427 Updated uCore 2018-06-13 21:18:52 -04:00
Anuken
4be101e9fc Implemented ore generation 2018-06-13 21:02:47 -04:00
Anuken
d0302cdbf3 Many fixes to admin/trace/UUID system 2018-06-13 17:52:31 -04:00
Anuken
c077f6e1e8 Implemented authoritative movement/shooting, fixed netbugs 2018-06-13 17:06:46 -04:00
Anuken
4ca9a26bdd Added name validation 2018-06-13 11:38:12 -04:00
Anuken
6b713b283a Updated inventory menu, weapon factory mechanics 2018-06-12 22:26:16 -04:00
Anuken
9abbd8c158 Implemented slopes 2018-06-12 11:36:55 -04:00
Anuken
4df0641d67 Improved event exception format 2018-06-12 11:05:17 -04:00
Anuken
4b093812bc Added elevation tool 2018-06-12 10:58:07 -04:00
Anuken
d7120af5cb Fixed a small map renderer bug 2018-06-11 21:16:16 -04:00
Anuken
e36a666542 Implemented elevation in-game with sprites 2018-06-11 21:08:15 -04:00
Anuken
b609b5909b Implemented elevation in editor and mechanically in-game 2018-06-11 15:18:25 -04:00
Anuken
cbd83b5e39 Fixed many various bugs with syncing things 2018-06-10 23:33:37 -04:00
Anuken
2ddd768393 Actually implemented puddle syncing 2018-06-10 21:00:23 -04:00
Anuken
c508f30d92 Synced puddles, updated uCore 2018-06-10 20:53:13 -04:00
Anuken
9b7750c1f3 Synced fireballs and fire 2018-06-10 19:16:59 -04:00
Anuken
a9b5949a7b Fixed units not shooting 2018-06-10 14:46:04 -04:00
Anuken
f56247df7a Added placed() method support 2018-06-10 14:43:28 -04:00
Anuken
0ef76aa66d Implemented block input sync, cursor bugfix 2018-06-10 14:29:29 -04:00
Anuken
5c98283932 Implemented unit syncing, new instantiation system 2018-06-10 13:03:52 -04:00
Anuken
ce6bd0fd6d Fixed item drop quantities not syncing 2018-06-09 23:33:01 -04:00
Anuken
aca1001f9a Fixed player dupes, new breaking system, multiplayer block edits 2018-06-09 23:23:14 -04:00
Anuken
d5a58be440 Updated uCore, fixed GWT build, better client snapshot system 2018-06-09 17:05:47 -04:00
Anuken
b33dd7e91c Fixed ammo resupply and shooting not working clientside 2018-06-09 14:20:08 -04:00
Anuken
30e13259b3 Updated client snapshot system, fixed stuck respawn bug 2018-06-09 13:44:24 -04:00
Anuken
be2fa1dfad Fixed interpolation, made death and damage serverside 2018-06-09 11:58:15 -04:00
Lorex
87c5ad79f4 IC-2018.1.4 <Lorex@DESKTOP-8V15HFB Merge branch 'master' 2018-06-09 16:33:18 +08:00
Lorex
2e210e7adc Add Traditional Chinese support 2018-06-09 16:15:17 +08:00
Lorex
c56f4783c0 IC-2018.1.4 <Lorex@DESKTOP-8V15HFB Create vcs.xml, github_settings.xml 2018-06-09 16:13:55 +08:00
Lorex
a1d351aa37 IC-2018.1.4 <Lorex@DESKTOP-8V15HFB Overwrite remote https://github.com/Lorex/Mindustry.git to local 2018-06-09 16:02:39 +08:00
Anuken
bc7b584001 Local forwarding fixes, remote building 2018-06-09 01:12:49 -04:00
Anuken
690571eec0 Massive amount of fixes and changes with multiplayer/annotations 2018-06-08 22:43:23 -04:00
Anuken
0620c635e5 Updated uCore 2018-06-08 12:23:11 -04:00
Anuken
8e00bdcf30 First client/server snapshot implementation 2018-06-08 12:22:07 -04:00
Anuken
0bd0602655 Fixed build errors 2018-06-08 10:02:15 -04:00
Anuken
2bcbc3294b Updated saving to DataOutput/Input 2018-06-07 20:30:02 -04:00
Anuken
9aa5460688 Added DEZ library 2018-06-07 17:23:32 -04:00
Anuken
e451cdd519 More codegen fixes, fixed (one) multiplayer connect crash 2018-06-07 00:01:08 -04:00
Anuken
ab9cdf5610 Increased max packet size to 1024 2018-06-06 21:07:53 -04:00
Anuken
c443eee15d Annotation system bugs fixed 2018-06-06 20:56:59 -04:00
Anuken
9e136bad94 Core annotation system finished 2018-06-06 20:23:19 -04:00
Anuken
ccb97e34d5 Moved many block files; work on annotation processor 2018-06-06 14:51:25 -04:00
Anuken
917e2e40fb Memory optimizations, multithreading fixes, uCore updated 2018-06-05 14:03:08 -04:00
Anuken
c5ed0afb4e Added (mobile) pickup/dropping of units 2018-06-05 00:02:07 -04:00
Anuken
b10fa9e5b2 Added carry traits 2018-06-04 21:15:40 -04:00
Anuken
210967cfef Added syncable bullets 2018-06-04 18:32:03 -04:00
Anuken
2a5118326a Added item drops, fixed various bugs 2018-06-04 16:17:24 -04:00
Anuken
a6225962b0 Updated uCore 2018-06-04 13:02:07 -04:00
Anuken
01f4a9b23b Changed too many things to fit in commit log 2018-06-04 12:47:08 -04:00
Anuken
3202d62a92 Further targeting improvements for AI 2018-06-03 20:03:53 -04:00
Anuken
270dc351a1 Unit system rewrite, new drone AI 2018-06-03 12:12:18 -04:00
Anuken
12c746a4e4 Fixed build errors, AI improvements 2018-06-03 00:09:41 -04:00
Anuken
a116a2a553 Fixed crash caused by lack of multithreading 2018-06-02 22:08:37 -04:00
Anuken
9555b10b97 Bugfixes, cleanup, optimization 2018-06-02 21:45:07 -04:00
Anuken
ae6b4211b9 Added mining 2018-06-02 11:13:07 -04:00
Anuken
3fe7e4e8da mess cleanup 2018-06-02 00:47:22 -04:00
Anuken
ba805739b0 one painful merge later 2018-06-02 00:46:40 -04:00
Anuken
89d8aa99ac Updated uCore 2018-06-02 00:23:08 -04:00
Anuken
5b65c2e27e Fixed MapIO not reading map stream fully 2018-06-02 00:19:31 -04:00
Anuken
6f9b712230 Fixed trail appearing behind player mech 2018-06-01 18:35:14 -04:00
Anuken
ca3bfa2239 Merge remote-tracking branch 'origin/master' 2018-06-01 18:25:39 -04:00
Anuken
35a3a89d2d Changed Discord RPC version to 2.0.0 2018-06-01 18:25:23 -04:00
Anuken
be8632d94b Added Android automatic shooting 2018-06-01 18:23:45 -04:00
Anuken
1bc4b16d38 Added map import button 2018-06-01 14:45:55 -04:00
Anuken
863c159fbb Fixed build errors 2018-06-01 13:24:11 -04:00
Anuken
a647efe3fd Merge pull request #125 from hellomouse/feature-blocklogsandrollback
Added edit logging and whole world rollback
2018-06-01 11:21:48 -06:00
Anuken
c79c23899f Merge branch 'master' into feature-blocklogsandrollback 2018-06-01 11:21:34 -06:00
Anuken
a04e432aea Fixed multithreading 2018-06-01 13:11:40 -04:00
Anuken
5c120e532f Added support for Mac file association; minor optimizations 2018-06-01 13:01:05 -04:00
Anuken
cfa95eef39 Fixed a few mime-type problems 2018-06-01 12:22:39 -04:00
Anuken
a327b9cfa8 Fixed iOS map/save loading 2018-06-01 12:20:57 -04:00
Anuken
c4ae6121b4 Implemented loading map/save files on launch (Android) 2018-06-01 12:20:16 -04:00
Anuken
23d07600f7 Bugfixes, added saving/loading maps in editor for web version 2018-05-31 23:49:43 -04:00
Anuken
418467e467 Fixed bad app-data directory being provided 2018-05-31 21:24:04 -04:00
Anuken
e60b3880ce MapEditor tweaks, fixed file browser on Android w/ permissions 2018-05-31 20:27:13 -04:00
Anuken
92acf009b0 Fixed FileChooser conflict 2018-05-31 17:04:26 -04:00
Anuken
a141df434c Merge branch 'master' of https://github.com/Anuken/Mindustry into 4.0
# Conflicts:
#	build.gradle
#	core/src/io/anuke/mindustry/Vars.java
#	core/src/io/anuke/mindustry/core/Control.java
#	core/src/io/anuke/mindustry/core/Platform.java
#	core/src/io/anuke/mindustry/mapeditor/MapEditorDialog.java
#	core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java
#	core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java
#	desktop/src/io/anuke/mindustry/desktop/DesktopPlatform.java
2018-05-31 17:00:47 -04:00
Anuken
32201dda72 Implemented nuclear reactor 'heating' 2018-05-31 16:45:45 -04:00
Anuken
13b0c8880d Implemented block breaking on Android 2018-05-31 16:27:30 -04:00
Anuken
24e7d755eb Added respawn animation on game start 2018-05-31 11:48:07 -04:00
Anuken
e534a6b7fc Merge remote-tracking branch 'origin/4.0' into 4.0 2018-05-31 11:41:38 -04:00
Anuken
277d75016c Updated uCore, added new respawn mechanics 2018-05-31 11:41:31 -04:00
Anuken
278a10cf61 Merge pull request #127 from cloud9350/patch-3
Update bundle_ko.properties
2018-05-31 09:12:24 -06:00
Gureumi
8f283b2226 Update bundle_ko.properties
Early update language file!
may be?
2018-05-31 20:53:38 +09:00
Anuken
857b76980b Fixed shaky camera, many other small bugs 2018-05-30 23:51:42 -04:00
Anuken
fae7bfa8c5 Dynamic layout for unlocking blocks 2018-05-30 22:41:52 -04:00
Anuken
e9e7d2e289 Place menu scrolling, fixed some settings menu bugs 2018-05-30 18:32:01 -04:00
Anuken
e3cbe118c5 Done with desktop breaking 2018-05-30 13:43:49 -04:00
Anuken
9d05cfba36 Implemented desktop line placement 2018-05-30 12:40:51 -04:00
Anuken
b5966afe25 Removed unnecessary UI fragments, began work on Desktop input 2018-05-30 00:32:20 -04:00
Anuken
1cf91c0ce3 Added rotation to Android placement 2018-05-29 23:18:31 -04:00
Anuken
0f09a0b152 New shaders, remake of Android placement partially done 2018-05-29 22:03:43 -04:00
Anuken
b434c37f01 Rewrite of all static initialization code 2018-05-29 15:24:47 -04:00
Anuken
4655bd5502 Massive input refactoring 2018-05-29 00:15:24 -04:00
Anuken
fcb74d4fba Removed additional info from mac version 2018-05-28 16:55:46 -04:00
Anuken
2bf7d06a91 Scrapped current place menu 2018-05-28 16:23:23 -04:00
Anuken
ce68c2a3e9 Documentation, added Content/ContentDatabase classes 2018-05-28 15:20:46 -04:00
Anuken
e58194ac3c Confined Mac users to Downloads/ directory 2018-05-28 12:34:01 -04:00
Anuken
857f36e01a Re-definition of all ammo and new turrets 2018-05-28 12:28:50 -04:00
Anuken
83c3a80766 Definition of all bullet types listed on trello 2018-05-27 19:12:01 -04:00
Anuken
736552f3b1 Removed all usage of drawBullet, switched to BasicBulletType 2018-05-27 15:49:01 -04:00
Anuken
0b28f97d8f Bullet refactoring 2018-05-27 15:17:35 -04:00
Anuken
47b627d669 Added sprites for all ammo types 2018-05-25 23:04:48 -04:00
Anuken
b051a296fc Added definitions for all bullet types 2018-05-25 21:56:23 -04:00
Anuken
908a569413 Added all dummy ammo types, added ItemType class 2018-05-25 11:45:47 -04:00
Anuken
31f83dfb40 Merge remote-tracking branch 'origin/master' 2018-05-25 01:10:31 -04:00
Anuken
022b16c8e6 Updated Platform.java 2018-05-25 01:10:12 -04:00
Anuken
d462d9c89b Removed JavaFX usage 2018-05-25 01:09:47 -04:00
Anuken
86360049c3 Updated FileChooser dir 2018-05-25 01:09:18 -04:00
Anuken
f524be6738 Added native file choosers for importing/exporting save 2018-05-24 23:16:03 -04:00
Anuken
519d2c1714 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/assets/sprites/icon.icns
2018-05-24 21:14:10 -04:00
Anuken
c19fcb831f Added native file chooser, fixed macOS prefs errors 2018-05-24 21:13:31 -04:00
Anuken
ff6268e616 Updated icns file 2018-05-24 21:12:41 -04:00
Anuken
b0f1ad63ee Changed prefs directory definition 2018-05-24 17:20:37 -04:00
Anuken
a7b017f307 Merge remote-tracking branch 'origin/master' 2018-05-24 16:13:19 -04:00
Anuken
29c3df8ba7 Changed bundle identifier script 2018-05-24 16:12:12 -04:00
Anuken
570226a051 Renamed all turrets 2018-05-24 15:40:36 -04:00
Anuken
96cfb51bd8 Sprite changes 2018-05-24 13:30:56 -04:00
Anuken
ba0c7907ca Merge remote-tracking branch 'origin/master' 2018-05-24 11:21:16 -04:00
Anuken
4c6ae83d4b Build 40 release 2018-05-24 11:19:03 -04:00
Anuken
e4231e012d Fixed a few minor bugs with scrolling in editor 2018-05-23 22:23:52 -04:00
Anuken
9693de8885 Added new screen for managing and viewing maps, many editor fixes 2018-05-23 21:40:59 -04:00
Anuken
d096a7ceb1 Merge fixes 2018-05-23 10:37:14 -04:00
Anuken
fd77dfd66d Merge branch 'master' of https://github.com/Anuken/Mindustry into 4.0
# Conflicts:
#	build.gradle
#	core/src/io/anuke/mindustry/Vars.java
#	core/src/io/anuke/mindustry/core/Control.java
#	core/src/io/anuke/mindustry/core/Logic.java
#	core/src/io/anuke/mindustry/core/NetClient.java
#	core/src/io/anuke/mindustry/core/NetServer.java
#	core/src/io/anuke/mindustry/core/UI.java
#	core/src/io/anuke/mindustry/editor/MapSaveDialog.java
#	core/src/io/anuke/mindustry/input/GestureHandler.java
#	core/src/io/anuke/mindustry/mapeditor/MapEditorDialog.java
#	core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java
#	core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java
#	gradle/wrapper/gradle-wrapper.properties
#	server/src/io/anuke/mindustry/server/ServerControl.java
2018-05-23 10:36:59 -04:00
Anuken
3f1389818c Changed TextArea padding 2018-05-23 10:28:47 -04:00
Anuken
c920fa6740 Added all export/import menus, fixed bad icons for editor blocks 2018-05-22 23:56:29 -04:00
Anuken
b4088dcfbc Some more revisions to iOS version 2018-05-22 14:30:54 -07:00
Anuken
b20f026c7b Added dialogs for saving/loading maps directly, work on web support 2018-05-22 17:28:21 -04:00
Anuken
f0fa126e7b Changed map edit menu, added map info dialog 2018-05-22 14:16:12 -04:00
Anuken
2999694f48 Fixed brush not respecting multiblock rules 2018-05-22 12:33:42 -04:00
Anuken
fcc60957c1 Made DrawOperation non-disposable 2018-05-22 12:09:18 -04:00
Anuken
4781351184 Testing github webhook 2018-05-22 12:07:33 -04:00
Anuken
d97a585eba Added undoing for map editor 2018-05-22 00:02:43 -04:00
Anuken
2d65c9734c Added IndexedRenderer rotation, map editor rotation 2018-05-21 23:00:40 -04:00
Anuken
3b5a9c0a10 Added IndexedRenderer color, block team indicator 2018-05-21 18:49:00 -04:00
Anuken
f6184004e5 Implemented editor multiblock support 2018-05-21 17:45:12 -04:00
Anuken
d70dd05221 Fixed 'permission denied' open error on iOS 2018-05-21 15:06:20 -04:00
Anuken
5602cb8920 Added basic enemy spawning, fixed turret base sprite, input place lag 2018-05-21 15:03:34 -04:00
Anuken
4a250b4e27 Fixed brush size layout, added map resize button 2018-05-21 13:59:35 -04:00
Anuken
37afb46957 Deprecated Draw.color(String), switched to type-safe usage 2018-05-21 13:37:16 -04:00
Anuken
9708d3183f Implemented multiblock replacement, upgrade-safe building 2018-05-21 12:20:23 -04:00
Anuken
433cb99eab Removed outdated 3.2 itch.io GIF from readme 2018-05-21 12:05:02 -04:00
Anuken
241b86d704 Updated item transfer visuals, centered block inventory 2018-05-21 12:03:49 -04:00
Anuken
3b0c66429c Fixed dedicated server crash 2018-05-21 11:27:06 -04:00
Anuken
8f137eadf0 New ItemTransfer entity 2018-05-21 11:25:41 -04:00
Anuken
468a6c1dca Delete MANIFEST.MF 2018-05-21 11:07:54 -04:00
Anuken
f9597569ba Delete annotations-release.jar 2018-05-21 11:07:47 -04:00
Anuken
93353ff900 Removed action-based item transfer animation 2018-05-21 11:05:10 -04:00
Anuken
ed7e77b2db New breaking animation and colors 2018-05-21 00:27:01 -04:00
Anuken
2108aab523 Added usage of OS.getAppDataDirectory() 2018-05-20 21:52:45 -04:00
Anuken
75f01099ee Re-added resource harvesting from blocks 2018-05-20 20:51:56 -04:00
Anuken
26e1ad51ff Documentation, cleanup, incremental resource usage, core seeking 2018-05-20 20:41:10 -04:00
Anuken
c1a5482ad2 Major refactoring of building, sound, inventory 2018-05-20 17:59:52 -04:00
Anuken
ed232248a2 Updated polish bundle 2018-05-20 16:05:24 -04:00
Anuken
e215324292 Updated spanish bundle, added missing formatted text 2018-05-20 15:50:01 -04:00
Anuken
a8bc2f10e4 Fixed iPad share crash, updated iOS version to 3.5 2018-05-20 12:27:23 -07:00
Anuken
b64cbc223f Updated icons again 2018-05-20 15:16:44 -04:00
Anuken
de40df7f7b Fixed place mode not overwriting old queue 2018-05-20 13:05:25 -04:00
Anuken
94896451ac Merge remote-tracking branch 'origin/master' 2018-05-20 11:47:32 -04:00
Anuken
0e35bb4852 Fixed scrolling player menu causing panning on mobile 2018-05-20 11:47:20 -04:00
Anuken
cd30b1d9b3 Fixed bad scaling on ipad devices 2018-05-20 08:40:36 -07:00
Anuken
8d66d43a98 Some more sharing revisions 2018-05-19 20:19:47 -07:00
Anuken
8ca861360b Changed sharing mechanism again 2018-05-19 21:06:12 -04:00
Anuken
410db16160 Fixed iOS app errors 2018-05-19 17:52:29 -07:00
Anuken
1c1df81341 Added sharing for iOS saves, fixed icons 2018-05-19 17:13:04 -07:00
Anuken
66a1cc7b71 Updated iOS map sharing 2018-05-19 18:25:20 -04:00
Anuken
0543569315 Merge remote-tracking branch 'origin/master' 2018-05-19 15:01:55 -07:00
Anuken
e5a94bd140 Grid updates 2018-05-19 15:01:18 -07:00
Anuken
adfebdb3f6 Merge pull request #122 from Prosta4okua/patch-1
Update bundle_ru.properties[Work in progress]
2018-05-19 15:58:41 -06:00
Prosta4okua
dbe06b0a93 Update bundle_ru.properties 2018-05-19 22:50:50 +03:00
Anuken
e8305d1245 Updated map editor with better placement preview 2018-05-19 11:53:01 -07:00
Prosta4okua
b2ea733b45 Update bundle_ru.properties 2018-05-19 21:49:29 +03:00
Anuken
fc320fb9ee Moved Platform.java, basic iOS image loading 2018-05-19 10:35:48 -07:00
Commodore64x
a3268eefbf Fixed field size in rollback menu. 2018-05-19 14:34:50 +10:00
Commodore64x
5a77eebb34 Fixed ui in the rollback menu. 2018-05-19 14:22:07 +10:00
Commodore64x
68af32bc9f Added rollback into the admin menu, fixed a bug where players would crash upon trying to view their own logs on relog. 2018-05-19 13:37:44 +10:00
Anuken
100e5042de Fixed block placement crash 2018-05-18 18:24:36 -07:00
Anuken
b3e188a5f4 Improvements to annotation code generation system, client RMI 2018-05-18 17:21:18 -07:00
Anuken
ae3bcac3b7 Removed gifimages folder 2018-05-18 09:26:50 -07:00
Anuken
afed54b217 Fixed a few bugs with new placement system 2018-05-18 09:22:40 -07:00
Anuken
2d768990ec Updated iOS icons 2018-05-18 07:53:30 -07:00
Anuken
10c44d0a4e Changed iOS version to 9.0.0 2018-05-17 22:31:26 -07:00
Anuken
57b0e3e311 Fixed iOS donate button and changelog appearing 2018-05-17 20:55:29 -07:00
Anuken
19e62786c9 New placement system without limits, queue block placements 2018-05-17 20:36:43 -07:00
Anuken
e45e04a6dc More ios fixes 2018-05-16 21:13:57 -07:00
Anuken
97cac33773 New build limits, recipe refactoring 2018-05-16 14:27:25 -07:00
Anuken
a889571b98 Added unit-based block building with effects 2018-05-16 12:54:36 -07:00
Anuken
cf1148e7c8 iOS plist fixes, re-added music 2018-05-16 11:06:15 -07:00
Anuken
e2f74fd4f0 Removed build effect surface usage 2018-05-16 07:52:17 -07:00
Anuken
57bcea56b5 Implemented block build animation and shaders 2018-05-15 20:03:03 -07:00
Commodore64x
380a955e7a Updated the way packets are exchanged for edit logs. 2018-05-15 16:36:39 +10:00
Anuken
cf50f47459 Improvements to ground unit AI 2018-05-14 08:51:16 -07:00
Anuken
eb69dce585 Removed Invoke class 2018-05-14 06:40:23 -07:00
Commodore64x
b3adf7b331 Replaced ArrayLists with Arrays, overhauled requesting of logs from the server, improved rollback command and added log resetting. 2018-05-14 18:48:44 +10:00
Anuken
a8900bb50e Re-added discord RPC 2018-05-13 21:43:53 -07:00
Anuken
c79f0b76ff Keybind fixes 2018-05-13 21:16:44 -07:00
Anuken
ca24e64c42 Implemented local multiplayer fully 2018-05-13 20:48:44 -07:00
Anuken
d1a3752b2d Annotation processing done, more work on local multiplayer input 2018-05-13 16:41:50 -07:00
Anuken
00e70cbb6a Massive amount of refactoring for local multiplayer, annotations 2018-05-12 07:30:23 -07:00
Commodore64x
7f2c2d9d6b Added edit logging and whole world rollback 2018-05-12 18:34:44 +10:00
Anuken
959f756ff5 Local multiplayer initial commit 2018-05-11 07:59:10 -07:00
Anuken
90b9ba71de Removed delta() usage in modules 2018-05-11 07:02:10 -07:00
Anuken
26025a3018 Fixed multithreading affecting wave time 2018-05-09 16:58:53 -07:00
Anuken
cce35b4a6f Fixed build.gradle 2018-05-09 16:46:25 -07:00
Anuken
09bdfd7ac1 Added local method invocation annotation 2018-05-09 16:41:02 -07:00
Anuken
ce2b73b737 Updated Bullet to use floats 2018-05-09 09:46:24 -07:00
Anuken
61e9611bab Merge pull request #124 from cloud9350/patch-2 2018-05-09 10:55:40 -04:00
Anuken
83d1707b56 Added event method, changed Fireball to projectile type 2018-05-09 10:52:51 -04:00
Gureumi
cbdf252fe6 fix missing tranlate lang and update about info 2018-05-09 20:33:53 +09:00
Anuken
55cd0c2bae Added basic RMI-like system for network evens 2018-05-08 18:39:52 -04:00
Anuken
6cc1cecf5a Updated RDX item, changed packet creation to use pooling 2018-05-08 10:53:36 -04:00
Anuken
7a94ebcf2a Implemented packet pooling 2018-05-07 14:23:52 -04:00
Anuken
84a126253a Fixed player looking at cursor with no ammo 2018-05-06 21:35:59 -04:00
Anuken
ad3ce3f9fc Minor comment fix 2018-05-06 11:52:10 -04:00
Anuken
c74ee2150c Implemented new accurate turret prediction 2018-05-06 10:54:18 -04:00
Prosta4okua
665f0ee03e Update bundle_ru.properties 2018-05-06 09:45:17 +03:00
Anuken
f8a4128c88 Updated sprites 2018-05-06 01:43:33 -04:00
Anuken
c931bbf107 Merged with master 2018-05-06 01:43:12 -04:00
Anuken
b020336f8c Temporarily disabled validating replacements 2018-05-05 22:26:59 -04:00
Anuken
299c2af59b Added configurable anti-grief 2018-05-05 20:20:34 -04:00
Anuken
37a73eda37 Fixed menu opening and closing when chat is open 2018-05-05 18:36:25 -04:00
Anuken
3938022002 Updated build.gradle to fix invalid JVM args for windows 2018-05-05 15:47:18 -04:00
Anuken
450fc456be Fixed extra wave time counting down on tutorial 2018-05-05 14:13:21 -04:00
Anuken
f7e0dc4818 Changed music back 2018-05-05 13:50:32 -04:00
Anuken
b496f51afc Added turk bundle, updated wrapping, added fastshoot kick message 2018-05-05 13:45:04 -04:00
Anuken
c1163a078a Updated translation bundles, added autowrap to menu 2018-05-05 13:18:21 -04:00
Anuken
90c243dec8 Merge remote-tracking branch 'origin/master' 2018-05-05 12:49:01 -04:00
Anuken
fab22a152c Fixed instant disconnect due to UDP flood, extremely jumpy interpolation 2018-05-05 12:48:50 -04:00
Anuken
3905da1a62 Added RDX entry 2018-05-05 10:16:26 -04:00
Anuken
0b02ada315 Merge pull request #121 from cloud9350/patch-1
Update translate file to Mindustry 4.0
2018-05-04 09:45:01 -04:00
Gureumi
3dd1fc2efe Update translate file to Mindustry 4.0 2018-05-04 13:13:12 +00:00
Anuken
c1066e94f2 Implemented drone sprite, basic AI 2018-05-03 22:54:21 -04:00
Anuken
3a3c23d2f1 Fixed discarded shells appearing in water 2018-05-03 15:19:00 -04:00
Anuken
1f439b4b0c Made server write version on build 2018-05-03 13:04:30 -04:00
Anuken
2af750cfec Implemented shooting and states for ground units 2018-05-03 12:59:23 -04:00
Anuken
42b3b19a57 Fixed broken blocks not updating path 2018-05-02 17:26:20 -04:00
Anuken
496498b913 Implemented auto-updating pathfinder 2018-05-02 17:14:10 -04:00
Anuken
b7a7e7dcc0 Updated GWT and Gradle versions 2018-05-02 11:45:33 -04:00
Anuken
3fcdfbd01a Optimized floor rendering 2018-05-02 11:38:44 -04:00
Anuken
72fc673020 Fixed floor rendering 2018-05-02 00:19:38 -04:00
Anuken
c3967c79c9 Fixed some hitbox issues, preparing to remake floor rendering 2018-05-01 23:45:32 -04:00
Anuken
3dd07d2f4a Implemented fast dijkstra-map pathfinding 2018-05-01 21:34:30 -04:00
Anuken
036f233946 Improved rubble and VTOL accuracy 2018-05-01 19:07:13 -04:00
Anuken
16c243d270 Merge remote-tracking branch 'origin/master' 2018-05-01 17:04:38 -04:00
Anuken
9776884a91 Fixed controllers not aiming properly 2018-05-01 17:04:32 -04:00
Anuken
131f646024 Fixed broken resupply animations 2018-05-01 16:46:10 -04:00
Anuken
1bf728359d Fixed build errors 2018-05-01 16:02:42 -04:00
Anuken
0ee5c1cd86 Changed iOS launcher to have slighly smaller DP decrease 2018-05-01 11:21:52 -04:00
Anuken
8a83e0fc1a Fixed server compile errors, added resupply point block 2018-04-30 22:28:47 -04:00
Anuken
0be49002ba Added repair point block 2018-04-30 17:14:35 -04:00
Anuken
2b96c820fd Fixed rubble-related crash, improved vtol AI 2018-04-29 23:34:40 -04:00
Anuken
9641a388e2 Improved vtol effects, added state machines for behavior 2018-04-29 15:31:13 -04:00
Anuken
37fcd81e87 Improved VTOL animation, made power nodes circular 2018-04-29 10:46:14 -04:00
Anuken
b589d8a1df Added VTOL animation 2018-04-29 01:22:26 -04:00
Anuken
d0a44906fe API changes for getting traces and upgrades 2018-04-28 19:52:38 -04:00
Anuken
5b8ee48600 Merge fixes 2018-04-28 16:29:23 -04:00
Anuken
e5f6b7f66c Merge branch 'master' of https://github.com/Anuken/Mindustry into 4.0 2018-04-28 16:28:58 -04:00
Anuken
941ebd39bf Added new royalty-free music 2018-04-28 13:44:46 -04:00
Anuken
52b73b5a9d Made iOS UI slightly bigger 2018-04-28 12:58:21 -04:00
Anuken
f5b7e6bb60 Made IOS UI size slightly smaller 2018-04-28 12:54:54 -04:00
Anuken
44965a42e4 Added new splash screens and icons for iOS 2018-04-28 12:42:06 -04:00
Anuken
d8aea69c0c Merge remote-tracking branch 'origin/master' 2018-04-28 12:27:49 -04:00
Anuken
aa110ec9a6 Various iOS fixes 2018-04-28 12:27:43 -04:00
Anuken
dbfe5196e7 Fixed iOS text fields not getting source text 2018-04-28 11:38:09 -04:00
Anuken
13e911eaa1 Merge remote-tracking branch 'origin/master' 2018-04-28 11:22:42 -04:00
Anuken
cbbd5ffc62 Renamed 'android' usage to 'mobile' 2018-04-28 11:22:35 -04:00
Anuken
cf40aec9d7 Merge remote-tracking branch 'origin/master' 2018-04-28 11:16:09 -04:00
Anuken
cdda421920 Fixed multithreading not working on iOS 2018-04-28 11:15:53 -04:00
Anuken
0db22f2cff Fixed place mode visual bug 2018-04-28 11:12:24 -04:00
Anuken
7a22ca2841 Fixed being unable to get log in low android versions 2018-04-28 10:41:33 -04:00
Anuken
4fc8e321af Added iOS text field dialog listener 2018-04-28 10:14:57 -04:00
Anuken
59fe8f444f Merge remote-tracking branch 'origin/master' 2018-04-27 23:43:32 -04:00
Anuken
8cc3a865e2 iOS fixes 2018-04-27 23:42:59 -04:00
Anuken
8a13482c38 Changed OGGs to MP3s, fixed desktop version being unable to start 2018-04-27 22:44:21 -04:00
Anuken
d8d8552176 Added iOS module 2018-04-27 16:01:37 -04:00
Anuken
96475557ae Travis build fix 2018-04-27 15:33:12 -04:00
Anuken
bb4c498e5a Fixed some mac build issues 2018-04-27 13:49:04 -04:00
Anuken
3ba57c3473 Minor cleanup with bars 2018-04-27 13:43:08 -04:00
Anuken
094aa5a326 Fixed lightning not rendering 2018-04-25 21:19:15 -04:00
Anuken
4b71b30418 Fixed compile error with new effects system, update uCore 2018-04-25 20:55:20 -04:00
Anuken
d960703a5c Merge branch 'master' of https://github.com/Anuken/Mindustry into 4.0 2018-04-25 20:53:49 -04:00
Anuken
6244551d69 Fixed android build errors 2018-04-25 20:53:32 -04:00
Anuken
3ed6be1d6d Fixed build errors 2018-04-25 20:53:03 -04:00
Anuken
91c3cb93f0 Merge branch 'master' of https://github.com/Anuken/Mindustry into 4.0
# Conflicts:
#	build.gradle
#	core/assets/bundles/bundle_es_LA.properties
#	core/assets/version.properties
2018-04-25 20:45:39 -04:00
Anuken
8c369d9874 Removed version.properties 2018-04-25 20:44:22 -04:00
Anuken
b5008f4ad3 Added unit ammo support, multi-ammo inventories 2018-04-25 20:40:51 -04:00
Anuken
deefab8a5b Implemented ammo ressuplying 2018-04-24 21:38:57 -04:00
Anuken
ff6dc98bbe Added spanish bundle 2018-04-23 21:47:39 -04:00
Anuken
8581213126 Moved bullet FX to ammo type, beginning of weapon rework 2018-04-23 21:35:40 -04:00
Anuken
19d058a644 More base unit types added 2018-04-23 19:14:52 -04:00
Anuken
aa83510fbe Moved unit-related classes, added base flying types 2018-04-22 17:40:23 -04:00
Anuken
5aa995b5ef Version.properties update 2018-04-21 18:49:06 -04:00
Anuken
1a9d701d32 Merge branch 'master' of https://github.com/Anuken/Mindustry into 4.0
# Conflicts:
#	core/assets-raw/sprites/blocks/chainturret-icon.png
#	core/assets-raw/sprites/blocks/chainturret.png
#	core/assets-raw/sprites/blocks/titancannon-icon.png
#	core/assets-raw/sprites/blocks/titancannon.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/version.properties
#	core/src/io/anuke/mindustry/entities/effect/TeslaOrb.java
#	core/src/io/anuke/mindustry/graphics/BlockRenderer.java
#	core/src/io/anuke/mindustry/input/InputHandler.java
#	core/src/io/anuke/mindustry/input/PlaceMode.java
2018-04-21 18:47:43 -04:00
Anuken
9f4f107b6d Changed version build 2018-04-21 18:39:49 -04:00
Anuken
90716ebaad Added italian bundle 2018-04-21 18:32:56 -04:00
Anuken
496b4e77e8 Updated version 2018-04-21 18:28:38 -04:00
Anuken
6e9d833c77 Added infinite reach on sandbox 2018-04-21 18:08:34 -04:00
Anuken
48061d3cae Fixed flick scroll issues 2018-04-21 18:03:43 -04:00
Anuken
292ce33e0f Fixed placement preview PR 2018-04-21 15:54:21 -04:00
Anuken
365fc6af20 Merge pull request #117 from hellomouse/feature-blockpreview
Added Placement Preview
2018-04-21 15:41:03 -04:00
Anuken
97360b33f4 Added new chain/titan sprites 2018-04-21 15:18:12 -04:00
Anuken
5012313dc4 Implemented inefficient pathfinding 2018-04-21 14:26:05 -04:00
Anuken
95f10aeb06 Attempts to further optimize pathfinding 2018-04-21 11:55:32 -04:00
Anuken
8a965e56cd Fixed not being able to pan with invalid recipe selected 2018-04-21 11:02:54 -04:00
Anuken
fb14a83b9a More work on pathfinding 2018-04-21 01:09:06 -04:00
Commodore64x
8cef351ed9 Fixed preview for multiblocks. 2018-04-21 12:44:23 +10:00
Anuken
4261e6242c Implemented JPS badly 2018-04-20 19:55:41 -04:00
Anuken
68bfd3017b Updated uCore 2018-04-19 22:02:41 -04:00
Anuken
ccd25c7e76 Implemented basic minimap 2018-04-19 21:57:55 -04:00
Anuken
7df232c65d Added block rubble, more liquid interaction 2018-04-19 19:06:52 -04:00
Anuken
32fb79478c Updated uCore 2018-04-18 21:34:07 -04:00
Anuken
d950396f68 Updated DrawLayer 2018-04-18 21:32:06 -04:00
Anuken
7d5f336e36 Final block rendering system revisions, for now 2018-04-18 21:31:33 -04:00
Anuken
b5cba3abfd New unbroken floor rendering system 2018-04-18 21:18:12 -04:00
Anuken
1d8630dd7d Improved conduit interaction / Various messups 2018-04-18 15:23:20 -04:00
Anuken
bfcce4f7ab Messed up rendering some more 2018-04-17 23:52:38 -04:00
Anuken
622f0d9355 Refactored BlockRenderer into two classes 2018-04-17 22:20:57 -04:00
Anuken
434256b0a5 Messed up many things 2018-04-17 20:04:57 -04:00
Anuken
e7a4ce2e19 Implemented entity pooling, effect saving, other fixes 2018-04-17 18:57:03 -04:00
Anuken
23dc62dbd2 Fixed map file names not being shown 2018-04-17 17:15:43 -04:00
Anuken
739e636a2c Added 'sleeping entity' optimization 2018-04-17 17:07:04 -04:00
Anuken
b020bf6816 Variable name refactorings / Untested entity sleeping 2018-04-17 09:31:41 -04:00
Anuken
47d61c4a0e Changed GridMap usage to IntMap 2018-04-17 09:06:55 -04:00
Anuken
714c5fd784 Added missing synchronized block 2018-04-17 08:59:01 -04:00
Anuken
7f2a0a77c7 Player saveWrite tweaks 2018-04-17 08:57:30 -04:00
Anuken
0bebe5008b Implemented leaky liquid explosions / New entity save system 2018-04-16 22:46:16 -04:00
Anuken
ee24eb8d1b Made saves load backup files if original save gets corrupted 2018-04-16 21:11:49 -04:00
Anuken
d396149521 Implemented passing of commands as arguments 2018-04-16 20:28:47 -04:00
Anuken
a4962c5225 Basic documentation for fire/puddles 2018-04-16 17:41:49 -04:00
Anuken
bece87c790 Implemented puddles of liquid 2018-04-16 17:32:35 -04:00
Anuken
e21d92cf4d Changed UUID algorithm on desktop 2018-04-16 09:58:31 -04:00
Anuken
e6f9ce888f Fixed autosave not updating meta 2018-04-15 23:12:26 -04:00
Anuken
871b6548ab Implemented player explosion intensity calculation / Fixed fire spread 2018-04-15 22:41:27 -04:00
Anuken
cb569be3b3 Improved fireballs and general block explosions 2018-04-15 20:06:38 -04:00
Commodore64x
0e50fbf3f2 Fixed rendering and other issues. 2018-04-16 09:08:44 +10:00
Anuken
3adc599278 Implemented fire 2018-04-15 17:12:09 -04:00
Anuken
68593acf89 Changed UUID generation slightly 2018-04-15 16:04:22 -04:00
Anuken
6007e511ba Implemented basic block explosion modeling 2018-04-15 15:49:50 -04:00
Anuken
01fc7108d8 Implemented conveyor item access 2018-04-15 13:05:18 -04:00
Commodore64x
494e415bd3 Fixed formatting? 2018-04-15 19:53:23 +10:00
Commodore64x
c17b34c70d Added Placement Preview 2018-04-15 19:40:22 +10:00
Anuken
02ab945ab8 Made junction ignore clogs 2018-04-14 21:57:10 -04:00
Anuken
97e5ac4c1e Implemented 'deep' unplaceable floor blocks 2018-04-14 21:51:46 -04:00
Anuken
458d4378f0 Removed liquid storage 2018-04-14 21:13:10 -04:00
Anuken
b715e0d34e Merge branch 'master' of https://github.com/Anuken/Mindustry into 4.0 2018-04-14 20:45:46 -04:00
Anuken
cce4113b2d Fixed flipped fin/fout usage 2018-04-14 20:44:40 -04:00
Anuken
89f06506c1 Fixed transfer exploit 2018-04-14 20:38:33 -04:00
Anuken
cc26e61d7a Updated uCore 2018-04-14 13:50:05 -04:00
Anuken
4b6b1b43cd Updated uCore 2018-04-14 13:49:42 -04:00
Anuken
913ee34c8d Implemented item dumping 2018-04-14 13:47:55 -04:00
Anuken
4e77f24a06 Implemented inventory capacity 2018-04-14 12:00:42 -04:00
Anuken
fcf62ada8f Changed inventory system to use real core inventory 2018-04-14 11:14:00 -04:00
Anuken
86b7966027 Implemented item dragging and transferring 2018-04-13 23:55:53 -04:00
Anuken
43c9bc51dc Implemented basic block inventories 2018-04-13 20:05:42 -04:00
Anuken
1ff6a7e423 Updated uCore 2018-04-12 17:34:59 -04:00
Anuken
439d2c88ae Updated uCore 2018-04-12 17:34:24 -04:00
Anuken
37aced0ad3 Minor tweaks to fit new Effects position 2018-04-12 17:22:29 -04:00
Anuken
a3a1e6d3a9 Added liquid bridge conduits 2018-04-11 21:39:54 -04:00
Anuken
2c769cad0b Removed tunnels / Added item bridge 2018-04-11 21:14:12 -04:00
Anuken
b1ad8f917d Changed parameters of griefer command 2018-04-11 13:06:03 -04:00
Anuken
221f7be21b Added utility griefer scan command 2018-04-11 13:05:08 -04:00
Anuken
bed34c4cad Fixed typo in findip command / Tweaks to kicking criteria 2018-04-11 10:25:59 -04:00
Anuken
f8b0819fb3 Fixed stone formers 2018-04-11 10:24:01 -04:00
Anuken
25778a143c Added overflow gate block 2018-04-10 21:30:24 -04:00
Anuken
5b11875a5a Better conveyor physics / Performance test maps / Unit inventory begin 2018-04-09 20:25:08 -04:00
Anuken
6967093689 Added liquid bridge / Smoothed conduit liquid display 2018-04-09 18:31:06 -04:00
Anuken
0cafa152bf Added fix for overflow block IDs 2018-04-09 10:30:15 -04:00
Anuken
697e288de2 Fixed 'bans' server crash 2018-04-09 10:24:47 -04:00
Anuken
aa28c3a45b Added light item bridge 2018-04-08 21:46:48 -04:00
Anuken
815daccff1 Made server connection info slightly less verbose 2018-04-08 12:38:22 -04:00
Anuken
f61aa6068b Added additional server commands, fixed a crash 2018-04-08 12:33:13 -04:00
Anuken
21fe0f9246 Added incinerator 2018-04-08 12:23:39 -04:00
Anuken
6db1175c95 Implemented conveyor physics 2018-04-08 12:02:42 -04:00
Anuken
00b78402eb Fixed build errors 2018-04-08 10:48:22 -04:00
Anuken
30ddd91a34 Merge fixes 2018-04-08 10:47:09 -04:00
Anuken
1789fadbf6 Merged with master 2018-04-08 10:46:48 -04:00
Anuken
86d5803b63 Minor status effect/liquid bugfixes 2018-04-08 10:36:49 -04:00
Anuken
98ec2dcf44 Implemented passable liquids 2018-04-07 23:24:33 -04:00
Anuken
117e2e2cb6 Added metal floor / Implemented teleporter activation 2018-04-07 21:37:33 -04:00
Anuken
4b39e5fab6 Fully implemented teleporters 2018-04-07 19:31:42 -04:00
Anuken
7ea4a503f7 Added new 'space' tile with shader / Added additional teleporter FX 2018-04-06 21:28:14 -04:00
Anuken
7cf619e620 Back button usage cleanup 2018-04-06 17:07:33 -04:00
Anuken
7a65604cc8 Lightning turret tweaks / Beginning of teleporter rework 2018-04-06 16:59:31 -04:00
Anuken
d67402e6aa Implemented lightning turret 2018-04-06 15:14:19 -04:00
Anuken
2191437f39 Fixed turrets hitting friendly players / Fixed android compile error 2018-04-06 10:33:11 -04:00
Anuken
c6efa6ca2e Updated uCore 2018-04-05 22:30:59 -04:00
Anuken
5172ae781f Updates for new uCore version 2018-04-05 22:30:25 -04:00
Anuken
343a94bf05 Implemented GFX for all status effects 2018-04-05 22:25:08 -04:00
Anuken
7cd96e379e Partial liquid turret implementation / Status effects 2018-04-05 21:37:54 -04:00
Anuken
ddf39461fb Implemented lancer turret 2018-04-05 17:29:49 -04:00
Anuken
62608bea6c More effect tweaks / Unfinished implementation of lancer turret 2018-04-04 23:50:27 -04:00
Anuken
05356776c5 Static effects / Better shell ejections / Implemented new cannon turret 2018-04-04 21:13:49 -04:00
Anuken
1956fccbe9 Implemented 'railgun' turret / Hierarchy split / Color refactoring 2018-04-04 16:44:32 -04:00
Anuken
53ca2d0755 Removed extra line of code 2018-04-04 00:04:05 -04:00
Anuken
641a4b87c6 Updated uCore, fixed build errors 2018-04-03 23:59:10 -04:00
Anuken
0559b43bde Updated uCore 2018-04-03 23:58:33 -04:00
Anuken
397220e682 Implemented liquid turrets with ammo / Implemented flamer turret 2018-04-03 23:06:39 -04:00
Anuken
636da8f95f Additional bullet effects / Rotational replacement 2018-04-03 18:36:18 -04:00
Anuken
94f2e880cd Additional effect tweaks 2018-04-02 23:08:07 -04:00
Anuken
c03aa6300e Added shell ejection effects / Added burst turret 2018-04-02 22:52:24 -04:00
Anuken
54d0cae450 Major turret and bullet refactoring // New effects 2018-04-02 21:43:06 -04:00
Anuken
efd9280f96 Build code fix 2018-04-02 15:35:20 -04:00
Anuken
a1ca9d396c Updated to build 37 2018-04-02 14:39:54 -04:00
Anuken
c686bf6149 Changed tunnel buffer system (again) 2018-04-02 14:25:08 -04:00
Anuken
20b95fa063 Ammo things added 2018-04-01 21:07:52 -04:00
Anuken
ec5f74b753 Removed every single bullet type, breaking everything 2018-04-01 11:56:11 -04:00
Anuken
5ee369f26a Fixed fusion reactor power transfer / Start of turret overhaul 2018-04-01 11:13:27 -04:00
Anuken
198dff7864 Updated plasma drill sprites 2018-03-31 22:48:56 -04:00
Anuken
af483e93f3 Updated uCore 2018-03-31 22:41:22 -04:00
Anuken
0813f00ea1 Added fusion reactor 2018-03-31 22:39:23 -04:00
Anuken
06dcc875bd Added longer-range power nodes / Resprite of some generators 2018-03-31 17:20:48 -04:00
Anuken
eab226f04d Organized FX 2018-03-31 15:30:06 -04:00
Anuken
dd0ad495f7 Added plasma drill 2018-03-31 14:51:24 -04:00
Anuken
4ff3517343 Updated uCore 2018-03-31 14:06:29 -04:00
Anuken
8a80e82b5d Added nuclear drill / Broke various things 2018-03-31 14:03:52 -04:00
Anuken
c14fb51eb8 Added pulverizer block 2018-03-31 11:55:17 -04:00
Anuken
9302b7c15c Added text 2018-03-31 11:53:32 -04:00
Anuken
662283908c Implemented silicon production / Centrifuge / Retexturing 2018-03-30 23:25:39 -04:00
Anuken
532eeb7ab0 Groundwater pump animation / water recolor 2018-03-29 23:38:16 -04:00
Anuken
e78579581f Drill cleanup / Added liquid boosting / Liquid hierarchy cleanup 2018-03-29 22:51:49 -04:00
Anuken
027e8dc35e Start of drill re-tiering / Animated drills / Fixed fracker bugs 2018-03-29 21:36:34 -04:00
Anuken
d83a852681 Start of drill re-tiering / Animated drills / Fixed fracker bugs 2018-03-28 23:00:12 -04:00
Anuken
826d5705c9 Animated oil extractor 2018-03-28 21:23:02 -04:00
Anuken
fbf8655ea4 Oil extractor water now needed / new liquid physics / new plastic balance 2018-03-28 20:01:47 -04:00
Anuken
737c63da5e Plastic production system balancing 2018-03-28 10:20:42 -04:00
Anuken
a98f42012a Implemented biomatter compressor 2018-03-28 00:05:27 -04:00
Anuken
8526c67e4d Updated uCore to fix build errors 2018-03-27 23:21:01 -04:00
Anuken
29051d4281 Improved cultivator sprite, changed save format of some crafters 2018-03-27 23:17:15 -04:00
Anuken
1d0063ed39 Fixed offloadNear and power smelter bugs 2018-03-27 21:30:54 -04:00
Anuken
18d81f6daa Implemented alloy smelter, fixed place crashes for many of the blocks 2018-03-27 20:11:47 -04:00
Anuken
17bc8fd9ed Added sprites for all new crafting blocks, fixed seprator 2018-03-26 22:49:33 -04:00
Anuken
707e57e72d Added many new block types, changed land unit AI, bugfixes 2018-03-26 20:26:36 -04:00
Anuken
f049706539 Updated uCore 2018-03-25 23:53:38 -04:00
Anuken
203e4bc0a4 Added ground unit factory support 2018-03-25 23:49:40 -04:00
Anuken
d6cd197435 Implemented new build shader 2018-03-25 16:47:01 -04:00
Anuken
684b57d139 Flying unit factory implementation, bugfixes 2018-03-25 15:04:29 -04:00
Anuken
3418979f4d Content class reorganization, beginning work on unit factory 2018-03-25 13:12:32 -04:00
Anuken
59530909d6 Added terrain exporting and importing 2018-03-25 00:44:25 -04:00
Anuken
674d259df1 Editor crude multiblock support, indexed renderer Z support 2018-03-24 18:19:39 -04:00
Anuken
3af18094f7 Fixed power passback, adjusted laser colors to depend on transfer amount 2018-03-24 11:12:21 -04:00
Anuken
9e309c9592 Changed uranium to thorium, fixed faulty vault transfer issues 2018-03-24 00:53:26 -04:00
Anuken
c73286358c Changed router passback function to take items into account 2018-03-23 23:00:08 -04:00
Anuken
967dab21bc Extra conflict fixes 2018-03-23 22:49:07 -04:00
Anuken
4e9d1d348e Merge branch 'master' of https://github.com/Anuken/Mindustry into 4.0 2018-03-23 22:48:51 -04:00
Anuken
7b3d60215b New power system implemented 2018-03-23 22:39:42 -04:00
Anuken
7d2fd514be Experimental power system changes 2018-03-23 20:17:35 -04:00
Anuken
2981dd857f Fixed some compile errors 2018-03-22 20:37:13 -04:00
Anuken
5b075ead9e Removed quartz and dirium, added plastic + dense alloy 2018-03-22 19:10:28 -04:00
Anuken
e5656896e7 Added text 2018-03-21 20:50:00 -04:00
Anuken
238c589ad6 Unified turret outlines, fixed saves not working 2018-03-21 20:04:59 -04:00
Anuken
85988a2ff9 More map editor improvements, turret outline rendering 2018-03-21 16:45:05 -04:00
Anuken
23e6f89eef Added very basic exporting, preview and a test map 2018-03-21 00:31:43 -04:00
Anuken
e330b28e49 Optimized map renderer to no longer lag out on crappy phones 2018-03-20 22:15:44 -04:00
Anuken
1984921883 WIP inefficient mesh renderer 2018-03-20 21:55:11 -04:00
Anuken
68f8ef54ac Removing CacheBatch due to performance issues 2018-03-20 20:14:39 -04:00
Anuken
940b8b72f9 Basic implementation of editor 2018-03-19 23:09:38 -04:00
Anuken
34f4eda1cf Fixed compile errors 2018-03-19 15:01:22 -04:00
Anuken
1b36325450 Fixed errors in everything except MapView 2018-03-18 23:24:12 -04:00
Anuken
0f8168324f Removed old maps, re-added map editor, broke compilation again 2018-03-18 22:30:33 -04:00
Anuken
172ac78466 New map format, completely broke loading or playing 2018-03-17 21:21:24 -04:00
Anuken
713875100b Everything has been broken 2018-03-17 12:22:21 -04:00
Anuken
ba84bb82b4 Implemented a basic unit 2018-03-17 00:41:56 -04:00
Anuken
ed0b796c5a Extra merge changes 2018-03-16 22:19:35 -04:00
Anuken
4a7c722673 Merge branch 'master' of https://github.com/Anuken/Mindustry into 4.0 2018-03-16 22:18:58 -04:00
Anuken
714fdc751a Added test unit type 2018-03-16 21:48:44 -04:00
Anuken
ad2e2032e6 Added GroundUnitType, compile fixed 2018-03-16 00:30:41 -04:00
Anuken
52c0a8e573 Fixed compile errors, unitification 2018-03-15 21:42:23 -04:00
Anuken
807c4688c2 Added Units class, removed writeString() from SaveFileVersion 2018-03-15 13:30:06 -04:00
Anuken
b4ec2ccb90 Merge branch 'master' of https://github.com/Anuken/Mindustry into 4.0 2018-03-15 12:57:03 -04:00
Anuken
155f3945a6 Progress on implementing unit teams 2018-03-15 00:19:05 -04:00
Anuken
0b2a933faa Fixed startup crash, implemented basic player animations 2018-03-14 23:03:27 -04:00
Anuken
01ba051c43 Fixed compilation errors 2018-03-14 20:15:25 -04:00
Anuken
1cd30e9057 Mass-deletion of enemy code 2018-03-14 18:02:35 -04:00
Anuken
a023c4fbac Fixed positions jumping with shader zoom-out 2018-03-14 14:13:06 -04:00
Anuken
99c12595a9 Animated oil blocks as well 2018-03-14 12:57:30 -04:00
Anuken
3056e9e79c Animated water 2018-03-13 22:34:52 -04:00
Anuken
b822a02d41 Added cryofluid mixer, liquid rebalancing 2018-03-13 18:54:28 -04:00
Anuken
539971b5a0 Changed oil extractor sprite 2018-03-13 11:38:56 -04:00
Anuken
2a0d3b05d3 Added oil extractor 2018-03-13 01:16:15 -04:00
Anuken
d1b51844e4 Changed laser transitions and effects 2018-03-13 00:16:40 -04:00
Anuken
94b815b8ab Added groundwater pump, 3x3 solar panels 2018-03-12 22:02:52 -04:00
Anuken
e67ddf9430 Added liquid silos, general liquid cleanup 2018-03-12 16:09:14 -04:00
Anuken
9674ca5e87 Fixed some problems with Generators 2018-03-11 10:07:12 -04:00
Anuken
5834dc9b2e Improved laser visuals 2018-03-11 09:46:57 -04:00
Anuken
9d49c7d836 Implemented new display/icon system for power lasers/batteries 2018-03-10 23:32:13 -05:00
Anuken
3ce7284fc5 Added batteries, 3x3 teleporter 2018-03-10 20:28:25 -05:00
Anuken
bf6e33791d Added sorted unloader and new block group system 2018-03-10 15:22:34 -05:00
Anuken
6a11f0dd8d Fixed improper drill time display 2018-03-10 13:30:33 -05:00
Anuken
83452b1e36 Fixed many crashes, refactored block bars 2018-03-10 12:13:42 -05:00
Anuken
d88a908e29 Changed plasma drill stats 2018-03-09 23:08:27 -05:00
Anuken
9c05ddbd7d Merge branch 'master' of https://github.com/Anuken/Mindustry into 4.0
# Conflicts:
#	core/assets/sprites/sprites.atlas
#	core/assets/version.properties
2018-03-09 20:58:21 -05:00
Anuken
89ca9ad213 Added generic drill class, cleanup of other subclasses 2018-03-09 20:57:12 -05:00
Anuken
c46f1ec590 Added LiquidDrill 2018-03-09 10:09:32 -05:00
Anuken
3131e8c7e9 Merge branch 'master' of https://github.com/Anuken/Mindustry into 4.0 2018-03-08 22:34:26 -05:00
Anuken
7d8b0f9941 Version modification 2018-03-08 22:32:34 -05:00
Anuken
d3313d6438 Fixed outstanding block type crashes 2018-03-08 16:59:39 -05:00
Anuken
c611066791 Completely borked liquid/power/inventory system 2018-03-07 22:54:12 -05:00
Anuken
1e456d6560 Changed biomatter extractor texture 2018-03-06 17:46:24 -05:00
Anuken
6a564f6693 Fixed some generator bugs, implemented laser drill properly 2018-03-05 23:26:53 -05:00
Anuken
45a3be7642 Refactoring of generators, added solar panel, power drills 2018-03-05 22:12:33 -05:00
Anuken
a25b6a9952 Added biomatter extractor, sulfuric acid 2018-03-05 16:38:13 -05:00
Anuken
25063ed1f0 Added new turret sprites 2018-03-05 14:10:52 -05:00
Anuken
292dbf101b More reorganization, implemented multiblock drills, API changes 2018-03-04 22:00:32 -05:00
Anuken
099d88ba7b Retexturing, changed mega repair turret size 2018-03-04 16:29:54 -05:00
Anuken
992fcc73b8 Added liquid tunnel recipe, fixed crashes/bugs 2018-03-04 00:17:30 -05:00
Anuken
9b3c9aaea2 Storage blocks, organized sprites, liquid tunnel implementation 2018-03-03 23:46:51 -05:00
Anuken
41e4f87e06 Merge fixes 2018-03-03 18:08:35 -05:00
Anuken
6de48b4535 Merge branches '4.0' and 'master' of https://github.com/Anuken/Mindustry into 4.0
# Conflicts:
#	core/assets/version.properties
#	core/src/io/anuke/mindustry/core/NetClient.java
#	core/src/io/anuke/mindustry/world/Tile.java
2018-03-03 18:06:57 -05:00
Anuken
70b104c936 Cleanup of Tile 2018-03-03 18:03:15 -05:00
Anuken
827f72f595 Added canDump for vaults, better vault icon 2018-03-02 09:04:44 -05:00
Anuken
5faff6260e Implemented multiblock output, broke router chaining 2018-03-01 23:36:48 -05:00
Anuken
59e8a85c7e Added Edges class, broke tiles and saving 2018-02-28 23:16:35 -05:00
Anuken
d3ec50825e Merge branch 'master' of https://github.com/Anuken/Mindustry into 4.0
# Conflicts:
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/version.properties
#	core/src/io/anuke/mindustry/ui/fragments/DebugFragment.java
2018-02-27 19:58:34 -05:00
Anuken
2518564f92 Added Vault block 2018-02-23 10:26:47 -05:00
Anuken
81de9875d3 New resources, blocks, core no longer accepts fuel materials 2018-02-22 20:12:20 -05:00
Anuken
eae07c15a7 Added pulverizer, new temporary laser graphics, debug power blocks 2018-02-21 23:28:02 -05:00
Anuken
1fdffa8be5 Added splitter, power smelter, new sections 2018-02-21 22:29:15 -05:00
1667 changed files with 67165 additions and 33737 deletions

13
.gitignore vendored
View File

@@ -1,7 +1,10 @@
##Packr, build stuff ##Packr, build stuff
logs/
/core/assets/mindustry-saves/ /core/assets/mindustry-saves/
/core/assets/mindustry-maps/ /core/assets/mindustry-maps/
/core/assets/bundles/output/
/core/assets/.gifimages/
/deploy/ /deploy/
/desktop/packr-out/ /desktop/packr-out/
/desktop/packr-export/ /desktop/packr-export/
@@ -9,14 +12,24 @@
/desktop/mindustry-maps/ /desktop/mindustry-maps/
/desktop/gifexport/ /desktop/gifexport/
/core/lib/ /core/lib/
/core/assets-raw/sprites/generated/
/annotations/build/
/kryonet/build/ /kryonet/build/
/tools/build/
/tests/build/
/server/build/ /server/build/
/test_files/
/annotations/build/
/android/assets/mindustry-maps/ /android/assets/mindustry-maps/
/android/assets/mindustry-saves/ /android/assets/mindustry-saves/
/core/assets/gifexport/ /core/assets/gifexport/
/core/assets/version.properties /core/assets/version.properties
/core/assets/locales
/ios/src/io/anuke/mindustry/gen/
*.gif *.gif
version.properties
.attach_* .attach_*
## Java ## Java

View File

@@ -1,23 +1,20 @@
language: android
jdk: jdk:
- openjdk8 - openjdk8
android:
components:
- android-26
# Additional components
- extra-google-google_play_services
- extra-google-m2repository
- extra-android-m2repository
- addon-google_apis-google-26
script: script:
- ./gradlew desktop:dist - "./gradlew test"
- "./gradlew desktop:dist"
after_success: - "./gradlew server:dist"
- chmod +x upload-build.sh
- chmod +x cleanup_builds.sh
- ./upload-build.sh
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

View File

@@ -1,43 +1,42 @@
![Imgur](https://i.imgur.com/w4N0yhv.png) ![Imgur](https://i.imgur.com/w4N0yhv.png)
[![Build Status](https://travis-ci.org/Anuken/Mindustry.svg?branch=master)](https://travis-ci.org/Anuken/Mindustry) [![Build Status](https://travis-ci.org/Anuken/Mindustry.svg?branch=master)](https://travis-ci.org/Anuken/Mindustry)
[![Waffle.io - Columns and their card count](https://badge.waffle.io/Anuken/Mindustry.svg?columns=all)](https://waffle.io/Anuken/Mindustry) [![Discord](https://img.shields.io/discord/391020510269669376.svg)](https://discord.gg/mindustry)
A pixelated sandbox tower defense game made using [LibGDX](https://libgdx.badlogicgames.com/). Winner of the [GDL Metal Monstrosity Jam](https://itch.io/jam/gdl---metal-monstrosity-jam). A pixelated sandbox tower defense game made using [LibGDX](https://libgdx.badlogicgames.com/). Winner of the [GDL Metal Monstrosity Jam](https://itch.io/jam/gdl---metal-monstrosity-jam).
_[Issue tracker](https://waffle.io/Anuken/Mindustry)_
_[Trello Board](https://trello.com/b/aE2tcUwF/mindustry-40-plans)_ _[Trello Board](https://trello.com/b/aE2tcUwF/mindustry-40-plans)_
_[Wiki](http://mindustry.wikia.com/wiki/Mindustry_Wiki)_ _[Wiki](http://mindustry.wikia.com/wiki/Mindustry_Wiki)_
_[Discord](https://discord.gg/r8BkXNd)_ _[Discord](https://discord.gg/r8BkXNd)_
### Building ### Building
Bleeding-edge live builds are generated automatically for every commit. You can see them [here](https://github.com/Anuken/Mindustry/wiki). Bleeding-edge live builds are generated automatically for every commit. You can see them [here](https://jenkins.hellomouse.net/job/mindustry/).
If you'd rather compile on your own, follow these instructions. If you'd rather compile on your own, follow these instructions.
First, make sure you have Java 8 and JDK 8 installed. Open a terminal in the root directory, and run the following commands: First, make sure you have Java 8 and JDK 8 installed. Open a terminal in the root directory, and run the following commands:
#### Windows
**_Windows_** _Running:_ `gradlew desktop:run`
_Building:_ `gradlew desktop:dist`
_Running:_ `gradlew.bat desktop:run` #### Linux
_Building:_ `gradlew.bat desktop:dist`
**_Linux_**
_Running:_ `./gradlew desktop:run` _Running:_ `./gradlew desktop:run`
_Building:_ `./gradlew desktop:dist` _Building:_ `./gradlew desktop:dist`
#### For Server Builds...
Server builds are bundled with each released build (in Releases). If you'd rather compile on your own, replace 'desktop' with 'server' i.e. `gradlew server:dist`.
--- ---
Gradle may take up to several minutes to download files. Be patient. <br> Gradle may take up to several minutes to download files. Be patient. <br>
After building, the output .JAR file should be in the output JAR file should be in `/desktop/build/libs/desktop-release.jar.` 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.
### Downloads ### Downloads
<a href="https://anuke.itch.io/mindustry"><img src="https://i.imgur.com/sk26hTV.png" width="auto" height="75"></a> <a href="https://anuke.itch.io/mindustry"><img src="https://i.imgur.com/sk26hTV.png" width="auto" height="75"></a>
<a href="https://anuke.itch.io/mindustry"><img src="https://i.imgur.com/ZSPVQpn.gif" width="auto" height="75"></a>
<a href="https://play.google.com/store/apps/details?id=io.anuke.mindustry&hl=en"><img src="https://i.imgur.com/8dF6l81.png" width="auto" height="75"></a> <a href="https://play.google.com/store/apps/details?id=io.anuke.mindustry&hl=en"><img src="https://i.imgur.com/8dF6l81.png" width="auto" height="75"></a>

39
TRANSLATING.md Normal file
View File

@@ -0,0 +1,39 @@
## 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,
head over to the translation bundle folder and check the [list of bundles](https://github.com/Anuken/Mindustry/tree/master/core/assets/bundles) that have already been created.
You're looking for a file called "`bundle_`(insert locale code here)`.properties`". If you don't find one, create one manually (more info below).
#### Editing an existing translation
If a translation bundle already exists, that means someone has already started working on a translation. To edit it or translate text, simply click the file and press the edit (pencil) button in the top right. Once you're done editing, press the green "propose file change" button at the bottom, then "create pull request" (twice).
Once this is done, all you need to do is wait for me to approve your changes.
#### Creating a new translation bundle
If a translation bundle for your language *doesn't* exist, you need to create one yourself.
In the folder with all the bundles in it, click the *'create new file'* button, and name it `bundle_(locale code here).properties`.
Then, copy-paste the entire contents of the [English translation bundle](https://raw.githubusercontent.com/Anuken/Mindustry/master/core/assets/bundles/bundle.properties) into the file, and translate all the necessary text to your language.
Once you are done, press the *propose new file* button at the bottom, then 'create pull request' twice.
#### Useful Information
- When you see text surrounded by square brackets, such as `[RED]`, `[]` or `[accent]`, this indicates a color code. Don't translate it.
- `{0}` means an argument that will be replaced when the text is displayed. For example, `Wave: {0}` will replace the `{0}` with whatever wave you are in.
- Empty lines are fine, and it doesn't matter in what order you place the text.
- `\n` means "new line". If you want to split text into multiple lines, use `\n` to do it.
#### Testing your translation bundle
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.
**And that's it.**
*(...of course, that's never really it. Bother me on Discord when something inevitably goes wrong.)*

View File

@@ -9,22 +9,58 @@
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<application <application
android:allowBackup="true" android:resizeableActivity="false"
android:icon="@mipmap/ic_launcher" android:allowBackup="true"
android:roundIcon="@mipmap/ic_launcher_round" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/GdxTheme" > android:isGame="true"
android:appCategory="game"
android:label="@string/app_name"
android:theme="@style/GdxTheme" android:fullBackupContent="@xml/backup_rules">
<activity <activity
android:name="io.anuke.mindustry.AndroidLauncher" android:name="io.anuke.mindustry.AndroidLauncher"
android:label="@string/app_name" android:label="@string/app_name"
android:screenOrientation="sensorLandscape" android:screenOrientation="user"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"> android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
<intent-filter>
<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: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> </activity>
<activity android:name=".DonationsActivity" <activity android:name=".DonationsActivity"
android:theme="@style/GdxTheme" /> android:theme="@style/GdxTheme" />

View File

@@ -1,3 +1,20 @@
buildscript {
repositories {
mavenLocal()
mavenCentral()
google()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}
}
apply plugin: "com.android.application"
configurations { natives }
repositories { repositories {
mavenCentral() mavenCentral()
@@ -8,21 +25,38 @@ repositories {
} }
dependencies { dependencies {
implementation 'com.android.support:support-v4:22.1.1' implementation project(":core")
implementation project(":kryonet")
implementation 'com.android.support:support-v4:28.0.0'
implementation 'org.sufficientlysecure:donations:2.5' implementation 'org.sufficientlysecure:donations:2.5'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion"
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"
implementation "com.badlogicgames.gdx:gdx-freetype:$gdxVersion"
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.badlogicgames.gdx:gdx-controllers-android:$gdxVersion"
} }
task deploy(type: Copy){ task deploy(type: Copy){
dependsOn "assembleRelease" dependsOn "assembleRelease"
from "build/outputs/apk/google/release/android-google-release.apk" from "build/outputs/apk/google/release/android-google-release.apk"
into "../deploy/"; into "../deploy/"
rename ("android-google-release.apk", appName + "-android-" + getVersionString() + ".apk"); rename ("android-google-release.apk", appName + "-android-" + getVersionString() + ".apk")
} }
android { android {
buildToolsVersion '26.0.2' buildToolsVersion '28.0.3'
compileSdkVersion 26 compileSdkVersion 28
sourceSets { sourceSets {
main { main {
manifest.srcFile 'AndroidManifest.xml' manifest.srcFile 'AndroidManifest.xml'
@@ -34,7 +68,7 @@ android {
jniLibs.srcDirs = ['libs'] jniLibs.srcDirs = ['libs']
} }
instrumentTest.setRoot('tests') androidTest.setRoot('tests')
} }
packagingOptions { packagingOptions {
exclude 'META-INF/robovm/ios/robovm.xml' exclude 'META-INF/robovm/ios/robovm.xml'
@@ -42,18 +76,26 @@ android {
defaultConfig { defaultConfig {
def vfile = file('../core/assets/version.properties') def vfile = file('../core/assets/version.properties')
def props = new Properties()
props.load(new FileInputStream(vfile))
def code = props['androidBuildCode'].toInteger() + 1 def code = 0
props['androidBuildCode'] = code.toString() def versionNameResult = "unknown"
props.store(vfile.newWriter(), "Autogenerated file. Do not modify.")
if(vfile.exists()){
def props = new Properties()
props.load(new FileInputStream(vfile))
code = (props['androidBuildCode'] == null ? 0 : props['androidBuildCode']).toInteger() + 1
props['androidBuildCode'] = code.toString()
props.store(vfile.newWriter(), "Autogenerated file. Do not modify.")
versionNameResult = "$versionNumber-$versionType-${props['build'].replace(" ", "-")}"
}
applicationId "io.anuke.mindustry" applicationId "io.anuke.mindustry"
minSdkVersion 9 minSdkVersion 14
targetSdkVersion 26 targetSdkVersion 27
versionCode code versionCode code
versionName "$versionNumber-$versionType-${props['build'].replace(" ", "-")}" versionName versionNameResult
} }
compileOptions { compileOptions {
@@ -77,7 +119,7 @@ android {
keyAlias RELEASE_KEY_ALIAS keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD keyPassword RELEASE_KEY_PASSWORD
}else{ }else{
println("No keystore info property found!"); println("No keystore info property found!")
} }
} }
} }
@@ -92,11 +134,11 @@ android {
// the natives configuration, and extracts them to the proper libs/ folders // the natives configuration, and extracts them to the proper libs/ folders
// so they get packed with the APK. // so they get packed with the APK.
task copyAndroidNatives() { task copyAndroidNatives() {
file("libs/armeabi/").mkdirs(); file("libs/armeabi/").mkdirs()
file("libs/armeabi-v7a/").mkdirs(); file("libs/armeabi-v7a/").mkdirs()
file("libs/arm64-v8a/").mkdirs(); file("libs/arm64-v8a/").mkdirs()
file("libs/x86_64/").mkdirs(); file("libs/x86_64/").mkdirs()
file("libs/x86/").mkdirs(); file("libs/x86/").mkdirs()
configurations.natives.files.each { jar -> configurations.natives.files.each { jar ->
def outputDir = null def outputDir = null
@@ -114,6 +156,7 @@ task copyAndroidNatives() {
} }
} }
} }
task run(type: Exec) { task run(type: Exec) {
def path def path
def localProperties = project.file("../local.properties") def localProperties = project.file("../local.properties")
@@ -135,47 +178,18 @@ task run(type: Exec) {
def adb = path + "/platform-tools/adb" def adb = path + "/platform-tools/adb"
commandLine "$adb", 'shell', 'am', 'start', '-n', 'io.anuke.mindustry/io.anuke.mindustry.AndroidLauncher' commandLine "$adb", 'shell', 'am', 'start', '-n', 'io.anuke.mindustry/io.anuke.mindustry.AndroidLauncher'
} }
// sets up the Android Eclipse project, using the old Ant based build.
eclipse {
// need to specify Java source sets explicitly, SpringSource Gradle Eclipse plugin
// ignores any nodes added in classpath.file.withXml
sourceSets {
main {
java.srcDirs "src", 'gen'
}
}
jdt {
sourceCompatibility = 1.7
targetCompatibility = 1.7
}
classpath {
plusConfigurations += [project.configurations.compile]
containers 'com.android.ide.eclipse.adt.ANDROID_FRAMEWORK', 'com.android.ide.eclipse.adt.LIBRARIES'
}
project {
name = appName + "-android"
natures 'com.android.ide.eclipse.adt.AndroidNature'
buildCommands.clear();
buildCommand "com.android.ide.eclipse.adt.ResourceManagerBuilder"
buildCommand "com.android.ide.eclipse.adt.PreCompilerBuilder"
buildCommand "org.eclipse.jdt.core.javabuilder"
buildCommand "com.android.ide.eclipse.adt.ApkBuilder"
}
}
// sets up the Android Idea project, using the old Ant based build. // sets up the Android Idea project, using the old Ant based build.
idea { idea {
module { module {
sourceDirs += file("src"); sourceDirs += file("src")
scopes = [COMPILE: [plus: [project.configurations.compile]]] scopes = [COMPILE: [plus: [project.configurations.compile]]]
iml { iml {
withXml { withXml {
def node = it.asNode() def node = it.asNode()
def builder = NodeBuilder.newInstance(); def builder = NodeBuilder.newInstance()
builder.current = node; builder.current = node
builder.component(name: "FacetManager") { builder.component(name: "FacetManager") {
facet(type: "android", name: "Android") { facet(type: "android", name: "Android") {
configuration { configuration {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="10dp" >
<EditText
android:id="@+id/gdxDialogsEditTextInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:maxLines="1"
android:maxLength="15"
>
<requestFocus />
</EditText>
</LinearLayout>

View File

@@ -6,34 +6,12 @@
android:orientation="vertical" android:orientation="vertical"
android:padding="10dp" > android:padding="10dp" >
<TextView
android:id="@+id/gdxDialogsEnterTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
<TextView
android:id="@+id/gdxDialogsEnterMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
/>
<EditText <EditText
android:id="@+id/gdxDialogsEditTextInput" android:id="@+id/gdxDialogsEditTextInput"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:inputType="text" android:inputType="text"
android:maxLines="1" android:maxLines="1"
android:maxLength="15"
> >
<requestFocus /> <requestFocus />

View File

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

View File

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

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<style name="GdxTheme" parent="android:Theme.Material.NoActionBar"> <style name="GdxTheme" parent="android:Theme.Material.NoActionBar">
<item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item> <item name="android:colorBackgroundCacheHint">@null</item>
@@ -9,11 +8,4 @@
<item name="android:windowContentOverlay">@null</item> <item name="android:windowContentOverlay">@null</item>
<item name="android:windowFullscreen">true</item> <item name="android:windowFullscreen">true</item>
</style> </style>
<style name="LightBackground" parent="android:Theme.Material.Light" >
<item name="android:colorBackground">@android:color/black</item>
<item name="android:textColorPrimary">@android:color/white</item>
<item name="android:textColorSecondary">@android:color/white</item>
<item name="android:textColorSecondaryInverse">@android:color/white</item>
</style>
</resources> </resources>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<full-backup-content>
</full-backup-content>

View File

@@ -3,164 +3,217 @@ package io.anuke.mindustry;
import android.Manifest; import android.Manifest;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.provider.Settings.Secure; import android.provider.Settings.Secure;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import com.badlogic.gdx.backends.android.AndroidApplication; import android.util.Log;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration; import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.utils.Base64Coder; import com.badlogic.gdx.utils.Base64Coder;
import io.anuke.kryonet.DefaultThreadImpl; import com.google.android.gms.common.GoogleApiAvailability;
import com.google.android.gms.common.GooglePlayServicesNotAvailableException;
import com.google.android.gms.common.GooglePlayServicesRepairableException;
import com.google.android.gms.security.ProviderInstaller;
import io.anuke.kryonet.KryoClient; import io.anuke.kryonet.KryoClient;
import io.anuke.kryonet.KryoServer; import io.anuke.kryonet.KryoServer;
import io.anuke.mindustry.core.ThreadHandler.ThreadProvider; import io.anuke.mindustry.core.Platform;
import io.anuke.mindustry.io.Platform; import io.anuke.mindustry.game.Saves.SaveSlot;
import io.anuke.mindustry.io.SaveIO;
import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.Net;
import io.anuke.ucore.core.Settings; import io.anuke.mindustry.ui.dialogs.FileChooser;
import io.anuke.ucore.function.Consumer;
import io.anuke.ucore.scene.ui.TextField; import io.anuke.ucore.scene.ui.TextField;
import io.anuke.ucore.scene.ui.layout.Unit; import io.anuke.ucore.scene.ui.layout.Unit;
import io.anuke.ucore.util.Bundles;
import io.anuke.ucore.util.Strings;
import java.text.DateFormat; import java.io.File;
import java.text.NumberFormat; import java.io.FileInputStream;
import java.text.SimpleDateFormat; import java.io.IOException;
import java.util.Date; import java.io.InputStream;
import java.util.Locale; import java.util.ArrayList;
import java.util.Random;
public class AndroidLauncher extends AndroidApplication{ import static io.anuke.mindustry.Vars.*;
boolean doubleScaleTablets = true;
int WRITE_REQUEST_CODE = 1;
@Override public class AndroidLauncher extends PatchedAndroidApplication{
protected void onCreate(Bundle savedInstanceState){ public static final int PERMISSION_REQUEST_CODE = 1;
super.onCreate(savedInstanceState); boolean doubleScaleTablets = true;
FileChooser chooser;
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration(); @Override
config.useImmersiveMode = true; protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
config.useImmersiveMode = true;
Platform.instance = new Platform(){
Platform.instance = new Platform(){ @Override
DateFormat format = SimpleDateFormat.getDateTimeInstance(); public void addDialog(TextField field, int length){
TextFieldDialogListener.add(field, 0, length);
}
@Override @Override
public boolean hasDiscord() { public void openDonations(){
return isPackageInstalled("com.discord"); showDonations();
} }
@Override @Override
public String format(Date date){ public String getUUID(){
return format.format(date); try{
} String s = Secure.getString(getContext().getContentResolver(), Secure.ANDROID_ID);
int len = s.length();
@Override byte[] data = new byte[len / 2];
public String format(int number){ for(int i = 0; i < len; i += 2){
return NumberFormat.getIntegerInstance().format(number); data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
} + Character.digit(s.charAt(i + 1), 16));
@Override
public void addDialog(TextField field, int length){
TextFieldDialogListener.add(field, 0, length);
}
@Override
public String getLocaleName(Locale locale){
return locale.getDisplayName(locale);
}
@Override
public void openDonations() {
showDonations();
}
@Override
public void requestWritePerms() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED &&
checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE}, WRITE_REQUEST_CODE);
}else{
if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, WRITE_REQUEST_CODE);
}
if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, WRITE_REQUEST_CODE);
}
}
}
}
@Override
public ThreadProvider getThreadProvider() {
return new DefaultThreadImpl();
}
@Override
public boolean isDebug() {
return false;
}
@Override
public byte[] 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));
}
return data;
}catch (Exception e){
Settings.defaults("uuid", "");
String uuid = Settings.getString("uuid");
if(uuid.isEmpty()){
byte[] result = new byte[8];
new Random().nextBytes(result);
uuid = new String(Base64Coder.encode(result));
Settings.putString("uuid", uuid);
Settings.save();
return result;
} }
return Base64Coder.decode(uuid); String result = new String(Base64Coder.encode(data));
} if(result.equals("AAAAAAAAAOA=")) throw new RuntimeException("Bad UUID.");
} return result;
}; }catch(Exception e){
return super.getUUID();
}
}
if(doubleScaleTablets && isTablet(this.getContext())){ @Override
Unit.dp.addition = 0.5f; public void shareFile(FileHandle file){
} }
config.hideStatusBar = true; @Override
public void showFileChooser(String text, String content, Consumer<FileHandle> cons, boolean open, String filetype){
chooser = new FileChooser(text, file -> file.extension().equalsIgnoreCase(filetype), 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[perms.size()]), PERMISSION_REQUEST_CODE);
}
}
@Override
public void beginForceLandscape(){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
@Override
public void endForceLandscape(){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}
@Override
public boolean canDonate(){
return true;
}
};
try{
ProviderInstaller.installIfNeeded(this);
}catch(GooglePlayServicesRepairableException e){
GoogleApiAvailability apiAvailability = GoogleApiAvailability.getInstance();
apiAvailability.getErrorDialog(this, e.getConnectionStatusCode(), 0).show();
}catch(GooglePlayServicesNotAvailableException e){
Log.e("SecurityException", "Google Play Services not available.");
}
if(doubleScaleTablets && isTablet(this.getContext())){
Unit.dp.addition = 0.5f;
}
config.hideStatusBar = true;
Net.setClientProvider(new KryoClient()); Net.setClientProvider(new KryoClient());
Net.setServerProvider(new KryoServer()); Net.setServerProvider(new KryoServer());
initialize(new Mindustry(), config); initialize(new Mindustry(), config);
} checkFiles(getIntent());
}
private boolean isPackageInstalled(String packagename) { @Override
try { public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults){
getPackageManager().getPackageInfo(packagename, 0); if(requestCode == PERMISSION_REQUEST_CODE){
return true; for(int i : grantResults){
} catch (Exception e) { if(i != PackageManager.PERMISSION_GRANTED) return;
return false; }
} if(chooser != null){
} chooser.show();
}
}
}
private boolean isTablet(Context context) { private void checkFiles(Intent intent){
TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE); try{
return manager.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE; 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);
Gdx.app.postRunnable(() -> {
if(save){ //open save
System.out.println("Opening save.");
FileHandle file = Gdx.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(Bundles.format("text.save.import.fail", Strings.parseException(e, false)));
}
}else{
ui.showError("$text.save.import.invalid");
}
}else if(map){ //open map
Gdx.app.postRunnable(() -> {
System.out.println("Opening map.");
if(!ui.editor.isShown()){
ui.editor.show();
}
ui.editor.beginEditMap(inStream);
});
}
});
}
}catch(IOException e){
e.printStackTrace();
}
}
private void showDonations(){ private boolean isPackageInstalled(String packagename){
Intent intent = new Intent(this, DonationsActivity.class); try{
startActivity(intent); getPackageManager().getPackageInfo(packagename, 0);
} return true;
}catch(Exception e){
return false;
}
}
private boolean isTablet(Context context){
TelephonyManager manager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
return manager.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE;
}
private void showDonations(){
Intent intent = new Intent(this, DonationsActivity.class);
startActivity(intent);
}
} }

View File

@@ -11,21 +11,20 @@ import android.widget.EditText;
import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Gdx;
public class AndroidTextFieldDialog{ public class AndroidTextFieldDialog{
private Activity activity; private Activity activity;
private EditText userInput; private EditText userInput;
private AlertDialog.Builder builder; private AlertDialog.Builder builder;
private TextPromptListener listener; private TextPromptListener listener;
private boolean isBuild; private boolean isBuild;
public AndroidTextFieldDialog() { public AndroidTextFieldDialog(){
this.activity = (Activity)Gdx.app; this.activity = (Activity) Gdx.app;
load(); load();
} }
public AndroidTextFieldDialog show() { public AndroidTextFieldDialog show(){
activity.runOnUiThread(() -> { activity.runOnUiThread(() -> {
Gdx.app.error("Android Dialogs", AndroidTextFieldDialog.class.getSimpleName() + " now shown.");
AlertDialog dialog = builder.create(); AlertDialog dialog = builder.create();
dialog.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE); dialog.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);
@@ -34,12 +33,12 @@ public class AndroidTextFieldDialog{
}); });
return this; return this;
} }
private AndroidTextFieldDialog load() { private AndroidTextFieldDialog load(){
activity.runOnUiThread(() -> { activity.runOnUiThread(() -> {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(activity); AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(activity);
LayoutInflater li = LayoutInflater.from(activity); LayoutInflater li = LayoutInflater.from(activity);
@@ -48,7 +47,7 @@ public class AndroidTextFieldDialog{
alertDialogBuilder.setView(promptsView); alertDialogBuilder.setView(promptsView);
userInput = (EditText) promptsView.findViewById(getResourceId("gdxDialogsEditTextInput", "id")); userInput = promptsView.findViewById(getResourceId("gdxDialogsEditTextInput", "id"));
alertDialogBuilder.setCancelable(false); alertDialogBuilder.setCancelable(false);
builder = alertDialogBuilder; builder = alertDialogBuilder;
@@ -56,64 +55,65 @@ public class AndroidTextFieldDialog{
isBuild = true; isBuild = true;
}); });
// Wait till TextPrompt is built. // Wait till TextPrompt is built.
while (!isBuild) { while(!isBuild){
try { try{
Thread.sleep(10); Thread.sleep(10);
} catch (InterruptedException e) { } }catch(InterruptedException ignored){
} }
}
return this; return this;
} }
public int getResourceId(String pVariableName, String pVariableType) { public int getResourceId(String pVariableName, String pVariableType){
try { try{
return activity.getResources().getIdentifier(pVariableName, pVariableType, activity.getPackageName()); return activity.getResources().getIdentifier(pVariableName, pVariableType, activity.getPackageName());
} catch (Exception e) { }catch(Exception e){
Gdx.app.error("Android Dialogs", "Cannot find resouce with name: " + pVariableName Gdx.app.error("Android Dialogs", "Cannot find resouce with name: " + pVariableName
+ " Did you copy the layouts to /res/layouts and /res/layouts_v14 ?"); + " Did you copy the layouts to /res/layouts and /res/layouts_v14 ?");
e.printStackTrace(); e.printStackTrace();
return -1; return -1;
} }
} }
public AndroidTextFieldDialog setText(CharSequence value) { public AndroidTextFieldDialog setText(CharSequence value){
userInput.append(value); userInput.append(value);
return this; return this;
} }
public AndroidTextFieldDialog setCancelButtonLabel(CharSequence label) { public AndroidTextFieldDialog setCancelButtonLabel(CharSequence label){
builder.setNegativeButton(label, (dialog, id) -> dialog.cancel()); builder.setNegativeButton(label, (dialog, id) -> dialog.cancel());
return this; return this;
} }
public AndroidTextFieldDialog setConfirmButtonLabel(CharSequence label) { public AndroidTextFieldDialog setConfirmButtonLabel(CharSequence label){
builder.setPositiveButton(label, (dialog, id) -> { builder.setPositiveButton(label, (dialog, id) -> {
if (listener != null && !userInput.getText().toString().isEmpty()) { if(listener != null && !userInput.getText().toString().isEmpty()){
listener.confirm(userInput.getText().toString()); listener.confirm(userInput.getText().toString());
} }
}); });
return this; return this;
} }
public AndroidTextFieldDialog setTextPromptListener(TextPromptListener listener) { public AndroidTextFieldDialog setTextPromptListener(TextPromptListener listener){
this.listener = listener; this.listener = listener;
return this; return this;
} }
public AndroidTextFieldDialog setInputType(int type) { public AndroidTextFieldDialog setInputType(int type){
userInput.setInputType(type); userInput.setInputType(type);
return this; return this;
} }
public AndroidTextFieldDialog setMaxLength(int length) { public AndroidTextFieldDialog setMaxLength(int length){
userInput.setFilters(new InputFilter[] { new InputFilter.LengthFilter(length) }); userInput.setFilters(new InputFilter[]{new InputFilter.LengthFilter(length)});
return this; return this;
} }
public interface TextPromptListener{ public interface TextPromptListener{
void confirm(String text); void confirm(String text);
} }
} }

View File

@@ -8,12 +8,9 @@ import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction; import android.support.v4.app.FragmentTransaction;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
import org.sufficientlysecure.donations.DonationsFragment; import org.sufficientlysecure.donations.DonationsFragment;
public class DonationsActivity extends FragmentActivity { public class DonationsActivity extends FragmentActivity{
DonationsFragment donationsFragment;
/** /**
* Google * Google
*/ */
@@ -21,13 +18,14 @@ public class DonationsActivity extends FragmentActivity {
private static final String[] GOOGLE_CATALOG = new String[]{ private static final String[] GOOGLE_CATALOG = new String[]{
"mindustry.donation.1", "mindustry.donation.2", "mindustry.donation.5", "mindustry.donation.1", "mindustry.donation.2", "mindustry.donation.5",
"mindustry.donation.10", "mindustry.donation.15", "mindustry.donation.10", "mindustry.donation.15",
"mindustry.donation.25", "mindustry.donation.50" }; "mindustry.donation.25", "mindustry.donation.50"};
DonationsFragment donationsFragment;
/** /**
* Called when the activity is first created. * Called when the activity is first created.
*/ */
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setTheme(R.style.GdxTheme); setTheme(R.style.GdxTheme);
@@ -35,7 +33,7 @@ public class DonationsActivity extends FragmentActivity {
setContentView(R.layout.donations_activity); setContentView(R.layout.donations_activity);
FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
if (BuildConfig.DONATIONS_GOOGLE) { if(BuildConfig.DONATIONS_GOOGLE){
donationsFragment = DonationsFragment.newInstance(BuildConfig.DEBUG, true, GOOGLE_PUBKEY, GOOGLE_CATALOG, donationsFragment = DonationsFragment.newInstance(BuildConfig.DEBUG, true, GOOGLE_PUBKEY, GOOGLE_CATALOG,
getResources().getStringArray(R.array.donation_google_catalog_values), false, null, null, getResources().getStringArray(R.array.donation_google_catalog_values), false, null, null,
null, false, null, null, false, null); null, false, null, null, false, null);
@@ -48,30 +46,27 @@ public class DonationsActivity extends FragmentActivity {
public void onStart(){ public void onStart(){
super.onStart(); super.onStart();
Button b = ((Button)findViewById(org.sufficientlysecure.donations.R.id.donations__google_android_market_donate_button)); Button b = findViewById(org.sufficientlysecure.donations.R.id.donations__google_android_market_donate_button);
b.setOnClickListener(new View.OnClickListener() { b.setOnClickListener(view -> {
@Override public void onClick(View view) { donationsFragment.donateGoogleOnClick(donationsFragment.getView());
donationsFragment.donateGoogleOnClick(donationsFragment.getView()); b.setEnabled(false);
b.setEnabled(false);
}
}); });
} }
/** /**
* Needed for Google Play In-app Billing. It uses startIntentSenderForResult(). The result is not propagated to * Needed for Google Play In-app Billing. It uses startIntentSenderForResult(). The result is not propagated to
* the Fragment like in startActivityForResult(). Thus we need to propagate manually to our Fragment. * the Fragment like in startActivityForResult(). Thus we need to propagate manually to our Fragment.
*/ */
@Override @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) { protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data);
Button b = ((Button)findViewById(org.sufficientlysecure.donations.R.id.donations__google_android_market_donate_button)); Button b = findViewById(org.sufficientlysecure.donations.R.id.donations__google_android_market_donate_button);
b.setEnabled(true); b.setEnabled(true);
FragmentManager fragmentManager = getSupportFragmentManager(); FragmentManager fragmentManager = getSupportFragmentManager();
Fragment fragment = fragmentManager.findFragmentByTag("donationsFragment"); Fragment fragment = fragmentManager.findFragmentByTag("donationsFragment");
if (fragment != null) { if(fragment != null){
fragment.onActivityResult(requestCode, resultCode, data); fragment.onActivityResult(requestCode, resultCode, data);
//TODO donation event, set settings? //TODO donation event, set settings?
} }

View File

@@ -0,0 +1,20 @@
package io.anuke.mindustry;
import com.badlogic.gdx.backends.android.AndroidApplication;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class PatchedAndroidApplication extends AndroidApplication {
private final ExecutorService exec = Executors.newSingleThreadExecutor();
@Override
protected void onPause () {
if(useImmersiveMode) {
exec.submit(() -> {
try {Thread.sleep(100);} catch (InterruptedException ignored) {}
graphics.onDrawFrame(null);
});
}
super.onPause();
}
}

View File

@@ -11,57 +11,58 @@ import io.anuke.ucore.scene.event.InputListener;
import io.anuke.ucore.scene.ui.TextField; import io.anuke.ucore.scene.ui.TextField;
public class TextFieldDialogListener extends ClickListener{ public class TextFieldDialogListener extends ClickListener{
private TextField field; private TextField field;
private int type; private int type;
private int max; private int max;
public static void add(TextField field, int type, int max){ //type - 0 is text, 1 is numbers, 2 is decimals
field.addListener(new TextFieldDialogListener(field, type, max)); public TextFieldDialogListener(TextField field, int type, int max){
field.addListener(new InputListener(){ this.field = field;
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) { this.type = type;
Gdx.input.setOnscreenKeyboardVisible(false); this.max = max;
return false; }
}
});
}
public static void add(TextField field){ public static void add(TextField field, int type, int max){
add(field, 0, 15); field.addListener(new TextFieldDialogListener(field, type, max));
} field.addListener(new InputListener(){
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button){
//type - 0 is text, 1 is numbers, 2 is decimals Gdx.input.setOnscreenKeyboardVisible(false);
public TextFieldDialogListener(TextField field, int type, int max){ return false;
this.field = field; }
this.type = type;
this.max = max;
}
public void clicked(final InputEvent event, float x, float y){
if(Gdx.app.getType() == ApplicationType.Desktop) return;
AndroidTextFieldDialog dialog = new AndroidTextFieldDialog();
dialog.setTextPromptListener(text -> {
field.clearText();
field.appendText(text);
field.fire(new ChangeListener.ChangeEvent());
Gdx.graphics.requestRendering();
}); });
}
if(type == 0){ public static void add(TextField field){
dialog.setInputType(InputType.TYPE_CLASS_TEXT); add(field, 0, 16);
}else if(type == 1){ }
dialog.setInputType(InputType.TYPE_CLASS_NUMBER);
}else if(type == 2){
dialog.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
}
dialog.setConfirmButtonLabel("OK").setText(field.getText()); public void clicked(final InputEvent event, float x, float y){
dialog.setCancelButtonLabel("Cancel");
dialog.setMaxLength(max);
dialog.show();
event.cancel();
} if(Gdx.app.getType() == ApplicationType.Desktop) return;
AndroidTextFieldDialog dialog = new AndroidTextFieldDialog();
dialog.setTextPromptListener(text ->
Gdx.app.postRunnable(() -> {
field.clearText();
field.appendText(text);
field.fire(new ChangeListener.ChangeEvent());
Gdx.graphics.requestRendering();
}));
if(type == 0){
dialog.setInputType(InputType.TYPE_CLASS_TEXT);
}else if(type == 1){
dialog.setInputType(InputType.TYPE_CLASS_NUMBER);
}else if(type == 2){
dialog.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
}
dialog.setConfirmButtonLabel("OK").setText(field.getText());
dialog.setCancelButtonLabel("Cancel");
dialog.setMaxLength(max);
dialog.show();
event.cancel();
}
} }

6
annotations/build.gradle Normal file
View File

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

View File

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

View File

@@ -0,0 +1,17 @@
package io.anuke.annotations;
import io.anuke.annotations.MethodEntry;
import java.util.ArrayList;
/** Represents a class witha list method entries to include in it. */
public class ClassEntry{
/** All methods in this generated class. */
public final ArrayList<MethodEntry> methods = new ArrayList<>();
/** Simple class name. */
public final String name;
public ClassEntry(String name){
this.name = name;
}
}

View File

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

View File

@@ -0,0 +1,53 @@
package io.anuke.annotations;
import io.anuke.annotations.Annotations.Loc;
import io.anuke.annotations.Annotations.PacketPriority;
import io.anuke.annotations.Annotations.Variant;
import javax.lang.model.element.ExecutableElement;
/** Class that repesents a remote method to be constructed and put into a class. */
public class MethodEntry{
/** Simple target class name. */
public final String className;
/** Fully qualified target method to call. */
public final String targetMethod;
/** Whether this method can be called on a client/server. */
public final Loc where;
/**
* Whether an additional 'one' and 'all' method variant is generated. At least one of these must be true.
* Only applicable to client (server-invoked) methods.
*/
public final Variant target;
/** Whether this method is called locally as well as remotely. */
public final Loc local;
/** Whether this method is unreliable and uses UDP. */
public final boolean unreliable;
/** Whether to forward this method call to all other clients when a client invokes it. Server only. */
public final boolean forward;
/** Unique method ID. */
public final int id;
/** The element method associated with this entry. */
public final ExecutableElement element;
/** The assigned packet priority. Only used in clients. */
public final PacketPriority priority;
public MethodEntry(String className, String targetMethod, Loc where, Variant target,
Loc local, boolean unreliable, boolean forward, int id, ExecutableElement element, PacketPriority priority){
this.className = className;
this.forward = forward;
this.targetMethod = targetMethod;
this.where = where;
this.target = target;
this.local = local;
this.id = id;
this.element = element;
this.unreliable = unreliable;
this.priority = priority;
}
@Override
public int hashCode(){
return targetMethod.hashCode();
}
}

View File

@@ -0,0 +1,158 @@
package io.anuke.annotations;
import com.squareup.javapoet.FieldSpec;
import com.squareup.javapoet.JavaFile;
import com.squareup.javapoet.TypeSpec;
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.Element;
import javax.lang.model.element.ExecutableElement;
import javax.lang.model.element.Modifier;
import javax.lang.model.element.TypeElement;
import javax.tools.Diagnostic.Kind;
import 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;
/** 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);
Utils.messager.printMessage(Kind.NOTE, "Generating class '" + clas.name + "'.");
}
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.addField(FieldSpec.builder(int.class, "HASH", Modifier.STATIC, Modifier.PUBLIC, Modifier.FINAL)
.initializer("$1L", Objects.hash(methods)).build());
//build and write resulting hash class
TypeSpec spec = hashBuilder.build();
JavaFile.builder(packageName, spec).build().writeTo(Utils.filer);
return true;
}
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
return false;
}
}

View File

@@ -0,0 +1,148 @@
package io.anuke.annotations;
import com.squareup.javapoet.*;
import io.anuke.annotations.IOFinder.ClassSerializer;
import io.anuke.annotations.MethodEntry;
import io.anuke.annotations.Utils;
import javax.lang.model.element.Modifier;
import javax.lang.model.element.TypeElement;
import javax.lang.model.element.VariableElement;
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);
//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.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);
}
}

View File

@@ -0,0 +1,226 @@
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.ExecutableElement;
import javax.lang.model.element.Modifier;
import javax.lang.model.element.TypeElement;
import javax.lang.model.element.VariableElement;
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);
//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.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.players[0]");
}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.ucore.util.Pooling");
//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";
}
}

View File

@@ -0,0 +1,110 @@
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.Modifier;
import javax.lang.model.element.TypeElement;
import javax.lang.model.element.VariableElement;
import javax.lang.model.util.ElementFilter;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
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);
MethodSpec.Builder method = MethodSpec.methodBuilder("init").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
for(TypeElement elem : elements){
TypeName type = TypeName.get(elem.asType());
TypeSpec.Builder serializer = TypeSpec.anonymousClassBuilder("")
.addSuperinterface(ParameterizedTypeName.get(
ClassName.bestGuess("io.anuke.ucore.io.TypeSerializer"), type));
MethodSpec.Builder writeMethod = MethodSpec.methodBuilder("write")
.returns(void.class)
.addParameter(DataOutput.class, "stream")
.addParameter(type, "object")
.addAnnotation(Override.class)
.addException(IOException.class)
.addModifiers(Modifier.PUBLIC);
MethodSpec.Builder readMethod = MethodSpec.methodBuilder("read")
.returns(type)
.addParameter(DataInput.class, "stream")
.addAnnotation(Override.class)
.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.ucore.core.Settings.getSerializer(" + typeName+ ".class).write(stream, object." + name + ")");
readMethod.addStatement("object." + name + " = (" +typeName+")io.anuke.ucore.core.Settings.getSerializer(" + typeName+ ".class).read(stream)");
}
}
readMethod.addStatement("return object");
serializer.addMethod(writeMethod.build());
serializer.addMethod(readMethod.build());
method.addStatement("io.anuke.ucore.core.Settings.setSerializer($N, $L)", Utils.elementUtils.getBinaryName(elem).toString().replace('$', '.') + ".class", serializer.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);
}
}
}

View File

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

View File

@@ -0,0 +1,2 @@
io.anuke.annotations.RemoteMethodAnnotationProcessor
io.anuke.annotations.SerializeAnnotationProcessor

View File

@@ -7,8 +7,7 @@ buildscript {
jcenter() jcenter()
} }
dependencies { dependencies {
classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6' classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.0'
classpath 'com.android.tools.build:gradle:3.0.1'
classpath "com.badlogicgames.gdx:gdx-tools:1.9.8" classpath "com.badlogicgames.gdx:gdx-tools:1.9.8"
} }
} }
@@ -20,16 +19,17 @@ allprojects {
version = 'release' version = 'release'
ext { ext {
versionNumber = '3.5' versionNumber = '4.0'
versionType = 'release' versionModifier = 'alpha'
versionType = 'official'
appName = 'Mindustry' appName = 'Mindustry'
gdxVersion = '1.9.8' gdxVersion = '1.9.8'
aiVersion = '1.8.1' roboVMVersion = '2.3.0'
uCoreVersion = 'c5d47cc' uCoreVersion = 'eb1503dfb786f5f727bdb4b6a302718490444335'
getVersionString = { getVersionString = {
String buildVersion = getBuildVersion() String buildVersion = getBuildVersion()
return "$versionNumber-$versionType-$buildVersion" return "$versionNumber-$versionModifier-$buildVersion"
} }
getBuildVersion = { getBuildVersion = {
@@ -40,6 +40,39 @@ allprojects {
getPackage = { getPackage = {
return project.ext.mainClassName.substring(0, project.ext.mainClassName.indexOf("desktop") - 1) return project.ext.mainClassName.substring(0, project.ext.mainClassName.indexOf("desktop") - 1)
} }
generateLocales = {
def output = 'en\n'
def bundles = new File(project(':core').projectDir, 'assets/bundles/')
bundles.listFiles().each { other ->
if(other.name == "bundle.properties") return
output += other.name.substring("bundle".length() + 1, other.name.lastIndexOf('.')) + "\n"
}
new File(project(':core').projectDir, 'assets/locales').text = output
}
writeVersion = {
def pfile = new File(project(':core').projectDir, 'assets/version.properties')
def props = new Properties()
try{
pfile.createNewFile()
}catch (Exception ignored){}
if(pfile.exists()) {
props.load(new FileInputStream(pfile))
String buildid = getBuildVersion()
props["type"] = versionType
props["number"] = versionNumber
props["modifier"] = versionModifier
props["build"] = buildid
props.store(pfile.newWriter(), "Autogenerated file. Do not modify.")
}
}
} }
repositories { repositories {
@@ -57,83 +90,93 @@ project(":desktop") {
dependencies { dependencies {
compile project(":core") compile project(":core")
compile project(":kryonet") compile project(":kryonet")
if(new File(projectDir.parent, '../debug').exists() && System.properties["release"] == null) compile project(":debug")
compile "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion" compile "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion"
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop" compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
compile "com.badlogicgames.gdx:gdx-controllers-lwjgl3:$gdxVersion" compile "com.badlogicgames.gdx:gdx-controllers-lwjgl3:$gdxVersion"
compile 'com.github.MinnDevelopment:java-discord-rpc:v1.3.2' compile "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-desktop"
compile 'com.github.MinnDevelopment:java-discord-rpc:v2.0.0'
} }
} }
project(":html") { project(":ios") {
apply plugin: "gwt" apply plugin: "java"
apply plugin: "war" apply plugin: "robovm"
task copyGen{
copy{
from ("core/build/classes/java/main/io/anuke/mindustry/gen/"){
include "**/*.java"
}
into "ios/src/io/anuke/mindustry/gen"
}
doFirst{
delete{
delete "ios/src/io/anuke/mindustry/gen/"
}
}
}
build.dependsOn(copyGen)
dependencies { dependencies {
compile project(":core") compile project(":core")
compile "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion"
compile "com.badlogicgames.gdx:gdx:$gdxVersion:sources"
compile "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion:sources"
compile "com.badlogicgames.gdx:gdx-ai:$aiVersion:sources"
compile "com.badlogicgames.gdx:gdx-controllers:$gdxVersion:sources"
compile "com.badlogicgames.gdx:gdx-controllers-gwt:$gdxVersion"
compile "com.badlogicgames.gdx:gdx-controllers-gwt:$gdxVersion:sources"
compile "com.sksamuel.gwt:gwt-websockets:1.0.4"
compile "com.sksamuel.gwt:gwt-websockets:1.0.4:sources"
}
}
project(":android") {
apply plugin: "android"
configurations { natives }
dependencies {
implementation project(":core")
implementation project(":kryonet") implementation project(":kryonet")
implementation "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi" compile "com.mobidevelop.robovm:robovm-rt:$roboVMVersion"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a" compile "com.mobidevelop.robovm:robovm-cocoatouch:$roboVMVersion"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-arm64-v8a" compile "com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86" compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86_64" compile "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-ios"
implementation "com.badlogicgames.gdx:gdx-ai:$aiVersion"
implementation "com.badlogicgames.gdx:gdx-controllers-android:$gdxVersion"
} }
} }
project(":core") { project(":core") {
apply plugin: "java" apply plugin: "java"
task finish {
generateLocales()
}
dependencies { dependencies {
boolean comp = System.properties["release"] == null || System.properties["release"].equals("false") build.finalizedBy(finish)
if(!comp){ def comp = System.properties["release"] == null || System.properties["release"] == "false"
println("NOTICE: Compiling release build.") if(!comp) println("Note: Compiling release build.")
}else{
println("Compiling DEBUG build.")
}
if(new File('../uCore').exists() && comp){ if(new File(projectDir.parent, '../uCore').exists() && comp){
compile project(":uCore") compile project(":uCore")
}else{ }else{
compile "com.github.anuken:ucore:$uCoreVersion" compile "com.github.anuken:ucore:$uCoreVersion"
} }
if(new File('../GDXGifRecorder').exists() && comp) { if(new File(projectDir.parent, '../GDXGifRecorder').exists() && comp) {
compile project(":GDXGifRecorder") compile project(":GDXGifRecorder")
} }
compile "com.badlogicgames.gdx:gdx:$gdxVersion" compile "com.badlogicgames.gdx:gdx:$gdxVersion"
compile "com.badlogicgames.gdx:gdx-ai:$aiVersion"
compile "com.badlogicgames.gdx:gdx-controllers:$gdxVersion" compile "com.badlogicgames.gdx:gdx-controllers:$gdxVersion"
compile "com.badlogicgames.gdx:gdx-freetype:$gdxVersion"
compileOnly project(":annotations")
annotationProcessor project(":annotations")
} }
} }
project(":server") { project(":server") {
apply plugin: "java" apply plugin: "java"
configurations {
if(findProject(":android") != null){
compile.exclude module: android
}
}
dependencies { dependencies {
compile project(":core") compile project(":core")
compile project(":kryonet") compile project(":kryonet")
compile "com.badlogicgames.gdx:gdx-backend-headless:$gdxVersion" compile "com.badlogicgames.gdx:gdx-backend-headless:$gdxVersion"
@@ -141,16 +184,46 @@ project(":server") {
} }
} }
project(":tests"){
apply plugin: "java"
dependencies {
testImplementation project(":core")
testImplementation('org.junit.jupiter:junit-jupiter-api:5.1.0')
testRuntimeOnly('org.junit.jupiter:junit-jupiter-engine:5.1.0')
testImplementation "com.badlogicgames.gdx:gdx-backend-headless:$gdxVersion"
testImplementation "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
}
test {
useJUnitPlatform()
workingDir = new File("../core/assets")
}
}
project(":tools") {
apply plugin: "java"
dependencies {
compile project(":core")
}
}
project(":annotations") {
apply plugin: "java"
dependencies {
compile 'com.squareup:javapoet:1.11.0'
}
}
project(":kryonet") { project(":kryonet") {
apply plugin: "java" apply plugin: "java"
dependencies { dependencies {
compile project(":core") compile project(":core")
compile 'com.github.crykn:kryonet:2.22.1' compile "org.lz4:lz4-java:1.4.1"
compile "org.java-websocket:Java-WebSocket:1.3.7" compile 'com.github.Anuken:kryonet:53b10247b1'
compile 'com.github.Anuken:WaifUPnP:05eb46bc577fd7674596946ba288c96c0cedd893'
} }
} }
tasks.eclipse.doLast {
delete ".project"
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 378 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 575 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 B

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