Воскресенье | 09.08.2026 |13:16
Приветствую Вас Гость Мира Спайро | RSS
Модератор форума: nihonjin, aleksusklim, alteya, Томас  
Перевод Spyro 3: Взлом и программы
aleksusklimСообщение # 1 Воскресенье, 26.06.2011, 14:19
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Работа с текстовой частью перевода введётся на code.google.com/p/spyro3-rus, обсуждение перевода (а не взлома) В темеПеревод Spyro 3: Текст
В этой теме происходит обсуждение перевода, а также создание софта для потрошения игры.
Важные сообщения: Структура WAD-файлов Спец. символы и File Paint 1 | Извлечение и добавление текста | О звуке | В продолжение о звуке | Вариант перевода Buzz's Dungeon и Midday Gardens


Сообщение отредактировал aleksusklim - Среда, 29.04.2015, 19:51
 
AkaiСообщение # 121 Вторник, 20.03.2012, 17:08
Аватар Akai
|catalyst|
Герой Города
«585»
Где: Не в городе Драконов
Могу помочь с переводом тоже, если вы уже определились с какой-либо версией, типа, просто дать мне исходник текста, а перевод уж сами пихайте в игру, я вообще в это не могу, пока мне не разжевать ._.
 
Optimus97Сообщение # 122 Пятница, 23.03.2012, 15:42
Аватар Optimus97
Новорожденный Дракон
Житель Города
«108»
Где: Не в городе Драконов
Я знаю английский, тоже помог бы с переводом.
 
aleksusklimСообщение # 123 Суббота, 24.03.2012, 13:56
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Так-так… Я вдруг обнаружил ошибку. Помните мой архив:
http://klimaleksus.narod2.ru/Files/GML.rar
?

Ха! Откуда же вам помнить…
Его никто не скачал!!
Ни один…

А если и скачал, то нисколько не работал в нём.
Потому что:
Программа повреждена!
Я случайно нарушил структуру каталогов…

Теперь Game-Maker не инсталлирует ни один пакет расширения.
А учитывая то, что архив я залил уже давным-давно…

Я что, зря пишу программы!?
Если бы хоть кто-то хотел поработать с ними, он бы сразу спросил:
Почему, мол, невозможно скомпилировать мой исходник?
А я бы исправил оплошность.

Это вы так поощряете мою работу!?
Для кого я тут вообще выкладываюсь…
Спасибо конечно.
За поддержку, за понимание…
За помощь, за небезразличие…

Но ошибку я исправляю:
http://klimaleksus.narod2.ru/Files/GML-.rar
– Распакуйте в ту же папку, и всё будет ОК.

Только вот кого это волнует!?
Короче, можете продолжать ничего не скачивать…




НОРМАЛЬНЫМ: по вопросам отвечу позже.


but nobody came
 
CumHeartСообщение # 124 Воскресенье, 01.04.2012, 08:18
Аватар CumHeart
Стрекоза
Житель Города
«43»
Где: Не в городе Драконов
Все привет. Сейчас занимаюсь переводом комиксов от Shalone Howard. Разрешения она конечно мне в очередной раз не дала, но я все же их перевожу, мне оч нравится ее комикс про Спайро и их детей. Вижу тут есть только текстовый перевод. Я же занимаюсь переводом страниц и их переоформлением на русский язык. С английским проблем вроде бы нет, но все же приму посильную помощь в переводе некоторых сленговых фраз. Просто не знаю куда выкладывать уже готовые переведенные страницы. В этом помощь мне тоже требуется.

А еще я не могу постить в теме с переводом - а так бы выложил на заценку свои работы.


Сообщение отредактировал CumHeart - Воскресенье, 01.04.2012, 08:41
 
DrWhoСообщение # 125 Воскресенье, 01.04.2012, 10:31
Аватар DrWho
Мудрый Дракон
Почетный Житель
«1371»
Где: Не в городе Драконов
Quote (CumHeart)
посильную помощь в переводе некоторых сленговых фраз

В этом могу в принципе помочь, хотя через гугл транслейт можно перевести спокойно :) А так, спроси у aleksusklim, он вроде как знает сколько переводить осталось.

Не по теме:
Quote (CumHeart)
А еще я не могу постить в теме с переводом - а так бы выложил на заценку свои работы.

Набери 10 сообщений на форуме и доступ будет открыт.


 
CumHeartСообщение # 126 Воскресенье, 01.04.2012, 10:33
Аватар CumHeart
Стрекоза
Житель Города
«43»
Где: Не в городе Драконов
Ок. Спасибо. Понял.
 
