Hi everyone,

The release version of the build 243 of TGF2 is available.

If you have any problem with this build, you can re-install the build 242 without reinstalling TGF2. And in this case please let us know.

Thank you for reading !


List of bug fixes and new features in this version

- Frame Editor: the Order by X/Y commands could move backdrops in front of active objects making them invisible when running the application.

- Frame editor: if you change the window size of your app during you've opened a frame, the rectangle which shows the dimensions of the window won't refresh.

- Data Editor: incorrect filters in file selector when extracting a sound.

- Compress Sounds option: the beginning and/or the end of some sounds could be corrupted by this option in stand-alone applications.

- Global & Alterable Values properties: you can't use numbers in their names.

- Runtime / Platform movement: collision of an object with itself to stop it in platform movement doesn't stop the object.

- Runtime: for extension objects with a movement, detecting the bottom of the screen in a "Position" condition did not work.

- Runtime: slow down when scrolling with background extension objects.

- Runtime: possible random crash when stopping a sound.

- Runtime: conflict between Play (Sound) From Disk option and Play Sounds Over Frames option.

- Runtime: problem in fast loops (introduced in beta version of build 243).

- Runtime: window size can be set to 0 when attached to desktop and another application changes the screen resolution.

- Stand-alone applications should now work with exe wrappers like Armadillo.

- Alterable values not working in button, edit, combo and list objects created with previous builds.

- Active object: incorrect animation speed when using Set Direction action (introduced in beta version of build 243).

- Layer object: Is Layer Visible condition not working.

- Layer object: crash when using qualifiers in conditions. The crash is fixed but the condition doesn't work, this object doesn't support qualifiers in conditions.

- MooClick object: crash in event handler.

- Player object: new Set Player Name action and Get Player Name function to set and retrieve the name of a player. This name is not displayed.

- Storyboard object: new End of Pause condition, true when the application is resumed after a "Pause and resume by pressing a key" action or after the user selected the Pause menu option.

- Storyboard object: cannot resume application after a "Pause and resume by pressing a key" action and moving or resizing the window.

- Window Control and Date & Time objects: new alterable values.

- Andrew's Vector movement: little fix.

List of bug fixes and new features in the beta version of the build 243

- Preferences / Event editor : new settings for the colors of the columns and of the immediate conditions.

