Четверг | 21.11.2024 |13:30
Приветствую Вас Гость Мира Спайро | 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
 
SerlutinСообщение # 16 Понедельник, 04.07.2011, 03:21
Аватар Serlutin
Взрослый Дракон
Летописец
«2337»
Где: Не в городе Драконов
Quote (aleksusklim)
И скиньте кто-нибудь список файлов из корневого каталога Greatest Hits!

Папка СRASHBSH
3MN_BLNK.DAT 31008 KB
SCUS_994.67 372 KB файл идентификатор, который говорит приставке, что же это за игра
SPEECH.STR 310286 KB - озвучка
SYSTEM.CNF 68 байт
WAD.WAD 162528 KB
aleksusklim, я пробовал твой распаковщик нa GH версии. Только вот в субфайлах чистого английского текста я не нашёл. Есть подозрение, что там используется какая-то специальная внутриигровая кодировка, которую обычные редакторы не поддерживают. Залил первые 15 субфайлов в архив - http://rghost.ru/13381371 - вдруг поможет разобраться.

Мне кажется, что лучше потрошить GH версию, так как там кажется вообще нет защиты, хотя возможно я ошибаюсь.
В общем напряги высокоскоростных друзей, ведь нужно скачать всего 357 мегабайт.
 
MrModezСообщение # 17 Вторник, 05.07.2011, 13:09
Аватар MrModez
Дракон Подросток
Житель Города
«611»
Где: Не в городе Драконов
Quote (aleksusklim)
О каком «SCUS» идёт речь? Расширение, размер и скриншот первой страницы файла из WinHex, пожалуйста!

Я о файле "SCUS_944.67" там меняется часть текста.
Я изменил текст:
http://radikal.ua/data/upload/ba193/4efc3/fbf66759a7.jpg
http://radikal.ua/data/upload/04012/4fa6c/e8c2427883.jpg
http://radikal.ua/data/upload/4fa6c/69fda/21a8cd5fe6.jpg
http://radikal.ua/data/upload/0fccf/4fa6c/ce0e9a043a.jpg

Вот видео: (сорри за качество, я щас как раз на старом компе :( )
[video]http://www.youtube.com/watch?v=OYjrHBvjt9c


I'm MrModez
Мои новые треки в стиле Спайро:
Desolate Forest Skate Park - Spyro Custom Track
Lofty Farms - Spyro Custom Track
Gleaming Coast - Spyro Custom Track


Сообщение отредактировал MrModez - Вторник, 05.07.2011, 13:31
 
aleksusklimСообщение # 18 Воскресенье, 10.07.2011, 17:04
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Ах, да. Я забыл добавить в лингвистический отряд ещё и актёров! Они обязательно понадобятся, но чуть позже.

Quote (Elly)
Насчет голоса... Он у меня слишком детский и я Р не выговариваю)

Просто замечательно! Именно вы сможете озвучить картавящую Грету с Фабрики Фейерверков!

Quote (MrModez)
Я паскаль знаю

[ – «Паскаль!? Мы используем это! Линда лутра-лутра, записала?» ; – «Есть!» ] (Шутка!)

Quote (Спарвьеро)
Я так понял, исходный вариант текста извлечен еще не весь?

Ну я его не извлекал. Текст легко можно вытащить так: Указать в WinHex «Оpen folder» на папку со всеми субфайлами, сделанными моим WAD – 1паковщиком. Есть опция «must contain specified text» – там ввести любое слово из уровня и она выдаст весь файл.

Вот что нужно ещё взломать. Объёмные буквы на надписях порталов! Которые ещё образуют финальные титры. Мы их либо сможем изменить, либо нет. Это 3D сетчатый объект, поэтому его нельзя увидеть ни как текст, ни как картинку. Но я, кажется, придумал, как их найти. Ведь если в каждом уровне есть ВСЕ необходимые ресурсы, то и эти буковки также должны быть. И везде одни и те же! Нужно найти или написать программу, которая будет сравнивать два файла таким образом, чтобы найти энное количество идентичных байт. Программисты – задание вам!

А те текстурные страницы я попробовал изменить! Предположив, что игре абсолютно всё равно, что на них изображено, я попробовал заменить страницу уровня Берега Ракушек (большого уровня) напрямую (через запись в WAD) аналогичной (но очень непохожей) текстурной страницей маленького уровня Расплавленного Кратера. И, естественно, графика сильно видоизменилась:

Однако не только текстуры перевернулись! Все игровые ЗВУКИ оказались не на своих местах! При заходе в воду или выскакивании из неё был звук получения skill point и жизни. Носороги бились об рога Спайро со звуком металлических кувшинов, а некоторые ворчали «Эй!» голосом «кричащего идола из норки Тики»! Общая же звуковая обстановка была тихой. Но текстуры на самом дракончике не изменились. Возможно потому, что файл тайловых текстур Расплавленного Кратера немного меньше соответственного из Берега Ракушек, и это значит, что информация из самого конца файла осталась оригинальная. Но есть и другое объяснение. Текстовый шрифт же всегда на одном и том же месте? Может и драконова чешуя всегда расположена одинаково? Я хотел и хочу создать программу, которая сможет выделить из одного рисунка все части, которые идентичны у другого рисунка относительно того пикселя, на который укажет пользователь. Сперва начал на паскале, с использование рекурсивного алгоритма. Но VCL стал выдавать внутреннее исключение ещё до того, как рекурсия началась… Ему не понравилось, когда я захотел скопировать цвет каждого пикселя изображения в двумерный массив. Ошибка очень странная, просто тупость какая-то! Может, смогу на GML, но скорость обработки графики там на порядок ниже.
Общий результат моей перестановки текстур такой:
– Файл изображения неиндексированный, значит, можно вносить туда любые изменения без риска для игры.
– Цветовая кодировка разных текстур разная.
– На отдалении текстуры не просто теряют в качестве, а полностью заменяются на другие тайлы меньшего размера.
– Помимо картинок, в нём хранятся зашифрованные звуки.
Если мы захотим и некоторые звуки изменить (например, чтобы Профессор вместо «Ahaaa!» и «Nnoooooo…» говорил «О дааа!» и «Ннееееет…»), то методы кодирования звука в графику и обратно будет необходимо взломать.
Для последнего, самого мощного эксперимента с текстурным файлом, я залил его «simulate encrypted data» на уровне Вечернего Озера. Вся игровая графика была испорчена! Впрочем, как и звук, одни лишь пощёлкивания. Скриншоты:

Самое странное и неожиданное – это то, что общая цветность «обстановки» не претерпела значительных изменений: трава зелёная, горы жёлтые, водичка голубенькая, пещерка Бентли синяя, а Фабрики Фейерверков – красная. Скорее всего, это гениальное построение текстур для экономии памяти: все тайлы содержат по байту на пиксель, то есть, 256 цветов. Однако, эти же самые 256 цветов для текстуры стены означают совершенно другие 256 цветов для текстуры, скажем, морского дна. Значит, заменить что-либо без расшифровки цветовой кодировки так, чтобы оно нормально выглядело, будет трудновато.
Некоторые безтекстурные 3D-модели не стали иметь крапинок. Они есть безтекстурные 3D-модели, цвет которых можно изменить только через программный код (который в чистом виде вытащить, скорее всего, не удастся). К таким относится Спаркс, лягушки, лопасти вертолёта, крылья ракеты и много чего ещё.

Quote (Serlutin)

Папка СRASHBSH
3MN_BLNK.DAT 31008 KB
SCUS_994.67 372 KB файл идентификатор, который говорит приставке, что же это за игра
SPEECH.STR 310286 KB - озвучка
SYSTEM.CNF 68 байт
WAD.WAD 162528 KB


О, круто!! Хорошо, что WAD там всё же есть! Поясню, что я знаю о других файлах:
– SYSTEM.CNF – Текстовый документ, указывает на основной PS-EXE.
– SCUS_994.67 – Это как раз и есть основной PS-EXE, только с изменённым расширением. Аналог моего SPYRO3.EXE.
– 3MN_BLNK.DAT - ??
– SPEECH.STR – Ничего не знаю о нём.
– WAD.WAD – думаю, это тот же файл, который у меня зовётся WAD3.WAD.
В связи с этим у меня задание для игроков: запустить игру через Epsxe, указав как PS-EXE на SCUS_994.67. Она заработает? Положительный ответ значительно упростит дальнейшие тестирования.
И дайте кто-нибудь скриншот первой страницы файла SPEECH.STR из WinHex! Эта программа вообще есть у кого-нибудь? Вот, могу дать ссылку на мою версию… Это из оригинального архива, я ничего не изменял:
http://klimaleksus.narod2.ru/Files/WinHex.rar
Только вот файл весьма подозрительный. Во-первых, он создаёт для себя sand-box и копируется туда (поэтому лучше запускать из отдельной папки). Во-вторых, он хакнутый и имеет «разрешение» на трехсотдолларовую лицензию. В-третьих, на него ругается Касперский (e-mail worm), поэтому я никогда не запускаю его при работе в интернете. В-четвёртых, при использовании «калькулятора» и «блокнота», вызванных WinHex, можно обнаружить, что это «подставные» очень и очень подозрительные программы, которые создаёт WinHex в странноназванных папках своего sand-box, причём эти две программы полностью маскируются под ваш системный блокнот и калькулятор, хотя далеко не являются ими.
Но ни одна их этих «проблем» не приносит мне абсолютно никакого вреда! Программа гениальная, быстрая, многофункциональная! Поэтому, не думаю, что её использование вызовет у кого-то серьёзные неполадки.

Quote (Serlutin)

Только вот в субфайлах чистого английского текста я не нашёл.


