JPEXS Free Flash Decompiler Issue Tracker

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 issuesList of issues

#2698 ActionScript 2.0 unable to handle a while loop after a switch case
Author:
Date created:
Type: bug
Visibility: Everybody
Assigned to:
State: closed Help

> 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.
Downloadfire.swf (1,012 KiB)
Here is a small reproduction of the case.
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