По просьбам трудящихся, написал инструмент для работы с текстом в игре NES "Simpsons, The - Bart Vs. the Space Mutants".
Формат сжатия и исходники можно, как всегда, посмотреть на
github .
В релизе сам инструмент с уже вынутым скриптом. Для удобства перевода в комментариях стоят оригинальные сообщения. Удобно править в Notepad++, включив подсветку синтаксиса с#, чтобы цветом выделять комментарии. Таблицы в обычном формате Круптара.
Гривер, да тебе же цены нет! Буду дома, гляну что это за сжатие такое. Надеюсь моих мозгов хватит, чтобы всё это понять... А то парни с PSCD тоже что-то там пытались перевести, но в итоге всё на том же уровне что и у меня с той лишь разницей, что я перерисовал титульник, некоторые надписи в игре и попытался поменять палитру у Мэгги и Мардж. К слову палитра Мэгги меняется легко, а вот чтобы сделать платье у Мардж зелёным видимо не получится, т.к тогда весь фон титульного экрана озеленится за исключением области с надписью "Симпсоны".
Настоящий ас!
Перенёс тему в профильный раздел.
Спасибо, я старался
Хм... Почитал про сжатие, не совсем всё понятно, но интересно. И я снова делаю что-то не так? Утилита не запускается... У меня 7-ка стоит.
Arrogant пишет:Утилита не запускается... У меня 7-ка стоит.
Это утилита командной строки. Для распаковки скрипта
зайди в терминал , пройди в папку и выполни
bvsmGol.exe -d "Simpsons, The - Bart Vs. the Space Mutants (E) [!].nes"
Ром должен быть в папке с приложением Ошибки, если есть, появятся ниже. В папке появится файл script.txt (если ещё не было)
Чтобы вставить текст в РОМ в командной строке выполни
bvsmGol.exe -с "Simpsons, The - Bart Vs. the Space Mutants (Rus).nes"
script.txt прочитается, сожмется и вставится в указанный РОМ. Информация или ошибки появятся ниже.
Griever, сделал бы батник ему, чтобы в строку не лезть каждый раз...
Guyver пишет:Griever, сделал бы батник ему, чтобы в строку не лезть каждый раз...
OK. В
последнем релизе добавил compress.bat. Запусти его в папке с программой и РОМом.
Можно править скрипт, не закрывая консольного окна. А для вставки просто переключиться из редактора в консоль и нажать любую кнопку.
Да, теперь проще

Осталось нормально разместить в роме русский шрифт не убивая некоторые знаки. И как же все любят европейки...

Ну вот что в них хорошего?
Почему-то этот Golomb не хочет выводить у меня остальные цифры кроме 1 и 9 и некоторые знаки. Какое-то ограничение на вывод у этого сжатия?
P.S.: Грив, можно тебя попросить заточить утилитку под американку? Кстати, на эмуленде раньше ещё была ревизия рома PRG1, но из архива она куда-то волшебным образом исчезла. Где-то читал, что разрабы в этой версии исправили какой-то баг.
Arrogant пишет:Почему-то этот Golomb не хочет выводить у меня остальные цифры кроме 1 и 9 и некоторые знаки. Какое-то ограничение на вывод у этого сжатия?
В скрипте может быть максимально 43 уникальных символа. Возможно, дело не в этом. Предупереждения в консоли появлялись?
Arrogant пишет:
P.S.: Грив, можно тебя попросить заточить утилитку под американку?
Чем она лучше европейки?
А чем европейка лучше?

Европейские версии хороши только те, которые эксклюзивно выходили только в европе (Астерикс, Красавица и Чудовище и ещё несколько). Но Астерикс, например, у меня нормально не идёт даже на флеш картридже. Не знаю, глючные они какие-то... Ну это моё мнение. Разубеди меня
Griever пишет:В скрипте может быть максимально 43 уникальных символа. Возможно, дело не в этом. Предупереждения в консоли появлялись?
Да, пишет ошибку и всё. Вроде бы они все уникальные, но не хочет она запаковывать ни &, ни скобки, ни цифры (кроме 1 и 9).
Кое-что получается... Хотелось чтобы названия некоторые остались на инглише, а так придётся в транскрипции их писать.
Пытаюсь, к примеру вместо # в имени Барт вывести & вот что выскакивает:
Arrogant пишет:Пытаюсь, к примеру вместо # в имени Барт вывести & вот что выскакивает:
Дай мне таблицу.
Держи. На русский пока ничего не перерисовывал. Пытаюсь своими методами что-то сделать-разобраться. Но сам видишь, я как обезьяна с гранатой. Только метод тыка выручает.
Спойлер (Отобразить)
00=
01=!
02="
03=#
04=$
05=%
06=&
07='
08=(
09=)
0A=*
0B=+
0C=,
0D=-
0E=.
0F=/
10=0
11=1
12=2
13=3
14=4
15=5
16=6
17=7
18=8
19=9
1A=:
1B=;
1C=<
1D==
1E=>
1F=?
20=@
21=A
22=B
23=C
24=D
25=E
26=F
27=G
28=H
29=I
2A=J
2B=K
2C=L
2D=M
2E=N
2F=O
30=P
31=Q
32=R
33=S
34=T
35=U
36=V
37=W
38=X
39=Y
3A=Z
Arrogant пишет:Держи. На русский пока ничего не перерисовывал. Пытаюсь своими методами что-то сделать-разобраться
Это неполная encode.tbl
Программа ругалась на 61-ю строку. Что у тебя там?
Не совсем понимаю про эти строки. Может из-за того, что перенёс одну строку в скрипте в другое место, чтобы в конце прописать название группы? Но и до этого она ругалась на любой не выводимый знак из перечисленных мной выше (@,&,;,*, обе скобки, +, =,/, все цифры кроме 1 и 9). Была и строка 458 и 61 и ещё какие-то (уже не помню какие). То выводится сообщение, что несоответствующая буква. И как понять неполная encode.tbl? Т.е. мне в ней можно добавить свои какие-то знаки?
Arrogant пишет:А чем европейка лучше?

