If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler
NEW : You can now close your own issues and reopen them later if needed. You can also comment closed issues.
List of issues#2698 ActionScript 2.0 unable to handle a while loop after a switch case
Author:
iRod
iRodDate created:
Type: bug
Visibility: Everybody
Assigned to:
Labels: AS1/2Decompilation
State: closed 

> What steps will reproduce the problem?
At the end of updateGame in the com.clubpenguin.games.fire.GameEngine, there should be a
while loop after.
> What is the expected output? What do you see instead?
the expected script is
while ((gameIsReady && (playerAbortQueue.length > 0)) && (!playerMyGameOver)) {
var dropSeatId = Number(playerAbortQueue.pop());
if (DEBUG_LOGGING) {
debugTrace("playerAbortQueue:");
debugTrace("\t processing aborted player with dropSeatId = " +
dropSeatId);
debugTrace(("\t remaining playerAbortQueue = [ " + playerAbortQueue) + "
]");
}
processAbortPlayerQueue(dropSeatId);
}
if (flagAnimateBubbles) {
if (bubbleTimerCount > com.clubpenguin.games.fire.Constants.BUBBLE_MAX_TIME)
{
bubbleTimerCount = 0;
bubbleStart();
} else {
bubbleTimerCount = bubbleTimerCount + Math.ceil(Math.random() *
com.clubpenguin.games.fire.Constants.BUBBLE_MAX_STEP);
}
}
if (flagAnimateFirepops) {
if (firepopTimerCount > com.clubpenguin.games.fire.Constants.FIREPOP_MAX_TIME)
{
firepopTimerCount = 0;
firepopStart();
} else {
firepopTimerCount = firepopTimerCount + Math.ceil(Math.random() *
com.clubpenguin.games.fire.Constants.FIREPOP_MAX_STEP);
}
}
This is what it exported with ASV (Action Script Viewer)
while in FFDec it exported
`continue loop9;` after the switch case and the function is over.
> What version of the product are you using? Is it "nightly build"? Which operating system
do you have?
v26.0.0, Windows 11
> Please provide any additional information below. If the problem is related to a SWF
file, attach it here, otherwise we can't help you.
fire.swf (1,012 KiB)original code are
```
var a = 10;
switch(a) {
case 10:
trace("world");
break;
case 11:
trace("world");
break;
default:
trace("hello");
break;
}
while (a > 1) {
trace(--a);
}
```
This is fixed in nightly 3497.
State: new→upgraded
Thank you this works perfectly!
State: upgraded→closed
