Our latest beta release is available for download. There were quite a few bugs fixed in this one and some internal refactoring around MOAIProp. A few features and changes I’d like to highlight:

There’s a first pass Store Kit integration available in the iPhone project. It follows Apple’s API pretty closely. We’ve tested it internally using our iPhone sample project. If you’re developing for iPhone and are interested in in-app purchases, be sure to check it out. There’s been a conceptual expansion of MOAIProp to support ‘trait inheritance.’ This one really needs a full article to explain, but in summary you can now configure props to inherit or ignore additional traits of their parents, including partition and layer membership. You can also filter transform inheritance to inherit either the full parent transform, or just modify the child’s location without changing its rotation or scale. The ability to set and animate colors was also added to MOAIProp2D. The prop’s colors will be modulated with the color specified by MOAISimpleShader. Prop color is also a heritable trait. PVR texture support is still a work in progress. This feature should have been started in a branch; ignore it for the time being. There’s a new class called MOAIDeckRemapper. This is a modifier that can be attached to a prop to remap deck indices. If you are working with tilemaps, you can use this to animate all tiles of a certain index (or indices): the deck remapper exposes all deck indices as attributes you can target with an anim or anim curve. See the ‘tilemap-animated’ sample in ‘basics.’ If you are using the event listener callbacks, be aware that these were modified to send the object with which the listener was registered as the first parameter. This is a breaking change, so be sure to update your code. There’s a new object called MOAICameraFitter. It can be used to dynamically track multiple objects and ‘fit’ the viewport’s camera to them. There’s a minimalist demo of this in the ‘basics’ folder. There are a few new ease curve types - SHARP_EASE_IN, SHARP_EASE_OUT and SHARP_SMOOTH. These follow the usual curve shapes, but are a bit snappier. We’ve added two more particle engine commands: ‘cycle’ and ‘wrap.’ MOAITexture was modified to support automatic mip map generation and the sampling modes were changes to match OpenGL’s. To use this feature, set the minification to one of OpenGL’s mip map sampling modes before you load the texture. When the texture is loaded, mip maps will be generated. MOAISimpleShader now exposes all of OpenGL’s blend modes. There’s now a simple performance counter in MOAISim that you can use to get an approximation of your game’s frame rate: MOAISim.getPerformance () will return your app’s estimated frames-per-second. Support for MOAILayoutFrame has been temporarily removed; this class will return in a future release with a more versatile implementation. The MOAITextBox alignment bug when using newlines has been fixed. There is plenty more coming soon. Stay tuned...