Current time: 17.10.2018, 17:33 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
ERA II
» WoG Era 2: Русская и Английская версии
Author Message
Heromant Offline

Posts: 304
Post: #3466

(26.11.2017 22:22)Berserker Wrote:  Heromant, ты не в курсе, кто автор мода? Неужели функционал патчера
InstantAnimation
Анимированные существа на поле боя » (порт из WoG 3.59)
Тип: Мод для ERA
Автор: sergroj
Портировано: feanor
(This post was last modified: 26.11.2017 23:50 by Heromant.)
26.11.2017 23:49
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 10639
Post: #3467

Феанор не отвечает мне пока в ЛС на df2, в ВК не пишу, может быть занят он или пока не до игры.
27.11.2017 00:26
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 10639
Post: #3468

Новости:
1) Выпуски будут находиться в папке Releases на Яндекс.Диске. Ссылка в подписи.
2) При создании выпусков используется автоматический генератор инсталлятора (создание и оптимизация игровых архивов, копирование и обновление версий DLL, генерация отладочных карт, построение sfx-файла инсталлятора, автоматическая публикация).
3) TODO разросся, множество информации в темах на форумах, ЛС и моих заметках. По мере выделения времени буду вносить изменения и публиковать. Благо, теперь это делать проще.
4) Если кто придумает лучшее лого (420х80) или значок, буду благодарен. Иконку нашёл в сети, лого взял с ВК из группы, которой мастерски заведует дружище Бес.
5) Ветка 2.4х окончена. 2.5 пропущена (взято всё, кроме коренной отвязки скриптов от файлов карт и кампаний). Предполагается, что в ветке 2.7 коренная отвязка повторится.
6) Как вы считаете, после установки Эры нужно открывать журнал изменений?

Просьба проверить инсталлятор, в том числе англоязычным.

Val, test the installer please, when you have free time.


Скачать Герои 3 Эра и всё, что с ней связано
27.11.2017 05:25
Find all posts by this user Quote this message in a reply
Algor Offline
Administrators

Posts: 2617
Post: #3469

(27.11.2017 05:25)Berserker Wrote:  6) Как вы считаете, после установки Эры нужно открывать журнал изменений?

Нет. Подавляющему большинству пользователей эта информация не интересна.

Кстати, навскидку не нашел changelog в инсталляторе. Он есть там?


27.11.2017 10:19
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 1436
Post: #3470

(25.11.2017 14:12)MOP Wrote:  Изучают исходники программисты. Например, Игрик, по моим наблюдениям, много чего оттуда вынес. Возможно, и Феанор. Вообще, после открытия исходников между версиями 2 и 3 я наблюдал небольшой всплеск выпуска плагинов с функциональностью, имеющейся до того лишь в MoP. Но никто - никто - не писал эти плагины на ассемблере. Потому что не нужно. Потому что C++ и Делфи рулят.
С++ рулит несомненно. А с наличием инклудов для HoMM3 от Бараторча и подавно.
MoP, поизучав твои исходники я практически ничего из них не вынес. Адреса в подавляющем большинстве случаев другие, реализация диалогов и др.плюшек слабоприменима. А вот идеи из мода да - питали меня.
Например, вот сейчас я пишу диалог опыта существ. Но я ничего не могу использовать из того как ты его реализовал. А жаль, мне было бы намного проще это сделать. То же и с диалогом командира (хотя нет. Для командира я использовал тобой описанную структуру).

Берс, я почти закончил диалог опыта существ. Скоро вынесу на обозрение.


Скачать HoMM3 ERA 2.7.7 (Repack: Rus & HD) || (wogNativeDialogs)
27.11.2017 10:48
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 10639
Post: #3471

Algor, где и всегда, Help\Era manual\era ii changelog.txt (его ещё не обновлял). Но там редко кто его увидит. А так-то согласен.

igrik, отлично!


Скачать Герои 3 Эра и всё, что с ней связано
27.11.2017 15:20
Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 494
Post: #3472

