v2.1.3: added a sync check for very rare level loading hangs

This commit is contained in:
Evan Debenham
2023-06-22 14:54:45 -04:00
parent 1ec5434c11
commit beee1fadac
@@ -286,11 +286,13 @@ public class InterlevelScene extends PixelScene {
} }
synchronized (thread) {
if (phase == Phase.STATIC && error == null) { if (phase == Phase.STATIC && error == null) {
phase = Phase.FADE_OUT; phase = Phase.FADE_OUT;
timeLeft = fadeTime; timeLeft = fadeTime;
} }
} }
}
}; };
thread.start(); thread.start();
} }
@@ -310,6 +312,7 @@ public class InterlevelScene extends PixelScene {
case FADE_IN: case FADE_IN:
message.alpha( 1 - p ); message.alpha( 1 - p );
if ((timeLeft -= Game.elapsed) <= 0) { if ((timeLeft -= Game.elapsed) <= 0) {
synchronized (thread) {
if (!thread.isAlive() && error == null) { if (!thread.isAlive() && error == null) {
phase = Phase.FADE_OUT; phase = Phase.FADE_OUT;
timeLeft = fadeTime; timeLeft = fadeTime;
@@ -317,6 +320,7 @@ public class InterlevelScene extends PixelScene {
phase = Phase.STATIC; phase = Phase.STATIC;
} }
} }
}
break; break;
case FADE_OUT: case FADE_OUT: