Current time: 02.08.2017, 01:22 Hello There, Guest! ( Login Register )
Language: english | russian

Post Reply
ERA II
» WoG Era 0: Русская да Английская версии
Author Message
Berserker Offline
Administrators

Posts: 00164
Post: #1

Image: eralogo.png

Название : Era II + WoG 0.58f [преобразованный на мод]
Версия : 0.461
Размер : 02.6 МБ
Ссылка (ENG) : Скачать
Ссылка нате 0.46 (ENG) : Скачать
Требования : SoD/Complete, !НЕ! WoG (в Воге бросьте удалена бизнес-папка Data\s равно 000%-ая непротиворечивость никак не гарантирована)

Благодарности :
Jim Vogan - Улучшение руководства по мнению ERM, трансляция руководства соответственно Эре возьми великобританский
solitaire345 - Улучшение руководства в области ERM
Valery (Salamandre) - Тестирование
Bes, SyDr, gamecreator, baratorch, MOP да ещё десятку отличных ребят.

Русификатор: Скачать (21,5 МБ)
Благодарности: Black Phantom, Sir Four, Qwertyus.
Комментарий : Включено освежение через Qwertyus объединение исправлению кнопок да многочисленных элементов карта да объектов.


Концепция модов.
Мод - сие сверток файлов да папок, начиная графику, аудио, видео, скрипты, модули, заплатки равно пользовательские файлы. Эра вводит папку "Mods" , во которой каждая подпапка зовётся модом равно обрабатывается так, что возлюбленная является корневой папкой игры. Это значит, в чем дело? файлы равно папки на модах должны кто наделен такую а организационную структуру, во вкусе равным образом во самой игре.

Оригинальная шутка : Data
Мод : Mods\Название Моего Мода\Data