Quote:Феанор не отвечает мне пока в ЛС на df2, в ВК не пишу, может быть занят он или пока не до игры.
Прочитал, попозже перевыложу, как с нужного компа буду.
27.11.2017 16:16
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 10639
Post: #3473

feanor, спасибо Sm


Скачать Герои 3 Эра и всё, что с ней связано
27.11.2017 17:06
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 10639
Post: #3474

Era v2.6 change log


Code:
Version 2.6
------------------------
[+] Added default values for most of heroes3.ini parameters. No crashes anymore on missing values or even missing heroes3.ini.
[+] Added 'default era settings.ini', which values are used if corresponding parameters are missing in heroes3.ini.
[+] Backported saved game sections debugging capabilities with "Debug.DumpSavegameSections" ini option.
[+] New directory "Debug\Era" must exist in order for debug functions to work (is automatically created and game start).
[+] Backported dump event list, dump patches, dump erm memory and dump PE modules capabilities from 2.5x branch (F11 key).
On calling Era.GenerateDebugInfo (no parameters), pressing F11 or game crash Debug\Era folder is filled with various files,
containing full necessary debug information. Report generation can be carried out on demand:

!!SN:L^era.dll^?y1 Ay1/^GenerateDebugInfo^/?y2 Ey2/0/0; generate debug information, including ERM tracking info

[+] Functions can now have names. Any time you use "(something)"" inside commands, a new function number from 95000+ range is associated with text inside brackets and brackets with name are replaced by that number. If the name already has associated function number, existing number is used instead. Use SN:W to get number of named function by name. Unnamed functions are deprecated, but still working.

Example: !!FU(OnHenchmanHire); call function which maybe does not exist, but script users will be able to handle the event.
Example: !?FU(Phoenix.FindFreeSlot);

Please, don't forget that names are global. Prefix function names with mod abbreviation: (BattleLib.RessurectStack).
Function names are replaced with numbers during map initialization stage, so this feature has no impact on performance.

[+] Added labels support. Label is command ordinal number inside current trigger starting from 0. [:LabelName] defines local label. [LabelName] means replace label with command number. Labels are used with SN:G command to implement loops and conditions.

Example of simple loop:

!!VRy1:S0; initialize counter
[:loop]; loop is label name inside current trigger (!?XX until next !?XX of the same file)
!!IF:L^Echoed %Y1 times^; echo message
!!VRy1:+1; increase counter
!!SN&y1<7:G[loop]; jump to loop label if not echoed 7 times

Example 2:
!?CM2; archangel in every slot
!!VRy1:S0;
[:loop]
!!HE-1:C0/y1/13/1;
!!VRy1:+1;
!!SN&y1<=6:G[loop];

[+] Added elseif syntax to !!el command. If !!el has condition and condition evaluates to false, the engine proceeds to the next !!el command until finds the right one or meets !!en.
[+] Added !!SN:O command. Get object entrance. SN:O?$/?$/?$
Initialize any three variables with object square coordinates. Pass them to command to update coordinates with right object entrance square. Thanks to gamecreator.

!?CM0;
!!CM:R0 P?y1/?y2/?y3;
!!VRv2:Cy1/y2/y3;
!!SN:O?y1/?y2/?y3;
!!IF:M^%V2 %V3 %V4 => %Y1 %Y2 %Y3^;

[+] Added function names for default ERM events without parameters and new Era triggers. Ex.: !?FU(OnBattleRegeneratePhase)
!?FU77001 = !?FU(OnSavegameWrite)
!?FU77002 = !?FU(OnSavegameRead)
!?FU77003 = !?FU(OnKeyPressed)
!?FU77004 = !?FU(OnOpenHeroScreen)
!?FU77005 = !?FU(OnCloseHeroScreen)
!?FU77006 = !?FU(OnBattleStackObtainsTurn)
!?FU77007 = !?FU(OnBattleRegeneratePhase)
!?FU77008 = !?FU(OnAfterSaveGame)
!?FU77010 = !?FU(OnBeforeHeroInteraction)
!?FU77011 = !?FU(OnAfterHeroInteraction)
!?FU77012 = !?FU(OnStackToStackDamage)
!?FU77013 = !?FU(OnAICalcStackAttackEffect)
!?FU77014 = !?FU(OnChat)
!?FU77015 = !?FU(OnGameEnter)
!?FU77016 = !?FU(OnGameLeave)

