Обновил руководства по Lua. Из минимального набора остался вопрос сохранения/загрузки данных в сохранёнки, который опишу в ближайшее время.
Простите меня за отсутствие перевода, не успел.
Version 2.7.0
------------------------
[+] (***) Added early support for Lua scripts (luajit engine). The API is [EXPERIMENTAL] and is subject to be changed. (***)
ERM will be fully supported, but is considered DEPRECATED from now. No new ERM commands (except integrating existing plugins)
are planned. Further development is binded to Lua. Single language can be used to write ordinary and plugins-like scripts.
[+] Added early support for loading any image as ingame pcx.
[+] Added support for kernel32.OpenFile function in virtual file system module. Fixed bug with black battlefield backgrounds.
[+] Added 'OnAfterCreateWindow' event for plugins.
[+] Added 'dfault24.pcx' to hmm35wog.pac, default image for missing pcx16 resources.
[-] Updated WoG Native Dialogs plugin. Fixed cursor disappearing in IF:G dialogs. Author: igrik.
[-] Big Spellbook mod by MoP is updated and extracted from main package.
[-] Fixed broken un44.def.
Thanks for release.
Emm, is not really playable because color codes are broken, all texts are dark (quick save etc). Also un44.def still wrong, just take the one from 2.47, it was correct. Going to continue with 266 until colors are back because can't kill anyone if I don't have the yona help))
Version 2.7.1
------------------------
[-] Fixed 2.7.0 nightly build bugs. It's recommended to delete manually Big Spellbook mod and install the updated one from wakeofgods.org/mods/ if Era is installed over previous 2.6.X version.
В настоящее время работают только системные скрипты *.sys.lua. Они загружаются всегда и работают до перезапуска игры. На них можно написать что угодно.
Собираюсь переносить код из ветки 2.55х, который полностью отключает поддержку ЕРМ в событиях карты, но позволяет использовать отдельную папку под скрипты карт, включая кампании, и в целом решает ряд багов (неудалённые старые триггеры между картами компаний, например). Думается, что отдельная папка Maps\Карта\Data\Scripts или s гораздо лучше решает задачи, легче правится, по F12 перезагружается и т.д. Это последний реликт старой эпохи.
Quote:Собираюсь переносить код из ветки 2.55х, который полностью отключает поддержку ЕРМ в событиях карты
Да что ж такое-то опять.
Quote:Думается, что отдельная папка Maps\Карта\Data\Scripts или s гораздо лучше решает задачи, легче правится, по F12 перезагружается и т.д.
Пожалуйста, нет.
При отвязке от карты появляются возможности для единообразного добавления скриптов на Lua, можно распространять ресурсы отдельно (не только скрипты), можно применять оптимизации (в 2.55 загрузка гораздо быстрее, так как ЕРМ остаётся тем же в большинстве случаев загрузки). +Часть багов связана именно с поддержкой событий карт.
Современные карты-моды распространяются в виде модов, поскольку и писать ЕРМ в событиях, мягко скажем, неудобно, и отлаживать в карте невозможно без рестарта.
This is crash report when trying to open abilities dialog (rare crash):
Code:
Failed to read data at 3F800000.
EIP: Wog native dialogs.83C9. Code: C0000005
> Registers
EAX: 3F800000 (int: 1065353216)
ECX: 7FFFFFFE (int: 2147483646)
EDC: 00000073 (int: 115)
EBX: Wog native dialogs.15452 (int: 1801409618, pint: 0x4F690000 = 1332281344)
ESP: 00289494 (int: 2659476, pint: 0x0F63DF10 = 258203408)
EBP: 00289718 (int: 2660120, pint: 0x00289758 = 2660184)
ESI: 00000000 (int: 0)
EDI: 3F800000 (int: 1065353216)
> Callstack
Wog native dialogs.7432
Wog native dialogs.5DE8
> Stack
00289480: Wog native dialogs.7925 (int: 1801353509, pint: 0x8B084689)
00289484: 00289738 (int: 2660152, pint: 0x00697428 = 6911016)
00289488: 00289718 (int: 2660120, pint: 0x00289758 = 2660184)
0028948C: Wog native dialogs.7AA1 (int: 1801353889, pint: 0x3575F685 = 896923269, str: "…цu5иЗ\x0C")
00289490: 00000007 (int: 7)
00289494*: 0F63DF10 (int: 258203408, pint: 0xFE222100)
00289498: 0F63DEE0 (int: 258203360, pint: 0x6B5F7EF8 = 1801420536, str: "ш~_kяяяя\x00")
0028949C: 00000000 (int: 0)
002894A0: 00000001 (int: 1)
002894A4: 00000020 (int: 32)
002894A8: 00000000 (int: 0)
002894AC: 00000007 (int: 7)
002894B0: 002894BC (int: 2659516, pint: 0x6B5F7998 = 1801419160)
002894B4: 00000001 (int: 1)
002894B8: 00000064 (int: 100)
002894BC: Wog native dialogs.17998 (int: 1801419160, pint: 0x0000000C = 12)
002894C0: 06631A50 (int: 107158096, pint: 0x00000002)
002894C4: 066307D0 (int: 107153360, pint: 0x000028F4 = 10484)
002894C8: H3era hd.00470001 (int: 4653057, pint: 0x9C680000)
002894CC: 00289738 (int: 2660152, pint: 0x00697428 = 6911016)
002894D0: 00000000 (int: 0)
002894D4: 00000000 (int: 0)
002894D8: 00000000 (int: 0)
002894DC: Wog native dialogs.15452 (int: 1801409618, pint: 0x4F690000 = 1332281344)
002894E0: 00000000 (int: 0)
002894E4: 00000000 (int: 0)
002894E8: 00000000 (int: 0)
002894EC: 00200061 (int: 2097249)
002894F0: 00000000 (int: 0)
002894F4: 0028976C (int: 2660204, pint: 0x00000000)
002894F8: 00000000 (int: 0)
002894FC: 3F800000 (int: 1065353216)
00289500: FFFFFFFF (int: -1)
00289504: 73610044 (int: 1935736900)
00289508: 00000000 (int: 0)
0028950C: H3era hd.0043005C (int: 4391004, pint: 0xFAC1D303)
00289510: H3era hd.006D006F (int: 7143535, pint: 0x00000000)
00289514: H3era hd.006F006D (int: 7274605, pint: 0x00000000)
00289518: H3era hd.005C006E (int: 6029422, pint: 0x8DFF3380)
0028951C: H3era hd.00750063 (int: 7667811, pint: 0x30681DEB = 812129771)
Heromant, какая версия HD и как запускаешь? Не получается подтвердить, стартует с HD.
(07.01.2018 15:20)Berserker Wrote: [ -> ]Heromant, какая версия HD и как запускаешь? Не получается подтвердить, стартует с HD.
Пробовал с HD mod 4.208 RC4, 5b19, 5b31. Запускаю HD мод, а потом из лаунчера как обычно h3era.exe в режиме 32bit(strechable). Может быть, это из-за того, что я не на чистую ставил, а на 2.66?
Да я тоже обновления поверх предыдущей в отдельной папке накатываю. Попробуй, пожалуйста, в heroes3.ini включить Debug.LogVirtualFileSystem=1, запустить игру, загрузить Debug\Era\log.txt