Среди первых субфайлов текста и не будет. Он весь в коде уровней. То есть, текст не выложен в отдельный файл, как тайловая графика, а просто внутри программы. Грубо говоря, вместо функции «draw_text_from_file(file_name,string_number)», они использовали явное указание «draw_text(“…some text…”)», что затрудняет нам, переводчикам, свободно менять его, так как всё вокруг – код уровня. Но текст не скомпилирован в машинные коды, он остаётся открытым ASCII. Если же в Greatest Hits умудрились и буковки запаковать в машинный код, то нам может потребоваться чуть ли не декомпиллер, или хотя бы, конвертер. Надеюсь, текст отрыт!
А на сколько субфайлов разбился WAD.WAD? Мой WAD3 раскрывается в 195. Явные последовательности таковы:
– от 001 до 009 – разрозненная информация.
– от 010 до 032 – последовательность из трёх файлов:
> Файл размером примерно полмегабайта.
> Файл менее 30 килобайт.
> Большой файл, более 1 мегабайта.
– от 035 до 041 – последовательность, три файла:
> Файл 20 килобайт.
> Файл больше мегабайта.
> Ещё один файл больше мегабайта.
– от 042 до 070– смешение многих последовательностей, не вижу смысла разъяснять.
– от 071 до 096 – все файлы равны всегда 223 232 байта, кроме нулевого файла 088.
– от 098 до 171 – ФАЙЛЫ УРОВНЕЙ! На чётных номерах сами архивы уровня, от 1Мб до 3Мб, в зависимости от сложности уровня. На нечётных номерах файлы менее 200Кб, не знаю, что в них.
– от 172 до 177 – нулевые. Видимо, разделитель шапки WAD, а мой распаковщик обрабатывает их как субфайлы. Причём, когда запаковывает, ложит после каждого по 2Кб нулей. И в результате конечный размер WAD далеко не равен исходному. Но работает!
– от 178 до 195 – в среднем по полмегабайта. Файл 183 = 10 Кб, а файл 184 = 1Мб.
Так что текст нужно искать в чётных файлах от 098 по 171. Последовательность атласная, конечный – Супер Бонус.

А ещё у меня очень плохие новости по поводу изменения длинны строчек! ЕЁ НЕЛЬЗЯ ИЗМЕНИТЬ!!!!!! Мой Текст-О-Вытаскиватель может пригодиться только для того, чтобы извлекать текст, но количество символов нового текста должно быть в точности равно исходному. Иначе кранты! Код программы, кажется, индексированный. Даже русские пираты так и сделали: сократили текст, заполняя остаток пробелами. Но можно попробовать поработать над структурой кода. Может, удастся разрешить хоть пару сотен знакомест (ведь субфайлы не вплотную сидят, меж них есть нули). А пока придётся «пахать» эквиритмично… У переводчиков будет очень трудная работа – не превысить лимит символов. Кажется, поэтому слово «No» у меня переведено «Не»… Без вариантов… Полная засада, можно понадеется на хакеров: если они взломают индексацию, то можно и уместить.
Предлагаю вниманию мою узкоспециализированную программу, построенную на базе WAD – 1паковщика. Для разбивки файлов уровней. Я догадался, что за информация следует после A0 и 1A0. Это индексация суб-субфайла номер 3 (первый – текстуры). Причём она глобальна, относительно файла уровня. Нет, чтобы сделать по-человечески, разместив её как относительное (!) смещение от начала третьего суб-субфайла по принципу WAD-архивации. Видимо, движок не позволяет делать трёхуровневую вложенность папок WAD. Программа:
http://klimaleksus.narod2.ru/Files/LVL.rar
Только EXE и gmk, без инструкции. Можно ЭТИМ распаковывать уровни, чтобы обработать часть полученного Текст-О-Вытаскивателем. А потом собрать обратно. Чтобы не ждать часами, пока полученный уровень встанет на своё место в основном WAD, можно копировать полученный файл уровня внутрь главного WAD.WAD через WinHex. Попробуйте кто-нибудь действовать таким образом и заменить немного текста!

Quote (Washington)

можно ли записать звук, используя веб-камеру, и если да, что для этого надо? Желательно предоставить подробную инструкцию


Ну если веб-камера может воспринимать звук, а вы способны сохранять видео, то AVI легко обработать любым конвертером. В крайнем случае, можно замкнуть накоротко вход и выход, и записать выходящий звук «звукозаписью» на входе. Кстати, у стандартной «звукозаписи» в этом отношении есть очень гадкий баг: она делает стоп при нажатии Esc из любого приложения! Гейтс сам небось, не заметил, поскольку не пользовался…
А ещё веб-камера может подключаться к аналоговому видео-входу на ТВ-карте. Тогда, аудио провод можно прямо подать на вход звуковой карты. Но ещё лучше сделать микрофон вручную! Я же электрик! Могу наглядно рассказать, как. Из сломанной/испорченной/ненужной телефонной гарнитуры:


А неизменность длинны строк, это конечно, настоящий удар… Я даже думал отказаться от всей идеи перевода, но нашёл два способа, которыми можно этот лимит обойти.

ПЕРВЫЙ: послать «официальное-анонимное» письмо в Insomniac Games на английском языке и спросить, как мол, изменить длину строчек? Пусть объяснят! А что!? В ФБР же они не заявят! А вдруг они добрые? Скажем им, что мы такие крутые русские ребята, хотим сделать самый лучший, самый гениальный и самый правильный перевод самой замечательной, самой весёлой и самой увлекательной американской игры… Спросим, как эта длинна строк задаётся, где исправить байты. Расскажем, что мы уже знаем об архитектуре WAD и как всё сказывается на поведении игры. Длинным-длинным уважительным-уважительным, правильным-дипломатическим посланием! Сразу на все e-mail, которые найдём среди всей информации их веб-сайта! И посмотрим, что будет! Для обратной связи оставим только обратный адрес, который специально создадим. Этот форум не выследят! Авось поможет!

ВТОРОЙ: через «махинации» таблицы символов. То есть, на таблицу соответствия у меня уже есть свои планы, я не собираюсь делать так, как сделали русские пираты в Spyro3в1. Наша кодировка будет принципиально отличаться! И по моим расчётам, у нас останется некий запас в 15-20 символов. И на их базе можно создать слова! Я вот о чём… Слово «SPYRO» (которое, как вы понимаете, будет частенько в одиночестве), можно «эквиритмично» (этим словом я буду иметь в виду соответствие количества символов в переведенном тексте… до тех пор, пока не найду слово более подходящее!) перевести не вполне корректно: «СПИРО», «СПАРО», «СПУРО», «СПЮРО», «СПАЙР», «ПАЙРО», «САЙРО»… Это не то! Однако, если выделить в текстуре шрифта пять знакомест индивидуально для нашего фиолетового героя, то УМЕСТИТЬ в пять символов ШЕСТЬ букв вполне возможно! В итоге, русское «СПАЙРО» будет занимать пять знакомест. Каким образом? Но ведь в этой ASCII таблице буквы прилегают вплотную, без зазоров. Значит, в графическом редакторе можно просто «сжать» толстое слово на несколько символов уже! Тогда, комбинация букв, изображающих это слово, должна оставаться всегда неизменна, на протяжении всей игры. И ни один символ не использоваться в других словах. Мы ограничены в количестве знакомест. Но, по моим расчётам, ещё десяток у нас всегда в запасе. А так как для каждого уровня мы имеем новый набор, то эти десять спасительных символом можно использовать локально, в пределах уровня по нашему усмотрению! Это не решит всех проблем эквиритмики, но существенно сократит вынос мозга на коротких строчках! И слово «NO»=«НЕ» тоже предлагаю залить в два символа как «НЕТ». Ну и пусть буковки станут узенькие. Радует, что Спайро не склоняется!

Сейчас меня не покидает ощущение, что я «парюсь» над игрой намного больше остальных. Но это пока мы не начали переводить. И простите меня, если время между появлением моих сообщений здесь несколько больше, чем хотелось бы. Просто я не люблю докладывать о незаконченной работе… Я обязан досконально изучить ту или иную проблему, все вытекающие последствия, и проверить новые методы прежде, чем заявлю сюда. Довожу разработки до конца, а только потом финализирую комментарий (который пишу в несколько приёмов).

Quote (MrModez)

Я о файле "SCUS_944.67" там меняется часть текста.

Хм, странно... Неужели там решение всех наших проблем?

Предлагаю начать кампанию по переводу! Вперёд!! Нужно сделать «испытательный» (но приближенный к настоящему!) перевод нескольких первых уровней. Берём Sunny Villa и Cloud Spires! Переводчики, ваш час настал! К следующему сообщению я закончу обработку шрифтовых текстур, и мы сможем залить их в игру. Приступайте, нужен полный, законченный перевод этих уровней! По эквиритмике – не превышайте исходную длину строки. Надеюсь, переводчики поняли, что я имею в виду. Выкладывайте результат сюда, на всеобщее обсуждение. Выберем лучший! Когда эти два уровня окажутся переведены, мы временно приостановим перевод остальных, чтобы выяснить кое-какие очень важные детали. Думаю, методом голосования. Но об этом потом… Значит, вперёд, работайте! Результат проверим на массовость, на устойчивость, на красоту, на «точность» (которая наперекор «зазеркалью» у нас будет не так высока, как хотелось бы). Но нам главное не точность перевода, а его «великолепность»! Поэтому жёстких правил следования английскому тексту никто не налагает. Действуйте!
…И дайте характеристику моей идеи о письме в Insomniac?


but nobody came
 
СпарвьероСообщение # 19 Воскресенье, 10.07.2011, 17:10
Аватар Спарвьеро
Дракон-Творец
Почетный Житель
«746»
Где: Не в городе Драконов
Quote (aleksusklim)
Объёмные буквы на надписях порталов! Которые ещё образуют финальные титры. Мы их либо сможем изменить, либо нет.


