Mod Text Merger version 1.1 by Vasiliy -------------------------------------- Данная утилита предназначена для замены текста в некоторых типах рекордов в плагинах Morrowind. В основном применяется для импортирования перевода обратно в плагин. Принцип работы: Загружается плагин и текстовый файл подстановок. Сканируются все записи плагина, определяется их ИД, затем этот ИД ищется в файле подстановок, и если найден, то указанная для подстановки строка замещает в этом рекорде одно из текстовых поле (зависит от типа рекорда). Результат записывается в файл _out.es? в том же каталоге, где лежит исходный плагин. Формат файла подстановок. Это текстовый файл, одна строка - одна запись. Запись имеет вид: INFO:1234567890=bla bla bla где до знака равно указан префикс 'INFO:'и ИД записи, нуждающейся в замене, непосредственно после знака '=' и до конца строки следует текст, который будет записан в плагин. Такие строки может генерить моя другая программа Mod Info. Загрузите в нее плагин, проведите поиск в мастер файлах, затем дайте команду Menu -> Export -> Export For Translate. Результат будет выведен в текстовый файл. Команда Menu -> Info -> Check Info Hyperlink так же генерит такие строки, но в отношении только измененных INFO записей, в которых пропали гиперссылки (к тому же текст уже берется из мастер файла, а не из плагина, т.к. считается, что в плагине текст испорчен). Что еще? ... запись в файле подстановок обязательно должна быть в одну строку. Если в тексте присутсвуют символы перевода строки, то замените их на символ с кодом 0x7f. Список обрабатываемых рекордов и полей в них: ACTI FNAM ALCH FNAM APPA FNAM ARMO FNAM BOOK FNAM BSGN FNAM CLAS FNAM CLOT FNAM CONT FNAM CREA FNAM DIAL NAME DOOR FNAM FACT FNAM GMST STRV INFO NAME INGR FNAM LIGH FNAM LOCK FNAM MGEF DESC MISC FNAM NPC_ FNAM PROB FNAM RACE FNAM REGN FNAM REPA FNAM SPEL FNAM WEAP FNAM Описание алгоритма работы: -------------------------- Первый шаг это загрузка плагина в память и сканирование его рекордов на предмет определния ИДов. Второй шаг загрузка файла подстановок. При загрузке проверяется допустимая длина текста, например большинство названий имеет ограничение длины в 32 символа. При обнаружении таких проблемных строк информация о них выводится в лог и кнопка запуска обработки блокируется. Т.е. надо файл подстановок откорректиовать и загрузить заново. Третий шаг собственно импортирование текстов в плагин. Обработка начинается с первого рекорда и идет до последнего в порядке их расположения в файле плагина. Для каждого рекорда берется его ИД и производится поиск в таблице подстановок. Строка подстановки разбивается на 3 части: - тип рекорда (например WEAP) - ИД рекорда - строка после ':' и до первого символа '=' - текст подстановки - сразу после первого символа '=' и до конца строки Если тип и ИД совпадают, то производится замена текста в субрекорде, зависящем от типа рекорда. Например для WEAP будет менятся поле FNAM. Если тип или ИД не найдены, то рекорд просто записывается в выходной файл без изменений. Отсюда вытекают две возможные проблемы: 1. Если сам ИД содержит символы '=', то возможно некорректное определение рекорда. Просто удаляйте такие строки из файла подстановок при редактировании (и редактируйте их вручную впоследствии) 2. При наличии дублирующих ИДов (в рекордах INFO это бывает), в файле подстановок будет найдена только первая строка. И все дублирующие рекорды получат одинаковое изменение. Такие ситуации также желательно избегать удалением строк в файле подстановок. Узнать какие ИДы дублируются можно с помощью Mod Info. ЗЫ: Для утилиты несущественно, является ли обрабатываемый файл плагином или мастер файлом... Для ускорения работы утилиты удаляйте из файла подстановки все ненужные записи. -------------------------------------------------------------------------------- Эээ... автор как обычно не несет ответственность за порчу любых данных или оборудования на вашем компьютере. Ваши предложения и замечания присылайте на vasiliy73@mail.ru С наилучшими пожеланиями, Василий.