Анализ текстовых скриптов LB/LBME/LBPE

Сюда я попытаюсь свести все отличия в текстах различных версий игры.

ИграOriginalMemorialPerfect
ФайлСтрокСтрокОтличияСтрокОтличия
SEEN0513  239239нет239правки
SEEN0514907(909)  907нет907правки
SEEN051511161208+92 строк и 6 правок1208
SEEN051616882877+1189 строк и 1 правка  28772 правки
SEEN051718902119+229 строк и 5 правок2119
SEEN051823782933+555 строк и 8 правок2933
SEEN051924242709+285 строк и 4 правки2708-1 строк
SEEN05207891070+281 строк и 2 правки1070
SEEN052129563954+998 строк и 10 правок3954
SEEN052229493215+266 строк и 2 правки3215
SEEN052329883390+402 строк и 5 правок3396+6 строк
SEEN052425392551+12 строк и 6 правок2555+4 строк
SEEN0525800800 800
SEEN0526464464 464
SEEN0527108210822 правки1082
SEEN0528277322+45 строк322
SEEN1000157415741 правка1574
SEEN100112251225нет1225
SEEN1002529529нет529
SEEN100313951403+8 строк и 5 правок1403
SEEN10044404401 правка440
SEEN1200нет1701 1701
SEEN1201нет1773 1773
SEEN1202нет1586 1586
SEEN1203нет1403 1403
SEEN200017661766 1766
SEEN2001263026301 правка2630
SEEN2004488488нет488
SEEN2005810810нет810
SEEN21005151нет51
SEEN2500133133нет133
SEEN2513138138нет138
SEEN2514567567нет567
SEEN25154084082 правки408
SEEN2516177177нет177
SEEN2517154154нет154
SEEN2518333333нет333
SEEN252014041404нет1405+1 строк
SEEN2521237623765 правок2376
SEEN252212941294нет1294
SEEN2523642642нет642
SEEN26005565561 правка556
SEEN2601363363нет363
SEEN2602435435нет435
SEEN2603549557+8 строк557
SEEN2800нет808 808
SEEN2801нет437 437
SEEN2802нет142 142
SEEN2803нет194 194
SEEN2804нет440 440
SEEN2805нет625 625
SEEN2806нет506 506
SEEN2807нет514 514
SEEN2808нет307 307
SEEN2809нет58 58
SEEN2810нет192 192
SEEN2811нет153 153
SEEN2812нет304 304
SEEN2813нет238 238
SEEN2814нет154 154
SEEN2815нет269 269
SEEN2816нет361 361
SEEN2817нет256 256
SEEN2818нет412 412
SEEN2819нет149 149
SEEN2830нет314 314
SEEN2888нет47 47
SEEN300063646878+514 строк6878
SEEN3524181181 181
SEEN3600нет7618 7618
SEEN3800нет161 161
SEEN3900404763+359 строк763
SEEN400026783311+633 строк3311
SEEN400114311542+111 строк1542
SEEN4002811789-22 строк789
SEEN40037111675+964 строк1674-1 строк
SEEN4102323323 323
SEEN4103нет1700 1700
SEEN44446065+5 строк65
SEEN500011791179 1179
SEEN5001559559 559
SEEN5002302302 302
SEEN5003622622 622
SEEN5004568568 568
SEEN5005590590 590
SEEN500614751485+10 строк1485
SEEN5522272272 272
SEEN600025602553-7 строк2553
SEEN6001230230 230
SEEN600212951295 1295
SEEN600317451745 1745
SEEN60108585 85
SEEN61008181 83+2 строк
SEEN6101257257 257
SEEN61027474 74
SEEN65185858 58
SEEN7921502626+124 строк626
SEEN79222525 25
SEEN8030581581 581
SEEN80602323 23
SEEN81101616 16
SEEN82201414 14
SEEN8590131141+10 строк141
SEEN8610151151 151
SEEN87312323 23
SEEN8733621621 621
SEEN87345555 55
SEEN8735216216 216
SEEN9071119119 119
SEEN9102нет18 18


В списке отсутствуют файлы содержащие менее 10 строк.
Карта отличий сгенерирована полуавтоматически и может быть неточной.

