---------------------------------------------- MegaStorm Tile-based Engine - Roberto Prieto Copyright (C) 2007-2012 MegaStorm Systems ---------------------------------------------- MSTE is a cross-platform engine for developing tile-based games using CRM32Pro SDK library. This software is distributed under LGPL license. 15 September 2012 - v1.10 ------------------------- - ExportImage() and ImportImage() now support OpenGL modes without crashing - ExportImage() can now export all the layers instead of only one - New TE_LAYERPOSITION_CENTER flag for SetLayerPosition(), it will center the requested position depending on the viewport but centered on the current viewport - When setting a new layer position, if the requested position is out of the layer bounds, we fix it to the bounds instead of do nothing as before. - New LogVerbosity() method for controlling the log output 5 August 2012 - v1.00 --------------------- - Renamed from MSSE to MSTE. - Render() method re-coded from scratch improving performance, smooth rendering and code structure - Update() method re-coded from scratch improving performance and code structure - Supports tilesets with tiles greater than cellsize of the mapdata - Improved TMX (Tiled Qt) loader: + If the tileset does not specify a trans value and has not alpha per-pixel enabled, Tiled Qt seems to enable 0 as colorkey but this loader just disables the colorkey. - KNOWN ISSUE #001: tileset used in a layer with alpha now remember its original value 17 July 2012 - v1.00 Beta ------------------------- - Supports opacity in layers - New SetLayerAlpha() and GetLayerAlpha() methods - Improved TMX (Tiled Qt) import/export: + Special MSTE level features are exported/imported as properties + If there are not special MSM layer properties: update flag is set and render too if visible is 1. The layers will be linked at 1.0 ratio (no parallax effect) + Full support for opacity layers - Improved docs - Migrated old examples to the new engine and added a Tiled Qt example 30 June 2012 - v0.99 -------------------- - Requires CRM32Pro v5.21 or greater. - MoveLayer() and SetLayerPosition() methods have been improved. - New Pause flag to pause the scroll engine. - New Screen2LayerCell() and Screen2LayerAbsolute() methods. - Supports tileset gfx effects: rotation, mirror and flip - Added TMX (Tiled Qt) support: + TMX v1.0 + All layers must have the same width and height (in cells) + Only supports orthogonal maps + Special MSTE level features are exported/imported as properties + Import/Export: . almost-full support for "flipped-tiles": mirror(flipped horizontally in Tiled Qt terminology): supported flip(flipped vertically in Tiled Qt terminology): supported rotated 90 degrees: supported rotated 180 degrees: supported rotated 270 degrees: supported rotated 90 degrees + mirror: unsupported rotated 90 degrees + flip: unsupported + Import: . layers: update flag is always set and if visible = 1, render flag is also on . tilesets: with margin!=0 and spacing!=0 are converted to margin=0 and spacing=0 . tilesets: image BMP or PNG (only), external .tsx are not yet supported . tilesets: only one image source . tilesets: individual tile properties are not supported . can read data enconding: csv and base64(uncompressed and compressed) + Export: . layers: update flag is converted to visible 1 . tilesets: are always stored in PNG format . data encoding is always set to csv . custom mapdata is exported as a property 18 June 2012 - v0.98 -------------------- - Logic and render operations have been decoupled following CRM32Pro philosophy. - Update() method only perform logic operations. - New Render() method is on charge of the rendering the output. - CellRender() and CellUpdate() can get full access to the scrollengine instance - Improved InfoPrint() method - All the scroll operations are done with double values for improved precision. - New ShowGrid flag for the layers and SetLayerGridColor() method. - New SmoothScroll flag for enabling a smooth scrolling effect. 4 June 2012 - v0.96 ------------------- - Dynamic number of layers. - Status flags modified. Loop attribute removed as now is controlled via status flag. 30 May 2012 - v0.95 ------------------- - The level format has changed a lot and it is not compatible with previous versions. - Improve custom mapdata flexibility. - Tilesets are now defined for the level and any layer can use any tilesets. - Tilesize must be equal or lesser than the cellsize of the mapdata. - Layers have a name. - Creation and modification dates at SaveLevel() and LoadLevel() are now working. - New methods: GetModificationDate() and GetCreationDate(). - Improve XML parsing during loading and saving processes. - Library available in static and shared formats. - Available under LGPL license September 2010 - v0.90b ----------------------- - Modified project tree. - Using new CRM32Pro v5. - Win32 version compiled using Visual Studio 2008. July 2007 - v0.90 ----------------- - Added an easy, flexible and powerful way to use your own custom map. - Fixed some bugs. - First public version. - Includes five examples and documentation. July 2007 - v0.81 ----------------- - Solved some problems on SaveLevel() and LoadLevel(). - Fixed and variable tile size. - Full working engine. - Using new CRM32Pro v4.98. June 2007 - v0.8 ---------------- - Save and Load native maps to XML or DPF/XML. May 2007 - v0.7 --------------- - Import maps from image files(BMP/PNG). - Export maps to image files(BMP/PNG). April 2007 - v0.6 ----------------- - Native support up to 5 layers. Easy update to n layers. - Full and customizable parallax scroll support. - Independent or group fixed, with scroll or with parallax scroll layers. - Viewport and target surface can be selected in realtime. - OnDrawEnd function event for each layer. - MapData inherit to allow you the creation of custom layers.