[+] Added SN:H command for setting hints, descriptions, names without z-vars. Currently only the following variants are supported:
SN:H^object^/x/y/z/hint;
SN:H^object^/obj_type or -1/obj_subtype or -1/hint;

[+] Fixed !!FU:P?x[n] bug. Now this syntax works ok.

[+] Added SN:H subcommand "spec" for applying custom hero specialty names.
SN:H^spec^/hero/short name (0), full name (1) or description (2)/hint

[+] Added ability to delete hints set up by SN:H. Just add "-" prefix to the first argument.
SN:H^-object^/...

[+] Better support for modern HD mod and x86_patcher:
- included x86 patcher v4.3 with debug map file;
- 95% of Era's patches use x86_patcher, each *.bin file creates its own patcher instance;
- x86_patcher patches are dumped to "Debug\Era\x86 patches.txt" during debug info generation.

[+] Implemented support for multiple UnhandledException handlers, now both HD and Era handlers do their job.

[+] Implemented fully featured ERM tracking support: track all executed triggers and commands in order to defeat bugs and learn game mechanics.
See Debug.ErmTracking.* options in "Heroes 3\default era settings.ini".

All ERM triggers and commands are recorded during execution (tracked) and are dumped to single "Debug\Era\erm tracking.erm" file in the order of execution.
Comments after each trigger show flags and v-variables state on trigger start/end.
Comments after each receiver show exact file, line and position of command.

Tracking report file is generated on F11 press or on game crash.

[+] Improvated named functions support. Added programmatical ability to get function name by ID.

[+] Improved multiplayer support:
- The whole packed saved game is sent on end of turn, difference file is not generated.
- Added object creation immediate synchronization between servers and clients.
- "SavedGameExtraBlockSize" ini setting is dropped.

As a result, playing game with script, that support multiplayer, can be performed without crashes.
WoGification and quick saving scripts work.
  
[+] Released ERM Hooker v2.0 plugin with support of multiple handlers at the same address. It support Era 2.46,
but is DEPRECATED in advance, because the same functionality without memory leaks will be ported to Era in
future versions.

[+] F11/crash dumps loaded mods to "Era\Debug\modlist.txt".

[+] Added support for compiled debug maps for dll/exe files and basic set of compiled maps. Map files are used to find corresponding name of function/variable/class by address in executable code. This feature allows to display human readable crash report in terms of source code items, not meaningless addresses.

Use Tools\ExeMapsCompiler\compile.phc to convert Borland map files to *.dbgmap binary files, used by Era.
The tool requires PHP interpreter v7.1+ to run. C++ maps support is planned to be added soon.
Place *.dbgmap file with the same name, as executable/dll but with capital first letter to Heroes 3\DebugMaps directory.
Debug maps are loaded automatically during debug information generation.

[+] Implemented generation of detailed crash report on game crash, including data analysis.

[+] Updated Yona mod: added "Hammer Crush" ability for dwarfs.

[*] Ported igrik's code to fix SN:D in heroes meeting screen.
[*] Removed deprecated triggers from Era as long as deprecated RecallAPI function.
[-] Fixed bug with combined artifact (# > 143) dismounting in heroes meeting screen.
[-] UN:J3 patch rollbacked for backwards compatibility reasons.
[-] Fixed ERM MR:N bug. !?MR1/2 return valid stack number or -1.
[-] Fixed bug with dispell in enemy spellbook and 1-turn spell durations of friendly hero.
[R] (Removed) UN:J3 command does not reset commanders anymore. If value ":clear:" is passed as file name, all WoG options are dropped to zero and option #101 (Map Rules) is set to 2 ("use selected below").

...and more...


P.S. Инсталлятор обновил. Дальше версии будут меняться. Теперь код автоматически компилируется перед упаковкой и версии в исходниках тоже заменяются. Красота! ))


