| DarkyAndSparky   
 Posts: 56
 
 | 
			| 
 
				Из сообщения немного не понятно, доработка будет опции командиров или переход другим составляющим в моде?
			 |  | 
	| 26.04.2022 12:12 |  | 
	
		| Raistlin   
   
   Posts: 1344
 
 | 
			| 
 
				Стабильно крашится игра при попытке начать карту "Король боли". 0x00503521, а также 0x005C17D9  Failed to read data at 5.EIP: H3era hd.005C17D9. Code: C0000005
 
 > Registers
 EAX: 00004B69 (int: 19305)
 ECX: 00000000 (int: 0)
 EDC: 102C6D12 (int: 271346962, pint: 0xFFFFFFFF, str: "яяяяяя\x00")
 EBX: 00000000 (int: 0)
 ESP: 02D37344 (int: 47412036, pint: 0x00000004)
 EBP: 02D3734C (int: 47412044, pint: 0x02D37384 = 47412100)
 ESI: 00000021 (int: 33)
 EDI: 1029C020 (int: 271171616, pint: 0x00000000)
 
 > Callstack
 H3era hd.004C9E5D
 H3era hd.004BFD12
 H3era hd.004C02AA
 H3era hd.0058C9A3
 H3era hd.0058C54E
 03BAA3EF
 03BAA37C
 H3era hd.00587628
 Xxl.1625
 H3era hd.0058847D
 Xxl.1122
 Oleaut32.1E927
 Oleaut32.1E8A8
 
 > Stack
 02D37330: 00000000 (int: 0)
 02D37334: 00000000 (int: 0)
 02D37338: 00000000 (int: 0)
 02D3733C: 00000000 (int: 0)
 02D37340: 02D3707C (int: 47411324, pint: 0x00000000)
 02D37344*: 00000004 (int: 4)
 02D37348: 00000005 (int: 5)
 02D3734C: 02D37384 (int: 47412100, pint: 0x02D373BC = 47412156)
 02D37350: H3era hd.004C9E5D (int: 5021277, pint: 0x6AF04D8B = 1794133387)
 Создал новый глобальный мод: WoG Ultra Edition
 |  | 
	| 01.06.2022 21:04 |  | 
	
		| XEPOMAHT   
   
   Posts: 2481
 
 | 
			| 
 
				 (01.06.2022 21:04)Raistlin Wrote:  Стабильно крашится игра при попытке начать карту "Король боли". 0x00503521, а также 0x005C17D9 
На этой карте используются объект/объекты, шаблон для которых по каким-то причинам не загружен в память игры. Вылетает при попытке прочитать несуществующий тип объекта из шаблона. Подозреваю, что это что-то с id выше 147, т.к. все шаблоны с индекасми 147 и ниже были проверены на работоспособность, всё что выше я проверить не успел. 
 Больше месяца ничего по ERA+ не делал, пора наверное начать разработку версии 3.53.
 
А в ней переписаны кейсы кликов по специальным зданиям экрана города: теперь старый воговский триггер для новых зданий Причала больше не используется, а работает всё напрямую, заодно заработала и Академия Целителей:
   |  | 
	| 02.06.2022 02:04 |  | 
	
		| slawa10   
 Posts: 17
 
 | 
			| 
 
				Здравствуйте. 
При покупке командира не проверят наличие денег. 
Можно взять в долг.
    
				
(This post was last modified: 05.06.2022 20:21 by slawa10.)
 |  | 
	| 05.06.2022 20:01 |  | 
	
		| slawa10   
 Posts: 17
 
 | 
			| 
 
				
(This post was last modified: 10.06.2022 15:31 by slawa10.)
 |  | 
	| 10.06.2022 15:27 |  | 
	
		| Raistlin   
   
   Posts: 1344
 
 | 
			| 
 
				При полностью отстроенном городе (карта "Счастливого пути") постройка "Погребальной Урны" сломала "Погребальный костер" (жилище Фениксов). 
В Бастионе тоже такое было, я исправил так:
 
Code:
 _int_ __stdcall Fix_Horde_NoHordeInBastion(LoHook* h, HookContext* c){
 if (*(char*)(c->ecx + 4) == BastionTown) // В ecx находится указатель на структуру города, 4 - смещение до типа.
 {
 c->return_address = 0x5BEF63;
 return NO_EXEC_DEFAULT;
 }
 
 return EXEC_DEFAULT;
 }
 
 _int_ __stdcall Fix_Horde_NoHordeInBastion2(LoHook* h, HookContext* c)
 {
 if (*(char*)(c->ecx + 4) == BastionTown && (c->edx == 18 || c->edx == 24)) // В ecx находится указатель на структуру города, 4 - смещение до типа. edx хранит индекс здания.
 {
 c->return_address = 0x5BEEA9;
 return NO_EXEC_DEFAULT;
 }
 
 return EXEC_DEFAULT;
 }
 
 
 
 
 // Супер-важный хук, исправляющий вылет при постройке орд и жилища "Храм Анубиса".
 Magic->WriteLoHook(0x5BEEDE, Fix_Horde_NoHordeInBastion);
 // Дополнение к супер-хуку, нужное для того, чтобы постройка орд не разрушала Храм Анубиса.
 Magic->WriteLoHook(0x5BEDEB, Fix_Horde_NoHordeInBastion2);
 Создал новый глобальный мод: WoG Ultra Edition
 |  | 
	| 12.06.2022 03:59 |  | 
	
		| XEPOMAHT   
   
   Posts: 2481
 
 | 
			| 
 
				 (12.06.2022 03:59)Raistlin Wrote:  При полностью отстроенном городе (карта "Счастливого пути") постройка "Погребальной Урны" сломала "Погребальный костер" (жилище Фениксов). 
