Приветики. It's been a while. Вот решил разродиться переводом Shining Force Gaiden: Final Conflict (Game Gear).
Весь перевод текста, корректуру и редактуру беру на себя :)
Нужна помощь хакера.
Уже есть следующие материалы по хакингу:
http://www.mediafire.com/download.php?httwn5lmynv
http://www.romhacking.net/docs/268/
Пример моего перевода: http://magicteam.net/forum/index.php?topic=16.msg1920#msg1920
Если кто-то захочет иметь со мной дело ( %)), просьба отписаться. Ах да, Ник вроде благословил *FRIENDS*
А для чего хакер, если всё уже расхакано? :)
В папке Tools лежат нужные файлы и программы. Например, чтобы извлечь текст, нужно положить ром с именем "fc.gg" в папку "Tools\script_dumper" и запустить "run.but". Файл tech3a_table.tbl - таблица для японского. Чтобы извлечь текст из английского рома её нужно отредактировать.
Вот пример извлечённого японского скрипта:
Цитировать[00]
...??<line>
? ???...<wait><end>
[01]
?????<line>
??????.??-??<line>
???? ??????<wait><end>
[02]
??????...<wait more><end>
[03]
<party leader>?<line>
?????? ????<line>
??????? ??????<wait><end>
[04]
??? ???...<line>
????<line>
????? ?????<wait more><end>
В папках word_count и script_inserter лежит английский скрипт.
Hatsuyuki, ты главного не сказал. С английского или японского переводить будешь?
Цитата: JurasskPark от 29 сентября 2010, 17:24:11
Hatsuyuki, ты главного не сказал. С английского или японского переводить будешь?
С японского я не буду переводить, пока у меня не будет JLPT 2 :)
Я могу, конечно, сделать это, вооружившись грамматикой и словарём, но, по моему мнению, чтобы переводить, нужно иметь то, что по-английски называется fluency.
Не исключаю возможности в будущем перевести эту же игру и напрямую с японского. К сожалению, жизненные обстоятельства опять препятствуют занятию японским. До следующего лета я продолжаю заниматься английским, а также литературоведением.
Впрочем, процитированный Джинни кусок текста вполне похож на свой перевод :-X
Цитата: Джинни от 29 сентября 2010, 08:53:11
А для чего хакер, если всё уже расхакано? :)
В папке Tools лежат нужные файлы и программы. Например, чтобы извлечь текст, нужно положить ром с именем "fc.gg" в папку "Toolsscript_dumper" и запустить "run.but". Файл tech3a_table.tbl - таблица для японского. Чтобы извлечь текст из английского рома её нужно отредактировать.
Вот пример извлечённого японского скрипта:
Цитировать[00]
...??<line>
? ???...<wait><end>
[01]
?????<line>
??????.??-??<line>
???? ??????<wait><end>
[02]
??????...<wait more><end>
[03]
<party leader>?<line>
?????? ????<line>
??????? ??????<wait><end>
[04]
??? ???...<line>
????<line>
????? ?????<wait more><end>
В папках word_count и script_inserter лежит английский скрипт.
Честно говоря, во все папки я не заглянул :-[
Ну, шрифты рисовать и подменять я тоже не умею. Под хакингом я подразумевал всё, что не связано непосредственно с переводом *NYAM*
Займусь-ка я full_class_names.txt и tech1d_lists.txt.
Добавлено позже.
А что, кстати, обычно делают со спряжением и склонением в генерируемых сообщениях?
Оставляют "Джулия нашёл лечебная трава"? :-|
"Найдена лечебная трава".
Или "Джулия: найдена лечебная трава". Как-то так.
О, отлично. Ещё бы Джинн накропал проектик для Круптара... Кстати шрифт там очень маленький, его крайне неудобно перерисовывать.
Цитата: PicaSSO от 01 октября 2010, 00:24:45
"Найдена лечебная трава".
Или "Джулия: найдена лечебная трава". Как-то так.
Ясно. Но "найдена" тоже ведь зависит от "лечебной травы". Если сделать так, то в другом случае получится "найдена средний меч".
Вариант: "Найдено: лечебная трава".
Ну, если надо подстраиваться, будем подстраиваться.
Я-то думал, что, может, нужно таблицу окончаний какую замутить %)
Добавлено позже.
Если кому интересно, то черновой вариант русского имени персонажа Odd Eye -- Дивоокий. Возмущайтесь :)
Цитата: Hatsuyuki от 01 октября 2010, 03:38:40Если кому интересно, то черновой вариант русского имени персонажа Odd Eye -- Дивоокий. Возмущайтесь :)
Неохота. :)
Цитата: &ryu от 01 октября 2010, 09:46:38О, отлично. Ещё бы Джинн накропал проектик для Круптара... Кстати шрифт там очень маленький, его крайне неудобно перерисовывать.
Не нужен там никакой проектик.
Цитата: Hatsuyuki от 30 сентября 2010, 04:36:31А что, кстати, обычно делают со спряжением и склонением в генерируемых сообщениях?
Оставляют "Джулия нашёл лечебная трава"? В замешательстве
Обычно используют всякие нейтральные конструкции. Например: "Здесь лечебная трава. Джулия берёт себе."
Цитата: Джинни от 01 октября 2010, 15:05:25Не нужен там никакой проектик.
Влом плагин писать? Впрочем, там действительно всё есть.
Цитата: Hatsuyuki от 01 октября 2010, 10:38:40Если кому интересно, то черновой вариант русского имени персонажа Odd Eye -- Дивоокий. Возмущайтесь
Возмущаюсь.
Цитата: &ryu от 01 октября 2010, 16:37:29Влом плагин писать? Впрочем, там действительно всё есть.
Это то же самое, что заново переписывать всё, что и так уже написано. Я лучше потрачу это время на написание других программ.
Новый тизер. На этот раз порадую скриншотиком текстового редактора во вложении. Старожилы могут не радоваться :)
$,~ -- артикли
@ -- перенос на новую строку
% -- знак переноса + переход на новую строку (?)
Название должно умещаться в 8+7 позиций.
Молодец. Только тут пасхалка спрятана.
В файле tech1d_list_ru.txt у тебя английский текст, а в tech1d_list.txt наоборот русский.
Как говорит наш шеф "Детям мороженое, а бабе цветы. Смотри не перепутай!". :D
Спасибо за предупреждение :)
После отправки поста я тоже заметил, что у меня файлы перепутаны, но исправлять было лень. Заодно проверка на внимательность для разглядывающих. Выявили незамедлительно :)
Hatsuyuki, как будем ХаосБрейкер именовать? Предлагаю решить окончательно раз и навсегда.
А так очень даже хорошо - когда закончишь переводить предметы, то, надеюсь, поделишься?
Цитата: &ryu от 02 октября 2010, 01:28:45
Hatsuyuki, как будем ХаосБрейкер именовать? Предлагаю решить окончательно раз и навсегда.
А так очень даже хорошо - когда закончишь переводить предметы, то, надеюсь, поделишься?
Ой, ну вы меня прямо засмущали похвалами :-[
Сам я ничего гениального в переводе предметов не вижу. Зато чувствую вашу поддержку. Спасибо :)
Текстовый файл с предметами, магией, именами выложу по завершении его перевода.
По поводу Хаосбрейкера... Не знаю. Свой вариант навязывать никому не хочу, но и отдаться моментально "Губителю Хаоса" было бы слишком уступчиво для меня, не правда ли? :P
Одно могу сказать точно: "Хаос Брейкер" и "ХаосБрейкер" выглядят странно с точки зрения грамматики или орфографии. Как истолковать синтаксическую связь слов в словосочетании "Хаос Брейкер"? Определение и определяемое? Заглавная буква в середине слова выглядит также довольно странно.
Здесь ещё, думаю, уместно процитировать Розенталя:
Цитата: http://www.evartist.narod.ru/text1/30.htm#%D0%B7_03Примечание 1. При колебаниях между дефисным и слитным написанием слов иноязычного происхождения предпочитается второе, если в русском языке в слове не выделяются составные части с присущим им значением, например: блиц-криг – блицкриг, ватер-машина – ватермашина, ватер-поло – ватерполо, гумми-арабик – гуммиарабик, метрд'о-тель – метрдотель, табльд'от – табльдот. Ср. также: крепдешин, файдешин, фильдекос, фильдеперс (в словах не выделяются две составные части с французским предлогом между ними) — креп-жоржет, креп-марокен, креп-сатин, креп-шифон. Или слитное написание склоняемых слов падеграс, падекатр, падепатинер, падеспань и дефисное написание несклоняемых слов той же семантической группы па-де-де, па-де-труа.
Так как в русском языке слово "брейкер" отсутствует (в значении, не связанном с танцем), то дефисное написание вида "Хаос-брейкер" тоже следует, по моему мнению, отвергнуть. Вот какой-нибудь "хаос-контроль" (одно из ключевых понятий вселенной Соника) следовало бы писать через дефис.
Таким образом, по моему мнению, если придерживаться транскрипции, то единственно верное написание -- "Хаосбрейкер". Что касается проблемы "транскрипция VS перевод", то этот вопрос остаётся дискуссионным :)
О "Губителе Хаоса". В слове "губитель" уже содержится какая-то отрицательная коннотация, ИМХО. Губит обычно коварный злодей. Если не согласны, приведите пример художественного текста без отрицательной коннотации. "Губитель" в текстах: http://www.google.com/search?hl=&q=site%3Adlib.eastview.com+%D0%B3%D1%83%D0%B1%D0%B8%D1%82%D0%B5%D0%BB%D1%8C&sourceid=navclient-ff&rlz=1B3GGGL_enRU318RU318&ie=UTF-8 -- не нашёл здесь ни одного неотрицательного употребления.
Есть ныне забытое слово "рушитель". Вот оно, как я вижу, употребляется по отношению к героям, воспринимаемым положительно или нейтрально. "Рушитель" в текстах: http://www.google.com/search?hl=&q=site%3Adlib.eastview.com+%D1%80%D1%83%D1%88%D0%B8%D1%82%D0%B5%D0%BB%D1%8C&sourceid=navclient-ff&rlz=1B3GGGL_enRU318RU318&ie=UTF-8
ЦитироватьИ сильный Персов победитель,
Держав обширнейших рушитель,
Страшился в Скифский край войти...
ЦитироватьГде Кульнев наш, рушитель сил,
Свирепый пламень брани?
Он пал, главу на щит склонил,
И стиснул меч во длани
ЦитироватьПал преступный град Приама,
Покрывает Трою прах,
И рушители Пергама
На победных кораблях
С их корыстию высокой
Ликовали по брегам,
И сбирались в путь далекой
К светлым Греческим холмам.
Могу отказаться от "Хаосбрейкера" и попробовать сторговаться на "Рушителе Хаоса" ::)
Добавлено позже.
Также надо сразу решить, как писать слово "хаос": с большой буквы или с маленькой. По-моему, с маленькой: "Рушитель хаоса".
"Меч
тьмы" я записал подобным образом, и возражений, как я понимаю, это не вызвало.
Добавлено позже.
Сенсация: Ruburan оказался нераспознанным Лебланом (Leblanc) -- франкофилы в экстазе :o :o :o
Рушитель хаоса - классно :)
Крушитель хаоса - ещё лучше. %)
"Рушитель хаоса" действительно неплохо звучит, но:
1. Мне его придётся записывать как "РушительХаоса" (почему с большой буквы, надеюсь, понятно), и даже при этом я не уверен, что это влезет.
2. Не представляю как хаос (как эфемерное понятие) можно рушить или губить. В оригинале имеется в виду что-то вроде "прерывания".
Антихаос :)
CC/ОП
??????????????
??????
Цитата: Джинни от 03 октября 2010, 14:28:54
Антихаос :)
Дехаотизатор %)
Хаосбрейкер будет, раз нет согласия...
BTW, Леблан -> Лебрен. Звучит, по-моему, лучше, а в Рубурана превращаются оба.
Рушитель хаоса мне нравится.
Цитата: &ryu от 03 октября 2010, 22:03:52Мне его придётся записывать как "РушительХаоса" (почему с большой буквы, надеюсь, понятно)
А этого можно избежать, добавив в шрифт символы "ь" с небольшим пробелом справа и "х" с небольшим пробелом слева. Будет искусственный пробел.
Цитата: Hatsuyuki от 04 октября 2010, 06:39:33Дехаотизатор
О, классно, мне нравится.
Цитата: Джинни от 04 октября 2010, 14:51:55А этого можно избежать, добавив в шрифт символы "ь" с небольшим пробелом справа и "х" с небольшим пробелом слева. Будет искусственный пробел.
Если 13 символов влезет, то будет Рушитель.
Перевод продолжается. Придумал, как мне кажется, замечательную вещь. Интересно ваше мнение.
Думаю существительное birdman перевести как орнитантроп. По аналогии с wolfman -- ликантроп.
??????????? <- ????? wolf + ???????? man
????????????? <- ????? bird + ???????? man
Что думаете? :)
P.S. За идеальность древнегреческого не ручаюсь :P
"Как ты это делаешь, Демон?! O_o"
Спойлер
В рот мне ноги! Он скукожил мой браузер! :o
Какая-то реакция у вас странная. :)
Цитата: JurasskPark от 10 октября 2010, 14:48:29
Он скукожил мой браузер! :o
Le coup de gr?ce: выяснилось, что ?????? и ?????? суть два
разных имени, поэтому Mishaela остаётся Мишаэлой (http://www.youtube.com/watch?v=lbPztdl7jLo), а не Мишель или Микаэлой.
Прикладываю скриншотик перевода диалогов. Как переводить магию, я ещё не решил, поэтому пугаться слова "огнь" раньше времени не надо. А вот общий стиль будет примерно таким.
ЦитироватьВремя прикончить меня...
А почему не "Пора прикончить"? :)
Цитировать[AD]Ололо!
;D
Хмммм... Я рад, что наконец разрешились "споры" на счёт Мишаэлы... Но "Люнкс"? И "Сияющая сила"...
Добавлено позже.
Срочно начинай изыскания по поводу перевода словосочетания "Shining Force". "Сияющая Сила" - ацтой!
сияющий отряд?:)
:o
(http://rghost.ru/2885637/thumb.png) (http://rghost.ru/2885637.view)
Цитата: Джинни от 11 октября 2010, 08:36:08
ЦитироватьВремя прикончить меня...
А почему не "Пора прикончить"? :)
Синонимы же *SCRATCH*
Цитата: &ryu от 11 октября 2010, 13:32:43
Срочно начинай изыскания по поводу перевода словосочетания "Shining Force". "Сияющая Сила" - ацтой!
Глянул это (http://shedevr.org.ru/forum/viewtopic.php?t=618) -- не надо смешивать название предмета (Сияющая Сила), выделяющее его из других подобных, и сам предмет (отряд, войско or whatever).
Да я уже готов и на "Сияющую Силу" и на "Сияющий отряд" согласиться. Какая-то апатия на меня напала. Да и та же мысль вчера проскочила в голове, что ты уже озвучил.
Но в глубине души я никак не могу согласиться на перевод слова "force" как "сила" в данном контексте. Для меня хуже этого только "отряд". Но это в глубине души.
Не знаю как вы, а я перевёл как "Воины Света". ::)
Охо.... 0_0 Сам Хацуюки-сама взялся за перевод шайнинга, и это не может не радовать. :) Hatsuyuki, огромнеший респект тебе, а также удачи в начинании. :)
Гы... Скоро за Hatsuyuki придут на форум поклонники Shining Force. Главное, чтобы среди них не было поклонника aka Dzhon. ;D
AHIL, спасибо.
JurasskPark, поклонники в определённых дозах -- эт хорошо: появляется желание оторвать в очередной раз задницу и перевести ещё кусочек текста. А то среди заинтересованных лиц, как я понимаю, были только &ryu и Nick до этого момента. Я имею в виду не просто людей, которые с радостью и интересом воспримут новый перевод, а тех, для кого эта игра -- нечто большее, чем одна из многих :)
Не могу удержаться от того чтобы не спросить: Hatsuyuki, ну что, как там дела с переводом, было время и желание переводить? :)
Добавлено позже.
Цитата: &ryuСрочно начинай изыскания по
поводу перевода
словосочетания "Shining Force".
"Сияющая Сила" - ацтой!
Гы... Светлые мощи %)
Светлые силы! :D
Цитата: AHIL от 07 ноября 2010, 00:55:03
Не могу удержаться от того чтобы не спросить: Hatsuyuki, ну что, как там дела с переводом, было время и желание переводить? :)
Честно говоря, я сейчас занят секретным проектом, не связанным с играми :)
Дедлайн -- в этом месяце, так что с конца ноября вернусь к переводу гайдена. Может быть :P
Упомянутый секретный проект завершён :)
И что, даже после этого он всё ещё секретный?
А деньги когда заплатят? И какой процент от выручки?
Цитата: Guyver от 19 ноября 2010, 19:06:06
И что, даже после этого он всё ещё секретный?
Угу :)
Цитата: JurasskPark от 19 ноября 2010, 20:05:52
А деньги когда заплатят? И какой процент от выручки?
Я всегда думал, что ИЛИ процент, ИЛИ единовременная выплата :)
А может и то, и другое. :)
Допустим, проект 1000000 руб., ты получаешь от него 5% = 50000 руб, а может они заплатят 1500000 руб и 5% уже = 75000 руб.
Hatsuyuki, даёш перевод Шайнинга к Новому Году! :D
Ага, жди, он за перевод даже не брался :D
Цитата: Hatsuyuki от 17 октября 2010, 04:43:59
поклонники в определённых дозах -- эт хорошо: появляется желание оторвать в очередной раз задницу и перевести ещё кусочек текста.
Коли так вопрос поставлен - я жду игру, я поклонник, как доказательство пройденные Shining in the Darkness, Shining force, Shining force 2, Shining force CD (каюсь, третью не осилил, политики много, а учитывая общую сюжетную линию всех трёх эпизодов - опасаюсь что моего английского не хватит =( ), понимаю что утешение малое, но хотя бы задумайся об отрыве попы ;)
P.S. Некстати, кто-бы Langrisser'ы бы попереводил, Der Langrisser например ::)
Прежде всего, дорогие мои, прошу заметить, что ни один хакер пока не изъявил желание помогать даже после перевода скрипта. Перевести-то скрипт я переведу, коли обещал. А вот хакинг и перерисовку шрифтов я не помню, когда обещал делать. Если никто не захочет этим заниматься после перевода скрипта, я отдам его фанатам после того, как они найдут хакера ;)
Что касается Der Langrisser, то он сложен как с точки зрения объёма текста, так и с точки зрения хакинга. Инфа 100% ;D
А ты думаешь, что тебе не помогут с хакингом если будет готовый перевод? *бугагашеньки*
Цитата: Hatsuyuki от 13 декабря 2010, 19:41:30
Прежде всего, дорогие мои, прошу заметить, что ни один хакер пока не изъявил желание помогать даже после перевода скрипта. Перевести-то скрипт я переведу, коли обещал. А вот хакинг и перерисовку шрифтов я не помню, когда обещал делать. Если никто не захочет этим заниматься после перевода скрипта, я отдам его фанатам после того, как они найдут хакера ;)
Тёмный лес, технический кретинизм, так что почти ничего не понимау)
ЦитироватьЧто касается Der Langrisser, то он сложен как с точки зрения объёма текста, так и с точки зрения хакинга. Инфа 100% ;D
Да уж догадываюсь) Но вышеупомянутый кретинизм и оптимизм, свой голос решили подать ;)
Цитата: JurasskPark от 13 декабря 2010, 20:22:35
А ты думаешь, что тебе не помогут с хакингом если будет готовый перевод? *бугагашеньки*
В душе надеюсь на прагматизм (http://feb-web.ru/feb/mas/mas-abc/16/ma335603.htm?cmd=2&istext=1) (группы, на сайте которой будет размещён перевод) :)
Я готов помочь, но на мне еще splatterhouse 3 висит, там в принципе ничего сложного не осталось, найти таблицу, поправить её и можно запихивать игру,поинтеры все найдены,так что дело только за таблицой, пока))) если других подводных камней не вылезет)))
В данный момент мне хотелось бы знать, в каком формате нужно записывать фразы. Вот сейчас я вписываю русские фразы на место английских. И всё. А если это потом не подойдёт? Я весь текст переписывать вряд ли захочу потом %)
Вот успокойте меня по этому поводу, кто-нибудь ::)
Цитата: Hatsuyuki от 19 декабря 2010, 01:54:52А если это потом не подойдёт? Я весь текст переписывать вряд ли захочу потом
Не весь, но часть переписывать наверняка придётся. Лучше всего переводить одновременно с проверкой отображения переведённого текста на экране, тогда переписывать придётся значительно меньше.
Переписывать придётся, потому что на экран перевод может не влезть. Ещё разрывы строк надо расставлять, если игра этого не делает автоматически.
Джинни, я думал, с материалами, выложенными в начале темы, все ознакомились. Даже после их просмотра нельзя предугадать, автоматически ли игра расставляет разрывы строк? *F_SCEPTIC*
Ну видно, что не автоматически, раз там <line> в конце каждой строки. В чём вопрос? :)
Даже если игра умеет автоматом переносить лишние слова, это не спасёт от проверки отображения текста на экране. Пара примеров того, как текст может вылезать за экран даже при автоматическом переносе:
1. Текст растянулся на 4 строчки вместо трёх положенных, из-за чего часть текста не отобразится или вылезет за экран.
2. В скрипте присутствуют разрывы строк, всего строк три, но одна из строчек превышает допустимую длину. Игрушка разделит такую строку на две и одна из строк в итоге окажется "за кадром".
Цитата: Джинни от 20 декабря 2010, 07:53:17
В чём вопрос? :)
Вопрос в том, зачем описывать "если" :)
Чтобы понятно было, почему приходится переписывать. :)
Добавлено позже:
Я же не спрашиваю, расставляет ли она. А просто описываю условие. :)
Не спрашиваешь, но даёшь повод усомниться в определённости :)
Ну а как ещё описать то, что нужно расставлять переносы, если игра их сама не расставляет? :)
"Нужно расставлять переносы, ПОТОМУ ЧТО игра их сама не расставляет" ::)
То было не конкретное описание, а общее. :)
А почему это вы с TrickZter в теме конкретной направленности общие описания делаете? :P
На всякий случай. ;D
Ясно ::)
Знаете, вы страшные люди...
Я четыре раза перечитывал все посты с 3 страницы, но нити повествования так и не уловил...
сорри за оффтоп. Я тут, как вы заметили, периодически повляюсь, чтобы всех довести до белого каления...
Цитата: hircine от 24 декабря 2010, 19:13:13Знаете, вы страшные люди...
Я четыре раза перечитывал все посты с 3 страницы, но нити повествования так и не уловил...
Перевожу на простой язык.
- Hatsuyuki спросил, как успехи с переводом. Он ответил, что пока занимается конкурсным переводом и думает победить.
- Потом он спросил, помогут ли ему вставить переведенный текст, а то он переводит, а хакингом никто не занимается.
- Потом он спросил, в какой формате записывать фразы, так как его мучают сомнения по поводу того, что он фразы вписывает на тоже место. На что ему ответили, что придется всё редактировать, так как длина слов в английской и русской версии в одной строчке разное и игра возможно не переносит слова автоматом, а они будут выходить за предел экрана.
Всё понятно?
На последних страницах ничего интересного всё равно нет :)
Я тут подумал: раз хакать всё равно пока никто не собирается, а текст переписывать придётся, то я, пожалуй, переведу все сюжетные диалоги в хронологическом порядке и выпущу отдельно в виде PDF. Потом, если кто-то после этого зашевелится, последует перевод сообщений типа "X получил Y повреждений" и переписывание уже выпущенного скрипта в нужном формате. А те, кому интересен только сюжет, смогут прочитать это в удобном формате, не переигрывая ::)
P.S. Если кто не знает, то в гайденах бегать по городам не надо, а диалоги идут в начале и в конце битвы (это чем-то напоминает Лангриссер), поэтому скрипт можно читать подряд.
А что там хакать то? У тебя ж все тулзы есть.
Да, уже вроде обсуждали это. :)
Они под английский заточены. Например, там при сжатии используется тот факт, что в английском нет развитой системы окончаний и многие слова просто повторяются (часть 'word_count'). И эта часть придумана не для красоты, а из-за необходимости, как я понял.
Добавлено позже:
Ещё цитаты (tech9c.txt):
ЦитироватьFirst comes the font. Do note that you are restricted to the visible tiles
and a few extra. A total of $00-$56.
Find 'sf3_font.bin' for the data. When done, copy it to 'Tools\rom_insert'.
If you need more than $57 tiles, a modification of the script6-1 overage check
in 'script_inserter', 'huffman.cpp' is needed. You will have to manually update
the starting locations of the empty space in the font table.
Edit: Because the script compresses better, the limit is now redirected to $60.
So this step is not required. If you need more space, then you can lower
the # tiles used.
If you need more than $60 tiles, then this will take some more work. You
will have to delve into Chapter 3 and modify any substring ranges. There's
plenty of code here to change (t7a.asm, t3d_2.asm, substring_formatter, and others).
Сколько понадобится для русского? :)
ЦитироватьIf you run of out script space, then you'll need to expand the # pages from 12 to (*).
Again, finding the space may prove difficult as the ROM doesn't allow much more
without a serious recompression of the graphics.
Если бы всё было так просто, я бы и без вас всё сделал, уж поверьте :)
Цитата: Hatsuyuki от 26 декабря 2010, 20:07:10Они под английский заточены. Например, там при сжатии используется тот факт, что в английском нет развитой системы окончаний и многие слова просто повторяются (часть 'word_count'). И эта часть придумана не для красоты, а из-за необходимости, как я понял.
Это называется МТЕ. И используется для сжатия текста. Русский текст тоже поддаётся сжатию таким образом.
$57 - это 87 символов. То есть должно хватить. Английские можно только заглавные оставить. И не делать копии похожих (например, таких как кириллическая А и латинская A).
Да и в русском шрифте можно повыкидывать лишние буквы. В большинстве случаев буквы ЪЫЬ не нужны.
Добавлено позже:
В итоге получается:
весь набор A-Z - 26 букв
БГДЁЖЗИЙЛПУФЦЧШЩЭЮЯ - 19 букв
весь набор а-я - 33 буквы
. , ! ? : ; ( ) " - 9 символов
Итого: 87
Не влез только апостроф, но без него можно обойтись. Или же можно выкинуть точку с запятой (не самый нужный символ) и оставить апостроф. Ещё, как вариант, можно унифицировать У и Y.
Дефиса/тире не хватает. Скобки редко используются в диалогах. Если вообще используются
Да, забыл. %) Тогда или скобки убрать, или отказаться от точки с запятой и апострофа.
Цитата: Джинни от 26 декабря 2010, 13:35:29Это называется МТЕ. И используется для сжатия текста. Русский текст тоже поддаётся сжатию таким образом.
Результаты исследований по эффективности ты тоже, конечно, предъявишь? Я и не говорил, что принципиально нельзя это использовать. Я говорил про эффективность применения данного метода для русских текстов и для английских :)
Видео и звук в распространённых форматах тоже можно дополнительно пожать обычным архиватором (поубивал бы) LOL
Цитата: Hatsuyuki от 26 декабря 2010, 22:31:40Результаты исследований по эффективности ты тоже, конечно, предъявишь? Я и не говорил, что принципиально нельзя это использовать. Я говорил про эффективность применения данного метода для русских текстов и для английских Улыбка
Эффективность нормальная. Не намного хуже, чем с английским текстом. Просто слова в таблицу следует записывать без окончаний.
Насколько я понял, словарь там генерится автоматом. Правда, не уверен, умеет ли прога генерить словарь из частей слова. Куски с апострофами там есть, но это ещё не показатель.
Добавлено позже:
Хе, у них в словаре два одно-буквенных слова. Это говорит о том, что словарь оптимизирован далеко не лучшим образом.
Если переделать процедуру на поиск произвольных текстовых фрагментов, включая пробелы и знаки препинания, то сжатие может получиться даже лучше, чем у англов.
Сразу говорю: я в си не шарю, так что вопрос не ко мне :)
И я не шарю.
Качай архив.
Вообще так-то написать такую прогу с нуля - дело получаса. Когда я делал подобную штуку для FF6, у меня примерно столько времени и ушло :) Правда, там не MTE, а DTE был, но смысл тот же.
Там дальше ещё сжатие по Хаффману идёт. Вы уверены, что вот эта ваша модификация действительно улучшит процесс в целом? :)
Цитата: tech3c.txt
The unused font numbers will be assigned to the most common words. So let's say
$C0 = "to". $C1 = "you". $C2 = "the".
That also means that
$B0 = " to", $C1 = " you", $C2 = " the"
are very likely to occur. But we have to be considerate of how Huffman works.
Going from [A-Z,a-z] -> [A-Z,a-z,{codes}] will cause our tree sizes to expand
sharply. But if we do
$D0B0 = " to", $D0C1 = " you", $C2 = " the"
then we only go [A-Z,a-z] -> [A-Z,a-z,$D0] which will curb the symbol population.
[$D0] -> [{codes}] which will result in decently sized codewords.
While the first approach will generate a smaller file, our tree space will be
absorbed. The second method uses the clean memory more efficiently. Why should
we do this?
Admittedly the first one would suit us fine if we had large volumes of space.
We're tight on it. But we can defrag the unused tree area and copy over some
of our binary data.
Based on the 16 most common substrings:
(1)
$48B free bytes
Total size: 26.64 KB
WARNING: Overage of 0.64 KB
$1FF free bytes after defrag
(2)
$6F2 free bytes [tree area]
Total size: 27.05 KB
WARNING: Overage of 1.05 KB
$2BA free bytes after defrag
Я уже давно забыл, как работает Хаффман, но тут вроде обосновывается их подход :)
Сжатие хаффман+мте - тоже хорошо.
Цитата: Hatsuyuki от 26 декабря 2010, 21:20:42Вы уверены, что вот эта ваша модификация действительно улучшит процесс в целом?
Абсолютно.
MTE - это запись нескольких байт при помощи одного байта (бывает и больше, но обычно используется один). Чем длиннее слово и чем чаще оно встречается, тем больше эффект от сжатия. Тот, кто переводил на английский, очевидно рассчитывал только из частоты повторения, совершенно не учитывая длину слова.
Какой смысл заносить слово, состоящее из одного символа в словарь? Никакого. Как оно раньше занимало 1 байт, так оно его и занимает - 0% сжатия, при этом расходуется одно место в словаре.
Ценность слова посчитать довольно просто: нужно вычесть из длины слова размер MTE и умножить результат на количество повторений слова.
Допустим, имеем слово, состоящее из 5 букв и встречающееся 100 раз, MTE будем считать однобайтовым, получаем:
(5-1)*100 = 400 (экономим 400 байт)
А теперь посчитаем ценность 1-символьного слова, которое, допустим, встречается 1000000 раз:
(1-1)*1000000 = 0 (экономим 0 байт)
Хорошо оптимизированный MTE в любом случае лучше будет сжиматься, чем плохо оптимизированный.
Добавлено позже:
Цитата: Джинни от 26 декабря 2010, 21:30:37Сжатие хаффман+мте - тоже хорошо.
Именно. В GBAшных игрушках часто используются сразу два метода хаффман+LZ77, вместе они дают большее сжатие, чем просто хаффман или просто LZ77.
В любом случае замеры интересно будет посмотреть :)
Где новости о переводе?
Там же, где шрифты и прочее, видимо :)
Не понял... *SCRATCH*
Цитата: JurasskPark от 13 февраля 2011, 17:38:54
Не понял... *SCRATCH*
Думаю, можно читать так: "За перевод даже не брался."
Началась старая песня :)