Current time: 20.09.2020, 19:55 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
ERA PLUS
» 10-й город для ЭРА и не только...
Author Message
XEPOMAHT Offline

Posts: 736
Post: #1
Звезда 
ERA PLUS

Собственно, это сборник различных модификаций Heroes of Might and Magic III, объединённых в один мод для платформы ERA.

Изначально создавалось как компиляция дополнительных скриптов-опций для ERA Scripts RUS. Когда-то доп.опций было много, со временем их количество сократилось и сейчас осталось только 6 штук:

Image: 430629c89398.png

опции мода (Click to View)
В дальнейшем, в состав ERA PLUS добавлялись лучшие бинарные патчи и плагины, которые выкладывались здесь на форуме, многие из них почему-то незаслуженно забыты и нашли применение только в этой компиляции:

краткий список патчей и плагинов (Click to View)
игровой контент (Click to View)

Пожелания для установки:

1. Устанавливать только на ЧИСТУЮ РУСИФИЦИРОВАННУЮ ЭРУ. На различных сборках работоспособность мода не гарантируется.
2. ERA+ должен находиться в конце списка текстовика Mods/list.txt и не должен перекрываться другими модами.
3. Очень рекомендую выключить все опции, что-либо меняющие в городах.
4. Ошибки с заголовком "ArtDisabledSet" - абсолютно нормально, их необходимо пропустить (или исправить соответствующий воговский скрипт 148 ).

Совместимость: ERA 2.9.12, ERA Scripts RUS, HD Mod.

Скачать: https://vk.com/doc-118013293_539308229
(This post was last modified: 07.03.2020 02:37 by XEPOMAHT.)
27.04.2019 06:01
Find all posts by this user Quote this message in a reply
daemon_n Online

Posts: 2370
Post: #2

Отлично! Баг-репорты/пожелания нужны?
28.04.2019 09:56
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline

Posts: 736
Post: #3

Скорее всего нет, т.к. от того что запланировано в ERA PLUS сделано где-то процентов 16. В этой версии (можно назвать её Alpha 1) готовы только самые глобальные и сложные вещи (т.е. базис мода), всё остальное будет дописываться позже (и выпуск обновлений будет происходить быстрее, т.к. всё что осталось - только дело времени).
28.04.2019 12:40
Find all posts by this user Quote this message in a reply
daemon_n Online

Posts: 2370
Post: #4

Понял. Просто хотел исправить гогов/церберов - у них портреты перепутаны - не нашел файл нужный105
28.04.2019 12:46
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline

Posts: 736
Post: #5

(28.04.2019 12:46)daemon_n Wrote:  у них портреты перепутаны

Да, def с ними собирался наспех. В следующей версии попробую сделать вывод портретов из pcx, чтобы палитра для каждого портрета была своя, а не общая для всех, чтобы можно было без проблем использовать юбисофтовские (в релизной версии из-за потерь в палитре они смотрятся паршиво).
28.04.2019 16:53
Find all posts by this user Quote this message in a reply
Ethereal Offline

Posts: 222
Post: #6

Большое спасибо за труды. Sm Интересная штука. Буду внимательно следить за развитием мода.

(27.04.2019 06:01)XEPOMAHT Wrote:  Typhon.dll - добавляет новых монстров, банков монстров и город;

Э... Город? Ну, будем посмотреть.
29.04.2019 08:42
Find all posts by this user Quote this message in a reply
daemon_n Online

Posts: 2370
Post: #7

(29.04.2019 08:42)Ethereal Wrote:  Э... Город? Ну, будем посмотреть.

Жаль, что пока без героев.105
29.04.2019 12:06
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline

Posts: 736
Post: #8

(29.04.2019 12:06)daemon_n Wrote:  Жаль, что пока без героев.105

Героев получилось добавить только в MoP. На ERA вся проблема в прямой адресации как самой эры, например здесь:

Code:
HeroSpecsTable:     PHeroSpecsTable   = Ptr($7B4C40);
  HeroSpecsTableBack: PHeroSpecsTable   = Ptr($91DA78);

