Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Проблема в том, что для успешного редактирования необходим HEX-редактор, понимающий кириллицу и кодировку Windows-1251, а так же способный менять размеры редактируемым файлам. Я использовал пропатченный WinHEX 10.47 SR-7, который научили кириллице и отучили от жадности. В нём же я перенастроил клавишу Enter на вставку опкода 0x01, поскольку он отвечает за переносы строк в Ever17.
- Работа состоит из нескольких этапов:
- 1. Распаковать содержимое script.dat (Archive Tool, формат KID Engine LiNK)
- 2. Экспортировать части скрипта (E17 SCR Tool). Для этого желательно сразу выделить отдельную директорию, поскольку файлов будет не много, а очень много - несколько десятков тысяч.
- 3. Отредактировать их в HEX-редакторе, соблюдая следующие правила:
- a) Всегда отделять опкод переноса строки (0x01) пробелом от кириллического текста, в противном случае скрипт сломается и новелла вылетит, как только наткнётся на подобное сочетание.
- b) Использовать не более 48 символов на строку и не более 5-и строк (касается только диалогов. Текст во весь экран имеет другие ограничения). В противном случае текст уйдёт за границы буфера экрана, запишет в сам буфер мусор, вызовет повреждение памяти процесса новеллы, и та вылетит.
- c) Не затирать служебные опкоды, кроме 0x01, иначе результаты будут весьма плачевные.
- 4. Импортировать отредактированные части. При этом будет создан файл вида op00.scr_compiled (оригинал будет по-прежнему в op00.scr. Это сделано для того чтобы корректно пересобрать файл скрипта, а байткод для виртуальной машины при сборке взять из оригинала, поскольку я его не разбирал).
- 5. Этими "скомпилированными" файлами заменить то что было в архиве.
- 6. Собрать новый архив формата KID Engine LiNK и положить под именем script.rus в директорию с новеллой.
- 7. Запустить и проверить.
- Надеюсь, теперь стало понятно, почему не существует "простого" способа редактировать скрипты.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement