Highlighting of variables, properties, and methods, enhanced “go to definition” functionality, error underlining, basic code completion. TOML-based configuration system, support for Windows AERO, and several other enhancements in 24.0.x.
24.0.0 – 2025-06-24
Simple Editor – Button Timeline Editing
The simple editor now supports editing button timelines, including a header that indicates button states. You can add or remove frames and place objects on the timeline.

Configuration in TOML format
In previous versions, configuration was stored in binary files as serialized Java objects, making manual editing impossible. The new version uses a human-readable and easily editable format called TOML (Tom’s Obvious, Minimal Language). For more information, visit https://toml.io/.
Configuration File Locations
Windows: %APPDATA%\JPEXS\FFDec\config.toml
(Typically located in C:\Users\<UserName>\AppData\Roaming\JPEXS\FFDec\config.toml
)
Linux:
$XDG_CONFIG_HOME/FFDec/config.toml
~/.config/FFDec/config.toml
~/.FFDec/config.toml
(used in older versions)
macOS: ~/Library/Application Support/FFDec/config.toml
Configuration File Structure
The config.toml
file includes a [meta]
section that contains metadata about the configuration file itself. This section is properly commented so that users can easily understand the meaning of each item.
The actual configuration settings are stored in the [configuration]
section.
To include detailed comments in the file, set showComments = true
in the [meta]
section and then open and exit FFDec again.
By default, the configuration file only displays modified items. To show all settings, set modifiedOnly = false
in the [meta]
section and open and exit FFDec.

Configuration Backwards Compatibility
FFDec 24 saves the configuration in both TOML and the legacy binary format, allowing older versions to read it. When loading the configuration, FFDec prefers the TOML file over the binary one.
This means that if you use version 24 and then change some settings in an older version, those changes will not be reflected when you return to version 24 — because the existing TOML file takes precedence.
For this reason, using older versions after switching to version 24 is not recommended.
Loading and Storing the Configuration File via CLI
Two new command-line options have been added: -configFile
and -storeConfigFile
.
-configFile <file>
Loads the configuration from the specified <file>
.
-storeConfigFile [-comments] [-all] <file>
Stores the current configuration to the specified <file>
.
Use the -comments
flag to include section titles and descriptions.
Use the -all
flag to export all configuration settings, not just the modified ones.
Quick Find in Editors Shows Occurrence Count
The quick find dialog (opened with Ctrl+F) now displays the total number of occurrences of the searched string, along with the index of the currently selected occurrence.

“Always on Top” Switch
The main FFDec window title bar now includes an icon that toggles the “Always on Top” mode on or off. When enabled, the window stays above all other application windows.
For users of the non-ribbon interface, this option is available under the View menu.

Windows AERO support
We have added support for Windows Aero to enhance the user experience on Windows systems. This feature includes native window management behaviors such as snapping windows to screen edges—dragging a window to the top of the screen maximizes it, while dragging it to the sides resizes it to fill half the screen. This integration provides a more seamless and intuitive interaction, aligning with familiar Windows desktop conventions.
Coordinates Displayed to Two Decimal Places
When moving the mouse over objects on the stage, the current position is now shown with two decimal places instead of whole numbers. This provides more precise coordinate feedback, especially when zoomed in.

“Show Detail” Context Menu in Folder View
Some users found it unintuitive to open item details from the folder view, as it required either expanding the parent node in the tree view and selecting it, or double-clicking the item — which wasn’t always obvious. To address this, a new “Show detail” option has been added to the context menu, providing a clearer and more accessible way to open item details.

Add Class to AS2 Packages
A new context menu item has been added for AS2 packages, providing a shortcut to quickly add a class to the package.

Simple Editor: Detect Color Names
Colors in the simple editor now display their names based on standard CSS color names.

AS1/2/3 Variable Occurrences Highlighting
When you click on a variable (or a property in AS3), the code editor highlights all occurrences of it in the code. Additionally, these occurrences are visually marked as highlighted areas in the right-side overview panel next to the vertical scrollbar.
This isn’t just simple text matching — the editor understands the context of each variable, including where it’s defined and its current scope.
This feature works while editing as well.

