From 20eea3b3856684879d48c23b839bf5d17936305f Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 1 Jan 2018 16:09:17 -0500 Subject: [PATCH] Switched to different Kryonet fork; full Android support --- .../io/anuke/mindustry/AndroidLauncher.java | 3 + build.gradle | 2 +- .../assets-raw/sprites/ui/icons/icon-host.png | Bin 0 -> 193 bytes core/assets/bundles/bundle.properties | 3 +- core/assets/sprites/sprites.atlas | 455 +++++++++--------- core/assets/sprites/sprites.png | Bin 80835 -> 81725 bytes core/src/io/anuke/mindustry/Vars.java | 1 + core/src/io/anuke/mindustry/core/Control.java | 5 + .../io/anuke/mindustry/core/NetClient.java | 31 +- .../io/anuke/mindustry/core/NetServer.java | 54 ++- .../src/io/anuke/mindustry/core/Renderer.java | 6 +- core/src/io/anuke/mindustry/core/UI.java | 21 +- .../io/anuke/mindustry/entities/Player.java | 31 +- .../anuke/mindustry/input/GestureHandler.java | 2 +- core/src/io/anuke/mindustry/io/NetworkIO.java | 13 +- core/src/io/anuke/mindustry/io/Saves.java | 6 +- core/src/io/anuke/mindustry/net/Net.java | 2 + core/src/io/anuke/mindustry/net/Packets.java | 16 +- .../io/anuke/mindustry/net/Registrator.java | 2 + core/src/io/anuke/mindustry/net/Syncable.java | 5 +- .../src/io/anuke/mindustry/ui/MenuDialog.java | 27 +- .../mindustry/ui/fragments/HudFragment.java | 8 + .../mindustry/ui/fragments/MenuFragment.java | 2 +- .../blocks/types/distribution/Conveyor.java | 24 +- kryonet/build/libs/kryonet-release.jar | Bin 0 -> 7637 bytes kryonet/build/tmp/jar/MANIFEST.MF | 2 + kryonet/src/io/anuke/kryonet/KryoServer.java | 5 + 27 files changed, 416 insertions(+), 310 deletions(-) create mode 100644 core/assets-raw/sprites/ui/icons/icon-host.png create mode 100644 kryonet/build/libs/kryonet-release.jar create mode 100644 kryonet/build/tmp/jar/MANIFEST.MF diff --git a/android/src/io/anuke/mindustry/AndroidLauncher.java b/android/src/io/anuke/mindustry/AndroidLauncher.java index ebd5f40d5f..660caabb4e 100644 --- a/android/src/io/anuke/mindustry/AndroidLauncher.java +++ b/android/src/io/anuke/mindustry/AndroidLauncher.java @@ -7,6 +7,7 @@ import android.os.Bundle; import android.telephony.TelephonyManager; import com.badlogic.gdx.backends.android.AndroidApplication; import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration; +import com.esotericsoftware.minlog.Log; import io.anuke.kryonet.KryoClient; import io.anuke.kryonet.KryoServer; import io.anuke.mindustry.io.PlatformFunction; @@ -64,6 +65,8 @@ public class AndroidLauncher extends AndroidApplication{ config.hideStatusBar = true; + Log.set(Log.LEVEL_DEBUG); + Net.setClientProvider(new KryoClient()); Net.setServerProvider(new KryoServer()); diff --git a/build.gradle b/build.gradle index e737d3b7cf..52d19a7b29 100644 --- a/build.gradle +++ b/build.gradle @@ -114,7 +114,7 @@ project(":kryonet") { dependencies { compile project(":core") - compile "com.esotericsoftware:kryonet:2.22.0-RC1" + compile 'com.github.crykn:kryonet:2.22.1' } } diff --git a/core/assets-raw/sprites/ui/icons/icon-host.png b/core/assets-raw/sprites/ui/icons/icon-host.png new file mode 100644 index 0000000000000000000000000000000000000000..82d5d2d1530a21f310f67abe1e93c4ac8e5cd363 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xawj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&pI!kx@v?`0m`6J3t{nPZ!4!jq_J0dU7!+@Gu)+_+P(s z-l~8*`j6&JVY}>d<>1}dk}o`6#NIKSIOLL^aMLz_?z69X%oD}>O{U+S6Bst-ar;x7 i6B)wWHRb<4Hf2@%E3LxJx7QzNGJ~h9pUXO@geCyk8b3Dx literal 0 HcmV?d00001 diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 291bf3401e..229b0e804c 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -13,8 +13,9 @@ text.loadgame=Load Game text.joingame=Join Game text.quit=Quit text.server.connected=A player has joined. -text.server.disconnected=A player has disconnected. +text.server.disconnected={0} has disconnected. text.hostserver=Host Server +text.host=Host text.joingame.title=Join Game text.joingame.ip=IP: text.disconnect=Disconnected. diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index f1f4d17a0e..8d8c150fcc 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -27,49 +27,49 @@ blocks/blackrock1 index: -1 blocks/blackrockshadow1 rotate: false - xy: 315, 91 + xy: 482, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstone1 rotate: false - xy: 315, 81 + xy: 988, 485 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstone2 rotate: false - xy: 325, 91 + xy: 998, 485 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstone3 rotate: false - xy: 325, 81 + xy: 1008, 485 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstoneblock1 rotate: false - xy: 335, 91 + xy: 841, 473 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstoneblock2 rotate: false - xy: 335, 81 + xy: 841, 463 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstoneblock3 rotate: false - xy: 345, 91 + xy: 851, 473 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -83,7 +83,7 @@ blocks/blackstoneedge index: -1 blocks/block rotate: false - xy: 355, 91 + xy: 861, 473 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -111,119 +111,119 @@ blocks/chainturret index: -1 blocks/chainturret-icon rotate: false - xy: 123, 79 + xy: 109, 35 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/coal1 rotate: false - xy: 193, 63 + xy: 871, 473 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coal2 rotate: false - xy: 203, 63 + xy: 871, 463 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coal3 rotate: false - xy: 213, 63 + xy: 881, 473 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coaldrill rotate: false - xy: 223, 63 + xy: 881, 463 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coalgenerator rotate: false - xy: 233, 63 + xy: 891, 473 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coalgenerator-top rotate: false - xy: 243, 63 + xy: 891, 463 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coalpurifier rotate: false - xy: 253, 63 + xy: 901, 473 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/combustiongenerator rotate: false - xy: 263, 63 + xy: 901, 463 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/compositewall rotate: false - xy: 273, 63 + xy: 911, 473 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conduit rotate: false - xy: 283, 63 + xy: 911, 463 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conduitbottom rotate: false - xy: 293, 63 + xy: 921, 473 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conduitliquid rotate: false - xy: 303, 67 + xy: 921, 463 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conduittop rotate: false - xy: 531, 136 + xy: 931, 473 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conveyor rotate: false - xy: 527, 126 + xy: 931, 463 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conveyormove rotate: false - xy: 365, 95 + xy: 941, 473 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conveyortunnel rotate: false - xy: 365, 85 + xy: 941, 463 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -237,42 +237,42 @@ blocks/core index: -1 blocks/cross rotate: false - xy: 375, 95 + xy: 951, 473 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/crucible rotate: false - xy: 375, 85 + xy: 951, 463 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/deepwater rotate: false - xy: 385, 95 + xy: 961, 473 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/dirt1 rotate: false - xy: 385, 85 + xy: 961, 463 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/dirt2 rotate: false - xy: 395, 95 + xy: 971, 473 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/dirt3 rotate: false - xy: 395, 85 + xy: 971, 463 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -286,7 +286,7 @@ blocks/dirtedge index: -1 blocks/door rotate: false - xy: 405, 95 + xy: 851, 453 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -300,7 +300,7 @@ blocks/door-large index: -1 blocks/door-large-icon rotate: false - xy: 405, 85 + xy: 861, 453 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -314,21 +314,21 @@ blocks/door-large-open index: -1 blocks/door-open rotate: false - xy: 415, 95 + xy: 871, 453 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/doubleturret rotate: false - xy: 123, 67 + xy: 95, 7 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/duriumwall rotate: false - xy: 415, 85 + xy: 881, 453 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -342,266 +342,266 @@ blocks/duriumwall-large index: -1 blocks/duriumwall-large-icon rotate: false - xy: 425, 95 + xy: 891, 453 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/enemyspawn rotate: false - xy: 425, 85 + xy: 901, 453 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/flameturret rotate: false - xy: 135, 79 + xy: 536, 181 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/fluxpump rotate: false - xy: 435, 85 + xy: 921, 453 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grass1 rotate: false - xy: 445, 95 + xy: 931, 453 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grass2 rotate: false - xy: 445, 85 + xy: 941, 453 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grass3 rotate: false - xy: 455, 95 + xy: 951, 453 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grassblock1 rotate: false - xy: 455, 85 + xy: 961, 453 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grassblock2 rotate: false - xy: 465, 95 + xy: 971, 453 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grassedge rotate: false - xy: 136, 91 + xy: 152, 91 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/ice1 rotate: false - xy: 465, 85 + xy: 981, 473 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/ice2 rotate: false - xy: 475, 95 + xy: 981, 463 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/ice3 rotate: false - xy: 475, 85 + xy: 981, 453 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iceedge rotate: false - xy: 150, 91 + xy: 166, 91 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/icerock1 rotate: false - xy: 524, 107 + xy: 991, 475 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/icerock2 rotate: false - xy: 786, 393 + xy: 991, 465 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/icerockshadow1 rotate: false - xy: 796, 393 + xy: 1001, 475 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rockshadow1 rotate: false - xy: 796, 393 + xy: 1001, 475 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/icerockshadow2 rotate: false - xy: 844, 485 + xy: 991, 455 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rockshadow2 rotate: false - xy: 844, 485 + xy: 991, 455 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iron1 rotate: false - xy: 924, 485 + xy: 512, 82 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iron2 rotate: false - xy: 934, 485 + xy: 522, 82 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iron3 rotate: false - xy: 944, 485 + xy: 801, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/irondrill rotate: false - xy: 954, 485 + xy: 811, 445 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/ironwall rotate: false - xy: 964, 485 + xy: 821, 445 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/junction rotate: false - xy: 974, 485 + xy: 831, 445 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/laserturret rotate: false - xy: 243, 85 + xy: 844, 483 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/lava rotate: false - xy: 984, 485 + xy: 841, 444 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/lavaedge rotate: false - xy: 164, 91 + xy: 95, 75 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/lavasmelter rotate: false - xy: 994, 485 + xy: 851, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/liquiditemjunction rotate: false - xy: 1004, 485 + xy: 861, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/liquidjunction rotate: false - xy: 1014, 485 + xy: 871, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/liquidrouter rotate: false - xy: 841, 475 + xy: 881, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/machineturret rotate: false - xy: 243, 73 + xy: 856, 483 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/megarepairturret rotate: false - xy: 255, 85 + xy: 868, 483 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/mortarturret rotate: false - xy: 255, 73 + xy: 880, 483 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/mossblock rotate: false - xy: 851, 475 + xy: 901, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/mossstone rotate: false - xy: 851, 475 + xy: 901, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -622,7 +622,7 @@ blocks/nuclearreactor-center index: -1 blocks/nuclearreactor-icon rotate: false - xy: 851, 465 + xy: 921, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -643,196 +643,196 @@ blocks/nuclearreactor-small index: -1 blocks/oil rotate: false - xy: 861, 475 + xy: 931, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/oiledge rotate: false - xy: 95, 61 + xy: 109, 75 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/oilrefinery rotate: false - xy: 851, 455 + xy: 941, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/omnidrill rotate: false - xy: 861, 465 + xy: 951, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/plasmaturret rotate: false - xy: 267, 85 + xy: 892, 483 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/playerspawn rotate: false - xy: 871, 475 + xy: 961, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerbooster rotate: false - xy: 861, 455 + xy: 971, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/poweredconveyor rotate: false - xy: 871, 465 + xy: 981, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/poweredconveyormove rotate: false - xy: 881, 475 + xy: 991, 445 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerlaser rotate: false - xy: 871, 455 + xy: 1001, 445 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerlasercorner rotate: false - xy: 881, 465 + xy: 1011, 445 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerlaserrouter rotate: false - xy: 891, 475 + xy: 109, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pulseconduit rotate: false - xy: 881, 455 + xy: 736, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pulseconduitbottom rotate: false - xy: 891, 465 + xy: 740, 371 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pulseconduittop rotate: false - xy: 901, 475 + xy: 740, 361 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pump rotate: false - xy: 891, 455 + xy: 740, 351 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/repairturret rotate: false - xy: 267, 73 + xy: 904, 483 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/rock1 rotate: false - xy: 911, 475 + xy: 740, 331 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rock2 rotate: false - xy: 901, 455 + xy: 740, 321 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/router rotate: false - xy: 911, 465 + xy: 798, 393 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rtgenerator rotate: false - xy: 921, 475 + xy: 180, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rtgenerator-top rotate: false - xy: 911, 455 + xy: 190, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sand1 rotate: false - xy: 921, 465 + xy: 200, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sand2 rotate: false - xy: 931, 475 + xy: 210, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sand3 rotate: false - xy: 921, 455 + xy: 220, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandblock1 rotate: false - xy: 931, 465 + xy: 230, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandblock2 rotate: false - xy: 941, 475 + xy: 240, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandblock3 rotate: false - xy: 931, 455 + xy: 250, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -846,126 +846,126 @@ blocks/sandedge index: -1 blocks/shadow rotate: false - xy: 279, 85 + xy: 916, 483 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/shieldgenerator rotate: false - xy: 951, 475 + xy: 270, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/shotgunturret rotate: false - xy: 279, 73 + xy: 928, 483 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/shrub rotate: false - xy: 961, 475 + xy: 527, 126 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/shrubshadow rotate: false - xy: 951, 455 + xy: 527, 116 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/smelter rotate: false - xy: 961, 465 + xy: 524, 106 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sniperturret rotate: false - xy: 291, 85 + xy: 940, 483 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/snow1 rotate: false - xy: 971, 475 + xy: 362, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snow2 rotate: false - xy: 961, 455 + xy: 372, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snow3 rotate: false - xy: 971, 465 + xy: 382, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowblock1 rotate: false - xy: 981, 475 + xy: 392, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowblock2 rotate: false - xy: 971, 455 + xy: 402, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowblock3 rotate: false - xy: 981, 465 + xy: 412, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowedge rotate: false - xy: 95, 19 + xy: 95, 33 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/sorter rotate: false - xy: 991, 475 + xy: 422, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/steelconveyor rotate: false - xy: 981, 455 + xy: 432, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/steelconveyormove rotate: false - xy: 991, 465 + xy: 442, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/steelwall rotate: false - xy: 1001, 475 + xy: 452, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -979,98 +979,98 @@ blocks/steelwall-large index: -1 blocks/steelwall-large-icon rotate: false - xy: 991, 455 + xy: 462, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stone1 rotate: false - xy: 1001, 465 + xy: 472, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stone2 rotate: false - xy: 1011, 475 + xy: 482, 76 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stone3 rotate: false - xy: 1001, 455 + xy: 492, 72 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock1 rotate: false - xy: 1011, 465 + xy: 502, 72 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock2 rotate: false - xy: 1011, 455 + xy: 512, 72 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock3 rotate: false - xy: 533, 178 + xy: 522, 72 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stonedrill rotate: false - xy: 537, 168 + xy: 107, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneedge rotate: false - xy: 109, 77 + xy: 109, 47 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/stoneformer rotate: false - xy: 537, 158 + xy: 746, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stonewall rotate: false - xy: 537, 148 + xy: 750, 371 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/teleporter rotate: false - xy: 801, 443 + xy: 750, 361 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/teleporter-top rotate: false - xy: 811, 445 + xy: 750, 351 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/thermalgenerator rotate: false - xy: 821, 445 + xy: 750, 341 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1084,56 +1084,56 @@ blocks/titancannon index: -1 blocks/titancannon-icon rotate: false - xy: 291, 73 + xy: 952, 483 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/titanium1 rotate: false - xy: 831, 445 + xy: 750, 331 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titanium2 rotate: false - xy: 841, 445 + xy: 750, 321 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titanium3 rotate: false - xy: 851, 445 + xy: 740, 311 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumdrill rotate: false - xy: 861, 445 + xy: 750, 311 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumpurifier rotate: false - xy: 871, 445 + xy: 734, 301 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumshieldwall rotate: false - xy: 881, 445 + xy: 744, 301 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumwall rotate: false - xy: 891, 445 + xy: 754, 301 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1147,77 +1147,77 @@ blocks/titaniumwall-large index: -1 blocks/titaniumwall-large-icon rotate: false - xy: 901, 445 + xy: 528, 96 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/turret rotate: false - xy: 303, 89 + xy: 964, 483 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/uranium1 rotate: false - xy: 931, 445 + xy: 532, 86 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/uranium2 rotate: false - xy: 941, 445 + xy: 532, 76 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/uranium3 rotate: false - xy: 951, 445 + xy: 542, 86 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/uraniumdrill rotate: false - xy: 961, 445 + xy: 542, 76 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/water rotate: false - xy: 971, 445 + xy: 756, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/wateredge rotate: false - xy: 109, 63 + xy: 95, 19 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/waveturret rotate: false - xy: 303, 77 + xy: 976, 483 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 bullet rotate: false - xy: 355, 81 + xy: 861, 463 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 chainbullet rotate: false - xy: 183, 64 + xy: 841, 454 size: 8, 7 orig: 8, 7 offset: 0, 0 @@ -1294,14 +1294,14 @@ enemies/targetenemy-t1 index: -1 enemies/enemy-t2 rotate: false - xy: 108, 91 + xy: 124, 91 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 enemies/enemy-t3 rotate: false - xy: 122, 91 + xy: 138, 91 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -1392,63 +1392,63 @@ enemies/healerenemy-t3 index: -1 enemies/mortarenemy-t1 rotate: false - xy: 738, 412 + xy: 738, 396 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/mortarenemy-t2 rotate: false - xy: 738, 396 + xy: 754, 414 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/mortarenemy-t3 rotate: false - xy: 754, 414 + xy: 754, 398 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/rapidenemy-t1 rotate: false - xy: 754, 398 + xy: 770, 414 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/rapidenemy-t2 rotate: false - xy: 770, 414 + xy: 770, 398 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/rapidenemy-t3 rotate: false - xy: 770, 398 + xy: 786, 419 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/tankenemy-t1 rotate: false - xy: 786, 419 + xy: 786, 403 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/tankenemy-t2 rotate: false - xy: 786, 403 + xy: 92, 89 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/tankenemy-t3 rotate: false - xy: 92, 89 + xy: 108, 89 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -1476,63 +1476,63 @@ enemies/titanenemy-t3 index: -1 enemyarrow rotate: false - xy: 527, 117 + xy: 482, 86 size: 8, 7 orig: 8, 7 offset: 0, 0 index: -1 icon-coal rotate: false - xy: 854, 485 + xy: 1001, 465 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-dirium rotate: false - xy: 864, 485 + xy: 1001, 455 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-iron rotate: false - xy: 874, 485 + xy: 1011, 475 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-steel rotate: false - xy: 884, 485 + xy: 1011, 465 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-stone rotate: false - xy: 894, 485 + xy: 1011, 455 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-titanium rotate: false - xy: 904, 485 + xy: 492, 82 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-uranium rotate: false - xy: 914, 485 + xy: 502, 82 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laser rotate: false - xy: 178, 91 + xy: 533, 178 size: 1, 12 orig: 1, 12 offset: 0, 0 @@ -1553,42 +1553,42 @@ laserfull index: -1 mechs/mech-standard rotate: false - xy: 95, 75 + xy: 95, 61 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mechs/ship-standard rotate: false - xy: 95, 33 + xy: 109, 61 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 shell rotate: false - xy: 941, 465 + xy: 260, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shot rotate: false - xy: 941, 455 + xy: 280, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shot-long rotate: false - xy: 951, 465 + xy: 290, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanshell rotate: false - xy: 911, 445 + xy: 534, 106 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1687,14 +1687,14 @@ ui/check-over index: -1 ui/clear rotate: false - xy: 109, 51 + xy: 109, 23 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/cursor rotate: false - xy: 69, 3 + xy: 734, 311 size: 4, 4 orig: 4, 4 offset: 0, 0 @@ -1715,7 +1715,7 @@ ui/icons/icon-add index: -1 ui/icons/icon-areaDelete rotate: false - xy: 109, 39 + xy: 537, 169 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1729,28 +1729,28 @@ ui/icons/icon-arrow index: -1 ui/icons/icon-arrow-down rotate: false - xy: 135, 67 + xy: 537, 157 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-arrow-left rotate: false - xy: 147, 79 + xy: 537, 145 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-arrow-right rotate: false - xy: 109, 27 + xy: 786, 391 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-arrow-up rotate: false - xy: 147, 67 + xy: 302, 89 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1799,21 +1799,21 @@ ui/icons/icon-close-over index: -1 ui/icons/icon-crafting rotate: false - xy: 159, 79 + xy: 314, 89 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-cursor rotate: false - xy: 159, 67 + xy: 326, 89 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-defense rotate: false - xy: 95, 7 + xy: 338, 89 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1827,7 +1827,7 @@ ui/icons/icon-discord index: -1 ui/icons/icon-distribution rotate: false - xy: 109, 15 + xy: 350, 89 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1897,14 +1897,14 @@ ui/icons/icon-grid index: -1 ui/icons/icon-hold rotate: false - xy: 171, 79 + xy: 362, 93 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-holdDelete rotate: false - xy: 171, 67 + xy: 374, 93 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1916,9 +1916,16 @@ ui/icons/icon-home orig: 14, 14 offset: 0, 0 index: -1 +ui/icons/icon-host + rotate: false + xy: 631, 204 + size: 14, 14 + orig: 14, 14 + offset: 0, 0 + index: -1 ui/icons/icon-info rotate: false - xy: 107, 3 + xy: 386, 93 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1932,7 +1939,7 @@ ui/icons/icon-line index: -1 ui/icons/icon-load rotate: false - xy: 631, 204 + xy: 647, 227 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -1960,21 +1967,21 @@ ui/icons/icon-loading index: -1 ui/icons/icon-menu rotate: false - xy: 183, 85 + xy: 398, 93 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-none rotate: false - xy: 183, 73 + xy: 410, 93 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-pause rotate: false - xy: 195, 85 + xy: 422, 93 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1995,35 +2002,35 @@ ui/icons/icon-pick index: -1 ui/icons/icon-play rotate: false - xy: 195, 73 + xy: 434, 93 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-play-2 rotate: false - xy: 647, 227 + xy: 647, 211 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icons/icon-power rotate: false - xy: 207, 85 + xy: 446, 93 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-production rotate: false - xy: 207, 73 + xy: 458, 93 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-quit rotate: false - xy: 647, 211 + xy: 647, 195 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2037,7 +2044,7 @@ ui/icons/icon-redo index: -1 ui/icons/icon-rename rotate: false - xy: 647, 195 + xy: 631, 188 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2051,35 +2058,35 @@ ui/icons/icon-resize index: -1 ui/icons/icon-rotate rotate: false - xy: 631, 188 + xy: 647, 179 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icons/icon-rotate-arrow rotate: false - xy: 647, 179 + xy: 722, 411 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icons/icon-rotate-left rotate: false - xy: 722, 411 + xy: 722, 395 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icons/icon-rotate-right rotate: false - xy: 722, 395 + xy: 724, 365 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icons/icon-save rotate: false - xy: 724, 365 + xy: 724, 349 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2100,7 +2107,7 @@ ui/icons/icon-save-map index: -1 ui/icons/icon-settings rotate: false - xy: 219, 85 + xy: 470, 93 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2114,35 +2121,35 @@ ui/icons/icon-terrain index: -1 ui/icons/icon-tools rotate: false - xy: 724, 349 + xy: 724, 333 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icons/icon-touch rotate: false - xy: 219, 73 + xy: 492, 92 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-touchDelete rotate: false - xy: 231, 85 + xy: 504, 92 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-trash rotate: false - xy: 724, 333 + xy: 724, 317 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icons/icon-tutorial rotate: false - xy: 724, 317 + xy: 738, 412 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2156,7 +2163,7 @@ ui/icons/icon-undo index: -1 ui/icons/icon-weapon rotate: false - xy: 231, 73 + xy: 516, 92 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2234,7 +2241,7 @@ ui/scroll-knob-vertical-black index: -1 ui/selection rotate: false - xy: 524, 117 + xy: 592, 284 size: 1, 1 orig: 1, 1 offset: 0, 0 @@ -2313,7 +2320,7 @@ ui/textfield-over index: -1 ui/white rotate: false - xy: 535, 188 + xy: 738, 391 size: 3, 3 orig: 3, 3 offset: 0, 0 @@ -2336,42 +2343,42 @@ ui/window-empty index: -1 weapons/blaster rotate: false - xy: 345, 81 + xy: 851, 463 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/flamer rotate: false - xy: 435, 95 + xy: 911, 453 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/mortar rotate: false - xy: 841, 465 + xy: 891, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/multigun rotate: false - xy: 841, 455 + xy: 911, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/railgun rotate: false - xy: 901, 465 + xy: 740, 341 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/triblaster rotate: false - xy: 921, 445 + xy: 538, 96 size: 8, 8 orig: 8, 8 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 62f0be40b92f41d04403af42e891a55b1fd0a084..c0118c8038984b37824f50caf93b9834f8faab0c 100644 GIT binary patch literal 81725 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

Mq-zx&Zm9N4^nncym+>Ur+Wu>CT}J}8xuwPVwb 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