Ну это моё мнение. Разубеди меня

Европейская версия появилась на
10 месяцев позднее Американской.
Американская помечена как (PRG0). Полагаю, европейская и есть доработанная (PRG1).
Единственный плюс американки в чуть большей длине скрипта из-за измененной надписи
CODE: LICENSED BY\ED
NINTENDO\ED
OF AMERICA INC.\E0
Arrogant пишет:Не совсем понимаю про эти строки.
Просто дай мне архив со всеми твоими файлами. Я скажу, в чем дело.
Только сейчас твоё сообщение прочитал.

На смене сегодня, завтра закину архив со своими попытками. Возможно мне показалось, но после запаковки каких-то изменений в скрипте европейка становится ещё быстрей. Не знаю, у меня практически ко всем европейским версиям какое-то отвращение. Как к какому-то новоделу что-ли... И подозреваю, что в скрипте нужно править только одно сообщение из двух? Т.е. запаковщик будет сравнивать скрипт и запаковывать изменённые данные. Нет?
Arrogant пишет:Только сейчас твоё сообщение прочитал.

На смене сегодня, завтра закину архив со своими попытками. Возможно мне показалось, но после запаковки каких-то изменений в скрипте европейка становится ещё быстрей.
Тебе показалось.
Arrogant пишет: И подозреваю, что в скрипте нужно править только одно сообщение из двух? Т.е. запаковщик будет сравнивать скрипт и запаковывать изменённые данные. Нет?
Все, что между
будет игнорироваться. Комментарии нужны, чтобы ты мог сверяться с оригиналом при переводе.
Тьфу ты, блин! Только сейчас до меня допёрло, что я делал не так. Проверю как буду дома и думаю тогда попрёт дело
Фиг. Проверил свою мыслю, та же самая фигня

Всё как и было. Что нельзя было вывести, так и есть. Хоть правь комментарии и обычный скрипт всё вместе, хоть только обычный скрипт - сплошные ошибки и "аборты". Вывести можно только !, ", $, #, %, ', 1, 9, @. Всё остальное, что можно было бы перерисовать под русские буквы показывает большой шиш

Дальше начальных надписей-титров даже на чуть-чуть не продвигается. Пробовал править реплики мутантов - один левый знак и привет. Пробовал использовать в смехе знак дефиса, чтобы разделить на "У-ХА-ХА-ХА-ХА!" - хрен с маслом. Длину строк старался не увеличивать, а умещать в отведённое место. Чё ей надо? Может японскую версию?
Arrogant пишет:Фиг. Проверил свою мыслю, та же самая фигня

Всё как и было. Что нельзя было вывести, так и есть. Хоть правь комментарии и обычный скрипт всё вместе, хоть только обычный скрипт - сплошные ошибки и "аборты".
Ошибки тебе должны сказать, что ей надо:
Цитата:bvsmGol: charMap size 0x2F > specified 0x2B. ABORTED!
Как я указал в ридми с самого начала,
Цитата: Char map can be then 0x2E characters, but due to game's feature of screen clearing only 0x2B characters available.
Скрипт может быть составлен из набора в 0x2B разных символов. Оригинальный скрипт использует ровно 0x2B - впритык. Как только ты пытаешься написать что-нибудь в скрипте дополнительными символами, которые еще не встречались в оригинальном скрипте и при этом не убираешь из скрипта вхождения оригинальных символов, ты вылезаешь за 0x2B.
Убирай весь текст и пиши сразу теми символами, которые хочешь использовать.
Мдя... Ладно, они не вредней меня... Слушай, Грив, а если убрать ненужные цифры в картах телевизора, летающей тарелки и мутантской машины, т.е. с тех карт, скрипт которых запаковывается, освободится достаточно места и для русских и для некоторых английских букв? Ещё и место свободное останется... А вот на картах с внутриигровым текстом цифры будут. Это как-то будет влиять на сжатие?
Arrogant пишет:Слушай, Грив, а если убрать ненужные цифры в картах телевизора, летающей тарелки и мутантской машины, т.е. с тех карт, скрипт которых запаковывается, освободится достаточно места и для русских и для некоторых английских букв? Ещё и место свободное останется... А вот на картах с внутриигровым текстом цифры будут. Это как-то будет влиять на сжатие?
Нет. Все, что содержится в script.txt составлено из алфавита. Чтобы символу появиться на любом экране он должен содержаться в алфавите, а он размером 43 символа.
Вот гадство

Ладно, чё-нить придумаю...
Кое-что получается...
Для определённого экрана используется свой набор символов.