Скачать Герои 3 Эра и всё, что с ней связано
27.11.2017 22:44
Find all posts by this user Quote this message in a reply
SyDr Offline

Posts: 1017
Post: #3475

Если вдруг всё же решишься обновить ММ в комплекте Эры, то:
1) Не забудь удалить Plugin Manager - его функционал встроен в ММ.
2) Если взять mmanager.exe и поместить его на место installmod.exe - он будет работать так же, только лучше (винда с UAC не будет считать, что ему нужны права админа)


Era II Mod Manager
27.11.2017 23:20
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 10639
Post: #3476

SyDr, просто разбил на пару шагов, не успел ещё обновить базовые моды под новый ММ. Его и диалоги игрика на днях включу. Главное, что сильно упростилось создание сборки.

По пункту 2, имеется ли смысл? Придётся ведь одну и ту же программу в два места поместить?


Скачать Герои 3 Эра и всё, что с ней связано
27.11.2017 23:23
Find all posts by this user Quote this message in a reply
Algor Offline
Administrators

Posts: 2617
Post: #3477

132
И не мешало бы обновить первый пост Yes


27.11.2017 23:24
Visit this user's website Find all posts by this user Quote this message in a reply
SyDr Offline

Posts: 1017
Post: #3478

Berserker, запустил последний ММ на твоей сборке - он всё прекрасно подхватил, и иконки, и описания модов. Обновлять моды не нужно (если только ты не хочешь добавить скриншоты в сборку. Думаю, что это не очень то нужно).

Quote:Придётся ведь одну и ту же программу в два места поместить?
Ну этот пункт вообще не критичен. Там ещё 2 фишки есть: ММ в таком виде игнорит указание рабочего каталога (но только если не создавать рядом файла "im_use_work_dir") и в качестве основы всегда использует <Own dir>/../Mods, а также имеет респект к параметру priority в моде (но мне этот параметр тоже не нравится).


Era II Mod Manager
27.11.2017 23:42
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 10639
Post: #3479

Algor, спасибо Ab
Первый пост обновить когда обновлю и русификатор? Мало кто пользуется английской сборкой, наверное, а русификатор я не тестировал на ней.

SyDr, отлично!
Хотя для примера хочу, чтобы в формате json описания были как образцовые. Сейчас займусь, сегодня и загружу обновление, скорее всего 118

Code:
{
    "caption": {
        "Cn_Simp": "",
        "en_US": "In The Wake Of Gods",
        "ru_RU": "Во Имя Богов"
    },
    "description": {
        "full": {
            "Cn_Simp": "",
            "en_US": "description.txt",
            "ru_RU": "description_rus.txt"
        },
        "short": {
            "Cn_Simp": "",
            "en_US": "",
            "ru_RU": "-) разрушение, восстановление и переопределение городов;\r\n-) повышение характеристик монстров по мере накопления ими опыта;\r\n-) командиры;\r\n-) монстры восьмого уровня;\r\n-) новые специальности у старых героев;\r\n-) новые хранилища монстров;\r\n-) новые нейтральные монстры;\r\n-) новые артефакты;\r\n-) новые декоративные элементы карты;\r\n-) скриптовой язык ERM (Event Related Model), позволяющий менять любые характеристики всех объектов карты в зависимости от -) поведения игроков (в том числе и AI)."
        }
    },
    "author": "WoG Team",
    "homepage": "http://wforum.heroes35.net/",
    "icon": {
        "file": "wog.ico",
        "index": 0
    },
    "mod_version": "1.0",
    "priority": 0,
    "compatibility": {
        "class": "all",
        "entries": {}
    },
    "platform": "era",
    "info_version": "1.0",
    "plugins": {},
    "category": "gameplay"
}
Всё верно для Вога указал или что подправить? )
Например, plugins заполнить или entry?