-R|pe 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 literal 80835 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

h2xrbJ|!_*K`CU&iuHnn8IWy=j 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 L*cg`>y5IRfC=!{+ diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java index 4dde75ca9c..572770fa43 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Vars.java @@ -43,6 +43,7 @@ public class Vars{ public static final int zoomScale = Math.round(Unit.dp.scl(1)); //if true, player speed will be increased, massive amounts of resources will be given on start, and other debug options will be available public static boolean debug = false; + public static boolean debugNet = false; //whether the player can clip through walls public static boolean noclip = false; //whether to draw chunk borders diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index 8e7bce2f43..949695e2bf 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -194,6 +194,7 @@ public class Control extends Module{ } player = new Player(); + player.isAndroid = Vars.android; player.isLocal = true; spawns = WaveCreator.getSpawns(); @@ -397,6 +398,10 @@ public class Control extends Module{ } public void coreDestroyed(){ + if(Net.active() && Net.server()){ + Net.closeServer(); + } + Effects.shake(5, 6, Core.camera.position.x, Core.camera.position.y); Sounds.play("corexplode"); for(int i = 0; i < 16; i ++){ diff --git a/core/src/io/anuke/mindustry/core/NetClient.java b/core/src/io/anuke/mindustry/core/NetClient.java index f037d272f9..34307b80a8 100644 --- a/core/src/io/anuke/mindustry/core/NetClient.java +++ b/core/src/io/anuke/mindustry/core/NetClient.java @@ -1,6 +1,7 @@ package io.anuke.mindustry.core; import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.utils.TimeUtils; import com.badlogic.gdx.utils.reflect.ClassReflection; import com.badlogic.gdx.utils.reflect.ReflectionException; import io.anuke.mindustry.Vars; @@ -33,7 +34,7 @@ import java.util.Arrays; public class NetClient extends Module { boolean connecting = false; boolean gotEntities = false; - float playerSyncTime = 3; + float playerSyncTime = 2; public NetClient(){ @@ -44,6 +45,11 @@ public class NetClient extends Module { Vars.ui.hideLoading(); Vars.ui.showLoading("$text.connecting.data"); }); + + ConnectPacket c = new ConnectPacket(); + c.name = UCore.getProperty("user.name"); + c.android = Vars.android; + Net.send(c, SendMode.tcp); }); Net.handle(Disconnect.class, packet -> { @@ -98,7 +104,7 @@ public class NetClient extends Module { int id = packet.ids[i]; if(id != Vars.player.id){ Entity entity = null; - if(id >= packet.enemyStart){ + if(i >= packet.enemyStart){ entity = Vars.control.enemyGroup.getByID(id); }else { entity = Vars.control.playerGroup.getByID(id); @@ -106,7 +112,10 @@ public class NetClient extends Module { Syncable sync = ((Syncable)entity); - if(sync == null) continue; + if(sync == null){ + Gdx.app.error("Mindustry", "Unknown entity ID: " + id + " " + (i >= packet.enemyStart ? "(enemy)" : "(player)")); + continue; + } //augh ((Interpolator)sync.getInterpolator()).type.read(entity, packet.data[i]); @@ -136,6 +145,8 @@ public class NetClient extends Module { } Vars.control.setWaveData(packet.enemies, packet.wave, packet.countdown); + Timers.resetTime(packet.time + (float)(TimeUtils.timeSinceMillis(packet.timestamp) / 1000.0 * 60.0)); + Gdx.app.postRunnable(() -> { Vars.ui.updateItems(); }); @@ -217,6 +228,18 @@ public class NetClient extends Module { e.printStackTrace(); } }); + + Net.handle(DisconnectPacket.class, packet -> { + Player player = Vars.control.playerGroup.getByID(packet.playerid); + + if(player != null){ + player.remove(); + } + }); + + Net.handle(Player.class, player -> { + player.add(); + }); } public void update(){ @@ -259,7 +282,7 @@ public class NetClient extends Module { if(Timers.get("syncPlayer", playerSyncTime)){ PositionPacket packet = new PositionPacket(); packet.data = Vars.player.getInterpolator().type.write(Vars.player); - Net.send(packet, SendMode.tcp); //TODO udp instead? + Net.send(packet, SendMode.udp); //TODO udp instead? } } } diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java index 016618912a..a74777fff3 100644 --- a/core/src/io/anuke/mindustry/core/NetServer.java +++ b/core/src/io/anuke/mindustry/core/NetServer.java @@ -4,6 +4,7 @@ import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.utils.IntArray; import com.badlogic.gdx.utils.IntMap; +import com.badlogic.gdx.utils.TimeUtils; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.BulletType; @@ -24,6 +25,7 @@ import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.core.Timers; import io.anuke.ucore.entities.Entity; import io.anuke.ucore.modules.Module; +import io.anuke.ucore.util.Bundles; import io.anuke.ucore.util.Mathf; import java.io.ByteArrayInputStream; @@ -39,8 +41,14 @@ public class NetServer extends Module{ public NetServer(){ - Net.handleServer(Connect.class, packet -> { - UCore.log("Sending world data to client (ID="+packet.id+"/"+packet.addressTCP+")"); + Net.handleServer(Connect.class, connect -> { + UCore.log("Connection found: " + connect.addressTCP); + }); + + Net.handleServer(ConnectPacket.class, packet -> { + int id = Net.getLastConnection(); + + UCore.log("Sending world data to client (ID="+id+")"); WorldData data = new WorldData(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); @@ -51,7 +59,7 @@ public class NetServer extends Module{ //TODO compress and uncompress when sending data.stream = new ByteArrayInputStream(stream.toByteArray()); - Net.sendStream(packet.id, data); + Net.sendStream(id, data); Gdx.app.postRunnable(() -> { Vars.ui.showInfo("$text.server.connected"); @@ -59,25 +67,38 @@ public class NetServer extends Module{ EntityDataPacket dp = new EntityDataPacket(); Player player = new Player(); - player.clientid = packet.id; + player.clientid = id; + player.name = packet.name; + player.isAndroid = packet.android; player.set(Vars.control.core.worldx(), Vars.control.core.worldy() - Vars.tilesize*2); player.add(); - connections.put(packet.id, player); + connections.put(id, player); dp.playerid = player.id; dp.players = Vars.control.playerGroup.all().toArray(Player.class); UCore.log("Sending entities: " + Arrays.toString(dp.players)); - //TODO send pathfind positions - //TODO save enemy nodes + Net.sendExcept(id, player, SendMode.tcp); - Net.sendTo(packet.id, dp, SendMode.tcp); + Net.sendTo(id, dp, SendMode.tcp); }); }); Net.handleServer(Disconnect.class, packet -> { - Gdx.app.postRunnable(() -> Vars.ui.showInfo("$text.server.disconnected")); + Player player = connections.get(packet.id); + + if(player == null) { + Gdx.app.postRunnable(() -> Vars.ui.showInfo(Bundles.format("text.server.disconnected", ""))); + return; + } + + Gdx.app.postRunnable(() -> Vars.ui.showInfo(Bundles.format("text.server.disconnected", player.name))); + + DisconnectPacket dc = new DisconnectPacket(); + dc.playerid = player.id; + + Net.send(dc, SendMode.tcp); }); Net.handleServer(PositionPacket.class, pos -> { @@ -200,7 +221,7 @@ public class NetServer extends Module{ packet.ids = new int[amount]; packet.data = new float[amount][0]; - int index = 0; + short index = 0; for(Player player : Vars.control.playerGroup.all()){ float[] out = player.getInterpolator().type.write(player); @@ -229,23 +250,24 @@ public class NetServer extends Module{ packet.countdown = Vars.control.getWaveCountdown(); packet.enemies = Vars.control.getEnemiesRemaining(); packet.wave = Vars.control.getWave(); + packet.time = Timers.time(); + packet.timestamp = TimeUtils.millis(); Net.send(packet, SendMode.udp); } if(Timers.get("serverBlockSync", blockSyncTime)){ - BlockSyncPacket packet = new BlockSyncPacket(); IntArray connections = Net.getConnections(); for(int i = 0; i < connections.size; i ++){ int id = connections.get(i); - Player player = this.connections.get(i); + Player player = this.connections.get(id); if(player == null) continue; int x = Mathf.scl2(player.x, Vars.tilesize); int y = Mathf.scl2(player.y, Vars.tilesize); - int w = 14; - int h = 10; + int w = 16; + int h = 12; sendBlockSync(id, x, y, w, h); } @@ -270,7 +292,7 @@ public class NetServer extends Module{ byte times = 0; for(; times < tile.entity.timer.getTimes().length; times ++){ - if(tile.entity.timer.getTimes()[times] > 0){ + if(tile.entity.timer.getTimes()[times] <= 1f){ break; } } @@ -278,7 +300,7 @@ public class NetServer extends Module{ stream.writeByte(times); for(int i = 0; i < times; i ++){ - stream.writeFloat(tile.entity.timer.getTimes()[times]); + stream.writeFloat(tile.entity.timer.getTimes()[i]); } tile.entity.write(stream); diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index 4d9afffd38..9236def916 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -418,10 +418,8 @@ public class Renderer extends RendererModule{ drawHealth(entity); } - if(!Vars.android && Vars.showPlayer) { - for(Player player : Vars.control.playerGroup.all()){ - if(!player.isDead()) drawHealth(player); - } + for(Player player : Vars.control.playerGroup.all()){ + if(!player.isDead() && !player.isAndroid) drawHealth(player); } } } diff --git a/core/src/io/anuke/mindustry/core/UI.java b/core/src/io/anuke/mindustry/core/UI.java index fb374ab12b..fe12ea4369 100644 --- a/core/src/io/anuke/mindustry/core/UI.java +++ b/core/src/io/anuke/mindustry/core/UI.java @@ -181,10 +181,12 @@ public class UI extends SceneModule{ join = new FloatingDialog("$text.joingame.title"); join.content().add("$text.joingame.ip").left(); - join.content().addField("localhost", text -> lastip = text).size(180f, 54f); + Mindustry.platforms.addDialog(join.content().addField("localhost", text -> lastip = text).size(180f, 54f).get()); join.content().row(); join.content().add("$text.server.port").left(); - join.content().addField(Vars.port + "", new DigitsOnlyFilter(), text -> lastport = Strings.parseInt(text)).size(180f, 54f); + Mindustry.platforms.addDialog(join.content() + .addField(Vars.port + "", new DigitsOnlyFilter(), text -> lastport = Strings.parseInt(text)) + .size(180f, 54f).get()); join.buttons().defaults().size(140f, 60f).pad(4f); join.buttons().addButton("$text.cancel", join::hide); join.buttons().addButton("$text.ok", () -> { @@ -472,6 +474,21 @@ public class UI extends SceneModule{ public void showInfo(String info){ scene.table().add(info).get().getParent().actions(Actions.fadeOut(4f), Actions.removeActor()); } + + public void showHostServer(){ + showTextInput("$text.hostserver", "$text.server.port", Vars.port + "", new DigitsOnlyFilter(), text -> { + int result = Strings.parseInt(text); + if(result == Integer.MIN_VALUE || result >= 65535){ + Vars.ui.showError("$text.server.invalidport"); + }else{ + try{ + Net.host(result); + }catch (IOException e){ + Vars.ui.showError(Bundles.format("text.server.error", Strings.parseException(e, false))); + } + } + }); + } public void showAbout(){ about.show(); diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index b4cba08ad4..10543d8e95 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -11,6 +11,7 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.Blocks; import io.anuke.ucore.core.*; import io.anuke.ucore.entities.DestructibleEntity; +import io.anuke.ucore.entities.SolidEntity; import io.anuke.ucore.util.Angles; import io.anuke.ucore.util.Mathf; @@ -19,10 +20,14 @@ import static io.anuke.mindustry.Vars.*; public class Player extends DestructibleEntity implements Syncable{ private static final float speed = 1.1f; private static final float dashSpeed = 1.8f; - + + public String name = "player name"; public transient Weapon weapon = Weapon.blaster; public Mech mech = Mech.standard; public float angle; + public boolean isAndroid; + + public transient float targetAngle = 0f; public transient int clientid; public transient boolean isLocal = false; @@ -43,15 +48,20 @@ public class Player extends DestructibleEntity implements Syncable{ } @Override - public Interpolator getInterpolator() { + public Interpolator getInterpolator() { return inter; } @Override public void damage(int amount){ - if(!Vars.debug && !Vars.android) + if(!Vars.debug) super.damage(amount); } + + @Override + public boolean collides(SolidEntity other){ + return super.collides(other) && !isAndroid; + } @Override public void onDeath(){ @@ -79,9 +89,13 @@ public class Player extends DestructibleEntity implements Syncable{ @Override public void draw(){ - if((Vars.debug && (!Vars.showPlayer || !Vars.showUI)) || (Vars.android && isLocal)) return; + if(isAndroid && isLocal){ + angle = Mathf.lerpAngDelta(angle, targetAngle, 0.2f); + } - String part = Vars.android ? "ship" : "mech"; + if((Vars.debug && (!Vars.showPlayer || !Vars.showUI)) || (isAndroid && isLocal)) return; + + String part = isAndroid ? "ship" : "mech"; if(Vars.snapCamera && Settings.getBool("smoothcam") && Settings.getBool("pixelate")){ Draw.rect(part+"-"+mech.name(), (int)x, (int)y, angle-90); @@ -93,7 +107,7 @@ public class Player extends DestructibleEntity implements Syncable{ @Override public void update(){ - if(!isLocal || android){ + if(!isLocal || isAndroid){ if(!isDead() && !isLocal) inter.update(this); return; } @@ -153,4 +167,9 @@ public class Player extends DestructibleEntity implements Syncable{ public Player add(){ return add(Vars.control.playerGroup); } + + @Override + public String toString() { + return "Player{" + id + ", android=" + isAndroid + ", local=" + isLocal + ", " + x + ", " + y + "}\n"; + } } diff --git a/core/src/io/anuke/mindustry/input/GestureHandler.java b/core/src/io/anuke/mindustry/input/GestureHandler.java index 94bc361802..1330783edb 100644 --- a/core/src/io/anuke/mindustry/input/GestureHandler.java +++ b/core/src/io/anuke/mindustry/input/GestureHandler.java @@ -52,7 +52,7 @@ public class GestureHandler extends GestureAdapter{ float dx = deltaX*Core.camera.zoom/Core.cameraScale, dy = deltaY*Core.camera.zoom/Core.cameraScale; player.x -= dx; player.y += dy; - player.angle = Mathf.lerpAngDelta(player.angle, Mathf.atan2(dx, dy), 0.5f); + player.targetAngle = Mathf.atan2(dx, -dy); }else if(player.placeMode.lockCamera && (player.placeMode.pan && player.recipe != null)){ input.mousex += deltaX; input.mousey += deltaY; diff --git a/core/src/io/anuke/mindustry/io/NetworkIO.java b/core/src/io/anuke/mindustry/io/NetworkIO.java index 44f09db95a..4b8c60bf95 100644 --- a/core/src/io/anuke/mindustry/io/NetworkIO.java +++ b/core/src/io/anuke/mindustry/io/NetworkIO.java @@ -1,7 +1,6 @@ package io.anuke.mindustry.io; import com.badlogic.gdx.files.FileHandle; -import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.TimeUtils; import com.badlogic.gdx.utils.reflect.ClassReflection; import io.anuke.mindustry.Vars; @@ -12,8 +11,6 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.Blocks; import io.anuke.mindustry.world.blocks.types.BlockPart; import io.anuke.mindustry.world.blocks.types.Rock; -import io.anuke.mindustry.world.blocks.types.production.Generator; -import io.anuke.ucore.UCore; import io.anuke.ucore.core.Timers; import io.anuke.ucore.entities.Entities; @@ -141,7 +138,7 @@ public class NetworkIO { byte times = 0; for(; times < tile.entity.timer.getTimes().length; times ++){ - if(tile.entity.timer.getTimes()[times] > 0){ + if(tile.entity.timer.getTimes()[times] <= 1){ break; } } @@ -149,7 +146,7 @@ public class NetworkIO { stream.writeByte(times); for(int i = 0; i < times; i ++){ - stream.writeFloat(tile.entity.timer.getTimes()[times]); + stream.writeFloat(tile.entity.timer.getTimes()[i]); } tile.entity.write(stream); @@ -204,8 +201,6 @@ public class NetworkIO { int enemies = stream.readInt(); - Array enemiesToUpdate = new Array<>(); - for(int i = 0; i < enemies; i ++){ int id = stream.readInt(); byte type = stream.readByte(); @@ -226,7 +221,6 @@ public class NetworkIO { enemy.tier = tier; enemy.node = node; enemy.add(Vars.control.enemyGroup); - enemiesToUpdate.add(enemy); }catch (Exception e){ throw new RuntimeException(e); } @@ -234,8 +228,7 @@ public class NetworkIO { Vars.control.setWaveData(enemies, wave, wavetime); - if(!android) - Vars.player.add(); + Vars.player.add(); //map diff --git a/core/src/io/anuke/mindustry/io/Saves.java b/core/src/io/anuke/mindustry/io/Saves.java index 140034b6e3..8e7fd21e54 100644 --- a/core/src/io/anuke/mindustry/io/Saves.java +++ b/core/src/io/anuke/mindustry/io/Saves.java @@ -2,12 +2,7 @@ package io.anuke.mindustry.io; import com.badlogic.gdx.files.FileHandle; import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.Timer; -import com.badlogic.gdx.utils.Timer.Task; import com.badlogic.gdx.utils.async.AsyncExecutor; -import com.badlogic.gdx.utils.reflect.ClassReflection; -import com.badlogic.gdx.utils.reflect.Field; -import com.badlogic.gdx.utils.reflect.ReflectionException; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.GameState; import io.anuke.mindustry.core.GameState.State; @@ -156,6 +151,7 @@ public class Saves { public void delete(){ SaveIO.fileFor(index).delete(); + saves.removeValue(this, true); if(this == current){ current = null; } diff --git a/core/src/io/anuke/mindustry/net/Net.java b/core/src/io/anuke/mindustry/net/Net.java index 7c79dfe6cd..66f24c47a4 100644 --- a/core/src/io/anuke/mindustry/net/Net.java +++ b/core/src/io/anuke/mindustry/net/Net.java @@ -192,6 +192,8 @@ public class Net{ public IntArray getConnections(); /**Register classes to be sent.*/ public void register(Class... types); + /**Returns the ping for a certain connection.*/ + public int getPingFor(int connection); } public enum SendMode{ diff --git a/core/src/io/anuke/mindustry/net/Packets.java b/core/src/io/anuke/mindustry/net/Packets.java index 13fc79d516..965ae42a9f 100644 --- a/core/src/io/anuke/mindustry/net/Packets.java +++ b/core/src/io/anuke/mindustry/net/Packets.java @@ -28,17 +28,27 @@ public class Packets { public static class SyncPacket{ public int[] ids; public float[][] data; - public int enemyStart = 0; + public short enemyStart; } public static class BlockSyncPacket extends Streamable{ } - public static class StateSyncPacket { + public static class ConnectPacket{ + public String name; + public boolean android; + } + + public static class DisconnectPacket{ + public int playerid; + } + + public static class StateSyncPacket{ public int[] items; - public float countdown; + public float countdown, time; public int enemies, wave; + public long timestamp; } public static class PositionPacket{ diff --git a/core/src/io/anuke/mindustry/net/Registrator.java b/core/src/io/anuke/mindustry/net/Registrator.java index a9f733317c..15537a7ada 100644 --- a/core/src/io/anuke/mindustry/net/Registrator.java +++ b/core/src/io/anuke/mindustry/net/Registrator.java @@ -31,6 +31,8 @@ public class Registrator { EnemyDeathPacket.class, BlockUpdatePacket.class, BlockDestroyPacket.class, + ConnectPacket.class, + DisconnectPacket.class, Class.class, byte[].class, diff --git a/core/src/io/anuke/mindustry/net/Syncable.java b/core/src/io/anuke/mindustry/net/Syncable.java index 6e31f342c3..a5fee2b06b 100644 --- a/core/src/io/anuke/mindustry/net/Syncable.java +++ b/core/src/io/anuke/mindustry/net/Syncable.java @@ -1,7 +1,6 @@ package io.anuke.mindustry.net; import com.badlogic.gdx.math.Vector2; -import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.enemies.Enemy; import io.anuke.mindustry.graphics.Fx; @@ -37,11 +36,11 @@ public interface Syncable { @Override public void update(Player entity, Interpolator interpolator) { Interpolator i = entity.getInterpolator(); - if(i.target.dst(entity.x, entity.y) > 16){ + if(i.target.dst(entity.x, entity.y) > 16 && !entity.isAndroid){ entity.set(i.target.x, i.target.y); } - if(Vars.android && i.target.dst(entity.x, entity.y) > 2f && Timers.get(entity, "dashfx", 3)){ + if(entity.isAndroid && i.target.dst(entity.x, entity.y) > 2f && Timers.get(entity, "dashfx", 2)){ Angles.translation(entity.angle + 180, 3f); Effects.effect(Fx.dashsmoke, entity.x + Angles.x(), entity.y + Angles.y()); } diff --git a/core/src/io/anuke/mindustry/ui/MenuDialog.java b/core/src/io/anuke/mindustry/ui/MenuDialog.java index ea5a67eccc..79a16e6826 100644 --- a/core/src/io/anuke/mindustry/ui/MenuDialog.java +++ b/core/src/io/anuke/mindustry/ui/MenuDialog.java @@ -10,11 +10,7 @@ import io.anuke.ucore.scene.Element; import io.anuke.ucore.scene.builders.build; import io.anuke.ucore.scene.builders.imagebutton; import io.anuke.ucore.scene.ui.ImageButton; -import io.anuke.ucore.scene.ui.TextField.TextFieldFilter.DigitsOnlyFilter; import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Strings; - -import java.io.IOException; import static io.anuke.mindustry.Vars.ui; @@ -62,26 +58,13 @@ public class MenuDialog extends FloatingDialog{ content().row(); - content().addButton("$text.hostserver", () -> { - Vars.ui.showTextInput("$text.hostserver", "$text.server.port", Vars.port + "", new DigitsOnlyFilter(), text -> { - int result = Strings.parseInt(text); - if(result == Integer.MIN_VALUE || result >= 65535){ - Vars.ui.showError("$text.server.invalidport"); - }else{ - try{ - Net.host(result); - GameState.set(State.playing); - }catch (IOException e){ - Vars.ui.showError(Bundles.format("text.server.error", Strings.parseException(e, false))); - } - } - }); - }).disabled(b -> Net.active() || (Net.active() && !Net.server())); + content().addButton("$text.hostserver", () -> ui.showHostServer()) + .disabled(b -> Net.active() || (Net.active() && !Net.server())); content().row(); content().addButton("$text.quit", () -> { - Vars.ui.showConfirm("$text.confirm", "$text.quit.confirm", () -> { + ui.showConfirm("$text.confirm", "$text.quit.confirm", () -> { runSave(); hide(); GameState.set(State.menu); @@ -105,8 +88,12 @@ public class MenuDialog extends FloatingDialog{ new imagebutton("icon-tools", isize, () -> ui.showPrefs()).text("$text.settings").padTop(4f); new imagebutton("icon-save", isize, ()-> save.show()).text("$text.save").padTop(4f); + + content().row(); new imagebutton("icon-load", isize, () -> load.show()).text("$text.load").padTop(4f); + + new imagebutton("icon-host", isize, () -> ui.showHostServer()).text("$text.host").padTop(4f); new imagebutton("icon-quit", isize, () -> { Vars.ui.showConfirm("$text.confirm", "$text.quit.confirm", () -> { diff --git a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java index 2b3f050554..8cf72e324f 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java @@ -150,6 +150,14 @@ public class HudFragment implements Fragment{ }}.end(); + if(Vars.debugNet) { + new table() {{ + new label(() -> "players: " + Vars.control.playerGroup.amount()); + row(); + new label(() -> "" + Vars.control.playerGroup.all()); + }}.end(); + } + blockfrag.build(); } diff --git a/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java b/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java index 7abea26796..ffb946ea76 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java @@ -72,7 +72,7 @@ public class MenuFragment implements Fragment{ new imagebutton("icon-tools", isize, () -> ui.showPrefs()).text("$text.settings").padTop(4f); - new imagebutton("icon-tools", isize, () -> ui.showJoinGame()).text("$text.joingame").padTop(4f); + new imagebutton("icon-add", isize, () -> ui.showJoinGame()).text("$text.joingame").padTop(4f); if(Mindustry.donationsCallable != null){ new imagebutton("icon-donate", isize, () -> { diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Conveyor.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Conveyor.java index 47cd9b0830..89e9def39e 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Conveyor.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Conveyor.java @@ -1,15 +1,7 @@ package io.anuke.mindustry.world.blocks.types.distribution; -import static io.anuke.mindustry.Vars.tilesize; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.util.*; - import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.IntArray; - import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.world.Block; @@ -17,7 +9,20 @@ import io.anuke.mindustry.world.Layer; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.core.Draw; import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.*; +import io.anuke.ucore.util.Bits; +import io.anuke.ucore.util.Mathf; +import io.anuke.ucore.util.Strings; +import io.anuke.ucore.util.Tmp; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.util.AbstractList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +import static io.anuke.mindustry.Vars.tilesize; public class Conveyor extends Block{ private static ItemPos pos1 = new ItemPos(); @@ -182,6 +187,7 @@ public class Conveyor extends Block{ @Override public void read(DataInputStream stream) throws IOException{ + convey.clear(); int amount = stream.readInt(); convey.ensureCapacity(amount); diff --git a/kryonet/build/libs/kryonet-release.jar b/kryonet/build/libs/kryonet-release.jar new file mode 100644 index 0000000000000000000000000000000000000000..e2350720b9fe8d4f4152ac07bde317b9aecddff7 GIT binary patch literal 7637 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

  • -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 oPr`p*-|v5Xf6;kU{7<@nTag;d7... types) { for(Class c : types){