Даже если и сможем, то это будет очень непросто... Ведь даже официальные иностранные локализаторы - и те многие не рискнули их менять. Но для полноты картины стоит попробовать добраться и до них.


Не нужно искать гениальный замысел там, где все можно объяснить обыкновенным маразмом...
 
AUZAZURZ, но все зовут его Washington666Сообщение # 20 Воскресенье, 10.07.2011, 23:44
Аватар AUZAZURZ
Человек-Зажигалка
Почетный Житель
«1262»
Где: Не в городе Драконов
Quote (aleksusklim)
а вы способны сохранять видео

Вот это я, по сути, и спрашиваю. Есть ли программа для записи видео с вебки? Желательно предоставить ссылку. А дальше я уж сам перекодирую видео в звук с минимальными потерями :)
Quote (aleksusklim)
Переводчики, ваш час настал!

Есть, сэр!) Беру на себя Cloud Spires, ибо Виллу вчера прошёл и неохота туда возвращаться. Постараюсь начать сегодня, закончу, вероятно, тоже.
Quote (aleksusklim)
Объёмные буквы на надписях порталов! Которые ещё образуют финальные титры. Мы их либо сможем изменить, либо нет.

А нужно ли?
1. Вряд ли получится нормально. 3D-дизайнеров приличных-то нет.
2. Там много уровней, которые фактически непереводимы на русский.
3. Надо приучать начинающих спайрофанов к оригинальным названиям уровней. А перевод для более лёгкого запоминания можно запилить в тексте, высвечивающимся при переходе на локацию(В существующих переводах - "Летим в (Название уровня)...".

Добавлено (10.07.2011, 23:31)
---------------------------------------------
Что ж, поехали. Обещанный перевод:

Nimbus/Нимбус:


Cirrus/Киррус:


Moneybags/Толстосум(Манибег)



Zoe/Зоэ


Fluffy/Флаффи


Cumulus/Кумулус


Stratus/Стратус:


Яйца:

Добавлено (10.07.2011, 23:44)
---------------------------------------------
Да, и немного о менее практической части перевода:
Во-первых, по поводу озвучки. Я пока что нашёл только одного персонажа, которого озвучил актёр, обладающий голосом, сходным с моим: это фиолетовый дракон из третьего вступительного ролика. И ещё я нашёл подходящие роли для Elly: обитатели только что пройденной мною Cloud Spires)
Во-вторых, предлагаю выпустить игру уже тогда, когда мы русифицируем текст - для тех, кто не хочет слушать наши укуренные голоса xD А потом запилить и версию с русифицированным звуком. Кто думает точно так же?
В-третьих, предлагаю создать отдельную тему, с уже готовым и одобренным переводом, чтобы нашим хакерам и программистам потом не искать текст, то и дело спотыкаясь о посты в стиле "%USERNAME, классный перевод!!!!!!!!!")


ШАЙГГ ЯШЛОДЛ ИОКИ АПШПЦУ СЕЧЯЦ ХВНЧОМСЫ ГНЕТЕР О ТО РРПОМПА АУЦАЦУРЦ.

Сообщение отредактировал Washington - Воскресенье, 10.07.2011, 23:37
 
OLEG778Сообщение # 21 Понедельник, 11.07.2011, 21:08
Аватар OLEG778
Маленький Дракон
Житель Города
«203»
Где: Не в городе Драконов
Возможно я че-то где-то недопонял... но где взять оригинальный английский текст? А то я вскрываю прогой "распаковщик уровней" любой их файлов с четным номером в диапазоне от 098 до 171, получаю несколько файлов разного размера, но ни в одном не смог найти английского текста. Находил только псевдорусский перевод в некоторых полученных файлах, вес которых был не более 100 кб (такие как "файлик_02" из 098 файла, "файлик_02" и "файлик_04" из 102 файла и т.п.)... А собственно адекватный английский текст найти не смог... Что я не так делаю?..

Скорость: 128 кбит/с

Сообщение отредактировал OLEG778 - Понедельник, 11.07.2011, 21:08
 
aleksusklimСообщение # 22 Четверг, 14.07.2011, 00:22
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
ЧАСТЬ 1!

Спасибо, конечно, за перевод… Но я так и предполагал, что первый блин будет полный блин… Я же предупредил насчёт соответствия количества символов в текстах! Сейчас объясню ещё раз, подробнее… Но сначала:

Quote (Washington)
1. Вряд ли получится нормально. 3D-дизайнеров приличных-то нет.


Что!? Обижаете, товарищ! Я есть дизайнер! Да, я математик, химик, поэт, биолог, переводчик, программист, писатель, хакер, юморист и дизайнер! (А ещё и очень высокого мнения о себе…). И я представляю, как оно делается! Ведь моя аватарка, смоделирована мной: «Вольт в траве» –[http://klimaleksus.narod2.ru/Files/Bolt_in_grass.jpg], «Вольт на рыбалке» –[http://klimaleksus.narod2.ru/Files/Bolt_on_fishing.jpg]. Конечно, одним вольтом моё 3D-моделирование не ограничивается… Просто не люблю работать по-мелкому! Я написал большой-прекрасный рассказ на 400 рукописных страниц и собирался снять по нему полнометражный 3D-мультфильм, на который нужно, по самым скромным подсчётам, 600 часов работы. И когда почти 2% (!) было позади, мне пришла в голову сумасшедшая идея – «Победить Колдунью?»… А дальше вы знаете… А поскольку конец света уже в следующем году, нам надо бы скорей перевести эту игру! (почти в рифму).
Что я знаю о 3D-поверхностях? Для образования полигона (четырёхугольник любой формы, который можно разбить на два треугольника), необходимо 4 вершины. Для описания каждой нужно знать её координаты в пространстве, вектор нормали, цвет и текстуру. Три координаты XYZ можно спокойно описать двумя байтами (0-65535). Если мало – то четырьмя, но это уже предел. Вектор нормали нужен, чтобы знать, где у полигона «лицевая» сторона, а где «тыльная» (прозрачная). Это также три координаты, но по одному байту (0-255) на каждую вполне хватит. Цвет вершины может быть описан тремя байтами, если эта технология вообще используется. ID текстуры может иметь два байта (0-65535), чтобы не ограничиваться тайлами. Итого, на полигон нужно 4*3*4*3*1*2 = 288 байт. «Округляем» – от 128 до 512. Это, конечно, приблизительно, без сжатия. Полигоны должны стыковаться в одинаковых точках. По четыре полигона в одной точке. Возможно, сначала задаются все точки, а потом на них «нацепляют» полигоны, с указанием текстуры и нормали, так будет экономнее. Букв алфавита – 36 (анг+циф). На каждую нужно энное число полигонов, надо бы посчитать. Но если программа знает, что это просто безтекстурные маленькие буквы символов, то расчёт может быть другой. 1 байт на каждую координату ( от-126 до +126 ), итого 1*3*4 = 12 байт на полигон. Ни нормалей, ни текстур, ни цвета вершин. Ну, вернее, нормали-то всё равно есть, но там может быть устроено так, что задаётся одна нормаль, перпендикулярная полигону, а все остальные нормали образованы простым копированием вектора на соседние полигоны с учётом его относительного наклона. Округляем – 16 байт = 1 полигон. Это уже проще!
Определяем, где в коде программы есть похожее описание символов и пытаемся что-то изменить без смены длины записи. И если мы поймём, как там хранятся данные, то сможем изменять координаты полигонов. А когда создадим чертёж русских букв, то внести его туда будет не так уж и сложно.

Quote (Спарвьеро)
это будет очень непросто... Ведь даже официальные иностранные локализаторы - и те многие не рискнули их менять.


Трусы!

Quote (Washington)
Во-вторых, предлагаю выпустить игру уже тогда, когда мы русифицируем текст - для тех, кто не хочет слушать наши укуренные голоса xD А потом запилить и версию с русифицированным звуком. Кто думает точно так же?


Ладно, мне всё равно. Надо будет сделать ещё полный тест игры, когда заменим весь текст. Чтобы не случилось, как у русских пиратов в Spyro2 – зависает при диалоге. Кстати, «измочаливая» тексты фраз, я смог вызвать подобную ошибку. Связано с отсутствием байтов-указателей (00,01,02,04,06,08 «#», «&») на концах надписей. При неосторожном вмешательстве можно все испортить!

Quote (Washington)
Есть, сэр!) Беру на себя Cloud Spires


Итак, вниманию всех переводчиков!!! До тех пор, пока хакеры не смогут стабильно изменять длину текста, вы должны предоставлять перевод игры в «эквиритмичном» виде. То есть, количество символов английского текста должно быть больше или равно количеству символов в вашем варианте перевода. Иначе мы его просто не сможем применить! Washington?????, в «зазеркалье» вам присудили бы «зачёт» и вручили балов эдак бы… 45. Но тут… Перевод должен быть не столько ПРАВИЛЬНЫМ или ТОЧНЫМ, а СХОДНЫМ ПО КОЛИЧЕСТВУ и ЛУЧШИМ. К эквиритмике лично у меня своё отношение. Нельзя превышать – нельзя! Но если очень-очень хочется… Если уж СОВСЕМ невмоготу… То можно! (надо лишь прослушать музыку и спеть переполненный текст). А в нашем случае – попробовать ЗАТОЛКАТЬ всю нашу переведённую фразу в программный код. Гарантий, что она влезет – 0%. Однако, парочку знакомест можно ПОПЫТАТЬСЯ уместить (или схитрить с таблицей символов). Но это:
1) Опасно.
2) Не всегда срабатывает.
3) Очень трудно и долго.
4) Не решит всех проблем.
5) Не сработает с «забивкой» длинного текста.
Значит, пока нужно стремиться всеми возможностями сохранять столько символов, сколько их в оригинале (ВКЛЮЧАЯ ВСЕ ЗНАКИ ПРЕПИНАНИЯ И ПРОБЕЛЫ!). Для простых расчётов будем применять коэффициент «Разница». Вычисляется так: [размер английского текста] минус [размер переведённого теста]. Если он отрицательный – ПЛОХО! Если «-1», «-2» – плохо, но исправимо. Если положительный – ХОРОШО! Но если он больше «+7», то не очень… Ведь можно было бы уместить ещё что-нибудь. Если ровно «0» – то это лучший вариант. Однако, тут важно не просчитаться и не уйти в минус. Да и тютелька-в-тютельку текст будет сложно изменить при необходимости.