AS1/2/3 Error Highlighting
When writing ActionScript in the editor, errors in the code are automatically underlined in red after a short delay. Hovering over the underlined code shows an error description. Errors are also indicated by red markers in the right-side overview panel next to the scrollbar.

AS1/2/3 Improved Navigation to Definition
Navigation to definitions using Ctrl+Click has been enhanced. It now works even in edit mode (for local jumps only). The underline color indicates the type of jump:
- Blue for jumps within the current script
- Green for jumps within the current SWF
- Fuchsia for jumps to other SWF files (when using dependencies)
For Flash built-in classes and methods, navigation will open the corresponding location inside the playerglobal.swc
file.


Export Subsprite Animation
Sometimes when exporting an animation, FFDec exports only a static image. This happens if the SWF or sprite contains a single frame and all animations are implemented using subsprites.
With the new context menu option on frames, you can now export these kinds of animations. However, you need to specify the total frame length manually, since subsprite animations don’t always have a clear endpoint—each subsprite has its own timeline.
Be aware that exporting continuous animations (like GIFs) may be challenging in such cases.

Show Item in the Flash Player
A new context menu item is available on graphic and sound tags. It launches the Flash Player with a SWF file containing only the selected item and its dependencies. This is useful for verifying whether FFDec’s built-in viewer renders the item correctly and to see how it really looks.
Please note that for this preview, all ActionScript is stripped from the item.

Replacing Individual Sound Stream Ranges
Previous versions allowed replacing only the entire SoundStream, ignoring any gaps between block ranges. In the new version, you can replace specific ranges within the stream.
If the imported sound format (bit depth, stereo/mono, sample rate, MP3/WAV) differs from the original, all blocks in the stream are converted to WAV and upgraded to the higher quality settings of the two. For example, if the original stream was mono and you import stereo audio, the entire stream will be converted to stereo.

This change also enables bulk importing of files.
A new command-line option -startFrame <startFrame>
was added to the -replace
command, allowing you to specify the starting block to replace.
Save to File in the Error Log Dialog
The error log window (accessible via the icon in the bottom-right corner of the main window) now includes a button to save the entire list of errors to a file. This feature is useful for reporting bugs in the issue tracker.

ImportAssets Tag with Single Item With a Name
When an ImportAssets
or ImportAssets2
tag contains only one imported asset, its name is now displayed directly in the tree view, similar to how it’s shown for ExportAssets
tags.

CLI Command -dumpas2
Option -exportNames
The CLI command -dumpas2
prints AS1/2 script names to the console, showing the names used in the GUI. To print export names (which can be used with the -replace
command), you can now add the new option -exportNames
.
AS1/2/3 Code Completion
The code editor now suggests variables, properties, and method names when you press the dot (.
) or Ctrl+Space
.

If you find the automatic suggestions after typing a dot annoying, you can disable this feature in the Advanced settings.
Please note that for AS1/2, suggestions for properties and methods are limited because type information is not available.
Copy/Paste Individual Transforms
Previously, only the entire transformation matrix could be copied to the clipboard in transform mode. Now, you can copy individual settings like Scale, Rotate, Skew, etc., and then paste or apply them elsewhere.

Changed: Single DoAction Tag as Frame Node
When a frame contains only one DoAction tag, it is now displayed directly as the frame node. This removes the need to expand frame nodes and makes switching between scripts faster.


Changed: AS1/2 Scripts in Default Package Exported to Different Directory
Scripts from the default package (not those inside the __Packages
folder) are now exported to and imported from the main scripts folder, instead of the localized <default package>
folder as before.
(This change applies only when package flattening is enabled.)
This may break backward compatibility. To import scripts from older FFDec versions, you should manually move the scripts from the <default package>
folder to the main scripts folder.
Changed: XML Export Dialog Selects a File
The SWF to XML export dialog now selects an XML file by default instead of a directory. When exporting multiple SWFs, it still selects a directory.
Leave a Reply