AERIE Team
http://forums.aerie.ru/

Как получить текст, содержащий все строки Dialog.tlk?
http://forums.aerie.ru/viewtopic.php?f=37&t=2208
Страница 1 из 1

Автор:  Vit MG [ 14 июн 2007, 17:54 ]
Заголовок сообщения:  Как получить текст, содержащий все строки Dialog.tlk?

Есть файл Dialog.tlk.
Нужен список текстовых строк из него с их номерами.
Прошу, тех, кто это умеет делать, помочь.

Автор:  Pilferer [ 14 июн 2007, 18:52 ]
Заголовок сообщения: 

Можно с помощью Nightfall's Utilites - открыть в нем нужный файл, выбрать "сохранить как.." и выбрать tra файл.
Или с помошью Weidu набрать в командной строке
weidu.exe --traify-tlk dialog.tlk --out dialog.tra
(или --textout, смотря какая версия Weidu)

Автор:  Vit MG [ 15 июн 2007, 15:26 ]
Заголовок сообщения: 

2Pilferer:
Спасибо, все получилось!

Делал с помощью weidu.
Команда запускается только из папки с игрой и, естественно, при наличии weidu.exe в этой папке.
dialog.tlk можно подставлять любой - хоть от бг1 - текст получается правильный.
Работает мгновенно.

Текущая версия WeiDU здесь: http://weidu.org

Автор:  TERSERCUTOR [ 04 май 2008, 07:51 ]
Заголовок сообщения: 

А существует единый Dialog.tlk для BTG или наполнение файла зависит от сборки, версий и прочего?

Автор:  Badgert [ 04 май 2008, 10:28 ]
Заголовок сообщения: 

Разумеется, файл Dialog.tlk зависит от того, имеются ли установленными моды (и если да, то какие именно).

Автор:  TERSERCUTOR [ 04 май 2008, 14:47 ]
Заголовок сообщения: 

Badgert писал(а):
Разумеется, файл Dialog.tlk зависит от того, имеются ли установленными моды (и если да, то какие именно).


Оки.... Просто как то бакапил диалог, но при такой же последовательности и при той же сборке, но на другой версии веды - при возвращении файла: в диалогах была чунь.....

И по тому же вопросу - подскажи, пожалуйта, с таки м вопросом:

Цитата:
В связи с прочитанным, о том что Балдурбаш правит диалог - как правильно собирать БТГ

патч 2.5.26498
патч NoCD
русские шрифты
русские диалоги
патч Baldurdash
Идеальный перевод BG AERIE
BTG-WeiDU

Или по другому

Автор:  Al Vito [ 04 май 2008, 16:19 ]
Заголовок сообщения: 

TERSERCUTOR писал(а):
В связи с прочитанным, о том что Балдурбаш правит диалог - как правильно собирать БТГ

патч 2.5.26498
патч NoCD
русские шрифты
русские диалоги
патч Baldurdash
Идеальный перевод BG AERIE
BTG-WeiDU

Или по другому

Я где-то читал, что идеальный перевод БГ АЭРИ нужно ставить перед фиксом Бальдурдаша.

Автор:  TERSERCUTOR [ 04 май 2008, 16:44 ]
Заголовок сообщения: 

Al Vito писал(а):
Я где-то читал, что идеальный перевод БГ АЭРИ нужно ставить перед фиксом Бальдурдаша.


Чисто субъективно - кажется так же, будем ждать тех, кто не только уверен - как мы, но и кто знает точно! :pivo:

Автор:  Vit MG [ 05 май 2008, 10:06 ]
Заголовок сообщения: 

Сам Балдурдаш текст диалогов не правит. Есть отдельный комонент - Game Text Update - он вносит исправления в АНГЛИЙСКИЙ текст игры. В свете этого, на русский диалог Game Text Update ставить не нужно.
Патч Идеальный перевод стоит в списке на правильном месте - до установки модов. Особенности использования патча с BGT (TERSERCUTOR, обратите внимание на порядок букв) подробно описаны в ридми к патчу и анонсе.

Автор:  TERSERCUTOR [ 05 май 2008, 14:41 ]
Заголовок сообщения: 

Очепятки - енто карма моя гнутая: знаю что и о чём, и всё же - так!
Но будц стараться писать правильно. :pivo:
Ставил по инструкции
Просто где то тут на форуме проскочило, вот и заволновался.

Автор:  bur [ 14 ноя 2009, 14:12 ]
Заголовок сообщения: 

Способен ли WeiDU провести следующую операцию - в цикле просканировать от начала и до конца строки в файле dialog.tlk на предмет наличия кирилических символов. Если хотя бы один кирилический символ в строке присутствует, то занести всю строку в файл а-ля PerfectRUS\Language\russian\setup.tra, предварительно пронумеровав. Одновременно сгенерировать код файла установки а-ля Setup-PerfectRUS.tp2 содержащий строки типа STRING_SET 12263 @87. Если данное возможно то приведите пожалуйста пример кода для организации подобного цикла.

Автор:  Ardanis [ 14 ноя 2009, 19:06 ]
Заголовок сообщения:  Re: Как получить текст, содержащий все строки Dialog.tlk?

Код:
COPY_EXISTING - ~dialog.tlk~ ~dialog.tlk~
  READ_LONG 0xa number
  READ_LONG 0xe offset
  counter=0
  FOR (i=0;i<number;i+=1) BEGIN
    READ_LONG 18+0x1a*i+0x12 str
    READ_LONG 18+0x1a*i+0x16 len
    READ_ASCII str+offset string (%len%)
    PATCH_IF (~%string%~ STRING_CONTAINS_REGEXP ~[а-я]\|[А-Я]~ = 0) BEGIN
      SET $str("%counter%")=i
      SPRINT $text("%counter%") ~%string%~
      counter+=1
    END
  END

<<<<<<<<abc.txt
/*STRING*/
>>>>>>>>

COPY ~abc.txt~ ~setup.tra~
  PHP_EACH text AS ind => res BEGIN
    REPLACE_TEXTUALLY EXACT_MATCH ~/*STRING*/~ ~~~~~@%ind% = ~%res%~
/*STRING*/~~~~~ EVALUATE_BUFFER
  END
  REPLACE_TEXTUALLY EXACT_MATCH ~/*STRING*/~ ~~

COPY ~abc.txt~ ~setup-dialog_tlk.tp2~
  PHP_EACH str AS ind => res BEGIN
    REPLACE_TEXTUALLY EXACT_MATCH ~/*STRING*/~ ~STRING_SET %res% @%ind%
/*STRING*/~
  END
  REPLACE_TEXTUALLY EXACT_MATCH ~/*STRING*/~ ~~

Автор:  bur [ 15 ноя 2009, 09:53 ]
Заголовок сообщения: 

Кто сможет прокомментировать выше указанный код от Ardanis?

Автор:  Slinger [ 15 ноя 2009, 13:27 ]
Заголовок сообщения:  Re:

bur писал(а):
Кто сможет прокомментировать выше указанный код от Ardanis?

а что непонятно?

Автор:  Ardanis [ 15 ноя 2009, 16:30 ]
Заголовок сообщения:  Re: Как получить текст, содержащий все строки Dialog.tlk?

Я там кое-что очепятал.

Дважды.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/