Quote (Washington)
Во-первых, по поводу озвучки. Я пока что нашёл только одного персонажа, которого озвучил актёр, обладающий голосом, сходным с моим: это фиолетовый дракон из третьего вступительного ролика. И ещё я нашёл подходящие роли для Elly: обитатели только что пройденной мною Cloud Spires)


Заблуждение для актёров! Нужно выбирать не того персонажа, чей голос ПОХОЖ на ваш, а того, кому ваш голос ПОДОЙДЁТ лучше чем любой другой! Ведь конечный игрок не услышит оригинального голоса. То же касается и текста – игрок не сможет сравнить качество перевода! Наш текст должен быть К МЕСТУ больше, чем какой бы то ни было другой текст.

Quote (Serlutin)
я пробовал твой распаковщик нa GH версии. Только вот в субфайлах чистого английского текста я не нашёл. Есть подозрение, что там используется какая-то специальная внутриигровая кодировка, которую обычные редакторы не поддерживают.


Да нет, на это счёт не стоит беспокоиться! Внутри вашего «file_002» есть очень много простого открытого английского текста по поводу менеджера карты памяти. И его легко менять. Относительно моих субфайлов, ваши не сильно отличаются. Некоторые идентичны, другие имеют совсем чуть-чуть отличий. Но многие значительно различаются. Я попробовал заменить свои первые семь субфайлов вашими. Игра не приняла их. Но это не страшно. Мне нужен ещё и файл «SCUS_944.67», чтобы проверить его содержимое. И разделители WAD также совпадают – восьмой субфайл всегда равен нулю. Значит, не пираты его удалили, а разработчики.

Теперь «обработаю» тот переведённый текст. Не весь, немного. Однако, добавлю ещё о технике перевода. Всю нашу работу можно разделить на такие «текстовые» участки: НАДПИСИ, РЕПЛИКИ, ДИАЛОГИ, УРОВНИ, ИГРА.
– Надписи. – Это участки текста, которые не могут быть расширены в связи с тем, что это единый однострочный текст, состоящий из одного предложения (может без точки на конце). Пример надписи: «Egg for sale», «Lulu», «Save game», «Билли – горный козёл», «Lost Fleet». Все такие надписи обязательно должны быть переведены с положительной «Разницей». Как бы это не было трудно… Пока других вариантов нет. Однако, если надпись абсолютно невозможно уместить в размер, то переводчик может предложить ЖЕЛАЕМЫЙ перевод наравне с ВЫНУЖДЕННЫМ (сокращённым – Jump=Прыг).
– Реплики. – Это текст, который говорит один персонаж за один раз. Текст появляется на экране в рамке и прокручивается, если не помещается в неё. Такой текст может иметь переходы на следующую строку (символ «\»). Завершается текст «нажатием крест». Он должен быть переведён также с положительной «Разницей». Точки, запятые, пробелы и «кнопки» (X,O…) также считаются за символ. Однако, можно попытаться устроить переполнение, но только в крайних случаях, не рассчитывайте на это постоянно!
– Диалоги. – Это все реплики, которые говорит одно существо в течение всего уровня. Первые слова, зелёные подсказки, промежуточные высказывания, согласия, отказы И ГЛАВНОЕ – «треугольник – TO TALK» тоже! Их нужно переводить как набор РЕПЛИК, но перевод размещать тут рядом, так как в тексте программы диалоги идут подряд. И иногда есть возможность «раздвигать» одну реплику в диалоге ценой длинный другой реплики. Опасно, но очень редко можно это делать, в безвыходных ситуациях.
– Уровень. – Это перевод всех диалогов уровня, плюс НАДПИСИ: название уровня, названия всех яиц, их имена и может что-то ещё, относящиеся к уровню.
– Игра. – Это перевод всех уровней, плюс НАДПИСИ: содержание меню паузы, атласа, менеджера карт памяти и любые редактируемые фразы в файлах игры. Наша цель сводится к её переводу!

