pHOMM Website. HoMM3 © Maps` Terrain Editor

HoMM3 © Maps` Terrain Editor

Current version - Revision

      In October 2009 I started a map for "Best Map of HeroesWorld for HoMM3 - 2009", that was organized by HeroesWorld - Heroesworld.ru. I wanted to make a quite unique map - it should vary from other maps, even if only certain and not a lot elements are different. Elements for surprising gamers - gave sense of real connection of place of events and events, the whole plot, because even that quite poor (in modern time) graphics, alows to create a masterpiece.
      For the map I realised to create this editor and started it right after the map was part-done. On 11. november 2009 the editor v0.1 was ready, and for now i'm still working on improving it ( for convienience there is a revision system, revisions-system, e.g. version 0.1.1.00, and 00 is revision.

Description (part of "readme")

1. Loading and saving maps, usual (compressed) and even decompressed of any HOMM3 version ( 4 different) and of any size ( except standart 4 sizes other sizes are supported) .
2. Drawing a map using 2 methods. First - only using minimap-colors, without showing difference of "terrain configuration" (tile texture) , but you can see the number of config, read part 7 for how-to, with drawing lines that represent roads and rivers. Second - with graphics - it is loaded from DEF-files included in editor package ( and that's how program could be started without installed HOMM3 on a computer), or loaded from game resources. The view of a map in second case is the same, which you can see in homm3 map editor or game, BUT without all objects. Well known that roads are placed under legs of hero's horse, but my are in the center of a tile, no profit to implement it... lots of code, time, very little result - just correct road placing, many people won't even notice it.
3. Brush. Independent or combined choice of any component - terrain, river, road, mirror, and any possible size of brush (vertical and/or horizontal). When using graphics almost any change of brush is shown in working panel, i.e. grass tile with lava river and dirt road, each one may be affected by mirror.
4. Changing map size ! There are only 4 standart mapsizes (but there is special patch that allows to make lots of various sizes), you can easily increase or decrease mapsize. When increasing all of tiles in created area is filled with 0-cell, it's one of dirt tiles without roads, rivers, mirrors. When decreasing, all of data from shrinked area IS LOST , no complaints accepted )) but if you accidentially lost data, you can just reopen map without saving, but all changes made before will be lost, so don't forget to save periodically.
5. Undo. Cancels 1 tile changed, memory is provided dynamically, so you may use any quantity of undos. But if you draw with brush 36*36, then in single click yuo will get 1296 undos and if you want to cancel it you will have to press quite long on Enter key (after single click on Undo button), while you reach a needed step. Of course, cells that are identical won't save in undo.
6. Floodfill. A special function for converting one type of terrain of any shape to another one, as opposed to "simple fill", which is made by choosing needed brush and desired brushsize for area, and single RMC fills area with choosed terrain type, when terrain configuration is n/c , "not change", then it works similar to floodfill, but area in simple fill is rectangular and not counting the source terrain type. Floodfill changes only one type to another, if other type is encountered in flow of function then it is not changed, and you should know that not all of terrain types are able for flood filling, it depends on tile texture indexation (transitional terrains - dirt, sand, water, subterrain void, you cannot change, they have another indexation), and during flood fill all of tiles are reset to desired terrain type (eeh, almost all of them ))) , it needs some more work), that are connected to already floodfilled tile. For using it you should set "fill" in any of brushsizes changers, if both are choosed, then floodfiil fiils all of tiles, and if only one of brushsize is choosed, then floodfill is limited to a size of another one brushsize, and is limited to the right and to the bottom respectively of x or y brushsize is not "fill".
7. Interface. To scroll a map you need move you mouse along the edge of visible part of map with LMC ( but focus remains on the old cell, to set it you need to click another cell), or if map is not focused ( for this you can press middle mouse click on workpanel, or undo button itself, or some other input controls) then map is scrolled horizontally with mousescroll and vertically with mousescroll + Ctrl or Shift (but you may use scrollbars also), and if the cell in map is focused, then mousescroll changes only cell currently focused, and over the edge scrolls the view of map. Who wants, that can hide (and show back) workpanel by pressing middle mouse click on a map. I guess that drawing is useful with RMC, choose of a cell - with LMC, with this is infofield is updated to current cell partameters. For massive viewing of cell terrain config, you can turn on/off showing of terrain configuration numbers (which also allows to see the selected area on a map) by pressing RMC on a workpanel (but not anywhere, better way - in an empty place).
8. Copying and pasting area. Buttons "Copy Cells", "Paste Cells". Lets store an area in buffer, it helps when mapsize changes and you don't want do loose data. Buffer exists only 1. Pasting is stored in undo, all of cells, one by one. For selecting an area it is convinient to show terrain config numbers (see part 7), so you can see an area, but also in info-field are shown the coordinates of selected area. For pasting you should click on a cell , which will be a topleft corner of pasted area.
9. Viewing of obstacles on battlefield. Added base of obstacles and picture of battlefield (obstacles.ini and obstacles.bmp, thanks for the pic to a user from www.forum.df2.ru , etoprostoya ). Choose a cell on a map and click "Obstacles" button, and you can see the obstacles in a separate window. The base was filled mainly by Legolegs then me and Packa (see forum.df2.ru for details). Viewing obstacles can be even if no map loaded. For example with the base you can find out such a situation Picture. I found some of such situations, look at this Map
10. Options and parameters. All options are in h3mtered.ini file. Comments to main options ( "program options" ) are in separate section for comments, comments means nothing for a program, all of explanations how to use options are in comments. In a separate section there are strings for localization/ any language, if you use them as example, you may create your own localization.
11. Bugs. The app could hang in for no reason, it is not yet fully tested. You can get errors with opening/saving maps, but i've done lots to make it all work (but could be problems with compressing/decompressing maps, because it's third-party code), or errors with drawing, undo, etc. In such cases I accept bugreports, the more detailed the faster I will fix. And bring an updated version on a website, for this is revisions-system, e.g. version 0.1.1.00, and 00 is revision.

0.Opensource. Programm is written in Delphi7 (©Borland), and used code provided by Sergey Rozhenko aka SergRoj aka GrayFace. Used free-distributed map_format_decriptions. Graphics extracted from game resources. You may use my sources free (as for SergRoj 's code ask him, there are contacts in his modules), but I will work on a programm by myself, when I will have time. Sources are party commented, as usual, in english. The program is provided "as is"

What is in the package: executable with source codes, folder with map_foramat_desriptions, folder with defs (graphics), readme and history-file h3teversion.txt . Old version of Editor - 0.1.0.03 , executable with source codes, graphics (land tiles) and old readme.

Download Editor Download Old version