Startup crash
When the client starts, an instant crash occurs. Here is the problem of the crash:
[18:22:15] [Render thread/INFO] (Minecraft) [STDERR]: Dear ImGui Assertion Failed: g.IO.Fonts->IsBuilt() && "Font Atlas not built! Make sure you called ImGui_ImplXXXX_NewFrame() function for renderer backend, which should call io.Fonts->GetTexDataAsRGBA32() / GetTexDataAsAlpha8()"
Perhaps the problem is that imGuiImplGl3.NewFrame(); is not called when rendering ImGui. If you put imGuiImplGl3.NewFrame(); before imGuiImplGlfw.newFrame(); the game will start. But there is a new problem with rendering
Fixed the error by changing ImGui verstion from 1.87.3 -> 1.87.0
But you still have to put imGuiImplGl3.NewFrame();
1.87.0 also doesn't work for me, did you changed anything else?
1.87.0 also doesn't work for me, did you changed anything else?
Yes. Changed the draw method by adding imGuiImplGl3.newFrame();
public static void draw(final RenderInterface runnable) {
imGuiImplGl3.newFrame();
imGuiImplGlfw.newFrame(); // Handle keyboard and mouse interactions
ImGui.newFrame();
runnable.render(ImGui.getIO());
ImGui.render();
imGuiImplGl3.renderDrawData(ImGui.getDrawData());
if (ImGui.getIO().hasConfigFlags(ImGuiConfigFlags.ViewportsEnable)) {
final long pointer = GLFW.glfwGetCurrentContext();
ImGui.updatePlatformWindows();
ImGui.renderPlatformWindowsDefault();
GLFW.glfwMakeContextCurrent(pointer);
}
}
Yes I read that, but even after adding it and downgrading to .0, it still doesn't render correctly.
Yes I read that, but even after adding it and downgrading to .0, it still doesn't render correctly.
Strange. After restarting, on my side everything broke down again
Okay. I think this is a problem with the new version of ImGui-java because I downgraded to version 1.86.4, and it's working fine
Yeah it is, still have to figure out why
ok so for everyone else: You need to downgrade imgui-java to 1.86.4 and replace the dispose and draw methodes with this:
public static void draw(final RenderInterface runnable) {
imGuiImplGlfw.newFrame(); // Handle keyboard and mouse interactions
ImGui.newFrame();
runnable.render(ImGui.getIO());
ImGui.render();
imGuiImplGl3.renderDrawData(ImGui.getDrawData());
if (ImGui.getIO().hasConfigFlags(ImGuiConfigFlags.ViewportsEnable)) {
final long pointer = GLFW.glfwGetCurrentContext();
ImGui.updatePlatformWindows();
ImGui.renderPlatformWindowsDefault();
GLFW.glfwMakeContextCurrent(pointer);
}
}
public static void dispose() {
imGuiImplGl3.dispose();
ImGui.destroyContext();
ImPlot.destroyContext(ImPlot.getCurrentContext());
}
ok so for everyone else: You need to downgrade
imgui-javato1.86.4and replace thedisposeanddrawmethodes with this: ...
This worked for me. My guess is the rest only works on the first try, then something with loading the ini file breaks it? The 1.87.x version worked first try for me, but not after that.
Should be fixed now by upgrading to 1.87.7