Update #37 - Touch support without userscript, many other feats

This commit is contained in:
lax1dude
2024-09-21 20:17:42 -07:00
parent 173727c8c4
commit ec1ab8ece3
683 changed files with 62074 additions and 8996 deletions

View File

@ -28,7 +28,7 @@ public class ClientPlatformSingleplayer {
private static CrashScreenPopup crashOverlay = null;
public static void startIntegratedServer() {
public static void startIntegratedServer(boolean forceSingleThread) {
DesktopIntegratedServer.startIntegratedServer();
}
@ -52,7 +52,7 @@ public class ClientPlatformSingleplayer {
if(MemoryConnection.serverToClientQueue.size() == 0) {
return null;
}else {
List<IPCPacketData> ret = new ArrayList(MemoryConnection.serverToClientQueue);
List<IPCPacketData> ret = new ArrayList<>(MemoryConnection.serverToClientQueue);
MemoryConnection.serverToClientQueue.clear();
return ret;
}
@ -71,6 +71,14 @@ public class ClientPlatformSingleplayer {
return false;
}
public static boolean isSingleThreadModeSupported() {
return false;
}
public static void updateSingleThreadMode() {
}
public static void showCrashReportOverlay(String report, int x, int y, int w, int h) {
if(crashOverlay == null) {
crashOverlay = new CrashScreenPopup();

View File

@ -2,10 +2,12 @@ package net.lax1dude.eaglercraft.v1_8.sp.server.internal;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
import net.lax1dude.eaglercraft.v1_8.Filesystem;
import net.lax1dude.eaglercraft.v1_8.internal.IClientConfigAdapter;
import net.lax1dude.eaglercraft.v1_8.internal.IEaglerFilesystem;
import net.lax1dude.eaglercraft.v1_8.internal.IPCPacketData;
import net.lax1dude.eaglercraft.v1_8.internal.PlatformFilesystem;
import net.lax1dude.eaglercraft.v1_8.internal.lwjgl.DesktopClientConfigAdapter;
import net.lax1dude.eaglercraft.v1_8.sp.server.internal.lwjgl.MemoryConnection;
@ -26,8 +28,20 @@ import net.lax1dude.eaglercraft.v1_8.sp.server.internal.lwjgl.MemoryConnection;
*/
public class ServerPlatformSingleplayer {
private static IEaglerFilesystem filesystem = null;
public static void initializeContext() {
PlatformFilesystem.initialize();
if(filesystem == null) {
filesystem = Filesystem.getHandleFor(getClientConfigAdapter().getWorldsDB());
}
}
public static void initializeContextSingleThread(Consumer<IPCPacketData> packetSendCallback) {
throw new UnsupportedOperationException();
}
public static IEaglerFilesystem getWorldsDatabase() {
return filesystem;
}
public static void sendPacket(IPCPacketData packet) {
@ -50,7 +64,7 @@ public class ServerPlatformSingleplayer {
if(MemoryConnection.clientToServerQueue.size() == 0) {
return null;
}else {
List<IPCPacketData> ret = new ArrayList(MemoryConnection.clientToServerQueue);
List<IPCPacketData> ret = new ArrayList<>(MemoryConnection.clientToServerQueue);
MemoryConnection.clientToServerQueue.clear();
return ret;
}
@ -60,4 +74,17 @@ public class ServerPlatformSingleplayer {
public static IClientConfigAdapter getClientConfigAdapter() {
return DesktopClientConfigAdapter.instance;
}
public static void immediateContinue() {
}
public static void platformShutdown() {
filesystem = null;
}
public static boolean isSingleThreadMode() {
return false;
}
}

View File

@ -22,7 +22,7 @@ import net.lax1dude.eaglercraft.v1_8.internal.IPCPacketData;
*/
public class MemoryConnection {
public static final List<IPCPacketData> clientToServerQueue = new LinkedList();
public static final List<IPCPacketData> serverToClientQueue = new LinkedList();
public static final List<IPCPacketData> clientToServerQueue = new LinkedList<>();
public static final List<IPCPacketData> serverToClientQueue = new LinkedList<>();
}