Не удержусь и напишу.
Изначально ХД мной задумывался и начинался делалться под комплит онли (как самую последнюю православную версию).
Но по многочисленным просьбам и увещеваниям сначала я пересел на сод а затем начал поддержку wog с его ответвлениями. То есть ХД стал универсален. Затем я вошел в состав Кота Хрю. Чем больше разрасталась хота, тем сильнее отличался код ХД, писавшийся под нее, от кода под сод.
Наступил момент, когда новая фича, при добавлении в единый общий код ХД писалась по сути в трех с половиной экземплярах, с многочисленными условными переходами (если вог, то; если эра/те,вт то; если сод то; если хота то). Код стал достаточно монструозен и запутан.
Поэтому начиная с версии 4.1 ХД полностью стал уже и по сути и по реализации тремя независимыми продуктами в одном пакете: хд для хота, хд для сод и хд для вог+. Общим осталось только то что касается графических режимов и фильтров.
_HD3_.dll и _HD3_Data\HD_MCR.dll - это графческие режимы и фильтры.
_HD3_Data\HD_HOTA.dll - весь прочий (включая смену разрешения) функционал для хота.
_HD3_Data\HD_SOD.dll - для сод.
_HD3_Data\HD_WOG.dll - для вог/те/эра и т.д.
Внутри каждого модуля теперь полностю отсутсвуют указанные выше условные переходы и лишний код. В большинстве случаев нельзя просто взять и скопипастить код из одного модуля в другой.
Как ни странно, но быстрый рестарт без переконнекта технически очень сильно завязан на базе ОХ. Эта же база позволяет, кстати, сделать быстрое авто (быстрый откат на начало дня без прерывания игры). Но поскольку Вик сказал что эта процедура очень нежелательна в рамках турнирной игры, я до сих пор этого не сделал, хотя хотел.
Почему же я не разделил ХД полностью? Почему для пользователя Сод онли может прилететь обновление для хота? Просто потому что релизить один продукт, обслуживать одну систему обновления - гораздо проще и экономичнее по времени для меня. А со временем для героев у меня туго (с тех пор как обзавелся семьей). Тем более что непосредственно разделение, полное, это дополнительные время/трудозатраты.
***
Что очень примечательно:
За всю историю разработки ХД, от того что я сделал какой-то функционал для сод и не сделал его для вог, по причине трудности, неудобности или просто из-за отсутствия желания, ни разу не было столько гнева и ненависти от вог/те/эра/... комьюнити. Их вообще не было: гнева и ненависти.
***
Я утратил значительную часть интереса к программированию под герои непосредственно. Меня сейчас держат инерция и отдача от поклонников ХД (+ интерес к программированию как таковому). Пока я получаю признательные и благодарственные письма на почту, я буду продолжать разработку. Причем, по возможности, уделяя внимание всем поддерживаемым версиям игры. Хотя, естественно, мне проще сосредоточиться только на одной.