Итого:
Обычное издание – 75777 (73382) строк с (без) учётом строковых переменных
Perfect Edition – 103325 строк без учёта строковых переменных

Вторичный XOR ключ для Perfect Edition:
game LBPE «Little Busters! Perfect Edition» by Key
  using key from 256 for 257:
   0xa8 0x28 0xfd 0x64 0xa9 0x23 0x77 0x06
   0xfa 0x39 0x88 0x3f 0x6c 0x13 0xa2 0xf0


Собранный английский/японский текст для обычной версии можно скачать здесь.
Японский текст для LBPE можно скачать здесь.

Поле имени в LB! статическое, нужно подобрать значения NAME_MOJI_POS и NAME_MOJI_MIN, тогда влезет около 15 символов.

Комментарии

Судя по такому количеству отличий, сейчас, наверное, стоит заняться обычной версией, благо она переведена полностью. Когда эту сделаем, может появится больше желающих перевести ME, PE и EX. Сейчас мне это вообще не кажется возможным.

Кстати, как у вас с ME Канона и Кланнада?

dolamroth 01.05.14 в 17:53 · # ·
0

скрытые комментарии (2 шт.)

Согласен. Но анализ я всё равно доделаю.
В Кланнаде ME нет текстовых отличий, но он сменён на HD версию на базе его скриптов и графики из PS3. Канон ME как и Кланнад ME требуют некоторой доработки хаков для движка. Пока с этим особых подвижек нет(

DENDentar 01.05.14 в 18:14 · # ·
0

И кстати, про Ecstasy речь вообще не шла, она мне неинтересна. Кому надо хентай от Key пусть на инглише читают, когда он будет. Memorial и Perfect интересны новыми роутами + Perfect добавлена полная озвучка второстепенных персонажей (кроме ГГ) и новый спрайт.

DENDentar 01.05.14 в 18:38 · # ·
0

98% новых строк что вы тут видите – это рут Токидо Сая, начинается с конца 15 дня. После прохождения Refrain в конце 05/15 выскакивает окошко спрашивая хотите или нет активировать ее рут.

Руты Харуки и Куд сами по себе расширены (у Куд значительно) и в руте Куругаи (только в Converted/PE) должна быть новая сцена ~300 линий.

Перевод на английский заброшен около года назад, обновлений с тех пор небыло. Много кто пытался с переводчиками связаться чтобы перенять эстафету – безрезультатно.

Вообщем мой совет: вставляйте текст в Perfect Edition и будут хотя бы полноценные руты Сасами и Канаты, все остальное скипается.

RikuKH3 02.05.14 в 08:49 · # ·
0

Думаю тексты для Memorial/Perfect Edition отдельным переводом сделать. Чтобы здесь не было каши.

DENDentar 03.05.14 в 12:30 · # ·
0

Так там куски вырванные из разных частей. Редактировать и к единому виду приводить все тоже лучше одним и тем же людям. Дело ваше, конечно, но я лично не вижу смысла. Чем оно тут может мешать в самом низу после основного скрипта – тоже не понимаю.

RikuKH3 03.05.14 в 12:53 · # ·
0

скрытые комментарии (9 шт.)

Особо ничем, только портит цифру в графе готово)

DENDentar 03.05.14 в 13:20 · # ·
0

Да циферка процента это ерунда.) Человек заходит если и видит что тут работа идет, там работа идет, и аж ~5000 строк готово (огромный прогресс, кстати, я считаю. Отличная работа!)... оно согласитесь намного лучше, чем если там будут валяться эти куски выдранные и перекати-поле будет стоять, и каждый кто зайдет (не важно с нужными навыками или без) будет 'wtf это такое вообще?'

Кстати, может собрать демо-версию перевода с первыми 4 днями? Раскидать по трекерам, форумам соответствующим.. группа там у нас по LB! вконтакте вроде была.. есс-но с ссылками сюда, чтобы привлечь внимание к проекту (с текущим прогрессом уже не стыдно должно быть).. Переводчиков надо пытаться привлечь... да и просто редакторов/спеллчекеров. Тут у нас слишком большая ноша для 1-2 человек.

