Wake of Gods Forum | Форум Во Имя Богов

Full Version: [ERA 3] HoMM3 ERA HD Rus/Eng Clear
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11
(25.04.2025 15:23)Barin Wrote: [ -> ]В данном конкретном случае, я на ERA 3.9.26 and HD 5.5 R53
Сделал отдельный деф, но с 6-ю символами получил ошибку. Сделал 5 символов - всё заработало.

У меня ERA 3.9.21 и HD 5.4 R84. Правда сами дефы добавлены в качестве новых, без замен. Лошадки привязаны к типу и полу героев в коде самой игре, но можно привязать их и к номеру героя (тогда придётся сделать 255 def-ов). Надо точнее узавать у Берсеркера как он меняет данные структуры загруженного def-а на лету во время выпаления RedirectFile.

Например хотовцы проделывают такую чёрную магию у себя в hota.dll для подмены def-а, к примеру, чтобы работала абилка Коатля, где он из стека превращается в препятствие и наоборот:

Исходники BattleFigures содержат много функций по манипуляции с деф-ами, не даром хотовцы так сильно были недовольны, когда Бараторч случайно слил их.

Ну и вот аналог из era.dll:

У Берсеркера - просто универсальная выгрузка старого файла и загрузка вместо него нового. Хотовцы ж правят ещё и содержимое структуры загрузочного деф-а. Возможно, Берсеркеру стоит добавить аналогичную команду, чтобы моддеры на ERA могли подменить любой def в игре, хотя...

(25.04.2025 15:10)Berserker Wrote: [ -> ]Это такой хитрый способ экономить ресурсы или держать в памяти отдельные изображения, отгрузив всё остальное. Не знаю, насколько он практичен и используется ли где игрой доступ именно к конкретному кадру по имени.

Да, разработчики так экономили память. Спрайт проверяется на присутствие в памяти по имени и если он там уже есть - его повторная загрузка пропускается, сам спрайт берётся из числа ранее загруженных, к нему при этом ещё и прикручивается палитра от загружаемого def-а. В ERA+ я сталкивался с кучей графических косяков из-за этого - приходилось всё переименовывать.

(25.04.2025 15:10)Berserker Wrote: [ -> ]Если нет, можно было бы сделать реализацию с генерацией случайного имени в процессе выполнения и решить эту проблему навсегда. Херомант, что думаешь?

Вряд ли стоит лезть так глубоко в движок. Проще сгенерировать уникальный абырвалг в самом def-е раз и навсегда, нежели париться с памятью самой игры. Те же хотовцы пошли ещё дальше - у них сейчас в тренде длинные имена в def-ах, из-за чего прога ГрейФейса не может их нормально распаковать, т.к. ГрейФейс похоже не догадывался о таком трюке в def-е и сам лимитировал имя прайта в def, хотя в самой игре на имя - обычный лимит на строку в 512.
(25.04.2025 15:39)XEPOMAHT Wrote: [ -> ]Лошадки привязаны к типу и полу героев в коде самой игре, но можно привязать их и к номеру героя (тогда придётся сделать 255 def-ов).
Я правильно понял, что если сделать уникальные дефы всех героев, которые могут появиться на карте, то все герои будут иметь уникальный вид при передвижении по карте? И, если да, то, как следствие, нужно делать и укникальные дефы героев в бою.

P.S. Вопрос больше просто познавательный, так как daemon_n уже сделал плагин, позволяющий "на лету" менять деф любого героя в любой момент игры.
(25.04.2025 18:20)SergOz Wrote: [ -> ]если сделать уникальные дефы всех героев, которые могут появиться на карте, то все герои будут иметь уникальный вид при передвижении по карте?

Да

(25.04.2025 18:20)SergOz Wrote: [ -> ]И, если да, то, как следствие, нужно делать и укникальные дефы героев в бою.

Да

Но сразу скажу, что это очень трудозатратно - моделировать и анимировать 255 моделей человечков на лошадках, включая анимации галопа по карте.
Pages: 1 2 3 4 5 6 7 8 9 10 11
Reference URL's