Auto-translated
I can't resist and will write.
Initially, HD was conceived and started as a complete package (as the most recent, definitive version).
But due to numerous requests and persuasions, I first switched to supporting SoD and then began supporting WoG with its derivatives. That is, HD became universal. Then I joined the HotA team. The more HotA grew, the more the HD code written for it differed from the code for SoD.
A moment came when a new feature, when added to the unified, General HD code, was essentially written in three and a half versions, with numerous conditional transitions (if WoG, then; if Era/TE/VT, then; if SoD, then; if HotA, then). The code became quite monstrous and convoluted.
Therefore, starting with version 4.1, HD has completely become, both in concept and in implementation, three independent products in one package: HD for HotA, HD for SoD, and HD for WoG+. Only what concerns graphic modes and filters remains General.
_HD3_.dll and _HD3_Data\HD_MCR.dll are graphic modes and filters.
_HD3_Data\HD_HOTA.dll - all other functionality (including resolution changes) for HotA.
_HD3_Data\HD_SOD.dll - for SoD.
_HD3_Data\HD_WOG.dll - for WoG/TE/Era, etc.
Inside each module, the aforementioned conditional transitions and unnecessary code are now completely absent. In most cases, you cannot simply take and copy code from one module to another.
Surprisingly, a quick restart without reconnecting is technically very dependent on the OХ base. This same base also allows, by the way, to make a quick auto-save (a quick rollback to the beginning of the day without interrupting the game). But since Vic said that this procedure is highly undesirable in the context of tournament play, I still haven't done it, although I wanted to.
Why didn't I completely separate HD? Why can a SoD-only user receive an update for HotA? Simply because releasing one product and maintaining one update system is much easier and more time-efficient for me. And I have little time for Heroes these days (since I started a family). Moreover, a complete separation would require additional time and effort.
***
What is very noteworthy:
Throughout the entire history of HD development, there has never been so much anger and hatred from the WoG/TE/Era/... community because I made some functionality for SoD and didn't make it for WoG, due to difficulty, inconvenience, or simply a lack of desire. There was none at all: no anger or hatred.
***
I have lost a significant part of my interest in programming for Heroes directly. Now, inertia and feedback from HD fans keep me going (+ interest in programming as such). As long as I receive appreciative and grateful letters by email, I will continue development. And, if possible, I will pay attention to all supported versions of the game. Although, of course, it is easier for me to focus on only one.