RikuKH3 03.05.14 в 21:00 · # ·
0

Демо-версия – это хорошо, но есть пару загвоздок:
За графики ещё никто не брался.
С мини-играми, пока, ахтунг.
http://free-pic.org/big/2014/c11c9dbc6a40ca66a35e68c626b11133.png
Нужно кардинально менять подход к выводу пропорционального текста или переделывать мини-игры под текущий вариант.
Текст и выборы работают нормально.
http://free-pic.org/big/2014/0bda12330b18351c5b169ea0341698be.jpg
p.s. это вся готовая на данный момент графика(
Демо я предполагал сделать после покрытия всего общего роута.

DENDentar 04.05.14 в 12:28 · # ·
0

А какие файлы отвечают за графику в мини-играх? И кто вообще 'ответственный за графику'?

dolamroth 04.05.14 в 12:49 · # ·
0

Графика там в G00, конвертируется в PNG картинки и обратно. Для демки первых четырёх дней много не надо: несколько картинок со статусами и характеристиками в мини-играх. В любом случае, DENDentar не это имел в виду.. судя по всему, речь о интервалах между буквами в тексте.

RikuKH3 04.05.14 в 13:23 · # ·
0

Именно!
Текст для мини-игр нужно ещё надергать из файлов с кодом. Но храниться в переменных а не строках и не вынимается инструментарием в отдельный файл. Я начал искать и добавлять текст из кодов в перевод (вчера добавил несколько строк в уже переведённые файлы). Скоро всё будет.
'Ответственный за графику'? Там где не надо серьёзно переводить (меню, настройки – дёрну из кланнада) или и так всё понятно, сделаю я. Остальное... а там ~1к картинок по 2-3 слова из бейсбола и драк... я хз. Мне б только перевод, а править такие картинки – плёвое дело.

DENDentar 04.05.14 в 13:28 · # ·
0
Удалённый комментарий.
Удалённый комментарий.
Удалённый комментарий.

DENDentar, вы русские буковки в ShiftJIS что ли вбиваете и из под японского окружения игру запускаете? Откуда вообще игра шрифты берет? Если правильно помню, шрифт в разных версиях windows в этой игре выглядит по-разному.

RikuKH3 04.05.14 в 13:26 · # ·
0

скрытые комментарии (8 шт.)

RlDev выдаёт текст/код в utf-8, а при компиляции конвертит его назад в Shift-JIS.
Товарищ Hæleth (разработчик rlDev) оставил нам хорошие наследство – «rlBabel.dll: the All-Purpose Unicode hack for RealLive». Он организует псевдо поддержку Юникода. Весь выводимый текст конвертируется в юникод, так что текст нормально отображается (без закорючек) независимо от системной локали. + там сделана костыльная поддержка пропорциональных шрифтов которую удалось приспособить и для кириллицы.
p.s. Там организован перехват ряда вызовов системных функций, так что список шрифтов можно хоть руками составлять)

DENDentar 04.05.14 в 14:47 · # ·
1

В battle ranking мини-игре на скрине выше наверное другой отдельный шрифт в этих местах используется.

Эти интервалы между буквами скорее всего в самом TTF-шрифте, то есть пустое место частью буквы считается. Как крайний вариант, возможно редактированием самого шрифта можно исправить.

RikuKH3 04.05.14 в 15:42 · # ·
0

Не, там просто другие функции используются, которые были неактуальны/небыло в Каноне (для которого всё это писалось), вот он их и не жрёт(
Нет шрифт нормальный (Meiryo UI), так движок работает. У него все символы одной ширины. Точнее две: одинарная – ASCII диаппазон и двойная – всё остальное.

DENDentar 04.05.14 в 15:54 · # ·
0

Да, посмотрел только что, в Meiryo UI русские буковки идеально подрезаны, интервалов нет. Всё так и есть значит, очень плохо.

Колхозным методом можно перерисовать латиницу в нём, которая в ASCII и нормально отображается.))

RikuKH3 04.05.14 в 16:00 · # ·
0

Перерисовка (создание своего) шрифта будет последним методом, если взлом exe провалиться. Так как это очень неудобный для конечных пользователей метод.