Создал папку Screenshots, поместил туда logo.png, но менеджер не видит.
/Screens сработало.

Баг. Если перейти на вкладку снимков экрана и щёлкнуть по картинке, то дальше содержимое других вкладов и списка модов отображаться не будет.
Баг 2. Редактирование мода. Переключаю язык на английский. Выбираю «из файла». Вставляется обрезанная часть файла:
    HMMIII In the Wake of Gods (WoG) is an expansion pack to the Heroes of Might and Magic III Shadow of Death game. You must have Heroes III Shadow of Death installed prior to installing the expansion.

Code:
The WoG brings a lot of changes to the game that are different from those in SoD: -) script language for Event Related Model *ERM* that lets you change the function of any object on a map;
-)  new Heroes' specialities;
-)  new Monsters;
-)  new unique creatures - God representatives;
-)

Вижу, там просто ограничение на длину поля. Оно реально необходимо? )
Кажется понял: это краткое описание фигурирует в репозитории.

P.S.S. Определить мод к одной категории крайней сложно. Чаще всего, как в репозиториях Цивы, один мод занесён сразу в несколько рубрик.


Скачать Герои 3 Эра и всё, что с ней связано
27.11.2017 23:52
Find all posts by this user Quote this message in a reply
SyDr Offline

Posts: 1017
Post: #3480

Quote:Всё верно для Вога указал или что подправить? )
Например, plugins заполнить или entry?
Может китайский вообще из комплекта удалить? Sm Всё равно уже много лет никто не обновляет языковой файл.

Code:
{
...
        "short": {
            "en_US": "",
            "ru_RU": "Они на самом деле не сильно то и нужны, ММ всегда использует описание из файла. Короткие я использовал для http://wakeofgods.org/repository/"
...
    "compatibility": {
        "class": "all",
        "entries": {
                "конкретный мод" : true или false, перекрывает класс совместимости
        }
    },
...
    "plugins": {
        "buttons.dll": {
            "default" : true/false, включен по умолчанию или нет, не имплементировано
            "caption" : {
                "en_US": "Butttonnsss",
                "ru_RU": "КНопки!!!!!!!!!!!!!!!!!!!"
            },
            "description" : {
                "en_US" : "asdasdasd"
            }
        }
    },
    "category": "gameplay"
}

Quote:Баг. Если перейти на вкладку снимков экрана и щёлкнуть по картинке, то дальше содержимое других вкладов и списка модов отображаться не будет.
А ты ещё раз нажми Sm

Quote:Вижу, там просто ограничение на длину поля. Оно реально необходимо? )
Кажется понял: это краткое описание фигурирует в репозитории.
Ну... Как-никак это же короткое описание Sm

Из всего что я встречал:
1) short description очень редко используется
2) priority используется только некоторыми людьми для своих непубличных модов (и поэтому у меня не планов на повторную реализацию этого механизма)
3) compatibility entries Валерий заполнял для пары модов, мне кажется что также практически не используется
4) mod_version используется при установке для сравнения с установленной версией, особо ни на что не виляет
5) platform и info_version не используются
6) plugins это объект (см. выше пример):
никто никогда не использвовал (там бага 96, оно не работает)
так что надо денёк подождать до обновы
7) category - любимая вещь Валерия 148

Quote:P.S.S. Определить мод к одной категории крайней сложно. Чаще всего, как в репозиториях Цивы, один мод занесён сразу в несколько рубрик.
Да, надо tags. Но ты считай, что category - это нечто фундаментальное, т.е. если можно писать gameplay, то никаких graphics, interface и scenarios уже не будет.

И вообще, нечего сообщение обновлять быстрее, чем я на него отвечсаю Ab


Era II Mod Manager
28.11.2017 00:30
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-2018 MyBB Group