так и большей части плагинов (многие что-то читают/записывают в данных, которые необходимо перенести в памяти, соответственно, их нужно переписывать, а никто точно это делать уже не будет), к примеру прямая адресация в HD-моде:

Code:
void* HeroStructPointer(char hero)
{
    return (void*)((*(int*)0x00699538) + 0x21620 + 0x492*hero);
}

Поэтому для ERA PLUS герои кампаний будут заменены на героев от десятого города.

Второй проблемой является поддержка всего этого дела в редакторе карт - если 10й город и можно запустить в редакторе (т.к. по факту редактор его поддерживает изначально), то с 11-м городом и добавленными героями это уже не работает. Изменять редактор карт пока не представляется возможным, т.к. его код не разобран в достаточной для этого мере (точнее, он был разобран, но база так и не была выложена, ну и фиг с ней, я тоже не хочу в ней разбираться, мне как-то хватило базы самих Третьих Героев). Поэтому для эры не будет новых героев (ну может всё-таки кто-нибудь сделает, а я лучше буду посмотреть).
29.04.2019 14:39
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2256
Post: #9

Да, с ссылками на героев - проблема еще та. Хрен знает как из неё выходить. Проще забить...

По messages.dll: есть исходник или хотя бы инструкция как им пользоваться?

Новые города - самый смак, и это круто. Но ERM тут либо убъёт, либо умрёт...
А ссылки на городских существ, и на таблицу грейдов тоже перенесены?
Пазлы обелисков кстати невыведены. Но их выводить - тот еще гемор.


WoG Scripts || WoG Scripts Rus
30.04.2019 19:38
Visit this user's website Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 570
Post: #10

Quote:Да, с ссылками на героев - проблема еще та. Хрен знает как из неё выходить. Проще забить...
Object pool на все существующие слоты. Все равно на карте одновременно может быть не больше 112 героев, не считая тюремных, а способов их появления - пересчитать по пальцам.
Дело даже не особо муторное, и в перспективе куда лучше, чем героически пробивать лбом стенку ограничения в 156 героев, чтобы потом все равно упереться в куда более сложное ограничение на 255.
(This post was last modified: 30.04.2019 22:57 by feanor.)
30.04.2019 22:53
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline

Posts: 736
Post: #11

(30.04.2019 19:38)igrik Wrote:  По messages.dll: есть исходник или хотя бы инструкция как им пользоваться?

Там просто прописывается в typemsgs.txt имя дефа, номер спрайта, текст под картинкой и подсказка по пкм. Затем можно вызывать сообщение с картинкой любыми средствами, например "!!IF:Q1/100/1/4/z100504;" (ERM) или "Message стр ebx*4+524 MoPSpec, Type_Msg_RMBINFO, Pic_MoP, Pic_Арена" (WERD)

Исходник наверное есть у Берсеркера. И в исходниках MoP ассемблерный код тоже можно найти.


(30.04.2019 19:38)igrik Wrote:  А ссылки на городских существ, и на таблицу грейдов тоже перенесены?
Пазлы обелисков кстати невыведены. Но их выводить - тот еще гемор.

Перенесены все известные содовские таблицы, завязанные на городах, известные авторам WoG 3.59 (т.к. патч на новые города был полностью взят от туда и дополнен данными из HoA, поэтому непосредственно воговский код практически не патчился - это дело будущих версий ERA PLUS). Параметры пазлов переписывать было некогда (т.к. в MoP они отключены, поэтому копировать было не от куда), поэтому просто скопировал для всех от Замка, чтобы игра просто не падала. В обновлении ERA PLUS координаты и порядок наложения пазлов уже будет переписан с exe для всех городов, а не только одного.

(30.04.2019 22:53)feanor Wrote:  Дело даже не особо муторное, и в перспективе куда лучше, чем героически пробивать лбом стенку ограничения в 156 героев, чтобы потом все равно упереться в куда более сложное ограничение на 255.