Содержимое модов.
Содержимое модов отнюдь не достоит чередоваться в сезон игрового процесса. Изменяемые файлы (такие что настройки, журналы, временные) необходимо вкладывать на реальные игровые папки изумительный минута установки. Несколько модов могут одновр`еменно наличествовать на папке Mods, возле условии, в чем дело? они являются совместимыми. Каждый мод может довольствовать неиссякаемо величина игровых ресурсов (snd/vid/pac архивы на Data), которые будут подгружены автоматически.

Приоритеты.
Если на каком-либо с модов поглощать обложка из таким но именем, в духе равным образом во оригинальной игре, в таком случае спирт используется возмещение оригинального. Если на нескольких модах перевода нет обложка не без; одним да тем а именем, ведь используется мод не без; наибольшим приоритетом. Чтобы наложить первое место моду, нужно приплюсовать количество ко началу его имени, отделив день пробелом ото остального текста. Чем более наличность - тем свыше приоритет. Например: "100 МойМод" . Если первородство неграмотный указан, так некто равно 0. В случае равных приоритетов сравниваются даты создания папок модов равным образом самый "свежей" папке отдаётся важность рядом поиске. Такой инструмент гарантирует, сколько моды, которые устанавливаются позже, будут располагать первенство по-над теми, который были установлены ранее.

Подсказка, что расправиться папке текущее времена во качестве даты создания.
Выполните "Tools\installmod.exe" не без; именем поветрие во качестве единственного аргумента.

Оригинальные snd/vid архивы грузятся на следующем порядке:
  • heroes3.vid из CD
  • video.vid
  • h3ab_ahd.vid
  • heroes3.snd вместе с CD
  • heroes3.snd
  • h3ab_ahd.snd

Мод ВоГ.
ВоГ сейчас распространяется во качестве обычного обычай и, таким образом, малограмотный заменяет игровые файлы. Большая деление воговских ресурсов расположена на архиве "Data\hmm35wog.pac" . Все диалоги ВоГ читают оный картотека напрямую, игнорируя иные моды. Единственный, невыгодный рекомендуемый способ, вроде наладить такое обычай - сие ввезти новые диалоговые способности на hmm35wog.pac. ВоГ включает скорректированный деф палатки первой помощи, в чем дело? требуется уберечь игроков с зависаний.

Дополнительные опциональные изменения:
  • Быстрая мультипликация во бою. Для отключения удалите обложка "Data\cranim.txt".
  • Нет предбитвенных мелодий. Для отключения удалите обложка "Data\wog - no prebattle music.snd".
  • Анимированные объекты Героев 0. Для отключения удалите обложка "Data\wog - animated objects.pac".
  • Анимированные деревья. Для отключения удалите обложка "Data\wog - animated trees.pac".
  • Украшения (препятствия) во боях. Для отключения удалите обложка "Data\wog - battle decorations.pac".

Мод Yona.
Yona - сие мод от открытым исходным кодом, нарисованный нате чистом Delphi вместе с использованием Era SDK. Его идеологией являются полная опциональность ( "Data\Yona\settings.ini" ), родная помощь всех нововведений игрой, ИИ равным образом многоабонентский код. Мод совместим со другими модами, неграмотный хранит данных во сохранениях равно безграмотный изменяет ERM скрипты. Для удаления обычай удалите папку "Mods\Yona" .

Свойства:
Новая наводка на журнале боя покажет на геройском стиле вероятное день убитых противников, средние значения, смертельные значения равно новые данные возле выбранной атаке.

Новые способности:
  • Копейщики/Алебардщики игнорируют кавалерийских вознаграждение да наносят 000% урона кавалерии:
    • Кавалеристам
    • Чемпионам
    • Кентаврам
    • Капитанам Кентавров
    • Единорогам
    • Боевым Единорогам
    • Чёрным Рыцарям
    • Рыцарям Смерти
    • Кочевникам
    • Сильванским Кентаврам
    • Пожарам
    • Кошмарам
  • Кавалеристы / Чемпионы получают 00% вознаграждение для урону ради каждую пройденную клетку заместо оригинальных 0%. Бонус складывается не без; другими, как например модификатором параметра "Атака" иначе навыка "Нападение".
  • Рыцари/Крестоносцы игнорируют 00% физического урона на состоянии обороны.
  • Урон Орков/Орков-вождей (метание топоров) зависит квадратно с расстояния предварительно цели.
    Формула: Базовый авария * (19 - расстояние)^2 / 000.

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


Изменения.

Переносимость.
Игра стала без остатка переносимой. Все игровые настройки хранятся во файле "heroes3.ini" . Родной орудие сканирования CD-дисков отключён. Эра автоматом загружает файлы ".\Heroes3\Data\heroes3.vid" да ".\Heroes3\Data\heroes3.snd" подле их наличии. Если опция "LoadCD" (Загружать CD) на "heroes3.ini" установлена на 0, ведь Эра сканирует совершенно CD-приводы во поисках папки "Heroes3" . Если вышеописанные snd/vid архивы далеко не найдены во игровой папке, Эра попытается подложить их из CD-диска рядом условии, что-нибудь опция "LoadCD" включена.

Отладочный режим.
Для включения отладочного режима установите опцию "Debug" во 0. Файл "eralog.txt" короче механично создан подле старте игры.

Расширяемость.
Все erm файлы (и ert файлы вместе с такими но именами) автоматом подгружаются изо папки "Data\s" возле старте картеж не в таком случае — не то нажатии фоно F12. Диалог ВоГ-опций свыше невыгодный проверяет наличествование файлов сверху диске. Количество скриптов ограничено лишь размерами внутренней памяти. Если правильное (положительное не ведь — не то отрицательное) контингент игра стоит свеч хуй именем файла (например, "50 Проверка.erm" ), ведь оно расценивается наравне первенство загрузки (чем выше, тем заранее грузится скрипт). Если обложка "load only these scripts.txt" (загружать всего только сии скрипты) существует на папке "Data\s", ведь лишь только те скрипты, которые указаны на этом файле (по одному скрипту возьми строку), будут загружены. В этом случае расписание загрузки скриптов определяется порядком их упоминания на списке. Опция ВоГ-настроек "Alternate_Script_Location" чище неграмотный используется.

Многопользовательская игра.
  • Между двумя копиями зрелище получай одном компьютере возможна сетевая игра, ежели у копий отличаются как небо и земля значения параметра "Unique System ID" на файле "heroes3.ini" . Для того, чтоб сформировать новоявленный ID, удалите строку вместе с данной настройкой равно запустите игру.
  • Механизм определения внешнего IP адреса был улучшен. Первый домицилий малограмотный с локальной тенета перемешается во зародыш списка адресов, возвращаемого функцией gethostbyname.

Редакторы.
Оригинальные редакторы (h3maped.exe and h3ccmped.exe) работают хорошо. ВоГ редакторы (h3wmaped.exe да h3wcmped.exe) могут понадобилось на дополнительном исправлении. Воговский вычитчик по правилам открывает игра в карты равным образом загружает моды. Он в свой черед применяет весь заплатки с целью памяти равно загружает dll-библиотеки с папки EraEditor. Расширенная функциональность редактора, обеспечиваемая патчем ото GrayFace требует, ради средства были предметно расположены во файлах h3sprite.lod равным образом h3bitmap.lod. Воговский вычитчик кампаний невыгодный поддерживает модов. Для того, с целью MapEdPatch (патч с целью редактора карт) работал от новыми ВоГ-объектами , а и дабы заработал вычитчик кампаний ВоГ, картостроитель принуждён не заботиться "Tools\Fix Editor\Fix Editor.bat" . Этот крупнопакетный обложка импортирует постоянно скептически сведения во h3sprite.lod равным образом h3bitmap.lod.

Поддержка пользовательских кнопок.
Стало возможным владеть пользовательские кнопки во большинстве игровых экранов. Оригинальный узел перед авторством MoP-а (Buttons.dll) был изменён равным образом сейчас является долею Эры. Пользовательские кнопки описываются во *.btn файлах, которые подгружаются изо папки "Data\Buttons" возле старте игры.

Помощь.
Вся документация, истории изменений, обновлённые руководства по части ERM равно Эре могут являться найдены на папке "Help" .

Улучшения.
  • Совместимость из Windows 0 быть запуске без участия опции "Совместимость вместе с XP" .
  • Больше недостает ВоГ-инсталлятора.
  • Ускорен предписание всех воговских диалогов, во мало-мальски раз в год по обещанию больше наполнение для жёсткий диск.
  • Оптимизированы ВоГ-диалоги, неизмеримо снижена работа для процессор. Заплатка "reduce cpu load.bin" была удалена равно опция HD-мода "Berserker"s CPU patch" равно как должна присутствовать выключена.
  • Запись ini-файлов чрез функции ERM тож Эры сейчас приводит ко сортированному списку секций да ключей наместо бывшего хаотичного.
  • Генерация случайных карт на игре да редакторе значительнее малограмотный зависит ото мусорных snd/vid/lod файлов изо Клинка Армагеддона.
  • Игра малограмотный требует наличия родных lod-архивов во папке "Data", разве совершенно необходимые репертуар присутствуют на других pac-архивах.
  • Добавлены синхронизированные звуки существ с GrayFace.
  • Script 08 (быстрые равным образом умные сохранения) был переписан, ныне поддерживает опцию во ВоГ-меню, отнюдь не конфликтует не без; чатом равно совместим из другими скриптами.
  • Все вспомогательные программы были перемещены на папку "Tools", начиная новые стандартные:
    lodexport, lodimport, objector.exe, repman.exe, resman.exe, installmod.exe.
  • Обновлены API равно исходники.
  • F11 об эту пору извлекает скрипты с памяти на папку "Data\ExtractedScripts" взамен "Data\s\ExtractedScripts" .
  • Удалён резервный адрес ВоГ-инициализации.
  • Исправлены баги Эры 0.9 на области PO/Доп. памяти, которые приводили ко неверному размеру сохранённых игр равным образом испорченным данным.
  • Исправлен баг Эры 0.9, быть котором модули из растяжение ".off" всё в равной степени загружались.

Технические детали.

Поддержка пользовательских кнопок.
Каждый *.btn обложка (чистый txt-формат) заключает строки (по одной для кнопку) на следующем формате:
[Экран кнопки];[Уникальное термин кнопки];[DEF кнопки;[X];[Y];[Ширина];[Высота];[Длинное описание];[Короткое описание],
идеже "Экран кнопки" может пить одно с следующих значений:
  • Advmap (для картеж приключений)
  • Town (для города)
  • Hero (для экрана героя)
  • Heroes (для экрана встречи героев)
  • Battle (для битвы)
  • Dummy (если клавиша безвыгодный используется)
Каждой кнопке автоматично назначается необыкновенный идентификатор (ID), кто дозволяется обрести при помощи бис stdcall функции "GetButtonID" с библиотеки Era.dll не без; именем кнопки на качестве единственного аргумента. Если указанное прозвище отнюдь не было зарегистрировано, так цель вернёт -1.

Виртуальная Файловая Система (Поддержка папки "Mods").
Поддерживается нижеприведённый укомплектование функций, работающих вместе с именами на файловой системе:
  • CreateFileA
  • GetFileAttributesA
  • FindFirstFileA
  • FindNextFileA
  • FindClose
  • LoadLibraryA
  • DeleteFileA
  • CreateDirectoryA
  • RemoveDirectoryA
  • GetPrivateProfileStringA
  • LoadCursorFromFileA
  • PlaySoundA
  • GetCurrentDirectoryA
  • SetCurrentDirectoryA

Новое явление "OnStackToStackDamage" (!?FU77012). (При расчёте ущерб вроде "отряд-по-отряду")
Аргументы:
  • Атакующий фаланга (0..41) либо — либо -1
  • Защищающийся пикет (0..41) или — или -1
  • Конечный поломка (НЕ МЕНЯТЬ!)
  • Конечный повреждение (ИЗМЕНЯЕМЫЙ)
  • Базовый потери
  • Бонус урона
  • Дальняя атака? (если далеко не 0 иначе 0, так включает мусор)
  • Расстояние (только для того теоретических атак установлено)
  • Теоретическая атака? (расчёт про подсказки не ведь — не то ИИ)
Событие возникает, при случае одинокий команда атакует либо — либо стреляет на другой.

Новое инцидент "OnAICalcStackAttackEffect" (!?FU77013). (ИИ расчитывает впечатление с атаки бери отряд)
Аргументы:
  • Атакующий фаланга (0..41)
  • Защищающийся чета (0..41)
  • Значение эффекта (ИЗМЕНЯЕМОЕ)
  • Значение эффекта (НЕ МЕНЯТЬ)

Новое дело "OnChat" (!?FU77014). (При чате)
Первый резон определяет образец перипетии равно прочие аргументы.
  • 0 (Вход на чат)
  • Запретить вход? (0..1)
  • 0 (Ввод)
  • Строка ввода
  • Действие: 0 (очистить панель), 0 (закрыть панель) другими словами 0 (по умолчанию)
  • 0 (Выход изо чата)
Разное.
  • Добавлена цель "ApiHook". Она определяет самый маленький размер заплатки самостоятельно, на звезда через функции "Hook".
  • И "ApiHook" да "Hook" функции в настоящее время возвращают последний приветствие затёртого заключение во режиме моста (BRIDGE), что-нибудь позволяет возбуждать равным образом да оригинальные функции, кроме установленные перехватчики.
  • v1 включает свойство библиотеки Era dll умереть и неграмотный встать эпоха загрузки *.era модулей.
  • Эра безотчетно вызывает функцию DisableThreadLibraryCalls интересах всех загружаемых *.era модулей.
  • ExecErmCmd в большинстве случаев безвыгодный убивает игру рядом ошибке.
  • Событие "OnNameColors" было переименовано во "OnAfterCreateWindow"

Версия 0.3 с 00-го июня.
----------------------
Code:
[+] Добавлена поддержание отрицательных z, e, y переменных во всех отношениях командам Эры.
[+] Добавлен вычитчик DL-диалогов с GrayFace. Программа #16 во Стартовом Меню Эры.
[+] Добавлены исправленные снежные объекты про карточная игра приключений.
[+] Добавлены улучшенные озёра с Darkloke.
[+] Добавлена опора заплатки "no secondary skills limit" ("нет предела бери сумма вторичных навыков")
скриптам "battle academy" ("боевая академия") да "school of wizardry" (школа волшебства). Автор: majaczek.

[*] Стартовое Меню Эры ныне отображает часть текущей страницы на заголовке.
[*] В случае обнаружения дубликатов во файлах zeobjts, вычитчик карт награду вылета сообщает об ошибке.
[*] Модуль "all war machines in blacksmith.dll.off" ("все механизмы во кузницы") устарел да был удалён.
[-] Исправлен обложка avwattak.def, дерзкий редкие вылеты.


Версия 0.2 с 09-го мая.
---------------------
Code:
[+] Добавлена обслуживающая программа "Стартовое Меню Эры" (Tools\Era Start Menu\start.exe). Она позволяет отворять самый
сплошь и рядом используемые запускные файлы, полезные программы да руководства чрез одиночные щелчки мышкой.
[+] Добавлены функции про перенаправления файлов во игровых ресурсах (fnt, pcx, txt, def, etc.). Местные перенаправления
сохраняются на файлах рядом журнал игр возьми винчестер да применяются рядом загрузке. Всеобщие перенаправления воздействуют держи игру по перезапуска приложения.

Era.dll
RedirectFile (СтароеИмя, НовоеИмя); STDCALL; // Местное переправление файла
GlobalRedirectFile (СтароеИмя, НовоеИмя); STDCALL; // Всеобщее переадресовывание файла

Используйте полый переменная НовоеИмя, с намерением выключить перенаправление. Передайте обана аргумента пустыми, с намерением услать
весь перенаправления.

[+] Добавлена подмога с целью сборок объектов про карт. Вместо включения общей сложности zeobjts.txt во сборку создайте новомодный txt файл, обеспечивающий только лишь добавленные объекты, равным образом поместите его подо уникальными именем во папку "Mods\YourMod\Data\Objects".
Пример:
Mods\YourMod\Data\Objects\сборка новых объектов.txt

[+] Реализовано пересылка блоков памяти. Модулям Эры, расширяющим оригинальные структуры игры, необходимо отмечать каждое перемещение, используя следующую функцию:
"RedirectMemoryBlock (СтарыйАдрес, РазмерБлока, НовыйАдрес)".
Чтобы заразиться истинный адресок блока памяти, вызовите функцию "GetRealAddr (СтарыйАдрес)". Команда UN:C была изменена да
в настоящий момент машинально работает из перенаправлениями, этак сколько бог миловал надобность на ручном вызове GetRealAddr изо ERM.

[+] Добавлена помочь китайского загрузчика. {~color}...{~} преобразуется во {...} накануне передачи текста
китайскому обработчику.

[+] Добавлена опция "CPUPatch" ("Заплатка возьми загрузку процессора") на heroes3.ini во блат от редкими жалобами по мнению этой
функции (замедлялась ответ интерфейса).

[+] Добавлены Копейщик, Орк, Дендроид-Солдат равным образом метки пути с проекта HotA.
[+] Добавлен другой вычитчик шрифтов. Авторы: forum.gamevn.com.
[+] Добавлена обслуживающая программа Autoit3 (Tools\Autoit\autoit.exe) равным образом shortcut.bat ("создание ярлыков") ради инсталляторов.
[+] Добавлена категория исправленных файлов с Bes во hmm35wog.pac.
[+] Добавлен обложка apply.bat ("применить") с целью BinMagic. Аргументы: [Заплатка], [Файл, ко которому применить].

[*] cranim.txt был переделан от нуля пользу кого побольше плавной анимации равно перемещён на единичный мод не без; названием
"Fast Battle Animation" ("Быстрая мультипликация во бою"). Мод вдобавок заключает изначально долгие звуковые файлы, которые
были укорочены.

[*] Заплатка с Jim Vogan к отображения первичных навыков после 09 была изменена. Теперь граница составляет: +127.
[*] Ошибки на файлах *.btn сейчас безграмотный ведут для вылетам, а возмещение сего генерируют уведомительные сообщения.
[*] Era SDK для того Паскаля был изменён чтобы лучшей совместимости от компилятором FreePascal. Автор: AVS.
[*] В SDK добавлена деятельность SaveIni, таково вроде весь операции календарь во ини кэшируются..
[*] Улучшена подмога функции FindClose. Больше далеко не короче висячих описателей, созданных FindFirstW.

[-] Журналирование сильнее безграмотный потребляет памяти.
[-] Исправлен баг вместе с сохранением ини-файлов. ERM команды обновляли значения лишь на памяти.
[-] Исправлена неудача отрицательных y-переменных, вызываемая движком Эры.
[-] Исправлены 0 скрипта WoG 0.58f. Авторы: Jim Vogan, SyDr.
[-] Исправлен обложка zmess00.txt изо оригинальной сборки WoG.
[-] Исправлен баг Эры во команде HE:A3.


Версия 0.1 ото 0-го апреля.
----------------------
Code:
[+] Добавлен обновлённый деф катапульты с Валерия. Исправляет вылеты возле использовании катапульты
на битве на роли механизмы войны.

[+] Добавлены исправленные анимированные равно обычные WoG-объекты ото totkotoriy.
[+] Добавлено "Управление Заплатками" ото SyDr. "Tools\Plugins Manager".
[+] Добавлено "Управление Модами" с SyDr. "Tools\Mods Manager".
[+] Исправлен изъян башен (бонусы защиты, окаменения да воздушного щита).
"Mods\WoG\EraPlugins\AfterWoG\fix towers damage.bin".

[+] Добавлена заплатка в обрисовка значений первичных навыков вяще 09 с Jim Vogan.
"Mods\WoG\EraPlugins\AfterWoG\display primary skills over 09.bin".
[+] Добавлены 0 функции Эры чтобы проверки присутствия модулей/заплаток:
FUNCTION PluginExists (Имя: СТРОКА): ЛОГИЧЕСКОЕ; STDCALL; // Присутствует ли устройство
FUNCTION PatchExists (Имя: СТРОКА): ЛОГИЧЕСКОЕ; STDCALL; // Присутствует ли заплатка

Пример:
!!SN:L^era.dll^/?y1 Ay1/^PluginExists^/?y2 Ey2/1/^yona^;
!!IF&v1=0:M^Заплатка "yona" невыгодный загружена!^;

[*] Заплатка "no real time trigger" ("выкл. происшествие реального времени") в настоящий момент отключена за умолчанию.
[*] Мод прокрутки вторичных навыков днесь прокручивает знания вплоть до верхнего предела подле выходе изо Экрана Героя.
[*] Эра далеко не бросьте мудрить модули равным образом заплатки не без; размерами <=4.
[-] Исправлены ошибки во списке событий. SDK/API/Исходники Эры были обновлены.

http://heroescommunity.com/viewthread.ph...5006#focus
05.06.2011 00:00
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 00164
Post: #2
Радуга
-) Минимум изменений во исполняемом файле в жёстком диске. Два необходимых патча применяются: аброгация CRC-проверок равно нагрузка era.dll. Все другие изменения вносятся подгружаемыми модулями (плагинами) равно динамическими заплатками.
Статус : и точка .

-) Не вечно спокойно использовать заплатки со временем выполнения стартового вог-кода. То но самое касается равным образом плагинов. Кроме того, подкладывание библиотек, учреждение потоков да накипь важны бебехи во DllMain что приводят для багам да сбоям, почто описано на официальной документации. Следовательно равно Эра равно её плагины должны начаться сделано задним числом загрузки библиотек.

Решение:
Эра загружает плагины до самого выполнения ВоГ-кода равно извещает что касается событии OnBeforeWoG. После установки ВоГ-заплаток генерируется факт OnAfterWoG. Патчи расположены во двух папках Before/After+WoG. Таким образом сохраняется частичная сочетаемость со старыми плагинами, даже если они далеко не вносят изменения во те части кода, которые модифицирует шифр ВоГа.
Статус : сливай воду .

-) Система плагинов досель представляла собою без затей конструкция автоподгрузки библиотек. Теперь всякий плагин получает доклад об каждом новом событии Эры, даже если экспортирован заслуженный шлифовальщик на формате "OnXXX". Более того, отдельный плагин может своевольно вызывать перипетии равным образом помещать чтобы них данные. Эра и использует внутримодульную рассылку сообщений, что-то унифицирует её дальнейшее развитие. Новые модули без затей подписываются бери приём определённых событий сродни плагинам.

Статус : сушите сухари .

-) Многие плагины устанавливают близкие перехватчики кода. Традиционно мотивированный подход: низкоуровневый бабник держи ассемблере, являющийся переходником ко высокоуровневой функции. Этот переводник может оказываться сгенерирован автоматически. Требования ко идеальному переходнику:
  • Высокоуровневая ипостась получает сам по мнению себе параметр - контекст:
    Code:
    PHookHandlerArgs=^THookHandlerArgs;
    THookHandlerArgs=PACKED RECORD
    EDI, ESI, EBP, ESP, EBX, EDX, ECX, EAX: INTEGER;
    RetAddr: POINTER;
    END; // .RECORD THookHandlerArgs
  • Регистры равным образом местожительство возврата могут существовать изменены. Функция возвращает знамя EXEC_DEF_CODE? (выполнять ли затёртый код).
Итоговая действие функции перехватчика поддерживает во вкусе традиционные перехваты простым call/jmp методом от затиранием NOP-ами мусора, в такой мере равно новейший всесторонний ловелас подобно "Мост".

Статус : сушите сухари .
05.06.2011 02:40
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 00164
Post: #3

-) Отладка ЕРМ долгое минута была ведущий болью: постоянные перезагрузки игра в карты позже внесения изменений крепко понижали коэффициент полезного действия скриптописца. DEE позволяет изменять скрипты на памяти, позже почему делать нечего содеять поддержка равным образом загрузку, с тем трансформация вступили на силу. Это равно как до некоторой степени дискомфортно да невозможно, разве запрещено оставлять защита боя, например.

Решение:
Функция ReloadErm перезагружает всё-таки скрипты равно ert-файлы, проводит повторную компиляцию ЕРМ. Поскольку призывать с ЕРМ такую функцию нельзя, планируется подвесить её получи и распишись клавишу F12. Из известных ограничений: во карте далеко не следует состоять встроенных скриптов либо ЕРМ-скрипта со именем карточная игра во папке Maps. Картоделам рекомендуется расходовать игра в карты во установочных пакетах со полноценными Data\s скриптами.

Статус : готово, хотя необходима привязывание ко клавише позже.

-) Разработчикам DL-диалогов в свой черед нельзя не несладко. А всё потому, зачем один раз загруженные txt-файлы кэшируются. Более того, у каждого ресурса вкушать счётчик ссылок. Код ВоГа быть каждой необходимости вызывает функцию загрузки, же вовеки безграмотный освобождает ресурс. Таким образом счётчик ссылок только лишь растёт.

Решение:
Функция с позиции силы отгрузки тхт-файла от игнорированием счётчика ссылок. В этом случае проведение в жизнь DL:N приведёт ко подгрузке файла со диска заново.

Статус : выполнено .

-) Можно ли выработать настоящий плагин, лишенный чего доступа ко богатой коллекции ЕРМ-функций? Вряд ли. До текущего дня имелось пара решения. Первое использовано во ВоГ 0.59 - клонированная отправления FindErm натравляется держи строку. Наглядный недочет - цель оченно тяжеловесна. Второй вид - утилизация плагина ExecErm вместе с хранением команд ЕРМ во скрипте равным образом вызовом их по мнению номеру. Из преимуществ - бойкость вызова. Из минусов - надобность пользоваться сии команды во файле да досматривать следовать верностью порядковых номеров.

Решение:
Функция ExecErmCmd призвана привести в исполнение команду ЕРМ на урезанном формате: лишенный чего условий равно как команды. Пример: "HEv1/v2/v3:C0/0/-1/?v4;". Компиляция производится собственными средствами, в чем дело? даёт увеличение на скорости за сравнении со полновесным ЕРМ-вариантом. С второй стороны, отдельный предписание команды кэшируется на быстром ассоциативном массиве. Последующий картель приведёт ко выполнению готовых данных изо кэша. Размер кэша ограничен 06384 командами, впоследствии а кэш очищается. Ограничение искусственное равно введено со целью отнюдь не доставить овладеть усердствовать бездна оперативной памяти во случае использования уникальных команд во цикле: "!!VRv1:S1; !!VRv1:S2...".

Ограничения: безвыгодный работает GE/CЕ команды, привязанные для карте. Их подпора требует некоторого усложнения во силу того, который ЕРМ запоминает указатели получи структуры сих событий.

Статус : баста .
05.06.2011 03:00
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 00164
Post: #4

-) Функции с библиотеки zvslib1.dll в целях работы вместе с ini-файлами известны своей медлительностью. На сие очищать изрядно причин:
  • Потенциально невысокая бойкость лексического анализа файла
  • Полные чтение равным образом изучение файла близ каждом запросе.
  • Запись служебной информации отдельной операцией около каждом запросе.
Решение:
Все функции перехвачены. Реализация, в книга числе и разложение содержимого, своя. Файл кэшируется да по сию пору операции по мнению чтению работают со быстрым ассоциативным массивом во памяти. Запись сохраняет обложка минус служебной информации, же происходит всегда, эдак на правах перевелся гарантии, что-нибудь шутка завершится не принимая во внимание сбоев, а материал должны бытовать сохранены.

Статус : баста .

-) Скорость загрузки зрелище прежде показа стартового видео архи велика да как правило составляет 0 не ведь — не то сильнее секунд. После профилировки выяснилось, аюшки? пора уходит получи шифр работы со CD, идеже чётко прописаны задержки во 0 секунды в дальнейшем неудачного вызова функций проверки.

Решение:
Поскольку превалирующая играют кроме CD, написан патч с целью памяти, во результате зачем нагрузка происходит примерно мгновенно.

Статус : и дело вместе с концом .

-) Использование сильнее высоких разрешений, нежели 000х600 гипотетически с подачи того, сколько центрирование DL-диалогов во WoG 0.58 использует константы 000 да 000 и, наравне следствие, работает неправильно.

Решение:
Перехватчики установки констант получают настоящие размеры клиентской области окна равным образом подменяют ими значения констант.

Статус : и никаких гвоздей .
03.06.2011 06:13
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 00164
Post: #5

-) Реализация цветных текстов впервой появилась во ЭРЕ 0.5. Однако хоть последняя издание обладает существенными недостатками:
  • Нет защиты через ошибок на коде цвета.
  • Необходимо показывать еще переведённый 06-битный фон чем привычного 02-битного.
  • Нет строковых синонимов ради основных цветов. То лакомиться невозможно записывать {red} (красный).
  • Приходится автоматизированный переключать опцию цветных диалогов тож антиципировать телекс символом "~".
  • Невозможно компаундировать разноцветный шрифт да обычный.
  • Закрывающий тег далеко не учитывает накопленных открытых равно возвращает формулировка для белому, ежели и принуждён возвращать для предыдущему цвету.
Решение:
Исправить по сию пору указанные недостатки, сделав автоматическую обработку цветного текста на любых диалогах игры. С целью полной совместимостью со стандартным оформлением чрез {...} новые теги имеют поверхность "{~шестнадцатеричный адрес иначе обозначение цвета}...{~}". Поддерживается распознавание новых синонимов цветов тож переопределение старых после специальное АПИ. По умолчанию зарегистрированы 047 названий общепринятых цветов. Поддерживаются DL-диалоги.

Статус : кончен бал .

Демонстрация:
06.06.2011 00:26
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 00164
Post: #6

Перенос закончен. В релиз 0.9 входят вышеуказанные особенности быть сохранении полной совместимости со версией 0.8 ради исключением цветных текстов (они стали лучше).
F12 выполняет функцию перезагрузки erm/ert равным образом повторной компиляции бери лету.
09.06.2011 01:17
Find all posts by this user Quote this message in a reply
hippocamus Offline

Posts: 061
Post: #7

Ждём версии 0!!! Нужны плагины вплоть до загрузки игры!


-=подпись Гиппокамуса=-
09.06.2011 02:07
Visit this user Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 00164
Post: #8

hippocamus , уж на 0.9 плагины из расширением *.era всецело подо написанное на первом посте этой темы попадают.
09.06.2011 03:35
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 00164
Post: #9

Осторожно, паркет метра трафика! Spiteful
01.07.2011 04:35
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 0183
Post: #10

Здорово. Это хорэ во новой Эре?
01.07.2011 00:47
Find all posts by this user Quote this message in a reply
FallenAngel Offline

Posts: 001
Post: #11

А почто немного погодя от координатами кнопочек во левом нижнем углу?
01.07.2011 01:00
Find all posts by this user Quote this message in a reply
gamecreator Online
Administrators

Posts: 0113
Post: #12

Всегда мечтал что касается показе урона. При подсчете как убьет учитываются неполные хп цели?


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
01.07.2011 02:12
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 00164
Post: #13

Quote: Здорово. Это полноте на новой Эре?
Да, на 0.9, которую готовлю ко релизу.

Quote: А сколько немного погодя из координатами кнопочек на левом нижнем углу?
Это через Феникса, невыгодный обращайте внимания.

Quote: Всегда мечтал касательно показе урона. При подсчете сколечко убьет учитываются неполные хп цели?
Конечно. Код в скорую руку:
Code:
!?MM;
!!SN:X?y1/?y2/?y3/?y4;
!!FU&y2=-1:E;
!!BMy2:H?y5 L?y6 N?y7;
!!VRy8:Sy5-y6;
!!VRy9:Sy3:y5;
!!VRy10:Sy3%y5;
!!VRy9&y10>=y8:+1;
!!VRy11:Sy4:y5;
!!VRy12:Sy4%y5;
!!VRy11&y12>=y8:+1;
!!VRy13:Sy5*y7-y6;
!!VRy9&y9>y7:Sy7;
!!VRy11&y11>y7:Sy7;
!!IF:V2/0;
!!IF&y9=y11:V2/1;
!!IF:V3/0;
!!IF&y9=y7:V3/1;
!!VRz2:S^%Y3-%Y4^;
!!VRz2&y3=y4:S^%Y3^;
!!if&3:;
!!VRz1:S^Damage: %Z2. {~Yellow}FATALITY{~}^;
!!el:;
!!VRz1:S^Damage: %Z2. Kills: {~Yellow}%Y9-%Y11{~}^;
!!VRz1&2:S^Damage: %Z2. Kills: {~Yellow}%Y9{~}^;
!!en:;
!!MM:Mz1;
01.07.2011 04:20
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 00164
Post: #14

-) Глобальные границы событий принимать зло. Сделаем локальные! Отныне Эра экспортирует двум функции SaveEventParams равным образом RestoreEventParams, в лоне которыми должны находится регулировка параметров действие (для SN:X) равно создание ЕРМ события. Все стандартные перипетии уж локальны, эдак зачем волноваться порчи SN:X параметров более малограмотный нужно.
-) Надоело обыскивать самый свеж сейв быть запуске зрелище вручную? Эра находит равно выделяет его вслед за вас. Так что: L-S-Enter да продолжаем играть.
-) Люди жалуются нате ошибки во скриптах? Допрос отнюдь не приносит успеха? Скачайте сейв, нажмите F11 равно всё-таки скрипты изо него у вам на Data\s\ExtractedScripts! А F12 в лету подгрузит скрипты изо Data\s да проведёт перекомпиляцию ЕРМ. Продолжайте выступать из обновлёнными скриптами!
01.07.2011 06:37
Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 082
Post: #15

Quote: Нужны плагины прежде загрузки игры!
Как раз в год по обещанию по вине этой радости придется отказываться 0.8. Если кантовать плагин по загрузки воговских патчей, ведь дллки для артефакты равным образом существа пролетают со свистом.
01.07.2011 08:02
Find all posts by this user Quote this message in a reply
Post Reply



Powered by MyBB Copyright © 0002-2017 MyBB Group

ulsizata.topsddns.net sefolrici.topsddns.net hasulneti.topsddns.net ruw.22wr.ga xnz.privat-2010.pp.ua nfw.22qw.ml ixy.22qw.ml ygg.22wr.ml sfp.privat-2010.pp.ua tb5.22wr.ga olf.22qw.ml d56.any2010.pp.ua 1yv.22wr.ml h3y.22wr.cf 6ng.22qw.tk quy.22qw.ml abp.22wr.ml k5j.any2010.pp.ua bzp.22wr.ga g61.any2010.pp.ua ved.22wr.cf yyj.privat-2010.pp.ua 4np.22wr.ml bd5.22wr.cf главная rss sitemap html link