Clickteam Fusion 2.5+ is an enhanced version of Clickteam Fusion 2.5, developed with both aims in mind: make it easier to deal with big projects and improve the performance of your applications.
- General UI
- Application loading and saving times have been reduced.
- Find All: new command that allows you to find a text in any object name, value, data or events, either in the current frame or in all the frames of the application.
- Profiler: allows you to compare the times taken by your event lines at runtime.
- Run app from current frame: this new command allows you to run the entire app from the current frame.
- Open folder: new command that opens the folder of the MFA you’re editing in a Windows explorer.
- The progress bar is now displayed in the Windows task bar.
- Objects are alphabetically sorted in the Workspace window.
- Properties
- The maximum number of alterable values and strings you can define in the editor is now 260.
- Filename properties now auto-complete pathnames.
- Open folder: new command in property label context menu that opens the folder of a file or pathname property.
- Frame editor
- Show object events: new command that allows you to open the event editor and select the object from the frame editor.
- Behaviors: you can now open the behaviors from the objects’ context menu.
- Select all the instances of the object: allows you to select all the instance of the object in the frame.
- Select all objects with the same qualifiers: allows you to select all the objects that have the exact same qualifiers as the selected object.
- Select all objects with a given qualifier: allows you to select all the objects that have a specific qualifier.
- The Insert New Object dialog box allows you to select objects that are compatible with certain platforms.
- Events editor
- Events can now have children.
- New Toggle Event List mode command: allows you to go from the event editor to the event list editor and reciprocally.
- Custom qualifiers: you can modify the name and icon of the qualifiers in each application.
- Base Frame option in the properties of the application: used by the global event editor to retrieve names of alterable values, flags, and animations.
- You can now use qualifiers in global events and behaviors.
- When you copy event lines to the clipboard, they are also copied as text, you can paste them in a text editor.
- Data Elements editor
- New Font tab: allows you to see and replace the fonts used in all the text objects of your application.
- Sounds tab: you can now export several sounds at once.
- Runtime
- DirectX 11 mode: a new DirectX 11 runtime, faster than the DirectX 9 runtime, with “premultiplied” mode for better layer compositing.
- Optimize events: new property that allows you to speed up your application events.
- Optimize image size in RAM: new property that allows you to drastically reduce the quantity of memory used by your application (Windows runtime only).
- Optimize Play Sample: new property that allows you to improve the performance of Play Sample actions (Windows runtime only).
- Debugger output window: new window in the debugger, that allows you to display messages while your application is running.
- New Set anti-aliasing when resizing action to change this option at runtime.
- New actions Preload / Discard Sample File, preload sample files in the sound bank so that the “Play Sample file” action start faster.
- New action Preload Image File, preloads a graphic file to an image so that the “Load Image file” and “Set Image Texture Parameter” actions start faster.
- Android: new Enable object Load On Call option. If this option is not selected (default), the ‘Load On Call’ option in objects is ignored on Android.
Notes and known issues
- MFA format: the MFA files saved with Fusion 2.5+ are compatible with the normal version of Fusion 2.5, unless your application uses child events or qualifiers in global events. In this case, the normal version of Fusion 2.5 will refuse to load your MFA. If you remove these features from your application, then the MFA will be loadable by the normal version of Fusion 2.5 again.
- DirectX 11 runtime: there are a few differences between DirectX 11 and DirectX 9 modes, especially for fonts. See below.
Find All
This function allows you to find any text in any object name, value, data or action, condition, expression, either in the current frame or in all the frames of the application. Selecting the Find All command, or pressing Ctrl+Shift+F will display the following options screen :
Click OK, Fusion will display the search results in the Find window :
Clicking on a line to open the corresponding editor at the given location.
Profiler
This tool allows you to examine the time taken by each event line of your application, this allows you to detect any bottleneck in your events and optimize your application’s frame rate. To profile your application, select « Enable profiling » and « Start profiling at start of frame » in the properties of your application, and then run it :
Fusion will record the execution times of each event line. When your application ends, Fusion will display the profiling data in the Profiler window :
The profiling tree displays execution times for each frame that was executed, and for each frame it displays general values (times to display graphics and process events), and execution times for individual event lines . Click on a line to display it in the event editor.
There are other options to profile your application. Usually the first loops of a frame are used to initialize data and you may want to exclude them from the profiling. To do this, unselect « Start profiling at start of frame » and use the « Start profiling » action (from the Profile sub-menu in the actions of the Special object) to start profiling your events when you wish so.
Another option in the application properties is « Recode slowest app loops ». When this option is selected, instead of adding the times of each loop, the profiler will reset the counters when the event loop starts and at the end of the loop it will compare the total time with the one of the previous frame loops, and will store the slowest loops so that you can analyse those particular loops. In the profiler, each frame loop is displayed with its Start time (the moment this loop was executed, from the beginning of the frame) and its total duration (as well as the times for each event line).
Last option, « Profile top-level conditions only » don’t display the times of the child events (including loops). This allows to avoid losing profiling time in child events and gives more realistic times for the parent events.
Note : the total times that are displayed in the profiler take into account the time of the profiling code itself, the real time spent is a real stand-alone application is lower. Just use them as a comparison value, to compare the duration of event lines.
Run app from current frame
The Run Frame command in Fusion builds the frame you are currently editing and runs it. This is very fast but in some case you would like to build the entire app and run it from the current frame, for example when you use a sub-application or when you want to jump to another frame. This is what the new « Run app from current frame » does.
Open Folder
This opens the directory of the MFA in a Windows explorer.
This command is also available in properties that contain file or directory names, via the property context menu :
New Object dialog box
New “Platforms” options in this dialog box allow you to display only objects that are compatible with specific platforms. Select “Current” if you want to see the objects that are compatible with the current build type of your application, “Any” if you want to see all the objects, or one or more platforms if you want to see the objects that are compatible with this or these platforms:
Show object events
When you are in the frame editor and want to see the events associated with a given object, right click it and select « Show object events ». This will open the event editor and select the object. This command is also available in the object’s context menu in the Workspace window, or in the object’s list on the left of the frame editor.
New Select Object(s) commands
The object’s context menu in the frame editor contains 3 new commands that allow you to :
– select all the instances of the objects
– select all the objects that have the exact same qualifiers as the selected object
– select all the objects that have a given qualifier
Note : only the objects from visible layers are selected, be careful if some layers are hidden.
Font tab in Data Elements editor
This new tab lists all the fonts that are used in the text objects of your application. Note: this only includes the objects that respond to the text functions of the SDK, which should be most of them. The Replace button allows you to replace a font with another one in all the objects that use it:
Child events
Child events are executed only if their parent conditions are true. The objects selected in the parent conditions are also selected in the child events. To add a new child to an existing event, right click the event line button and select “Add a new child condition”. You can also select “Insert / A new block of event” if you want to insert a new event with children.
Toggle Event List mode
The Toggle Event List mode command allows you to go from the event editor to the event list editor and reciprocally. This command also works in the global event and behavior editors.
Custom Qualifiers
A new Qualifiers option in the properties of the application allows you to edit the qualifiers used in your application. To rename a qualifier, select it and then click the name to edit it.
The new names and icons are for the current application only. If you copy/paste events to another application, the qualifiers in those events will take the names and icons defined in the other application.
Base Frame option
The global event editor only works with objects shortcuts (namd and type), it doesn’t know the real objects, as they can be different in various frames. This is a problem for example when you want to display the names of the alterable values in the global event editor. In previous versions of Fusion, the global event editor was displaying only default names (Alterable Value 1, Alterable Flag 30, User Animation 2, etc). The new Base Frame option allows the global event editor to bind object shortcuts with real objects (if they are present in the frame), to display the names of the values, flags and animations of those objects. This option is only used for the global event editor, it’s not used at build time or anywhere else.
DirectX 11 runtime
The Display Mode option has a new DirectX 11 mode, this allows you to use DirectX 11 in your Windows applications. The DirectX 11 mode is much faster than the DirectX 9 mode and allows you to use a more recent version of the pixel shaders.
Main differences with the DirectX 9 runtime:
- Premultiplied images
The DirectX 11 runtime by default internally uses premultiplied images, i.e. the RGB values are premultiplied with alpha values. This gives a better result when compositing several layers with effects. You can uncheck the “Premultiplied alpha” option if you want the same behavior as the DirectX 9 mode, though in this case you could experience graphical glitches when using some effects. - Pixel shaders
The shader files of the DirectX 9 mode are not compatible with the DirectX 11 mode. A lot of them have been converted and are automatically installed by the installer of Clickteam Fusion 2.5+, and we’ll keep converting the others that we see. If you use an unconverted shader, you’ll need to create a .HLSL file for DX11 from the DX9 .fx file, and compile it with FXC as .fxc file. The changes needed to convert a DX9 .fx file to a DX11 .hlsl files are described in the effect documentation. Note: the frame editor and the effect editor still use the DirectX 9 mode and the .fx version of the pixel shader, even if your application is in DirectX 11 mode. The DirectX 11 .fxc file is used at runtime only. - Polices
The font API used in the DirectX 11 runtime works with the TTF file(s) of the font(s) used in the application. It has several differences with the other Windows runtimes:
- Unlike the Windows API used by the other runtimes, this API will not try to get missing character glyphes from close fonts. This means (1) that you can only use truetype fonts with this runtime, and (2) that you must make sure that the font you use contains the glyphes for the all characters used in your application.
- Some styles do not work with fonts that include all styles in the same TTF file, instead of providing them in separate files.
- Fonts provided as TTC files (truetype collection file) may not work.
Optimizations
The runtime of Clickteam Fusion 2.5+ is faster, and is even faster with new optimization options in the properties of the application:
- Optimize events
When this option is selected, Fusion modifies your events to optimize them. For example as testing global values is much faster than testing collisions, it will move a “compare global value” condition before a collision test in the same event line. It can also group some conditions together, etc. You can unselect this option if for any reason it’s not compatible with your events (in this case please send us an example). - Optimize image size in RAM (Windows runtime)
This option has several effects:
- 1. When your application is built, Fusion compresses the images in a different format. Drawback: building your EXE file will take more time.
- 2. When your application is executed, it will load faster and will use much less RAM as Fusion won’t decompress the images. Drawback: uploading the image to the video RAM will take a bit more time, the first time it’s used. Though this shouldn’t be noticeable in most of the applications.
Please note that this option will slow down the loading time of applications that you run from the editor, as the images in the MFA have a different format and the editor runtime must compress them at loading time. However as the loading time of 2.5+ applications is generally faster this shouldn’t make a big difference with previous versions of Fusion. Also please note that this option is less efficient when you run the application from the editor, as the editor runtime uses a faster compression and doesn’t compress small images, in order to avoid too slow loading times.
- Optimize Play Sample (Windows runtime)
When this option is not selected (old behavior), sounds start playing immediately when the Play Sample action is executed. When this option is selected, sounds may start playing a bit later, this allows the sound engine to perform better. This may not work very well for every application though, this is why we’ve added this option to revert back to the previous version if any problem in a specific application.
Debug Output Window
A new « Output window » has been added to the debugger and new commands allow you to send text to this window. Useful for debugging your applications.