Valery
Posts: 2196
|
I got all plugins from RoseKavalier and I will try to test them this week on tew4. Yet I will use HD 2.7 as I heard the later are not friendly with Era. Which also makes me suggest that a HD mod 100% working version with Era maybe should be included in the package, to avoid endless and useless crash reports.
|
|
26.11.2017 19:39 |
|
Heromant
Posts: 348
|
Мод InstantAnimation на новой версии ERA (патчера) перестал воспринимать изменения скорости анимации движения существ с HD mod (4.208RC4). Всё время работает в медленном режиме. Если отключить InstantAnimation или HD мод, то применяются все 3 градации настроек скорости корректно.
---
Правильно ли я понял, что начиная с какой-то очередной версии ERA поддержка (обратная) неименованных функций полностью исчезнет и надо будет патчить все существующие скрипты во всех модах новой утилитой?
|
|
26.11.2017 21:48 |
|
Berserker
Posts: 16657
|
Quote:I got all plugins from RoseKavalier and I will try to test them this week on tew4. Yet I will use HD 2.7 as I heard the later are not friendly with Era. Which also makes me suggest that a HD mod 100% working version with Era maybe should be included in the package, to avoid endless and useless crash reports.
Thanks, Val. I also play with bug fixes dll by Kavalier.
Heromant, ты не в курсе, кто автор мода? Неужели функционал патчера таки поменялся?
Quote:Правильно ли я понял, что начиная с какой-то очередной версии ERA поддержка (обратная) неименованных функций полностью исчезнет и надо будет патчить все существующие скрипты во всех модах новой утилитой?
Нет. Старые скрипты будут работать. Утилита — возможность доработки и развития модов, не более. Можно писать в старом стиле. Нарушения обратной совместимости не планируется. Что планируется, пусть и не сразу, это отвязка скриптов от событий карты и файлов карты вообще, как было в 2.55 (ветка сохранена в репозитории github). Такая отвязка сразу исцеляет пяток серьёзных багов и даёт большую гибкость картоделам (разработка карт и ЕРМ компаний с поддержкой быстрой перезагрузки скриптов по F12). Утилиту для вытягивания скриптов из карты я уже писал, напишу ещё. На PHP это тривиальная задача.
Только приехал, надеюсь, получится сегодня добить генератор сборок Эры и выпустить первую сборку после стольких лет затишья…
|
|
26.11.2017 22:22 |
|
Heromant
Posts: 348
|
(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 |
|
Berserker
Posts: 16657
|
Новости:
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 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
|
|
27.11.2017 05:25 |
|
Algor
Posts: 3881
|
(27.11.2017 05:25)Berserker Wrote: 6) Как вы считаете, после установки Эры нужно открывать журнал изменений?
Нет. Подавляющему большинству пользователей эта информация не интересна.
Кстати, навскидку не нашел changelog в инсталляторе. Он есть там?
|
|
27.11.2017 10:19 |
|
igrik
Posts: 2819
|
(25.11.2017 14:12)MOP Wrote: Изучают исходники программисты. Например, Игрик, по моим наблюдениям, много чего оттуда вынес. Возможно, и Феанор. Вообще, после открытия исходников между версиями 2 и 3 я наблюдал небольшой всплеск выпуска плагинов с функциональностью, имеющейся до того лишь в MoP. Но никто - никто - не писал эти плагины на ассемблере. Потому что не нужно. Потому что C++ и Делфи рулят.
С++ рулит несомненно. А с наличием инклудов для HoMM3 от Бараторча и подавно.
MoP, поизучав твои исходники я практически ничего из них не вынес. Адреса в подавляющем большинстве случаев другие, реализация диалогов и др.плюшек слабоприменима. А вот идеи из мода да - питали меня.
Например, вот сейчас я пишу диалог опыта существ. Но я ничего не могу использовать из того как ты его реализовал. А жаль, мне было бы намного проще это сделать. То же и с диалогом командира (хотя нет. Для командира я использовал тобой описанную структуру).
Берс, я почти закончил диалог опыта существ. Скоро вынесу на обозрение.
game bug fixes extended.dll || My Plugins || My GitHub
|
|
27.11.2017 10:48 |
|
Berserker
Posts: 16657
|
|
27.11.2017 15:20 |
|
feanor
Posts: 624
|
Quote:Феанор не отвечает мне пока в ЛС на df2, в ВК не пишу, может быть занят он или пока не до игры.
Прочитал, попозже перевыложу, как с нужного компа буду.
|
|
27.11.2017 16:16 |
|
Berserker
Posts: 16657
|
|
27.11.2017 17:06 |
|
Berserker
Posts: 16657
|
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 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
|
|
27.11.2017 22:44 |
|