DENDentar 04.05.14 в 16:07 · # ·
0

Для демки то, в принципе, можно и так оставить. Не сказать что уж совсем ужасно смотрится. Перед нужными словами таг переноса на другую строку только расставить вручную, раз word wrapping не работает.

RikuKH3 04.05.14 в 16:18 · # ·
0

Так... Текст в мини-играх побеждён без модификации шрифта,но нужен моноширинный шрифт. Метод универсальный, и может исправить весь текст в игре, но так как все моноширинные шрифты убоги, я применю его только там где не работает основной метод.
http://free-pic.org/big/2014/bf90908ee2b274616a91e396feef4f3e.png

DENDentar 07.05.14 в 22:06 · # ·
0

Выглядит отлично.

RikuKH3 07.05.14 в 22:11 · # ·
0

http://s019.radikal.ru/i633/1405/5e/467d3d4f7a73.png
↑↑↑ из под win8.1 оригинальный оригинальный текст так отображается

RikuKH3 04.05.14 в 13:40 · # ·
0

Фичу полезную сделали: http://vk.com/wall-54523753_2991

dolamroth 29.05.14 в 18:16 · # ·
0

скрытые комментарии (15 шт.)

Видел, знаю, использую) Только скрипт для скачивания текста у нас глючит из-за слешей (\{Рин} -> {Рин}) и одинарных кавычек(

DENDentar 29.05.14 в 19:27 · # ·
0

Пиплхай :)
Можно поподробнее, что именно не работает? Надеюсь, смогу оперативно исправить.

DOOMer 30.05.14 в 08:41 · # ·
0

При скачивании, на самой странице скрипта всё ок, исчезают обратные слеши ( \{Имя} выходит так {Имя}, что рушит тэги), а фрагменты содержащие перевод строки отсутствуют и там и там.

DENDentar 30.05.14 в 08:56 · # ·
0

Ясно.
Сегодня гляну.
По результатам отпишусь тут.

DOOMer 30.05.14 в 09:05 · # ·
0

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

DOOMer 30.05.14 в 09:32 · # ·
0

Проблема со слешами устранена.

Кстати, принимаются пожелания по формату получаемых в итоге данных. Меня устраивает текущий, всю последующую обработку я делаю в NP++ или UltraEdit'е (в части многострочного поиска и поиска по регуляркам он таки лучше), но реализовать настройку этого дела совсем несложно.

DOOMer 30.05.14 в 11:08 · # ·
0

Спасибо.
Хмм... мне пока хватает и текущего функционала. Главное чтобы нормально обрабатывались все спецсимволы, ну и поддержка переводов строк не помешает. Для всего остального есть NP++. Ну если только сделать отключение добавления ссылки на фрагмент и д.р. чтобы был только чистый текст. Мне, например, она не особо и нужна, правда и удалить её дело пары кликов)

DENDentar 30.05.14 в 11:35 · # ·
0

Да, кстати, ссылками я никогда не пользовался. Сделаю чекбокс.
Переводы строк буду бороть обязательно. Давно собирался, да нужды не было: ни в одном проекте, где я поучаствовал, таких фрагментов не было, хотя я и допускал, что такие могут быть. Просто пока не готов сказать, смогу я это сделать быстро или нет – не помню, что я там набыдлокодил :)

DOOMer 30.05.14 в 12:43 · # ·
0

Я вспомнил, почему я не реализовал переводы строк: у меня там сейчас обработка построчно идёт, а для того, чтобы обрабатывать переносы строк внутри фрагмента, нужно менять весь алгоритм. Но это всё мелочи. Только что я закончил в общих чертах работу над новым алгоритмом (и, как следствие, регулярками)... Но возник другой вопрос: а насколько правильны такие ситуации, когда фрагмент в себе несёт переносы? Просто как только я получил какие-то «живые» результаты, я понял, что с появлением переноса строк внутри фрагментов к чертям летит форматирование получаемого файла, где одна строка – оригинал, другая – перевод, и начинается разброд и шатание. А ведь у такого фрагмента может ещё быть более одного варианта перевода...

