diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml new file mode 100644 index 0000000000..08ad3a55e6 --- /dev/null +++ b/android/AndroidManifest.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + diff --git a/core/assets/maps/canyon.png b/android/assets/maps/canyon.png similarity index 100% rename from core/assets/maps/canyon.png rename to android/assets/maps/canyon.png diff --git a/core/assets/maps/delta.png b/android/assets/maps/delta.png similarity index 100% rename from core/assets/maps/delta.png rename to android/assets/maps/delta.png diff --git a/core/assets/maps/map.png b/android/assets/maps/map.png similarity index 100% rename from core/assets/maps/map.png rename to android/assets/maps/map.png diff --git a/core/assets/maps/maze.png b/android/assets/maps/maze.png similarity index 100% rename from core/assets/maps/maze.png rename to android/assets/maps/maze.png diff --git a/core/assets/maps/pit.png b/android/assets/maps/pit.png similarity index 100% rename from core/assets/maps/pit.png rename to android/assets/maps/pit.png diff --git a/core/assets/maps/test.png b/android/assets/maps/test.png similarity index 100% rename from core/assets/maps/test.png rename to android/assets/maps/test.png diff --git a/core/assets/music/1.mp3 b/android/assets/music/1.mp3 similarity index 100% rename from core/assets/music/1.mp3 rename to android/assets/music/1.mp3 diff --git a/core/assets/music/2.mp3 b/android/assets/music/2.mp3 similarity index 100% rename from core/assets/music/2.mp3 rename to android/assets/music/2.mp3 diff --git a/core/assets/music/3.mp3 b/android/assets/music/3.mp3 similarity index 100% rename from core/assets/music/3.mp3 rename to android/assets/music/3.mp3 diff --git a/core/assets/music/place.wav b/android/assets/music/place.wav similarity index 100% rename from core/assets/music/place.wav rename to android/assets/music/place.wav diff --git a/core/assets/music/shoot.wav b/android/assets/music/shoot.wav similarity index 100% rename from core/assets/music/shoot.wav rename to android/assets/music/shoot.wav diff --git a/core/assets/sounds/bloop.wav b/android/assets/sounds/bloop.wav similarity index 100% rename from core/assets/sounds/bloop.wav rename to android/assets/sounds/bloop.wav diff --git a/core/assets/sounds/break.wav b/android/assets/sounds/break.wav similarity index 100% rename from core/assets/sounds/break.wav rename to android/assets/sounds/break.wav diff --git a/core/assets/sounds/corexplode.wav b/android/assets/sounds/corexplode.wav similarity index 100% rename from core/assets/sounds/corexplode.wav rename to android/assets/sounds/corexplode.wav diff --git a/core/assets/sounds/die.wav b/android/assets/sounds/die.wav similarity index 100% rename from core/assets/sounds/die.wav rename to android/assets/sounds/die.wav diff --git a/core/assets/sounds/enemyshoot.wav b/android/assets/sounds/enemyshoot.wav similarity index 100% rename from core/assets/sounds/enemyshoot.wav rename to android/assets/sounds/enemyshoot.wav diff --git a/core/assets/sounds/explosion.wav b/android/assets/sounds/explosion.wav similarity index 100% rename from core/assets/sounds/explosion.wav rename to android/assets/sounds/explosion.wav diff --git a/core/assets/sounds/flame.wav b/android/assets/sounds/flame.wav similarity index 100% rename from core/assets/sounds/flame.wav rename to android/assets/sounds/flame.wav diff --git a/core/assets/sounds/flame2.wav b/android/assets/sounds/flame2.wav similarity index 100% rename from core/assets/sounds/flame2.wav rename to android/assets/sounds/flame2.wav diff --git a/core/assets/sounds/missile.wav b/android/assets/sounds/missile.wav similarity index 100% rename from core/assets/sounds/missile.wav rename to android/assets/sounds/missile.wav diff --git a/core/assets/sounds/place.wav b/android/assets/sounds/place.wav similarity index 100% rename from core/assets/sounds/place.wav rename to android/assets/sounds/place.wav diff --git a/core/assets/sounds/purchase.wav b/android/assets/sounds/purchase.wav similarity index 100% rename from core/assets/sounds/purchase.wav rename to android/assets/sounds/purchase.wav diff --git a/core/assets/sounds/resonate.wav b/android/assets/sounds/resonate.wav similarity index 100% rename from core/assets/sounds/resonate.wav rename to android/assets/sounds/resonate.wav diff --git a/core/assets/sounds/respawn.wav b/android/assets/sounds/respawn.wav similarity index 100% rename from core/assets/sounds/respawn.wav rename to android/assets/sounds/respawn.wav diff --git a/core/assets/sounds/shoot.wav b/android/assets/sounds/shoot.wav similarity index 100% rename from core/assets/sounds/shoot.wav rename to android/assets/sounds/shoot.wav diff --git a/core/assets/sounds/spawn.wav b/android/assets/sounds/spawn.wav similarity index 100% rename from core/assets/sounds/spawn.wav rename to android/assets/sounds/spawn.wav diff --git a/core/assets/sprites/back.png b/android/assets/sprites/back.png similarity index 100% rename from core/assets/sprites/back.png rename to android/assets/sprites/back.png diff --git a/core/assets/sprites/conveyor.png b/android/assets/sprites/conveyor.png similarity index 100% rename from core/assets/sprites/conveyor.png rename to android/assets/sprites/conveyor.png diff --git a/core/assets/sprites/conveyort.png b/android/assets/sprites/conveyort.png similarity index 100% rename from core/assets/sprites/conveyort.png rename to android/assets/sprites/conveyort.png diff --git a/core/assets/sprites/mindustry.atlas b/android/assets/sprites/mindustry.atlas similarity index 100% rename from core/assets/sprites/mindustry.atlas rename to android/assets/sprites/mindustry.atlas diff --git a/core/assets/sprites/mindustry.png b/android/assets/sprites/mindustry.png similarity index 100% rename from core/assets/sprites/mindustry.png rename to android/assets/sprites/mindustry.png diff --git a/core/assets/ui/backup/uiskin.atlas b/android/assets/ui/backup/uiskin.atlas similarity index 100% rename from core/assets/ui/backup/uiskin.atlas rename to android/assets/ui/backup/uiskin.atlas diff --git a/core/assets/ui/backup/uiskin.png b/android/assets/ui/backup/uiskin.png similarity index 100% rename from core/assets/ui/backup/uiskin.png rename to android/assets/ui/backup/uiskin.png diff --git a/core/assets/ui/out/blank.png b/android/assets/ui/out/blank.png similarity index 100% rename from core/assets/ui/out/blank.png rename to android/assets/ui/out/blank.png diff --git a/core/assets/ui/out/border-circle-error.png b/android/assets/ui/out/border-circle-error.png similarity index 100% rename from core/assets/ui/out/border-circle-error.png rename to android/assets/ui/out/border-circle-error.png diff --git a/core/assets/ui/out/border-circle.png b/android/assets/ui/out/border-circle.png similarity index 100% rename from core/assets/ui/out/border-circle.png rename to android/assets/ui/out/border-circle.png diff --git a/core/assets/ui/out/border-dark-blue.9.png b/android/assets/ui/out/border-dark-blue.9.png similarity index 100% rename from core/assets/ui/out/border-dark-blue.9.png rename to android/assets/ui/out/border-dark-blue.9.png diff --git a/core/assets/ui/out/border-error.9.png b/android/assets/ui/out/border-error.9.png similarity index 100% rename from core/assets/ui/out/border-error.9.png rename to android/assets/ui/out/border-error.9.png diff --git a/core/assets/ui/out/border-white.9.png b/android/assets/ui/out/border-white.9.png similarity index 100% rename from core/assets/ui/out/border-white.9.png rename to android/assets/ui/out/border-white.9.png diff --git a/core/assets/ui/out/border.9.png b/android/assets/ui/out/border.9.png similarity index 100% rename from core/assets/ui/out/border.9.png rename to android/assets/ui/out/border.9.png diff --git a/core/assets/ui/out/bump.9.png b/android/assets/ui/out/bump.9.png similarity index 100% rename from core/assets/ui/out/bump.9.png rename to android/assets/ui/out/bump.9.png diff --git a/core/assets/ui/out/button-blue-down.9.png b/android/assets/ui/out/button-blue-down.9.png similarity index 100% rename from core/assets/ui/out/button-blue-down.9.png rename to android/assets/ui/out/button-blue-down.9.png diff --git a/core/assets/ui/out/button-blue-over.9.png b/android/assets/ui/out/button-blue-over.9.png similarity index 100% rename from core/assets/ui/out/button-blue-over.9.png rename to android/assets/ui/out/button-blue-over.9.png diff --git a/core/assets/ui/out/button-blue.9.png b/android/assets/ui/out/button-blue.9.png similarity index 100% rename from core/assets/ui/out/button-blue.9.png rename to android/assets/ui/out/button-blue.9.png diff --git a/core/assets/ui/out/button-down.9.png b/android/assets/ui/out/button-down.9.png similarity index 100% rename from core/assets/ui/out/button-down.9.png rename to android/assets/ui/out/button-down.9.png diff --git a/core/assets/ui/out/button-gray-over.9.png b/android/assets/ui/out/button-gray-over.9.png similarity index 100% rename from core/assets/ui/out/button-gray-over.9.png rename to android/assets/ui/out/button-gray-over.9.png diff --git a/core/assets/ui/out/button-gray.9.png b/android/assets/ui/out/button-gray.9.png similarity index 100% rename from core/assets/ui/out/button-gray.9.png rename to android/assets/ui/out/button-gray.9.png diff --git a/core/assets/ui/out/button-map-down.9.png b/android/assets/ui/out/button-map-down.9.png similarity index 100% rename from core/assets/ui/out/button-map-down.9.png rename to android/assets/ui/out/button-map-down.9.png diff --git a/core/assets/ui/out/button-map-over.9.png b/android/assets/ui/out/button-map-over.9.png similarity index 100% rename from core/assets/ui/out/button-map-over.9.png rename to android/assets/ui/out/button-map-over.9.png diff --git a/core/assets/ui/out/button-map.9.png b/android/assets/ui/out/button-map.9.png similarity index 100% rename from core/assets/ui/out/button-map.9.png rename to android/assets/ui/out/button-map.9.png diff --git a/core/assets/ui/out/button-over.9.png b/android/assets/ui/out/button-over.9.png similarity index 100% rename from core/assets/ui/out/button-over.9.png rename to android/assets/ui/out/button-over.9.png diff --git a/core/assets/ui/out/button-red.9.png b/android/assets/ui/out/button-red.9.png similarity index 100% rename from core/assets/ui/out/button-red.9.png rename to android/assets/ui/out/button-red.9.png diff --git a/core/assets/ui/out/button-select.9.png b/android/assets/ui/out/button-select.9.png similarity index 100% rename from core/assets/ui/out/button-select.9.png rename to android/assets/ui/out/button-select.9.png diff --git a/core/assets/ui/out/button-window-bg.9.png b/android/assets/ui/out/button-window-bg.9.png similarity index 100% rename from core/assets/ui/out/button-window-bg.9.png rename to android/assets/ui/out/button-window-bg.9.png diff --git a/core/assets/ui/out/button-window-over.9.png b/android/assets/ui/out/button-window-over.9.png similarity index 100% rename from core/assets/ui/out/button-window-over.9.png rename to android/assets/ui/out/button-window-over.9.png diff --git a/core/assets/ui/out/button.9.png b/android/assets/ui/out/button.9.png similarity index 100% rename from core/assets/ui/out/button.9.png rename to android/assets/ui/out/button.9.png diff --git a/core/assets/ui/out/check-off.png b/android/assets/ui/out/check-off.png similarity index 100% rename from core/assets/ui/out/check-off.png rename to android/assets/ui/out/check-off.png diff --git a/core/assets/ui/out/check-on.png b/android/assets/ui/out/check-on.png similarity index 100% rename from core/assets/ui/out/check-on.png rename to android/assets/ui/out/check-on.png diff --git a/core/assets/ui/out/check-over.png b/android/assets/ui/out/check-over.png similarity index 100% rename from core/assets/ui/out/check-over.png rename to android/assets/ui/out/check-over.png diff --git a/core/assets/ui/out/clear.png b/android/assets/ui/out/clear.png similarity index 100% rename from core/assets/ui/out/clear.png rename to android/assets/ui/out/clear.png diff --git a/core/assets/ui/out/color-picker-bar-selector.png b/android/assets/ui/out/color-picker-bar-selector.png similarity index 100% rename from core/assets/ui/out/color-picker-bar-selector.png rename to android/assets/ui/out/color-picker-bar-selector.png diff --git a/core/assets/ui/out/color-picker-cross.png b/android/assets/ui/out/color-picker-cross.png similarity index 100% rename from core/assets/ui/out/color-picker-cross.png rename to android/assets/ui/out/color-picker-cross.png diff --git a/core/assets/ui/out/color-picker-selector-horizontal.png b/android/assets/ui/out/color-picker-selector-horizontal.png similarity index 100% rename from core/assets/ui/out/color-picker-selector-horizontal.png rename to android/assets/ui/out/color-picker-selector-horizontal.png diff --git a/core/assets/ui/out/color-picker-selector-vertical.png b/android/assets/ui/out/color-picker-selector-vertical.png similarity index 100% rename from core/assets/ui/out/color-picker-selector-vertical.png rename to android/assets/ui/out/color-picker-selector-vertical.png diff --git a/core/assets/ui/out/cursor-normal.png b/android/assets/ui/out/cursor-normal.png similarity index 100% rename from core/assets/ui/out/cursor-normal.png rename to android/assets/ui/out/cursor-normal.png diff --git a/core/assets/ui/out/cursor.png b/android/assets/ui/out/cursor.png similarity index 100% rename from core/assets/ui/out/cursor.png rename to android/assets/ui/out/cursor.png diff --git a/core/assets/ui/out/default-pane-no-border.9.png b/android/assets/ui/out/default-pane-no-border.9.png similarity index 100% rename from core/assets/ui/out/default-pane-no-border.9.png rename to android/assets/ui/out/default-pane-no-border.9.png diff --git a/core/assets/ui/out/default-pane.9.png b/android/assets/ui/out/default-pane.9.png similarity index 100% rename from core/assets/ui/out/default-pane.9.png rename to android/assets/ui/out/default-pane.9.png diff --git a/core/assets/ui/out/default-select-selection.9.png b/android/assets/ui/out/default-select-selection.9.png similarity index 100% rename from core/assets/ui/out/default-select-selection.9.png rename to android/assets/ui/out/default-select-selection.9.png diff --git a/core/assets/ui/out/default-select.9.png b/android/assets/ui/out/default-select.9.png similarity index 100% rename from core/assets/ui/out/default-select.9.png rename to android/assets/ui/out/default-select.9.png diff --git a/core/assets/ui/out/grey.png b/android/assets/ui/out/grey.png similarity index 100% rename from core/assets/ui/out/grey.png rename to android/assets/ui/out/grey.png diff --git a/android/assets/ui/out/icon-cancel.png b/android/assets/ui/out/icon-cancel.png new file mode 100644 index 0000000000..bf4c7ed9a0 Binary files /dev/null and b/android/assets/ui/out/icon-cancel.png differ diff --git a/android/assets/ui/out/icon-check.png b/android/assets/ui/out/icon-check.png new file mode 100644 index 0000000000..67bd7b09cd Binary files /dev/null and b/android/assets/ui/out/icon-check.png differ diff --git a/core/assets/ui/out/icon-close-down.png b/android/assets/ui/out/icon-close-down.png similarity index 100% rename from core/assets/ui/out/icon-close-down.png rename to android/assets/ui/out/icon-close-down.png diff --git a/core/assets/ui/out/icon-close-over.png b/android/assets/ui/out/icon-close-over.png similarity index 100% rename from core/assets/ui/out/icon-close-over.png rename to android/assets/ui/out/icon-close-over.png diff --git a/core/assets/ui/out/icon-close.png b/android/assets/ui/out/icon-close.png similarity index 100% rename from core/assets/ui/out/icon-close.png rename to android/assets/ui/out/icon-close.png diff --git a/core/assets/ui/out/icon-defense.png b/android/assets/ui/out/icon-defense.png similarity index 100% rename from core/assets/ui/out/icon-defense.png rename to android/assets/ui/out/icon-defense.png diff --git a/core/assets/ui/out/icon-distribution.png b/android/assets/ui/out/icon-distribution.png similarity index 100% rename from core/assets/ui/out/icon-distribution.png rename to android/assets/ui/out/icon-distribution.png diff --git a/core/assets/ui/out/icon-production.png b/android/assets/ui/out/icon-production.png similarity index 100% rename from core/assets/ui/out/icon-production.png rename to android/assets/ui/out/icon-production.png diff --git a/android/assets/ui/out/icon-rotate.png b/android/assets/ui/out/icon-rotate.png new file mode 100644 index 0000000000..77ed4bb76d Binary files /dev/null and b/android/assets/ui/out/icon-rotate.png differ diff --git a/core/assets/ui/out/list-selection.png b/android/assets/ui/out/list-selection.png similarity index 100% rename from core/assets/ui/out/list-selection.png rename to android/assets/ui/out/list-selection.png diff --git a/core/assets/ui/out/menu-bg.png b/android/assets/ui/out/menu-bg.png similarity index 100% rename from core/assets/ui/out/menu-bg.png rename to android/assets/ui/out/menu-bg.png diff --git a/core/assets/ui/out/padded-list-selection.9.png b/android/assets/ui/out/padded-list-selection.9.png similarity index 100% rename from core/assets/ui/out/padded-list-selection.9.png rename to android/assets/ui/out/padded-list-selection.9.png diff --git a/core/assets/ui/out/progressbar-filled-vertical.png b/android/assets/ui/out/progressbar-filled-vertical.png similarity index 100% rename from core/assets/ui/out/progressbar-filled-vertical.png rename to android/assets/ui/out/progressbar-filled-vertical.png diff --git a/core/assets/ui/out/progressbar-filled.png b/android/assets/ui/out/progressbar-filled.png similarity index 100% rename from core/assets/ui/out/progressbar-filled.png rename to android/assets/ui/out/progressbar-filled.png diff --git a/core/assets/ui/out/progressbar-vertical.png b/android/assets/ui/out/progressbar-vertical.png similarity index 100% rename from core/assets/ui/out/progressbar-vertical.png rename to android/assets/ui/out/progressbar-vertical.png diff --git a/core/assets/ui/out/progressbar.png b/android/assets/ui/out/progressbar.png similarity index 100% rename from core/assets/ui/out/progressbar.png rename to android/assets/ui/out/progressbar.png diff --git a/core/assets/ui/out/radio-off.png b/android/assets/ui/out/radio-off.png similarity index 100% rename from core/assets/ui/out/radio-off.png rename to android/assets/ui/out/radio-off.png diff --git a/core/assets/ui/out/radio-on.png b/android/assets/ui/out/radio-on.png similarity index 100% rename from core/assets/ui/out/radio-on.png rename to android/assets/ui/out/radio-on.png diff --git a/core/assets/ui/out/scroll-horizontal.9.png b/android/assets/ui/out/scroll-horizontal.9.png similarity index 100% rename from core/assets/ui/out/scroll-horizontal.9.png rename to android/assets/ui/out/scroll-horizontal.9.png diff --git a/core/assets/ui/out/scroll-knob-horizontal.9.png b/android/assets/ui/out/scroll-knob-horizontal.9.png similarity index 100% rename from core/assets/ui/out/scroll-knob-horizontal.9.png rename to android/assets/ui/out/scroll-knob-horizontal.9.png diff --git a/core/assets/ui/out/scroll-knob-vertical.9.png b/android/assets/ui/out/scroll-knob-vertical.9.png similarity index 100% rename from core/assets/ui/out/scroll-knob-vertical.9.png rename to android/assets/ui/out/scroll-knob-vertical.9.png diff --git a/core/assets/ui/out/scroll.9.png b/android/assets/ui/out/scroll.9.png similarity index 100% rename from core/assets/ui/out/scroll.9.png rename to android/assets/ui/out/scroll.9.png diff --git a/core/assets/ui/out/select-box-list-bg.png b/android/assets/ui/out/select-box-list-bg.png similarity index 100% rename from core/assets/ui/out/select-box-list-bg.png rename to android/assets/ui/out/select-box-list-bg.png diff --git a/core/assets/ui/out/select-down.png b/android/assets/ui/out/select-down.png similarity index 100% rename from core/assets/ui/out/select-down.png rename to android/assets/ui/out/select-down.png diff --git a/core/assets/ui/out/select-up.png b/android/assets/ui/out/select-up.png similarity index 100% rename from core/assets/ui/out/select-up.png rename to android/assets/ui/out/select-up.png diff --git a/core/assets/ui/out/selection.png b/android/assets/ui/out/selection.png similarity index 100% rename from core/assets/ui/out/selection.png rename to android/assets/ui/out/selection.png diff --git a/core/assets/ui/out/separator-menu.png b/android/assets/ui/out/separator-menu.png similarity index 100% rename from core/assets/ui/out/separator-menu.png rename to android/assets/ui/out/separator-menu.png diff --git a/core/assets/ui/out/separator.png b/android/assets/ui/out/separator.png similarity index 100% rename from core/assets/ui/out/separator.png rename to android/assets/ui/out/separator.png diff --git a/core/assets/ui/out/slider-knob-disabled.png b/android/assets/ui/out/slider-knob-disabled.png similarity index 100% rename from core/assets/ui/out/slider-knob-disabled.png rename to android/assets/ui/out/slider-knob-disabled.png diff --git a/core/assets/ui/out/slider-knob-down.png b/android/assets/ui/out/slider-knob-down.png similarity index 100% rename from core/assets/ui/out/slider-knob-down.png rename to android/assets/ui/out/slider-knob-down.png diff --git a/core/assets/ui/out/slider-knob-over.png b/android/assets/ui/out/slider-knob-over.png similarity index 100% rename from core/assets/ui/out/slider-knob-over.png rename to android/assets/ui/out/slider-knob-over.png diff --git a/core/assets/ui/out/slider-knob.png b/android/assets/ui/out/slider-knob.png similarity index 100% rename from core/assets/ui/out/slider-knob.png rename to android/assets/ui/out/slider-knob.png diff --git a/core/assets/ui/out/slider-vertical.png b/android/assets/ui/out/slider-vertical.png similarity index 100% rename from core/assets/ui/out/slider-vertical.png rename to android/assets/ui/out/slider-vertical.png diff --git a/core/assets/ui/out/slider.png b/android/assets/ui/out/slider.png similarity index 100% rename from core/assets/ui/out/slider.png rename to android/assets/ui/out/slider.png diff --git a/core/assets/ui/out/slot.9.png b/android/assets/ui/out/slot.9.png similarity index 100% rename from core/assets/ui/out/slot.9.png rename to android/assets/ui/out/slot.9.png diff --git a/core/assets/ui/out/splitpane-over.png b/android/assets/ui/out/splitpane-over.png similarity index 100% rename from core/assets/ui/out/splitpane-over.png rename to android/assets/ui/out/splitpane-over.png diff --git a/core/assets/ui/out/splitpane-vertical-over.png b/android/assets/ui/out/splitpane-vertical-over.png similarity index 100% rename from core/assets/ui/out/splitpane-vertical-over.png rename to android/assets/ui/out/splitpane-vertical-over.png diff --git a/core/assets/ui/out/splitpane-vertical.png b/android/assets/ui/out/splitpane-vertical.png similarity index 100% rename from core/assets/ui/out/splitpane-vertical.png rename to android/assets/ui/out/splitpane-vertical.png diff --git a/core/assets/ui/out/splitpane.png b/android/assets/ui/out/splitpane.png similarity index 100% rename from core/assets/ui/out/splitpane.png rename to android/assets/ui/out/splitpane.png diff --git a/core/assets/ui/out/sub-menu.png b/android/assets/ui/out/sub-menu.png similarity index 100% rename from core/assets/ui/out/sub-menu.png rename to android/assets/ui/out/sub-menu.png diff --git a/core/assets/ui/out/textfield-over.9.png b/android/assets/ui/out/textfield-over.9.png similarity index 100% rename from core/assets/ui/out/textfield-over.9.png rename to android/assets/ui/out/textfield-over.9.png diff --git a/core/assets/ui/out/textfield.9.png b/android/assets/ui/out/textfield.9.png similarity index 100% rename from core/assets/ui/out/textfield.9.png rename to android/assets/ui/out/textfield.9.png diff --git a/core/assets/ui/out/tooltip-bg.9.png b/android/assets/ui/out/tooltip-bg.9.png similarity index 100% rename from core/assets/ui/out/tooltip-bg.9.png rename to android/assets/ui/out/tooltip-bg.9.png diff --git a/core/assets/ui/out/touchpad-knob.png b/android/assets/ui/out/touchpad-knob.png similarity index 100% rename from core/assets/ui/out/touchpad-knob.png rename to android/assets/ui/out/touchpad-knob.png diff --git a/core/assets/ui/out/tree-minus.png b/android/assets/ui/out/tree-minus.png similarity index 100% rename from core/assets/ui/out/tree-minus.png rename to android/assets/ui/out/tree-minus.png diff --git a/core/assets/ui/out/tree-over.png b/android/assets/ui/out/tree-over.png similarity index 100% rename from core/assets/ui/out/tree-over.png rename to android/assets/ui/out/tree-over.png diff --git a/core/assets/ui/out/tree-plus.png b/android/assets/ui/out/tree-plus.png similarity index 100% rename from core/assets/ui/out/tree-plus.png rename to android/assets/ui/out/tree-plus.png diff --git a/core/assets/ui/out/tree-selection.9.png b/android/assets/ui/out/tree-selection.9.png similarity index 100% rename from core/assets/ui/out/tree-selection.9.png rename to android/assets/ui/out/tree-selection.9.png diff --git a/core/assets/ui/out/white.png b/android/assets/ui/out/white.png similarity index 100% rename from core/assets/ui/out/white.png rename to android/assets/ui/out/white.png diff --git a/core/assets/ui/out/window-bg.png b/android/assets/ui/out/window-bg.png similarity index 100% rename from core/assets/ui/out/window-bg.png rename to android/assets/ui/out/window-bg.png diff --git a/core/assets/ui/out/window-border-bg.9.png b/android/assets/ui/out/window-border-bg.9.png similarity index 100% rename from core/assets/ui/out/window-border-bg.9.png rename to android/assets/ui/out/window-border-bg.9.png diff --git a/core/assets/ui/out/window-gray.9.png b/android/assets/ui/out/window-gray.9.png similarity index 100% rename from core/assets/ui/out/window-gray.9.png rename to android/assets/ui/out/window-gray.9.png diff --git a/core/assets/ui/out/window-noborder.9.png b/android/assets/ui/out/window-noborder.9.png similarity index 100% rename from core/assets/ui/out/window-noborder.9.png rename to android/assets/ui/out/window-noborder.9.png diff --git a/core/assets/ui/out/window-resizable.9.png b/android/assets/ui/out/window-resizable.9.png similarity index 100% rename from core/assets/ui/out/window-resizable.9.png rename to android/assets/ui/out/window-resizable.9.png diff --git a/core/assets/ui/out/window.9.png b/android/assets/ui/out/window.9.png similarity index 100% rename from core/assets/ui/out/window.9.png rename to android/assets/ui/out/window.9.png diff --git a/core/assets/ui/prose.fnt b/android/assets/ui/prose.fnt similarity index 100% rename from core/assets/ui/prose.fnt rename to android/assets/ui/prose.fnt diff --git a/core/assets/ui/prose.png b/android/assets/ui/prose.png similarity index 100% rename from core/assets/ui/prose.png rename to android/assets/ui/prose.png diff --git a/core/assets/ui/uiskin.atlas b/android/assets/ui/uiskin.atlas similarity index 96% rename from core/assets/ui/uiskin.atlas rename to android/assets/ui/uiskin.atlas index e041fb39c8..d9da6fe185 100644 --- a/core/assets/ui/uiskin.atlas +++ b/android/assets/ui/uiskin.atlas @@ -51,7 +51,7 @@ border-error index: -1 border-white rotate: false - xy: 367, 6 + xy: 421, 17 size: 12, 12 split: 4, 4, 4, 4 orig: 12, 12 @@ -251,7 +251,7 @@ color-picker-selector-vertical index: -1 cursor rotate: false - xy: 136, 56 + xy: 383, 14 size: 4, 4 orig: 4, 4 offset: 0, 0 @@ -309,6 +309,20 @@ menu-bg orig: 1, 1 offset: 0, 0 index: -1 +icon-cancel + rotate: false + xy: 367, 4 + size: 14, 14 + orig: 14, 14 + offset: 0, 0 + index: -1 +icon-check + rotate: false + xy: 389, 15 + size: 14, 14 + orig: 14, 14 + offset: 0, 0 + index: -1 icon-close rotate: false xy: 217, 86 @@ -346,11 +360,18 @@ icon-distribution index: -1 icon-production rotate: false - xy: 389, 19 + xy: 383, 2 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 +icon-rotate + rotate: false + xy: 405, 15 + size: 14, 14 + orig: 14, 14 + offset: 0, 0 + index: -1 list-selection rotate: false xy: 220, 3 @@ -616,7 +637,7 @@ touchpad-knob index: -1 tree-minus rotate: false - xy: 401, 19 + xy: 395, 2 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -630,7 +651,7 @@ tree-plus index: -1 tree-selection rotate: false - xy: 430, 69 + xy: 136, 57 size: 3, 3 split: 1, 1, 1, 1 orig: 3, 3 @@ -638,7 +659,7 @@ tree-selection index: -1 white rotate: false - xy: 473, 17 + xy: 430, 69 size: 3, 3 orig: 3, 3 offset: 0, 0 @@ -653,7 +674,7 @@ window index: -1 window-border-bg rotate: false - xy: 136, 7 + xy: 473, 17 size: 3, 3 split: 1, 1, 1, 1 orig: 3, 3 diff --git a/core/assets/ui/uiskin.json b/android/assets/ui/uiskin.json similarity index 100% rename from core/assets/ui/uiskin.json rename to android/assets/ui/uiskin.json diff --git a/android/assets/ui/uiskin.png b/android/assets/ui/uiskin.png new file mode 100644 index 0000000000..35af964871 Binary files /dev/null and b/android/assets/ui/uiskin.png differ diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000000..42499f5ed1 --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,135 @@ +android { + buildToolsVersion "25.0.0" + compileSdkVersion 25 + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + java.srcDirs = ['src'] + aidl.srcDirs = ['src'] + renderscript.srcDirs = ['src'] + res.srcDirs = ['res'] + assets.srcDirs = ['assets'] + jniLibs.srcDirs = ['libs'] + } + + instrumentTest.setRoot('tests') + } + packagingOptions { + exclude 'META-INF/robovm/ios/robovm.xml' + } + defaultConfig { + applicationId "io.anuke.mindustry" + minSdkVersion 9 + targetSdkVersion 25 + + jackOptions { + enabled true + } + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} +// called every time gradle gets executed, takes the native dependencies of +// the natives configuration, and extracts them to the proper libs/ folders +// so they get packed with the APK. +task copyAndroidNatives() { + file("libs/armeabi/").mkdirs(); + file("libs/armeabi-v7a/").mkdirs(); + file("libs/arm64-v8a/").mkdirs(); + file("libs/x86_64/").mkdirs(); + file("libs/x86/").mkdirs(); + + configurations.natives.files.each { jar -> + def outputDir = null + if (jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a") + if (jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a") + if (jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi") + if (jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64") + if (jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86") + if (outputDir != null) { + copy { + from zipTree(jar) + into outputDir + include "*.so" + } + } + } +} +task run(type: Exec) { + def path + def localProperties = project.file("../local.properties") + if (localProperties.exists()) { + Properties properties = new Properties() + localProperties.withInputStream { instr -> + properties.load(instr) + } + def sdkDir = properties.getProperty('sdk.dir') + if (sdkDir) { + path = sdkDir + } else { + path = "$System.env.ANDROID_HOME" + } + } else { + path = "$System.env.ANDROID_HOME" + } + + def adb = path + "/platform-tools/adb" + 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. +idea { + module { + sourceDirs += file("src"); + scopes = [COMPILE: [plus: [project.configurations.compile]]] + + iml { + withXml { + def node = it.asNode() + def builder = NodeBuilder.newInstance(); + builder.current = node; + builder.component(name: "FacetManager") { + facet(type: "android", name: "Android") { + configuration { + option(name: "UPDATE_PROPERTY_FILES", value: "true") + } + } + } + } + } + } +} +dependencies { +} \ No newline at end of file diff --git a/android/ic_launcher-web.png b/android/ic_launcher-web.png new file mode 100644 index 0000000000..ebd65987ee Binary files /dev/null and b/android/ic_launcher-web.png differ diff --git a/android/proguard-project.txt b/android/proguard-project.txt new file mode 100644 index 0000000000..b166b1e81c --- /dev/null +++ b/android/proguard-project.txt @@ -0,0 +1,45 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +-verbose + +-dontwarn android.support.** +-dontwarn com.badlogic.gdx.backends.android.AndroidFragmentApplication +-dontwarn com.badlogic.gdx.utils.GdxBuild +-dontwarn com.badlogic.gdx.physics.box2d.utils.Box2DBuild +-dontwarn com.badlogic.gdx.jnigen.BuildTarget* +-dontwarn com.badlogic.gdx.graphics.g2d.freetype.FreetypeBuild + +-keep class com.badlogic.gdx.controllers.android.AndroidControllers + +-keepclassmembers class com.badlogic.gdx.backends.android.AndroidInput* { + (com.badlogic.gdx.Application, android.content.Context, java.lang.Object, com.badlogic.gdx.backends.android.AndroidApplicationConfiguration); +} + +-keepclassmembers class com.badlogic.gdx.physics.box2d.World { + boolean contactFilter(long, long); + void beginContact(long); + void endContact(long); + void preSolve(long, long); + void postSolve(long, long); + boolean reportFixture(long); + float reportRayFixture(long, float, float, float, float, float); +} diff --git a/android/project.properties b/android/project.properties new file mode 100644 index 0000000000..4ab125693c --- /dev/null +++ b/android/project.properties @@ -0,0 +1,14 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-19 diff --git a/android/res/drawable-hdpi/ic_launcher.png b/android/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000000..b6b1472561 Binary files /dev/null and b/android/res/drawable-hdpi/ic_launcher.png differ diff --git a/android/res/drawable-mdpi/ic_launcher.png b/android/res/drawable-mdpi/ic_launcher.png new file mode 100644 index 0000000000..1ce160b9a7 Binary files /dev/null and b/android/res/drawable-mdpi/ic_launcher.png differ diff --git a/android/res/drawable-xhdpi/ic_launcher.png b/android/res/drawable-xhdpi/ic_launcher.png new file mode 100644 index 0000000000..27109288a3 Binary files /dev/null and b/android/res/drawable-xhdpi/ic_launcher.png differ diff --git a/android/res/drawable-xxhdpi/ic_launcher.png b/android/res/drawable-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000..6dc9073e0f Binary files /dev/null and b/android/res/drawable-xxhdpi/ic_launcher.png differ diff --git a/android/res/drawable-xxxhdpi/ic_launcher.png b/android/res/drawable-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000..d1099464ab Binary files /dev/null and b/android/res/drawable-xxxhdpi/ic_launcher.png differ diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml new file mode 100644 index 0000000000..d40cf3accd --- /dev/null +++ b/android/res/values/strings.xml @@ -0,0 +1,6 @@ + + + + Mindustry + + diff --git a/android/res/values/styles.xml b/android/res/values/styles.xml new file mode 100644 index 0000000000..3f00fc5ac7 --- /dev/null +++ b/android/res/values/styles.xml @@ -0,0 +1,12 @@ + + + + + diff --git a/android/src/io/anuke/mindustry/AndroidLauncher.java b/android/src/io/anuke/mindustry/AndroidLauncher.java new file mode 100644 index 0000000000..e01156c389 --- /dev/null +++ b/android/src/io/anuke/mindustry/AndroidLauncher.java @@ -0,0 +1,16 @@ +package io.anuke.mindustry; + +import com.badlogic.gdx.backends.android.AndroidApplication; +import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration; + +import android.os.Bundle; + +public class AndroidLauncher extends AndroidApplication { + @Override + protected void onCreate (Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + AndroidApplicationConfiguration config = new AndroidApplicationConfiguration(); + config.useImmersiveMode = true; + initialize(new Mindustry(), config); + } +} diff --git a/build.gradle b/build.gradle index b4e088bfc4..75c7c71038 100644 --- a/build.gradle +++ b/build.gradle @@ -7,6 +7,7 @@ buildscript { } dependencies { classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6' + classpath 'com.android.tools.build:gradle:2.2.0' } } @@ -26,6 +27,7 @@ allprojects { mavenCentral() maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } maven { url "https://oss.sonatype.org/content/repositories/releases/" } + maven { url 'https://jitpack.io' } } } @@ -54,11 +56,28 @@ project(":html") { } } +project(":android") { + apply plugin: "android" + + configurations { natives } + + dependencies { + compile project(":core") + compile "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" + compile "com.badlogicgames.gdx:gdx-ai:$aiVersion" + } +} + project(":core") { apply plugin: "java" dependencies { - // compile fileTree(dir: '../core/lib', include: '*.jar') + compile 'com.github.Anuken:ucore:07fe3a5394' compile "com.badlogicgames.gdx:gdx:$gdxVersion" compile "com.badlogicgames.gdx:gdx-ai:1.8.1" } diff --git a/core/assets/ui/uiskin.png b/core/assets/ui/uiskin.png deleted file mode 100644 index dd65603f7f..0000000000 Binary files a/core/assets/ui/uiskin.png and /dev/null differ diff --git a/core/src/io/anuke/mindustry/Control.java b/core/src/io/anuke/mindustry/Control.java index e81f16e0d6..671093f7d8 100644 --- a/core/src/io/anuke/mindustry/Control.java +++ b/core/src/io/anuke/mindustry/Control.java @@ -2,26 +2,41 @@ package io.anuke.mindustry; import static io.anuke.mindustry.Vars.*; +import com.badlogic.gdx.Application.ApplicationType; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input.Keys; +import com.badlogic.gdx.input.GestureDetector; import io.anuke.mindustry.entities.Player; +import io.anuke.mindustry.input.AndroidInput; +import io.anuke.mindustry.input.GestureHandler; +import io.anuke.mindustry.input.Input; import io.anuke.mindustry.world.Generator; import io.anuke.mindustry.world.blocks.ProductionBlocks; import io.anuke.ucore.core.*; import io.anuke.ucore.entities.Entities; import io.anuke.ucore.graphics.Atlas; import io.anuke.ucore.modules.RendererModule; +import io.anuke.ucore.util.Mathf; import io.anuke.ucore.util.Timers; public class Control extends RendererModule{ public int rangex = 10, rangey = 10; + public float targetzoom = 1f; + private float targetx, targety; //GifRecorder recoder = new GifRecorder(batch); public Control(){ cameraScale = 4; pixelate(); + Gdx.input.setCatchBackKey(true); + + if(android){ + Inputs.addProcessor(new GestureDetector(20, 0.5f, 2, 0.15f, new GestureHandler())); + Inputs.addProcessor(new AndroidInput()); + } + Draw.addSurface("shadow", cameraScale); atlas = new Atlas("mindustry.atlas"); @@ -39,7 +54,7 @@ public class Control extends RendererModule{ "down", Keys.S, "right", Keys.D, "rotate", Keys.R, - "menu", Keys.ESCAPE + "menu", Gdx.app.getType() == ApplicationType.Android ? Keys.BACK : Keys.ESCAPE ); Settings.loadAll("io.anuke.moment"); @@ -65,12 +80,19 @@ public class Control extends RendererModule{ EffectLoader.create(); } + public void clampZoom(){ + targetzoom = Mathf.clamp(targetzoom, 0.5f, 2f); + camera.zoom = Mathf.clamp(camera.zoom, 0.5f, 2f); + } + @Override public void update(){ if(Inputs.keyUp(Keys.ESCAPE) && debug) Gdx.app.exit(); + //camera.zoom = MathUtils.lerp(camera.zoom, targetzoom, 0.5f*delta()); + if(Inputs.keyUp(Keys.SPACE) && debug) Effects.sound("shoot", core.worldx(), core.worldy()); @@ -110,17 +132,26 @@ public class Control extends RendererModule{ } Entities.update(); - - Input.doInput(); + + if(!android){ + Input.doInput(); + }else{ + AndroidInput.doInput(); + } + } - if(core.block() == ProductionBlocks.core) - camera.position.set(player.x, player.y, 0f); - else - camera.position.set(core.worldx(), core.worldy(), 0f); + if(core.block() == ProductionBlocks.core){ + smoothCamera(player.x, player.y, 0.3f); + }else{ + smoothCamera(core.worldx(), core.worldy(), 0.4f); + } updateShake(); clampCamera(-tilesize / 2f, -tilesize / 2f, pixsize - tilesize / 2f, pixsize - tilesize / 2f); + + float lastx = camera.position.x, lasty = camera.position.y; + camera.position.set((int)camera.position.x, (int)camera.position.y, 0); drawDefault(); @@ -129,6 +160,8 @@ public class Control extends RendererModule{ Renderer.renderOverlay(); batch.end(); + camera.position.set(lastx, lasty, 0); + //recoder.update(); } @@ -151,5 +184,8 @@ public class Control extends RendererModule{ rangex = (int) (width / tilesize / cameraScale/2)+2; rangey = (int) (height / tilesize / cameraScale/2)+2; + + AndroidInput.mousex = Gdx.graphics.getWidth()/2; + AndroidInput.mousey = Gdx.graphics.getHeight()/2; } } diff --git a/core/src/io/anuke/mindustry/GameState.java b/core/src/io/anuke/mindustry/GameState.java index 7278fac4d8..204007fb21 100644 --- a/core/src/io/anuke/mindustry/GameState.java +++ b/core/src/io/anuke/mindustry/GameState.java @@ -25,7 +25,10 @@ public class GameState{ wavetime = waveSpacing(); Entities.clear(); enemies = 0; - player.add(); + + if(!android) + player.add(); + player.heal(); Inventory.clearItems(); spawnpoints.clear(); @@ -40,6 +43,8 @@ public class GameState{ player.x = core.worldx(); player.y = core.worldy()-8; + control.camera.position.set(player.x, player.y, 0); + wavetime = waveSpacing(); if(showedTutorial || !Settings.getBool("tutorial")){ diff --git a/core/src/io/anuke/mindustry/Renderer.java b/core/src/io/anuke/mindustry/Renderer.java index 29c3fac154..09fa10f05e 100644 --- a/core/src/io/anuke/mindustry/Renderer.java +++ b/core/src/io/anuke/mindustry/Renderer.java @@ -6,8 +6,10 @@ import com.badlogic.gdx.Input.Buttons; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.math.MathUtils; +import com.badlogic.gdx.math.Vector2; import io.anuke.mindustry.entities.TileEntity; +import io.anuke.mindustry.input.AndroidInput; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.Blocks; import io.anuke.mindustry.world.blocks.ProductionBlocks; @@ -104,11 +106,27 @@ public class Renderer{ public static void renderPixelOverlay(){ - if(recipe != null && !ui.hasMouse()){ - float x = Mathf.round2(Graphics.mouseWorld().x, tilesize); - float y = Mathf.round2(Graphics.mouseWorld().y, tilesize); + if(recipe != null && (!ui.hasMouse() || android)){ + float x = 0; + float y = 0; + + int tilex = 0; + int tiley = 0; + + if(android){ + Vector2 vec = Graphics.world(AndroidInput.mousex, AndroidInput.mousey); + x = Mathf.round2(vec.x, tilesize); + y = Mathf.round2(vec.y, tilesize); + tilex = Mathf.scl2(vec.x, tilesize); + tiley = Mathf.scl2(vec.y, tilesize); + }else{ + x = Mathf.round2(Graphics.mouseWorld().x, tilesize); + y = Mathf.round2(Graphics.mouseWorld().y, tilesize); + tilex = World.tilex(); + tiley = World.tiley(); + } - boolean valid = World.validPlace(World.tilex(), World.tiley(), recipe.result); + boolean valid = World.validPlace(tilex, tiley, recipe.result); Draw.color(valid ? Color.PURPLE : Color.SCARLET); Draw.thickness(2f); @@ -143,6 +161,16 @@ public class Renderer{ Draw.reset(); } } + + if(android && breaktime > 0){ + Tile tile = AndroidInput.selected(); + if(tile.breakable() && tile.block() != ProductionBlocks.core){ + float fract = breaktime / tile.block().breaktime; + Draw.color(Color.YELLOW, Color.SCARLET, fract); + Draw.circle(tile.worldx(), tile.worldy(), 4 + (1f-fract)*26); + Draw.reset(); + } + } if(recipe == null && !ui.hasMouse()){ Tile tile = World.cursorTile(); diff --git a/core/src/io/anuke/mindustry/UI.java b/core/src/io/anuke/mindustry/UI.java index 3a17400b77..d7b7dfd3bf 100644 --- a/core/src/io/anuke/mindustry/UI.java +++ b/core/src/io/anuke/mindustry/UI.java @@ -12,10 +12,12 @@ import com.badlogic.gdx.utils.Align; import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.entities.Weapon; +import io.anuke.mindustry.input.AndroidInput; import io.anuke.mindustry.resource.*; import io.anuke.mindustry.ui.*; import io.anuke.ucore.core.Draw; import io.anuke.ucore.core.Settings; +import io.anuke.ucore.function.Listenable; import io.anuke.ucore.function.VisibilityProvider; import io.anuke.ucore.graphics.Hue; import io.anuke.ucore.graphics.Textures; @@ -30,7 +32,7 @@ import io.anuke.ucore.scene.ui.layout.Table; import io.anuke.ucore.util.Timers; public class UI extends SceneModule{ - Table itemtable, weapontable; + Table itemtable, weapontable, tools; SettingsDialog prefs; KeybindDialog keys; Dialog about, menu, restart, tutorial, levels, upgrades; @@ -164,6 +166,10 @@ public class UI extends SceneModule{ weapontable.bottom(); weapontable.setVisible(play); + if(android){ + weapontable.remove(); + } + build.begin(scene); new table(){{ @@ -229,7 +235,7 @@ public class UI extends SceneModule{ Table tiptable = new Table(); - Runnable run = ()->{ + Listenable run = ()->{ tiptable.clearChildren(); String description = r.result.description(); @@ -253,7 +259,7 @@ public class UI extends SceneModule{ tiptable.pad(10f); }; - run.run(); + run.listen(); Tooltip tip = new Tooltip(tiptable, run); @@ -288,10 +294,11 @@ public class UI extends SceneModule{ row(); - new button("Upgrades", ()->{ - upgrades.show(); - }).uniformX().fillX(); - + if(!android){ + new button("Upgrades", ()->{ + upgrades.show(); + }).uniformX().fillX(); + } get().setVisible(play); }}.end(); @@ -344,7 +351,8 @@ public class UI extends SceneModule{ }}.end(); - //+- table + //if(Gdx.app.getType() != ApplicationType.Android){ + //+- table new table(){{ aleft(); abottom(); @@ -368,6 +376,7 @@ public class UI extends SceneModule{ get().setVisible(play); }}.end(); + //} //menu table new table(){{ @@ -385,12 +394,14 @@ public class UI extends SceneModule{ }).width(w); row(); - - new button("Controls", () -> { - keys.show(scene); - }).width(w); - - row(); + + if(!android){ + new button("Controls", () -> { + keys.show(scene); + }).width(w); + + row(); + } new button("About", () -> { about.show(scene); @@ -427,6 +438,30 @@ public class UI extends SceneModule{ }); }}; }}.end(); + + tools = new Table(); + tools.addIButton("icon-cancel", 42, ()->{ + recipe = null; + }); + tools.addIButton("icon-rotate", 42, ()->{ + rotation++; + + rotation %= 4; + }); + tools.addIButton("icon-check", 42, ()->{ + AndroidInput.place(); + }); + + + scene.add(tools); + + tools.setVisible(()->{ + return playing && android && recipe != null; + }); + + tools.update(()->{ + tools.setPosition(AndroidInput.mousex, Gdx.graphics.getHeight()-AndroidInput.mousey-60, Align.top); + }); updateItems(); diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java index d68def2fde..7f608907b7 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Vars.java @@ -1,5 +1,7 @@ package io.anuke.mindustry; +import com.badlogic.gdx.Application.ApplicationType; +import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Pixmap; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.math.Vector2; @@ -14,9 +16,11 @@ import io.anuke.mindustry.world.Tile; /**ick, global state*/ public class Vars{ + public static final boolean android = (Gdx.app.getType() == ApplicationType.Android); + public static final float placerange = 66; public static final float respawnduration = 60*4; - public static final float wavespace = 20*60; + public static final float wavespace = 20*60*(android ? 2 : 1); public static final float enemyspawnspace = 65; public static boolean debug = false; @@ -77,7 +81,23 @@ public class Vars{ "[YELLOW][[L-MOUSE][] to shoot.", "[yellow][[scrollwheel] to switch weapons.", "", - "[GOLD]Every 20 seconds, a new wave will appear.", + "[GOLD]Every "+wavespace/60+" seconds, a new wave will appear.", + "Build turrets to defend the core.", + "If the core is destroyed, you lose the game.", + "", + "[LIME]To collect building resources, move them into the core with conveyors.", + "[LIME]Place [ORANGE]drills[] on the right material,they will automatically mine material", + "and dump it to nearby conveyors or turrets.", + "", + "[SCARLET]To produce steel, feed coal and iron into a smelter." + }; + + public static String[] androidTutorialText = { + "[GREEN]Default Controls:", + "[WHITE]Use [YELLOW]one finger[] to pan the camera, or two while placing blocks.", + "[YELLOW]Hold and tap[] to destroy blocks.", + "", + "[GOLD]Every "+wavespace/60+" seconds, a new wave will appear.", "Build turrets to defend the core.", "If the core is destroyed, you lose the game.", "", diff --git a/core/src/io/anuke/mindustry/World.java b/core/src/io/anuke/mindustry/World.java index bfa44ba4e6..af1c521fcf 100644 --- a/core/src/io/anuke/mindustry/World.java +++ b/core/src/io/anuke/mindustry/World.java @@ -105,7 +105,7 @@ public class World{ public static boolean validPlace(int x, int y, Block type){ - if(!cursorNear()) + if(!cursorNear() && !android) return false; for(Tile spawn : spawnpoints){ diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index d7b513dc20..408c51c8a7 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -42,6 +42,7 @@ public class Player extends DestructibleEntity{ @Override public void update(){ + float speed = this.speed; if(Vars.debug) diff --git a/core/src/io/anuke/mindustry/input/AndroidInput.java b/core/src/io/anuke/mindustry/input/AndroidInput.java new file mode 100644 index 0000000000..b24d88e24f --- /dev/null +++ b/core/src/io/anuke/mindustry/input/AndroidInput.java @@ -0,0 +1,121 @@ +package io.anuke.mindustry.input; + +import static io.anuke.mindustry.Vars.*; + +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.Input.Keys; +import com.badlogic.gdx.InputAdapter; +import com.badlogic.gdx.math.Vector2; + +import io.anuke.mindustry.Inventory; +import io.anuke.mindustry.World; +import io.anuke.mindustry.resource.ItemStack; +import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.blocks.Blocks; +import io.anuke.mindustry.world.blocks.ProductionBlocks; +import io.anuke.ucore.core.Effects; +import io.anuke.ucore.core.Graphics; +import io.anuke.ucore.core.Sounds; +import io.anuke.ucore.scene.utils.Cursors; +import io.anuke.ucore.util.Mathf; + +public class AndroidInput extends InputAdapter{ + public static float mousex, mousey; + private static float lmousex, lmousey; + private static float warmup; + private static float warmupDelay = 20; + + @Override + public boolean keyDown (int keycode) { + if(keycode == Keys.E){ + place(); + } + return false; + } + + @Override + public boolean touchDown (int screenX, int screenY, int pointer, int button) { + if(pointer == 0){ + lmousex = screenX; + lmousey = screenY; + } + warmup = 0; + return false; + } + + public static Tile selected(){ + Vector2 vec = Graphics.world(mousex, mousey); + return World.tile(Mathf.scl2(vec.x, tilesize), Mathf.scl2(vec.y, tilesize)); + } + + public static void breakBlock(){ + Tile tile = selected(); + breaktime += Mathf.delta(); + if(breaktime >= tile.block().breaktime){ + Effects.effect("break", tile.worldx(), tile.worldy()); + Effects.shake(3f, 1f); + tile.setBlock(Blocks.air); + breaktime = 0f; + Sounds.play("break"); + } + } + + public static void place(){ + Vector2 vec = Graphics.world(mousex, mousey); + + int tilex = Mathf.scl2(vec.x, tilesize); + int tiley = Mathf.scl2(vec.y, tilesize); + + if(recipe != null && + World.validPlace(tilex, tiley, recipe.result)){ + + Tile tile = World.tile(tilex, tiley); + + if(tile == null) + return; //just in case + + tile.setBlock(recipe.result); + tile.rotation = rotation; + + Effects.effect("place", tilex*tilesize, tiley*tilesize); + Effects.shake(2f, 2f); + Sounds.play("place"); + + for(ItemStack stack : recipe.requirements){ + Inventory.removeItem(stack); + } + + if(!Inventory.hasItems(recipe.requirements)){ + recipe = null; + Cursors.restoreCursor(); + } + } + } + + public static void doInput(){ + if(Gdx.input.isTouched(0) + && Mathf.near2d(lmousex, lmousey, Gdx.input.getX(0), Gdx.input.getY(0), 50) + && !ui.hasMouse() && recipe == null){ + warmup += Mathf.delta(); + + mousex = Gdx.input.getX(0); + mousey = Gdx.input.getY(0); + + Tile sel = selected(); + + if(warmup > warmupDelay && sel.block() != ProductionBlocks.core && sel.breakable()){ + breaktime += Mathf.delta(); + + if(breaktime > selected().block().breaktime){ + breakBlock(); + breaktime = 0; + } + } + }else{ + warmup = 0; + lmousex = Gdx.input.getX(0); + lmousey = Gdx.input.getY(0); + breaktime = 0; + } + } +} diff --git a/core/src/io/anuke/mindustry/input/GestureHandler.java b/core/src/io/anuke/mindustry/input/GestureHandler.java new file mode 100644 index 0000000000..a49afc6158 --- /dev/null +++ b/core/src/io/anuke/mindustry/input/GestureHandler.java @@ -0,0 +1,99 @@ +package io.anuke.mindustry.input; + +import static io.anuke.mindustry.Vars.*; + +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.input.GestureDetector.GestureAdapter; +import com.badlogic.gdx.math.Vector2; + +import io.anuke.mindustry.World; +import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.blocks.Blocks; +import io.anuke.ucore.core.Effects; +import io.anuke.ucore.core.Sounds; +import io.anuke.ucore.util.Mathf; + +public class GestureHandler extends GestureAdapter{ + Vector2 pinch1 = new Vector2(-1, -1), pinch2 = pinch1.cpy(); + Vector2 vector = new Vector2(); + float initzoom = -1; + + @Override + public boolean longPress(float x, float y){ + Tile tile = World.cursorTile(); + breaktime += Mathf.delta(); + if(breaktime >= tile.block().breaktime){ + Effects.effect("break", tile.worldx(), tile.worldy()); + Effects.shake(3f, 1f); + tile.setBlock(Blocks.air); + breaktime = 0f; + Sounds.play("break"); + } + return false; + } + + @Override + public boolean pan(float x, float y, float deltaX, float deltaY){ + if(recipe == null){ + player.x -= deltaX*control.camera.zoom/control.cameraScale; + player.y += deltaY*control.camera.zoom/control.cameraScale; + }else{ + AndroidInput.mousex += deltaX; + AndroidInput.mousey += deltaY; + } + + return false; + } + + + + @Override + public boolean pinch (Vector2 initialPointer1, Vector2 initialPointer2, Vector2 pointer1, Vector2 pointer2) { + if(recipe == null) + return false; + + if(pinch1.x < 0){ + pinch1.set(initialPointer1); + pinch2.set(initialPointer2); + } + + Vector2 vec = (vector.set(pointer1).add(pointer2).scl(0.5f)).sub(pinch1.add(pinch2).scl(0.5f)); + + player.x -= vec.x*control.camera.zoom/control.cameraScale; + player.y += vec.y*control.camera.zoom/control.cameraScale; + + pinch1.set(pointer1); + pinch2.set(pointer2); + + return false; + } + + @Override + public boolean zoom(float initialDistance, float distance){ + + if(initzoom <= 0) + initzoom = initialDistance; + + control.targetzoom /= (distance/initzoom); + control.clampZoom(); + control.camera.update(); + + initzoom = distance; + + return false; + } + + @Override + public void pinchStop () { + initzoom = -1; + pinch2.set(pinch1.set(-1, -1)); + } + + int touches(){ + int sum = 0; + for(int i = 0; i < 10; i ++){ + if(Gdx.input.isTouched(i)) sum++; + } + return sum; + } +} diff --git a/core/src/io/anuke/mindustry/Input.java b/core/src/io/anuke/mindustry/input/Input.java similarity index 96% rename from core/src/io/anuke/mindustry/Input.java rename to core/src/io/anuke/mindustry/input/Input.java index b46d97d770..ed2a430e23 100644 --- a/core/src/io/anuke/mindustry/Input.java +++ b/core/src/io/anuke/mindustry/input/Input.java @@ -1,10 +1,12 @@ -package io.anuke.mindustry; +package io.anuke.mindustry.input; import static io.anuke.mindustry.Vars.*; import com.badlogic.gdx.Input.Buttons; import com.badlogic.gdx.Input.Keys; +import io.anuke.mindustry.Inventory; +import io.anuke.mindustry.World; import io.anuke.mindustry.entities.Weapon; import io.anuke.mindustry.resource.ItemStack; import io.anuke.mindustry.world.Tile; diff --git a/core/src/io/anuke/mindustry/ui/TutorialDialog.java b/core/src/io/anuke/mindustry/ui/TutorialDialog.java index 9d44eff94c..8ff86c5aae 100644 --- a/core/src/io/anuke/mindustry/ui/TutorialDialog.java +++ b/core/src/io/anuke/mindustry/ui/TutorialDialog.java @@ -8,7 +8,7 @@ import io.anuke.ucore.scene.ui.TextDialog; public class TutorialDialog extends TextDialog{ public TutorialDialog(){ - super("Tutorial", tutorialText); + super("Tutorial", android ? androidTutorialText : tutorialText); setup(); } diff --git a/core/src/io/anuke/mindustry/ui/UpgradeDialog.java b/core/src/io/anuke/mindustry/ui/UpgradeDialog.java index 3004410b44..8643e219f2 100644 --- a/core/src/io/anuke/mindustry/ui/UpgradeDialog.java +++ b/core/src/io/anuke/mindustry/ui/UpgradeDialog.java @@ -9,6 +9,7 @@ import io.anuke.mindustry.entities.Weapon; import io.anuke.mindustry.resource.ItemStack; import io.anuke.ucore.core.Draw; import io.anuke.ucore.core.Effects; +import io.anuke.ucore.function.Listenable; import io.anuke.ucore.scene.event.Touchable; import io.anuke.ucore.scene.ui.*; import io.anuke.ucore.scene.ui.layout.Table; @@ -71,7 +72,7 @@ public class UpgradeDialog extends Dialog{ Table tiptable = new Table(); - Runnable run = ()->{ + Listenable run = ()->{ tiptable.clearChildren(); String description = weapon.description; @@ -100,7 +101,7 @@ public class UpgradeDialog extends Dialog{ tiptable.pad(10f); }; - run.run(); + run.listen(); Tooltip tip = new Tooltip(tiptable, run); @@ -114,7 +115,7 @@ public class UpgradeDialog extends Dialog{ Inventory.removeItems(weapon.requirements); weapons.put(weapon, true); ui.updateWeapons(); - run.run(); + run.listen(); Effects.sound("purchase"); }); } diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index 7b8094008f..fbed23f177 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -160,10 +160,8 @@ public class Block{ if(floor.id <= this.id) continue; - TextureRegion region = Draw.region(floor.name() + "edge"); - - if(region == null) - region = Draw.region(floor.edge + "edge"); + TextureRegion region = Draw.hasRegion(floor.name() + "edge") ? Draw.region(floor.name() + "edge") : + Draw.region(floor.edge + "edge"); int sx = -dx*8+2, sy = -dy*8+2; int x = Mathf.clamp(sx, 0, 12); diff --git a/core/src/io/anuke/ucore/function/ActionProvider.java b/core/src/io/anuke/ucore/function/ActionProvider.java new file mode 100644 index 0000000000..b21bf03b93 --- /dev/null +++ b/core/src/io/anuke/ucore/function/ActionProvider.java @@ -0,0 +1,7 @@ +package io.anuke.ucore.function; + +import io.anuke.ucore.scene.Action; + +public interface ActionProvider{ + public Action get(); +} diff --git a/core/src/io/anuke/ucore/function/ButtonTweaker.java b/core/src/io/anuke/ucore/function/ButtonTweaker.java new file mode 100644 index 0000000000..a7ea0fb6d6 --- /dev/null +++ b/core/src/io/anuke/ucore/function/ButtonTweaker.java @@ -0,0 +1,7 @@ +package io.anuke.ucore.function; + +import io.anuke.ucore.scene.ui.TextButton; + +public interface ButtonTweaker{ + public void tweak(TextButton button); +} diff --git a/core/src/io/anuke/ucore/function/Callable.java b/core/src/io/anuke/ucore/function/Callable.java new file mode 100644 index 0000000000..8b4e399eb2 --- /dev/null +++ b/core/src/io/anuke/ucore/function/Callable.java @@ -0,0 +1,5 @@ +package io.anuke.ucore.function; + +public interface Callable{ + public void run(); +} diff --git a/core/src/io/anuke/ucore/function/CheckListenable.java b/core/src/io/anuke/ucore/function/CheckListenable.java new file mode 100644 index 0000000000..fd71dfb0a4 --- /dev/null +++ b/core/src/io/anuke/ucore/function/CheckListenable.java @@ -0,0 +1,5 @@ +package io.anuke.ucore.function; + +public interface CheckListenable{ + public void listen(boolean checked); +} diff --git a/core/src/io/anuke/ucore/function/ColorListenable.java b/core/src/io/anuke/ucore/function/ColorListenable.java new file mode 100644 index 0000000000..72aa5f0577 --- /dev/null +++ b/core/src/io/anuke/ucore/function/ColorListenable.java @@ -0,0 +1,7 @@ +package io.anuke.ucore.function; + +import com.badlogic.gdx.graphics.Color; + +public interface ColorListenable{ + public void changed(Color color); +} diff --git a/core/src/io/anuke/ucore/function/Consumer.java b/core/src/io/anuke/ucore/function/Consumer.java new file mode 100644 index 0000000000..1799b048a5 --- /dev/null +++ b/core/src/io/anuke/ucore/function/Consumer.java @@ -0,0 +1,5 @@ +package io.anuke.ucore.function; + +public interface Consumer{ + public void accept(T t); +} diff --git a/core/src/io/anuke/ucore/function/EffectRenderer.java b/core/src/io/anuke/ucore/function/EffectRenderer.java new file mode 100644 index 0000000000..826b390d16 --- /dev/null +++ b/core/src/io/anuke/ucore/function/EffectRenderer.java @@ -0,0 +1,7 @@ +package io.anuke.ucore.function; + +import io.anuke.ucore.entities.Effect; + +public interface EffectRenderer{ + public void render(Effect effect); +} diff --git a/core/src/io/anuke/ucore/function/FieldListenable.java b/core/src/io/anuke/ucore/function/FieldListenable.java new file mode 100644 index 0000000000..a16ca9c1d3 --- /dev/null +++ b/core/src/io/anuke/ucore/function/FieldListenable.java @@ -0,0 +1,5 @@ +package io.anuke.ucore.function; + +public interface FieldListenable{ + public void listen(String text); +} diff --git a/core/src/io/anuke/ucore/function/KeyListenable.java b/core/src/io/anuke/ucore/function/KeyListenable.java new file mode 100644 index 0000000000..40d4caf8be --- /dev/null +++ b/core/src/io/anuke/ucore/function/KeyListenable.java @@ -0,0 +1,5 @@ +package io.anuke.ucore.function; + +public interface KeyListenable{ + public void pressed(int key); +} diff --git a/core/src/io/anuke/ucore/function/Listenable.java b/core/src/io/anuke/ucore/function/Listenable.java new file mode 100644 index 0000000000..f77a4dcb87 --- /dev/null +++ b/core/src/io/anuke/ucore/function/Listenable.java @@ -0,0 +1,6 @@ +package io.anuke.ucore.function; + +/**Listener lambda class.*/ +public interface Listenable{ + public void listen(); +} diff --git a/core/src/io/anuke/ucore/function/PositionConsumer.java b/core/src/io/anuke/ucore/function/PositionConsumer.java new file mode 100644 index 0000000000..86c855eb63 --- /dev/null +++ b/core/src/io/anuke/ucore/function/PositionConsumer.java @@ -0,0 +1,5 @@ +package io.anuke.ucore.function; + +public interface PositionConsumer{ + public void accept(float x, float y); +} diff --git a/core/src/io/anuke/ucore/function/Predicate.java b/core/src/io/anuke/ucore/function/Predicate.java new file mode 100644 index 0000000000..8a741c4d1b --- /dev/null +++ b/core/src/io/anuke/ucore/function/Predicate.java @@ -0,0 +1,5 @@ +package io.anuke.ucore.function; + +public interface Predicate{ + public boolean test(T t); +} diff --git a/core/src/io/anuke/ucore/function/StringProcessor.java b/core/src/io/anuke/ucore/function/StringProcessor.java new file mode 100644 index 0000000000..ff4bc44cf4 --- /dev/null +++ b/core/src/io/anuke/ucore/function/StringProcessor.java @@ -0,0 +1,5 @@ +package io.anuke.ucore.function; + +public interface StringProcessor{ + public String get(int i); +} diff --git a/core/src/io/anuke/ucore/function/StringSupplier.java b/core/src/io/anuke/ucore/function/StringSupplier.java new file mode 100644 index 0000000000..cf04609aca --- /dev/null +++ b/core/src/io/anuke/ucore/function/StringSupplier.java @@ -0,0 +1,5 @@ +package io.anuke.ucore.function; + +public interface StringSupplier{ + public String get(); +} diff --git a/core/src/io/anuke/ucore/function/TileCollider.java b/core/src/io/anuke/ucore/function/TileCollider.java new file mode 100644 index 0000000000..3cd67b2771 --- /dev/null +++ b/core/src/io/anuke/ucore/function/TileCollider.java @@ -0,0 +1,6 @@ +package io.anuke.ucore.function; + +public interface TileCollider{ + public boolean solid(int x, int y); +} + diff --git a/core/src/io/anuke/ucore/function/TileHitboxProvider.java b/core/src/io/anuke/ucore/function/TileHitboxProvider.java new file mode 100644 index 0000000000..328cd3984c --- /dev/null +++ b/core/src/io/anuke/ucore/function/TileHitboxProvider.java @@ -0,0 +1,7 @@ +package io.anuke.ucore.function; + +import com.badlogic.gdx.math.Rectangle; + +public interface TileHitboxProvider{ + public void getHitbox(int x, int y, Rectangle out); +} diff --git a/core/src/io/anuke/ucore/function/TypingListenable.java b/core/src/io/anuke/ucore/function/TypingListenable.java new file mode 100644 index 0000000000..104bd09e19 --- /dev/null +++ b/core/src/io/anuke/ucore/function/TypingListenable.java @@ -0,0 +1,5 @@ +package io.anuke.ucore.function; + +public interface TypingListenable{ + public void typed(char c); +} diff --git a/core/src/io/anuke/ucore/function/VisibilityProvider.java b/core/src/io/anuke/ucore/function/VisibilityProvider.java new file mode 100644 index 0000000000..9b6daa84ba --- /dev/null +++ b/core/src/io/anuke/ucore/function/VisibilityProvider.java @@ -0,0 +1,5 @@ +package io.anuke.ucore.function; + +public interface VisibilityProvider{ + public boolean visible(); +} diff --git a/gradle.properties b/gradle.properties index 339fa1508b..bad4dbbeee 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true -org.gradle.jvmargs=-Xms128m -Xmx1500m +org.gradle.jvmargs=-Xms1024m -Xmx2048m org.gradle.configureondemand=true diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b902acb8dd..9760ad1d54 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sat Sep 21 13:08:26 CEST 2013 +#Sun May 28 16:07:17 EDT 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip +distributionUrl=http\://services.gradle.org/distributions/gradle-3.5-rc-3-all.zip diff --git a/settings.gradle b/settings.gradle index 56a7af46b1..e90e722ddb 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -include 'desktop', 'html', 'core' +include 'desktop', 'html', 'core', 'android' diff --git a/ui/blank.png b/ui/blank.png new file mode 100644 index 0000000000..b2f9501f47 Binary files /dev/null and b/ui/blank.png differ diff --git a/ui/border-circle-error.png b/ui/border-circle-error.png new file mode 100644 index 0000000000..6aaeb4ecba Binary files /dev/null and b/ui/border-circle-error.png differ diff --git a/ui/border-circle.png b/ui/border-circle.png new file mode 100644 index 0000000000..1d9c9bb057 Binary files /dev/null and b/ui/border-circle.png differ diff --git a/ui/border-dark-blue.9.png b/ui/border-dark-blue.9.png new file mode 100644 index 0000000000..59a7443282 Binary files /dev/null and b/ui/border-dark-blue.9.png differ diff --git a/ui/border-error.9.png b/ui/border-error.9.png new file mode 100644 index 0000000000..996a663927 Binary files /dev/null and b/ui/border-error.9.png differ diff --git a/ui/border-white.9.png b/ui/border-white.9.png new file mode 100644 index 0000000000..e5d219eef9 Binary files /dev/null and b/ui/border-white.9.png differ diff --git a/ui/border.9.png b/ui/border.9.png new file mode 100644 index 0000000000..6e0dea69e0 Binary files /dev/null and b/ui/border.9.png differ diff --git a/ui/bump.9.png b/ui/bump.9.png new file mode 100644 index 0000000000..12a1b3d66b Binary files /dev/null and b/ui/bump.9.png differ diff --git a/ui/button-blue-down.9.png b/ui/button-blue-down.9.png new file mode 100644 index 0000000000..bd14b14179 Binary files /dev/null and b/ui/button-blue-down.9.png differ diff --git a/ui/button-blue-over.9.png b/ui/button-blue-over.9.png new file mode 100644 index 0000000000..071dc99259 Binary files /dev/null and b/ui/button-blue-over.9.png differ diff --git a/ui/button-blue.9.png b/ui/button-blue.9.png new file mode 100644 index 0000000000..7364829a7a Binary files /dev/null and b/ui/button-blue.9.png differ diff --git a/ui/button-down.9.png b/ui/button-down.9.png new file mode 100644 index 0000000000..dd54656563 Binary files /dev/null and b/ui/button-down.9.png differ diff --git a/ui/button-gray-over.9.png b/ui/button-gray-over.9.png new file mode 100644 index 0000000000..31a904acba Binary files /dev/null and b/ui/button-gray-over.9.png differ diff --git a/ui/button-gray.9.png b/ui/button-gray.9.png new file mode 100644 index 0000000000..d47e70b84f Binary files /dev/null and b/ui/button-gray.9.png differ diff --git a/ui/button-map-down.9.png b/ui/button-map-down.9.png new file mode 100644 index 0000000000..b34035f63c Binary files /dev/null and b/ui/button-map-down.9.png differ diff --git a/ui/button-map-over.9.png b/ui/button-map-over.9.png new file mode 100644 index 0000000000..02b2542e97 Binary files /dev/null and b/ui/button-map-over.9.png differ diff --git a/ui/button-map.9.png b/ui/button-map.9.png new file mode 100644 index 0000000000..0162270254 Binary files /dev/null and b/ui/button-map.9.png differ diff --git a/ui/button-over.9.png b/ui/button-over.9.png new file mode 100644 index 0000000000..9d1144c6ac Binary files /dev/null and b/ui/button-over.9.png differ diff --git a/ui/button-red.9.png b/ui/button-red.9.png new file mode 100644 index 0000000000..1bebf700e4 Binary files /dev/null and b/ui/button-red.9.png differ diff --git a/ui/button-select.9.png b/ui/button-select.9.png new file mode 100644 index 0000000000..4d793ce8fe Binary files /dev/null and b/ui/button-select.9.png differ diff --git a/ui/button-window-bg.9.png b/ui/button-window-bg.9.png new file mode 100644 index 0000000000..564a70a904 Binary files /dev/null and b/ui/button-window-bg.9.png differ diff --git a/ui/button-window-over.9.png b/ui/button-window-over.9.png new file mode 100644 index 0000000000..2e45f28378 Binary files /dev/null and b/ui/button-window-over.9.png differ diff --git a/ui/button.9.png b/ui/button.9.png new file mode 100644 index 0000000000..e3f0d440f2 Binary files /dev/null and b/ui/button.9.png differ diff --git a/ui/check-off.png b/ui/check-off.png new file mode 100644 index 0000000000..d73a1a6e1f Binary files /dev/null and b/ui/check-off.png differ diff --git a/ui/check-on.png b/ui/check-on.png new file mode 100644 index 0000000000..f1d36ec60c Binary files /dev/null and b/ui/check-on.png differ diff --git a/ui/check-over.png b/ui/check-over.png new file mode 100644 index 0000000000..d0fe60dbba Binary files /dev/null and b/ui/check-over.png differ diff --git a/ui/clear.png b/ui/clear.png new file mode 100644 index 0000000000..a38cc5d663 Binary files /dev/null and b/ui/clear.png differ diff --git a/ui/color-picker-bar-selector.png b/ui/color-picker-bar-selector.png new file mode 100644 index 0000000000..84e626e0e2 Binary files /dev/null and b/ui/color-picker-bar-selector.png differ diff --git a/ui/color-picker-cross.png b/ui/color-picker-cross.png new file mode 100644 index 0000000000..70489c4919 Binary files /dev/null and b/ui/color-picker-cross.png differ diff --git a/ui/color-picker-selector-horizontal.png b/ui/color-picker-selector-horizontal.png new file mode 100644 index 0000000000..8b6025462f Binary files /dev/null and b/ui/color-picker-selector-horizontal.png differ diff --git a/ui/color-picker-selector-vertical.png b/ui/color-picker-selector-vertical.png new file mode 100644 index 0000000000..c36d51297c Binary files /dev/null and b/ui/color-picker-selector-vertical.png differ diff --git a/ui/cursor-normal.png b/ui/cursor-normal.png new file mode 100644 index 0000000000..7724fe99db Binary files /dev/null and b/ui/cursor-normal.png differ diff --git a/ui/cursor.png b/ui/cursor.png new file mode 100644 index 0000000000..67ff25cb9a Binary files /dev/null and b/ui/cursor.png differ diff --git a/ui/default-pane-no-border.9.png b/ui/default-pane-no-border.9.png new file mode 100644 index 0000000000..d2c3e66a49 Binary files /dev/null and b/ui/default-pane-no-border.9.png differ diff --git a/ui/default-pane.9.png b/ui/default-pane.9.png new file mode 100644 index 0000000000..6ff8c37650 Binary files /dev/null and b/ui/default-pane.9.png differ diff --git a/ui/default-select-selection.9.png b/ui/default-select-selection.9.png new file mode 100644 index 0000000000..faa20b6bb8 Binary files /dev/null and b/ui/default-select-selection.9.png differ diff --git a/ui/default-select.9.png b/ui/default-select.9.png new file mode 100644 index 0000000000..c837c8313e Binary files /dev/null and b/ui/default-select.9.png differ diff --git a/ui/grey.png b/ui/grey.png new file mode 100644 index 0000000000..d57b4a1bb5 Binary files /dev/null and b/ui/grey.png differ diff --git a/ui/icon-cancel.png b/ui/icon-cancel.png new file mode 100644 index 0000000000..bf4c7ed9a0 Binary files /dev/null and b/ui/icon-cancel.png differ diff --git a/ui/icon-check.png b/ui/icon-check.png new file mode 100644 index 0000000000..b3958fa59e Binary files /dev/null and b/ui/icon-check.png differ diff --git a/ui/icon-close-down.png b/ui/icon-close-down.png new file mode 100644 index 0000000000..204c2eb911 Binary files /dev/null and b/ui/icon-close-down.png differ diff --git a/ui/icon-close-over.png b/ui/icon-close-over.png new file mode 100644 index 0000000000..e526739fb6 Binary files /dev/null and b/ui/icon-close-over.png differ diff --git a/ui/icon-close.png b/ui/icon-close.png new file mode 100644 index 0000000000..02b26e0a25 Binary files /dev/null and b/ui/icon-close.png differ diff --git a/ui/icon-defense.png b/ui/icon-defense.png new file mode 100644 index 0000000000..003074bc56 Binary files /dev/null and b/ui/icon-defense.png differ diff --git a/ui/icon-distribution.png b/ui/icon-distribution.png new file mode 100644 index 0000000000..0c1ea5112e Binary files /dev/null and b/ui/icon-distribution.png differ diff --git a/ui/icon-production.png b/ui/icon-production.png new file mode 100644 index 0000000000..2191bedfac Binary files /dev/null and b/ui/icon-production.png differ diff --git a/ui/icon-rotate.png b/ui/icon-rotate.png new file mode 100644 index 0000000000..50ca4688dd Binary files /dev/null and b/ui/icon-rotate.png differ diff --git a/ui/list-selection.png b/ui/list-selection.png new file mode 100644 index 0000000000..c31c5175b0 Binary files /dev/null and b/ui/list-selection.png differ diff --git a/ui/menu-bg.png b/ui/menu-bg.png new file mode 100644 index 0000000000..d57b4a1bb5 Binary files /dev/null and b/ui/menu-bg.png differ diff --git a/ui/padded-list-selection.9.png b/ui/padded-list-selection.9.png new file mode 100644 index 0000000000..9e6045b908 Binary files /dev/null and b/ui/padded-list-selection.9.png differ diff --git a/ui/progressbar-filled-vertical.png b/ui/progressbar-filled-vertical.png new file mode 100644 index 0000000000..6713cc9ea9 Binary files /dev/null and b/ui/progressbar-filled-vertical.png differ diff --git a/ui/progressbar-filled.png b/ui/progressbar-filled.png new file mode 100644 index 0000000000..50f58e3535 Binary files /dev/null and b/ui/progressbar-filled.png differ diff --git a/ui/progressbar-vertical.png b/ui/progressbar-vertical.png new file mode 100644 index 0000000000..adeec047fe Binary files /dev/null and b/ui/progressbar-vertical.png differ diff --git a/ui/progressbar.png b/ui/progressbar.png new file mode 100644 index 0000000000..439795f5d5 Binary files /dev/null and b/ui/progressbar.png differ diff --git a/ui/radio-off.png b/ui/radio-off.png new file mode 100644 index 0000000000..6b418cf4ea Binary files /dev/null and b/ui/radio-off.png differ diff --git a/ui/radio-on.png b/ui/radio-on.png new file mode 100644 index 0000000000..8192c2d22f Binary files /dev/null and b/ui/radio-on.png differ diff --git a/ui/scroll-horizontal.9.png b/ui/scroll-horizontal.9.png new file mode 100644 index 0000000000..6569566c4b Binary files /dev/null and b/ui/scroll-horizontal.9.png differ diff --git a/ui/scroll-knob-horizontal.9.png b/ui/scroll-knob-horizontal.9.png new file mode 100644 index 0000000000..2b898da798 Binary files /dev/null and b/ui/scroll-knob-horizontal.9.png differ diff --git a/ui/scroll-knob-vertical.9.png b/ui/scroll-knob-vertical.9.png new file mode 100644 index 0000000000..36f994e9c9 Binary files /dev/null and b/ui/scroll-knob-vertical.9.png differ diff --git a/ui/scroll.9.png b/ui/scroll.9.png new file mode 100644 index 0000000000..efbaeea0e3 Binary files /dev/null and b/ui/scroll.9.png differ diff --git a/ui/select-box-list-bg.png b/ui/select-box-list-bg.png new file mode 100644 index 0000000000..640981b220 Binary files /dev/null and b/ui/select-box-list-bg.png differ diff --git a/ui/select-down.png b/ui/select-down.png new file mode 100644 index 0000000000..4390d83447 Binary files /dev/null and b/ui/select-down.png differ diff --git a/ui/select-up.png b/ui/select-up.png new file mode 100644 index 0000000000..67fcb85d76 Binary files /dev/null and b/ui/select-up.png differ diff --git a/ui/selection.png b/ui/selection.png new file mode 100644 index 0000000000..e779aea9b1 Binary files /dev/null and b/ui/selection.png differ diff --git a/ui/separator-menu.png b/ui/separator-menu.png new file mode 100644 index 0000000000..5c633eb1c7 Binary files /dev/null and b/ui/separator-menu.png differ diff --git a/ui/separator.png b/ui/separator.png new file mode 100644 index 0000000000..114704cbce Binary files /dev/null and b/ui/separator.png differ diff --git a/ui/slider-knob-disabled.png b/ui/slider-knob-disabled.png new file mode 100644 index 0000000000..7bbf8cabc5 Binary files /dev/null and b/ui/slider-knob-disabled.png differ diff --git a/ui/slider-knob-down.png b/ui/slider-knob-down.png new file mode 100644 index 0000000000..369c253da6 Binary files /dev/null and b/ui/slider-knob-down.png differ diff --git a/ui/slider-knob-over.png b/ui/slider-knob-over.png new file mode 100644 index 0000000000..dce3813656 Binary files /dev/null and b/ui/slider-knob-over.png differ diff --git a/ui/slider-knob.png b/ui/slider-knob.png new file mode 100644 index 0000000000..9e7bd21cc6 Binary files /dev/null and b/ui/slider-knob.png differ diff --git a/ui/slider-vertical.png b/ui/slider-vertical.png new file mode 100644 index 0000000000..e4139783a0 Binary files /dev/null and b/ui/slider-vertical.png differ diff --git a/ui/slider.png b/ui/slider.png new file mode 100644 index 0000000000..7986f4f53b Binary files /dev/null and b/ui/slider.png differ diff --git a/ui/slot.9.png b/ui/slot.9.png new file mode 100644 index 0000000000..66d175ec16 Binary files /dev/null and b/ui/slot.9.png differ diff --git a/ui/splitpane-over.png b/ui/splitpane-over.png new file mode 100644 index 0000000000..feaf4d9010 Binary files /dev/null and b/ui/splitpane-over.png differ diff --git a/ui/splitpane-vertical-over.png b/ui/splitpane-vertical-over.png new file mode 100644 index 0000000000..211cba34aa Binary files /dev/null and b/ui/splitpane-vertical-over.png differ diff --git a/ui/splitpane-vertical.png b/ui/splitpane-vertical.png new file mode 100644 index 0000000000..4328d75f8d Binary files /dev/null and b/ui/splitpane-vertical.png differ diff --git a/ui/splitpane.png b/ui/splitpane.png new file mode 100644 index 0000000000..ff4820d685 Binary files /dev/null and b/ui/splitpane.png differ diff --git a/ui/sub-menu.png b/ui/sub-menu.png new file mode 100644 index 0000000000..43fe36b6b3 Binary files /dev/null and b/ui/sub-menu.png differ diff --git a/ui/textfield-over.9.png b/ui/textfield-over.9.png new file mode 100644 index 0000000000..3fe1f1ec4f Binary files /dev/null and b/ui/textfield-over.9.png differ diff --git a/ui/textfield.9.png b/ui/textfield.9.png new file mode 100644 index 0000000000..fda1b6679a Binary files /dev/null and b/ui/textfield.9.png differ diff --git a/ui/tooltip-bg.9.png b/ui/tooltip-bg.9.png new file mode 100644 index 0000000000..00ddecbbb2 Binary files /dev/null and b/ui/tooltip-bg.9.png differ diff --git a/ui/touchpad-knob.png b/ui/touchpad-knob.png new file mode 100644 index 0000000000..48b9c26339 Binary files /dev/null and b/ui/touchpad-knob.png differ diff --git a/ui/tree-minus.png b/ui/tree-minus.png new file mode 100644 index 0000000000..cbfe2436a5 Binary files /dev/null and b/ui/tree-minus.png differ diff --git a/ui/tree-over.png b/ui/tree-over.png new file mode 100644 index 0000000000..114704cbce Binary files /dev/null and b/ui/tree-over.png differ diff --git a/ui/tree-plus.png b/ui/tree-plus.png new file mode 100644 index 0000000000..9aafc6b9c7 Binary files /dev/null and b/ui/tree-plus.png differ diff --git a/ui/tree-selection.9.png b/ui/tree-selection.9.png new file mode 100644 index 0000000000..9721e9ed9e Binary files /dev/null and b/ui/tree-selection.9.png differ diff --git a/ui/white.png b/ui/white.png new file mode 100644 index 0000000000..ba9bf827c1 Binary files /dev/null and b/ui/white.png differ diff --git a/ui/window-bg.png b/ui/window-bg.png new file mode 100644 index 0000000000..640981b220 Binary files /dev/null and b/ui/window-bg.png differ diff --git a/ui/window-border-bg.9.png b/ui/window-border-bg.9.png new file mode 100644 index 0000000000..aba4bf1526 Binary files /dev/null and b/ui/window-border-bg.9.png differ diff --git a/ui/window-gray.9.png b/ui/window-gray.9.png new file mode 100644 index 0000000000..36c4fc6ca5 Binary files /dev/null and b/ui/window-gray.9.png differ diff --git a/ui/window-noborder.9.png b/ui/window-noborder.9.png new file mode 100644 index 0000000000..e73c7cab58 Binary files /dev/null and b/ui/window-noborder.9.png differ diff --git a/ui/window-resizable.9.png b/ui/window-resizable.9.png new file mode 100644 index 0000000000..59839b9515 Binary files /dev/null and b/ui/window-resizable.9.png differ diff --git a/ui/window.9.png b/ui/window.9.png new file mode 100644 index 0000000000..8bb4f278ae Binary files /dev/null and b/ui/window.9.png differ