Я ввёл ясность? Ещё не всё! Специальные символы:
– «\» – переход на новую строку. Может быть удобно в переводе стихов или подписей. Обычно, уже присутствует в английском тексте, так что его использование не влияет на «Разницу». Но можно применять и самим.
– «&,#,@» – специальные символы, использовать нельзя!
–«[ » – типа стрелочка, которая стоит в качестве маркированного списка при объяснении действий, подсказок или вариантов ответа. Также мерцает в углу, когда нужно нажать крест или старт. Уже есть в английском тексте, но можно использовать принудительно, чтобы создать свой маркированный список, например.
– «<>{}» – это КРЕСТ-КВАДРАТ-КРУГ-ТРЕУГОЛЬНИК! То есть, «X = <», «O = {», «[] = >» , «/\ = }» . Цвет создаётся автоматически. Считается за символ. Уже есть в английском варианте, где в игре появляются «имена» кнопок. Можно ставить самим.
– «=» – на месте знака равенства, по неизвестной мне причине, появляется маленький кружочек, похожий на букву «о». Или на нолик. Только меньше, толще и уродливее!
– «*» – такая жирненькая пятиконечная звезда, возможно, отмечала «сложность» задания по задумке. Не используется, но можно найти применение либо _перерисовать_.
– «^^^» – конструкция из трёх (или четырёх) «шапочек» подряд, которая обозначает ЦЕНУ, которую Кошельков хочет получить за услугу. То есть, в программе не прописана конкретная цена, она автоматически появляется на месте этих шапочек. Поэтому переводчикам лучше писать ^^^ вместо конкретной цифры, чтобы хакерам было легче разобраться. Может быть, используется ещё как то. Без цели не ставить!
Символы, которые можно использовать:
– «+» – плюс,
– «-» – дефис,
– «/» – косая черта,
– «:» – двоеточие,
– «%» – проценты (не знаю зачем, можно _перерисовать_),
– «’» – апостроф.
– « ! ? . , » – знаки препинания: восклицательный, вопросительный, запятая и точка.
Символы, которые выдают пробелы на своём месте, лучше не использовать их:
( ) ] ; $ | ~ ` “ _
Смена цвета текста. Используется, если надо, например, выделить кнопки «L1 R1 L2 R2». Для переключения цвета нужно ДВА символа. И ещё два, чтобы переключиться обратно. Так что, это целых четыре! Лучше экономить и не использовать метод, однако цветной текст может порадовать игрока… Если текст уже раскрашен в английском варианте, и в переводе будет его «раскрашенный» вариант, то на «Разницу» это не повлияет. Полностью зелёный текст (подсказки) НЕ содержит этих символов и в нём их лучше не применять!
– «@2» – Ярко-жёлтый.
– «@3» – Ослепительно белый.
– «@4» – Стандартный ЗЕЛЁНЫЙ.
– «@5» – Красный.
– «@6» – Золотой.
– «@7» – Коричневый.
– «@8» – Оранжевый.
– «@0» – Отмена цвета – ОБЫЧНЫЙ. Значит, текст они пишут так: «Press @4R1@0 to…»
Нужно поэкспериментировать, вдруг есть ещё комбинации «собачки» с другими символами, чтобы получить другие цвета (я хотел бы синий и ещё один зелёный…). –> Задание хакерам!
РЕГИСТР букв не различаем! Будут собственные таблицы, методы перекодировки. Сейчас регистром не пользуемся. Везде, где я (или кто-то другой) буду писать английские или русские тексты для перевода, «заглавность» букв будет стёрта! Нет смысла выделять вАжНыЕ мОмЕнТы регистром. Но пишем пока нормально, чтобы текст аккуратнее выглядел. Ведь регистр исчезнет при внедрении.

А «Cloud Spires» должен был быть самым безобидным уровнем в отношении перевода… Но по-видимому, придётся СРАЗУ утвердить кое-что для всех переводчиков. Все, что я скажу в этом абзаце, может оспорить любой, кто сможет предложить лучше! Слушайте.
– Moneybags. – 9 символов. «Толстосум» – Разница 0. Однако… Я хотел бы переводить его как «Кошельков» – Разница 0. Не хуже! Просто английские имена часто могут быть переведены. Moneybags – имя. Толстосум – характеристика. А вот «Кошельков» больше похоже на настоящую фамилию! Давайте будем переводить его только так?
– Gems. Камни? Сколько камней? Мне 200 камней не жалко! Я люблю камни? Ради 500 камней я открою? Да мы с вами, что, на каменоломне работаем!? Это точно не «камни»! Но чем заменить… «Бриллианты» – длинно… «Драгоценные камни» – приемлемо, но тоже длинно… «Камешки» – уже получше… «Алмазы» – неплохо. «Алмазики» – ещё лучше! «Кристаллы», «Самородки» – тоже вариант. (Русские пираты взяли слово «Самоцветы».) Надо утвердить что-то меткое, короткое и точное! Только, не «деньги»! И уж тем более – не просто «камни»! Ещё бы Спайро «юнитом» навать!
– Sorceress. Колдунья? Чародейка? Да, зачёт. Но уж точно не «Волшебница»! Ещё бы «феей» обозвали! Я предлагаю чётко, по-русски, коротко и ясно – ВЕДЬМА. И сохраним «Разницу» +3.
– Rhynocs. НОСОРОГИ! Это лучший вариант, думаю, никто не поспорит.
– Hunter. Хантер? Ловец? «Охотник» ведь с Разницей -1… Пускай тогда он будет везде как «Хантер», склоняясь по падежам!
– Sheila. Шейла. И никак иначе. «Разница» +1.
– Sgt. Byrd. Срж. Бёрд? Ну не станем же делать его мистером Птиц! (Как русские пираты – «Птиц, Джеймс Птиц»). Уж оставим «Бёрд», склоняется.
– Agent9. Агент 9. С пробелом или нет – как получится.
– Bentley. Бентли? Ладно, с автомобилем же не перепутают! «Разница» +1.
– Bianca. Бианка. Без мягкого знака, чтобы ещё и произносилось легче…
– Zoe. Ну пусть она будет «Зоя», а? Не нужно этого ужасного «э-оборотного» на конце!
– Sparx. Спаркс, думаю все согласны. Только вот «Разница» -1. Опасно.
– Elora. Элора, с этим ясно. (А я в Spyro2 в первый раз подумал, что она Злора, через «з» (от слова ЗЛО), потому что обе буквы обозначались тройкой «3».)
– Gnasty Gnorc. Не уверен, что он понадобится… Если только для трюка. Хотелось бы «Гмерзкий Гнорк», но «Разница» -2. Варианта один: «Мерзкий Норк». Сойдёт?
А что все «промежуточные» имена? Переводить же не будем? Тогда делаем русскую интерпретацию. Чтобы из яйца рождался не «Мозг», а «Бреин»! Однако, не стоит забывать, что ИМЯ «Sorceress» мы всё равно переводим. Другие боссы – думаю, нет. «Buzz» = Бззз, «Spike» = Шип, «Scorch» = Ожёг!? Дудки! Это «Базз», «Спайк» и «Скорч»!
Но некоторые имена мы будем обязаны перевести, так как это не столько имя, сколько прозвище. Например, «Светлячок …», «… - горный козёл». Цель – уложиться в рамки. Вот, взять капитана корабля: «Crazy Ed». Русские пираты Spyro3в1 перевели проще некуда – «Крези Эд». Неверно, это «Сумасшедший Эд», «Эд психопат»! Но слишком длинно… Я придумал: «Эд-Бред»! Почему нет?

Quote (Washington)
2. Там много уровней, которые фактически непереводимы на русский.


Да что вы!? Какой ужас! А я-то думал, что это всем под силу! Оказывается, придётся перевести названия самому… Кто не согласен, предлагайте свои варианты:

Добавлено (14.07.2011, 00:10)
---------------------------------------------
ЧАСТЬ 2!

Quote (Washington)
В-третьих, предлагаю создать отдельную тему, с уже готовым и одобренным переводом, чтобы нашим хакерам и программистам потом не искать текст, то и дело спотыкаясь о посты в стиле "%USERNAME, классный перевод!!!!!!!!!")


А кто сказал, что хакерам будет легко? Открывать тему, в которую начнём скидывать готовый текст, а обсуждать его здесь – я считаю, абсурдно. А если обсуждать там – так уж лучше скидывать сюда! А база данных должна быть у каждого своя. То есть, каждый собирает всё, что нужно и производит локальные тесты. Когда информации станет много, организуем общую картотеку.

Quote (Washington)
3. Надо приучать начинающих спайрофанов к оригинальным названиям уровней. А перевод для более лёгкого запоминания можно запилить в тексте, высвечивающимся при переходе на локацию(В существующих переводах - "Летим в (Название уровня)...".


«Летим в» точно не подходит! Можно считать, что после стоит «переменная», которой присваивается имя портала. А правило перевода фраз с переменными гласит: «…переменная должна всегда стоять в именительном падеже и не спрягаться с другими словами…». Летим – куда? А не летим – во что? Предлагаю лучше! «ВПЕРЕДИ». То есть, «Впереди Зимние Алтари», «Впереди Городская Трасса», «Впереди Ведьмено Логово», «Впереди Дом Полуночного Хребта». Универсально!!

И вот, наконец, добираемся до перевода Cloud Spires – «Высокие Горы». Не всё, только до чего дошли руки:

[spoiler=О переводе! (моноширным шрифтом)]

«The rhynocs have shut down our cloud generator and I’ll never see a rainbow again.»
«Носороги заглушили наш генератор облаков, и я больше никогда не увижу радугу. » {+7}. Маловато букв, но подойдёт.
А где перевод «/\ – TO TALK» ? Это тоже нужно!

«If my wings ware big and strong like yours, I could easily glide across here.»
«Если бы мои крылья были такими большими и сильными, как у тебя, я бы легко перелетел на ту сторону.» {-23}!! Мой вариант:
«Были б мои крылышки большие и сильные, как твои, я бы легко слетал вон туда.» {0}. Точное попадание!

«Press < button to jump. Then press < button in midair to glide.»
«Нажми кнопку <, чтобы прыгнуть. В пике прыжка нажми кнопку <, чтобы парить.» Разница {-13}. Лучше так:
«Нажми кнопку < и прыгни. В пике прыжка жми < ещё, чтобы парить.» {0}.

«Well, well, if it isn’t my favorite dragon! The Sorceress has put me in charge of guarding these bellows. However, if I suppose I might look the other way if I was distracted by counting gems.&Pay ^^^ gems to activate bellows?&[Sure, whatever.&[No way, you doofus.»
«Я не я, если это не мой любимый дракон! Колдунья сделала меня ответственным за эти меха. Однако я не смог бы следить за ними, если бы был занят счётом камней...&Заплатить ^^^ камней, чтобы активировать меха?&[Да, почему нет.&[Ни за что!» Разница {+28} !!

Ну нет, это слишком короткий текст! Нужно добавить в начале «Так-так,», слово «дракон» можно заменить на «дракончик» (я уверен, что Кошельков произносить его очень ласково, верно?), «Колдунья» – «Ведьма», «Камни» заменить на тот вариант, который мы должны все вместе ДРУЖНО утвердить, и приписать что-нибудь ещё, подходящее Кошелькову. И «doofus» по-прикольнее сделать.
И ещё кое-что. Ко всем существам, которых вы хотите перевести, нужно подходить ПО НЕСКОЛЬКУ раз. Потому что они могут говорить разное! А к Кошелькову особенно: ещё поговорите с ним с пустыми карманами, вдруг он скажет другое! (Artmoney всем в помощь.) Ведь вот, что я вытащил из своего файла от русских пиратов:
=====
KOWELEK , % TAK, TAK, HNKAK 3TO MON LU6NMZN DPAKOWA! KOLDYHJR HA3HA4NLA MEHR GLABHZM QO OXPAHE BO3DYXODYBHZX MEXOB. ODHAKO, R DYMAU, 4TO HEMHOGO CAMOSBETOB 3ACTABRT MEHR QOCMOTPETJ B DPYGYU CTOPOHY. &3AQLATNTJ ^^^ CAMOSBETOB DLR AKTNBASNN MEXOB? &.DA. &HEA. &#

OOOOO DAAAA QPEKPACHO, QEPBOKLACHZE CAMOSBETZ. CQNPO, TZ MOVEWJ QOLJ3OBATJCR MEXAMN B LU6ON MOMEHT. YDA4N TE6E, MALEHJKNN OXOTHNK 3A RNSAMN #

4TO? HET? DA KYDA TZ DEHEWJ BCE 3TN CAMOSBETZ? KYQNWJ KHNGY KAK HAY4NTCR LETATJ? (XAXA) TE6E 6Z HE QOMEWALO , #

N3BNHN, CQNPO, R HA CLYV6E N HNKTO HE CMEET QPN6LNVATCR K 3TNM MEXAM. N TZ QPEKPACHO 3HAEWJ, 4TO HN4TO HE 3ACTABNT MEHR HAPYWNTJ 3TO QPABNLO... PA3BE 4TO EWE HEMHOGO CAMOSBETOB. &[BKLU4NTJ MEXA 3A ^^^ CAMOSBETOB.

XAXAXA .. Y MEHR DABHO HE 6ZLO TAKNX LEGKNX DEHEG, C TEX QOP KAK KOLDYHJR KYQNLA MANOHE3 OT 3AGAPA
=====
Есть странные повторения…

Продолжаю:
«Remember, to get your longest glide press the < button at very top of your jump, and use the } button to hover at the end of your jump.»

«Помни, чтобы парить дольше, нажми кнопку < в пике прыжка, и используй кнопку }, чтобы подняться в конце полёта.» Разница велика, {+23}. Можно сделать так:
«Помни, если хочешь парить максимально долго, нажми кнопку < в самом пике прыжка, и используй кнопку }, чтобы подняться в конце полёта.» {+1}

«The Rhynocs must have been using this thing to clog up the generator.»
«Носороги пытались заткнуть этим генератор.» Разница {+27} ! А если так:
«Носороги, наверное, пытались заткнуть этим наш генератор облаков.» {+3}
Поржём? Вот что написали здесь русские пираты:
«3TN PEDNCKN HABEPHO NCQOLJ3OBALN 3TOT DEBANC DLR BZBODA N3 CTPOR GEHEPATOPA» {-6}. Не знаю уж, каким чудом они превысили лимит…

Теперь о яйцах! Все надписи из атласа были переведены правильно. И даже с положительной «Разницей». Кроме первой:
«Turn the cloud generator»
«Запусти генератор облаков». {-1}. Легко решается:
«Включи генератор облаков». {+1}. Однако можно будет попробовать оставить и первый вариант. Просто точно сказать не могу, потому что не знаю, где расположены эти надписи. Не в самом «SCUS_944.67» ли?

Имена яиц! Ну с «Генри» и «Лулу» всё сразу ясно. А вот:
«Jake»
«Джейк» {-1} !
Понятно, что это и в правду «Джейк», а никакой не «Джек». Но лучше постараться сохранить «Разницу» неотрицательной. Мы попробуем Джейка запихать, но вариант «Джек» должен оставаться на виду.
«Bryan»
«Брайан» {-1}. Вообще-то, слог «йа» можно записать и покороче:
«Браян». Или «Браин». Далее:
«Clare»
«Клейр» {0}. Зачёт… Только вот чисто с точки зрения русского человека, я вижу слово:
«Клер» {+1}. Да, это можно оспорить. Но судите сами:
«Stephanie»
«Стефани» {+2}. Вы же не транслитеровали её как:
«Степхание» ! Так что и «Клер» будет весьма неплохо.

[/spoiler]
Короче, переводчики! Проверяйте соответствие символов в переведенном тексте и ОБЯЗАТЕЛЬНО указывайте разницу в фигурных скобках рядом! Чтобы не пересчитывать потом по сто раз! Если плохо влезает – засуньте, но приведите полный вариант текста. Может, хакеры смогут его уместить. Если нет, примем сокращённый текст.

Quote (Washington)
Вот это я, по сути, и спрашиваю. Есть ли программа для записи видео с вебки?


Хм… Я думал, что в интернете есть всё необходимое программное обеспечение? Но вы хотя бы можете СЛЫШАТЬ то, что говорите в микрофон вебкамеры? Если так, то звук можно «скачать» аппаратным методом. Берёте два разъёма «пистолетик» (трёхконтактные) и соединяете их к проводу так, чтобы крайний был крайним, средний – средним, а нижний общий – нижним общим. И засовываете оба в гнёзда «входа» и «выхода». Потом открывайте «звукозапись» и стартуйте её. Если включить плеер (Winamp, например), то «звукозапись» должна записать музыку, исходящую из плеера. Этим же манёвром можно и с прослушивания (может есть режим «настройки» – тест вебкамеры?) записать любые звуки, воспроизводимые компьютером и вебкамерой. Только при долгой записи лучше зайти в Панель Управления и вырубить там все системные звуки уведомлений (чтобы во время записи не случилось «ЧПОК – вы исчерпали всё свободное место на диске…»)!

А я создал ещё одну супер-гениальную программу! На паскале, File Paint v1.1! Она работает очень быстро, очень стабильно и очень полезно! Нужна для экспортирования 256-цветных ТАЙЛОВ из текстур в файлах игры в графические фалы. И для ИМПОРТИРОВАНИЯ их обратно! Можно загрузить что угодно и куда угодна за считанные секунды! То есть, выгрузить текстуру шрифта. Отредактировать (изменить буквы) и тут же загрузить результат обратно! Файл будет модифицирован! Можно применять как на сам WAD, так и на субфайлы (только нужно указать offset, где лежит начало текстурных страниц. Например для субфайлов уровней (098, 100, 102, 104 … 110 …), это всегда ровно 2048.). Гениальность программы заключается в том, что я вношу изменения напрямую в файл, без его бесполезного переписования в другую папку. (Надо бы и на GML так попробовать…). И я понял, почему VCL давал ошибку в предыдущих тестах. Оказывается, когда я создаю холст для рисования размером, скажем, 10*10 пикселей, то обращаться к первому ряду надо не [1 .. 10], а [0 .. 9]. Ладно, но прикол в том, что РИСОВАТЬ можно хоть на [0 .. 10] без ошибок. А когда я хочу прочитать то, что только что нарисовал, выскакивает «неожиданная» ошибка (в которой не пишут, что я вышел девятый пиксель холста). В справке об этом ничего не сказано. Стоит отметить, что к символам в строке str:=’0123456789’ нужно обращаться именно как str[1 .. 10]. Где логика!?
Вот скриншот программы, какие настройки надо задавать:
http://i.piccy.info/i5/26/61/1736126/Settings.png
Ссылка на программу, СКАЧАЙТЕ ВСЕ! (файл PAS, текстовый документ, можно открыть в браузере):
http://klimaleksus.narod2.ru/Files/File_Paint_v1.1.PAS
Работайте осторожно, так как можно легко запороть файл, если неправильно укажите адрес для записи. Я же благодаря этой программе смог очень неплохо поэкспериментировать над шрифтом!
Уровень Шейлы. Там у меня уже стоит английский шрифт, ведь русские пираты забыли его поменять. Файл АНГЛИЙСКОГО шрифта:
http://i.piccy.info/i5/10/60/1736010/ENG.png
А вот файл русского шрифта, который собрали в Spyro3в1:
http://i.piccy.info/i5/42/60/1736042/RUS.png
Внеся вот эти изменения в уровень:
http://i.piccy.info/i5/25/60/1736025/HexText.png
Я смог получить такую картину:
http://i.piccy.info/i5/57/60/1736057/Scr_1.jpg
Внедряем русский шрифт из другого уровня:
http://i.piccy.info/i5/63/60/1736063/Scr_2.jpg
Можно ещё попробовать изменить только шрифт, не меняя надпись (РУСИФИКАЦИЯ! Если помните, у меня там был раньше был написан ломаный транслит таблицы соответствия):
http://i.piccy.info/i5/81/60/1736081/Scr_3.jpg
Но над моим алфавитом тесты не закончены. Надо узнать, плотно ли прилегают буквы. Заливаю шрифт горизонтальным градиентом от чёрного к белому (моя надпись из скриншотов выше):
http://i.piccy.info/i5/87/60/1736087/Scr_4.jpg
Быть может, РУССКУЮ половину шрифта (>127) тоже можно использовать? Плохая идея… :
http://i.piccy.info/i5/99/60/1736099/Scr_5.jpg
Теперь результаты экспериментов.
– Шрифт, как и любые другие текстуры, можно легко менять.
– Но цветность шрифта, как и других тайлов, не стандартизирована. Значит, «легко» менять не выйдет! Надо усиленно думать…
– Сволочи американские патриоты! Нет, чтобы сделать моноширный шрифт… Они отправили все мои радужные планы коту по самые… !! Оказывается, ШИРИНА букв в ШРИФТЕ и их РЕАЛЬНАЯ ширина – совершенно не связаны друг с другом! То есть, буква «l» (маленькая английская Л) и буква «m» имеют совершенно разную толщину!! «m» – 14 пикселей, «l» – 4 пикселя! Вот почему русские пираты не использовали заглавную «I» (большая И), потому что она заметно тоньше других… Что же делать? Программисты, думайте! Нужен МЕТОД, которым мы будем кодировать русские буквы в английский шрифт. Мало того, что у нас 33 буквы, а у них – только 26. Так есть ещё и буквы меньшей ширины, чем другие! Значит, нам предстоит воплотить АБСОЛЮТНОЕ мастерство упаковывания русских букв под английское мерило… И соблюдать размер. «Тонкие» буквы в узкие знакоместа. Иначе столкнёмся с ужасающей разницей в ширине букв!
– Ой, ну мало нам было тонких символов… Так ещё и неожиданные пробелы! Даже в ЗАГЛАВНЫХ буквах! Значит, не все символы будут «вплотную». Некоторые – с зазорами. По моим скриншотам довольно трудно установить, какие именно. Вот есть либо после «W», либо перед «X». Значит, слово «СПАЙРО» нельзя засунуть в «VWXYZ», потому что есть пробел в центре. ДУМАТЬ! Нужно думать!
– Глядя на «полосатые» строчные буквы, можно увидеть следующий «парадокс». Некоторые «низкие» буквы («f,g,j,p,q,y» и символ «,») свисают под строку. Я думал, что они просто специально смещены НА РИСУНКЕ (распределение знакомест в текстуре). Отнюдь! Они там как раз таки ровно, это при выводе на экран происходит смещение. Причём ещё нескольких букв. И нам надо будет это предусмотреть, то есть, нарисовать буквы чуть выше, чтобы они встали ровно. (Осторожно, потолок!).
Либо все эти проблемы можно решить, взломав программный код. Ту часть, которая отвечает за высоту и ширину буквы (или координаты в тайле). Это задание для хакеров!

Своей программой я кое-что ещё добыл:
http://i.piccy.info/i5/34/60/1736034/LOGO.png
Честно говоря, на логотип совсем не похоже. Правда, на него у меня были свои планы… Для эксперимента, я через File Paint v1.1 залит вместо него вот это:
http://i.piccy.info/i5/13/60/1736013/GRAD.png
И получил вот это:
http://i.piccy.info/i5/11/61/1736111/Scr_6.jpg
Вот! 256 цветов – все оттенки жёлтого-оранжевого-фиолетового-красного. Как можно что-то заменить здесь? Но есть парочку идей с цветовой кодировкой… Надо разработать программу, которая бы брала чёрно-белый «исходник» из WAD и сравнивала его с цветным «результатом» из скриншота эмулятора. Создала на основе сходства цветовую таблицу. Потом назначила каждому цвету _с допуском_ один из 256 расшифрованных цветов. Потом приняла бы любой раскрашенный под 24-бит полноцветный Bitmap и сопоставила бы все 16 миллионов цветов к нашим 256. Далее закодировала бы результат в чёрно-белый файлик, который мы смогли бы залить обратно в WAD. Стандартный MSPaint не способен на это: его цветовая 256 кодировка всегда едина и никак не связана с содержимым файлов (или слабо связана!).
Однако, взгляните вот сюда:
 
SergeiUXPMCСообщение # 23 Четверг, 14.07.2011, 20:46
Аватар SergeiUXPMC
Яйцо
Житель Города
«47»
Где: Не в городе Драконов
Всем Ку)). Предлагаю свою посильную помощь в переводе этой замечательной игрушки. Помогу как с переводом текстовой части, так и со звуком. Имеется ввиду помощь звукорежиссера. Сам работаю видеоинженером, так что по работе занимаюсь и звукорежиссурой.
Насчет текстового перевода хочу предложить такую схемку: кто-нибудь переводит текст так как он должен звучать по правилам русского языка, а я со своей стороны буду "впихивать" перевод в рамки требований импорта перевода в игру, так как прекрасно понимаю что имеет ввиду aleksusklim говоря о соответствии количества символов в текстах. Сталкивался с этим и не раз, так как тоже по мере своего хобби занимаюсь программированием. Правда конечно я его знаю не таком уровне как aleksusklim, но знаний по программированию в Дельфи хватает для кое-каких идей.
В общем жду вашей реакции на мои предложения. :)
 
aleksusklimСообщение # 24 Четверг, 14.07.2011, 23:58
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
...Простите все, что я так неуклюже закончил предыдущее сообщение... Просто я не знал, что лимит по длине существует! 30000 символов уже перебор... Прикольно, в "Зазеркалье" ограничение было на 10000 и я просто писал три сообщения подряд! А тут не прошло: сообщения от одного автора объединяются. И отредактировать больше нельзя, так как в системе переполнение! Я очень рад, что не сломал весь форум...
И моноширный шрифт оказался не так и моноширен на вид, зря я его применил. Ещё я ошибся, взяв две ссылки в квадратные скобки. И забыл стереть вопросительные знаки в имени пользователя "Washington". Надеюсь, меня за это не поругают...

Вот окончание моего комментария:
=============
...
Однако, взгляните вот сюда:
http://i.piccy.info/i5/15/61/1736115/Scr_7.jpg
Зачем разработчики оставили СТОЛЬКО свободного места? Мне кажется, специально, чтобы мы смогли написать там: «Перевод от spyro-realms.ru». Ради этого стоит взламывать цветовую кодировку?

Переводчики могут заняться ПОЛНЫМ переводом всех уровней первого мира. Но чтобы без превышения лимита символов! И обсуждайте выложенные варианта текста прямо здесь, исправляйте чужие ошибки! От программистов мне нужен комментарий по поводу отправки письма в Insomniac.

P.S OLEG778, Всё верно... Если у вас Spyro3в1, который ПЕРЕВЕДЁН пиратами, английского текста там нет... Я ведь имел в виду Greatest Hits.
=============

Теперь говорю дальше. SergeiUXPMC, реакция будет только положительной! Делфи - здорово. Если размышлять о записи звука, то нужно сперва понять, как из картинки его вытащить? Я пробовал мою последнюю File Paint v1.1, но лучшее, что можно сделать с полученными тайлами - засунуть их вместо других аналогичных звуков. То есть, можно менять звуки местами. Но воспроизвести ни через один плеер не могу. И ни Паскаль, ни Game-Maker не могут создавать звуки. Можно только воспроизводить из нормальных звуковых файлов. Но не из потока двоичного кода. Поэтому, есть два выхода:
1) Копировать двоичный поток в стандартный звуковой файл. Только надо узнать принцип, длительность звука, качество и формат. Я пробовал, получается только "Кхык" при любом раскладе!
2) Создать программу на таком языке программирования, на каком делают плееры и звуковые редакторы. И сделать свой узкоспециализированный звуковой перекодировщик. Делфи может это потянуть? Или всё в С# упирается?


but nobody came
 
MrModezСообщение # 25 Пятница, 15.07.2011, 01:27
Аватар MrModez
Дракон Подросток
Житель Города
«611»
Где: Не в городе Драконов
Quote (aleksusklim)
Мне нужен ещё и файл «SCUS_944.67», чтобы проверить его содержимое.

В этом файле можно изменить названия уровней, и тексты в меню, всё то что на моём видео http://www.youtube.com/watch?v=OYjrHBvjt9c


I'm MrModez
Мои новые треки в стиле Спайро:
Desolate Forest Skate Park - Spyro Custom Track
Lofty Farms - Spyro Custom Track
Gleaming Coast - Spyro Custom Track
 
SergeiUXPMCСообщение # 26 Пятница, 15.07.2011, 08:58
Аватар SergeiUXPMC
Яйцо
Житель Города
«47»
Где: Не в городе Драконов
Так, ну начнем плодотворно сотрудничать.
Во-первых в Greatest Hits версии игры (а именно ее мы собираемся сделать русской), как уже писалось выше корневой каталог диска содержит 6 элементов:
5 файлов: (WAD.WAD, SCUS_944.67, SPEECH.STR, SYSTEM.CNF, #MN_BLNK.DAT) и 1 папка (CRASHBSH). Ясно что папка нам ни к чему, так как она содержит файлы демо версии игры про Краша. SYSTEM.CNF тоже ничего полезного для нас не содержит. А вот остальные три файла довольно интересные.
Теперь же что касается именно звука в игре. aleksusklim, рекомендую скорее ознакомиться с файлами образа Greatest Hits версии! там совершенно другая файловая структура игры. Я просто уверен.
WAD.WAD (весит в GH версии порядка 158 мб) - содержит только текстуры, модели уровней, возможно, код игры и все остальное, не связанное с озвучкой игры.
А вот файл SPEECH.STR (302 мб) - это то что нужно! (я о звуке). Сейчас я его только что "раскурочил" программой jPSXdec и сижу спокойно слушаю музыкальные треки с уровней и реплики героев! В доказательство того что STR файл, это то что нам нужно, гляньте вот сюды. В нашем случае STR файл содержит аудио информацию, так как полноценных ВИДЕО роликов в данной игре нет.

В общем из того что выяснил, выходит так: STR файл содержит звуки в формате XA (тоже раньше с таким сталкивался, но конкретно не разбирался в этом вопросе. Осталось только найти енкодер, позволяющий любой звук запихать в контейнер XA, а XA объединить в один STR, чем я и займусь в ближайшее время. Один из лучших декодеров медиа контента дисков от PSone - jPSXdec. (если кому надо - лежит здесь.
Так что, aleksusklim, я думаю что не стоит копаться в WAD файле пиратской версии и пытаться вытащить из него вшитые в него звуки. Тем более что, я думаю, эти звуки в шиты там опять же в виде STR файлов, содержащих в своей основе по нескольку XA файлов. Получается довольно-таки сложная структура. В GH версии похоже все намного проще, нежели в пиратской.
В общем ушел искать енкодер. ;)

UPD*
-
Нашел интересный сайтик с неменее интересными утилитками. Гляньте здесь. Может быть полезно в нашем нелегком деле.

И да, кстати, насчет узкоспециализированного перекодировщика на Дельфи. aleksusklim, если где-нибудь вдруг откопаешь документацию по XA и STR - попробуем замутить перекодировщик ;)
Пока ищу эту инфу сам....

UPD**
-
Так! Кое-чего откопал и даже больше! Здесь я думаю очень полезная инфа будет.
-
Есть инфа про STR! (видео) Значит скоро отрою инфу и по звуку!

UPD***. ну все! Думаю я разобрался. Сегодня вечером буду пробовать сделать свой CD с видео и звуками на PS. Пока как тренировка.
Разобрался я с помощью тех материалов что откопал по ссылкам, которые уже приводил чуть выше в этом же посте.


Сообщение отредактировал SergeiUXPMC - Пятница, 15.07.2011, 10:30
 
aleksusklimСообщение # 27 Суббота, 16.07.2011, 07:54
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Quote (MrModez)
В этом файле можно изменить названия уровней, и тексты в меню, всё то что на моём видео


О, как ни странно, я об этом и сам догадался… Мне нужен файл не чтобы узнать, что в нём находится, а чтобы понять, КАК оно там расположено, сравнить его с моими файлами и попробовать запустить.

Quote (SergeiUXPMC)
Сейчас я его только что "раскурочил" программой jPSXdec и сижу спокойно слушаю музыкальные треки с уровней и реплики героев!


Вау, это мощь!! Вы – первоклассный хакер! Круто!!
Если звуки лежат внутри STR как код XA, то у меня возникают следующий вопрос. А как именно они там расположены? Варианты ответов:
1) Прямым потоком двоичных данных без разделителей, отступов и меток. Обращение происходит напрямую к данным с адреса, записанного не здесь, а в программном коде специфическим образом. Результат: можно менять информацию как угодно, но длинна каждого «трека» будет оставаться неизменной (иначе в одном треке буде хвост предыдущего); программа не проверяет правильность данных в файле.
2) Индексированный поток. Прямо в нём расположены адреса и размеры включаемых треков. Программа движется по указателям и считывает «звуки». Результат: нет возможности вносить туда свои данные, так как можно легко повредить структуру файла; нельзя изменять длину треков; возможно копирование некоторых частей, но вряд ли.
3) Последовательность файлов, разделённая «разделителями» – набором нулей, «FF» или специальных символов. Возможно, туда также включены имена файлов или треков. Результат: файл можно с лёгкостью модифицировать, даже изменяя длительность звуков;, однако нужно позаботиться о сохранности байтов-разделителей; данные между разделителями интерпретируются как звуковой поток и не проверяются.
4) Архивная структура (наподобие WAD). Все длительности и адреса треков записаны в заголовке STR либо явно, либо кодировано. Результат: если разгадать архитектуру заголовка, то можно вносить абсолютно любые изменения в файл; иначе – мы сможем только менять содержание треков, но не их длину.
5) Полностью кодирован. Любое изменение данных влечёт за собой отказ игры. Результат: найти метод, которым можно полностью расшифровать файл и анализировать полученное.

Вот ещё «побуждения к экспериментам»:
– Можно ли запустить игру, указав в Epsxe «Run PS-EXE» на файл «SCUS_944.67»?
– Если удалить папку «CRASHBASH» и файл STR, то игра будет ли работать?
– Если залить файл STR нулевым потоком (и игра заработает), то пропадут ли ВСЕ звуки?
– Если залить файл STR беспорядочными данными (simulate encrypted data), то станет ли игра «трещать»?

Quote (SergeiUXPMC)
я думаю что не стоит копаться в WAD файле пиратской версии и пытаться вытащить из него вшитые в него звуки.


Отнюдь! Даю 9/10, что не все звуки лежат в STR. Основные «спецэффекты» каждого уровня скопированы в графическую (!) текстуру внутри соответствующих субфайлов WAD. Поэтому, для полноты картины, нам не помешало бы научиться «взаимодействовать» с такими звуками. Хотя бы только для того, чтобы русифицировать возгласы Профессора. Да, это ничтожество в сравнении со всем остальным текстом и звуком, но просто может оказаться очень клёвым «доказательством» непревзойдённости нашего перевода. То есть, другие пираты-переводчики сильно позавидую нам, если заметят, что мы настолько глубоко внедрились в игру! Перевод будет не просто «лучшим», а ещё и «технически грамотно выполненным». Особенно, если мы изменим объёмные буковки!

SergeiUXPMC, а вот вам задачка. Сможете вытащить звуки отсюда:
… Я сказал «в графической»? Хм, это как посмотреть. Я думал, что звук выглядит так:
http://i.piccy.info/i5/01/40/1744001/Pic_1.jpg
Обведено красным. Но это не звуки! И даже не то, что обведено зелёным! Хотя что это? Я провёл эксперименты – это тоже текстуры, но только не лично графика, а какая-то дополнительная цветовая информация. Если скопировать одну «полосочку» в заменить ею другие (это файл текстур, первый суб-суб-файл из субфайла уровня первого мира, причём не такой «первый», как распаковывает LVL, а действительно первый, как записано в субфайле WAD-заголовком; LVL объединяет в «первый» три начальных), то некоторые текстур начнут быть «перемешанными» – либо цвета странные, либо яркость, либо контрастность контуров… В общем, всё что обведено – графика. Не текстуры, но приложения к ним. Где же звуки? А вот если прокрутить файл на половину ниже:
http://i.piccy.info/i5/03/40/1744003/Pic_2.jpg
Вот, то что выползло снизу (не так далеко, ведь всё ещё видно текстуру шрифта, как и в предыдущем варианте) – звук. Нельзя сказать на 100%, что это графика. Кодировка другая. И на «картинку» не очень-то похож. Но он находиться в текстурном файле! Зачем!? Могли бы разработчики запихать его, скажем, во второй суб-суб-файл. Или в третий! Или, в последний. Но зачем совать в тайлы графики?
Вот это чистый звук, вырезанный через WinHex и заархивированный:
http://klimaleksus.narod2.ru/Files/Sounds098.rar (240 Кб).
SergeiUXPMC, сможете воспроизвести? Кодировка хоть знакомая?

Quote (SergeiUXPMC)
Насчет текстового перевода хочу предложить такую схемку: кто-нибудь переводит текст так как он должен звучать по правилам русского языка, а я со своей стороны буду "впихивать" перевод в рамки требований импорта перевода в игру, так как прекрасно понимаю что имеет ввиду aleksusklim говоря о соответствии количества символов в текстах.


Это ностальгический дух «Зазеркалья» интерпретировался для меня в аналогичный конфликт «точного» и «законченного» перевода. Если переводчик будет просто в лоб переводить всё подряд из игры, то чем он лучше обычного словаря? Нам ведь надо:
1) Перевести игру так, чтобы это не было похоже на перевод.
2) Ещё и умудриться засунуть текст в ограниченные рамки так, чтобы он остался непохожим на обрезанный текст.
Значит, переводчик должен лучше «перерабатывать» весь текст для русского пользователя, чем делать Точный и Качественный его перевод. Просто вот к примеру (это придумал я, но в игре везде похожее, насколько мне кажется):
*«Press X button to jump. If you want to fly, press X button to jump and press X button to glide in higher point of your jump,. At end of your glide press /\ button to get your longest glide.»
*«Нажми Х кнопку, чтобы прыгнуть. Если ты хочешь лететь, нажми Х кнопку, чтобы прыгнуть и нажми Х кнопку в высшей точке твоего прыжка, чтобы планировать. В конце своего скольжения нажми кнопку /\, чтобы получить твоё длиннейшее планирование.»
Отстой! Надо вот так:
*«Чтобы прыгнуть, нажми кнопку Х. Если нужно лететь, нажми её ещё раз в верхней точке прыжка. В конце не забудь нажать /\, чтобы пролететь как можно дальше. Удачи тебе, Спайро!» И даже есть Разница {+14}! (Даже не знаю, что ещё можно написать…)
Ну что? Какой из двух вариантов больше ПОХОЖ на перевод (если не знать ничего про оригинальный текст)? А какой вариант звучит «по-русски»? Так стоит ли переводчикам делать двойную работу?
…Хотя… Переводчики, если вам так будет удобнее… Если так результативность окажется выше… То пожалуйста. Просто я думал, что умный-и-находчивый переводчик и сам сможет РУСИФИЦИРОВАТЬ (а не просто перевести) игровые тексты так, чтобы получить неотрицательную Разницу.

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

…А Делфи быстро обрабатывает файлы? SergeiUXPMC, может вы напишите для меня CONCATENATOR? Чтобы я переписал код распаковщика. Просто на ТурбоПаскале я не могу правильно откомпилировать его так, чтобы он «видел» файлы. PascalABC не подходит, ведь для использования через Game-Maker, мне нужен исполняемый файл. Программа должна работать так:
1) Запускается и получает три строки. В одной из них содержится адрес того файла, который нужно скопировать. В другой строке – файл, в который надо скопировать первый. Последняя строка это число (далее «buffer») – столько байт нужно копировать за «проход» в память, а потом записывать их в конец файла назначения.
2) Читает buffer байт из первого файла и записывает их в массив.
3) Если достигнут конец файла ПРИ ЧТЕНИИ (пункт 2), то перейти в пункт 6.
4) Переписывает содержимое массива в конец второго файла.
5) Возвратиться к пункту 2.
6) Записать остаток во второй файл (если остаток есть).
7) Выключиться.
Как передавать программе строки? Я могу через текстовый файл, который будет называться «CONCATENATOR.TXT» и лежать в папке с самой программой «CONCATENATOR.EXE». Могу передавать данные через ключи (параметры) командной строки исполняемому файлу. Пути могут быть как абсолютные, так и относительные (только имена файлов, так как программа будет лежать в той же папке). Зачем нужен buffer? Просто если копировать по 1 байту, то головка диска будет постоянно обращаться к разным файлам, а это снизит скорость. Собираюсь задавать buffer относительно размера файла. Итак: чтение – из текстового файла либо из параметров. Пути либо полные, либо только имена. Желательно наличие buffer. Сможете?


but nobody came
 
OLEG778Сообщение # 28 Суббота, 16.07.2011, 18:40
Аватар OLEG778
Маленький Дракон
Житель Города
«203»
Где: Не в городе Драконов
Quote (aleksusklim)
Если у вас Spyro3в1, который ПЕРЕВЕДЁН пиратами, английского текста там нет... Я ведь имел в виду Greatest Hits.


Ну да, у меня "3в1 русская версия", но описание Вашей третьей игры было очень похоже на мою с того диска... И я надеялся, что мне не придется скачивать англоязычную версию Greatest Hits весом в 357 мегабайт, т.к. с моим интернетом (128 кбит/с) это будет доооолго... В общем сегодня поставлю её качаться на ночь ) А потом переведу второй требуемый уровень, Sunny Villa, и постараюсь учитывать количество символов в переведенном варианте. Кстати, а можно в переводе слова сокращать?


Скорость: 128 кбит/с
 
SergeiUXPMCСообщение # 29 Суббота, 16.07.2011, 20:33
Аватар SergeiUXPMC
Яйцо
Житель Города
«47»
Где: Не в городе Драконов
Quote (OLEG778)
Кстати, а можно в переводе слова сокращать?


OLEG778, я думаю не стоит. Если мы хотим сделать достойный перевод, то не стоит опускаться, например , до такого: "Дом солн.истока" (так звучит перевод названия одного из уровней в моей пиратской версии.))
 
OLEG778Сообщение # 30 Воскресенье, 17.07.2011, 18:54
Аватар OLEG778
Маленький Дракон
Житель Города
«203»
Где: Не в городе Драконов
В общем скачал я Greatest Hits английскую версию, играть честно говоря влом, и потому я прост извлек из WAD-файла ресурсы и открывал полученные файлы брутальным блокнотом. Как и обещал, выкладываю перевод уровня Sunny Villa.



Я старался укладываться в количество символов, и одновременно делать нормальный адекватный перевод. В принципе, это было нетрудно. Разве что не стал переводить названия скейтерских трюков в подуровне Хантера, ибо названия большинства из них просто непереводимы, либо перевод не уложится в лимит символов. Может быть лучше оставить их оригинальные названия? Привожу список найденный трюков:


Скорость: 128 кбит/с

Сообщение отредактировал OLEG778 - Воскресенье, 17.07.2011, 18:55
 
Поиск:

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

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