THEY SAID IT COULDN'T BE DONE

This commit is contained in:
Anuken
2018-01-17 17:52:37 -05:00
parent 1b4a8c83ae
commit 25beb2af32
4 changed files with 14 additions and 11 deletions

View File

@@ -7,4 +7,7 @@
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.game.EnemySpawn" /> <extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.game.EnemySpawn" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.io.SaveFileVersion" /> <extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.io.SaveFileVersion" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.resource.Recipe" /> <extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.resource.Recipe" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.net.Packets" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.net.Packet" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.net.Streamable" />
</module> </module>

View File

@@ -28,10 +28,9 @@ public class MenuFragment implements Fragment{
add(new MenuButton("$text.play", group, ui.levels::show)); add(new MenuButton("$text.play", group, ui.levels::show));
row(); row();
if(!gwt){ add(new MenuButton("$text.joingame", group, ui.join::show));
add(new MenuButton("$text.joingame", group, ui.join::show)); row();
row();
}
add(new MenuButton("$text.tutorial", group, ()-> control.playMap(world.maps().getMap("tutorial")))); add(new MenuButton("$text.tutorial", group, ()-> control.playMap(world.maps().getMap("tutorial"))));
row(); row();

View File

@@ -6,7 +6,7 @@ import club.minnced.discord.rpc.DiscordRichPresence;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;
import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.Array;
import io.anuke.kryonet.JavaWebsocketClient; import io.anuke.kryonet.KryoClient;
import io.anuke.kryonet.KryoServer; import io.anuke.kryonet.KryoServer;
import io.anuke.mindustry.Mindustry; import io.anuke.mindustry.Mindustry;
import io.anuke.mindustry.Vars; import io.anuke.mindustry.Vars;
@@ -120,8 +120,8 @@ public class DesktopLauncher {
Mindustry.args = Array.with(arg); Mindustry.args = Array.with(arg);
//Net.setClientProvider(new KryoClient()); //Net.setClientProvider(new JavaWebsocketClient());
Net.setClientProvider(new JavaWebsocketClient()); Net.setClientProvider(new KryoClient());
Net.setServerProvider(new KryoServer()); Net.setServerProvider(new KryoServer());
try { try {

View File

@@ -35,6 +35,7 @@ import java.util.Arrays;
import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArrayList;
public class KryoServer implements ServerProvider { public class KryoServer implements ServerProvider {
final boolean debug = false;
final Server server; final Server server;
final SocketServer webServer; final SocketServer webServer;
final ByteSerializer serializer = new ByteSerializer(); final ByteSerializer serializer = new ByteSerializer();
@@ -311,14 +312,14 @@ public class KryoServer implements ServerProvider {
try { try {
synchronized (buffer) { synchronized (buffer) {
buffer.position(0); buffer.position(0);
UCore.log("Sending object with ID " + Registrator.getID(object.getClass())); if(debug) UCore.log("Sending object with ID " + Registrator.getID(object.getClass()));
serializer.write(buffer, object); serializer.write(buffer, object);
int pos = buffer.position(); int pos = buffer.position();
buffer.position(0); buffer.position(0);
byte[] out = new byte[pos]; byte[] out = new byte[pos];
buffer.get(out); buffer.get(out);
String string = new String(Base64Coder.encode(out)); String string = new String(Base64Coder.encode(out));
UCore.log("Sending string: " + string); if(debug) UCore.log("Sending string: " + string);
socket.send(string); socket.send(string);
} }
}catch (Exception e){ }catch (Exception e){
@@ -371,12 +372,12 @@ public class KryoServer implements ServerProvider {
@Override @Override
public void onMessage(WebSocket conn, String message) { public void onMessage(WebSocket conn, String message) {
try { try {
UCore.log("Got message: " + message); if(debug) UCore.log("Got message: " + message);
KryoConnection k = getBySocket(conn); KryoConnection k = getBySocket(conn);
if (k == null) return; if (k == null) return;
byte[] out = Base64Coder.decode(message); byte[] out = Base64Coder.decode(message);
UCore.log("Decoded: " + Arrays.toString(out)); if(debug) UCore.log("Decoded: " + Arrays.toString(out));
ByteBuffer buffer = ByteBuffer.wrap(out); ByteBuffer buffer = ByteBuffer.wrap(out);
Object o = serializer.read(buffer); Object o = serializer.read(buffer);
Net.handleServerReceived(o, k.id); Net.handleServerReceived(o, k.id);