Since this is the first post toward this effort, I suppose it would be wise to document the state of the system as it stands right now. I've been working on it periodically as time allows for a couple of months, and I have a pretty good start on it. I have the main screen layout done, most of the commands accessed from the menu bar are done, the tile palette is working in a basic form (though it's untested for larger tile sets), and the editor pane can have tiles placed on it and scroll around. The fill command fills the currently selected layer with the selected tile, the clear command erases all of the tiles from the current layer, the full map view and export features are working, some of the custom dialog boxes are done, the grid toggle works, and the context-sensitive mouse cursor is working for the functions that are implemented so far.
![]() |
The LIME 4 editor screen as it appears now. The tiles used for testing are from 2002's CTG 2 project. |
Recent Accomplishments
- Added a slide-out panel class to the engine as a built-in GUI container. LIME 4 will use these for quick access to layer toggles.
- Started adding support for state buttons like check boxes and radio buttons. LIME 4 will use radio buttons to indicate which layer is selected for editing and check boxes to indicate which layers are visible.
- Documented more of the methods in the UI package. This doesn't directly affect LIME as a product but it is important to the future of MHFramework.
Known Issues
- Functionality Issues
- If the grid line display is turned on, the lines show up in the full render of the map. The mouse cursor does too. The full render should show just the contents of the map, and not user interface elements.
- Usability Issues
- The editor pane scrolls when the mouse reaches the edge of the view space, so it scrolls every time the user goes to select a tile from the palette, click on the menu bar, or open the slide-out panels.
- There is no visible indication of where the view space is positioned in the world. This may get disorienting when working on large maps.
- Portability Issues
- The Android platform layer doesn't yet have the ability to rotate the captions for the slide-out tabs. Currently a low priority since this tool is intended to be used on a developer's PC workstation, but something that needs to be addressed eventually.
Next Steps
The priority right now is to finish the features that are critical to my current project (which I am not at liberty to discuss) so that the lead game designer and I can create levels more quickly. Therefore, I'll divide the list of steps into categories based on that priority.
- High Priority:
- Test the Save and Save As commands to make sure the exported data format is unchanged from that which is read in.
- Port the file dialog classes from the old engine into the new one. Make appropriate updates to match the style of the new engine's user and software interfaces.
- Finish putting tabs on the slide-out panels. Parameterize them so their position can be specified -- top, bottom, left, or right edge of the panel.
- Medium Priority:
- Create a slide-out panel for the layer view controls.
- Create a slide-out panel for the layer edit controls.
- Decide where to put the toolbox and then put it there.
- Add a rotate method to the MHBitmapImage interface that takes an angle of rotation and returns a copy of the image rotated by the input angle.
- Make a decision regarding what to do about the mouse scrolling issue mentioned above.
- Low Priority:
- Correct the bugs in the full map render view mentioned above.
- Implement the MHBitmapImage.rotate() method for the Android platform.
- Following the rotate example, implement other capabilities like scaling, image filtering, color blending, and alpha composites.
- Implement isometric modes.