Current time: 24.11.2024, 12:50 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
ERA III
Author Message
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #316

(09.10.2020 10:49)Archer30 Wrote:  Latest finding about Revealing the whole XXL map = crash upon loading

XXL-мод давно пора полностью переписать и встроить в era.dll. Например для MoP он когда-то был переписан на 90%, т.к. бинарная версия XXL-мода, которая используется в качестве мода для ERA, по тестам на MoP оказалась довольно багованной и просто недоделанной (сейчас и не вспомню конкретно, дело было года 3 назад...). Тем более часть пачтей XXL-мода заменяется HD-модом (радар, окно обзора королевства) и самой era.dll (патчи на воговские массивы данных, привязанные к размеру карты), поэтому предложение встроить XXL-мод в эру по-прежнему остаётся открытым (меня до сих пор смешит то, что глючный и недоделанный XXL-мод десятилетней давности - по прежнему один из популярных модов для ERA 96 ).
09.10.2020 12:02
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #317

Archer30, thanks for valuable report.

XEPOMAHT, это всё без конкретики.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
09.10.2020 13:41
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #318

Berserker, это же стиль подачи инфы у XEPOMAHT'а такой на форуме, ещё не привык?

XEPOMAHT Wrote:меня до сих пор смешит то, что глючный и недоделанный XXL-мод десятилетней давности - по прежнему один из популярных модов для ERA
ну, так он востребован игроками и потому им хоть какой-то, даже с багами, главное чтобы карты создавал
09.10.2020 13:58
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #319

(09.10.2020 13:58)Bes Wrote:  ну, так он востребован игроками и потому им хоть какой-то, даже с багами, главное чтобы карты создавал

Да, потому что не критично. Но тех же кнопок для генерации больших размеров по-прежнему на ERA нет (используются текущие id кнопок) и сам код получения размеров использует сложное вычисление размера вместо получения готовых значений (как в оригинале), что замедляет перерисовку окна карты приключений (а она перерисовывается практически постоянно, например в MoP перерисовку по движению мыши я вообще убрал и на моем древнем ПК немного поднялась производительность игры 148 ).
09.10.2020 15:06
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #320

Berserker, если не секрет, можешь вкратце обрисовать дальнейшие свои планы в развитии линейки ERA3 ?
что так сказать в значимых планах файла TODO ?
иногда хочется так сказать испытывать чувство предвкушения (на этом наркотике вся киноиндустрия уж точно нас держит своими трэйлерами) от той или иной реализации или задумки Rolleyes
10.10.2020 03:49
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #321

Bes, выпуск мода на Смешанные Нейтралы 2, Управление циклическими звуками, Автообновление, Lua.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
10.10.2020 04:02
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #322

спасибо
ERM2.0 как я понимаю сейчас в окончательном релизе? только дошлифовка мелких огрехов и скрытых багов?
ничего из нового уже не ждать?
10.10.2020 04:11
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #323

Bes, как движок да, конечно.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
10.10.2020 14:52
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #324

(09.10.2020 12:02)XEPOMAHT Wrote:  XXL-мод давно пора полностью переписать и встроить в era.dll. Например для MoP он когда-то был переписан на 90%, т.к. бинарная версия XXL-мода, которая используется в качестве мода для ERA, по тестам на MoP оказалась довольно багованной и просто недоделанной (сейчас и не вспомню конкретно, дело было года 3 назад...). Тем более часть пачтей XXL-мода заменяется HD-модом (радар, окно обзора королевства) и самой era.dll (патчи на воговские массивы данных, привязанные к размеру карты), поэтому предложение встроить XXL-мод в эру по-прежнему остаётся открытым (меня до сих пор смешит то, что глючный и недоделанный XXL-мод десятилетней давности - по прежнему один из популярных модов для ERA ).
ХЕРОМАНТ, а дай свой код пожалуйста. Я попробую его адаптировать для ERA. Если уже есть готовый продукт, не хотелось бы копать всё заново с нуля.
10.10.2020 21:11
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #325

(10.10.2020 21:11)igrik Wrote:  Если уже есть готовый продукт, не хотелось бы копать всё заново с нуля.

