mirror of
https://github.com/Eaglercraft-Archive/Eaglercraftx-1.8.8-src.git
synced 2025-06-28 02:48:14 -05:00
Update #41 - Fix swords unable to break blocks in survival
This commit is contained in:
@ -268,51 +268,53 @@ public class PlatformRuntime {
|
||||
|
||||
glfwSwapInterval(0);
|
||||
|
||||
KHRDebug.glDebugMessageCallbackKHR(new GLDebugMessageKHRCallbackI() {
|
||||
@Override
|
||||
public void invoke(int source, int type, int id, int severity, int length, long message, long userParam) {
|
||||
StringBuilder b = new StringBuilder();
|
||||
b.append("[KHR DEBUG #"); b.append(id); b.append("] ");
|
||||
|
||||
switch(source) {
|
||||
case KHRDebug.GL_DEBUG_SOURCE_API_KHR: b.append("[API - "); break;
|
||||
case KHRDebug.GL_DEBUG_SOURCE_APPLICATION_KHR: b.append("[APPLICATION - "); break;
|
||||
case KHRDebug.GL_DEBUG_SOURCE_SHADER_COMPILER_KHR: b.append("[SHADER COMPILER - "); break;
|
||||
case KHRDebug.GL_DEBUG_SOURCE_THIRD_PARTY_KHR: b.append("[THIRD PARTY - "); break;
|
||||
case KHRDebug.GL_DEBUG_SOURCE_OTHER_KHR: default: b.append("[OTHER - "); break;
|
||||
if(!requestedDisableKHRDebug) {
|
||||
KHRDebug.glDebugMessageCallbackKHR(new GLDebugMessageKHRCallbackI() {
|
||||
@Override
|
||||
public void invoke(int source, int type, int id, int severity, int length, long message, long userParam) {
|
||||
StringBuilder b = new StringBuilder();
|
||||
b.append("[KHR DEBUG #"); b.append(id); b.append("] ");
|
||||
|
||||
switch(source) {
|
||||
case KHRDebug.GL_DEBUG_SOURCE_API_KHR: b.append("[API - "); break;
|
||||
case KHRDebug.GL_DEBUG_SOURCE_APPLICATION_KHR: b.append("[APPLICATION - "); break;
|
||||
case KHRDebug.GL_DEBUG_SOURCE_SHADER_COMPILER_KHR: b.append("[SHADER COMPILER - "); break;
|
||||
case KHRDebug.GL_DEBUG_SOURCE_THIRD_PARTY_KHR: b.append("[THIRD PARTY - "); break;
|
||||
case KHRDebug.GL_DEBUG_SOURCE_OTHER_KHR: default: b.append("[OTHER - "); break;
|
||||
}
|
||||
|
||||
switch(type) {
|
||||
case KHRDebug.GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR: b.append("DEPRECATED BEHAVIOR] "); break;
|
||||
case KHRDebug.GL_DEBUG_TYPE_ERROR_KHR: b.append("ERROR] "); break;
|
||||
default:
|
||||
case KHRDebug.GL_DEBUG_TYPE_OTHER_KHR: b.append("OTHER] "); break;
|
||||
case KHRDebug.GL_DEBUG_TYPE_PERFORMANCE_KHR: b.append("PERFORMANCE] "); break;
|
||||
case KHRDebug.GL_DEBUG_TYPE_PORTABILITY_KHR: b.append("PORTABILITY] "); break;
|
||||
case KHRDebug.GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR: b.append("UNDEFINED BEHAVIOR] "); break;
|
||||
}
|
||||
|
||||
switch(severity) {
|
||||
default:
|
||||
case KHRDebug.GL_DEBUG_SEVERITY_LOW_KHR: b.append("[LOW Severity] "); break;
|
||||
case KHRDebug.GL_DEBUG_SEVERITY_MEDIUM_KHR: b.append("[MEDIUM Severity] "); break;
|
||||
case KHRDebug.GL_DEBUG_SEVERITY_HIGH_KHR: b.append("[SEVERE] "); break;
|
||||
}
|
||||
|
||||
String message2 = GLDebugMessageKHRCallback.getMessage(length, message);
|
||||
if(message2.contains("GPU stall due to ReadPixels")) return;
|
||||
b.append(message2);
|
||||
logger.error(b.toString());
|
||||
|
||||
StackTraceElement[] ex = new RuntimeException().getStackTrace();
|
||||
for(int i = 0; i < ex.length; ++i) {
|
||||
logger.error(" at {}", ex[i]);
|
||||
}
|
||||
}
|
||||
|
||||
switch(type) {
|
||||
case KHRDebug.GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR: b.append("DEPRECATED BEHAVIOR] "); break;
|
||||
case KHRDebug.GL_DEBUG_TYPE_ERROR_KHR: b.append("ERROR] "); break;
|
||||
default:
|
||||
case KHRDebug.GL_DEBUG_TYPE_OTHER_KHR: b.append("OTHER] "); break;
|
||||
case KHRDebug.GL_DEBUG_TYPE_PERFORMANCE_KHR: b.append("PERFORMANCE] "); break;
|
||||
case KHRDebug.GL_DEBUG_TYPE_PORTABILITY_KHR: b.append("PORTABILITY] "); break;
|
||||
case KHRDebug.GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR: b.append("UNDEFINED BEHAVIOR] "); break;
|
||||
}
|
||||
|
||||
switch(severity) {
|
||||
default:
|
||||
case KHRDebug.GL_DEBUG_SEVERITY_LOW_KHR: b.append("[LOW Severity] "); break;
|
||||
case KHRDebug.GL_DEBUG_SEVERITY_MEDIUM_KHR: b.append("[MEDIUM Severity] "); break;
|
||||
case KHRDebug.GL_DEBUG_SEVERITY_HIGH_KHR: b.append("[SEVERE] "); break;
|
||||
}
|
||||
|
||||
String message2 = GLDebugMessageKHRCallback.getMessage(length, message);
|
||||
if(message2.contains("GPU stall due to ReadPixels")) return;
|
||||
b.append(message2);
|
||||
logger.error(b.toString());
|
||||
|
||||
StackTraceElement[] ex = new RuntimeException().getStackTrace();
|
||||
for(int i = 0; i < ex.length; ++i) {
|
||||
logger.error(" at {}", ex[i]);
|
||||
}
|
||||
}
|
||||
}, 0l);
|
||||
|
||||
GLES30.glEnable(KHRDebug.GL_DEBUG_OUTPUT_KHR);
|
||||
GLES30.glEnable(KHRDebug.GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR);
|
||||
}, 0l);
|
||||
|
||||
GLES30.glEnable(KHRDebug.GL_DEBUG_OUTPUT_KHR);
|
||||
GLES30.glEnable(KHRDebug.GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR);
|
||||
}
|
||||
|
||||
logger.info("Initializing Audio...");
|
||||
PlatformAudio.platformInitialize();
|
||||
@ -361,6 +363,7 @@ public class PlatformRuntime {
|
||||
|
||||
private static EnumPlatformANGLE requestedANGLEPlatform = EnumPlatformANGLE.DEFAULT;
|
||||
private static int requestedGLVersion = 300;
|
||||
private static boolean requestedDisableKHRDebug = false;
|
||||
|
||||
public static void requestANGLE(EnumPlatformANGLE plaf) {
|
||||
requestedANGLEPlatform = plaf;
|
||||
@ -370,6 +373,10 @@ public class PlatformRuntime {
|
||||
requestedGLVersion = i;
|
||||
}
|
||||
|
||||
public static void requestDisableKHRDebug(boolean dis) {
|
||||
requestedDisableKHRDebug = dis;
|
||||
}
|
||||
|
||||
public static EnumPlatformANGLE getPlatformANGLE() {
|
||||
return rendererANGLEPlatform;
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ package net.lax1dude.eaglercraft.v1_8.internal;
|
||||
import dev.onvoid.webrtc.*;
|
||||
import dev.onvoid.webrtc.internal.NativeLoader;
|
||||
import net.lax1dude.eaglercraft.v1_8.EagRuntime;
|
||||
import net.lax1dude.eaglercraft.v1_8.EagUtils;
|
||||
import net.lax1dude.eaglercraft.v1_8.log4j.LogManager;
|
||||
import net.lax1dude.eaglercraft.v1_8.log4j.Logger;
|
||||
import net.lax1dude.eaglercraft.v1_8.sp.lan.LANPeerEvent;
|
||||
@ -257,14 +256,19 @@ public class PlatformWebRTC {
|
||||
@Override
|
||||
public void onStateChange() {
|
||||
if (dataChannel != null && dataChannel.getState() == RTCDataChannelState.OPEN) {
|
||||
scheduleTask(-1l, () -> {
|
||||
while (true) {
|
||||
final Runnable[] retry = new Runnable[1];
|
||||
final int[] loopCount = new int[1];
|
||||
scheduleTask(-1l, retry[0] = () -> {
|
||||
f: {
|
||||
synchronized (lock1) {
|
||||
if (iceCandidates.isEmpty()) {
|
||||
break;
|
||||
break f;
|
||||
}
|
||||
}
|
||||
EagUtils.sleep(1);
|
||||
if(++loopCount[0] < 5) {
|
||||
scheduleTask(1000l, retry[0]);
|
||||
}
|
||||
return;
|
||||
}
|
||||
synchronized (lock2) {
|
||||
clientDataChannelClosed = false;
|
||||
@ -562,14 +566,20 @@ public class PlatformWebRTC {
|
||||
|
||||
@Override
|
||||
public void onDataChannel(RTCDataChannel dataChannel) {
|
||||
scheduleTask(-1l, () -> {
|
||||
while (true) {
|
||||
final Runnable[] retry = new Runnable[1];
|
||||
final int[] loopCount = new int[1];
|
||||
scheduleTask(-1l, retry[0] = () -> {
|
||||
int i = 0;
|
||||
f: {
|
||||
synchronized (lock3) {
|
||||
if (iceCandidates.isEmpty()) {
|
||||
break;
|
||||
break f;
|
||||
}
|
||||
}
|
||||
EagUtils.sleep(1);
|
||||
if(++loopCount[0] < 5) {
|
||||
scheduleTask(1000l, retry[0]);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (dataChannel == null) return;
|
||||
synchronized (fuckTeaVM) {
|
||||
|
@ -87,6 +87,8 @@ public class LWJGLEntryPoint {
|
||||
PlatformRuntime.requestGL(300);
|
||||
}else if(args[i].equalsIgnoreCase("gles=310")) {
|
||||
PlatformRuntime.requestGL(310);
|
||||
}else if(args[i].equalsIgnoreCase("disableKHRDebug")) {
|
||||
PlatformRuntime.requestDisableKHRDebug(true);
|
||||
}else {
|
||||
EnumPlatformANGLE angle = EnumPlatformANGLE.fromId(args[i]);
|
||||
if(angle != EnumPlatformANGLE.DEFAULT) {
|
||||
|
Reference in New Issue
Block a user