DrWhoСообщение # 127 Воскресенье, 01.04.2012, 10:35
Аватар DrWho
Мудрый Дракон
Почетный Житель
«1371»
Где: Не в городе Драконов
Quote (CumHeart)
В этом помощь мне тоже требуется.

Думаю, тоже к aleksusklim обратись, хотя я думаю, что пока можно сюда кинуть.

Добавлено (01.04.2012, 10:35)
---------------------------------------------
Кстати, если надо, могу сам попробовать поучаствовать в переводе.


 
Spyro1998Сообщение # 128 Воскресенье, 01.04.2012, 16:10
Аватар Spyro1998
Яйцо
Житель Города
«53»
Где: Не в городе Драконов
Всем привет. Очень рад, что теперь появилось общее дело для любителей этой игры. Прочитав все заявки я вроде-бы неувидел ниодного, кто переведёт одну вещь. Вы переводите текст игры, но вы забыли про мультики между боссами или при освобождении героев, может я смогу перевести их, а видео с субтитрами буду кидать сюда. Как идея?

Спайро навсегда
 
DrWhoСообщение # 129 Воскресенье, 01.04.2012, 17:11
Аватар DrWho
Мудрый Дракон
Почетный Житель
«1371»
Где: Не в городе Драконов
Quote (Spyro1998)
Вы переводите текст игры, но вы забыли про мультики между боссами или при освобождении героев, может я смогу перевести их, а видео с субтитрами буду кидать сюда. Как идея?

Вполне хорошая идея.
Quote (Spyro1998)
Прочитав все заявки я вроде-бы неувидел ниодного, кто переведёт одну вещь.

Просто:
1. народ не может определиться какую версию игры переводить.
2. народу лень переводить игру.




Сообщение отредактировал DrWho - Воскресенье, 01.04.2012, 17:38
 
Spyro1998Сообщение # 130 Среда, 11.04.2012, 20:09
Аватар Spyro1998
Яйцо
Житель Города
«53»
Где: Не в городе Драконов
Да в принципе озвучку уже можно начинать, но вот только нужно, чтобы ваши голоса в точности подходили под движении рта в игре. Текст который подходит к движениям рта находится в роликах выше - я создал такой перевод какой бы потходил( а то я просто мог дословно перевести и дать вам типо " расхлёбывайте сами", но я ведь тоже учавствую в переводе, а тогда зачем я сам себе буду вредить? ).
Я создал новый почтовый ящик, на него я думаю мы будем скидывать голоса, но не забывайте подписываться!
Вот e-Mail : Spyro3.Translate@yandex.ru

Добавлено (11.04.2012, 20:09)
---------------------------------------------
Взломщики, даже не думайте взламывать, я об этом позаботился. Тем более это новый почтовый ящик созданный только для перевода!


Спайро навсегда
 
aleksusklimСообщение # 131 Суббота, 14.04.2012, 00:40
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Что за хр… Какого ч…

Так. Мой ответ здесь:
http://www.spyro-realms.com/forum/48-11436-151922-16-1334349784


but nobody came

Сообщение отредактировал aleksusklim - Суббота, 14.04.2012, 00:44
 
DrWhoСообщение # 132 Суббота, 14.04.2012, 00:44
Аватар DrWho
Мудрый Дракон
Почетный Житель
«1371»
Где: Не в городе Драконов
Извиняюсь сразу за оффтоп, тему разделили на две части: взлом (эта) и остальное http://www.spyro-realms.com/forum/48-11436-2



Сообщение отредактировал DrWho - Суббота, 14.04.2012, 00:54
 
aleksusklimСообщение # 133 Воскресенье, 15.04.2012, 13:05
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Quote
тему разделили на две части


Моё мнение? Стало хуже!!

Добавлено (15.04.2012, 13:05)
---------------------------------------------
Взлом шрифта.

В теме перевода японской версии я придумал 100%-ный алгоритм взлома любой графики в любой игре:

http://www.spyro-realms.com/forum/2-11306-151384-16-1333556799

Теперь настало время изменить наш шрифт! Давайте сперва взглянем на него в оригинале:



Разбираемся. Шрифт как бы записан в прямоугольную таблицу. Все серые знаки имеют одну палитру 16 цветов, а разноцветные кнопочки – другую. В ней используется только 4 цвета + чёрный, а остальные 11 цветов – пустуют.
Что нам нужно? Первое – перерисовать каждую букву. Формат букв – квадрат 12*9 пикселей. Вот смотрите:



