Потому что в 90% случаев возникал баг с зависанием игры.
Баг заключался вот в чём:
1) Стартуем игру (новый запуск из винды, это важно! НЕ простая перезагрузка карты, а прям перезагрузка игры)
2) Заходим в город и вызываем диалог обмена героев. Важно НЕ проводить встречу вне города, до этого момента
3) После закрытия диалога встречи игра закрывает и диалог города тоже, и появляется визуальный баг (позже скину скрин)
Т.е. игра показывает основную карту, но без героев и городов. на мышь реакции нет, реакция есть на F4, F5 и всё
Этот код решал эту проблему в 99% случаев путём правильной перетасовки менеджеров
Code:
if ( *(int*)((int)o_ExecMgr +4) != (int)o_WndMgr )
Вот небольшое объяснение причины бага: т.е. на момент вызова диалога обмена в городе описание плохого и хорошего расположнения менеджеров в структуре o_ExecMgr
Замечание: в коде Хоты и в Моп я подобного кода (да и вообще упоминания такой проблемы) не видел. Не понимаю, если честно - почему у меня такая проблема нарисовывалась и почему в других версиях этого не было.