The beta #3d of the MMF2 HWA is available :
This build is a beta version, please make backup copies of your applications before loading them with this version!
The HWA version contains the same features as the build 249 of the normal version of MMF2. However its installer doesn't install the Java runtimes, or the extensions, so you need to install the build 249 of the normal version too if you want to generate Java apps with MMF2 HWA or get the bug fixes in the extensions.
The HWA version is a separate program and uses separate runtime files, you can install it independently from the normal update patch of MMF2.
Let us know if any problem with this build, thanks !
HWA Beta 3 - Bug fixes and new features
- [color:red]Full screen[/color] works. Note: in Direct3D mode the windowed objects are not displayed in full screen mode. This includes all the Windows controls (button, edit box, list box, etc). The sub-application object is also a windowed object, but a new "Display as sprite" option allows you to display it without window directly in the curernt frame.
- New [color:red]Display Mode[/color] and [color:red]Pixel Shader Version[/color] expressions in the Storyboard object in the event editor. Display Mode = 1 = standard graphic mode, 2 = DirectDraw, 4 = Direct3D8, 8 = Direct3D9. Pixel Shader Version = major version * 100 + minor version, for example 104 if the video card supports shaders 1.4.
- [color:red]Effect editor[/color] : you can now edit the source code of the pixel shaders directly from MMF2, the Editor button is now enabled in the Effect List dialog box.
This editor is very simple (2 edit boxes to edit the xml/fx code and a preview).
Note 1: on Vista you have to give access to the Effects directory to all the users, otherwise the effects won't be saved.
Note 2: a new <preview_value> tag in the parameter definitions in the XML file allows you to define the value used to display the preview, e.g. <preview_value>0.5</preview_value>
- Shaders : you can retrieve the pixel size with the [color:red]fPixelWidth[/color] and [color:red]fPixelHeight[/color] variables (equal to 1/texture_width and 1/texture_height) (float values).
- Shaders : shaders can now access the background surface. How to do : add <BackgroundTexture>1</BackgroundTexture> in the XML file, before the parameters, and in the .fx file add : sampler2D bkd : register(s1); You can now access the pixels of the background surface with the bkd sampler (as you access the image sampler). Note: avoid accessing the background surface if possible anyway, as that takes a little more time.
- Shaders : you can load images in shaders with a new IMAGE parameter type, a new IMAGE property type and a default value equal to a graphic filename in the folder of the .fx file. For example :
In the .fx you specify the images like this, in the order of the parameters :
sampler2D image1 : register(s1);
sampler2D image2 : register(s2);
Note: if you use the background surface in your shader, start from register(s2) for the first additional image :
sampler2D bkd : register(s1);
sampler2D image1 : register(s2);
sampler2D image2 : register(s3);
Note: the variable name ("ImageVar" in the example above) shouldn't be used in the .fx file, it's used only in the new "Set effect image parameter" action.
- Effects : the variable names are now displayed between parentheses in the properties on the right of the parameter name.
- [color:red]Frame effects[/color] : a frame can now have an effect (like layers). The corresponding actions/expressions are in the Storyboard object in the event editor. Note: the effect is not displayed in the frame editor. Note 2: don't abuse on frame and layer effects as they can take some time.
- Layer effects : new "[color:red]Use previous layer effect[/color]" option in the layers. Allows you to apply an effect to a group of layers.
- Optimisations : collision detection and layer effects should be faster.
- [color:red]3rd party objects[/color] : Viewport, Perspective and Text Blitter objects work and/or have been optimized. Speech Bubble works but is not optimized.
(Some of the) [b]Bug fixes[b] :
- Texture size : images larger than the maximum texture size supported by the video card used to crash the application. Images larger than this size are no longer displayed. You should not use images larger than 1024 pixels, unless you know the video cards on which your application is executed supports larger textures.
- Frame editor : you no longer need to close and reopen the frame editor when you change the "use D3D" option in the preferences.
- Runtime : crash when you lock the machine and unlock it
- Runtime : crash in screen savers
- Runtime : DLLs not removed from a temporary folder when running stand-alone applications built with the "Compress runtime" option
- Runtime : background not refreshed behing dialog boxes
- Runtime : Wrong image alignment on some machines
- Runtime : problems in Add Obstacle Backdrop
- Runtime : crash when the Invert was the only effect used in the application
- Runtime : display bug when an object with alpha channel had both an effect and a RGBA coefficient.
- Button object : bug in Bitmap+Text mode
- Layer object : bug in Set effect parameter in "by name" actions
- Layer object : R & B components switched in the GetRGB Coef function
- Layer object : syntax error in the get alpha & rgb coef "by name" expressions
- Runtime : values passed to Set Alpha Blending Coef are now blocked to 0 and/or 255
- List/Combo Box objects : display bug in frame editor
- Q/A object : now works.
Known issues in this version
- Pixels are blurred when the "resize to fill window size" option is selected. Will be fixed in next update.
- "Resize to fill window size" doesn't work in Direct3D 8 mode. Will be fixed in next update.
- The Perspective and ViewPort objects no longer work in Direct3D mode. Will be fixed in next update.
- Border flashs in full screen mode when the application window is smaller than the screen. Will be fixed in next update.
- In full screen mode the "do not center window" option doesn't work correctly anymore. Will be fixed in next update.
- in full screen mode, the screen may flash when you switch to another frame. Will be fixed in next update.
- when you move another application over a MMF2 HWA application and reactivate the MMF2 HWA application, the display is clipped to the area of the other application until you activate or move it. Will be fixed in next update.
- scaling an object with a background-accessing shader will mess up the shader if the hot spot is anywhere else than 0,0. Will be fixed in next update.
- When the application starts in windowed mode and then later switches to full screen mode, Alt+TAB doesn't work. Will be fixed in next update.
- in Direct3D 8 mode, when you start the application in windowed mode and then switch to full screen mode, that doesn't work. That works if the application starts in full screen mode. Will be fixed in next update.
- on some video cards there are display glitches when objects with alpha channel and a fade transition are superposed (not sure for this one, I have to check it).
- rotating an object with a background-accessing shader will mess up the shader.
- Grab Desktop at Start doesn't work in Direct3D mode. Not sure if it will work in the final version.
- effects on layers are incompatible with the alpha channel of objects on this layer and with effects that affect the object transparency. I don't know yet if this issue will be fixed or not.
- the "Transparent" option doesn't work in the Edit Box object in Direct3D mode.