Оригинальная механика игры именно такая. Погребальная Урна сделана не по стандарту, а была прикручена хотовцами "задним числом" с соответсвующими костылями. В Тифоне для этого объекта костылей нет, получается, что после постройки орды, Фениксы переселяются в эту самую Урну. Считаю тоже, что хотовские костыли так же придётся применить и для Костра, чтобы HD-мод не терял Фениксов (т.к. Бараторч не знает, что Тифон добавляет в ЭРУ эту самую Урну).
  (12.06.2022 03:59)Raistlin Wrote:  В Бастионе тоже такое было, я исправил так:
 
 
 
Code:
 _int_ __stdcall Fix_Horde_NoHordeInBastion(LoHook* h, HookContext* c){
 if (*(char*)(c->ecx + 4) == BastionTown) // В ecx находится указатель на структуру города, 4 - смещение до типа.
 {
 c->return_address = 0x5BEF63;
 return NO_EXEC_DEFAULT;
 }
 
 return EXEC_DEFAULT;
 }
 
 _int_ __stdcall Fix_Horde_NoHordeInBastion2(LoHook* h, HookContext* c)
 {
 if (*(char*)(c->ecx + 4) == BastionTown && (c->edx == 18 || c->edx == 24)) // В ecx находится указатель на структуру города, 4 - смещение до типа. edx хранит индекс здания.
 {
 c->return_address = 0x5BEEA9;
 return NO_EXEC_DEFAULT;
 }
 
 return EXEC_DEFAULT;
 }
 
 
 
 
 // Супер-важный хук, исправляющий вылет при постройке орд и жилища "Храм Анубиса".
 Magic->WriteLoHook(0x5BEEDE, Fix_Horde_NoHordeInBastion);
 // Дополнение к супер-хуку, нужное для того, чтобы постройка орд не разрушала Храм Анубиса.
 Magic->WriteLoHook(0x5BEDEB, Fix_Horde_NoHordeInBastion2);
 
Спасибо, постараюсь применить подобную вещь в ERA+.   
 Готово. При нажатии на Урну окно просмотра монстра/найма оставил без изменения, т.к. пущай Фениксы нанимаются и там и там.
  
 Наконец-то температура 36,6, поэтому начал переписывать воговскую опцию разрушения и перестройки городов. В ERA+ она будет сильно упрощена, т.к. воговский квест с обязательным наймом привидений в кузнице о ожиданием ещё и 7 дней мне не нравится. Перестройки города за 1 сек., как в Героях 7, естественно не будет, но кое-что всё же игроку придётся сделать...
   |  | 
	| 12.06.2022 05:01 |  | 
	
		| gabi   
 Posts: 2
 
 | 
			| 
 
				Здравствуйте, а можно как-то вернуть стандартные специализации героев разных замков?
			 |  | 
	| 23.06.2022 13:31 |  | 
	
		| igrik   
   Posts: 2821
 
 |  | 
	| 05.07.2022 23:58 |  | 
	
		| XEPOMAHT   
   
   Posts: 2481
 
 | 
			| 
 
				 (05.07.2022 23:58)igrik Wrote:  ты переписал диалог? Это не WND же? 
Там весь код полностью другой, да и вместо WND используется обычный DL, чтобы в диалоге была поддержка новых городов (с WND отвалится совместимость с zvslib1.dll, т.к. туда поддерку новых городов физически нельзя запихать, а DL свободно редачится в блокноте без перекомпиляции). Воговский больше не используется (ну и сами правила перестройки уже не воговские), соотвественно, вызов воговского диалога выбора города в ERA+ кодом игры не исполняется. 
 В грядущую версию 3.54 добавлена опция выбора типа командира при найме.
   
А в версии 3.53 появилась опция героев без городов, при игре с которой не придётся ждать 7 дней после потери игроком всех городов на карте (всех вражеских героев придётся найти и победить вне зависимости, есть у врага город или нет).
 
Скачать версию 3.53:
 
Часть 1: vk.com/s/v1/doc/ZwELasudKW6yN0izjdDCpjk-ZVmbWDJS23VH6i-YGAoSdNzMmeo 
Часть 2 (можно не скачивать, если была установлена предыдущая версия): vk.com/s/v1/doc/E5wmfGth4Mwgl3u-o4Yt9LKNEoKZWO6YYgfOLws7KWYLk6UtKDA
 
Т.к. NTG запретили использовать тему Бастиона в ERA+, то игрокам придётся скачивать сей трек самостоятельно, с заменой заглушки в папке mp3: heroes3towns.com/towns/bastion/1/BastionTown.mp3
			 |  | 
	| 06.07.2022 02:45 |  |