26.04.2022, 12:12
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
26.04.2022, 13:45
(26.04.2022 12:12)DarkyAndSparky Wrote: [ -> ]Из сообщения немного не понятно, доработка будет опции командиров или переход другим составляющим в моде?
Опция будет постепенно дорабатываться в будущих версиях. В версии 3.53 будут переписаны уже следующие по счёту опции ВоГа.
01.06.2022, 21:04
Стабильно крашится игра при попытке начать карту "Король боли". 0x00503521, а также 0x005C17D9
Spoiler (Click to View)
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)
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)
02.06.2022, 02:04
(01.06.2022 21:04)Raistlin Wrote: [ -> ]Стабильно крашится игра при попытке начать карту "Король боли". 0x00503521, а также 0x005C17D9
На этой карте используются объект/объекты, шаблон для которых по каким-то причинам не загружен в память игры. Вылетает при попытке прочитать несуществующий тип объекта из шаблона. Подозреваю, что это что-то с id выше 147, т.к. все шаблоны с индекасми 147 и ниже были проверены на работоспособность, всё что выше я проверить не успел.
Больше месяца ничего по ERA+ не делал, пора наверное начать разработку версии 3.53.
А в ней переписаны кейсы кликов по специальным зданиям экрана города: теперь старый воговский триггер для новых зданий Причала больше не используется, а работает всё напрямую, заодно заработала и Академия Целителей:

05.06.2022, 20:01
06.06.2022, 00:18
(05.06.2022 20:01)slawa10 Wrote: [ -> ]Здравствуйте.
При покупке командира не проверят наличие денег.
Можно взять в долг.
Спасибо за найденную ошибку. Проверку на 1000 денег добавил в код.
Некротрон в версии 3.53 так же наконец-то заработал (код портирован с MoP). Заодно преобразователь скелетов на карте так же позволяет получать личей (чтобы от него был больший толк, т.к. в хотовской вариации этот объект совершенно безтолковый). В стандартном преобразователе всегда будут скелеты вместо личей (но только не для ИИ).

10.06.2022, 15:27
Через некоторое время после начала игры, при начале битвы начинает вываливаться.

Сейв https://disk.yandex.ru/d/iorblXTGLT0xjA

Сейв https://disk.yandex.ru/d/iorblXTGLT0xjA
11.06.2022, 01:29
(10.06.2022 15:27)slawa10 Wrote: [ -> ]Через некоторое время после начала игры, при начале битвы начинает вываливаться.
Сейв https://disk.yandex.ru/d/iorblXTGLT0xjA
В сохранении вместо структуры монстров записана тыква. Возможно, что из-за того, что пытались играть в сетевом режиме или ещё из-за чего-то... А возможно, установлены несовместимые с Тифоном плагины (Аметист например). В общем, причину этой ошибки я установить не могу.
12.06.2022, 03:59
При полностью отстроенном городе (карта "Счастливого пути") постройка "Погребальной Урны" сломала "Погребальный костер" (жилище Фениксов).
В Бастионе тоже такое было, я исправил так:
В Бастионе тоже такое было, я исправил так:
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);
12.06.2022, 05:01
(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, естественно не будет, но кое-что всё же игроку придётся сделать...

23.06.2022, 13:31
Здравствуйте, а можно как-то вернуть стандартные специализации героев разных замков?
23.06.2022, 16:28
(23.06.2022 13:31)gabi Wrote: [ -> ]а можно как-то вернуть стандартные специализации героев разных замков?
Можно - с помощью UN:C. Но стандартные имеют частые повторы, сама ERA+ заточена в сторону большей уникальности специализаций, т.к. играть героями, отличия между которыми составляют только их портреты, имена и биографии, не особо интересно.
Опция разрушения и перестройки городов полностью переписана и сдана к эксплуатации. Где-то в районе этой недели уже можно ожидать релиз версии 3.53.

05.07.2022, 23:58
06.07.2022, 02:45
(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
07.07.2022, 22:16
Окна перестройки городов и найма командиров выглядят просто великолепно. 
Печально... значит тему готовой сборки с Era Plus нужно удалять...

(07.07.2022 15:53)XEPOMAHT Wrote: [ -> ]Т.к. NTG запретили использовать тему Бастиона в ERA+, то игрокам придётся скачивать сей трек самостоятельно, с заменой заглушки в папке mp3: heroes3towns.com/towns/bastion/1/BastionTown.mp3
Печально... значит тему готовой сборки с Era Plus нужно удалять...
