homm3tools
homm3tools copied to clipboard
[h3mlib] Conversion: a parameter to influence preservation/replacement/removal of non-RoE objects during conversion
h3mlib should be able to adapt which objects it removes and which it replaces according to a parameter passed to the conversion functions. that decides its strategy.
Atleast the following options are interesting: 0. Drop everything that is non-RoE without replacing. Maps converted in this way are compatible with all versions of Heroes. 1. Drop everything that is non-RoE, but use replacement strategies where possible (e.g replace non-RoE impassable terrain with RoE impassable terrain, replace non-RoE monsters with RoE monsters in armies and so on). Maps converted in this way are compatible with all versions of Heroes. 2. Do NOT drop anything that is non-RoE as long as it is possible to legitimately have it on a RoE map. For example, a map with a Conflux, Conflux heroes and creatures on it is fine, but a map which has a Seer's Hut on it with SoD-style quests is NOT as the RoE format does not support it and e.g Heroes 3 Complete would crash when opening the map. Maps converted in this way would be playable in Heroes 3 Complete and a modified version of HD Edition that supports non-RoE objects. 3. Do NOT drop anything that is non-RoE and additionally allow as many SoD features as possible such as SoD-style Seer's Hut quests. Maps converted in this way would only be playable in a modified version of Heroes 3, e.g HD Edition with a future version of HD Edition that supports non-RoE objects as well as non-RoE customizations of objects such as SoD-style quests.
Of the above options, number 1 is currently always used (except in the Succession Wars branch which always uses number 2).
Done definition: A parameter which modifies the conversion strategy in the four ways described above according to its value implemented. This issue is just for the h3mlib conversion, it doesn't cover modiying HD Edition or anything else.