Это я внедрил туда другую палитру. Она находится в полоске внизу (вернее, это не она, а просто полоска покрашена в цвета палитры). Чуть правее находится 12*9 в белой рамке, который я разрисовал этими цветами. Он характеризует одно знакоместо. Покрываю этим все буквы:



Дальше интереснее. Засовываем их в игру, сперва изменив надпись на перечисление почти всех букв через пробелы:

http://i.piccy.info/i7....nt4.png

На первый символ «Х!» не смотрите – это я так отделил начало надписи, он не совпадёт. А вот всё остальное:

http://i.piccy.info/i7....nt5.png

(там всё ровно, просто из-за такой раскраски кажется, что строки наклонные)
Анализируем эти скриншоты и понимаем, что всегда отрисовывается область 12*9.
НО! Взгляните на пробелы. Они иногда короче, иногда длиннее. Всё это надо выяснить…
Это может означать, например то, что если вместо запятой «,» использовать широкую «W», то последующий пробел можно пропустить. И ещё куча моментов, где удастся отвоевать несколько знакомест.
Что с «Й» да «Ё»? Заметили: они уже есть! Это «~» в нижнем ряду во втором столбце; и «’’» в последнем столбце предпоследнего ряда. Но как их вызвать…
А я узнал как! Это делается через собачку «@» и последующий управляющий символ. Точно не знаю, но это может быть «Е@i», «Е@d», «Е@?», «Е@a», «Е@!» – надо ещё проверять.
Но какой ценой!! Целых ТРИ знакоместа для одной буквы!
Ну уж нет… Лучше нарисуем «Ё» да «Й» сами где-нибудь на других буквах, чем так жертвовать…

Перерисуем шрифт? Сначала структура:
Каждая буква занимает неполную часть 12*9 + тень. Эта самая тень в точности копирует контуры буквы, но сдвинута на один пиксель по диагонали в нижний правый угол. Тень монотонна. А буква покрашена в диагональный серый градиент. На всё отводится 16 цветов. Притом первый – чёрный прозрачный.
Как перерисовать? Есть идея:
Белым цветом на чёрном 12*9 рисуем силуэт буквы. Так для каждого знака (даже для тех, которые не изменим – чтобы они на отличались от истинно «наших» впоследствии).
Потом копируем силуэт и сдвигаем вправо-вниз – получаем тень. Изменяем её цвет. Накладываем силуэт на заранее подготовленное поле 12*9 с уже нарисованным на нём нашим градиентом (буква будет как бы вырезана из прямоугольника, чтобы сквозь силуэт проглядывал градиент). Далее накладываем готовый знак (заполненный градиентом) на тень, получая конечный символ.
И так с каждым!

Кто этим займётся?

Мне самому, честно говоря, не очень хочется – долго.
Но я могу расписать метод ещё раз на примере нескольких букв.

TO-DO:

1) Утвердить цвета градиента.
2) Нарисовать исходный 12*9 в этих цветах.
3) Определить цвет тени (или даже два, почему нет?)
4) Придумать силуэты всех букв и знаков.

А что с цветными кнопками? Проще всего было бы оставить их как есть. Но! Вспомните кнопки Spyro1? Может нарисуем свои? Или хоть тень добавим?
Я не художник, но фантазёр. Поэтому свою задумку воплотить не смогу…
Жду кого-нибудь с хорошей фантазией и способностями к рисованию!


but nobody came

Сообщение отредактировал aleksusklim - Суббота, 14.04.2012, 01:06
 
Spyro1998Сообщение # 134 Воскресенье, 15.04.2012, 13:26
Аватар Spyro1998
Яйцо
Житель Города
«53»
Где: Не в городе Драконов
Я готов изменить шрифт ( я не первый раз этим занимаюсь). Но я не совсем понял изменение этого шрифта.
Еслим можешь опиши это подробнее на примере одной буквы!


Спайро навсегда
 
aleksusklimСообщение # 135 Воскресенье, 22.04.2012, 22:00
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Комментарий из двух частей!

Quote (Spyro1998)
( я не первый раз этим занимаюсь)


Даже так! Ну ладно, попробую объяснить способ взлома…
Но первое: я ещё не уверен во всех тонкостях, поэтому способ лишь примерный. Его надо доработать! Иначе, если бы он был мне абсолютно ясен, я бы сам нарисовал шрифт!
Второе: алгоритм взлома графики – сумма всех моих умозаключений в этой теме + ветке японского Spyro1, поэтому вы должны их прочитать, иначе не поймёте, что надо делать.



