forked from Clones/Controlify
🐛 Fix natives onboarding getting stuck on first launch
This commit is contained in:
@ -119,8 +119,9 @@ public class Controlify implements ControlifyApi {
|
|||||||
|
|
||||||
nativeOnboardingFuture = new CompletableFuture<>();
|
nativeOnboardingFuture = new CompletableFuture<>();
|
||||||
|
|
||||||
|
Screen parent = minecraft.screen;
|
||||||
minecraft.setScreen(new SDLOnboardingScreen(
|
minecraft.setScreen(new SDLOnboardingScreen(
|
||||||
() -> minecraft.screen,
|
() -> parent,
|
||||||
answer -> {
|
answer -> {
|
||||||
if (answer)
|
if (answer)
|
||||||
SDL2NativesManager.initialise();
|
SDL2NativesManager.initialise();
|
||||||
@ -211,7 +212,7 @@ public class Controlify implements ControlifyApi {
|
|||||||
|
|
||||||
public void tick(Minecraft client) {
|
public void tick(Minecraft client) {
|
||||||
if (minecraft.getOverlay() == null) {
|
if (minecraft.getOverlay() == null) {
|
||||||
if (!calibrationQueue.isEmpty()) {
|
if (!calibrationQueue.isEmpty() && !(minecraft.screen instanceof SDLOnboardingScreen)) {
|
||||||
Screen screen = minecraft.screen;
|
Screen screen = minecraft.screen;
|
||||||
while (!calibrationQueue.isEmpty()) {
|
while (!calibrationQueue.isEmpty()) {
|
||||||
screen = new ControllerDeadzoneCalibrationScreen(calibrationQueue.poll(), screen);
|
screen = new ControllerDeadzoneCalibrationScreen(calibrationQueue.poll(), screen);
|
||||||
|
@ -18,8 +18,8 @@ public class SDLOnboardingScreen extends ConfirmScreen {
|
|||||||
Controlify.instance().config().globalSettings().loadVibrationNatives = yes;
|
Controlify.instance().config().globalSettings().loadVibrationNatives = yes;
|
||||||
Controlify.instance().config().globalSettings().vibrationOnboarded = true;
|
Controlify.instance().config().globalSettings().vibrationOnboarded = true;
|
||||||
Controlify.instance().config().save();
|
Controlify.instance().config().save();
|
||||||
onAnswered.accept(yes);
|
|
||||||
Minecraft.getInstance().setScreen(lastScreen.get());
|
Minecraft.getInstance().setScreen(lastScreen.get());
|
||||||
|
onAnswered.accept(yes);
|
||||||
},
|
},
|
||||||
Component.translatable("controlify.sdl2_onboarding.title").withStyle(ChatFormatting.BOLD),
|
Component.translatable("controlify.sdl2_onboarding.title").withStyle(ChatFormatting.BOLD),
|
||||||
Util.make(() -> {
|
Util.make(() -> {
|
||||||
|
Reference in New Issue
Block a user