Если вы считаете себя фанатом Neverwinter Nights и имеете навыки работы с NWN Toolset, то мы приглашаем вас к участию в разработке нашего проекта. Заявки отправляйте по адресу: admin@NWNights.ru
Достали меня всякие неточности перевода NWN, я тут посидел и написал редактор для dialog.tlk.
Если кому надо, могу выслать (170kb) а то надо бы потестить хорошенько, бета все-таки.
Шли! гдавное чтобы поиск по значению был. И еще вопросы: на чем писал, и где взял структуру tlk файлов? Можешь исходник для ознакомления кинуть?
idn83@mail.ru
Поиск по значению есть. Писал на Delphi, потому как не хотелось долго париться. По этой же причине скорость работы оставляет желать лучшего, особенно если менять значение строки ближе к началу файла. Вот поэтому мне надо знать, как программа работает на других машинах и с другими dialod.tlk Если будет заинтересованность, программу ускорю.
Ну что тебе сказать. Нареканий особых нету, в основном к интерфейсу. Открывает примерно полторы минуты, сохраняет и ищет секунд 30-60.
Скинь исходник, если не жалко. Или инфу по структуре tlk (то есть как его читать и писать по-нормальному).
Исходник скинуть не жалко. Стыдно. Потому что писалась прога наспех, поэтому алгоритмы далеки от оптимальных. А оптимизировать, перекраивать как-то лень. Сохранение медленное, потому что приходится переписывать кусок файла после изменяемой записи. Поэтому если изменять записи, близкие к концу файла, или при изменении сохранять неизменной длину записи, то сохранение происходит очень быстро.
Вот, короче, структура dialog.tlk, которая тебе будет полезнее моих кривых исходников.
Блок #1. Шапка
Абсолютное смещение: 0
Байты 0-7: текст "TLK V3.0"
Байты 0Ch-0Fh: количество записей (двойное слово (DWORD))
Байты 10h-13h: абсолютное смещение Блока #3 (DWORD)
Блок #2. Таблица размещения записей
Абсолютное смещение: 30h
Блок #2 состоит из подблоков размером 28h байт.
Каждый подблок описывает одну запись. Структура подблока:
Байты 0-3: относительное смещение записи внутри Блока #3 (DWORD)
Байты 4-7: размер записи в байтах (DWORD)
Байты 8-27h: служебная область
Блок #3. Записи
Всё, что не описано в данной структуре, осталось мною не разгаданным. Но даже такого неполного знания структуры достаточно для изменения и переделывания dialog.tlk
P.S. Из вышесказанного следует, что между блоками #2 и #3 без ущерба работоспособности может находиться любая левая информация. Например, в моём dialog.tlk между этими блоками находится английский текст, который господа пираты по какой-то причине не удалили при переводе. Т.о. после перенастройки Блока #2 и удаления русского Блока #3 мы получим оригинальную английскую версию dialog.tlk Однако результате файл раздут до 20MB при размере рабочей области 14-15 MB, что может влиять на скорость его загрузки.
Мне тоже пожалуйста!
kirful@mail.ru
И я тут такую штуку заметил...в Aurora toolset в редакторе разговора можно открыть порядка десяти диалогов из разных частей,переделать и сохранить.Но вот почему также нельзя поступить с другими,не пойму(((
www.wrg.ru/download.php?id=164 - контент эдитор, который в том числе имеет и TLK редактор (работает и под НВН и под НВН2).
Тоже на дельфи, но скорость работы повыше в несколько раз. (у меня открывает dialog.tlk за 15 секунд)
Достали меня всякие неточности перевода NWN, я тут посидел и написал редактор для dialog.tlk.
Если кому надо, могу выслать (170kb) а то надо бы потестить хорошенько, бета все-таки.