- Animation editor : Delete option now enabled in the animation popup menu even if the animation is not the last one (if the animation is not the last one, it's still not removed but all its images are deleted).

- Picture editor : undo with rectangle/ellipse tools not working correctly if the rectangle/ellipse is started out of the draw area.

- Event editor : the color of even and odd colums can now be set separately.

- Event editor : the immediate conditions are now displayed with a different color.

- Event editor : the Open Behavior menu in the object's menu now contains the real name of the behaviors.

- Event editor : it was possible to put a closed object folder inside another one, resulting in messing the objects.

- Action editor : possible crash after deleting the last action and selecting the previous one.

- Frame editor / Object List window : cannot drag objects to '..' folder.

- Frame editor / Try Movement : crashes when trying a movement in multi-layer mode.

- Color properties : custom colors not saved.

- Global and alterable value properties : when you rename them, the program checks the name and reports an error if the name is not valid (eg. you cannot have anymore a value whose name is "X")

- MMF 1.5 applications : transitions from the old MMF 1.5 "Addional Transitions" DLL not correctly converted.

- Runtime : fast loops and operations on global values are now faster.

- Runtime : floating point values are now in double precision (note: the floating point parameters of the actions and expressions of the extension objects are still in single precision).

- Runtime : crash when refreshing a full screen application that contains background system box objects.

- Runtime : possible crashes when you create more than 65536 objects.

- Runtime : frame lag when you use the set direction, force animation / direction / frame actions just after a Create Object action.

- Runtime : TAB key not working in sub-applications.

- Runtime : when you show a layer, the hidden objects are no longer shown.

- Runtime : when you move a visible object from a hidden layer to a visible layer, the object is now shown.

- Runtime : animation direction was wrong when the object was going to the right, sometimes.

- Runtime : possible crash upon exit of a frame, when the frame contains active objects with fade out transition running when you quit (already fixed in build 242 but better fix in build 243).

- Runtime : when you add a floating point value to an alterable value (with the Add action), the alterable value is now converted to a floating point number.

- Runtime : Small bug in timer events that forced some of the timer events to be evaluated with a couple of game loops after the real time.

- Runtime : Platform movement, when the object fell, the right or left direction was forced instead of the true direction (bottom) of the object.

- Runtime : Creating an object in the middle of a fast loop could interfere with the fast loop itself and induce a crash.

- Runtime : Global active objects with alterable strings crash upon access of the string in another frame than the first frame.

- Runtime : possible crash at the end of the application when the "Run while resizing" option is selected.

- Runtime : "no effect on collision mask" option not working in layers above the first layer.

- Runtime : resource leak in string, counter and extension objects.

- Runtime : the application no longer pauses when you open a menu or popup menu, or move/resize a sub-application (note: only if the "run while resising" option is selected in the properties of the application)

- Runtime : when ending a frame via a "Press any key" condition, the events "End of frame" was not called.

- Runtime : fine collisions not working in some cases in 32768/65536 color modes.

- Runtime : stand-alone applications built with the compressed runtime option not working when you add custom command line parameters without '/' character.

- Active object : new "Get X/Y coordinate of action point" functions

- Active object : new Load Frame function to replace a given frame by a graphic file. Note 1: the image to replace must exist, this function cannot add new frames to the object. Note 2: this function is just a first step in the customisation of the Active Object, more advanced functions will be implemented in next builds.

- Counter object : new Set Color / Set Color 2 actions and Get color / Get color 2 functions to set or retrieve the colors of counters displayed as horizontal or vertical bar.

- Counter object : the minimum and maximum values of global counters are now saved.

- File object : application not paused when the file selector is open, resulting in wrong behavior when the selector is closed.

- Layer object : new functions to set and retrieve the scrolling X and Y coeffcients.

- Layer object : bug fix in Is Above, Is Below and Is Between (by fixed value) conditions.

- Sound Object : new actions to lock and unlock a channel. Locked channels are ignored by the Play Sample action when it looks for a channel to play a new sample.

- Sound Object : new actions and expressions to change the frequency of a sample.

- Sound Object : the Play Sample action may freeze the application if another sound is playing (it was happening rarely though)

- Storyboard object : new actions to turn on/off the V-Sync option and new condition to test it.

- Storyboard object : new functions to change and retrieve the background color of the frame.

- Storyboard object : new functions to change the width and height of the frame. Warning: the Get Frame Width and Get Frame Height functions were in fact returning the virtual width and height of the frame, this is fixed, they now return the width and height as defined in the Frame Size property in the Frame properties.

- Storyboard object : new functions to change and retrieve the virtual width and height of the frame.

- Storyboard object : new functions to delete the created backdrops at a given position or to delete all the created backdrops (created mean created with the Create Backdrop actions of the Active and Active Picture objects)

- Storyboard object : new "Pause and resume by pressing a key / any key" actions

- Sub Application object : new actions and conditions to pause and resume the sub-application.

- The button, edit, combo and list objects now have alterable values.

- Timer object : Timer Lower Than, and Timer Greater Than conditions now accept a calculation as a parameter.

- Window Control object : new Save Focus / Restore Focus actions. Save Focus stores the handle of the window that has the focus and Restore Focus gives it the focus back.

- Window Control object : new Has Focus condition, true when the window of the application or one of its child windows has the input focus. When used in a sub-application, the Has Focus condition is true when the sub-application or one of its child windows has the input focus.

- Window Control object : new Set Focus action, gives the input focus to the window of the application if it hasn't it already.

- Window Control object : new Flash Window in Taskbar action.

- Window Control object : new Set Background Color action and Get Background Color expression.

- Window Control object: new Attach to desktop / Detach from desktop actions, to pin the window to the desktop.

- Window Control object : new actions to set the position and size of the frame window. An option also allows you to automatically modify the size of the frame.

- Window Control object : new expressions to retrieve the position and size of the frame window.

- New movements : this build contains 7 new movements developed by Andrew Mather: circular, ellipse, polygon, vector, sinewave, invaders, presentation. See below for more info.

More info about the Additional Movements created by Andrew

The following seven movements are included in the update, along with a single controller extension:
  • Circular
  • Invaders
  • Presentation
  • Regular Polygon
  • Simple Ellipse
  • Sinewave
  • Vector
Controller Extension: Clickteam Movement Controller

Examples of all the movements can be found in the '/Examples/Clickteam Movements/' directory and documentation is located in '/Help/Movements/'

This automated movement makes creating circular rotating objects a breeze. The movement also features additional settings to allow the creation of a spiral movement effect. Some of its uses include applying to enemies for simple movement patterns, for menu or loading effects and to make more challenging platforms for a user to navigate in platform games.

A movement to aid with the creation of games based on the classic Space Invaders. The movement controls the invaders, making them change direction when reaching the edge of the screen, and even speeding them up as their numbers decrease.

This movement is designed to aid the creation of presentation or slide shows with MMF2. For simple presentations no events are required, all set-up can be completed in the frame editor and the movement will do the rest including swapping frame! No need to position objects off screen in the frame editor to create fly-in effects, position how they will appear when complete and let the movement take care of the rest.

Regular Polygon*
This automated movement works as an addition to the Circular and Simple Ellipse movements by providing many, equal length sided, regular polygon shapes.

Simple Ellipse
This automated movement provides an easy way to create elliptical orbits. This could be used in menu screens or for simulations of systems such as planets or atoms.

Sinewave movement combines a simple line motion with a orthogonal sinewave movement. This can be used to great affect for collections of enemies in shoot' em-ups or for clever text effects. Ignore the sinewave properties and the movement can even be used for straight line point-to-point effects.

Create a huge array of movement types with the single movement and the control extension. The movement simply controls an object by storing acceleration and velocity vectors which are updated each loop. The real power of the movement comes when combined with the Clickteam Movement Control extension providing a multitude of manipulation options. Please see the included example file for a more complete idea of the movements potential uses. Note: MMF1.5 users will find this movement provides a complete replacement for the "Movement Extension" which is not available for MMF2.

* Note: These three movements are updates of the previously released Gwerdy Movements with a number of bug fixes and replace those movements. If you installed the Gwerdy Movements and are not using them in any projects remove the movement files and control extension from your '/Extensions' and 'Data/Runtime' folder. If you do use them in current project then it is recommended you replace them with the new version in all projects before removing the files. You can, if needed have both sets installed at the same time; the icons are different for both sets to help identify them in the movement list.