Решил ещё немного подумать, нужно ли потворствовать некорректному заведению проектов на Ноту. С другой стороны: а какая мне разница? Мне нужно средство людям удобное дать, даже если они микроскопом гвозди забивать будут :)

Галочку «без ссылки», как и говорил, прикручу в любом случае.

DOOMer 01.06.14 в 20:36 · # ·
0

Я с вами в принципе согласен, но здесь такая специфика, а не моя прихоть. Я привёл немного не тот фрагмент, он возник как следствие добавления текста из строковых переменных уже после заливки основной части. Верным примером будет файл SEEN2005. Дело в том, что RealLive нескриптовый движок, это виртуальная машина использующая байт-код. И декомпилятор выдаёт текст именно в таком виде, дополняя теги перевода строк переводами строк для лучшего восприятия. А с учётом огромного объема текста мне гораздо удобнее работать по меткам компилятора <цифры в скобках>, а не по строкам, которые могут оказаться и пустыми (содержать только тег перевода строки), но иметь значение для оформления текста.
У каждого проекта своя специфика и каждому удобнее работать по своему. Да и гвозди микроскопом тоже иногда забивать приходиться)

DENDentar 02.06.14 в 04:49 · # ·
0

Ага, да, вижу те фрагменты.

Чуть позже продолжу изыскания. Вопрос пока остаётся открытым: как один вариант перевода отбивать от другого, если вариантов больше одного?
И как выводить переводчика и оценку?
О! Я их тоже сделаю отключаемыми!
Но, блин, как один вариант перевода отбить от другого?

DOOMer 02.06.14 в 09:26 · # ·
0

Готово
http://vayurik.ru/tools/notabenoid/create_text_file.php
Убедительная просьба сообщать об обнаруженных ошибках и высказывать пожелания :)

Дальше, вероятно, перепишу скрипт импорта, чтобы он мог импортить не только целиком файлы, но и файлы с отдельными фрагментами формата:
«
http://ссылка_на_фрагмент
Тут_текст_перевода_который_нужно_добавить_к_этому_фрагменту
»

DOOMer 03.06.14 в 14:55 · # ·
0

Хмм... по моему не работает отключение имён переводчиков и оценок. Чтобы я не ставил, результат один – в файле присутствуют имена и оценки разделённые табуляцией.

DENDentar 10.08.14 в 19:26 · # ·
0

Да, что-то поломалось, может... Я, кажись, уже сохранял без этого... Гляну, ок.

DOOMer 10.08.14 в 19:57 · # ·
0

Починил :)

DOOMer 10.08.14 в 20:03 · # ·
0

Добавил ссылки на архивы с английскими/японскими текстами к игре.

DENDentar 03.07.14 в 16:09 · # ·
0

Посчитал тут на днях количество строк текста в игре, раньше не особо интересно было, а тут дернуло глянуть)
Статистика на ноте отображает бред т.к. здесь намешаны файлы из обоих версий игры.
В итоге получил довольно интересные цифры:
Оригинальное издание: 73382 строки без учёта строковых переменных и 75777 строк с учётом переменных используемых в мини-играх и т.д. Из них переведено ~37000 строк или ~48%.
Но дальше – больше.
Memorial/Perfect издание: 103325 строк без учёта строковых переменных.
Ecstasy (18+) версия: 108944 строк без учёта строковых переменных.
Таким образом, Little Busters! подтверждает звание самой длинной визуальной новеллы от Key обходя таких гигантов как Clannad и Rewrite с 102789 и ~101372 (информация взята с сайта Квентина, подтвердить или опровергнуть я её не могу так как сходу не нашёл рабочий инструментарий для разбора скриптов) строками соответственно.

DENDentar 10.08.14 в 19:23 · # ·
0
Перевод
Перевод:
текст с английского на русский
Создан:
6 января 2014, владелец: DENDentar
Скачали:
520 чел.
Права доступа:
войти все
видеть чужие версии все
скачивать результат группа
оценивать перевод все
комментировать перевод все
переводить группа
читать блог все
комментировать блог все
писать в блог все
анонсировать модераторы
редактировать оригинал модераторы
редактировать описание модераторы
управлять группой модераторы
Участие в группе после подтверждения модераторами
Готово:
71.46% КП = 1.0