Auto-translated
Good day, heroes!
I wrote a program in Delphi 7 for editing terrain, rivers, and roads on maps for Heroes III. All the detailed information is on my website: http://www.phomm.narod.ru
It all started when I decided to participate in the HW contest for the best map of 2009:
/topic/6284/
I was working on it, and I thought about how I would like to change specific soil tiles to others, so I started experimenting with the map editor. It took a very long time and was tedious, for example, to create lava terrain consisting only of squares that contain lava. Or to make a shore without that thin coastal line. In the end, I couldn't achieve what I wanted using the editor.
I remembered that there was a map format somewhere, found it, and started searching for the necessary bytes in a hexadecimal editor and replacing them. Very quickly, I realized that changing things this way takes too much time, but it is possible. And then I thought – I’ll write a program for editing terrains. Said and done. The next day, I was already testing it in pseudographics (based on the color of the soils on the minimap).
Then I added rivers and roads, and after some effort, I made it draw graphics from the game itself, which required unpacking the definitions of soils, roads, and rivers. A little later, I refined it, added undo functionality, various convenient features, brush size, brush preview, and various replacement algorithms (for example, replace all lava rivers with exactly the same ones in terms of rendering, but icy ones, without affecting everything else).
I was already ready to release it, but I thought that I should add a feature that would be really useful, because just changing the graphics is just fun; it certainly affects the map, but doesn't bring any gameplay/functionality benefits.
And so I implemented changing the map sizes!! Now I can add many more functions, but for version 0.1, I limited myself to this.
Please check it out!
And of course, suggestions for functionality and bug reports are welcome (please indicate the revision and the map being tested + a description of how to reproduce the bug).
Of course, I didn’t bother and immediately uploaded the source code, so anyone who wants can write/rewrite whatever they want.
Everything is on the website (see above) :)
P.S. This is a copy of my message from DF2; I didn't want to retype it in other words.
I wrote a program in Delphi 7 for editing terrain, rivers, and roads on maps for Heroes III. All the detailed information is on my website: http://www.phomm.narod.ru
It all started when I decided to participate in the HW contest for the best map of 2009:
/topic/6284/
I was working on it, and I thought about how I would like to change specific soil tiles to others, so I started experimenting with the map editor. It took a very long time and was tedious, for example, to create lava terrain consisting only of squares that contain lava. Or to make a shore without that thin coastal line. In the end, I couldn't achieve what I wanted using the editor.
I remembered that there was a map format somewhere, found it, and started searching for the necessary bytes in a hexadecimal editor and replacing them. Very quickly, I realized that changing things this way takes too much time, but it is possible. And then I thought – I’ll write a program for editing terrains. Said and done. The next day, I was already testing it in pseudographics (based on the color of the soils on the minimap).
Then I added rivers and roads, and after some effort, I made it draw graphics from the game itself, which required unpacking the definitions of soils, roads, and rivers. A little later, I refined it, added undo functionality, various convenient features, brush size, brush preview, and various replacement algorithms (for example, replace all lava rivers with exactly the same ones in terms of rendering, but icy ones, without affecting everything else).
I was already ready to release it, but I thought that I should add a feature that would be really useful, because just changing the graphics is just fun; it certainly affects the map, but doesn't bring any gameplay/functionality benefits.
And so I implemented changing the map sizes!! Now I can add many more functions, but for version 0.1, I limited myself to this.
Please check it out!
And of course, suggestions for functionality and bug reports are welcome (please indicate the revision and the map being tested + a description of how to reproduce the bug).
Of course, I didn’t bother and immediately uploaded the source code, so anyone who wants can write/rewrite whatever they want.
Everything is on the website (see above) :)
P.S. This is a copy of my message from DF2; I didn't want to retype it in other words.