Compare commits

...

330 Commits
v55 ... v58

Author SHA1 Message Date
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
99418e6b88 Mass driver power fix 2018-10-10 23:51: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
468 changed files with 24472 additions and 22707 deletions

6
.gitignore vendored
View File

@@ -14,14 +14,16 @@
/core/assets-raw/sprites/generated/ /core/assets-raw/sprites/generated/
/annotations/build/ /annotations/build/
/kryonet/build/ /kryonet/build/
/packer/build/ /tools/build/
/tests/build/
/server/build/ /server/build/
/test_files/
/annotations/build/ /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.json /core/assets/locales
/ios/src/io/anuke/mindustry/gen/ /ios/src/io/anuke/mindustry/gen/
*.gif *.gif

View File

@@ -1,24 +1,28 @@
language: android language: android
jdk: jdk:
- openjdk8 - openjdk8
android: android:
components: components:
- android-27 - android-28
# Additional components
- extra-google-google_play_services - extra-google-google_play_services
- extra-google-m2repository - extra-google-m2repository
- extra-android-m2repository - extra-android-m2repository
- addon-google_apis-google-27 - addon-google_apis-google-28
- build-tools-27.0.3 - build-tools-28.0.3
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,7 +1,8 @@
![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)
\ [![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).
_[Trello Board](https://trello.com/b/aE2tcUwF/mindustry-40-plans)_ _[Trello Board](https://trello.com/b/aE2tcUwF/mindustry-40-plans)_

View File

@@ -31,13 +31,13 @@ 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 '27.0.3' buildToolsVersion '28.0.3'
compileSdkVersion 27 compileSdkVersion 28
sourceSets { sourceSets {
main { main {
manifest.srcFile 'AndroidManifest.xml' manifest.srcFile 'AndroidManifest.xml'
@@ -100,7 +100,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!")
} }
} }
} }
@@ -115,11 +115,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
@@ -137,6 +137,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")
@@ -158,47 +159,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 {

View File

@@ -12,7 +12,6 @@
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

@@ -90,11 +90,6 @@ public class AndroidLauncher extends PatchedAndroidApplication{
return new DefaultThreadImpl(); return new DefaultThreadImpl();
} }
@Override
public boolean isDebug(){
return false;
}
@Override @Override
public String getUUID(){ public String getUUID(){
try{ try{
@@ -207,7 +202,7 @@ public class AndroidLauncher extends PatchedAndroidApplication{
file.write(inStream, false); file.write(inStream, false);
if(SaveIO.isSaveValid(file)){ if(SaveIO.isSaveValid(file)){
try{ try{
SaveSlot slot = control.getSaves().importSave(file); SaveSlot slot = control.saves.importSave(file);
ui.load.runLoadSave(slot); ui.load.runLoadSave(slot);
}catch(IOException e){ }catch(IOException e){
ui.showError(Bundles.format("text.save.import.fail", Strings.parseException(e, false))); ui.showError(Bundles.format("text.save.import.fail", Strings.parseException(e, false)));

View File

@@ -59,7 +59,7 @@ public class AndroidTextFieldDialog{
while(!isBuild){ while(!isBuild){
try{ try{
Thread.sleep(10); Thread.sleep(10);
}catch(InterruptedException e){ }catch(InterruptedException ignored){
} }
} }

View File

@@ -46,13 +46,10 @@ 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);
}
}); });
} }
@@ -64,7 +61,7 @@ public class DonationsActivity extends FragmentActivity{
@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();

View File

@@ -5,12 +5,15 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; import java.lang.annotation.Target;
/**
* Goal: To create a system to send events to the server from the client and vice versa, without creating a new packet type each time.<br>
* These events may optionally also trigger on the caller client/server as well.<br>
*/
public class Annotations{ public class Annotations{
/** Marks a class as serializable.*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface Serialize{
}
public enum PacketPriority{ public enum PacketPriority{
/** Gets put in a queue and processed if not connected. */ /** Gets put in a queue and processed if not connected. */
normal, normal,
@@ -60,7 +63,7 @@ public class Annotations{
/** Marks a method as invokable remotely across a server/client connection. */ /** Marks a method as invokable remotely across a server/client connection. */
@Target(ElementType.METHOD) @Target(ElementType.METHOD)
@Retention(RetentionPolicy.CLASS) @Retention(RetentionPolicy.SOURCE)
public @interface Remote{ public @interface Remote{
/** Specifies the locations from which this method can be invoked. */ /** Specifies the locations from which this method can be invoked. */
Loc targets() default Loc.server; Loc targets() default Loc.server;
@@ -90,7 +93,7 @@ public class Annotations{
* being the type returned by {@link #value()}. * being the type returned by {@link #value()}.
*/ */
@Target(ElementType.METHOD) @Target(ElementType.METHOD)
@Retention(RetentionPolicy.CLASS) @Retention(RetentionPolicy.SOURCE)
public @interface WriteClass{ public @interface WriteClass{
Class<?> value(); Class<?> value();
} }
@@ -101,7 +104,7 @@ public class Annotations{
* and have one parameter, being of type {@link java.nio.ByteBuffer}. * and have one parameter, being of type {@link java.nio.ByteBuffer}.
*/ */
@Target(ElementType.METHOD) @Target(ElementType.METHOD)
@Retention(RetentionPolicy.CLASS) @Retention(RetentionPolicy.SOURCE)
public @interface ReadClass{ public @interface ReadClass{
Class<?> value(); Class<?> value();
} }

View File

@@ -74,7 +74,6 @@ public class RemoteMethodAnnotationProcessor extends AbstractProcessor{
if(round == 1){ if(round == 1){
//get serializers //get serializers
serializers = new IOFinder().findSerializers(roundEnv); serializers = new IOFinder().findSerializers(roundEnv);
//last method ID used //last method ID used
int lastMethodID = 0; int lastMethodID = 0;
//find all elements with the Remote annotation //find all elements with the Remote annotation

View File

@@ -129,7 +129,7 @@ public class RemoteWriteGenerator{
method.beginControlFlow("if(" + getCheckString(methodEntry.where) + ")"); method.beginControlFlow("if(" + getCheckString(methodEntry.where) + ")");
//add statement to create packet from pool //add statement to create packet from pool
method.addStatement("$1N packet = $2N.obtain($1N.class)", "io.anuke.mindustry.net.Packets.InvokePacket", "io.anuke.ucore.util.Pooling"); method.addStatement("$1N packet = $2N.obtain($1N.class, $1N::new)", "io.anuke.mindustry.net.Packets.InvokePacket", "io.anuke.ucore.util.Pooling");
//assign buffer //assign buffer
method.addStatement("packet.writeBuffer = TEMP_BUFFER"); method.addStatement("packet.writeBuffer = TEMP_BUFFER");
//assign priority //assign priority

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.get(Class.forName("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

@@ -9,7 +9,7 @@ buildscript {
dependencies { dependencies {
classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.0' classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.0'
classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6' classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6'
classpath 'com.android.tools.build:gradle:3.1.3' classpath 'com.android.tools.build:gradle:3.2.1'
classpath "com.badlogicgames.gdx:gdx-tools:1.9.8" classpath "com.badlogicgames.gdx:gdx-tools:1.9.8"
} }
} }
@@ -22,15 +22,16 @@ allprojects {
ext { ext {
versionNumber = '4.0' versionNumber = '4.0'
versionType = 'alpha' versionModifier = 'alpha'
versionType = 'official'
appName = 'Mindustry' appName = 'Mindustry'
gdxVersion = '1.9.8' gdxVersion = '1.9.8'
roboVMVersion = '2.3.0' roboVMVersion = '2.3.0'
uCoreVersion = '64ec4a15148b27749ca7b505dea9743add9902f2' uCoreVersion = '53f99fbdc50910a15b4f55e9739385f47cf800cf'
getVersionString = { getVersionString = {
String buildVersion = getBuildVersion() String buildVersion = getBuildVersion()
return "$versionNumber-$versionType-$buildVersion" return "$versionNumber-$versionModifier-$buildVersion"
} }
getBuildVersion = { getBuildVersion = {
@@ -43,14 +44,13 @@ allprojects {
} }
generateLocales = { generateLocales = {
def output = '["en",' def output = 'en\n'
def bundles = new File(project(':core').projectDir, 'assets/bundles/') def bundles = new File(project(':core').projectDir, 'assets/bundles/')
bundles.listFiles().each { other -> bundles.listFiles().each { other ->
if(other.name == "bundle.properties") return; if(other.name == "bundle.properties") return
output += '"' + other.name.substring("bundle".length() + 1, other.name.lastIndexOf('.')) + '",' output += other.name.substring("bundle".length() + 1, other.name.lastIndexOf('.')) + "\n"
} }
output = (output.substring(0, output.size() - 1) + "]") new File(project(':core').projectDir, 'assets/locales').text = output
new File(project(':core').projectDir, 'assets/locales.json').text = output;
} }
writeVersion = { writeVersion = {
@@ -59,18 +59,18 @@ allprojects {
try{ try{
pfile.createNewFile() pfile.createNewFile()
}catch (Exception e){} }catch (Exception ignored){}
if(pfile.exists()) { if(pfile.exists()) {
props.load(new FileInputStream(pfile)) props.load(new FileInputStream(pfile))
String code = getBuildVersion() String buildid = getBuildVersion()
props["name"] = appName props["type"] = versionType
props["version"] = versionType props["number"] = versionNumber
props["code"] = versionNumber props["modifier"] = versionModifier
props["build"] = code props["build"] = buildid
props.store(pfile.newWriter(), "Autogenerated file. Do not modify.") props.store(pfile.newWriter(), "Autogenerated file. Do not modify.")
} }
@@ -92,6 +92,8 @@ 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"
@@ -103,7 +105,6 @@ project(":html") {
apply plugin: "gwt" apply plugin: "gwt"
apply plugin: "war" apply plugin: "war"
dependencies { dependencies {
compile project(":core") compile project(":core")
compileOnly project(":annotations") compileOnly project(":annotations")
@@ -116,10 +117,6 @@ project(":html") {
compile "com.badlogicgames.gdx:gdx-controllers-gwt:$gdxVersion" compile "com.badlogicgames.gdx:gdx-controllers-gwt:$gdxVersion"
compile "com.badlogicgames.gdx:gdx-controllers-gwt:$gdxVersion:sources" compile "com.badlogicgames.gdx:gdx-controllers-gwt:$gdxVersion:sources"
} }
compileJava.options.compilerArgs = [
"-processor", "io.anuke.annotations.RemoteMethodAnnotationProcessor"
]
} }
project(":ios") { project(":ios") {
@@ -184,7 +181,7 @@ project(":core") {
} }
compileJava.options.compilerArgs = [ compileJava.options.compilerArgs = [
"-processor", "io.anuke.annotations.RemoteMethodAnnotationProcessor" "-processor", "io.anuke.annotations.RemoteMethodAnnotationProcessor,io.anuke.annotations.SerializeAnnotationProcessor"
] ]
} }
@@ -207,7 +204,24 @@ project(":server") {
} }
} }
project(":packer") { 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" apply plugin: "java"
dependencies { dependencies {
@@ -228,15 +242,8 @@ project(":kryonet") {
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 'com.github.Anuken:kryonet:53b10247b1'
compile 'com.github.Anuken:WaifUPnP:05eb46bc577fd7674596946ba288c96c0cedd893' compile 'com.github.Anuken:WaifUPnP:05eb46bc577fd7674596946ba288c96c0cedd893'
} }
} }
project(":reporter"){
apply plugin: "java"
}
tasks.eclipse.doLast {
delete ".project"
}

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: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 389 B

After

Width:  |  Height:  |  Size: 782 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 B

After

Width:  |  Height:  |  Size: 124 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 B

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 B

After

Width:  |  Height:  |  Size: 120 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 B

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 B

After

Width:  |  Height:  |  Size: 83 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 B

After

Width:  |  Height:  |  Size: 93 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 B

After

Width:  |  Height:  |  Size: 95 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 B

After

Width:  |  Height:  |  Size: 101 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 B

After

Width:  |  Height:  |  Size: 113 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 B

After

Width:  |  Height:  |  Size: 135 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 B

After

Width:  |  Height:  |  Size: 140 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 B

After

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 B

After

Width:  |  Height:  |  Size: 144 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 B

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 B

After

Width:  |  Height:  |  Size: 135 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 B

After

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 B

After

Width:  |  Height:  |  Size: 124 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 B

After

Width:  |  Height:  |  Size: 143 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 B

After

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 B

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 B

After

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 B

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 B

After

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 B

After

Width:  |  Height:  |  Size: 156 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 B

After

Width:  |  Height:  |  Size: 154 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 B

After

Width:  |  Height:  |  Size: 138 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 B

After

Width:  |  Height:  |  Size: 146 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 B

View File

Before

Width:  |  Height:  |  Size: 208 B

After

Width:  |  Height:  |  Size: 208 B

View File

Before

Width:  |  Height:  |  Size: 201 B

After

Width:  |  Height:  |  Size: 201 B

View File

Before

Width:  |  Height:  |  Size: 292 B

After

Width:  |  Height:  |  Size: 292 B

View File

Before

Width:  |  Height:  |  Size: 208 B

After

Width:  |  Height:  |  Size: 208 B

View File

Before

Width:  |  Height:  |  Size: 283 B

After

Width:  |  Height:  |  Size: 283 B

View File

Before

Width:  |  Height:  |  Size: 201 B

After

Width:  |  Height:  |  Size: 201 B

View File

Before

Width:  |  Height:  |  Size: 210 B

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 326 B

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 B

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 B

After

Width:  |  Height:  |  Size: 137 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 B

After

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 B

After

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 B

After

Width:  |  Height:  |  Size: 258 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 B

After

Width:  |  Height:  |  Size: 93 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 B

After

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 B

After

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 B

After

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 433 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 466 B

After

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 B

After

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 B

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 B

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 408 B

After

Width:  |  Height:  |  Size: 354 B

View File

Before

Width:  |  Height:  |  Size: 232 B

After

Width:  |  Height:  |  Size: 232 B

View File

Before

Width:  |  Height:  |  Size: 230 B

After

Width:  |  Height:  |  Size: 230 B

View File

Before

Width:  |  Height:  |  Size: 140 B

After

Width:  |  Height:  |  Size: 140 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 B

View File

Before

Width:  |  Height:  |  Size: 178 B

After

Width:  |  Height:  |  Size: 178 B

View File

Before

Width:  |  Height:  |  Size: 170 B

After

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 B

View File

Before

Width:  |  Height:  |  Size: 178 B

After

Width:  |  Height:  |  Size: 178 B

View File

Before

Width:  |  Height:  |  Size: 170 B

After

Width:  |  Height:  |  Size: 170 B

View File

Before

Width:  |  Height:  |  Size: 298 B

After

Width:  |  Height:  |  Size: 298 B

View File

Before

Width:  |  Height:  |  Size: 196 B

After

Width:  |  Height:  |  Size: 196 B

View File

Before

Width:  |  Height:  |  Size: 208 B

After

Width:  |  Height:  |  Size: 208 B

View File

Before

Width:  |  Height:  |  Size: 140 B

After

Width:  |  Height:  |  Size: 140 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 B

After

Width:  |  Height:  |  Size: 112 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 B

View File

Before

Width:  |  Height:  |  Size: 185 B

After

Width:  |  Height:  |  Size: 185 B

View File

Before

Width:  |  Height:  |  Size: 175 B

After

Width:  |  Height:  |  Size: 175 B

View File

Before

Width:  |  Height:  |  Size: 140 B

After

Width:  |  Height:  |  Size: 140 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

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