Ну может быть кто-нибудь для ЭРА сделает. Например на MoP лимит героев = 213, если делать больше, то придётся ещё десяток таблиц переносить. Для пары городов этого количества хватит с избытком.
01.05.2019 00:46
Find all posts by this user Quote this message in a reply
RoseKavalier Offline

Posts: 83
Post: #12

(29.04.2019 14:39)XEPOMAHT Wrote:  
(29.04.2019 12:06)daemon_n Wrote:  Жаль, что пока без героев.105

Героев получилось добавить только в MoP. На ERA вся проблема в прямой адресации как самой эры, например здесь:

Code:
HeroSpecsTable:     PHeroSpecsTable   = Ptr($7B4C40);
  HeroSpecsTableBack: PHeroSpecsTable   = Ptr($91DA78);

так и большей части плагинов (многие что-то читают/записывают в данных, которые необходимо перенести в памяти, соответственно, их нужно переписывать, а никто точно это делать уже не будет), к примеру прямая адресация в HD-моде:

Code:
void* HeroStructPointer(char hero)
{
    return (void*)((*(int*)0x00699538) + 0x21620 + 0x492*hero);
}

Поэтому для ERA PLUS герои кампаний будут заменены на героев от десятого города.

Второй проблемой является поддержка всего этого дела в редакторе карт - если 10й город и можно запустить в редакторе (т.к. по факту редактор его поддерживает изначально), то с 11-м городом и добавленными героями это уже не работает. Изменять редактор карт пока не представляется возможным, т.к. его код не разобран в достаточной для этого мере (точнее, он был разобран, но база так и не была выложена, ну и фиг с ней, я тоже не хочу в ней разбираться, мне как-то хватило базы самих Третьих Героев). Поэтому для эры не будет новых героев (ну может всё-таки кто-нибудь сделает, а я лучше буду посмотреть).

I began looking into the addition of heroes through dll and txt file for a side project, based on WoG sources. Patching of other mods / exe / dll can be done through memory, it is not ideal but not impossible.

If sufficient progress is made, there is no reason to not further explore the editor and add new heroes and towns there. A lot of it is done through WINAPI which even I can make sense of.

Is the code to add cities based on WERD.dll from MoP2? Will the source code ever be available?

Apologies for auto-translated text...

Я начал изучать добавление героев через dll и txt-файл для побочного проекта, основанного на источниках WoG. Исправление других модов / exe / dll можно сделать через память, это не идеально, но и не невозможно.

Если достигнут достаточный прогресс, нет причин не исследовать редактор и добавлять туда новых героев и города. Многое из этого делается через WINAPI, который даже я могу понять.

Это код для добавления городов на основе WERD.dll из MoP 2? Будет ли исходный код когда-либо доступен?

@feanor
Which structure is made up of 1 byte to make it difficult to overcome 255 limit? I don't remember on top of my head.
03.05.2019 19:22
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline

Posts: 736
Post: #13

(03.05.2019 19:22)RoseKavalier Wrote:  Это код для добавления городов на основе WERD.dll из MoP 2? Будет ли исходный код когда-либо доступен?

Да, код на новые города в Typhon.dll и WERD.dll практически идентичен, за исключением небольших правок на различия между mop.exe и era.exe. Исходный код представляет собой оригинальный воговский код на новые города, переписанный под ассемблер - смысл его выкладывать, если: 1- это полная копия воговского кода; 2- свободно читается в ollydbg.exe и копируется прямо оттуда; 3- исходники бесполезны для игроков без поддержки новых городов в редакторе карт и генераторе случайных карт.

03.05.2019 21:33
Find all posts by this user Quote this message in a reply
RoseKavalier Offline

Posts: 83
Post: #14

Спасибо!
04.05.2019 04:58
Find all posts by this user Quote this message in a reply
Ivor Offline
Moderators

Posts: 1068
Post: #15

(27.04.2019 06:01)XEPOMAHT Wrote:  emerald_v202a.era - добавляет новые артефакты;
Плагин не крашит игру при загрузке мультиплеерного сейва?


Моды (Иные герои, иные заклинания), скины
06.09.2019 02:20
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-2020 MyBB Group