Сохранились только сами "раскопки" - разобранный бинарник от AlexSpl и версия Андрея, на основе которых была написана версия под MoP: https://vk.com/doc-118013293_472373462

Из MoP - только диассемблированием (т.к. всё, что встраивается в mop.exe, производится без использования исходных кодов напрямую байткодом). Что не было встроено - только код, который ставит кнопки:

Code:
        mAlloc 68h
        DrawDefButton eax, 0DDh, 81, 41, 33, Экран_опций_карты_!_Кнопка_карты_180х180, RanSize180_def, 0, 1, 0, 0, 2
        call AddItemToArray_MapOpt

        mAlloc 68h
        DrawDefButton eax, 106h, 81, 41, 33, Экран_опций_карты_!_Кнопка_карты_216х216, RanSize216_def, 0, 1, 0, 0, 2
        call AddItemToArray_MapOpt

        mAlloc 68h
        DrawDefButton eax, 12Fh, 81, 41, 33, Экран_опций_карты_!_Кнопка_карты_252х252, RanSize252_def, 0, 1, 0, 0, 2
        call AddItemToArray_MapOpt

        mAlloc 68h
        DrawDefButton eax, 230, 535, 166, 40, Экран_опций_карты_!_Кнопка_меню_выбора_случайной_карты, 683580h, 0, 1, 0, 0, 2
        call AddItemToArray_MapOpt
11.10.2020 01:04
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #326

Ох. Я понял что не всё так просто. В любом случае - спасибо!

PS: не сказать как я ошалел, когда увидел "40A08F E9B4940000; JMP 00413548" и то, что мы втупую прыгаем из одной функции прямо в свитч другой функции. Это вообще нормально?
11.10.2020 19:43
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #327

igrik, если в свитче не используется ранее инициализированных локальных переменных/аргументов и обе функции имеют одно и то же число параметров и размер локальной памяти.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
11.10.2020 19:56
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #328

Вот то то и оно. Но в данном случае это совершенно не так...
11.10.2020 20:01
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #329

(11.10.2020 19:43)igrik Wrote:  Это вообще нормально?

Не очень нормально, поэтому в MoP просто берётся готовое значение из таблицы и пишется в local.2:

Code:
CPU Disasm
Address   Hex dump                  Command                                  Comments
0040A07F  |.  83F8 07               CMP EAX,7
0040A082  |.  77 22                 JA SHORT 0040A0A6
0040A084  |.  8B1485 585E7000       MOV EDX,DWORD PTR DS:[EAX*4+705E58]
0040A08B  |.  8955 F8               MOV DWORD PTR SS:[LOCAL.2],EDX
0040A08E  \.  EB 1D                 JMP SHORT 0040A0AD
0040A090   .  90                    NOP
0040A091   .  90                    NOP
0040A092   .  90                    NOP
0040A093   .  90                    NOP
0040A094   .  90                    NOP
0040A095   .  90                    NOP
0040A096   .  90                    NOP
0040A097   .  90                    NOP
0040A098   .  90                    NOP
0040A099   .  90                    NOP
0040A09A   .  90                    NOP
0040A09B   .  90                    NOP
0040A09C   .  90                    NOP
0040A09D   .  90                    NOP
0040A09E   .  90                    NOP
0040A09F   .  90                    NOP
0040A0A0   .  90                    NOP
0040A0A1   .  90                    NOP
0040A0A2   .  90                    NOP
0040A0A3   .  90                    NOP
0040A0A4   .  90                    NOP
0040A0A5   .  90                    NOP
0040A0A6  />  C745 F8 00008040      MOV DWORD PTR SS:[LOCAL.2],40800000

Там, где свитч совершенно не нужен, его лучше заменять обычной таблицей (+ освобождаются NOPS).
(This post was last modified: 12.10.2020 00:29 by XEPOMAHT.)
12.10.2020 00:24
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #330

Berserker, хорошо бы таки поставлять в инсталляторе ERA инфу по идущим с WoG патчам, дабы сразу нуждающиеся в их расшифровке понимали что тот или иной bin (даже из числа *.off) в себе несёт конкретно.
** - на правах пожеланий
14.10.2020 01:56
Visit this user's website Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group