Есть поле 12х9 пикселей. Оно полностью в нашем распоряжении. Высота обычно ровно 9, но некоторые буквы (например «m» строчная и несколько длинных как «q») немного короче по высоте. Так что последнюю границу пикселей лучше не занимать.
С длиной сложнее. Она зависит от толщины заменяемой буквы. То есть «W» даст все 12, а вот «i» может и сильно стиснуть.
Но поле всегда 12х9. Делаем букву.

…Мой пример не совсем честный. Я использовал Word, рисуя в нём иллюстрирующую таблицу, вместо того, чтобы практиковаться на текстуре шрифта. Потому что нужно ещё кучу работы сделать, чтобы определить цвета градиента и заполнить ими поле.
Но даже потом – нас ждут ещё десятки проверок, по результатам которых мы приравняем каждую букву нужному знакоместу. Идеи на этот счёт:

– Цифры не трогать.
– Только верхний регистр.
– Символ «точки» и «запятой» переместить на самые широкие буквы, чтобы не ставить после них пробел.
– Создать символ «многоточие», чтобы «. . .» не занимал три байта.
– Найти два сливающихся символа и написать в них «НЕТ». Смекнули? Мы станем переводить «No» как «QW», что отобразит «НЕТ». Потому что узкое «no» встречается почти везде.
– Также и «Spyro» = «UVXYZ» = «СПАЙРО»! Только найти бы буковки правильные…
– Можно переназначить стрелочку « [ », добавить к ней тень – а то она словно невтемная…
– Перерисовать символы кнопок, но это уж потом.
– Буквы «Й» и «Ё» вывести как отдельные буквы, а не использовать диакритику.
– Можно дорисовать скобочки «(» и «)»

Объяснение концепции создания поля символов.

Имеем 12*9 пикселей и 14 цветов для разукрашивания его. Почему 14? Потому что первый – чёрный – прозрачность. Остаётся 15. Но нужна ещё тень (ведь используем её?). Так что 14. Но если будет меньше, то можно оставить экстра цвет для каких-нибудь ещё нужд или тень многотонной сделать.
Раскрасить поле можно ровно по диагонали или под наклон. Как выполнить второе я не догадался, а вот диагонально – легко:
http://Klimaleksus.narod2.ru/Files/GH/abc1.PNG
(Цвета только для примера, и каждая цифра – один цвет).
Хм.. Использовано только 10 цветов. А если чуть расточительнее:
http://Klimaleksus.narod2.ru/Files/GH/abc2.PNG
О! Уже чуть ли не перебор. Но пока пойдёт. Примерно так будет выглядеть готовое поле:
http://Klimaleksus.narod2.ru/Files/GH/abc3.PNG
Тёмные цвета, разумеется, должны быть в углу, но Word не имеет такой палитры. Но нам пока без разницы, ибо это лишь пример.

Теперь очищаем поле. Рисуем на нём одним цветом саму букву. Монотонно. А потом другим добавляем ей тень. Я сделал это сдвигом на один пиксель вниз и вправо. Ну я не знаю… Предложите что-нибудь получше, если считаете, что так не канает.
Рисуем трёхцветный макет:
http://Klimaleksus.narod2.ru/Files/GH/abc4.PNG

Это всё должно быть на настоящем bitmap на самом деле. А пока – суть вот в чём:
Делаем цвет буквы прозрачным, а тени – последним не использованным (15-тым) и накладываем его поверх нашего поле. Выходит:
http://Klimaleksus.narod2.ru/Files/GH/abc5.PNG

Похоже?
– На что!?

Теперь сами цвета. Нельзя же использовать реально белый, серый и чёрный! Взглянем на оригинальную палитру:
http://Klimaleksus.narod2.ru/Files/GH/abc6.PNG
Что тут у нас… Третий – цвет тени. Последние три цвета не используются, но свободны (возможность их применения я доказал в комментарии выше на скриншотах)
Однако наши цвета должны быть такими же, но не этими. Ну… желтоватыми! Равномерный плавный жёлто-коричнево-болотный градиент на 14 цветов.
Как? Не знаю… Можно в фотошопе задать ровный градиент от самого светлого (прямо со скриншота) до самого тёмного (но не тени и не чёрного!), а потом плавный градиент превратить в 8-битный BMP. Только с 15-ти цветной палитрой. Это легче сделать в Corel-Photo-Paint (описал в японской теме). А уж из созданных адаптированных цветов собрать поле 12*9…

Потом нарисовать все буквы, включая те, которые мы не хотим менять (и цифры!), иначе они просто испортятся при внедрении нашей палитры. Придется перерисовывать вообще всё.

И последняя часть – расположить все буквы в тайле шрифта так, чтобы они определяли нужные байты выбранным способом. По этому сопоставлению мы выведем таблицу перекодировки, которой будем шифровать все шрифты.

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

В атласе по идее есть свой другой шрифт. Я его ещё не исследовал, но думаю, что он почти такой же. Там предлагаю вывести в отдельные символы римские «I» и «II», потому что многие яйца спарены по заданиям (Скейтинг 1 / Скейтинг 2 и.т.д), чтобы номер «два» не занимал одно лишнее знакоместо.

Объёмные буквы. Пока для их взлома проделано работы – 0%. Но если мы их не взломаем, то прощай кубок за лучший перевод…
А если всё-таки хакнем, то придётся считаться с их таблицей соответствия. То есть наше сопоставление шрифта должно быть равно сопоставлению объёмных букв, потому что некоторые слова идентичны и там и тут.
Но скорее всего эти самые буквы будут гораздо сильнее привязаны к размерам (у нас 12*9, а там будет n-ное количество полигонов на символ, что свободы не прибавляет…), и придётся наверно наше сопоставление шрифта под них подгонять. Но это потом.

Всё! Приступайте к перерисовке, если поняли меня. Но у меня такое чувство, что на 100% меня понимает только nihonjin.




Взлом ДЛИНЫ текста! (да, я доковырялся и до неё…)

Ставил кучу опытов на файлах Greatest Hits (только не спрашивайте, где я их взял!). По звуку, по графике, по текстам. Сначала общие факты:
– Если в эмуляторе сохранить savestate, то она будет работать даже без диска или образа (да хоть Run BIOS), но только до тех пор, пока не произойдёт глобальная смена действия. Это например показ атласа, гибель, выход в подуровень или любой другой портал.
– Назойливая Зоя ещё как может появляться! Достаточно загрузить сохранёнку взломанной версии. А «текущие яйца» приравниваются количеству «атласных яиц» как раз про загрузке сохранёнки.
– Файл SPEECH.STR какой-то коцаный. Его просто так нельзя скопировать. Можно через WinHex>Tools>OpenDisk и дважды щёлкнуть на файле, выделить всё и сохранить. Но я не уверен, что его потом можно будет также внедрить обратно. Разве что обычным копированием как файла в CdGenPS2.
– Многие субфайлы, их части и сам SCUS_944.67 грузятся в ОЗУ прям как есть. Без изменений, без адаптации. То есть прямое изменение файла «в натуре» приведёт точно к такому же изменению оперативной памяти. А ведь там вся индексация…

Думаем дальше. Я взял уровень Spooky Swamp (потому что перевёл его) и ставил эксперименты над ним. А также над главным EXE.
Как лежат имена уровней? Null-terminated. Лады, а как используются? По-очереди? А вот фиг!
Они работают с указателем на адрес каждого вхождения. А сами строки разделены нулями – одним, двумя, тремя или четырьмя. Почему? Посмотрим:

Нули заменены решётками, строки перенесены вручную, логически. Видим, что количество знаков в любой строке кратно четырём. То есть строка «Harbor Speedway» – 15 символов. Это (4)*4-1. Поэтому имеем один нулевой разделитель. А следующая через одну «Haunted Tomb» – 12 символов. Это (4)*3. Однако ноль на конце необходим, поэтому (4)*4-4.
Зачем? Потому что система 32 бита. И 90% всех переменных – четырёхбайтные. И поэтому нужно обязательно соблюдать порядок, чтобы надпись вдруг не сдвинула все последующие данные, иначе чтение переменных или адресов пойдёт промеж настоящих квартетов. Так может сдвигать разрешено, но всегда на (4)*n?

Не-а. Хоть на 4, хоть на 16, хоть на 1024 – любой сдвиг содержимого убивает игру. Иногда не убивает, а плодит глюки: живые существа начинают бегать, падать, проходить сквозь стены и.т.д.

Но где-то же лежит адрес на строку! Как бы его найти…

Продолжение ниже


Сообщение отредактировал aleksusklim - Воскресенье, 22.04.2012, 22:24
 
Поиск:

Кто нас сегодня посетил

Для добавления необходима авторизация